{"version":3,"sources":["config/i18n.js","assets/img/logo/LogoIstatHeader.svg","config/_const.js","services/_baseRequest.js","services/search/index.js","components/langSelector/LangSelector.js","components/IsMobile/IsMobile.jsx","redux/reducers/NewReportCompiler.reducer.js","layout/Header.js","layout/Nav.js","assets/img/social/pinterest.png","assets/img/logo/LogoIstatFooter.svg","services/GetSettings/GetSettings.service.jsx","layout/Footer.js","config/links.js","components/Shortcut/index.js","services/promemoria/Promemoria.js","assets/img/formats/pdf.png","assets/img/formats/xls.png","assets/img/formats/csv.png","assets/img/formats/json.png","utils/index.js","components/News/index.js","components/DownloadDocument/index.js","components/loading/index.js","services/download/index.js","views/home/main.js","services/territorio/index.js","components/reportBody/reportTable.js","components/reportHead/index.js","services/SpoolData/SpoolData.service.jsx","services/GetAutocomplete/GetAutocomplete.service.jsx","services/GetReportDownload/GetReportDownload.service.jsx","assets/extra/helpers.jsx","services/GetFunzione/GetFunzione.service.jsx","components/reportBody/newReportCompiler.js","services/GetAggiornamenti/GetAggiornamenti.service.jsx","services/GetAggiornamentiDownload/GetAggiornamentiDownload.service.jsx","components/aggiornamentiTable/aggiornamentiTable.jsx","views/home/index.js","services/glossary/index.js","services/GetGlossarioDownload/GetGlossarioDownload.service.jsx","views/glossary/index.js","services/TabSkip/TabSkip.js","views/variazioniTerritorio/head.js","views/variazioniTerritorio/index.js","views/territorialUnits/head.js","views/territorialUnits/index.js","views/ricercaStoriaUABox/index.js","views/codificheTerritorialiBox/index.js","views/caratteristicheClassificazioniBox/index.js","views/geografieEuropeeClassificazioni/index.js","services/storico/index.js","views/storiaUA/index.js","redux/reducers/NewDownload.reducer.js","services/ricercaCodice/index.js","views/ricercaCodice/index.js","views/ricostruzioneCodici/head.js","views/ricostruzioneCodici/index.js","redux/reducers/Session.reducer.js","App.js","redux/reducers/NewAggiornamenti.reducer.js","redux/store.jsx","index.js"],"names":["i18n","use","initReactI18next","init","resources","IT","translations","common_it","EN","common_en","interpolation","escapeValue","lng","localStorage","getItem","ns","defaultNS","react","wait","config","url","API_URL_AZURE","process","API_URL_DM05","REACT_APP_API_URL_DM05","API_PORT","message","duration","notification","placement","BaseRequest","constructor","this","successCallback","errorCallback","progressCallback","withFile","cancelToken","undefined","params","data","file","instance","mantainNotification","block_notification","makeRequest","arguments","length","method","base","axios","create","baseURL","concat","timeout","headers","defaults","doCall","axios_config","language","Authorization","responseType","onUploadProgress","maxRedirects","formData","FormData","Array","isArray","forEach","f","n","append","chiave","data_array_keys","Object","keys","key","JSON","stringify","request","then","response","catch","async","console","error","e","isCancel","status","warning","t","description","Promise","reject","_e$response$data","_e$response$data2","exeption","title","parseBlob","blob","blobbed_error","readFile","parse","content","fileReader","FileReader","resolve","onerror","abort","Error","onload","result","readAsText","Search","searchByWord","pattern","lang","sessionStorage","getLanguage","IsMobile","isFixedMobile","setIsFixedMobile","useState","handleResize","screenWidth","window","innerWidth","useEffect","addEventListener","removeEventListener","initialState","tableData","label","body","colNames","totalRows","types","formatMask","cacheTableData","filters","orderFields","orderDirects","dataDaUp","dataAUp","textFilters","filterFields","funzione","id","updateData","createAction","updateFunzione","updateTableData","updateFilters","updateTextFilters","reducer","createReducer","builder","addCase","state","action","payload","HeaderSubtitle","_ref","envType","isMobile","_jsx","className","children","Header","useDispatch","useTranslation","searchString","setSearchString","options","setOptions","selectedReport","setSelectedReport","value","setValue","useHistory","useCallback","_","debounce","_data$items","opts","items","map","obj","i","report","SearchRep","_jsxs","src","HeaderLogo","role","style","minHeight","color","Link","to","Divider","type","lineHeight","NavBarNew","current","setCurrent","menuClicked","setMenuClicked","location","useLocation","_document$getElements","_document$querySelect","_document$querySelect2","path","pathname","split","links","document","getElementsByClassName","prototype","call","link","removeAttribute","classList","remove","querySelector","add","setAttribute","handleNavItemClick","evt","getElementById","Navbar","expand","variant","collapseOnSelect","Toggle","Collapse","Nav","href","tabIndex","onClick","useGetSettings","defaultData","formatMasks","isLoading","setIsLoading","setError","setData","execute","urlExtension","responseData","urlPrefix","call_GetSettings","reset","withTranslation","getSettings","settings","setSettings","res","Row","Col","xs","lg","target","rel","width","height","FooterLogo","alt","AccessibilityDeclarationUrl","tabindex","focusable","class","xmlns","viewBox","fill","d","FontAwesomeIcon","icon","_faInstagram","size","_faLinkedin","_faYoutube","_faFlickr","Title","Typography","Shortcut","details","level","PromemoriaService","operations","PageNum","PageSize","moment","format","Utils","exportPDF","columns","rows","orientation","doc","jsPDF","setFontSize","column","row","values","omit","text","maxWidth","align","autoTable","startY","head","headStyles","fontSize","valign","halign","fillColor","bodyStyles","cellPadding","minCellHeight","theme","save","getSheetData","header","fields","sheetData","fieldName","unshift","exportXLSX","titolo","header2","rows2","XlsxPopulate","fromBlankAsync","sheet1","workbook","sheet","name","totalColumns","sheet2","sheet2Data","addSheet","cell","range","usedRange","endColumn","String","fromCharCode","fontColor","horizontalAlignment","verticalAlignment","wrapText","outputAsync","saveAs","delay","time","setTimeout","escapeDate","includes","getFileNameFromHeader","headersString","headersArray","filename","substring","truncateEllipsis","truncateLength","customCapitalize","str","charAt","toUpperCase","slice","News","news","setNews","loading","setLoading","NewsService","fetchData","_ref2","sort","a","b","Date","dataInizioValidita","disabled","testo","testoProvvedimento","sottotitolo","pdfIcon","xlsIcon","CsvDownloader","displayName","datas","_ref3","cell1","cell2","cell3","cell4","cell5","csvIcon","fileData","descrizione","Blob","URL","createObjectURL","createElement","download","click","jsonIcon","paddingLeft","_ref4","idPromemoria","idProvvedimento","subtitle","date","Modal","info","closable","_Fragment","span","destroyAll","CloseOutlined","fontWeight","onKeyPress","event","DownloadDocument","mainTitle","periodoString","idFunzione","metadati","pData","urlPath","dispatch","history","fullDate","trim","startDate","indexOf","endDate","periodoDate","Is_newReportCompiler","dtDaUp","dataDa","replaceAll","metadati_val","showFromDate","isEditable","fromHome","homeDataPicker","Loading","fullPage","flex","Spin","baseUrl","DownloadService","getAreas","getMacro","categoria","getAreaDetails","tipoDownload","macro","getPeriods","tema","getReportEvidenza","getReportConsultati","getGeneratedFileParams","getGeneratedFileParamsTable","filtri","ordine","downloadFile","param","Home","repConsultati","setRepConsultati","repEvidenziati","setRepEvidenziati","getRepConsultati","all","onfulfilled","_onfulfilled$0$data","_onfulfilled$1$data","gutter","rowGap","md","offset","gap","paddingRight","index","rule_showhide","titolo_report","periodo_dati","descrizione_report","id_funzione","pdata","baseUrlSecond","TerritoryService","ambitiGeografici","unitaAmministrative","ambito","pTab","dataA","ambitoUA","unita","ptab","req","dataInizio","dataFine","spool","sortParams","ReportTable","ReportHead","headerFunction","setHeaderFunction","visibleDetails","setVisibleDetails","visibleVariables","setVisibleVariables","downloadHeaders","headerVariables","formattedData","Button","faFilePdf","variabile","note","guida","fonte","faFileExcel","faFileLines","faFileCode","visible","centered","autoFocusButton","onCancel","detailContent","okButtonProps","backgroundColor","border","borderRadius","okText","onOk","scrollTo","unmounted","fetchHeader","titleFinish","useSpoolData","call_SpoolData","useGetAutocomplete","call_GetAutocomplete","useGetReportDownload","accept","call_GetReportDownload","fileContent","fileName","mimeType","appendChild","useGetFunzione","call_GetFunzione","RangePicker","DatePicker","BodyCompiler","_tableData$body","getReportDownload","getSpoolData","getAutocompleteData","searchParams","setSearchParams","useSearchParams","getFunzione","percorsoBk","caller_state","LF","LF_API","paginationHelper","setPaginationHelper","selectedPage","setSelectedPage","pageSize","setPageSize","currFilterValue","setCurrFilterValue","currColumnSearch","setCurrColumnSearch","currColumnValue","setCurrColumnValue","currColumnDataIndex","setCurrColumnDataIndex","tmpDates","setTmpDates","autoData","setAutoData","autoDataFiltered","setAutoDataFiltered","autocompleteIsLoading","setAutocompleteIsLoading","searchIsLoading","setSearchIsLoading","tempDesc","setTempDesc","tempSubTitle","setTempSubTitle","tempPeriodoDate","setTempPeriodoDate","loadingPDF","setLoadingPDF","loadingXLSX","setLoadingXLSX","loadingCSV","setLoadingCSV","loadingJSON","setLoadingJSON","setFunzione","useSelector","reduxState","NewReportCompiler","pDates","has","get","_res","_res$items","plang","dateFrom","dateTo","goBack","loaded","tipoAnalisiTemporale","tipo_analisi_temporale","perDate","push","periodo_dati_da","dtTo","periodo_dati_a","dtNow","loadFunzione","chkDt","checkSearchDates","updateUrlParam","GetTableData","_funzione$tipoAnalisi2","hasErrors","ret","_funzione$tipoAnalisi","isValid","isBefore","isAfter","dTo","GetReportDownload","downloadFileData","pFilterFields","field","textFields","pFilterValues","textValue","GetAutocompleteData","_autocompleteData$bod","tmpData","idx","toString","filteredOrderFields","filteredOrderDirects","table","FilterColumns","keyDownEvent","tmpOrderFields","tmpOrderDirects","i_","findIndex","dataIndex","filterDropdown","setSelectedKeys","selectedKeys","confirm","clearFilters","close","filterIcon","filtered","onKeyDown","getIconByDataIndex","getColorByActive","selectOption","faArrowDownAZ","faArrowDown19","faArrowDownZA","faArrowDown91","nextInit","newSearchParams","URLSearchParams","set","delete","isChangingDateFilter","spinning","marginBottom","ArrowLeftOutlined","marginTop","faCircleInfo","suffixIcon","allowClear","defaultValue","disabledDate","onChange","MomentObj","Form","Group","controlId","Label","htmlFor","Select","showSearch","placeholder","optionFilterProp","dropdownMatchSelectWidth","getSelectValue","filterOption","input","option","_option$label","toLowerCase","position","left","onSelect","onSearch","inputValue","filter","v","open","htmlType","Tag","tmpArr","splice","onClose","ConfigProvider","renderEmpty","Empty","imageStyle","display","AntdTableScrollXaxisTop","Table","dataSource","scroll","x","pagination","total","defaultCurrent","paginationChange","pagina","showTotal","useGetAggiornamenti","call_GetAggiornamenti","useGetAggiornamentiDownload","call_GetAggiornamentiDownload","AggiornamentiTable","getAggiornamenti","getAggiornamentiDownload","setTableData","pageNum","setPageNum","GetAggiornamenti","num","currDate","aggData","render","ellipsis","showTitle","aggiornamento","_aggiornamento$testoP","provvedimento","dataFineValidita","replace","dataProvvedimento","DownloadAggiornamenti","wordWrap","HomeIndex","Switch","Route","exact","element","Redirect","GlossaryService","glossary","useGetGlossarioDownload","call_GetGlossarioDownload","Panel","Glossary","selectedLetter","setInputValue","getDisable","setGetDisable","setGlossary","filteredGlossary","setFilteredGlossary","titleSearch","setTitleSearch","downloadLetter","setDownloadLetter","fetchDataGlossary","word","_searchString","letter","markedSelectByString","nome","markedNome","RegExp","fetchGlossary","for","Input","preventDefault","stringa","getElementsByName","onFocus","prefix","SearchOutlined","expandIcon","isActive","MinusCircleOutlined","PlusCircleOutlined","_obj$links","dangerouslySetInnerHTML","__html","borderColor","dashed","item","hyperlink","TabSkip","Head","firstLoad","useRef","checkedAmbitoGeografico","checkedUnitaAmministrativa","dateEnd","showZeroReports","showNextStep","stateApplied","showDateError","setAmbitiGeografici","setUnitaAmministrative","setAmbitoUA","setCheckedAmbitoGeografico","setCheckedUnitaAmministrativa","setDate","setDateEnd","setShowZeroReports","setShowNextStep","setStateApplied","setShowDateError","isComingBack","checkData","_i$value","_i$value2","fetchAmbitiGeografici","fetchUnitaAmministrative","fetchAmbitoUA","sm","firstDate","end","start","today","oldest","diff","parsedDate","secDate","dateStart","Check","checked","ua","Card","Body","Text","WarningFilled","_ua$periodo_dati","_ua$periodo_dati2","xl","dtFrom","faRectangleList","VariazioniTerritorio","dt","TerritorialUnits","RicercaStoriaUABox","columnGap","margin","CodificheTerritorialiUABox","CaratteristicheClassificazioniBox","GeografieEuropeeClassificazioni","StoricoService","comune","Pattern","comuneCodice","Codice","comuneRiepilogo","Comune","provinceUtsCodice","provinceUts","provinceUtsRiepilogo","Uts","tipo","regione","regioneCodice","regioneRiepilogo","Reg","tipoReg","dettVariazioni","idProvv","tipoVar","idComOrigine","datiAssVariazioni","dettVariazioniUts","id_uts","tipoUts","datiAssVariazioniUts","dettVariazioniRegione","codiceReg","datiAssVariazioniReg","StoriaUA","comuneOptions","setComuneOptions","comuneCodiceOptions","setComuneCodiceOptions","provinciaOptions","setProvinciaOptions","provinciaCodiceOptions","setProvinciaCodiceOptions","regioneOptions","setRegioneOptions","regioneCodiceOptions","setRegioneCodiceOptions","denComune","setDenComune","codComune","setCodComune","selectedComune","setSelectedComune","denProvincia","setDenProvincia","codProvincia","setCodProvincia","selectedProvincia","setSelectedProvincia","denRegione","setDenRegione","codRegione","setCodRegione","selectedRegione","setSelectedRegione","selected","setSelected","riepilogoColumns","setRiepilogoColumns","riepilogoRows","setRiepilogoRows","dettaglioColumns","setDettaglioColumns","dettaglioRows","setDettaglioRows","datiVariazioneColumns","setDatiVariazioneColumns","datiVariazioneRows","setDatiVariazioneRows","descrizioneEvento","setDescrizioneEvento","selectedRow","setSelectedRow","setTitle","isBug","setIsBug","uaType","handleRowClick","objectOrder","variazione","assign","formattedColumns","onCell","textAlign","formattedRows","rowObject","isPdf","_row$value","_row$value2","cleanComune","cleanProvincia","cleanRegione","createSmartDebouncer","fn","deb","cp","cancel","cancellationToken","CancelToken","source","token","debounceSearchComune","com","pro_com_t","denominazione","codice","debounceSearchComuneCodice","sortedItems","co","debounceSearchProvincia","debounceSearchProvinciaCodice","cod_uts","debounceSearchRegione","debounceSearchRegioneCodice","cod_regione","order","AutoComplete","dropdownClassName","o","codiceComune","denominazioneComune","codiceProvincia","denominazioneProvincia","tipoProvincia","denominazioneReg","tipoRegione","lastIndex","lastIndexOf","_denominazioneReg","_denominazioneReg$toL","match","handleClick","toggle","textContent","contains","bordered","rowClassName","rowKey","record","onRow","updateCategorie","updateCacheDownloadFiles","resetCacheDownloadFiles","categorie","macroCategorie","microCategorie","tree","cacheDownloadFiles","RicercaCodiceSvc","getList","getValueList","tipoUnit","getDetail","prc","RicercaCodice","list","setList","valueList","setValueList","filteredValueList","setFilteredValueList","setChecked","selectedValue","setSelectedValue","setColumns","setRows","isChecked","setIsChecked","mounted","fetchList","return_code","resultset","V","RC","fetchValueList","seqrchBTN","formattedCols","rowVal","_ref9","label_tipologia","startsWith","_ref5","_ref6","minWidth","flexGrow","RicostruzioneCodici","addToHistory","updateImpostazioni","impostazioni","session","user","username","idNumber","App","setIsMobile","Footer","updateAggData","aggiornamentiData","additionalInfo","preloadedState","serializedState","loadFromSessionStorage","store","configureStore","Session","SessionReducer","NewReportCompilerReducer","NewDownload","NewDownloadReducer","NewAggiornamenti","NewAggiornamentiReducer","middleware","getDefaultMiddleware","devTools","subscribe","setItem","saveToSessionStorage","getState","version","setAntLocale","locale","it_IT","en_US","Root","HashRouter","I18nextProvider","ReactDOM","Provider"],"mappings":"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YACT,CAAC,EACD,CAAEzB,IAAI,wCAADiC,OAA0C+zB,IAC/C,KACA,OACA,QAAU9a,GACV,KACA,KACA,MACA,GACA,EAAM,QAENja,GAIJg1B,aAAcA,CAACC,EAAQj1B,KACT,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAI,2CAADiC,OAA6Ci0B,IAClD,KACA,OACA,QAAUhb,GACV,KACA,KACA,MACA,GACA,EAAM,QAENja,GAIJk1B,gBAAiBA,CAACD,EAAQE,KACZ,IAAI11B,GACLe,YACT,CAAC,EACD,CAAEzB,IAAI,mCAADiC,OAAqCi0B,EAAM,SAAAj0B,OAAQm0B,IACxD,KACA,OACA,QAAUlb,GACV,KACA,KACA,MACA,GACA,EAAM,SAKVmb,kBAAmBA,CAACH,EAAQj1B,KACd,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAI,wCAADiC,OAA0Ci0B,IAC/C,KACA,OACA,QAAUhb,GACV,KACA,KACA,MACA,GACA,EAAM,QAENja,GAIJq1B,YAAaA,CAACN,EAAS/0B,KACT,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAI,qCAADiC,OAAuC+zB,IAC5C,KACA,OACA,QAAU9a,GACV,KACA,KACA,MACA,GACA,EAAM,QAENja,GAIJs1B,qBAAsBA,CAACL,EAAQM,EAAKC,KACtB,IAAI/1B,GAELe,YACT,CAAC,EACD,CAAEzB,IAAI,8BAADiC,OAAgCu0B,EAAG,YAAAv0B,OAAWi0B,EAAM,cAAAj0B,OAAaw0B,IACtE,KACA,OACA,QAAUvb,GACV,KACA,KACA,MACA,GACA,EAAM,SAKVwb,QAASA,CAACV,EAAS/0B,KACL,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAI,qCAADiC,OAAuC+zB,IAC5C,KACA,OACA,QAAU9a,GACV,KACA,KACA,MACA,GACA,EAAM,QAENja,GAIJ01B,cAAeA,CAACT,EAAQj1B,KACV,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAI,wCAADiC,OAA0Ci0B,IAC/C,KACA,OACA,QAAUhb,GACV,KACA,KACA,MACA,GACA,EAAM,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","file":"static/js/main.5324bb42.chunk.js","sourcesContent":["import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport common_it from '../translations/it/common.json';\nimport common_en from '../translations/en/common.json';\n\ni18n.use(initReactI18next).init({\n // we init with resources\n resources: {\n IT: {\n translations: common_it\n },\n EN: {\n translations: common_en\n }\n },\n interpolation: { escapeValue: false }, // React already does escaping\n lng: localStorage.getItem('lng') || 'IT',\n ns: ['translations'],\n defaultNS: 'translations',\n\n react: {\n wait: true\n }\n});\n\nexport default i18n;\n","export default __webpack_public_path__ + \"static/media/LogoIstatHeader.131ddab6.svg\";","const reactEnv = {\n url: {\n API_URL_AZURE: process.env.REACT_APP_API_URL_AZURE,\n API_URL_DM05: process.env.REACT_APP_API_URL_DM05,\n API_PORT: process.env.REACT_APP_API_PORT\n }\n};\n\nexport const config = reactEnv;\n","import { message, notification } from 'antd';\nimport axios from 'axios';\nimport { config } from '../config/_const';\nimport i18n from '../config/i18n';\n\n//var axios = require('axios');\n\nmessage.config({\n duration: 5\n});\n\nnotification.config({\n placement: 'topLeft',\n duration: 10\n});\n\nclass BaseRequest {\n constructor() {\n this.successCallback = null;\n this.errorCallback = null;\n this.progressCallback = null;\n this.withFile = false;\n this.cancelToken = undefined;\n this.params = {};\n this.data = {};\n this.file = null;\n this.instance = null;\n this.mantainNotification = false;\n this.block_notification = false;\n }\n\n /**\n * Crea richiesta http\n *\n * @param {Object} cancelToken parametro per annullare la chiamata\n * @param {Object} params Parametri per query string\n * @param {Object} data Parametri POST e PUT\n * @param {Object} file File da inserire come formData\n * @param {String} method GET|POST|PUT|DELETE\n * @param {String} url Url\n * @param {Function} successCallback Callback ok\n * @param {Function} errorCallback Callback error\n * @param {Function} progressCallback Callback progress tracking\n * @return {void}\n *\n * @method\n * @public\n */\n async makeRequest(\n params = {},\n data = {},\n file = null,\n method = 'get',\n url = '/',\n successCallback = null,\n errorCallback = null,\n progressCallback = null,\n mantainNotification = false,\n block_notification = false,\n base,\n cancelToken = null\n ) {\n if (params.withFile) {\n this.withFile = true;\n }\n\n this.successCallback = successCallback;\n this.errorCallback = errorCallback;\n this.progressCallback = progressCallback;\n\n this.params = params;\n this.data = data;\n this.file = file;\n this.mantainNotification = mantainNotification;\n this.block_notification = block_notification;\n this.cancelToken = cancelToken;\n\n this.instance = axios.create({\n baseURL:\n config.url[`API_URL_${base}`] +\n (config.url.API_PORT ? ':' + config.url.API_PORT : '') +\n url,\n timeout: '30s',\n headers: {\n ...axios.defaults.headers\n }\n });\n\n return this.doCall(url, method);\n }\n\n /**\n * Effettua la richiesta e richiama la callback in base al responso\n *\n * @param {String} url Url\n * @param {String} method Metodo\n * @return {void}\n *\n * @method\n * @public\n */\n async doCall(url, method) {\n const axios_config = {\n method: method === 'get_file' ? 'post' : method === 'post_file' ? 'post' : method,\n headers: {\n ...axios.defaults.headers,\n 'content-type': 'application/json',\n language: i18n.language,\n Authorization: localStorage.getItem('agi-token')\n ? 'Bearer ' + localStorage.getItem('agi-token')\n : null\n },\n cancelToken: this.cancelToken,\n params: this.params,\n data: this.data,\n responseType: method === 'get_file' || method === 'post_file' ? 'blob' : 'json',\n onUploadProgress: function () {\n if (this.progressCallback) {\n this.progressCallback();\n }\n },\n maxRedirects: 0\n };\n\n if (this.file) {\n const formData = new FormData();\n\n if (Array.isArray(this.file)) {\n this.file.forEach((f, n) => formData.append(f.chiave + '[' + n + ']', f.file));\n } else {\n formData.append(this.file.chiave, this.file.file);\n }\n\n const data_array_keys = Object.keys(this.data);\n if (data_array_keys.length > 0) {\n if (data_array_keys.length > 0) {\n data_array_keys.forEach((key) => {\n if (typeof this.data[key] === 'string' || typeof this.data[key] === 'number') {\n if (this.data[key] !== null) {\n formData.append(key, this.data[key]);\n }\n } else {\n if (this.data[key] !== null) {\n formData.append(key, JSON.stringify(this.data[key]));\n }\n }\n });\n }\n }\n\n axios_config.headers = {\n //...axios.defaults.headers,\n ...axios_config.headers,\n 'content-type': 'multipart/form-data'\n };\n axios_config.data = formData;\n }\n\n return this.instance\n .request(axios_config)\n .then((response) => {\n if (this.successCallback) {\n this.successCallback(response);\n }\n return response;\n })\n .catch(async (e) => {\n console.error(e);\n\n if (axios.isCancel(e)) {\n return;\n }\n\n if (this.block_notification) {\n return;\n }\n\n if (e.response && e.response.status && e.response.status === 419) {\n notification.warning({\n message: i18n.t('notifications.warnings.title'),\n description: i18n.t('notifications.warnings.lockMessage')\n });\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n }\n\n //MIO TEST\n if (e.response && e.response.status && e.response.status === 422) {\n notification.warning({\n message: 'Operazione non consentita',\n description: 'Rilevata relazione ricorsiva'\n });\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n }\n\n if (e.response && e.response.status && e.response.status === 400) {\n notification.error({\n message: 'Errore di sistema',\n description:\n e.response.data?.exeption || e.response.data?.title || e.response.data || ''\n });\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n }\n\n const showed_error = false;\n\n /**\n * Non ho potuto fare il parse della response\n */\n if (!showed_error) {\n //message.error('Errore non definito');\n\n notification.error({\n message: 'Errore non definito',\n description: \"Contatta l'amministrazione per maggiori dettagli\"\n });\n }\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n });\n }\n\n async parseBlob(blob) {\n try {\n const blobbed_error = await this.readFile(blob);\n return JSON.parse(blobbed_error).data;\n } catch (e) {\n return '';\n }\n }\n\n async readFile(content) {\n const fileReader = new FileReader();\n return new Promise((resolve, reject) => {\n fileReader.onerror = () => {\n fileReader.abort();\n reject(new Error('Problem parsing file'));\n };\n\n fileReader.onload = () => {\n resolve(fileReader.result);\n };\n\n fileReader.readAsText(content);\n });\n }\n}\n\n/**\n * @component\n */\nexport default BaseRequest;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\n\nconst Search = {\n searchByWord: (pattern) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n { url: `/report_search_free?p_rep_par=${pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default Search;\n","import React from 'react';\nimport { Select } from 'antd';\n\nlet lang = sessionStorage.getItem('lang') === null ? 'IT' : sessionStorage.getItem('lang');\n\nfunction LangSelector() {\n const changeLang = (lang) => {\n sessionStorage.setItem('lang', lang);\n location.reload();\n };\n\n return (\n \n );\n}\n\nexport const getLanguage = () => {\n return lang;\n};\n\nexport default LangSelector;\n","/** @format */\n\nimport { useState, useEffect } from 'react';\nimport './IsMobile.scss';\n\nconst IsMobile = () => {\n const [isFixedMobile, setIsFixedMobile] = useState(null);\n const handleResize = () => {\n let screenWidth = window.innerWidth;\n if (screenWidth <= 769) {\n setIsFixedMobile(true);\n } else {\n setIsFixedMobile(false);\n }\n };\n\n useEffect(() => {\n handleResize();\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isFixedMobile;\n};\n\nexport default IsMobile;\n","/** @format */\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nexport const initialState = {\n tableData: {\n label: [],\n body: [],\n colNames: [],\n totalRows: '',\n types: [],\n formatMask: []\n },\n cacheTableData: {},\n\n filters: {\n orderFields: [],\n orderDirects: []\n },\n data: {\n dataDaUp: null,\n dataAUp: null\n },\n textFilters: {\n filterFields: [\n /* {\n textFields: '',\n textValue: '',\n i: 0\n } */\n ]\n },\n funzione: {\n id: null\n }\n};\n\nexport const updateData = createAction('updateData');\nexport const updateFunzione = createAction('updateFunzione');\nexport const updateTableData = createAction('updateTableData');\nexport const updateFilters = createAction('updateFilters');\nexport const updateTextFilters = createAction('updateTextFilters');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(updateData, (state, action) => {\n state.data = { ...state.data, ...action.payload };\n })\n .addCase(updateTableData, (state, action) => {\n state.tableData = { ...state.tableData, ...action.payload };\n })\n .addCase(updateFilters, (state, action) => {\n state.filters = { ...state.filters, ...action.payload };\n })\n .addCase(updateTextFilters, (state, action) => {\n state.textFilters = { ...state.textFilters, ...action.payload };\n })\n .addCase(updateFunzione, (state, action) => {\n state.funzione = { ...state.funzione, ...action.payload };\n });\n});\n\nexport default reducer;\n","import { useState, useEffect, useCallback, useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Row, Col, AutoComplete, Divider, Select } from 'antd';\n//import HeaderLogo from 'assets/img/logo/logo_header.png';\nimport HeaderLogo from 'assets/img/logo/LogoIstatHeader.svg';\nimport { useNavigate as useHistory } from 'react-router-dom';\nimport Search from 'services/search';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport LangSelector from 'components/langSelector/LangSelector';\nimport { SearchOutlined } from '@ant-design/icons';\nimport IsMobile from 'components/IsMobile/IsMobile';\nimport { useDispatch } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../redux/reducers/NewReportCompiler.reducer';\n\nfunction HeaderSubtitle({ envType, isMobile }) {\n switch (envType) {\n case 'local':\n return (\n
\n LOCALE\n
\n );\n case 'dev':\n return (\n
\n SVILUPPO\n
\n );\n case 'test':\n return (\n
\n COLLAUDO\n
\n );\n\n default:\n return \"\";\n }\n}\n\nfunction Header() {\n const dispatch = useDispatch();\n const isMobile = IsMobile();\n\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState();\n const [options, setOptions] = useState([]);\n const [selectedReport, setSelectedReport] = useState();\n const [value, setValue] = useState();\n const history = useHistory();\n\n const setSearchStringDebounced = useCallback(\n _.debounce((value) => setSearchString(value), 500, true),\n []\n );\n\n useEffect(() => {\n const SearchRep = async () => {\n const { data } = await Search.searchByWord(searchString);\n const opts = data?.items?.map((obj, i) => {\n return {\n value: obj['id_funzione'],\n label: obj['nome report'],\n report: obj\n };\n });\n setOptions(opts);\n };\n if (searchString?.length > 2) {\n SearchRep();\n }\n }, [searchString]);\n\n /* useEffect(() => {\n \n }, [selectedReport]); */\n const searchReport = () => {\n if (selectedReport !== undefined && selectedReport !== null) {\n const type = selectedReport['tipo analisi dati'];\n const tmpDataDa = moment(selectedReport.data_ini_val, 'DD/MM/YYYY');\n const tmpDataA = moment(selectedReport.data_fin_val, 'DD/MM/YYYY');\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n switch (type) {\n case 'DATA':\n dispatch(updateData({ dataDaUp: tmpDataDa.format('YYYY-MM-DD'), dataAUp: null }));\n history(`/territorio/body?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format(`YYYY-MM-DD`)}`, {\n state: {\n dataDa: tmpDataDa.format(`DD-MM-YYYY`),\n dataA: null,\n periodoDate: [tmpDataDa.format('DD/MM/YYYY'), tmpDataA.format('DD/MM/YYYY')],\n funzione: selectedReport.id_funzione,\n title: 'Ricerca: ' + selectedReport['nome report'],\n mainTitle: selectedReport['nome report'],\n descrizione: selectedReport['descrizione report'],\n fromHome: false\n }\n });\n break;\n case 'PERIODO':\n dispatch(\n updateData({\n dataDaUp: tmpDataDa.format('YYYY-MM-DD'),\n dataAUp: tmpDataA.format('YYYY-MM-DD')\n })\n );\n history(`/variazioni/body?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`, {\n state: {\n dataDa: tmpDataDa.format(`DD-MM-YYYY`),\n dataA: tmpDataA.format(`DD-MM-YYYY`),\n periodoDate: [tmpDataDa.format('DD/MM/YYYY'), tmpDataA.format('DD/MM/YYYY')],\n funzione: selectedReport.id_funzione,\n title: 'Ricerca: ' + selectedReport['nome report'],\n mainTitle: selectedReport['nome report'],\n descrizione: selectedReport['descrizione report'],\n fromHome: false\n }\n });\n break;\n case 'ATTUALIZZAZIONE':\n dispatch(\n updateData({\n dataDaUp: tmpDataDa.format('YYYY-MM-DD'),\n dataAUp: tmpDataA.format('YYYY-MM-DD')\n })\n );\n history(`/ricostruzione-codici/body?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`, {\n state: {\n dataDa: tmpDataDa.format(`DD-MM-YYYY`),\n dataA: tmpDataA.format(`DD-MM-YYYY`),\n periodoDate: [tmpDataDa.format('DD/MM/YYYY'), tmpDataA.format('DD/MM/YYYY')],\n funzione: selectedReport.id_funzione,\n title: 'Ricerca: ' + selectedReport['nome report'],\n mainTitle: selectedReport['nome report'],\n descrizione: selectedReport['descrizione report'],\n fromHome: false\n }\n });\n break;\n }\n }\n };\n\n return (\n
\n \n
\n \n
\n
\n
\n \n \n SITUAS\n \n \n
\n
\n \n \n
\n
\n
\n \n {t('header.title')}\n
\n
\n {/* FASE 3 - RICERCA OSCURATA\n \n \n \n \n
\n \n
\n {\n setValue(str);\n }}\n onSelect={(val, obj) => {\n setSelectedReport(obj.report);\n setValue(obj.label);\n }}\n onSearch={(str) => {\n setSearchStringDebounced(str || '');\n }}\n onClear={() => {\n setValue();\n }}\n placeholder=\"Inserisci un termine\"\n\n aria-label=\"Ricerca un Termine\"\n aria-labelledby=\"searchLabel\"\n tabIndex=\"0\"\n />\n \n \n {\n searchReport();\n }}\n tabIndex=\"0\">\n cerca\n \n \n
\n \n \n */}\n {/* FASE 3 - RICERCA OSCURATA\n \n \n \n \n \n */}\n \n \n );\n}\n\nexport default Header;\n","import { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n/* import { Link } from 'react-router-dom';\nimport { Menu } from 'antd'; */\nimport { useLocation, useNavigate as useHistory } from 'react-router-dom';\nimport Container from 'react-bootstrap/Container';\nimport Nav from 'react-bootstrap/Nav';\nimport Navbar from 'react-bootstrap/Navbar';\nimport NavDropdown from 'react-bootstrap/NavDropdown';\nimport { LinkContainer } from 'react-router-bootstrap';\n\nfunction NavBarNew() {\n const { t } = useTranslation();\n\n const [current, setCurrent] = useState();\n const [menuClicked, setMenuClicked] = useState(false);\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n const path = '/' + location.pathname.split('/')[1];\n setCurrent(path);\n var links = document.getElementsByClassName('new-nav-link');\n Array.prototype.forEach.call(links, function (link) {\n link.removeAttribute('aria-current');\n });\n document.getElementsByClassName('active-link')[0]?.classList.remove('active-link');\n\n document\n .querySelector(`[href='${process.env.REACT_APP_PREFIX + path}']`)\n ?.classList.add('active-link');\n document\n .querySelector(`[href='${process.env.REACT_APP_PREFIX + path}']`)\n ?.setAttribute('aria-current', 'page');\n }, [location]);\n\n const handleNavItemClick = (evt) => {\n if (!menuClicked) {\n document.getElementById('basic-navbar-nav').classList.remove('show');\n setMenuClicked(true);\n }\n\n //evt.preventDefault();\n //let path = '' + evt.target.getAttribute('href');\n //path = path.substr(process.env.REACT_APP_PREFIX.length);\n //history(path);\n };\n\n return (\n \n
\n \n \n \n \n
\n
\n );\n // eslint-disable-next-line no-unreachable\n {\n /*
\n setCurrent(key)} selectedKeys={[current]} mode=\"horizontal\">\n \n \n {t('menu.home')}{' '}\n \n \n \n \n {t('menu.territory')}{' '}\n \n \n \n \n {t('menu.variations')}\n \n \n \n \n {t('menu.updates')}{' '}\n \n \n \n \n {t('menu.storia_ua')}\n \n \n \n \n {t('menu.ter_research')}\n \n \n \n \n {t('menu.download')}\n \n \n \n \n {t('menu.glossario')}\n \n \n \n
*/\n }\n}\n\nexport default NavBarNew;\n","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/LogoIstatFooter.5b90ed00.svg\";","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetSettings = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SETTINGS}${urlExtension}`,\n headers: {},\n params: data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetSettings = () => {\n const defaultData = {\n label: [],\n body: [],\n totalRows: 0,\n colNames: [],\n formatMasks: [],\n types: []\n };\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(defaultData);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetSettings(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n /* throw e; */\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(defaultData);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetSettings;\n","import { withTranslation } from 'react-i18next';\nimport { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { icon } from '@fortawesome/fontawesome-svg-core/import.macro';\nimport {\n TwitterOutlined,\n InstagramOutlined,\n LinkedinOutlined,\n YoutubeOutlined\n} from '@ant-design/icons';\nimport {\n twitter,\n youtube,\n linkedin,\n instagram,\n slideshare,\n flickr,\n pinterest,\n sistan,\n eurostat\n} from 'config/links';\nimport PinterestLogo from 'assets/img/social/pinterest.png';\nimport SlideshareLogo from 'assets/img/social/slideshare.png';\nimport FlickrLogo from 'assets/img/social/flickr.png';\n\n//import FooterLogo from 'assets/img/logo/logo_footer.png';\nimport FooterLogo from 'assets/img/logo/LogoIstatFooter.svg';\nimport { useGetSettings } from '../services/GetSettings';\nimport { useEffect } from 'react';\nimport { useState } from 'react';\n\nfunction Footer({ isMobile }) {\n const { t } = useTranslation();\n const getSettings = useGetSettings();\n const [settings, setSettings] = useState(null);\n\n useEffect(() => {\n (async () => {\n let res = await getSettings.execute();\n setSettings(res);\n })();\n }, []);\n\n return (\n \n \n \n \n \n \n \n {!isMobile && }\n \n \n {t('footer.contacts')}\n \n \n {t('footer.privacy')}\n \n \n {t('footer.legal_notes')}\n \n \n {t('footer.accessibility_declaration')}\n \n \n \n \n {!isMobile && }\n \n \n Sistan\n \n \n Eurostat\n \n \n \n \n {!isMobile && }\n \n {/* Override FontAwesome Twitter to X */}\n \n \n \n \n \n {/* *** */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {process.env.NODE_ENV == 'local' &&\n \n
v{process.env.REACT_APP_VERSION}
\n }\n
\n );\n}\n\nexport default withTranslation()(Footer);\n","export const twitter = 'https://twitter.com/istat_it';\nexport const instagram = 'https://www.instagram.com/istat_it';\nexport const linkedin = 'https://it.linkedin.com/company/istat';\nexport const youtube = 'https://www.youtube.com/videoistat';\nexport const slideshare = 'https://www.slideshare.net/slideistat';\nexport const flickr = 'https://www.flickr.com/photos/galleria_istat/';\nexport const pinterest = 'https://www.pinterest.com/istat_infograf/';\n\nexport const sistan = 'https://www.sistan.it';\nexport const eurostat = 'https://ec.europa.eu/eurostat';\n","import { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from 'antd';\nconst { Title } = Typography;\n\nfunction Shortcut({ title, link, details, style, onClick, level, tabIndex, className = \"\" }) {\n const { t } = useTranslation();\n return (\n
\n

{title}

\n
\n {link && (\n \n {details ? details : t('home.find_out_more')}\n \n )}\n
\n
\n );\n}\nexport default Shortcut;\n","import BaseRequest from '../_baseRequest';\nimport moment from 'moment';\n\nconst baseUrl = 'Promemoria';\n\nconst PromemoriaService = {\n operations: (PageNum = undefined, PageSize = undefined) => {\n const req = new BaseRequest();\n let params = undefined;\n if (PageNum && PageSize) {\n params = { PageNum, PageSize };\n }\n return req.makeRequest(\n params,\n {},\n null,\n 'get',\n '/api/' +\n baseUrl +\n '?PageNum=1&PageSize=5&flagDiffusione=1&dateTime=' +\n moment().format('YYYY-MM-DD'),\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default PromemoriaService;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVRoge2YQU7DMBAAJwjxAJCQKBckHgDP4Alc+QBX+gR+hQRH+AEXuMABwb0cKAd8sKo0623X3gTtSFZb29nNZOM6CgRBILGs1G6nLtBMoqZAE4naAtUlVpNZx6su0UqgmkRLgSoSrQXMJTwETCW8BIokusKE2mM08SQG8+1scSKjYNchp1RBVYUmX4G+q2GxUC3532sgBLwpEeiydgzMge9sfH+lnaU5nwNx8mZOyc57I4wDnABvBfOk3VjNugBL4CF9n/WMfwEfwB1wnvqu1sTRNFOB+wGB/Jjn1Hc4JoGcuXBiP6mvE+I8tRaY8Xf/LwoF6JlnKqB5FtJcjZf0ebBlHBHrfWABPAKX6feFcfwihhaxpsRHwKsiTpN/ISnBHnAKXAPvyjgbCcTTqDch4I3HWwnTfJOvQAh4s8l7oVHtE5OvQAgEQeDLL7lRYXhAW4gJAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABmJLR0QA/wD/AP+gvaeTAAAE1ElEQVR4nO2dTYgcRRTHf5vs7PqRVRRZcgiYnDSbBA8elhw1UYwgmoCioKgYQSJKRBGJHgQvQiIJYpRcIngUBRH8JlHEHEQPiSZRIgbWz6AgmhGibkx7qF1oX/f09FR1d1V1vx+8y9R7rz7+3V1d1TM9oCiKoiiKoiiK4s4MsBs4CvwJJIHZ0/V13S89YA9wFv+D3DkResC7+B/YzoqwB/8D2lkRZojjstNaEXbjfxBd7dnKR6VBjuF/ADt9JvTxP3idPhOGdco3rRehbQJEJ0IbBYhKhLYKEI0IbRYgChHaLkDwInRBgKBF6IoAwYrQJQGCFKFrAgQnQhcFCEqErgpQiQhjrgkYPshV1OFC3QeBU/+WVNUKxQ4VwDMqgGfGfTegAVznoFrnED0DPKMCeEYF8IzNHLAO2ApsAFaW8A9hMdYKJoEXgX+pd3UZmzXCJHCwoQ7FZo3wUoMdis2cKHOPvA44jE7Yg6h9L2hrST/FgjIDu7H2VnSYMqdPH1hWd0MipvZL0LDBv3OhEWl7M8fvjRy/e3L8pI8tHwK3Aisw653LgPXATuB3h7yNM+wu4ATZBd31OX4bhE8P+DbHb9T68+zRIX26HPjCMnfjt6FlGnGviBkDvk6VHyN7NN8/IJdN/Wl7uWS/VgF/WOQPUoCTwISIeyhVvk2UTQJzA3LZ1J+21SL+JuAd4FVgrSjbaZE/SAES4AERdxFwGnOUTYmyBwvy2NafAL+J2JXAP6nyr0T57Ij5gxbge+A8EbsXeF58dj7wY0Ee2/oT4DsRuz7HZzpVfvGI+YMWIAEeFrEzwBXis0eG5HCp/2/+f0MwgfnFvusgRyPAz8AFBbkuBE4NyeFSfwLcKOKngbcs8kQpQAI8VpDr8RLxrvUfxkzyklngdeCcRc6oBPgFc6RLlgG/loh3rT/BHPGXDOjPJuAHy7xRCPANZpElGbTwqkOABPgJsxLOW01PA1865A5agLsKct1dIt61fmlHgC1khViF2ZJolQDHgaUFuZZi7sWbFGDRDgLLRe5nKshbO6M05jYROwtcLT67fUgOl/o/BvalTK62PxK5rxoxf9ACHCG7u/oK2b2ZJRRvhNnWnwBPitj9ovwcZiG4yNSI+YMW4GYRNw38BZzBbAWnuaUgj239CWa/J81mUX5ClK8YMX+wAnxGdpLbkSp/QpSNLcRU0aF0bB+4VNSzHTgEvEZ2M+6Okv0LXoAbRMw4Zl9msXyO7OS8aUAu1/btLRk3Dnw+oA1RCfBJTsyWHL/NOX6HcvyqaN9TFD9Nm8TMTa6DH4QA1+TEHMjxO5Djd22OX1Xt+xS4D/N8YGrB1mCeUxwv0a9GBNCH8u7U/lBe7rErFVJGgA9qb0WHKXP6rMVs8RZtMXSZ2i9BRzHLesUjE+Tf2ag1yATwAnG/JTc4AWyuX2sw99fXYb720fVbVKc5oAvvinCl1v7p9/49owJ4RgXwjArgGRXAMyqAZ1QAz1TxvqA+2e//p2l0ud4wp10TVHEGdPl5wZxrgioEeL+CHLHynu8GgHnmOo//TbGmbR64soLxq4Q2/JXVqPZcJSNXET3MLxF9D0pT9jYBvvCwhzkT2nw5mscc+cENfprVwC7MDyDa8B9j/YW+7CKga76iKIqiKIqiKPHyH343+WzUJR8dAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABmJLR0QA/wD/AP+gvaeTAAAFWElEQVR4nO2dW2gdRRjHfyY1p2iDgqBUEhUvRUzyIigiiNRatA+CBUEE9UELrS3SFCzqgyI+eMViilW8YbX4oK0iiBQ0VhBBX4TqSaniixbbB6Fik4gmTRof5hzcfGd2dvfs7pm9fD8Ykt39z+zM/Hfnek4CiqIoiqIoiqIo6RkDJoApYBZYKlh4Kr+i+6UBvAos4r+Sa2dCAziE/4qtrQmv4b9Ca2vCGOVodiprwgT+KzFteC7zWukhR/BfgbV+E2bwX3m1fhOiCuWbyptQNQNKZ0IVDSiVCVU1oDQmVNmAUphQdQMKb0IdDCi0CXUxoLAm1MmAQppQNwMKZ0IdDSiUCXU1IBMTzkqbANGVnMU90pD3Q5CqfH1Z5ULpDjXAM2qAZ1b4zkAPSNsH5dqH6BvgGTXAM2qAZ+K0j2PAJmAdcBlwbq45Kh+5zXPK9FlPnyEVYaOgBnAQWJv2BoqbsD7gZbTye4Kt/RoDDqMddFwyXwvaFHJeyQFbRd/a81zUGNvrMwOs6nVGSkzmTVDSym8C48BoK+6q1u/jmO+JxeUfTOd/I3A+ZoR2OXAn8Jkj3hWYSmiHDxzad4T2ygT56xlxx7//Ag/h7i/6gK3AXERaJ4CRiHzdA8xb4m4Wus2O+9wrtFsSlDeXeYCNuJWfZJh6C24TboqZzk5L3ANCc5XjPhcL7UcObaEN2NJFuttC0vpW6AaA54EvWz8b4toJEf8k0C/SOGa5z1Gh6Qf+jFHWwhnwI53NzhCwH5huhY+BNULTj+kTZHovCd0T4vpj4vrrljSuF5p3LZo9QnNDjLLmbkA34/23gTOB4yHgB+AuYLAVNmKe7KGAbrEVVzIjji8Rx7J5+smSxnpxfMiikedknMIQ5fg1Qr/fof1QaEctmjeFZi32ztYVvhJpDIvri8AFQvN1wnsUpgkaFPpph/aU0A5aNL/T2YZvwN6Oh4U5OpfJfwlc/96Sj6QmF8aApPo4Yacl3QbwIPBzzDQ2iPjBvuJFce2OjPJdGQMW6BzPt1kJvNDSuNLYJeLdHbgmzdmdUb4rY0A7HCR8droR91yiKfQXYgYL83TO7o9mmOfM8WnAEnAaeA+7EY844p0BVgt9E/hGnJMddOkMSNIJ/yW0tk44LMwDj4v4K4DfHHHuE/oJ4Glx7oEEecjdgG7mAcPi+AuHdlIcX2rRvAW80Qr7AufPBp4B7g+cWwA+cdzPNh8ozfi/TZTj24V+DWY5QOpOYtZlguyw6ILNxkrMOlPw+vsije2OvB1n+fLweSxfyugD/ohRxkI3QU06x+1DmEnXqVY4QGflhy1F3C50n4rrshl6MiJ/o46yXRujfIU3YAmzxJyUh0PS2id0FwF7ge+AZ1n+BINp8lx5G3fk4dGY5Su8AXOYJea4rCN8CHkaszAWh+swox1X3lybN5MRcUtjQNuEbXQ2R0H6MU9+1IbMcTpXNCVXA7/GyNcsZtlacg5m160yBrTDFKZzlVuSO7C3+S5D92JGKcOYpmc1ZjV0Avg7QVo3W8p1Wxdly90A3ZRPT+ab8sfSJKgkw2aAa2KlZIzt9RnFfDTR1bkq/5N5EzSFWUtXPDKA+VRCHqOGqoXcGABeIXojpO4hFXHarxHM1uB6zFeUdIi6nFR9QB3+VkRaci2ffg/AM2qAZ9QAz6gBnlEDPKMGeEYN8EwWfy9oFvfkLNfpumem0yaQxRtQ5/2D1GXPwoA67x987jsDYPYP6rhgt0D0Nzt7xh78V0ivw+5Mai4j6rZ/MIn9oy9eqcP+wQLmyS9c5QcZwXxbpUk1/sfYTKssuyhQm68oiqIoiqIoSnn5D07MTnh/Ex/eAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","import _ from 'lodash';\nimport { saveAs } from 'file-saver';\nimport XlsxPopulate from 'xlsx-populate';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\n\nclass Utils {\n static exportPDF(title, columns, rows, orientation) {\n const unit = 'pt';\n const size = 'A4';\n\n const marginLeft = 40;\n const doc = new jsPDF(orientation, unit, size);\n\n doc.setFontSize(14);\n\n const headers = [columns.map((column) => column.title)];\n\n const data = rows.map((row) => Object.values(_.omit(row, ['key'])));\n\n doc.text(title, marginLeft, 30, { maxWidth: 500, align: 'left' });\n doc.autoTable({\n startY: 50,\n head: headers,\n body: data,\n headStyles: {\n fontSize: 8,\n valign: 'bottom',\n halign: 'left',\n fillColor: '#426F80'\n },\n bodyStyles: {\n valign: 'bottom',\n halign: 'left',\n cellPadding: 4,\n minCellHeight: 35\n },\n theme: 'grid'\n });\n doc.save(title + '.pdf');\n }\n\n static getSheetData(data, header) {\n let fields = Object.keys(data[0]);\n let sheetData = data.map((row) => {\n return fields.map(function (fieldName) {\n return row[fieldName] ? row[fieldName] : '';\n });\n });\n sheetData.unshift(header);\n return sheetData;\n }\n\n static async exportXLSX(titolo, header, rows, header2, rows2) {\n XlsxPopulate.fromBlankAsync().then(async (workbook) => {\n const columns = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U'\n ];\n const sheet1 = workbook.sheet(0).name('Dati');\n const sheetData = this.getSheetData(rows, header);\n const totalColumns = sheetData[0].length;\n\n let sheet2;\n let sheet2Data;\n if (header2 && rows2) {\n workbook.addSheet('Metadati');\n\n sheet2 = workbook.sheet(1);\n sheet2Data = this.getSheetData(rows2, header2);\n sheet2.cell('A1').value(sheet2Data);\n const range = sheet2.usedRange();\n const endColumn = String.fromCharCode(64 + sheet2Data[0].length);\n sheet2.row(1).style('bold', true);\n for (let i = 0; i < totalColumns; i++) {\n sheet2.column(columns[i]).width(sheet2Data[0].length > 10 ? 20 : 35);\n }\n sheet2.range('A1:' + endColumn + '1').style({\n fill: '426F80',\n fontColor: 'FFFFFF',\n horizontalAlignment: 'center',\n verticalAlignment: 'center',\n wrapText: true\n });\n sheet2.range('A2:' + endColumn + rows.length + 1).style({\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n wrapText: true\n });\n range.style('border', true);\n }\n\n sheet1.cell('A1').value(sheetData);\n const range = sheet1.usedRange();\n const endColumn = String.fromCharCode(64 + totalColumns);\n sheet1.row(1).style('bold', true);\n for (let i = 0; i < totalColumns; i++) {\n sheet1.column(columns[i]).width(totalColumns > 10 ? 20 : 35);\n }\n sheet1.range('A1:' + endColumn + '1').style({\n fill: '426F80',\n fontColor: 'FFFFFF',\n horizontalAlignment: 'center',\n verticalAlignment: 'center',\n wrapText: true\n });\n sheet1.range('A2:' + endColumn + rows.length + 1).style({\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n wrapText: true\n });\n range.style('border', true);\n return workbook.outputAsync().then((res) => {\n saveAs(res, titolo + '.xlsx');\n });\n });\n }\n\n static delay(time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n \n static escapeDate(value) {\n if (value) {\n if (typeof (value) == 'string') {\n if (value.includes('999') && !value.includes('1999'))\n return \"\";\n\n }\n return value;\n }\n return \"\";\n }\n\n static getFileNameFromHeader(headersString) {\n const headersArray = headersString.split(';');\n let filename = \"\";\n headersArray.forEach(header => {\n if (header.includes('filename=\"')) {\n const name = header.split('filename=\"')[1];\n filename = name.substring(0, name.length - 1);\n }\n })\n\n if (filename === \"\"){\n headersArray.forEach(header => {\n if (header.includes('filename=') && !header.includes('filename=*')) {\n const name = header.split('filename=')[1];\n filename = name;\n }\n })\n }\n\n return filename;\n }\n\n static truncateEllipsis(text, truncateLength = 56) {\n return text.length > truncateLength ? text.substring(0, truncateLength) + \"...\" : text;\n }\n\n static customCapitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n\n //let rgx = /(^[\\w])|( [\\w])|(((?!(\\w)).)(\\w))/gmu;\n //return str.replace(rgx, (match, p1, p2, p3, offset, string) => {\n // console.log({ match, p1, p2, p3, offset, string });\n // return match.slice(0, -1) + match.slice(-1).toUpperCase();\n //});\n }\n}\n\nexport default Utils;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { Divider, Modal, Col, Row, Card } from 'antd';\nimport NewsService from 'services/promemoria/Promemoria';\nimport moment from 'moment';\nimport pdfIcon from 'assets/img/formats/pdf.png';\nimport xlsIcon from 'assets/img/formats/xls.png';\nimport csvIcon from 'assets/img/formats/csv.png';\nimport jsonIcon from 'assets/img/formats/json.png';\nimport CsvDownloader from 'react-csv-downloader';\nimport Utils from 'utils';\nimport { CloseOutlined } from '@ant-design/icons';\n\nfunction News({ isMobile }) {\n const { t } = useTranslation();\n const [news, setNews] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const fetchData = async () => {\n return await NewsService.operations();\n };\n\n useEffect(() => {\n setLoading(true);\n fetchData().then(({ data }) => {\n setNews(\n data.body.sort((a, b) => new Date(b.dataInizioValidita) - new Date(a.dataInizioValidita))\n );\n setLoading(false);\n });\n return () => setNews([]);\n }, []);\n\n const News = (title, subtitle, date, content, key) => {\n return (\n
  • \n \n \n Modal.info({\n className: 'modalHome',\n icon: null,\n closable: false,\n content: (\n <>\n \n \n

    {title}

    \n \n \n {\n Modal.destroyAll();\n }}>\n \n \n \n
    \n \n \n {subtitle}\n \n \n
    \n
    \n Data Pubblicazione: {moment(date).format('DD/MM/YYYY')}
    \n {/*

    {content}

    */}\n
    \n \n )\n })\n }\n onKeyPress={(event) => {\n if (event.key === 'Enter') {\n Modal.info({\n className: 'modalHome',\n icon: null,\n closable: false,\n content: (\n <>\n \n \n

    {title}

    \n \n \n {\n Modal.destroyAll();\n }}>\n \n \n \n
    \n \n \n {subtitle}\n \n \n
    \n
    \n Data Pubblicazione: {moment(date).format('DD/MM/YYYY')}
    \n {/*

    {content}

    */}\n
    \n \n )\n });\n }\n }}\n className=\"news-body\"\n key={key}>\n {/*
    */}\n
    \n
    {title}
    \n
    \n
    \n
    {subtitle}
    \n
    \n
    \n
    \n {t('home.news.date')}: {moment(date).format('DD/MM/YYYY')}\n
    \n
    \n
    \n
    \n
  • \n );\n };\n return (\n
    \n

    {t('home.news.title')}

    \n \n {!loading && (\n
    \n \n Utils.exportPDF(\n 'Aggiornamenti -' + ' Data stampa ' + moment().format('DD/MM/YYYY HH:mm:ss'),\n [\n { title: 'Titolo' },\n { title: 'Data' },\n { title: 'Descrizione' },\n { title: 'Testo del provvedimento' },\n { title: 'Note' }\n ],\n news.map((obj) => [\n obj.titolo,\n moment(obj.dataInizioValidita).format('DD/MM/YYYY'),\n obj.testo,\n obj.testoProvvedimento,\n obj.sottotitolo\n ]),\n 'portrait'\n )\n }>\n \"Scarica\n \n \n Utils.exportXLSX(\n 'Aggiornamenti -' + ' Data stampa ' + moment().format('DD/MM/YYYY HH:mm:ss'),\n ['Titolo', 'Data', 'Descrizione', 'Testo del provvedimento', 'Note'],\n news.map((obj) => [\n obj.titolo,\n moment(obj.dataInizioValidita).format('DD/MM/YYYY'),\n obj.testo,\n obj.testoProvvedimento,\n obj.sottotitolo\n ])\n )\n }>\n \"Scarica\n \n\n ({\n cell1: titolo,\n cell2: dataInizioValidita,\n cell3: testo,\n cell4: testoProvvedimento,\n cell5: sottotitolo\n })\n )}>\n \"Scarica\n \n {\n const fileData = JSON.stringify(\n news.map((obj) => {\n return {\n titolo: obj.titolo,\n data: moment(obj.dataInizioValidita).format('DD/MM/YYYY'),\n descrizione: obj.testo,\n testoProvvedimento: obj.testoProvvedimento,\n testo: obj.sottotitolo\n };\n })\n );\n const blob = new Blob([fileData], { type: 'text/plain' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.download =\n 'Aggiornamenti -' +\n ' Data stampa ' +\n moment().format('DD/MM/YYYY HH:mm:ss') +\n '.json';\n link.href = url;\n link.click();\n }}>\n \"Scarica\n \n
    \n )}\n
    \n
      \n {news.map(\n ({\n titolo,\n testo,\n dataInizioValidita,\n idPromemoria,\n sottotitolo,\n testoProvvedimento,\n idProvvedimento\n }) =>\n News(\n titolo,\n testo,\n dataInizioValidita,\n sottotitolo,\n \"news-\" + idPromemoria,\n testoProvvedimento,\n idProvvedimento\n )\n )}\n
    \n {news && news.length > 0 &&\n \n Vedi tutti\n \n }\n {/* */}\n
    \n
    \n );\n}\n\nexport default News;\n","import React from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport Utils from 'utils';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction DownloadDocument({\n mainTitle,\n title,\n periodoString,\n descrizione,\n idFunzione,\n metadati,\n pData,\n disabled,\n tabIndex,\n urlPath\n}) {\n const dispatch = useDispatch();\n const history = useHistory();\n const date = moment();\n const fullDate =\n date.format('DD', { trim: false }) +\n '-' +\n date.format('MM', { trim: false }) +\n '-' +\n date.format('YYYY', { trim: false });\n let startDate = periodoString.substring(\n periodoString.indexOf(':') + 1,\n periodoString.indexOf('-')\n );\n let endDate = Utils.escapeDate(periodoString.substring(periodoString.indexOf('-') + 1));\n endDate = endDate ? endDate : moment().format('DD/MM/YYYY');\n const periodoDate = [startDate, endDate];\n return (\n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n let dtDaUp = moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD');\n dispatch(\n updateData({ dataDaUp: moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD'), dataAUp: null })\n );\n\n history(`/home/${urlPath || 'link'}?id=${idFunzione}&dateFrom=${dtDaUp}`, {\n state: {\n dataDa: pData.replaceAll('/', '-'),\n funzione: idFunzione,\n title,\n mainTitle,\n periodoDate,\n descrizione,\n metadati_val: metadati,\n showFromDate: pData?.replaceAll('/', '-') !== fullDate,\n isEditable: false,\n fromHome: true,\n homeDataPicker: pData?.replaceAll('/', '-') === fullDate ? 'al' : 'dal'\n }\n });\n }}\n onKeyPress={(event) => {\n if (event.key === 'Enter') {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n let dtDaUp = moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD');\n dispatch(\n updateData({\n dataDaUp: moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD'),\n dataAUp: null\n })\n );\n\n history(`/home/${urlPath || 'link'}?id=${idFunzione}&dateFrom=${dtDaUp}`, {\n state: {\n dataDa: pData.replaceAll('/', '-'),\n funzione: idFunzione,\n title,\n mainTitle,\n periodoDate,\n descrizione,\n metadati_val: metadati,\n showFromDate: pData?.replaceAll('/', '-') !== fullDate,\n isEditable: false,\n fromHome: true,\n homeDataPicker: pData?.replaceAll('/', '-') === fullDate ? 'al' : 'dal'\n }\n });\n }\n }}\n tabIndex={tabIndex}>\n
    \n {title}\n
    \n
    \n \n {pData?.replaceAll('/', '-') === fullDate ? 'Al' : 'Dal'}:{' '}\n {' '}\n {pData}\n
    \n \n );\n}\n\nexport default DownloadDocument;\n","import React from 'react';\nimport { Spin } from 'antd';\n\nfunction Loading({ fullPage = false, flex = false }) {\n return (\n \n \n \n );\n}\n\nexport default Loading;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\nconst baseUrlDownload = 'Report/DownloadByUrl';\n\nconst DownloadService = {\n getAreas: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'area_dwn_type_web_lov' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getMacro: (categoria) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `area_dwn_type_macrotema_web?ptipodwnl=${categoria}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getAreaDetails: (tipoDownload, macro) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `area_dwn_type_tema_web?ptipodwnl=${tipoDownload}&pmacrotema=${macro}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getPeriods: (tipoDownload, macro, tema) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `area_dwn_type_file_web?ptipodwnl=${tipoDownload}&pmacrotema=${macro}&ptema=${tema}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getReportEvidenza: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'homepage_report_evidenza' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getReportConsultati: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'homepage_report_consultati' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getGeneratedFileParams: (format, date, funzione) => {\n let url;\n if (date[1] === undefined) {\n url = `reportspooldownload?pfun=${funzione}&haRuolo&pdata=${date[0]}&poffset=&pnext=&p_filter_field=&p_filter_value=&pdoctype=${format}`;\n } else {\n url = `reportspooldownload?pfun=${funzione}&haRuolo&pdatada=${date[0]}&pdataa=${date[1]}&poffset=1&pnext=100&p_filter_field=&p_filter_value=&p_orderby_field=&p_orderby_direct=&pdoctype=${format}`;\n }\n\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getGeneratedFileParamsTable: (format, data, funzione, filtri, ordine) => {\n const url = `reportspooldownload?pfun=${funzione}&prole=1&pdata=${data}&poffset=&pnext=&p_filter_field=${filtri[0]}&p_filter_value=${filtri[1]}&p_orderby_field=${ordine[0]}&p_orderby_direct=${ordine[1]}&pdoctype=${format}`;\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n downloadFile: (param) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: param },\n null,\n 'get_file',\n '/api/' + baseUrlDownload,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\nexport default DownloadService;\n","import { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport Shortcut from 'components/Shortcut';\nimport { Row, Col } from 'antd';\nimport News from 'components/News';\nimport DownloadDocument from 'components/DownloadDocument';\nimport Loading from 'components/loading';\nimport DownloadService from 'services/download';\n\nconst Home = ({ isMobile }) => {\n const [repConsultati, setRepConsultati] = useState([]);\n const [repEvidenziati, setRepEvidenziati] = useState([]);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n document.title = 'Home - SITUAS';\n getRepConsultati();\n }, []);\n\n const getRepConsultati = async () => {\n try {\n Promise.all([\n DownloadService.getReportConsultati(),\n DownloadService.getReportEvidenza()\n ]).then((onfulfilled) => {\n setLoading(false);\n setRepConsultati(onfulfilled[0].data?.items ? onfulfilled[0].data.items : []);\n setRepEvidenziati(onfulfilled[1].data?.items ? onfulfilled[1].data.items : []);\n });\n } catch (error) {\n setLoading(false);\n }\n };\n\n return (\n <>\n {loading && }\n \n \n \n \n \n \n \n \n \n \n {/* FASE 3 - BOX OSCURATO\n \n \n \n */}\n \n
    \n \n
    \n \n \n

    Link

    \n \n \n

    \n In evidenza\n

    \n {repEvidenziati.map((report, index) => (\n \n ))}\n \n \n

    \n I più consultati\n

    \n {repConsultati.map((report, index) => (\n \n ))}\n \n
    \n \n
    \n \n );\n};\n\nexport default Home;\n","import BaseRequest from '../_baseRequest';\nimport { getLanguage } from 'components/langSelector/LangSelector';\nconst baseUrl = 'Report';\nconst baseUrlSecond = 'Report/ReportByUrl';\nconst language = getLanguage();\nconst TerritoryService = {\n ambitiGeografici: () => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n '/api/' + baseUrl + '/AmbitiGeografici' + '?plang=' + language,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n unitaAmministrative: (data, ambito, pTab, dataA) => {\n const req = new BaseRequest();\n\n let param = '';\n if (dataA) {\n param = '?dataA=' + dataA;\n }\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n '/api/' + baseUrl + '/UnitaAmministrative/' + data + '/' + ambito + '/' + pTab + param,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n ambitoUA: (data, unita, ambito, ptab, dataA) => {\n const req = new BaseRequest();\n\n let dataInizio = 'pdata=' + data;\n let dataFine = '';\n if (dataA) {\n dataFine = '&pdataa=' + dataA;\n dataInizio = 'pdatada=' + data;\n }\n\n const url =\n //&plang=EN\n `anagrafica_report_ambito_ua?${dataInizio}&haRuolo&pambito=${ambito}&ptab=${ptab}&punitamm=${unita}${dataFine}&plang=${language}`;\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrlSecond,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n header: (data, funzione) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n '/api/' + baseUrl + '/Header/' + data + '/' + funzione,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n types: (data, funzione) => {\n let url;\n const req = new BaseRequest();\n if (data[1] === undefined) {\n url = `anagrafica_report_metadato?pfun=${funzione}&haRuolo&pdata=${data[0]}&plang=${language}`;\n } else {\n url = `anagrafica_report_metadato?pfun=${funzione}&haRuolo&pdatada=${data[0]}&pdataa=${data[1]}&plang=${language}`;\n }\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrlSecond,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n spool: (data, funzione, params = {}, sortParams) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n params,\n sortParams,\n null,\n 'post',\n '/api/' + baseUrl + '/Spool/' + data + '/' + funzione,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default TerritoryService;\n","import React, { Children } from 'react';\nimport Table from 'react-bootstrap/Table';\nimport qs from 'qs';\nimport { useEffect, useState } from 'react';\nimport '../../css/_reportTable.scss';\nimport ReportFilter from './reportFilter';\nimport Loading from 'components/loading';\nimport { Pagination, Spin } from 'antd';\n\nconst ReportTable = ({ columns, dataSource, loading, pagination }) => {\n return (\n <>\n \n
    \n {/* {loading ? : ''} */}\n \n \n \n {columns.map((column) => (\n \n ))}\n \n \n \n {dataSource.map((e) => {\n delete e.key;\n const cells = Object.keys(e).map((key) => {\n return ;\n });\n return {cells};\n })}\n \n
    \n
    \n \n
    \n
    {column.titleName}
    \n
    {e[key]}
    \n
    \n {pagination && }\n
    \n \n );\n};\n\nexport default ReportTable;\n","import { useEffect, useCallback, useState } from 'react';\nimport { Modal, Typography, Button } from 'antd';\nimport TerritoryService from 'services/territorio';\nimport CsvDownloader from 'react-csv-downloader';\nimport xlsIcon from 'assets/img/formats/xls.png';\nimport pdfIcon from 'assets/img/formats/pdf.png';\nimport csvIcon from 'assets/img/formats/csv.png';\nimport jsonIcon from 'assets/img/formats/json.png';\nimport Utils from 'utils';\nimport moment from 'moment';\nimport {\n faFilePdf,\n faFileExcel,\n faFileCode,\n faFileLines\n} from '@fortawesome/free-regular-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport '../../css/_reportHead.scss';\nconst { Title } = Typography;\nfunction ReportHead({ date, headerFunction, setLoading, setHeaderFunction }) {\n const [visibleDetails, setVisibleDetails] = useState(false);\n const [visibleVariables, setVisibleVariables] = useState(false);\n\n const downloadHeaders = [\"Variabile\", \"Descrizione\", \"Note\", \"Fonte\", \"Link\"];\n\n const fetchHeader = async (date, funzione) => {\n return await TerritoryService.header(date, funzione);\n };\n\n const headerVariables = useCallback(\n (formattedData) => {\n return (\n <>\n
    \n \n }\n onClick={() =>\n Utils.exportPDF(\n 'Legenda ' +\n headerFunction.titolo_report +\n ' Data stampa ' +\n moment().format('DD/MM/YYYY'),\n [\n { title: downloadHeaders[0] },\n { title: downloadHeaders[1] },\n { title: downloadHeaders[2] },\n { title: downloadHeaders[3] },\n { title: downloadHeaders[4] },\n ],\n formattedData.map((obj) => [obj.variabile, obj.note, obj.guida, obj.fonte, obj.link]),\n 'portrait'\n )\n }>\n \n }\n onClick={() =>\n Utils.exportXLSX(\n 'Legenda report ' +\n headerFunction.titolo_report +\n ' Data stampa ' +\n moment().format('DD/MM/YYYY'),\n downloadHeaders,\n formattedData.map(({ note, variabile, guida, fonte, link }) => ({\n variabile,\n guida,\n note,\n fonte,\n link\n }))\n )\n }>\n ({\n cell1: variabile,\n cell2: guida,\n cell3: note,\n cell4: fonte,\n cell5: link\n }))}>\n \n }>\n \n \n }\n onClick={() => {\n const fileData = JSON.stringify(formattedData);\n const blob = new Blob([fileData], { type: 'text/plain' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.download =\n 'Legenda report ' +\n headerFunction.titolo_report +\n moment().format('DD_MM_YYYY HHmmss') +\n '.json';\n link.href = url;\n link.click();\n }}>\n
    \n
    {headerFunction?.descrizione_report}
    \n \n \n );\n },\n [headerFunction, visibleDetails]\n );\n\n useEffect(() => {\n let unmounted = false;\n if (headerFunction && !unmounted) {\n setLoading(true);\n fetchHeader(date?.replaceAll('/', '-'), headerFunction.id_funzione)\n .then(({ data }) => {\n const labelArray = data.label.split('§');\n const formattedData = labelArray.map((label, i) => {\n const fonte = data.fonte.split('§')[i].trim();\n const guida = data.guida.split('§')[i].trim();\n const link = data.link.split('§')[i].trim();\n const note = data.note.split('§')[i].trim();\n const obj = { variabile: label.trim(), note, link, guida, fonte };\n return obj;\n });\n setLoading(false);\n const titleFinish = (\n {headerFunction.titolo_report}\n );\n Modal.info({\n tabIndex: -1,\n title: titleFinish,\n closable: true,\n visible: visibleVariables,\n centered: true,\n autoFocusButton: null,\n width: 800,\n onCancel: () => {\n setVisibleVariables(false);\n setHeaderFunction();\n },\n content: headerVariables(formattedData),\n okButtonProps: {\n style: { backgroundColor: '#426F80', border: 0, borderRadius: '5px' },\n },\n okText: 'Chiudi',\n onOk: () => {\n setVisibleVariables(false);\n setHeaderFunction();\n }\n });\n })\n .catch(() => setLoading(false));\n }\n\n return () => {\n unmounted = true;\n };\n }, [headerFunction, date, visibleVariables, headerVariables, setHeaderFunction, setLoading]);\n\n const detailContent = (obj) => (\n
    \n
    \n
    Variabile
    \n
    {obj.variabile}
    \n
    \n
    \n
    Note
    \n
    {obj.note}
    \n
    \n
    \n
    Fonte
    \n
    {obj.fonte}
    \n
    \n
    \n
    Link
    \n
    {obj.link ? obj.link : 'Non presente'}
    \n
    \n
    \n );\n\n return <>;\n}\n\nexport default ReportHead;\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_SpoolData = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'post',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SPOOL_DATA}${urlExtension}`,\n headers: {},\n data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useSpoolData = () => {\n const defaultData = {\n label: [],\n body: [],\n totalRows: 0,\n colNames: [],\n formatMasks: [],\n types: []\n };\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(defaultData);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_SpoolData(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n /* throw e; */\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(defaultData);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useSpoolData;\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetAutocomplete = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'post',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SPOOL_DATA}${urlExtension}`,\n headers: {},\n data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetAutocomplete = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetAutocomplete(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetAutocomplete;\n","import axios from 'axios';\nimport Utils from 'utils';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetReportDownload = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'post',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SPOOL_DATA}${urlExtension}`,\n headers: {\n accept: 'text/plain',\n 'Content-Type': 'application/json-patch+json'\n },\n responseType: 'blob',\n data\n };\n const response = await axios(config);\n let responseData = response.data;\n const filename = Utils.getFileNameFromHeader(response.headers[\"content-disposition\"]);\n responseData.filename = filename;\n // add transformers here if needed\n const transformedData = responseData?.size ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetReportDownload = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetReportDownload(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetReportDownload;\n","export const downloadFile = (fileContent, fileName, mimeType) => {\n const url = window.URL.createObjectURL(new Blob([fileContent]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName); // Set the desired filename and extension\n document.body.appendChild(link);\n link.click();\n link.remove();\n};\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetFunzione = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_FUNZIONE}${urlExtension}`,\n headers: {},\n params: data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetFunzione = () => {\n const defaultData = {\n label: [],\n body: [],\n totalRows: 0,\n colNames: [],\n formatMasks: [],\n types: []\n };\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(defaultData);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetFunzione(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n /* throw e; */\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(defaultData);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetFunzione;\n","import { useEffect, useState, useCallback, useRef, useReducer } from 'react';\nimport { useLocation, useNavigate as useHistory, useSearchParams, useParams } from 'react-router-dom';\nimport ReportHead from 'components/reportHead';\nimport { AntdTableScrollXaxisTop } from 'antd-table-scroll-xaxis-top';\nimport {\n DatePicker,\n Tag,\n Pagination,\n Table,\n notification,\n AutoComplete,\n Select,\n Button,\n Spin\n} from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\nimport DownloadService from 'services/download';\nimport { Input, Space, Empty, ConfigProvider } from 'antd';\nimport { Form } from 'react-bootstrap';\nimport moment from 'moment';\nimport Utils from 'utils';\nconst { RangePicker } = DatePicker;\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport {\n faFilePdf,\n faFileExcel,\n faFileCode,\n faFileLines,\n faCircleQuestion\n} from '@fortawesome/free-regular-svg-icons';\nimport {\n faCircleInfo,\n faArrowDownAZ,\n faArrowDownZA,\n faArrowDown91,\n faArrowUp19,\n faArrowDown19\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport './newReportCompiler.scss';\nimport { useSpoolData } from '../../services/SpoolData';\nimport { useGetAutocomplete } from '../../services/GetAutocomplete';\nimport { useGetReportDownload } from '../../services/GetReportDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport IsMobile from 'components/IsMobile/IsMobile';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\nimport { useGetFunzione } from '../../services/GetFunzione';\nimport { getLanguage } from '../langSelector/LangSelector';\n\nconst BodyCompiler = ({ mainTitle }) => {\n const getReportDownload = useGetReportDownload();\n const getSpoolData = useSpoolData();\n const getAutocompleteData = useGetAutocomplete();\n const history = useHistory();\n const [searchParams, setSearchParams] = useSearchParams();\n const getFunzione = useGetFunzione();\n const language = getLanguage();\n const location = useLocation();\n const {\n state = {\n dataDa: undefined,\n dataA: undefined,\n funzione: undefined,\n title: undefined,\n periodoDate: undefined,\n mainTitle: undefined,\n percorsoBk: undefined,\n isEditable: true,\n fromHome: undefined,\n homeDataPicker: undefined,\n descrizione: undefined,\n metadati_val: undefined,\n\n caller_state: undefined\n }\n } = useLocation();\n const {\n dataDa,\n dataA,\n title,\n periodoDate,\n percorsoBk,\n isEditable,\n fromHome,\n homeDataPicker,\n descrizione,\n metadati_val,\n\n caller_state\n } = state || {};\n\n const dispatch = useDispatch();\n const LF = 'DD/MM/YYYY';\n const LF_API = 'YYYY-MM-DD';\n const [paginationHelper, setPaginationHelper] = useState(true);\n const [selectedPage, setSelectedPage] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [currFilterValue, setCurrFilterValue] = useState(null);\n const [currColumnSearch, setCurrColumnSearch] = useState('');\n const [currColumnValue, setCurrColumnValue] = useState('');\n const [currColumnDataIndex, setCurrColumnDataIndex] = useState('');\n\n const [tmpDates, setTmpDates] = useState({ dataDaUp: null, dataAUp: null });\n const [data, setData] = useState({ dataDaUp: null, dataAUp: null });\n const [autoData, setAutoData] = useState([]);\n const [autoDataFiltered, setAutoDataFiltered] = useState(null);\n const [autocompleteIsLoading, setAutocompleteIsLoading] = useState(true);\n const [searchIsLoading, setSearchIsLoading] = useState(false);\n const [tempDesc, setTempDesc] = useState(descrizione);\n const [tempSubTitle, setTempSubTitle] = useState(title);\n const [tempPeriodoDate, setTempPeriodoDate] = useState(periodoDate);\n const [headerFunction, setHeaderFunction] = useState();\n const [loading, setLoading] = useState(false);\n const [loadingPDF, setLoadingPDF] = useState(false);\n const [loadingXLSX, setLoadingXLSX] = useState(false);\n const [loadingCSV, setLoadingCSV] = useState(false);\n const [loadingJSON, setLoadingJSON] = useState(false);\n const [funzione, setFunzione] = useState(null);\n\n const { filters, textFilters, tableData } = useSelector(\n (reduxState) => reduxState.NewReportCompiler\n );\n\n useEffect(() => {\n setPaginationHelper(true);\n }, [paginationHelper]);\n\n //useEffect(() => {\n // GetTableData({ selectedPage });\n //}, []);\n\n useEffect(() => {\n setTempDesc(tempDesc);\n setTempSubTitle(title || tempSubTitle);\n setTempPeriodoDate(periodoDate || tempPeriodoDate);\n }, [descrizione, title, periodoDate]);\n\n const paginationChange = (pagina, pageSize) => {\n setSelectedPage(pagina);\n setPageSize(pageSize);\n };\n\n const loadFunzione = async () => {\n let pDates = { dataDaUp: null, dataAUp: null };\n if (searchParams.has('dateFrom')) {\n pDates.dataDaUp = searchParams.get('dateFrom');\n }\n\n if (searchParams.has('dateTo')) {\n pDates.dataAUp = searchParams.get('dateTo');\n }\n\n setTmpDates(() => pDates);\n setData(() => pDates);\n\n let param = {};\n if (searchParams.has('id')) {\n param.id = +searchParams.get('id');\n if (funzione?.id != param.id) {\n let res = await getFunzione.execute({\n funzione: param.id,\n plang: language,\n dateFrom: pDates.dataDaUp,\n dateTo: pDates.dataAUp\n });\n\n if (!res?.items?.length) {\n goBack();\n return;\n }\n\n res = res.items[0];\n param.loaded = true;\n param.title = res.titolo_report;\n param.funzione = param.titolo_report;\n param.periodoDate = res.periodo_dati;\n param.descrizione = res.descrizione_report;\n param.tipoAnalisiTemporale = res.tipo_analisi_temporale;\n let perDate = [];\n perDate.push(res.periodo_dati_da);\n let dtTo = moment(res.periodo_dati_a, 'DD/MM/YYYY');\n let dtNow = moment();\n if (dtTo > dtNow) {\n dtTo = dtNow;\n }\n\n perDate.push(dtTo.format('DD/MM/YYYY'));\n setTempPeriodoDate(() => perDate);\n setFunzione(() => param);\n setTempDesc(() => param.descrizione);\n setTempSubTitle(() => param.title);\n }\n } else {\n goBack();\n }\n };\n\n useEffect(async () => {\n await loadFunzione();\n }, [location]);\n\n useEffect(async () => {\n if (funzione) {\n let chkDt = checkSearchDates();\n if (chkDt) {\n setTmpDates({\n ...tmpDates,\n dataDaUp: chkDt.dataDaUp,\n dataAUp: chkDt.dataAUp\n });\n updateUrlParam(chkDt);\n } else {\n await GetTableData({ selectedPage });\n }\n }\n }, [selectedPage, pageSize, filters, textFilters.filterFields, funzione, data]);\n\n useEffect(() => {}, [data]);\n\n const checkSearchDates = () => {\n let pDates = { dataDaUp: data.dataDaUp, dataAUp: data.dataAUp };\n let hasErrors = false;\n let ret = { dateFrom: pDates.dataDaUp, dateTo: pDates.dataAUp };\n let d = pDates.dataDaUp;\n if (d) {\n d = moment(d, 'YYYY-MM-DD', true);\n if (d.isValid()) {\n if (d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n } else if (d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n } else {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n } else {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n\n d = pDates.dataAUp;\n if (d) {\n if (funzione.tipoAnalisiTemporale?.toUpperCase() == 'DATA') {\n hasErrors = true;\n ret.dateTo = null;\n } else {\n d = moment(d, 'YYYY-MM-DD', true);\n if (d.isValid()) {\n if (d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n } else if (d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n } else {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n }\n } else if (funzione.tipoAnalisiTemporale?.toUpperCase() == 'PERIODO') {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n\n if (ret.dateTo) {\n d = moment(ret.dateFrom, 'YYYY-MM-DD');\n let dTo = moment(ret.dateTo, 'YYYY-MM-DD');\n if (d.isAfter(dTo)) {\n hasErrors = true;\n ret.dateTo = ret.dateFrom;\n }\n }\n\n if (hasErrors) {\n return ret;\n }\n\n return null;\n };\n\n const GetReportDownload = async (file = null) => {\n const { dataDaUp, dataAUp } = data;\n const downloadFileData = await getReportDownload.execute(\n {\n orderFields: [],\n orderDirects: [],\n pFilterFields: textFilters.filterFields.map((field) => field.textFields),\n pFilterValues: textFilters.filterFields.map((field) => field.textValue)\n },\n `/${dataDaUp}/${funzione?.id}?${dataAUp != undefined ? `&dataA=${dataAUp}` : ``}&pdoctype=${file}`\n );\n downloadFile(downloadFileData, downloadFileData.filename ? downloadFileData.filename : `${title}.${file}`);\n };\n\n const GetAutocompleteData = async (currColumnDataIndex) => {\n setCurrColumnSearch('');\n setAutoDataFiltered(null);\n setAutoData([]);\n setSearchIsLoading(true);\n setAutocompleteIsLoading(true);\n if (currColumnDataIndex) {\n const { dataDaUp, dataAUp } = data;\n const autocompleteData = await getAutocompleteData.execute(\n {\n orderFields: [],\n orderDirects: [],\n pFilterFields: textFilters.filterFields.map((field) => field.textFields),\n pFilterValues: textFilters.filterFields.map((field) => field.textValue)\n },\n `/${dataDaUp}/${funzione?.id}?&PageNum=1&PageSize=999999${\n dataAUp != undefined ? `&dataA=${dataAUp}` : ``\n }&plovfield=${currColumnDataIndex}`\n );\n const tmpData = autocompleteData.body?.map((e, idx) => {\n return {\n value: (e[currColumnDataIndex] || e[currColumnDataIndex] == 0 ? e[currColumnDataIndex].toString() : null),\n label: (e[currColumnDataIndex] || e[currColumnDataIndex] == 0 ? e[currColumnDataIndex].toString() : null),\n key: (e[currColumnDataIndex] || e[currColumnDataIndex] == 0 ? `auto-${e[currColumnDataIndex].toString()}-${idx}` : `empty-${idx}`)\n };\n });\n setAutoData(tmpData);\n setAutocompleteIsLoading(false);\n }\n setSearchIsLoading(false);\n };\n\n const GetTableData = async ({ selectedPage }) => {\n const { dataDaUp, dataAUp } = data;\n let filteredOrderFields = [];\n let filteredOrderDirects = [];\n filters.orderDirects.forEach((value, index) => {\n if (value){\n filteredOrderFields = [...filteredOrderFields, filters.orderFields[index]];\n filteredOrderDirects = [...filteredOrderDirects, value];\n }\n });\n const table = await getSpoolData.execute(\n {\n orderFields: filteredOrderFields,\n orderDirects: filteredOrderDirects,\n pFilterFields: textFilters.filterFields.map((field) => field.textFields),\n pFilterValues: textFilters.filterFields.map((field) => field.textValue)\n },\n `/${dataDaUp}/${funzione?.id}?&PageNum=${selectedPage}&PageSize=${pageSize}${\n dataAUp != undefined ? `&dataA=${dataAUp}` : ``\n }`\n );\n dispatch(updateTableData(table));\n };\n\n const FilterColumns = async (column, keyDownEvent) => {\n if (!keyDownEvent || keyDownEvent === \"Enter\"){\n const { orderFields, orderDirects } = filters;\n let tmpOrderFields = [...orderFields];\n let tmpOrderDirects = [...orderDirects];\n const i_ = tmpOrderFields.findIndex((field) => field === column);\n // caso 0 - nuova entry -> DESC\n if (i_ === -1) {\n tmpOrderFields = [...tmpOrderFields, column];\n tmpOrderDirects = [...tmpOrderDirects, 'DESC'];\n } else {\n switch (tmpOrderDirects[i_]) {\n // caso 1 - DESC -> ASC\n case 'DESC':\n tmpOrderDirects[i_] = 'ASC';\n break;\n // caso 2 - ASC -> nessun ordinamento\n case 'ASC':\n tmpOrderDirects[i_] = '';\n break;\n // caso 3 - nessun ordinamento -> DESC \n default:\n tmpOrderDirects[i_] = 'DESC';\n break;\n }\n }\n\n dispatch(\n updateFilters({\n orderFields: tmpOrderFields,\n orderDirects: tmpOrderDirects\n })\n );\n }\n };\n\n const columns = tableData.colNames.map((column, index) => {\n return {\n title: tableData.label[index],\n dataIndex: column,\n key: column,\n filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters, close }) => <>,\n filterIcon: (filtered) => (\n {\n FilterColumns(column);\n }}\n onKeyDown={(e) => {\n FilterColumns(column, e.key);\n }}>\n \n \n ),\n align: tableData.types[index] == 'VARCHAR' ? 'Pagina precedente' : 'Pagina successiva'\n };\n });\n const selectOption = tableData.label.map((e, i) => {\n return { value: tableData.colNames[i], label: e };\n });\n\n const getIconByDataIndex = (dataIndex = '', index) => {\n const { orderFields, orderDirects } = filters;\n const i_ = orderFields?.findIndex((field) => field === dataIndex);\n\n if (orderDirects[i_] === 'ASC')\n return tableData.types[index] == 'VARCHAR' ? faArrowDownAZ : faArrowDown19;\n else return tableData.types[index] == 'VARCHAR' ? faArrowDownZA : faArrowDown91;\n };\n const getColorByActive = (dataIndex = '') => {\n const { orderFields, orderDirects } = filters;\n const i_ = orderFields.findIndex((field) => field === dataIndex);\n return orderDirects[i_] === 'DESC' || orderDirects[i_] === 'ASC' ? 'activeOrder' : 'defaultIconOrder';\n };\n\n const updateUrlParam = (nextInit) => {\n const newSearchParams = new URLSearchParams(searchParams);\n\n for (var i in nextInit) {\n if (nextInit[i] != null) {\n newSearchParams.set(i, nextInit[i]);\n } else {\n newSearchParams.delete(i);\n }\n }\n\n // Update the URL with the new search parameters\n setSearchParams(newSearchParams, { state: state });\n };\n\n const goBack = () => {\n if (!fromHome) {\n history(`${percorsoBk || '..'}`, { state: caller_state });\n } else history(`/home`);\n };\n\n const isChangingDateFilter = () => {\n const { dataDaUp, dataAUp } = tmpDates;\n return dataDaUp !== data.dataDaUp || dataAUp !== data.dataAUp;\n };\n\n return (\n \n
    \n \n \n Indietro\n \n
    \n
    \n
    \n {(mainTitle || state?.mainTitle) &&

    {mainTitle || state?.mainTitle}

    }\n
    \n
    \n {tempSubTitle &&

    {tempSubTitle}

    }\n
    \n setHeaderFunction(metadati_val ? metadati_val : {\"id_funzione\":funzione?.id, \"titolo_report\":tempSubTitle})}\n icon={}>\n {/*\n {\n setLoadingPDF(true);\n await GetReportDownload('PDF');\n setLoadingPDF(false);\n }}\n icon={}>\n */}\n {\n setLoadingXLSX(true);\n await GetReportDownload('XLSX');\n setLoadingXLSX(false);\n }}\n icon={}>\n {\n setLoadingCSV(true);\n await GetReportDownload('CSV');\n setLoadingCSV(false);\n }}\n icon={}>\n {\n setLoadingJSON(true);\n await GetReportDownload('JSON');\n setLoadingJSON(false);\n }}\n icon={}>\n
    \n
    \n {tempPeriodoDate &&

    Periodo dati: {`${tempPeriodoDate[0]} - ${tempPeriodoDate[1]}`}

    }\n
    \n {tempDesc &&

    {tempDesc}

    }\n
    \n
    \n
    \n {fromHome && homeDataPicker == 'al' ? (\n

    Al:

    \n ) : homeDataPicker == 'dal' ? (\n

    Dal:

    \n ) : (\n

    Da:

    \n )}\n \n !d ||\n d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY')) ||\n d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY')) ||\n (tmpDates.dataAUp && d.isAfter(moment(tmpDates.dataAUp, LF_API)))\n }\n onChange={(MomentObj) => {\n setTmpDates({ ...tmpDates, dataDaUp: MomentObj.format(LF_API) });\n }}\n />\n
    \n {tmpDates.dataAUp && (\n
    \n

    A:

    \n \n !d ||\n d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY')) ||\n d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY')) ||\n (tmpDates.dataDaUp && d.isBefore(moment(tmpDates.dataDaUp, LF_API)))\n }\n onChange={(MomentObj) => {\n setTmpDates({ ...tmpDates, dataAUp: MomentObj.format(LF_API) });\n }}\n />\n
    \n )}\n
    \n
    \n
    \n \n Variabile\n {\n setCurrFilterValue(getSelectValue);\n setCurrColumnValue('');\n setCurrColumnDataIndex(getSelectValue);\n GetAutocompleteData(getSelectValue);\n }}\n filterOption={(input, option) =>\n (option?.label ?? '').toLowerCase().includes(input.toLowerCase())\n }\n options={selectOption}\n disabled={isChangingDateFilter()}\n />\n \n \n Valore \n {searchIsLoading && \n \n \n \n \n \n \n \n }\n \n {\n setCurrColumnValue(obj?.value);\n }}\n onSearch={(inputValue) => {\n setCurrColumnValue(null);\n setCurrColumnSearch(inputValue);\n if (inputValue.length) {\n setAutoDataFiltered((autoData || [])\n .filter(i => i.value.toString().toUpperCase().indexOf(inputValue.toUpperCase()) !== -1)\n .map((v) => ({ label: v.label, value: v.value, key: v.key })));\n } else {\n setAutoDataFiltered(null);\n }\n }}\n />\n \n
    \n {\n const { dataDaUp, dataAUp } = tmpDates;\n setSelectedPage(1);\n setPaginationHelper(false);\n if (currFilterValue && !isChangingDateFilter()) {\n dispatch(\n updateTextFilters({\n filterFields: [\n ...textFilters.filterFields,\n {\n textFields: currColumnDataIndex,\n textValue: currColumnValue ?\n //se con valore\n typeof(currColumnValue) === \"string\" ? \n currColumnValue.replaceAll(\"'\", \"''\")\n : currColumnValue\n //se vuoto\n : \"$BLANK$\",\n i:\n textFilters.filterFields.length === 0\n ? 0\n : textFilters.filterFields.length + 1\n }\n ]\n })\n );\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n\n } else {\n if ((currFilterValue && currColumnValue) || (isChangingDateFilter())) {\n //GetTableData({ selectedPage });\n updateUrlParam({ dateFrom: dataDaUp, dateTo: dataAUp });\n } else {\n notification.open({\n message: 'Filtri non applicati',\n description:\n 'Non è disponibile nessun filtro da applicare, assicurati di aver applicato modifiche ai filtri',\n duration: 4\n });\n }\n }\n if (currFilterValue || currColumnValue) {\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n }\n }}\n htmlType=\"submit\">\n Applica\n \n
    \n
    \n
    \n {textFilters.filterFields.length > 0 && (\n <>\n

    Filtri attivi:

    \n
    \n {textFilters.filterFields.map((field, i) => {\n return (\n {\n if (e.key === \"Enter\"){\n setSelectedPage(1);\n setPaginationHelper(false);\n const tmpArr = [...textFilters.filterFields];\n tmpArr.splice(i, 1);\n dispatch(updateTextFilters({ filterFields: tmpArr }));\n if (currFilterValue || currColumnValue) {\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n }\n }\n }}\n onClose={() => {\n setSelectedPage(1);\n setPaginationHelper(false);\n const tmpArr = [...textFilters.filterFields];\n tmpArr.splice(i, 1);\n dispatch(updateTextFilters({ filterFields: tmpArr }));\n if (currFilterValue || currColumnValue) {\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n }\n }}\n >\n {`${tableData.label[tableData.colNames.indexOf(`${field.textFields}`)]}:`} \n {`${Utils.truncateEllipsis(field.textValue === \"$BLANK$\" ? \"Non disponibile\" : field.textValue)}`}\n \n \n );\n })}\n
    \n \n )}\n
    \n\n
    \n {tableData && paginationHelper && (\n <>\n
    \n (\n \n )}>\n \n ({\n ...row,\n key: `${i}`\n }))}\n scroll={{ x: true }}\n pagination={{\n total: tableData.totalRows,\n defaultCurrent: 1,\n onChange: paginationChange,\n showTotal: (total, range) => {\n return `${range[0]}-${range[1]} di ${total}`;\n },\n }}\n />\n \n \n
    \n \n )}\n
    \n \n
    \n );\n};\n\nexport default BodyCompiler;\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetAggiornamenti = async (urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_AGGIORNAMENTI}${urlExtension}`,\n headers: {}\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetAggiornamenti = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetAggiornamenti(urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetAggiornamenti;\n","import axios from 'axios';\nimport Utils from 'utils';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetAggiornamentiDownload = async (urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_AGGIORNAMENTI_DOWNLOAD}`,\n headers: {\n accept: 'text/plain',\n 'Content-Type': 'application/json-patch+json'\n },\n responseType: 'blob'\n };\n const response = await axios(config);\n const responseData = response.data;\n const filename = Utils.getFileNameFromHeader(response.headers[\"content-disposition\"]);\n responseData.filename = filename;\n // add transformers here if needed\n const transformedData = responseData?.size ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetAggiornamentiDownload = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async () => {\n try {\n setIsLoading(true);\n const responseData = await call_GetAggiornamentiDownload();\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetAggiornamentiDownload;\n","/** @format */\n\nimport { useState, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { faFileExcel } from '@fortawesome/free-regular-svg-icons';\nimport moment from 'moment';\nimport {\n faArrowRightArrowLeft,\n faArrowDownAZ,\n faArrowDownZA,\n faCircleInfo\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport './aggiornamentiTable.scss';\nimport { useGetAggiornamenti } from 'services/GetAggiornamenti';\nimport { Table, Button, Tooltip, Modal } from 'antd';\nimport { useGetAggiornamentiDownload } from 'services/GetAggiornamentiDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nconst AggiornamentiTable = () => {\n const dispatch = useDispatch();\n const history = useHistory();\n const getAggiornamenti = useGetAggiornamenti();\n const getAggiornamentiDownload = useGetAggiornamentiDownload();\n const [tableData, setTableData] = useState();\n const [pageSize, setPageSize] = useState(9999);\n const [pageNum, setPageNum] = useState(1);\n useEffect(async () => {\n await GetAggiornamenti(pageNum, pageSize);\n }, [pageNum, pageSize]);\n\n const GetAggiornamenti = async (num, size) => {\n let currDate = moment().format('YYYY-MM-DD');\n const aggData = await getAggiornamenti.execute(\n `?PageNum=${num}&PageSize=${size}&flagDiffusione=1&dateTime=${currDate}`\n );\n setTableData(aggData);\n };\n\n const columns = [\n {\n title: 'Evento',\n key: 'Evento',\n dataIndex: 'titolo',\n render: (titolo) => (\n
    \n {titolo}\n
    \n )\n },\n {\n title: 'Descrizione',\n key: 'Descrizione',\n dataIndex: 'testo',\n render: (testo) => (\n
    \n {\n Modal.info({\n title: 'Testo',\n autoFocusButton: null,\n okButtonProps: {\n style: { backgroundColor: '#426F80', border: 0, borderRadius: '5px' }\n },\n content: (\n
    \n {testo}\n
    \n ),\n onOk() {}\n });\n }}>\n

    {testo}

    \n \n
    \n ),\n ellipsis: {\n showTitle: false\n },\n },\n {\n title: 'Note',\n key: 'Note',\n dataIndex: 'sottotitolo'\n },\n {\n title: 'Data Pubblicazione',\n key: 'Data Pubblicazione',\n dataIndex: 'dataInizioValidita'\n }\n // {\n // title: 'Data fine evento',\n // key: 'Data fine evento',\n // dataIndex: 'dataFineValidita'\n // },\n // {\n // title: 'Data decorrenza evento',\n // key: 'Data decorrenza evento',\n // dataIndex: 'dataProvvedimento'\n // }\n ];\n const data = tableData?.body.map((aggiornamento, i) => {\n const provvedimento = aggiornamento.testoProvvedimento?.split(`\\n`);\n return {\n key: i,\n titolo: aggiornamento.titolo,\n sottotitolo: aggiornamento.sottotitolo,\n testo: aggiornamento.testo,\n dataInizioValidita: moment(aggiornamento.dataInizioValidita).format('DD/MM/YYYY'),\n dataFineValidita: moment(aggiornamento.dataFineValidita).format('DD/MM/YYYY'),\n idProvvedimento: aggiornamento.idProvvedimento,\n testoProvvedimento: provvedimento ? provvedimento[1].replace('Testo:', '') : '',\n dataProvvedimento: provvedimento ? provvedimento[0].substring(24, 34) : ''\n };\n });\n\n const DownloadAggiornamenti = async () => {\n const file = await getAggiornamentiDownload.execute();\n downloadFile(file, file.filename ? file.filename + '.xlsx' : 'aggiornamenti.xlsx');\n };\n return (\n <>\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n
    \n
    \n
    \n

    Aggiornamenti

    \n
    \n }\n aria-label=\"Scarica aggiornamenti in excel\"\n onClick={() => {\n DownloadAggiornamenti();\n }}>\n
    \n
    \n {/* */}\n \n
    \n \n );\n};\n\nexport default AggiornamentiTable;\n","import {\n Routes as Switch,\n Route,\n useMatch as useRouteMatch,\n Navigate as Redirect,\n Outlet\n} from 'react-router-dom';\nimport Home from './main';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nimport { AggiornamentiTable } from 'components/aggiornamentiTable';\nconst HomeIndex = () => {\n const path = '';\n return (\n \n } />\n {/*} />*/}\n } />\n } />\n } />\n }\n />\n } />\n \n );\n};\n\nexport default HomeIndex;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report';\n\nconst GlossaryService = {\n glossary: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n '/api/' + baseUrl + '/Glossario',\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default GlossaryService;\n","import axios from 'axios';\nimport Utils from 'utils';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetGlossarioDownload = async (urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_GLOSSARIO_DOWNLOAD}${urlExtension}`,\n headers: {\n accept: 'text/plain',\n 'Content-Type': 'application/json-patch+json'\n },\n responseType: 'blob'\n };\n const response = await axios(config);\n let responseData = response.data;\n const filename = Utils.getFileNameFromHeader(response.headers[\"content-disposition\"]);\n responseData.filename = filename;\n\n // add transformers here if needed\n const transformedData = responseData?.size ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetGlossarioDownload = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetGlossarioDownload(urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetGlossarioDownload;\n","/* eslint-disable react/jsx-key */\nimport { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Row, Col, Divider, Collapse, Button } from 'antd';\nimport { Input } from 'antd';\nimport { SearchOutlined, PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons';\nimport GlossaryService from 'services/glossary';\nimport Loading from 'components/loading';\nimport Form from 'react-bootstrap/Form';\nimport { useGetGlossarioDownload } from 'services/GetGlossarioDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport { faFileExcel } from '@fortawesome/free-regular-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst { Panel } = Collapse;\n\nfunction Glossary({ isMobile }) {\n\n const getGlossarioDownlaod = useGetGlossarioDownload();\n\n const { t } = useTranslation();\n const letters = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'X',\n 'Y',\n 'W',\n 'Z'\n ];\n let selectedLetter = 'AZ';\n let searchString = null;\n const [inputValue, setInputValue] = useState(null);\n const [getDisable, setGetDisable] = useState(true);\n const [loading, setLoading] = useState(false);\n const [glossary, setGlossary] = useState([]);\n const [filteredGlossary, setFilteredGlossary] = useState([]);\n const [titleSearch, setTitleSearch] = useState();\n const [downloadLetter, setDownloadLetter] = useState('AZ');\n\n function handleKeyDown(event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n const stringa = document.getElementsByName('lemma')[0].value.toLowerCase();\n searchString = stringa === '' ? null : stringa;\n fetchDataGlossary(searchString);\n }\n }\n\n const fetchDataGlossary = (word, letter = undefined) => {\n const selectByString = glossary.filter((obj) => {\n if (obj.nome.toLowerCase().includes(searchString)) {\n return true;\n } else {\n return false;\n }\n });\n const markedSelectByString = selectByString.map((obj) => {\n const markedNome = obj.nome.replace(new RegExp(word, 'gi'), `${word}`);\n return { ...obj, nome: markedNome };\n });\n if (searchString?.trim().length > 0) {\n setFilteredGlossary(markedSelectByString);\n setTitleSearch(`Risultati filtrati per: ${word}`);\n } else {\n searchString = null;\n if (letter == 'AZ') {\n setTitleSearch(`${word}`);\n setFilteredGlossary(glossary);\n } else {\n setFilteredGlossary(glossary.filter((obj) => obj.nome[0] === letter));\n setTitleSearch(`Risultati filtrati per lettera: ${word}`);\n }\n }\n };\n\n const fetchGlossary = async () => {\n return await GlossaryService.glossary();\n };\n\n useEffect(async () => { \n document.title = 'Glossario - SITUAS';\n setLoading(true);\n await fetchGlossary()\n .then(({ data }) => {\n setGlossary(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }, []);\n useEffect(() => {\n if (inputValue === null) {\n setGetDisable(true);\n }\n }, [inputValue]);\n\n useEffect(() => {\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n }, [glossary]);\n\n const DownloadGlossario = async () => {\n const file = await getGlossarioDownlaod.execute(\n `${downloadLetter != 'AZ' ? `?pfilter=${downloadLetter}` : ''}`\n );\n downloadFile(file, file.filename ? file.filename : `glossario ${downloadLetter}.xlsx`);\n };\n\n return (\n <>\n \n \n {loading && }\n \n

    Criteri di ricerca

    \n
    \n Indice alfabetico\n
    \n
    \n
      \n {glossary.length > 0 &&\n letters.map((letter) => (\n
    • \n obj.nome[0] === letter).length > 0}\n onClick={() => {\n selectedLetter = letter;\n fetchDataGlossary(letter, letter);\n setDownloadLetter(letter);\n }}\n key={letter}>\n {letter}\n \n
    • \n ))}\n
    • \n {\n searchString = null;\n selectedLetter = 'AZ';\n setDownloadLetter('AZ');\n fetchDataGlossary('Tutte le definizioni', selectedLetter);\n }}\n key={'AZ'}>\n A-Z\n \n
    • \n

      \n Seleziona una lettera per filtrare i lemmi del glossario\n

      \n
    \n\n \n \n \n Cerca nei lemmi\n \n {\n setInputValue(e.target.value);\n searchString = inputValue?.toLowerCase();\n if (e.target.value != '') {\n setGetDisable(false);\n } else {\n setGetDisable(true);\n }\n }}\n onKeyDown={handleKeyDown}\n onFocus={() => {\n if (!inputValue) {\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n }\n }}\n className=\"glossary-search mb-3\"\n placeholder=\"Cerca\"\n prefix={}\n name=\"lemma\"\n id=\"cerca\"\n />\n {\n const stringa = document.getElementsByName('lemma')[0].value.toLowerCase();\n searchString = stringa === '' ? null : stringa;\n fetchDataGlossary(searchString);\n setDownloadLetter('AZ');\n }}>\n Cerca\n \n {\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n setInputValue(null);\n }}>\n Annulla\n \n \n \n \n\n
    \n {/* \n {\n DownloadGlossario();\n }}\n onKeyDown={(e)=> {\n if (e.key === \"Enter\"){\n DownloadGlossario();\n }\n }}>\n {}\n \n */}\n

    {t('glossario.title')}

    \n\n \n
    {t('glossario.subtitle')}
    \n {!loading &&

    {titleSearch}

    }\n
    0 ? 'none' : 'block' }}>\n Nessun risultato trovato.\n
    \n
    \n 8 ? 'scroll' : 'hidden'}}*/\n style={{ display:'contents' }}\n expandIcon={({ isActive }) =>\n !isActive ? (\n \n ) : (\n \n )\n }\n className=\"elements-container\">\n {filteredGlossary.map((obj) => (\n \n }\n key={obj.nome}>\n
    \n {obj.descrizione}\n \n
    \n Fonte:\n \n {' ' + obj.fonte}\n \n {obj.links?.length > 0 &&\n
    \n {obj.links.map((item, i) => (\n \n ))}\n
    \n }\n
    \n
    \n \n ))}\n \n
    \n \n \n \n );\n}\nexport default Glossary;\n","import React from 'react';\nimport './TabSkip.scss';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nconst TabSkip = () => {\n return (\n
    \n \n Vai al contenuto della pagina\n \n
    \n );\n};\n\nexport default TabSkip;\n","import { useEffect, useState, useRef } from 'react';\nimport { Row, Col, DatePicker, Checkbox, Divider } from 'antd';\nimport moment from 'moment';\nimport { useNavigate as useHistory, useLocation, useMatch as useRouteMatch } from 'react-router-dom';\nimport { WarningFilled, InfoCircleFilled, TableOutlined } from '@ant-design/icons';\nimport TerritoryService from 'services/territorio';\nimport Loading from 'components/loading';\nimport 'jspdf-autotable';\nimport ReportHead from 'components/reportHead';\nimport Form from 'react-bootstrap/Form';\nimport Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\nimport TabSkip from 'services/TabSkip/TabSkip';\n\nfunction Head() {\n const mainTitle = 'Variazioni unità territoriali';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n\n const dispatch = useDispatch();\n const {\n state = {\n loading: undefined,\n ambitiGeografici: undefined,\n unitaAmministrative: undefined,\n ambitoUA: undefined,\n checkedAmbitoGeografico: undefined,\n checkedUnitaAmministrativa: undefined,\n headerFunction: undefined,\n date: undefined,\n dateEnd: undefined,\n showZeroReports: undefined,\n showNextStep: undefined,\n stateApplied: undefined,\n showDateError: undefined\n }\n } = useLocation();\n\n const [loading, setLoading] = useState(state?.loading || false);\n const [ambitiGeografici, setAmbitiGeografici] = useState(state?.ambitiGeografici || []);\n const [unitaAmministrative, setUnitaAmministrative] = useState(state?.unitaAmministrative || []);\n const [ambitoUA, setAmbitoUA] = useState(state?.ambitoUA || null);\n const [checkedAmbitoGeografico, setCheckedAmbitoGeografico] = useState(state?.checkedAmbitoGeografico);\n const [checkedUnitaAmministrativa, setCheckedUnitaAmministrativa] = useState(state?.checkedUnitaAmministrativa);\n const [headerFunction, setHeaderFunction] = useState(state?.headerFunction || null);\n const [date, setDate] = useState(state?.date || null);\n const [dateEnd, setDateEnd] = useState(state?.dateEnd || null);\n const [showZeroReports, setShowZeroReports] = useState(state?.showZeroReports || false);\n const [showNextStep, setShowNextStep] = useState(state?.showNextStep || false);\n const [stateApplied, setStateApplied] = useState(state?.stateApplied || false);\n const [showDateError, setShowDateError] = useState(state?.showDateError || false);\n\n const history = useHistory();\n const location = useLocation();\n\n const snapshot = () => {\n return {\n loading,\n ambitiGeografici,\n unitaAmministrative,\n ambitoUA,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n headerFunction,\n date,\n dateEnd,\n showZeroReports,\n showNextStep,\n stateApplied,\n showDateError\n };\n };\n\n const fetchAmbitiGeografici = async () => {\n let ret = await TerritoryService.ambitiGeografici();\n ret.data = ret.data.filter((i) => i.value?.toLowerCase() != 'paesi esteri' && i.value?.toLowerCase() != 'unità statistiche'); // Placeholder CABLATURA\n return ret;\n };\n\n const fetchUnitaAmministrative = async (data, dataA, ambito) => {\n return await TerritoryService.unitaAmministrative(data, ambito, 'PERIODO', dataA);\n };\n\n const fetchAmbitoUA = async (data, unita, ambito, dataA) => {\n return await TerritoryService.ambitoUA(data, unita, ambito, 'PERIODO', dataA);\n };\n\n const isComingBack = () => {\n return firstLoad.current && location.state;\n };\n\n useEffect(() => {\n document.title = 'Variazioni delle unità territoriali - SITUAS';\n });\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (\n date &&\n ambitiGeografici &&\n checkedAmbitoGeografico &&\n unitaAmministrative &&\n checkedUnitaAmministrativa &&\n ambitoUA\n ) {\n setStateApplied(true);\n }\n }, [\n date,\n dateEnd,\n ambitiGeografici,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA\n ]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n const checkData = () => {\n const { state } = location;\n if (!state) {\n setLoading(true);\n //setDate(moment().subtract(1, 'd').format('DD-MM-YYYY'));\n setDate(moment('17-03-1861', 'DD-MM-YYYY').format('DD-MM-YYYY'));\n setDateEnd(moment().format('DD-MM-YYYY'));\n\n fetchAmbitiGeografici()\n .then(({ data }) => {\n setAmbitiGeografici(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n setStateApplied(true);\n return () => setAmbitiGeografici([]);\n } else {\n const {\n date,\n dateEnd,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n unitaAmministrative,\n ambitoUA,\n ambitiGeografici\n } = state;\n setDate(date);\n setDateEnd(dateEnd);\n setAmbitiGeografici(ambitiGeografici);\n setCheckedAmbitoGeografico(checkedAmbitoGeografico);\n setUnitaAmministrative(unitaAmministrative);\n setCheckedUnitaAmministrativa(checkedUnitaAmministrativa);\n setAmbitoUA(ambitoUA);\n }\n };\n checkData();\n return () => checkData();\n }, []);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setAmbitoUA([]);\n setCheckedUnitaAmministrativa();\n if (date && dateEnd && checkedAmbitoGeografico) {\n\n setLoading(true);\n fetchUnitaAmministrative(date, dateEnd, checkedAmbitoGeografico.key)\n .then(({ data }) => {\n if (data.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n setShowNextStep(true);\n }\n setUnitaAmministrative(data);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setUnitaAmministrative([]);\n setAmbitoUA();\n }\n }\n if (date && dateEnd) {\n dispatch(\n updateData({\n dataDaUp: moment(date, 'DD-MM-YYYY').format('YYYY-MM-DD'),\n dataAUp: moment(dateEnd, 'DD-MM-YYYY').format('YYYY-MM-DD')\n })\n );\n }\n }, [date, checkedAmbitoGeografico, dateEnd]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n if (checkedUnitaAmministrativa && checkedAmbitoGeografico) {\n setShowNextStep(false);\n setLoading(true);\n fetchAmbitoUA(date, checkedUnitaAmministrativa.key, checkedAmbitoGeografico.key, dateEnd)\n .then(({ data }) => {\n if (data.items?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n }\n setAmbitoUA(data.items);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setShowNextStep(true);\n setAmbitoUA();\n }\n }\n }, [\n checkedUnitaAmministrativa,\n date,\n ambitiGeografici,\n checkedAmbitoGeografico,\n dateEnd,\n unitaAmministrative\n ]);\n\n // Leave as last call\n useEffect(() => {\n firstLoad.current = false;\n }, []);\n\n return (\n <>\n \n
    \n \n

    Variazioni delle unità territoriali

    \n {/* */}\n \n \n \n \n {loading && }\n
    \n

    Criteri di ricerca {showDateError && (*)}

    \n
    \n {showDateError && (\n <>\n
    \n

    Data inizio non può essere più recente di data fine.

    \n
    \n
    \n

    Date selezionate non compatibili con periodo di disponibilità.

    \n
    \n \n )}\n
    \n
    \n \n Data inizio periodo\n \n
    \n \n !d || d.isAfter(moment()) || d.isBefore(moment('17/03/1861', 'DD/MM/YYYY'))\n }\n onChange={(firstDate) => {\n const end = moment(dateEnd, 'DD-MM-YYYY');\n const start = moment(firstDate);\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (start.diff(end) > 0 || oldest.diff(start) > 0 || today.diff(start) < 0) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(firstDate);\n setShowDateError(false);\n setDate(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataDaUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n \n Compilare il campo utilizzando il formato data: giorno, 2 caratteri, / mese, 2 caratteri, / anno, 4 caratteri.\n \n\n
    \n \n Data fine periodo\n \n
    \n \n !d || d.isBefore(moment(date).format('DD/MM/YYYY')) || d.isAfter(moment())\n }\n onChange={(secDate) => {\n const dateEnd = moment(secDate);\n const dateStart = moment(date, 'DD-MM-YYYY');\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (\n dateStart.diff(dateEnd) > 0 ||\n oldest.diff(dateEnd) > 0 ||\n today.diff(dateEnd) < 0\n ) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(secDate);\n setShowDateError(false);\n setDateEnd(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataAUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n \n Compilare il campo utilizzando il formato data: giorno, 2 caratteri, / mese, 2 caratteri, / anno, 4 caratteri.\n \n
    \n {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Seleziona {checkedAmbitoGeografico.value}}\n {checkedUnitaAmministrativa && <>Seleziona {checkedUnitaAmministrativa.value}}\n
    \n
    \n
    \n {ambitiGeografici.length > 0 && !showDateError && (\n Ambiti geografici\n )}\n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n {!showDateError &&\n ambitiGeografici.map((ambito, index) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n label={}\n />\n
    \n ))}\n
    \n
    \n
    \n
    \n {!showDateError && unitaAmministrative.length > 0 && (\n \n {checkedAmbitoGeografico?.value}\n \n )}\n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n {!showDateError &&\n unitaAmministrative.map((ua, index) => (\n
    \n {ua.value}}\n checked={ua.key === checkedUnitaAmministrativa?.key ? true : false}\n onChange={(e) => {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\n />\n
    \n ))}\n
    \n
    \n \n \n
    \n \n {checkedAmbitoGeografico &&\n showNextStep &&\n unitaAmministrative.length > 0 &&\n ambitoUA?.length === 0 && (\n
    \n <>\n
    \n Si prega di selezionare 1 {checkedAmbitoGeografico.value}\n
    \n \n
    \n )}\n {!checkedUnitaAmministrativa && (\n
    \n Dopo aver selezionato il periodo di interesse, l'ambito geografico e l'unità territoriale il sistema propone report per tema.\n
    \n )}\n {!checkedUnitaAmministrativa && !showZeroReports && (<>\n
    \n \n {/*
    */}\n \n \n \n \n

    Unità amministrative (Ua)

    \n
    \n \n Disponibile il seguente territorio nel periodo indicato:\n \n \n
      \n {/*
    • Compartimenti e regioni
    • */}\n {/*
    • Province e unità territoriali sovracomunali (Uts)
    • */}\n
    • Comuni dal 1861
    • \n
    \n
    \n
    \n
    \n \n {/**/}\n {/* Placeholder CABLATURA*/}\n {/* */}\n {/* */}\n {/*

    Paesi esteri

    */}\n {/*
    */}\n {/* Liste consultabili a partire dal 1900*/}\n {/*
    */}\n {/*
    */}\n {/* */}\n {/* */}\n {/* */}\n {/*

    Unità statistiche (Us)

    */}\n {/*
    */}\n {/* */}\n {/* Disponibili i seguenti territori per i periodi riportati:*/}\n {/* */}\n {/* */}\n {/*
      */}\n {/*
    • */}\n {/* NUTS - Nomenclatura delle unità territoriali statistiche, dal 2006*/}\n {/*
    • */}\n {/*
    • SLL - Sistemi locali del lavoro, dal 2001
    • */}\n {/*
    • FUA - Zone urbane funzionali, dal 2011
    • */}\n {/*
    */}\n {/*
    */}\n {/*
    */}\n {/*
    */}\n {/**/}\n \n \n
    \n Nei prossimi rilasci del Portale la pagina sarà arricchita con nuove unità territoriali e nuovi report.\n
    \n \n )}\n {checkedAmbitoGeografico && showZeroReports && !checkedUnitaAmministrativa && (\n
    \n <>\n \n
    \n La ricerca non ha prodotto risultati\n
    \n \n
    \n )}\n {showZeroReports && checkedUnitaAmministrativa && (\n
    \n <>\n \n
    \n La ricerca non ha prodotto risultati\n
    \n \n
    \n )}\n {!showDateError && (\n <>\n {checkedUnitaAmministrativa && (\n
    \n Risultati della ricerca:{' '}\n {ambitoUA ? ambitoUA.length : ''}\n
    \n )}\n {ambitoUA?.map((ua) => {\n const periodo_dati = ua.periodo_dati\n ?.replace('31/12/9999', moment().format('DD/MM/YYYY'))\n .replace('Periodo dati:', '')\n .split('-');\n return (\n \n \n \n
    \n

    {ua.titolo_report}

    \n
    {ua.descrizione_report}
    \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\n
    \n \n \n setHeaderFunction(ua)}\n aria-label={`Apri pop up informazioni report ${ua.titolo_report}`}\n title=\"Apri pop up informazioni\">\n \n \n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n let dtFrom = moment(date, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n let dtTo = moment(dateEnd, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n history(`/variazioni/body?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`, {\n replace: true,\n state: {\n dataDa: date,\n dataA: dateEnd,\n funzione: ua.id_funzione,\n title: ua.titolo_report,\n metadati: true,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA,\n ambitiGeografici,\n periodoDate: periodo_dati,\n mainTitle: mainTitle,\n percorsoBk: path,\n descrizione: ua.descrizione_report,\n metadati_val: ua,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n \n \n \n );\n })}\n \n )}\n \n \n \n \n );\n}\nexport default Head;\n","import { Routes as Switch, Route, useMatch as useRouteMatch } from 'react-router-dom';\nimport Head from './head';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nfunction VariazioniTerritorio() {\n const path = '';\n return (\n \n } />\n } />\n } />\n \n );\n}\n\nexport default VariazioniTerritorio;\n","import { useEffect, useRef, useState } from 'react';\nimport { Row, Col, DatePicker, Checkbox, Divider } from 'antd';\nimport Form from 'react-bootstrap/Form';\nimport moment from 'moment';\nimport { useNavigate as useHistory, useLocation, useMatch as useRouteMatch } from 'react-router-dom';\nimport { WarningFilled } from '@ant-design/icons';\nimport TerritoryService from 'services/territorio';\nimport Loading from 'components/loading';\nimport ReportHead from 'components/reportHead';\nimport 'jspdf-autotable';\nimport Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction Head() {\n const dispatch = useDispatch();\n const {\n state = {\n loading: undefined,\n ambitiGeografici: undefined,\n unitaAmministrative: undefined,\n ambitoUA: undefined,\n checkedAmbitoGeografico: undefined,\n checkedUnitaAmministrativa: undefined,\n headerFunction: undefined,\n date: undefined,\n showZeroReports: undefined,\n showNextStep: undefined,\n stateApplied: undefined,\n showDateError: undefined\n }\n } = useLocation();\n\n const mainTitle = 'Unità territoriali';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n const [loading, setLoading] = useState(state?.loading || false);\n const [ambitiGeografici, setAmbitiGeografici] = useState(state?.ambitiGeografici || []);\n const [unitaAmministrative, setUnitaAmministrative] = useState(state?.unitaAmministrative || []);\n const [ambitoUA, setAmbitoUA] = useState(state?.ambitoUA || null);\n const [checkedAmbitoGeografico, setCheckedAmbitoGeografico] = useState(state?.checkedAmbitoGeografico);\n const [checkedUnitaAmministrativa, setCheckedUnitaAmministrativa] = useState(state?.checkedUnitaAmministrativa);\n const [headerFunction, setHeaderFunction] = useState(state?.headerFunction || null);\n const [date, setDate] = useState(state?.date || null);\n const [showZeroReports, setShowZeroReports] = useState(state?.showZeroReports || false);\n const [showNextStep, setShowNextStep] = useState(state?.showNextStep || false);\n const [stateApplied, setStateApplied] = useState(state?.stateApplied || false);\n const [showDateError, setShowDateError] = useState(state?.showDateError || false);\n const history = useHistory();\n const location = useLocation();\n\n const snapshot = () => {\n return {\n loading,\n ambitiGeografici,\n unitaAmministrative,\n ambitoUA,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n headerFunction,\n date,\n showZeroReports,\n showNextStep,\n stateApplied,\n showDateError\n };\n };\n\n const fetchAmbitiGeografici = async () => {\n let ret = await TerritoryService.ambitiGeografici();\n ret.data = ret.data.filter((i) => i.value?.toLowerCase() != 'paesi esteri'); // Placeholder CABLATURA\n return ret;\n };\n\n const fetchUnitaAmministrative = async (date, ambito) => {\n return await TerritoryService.unitaAmministrative(date, ambito, 'DATA');\n };\n\n const fetchAmbitoUA = async (data, unita, ambito) => {\n return await TerritoryService.ambitoUA(data, unita, ambito, 'DATA');\n };\n\n const isComingBack = () => {\n return firstLoad.current && location.state;\n };\n\n useEffect(() => {\n if (isComingBack()) return;\n\n dispatch(updateData({ dataAUp: null }));\n const checkData = () => {\n const { state } = location;\n if (!state) {\n setLoading(true);\n setDate(moment().format('DD-MM-YYYY'));\n if (!showDateError) {\n fetchAmbitiGeografici()\n .then(({ data }) => {\n setAmbitiGeografici(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n setStateApplied(true);\n return () => setAmbitiGeografici([]);\n } else {\n const {\n date,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n unitaAmministrative,\n ambitoUA,\n ambitiGeografici\n } = state;\n setDate(date);\n setAmbitiGeografici(ambitiGeografici);\n setCheckedAmbitoGeografico(checkedAmbitoGeografico);\n setUnitaAmministrative(unitaAmministrative);\n setCheckedUnitaAmministrativa(checkedUnitaAmministrativa);\n setAmbitoUA(ambitoUA);\n }\n };\n checkData();\n return () => checkData();\n }, []);\n\n useEffect(() => {\n document.title = 'Unità territoriali - SITUAS';\n });\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (\n date &&\n ambitiGeografici &&\n checkedAmbitoGeografico &&\n unitaAmministrative &&\n checkedUnitaAmministrativa &&\n ambitoUA\n ) {\n setStateApplied(true);\n }\n }, [\n date,\n ambitiGeografici,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA\n ]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedAmbitoGeografico();\n setUnitaAmministrative();\n setCheckedUnitaAmministrativa();\n setAmbitoUA();\n }\n if (date) {\n dispatch(updateData({ dataDaUp: moment(date, 'DD-MM-YYYY').format('YYYY-MM-DD') }));\n }\n }, [date]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedUnitaAmministrativa();\n if (date && checkedAmbitoGeografico) {\n setLoading(true);\n fetchUnitaAmministrative(date, checkedAmbitoGeografico.key)\n .then(({ data }) => {\n if (data?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n setShowNextStep(true);\n }\n setUnitaAmministrative(data);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setUnitaAmministrative([]);\n setAmbitoUA();\n }\n }\n }, [checkedAmbitoGeografico]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (checkedUnitaAmministrativa && checkedAmbitoGeografico && date) {\n setShowNextStep(false);\n setLoading(true);\n fetchAmbitoUA(\n date?.replaceAll('-', '/'),\n checkedUnitaAmministrativa?.key,\n checkedAmbitoGeografico.key\n )\n .then(({ data }) => {\n if (data.items?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n }\n setAmbitoUA(data.items);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setShowNextStep(true);\n setAmbitoUA();\n }\n }, [checkedUnitaAmministrativa]); \n\n // Leave as last call\n useEffect(() => {\n firstLoad.current = false;\n }, []);\n return (\n <>\n \n \n \n

    Unità territoriali

    \n {/* */}\n \n \n \n \n {loading && }\n

    Criteri di ricerca {showDateError && (*)}

    \n {showDateError && (\n
    \n

    Data selezionata non compatibile con periodo di disponibilità

    \n
    \n )}\n
    \n
    Report disponibili alla data
    \n \n !d ||\n d.isAfter(moment()) ||\n d.isBefore(moment('17/03/1861', 'DD/MM/YYYY'))\n }\n onChange={(date) => {\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n const dt = moment(date);\n\n if (oldest.diff(dt) > 0 || today.diff(dt) < 0) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(date);\n setShowDateError(false);\n setDate(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataDaUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n
    \n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n {ambitiGeografici?.length > 0 && !showDateError && (\n Ambiti geografici\n )}\n {!showDateError &&\n ambitiGeografici?.map((ambito, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n />\n
    \n ))}\n
    \n
    \n
    \n
    \n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n {unitaAmministrative?.length > 0 && !showDateError && (\n {checkedAmbitoGeografico?.value}\n )}\n {!showDateError &&\n unitaAmministrative?.map((ua, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\n />\n
    \n ))}\n
    \n
    \n \n \n
    \n \n {checkedAmbitoGeografico &&\n showNextStep &&\n unitaAmministrative?.length > 0 &&\n ambitoUA?.length === 0 && (\n
    \n <>\n
    \n Si prega di selezionare 1 {checkedAmbitoGeografico.value}\n
    \n \n
    \n )}\n\n {/* {!checkedAmbitoGeografico ? (\n
    \n La funzione restituisce le liste delle unità territoriali disponibili e vigenti alla\n data di interesse selezionata, corredata da caratteristiche e classificazioni.\n
    \n ) : (\n hiddenError()\n )} */}\n {!checkedUnitaAmministrativa && (\n
    \n Dopo aver selezionato la data di interesse, l'ambito geografico e l'unità territoriale il sistema propone report per tema.\n
    \n )}\n {!checkedUnitaAmministrativa && (<>\n
    \n \n
    \n \n \n \n

    \n Unità amministrative\n

    \n
    \n Disponibili i seguenti territori nei periodi indicati:\n \n
      \n
    • Ripartizioni geografiche, dal 1861
    • \n
    • Compartimenti per il periodo 1861-1947
    • \n
    • Regioni dal 1948
    • \n
    • Province per il periodo 1861-1947
    • \n
    • Province o Unità territoriali sovracomunali (Uts) dal 1948
    • \n
    • Circondari e distretti per il periodo 1861-1927
    • \n
    • Comuni dal 1861
    • \n
    \n
    \n
    \n
    \n \n \n \n \n \n

    \n Unità statistiche\n

    \n
    \n Disponibile il seguente territorio nel periodo indicato:\n \n
      \n {/*
    • */}\n {/* NUTS - Nomenclatura delle unità territoriali statistiche, dal 2006*/}\n {/*
    • */}\n
    • SLL - Sistemi locali del lavoro dal 2011 (9-10-2011)
    • \n {/*
    • DI - Distretti industriali, dal 2011
    • */}\n {/*
    • FUA - Zone urbane funzionali, dal 2011
    • */}\n {/*
    • AP - Aree progetto, dal 2011
    • */}\n
    \n
    \n
    \n
    \n {/**/} {/*Placeholder CABLATURA*/}\n {/* */}\n {/* */}\n {/*

    Paesi esteri

    */}\n {/*
    */}\n {/* Liste consultabili a partire dal 1900*/}\n {/*
    */}\n {/*
    */}\n \n \n \n
    \n Nei prossimi rilasci del Portale la pagina sarà arricchita con nuove unità territoriali e nuovi report.\n
    \n \n )}\n {checkedUnitaAmministrativa && showZeroReports && (\n
    \n <>\n \n
    Nessun report presente
    \n \n
    \n )}\n {!showDateError && (\n <>\n {checkedUnitaAmministrativa && (\n
    \n Risultati della ricerca:{' '}\n {ambitoUA ? ambitoUA.length : ''}\n
    \n )}\n {ambitoUA?.map((ua) => {\n const periodo_dati = ua.periodo_dati\n ?.replace('31/12/9999', moment().format('DD/MM/YYYY'))\n .replace('Periodo dati:', '')\n .split('-');\n\n return (\n
    \n \n
    \n
    \n

    {ua.titolo_report}

    \n
    {ua.descrizione_report}
    \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\n
    \n \n \n {\n setHeaderFunction(ua);\n }}>\n \n \n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n \n let dtFrom = moment(date, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n history(`/territorio/body?id=${ua.id_funzione}&dateFrom=${dtFrom}`, {\n replace: true,\n state: {\n dataDa: date,\n funzione: ua.id_funzione,\n title: ua.titolo_report,\n metadati: true,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA,\n ambitiGeografici,\n periodoDate: periodo_dati,\n mainTitle: mainTitle,\n percorsoBk: path,\n descrizione: ua.descrizione_report,\n metadati_val: ua,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n \n \n \n );\n })}\n \n )}\n \n \n \n \n );\n}\nexport default Head;\n","import { Routes as Switch, Route, useMatch as useRouteMatch } from 'react-router-dom';\nimport Head from './head';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nfunction TerritorialUnits() {\n const path = '';\n return (\n \n } />\n } />\n } />\n \n );\n}\n\nexport default TerritorialUnits;\n","import { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction RicercaStoriaUABox() {\n const history = useHistory();\n\n useEffect(() => {\n document.title = 'Storia delle unità territoriali - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n \n
    \n

    Cambiamenti delle unità territoriali

    \n \n
    \n A supporto dell’informazione statistica per cittadini e istituzioni, l’Istat raccoglie e documenta i\n cambiamenti che interessano il territorio italiano.\n
    \n \n \n Per approfondimenti sulle tipologie di cambiamento e dettagli su estremi normativi e variazioni:\n
    \n \n Vai alla sezione Storia unità territoriali\n \n
    \n \n \n Per approfondimenti su codici e denominazioni assunti nel tempo dalle unità territoriali:\n
    \n \n Vai alla sezione Ricerca codice Istat\n \n
    \n \n \n \n \n \n );\n}\nexport default RicercaStoriaUABox;\n","import { Row, Col, Divider } from 'antd';\nimport { useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction CodificheTerritorialiUABox({ isMobile }) {\n const history = useHistory();\n\n useEffect(() => {\n document.title = 'Codifiche territoriali per la PA e il Paese - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n \n
    \n

    Codifiche territoriali per la PA e il Paese

    \n \n\n
    \n L’Istat, per le attività di produzione e diffusione dell’informazione statistica, crea e\n mantiene aggiornate le classificazioni delle unità territoriali, raccoglie le\n denominazioni ufficiali e ad ognuna di esse assegna un codice identificativo.\n
    Il Sistema informativo territoriale delle unità amministrative e statistiche\n gestisce gli enti territoriali riconosciuti dall’ordinamento amministrativo del\n Regno d’Italia prima, e da quello costituzionale della Repubblica poi, nonché le aree\n statistiche di rilievo per le policy nazionali e/o europee.\n
    Le unità territoriali descritte sono definite genericamente con il termine Unità\n amministrativa (Ua) o Unità statistica (Us).\n
    Pertanto, il Sistema informativo consente di operare secondo molteplici intenti:\n
    \n \n \n Presentare le liste delle unità territoriali vigenti alla data di interesse selezionata,\n corredata da caratteristiche e classificazioni.\n
    \n \n Vai alla sezione Unità territoriali\n \n
    \n \n \n Presentare liste di unità per tipologia di variazioni occorse nel periodo (costituzioni,\n estinzioni, cambi denominazione, ecc.).\n
    \n \n Vai alla sezione Variazione Unità territoriali\n \n
    \n \n \n Ricostruire o confrontare le unità territoriali e le relative codifiche in virtù dei\n cambiamenti intervenuti nel tempo.\n
    \n \n Vai alla sezione Ricostruzione codici statistici\n \n
    \n \n \n \n \n \n );\n}\nexport default CodificheTerritorialiUABox;\n","import { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction CaratteristicheClassificazioniBox() {\n const history = useHistory();\n\n useEffect(() => {\n document.title = 'Caratteristiche e classificazioni delle unità territoriali - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n \n
    \n

    Caratteristiche e classificazioni delle unità territoriali

    \n \n\n
    \n L’Istat elabora classificazioni a fini statistici assegnate alle unità territoriali, ad\n esempio: la litoraneità, la zona altimetrica, il grado di urbanizzazione, ecc. Sono\n inoltre rese disponibili classificazioni predisposte da altri enti a fini di policy (es.\n aree interne) o derivanti da Regolamenti europei.\n
    \n \n Vai alla sezione Unità territoriali\n \n \n \n \n );\n}\nexport default CaratteristicheClassificazioniBox;\n","import { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction GeografieEuropeeClassificazioni({ isMobile }) {\n const history = useHistory();\n\n useEffect(() => {\n document.title = 'Geografie europee e relative classificazioni - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n {/* FASE 3 - BOX OSCURATO\n \n
    \n

    Geografie europee e relative classificazioni

    \n \n
    \n L’Unione europea ha istituito una Nomenclatura delle unità territoriali statistiche,\n denominata «Nuts», per permettere la rilevazione, la compilazione e la diffusione di\n statistiche regionali armonizzate nell’Ue. Questo sistema gerarchico, che in Italia\n ricalca i concetti di uts (provincia, città metropolitana, ecc.), regione e ripartizione\n geografica, viene anche utilizzato per condurre analisi socioeconomiche nelle regioni ed\n elaborare gli interventi nel contesto della politica di coesione dell’Ue. La\n classificazione della Nuts viene aggiornata con cadenza triennale tramite regolamento Ue.\n
    \n\n \n \n A partire dal 2006 è possibile consultare la lista delle Nuts vigenti ad un certo anno o\n confrontarne le diverse versioni\n
    \n \n Vai alla sezione Unità territoriali\n \n
    \n \n \n Per le classificazioni delle Nuts consultare il link\n
    \n \n Vai alla sezione Unità territoriali\n \n
    \n \n \n \n \n */}\n \n );\n}\nexport default GeografieEuropeeClassificazioni;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\n\nconst StoricoService = {\n comune: (Pattern, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_comuni_lov_diffusione?com=${Pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n comuneCodice: (Codice, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_comuni_lov_diffusione?procom=${Codice}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n comuneRiepilogo: (Codice, Comune) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n { url: `var_get_ua_comuni_lov_rs?procom=${Codice}&com=${Comune}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n provinceUtsCodice: (Codice, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_uts_lov_diffusione?coduts=${Codice}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n provinceUts: (Pattern, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_uts_lov_diffusione?uts=${Pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n provinceUtsRiepilogo: (Codice, Uts, tipo) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_uts_lov_rs?&uts=${Uts}&coduts=${Codice}&uts_tipo=${tipo}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n regione: (Pattern, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_reg_lov_diffusione?reg=${Pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n regioneCodice: (Codice, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_reg_lov_diffusione?codreg=${Codice}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n regioneRiepilogo: (Codice, Reg, tipoReg) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_reg_lov_rs?&codreg=${Codice}®=${Reg}®_tipo=${tipoReg}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n dettVariazioni: (idProvv, tipoVar, idComOrigine) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_comuni_lov_rs_dett?idcomuneorig=${idComOrigine}&mcrvar=${tipoVar}&idprovv=${idProvv}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n datiAssVariazioni: (idProvv, tipoVar, idComOrigine) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_comuni_lov_rs_dett_ass?idcomuneorig=${idComOrigine}&mcrvar=${tipoVar}&idprovv=${idProvv}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n dettVariazioniUts: (tipoVar, idProvv, id_uts, tipoUts) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_uts_lov_rs_dett?&id_uts_origine=${id_uts}&idprovv=${idProvv}&uts_tipo=${tipoUts}&mcrvar=${tipoVar}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n datiAssVariazioniUts: (tipoVar, idProvv, id_uts, tipoUts) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_uts_lov_rs_dett_ass?&id_uts_origine=${id_uts}&idprovv=${idProvv}&uts_tipo=${tipoUts}&mcrvar=${tipoVar}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n dettVariazioniRegione: (tipoVar, tipoReg, idProvv, codiceReg) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_reg_lov_rs_dett?®_tipo=${tipoReg}&idprovv=${idProvv}&mcrvar=${tipoVar}&id_regione_origine=${codiceReg}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n datiAssVariazioniReg: (tipoVar, tipoReg, idProvv, codiceReg) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_reg_lov_rs_dett_ass?®_tipo=${tipoReg}&idprovv=${idProvv}&mcrvar=${tipoVar}&id_regione_origine=${codiceReg}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n }\n};\n\nexport default StoricoService;\n","import { Row, Col, Divider, AutoComplete, Table } from 'antd';\nimport { useEffect, useRef, useState } from 'react';\nimport StoricoService from 'services/storico';\nimport Loading from 'components/loading';\nimport _ from 'lodash';\nimport pdfIcon from 'assets/img/formats/pdf.png';\nimport Form from 'react-bootstrap/Form';\nimport { createRef } from 'react';\nimport axios from 'axios';\nimport Utils from '../../utils';\n\nfunction StoriaUA({ isMobile }) {\n const [comuneOptions, setComuneOptions] = useState([]);\n const [comuneCodiceOptions, setComuneCodiceOptions] = useState([]);\n const [provinciaOptions, setProvinciaOptions] = useState([]);\n const [provinciaCodiceOptions, setProvinciaCodiceOptions] = useState([]);\n const [regioneOptions, setRegioneOptions] = useState([]);\n const [regioneCodiceOptions, setRegioneCodiceOptions] = useState([]);\n const [loading, setLoading] = useState(false);\n const [denComune, setDenComune] = useState('');\n const [codComune, setCodComune] = useState('');\n const [selectedComune, setSelectedComune] = useState(null);\n const [denProvincia, setDenProvincia] = useState('');\n const [codProvincia, setCodProvincia] = useState('');\n const [selectedProvincia, setSelectedProvincia] = useState(null);\n const [denRegione, setDenRegione] = useState('');\n const [codRegione, setCodRegione] = useState('');\n const [selectedRegione, setSelectedRegione] = useState(null);\n const [selected, setSelected] = useState(false);\n const [riepilogoColumns, setRiepilogoColumns] = useState([]);\n const [riepilogoRows, setRiepilogoRows] = useState([]);\n const [dettaglioColumns, setDettaglioColumns] = useState([]);\n const [dettaglioRows, setDettaglioRows] = useState([]);\n const [datiVariazioneColumns, setDatiVariazioneColumns] = useState([]);\n const [datiVariazioneRows, setDatiVariazioneRows] = useState([]);\n const [descrizioneEvento, setDescrizioneEvento] = useState();\n const [selectedRow, setSelectedRow] = useState();\n const [title, setTitle] = useState();\n const [isBug, setIsBug] = useState(false);\n\n const uaType = {\n regione: \"regione\",\n provincia: \"provincia\",\n comune: \"comune\"\n };\n\n useEffect(() => {\n document.title = 'Storia unità territoriali - SITUAS';\n });\n\n const fetchComune = async (input, cancelToken) => {\n if (input?.length > 2) {\n setLoading(true);\n try {\n const { data } = await StoricoService.comune(input, cancelToken);\n setComuneOptions(\n data.items.map(({ comune: com, pro_com_t }, i) => ({\n label: `${com} - ${pro_com_t}`,\n //value: pro_com_t,\n value: i,\n denominazione: com,\n codice: pro_com_t,\n key: i\n }))\n );\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n };\n\n const fetchCodiceComune = async (codice, cancelToken) => {\n if (codice?.length > 3) {\n setLoading(true);\n try {\n const { data } = await StoricoService.comuneCodice(codice, cancelToken);\n const sortedItems = data.items.sort((a, b) => {\n return a.pro_com_t < b.pro_com_t ? -1 : 1;\n });\n setComuneCodiceOptions(\n sortedItems.map(({ comune: co, pro_com_t }, i) => ({\n //label: `${pro_com_t} - ${co}`,\n //value: co,\n label: `${co} - ${pro_com_t}`,\n value: i,\n denominazione: co,\n codice: pro_com_t,\n key: i\n }))\n );\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n };\n\n const fetchProvincia = async (input, cancelToken) => {\n if (input?.length > 2) {\n setLoading(true);\n try {\n const { data } = await StoricoService.provinceUts(input, cancelToken);\n setProvinciaOptions(\n data.items.map((obj, i) => ({\n label: `${obj['denominazione_uts']} - ${obj['cod_uts']} ${obj['descrizione tipo uts']}`,\n //value: obj['cod_uts'] + ':' + obj['tipo uts'],\n value: i,\n denominazione: obj['denominazione_uts'],\n codice: obj['cod_uts'],\n tipo: obj['tipo uts'],\n key: i\n }))\n );\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n };\n const fetchTipo = async (input) => {\n const { data } = await StoricoService.provinceUtsCodice(input);\n let tipo = String(data.items[0]['tipo uts']);\n return tipo;\n };\n\n const fetchCodiceProvincia = async (codice, cancelToken) => {\n if (codice?.length > 1) {\n setLoading(true);\n try {\n const { data } = await StoricoService.provinceUtsCodice(codice, cancelToken);\n const sortedItems = data.items.sort((a, b) => {\n return a.cod_uts < b.cod_uts ? -1 : 1;\n });\n setProvinciaCodiceOptions(\n sortedItems.map((obj, i) => ({\n //label: `${obj['cod_uts']} - ${obj['denominazione_uts']} ${obj['descrizione tipo uts']}`,\n //value: obj['denominazione_uts'],\n label: `${obj['denominazione_uts']} - ${obj['cod_uts']} ${obj['descrizione tipo uts']}`,\n value: i,\n denominazione: obj['denominazione_uts'],\n codice: obj['cod_uts'],\n tipo: obj['tipo uts'],\n key: i\n }))\n );\n\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n };\n\n const fetchRegione = async (input, cancelToken) => {\n if (input?.length > 2) {\n setLoading(true);\n try {\n const { data } = await StoricoService.regione(input, cancelToken);\n setRegioneOptions(\n data.items.map((obj, i) => ({\n label:\n obj['denominazione regione'] +\n ' - ' +\n obj['cod_regione'] +\n ' ' +\n obj['descrizione tipo regione'],\n //value: obj['cod_regione'] + '§' + obj['tipo regione'],\n value: i,\n codice: obj['cod_regione'],\n denominazione: obj['denominazione regione'],\n tipo: obj['tipo regione'],\n key: i\n }))\n );\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n };\n\n const fetchCodiceRegione = async (codice, cancelToken) => {\n if (codice?.length > 0) {\n setLoading(true);\n try {\n const { data } = await StoricoService.regioneCodice(codice, cancelToken);\n const sortedItems = data.items.sort((a, b) => {\n return a.cod_regione < b.cod_regione ? -1 : 1;\n });\n setRegioneCodiceOptions(\n //data.items.map((obj, i) => ({\n // label:\n // obj['cod_regione'] +\n // ' - ' +\n // obj['denominazione regione'] +\n // ' ' +\n // obj['descrizione tipo regione'],\n // value:\n // obj['denominazione regione'] +\n // '§' +\n // obj['tipo regione'],\n // key: i\n //}))\n sortedItems.map((obj, i) => ({\n //label:\n // obj['denominazione regione'] +\n // ' - ' +\n // obj['cod_regione'] +\n // ' ' +\n // obj['descrizione tipo regione'],\n //value: obj['cod_regione'] + '§' + obj['tipo regione'],\n label:\n obj['denominazione regione'] +\n ' - ' +\n obj['cod_regione'] +\n ' ' +\n obj['descrizione tipo regione'],\n value: i,\n codice: obj['cod_regione'],\n denominazione: obj['denominazione regione'],\n tipo: obj['tipo regione'],\n key: i\n }))\n );\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n };\n\n const handleClick = async () => {\n event.preventDefault();\n setDettaglioRows([]);\n setDettaglioColumns([]);\n setDatiVariazioneRows([]);\n setDatiVariazioneColumns([]);\n setSelectedRow();\n setDescrizioneEvento();\n if (selected) {\n if (selectedComune) {\n setLoading(true);\n\n const codiceComune = selectedComune.codice;\n let denominazioneComune = selectedComune.denominazione;\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.comuneRiepilogo(codiceComune, denominazioneComune);\n\n setTitle(denominazioneComune + ' - ' + codiceComune);\n const objectOrder = {\n variazione: null\n };\n const column = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(column, [\n 'identificativo provvedimento',\n 'codice comune corrente',\n 'denominazione corrente',\n 'descrizione evento',\n 'id_comune_origine',\n 'orderr',\n 'data_inizio_amministrativa',\n 'tipo variazione'\n ])\n ).map((key) => ({\n title: /*_.capitalize*/Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n const formattedRows = data.items.map((row, i) => {\n let rowObject = {\n key: row['id_comune_origine'] + '§' + row['identificativo provvedimento'] + '§' + i,\n id: i\n };\n Object.keys(\n _.omit(row, [\n 'identificativo provvedimento',\n 'codice comune corrente',\n 'denominazione corrente',\n 'id_comune_origine'\n ])\n ).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value], uaType: uaType.comune };\n });\n return rowObject;\n });\n setRiepilogoColumns(formattedColumns);\n setRiepilogoRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n\n if (selectedProvincia) {\n setLoading(true);\n const codiceProvincia = selectedProvincia.codice;\n let denominazioneProvincia = selectedProvincia.denominazione;\n const tipoProvincia = selectedProvincia.tipo;\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.provinceUtsRiepilogo(\n codiceProvincia,\n denominazioneProvincia,\n tipoProvincia\n );\n setTitle(denominazioneProvincia + ' - ' + codiceProvincia);\n const objectOrder = {\n variazione: null\n };\n const column = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(column, [\n 'identificativo provvedimento',\n 'descrizione evento',\n 'codice uts corrente',\n 'denominazione corrente',\n 'id_uts',\n 'tipo uts',\n 'tipo variazione',\n 'id_uts_origine'\n ])\n ).map((key) => ({\n title: /*_.capitalize*/Utils.customCapitalize(key),\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n }));\n const formattedRows = data.items.map((row, i) => {\n let rowObject = {\n key:\n row['identificativo provvedimento'] +\n '§' +\n row['tipo uts'] +\n '§' +\n row['id_uts'] +\n '§' +\n row['tipo variazione'],\n id: i\n };\n Object.keys(_.omit(row, 'identificativo provvedimento')).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value], uaType: uaType.provincia };\n });\n return rowObject;\n });\n setRiepilogoColumns(formattedColumns);\n setRiepilogoRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n\n if (selectedRegione) {\n setLoading(true);\n\n const codiceReg = selectedRegione.codice;\n let denominazioneReg = selectedRegione.denominazione;\n const tipoRegione = selectedRegione.tipo;\n\n const lastIndex = denominazioneReg.lastIndexOf('-');\n if (denominazioneReg.split('-').length > 1) {\n if (lastIndex !== -1 && !denominazioneReg[lastIndex - 1].toLowerCase().match(/[a-z]/i)) {\n denominazioneReg = (\n denominazioneReg.substring(0, lastIndex) +\n '' +\n denominazioneReg.substring(lastIndex + 1)\n ).trim();\n }\n } else {\n if (!denominazioneReg[lastIndex - 1]?.toLowerCase()?.match(/[a-z]/i)) {\n denominazioneReg = denominazioneReg.replace('-', '').trim();\n }\n }\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.regioneRiepilogo(\n codiceReg,\n denominazioneReg,\n tipoRegione\n );\n setTitle(denominazioneReg + ' - ' + codiceReg);\n const objectOrder = {\n variazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(columns, [\n 'identificativo provvedimento',\n 'descrizione evento',\n 'codice uts corrente',\n 'denominazione corrente',\n 'id_regione',\n 'tipo reg',\n 'tipo variazione',\n 'id_regione_origine'\n ])\n ).map((key) => ({\n title: /*_.capitalize*/Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n const formattedRows = data.items.map((row, i) => {\n let rowObject = {\n key:\n row['identificativo provvedimento'] +\n '*' +\n row['data decorrenza'] +\n row['tipo variazione'],\n id: i\n };\n Object.keys(_.omit(row, 'identificativo provvedimento')).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value], uaType: uaType.regione };\n });\n return rowObject;\n });\n setRiepilogoColumns(formattedColumns);\n setRiepilogoRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n }\n }\n };\n\n const handleRowClick = async (e) => {\n setLoading(true);\n setDescrizioneEvento(e['descrizione evento']);\n if (e.uaType === uaType.comune) {\n try {\n const { data } = await StoricoService.dettVariazioni(\n e['key'].split('§')[1],\n e['tipo variazione'],\n e['key'].split('§')[0]\n );\n\n const objectOrder = {\n variazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(columns, ['identificativo_provvedimento', 'tipo variazione'])\n ).map((key) => ({\n title: key !== 'url_pdf' ? /*_.capitalize*/Utils.customCapitalize(key) : 'PDF',\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.values(_.omit(row, 'identificativo_provvedimento')).forEach((value, i) => {\n const isPdf =\n Object.keys(_.omit(data.items[0], 'identificativo_provvedimento'))[i] === 'url_pdf';\n rowObject = {\n ...rowObject,\n [Object.keys(_.omit(data.items[0], 'identificativo_provvedimento'))[i]]: isPdf ? (\n row['url_pdf'] ? (\n \n \n \n ) : (\n '-'\n )\n ) : value?.length > 0 ? (\n value\n ) : (\n '-'\n )\n };\n });\n return rowObject;\n });\n setDettaglioColumns(formattedColumns);\n setDettaglioRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n\n try {\n const { data } = await StoricoService.datiAssVariazioni(\n e['key'].split('§')[1],\n e['tipo variazione'],\n e['key'].split('§')[0]\n );\n const columns = data.items[0];\n const formattedColumns = Object.keys(\n _.omit(columns, ['variazione', 'tipo variazione'])\n ).map((key) => ({\n title: /*_.capitalize*/Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(_.omit(row, [''])).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value] };\n });\n return rowObject;\n });\n setDatiVariazioneColumns(formattedColumns);\n setDatiVariazioneRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n } else if (e.uaType === uaType.provincia) {\n try {\n const { data } = await StoricoService.dettVariazioniUts(\n e['tipo variazione'],\n e['key'].split('§')[0],\n //e['key'].split('§')[2],\n e['id_uts_origine'],\n e['key'].split('§')[1]\n );\n const objectOrder = {\n variazione: null\n };\n const column = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(column, ['identificativo_provvedimento', 'dt_prv_var', 'tipo variazione', 'id_uts_origine'])\n ).map((key) => ({\n title: key !== 'url_pdf' ? /*_.capitalize*/Utils.customCapitalize(key) : 'PDF',\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(_.omit(row, ['identificativo_provvedimento', 'dt_prv_var'])).forEach(\n (value) => {\n const isPdf = value === 'url_pdf';\n\n rowObject = {\n ...rowObject,\n [value]: isPdf ? (\n row['url_pdf'] ? (\n \n \n \n ) : (\n '-'\n )\n ) : row[value]?.length > 0 ? (\n row[value]\n ) : (\n '-'\n )\n };\n }\n );\n return rowObject;\n });\n setDettaglioColumns(formattedColumns);\n setDettaglioRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n\n try {\n const { data } = await StoricoService.datiAssVariazioniUts(\n e['tipo variazione'],\n e['key'].split('§')[0],\n //e['key'].split('§')[2],\n e['id_uts_origine'],\n e['key'].split('§')[1]\n );\n const column = data.items[0];\n const formattedColumns = Object.keys(\n _.omit(column, ['tipo variazione', 'descrizione variazione'])\n ).map((key) => ({\n title: /*_.capitalize*/Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(row).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value] };\n });\n return rowObject;\n });\n setDatiVariazioneColumns(formattedColumns);\n setDatiVariazioneRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n } else if (e.uaType === uaType.regione) { // TODO!\n try {\n const { data } = await StoricoService.dettVariazioniRegione(\n e['tipo variazione'],\n e['tipo reg'],\n e['key'].split('*')[0],\n e['id_regione_origine']\n );\n const objectOrder = {\n variazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(columns, ['identificativo_provvedimento', 'dt_prv_var', 'tipo variazione', 'id_regione_origine'])\n ).map((key) => ({\n title: key !== 'url_pdf' ? /*_.capitalize*/Utils.customCapitalize(key) : 'PDF',\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(_.omit(row, ['identificativo_provvedimento', 'dt_prv_var'])).forEach(\n (value) => {\n const isPdf = value === 'url_pdf';\n rowObject = {\n ...rowObject,\n [value]: isPdf ? (\n row['url_pdf'] ? (\n \n \n \n ) : (\n '-'\n )\n ) : row[value]?.length > 0 ? (\n row[value]\n ) : (\n '-'\n )\n };\n }\n );\n return rowObject;\n });\n setDettaglioColumns(formattedColumns);\n setDettaglioRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n\n try {\n const { data } = await StoricoService.datiAssVariazioniReg(\n e['tipo variazione'],\n e['tipo reg'],\n e['key'].split('*')[0],\n e['id_regione_origine']\n );\n\n const objectOrder = {\n 'Codice Ripartizione': null,\n 'Codice Compartimento/Regione': null,\n 'Denominazione': null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n\n const formattedColumns = Object.keys(\n _.omit(columns, ['identificativo_provvedimento', 'dt_prv_var', 'descrizione variazione'])\n ).map((key) => ({\n title: key === 'CodCompRegAss' ? 'Codice Compartimento/Regione associato' : /*_.capitalize*/Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(row).forEach((value) => {\n rowObject = {\n ...rowObject,\n [value]: row[value]\n };\n });\n return rowObject;\n });\n setDatiVariazioneColumns(formattedColumns);\n setDatiVariazioneRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n } else {\n cleanComune();\n cleanProvincia();\n cleanRegione();\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setDescrizioneEvento();\n setTitle();\n setComuneOptions([]);\n setComuneCodiceOptions([]);\n setProvinciaOptions([]);\n setProvinciaCodiceOptions([]);\n setRegioneOptions([]);\n setRegioneCodiceOptions([]);\n setLoading(false);\n }\n };\n\n const createSmartDebouncer = (fn, wait) => {\n let deb = _.debounce(fn, wait);\n let ret = useRef({\n fn: (input, cp) => {\n deb.cancel();\n if (ret.current.cancellationToken) {\n ret.current.cancellationToken.cancel();\n }\n\n ret.current.cancellationToken = axios.CancelToken.source();\n deb(input, ret.current.cancellationToken.token);\n },\n cancellationToken: null\n });\n\n return ret.current.fn;\n };\n\n const cleanRegione = () => {\n setDenRegione('');\n setCodRegione('');\n setSelectedRegione(null);\n };\n\n const cleanProvincia = () => {\n setDenProvincia('');\n setCodProvincia('');\n setSelectedProvincia(null);\n };\n\n const cleanComune = () => {\n setDenComune('');\n setCodComune('');\n setSelectedComune(null);\n };\n\n const debounceSearchComune = createSmartDebouncer(fetchComune, 700);\n const debounceSearchComuneCodice = createSmartDebouncer(fetchCodiceComune, 700);\n const debounceSearchProvincia = createSmartDebouncer(fetchProvincia, 700);\n const debounceSearchProvinciaCodice = createSmartDebouncer(fetchCodiceProvincia, 700);\n const debounceSearchRegione = createSmartDebouncer(fetchRegione, 700);\n const debounceSearchRegioneCodice = createSmartDebouncer(fetchCodiceRegione, 700);\n\n return (\n \n {loading && }\n\n \n
    \n
    Scegli un criterio di ricerca
    \n \n
    \n \n {\n cleanRegione();\n setDenRegione(e);\n setSelected(false);\n }}\n onSelect={(_, o) => {\n cleanComune();\n cleanProvincia();\n setSelectedRegione(o);\n setSelected(true);\n }}\n onSearch={debounceSearchRegione}\n className=\"mb-3 input-w200\"\n id=\"autocompleteregione\"\n placeholder=\"Denominazione\"\n />\n \n \n \n {\n cleanRegione();\n setCodRegione(e);\n setSelected(false);\n }}\n onSelect={(_, o) => {\n cleanComune();\n cleanProvincia();\n setSelectedRegione(o);\n setSelected(true);\n }}\n onSearch={debounceSearchRegioneCodice}\n className=\"mb-3 input-w77\"\n placeholder=\"Codice\"\n />\n \n \n \n \n \n {\n cleanProvincia();\n setDenProvincia(value);\n setSelected(false);\n }}\n onSelect={(_, o) => {\n cleanComune();\n cleanRegione();\n setSelectedProvincia(o);\n setSelected(true);\n }}\n onSearch={debounceSearchProvincia}\n className=\"mb-3 input-w200\"\n placeholder=\"Denominazione\"\n />\n \n \n \n {\n cleanProvincia();\n setCodProvincia(e);\n setSelected(false);\n }}\n onSelect={(_, o) => {\n cleanComune();\n cleanRegione();\n setSelectedProvincia(o);\n setSelected(true);\n }}\n onSearch={debounceSearchProvinciaCodice}\n className=\"mb-3 input-w77\"\n placeholder=\"Codice\"\n />\n \n \n \n \n \n {\n cleanComune();\n setDenComune(value);\n setSelected(false);\n }}\n onSelect={(_, o) => {\n cleanRegione();\n cleanProvincia();\n setSelectedComune(o);\n setSelected(true);\n }}\n onSearch={debounceSearchComune}\n className=\"mb-3 input-w200\"\n placeholder=\"Denominazione\"\n />\n \n \n \n {\n cleanComune();\n setCodComune(e);\n setSelected(false);\n }}\n onSelect={(_, o) => {\n cleanRegione();\n cleanProvincia();\n setSelectedComune(o);\n setSelected(true);\n }}\n onSearch={debounceSearchComuneCodice}\n className=\"mb-3 input-w77\"\n placeholder=\"Codice\"\n />\n \n \n\n handleClick()}>\n Cerca\n \n {\n cleanComune();\n cleanProvincia();\n cleanRegione();\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setDescrizioneEvento();\n setTitle();\n setComuneOptions([]);\n setComuneCodiceOptions([]);\n setProvinciaOptions([]);\n setProvinciaCodiceOptions([]);\n setRegioneOptions([]);\n setRegioneCodiceOptions([]);\n }}>\n Annulla\n \n\n {descrizioneEvento && (\n
    \n
    \n Descrizione evento:\n
    {descrizioneEvento}
    \n
    \n 90 ? 'read-more-enabled' : 'read-more-disabled'\n }`}>\n {\n document.querySelector('.descrizione').classList.toggle('expanded');\n document.querySelector('.read-more').textContent = document\n .querySelector('.descrizione')\n .classList.contains('expanded')\n ? 'Leggi di meno'\n : 'Leggi di più';\n }}>\n Leggi di più\n \n
    \n \n )}\n \n\n {isMobile && riepilogoRows.length > 0 && (\n <>\n {title &&
    {title}
    }\n
    Riepilogo variazioni
    \n record.id}\n onRow={(record) => {\n return {\n tabIndex: 0,\n onClick: () => handleRowClick(record),\n onKeyDown: (event) => {\n if (event.key === 'Enter') {\n handleRowClick(record);\n }\n }\n };\n }}\n />\n {dettaglioRows.length > 0 && (\n <>\n
    Dettaglio provvedimento
    \n \n \n )}\n {datiVariazioneRows.length > 0 && (\n <>\n
    Dettaglio variazione
    \n \n \n )}\n \n )}\n \n \n

    Storia unità territoriali

    \n \n\n {!riepilogoRows.length > 0 && (\n
    \n Dopo aver ricercato la denominazione/codice dell'unità di interesse il sistema restituisce il riepilogo delle variazioni.
    Selezionata una variazione sono mostrati estremi e dettagli del provvedimento e unità coinvolte.\n
    \n )}\n {!isMobile && riepilogoRows.length > 0 && (\n <>\n {title &&
    {title}
    }\n\n
    Riepilogo variazioni
    \n record.id}\n rowClassName={(_, index) => {\n return index === selectedRow ? 'storia-ua-rows selected storia-ua-rows' : 'storia-ua-rows storia-ua-rows';\n }}\n onRow={(record, index) => {\n return {\n tabIndex: 0,\n onClick: () => {\n handleRowClick(record);\n setSelectedRow(index);\n },\n onKeyDown: (event) => {\n if (event.key === 'Enter') {\n handleRowClick(record);\n }\n }\n };\n }}\n />\n\n {dettaglioRows.length > 0 && (\n <>\n
    Dettaglio provvedimento
    \n \n \n )}\n\n {datiVariazioneRows.length > 0 && (\n <>\n
    Dettaglio variazione
    \n \n \n )}\n \n )}\n \n \n );\n}\nexport default StoriaUA;\n","/** @format */\n\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nconst initialState = {\n categorie: { macroCategorie: null, microCategorie: null, tree: [] },\n cacheDownloadFiles: {}\n};\nexport const updateCategorie = createAction('updateCategorie');\nexport const updateCacheDownloadFiles = createAction('updateCacheDownloadFiles');\nexport const resetCacheDownloadFiles = createAction('resetCacheDownloadFiles');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(updateCategorie, (state, action) => {\n // action is inferred correctly here\n state.categorie = { ...state.categorie, ...action.payload };\n })\n .addCase(updateCacheDownloadFiles, (state, action) => {\n state.cacheDownloadFiles = { ...state.cacheDownloadFiles, ...action.payload };\n })\n .addCase(resetCacheDownloadFiles, (state, action) => {\n state.cacheDownloadFiles = {};\n });\n});\n\nexport default reducer;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\n\nconst RicercaCodiceSvc = {\n getList: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'ricercacodice_criterio?haRuolo' },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getValueList: (tipoUnit) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `ricercacodice_criterio_lov?haRuolo&ptipounit=${tipoUnit}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getDetail: (tipoUnit, prc) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `ricercacodice_criterio_res?haRuolo&ptipounit=${tipoUnit}&prc=${prc}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n }\n};\nexport default RicercaCodiceSvc;\n","import { useState, useEffect } from 'react';\nimport { Col, Row, Divider, Checkbox, AutoComplete, Table } from 'antd';\nimport Form from 'react-bootstrap/Form';\nimport RicercaCodiceSvc from 'services/ricercaCodice';\nimport Loading from 'components/loading';\nimport _ from 'lodash';\nimport '../../css/_ricercaCodice.scss';\n\nconst RicercaCodice = ({ isMobile }) => {\n const [loading, setLoading] = useState(true);\n const [list, setList] = useState([]);\n const [valueList, setValueList] = useState([]);\n const [filteredValueList, setFilteredValueList] = useState([]);\n const [checked, setChecked] = useState();\n const [selectedValue, setSelectedValue] = useState();\n const [selected, setSelected] = useState(false);\n const [columns, setColumns] = useState([]);\n const [rows, setRows] = useState([]);\n const [isChecked, setIsChecked] = useState(false);\n\n useEffect(() => {\n document.title = 'Ricerca codice Istat - SITUAS';\n let mounted = false;\n const fetchList = async () => {\n try {\n const { data } = await RicercaCodiceSvc.getList();\n if (!mounted) {\n setList(data.items);\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n };\n fetchList();\n return () => {\n mounted = true;\n };\n }, []);\n useEffect(() => {}, [isChecked, selected]);\n\n useEffect(() => {\n let mounted = false;\n if (!mounted) {\n setSelectedValue();\n }\n const fetchValueList = async () => {\n if (checked) {\n setLoading(true);\n try {\n const { data } = await RicercaCodiceSvc.getValueList(checked.return_code);\n if (!mounted) {\n setValueList(data?.resultset);\n setFilteredValueList(\n data?.resultset.map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }))\n );\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n }\n };\n fetchValueList();\n return () => {\n mounted = true;\n };\n }, [checked]);\n\n const seqrchBTN = () => {\n const mounted = false;\n if (!mounted) {\n if (selected) {\n setLoading(true);\n }\n setColumns([]);\n setRows([]);\n }\n const getDetail = async () => {\n try {\n const { data } = await RicercaCodiceSvc.getDetail(checked.return_code, selectedValue.value);\n const formattedCols = Object.keys(data.resultset[0]).map((key) => ({\n //title: _.capitalize(key.replaceAll('_', ' ')),\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n }));\n const formattedRows = data.resultset.map((row) => {\n const rowVal = Object.values(row);\n let rowObject = { key: rowVal[0] + rowVal[rowVal.length - 1] };\n Object.keys(row).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value] };\n });\n return rowObject;\n });\n if (!mounted) {\n setColumns(formattedCols);\n setRows(formattedRows);\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n };\n if (selectedValue && selected) {\n getDetail();\n }\n }; /* , [selectedValue, selected, checked?.return_code] */\n\n const search = (inputValue) => {\n setSelected(false);\n setSelectedValue({ label: inputValue });\n if (inputValue?.length > 0) {\n let filtered = valueList\n .filter((value) =>\n value.V.split('-')[1].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n )\n .map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }));\n\n if (!filtered.length) {\n filtered = valueList\n .filter((value) =>\n value.V.split('-')[0].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n )\n .map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }));\n }\n\n if (!filtered.length) {\n filtered = valueList\n .filter((value) => value.V.toLowerCase().trim().startsWith(inputValue.toLowerCase()))\n .map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }));\n }\n setFilteredValueList(filtered);\n } else {\n setFilteredValueList(valueList.map(({ V, RC }) => ({ label: V, value: RC, key: V + RC })));\n }\n };\n const searchCodice = (inputValue) => {\n setSelected(false);\n setSelectedValue({ label: inputValue });\n if (inputValue?.length > 0) {\n const filtered = valueList\n .filter((value) =>\n value.V.split('-')[0].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n )\n .map(({ V, RC }) => {\n ({ label: V, value: RC, key: V + RC });\n });\n setFilteredValueList(filtered);\n } else {\n setFilteredValueList(valueList.map(({ V, RC }) => ({ label: V, value: RC, key: V + RC })));\n }\n };\n\n return (\n <>\n {loading && }\n \n
    \n \n
    \n
    \n Criteri di ricerca\n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n\n {list.map(({ return_code, label_tipologia }, idx) => {\n return (\n {\n if (e.target.checked) {\n setChecked({ return_code, label_tipologia });\n setSelectedValue();\n setSelected(false);\n setIsChecked(true);\n } else {\n setChecked();\n setIsChecked(false);\n setSelectedValue();\n setSelected(false);\n }\n }}>\n );\n })}\n
    \n
    \n
    \n
    \n {checked && valueList.length > 0 && (\n <>\n \n {checked?.label_tipologia}\n {\n setSelectedValue(obj);\n setSelected(true);\n }}\n onSearch={search}\n className=\"mb-3 ml-2\"\n style={{ minWidth: 225, flexGrow: 1 }}\n placeholder=\"Codice/Denominazione\"\n />\n \n \n )}\n
    \n
    \n {\n seqrchBTN();\n }}>\n Cerca\n \n {\n setSelectedValue();\n setSelected(false);\n setChecked();\n setIsChecked(false);\n setColumns([]);\n setRows([]);\n }}>\n Annulla\n \n \n \n \n

    Ricerca codice Istat

    \n \n
    \n {!columns.length > 0 ? (\n \n Dopo aver selezionato l'unità e ricercato codice-denominazione di interesse, il sistema restituisce l'elenco dei codici e denominazioni dell'unità stessa con relativo periodo di validità.\n \n ) : (\n \n )}\n
    \n \n \n \n );\n};\nexport default RicercaCodice;\n","import { useEffect, useRef, useState } from 'react';\nimport { Row, Col, DatePicker, Checkbox, Divider } from 'antd';\nimport moment from 'moment';\nimport { useNavigate as useHistory, useLocation, useMatch as useRouteMatch } from 'react-router-dom';\nimport { WarningFilled } from '@ant-design/icons';\nimport TerritoryService from 'services/territorio';\nimport Loading from 'components/loading';\nimport ReportHead from 'components/reportHead';\nimport Form from 'react-bootstrap/Form';\nimport { AsyncTypeahead, Typeahead } from 'react-bootstrap-typeahead';\nimport Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\nimport TabSkip from 'services/TabSkip/TabSkip';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction Head() {\n const mainTitle = 'Ricostruzione codici statistici';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n\n const dispatch = useDispatch();\n const {\n state = {\n loading: undefined,\n ambitiGeografici: undefined,\n unitaAmministrative: undefined,\n ambitoUA: undefined,\n checkedAmbitoGeografico: undefined,\n checkedUnitaAmministrativa: undefined,\n headerFunction: undefined,\n date: undefined,\n dateEnd: undefined,\n showZeroReports: undefined,\n showNextStep: undefined,\n stateApplied: undefined,\n showDateError: undefined\n }\n } = useLocation();\n\n const [loading, setLoading] = useState(state?.loading || false);\n const [ambitiGeografici, setAmbitiGeografici] = useState(state?.ambitiGeografici || []);\n const [unitaAmministrative, setUnitaAmministrative] = useState(state?.unitaAmministrative || []);\n const [ambitoUA, setAmbitoUA] = useState(state?.ambitoUA || null);\n const [checkedAmbitoGeografico, setCheckedAmbitoGeografico] = useState(state?.checkedAmbitoGeografico);\n const [checkedUnitaAmministrativa, setCheckedUnitaAmministrativa] = useState(state?.checkedUnitaAmministrativa);\n const [headerFunction, setHeaderFunction] = useState(state?.headerFunction || null);\n const [date, setDate] = useState(state?.date || null);\n const [dateEnd, setDateEnd] = useState(state?.dateEnd || null);\n const [showZeroReports, setShowZeroReports] = useState(state?.showZeroReports || false);\n const [showNextStep, setShowNextStep] = useState(state?.showNextStep || false);\n const [stateApplied, setStateApplied] = useState(state?.stateApplied || false);\n const [showDateError, setShowDateError] = useState(state?.showDateError || false);\n\n const history = useHistory();\n const location = useLocation();\n\n const snapshot = () => {\n return {\n loading,\n ambitiGeografici,\n unitaAmministrative,\n ambitoUA,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n headerFunction,\n date,\n dateEnd,\n showZeroReports,\n showNextStep,\n stateApplied,\n showDateError\n };\n };\n\n const fetchAmbitiGeografici = async () => {\n let ret = await TerritoryService.ambitiGeografici();\n ret.data = ret.data.filter((i) => i.value?.toLowerCase() != 'paesi esteri' && i.value?.toLowerCase() != 'unità statistiche'); // Placeholder CABLATURA\n return ret;\n };\n\n const fetchUnitaAmministrative = async (data, dataA, ambito) => {\n return await TerritoryService.unitaAmministrative(data, ambito, 'ATTUALIZZAZIONE', dataA);\n };\n\n const fetchAmbitoUA = async (data, unita, ambito, dataA) => {\n return await TerritoryService.ambitoUA(data, unita, ambito, 'ATTUALIZZAZIONE', dataA);\n };\n\n const isComingBack = () => {\n return firstLoad.current && location.state;\n };\n\n useEffect(() => {\n document.title = 'Ricostruzione dei codici statistici - SITUAS';\n });\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (\n date &&\n ambitiGeografici &&\n checkedAmbitoGeografico &&\n unitaAmministrative &&\n checkedUnitaAmministrativa &&\n ambitoUA\n ) {\n setStateApplied(true);\n }\n }, [\n date,\n dateEnd,\n ambitiGeografici,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA\n ]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n const checkData = () => {\n const { state } = location;\n if (!state) {\n setLoading(true);\n //setDate(moment().subtract(1, 'd').format('DD-MM-YYYY'));\n setDate(moment('01-01-1991', 'DD-MM-YYYY').format('DD-MM-YYYY'));\n setDateEnd(moment().format('DD-MM-YYYY'));\n if (!showDateError) {\n fetchAmbitiGeografici()\n .then(({ data }) => {\n setAmbitiGeografici(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n setStateApplied(true);\n return () => setAmbitiGeografici([]);\n } else {\n const {\n date,\n dateEnd,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n unitaAmministrative,\n ambitoUA,\n ambitiGeografici\n } = state;\n setDate(date);\n setDateEnd(dateEnd);\n setAmbitiGeografici(ambitiGeografici);\n setCheckedAmbitoGeografico(checkedAmbitoGeografico);\n setUnitaAmministrative(unitaAmministrative);\n setCheckedUnitaAmministrativa(checkedUnitaAmministrativa);\n setAmbitoUA(ambitoUA);\n }\n };\n checkData();\n return () => checkData();\n }, []);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedUnitaAmministrativa();\n setCheckedAmbitoGeografico();\n setAmbitoUA();\n setUnitaAmministrative();\n }\n if (date && dateEnd) {\n dispatch(\n updateData({\n dataDaUp: moment(date, 'DD-MM-YYYY').format('YYYY-MM-DD'),\n dataAUp: moment(dateEnd, 'DD-MM-YYYY').format('YYYY-MM-DD')\n })\n );\n }\n }, [date, dateEnd]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setAmbitoUA([]);\n setCheckedUnitaAmministrativa();\n if (date && dateEnd && checkedAmbitoGeografico) {\n setLoading(true);\n fetchUnitaAmministrative(date, dateEnd, checkedAmbitoGeografico.key)\n .then(({ data }) => {\n if (data?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n setShowNextStep(true);\n }\n setUnitaAmministrative(data);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setUnitaAmministrative([]);\n setAmbitoUA();\n }\n }\n }, [checkedAmbitoGeografico]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n if (checkedUnitaAmministrativa && checkedAmbitoGeografico) {\n setShowNextStep(false);\n setLoading(true);\n fetchAmbitoUA(date, checkedUnitaAmministrativa.key, checkedAmbitoGeografico.key, dateEnd)\n .then(({ data }) => {\n if (data?.items?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n }\n setAmbitoUA(data.items);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setShowNextStep(true);\n setAmbitoUA();\n }\n }\n }, [checkedUnitaAmministrativa, ambitiGeografici, checkedAmbitoGeografico, unitaAmministrative]);\n\n // Leave as last call\n useEffect(() => {\n firstLoad.current = false;\n }, []);\n return (\n <>\n \n
    \n \n

    Ricostruzione dei codici statistici {showDateError && (*)}

    \n \n \n \n \n {loading && }\n

    Criteri di ricerca

    \n {showDateError && (\n <>\n
    \n

    Data inizio non può essere più recente di data fine.

    \n
    \n
    \n

    Date selezionate non compatibili con periodo di disponibilità.

    \n
    \n \n )}\n
    \n
    Data inizio periodo
    \n \n !d || d.isAfter(moment()) || d.isBefore(moment('17/03/1861', 'DD/MM/YYYY'))\n }\n onChange={(firstDate) => {\n const end = moment(dateEnd, 'DD-MM-YYYY');\n const start = moment(firstDate);\n\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (start.diff(end) > 0 || oldest.diff(start) > 0 || today.diff(start) < 0) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(firstDate);\n setShowDateError(false);\n setDate(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataDaUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    Data fine periodo
    \n \n !d || d.isBefore(moment(date).format('DD/MM/YYYY')) || d.isAfter(moment())\n }\n onChange={(secDate) => {\n const dateEnd = moment(secDate);\n const dateStart = moment(date, 'DD-MM-YYYY');\n\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (\n dateStart.diff(dateEnd) > 0 ||\n oldest.diff(dateEnd) > 0 ||\n today.diff(dateEnd) < 0\n ) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(secDate);\n setShowDateError(false);\n setDateEnd(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataAUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n
    \n {ambitiGeografici?.length > 0 && !showDateError && (\n Ambiti geografici\n )}\n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n {!showDateError &&\n ambitiGeografici?.map((ambito, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n />\n
    \n ))}\n
    \n
    \n
    \n
    \n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n {unitaAmministrative?.length > 0 && !showDateError && (\n {checkedAmbitoGeografico?.value}\n )}\n\n {!showDateError &&\n unitaAmministrative?.map((ua, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\n />\n
    \n ))}\n
    \n
    \n \n \n
    \n \n {checkedAmbitoGeografico &&\n showNextStep &&\n unitaAmministrative?.length > 0 &&\n ambitoUA?.length === 0 && (\n
    \n <>\n
    \n Si prega di selezionare 1 {checkedAmbitoGeografico.value}\n
    \n \n
    \n )}\n {!checkedUnitaAmministrativa && (\n
    \n Dopo aver selezionato il periodo di interesse, l'ambito geografico e l'unità territoriale, il sistema propone report per traslare o \n confrontare codici e denominazioni nell'intervallo scelto.\n
    \n )}\n {!checkedUnitaAmministrativa && (<>\n
    \n \n {/*
    */}\n \n \n \n \n

    Unità amministrative (Ua)

    \n
    \n \n Disponibili i seguenti territori a partire dal 1° gennaio 1991:\n \n \n
      \n
    • Comuni
    • \n
    \n
    \n
    \n
    \n \n {/**/}\n {/* */}\n {/* */}\n {/* */}\n {/*

    Unità statistiche (Us)

    */}\n {/*
    */}\n {/* Disponibili i seguenti territori:*/}\n {/* */}\n {/*
      */}\n {/*
    • */}\n {/* NUTS - Nomenclatura delle unità territoriali statistiche, dal 2006*/}\n {/*
    • */}\n {/*
    • SLL 2011, dal 09/10/2011
    • */}\n {/*
    • SLL 2001, dal 21/10/2001 al 08/10/2011
    • */}\n {/*
    • FUA, dal 01/01/2018
    • */}\n {/*
    */}\n {/*
    */}\n {/*
    */}\n {/*
    */}\n {/**/}\n \n \n
    \n Nei prossimi rilasci del Portale la pagina sarà arricchita con nuove unità territoriali e nuovi report.\n
    \n \n )}\n {/* {checkedAmbitoGeografico && showZeroReports && (\n
    \n <>\n \n
    Nessun report presente
    \n \n
    \n )} */}\n\n {!showDateError && (\n <>\n {checkedUnitaAmministrativa && (\n
    \n Risultati della ricerca:{' '}\n {ambitoUA ? ambitoUA.length : ''}\n
    \n )}\n {ambitoUA?.map((ua) => {\n const periodo_dati = ua.periodo_dati\n ?.replace('31/12/9999', moment().format('DD/MM/YYYY'))\n .replace('Periodo dati:', '')\n .split('-');\n return (\n
    \n \n
    \n
    \n

    {ua.titolo_report}

    \n
    {ua.descrizione_report}
    \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\n
    \n \n \n setHeaderFunction(ua)}\n aria-label={`Apri pop up informazioni report ${ua.titolo_report}`}\n title=\"Apri pop up informazioni\">\n \n \n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n \n let dtFrom = moment(date, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n let dtTo = moment(dateEnd, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n history(`/ricostruzione-codici/body?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`, {\n replace: true,\n state: {\n dataDa: date,\n dataA: dateEnd,\n funzione: ua.id_funzione,\n title: ua.titolo_report,\n metadati: true,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA,\n ambitiGeografici,\n periodoDate: periodo_dati,\n mainTitle: mainTitle,\n percorsoBk: path,\n descrizione: ua.descrizione_report,\n metadati_val: ua,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n \n \n \n );\n })}\n \n )}\n \n \n \n \n );\n}\nexport default Head;\n","import { Routes as Switch, Route, useMatch as useRouteMatch } from 'react-router-dom';\nimport Head from './head';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nfunction RicostruzioneCodici() {\n const path = '';\n return (\n \n } />\n } />\n } />\n \n );\n}\n\nexport default RicostruzioneCodici;\n","/** @format */\n\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nconst initialState = {\n impostazioni: {},\n session: null,\n user: {\n username: 'UtenteTest',\n role: 'administrator',\n idNumber: '1HF73'\n },\n history: []\n};\nexport const addToHistory = createAction('addToHistory');\nexport const updateImpostazioni = createAction('updateImpostazioni');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(addToHistory, (state, action) => {\n // action is inferred correctly here\n state.history = [...state.history, action.payload];\n })\n .addCase(updateImpostazioni, (state, action) => {\n state.impostazioni = { ...state.impostazioni, ...action.payload };\n });\n});\n\nexport default reducer;\n","import './App.scss';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport Header from './layout/Header';\nimport NavBarNew from './layout/Nav';\nimport Footer from './layout/Footer';\nimport { useState } from 'react';\nimport { Route, Routes as Switch, Navigate as Redirect } from 'react-router-dom';\nimport HomeIndex from './views/home';\nimport Glossary from './views/glossary';\nimport VariazioniTerritorio from './views/variazioniTerritorio/index';\nimport TerritorialUnits from './views/territorialUnits';\nimport RicercaStoriaUABox from 'views/ricercaStoriaUABox';\nimport CodificheTerritorialiUABox from 'views/codificheTerritorialiBox';\nimport CaratteristicheClassificazioniBox from 'views/caratteristicheClassificazioniBox';\nimport GeografieEuropeeClassificazioni from 'views/geografieEuropeeClassificazioni';\nimport StoriaUA from 'views/storiaUA';\nimport { NewDownloadPage } from 'components/NewDownloadPage';\nimport RicercaCodice from 'views/ricercaCodice';\nimport RicostruzioneCodici from 'views/ricostruzioneCodici';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { updateImpostazioni } from './redux/reducers/Session.reducer';\nimport IsMobile from 'components/IsMobile/IsMobile';\nimport TabSkip from 'services/TabSkip/TabSkip';\n\nconst App = () => {\n const dispatch = useDispatch();\n const [isMobile, setIsMobile] = useState(false);\n\n return (\n <>\n \n \n
    \n \n
    \n
    \n
    \n \n } />\n } exact />\n } />\n } />\n } />\n }\n />\n }\n />\n }\n />\n } />\n } />\n {/* FASE 3 - PAGINA DOWNLOAD OSCURATA\n \n \n \n }\n />\n */}\n }\n />\n } />\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n );\n};\n\nexport default App;\n","/** @format */\n\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nconst initialState = {\n aggiornamentiData: { additionalInfo: {}, body: {}, info: {} }\n};\nexport const updateAggData = createAction('updateAggData');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder.addCase(updateAggData, (state, action) => {\n state.aggiornamentiData = { ...state.aggiornamentiData, ...action.payload };\n });\n});\n\nexport default reducer;\n","/** @format */\n\nimport { configureStore } from '@reduxjs/toolkit';\nimport logger from 'redux-logger';\n/* REDUCERS */\nimport SessionReducer from './reducers/Session.reducer';\nimport NewDownloadReducer from './reducers/NewDownload.reducer';\nimport NewReportCompilerReducer from './reducers/NewReportCompiler.reducer';\nimport NewAggiornamentiReducer from './reducers/NewAggiornamenti.reducer';\n/* EXTRA */\n\nconst preloadedState = loadFromSessionStorage();\n\nconst store = configureStore({\n reducer: {\n Session: SessionReducer,\n NewReportCompiler: NewReportCompilerReducer,\n NewDownload: NewDownloadReducer,\n NewAggiornamenti: NewAggiornamentiReducer\n },\n middleware: (getDefaultMiddleware) => {\n return process.env.REACT_APP_ENV === 'alm'\n ? getDefaultMiddleware().concat(logger)\n : getDefaultMiddleware();\n },\n devTools: process.env.REACT_APP_ENV === 'alm',\n preloadedState\n});\n\nstore.subscribe(() => {\n saveToSessionStorage(store.getState());\n});\n\nexport function saveToSessionStorage(state) {\n try {\n const serializedState = JSON.stringify(state);\n\n sessionStorage.setItem('reduxState', serializedState);\n } catch (e) {\n }\n}\n\nexport function loadFromSessionStorage() {\n try {\n const serializedState = sessionStorage.getItem('reduxState');\n\n if (serializedState) {\n return JSON.parse(serializedState);\n } else {\n return undefined;\n }\n } catch (e) {\n\n return undefined;\n }\n}\n\nexport default store;\n","import 'bootstrap/dist/css/bootstrap.min.css';\n\nimport moment from 'moment';\nimport { I18nextProvider } from 'react-i18next';\nimport i18n from './config/i18n';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport App from './App';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { ConfigProvider } from 'antd';\nimport it_IT from 'antd/lib/locale/it_IT';\nimport en_US from 'antd/lib/locale/en_US';\nimport 'moment/locale/it';\nimport 'moment/locale/en-gb';\nimport { Provider } from 'react-redux';\nimport store from './redux/store';\n\nwindow.version = process.env.REACT_APP_VERSION;\n\nconst setAntLocale = () => {\n switch (i18n.language) {\n case 'IT':\n moment.locale('it');\n return it_IT;\n case 'EN':\n moment.locale('en-gb');\n return en_US;\n default:\n moment.locale('it');\n return it_IT;\n }\n};\n\nconst Root = () => {\n if (process.env.REACT_APP_PREFIX == '') {\n return (\n \n \n \n \n \n \n \n );\n } else {\n if (process.env.REACT_APP_PREFIX == '/web/#') {\n return (\n \n \n \n \n \n \n \n );\n }\n }\n};\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n//reportWebVitals();\n"],"sourceRoot":""}