https://mypostedeliverybusiness.it/offertaunica/app/functionalArea…/prenotazione.ritiro.component.js
1functionalAreas.component('prenotazioneRitiro', { 2 templateUrl: ['URLS', function (URLS) { 3 return URLS.COMPONENTS.prenotazioneRitiro; 4 }], 5 controller: ['$state', 'prenotazioneRitiroService', 'editorialService', '$stateParams', 'kitTableConfigManager', 'domUtils', 'tagManager', '$timeout', PrenotazioneRitiroCtrl] 6}); 7 8function PrenotazioneRitiroCtrl($state, prenotazioneRitiroService, editorialService, $stateParams, kitTableConfigManager, domUtils, tagManager, $timeout) { 9 var vm = this; 10 11 var originalModel = null; 12 vm.filtersModels = {}; 13 vm.filtersRemoved = false; 14 vm.prenotazioni = []; 15 vm.isBoxFiltersOpen = true; 16 17 function initModels() { 18 vm.filtersModels = { 19 dataOrdine: { 20 from: '', 21 to: '' 22 } 23 }; 24 } 25 26 function loadEditorials() { 27 editorialService.resolveEditorialJson('attivitaPrenotaRitiro').then(function (response) { 28 vm.json = response.prenotaRitiro; 29 }); 30 } 31 32 function configTable() { 33 kitTableConfigManager.editRow('ritiri', 'idRitiro', 'onClick', function ($event, col, row) { 34 $state.go('dettaglioPrenotazioneRitiro', { 35 details: col.rowData, 36 filtersModels: vm.filtersModels, 37 lastIdSelected: col.rowData.prenotazione 38 }); 39 tagManager.trackPrenotaRitiroDettaglioRitiro(); 40 }); 41 42 kitTableConfigManager.editRow('ritiri', 'modifica', 'onClick', function ($event, col, row) { 43 prenotazioneRitiroService.annullaRitiro(row).then( 44 function (response) { 45 if (response.errore) { 46 vm.message = { 47 type: 'E', 48 text: vm.json.esiti.annullamentoEsitoKO 49 }; 50 } else { 51 vm.onFilterData(); 52 vm.message = { 53 type: 'S', 54 text: vm.json.esiti.annullamentoEsitoOK 55 }; 56 } 57 tagManager.trackAlert(vm.message.text); 58 domUtils.scrollTo('message', 700); 59 } 60 ); 61 }); 62 } 63 64 vm.gotoPrenotaRitiro = function () { 65 $state.go('funnelPrenotaRitiro'); 66 tagManager.trackPrenotaRitiroComeRitirare(); 67 }; 68 69 vm.onResetFilters = function () { 70 initModels(); 71 vm.filtersRemoved = true; 72 vm.filtersModels = originalModel; 73 vm.onFilterData(true); 74 }; 75 76 // on cdc init 77 vm.onCdcInit = function (model) { 78 vm.lastIdSelected = $stateParams.lastIdSelected ? $stateParams.lastIdSelected : 0; 79 loadEditorials(); 80 initModels(); 81 originalModel = angular.copy(model); 82 vm.filtersModels = model; 83 init(); 84 }; 85 86 function init() { 87 if ($stateParams.text) { 88 var message = { 89 type: 'S', 90 text: $stateParams.text // TODO fare logica per mostrare messaggio dopo prenotazione 91 }; 92 vm.setMessage(message); 93 } 94 if ($stateParams.esitoPrenotazione && typeof $stateParams.text == undefined) { 95 var message = { 96 type: $stateParams.esitoPrenotazione.type, 97 text: $stateParams.esitoPrenotazione.text // TODO fare logica per mostrare messaggio dopo prenotazione 98 }; 99 vm.setMessage(message); 100 } 101 102 if (!$stateParams.text && !$stateParams.esitoPrenotazione) { 103 vm.message = null; 104 } 105 106 if ($stateParams.filtersModels) { 107 vm.filtersModels = $stateParams.filtersModels; 108 } 109 110 tagManager.trackGestisciAttivitaElencoRitiriPrenotatiStart(); 111 configTable(); 112 vm.onFilterData(true); 113 } 114 115 /** 116 * on filter data 117 * @param {*} isIniziale 118 */ 119 vm.onFilterData = function (isIniziale) { 120 if (!isIniziale) { 121 // elimina eventuali messaggi di avviso presenti 122 // ma non in fase di primo atterraggio perche' in quel caso 123 // il messaggio di avviso va mostrato poiche' passato 124 // negli $stateParams da chi fa la redirect su questa pagina 125 vm.message = null; 126 } 127 128 // force :hover on a specific row (by id) 129 // in questo modo, tornando dal dettaglio alla tabella, la riga sara' evidenziata 130 kitTableConfigManager.setHover('ritiri', 'prenotazione', vm.lastIdSelected); 131 var scrollToId = vm.lastIdSelected; 132 vm.lastIdSelected = 0; 133 134 var request = {}; 135 vm.prenotazioni = []; 136 if (vm.onFilterData) { 137 request = angular.copy(vm.filtersModels); 138 } 139 if (isIniziale || isEmptyFilters(vm.filtersModels)) { 140 request.iniziale = '1'; 141 } 142 prenotazioneRitiroService.getReportRitiri(request).then( 143 function (response) { 144 if (response) { 145 vm.prenotazioni = response.ReportRitiro.ritiri.sort((a, b) => (a.dataModifica > b.dataModifica ? -1 : a.dataModifica === b.dataModifica ? 0 : 1)); 146 vm.status = response.ReportRitiro.stati; 147 vm.filtersRemoved = false;
148 } 149 vm.isBoxFiltersOpen = vm.prenotazioni && vm.prenotazioni.length != 0; 150 $timeout(function () { 151 domUtils.scrollTo(scrollToId, 1000); 152 }, 1000); 153 } 154 ); 155 }; 156 157 function isEmptyFilters(filter) { 158 var maxDefaultFilter = Object.keys(vm.filtersModels).length == 1; 159 var dataOrdineFrom = filter.dataOrdine && filter.dataOrdine.from === ''; 160 var dataOrdineTo = filter.dataOrdine && filter.dataOrdine.to === ''; 161 162 return dataOrdineFrom && dataOrdineTo && maxDefaultFilter; 163 } 164 165 vm.setMessage = function (message) { 166 vm.message = { 167 type: message.type, 168 text: message.text 169 }; 170 tagManager.trackAlert(vm.message.text); 171 }; 172}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.