{"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","services/promemoria/Promemoria.js","assets/img/formats/pdf.png","utils/index.js","components/News/index.js","components/DownloadDocument/index.js","components/loading/index.js","services/download/index.js","components/Shortcut/index.js","views/home/homeShortcuts.js","views/home/main.js","services/territorio/index.js","components/reportBody/reportTable.js","components/reportHead/index.js","views/ricercaStoriaUABox/index.js","views/codificheTerritorialiBox/index.js","views/caratteristicheClassificazioniBox/index.js","views/geografieEuropeeClassificazioni/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/notFound/index.js","views/home/index.js","services/glossary/index.js","services/GetGlossarioDownload/GetGlossarioDownload.service.jsx","views/glossary/index.js","icons/ApiIcon.js","services/apiDetail/index.js","components/DetailApiModal/index.js","views/variazioniTerritorio/head.js","views/variazioniTerritorio/index.js","views/apiDetail/index.js","views/territorialUnits/head.js","views/territorialUnits/index.js","services/storico/index.js","services/ricercaCodice/index.js","views/storiaUA/index.js","redux/reducers/NewDownload.reducer.js","views/ricercaCodice/index.js","views/ricostruzioneCodici/head.js","views/ricostruzioneCodici/index.js","services/TabSkip/TabSkip.js","App.js","redux/reducers/Session.reducer.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","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","style","backgroundColor","src","HeaderLogo","minHeight","color","Link","to","Divider","type","lineHeight","NavBarNew","resetCounter","setResetCounter","current","setCurrent","menuClicked","setMenuClicked","expanded","setExpanded","previousPage","setPreviousPage","location","useLocation","_document$getElements","_document$querySelect","_document$querySelect2","page","pathname","split","path","links","document","getElementsByClassName","prototype","call","link","setAttribute","classList","remove","querySelector","add","handleNavItemClick","currentPage","getElementById","Navbar","name","expand","variant","onSelect","Toggle","onClick","Collapse","Nav","role","href","tabIndex","useGetSettings","defaultData","formatMasks","isLoading","setIsLoading","setError","setData","execute","urlExtension","responseData","call_GetSettings","reset","withTranslation","getSettings","settings","setSettings","res","Row","Col","xs","lg","target","rel","width","height","FooterLogo","span","offset","AccessibilityDeclarationUrl","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","minCellWidth","theme","save","getSheetData","header","fields","sheetData","fieldName","unshift","exportXLSX","titolo","header2","rows2","XlsxPopulate","fromBlankAsync","sheet1","workbook","sheet","totalColumns","sheet2","sheet2Data","addSheet","cell","range","usedRange","endColumn","String","fromCharCode","fill","fontColor","horizontalAlignment","verticalAlignment","wrapText","outputAsync","saveAs","exportCSV","dataKeys","separator","textData","index","newHeader","replace","includes","dataIndex","newData","Blob","URL","createObjectURL","createElement","download","click","delay","time","setTimeout","escapeDate","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","paddingLeft","_ref3","testo","sottotitolo","subtitle","date","Modal","info","icon","closable","_Fragment","destroyAll","CloseOutlined","fontWeight","div","querySelectorAll","onKeyDown","event","DownloadDocument","mainTitle","periodoString","descrizione","idFunzione","metadati","pData","disabled","urlPath","dispatch","history","fullDate","trim","startDate","indexOf","endDate","periodoDate","Is_newReportCompiler","dtDaUp","dataDa","replaceAll","metadati_val","reportQueryString","showFromDate","isEditable","fromHome","homeDataPicker","onKeyPress","Loading","fullPage","flex","Spin","size","baseUrl","DownloadService","getAreas","getMacro","categoria","getAreaDetails","tipoDownload","macro","getPeriods","tema","getReportEvidenza","getReportConsultati","getGeneratedFileParams","getGeneratedFileParamsTable","filtri","ordine","downloadFile","param","Title","Typography","Shortcut","details","level","ShortcutSection","gutter","rowGap","md","Home","defaultSkip","queryString","repConsultati","setRepConsultati","repEvidenziati","setRepEvidenziati","getRepConsultati","all","onfulfilled","_onfulfilled$0$data","_onfulfilled$1$data","gap","paddingRight","rule_showhide","titolo_report","periodo_dati","descrizione_report","id_funzione","pdata","baseUrlSecond","TerritoryService","ambitiGeografici","pageId","dataStart","dataEnd","unitaAmministrative","ambito","pTab","dataA","ambitoUA","unita","ptab","req","dataInizio","dataFine","descrizionePagina","spool","sortParams","ReportTable","ReportHead","headerFunction","setHeaderFunction","visibleDetails","setVisibleDetails","visibleVariables","setVisibleVariables","Panel","infoIcon","InfoCircleOutlined","closeIcon","detailContent","guida","variabile","colname","note","fonte","downloadHeaders","headerVariables","formattedData","Button","FontAwesomeIcon","faFilePdf","faFileExcel","faFileLines","faFileCode","jsonFormatted","_ref4","fileData","display","expandIcon","_ref5","isActive","MinusCircleOutlined","PlusCircleOutlined","_obj$colname","unmounted","fetchHeader","_ref6","titleFinish","visible","autoFocusButton","centered","onCancel","okButtonProps","border","borderRadius","okText","onOk","RicercaStoriaUABox","ArrowLeftOutlined","columnGap","margin","CodificheTerritorialiUABox","CaratteristicheClassificazioniBox","GeografieEuropeeClassificazioni","useSpoolData","call_SpoolData","useGetAutocomplete","call_GetAutocomplete","useGetReportDownload","accept","call_GetReportDownload","fileContent","fileName","mimeType","appendChild","useGetFunzione","call_GetFunzione","RangePicker","DatePicker","BodyCompiler","variabileRef","createRef","valoreRef","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","variabileMenuShouldOpen","setVariabileMenuShouldOpen","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","fixedHomePicker","setFixedHomePicker","useSelector","reduxState","NewReportCompiler","paginationChange","pagina","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","valore","_funzione$tipoAnalisi2","hasErrors","ret","d","_funzione$tipoAnalisi","isValid","isBefore","isAfter","dTo","GetReportDownload","downloadFileData","pFilterFields","field","textFields","pFilterValues","textValue","GetAutocompleteData","_autocompleteData$bod","tmpData","idx","toString","filteredOrderFields","filteredOrderDirects","table","injectPaginationNav","FilterColumns","keyDownEvent","tmpOrderFields","tmpOrderDirects","i_","findIndex","getIconByDataIndex","faArrowDownAZ","faArrowDown19","faArrowDownZA","faArrowDown91","getColorByActive","getAriaLabelBySort","render","selectOption","nextInit","newSearchParams","URLSearchParams","set","delete","isChangingDateFilter","paginator","element","parentElement","contains","removeAttribute","firstElementChild","nav","getElementsByName","ariaLabel","insertAdjacentElement","renderDataPickerLabel","direction","reportTitle","htmlFor","renderReport","_tableData$body","spinning","marginBottom","marginTop","faCircleInfo","suffixIcon","allowClear","defaultValue","disabledDate","onChange","MomentObj","clear","Form","Label","Typeahead","ref","open","inputProps","readOnly","placeholder","selection","option","onFocus","onBlur","renderMenu","results","Menu","emptyLabel","MenuItem","position","paginationOption","faChevronCircleDown","paginationText","left","alt","viewBox","focusable","onSearch","inputValue","filter","v","htmlType","Tag","tmpArr","splice","faCheck","faXmark","ConfigProvider","renderEmpty","Empty","imageStyle","AntdTableScrollXaxisTop","Table","dataSource","scroll","x","pagination","total","defaultCurrent","defaultPageSize","showSizeChanger","pageSizeOptions","showTotal","useGetAggiornamenti","call_GetAggiornamenti","useGetAggiornamentiDownload","call_GetAggiornamentiDownload","AggiornamentiTable","getAggiornamenti","getAggiornamentiDownload","setTableData","pageNum","setPageNum","GetAggiornamenti","num","currDate","aggData","record","textAlign","ellipsis","showTitle","aggiornamento","_aggiornamento$testoP","provvedimento","testoProvvedimento","dataFineValidita","idProvvedimento","dataProvvedimento","DownloadAggiornamenti","wordWrap","NotFound","HomeIndex","Switch","Route","exact","GlossaryService","glossary","useGetGlossarioDownload","call_GetGlossarioDownload","Glossary","_filteredGlossary$len","selectedLetter","setInputValue","getDisable","setGetDisable","setGlossary","filteredGlossary","setFilteredGlossary","titleSearch","setTitleSearch","downloadLetter","setDownloadLetter","oldCounter","setOldCounter","fetchDataGlossary","word","_searchString","letter","markedSelectByString","nome","toLowerCase","markedNome","RegExp","fetchGlossary","Group","Input","preventDefault","stringa","prefix","SearchOutlined","class","_obj$links","dangerouslySetInnerHTML","__html","borderColor","dashed","item","hyperlink","ApiIcon","props","xmlns","RicercaCodiceSvc","getList","downloadJson","getDetail","emptyData","DetailApiModal","forwardRef","_dataDetail$IdReport","_dataDetail$TitoloRe","_dataDetail$InizioFi","_dataDetail$AnalisiT","_dataDetail$AmbitoTe","_dataDetail$UnitaTer","_dataDetail$parametri","isVisible","setIsVisible","dataDetail","setDataDetail","DescrizioneDetail","setDescrizioneDetail","IdFunc","seIdFunc","useImperativeHandle","openModal","RicercaApi","_response$data","_response$data$items$","_response$data2","normalizedData","fromEntries","entries","normalize","footer","paddingBottom","parametro","_parametro$NomeParame","_parametro$Descrizion","NomeParametro","DescrizioneParametro","Head","_testoDiffusione$unit","firstLoad","useRef","modalRef","checkedAmbitoGeografico","checkedUnitaAmministrativa","dateEnd","showZeroReports","showNextStep","stateApplied","showDateError","testoDiffusione","setAmbitiGeografici","setUnitaAmministrative","setAmbitoUA","setCheckedAmbitoGeografico","setCheckedUnitaAmministrativa","setDate","setDateEnd","setShowZeroReports","setShowNextStep","setStateApplied","setShowDateError","setTestoDiffusione","isComingBack","checkData","fetchDescrizionePagina","fetchAmbitiGeografici","fetchUnitaAmministrative","fetchAmbitoUA","sm","firstDate","end","start","today","oldest","diff","parsedDate","secDate","dateStart","Check","checked","ua","_unita$elencoReport","Card","Body","elencoReport","reportIndex","noteFondoPagina","WarningFilled","_ua$periodo_dati","_ua$periodo_dati2","xl","dtFrom","faRectangleList","_modalRef$current","handleOpenModal","VariazioniTerritorio","ApiDetail","_testoDiffusione$desc","_testoDiffusione$note","typeaheadRef","textLoading","setTextLoading","list","setList","valueList","setValueList","filteredValueList","setFilteredValueList","setChecked","selectedValue","setSelectedValue","selected","setSelected","setColumns","setRows","isChecked","setIsChecked","selectedRow","setSelectedRow","dettaglioColumns","setDettaglioColumns","dettaglioRows","setDettaglioRows","detailApiShow","hiddenColumns","fixNavBar","resetSearch","mounted","_Object$keys$map","_apiToshow$map","_Object$keys$map2","listApi","apiToshow","paramID","formattedColsAllApi","onCell","formattedRowsAllApi","rowVal","rowObject","Info","React","cloneElement","formattedDetailColumns","formattedDetailRows","ex","fetchList","titoloFunzione","SHOW_DATE","showDate","periodo","fetchValueList","_Object$keys$map3","_list$map","executeSearch","_Object$keys$map4","formattedCols","formattedRows","autocompletes","bordered","rowClassName","rowKey","components","order","whiteSpace","padding","downloadJsonSwagger","now","setReportQueryString","dataReport","dt","TerritorialUnits","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","getValueList","tipoUnit","prc","StoriaUA","riepilogoColumns","setRiepilogoColumns","riepilogoRows","setRiepilogoRows","datiVariazioneColumns","setDatiVariazioneColumns","datiVariazioneRows","setDatiVariazioneRows","setTitle","isBug","setIsBug","descrizioneEvento","setDescrizioneEvento","statusEventoSR","setStatusEventoSR","uaType","return_code","_data","codice","denominazione","_data2","_data3","com","pro_com_t","handleRowClick","_e$descrizioneEvento","objectOrder","variazione","assign","formattedColumns","isPdf","pdfIcon","_row$value","_row$value2","Denominazione","label_tipologia","_typeaheadRef$current","codiceComune","denominazioneComune","codiceProvincia","denominazioneProvincia","tipoProvincia","denominazioneReg","tipoRegione","lastIndex","lastIndexOf","_denominazioneReg","_denominazioneReg$toL","match","toggle","textContent","onRow","updateCategorie","updateCacheDownloadFiles","resetCacheDownloadFiles","categorie","macroCategorie","microCategorie","tree","cacheDownloadFiles","RicercaCodice","resultset","V","RC","_ref9","RicostruzioneCodici","TabSkip","App","setIsMobile","setDefaultSkip","setQueryString","Redirect","Footer","addToHistory","updateImpostazioni","impostazioni","session","user","username","idNumber","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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,OACA,QAAU5lB,GACV,KACA,KACA,MACA,GACA,EACA,QACAnZ,GAIJm/B,YAAaA,CAACN,EAAS7+B,KACT,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,qCAAqC8/B,KAC5C,KACA,OACA,QAAU1lB,GACV,KACA,KACA,MACA,GACA,EACA,QACAnZ,GAIJo/B,qBAAsBA,CAACL,EAAQM,EAAKC,KACtB,IAAI7/B,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,8BAA8BsgC,YAAcN,cAAmBO,KACtE,KACA,OACA,QAAUnmB,GACV,KACA,KACA,MACA,GACA,EACA,SAIJomB,QAASA,CAACV,EAAS7+B,KACL,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,qCAAqC8/B,KAC5C,KACA,OACA,QAAU1lB,GACV,KACA,KACA,MACA,GACA,EACA,QACAnZ,GAIJw/B,cAAeA,CAACT,EAAQ/+B,KACV,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,wCAAwCggC,KAC/C,KACA,OACA,QAAU5lB,GACV,KACA,KACA,MACA,GACA,EACA,QACAnZ,GAIJy/B,iBAAkBA,CAACV,EAAQW,EAAKC,KAClB,IAAIlgC,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,iCAAiCggC,SAAcW,cAAgBC,KACtE,KACA,OACA,QAAUxmB,GACV,KACA,KACA,MACA,GACA,EACA,SAIJymB,eAAgBA,CAACC,EAASC,EAASC,KACrB,IAAItgC,GAELe,YACT,CAAC,EACD,CACEzB,IAAK,8CAA8CghC,YAAuBD,aAAmBD,KAE/F,KACA,OACA,QAAU1mB,GACV,KACA,KACA,MACA,GACA,EACA,SAIJ6mB,kBAAmBA,CAACH,EAASC,EAASC,KACxB,IAAItgC,GAELe,YACT,CAAC,EACD,CACEzB,IAAK,kDAAkDghC,YAAuBD,aAAmBD,KAEnG,KACA,OACA,QAAU1mB,GACV,KACA,KACA,MACA,GACA,EACA,SAIJ8mB,kBAAmBA,CAACH,EAASD,EAASK,EAAQC,KAChC,IAAI1gC,GACLe,YACT,CAAC,EACD,CACEzB,IAAK,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","file":"static/js/main.b84f0d5e.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.6f93d126.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 reportQueryString: `?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}`,\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 reportQueryString: `?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`\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 reportQueryString: `?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`\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({ resetCounter, setResetCounter }) {\n const { t } = useTranslation();\n\n const [current, setCurrent] = useState();\n const [menuClicked, setMenuClicked] = useState(false);\n const [expanded, setExpanded] = useState(false);\n const [previousPage, setPreviousPage] = useState(null);\n\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n const page = location.pathname.split('/')[1];\n setPreviousPage(page);\n\n const path = '/' + page;\n setCurrent(path);\n\n var links = document.getElementsByClassName('new-nav-link');\n Array.prototype.forEach.call(links, function (link) {\n link.setAttribute('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 = (currentPage) => {\n if (!menuClicked) {\n document.getElementById('basic-navbar-nav').classList.remove('show');\n setMenuClicked(true);\n }\n\n if (previousPage && previousPage === currentPage){\n setResetCounter(resetCounter + 1);\n }\n else{\n setResetCounter(1);\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 setExpanded(false)}>\n
\n setExpanded(!expanded)} aria-controls=\"basic-navbar-nav\" label={expanded ? 'Chiudi menù principale' : 'Apri menù principale'} />\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.c33ce6fb.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 {/* ICONE SOCIAL OSCURATE\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 );\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 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\"","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: 750, 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 minCellWidth: 100\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 exportCSV(title, headers, dataKeys, data, separator) {\n let textData = '';\n\n //headers\n headers.forEach((value, index) => {\n\n if (value) {\n let newHeader = value;\n newHeader = newHeader.replace('\\r', '');\n newHeader = newHeader.replace('\\n', ' ');\n if (newHeader.includes(separator)){\n textData += '\"' + newHeader + '\"';\n }\n else {\n textData += newHeader;\n }\n }\n else {\n textData += 'Colonna_' + (index + 1);\n }\n\n if (index !== headers?.length - 1){\n textData += separator;\n }\n\n });\n textData += '\\n';\n\n //data\n data.forEach((row, dataIndex) => {\n\n dataKeys.forEach((key, index) => {\n\n if (row[key]) {\n let newData = row[key];\n newData = newData.replace('\\r', '');\n newData = newData.replace('\\n', ' ');\n if (newData.includes(separator)) {\n textData += '\"' + newData + '\"';\n }\n else {\n textData += newData;\n }\n }\n \n if (index !== dataKeys?.length - 1){\n textData += separator;\n }\n })\n\n if (dataIndex !== data?.length - 1) {\n textData += '\\n';\n }\n });\n\n //download\n const blob = new Blob([textData], { type: 'text/csv' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.download = title + '.csv';\n link.href = url;\n link.click();\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 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

    \n {title}\n

    \n \n \n {\n Modal.destroyAll();\n }}>\n \n \n \n
    \n \n \n {subtitle}\n \n \n
    \n
    \n Data Pubblicazione: \n {moment(date).format('DD/MM/YYYY')}\n
    \n
    \n \n )\n });\n // Esegui la funzione dopo un breve timeout per permettere al modale di aprirsi\n setTimeout(() => {\n var div = document.querySelectorAll('div[role=\"dialog\"]')[0];\n div?.setAttribute('aria-modal', 'true');\n div?.setAttribute('aria-labelledby', 'news-modal');\n }, 100);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n const modal = Modal.info({\n className: 'modalHome',\n icon: null,\n closable: false,\n content: (\n <>\n \n \n

    \n {title}\n

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

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

    \n {/* bottoni scarico News obsoleti: rimossi\n
    \n ...\n
    \n */}\n \n
    \n
      \n {news.map(({ titolo, testo, dataInizioValidita, sottotitolo }, index) =>\n News(titolo, testo, dataInizioValidita, sottotitolo, 'news-' + index)\n )}\n
    \n {news && news.length > 0 && (\n \n Vedi tutti\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 reportQueryString: `?id=${idFunzione}&dateFrom=${dtDaUp}`,\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 reportQueryString: `?id=${idFunzione}&dateFrom=${dtDaUp}`,\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 { 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 Shortcut from 'components/Shortcut';\nimport { Row, Col } from 'antd';\n\nconst ShortcutSection = () => {\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n {/* FASE 3 - BOX OSCURATO\n \n \n \n */}\n \n
    \n );\n};\n\nexport default ShortcutSection;\n","import { useEffect, useState } from 'react';\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';\nimport ShortcutSection from './homeShortcuts';\n\nconst Home = ({ isMobile, defaultSkip, queryString }) => {\n const [repConsultati, setRepConsultati] = useState([]);\n const [repEvidenziati, setRepEvidenziati] = useState([]);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(false);\n if (queryString) queryString('');\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

    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: (pageId, dataStart, dataEnd) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n `/api/${baseUrl}/AmbitiGeografici/${pageId}?dataStart=${dataStart}&dataEnd=${dataEnd}&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 descrizionePagina: (pageId) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n `/api/${baseUrl}/DescrizionePagina/${pageId}`,\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, Collapse } from 'antd';\nimport TerritoryService from 'services/territorio';\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 {\n CloseOutlined,\n InfoCircleOutlined,\n PlusCircleOutlined,\n MinusCircleOutlined\n} from '@ant-design/icons';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport '../../css/_reportHead.scss';\nconst { Title } = Typography;\n\nfunction ReportHead({ date, headerFunction, setLoading, setHeaderFunction }) {\n const [visibleDetails, setVisibleDetails] = useState(false);\n const [visibleVariables, setVisibleVariables] = useState(false);\n\n const { Panel } = Collapse;\n\n const infoIcon = ;\n const closeIcon = ;\n\n const detailContent = (obj) => {\n return (\n <>\n
    \n
    {obj.guida}
    \n
    \n
    \n
    \n
    Variabile
    \n
    {obj.variabile}
    \n
    \n
    \n
    Acronimo Variabile
    \n
    {obj.colname ? obj.colname : 'Non presente'}
    \n
    \n
    \n
    Note
    \n
    {obj.note}
    \n
    \n
    \n
    Fonte
    \n
    {obj.fonte}
    \n
    \n
    \n
    Link
    \n
    \n {obj.link ? (\n \n {obj.link}\n \n ) : (\n 'Non presente'\n )}\n
    \n
    \n
    \n \n );\n };\n\n // NEL CASO SERVISSE ENUNCIARE IL CONTENUTO DELL'ACCORDION ALL'APERTURA\n // const enunciateContent = (obj) => {\n // let innerText = '';\n // if (obj) {\n // innerText = 'Definizioni: ' +\n // 'Variabile: ' + obj.variabile + '. ' +\n // 'Acronimo Variabile: ' + (obj.colname ? obj.colname : 'Non presente') + '. ' +\n // 'Note: ' + (obj.note && obj.note !== 'Nessuna nota' ? obj.note + ' ' : 'Nessuna nota. ') +\n // 'Fonte: ' + obj.fonte + '. ' +\n // 'Link: ' + (obj.link ? obj.link : 'Non presente') + '.';\n // }\n // const status = document.getElementById('info-modal-collapse-definitions');\n // if(status) status.innerText = innerText;\n // }\n\n const downloadHeaders = [\n 'Variabile',\n 'Acronimo variabile',\n 'Descrizione',\n 'Note',\n 'Fonte',\n 'Link'\n ];\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 { title: downloadHeaders[5] }\n ],\n formattedData.map((obj) => [\n obj.variabile,\n obj.colname,\n obj.guida,\n obj.note,\n obj.fonte,\n obj.link\n ]),\n 'landscape'\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, colname }) => ({\n variabile,\n colname,\n guida,\n note,\n fonte,\n link\n }))\n )\n }>\n \n }\n onClick={() =>\n Utils.exportCSV(\n 'Legenda report ' +\n headerFunction.titolo_report +\n ' - Data stampa ' +\n moment().format('DD/MM/YYYY'),\n downloadHeaders,\n ['variabile', 'colname', 'guida', 'note', 'fonte', 'link'],\n formattedData.map(({ variabile, colname, guida, note, fonte, link }) => ({\n variabile,\n colname,\n guida,\n note,\n fonte,\n link\n })),\n ';'\n )\n }>\n \n }\n onClick={() => {\n const jsonFormatted = formattedData.map(\n ({ note, variabile, guida, fonte, link, colname }) => ({\n variabile,\n 'acronimo variabile': colname,\n guida,\n note,\n fonte,\n link\n })\n );\n const fileData = JSON.stringify(jsonFormatted);\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 ' - ' +\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

    Variabili

    \n \n !isActive ? (\n \n ) : (\n \n )\n }\n // NEL CASO SERVISSE ENUNCIARE IL CONTENUTO DELL'ACCORDION ALL'APERTURA\n // onChange={(value) => {\n // if (value) {\n // const current = formattedData.find(obj => obj?.variabile === value);\n // enunciateContent(current);\n // }\n // }}\n className=\"elements-container\">\n {formattedData.map((obj, index) => (\n {`${\n obj.variabile\n } [${obj.colname ?? ''}]`}\n }\n key={obj.variabile}>\n {detailContent(obj)}\n \n ))}\n \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 colname = data.colname.split('§')[i].trim();\n const obj = { variabile: label.trim(), note, link, guida, fonte, colname };\n return obj;\n });\n setLoading(false);\n const titleFinish = (\n \n {headerFunction.titolo_report}\n \n );\n Modal.info({\n tabIndex: -1,\n width: 800,\n title: titleFinish,\n icon: infoIcon,\n closeIcon: closeIcon,\n closable: true,\n visible: visibleVariables,\n autoFocusButton: null,\n centered: true,\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 setTimeout(() => {\n document\n .getElementsByClassName('ant-modal-close')[0]\n .setAttribute('aria-label', 'Chiudi');\n var modal = document.getElementsByClassName('ant-modal-wrap')[0];\n if (modal) {\n var div = document.querySelectorAll('div[role=\"dialog\"]')[0];\n div?.setAttribute('aria-modal', 'true');\n div?.setAttribute('aria-labelledby', 'report-head');\n }\n }, 100);\n })\n .catch(() => setLoading(false));\n }\n\n return () => {\n unmounted = true;\n };\n }, [headerFunction, date, visibleVariables, headerVariables, setHeaderFunction, setLoading]);\n\n return <>;\n}\n\nexport default ReportHead;\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({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Cambiamenti 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({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\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({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\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({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\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 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, createRef } 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 Input,\n Empty,\n ConfigProvider,\n Modal,\n Divider\n} from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\nimport DownloadService from 'services/download';\nimport { Form } from 'react-bootstrap';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\nimport moment from 'moment';\nimport Utils from 'utils';\nconst { RangePicker } = DatePicker;\nimport { ArrowLeftOutlined, InfoCircleOutlined } 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 faArrowDown19,\n faCheck,\n faXmark,\n faChevronCircleDown\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, defaultSkip, queryString }) => {\n const variabileRef = createRef();\n const valoreRef = createRef();\n\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 reportQueryString: 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 reportQueryString,\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 const [variabileMenuShouldOpen, setVariabileMenuShouldOpen] = useState(true);\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 const [fixedHomePicker, setFixedHomePicker] = useState('');\n\n const { filters, textFilters, tableData } = useSelector(\n (reduxState) => reduxState.NewReportCompiler\n );\n\n const infoIcon = (\n \n );\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString(reportQueryString);\n setFixedHomePicker(homeDataPicker);\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 useEffect(() => {\n // FIX ARIA-EXPANDED NON PRESENTE INIZIALMENTE\n var variabile = document.getElementById('variabileid');\n var valore = document.getElementById('valoreid');\n variabile?.setAttribute('aria-expanded', 'false');\n valore?.setAttribute('aria-expanded', 'false');\n })\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${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() : ''),\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}${dataAUp != undefined ? `&dataA=${dataAUp}` : ``\n }`\n );\n\n dispatch(updateTableData(table));\n\n if (table?.body) {\n injectPaginationNav();\n }\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 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 \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 getAriaLabelBySort = (dataIndex = '') => {\n const { orderFields, orderDirects } = filters;\n const i_ = orderFields.findIndex((field) => field === dataIndex);\n return orderDirects[i_] === 'ASC' ? 'Rimuovi ordinamento' : orderDirects[i_] === 'DESC' ? 'Ordina crescente' : 'Ordina decrescente';\n }\n\n const columns = tableData.colNames.map((column, index) => {\n return {\n title: (\n
    \n \n {tableData.label[index]}\n \n \n }\n onClick={() => {\n FilterColumns(column);\n }}\n onKeyDown={(e) => {\n FilterColumns(column, e.key);\n }}>\n \n
    \n ),\n dataIndex: column,\n key: column,\n render: (testo) => {\n if (testo?.length > 100) {\n return
    \n {\n Modal.info({\n title: tableData.label[index],\n width: 800,\n icon: infoIcon,\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 else {\n return
    {testo}
    \n }\n },\n align: tableData.types[index] == 'VARCHAR' ? 'Pagina precedente' : 'Pagina successiva'\n };\n });\n\n const selectOption = tableData.label.map((e, i) => {\n return { value: tableData.colNames[i], label: e };\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 const injectPaginationNav = (() => {\n var paginator = document.getElementsByClassName('ant-pagination')[0];\n if (paginator) {\n paginator.querySelectorAll('button.ant-pagination-item-link').forEach( element => {\n\n element.setAttribute('title', element.parentElement.title);\n \n if (element.parentElement.classList.contains('ant-pagination-disabled')) {\n element.parentElement.setAttribute('tabindex', '0');\n element.parentElement.removeAttribute('aria-disabled');\n element.removeAttribute('disabled');\n element.setAttribute('aria-disabled', 'true');\n }\n else {\n element.parentElement.removeAttribute('aria-disabled');\n element.setAttribute('aria-disabled', 'false');\n }\n\n element.firstElementChild.removeAttribute('aria-label');\n element.firstElementChild.setAttribute('aria-hidden', 'true');\n\n });\n\n paginator.querySelectorAll('.ant-pagination-item a').forEach( element => {\n \n if (element.parentElement.title) {\n element.setAttribute('title', element.parentElement.title)\n\n element.setAttribute('tabindex', '0')\n element.parentElement.removeAttribute('tabindex');\n\n if (element.parentElement.classList.contains('ant-pagination-item-active')) {\n element.setAttribute('aria-current', true);\n }\n else {\n element.setAttribute('aria-current', false);\n }\n }\n\n });\n\n paginator.querySelectorAll('div.ant-pagination-options-size-changer').forEach( element => {\n element.removeAttribute('aria-label');\n });\n\n var nav = document.getElementsByName('paginazione tabella')[0];\n\n if (!nav) {\n nav = document.createElement('nav');\n nav.setAttribute('name', 'paginazione tabella');\n nav.classList.add('report-table-pagination');\n nav.ariaLabel = 'Sfoglia pagine dei risultati';\n\n document.getElementsByClassName('ant-table')[0].insertAdjacentElement('afterend', nav);\n nav.appendChild(paginator);\n }\n }\n });\n\n const renderDataPickerLabel = (direction, reportTitle) => {\n if (direction === 'from') {\n if(reportTitle === \"In evidenza\" || reportTitle === \"I più consultati\") {\n if (fixedHomePicker === 'al')\n return ( );\n\n if (fixedHomePicker === 'dal')\n return ( );\n }\n\n return ( );\n }\n else {\n return ( );\n }\n };\n\n const renderReport = () => {\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 {\n setLoadingPDF(true);\n await GetReportDownload('PDF');\n setLoadingPDF(false);\n }}\n icon={}>\n \n */}\n {\n setLoadingXLSX(true);\n await GetReportDownload('XLSX');\n setLoadingXLSX(false);\n }}\n icon={}>\n \n {\n setLoadingCSV(true);\n await GetReportDownload('CSV');\n setLoadingCSV(false);\n }}\n icon={}>\n \n {\n setLoadingJSON(true);\n await GetReportDownload('JSON');\n setLoadingJSON(false);\n }}\n icon={}>\n \n
    \n
    \n {tempPeriodoDate &&

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

    }\n
    \n \n {tempDesc &&

    {tempDesc}

    }\n
    \n
    \n ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\n \n
    \n { renderDataPickerLabel(\"from\", mainTitle) }\n {\n (mainTitle !== \"In evidenza\" && mainTitle !== \"I più consultati\") ?\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 variabileRef.current.clear();\n valoreRef.current.clear();\n setVariabileMenuShouldOpen(false);\n }}\n />\n :\n \n {moment(tmpDates.dataDaUp).format('DD/MM/YYYY')}\n \n }\n
    \n {tmpDates.dataAUp && (\n
    \n { renderDataPickerLabel(\"to\", mainTitle) }\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 variabileRef.current.clear();\n valoreRef.current.clear();\n setVariabileMenuShouldOpen(false);\n }}\n />\n
    \n )}\n
    \n
    \n
    \n
    \n Variabile\n

    , è stato cambiato l'intervallo temporale del report, lanciare la ricerca per abilitare nuovamente il campo Variabile.

    \n {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setCurrFilterValue(option.value);\n setCurrColumnValue('');\n setCurrColumnDataIndex(option.value);\n GetAutocompleteData(option.value);\n }\n valoreRef.current.clear();\n }}\n onFocus={() => {\n if (!isChangingDateFilter())\n setVariabileMenuShouldOpen(true);\n }}\n onBlur={(event) => {\n if(event?.target.value === ''){\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n valoreRef.current.clear();\n }\n }}\n value={currFilterValue ?? ''}\n options={selectOption}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n />\n
    \n
    \n Valore \n {searchIsLoading && \n \n \n \n \n \n \n \n }\n \n

    , selezionare una variabile per abilitare il campo Valore.

    \n {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setCurrColumnValue(option.value);\n }\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.toString(), value: v.value.toString(), key: v.key.toString() })));\n } else {\n setAutoDataFiltered(null);\n }\n }}\n value={currColumnValue || currColumnSearch}\n options={autoDataFiltered || autoData}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\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 valoreRef.current.clear();\n variabileRef.current.clear();\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 }}\n htmlType=\"submit\">\n Applica\n \n
    \n
    \n
    \n
    \n
    \n {textFilters.filterFields.length > 0 && (\n <>\n

    Filtri attivi:

    \n
    \n {textFilters.filterFields.map((field, i) => {\n return (\n
    \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 onClick={() => {\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

    Filtro attivo,

    \n {`${tableData.label[tableData.colNames.indexOf(`${field.textFields}`)]}:`} \n {`${Utils.truncateEllipsis(field.textValue === \"$BLANK$\" ? \"Non disponibile\" : field.textValue)}`}\n \n \n \n \n

    , clicca o premi Invio per rimuovere il filtro.

    \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 defaultPageSize: 10,\n showSizeChanger: true,\n pageSizeOptions: ['10', '20', '50', '100'],\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\n return (mainTitle === \"In evidenza\" || mainTitle === \"I più consultati\") ?\n
    \n {renderReport()}\n
    \n :\n renderReport();\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, InfoCircleOutlined } from '@ant-design/icons';\nimport './aggiornamentiTable.scss';\nimport { useGetAggiornamenti } from 'services/GetAggiornamenti';\nimport { Table, Button, Tooltip, Modal, Divider } from 'antd';\nimport { useGetAggiornamentiDownload } from 'services/GetAggiornamentiDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nconst AggiornamentiTable = ({ defaultSkip, queryString }) => {\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\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = \"Aggiornamenti - SITUAS\";\n }, []);\n\n useEffect(async () => {\n await GetAggiornamenti(pageNum, pageSize);\n }, [pageNum, pageSize]);\n\n const infoIcon = (\n \n );\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, record) => (\n
    \n {\n Modal.info({\n className: 'modalNews',\n title: record['titolo'],\n icon: infoIcon,\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};\n\nexport default AggiornamentiTable;\n","import React from 'react';\nimport '../../css/_notFound.scss';\n\nconst NotFound = () => {\n return (\n
    \n

    404

    \n

    Errore 404. La pagina che stai cercando non esiste.

    \n

    Verifica che il link sia corretto.

    \n
    \n );\n};\n\nexport default NotFound;\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 RicercaStoriaUABox from 'views/ricercaStoriaUABox';\nimport CodificheTerritorialiUABox from 'views/codificheTerritorialiBox';\nimport CaratteristicheClassificazioniBox from 'views/caratteristicheClassificazioniBox';\nimport GeografieEuropeeClassificazioni from 'views/geografieEuropeeClassificazioni';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nimport { AggiornamentiTable } from 'components/aggiornamentiTable';\nimport NotFound from 'views/notFound';\nconst HomeIndex = ({ isMobile, defaultSkip, queryString }) => {\n const path = '';\n return (\n \n \n }\n />\n\n } \n />\n\n } \n />\n\n } \n />\n\n } \n />\n\n } \n />\n\n }\n />\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, resetCounter, defaultSkip, queryString }) {\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\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 const [oldCounter, setOldCounter] = useState(1);\n\n function handleKeyDown(event) {\n if (!getDisable && 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 setFilteredGlossary(glossary);\n setTitleSearch(`${word}`);\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(() => {\n if (resetCounter !== oldCounter){\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n setInputValue(null);\n\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(async () => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString(''); \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\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 {loading && }\n \n
    \n

    Criteri di ricerca

    \n
    \n Indice alfabetico\n
    \n
    \n
      \n {glossary.length > 0 &&\n letters.map((letter, index) => (\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 && !filteredGlossary) {\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 if (!getDisable) {\n const stringa = document.getElementsByName('lemma')[0].value.toLowerCase();\n searchString = stringa === '' ? null : stringa;\n fetchDataGlossary(searchString);\n setDownloadLetter('AZ');\n }\n }}\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 {\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 && (\n

    \n {titleSearch}\n \n , {filteredGlossary?.length === 1 ? \n `trovata ${filteredGlossary.length} definizione` :\n `trovate ${filteredGlossary?.length ?? 0} definizioni`}\n \n

    \n )}\n {!loading && filteredGlossary?.length <= 0 && (\n
    \n Nessun risultato trovato.\n
    \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, index) => (\n \n }\n key={`${obj.nome}-${index}`}>\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\";\n\nconst ApiIcon = (props) => {\n return (\n \n \n \n );\n};\n\nexport default ApiIcon;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\nconst baseUrlDownload = 'Report/DownloadByUrl';\n\nconst RicercaCodiceSvc = {\n getList:() => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'get_elenco_microservizi' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n downloadJson:() => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'area_download_get_report_file_clob?idfile=1' },\n null,\n 'post_file',\n '/api/' + baseUrlDownload,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getDetail: (id) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `get_elenco_microservizi?p_id_funzione=${id}` },\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 React, { useState, forwardRef, useImperativeHandle } from 'react';\nimport { Modal, Col, Row, Button } from 'antd';\nimport { CloseOutlined } from '@ant-design/icons';\nimport RicercaApi from 'services/apiDetail';\nimport { data } from 'jquery';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n faArrowRightArrowLeft,\n faArrowDownAZ,\n faArrowDownZA,\n faCircleInfo\n} from '@fortawesome/free-solid-svg-icons';\nimport Card from 'react-bootstrap/Card';\n\nconst emptyData = {\n \"Ambito territoriale\": null,\n \"Analisi temporale\": null,\n \"Id report\": null,\n \"Inizio/ fine validit� report\": null,\n \"Titolo report\": null,\n \"Unit� territoriale\": null,\n \"parametri necessari\": null,\n \"Descrizione\": null,\n};\n\nconst normalizeObjectKeys = (obj) => {\n if (!obj || typeof obj !== \"object\")\n return obj;\n\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [\n key.trim().normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"), // Rimuove accenti\n value\n ])\n );\n};\n\nconst DetailApiModal = forwardRef((props, ref) => {\n const [isVisible, setIsVisible] = useState(false);\n const [loading, setLoading] = useState(false);\n const [dataDetail, setDataDetail] = useState(emptyData);\n const [DescrizioneDetail, setDescrizioneDetail] = useState(null);\n const [IdFunc, seIdFunc] = useState(0);\n\n useImperativeHandle(ref, () => ({\n openModal: async (idFunzione) => {\n if (!idFunzione) return;\n\n try {\n setLoading(true);\n seIdFunc(idFunzione);\n const response = await RicercaApi.getDetail(idFunzione);\n if (response.status === 200) {\n var normalizedData = normalizeObjectKeys(response?.data?.items[0]);\n setDataDetail(normalizedData);\n setDescrizioneDetail(JSON.parse(response?.data?.items[0][\"descrizione parametri\".trim()] ?? \"[]\"));\n setIsVisible(true);\n }\n } catch (error) {\n console.error(\"Errore nel caricamento dei dati:\", error);\n } finally {\n setLoading(false);\n setTimeout(\n () => {\n var modal = document.getElementsByClassName('ant-modal-wrap')[0];\n if (modal) {\n var div = document.querySelectorAll('div[role=\"dialog\"]')[0];\n div?.setAttribute('aria-modal', 'true');\n div?.setAttribute('aria-labelledby', `dettaglio-id-report-${idFunzione}`);\n }\n }, 100\n );\n }\n },\n }));\n\n return (\n setIsVisible(false)} // Chiudi la modale\n closable={false}\n >\n \n
    \n

    Dettaglio API

    \n \n \n {\n setIsVisible(false);\n }}>\n \n \n \n \n\n \n \n Id report:\n {dataDetail[\"Id report\".trim()] ?? '-'} \n \n \n Titolo report: \n {dataDetail[\"Titolo report\".trim()] ?? '-'} \n \n \n Inizio/fine validità report:\n {dataDetail[\"Inizio/fine validita report\".trim()] ?? '-'} \n \n \n Analisi temporale: \n {dataDetail[\"Analisi temporale\".trim()] ?? '-'} \n \n \n Ambito territoriale: \n {dataDetail[\"Ambito territoriale\".trim()] ?? '-'} \n \n \n Unità territoriale: \n {dataDetail[\"Unita territoriale\".trim()] ?? '-'} \n \n \n Parametri necessari: \n {dataDetail[\"parametri necessari\".trim()] ?? '-'} \n \n \n \n \n
      \n {DescrizioneDetail?.map((parametro, index) => {\n return (\n \n
    • {parametro?.NomeParametro??''}: {parametro?.DescrizioneParametro??''}
    • \n \n )\n })}\n
    \n \n \n \n \n Dati:\n \n {dataDetail[\"SPOOL_LINK\".trim()] ? (\n \n {dataDetail[\"SPOOL_LINK\".trim()]}\n \n ) : (\n \"-\"\n )}\n \n \n \n \n Conteggio:\n \n {dataDetail[\"COUNT_LINK\".trim()] ? (\n \n {dataDetail[\"COUNT_LINK\".trim()]}\n \n ) : (\n \"-\"\n )}\n \n \n \n \n Metadati:\n \n {dataDetail[\"INFO_LINK\".trim()] ? (\n \n {dataDetail[\"INFO_LINK\".trim()]}\n \n ) : (\n \"-\"\n )}\n \n \n \n \n \n
    \n
    \n \n
    \n
    \n \n );\n});\n\nexport default DetailApiModal;\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 ApiIcon from 'icons/ApiIcon';\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 DetailApiModal from 'components/DetailApiModal';\n\nfunction Head({ resetCounter, defaultSkip, queryString }) {\n const mainTitle = 'Variazioni unità territoriali';\n const idPagina = '2';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n const modalRef = useRef();\n\n const handleOpenModal = (id) => {\n modalRef.current?.openModal(id);\n };\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 testoDiffusione: undefined,\n oldCounter: 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 const [testoDiffusione, setTestoDiffusione] = useState(state?.testoDiffusione || null);\n const [oldCounter, setOldCounter] = useState(state?.oldCounter || 1);\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 testoDiffusione,\n oldCounter\n };\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(idPagina);\n return ret;\n };\n\n const fetchAmbitiGeografici = async (dataStart, dataEnd) => {\n let ret = await TerritoryService.ambitiGeografici(idPagina, dataStart, dataEnd);\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 if (resetCounter !== oldCounter) {\n setCheckedAmbitoGeografico(false);\n setCheckedUnitaAmministrativa(false);\n setOldCounter(resetCounter);\n }\n }, [resetCounter])\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\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\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n })\n .catch(() => {\n setTestoDiffusione(null);\n });\n\n const dataStart = moment('17-03-1861', 'DD-MM-YYYY').format('DD-MM-YYYY');\n const dataEnd = moment().format('DD-MM-YYYY');\n setDate(dataStart);\n setDateEnd(dataEnd);\n\n if (!showDateError) {\n fetchAmbitiGeografici(dataStart, dataEnd)\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 testoDiffusione\n } = state;\n setDate(date);\n setDateEnd(dateEnd);\n setAmbitiGeografici(ambitiGeografici);\n setTestoDiffusione(testoDiffusione);\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\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 , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\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 \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 {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Selezione {checkedAmbitoGeografico.value} abilitata.}\n {checkedUnitaAmministrativa && <>Ricerca per {checkedAmbitoGeografico.value}, {checkedUnitaAmministrativa.value}.}\n
    \n

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

    \n
    \n {\n ambitiGeografici?.length > 0 && !showDateError && (\n
    \n Ambiti geografici\n {\n ambitiGeografici?.map((ambito, index) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n
    \n {\n unitaAmministrative?.length > 0 && !showDateError && (\n
    \n {checkedAmbitoGeografico?.value}\n {\n unitaAmministrative?.map((ua, index) => (\n
    \n {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\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
    \n { testoDiffusione?.descrizionePagina }\n
    \n
    \n \n { testoDiffusione?.unita?.map((unita, index) => {\n return (\n
    \n \n \n \n

    { unita.titolo }

    \n
    \n
    \n { unita.sottotitolo }\n
    \n
    \n
      \n { unita.elencoReport?.map((report, reportIndex) => {\n return (
    • { report }
    • )\n })}\n
    \n
    \n
    \n
    \n \n )\n })}\n \n \n
    \n { testoDiffusione?.noteFondoPagina }\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 )}\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 \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 reportQueryString: `?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n {\n handleOpenModal(ua.id_funzione);\n }}\n aria-label={`Apri pop up API ${ua.titolo_report}`}\n title=\"Apri pop up API\">\n \n \n \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\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';\nimport NotFound from 'views/notFound';\nfunction VariazioniTerritorio({ isMobile, resetCounter, defaultSkip, queryString }) {\n const path = '';\n return (\n
    \n \n\n }\n />\n\n }\n />\n\n }/>\n \n \n
    \n );\n}\n\nexport default VariazioniTerritorio;\n","import { useState, useEffect, useRef, createRef } from 'react';\nimport { Col, Row, Divider, Table, Button } from 'antd';\nimport Form from 'react-bootstrap/Form';\nimport moment from 'moment';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\nimport RicercaApi from 'services/apiDetail';\nimport Loading from 'components/loading';\nimport TerritoryService from 'services/territorio';\nimport _ from 'lodash';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronCircleDown, faFileCode, faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport '../../css/_ricercaCodice.scss';\nimport {\n useLocation,\n useNavigate as useHistory,\n useSearchParams,\n useParams\n} from 'react-router-dom';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport Utils from 'utils';\nimport DetailApiModal from 'components/DetailApiModal';\nimport React from 'react';\nimport Card from 'react-bootstrap/Card';\n\nfunction ApiDetail({ isMobile, resetCounter, defaultSkip, queryString }) {\n const typeaheadRef = createRef();\n\n const modalRef = useRef();\n\n const handleOpenModal = (id) => {\n modalRef.current?.openModal(id);\n };\n\n const [selectedPage, setSelectedPage] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [loading, setLoading] = useState(true);\n const [textLoading, setTextLoading] = 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 const [oldCounter, setOldCounter] = useState(1);\n const [searchParams, setSearchParams] = useSearchParams();\n const [selectedRow, setSelectedRow] = useState();\n const [dettaglioColumns, setDettaglioColumns] = useState([]);\n const [dettaglioRows, setDettaglioRows] = useState([]);\n const [testoDiffusione, setTestoDiffusione] = useState(null);\n\n const detailApiShow = ['Id report', 'Titolo report', 'Inizio/fine validità report'];\n const hiddenColumns = [\n // 'Analisi temporale',\n 'Ambito territoriale',\n 'Unità territoriale',\n 'parametri necessari',\n 'SPOOL_LINK',\n 'COUNT_LINK',\n 'INFO_LINK',\n 'SHOW_DATE'\n ];\n const pageId = 4;\n\n const paginationChange = (pagina, pageSize) => {\n setSelectedPage(pagina);\n setPageSize(pageSize);\n injectPaginationNav();\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(pageId);\n return ret;\n };\n\n const downloadJsonSwagger = async () => {\n let ret = await RicercaApi.downloadJson();\n let filename = Utils.getFileNameFromHeader(ret.headers['content-disposition']);\n downloadFile(ret.data, filename);\n setLoading(false);\n };\n\n const injectPaginationNav = () => {\n var paginator = document.getElementsByClassName('ant-pagination')[0];\n if (paginator) {\n\n setTimeout(() => {\n fixNavBar(paginator);\n }, 100);\n\n var nav = document.getElementsByName('paginazione tabella')[0];\n if (!nav) {\n nav = document.createElement('nav');\n nav.setAttribute('name', 'paginazione tabella');\n nav.classList.add('api-table-pagination');\n nav.ariaLabel = 'Sfoglia pagine dei risultati';\n \n document.getElementsByClassName('ant-table')[0].insertAdjacentElement('afterend', nav);\n nav.appendChild(paginator);\n }\n }\n };\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n resetSearch();\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Dettaglio API';\n let mounted = false;\n const fetchList = async () => {\n try {\n const listApi = await RicercaApi.getList();\n let apiToshow = listApi.data.items;\n let paramID = 0;\n\n if (searchParams.has('id')) {\n paramID = +searchParams.get('id');\n apiToshow = apiToshow.filter((item) => item['Id report'] === paramID);\n }\n\n let formattedColsAllApi =\n Object.keys(_.omit(apiToshow[0], hiddenColumns)).map((key) => ({\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n })) ?? [];\n\n // aggiungo icona info su nuova colonna fake\n formattedColsAllApi.push({\n title: () => Informazioni,\n dataIndex: 'Info',\n key: 'Info',\n onCell: () => ({\n style: { textAlign: 'center' }\n })\n });\n\n let formattedRowsAllApi =\n apiToshow.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\n rowObject.Info = React.cloneElement(\n {\n handleOpenModal(row['Id report']);\n }}>\n \n \n );\n return rowObject;\n }) ?? [];\n\n let formattedDetailColumns =\n Object.keys(_.omit(apiToshow[0], detailApiShow)).map((key) => ({\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n })) ?? [];\n\n let formattedDetailRows = apiToshow.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\n if (!mounted) {\n if (searchParams.has('id')) {\n setDettaglioColumns(formattedDetailColumns);\n setDettaglioRows(formattedDetailRows);\n setSelectedRow(0);\n }\n setList(listApi.data.items);\n setColumns(formattedColsAllApi);\n setRows(formattedRowsAllApi);\n\n if (formattedRowsAllApi.length > 0) {\n injectPaginationNav();\n }\n\n setLoading(false);\n }\n } catch (ex) {\n setLoading(false);\n }\n };\n\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n setTextLoading(false);\n })\n .catch(() => {\n setTestoDiffusione(null);\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 setLoading(true);\n try {\n const { data } = await RicercaApi.getList();\n if (!mounted) {\n setValueList(data?.items);\n setFilteredValueList(\n data?.items.map(\n ({\n 'Id report': idFunzione,\n 'Titolo report': titoloFunzione,\n SHOW_DATE: showDate,\n 'Inizio/fine validità report': periodo\n }) => ({\n label: `${idFunzione} - ${titoloFunzione}${\n showDate === 'Y' ? ` (${periodo})` : ''\n }`,\n value: idFunzione,\n key: idFunzione\n })\n )\n );\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n };\n fetchValueList();\n return () => {\n mounted = true;\n };\n }, [checked]);\n\n const fixNavBar = (paginator) => {\n //cerco tutti gli elementi pagina preedente e successiva e se sono disabilitati\n //porto l'attributo aria-disabled sul button figlio\n paginator.querySelectorAll('button.ant-pagination-item-link').forEach( element => {\n\n element.setAttribute('title', element.parentElement.title);\n \n // Controlla se l'elemento ha la classe a cui è associato l'attributo disabled,\n // quindi agisci di conseguenza\n if (element.parentElement.classList.contains('ant-pagination-disabled')) {\n element.parentElement.setAttribute('tabindex', '0');\n element.parentElement.removeAttribute('aria-disabled');\n element.removeAttribute('disabled');\n element.setAttribute('aria-disabled', 'true');\n }\n else {\n element.parentElement.removeAttribute('aria-disabled');\n element.setAttribute('aria-disabled', 'false');\n }\n \n element.firstElementChild.removeAttribute('aria-label');\n element.firstElementChild.setAttribute('aria-hidden', 'true');\n\n });\n\n paginator.querySelectorAll('.ant-pagination-item a').forEach( element => {\n \n if (element.parentElement.title) {\n element.setAttribute('title', element.parentElement.title)\n\n element.setAttribute('tabindex', '0')\n element.parentElement.removeAttribute('tabindex');\n\n if (element.parentElement.classList.contains('ant-pagination-item-active')) {\n element.setAttribute('aria-current', true);\n }\n else {\n element.setAttribute('aria-current', false);\n }\n }\n\n });\n\n paginator.querySelectorAll('div.ant-pagination-options-size-changer').forEach( element => {\n element.removeAttribute('aria-label');\n });\n };\n\n const resetSearch = () => {\n setSelectedValue();\n setSelected(false);\n searchParams.delete('id');\n setSearchParams(searchParams);\n typeaheadRef.current.clear();\n\n let formattedColsAllApi =\n Object.keys(_.omit(list[0], hiddenColumns)).map((key) => ({\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n })) ?? [];\n\n // aggiungo icona info su nuova colonna fake\n formattedColsAllApi.push({\n title: () => Informazioni,\n dataIndex: 'Info',\n key: 'Info',\n onCell: () => ({\n style: { textAlign: 'center' }\n })\n });\n\n let formattedRowsAllApi =\n list.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 rowObject.Info = React.cloneElement(\n {\n handleOpenModal(row['Id report']);\n }}>\n \n \n );\n return rowObject;\n }) ?? [];\n\n setColumns(formattedColsAllApi);\n setRows(formattedRowsAllApi);\n if (formattedRowsAllApi.length > 0) {\n injectPaginationNav();\n }\n setDettaglioColumns('');\n setDettaglioRows('');\n setSelectedRow(false);\n setLoading(false);\n };\n\n const executeSearch = () => {\n const mounted = false;\n if (!mounted) {\n if (selected) {\n setLoading(true);\n setSelectedPage(1);\n setPageSize(10);\n }\n }\n const getDetail = async () => {\n try {\n const data = list.filter((item) => item['Id report'] === selectedValue.key);\n\n const formattedCols =\n Object.keys(_.omit(data[0], hiddenColumns)).map((key) => ({\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n })) ?? [];\n\n // aggiungo icona info su nuova colonna fake\n formattedCols.push({\n title: () => Informazioni,\n dataIndex: 'Info',\n key: 'Info',\n onCell: () => ({\n style: { textAlign: 'center' }\n })\n });\n\n const formattedRows = data.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 rowObject.Info = React.cloneElement(\n {\n handleOpenModal(row['Id report']);\n }}>\n \n \n );\n return rowObject;\n });\n\n if (!mounted) {\n setSelectedRow(false);\n setDettaglioColumns('');\n setDettaglioRows('');\n setColumns(formattedCols);\n setRows(formattedRows);\n if (formattedRows.length > 0) {\n injectPaginationNav();\n }\n setLoading(false);\n }\n } catch (ex) {\n setLoading(false);\n }\n };\n if (selectedValue && selected) {\n getDetail();\n }\n }; /* , [selectedValue, selected, checked?.return_code] */\n\n useEffect(() => {\n // FIX ARIA-EXPANDED NON PRESENTE INIZIALMENTE\n var autocompletes = document.getElementsByClassName('ant-select-selection-search-input');\n\n for (var i = 0; i < autocompletes.length; i++) {\n var element = autocompletes[i];\n element.setAttribute('aria-expanded', 'false');\n element.setAttribute('aria-activedescendant', '');\n }\n });\n\n const handleRowClick = async (e) => {\n setLoading(true);\n try {\n const data = list.filter((item) => item['Id report'] === e['Id report']);\n\n const formattedDetailColumns =\n Object.keys(_.omit(data[0], detailApiShow)).map((key) => ({\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n })) ?? [];\n\n const formattedDetailRows = data.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\n setDettaglioColumns(formattedDetailColumns);\n setDettaglioRows(formattedDetailRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n };\n\n return (\n
    \n \n {loading && }\n
    \n \n
    \n
    \n Criteri di ricerca\n

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

    \n 0 ? undefined : false}\n inputProps={{\n id: 'codice-ricerca',\n 'aria-disabled': !valueList.length > 0,\n 'aria-describedby': valueList.length > 0 ? '' : 'codice-ricerca-desc',\n className: valueList.length > 0 ? '' : 'criteri-ricerca-input-disabled',\n readOnly: !valueList.length > 0\n }}\n placeholder={valueList.length > 0 ? `Id/Titolo report ` : ''}\n onKeyDown={(event) => {\n if (event.key === 'Enter') event.preventDefault();\n }}\n onChange={(selection) => {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setSelectedValue(option);\n setSelected(option.value !== '');\n }\n }}\n onBlur={(event) => {\n if (event?.target.value === '') {\n setSelected(false);\n }\n }}\n value={selectedValue?.label}\n options={filteredValueList}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ? (\n <>\n \n Carica più risultati\n \n ) : (\n result.label\n )}\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n />\n
    \n
    \n {\n executeSearch();\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (selected) executeSearch();\n }\n }}>\n Cerca\n \n {\n resetSearch();\n }}>\n Annulla\n \n \n\n
    \n {isMobile && rows.length > 0 && (\n <>\n
    \n

    \n Riepilogo API\n

    \n record.id}\n components={{\n table: (props) =>
    \n }}\n />\n
    \n \n )}\n \n \n \n

    Dettaglio API

    \n \n\n
    \n
    \n
    \n {testoDiffusione?.descrizionePagina ?? ''}\n
    \n
    \n \n {testoDiffusione?.unita?.map((unita, index) => {\n return (\n \n \n \n \n
    {unita.titolo}
    \n
    \n
    {unita.sottotitolo}
    \n
    \n
      \n {unita.elencoReport?.map((report, reportIndex) => {\n return
    • {report}
    • ;\n })}\n
    \n
    \n
    \n
    \n \n );\n })}\n
    \n
    \n
    \n {testoDiffusione?.noteFondoPagina ?? ''}\n {\n setLoading(true);\n downloadJsonSwagger();\n }}\n icon={\n \n }>\n
    \n
    \n
    \n {!isMobile && rows.length > 0 && (\n <>\n
    \n

    \n Riepilogo API\n

    \n {\n return `${range[0]}-${range[1]} di ${total}`;\n }\n }}\n rowKey={(record) => record.id}\n rowClassName={(_, index) => {\n return index === selectedRow\n ? 'dettaglio-api-rows selected dettaglio-api-rows'\n : 'dettaglio-api-rows dettaglio-api-rows';\n }}\n onChange={() => {\n resetSearch();\n }}\n components={{\n table: (props) =>
    \n }}\n />\n
    \n \n )}\n \n \n \n
    \n );\n}\nexport default ApiDetail;\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 ApiIcon from 'icons/ApiIcon';\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 DetailApiModal from 'components/DetailApiModal';\n\nfunction Head({ resetCounter, defaultSkip, queryString }) {\n const dispatch = useDispatch();\n const modalRef = useRef();\n\n const handleOpenModal = (id) => {\n modalRef.current?.openModal(id);\n };\n\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 reportQueryString: undefined,\n testoDiffusione: undefined,\n oldCounter: undefined\n }\n } = useLocation();\n\n const mainTitle = 'Unità territoriali';\n const idPagina = '1';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\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 || moment(Date.now()).format('DD-MM-YYYY'));\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 [reportQueryString, setReportQueryString] = useState(state?.reportQueryString || '');\n const [testoDiffusione, setTestoDiffusione] = useState(state?.testoDiffusione || null);\n const [oldCounter, setOldCounter] = useState(state?.oldCounter || 1);\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 showZeroReports,\n showNextStep,\n stateApplied,\n showDateError,\n reportQueryString,\n testoDiffusione,\n oldCounter\n };\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(idPagina);\n return ret;\n };\n\n const fetchAmbitiGeografici = async (dataReport) => {\n let ret = await TerritoryService.ambitiGeografici(idPagina, null, dataReport);\n return ret;\n };\n\n const fetchUnitaAmministrative = async (data, ambito) => {\n return await TerritoryService.unitaAmministrative(data, 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\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n })\n .catch(() => {\n setTestoDiffusione(null);\n });\n\n const dataReport = moment().format('DD-MM-YYYY');\n setDate(dataReport);\n\n if (!showDateError) {\n fetchAmbitiGeografici(dataReport)\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 testoDiffusione\n } = state;\n setDate(date);\n setAmbitiGeografici(ambitiGeografici);\n setTestoDiffusione(testoDiffusione);\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 (resetCounter !== oldCounter) {\n setCheckedAmbitoGeografico(false);\n setCheckedUnitaAmministrativa(false);\n setOldCounter(resetCounter);\n }\n }, [resetCounter])\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString(reportQueryString);\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 {resetCounter && (\n
    \n ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\n \n
    \n \n Report disponibili alla data\n \n
    \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 {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Selezione {checkedAmbitoGeografico.value} abilitata.}\n {checkedUnitaAmministrativa && <>Ricerca per {checkedAmbitoGeografico.value}, {checkedUnitaAmministrativa.value}.}\n
    \n

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

    \n
    \n {\n ambitiGeografici?.length > 0 && !showDateError && (\n
    \n Ambiti geografici\n {\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 unitaAmministrative?.length > 0 && !showDateError && (\n
    \n {checkedAmbitoGeografico?.value}\n {\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 \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
    \n { testoDiffusione?.descrizionePagina }\n
    \n
    \n \n { testoDiffusione?.unita?.map((unita, index) => {\n return (\n \n \n \n \n

    { unita.titolo }

    \n
    \n
    \n { unita.sottotitolo }\n
    \n
    \n
      \n { unita.elencoReport?.map((report, reportIndex) => {\n return (
    • { report }
    • )\n })}\n
    \n
    \n
    \n
    \n \n )\n })}\n
    \n
    \n
    \n { testoDiffusione?.noteFondoPagina }\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 )}\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 \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 reportQueryString: `?id=${ua.id_funzione}&dateFrom=${dtFrom}`,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n {\n handleOpenModal(ua.id_funzione);\n }}\n aria-label={`Apri pop up API ${ua.titolo_report}`}\n title=\"Apri pop up API\">\n \n \n \n \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\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';\nimport NotFound from 'views/notFound';\nfunction TerritorialUnits({ isMobile, resetCounter, defaultSkip, queryString }) {\n const path = '';\n return (\n
    \n \n\n }\n />\n\n } \n />\n\n }/>\n \n \n
    \n );\n}\n\nexport default TerritorialUnits;\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 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 { Row, Col, Divider, Table } from 'antd';\nimport { useEffect, createRef, useState } from 'react';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\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 axios from 'axios';\nimport Utils from '../../utils';\nimport RicercaCodiceSvc from 'services/ricercaCodice';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\nimport '../../css/_ricercaCodice.scss';\n\nfunction StoriaUA({ isMobile, resetCounter, defaultSkip, queryString }) {\n const typeaheadRef = createRef();\n\n const [loading, setLoading] = useState(false);\n const [list, setList] = useState([]);\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 [valueList, setValueList] = useState([]);\n const [filteredValueList, setFilteredValueList] = useState([]);\n const [checked, setChecked] = useState();\n const [selectedRow, setSelectedRow] = useState();\n const [title, setTitle] = useState();\n const [isBug, setIsBug] = useState(false);\n const [selectedValue, setSelectedValue] = useState();\n const [columns, setColumns] = useState([]);\n const [rows, setRows] = useState([]);\n const [isChecked, setIsChecked] = useState(false);\n const [descrizioneEvento, setDescrizioneEvento] = useState();\n const [statusEventoSR, setStatusEventoSR] = useState();\n const [oldCounter, setOldCounter] = useState(1);\n\n const uaType = {\n regione: 'regione',\n provincia: 'provincia',\n comune: 'comune'\n };\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setChecked(null);\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setDescrizioneEvento();\n setStatusEventoSR();\n setTitle();\n typeaheadRef.current.clear();\n\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Storia unità territoriali - SITUAS';\n\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 let data;\n try {\n switch (checked.return_code) {\n case 3:\n ({ data } = await StoricoService.regione('', null));\n if (!mounted) {\n setValueList(\n data?.items.map((obj, i) => ({\n label: `${obj['cod_regione']} - ${obj['denominazione regione']} - ${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 setFilteredValueList(\n data.items.map((obj, i) => ({\n label:`${obj['cod_regione']} - ${obj['denominazione regione']} - ${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 }\n break;\n case 2:\n ({ data } = await StoricoService.provinceUts('', null));\n if (!mounted) {\n setValueList(\n data?.items.map((obj, i) => ({\n label: `${obj['cod_uts']} - ${obj['denominazione_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 setFilteredValueList(\n data.items.map((obj, i) => ({\n label: `${obj['cod_uts']} - ${obj['denominazione_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 setLoading(false);\n }\n break;\n case 1:\n ({ data } = await StoricoService.comune('', null));\n if (!mounted) {\n setValueList(\n data?.items.map(({ comune: com, pro_com_t }, i) => ({\n label: `${pro_com_t} - ${com}`,\n value: i,\n denominazione: com,\n codice: pro_com_t,\n key: i\n }))\n );\n setFilteredValueList(\n data.items.map(({ comune: com, pro_com_t }, i) => ({\n label: `${pro_com_t} - ${com}`,\n value: i,\n denominazione: com,\n codice: pro_com_t,\n key: i\n }))\n );\n setLoading(false);\n }\n break;\n default:\n break;\n }\n } catch {\n setLoading(false);\n }\n }\n };\n fetchValueList();\n return () => {\n mounted = true;\n };\n }, [checked]);\n\n const search = (inputValue) => {\n setSelected(false);\n setSelectedValue({ label: inputValue });\n if (inputValue?.length > 0) {\n let filtered = valueList.filter((value) =>\n value.label.split('-')[1].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n );\n\n if (!filtered.length) {\n filtered = valueList.filter((value) =>\n value.label.split('-')[0].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n );\n }\n\n if (!filtered.length) {\n filtered = valueList.filter((value) =>\n value.label.toLowerCase().trim().startsWith(inputValue.toLowerCase())\n );\n }\n setFilteredValueList(filtered);\n } else {\n setFilteredValueList(valueList);\n }\n };\n\n const executeSearch = async () => {\n setDettaglioRows([]);\n setDettaglioColumns([]);\n setDatiVariazioneRows([]);\n setDatiVariazioneColumns([]);\n setSelectedRow();\n setDescrizioneEvento();\n setStatusEventoSR();\n if (selected) {\n switch (checked.return_code) {\n case 1:\n setLoading(true);\n\n const codiceComune = selectedValue.codice;\n let denominazioneComune = selectedValue.denominazione;\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.comuneRiepilogo(\n codiceComune,\n denominazioneComune\n );\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 break;\n\n case 2:\n setLoading(true);\n const codiceProvincia = selectedValue.codice;\n let denominazioneProvincia = selectedValue.denominazione;\n const tipoProvincia = selectedValue.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 break;\n\n case 3:\n setLoading(true);\n\n const codiceReg = selectedValue.codice;\n let denominazioneReg = selectedValue.denominazione;\n const tipoRegione = selectedValue.tipo;\n\n const lastIndex = denominazioneReg.lastIndexOf('-');\n if (denominazioneReg.split('-').length > 1) {\n if (\n lastIndex !== -1 &&\n !denominazioneReg[lastIndex - 1].toLowerCase().match(/[a-z]/i)\n ) {\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 break;\n default:\n break;\n }\n }\n };\n\n const handleRowClick = async (e) => {\n setLoading(true);\n setDescrizioneEvento(e['descrizione evento']);\n setStatusEventoSR();\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, [\n 'identificativo_provvedimento',\n 'dt_prv_var',\n 'tipo variazione',\n 'id_uts_origine'\n ])\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) {\n // 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, [\n 'identificativo_provvedimento',\n 'dt_prv_var',\n 'tipo variazione',\n 'id_regione_origine'\n ])\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:\n key === 'CodCompRegAss'\n ? 'Codice Compartimento/Regione associato'\n : /*_.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 setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setTitle();\n setLoading(false);\n }\n setStatusEventoSR('Descrizione Evento: ' + e['descrizione evento']?.toLowerCase());\n };\n\n useEffect(() => {\n // FIX ARIA-EXPANDED NON PRESENTE INIZIALMENTE\n var autocompletes = document.getElementsByClassName('ant-select-selection-search-input');\n\n for (var i = 0; i < autocompletes.length; i++) {\n var element = autocompletes[i];\n element.setAttribute('aria-expanded', 'false');\n element.setAttribute('aria-activedescendant', '');\n }\n });\n\n return (\n
    \n \n {loading && }\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 typeaheadRef.current?.clear();\n } else {\n setChecked();\n setIsChecked(false);\n setSelectedValue();\n setSelected(false);\n }\n }}>\n );\n })}\n
    \n
    \n
    \n

    \n {(!checked || !selected) ? 'Popolare i filtri di ricerca per abilitare il pulsante.' : ''}\n

    \n
    \n

    , selezionare un'unità territoriale per abilitare la casella di ricerca.

    \n 0) ? undefined : false}\n inputProps={{\n id:\"storiaua-ricerca\",\n \"aria-disabled\":(!checked || !valueList.length > 0),\n \"aria-describedby\":(checked && valueList.length > 0) ? '' : 'storiaua-ricerca-desc',\n className:(checked && valueList.length > 0) ? '' : 'criteri-ricerca-input-disabled',\n readOnly:(!checked || !valueList.length > 0)\n }}\n placeholder={(checked && valueList.length > 0) ? `Codice/Denominazione ${checked?.label_tipologia}` : ''}\n onKeyDown={(event) => {\n if (event.key === \"Enter\")\n event.preventDefault();\n }}\n onChange={(selection) => {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setSelectedValue(option);\n setSelected(true);\n }\n }}\n onBlur={(event) => {\n if(event?.target.value === ''){\n setSelected(false);\n }\n }}\n value={selectedValue?.label}\n options={filteredValueList}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n\n />\n
    \n
    \n {\n executeSearch();\n }}>\n Cerca\n \n {\n setChecked(null);\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setDescrizioneEvento();\n setStatusEventoSR();\n setTitle();\n typeaheadRef.current.clear();\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 {title ? `Ricerca per ${checked?.label_tipologia} ${title}` : ''}\n {statusEventoSR} \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 \"aria-label\": `${record.id}`,\n onClick: () => handleRowClick(record),\n onKeyDown: (event) => {\n if (event.key === 'Enter') {\n handleRowClick(record);\n }\n }\n };\n }}\n components={{\n table: (props) => (\n
    \n )\n }}\n />\n {dettaglioRows.length > 0 && (\n <>\n

    Dettaglio provvedimento

    \n (\n
    \n )\n }}\n />\n \n )}\n {datiVariazioneRows.length > 0 && (\n <>\n

    Dettaglio variazione

    \n (\n
    \n )\n }}\n />\n \n )}\n \n )}\n \n \n
    \n

    Storia unità territoriali

    \n \n {!riepilogoRows.length > 0 && (\n
    \n Dopo aver ricercato la denominazione/codice dell'unità di interesse il sistema\n restituisce il riepilogo delle variazioni.
    \n Selezionata una variazione sono mostrati estremi e dettagli del provvedimento e unità\n coinvolte.\n
    \n )}\n {riepilogoRows.length > 0 && (\n <>\n {title &&
    {title}
    }\n

    Riepilogo variazioni

    \n record.id}\n rowClassName={(_, index) => {\n return index === selectedRow\n ? 'storia-ua-rows selected storia-ua-rows'\n : 'storia-ua-rows storia-ua-rows';\n }}\n onRow={(record, index) => {\n return {\n tabIndex: 0,\n \"aria-label\": `Approfondisci ${record.variazione} in data ${record['data evento']}. `,\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 components={{\n table: (props) => (\n
    \n )\n }}\n />\n \n )}\n
    \n
    \n {riepilogoRows.length > 0 && dettaglioRows.length > 0 && (\n <>\n

    Dettaglio provvedimento

    \n (\n
    \n )\n }}\n />\n \n )}\n
    \n
    \n {riepilogoRows.length > 0 && datiVariazioneRows.length > 0 && (\n <>\n

    Dettaglio variazione

    \n (\n
    \n )\n }}\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 { useState, useEffect, createRef } from 'react';\nimport { Col, Row, Divider, Table } from 'antd';\nimport Form from 'react-bootstrap/Form';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\nimport RicercaCodiceSvc from 'services/ricercaCodice';\nimport Loading from 'components/loading';\nimport _ from 'lodash';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\nimport '../../css/_ricercaCodice.scss';\n\nconst RicercaCodice = ({ isMobile, resetCounter, defaultSkip, queryString }) => {\n const typeaheadRef = createRef();\n\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 const [oldCounter, setOldCounter] = useState(1);\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setSelectedValue();\n setSelected(false);\n setChecked();\n setIsChecked(false);\n setColumns([]);\n setRows([]);\n typeaheadRef.current.clear();\n\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\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 executeSearch = () => {\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 typeaheadRef.current?.clear();\n }}\n />\n );\n })}\n
    \n
    \n
    \n

    \n {(!checked || !selected) ? 'Popolare i filtri di ricerca per abilitare il pulsante.' : ''}\n

    \n
    \n

    , selezionare un'unità territoriale per abilitare la casella di ricerca.

    \n 0) ? undefined : false}\n inputProps={{\n id:\"codice-ricerca\",\n \"aria-disabled\":(!checked || !valueList.length > 0),\n \"aria-describedby\":(checked && valueList.length > 0) ? '' : 'codice-ricerca-desc',\n className:(checked && valueList.length > 0) ? '' : 'criteri-ricerca-input-disabled',\n readOnly:(!checked || !valueList.length > 0)\n }}\n placeholder={(checked && valueList.length > 0) ? `Codice/Denominazione ${checked?.label_tipologia}` : ''}\n onKeyDown={(event) => {\n if (event.key === \"Enter\")\n event.preventDefault();\n }}\n onChange={(selection) => {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setSelectedValue(option);\n setSelected(option.value !== '');\n }\n }}\n onBlur={(event) => {\n if(event?.target.value === ''){\n setSelected(false);\n }\n }}\n value={selectedValue?.label}\n options={filteredValueList}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n />\n
    \n
    \n {\n executeSearch();\n }}\n >\n Cerca\n \n {\n setSelectedValue();\n setSelected(false);\n setChecked();\n setIsChecked(false);\n setColumns([]);\n setRows([]);\n typeaheadRef.current.clear();\n }}>\n Annulla\n \n \n \n \n

    Ricerca codice Istat

    \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 {!columns.length > 0 ? (\n \n ) : (\n <>\n {selectedValue ? `Ricerca per ${checked?.label_tipologia} ${selectedValue?.label}; ` : ''}\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 Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport ApiIcon from 'icons/ApiIcon';\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 DetailApiModal from 'components/DetailApiModal';\n\nfunction Head({ resetCounter, defaultSkip, queryString }) {\n const mainTitle = 'Ricostruzione codici statistici';\n const idPagina = '3';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n const modalRef = useRef();\n\n const handleOpenModal = (id) => {\n modalRef.current?.openModal(id);\n };\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 testoDiffusione: undefined,\n oldCounter: 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 const [testoDiffusione, setTestoDiffusione] = useState(state?.testoDiffusione || null);\n const [oldCounter, setOldCounter] = useState(state?.oldCounter || 1);\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 testoDiffusione,\n oldCounter\n };\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(idPagina);\n return ret;\n };\n\n const fetchAmbitiGeografici = async (dataStart, dataEnd) => {\n let ret = await TerritoryService.ambitiGeografici(idPagina, dataStart, dataEnd);\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 if (resetCounter !== oldCounter) {\n setCheckedAmbitoGeografico(false);\n setCheckedUnitaAmministrativa(false);\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\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\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n })\n .catch(() => {\n setTestoDiffusione(null);\n });\n\n const dataStart = moment('01-01-1991', 'DD-MM-YYYY').format('DD-MM-YYYY');\n const dataEnd = moment().format('DD-MM-YYYY');\n setDate(dataStart);\n setDateEnd(dataEnd);\n \n if (!showDateError) {\n fetchAmbitiGeografici(dataStart, dataEnd)\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 testoDiffusione\n } = state;\n setDate(date);\n setDateEnd(dateEnd);\n setAmbitiGeografici(ambitiGeografici);\n setTestoDiffusione(testoDiffusione);\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 ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\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\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 \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\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 {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Selezione {checkedAmbitoGeografico.value} abilitata.}\n {checkedUnitaAmministrativa && <>Ricerca per {checkedAmbitoGeografico.value}, {checkedUnitaAmministrativa.value}.}\n
    \n

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

    \n
    \n {\n ambitiGeografici?.length > 0 && !showDateError && (\n
    \n Ambiti geografici\n {\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 unitaAmministrative?.length > 0 && !showDateError && (\n
    \n {checkedAmbitoGeografico?.value}\n {\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 \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
    \n { testoDiffusione?.descrizionePagina }\n
    \n
    \n \n { testoDiffusione?.unita?.map((unita, index) => {\n return (\n \n \n \n \n

    { unita.titolo }

    \n
    \n
    \n { unita.sottotitolo }\n
    \n
    \n
      \n { unita.elencoReport?.map((report, reportIndex) => {\n return (
    • { report }
    • )\n })}\n
    \n
    \n
    \n
    \n \n )\n })}\n
    \n
    \n
    \n { testoDiffusione?.noteFondoPagina }\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 )}\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 \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 reportQueryString: `?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n {\n handleOpenModal(ua.id_funzione);\n }}\n aria-label={`Apri pop up API ${ua.titolo_report}`}\n title=\"Apri pop up API\">\n \n \n \n \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\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';\nimport NotFound from 'views/notFound';\nfunction RicostruzioneCodici({ isMobile, resetCounter, defaultSkip, queryString }) {\n const path = '';\n return (\n
    \n \n\n }\n />\n\n }\n />\n\n }/>\n \n \n
    \n );\n}\n\nexport default RicostruzioneCodici;\n","import React from 'react';\nimport './TabSkip.scss';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nconst TabSkip = ({ props }) => {\n const queryString = props?.queryString ? props.queryString : '';\n return (\n
    \n
      \n
    • \n \n Vai al contenuto della pagina\n \n
    • \n {props && !props.defaultSkip && (\n <>\n
    • \n \n Vai alla sezione Approfondimenti \n \n
    • \n
    • \n \n Vai alla sezione Aggiornamenti\n \n
    • \n \n )}\n
    • \n \n Vai al footer della pagina\n \n
    • \n
    \n
    \n );\n};\n\nexport default TabSkip;\n","import './App.scss';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport 'react-bootstrap-typeahead/css/Typeahead.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 ApiDetail from 'views/apiDetail';\nimport TerritorialUnits from './views/territorialUnits';\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 IsMobile from 'components/IsMobile/IsMobile';\nimport TabSkip from 'services/TabSkip/TabSkip';\nimport NotFound from 'views/notFound';\n\nconst App = () => {\n const dispatch = useDispatch();\n const [isMobile, setIsMobile] = useState(false);\n const [defaultSkip, setDefaultSkip] = useState(true);\n const [queryString, setQueryString] = useState('');\n const [resetCounter, setResetCounter] = useState(1);\n\n return (\n <>\n \n \n
    \n setResetCounter(value)} />\n
    \n \n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)} \n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)} \n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)} \n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n\n {/* FASE 3 - PAGINA DOWNLOAD OSCURATA\n setDefaultSkip(false)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n */}\n\n } />\n \n } />\n \n \n
    \n