1functionalAreas.component('reportGiacenze', { 2 templateUrl: ['URLS', function (URLS) { 3 return URLS.COMPONENTS.reportGiacenze; 4 }], 5 controller: ['$state', '$stateParams', '$rootScope', 'domUtils', '$scope', 'kitTableConfigManager', 'giacenzeSvincoliService', 'editorialService', '$timeout', 'tagManager', ReportGiacenzeController] 6}); 7 8function ReportGiacenzeController($state, $stateParams, $rootScope, domUtils, $scope, kitTableConfigManager, giacenzeSvincoliService, editorialService, $timeout, tagManager) { 9 var vm = this; 10 11 vm.filtersModels = {}; 12 13 var originalModel = null; 14 vm.filtersRemoved = false; 15 vm.formatDataPartenzaFrom = null; 16 vm.formatDataPartenzaTo = null; 17 vm.tempJson = null; 18 vm.lastPageSelected = 0; 19 vm.lastIdSelected = 0; 20 vm.renderTableLock = true; 21 vm.calculatedActivePage = 0; 22 vm.isBoxFiltersOpen = true; 23 24 vm.tabSelected = null; 25 26 // edit table configuration 27 kitTableConfigManager.editConfig('reportGiacenze', 'onRowClick', function (row) { 28 var id = 0; 29 row.forEach((elm) => { 30 if (elm.keyCol === 'barcode') { 31 id = elm.value; 32 } 33 }); 34 var stateParams = { 35 details: row, 36 lastPageSelected: vm.lastPageSelected, 37 lastIdSelected: id, 38 filtersModel: vm.filtersModels, 39 lastSortBy: vm.lastSortBy, 40 tabSelected: vm.tabSelected 41 }; 42 43 $state.go('dettaglioGiacenzeReportGiacenze', stateParams); 44 }); 45 46 // select tab 47 vm.tabSelect = function (selectedTab) { 48 vm.tabSelected = selectedTab; 49 if (vm.tabSelected == 'elencoGiacenzeDaSvincolare') { 50 tagManager.trackMonitoraggioGiacenzaSvincoliDaSvincolare(); 51 } else if (vm.tabSelected == 'elencoGiacenzeSvincolate') { 52 tagManager.trackMonitoraggioGiacenzaSvincoliSvincolate(); 53 } else if (vm.tabSelected == 'elencoGiacenzeNonSvincolabili') { 54 tagManager.trackMonitoraggioGiacenzaSvincoliNonSvincolabili(); 55 } 56 vm.setSelectedPage(0, undefined, undefined); 57 vm.onResetFilter(); 58 }; 59 60 // selected page 61 vm.setSelectedPage = function (pageNumber, pageDim, goToPage) { 62 vm.lastPageSelected = pageNumber; 63 vm.calculatedActivePage = vm.lastPageSelected ? vm.lastPageSelected - 1 : 0; 64 goToPage && goToPage(); 65 }; 66 67 // load editorials 68 function loadEditorials() { 69 editorialService.resolveEditorialJson('giacenzeSvincoli').then(function (response) { 70 vm.json = response.reportGiacenze; 71 }); 72 } 73 74 // sorting properties 75 vm.getSortingProperties = function (columnKey, actualOrder) { 76 vm.lastSortBy = { 77 columnKey: columnKey, 78 actualOrder: actualOrder 79 }; 80 }; 81 82 // on filter data 83 vm.onFilterData = function (setIniziale) { 84 // force :hover on a specific row (by id) 85 // in questo modo, tornando dal dettaglio alla tabella, la riga sara' evidenziata 86 kitTableConfigManager.setHover('reportGiacenze', 'barcode', vm.lastIdSelected); 87 var scrollToId = vm.lastIdSelected; 88 vm.lastIdSelected = 0; 89 90 vm.message = null; 91 if (!setIniziale) { 92 vm.lastPageSelected = 0; 93 vm.calculatedActivePage = 0; 94 } 95 var request = setInizialeAndGetRequest(setIniziale); 96 giacenzeSvincoliService.getGiacenze(request, vm.tabSelected).then( 97 function (response) { 98 vm.giacenze = response.giacenze; 99 vm.motivazioni = response.motivazioni; 100 vm.stati = response.stati; 101 vm.filtersRemoved = false; 102 if (vm.filtersModels.dataPartenza) { 103 if (vm.filtersModels.dataPartenza.from != undefined) { 104 vm.formatDataPartenzaFrom = formatDate(vm.filtersModels.dataPartenza.from); 105 } 106 if (vm.filtersModels.dataPartenza.to != undefined) { 107 vm.formatDataPartenzaTo = formatDate(vm.filtersModels.dataPartenza.to); 108 } 109 if (vm.formatDataPartenzaFrom && vm.formatDataPartenzaTo) { 110 vm.tempJson = 'Giacenze: dal ' + vm.formatDataPartenzaFrom + ' al ' + vm.formatDataPartenzaTo; 111 } 112 if (vm.formatDataPartenzaFrom && !vm.formatDataPartenzaTo) { 113 vm.tempJson = 'Giacenze: dal ' + vm.formatDataPartenzaFrom; 114 } 115 if (!vm.formatDataPartenzaFrom && vm.formatDataPartenzaTo) { 116 vm.tempJson = 'Giacenze: fino al ' + vm.formatDataPartenzaTo; 117 } 118 } else if (vm.json != undefined) { 119 vm.tempJson = vm.json.monitoraggioReportGiacenze.title; 120 } 121 $timeout(function () { 122 customSelect(); 123 if ($stateParams.lastSortBy) { 124 vm.lastSortBy = $stateParams.lastSortBy; 125 $timeout(function () { 126 $scope.$broadcast('force.sorting', { 127 tableKey: 'reportGiacenze', 128 columnKey: $stateParams.lastSortBy.columnKey, 129 actualOrder: $stateParams.lastSortBy.actualOrder 130 }); 131 }); 132 } 133 134 $timeout(function () { 135 domUtils.scrollTo(scrollToId, 1000); 136 }, 1000); 137 }); 138 }, 139 function (error) { 140 vm.giacenze = []; 141 if (error && error.giacenze && error.giacenze.descErr) { 142 vm.message = { type: 'E', text: error.giacenze.descErr }; 143 } 144 domUtils.scrollTo('message', 700); 145 tagManager.trackAlert(vm.message.text); 146 } 147 ); 148 }; 149 150 // set iniziale params
151 function setInizialeAndGetRequest(isIniziale) { 152 var request = {}; 153 154 if (vm.filtersModels) { 155 request = angular.copy(vm.filtersModels); 156 } 157 158 if (isIniziale) { 159 request.iniziale = '1'; 160 } 161 162 return request; 163 } 164 165 // is empty filter? 166 // reset filter 167 vm.onResetFilter = function () { 168 vm.message = null; 169 vm.filtersModels = originalModel; 170 vm.filtersRemoved = true; 171 vm.onFilterData(true); 172 }; 173 174 // on cdc init 175 vm.onCdcInit = function (model) { 176 loadEditorials(); 177 originalModel = angular.copy(model); 178 var isModelFromState = $stateParams.filtersModel ? Object.keys($stateParams.filtersModel).length > 0 : false; 179 vm.filtersModels = isModelFromState ? $stateParams.filtersModel : model; 180 vm.onFilterData(true); 181 }; 182 183 // on init 184 vm.$onInit = function () { 185 vm.tabSelected = $stateParams.tabSelected || 'elencoGiacenzeDaSvincolare'; 186 $rootScope.$broadcast('uikitEventTrigger'); 187 188 const defaultDisabledColumns = ['mittente', 'numColli', 'statoGiac', 'idCliente', 'idMotivazione', 'multicollo', 'prodotto']; 189 kitTableConfigManager.getConfig('reportGiacenze', defaultDisabledColumns); 190 191 vm.lastPageSelected = $stateParams.lastPageSelected ? $stateParams.lastPageSelected : 0; 192 vm.lastIdSelected = $stateParams.lastIdSelected ? $stateParams.lastIdSelected : 0; 193 vm.calculatedActivePage = vm.lastPageSelected ? vm.lastPageSelected - 1 : 0; 194 vm.renderTableLock = false; 195 tagManager.trackMonitoraggioGiacenzaSvincoliStart(); 196 }; 197 198 // set page dim 199 $scope.$on('kit.table.setPageDim', function (pageDim, data) { 200 vm.lastPageSelected = $stateParams.lastPageSelected ? $stateParams.lastPageSelected : 0; 201 vm.calculatedActivePage = vm.lastPageSelected ? vm.lastPageSelected - 1 : 0; 202 }); 203 204 // format date 205 function formatDate(date) { 206 return moment(date).format('DD/MM/YYYY'); 207 } 208}
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.