PageSourceSearch

https://mypostedeliverybusiness.it/offertaunica/app/functionalArea…/prenotazione.ritiro.component.js

js mypostedeliverybusiness.it collected 2026-10-08 09:16:32 UTC 5,328 bytes, 172 lines download raw bytes

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.