{"version":3,"sources":["resources/img/logo_anpr_blue.svg","resources/img/logo_anpr_white.svg","resources/img/permalink.jpg","resources/img/permalink2.jpg","redux/actions/area-riservata/enti-actions/action-types.js","redux/actions/area-riservata/enti-actions/actions.js","redux/actions/area-riservata/decodifiche-actions/index.js","redux/actions/area-riservata/decodifiche-actions/get-decodifiche-actions.js","redux/actions/area-riservata/decodifiche-actions/decodifiche-actions-types.js","redux/actions/area-riservata/config-params-actions/get-config-params-actions.js","redux/actions/area-riservata/utils-actions/app-messages-config-actions.js","redux/actions/area-riservata/utils-actions/index.js","redux/actions/area-riservata/utils-actions/modale-conferma-config-actions.js","redux/actions/authentication/actions.js","redux/actions/authentication/action-types.js","redux/reducers/authentication/authenticationReducer.js","redux/reducers/authentication/enteByUtenteReducer.js","redux/reducers/area-riservata/enti-reducers/categorieEnte.js","redux/reducers/area-riservata/enti-reducers/tipologieEnte.js","redux/reducers/area-riservata/enti-reducers/ricercaRichiestaAccordoFruizione.js","redux/reducers/area-riservata/enti-reducers/richiestaFormData.js","redux/reducers/area-riservata/enti-reducers/richiestaStandardAccordoFruizioneForm.js","redux/reducers/area-riservata/enti-reducers/casiUsoReducer.js","redux/reducers/area-riservata/enti-reducers/salvaRichiestaAccordoInStatoInserito.js","redux/reducers/area-riservata/enti-reducers/uploadFileAccordoFruizioneFirmatoReducer.js","redux/reducers/area-riservata/enti-reducers/getFileAccordoToDownloadReducer.js","redux/reducers/area-riservata/decodificheStatiAccordoReducer.js","redux/reducers/area-riservata/decodificheTipiUtenteReducer.js","redux/reducers/area-riservata/enti-reducers/categorieSpecificheEnteReducer.js","redux/reducers/area-riservata/enti-reducers/annullaRichiestaAccreditamento.js","redux/reducers/area-riservata/enti-reducers/pecReducer.js","redux/reducers/area-riservata/enti-reducers/generaCredenziali.js","redux/reducers/area-riservata/enti-reducers/salvaLaNuovaPassword.js","redux/reducers/area-riservata/enti-reducers/attivazioneAccreditamento.js","redux/reducers/area-riservata/enti-reducers/utenteLinkScadutoReducer.js","redux/reducers/area-riservata/decodificheStatoUtenteReducer.js","redux/reducers/area-riservata/decodificheStatoNormativaReducer.js","redux/reducers/appLoadingReducer.js","redux/reducers/area-riservata/enti-reducers/setHighestFormStepAccessedReducer.js","redux/reducers/area-riservata/setUtenteAggiornatoReducer.js","redux/reducers/createReducer.js","redux/reducers/area-riservata/accordi-reducers/approva-respingi-richiesta-adesione-reducers.js","redux/actions/area-riservata/accordi-actions/approva-respingi-richiesta-adesione.js","redux/reducers/area-riservata/accordi-reducers/cancel-richiesta-adesione-by-id-richiesta-reducers.js","redux/actions/area-riservata/accordi-actions/cancel-richiesta-adesione-by-id-richiesta-actions.js","redux/reducers/area-riservata/accordi-reducers/disable-enable-casi-uso-by-id-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/disable-enable-casi-uso-by-id-accordo-actions.js","redux/reducers/area-riservata/accordi-reducers/get-accordo-attivo-data-reducers.js","redux/actions/area-riservata/accordi-actions/get-accordo-attivo-data-actions.js","redux/actions/area-riservata/accordi-actions/get-accordi-by-id-ente-actions.js","components/common/decodifiche.js","redux/reducers/area-riservata/accordi-reducers/get-accordi-by-id-ente-reducers.js","redux/actions/area-riservata/accordi-actions/files-richiesta-adesione-actions.js","redux/reducers/area-riservata/accordi-reducers/get-accordo-by-id-reducers.js","redux/actions/area-riservata/accordi-actions/get-accordo-by-id-actions.js","redux/reducers/area-riservata/accordi-reducers/get-accordi-by-id-stato-reducers.js","redux/actions/area-riservata/accordi-actions/get-accordi-by-id-stato-actions.js","redux/actions/area-riservata/accordi-actions/get-accordi-by-stati-actions.js","redux/reducers/area-riservata/accordi-reducers/get-accordi-by-stati-reducers.js","redux/reducers/area-riservata/accordi-reducers/get-casi-uso-associati-by-id-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/get-casi-uso-associati-by-id-accordo-actions.js","redux/reducers/area-riservata/accordi-reducers/get-casi-uso-by-id-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/get-casi-uso-by-id-accordo-actions.js","redux/actions/area-riservata/accordi-actions/get-dettaglio-caso-uso-by-id-actions.js","redux/reducers/area-riservata/accordi-reducers/get-dettaglio-caso-uso-by-id-reducers.js","redux/reducers/area-riservata/accordi-reducers/insert-richiesta-adesione-reducers.js","redux/actions/area-riservata/accordi-actions/insert-richiesta-adesione-actions.js","redux/reducers/area-riservata/accordi-reducers/insert-file-richiesta-firmato-reducers.js","redux/actions/area-riservata/accordi-actions/insert-file-richiesta-firmato-actions.js","redux/reducers/area-riservata/accordi-reducers/insert-file-richiesta-controfirmato-reducers.js","redux/actions/area-riservata/accordi-actions/insert-file-richiesta-controfirmato-actions.js","redux/actions/area-riservata/accordi-actions/nuova-richiesta-adesione-data-actions.js","redux/reducers/area-riservata/accordi-reducers/nuova-richiesta-adesione-data-reducers.js","redux/reducers/area-riservata/accordi-reducers/send-richiesta-adesione-by-id-richiesta-reducers.js","redux/actions/area-riservata/accordi-actions/send-richiesta-adesione-by-id-richiesta-actions.js","redux/reducers/area-riservata/accordi-reducers/update-casi-uso-by-id-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/update-casi-uso-by-id-accordo-actions.js","redux/reducers/area-riservata/accordi-reducers/update-richiesta-adesione-by-id-richiesta-reducers.js","redux/actions/area-riservata/accordi-actions/update-richiesta-adesione-by-id-richiesta-actions.js","redux/reducers/area-riservata/accordi-reducers/getResponsabileFirmaAccordoReducer.js","redux/actions/area-riservata/accordi-actions/get-responsabile-firma-accordo-actions.js","redux/reducers/area-riservata/accordi-reducers/insert-responsabile-firma-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/insert-responsabile-firma-accordo-actions.js","redux/reducers/area-riservata/accordi-reducers/update-responsabile-firma-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/update-responsabile-firma-accordo-actions.js","redux/actions/area-riservata/accordi-actions/revoca-accordo.js","redux/reducers/area-riservata/accordi-reducers/revoca-accordo-reducers.js","redux/reducers/area-riservata/accordi-reducers/attiva-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/attiva-accordo.js","redux/reducers/area-riservata/accordi-reducers/sospendi-accordo-reducers.js","redux/actions/area-riservata/accordi-actions/sospendi-accordo.js","redux/reducers/area-riservata/accordi-reducers/index.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-stati-accordo-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-stati-normativa-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-stati-utente-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-tipi-utente-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-stati-caso-uso-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-stati-tipologia-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-ambiti-territoriali-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/get-decodifiche-ambiti-reducers.js","redux/reducers/area-riservata/decodifiche-reducers/index.js","redux/reducers/area-riservata/enti-reducers/getCategorieEnteByIdTipologiaReducer.js","redux/actions/area-riservata/enti-actions/get-categorie-ente-by-id-tipologia-actions.js","redux/reducers/area-riservata/enti-reducers/getTipologieEnteAllReducer.js","redux/actions/area-riservata/enti-actions/get-tipologie-ente-all-actions.js","redux/reducers/area-riservata/enti-reducers/getCategorieSpecificheEnteByIdCategoriaReducer.js","redux/actions/area-riservata/enti-actions/get-categorie-specifiche-ente-by-id-categoria-actions.js","redux/reducers/area-riservata/enti-reducers/index.js","redux/actions/area-riservata/normative-actions/get-normative-all-actions.js","redux/reducers/area-riservata/normative-reducers/get-normative-all-reducers.js","redux/reducers/area-riservata/normative-reducers/delete-normativa-by-id-reducers.js","redux/actions/area-riservata/normative-actions/delete-normativa-by-id-actions.js","redux/reducers/area-riservata/normative-reducers/update-normativa-by-id-reducers.js","redux/actions/area-riservata/normative-actions/update-normativa-by-id-actions.js","redux/reducers/area-riservata/normative-reducers/insert-normativa-reducers.js","redux/actions/area-riservata/normative-actions/insert-normativa-actions.js","redux/reducers/area-riservata/normative-reducers/get-normative-by-id-tipologia-ente-reducers.js","redux/actions/area-riservata/normative-actions/get-normative-by-id-tipologia-ente-actions.js","redux/reducers/area-riservata/normative-reducers/get-normative-by-classe-ente-reducers.js","redux/actions/area-riservata/normative-actions/get-normative-by-classe-ente-actions.js","redux/reducers/area-riservata/normative-reducers/index.js","redux/reducers/area-riservata/casi-uso-reducers/get-casi-uso-all-reducers.js","redux/actions/area-riservata/casi-uso-actions/get-casi-uso-all-actions.js","redux/actions/area-riservata/casi-uso-actions/get-caso-uso-form-fields-actions.js","redux/reducers/area-riservata/casi-uso-reducers/get-caso-uso-form-fields-reducers.js","redux/reducers/area-riservata/casi-uso-reducers/insert-caso-uso-reducers.js","redux/actions/area-riservata/casi-uso-actions/insert-caso-uso-actions.js","redux/reducers/area-riservata/casi-uso-reducers/cancel-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/cancel-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/update-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/update-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/approve-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/approve-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/disable-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/disable-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/enable-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/enable-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/reject-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/reject-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/propose-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/propose-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/extend-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/extend-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/activate-caso-uso-by-id-reducers.js","redux/actions/area-riservata/casi-uso-actions/activate-caso-uso-by-id-actions.js","redux/reducers/area-riservata/casi-uso-reducers/get-active-clusters-reducers.js","redux/actions/area-riservata/casi-uso-actions/get-active-clusters-actions.js","redux/actions/area-riservata/casi-uso-actions/set-casi-uso-changes-actions.js","redux/reducers/area-riservata/casi-uso-reducers/set-casi-uso-changes-reducers.js","redux/reducers/area-riservata/casi-uso-reducers/index.js","redux/reducers/spinnerReducer.js","redux/reducers/area-riservata/utils-reducers/modale-conferma-config-reducers.js","redux/reducers/area-riservata/utils-reducers/app-messages-config-reducers.js","redux/reducers/area-riservata/utils-reducers/index.js","redux/reducers/area-riservata/ip-reducers/delete-ip-by-id-reducers.js","redux/actions/area-riservata/ip-actions/delete-ip-by-id-actions.js","redux/reducers/area-riservata/ip-reducers/get-ip-by-id-accordo-attivo-reducers.js","redux/actions/area-riservata/ip-actions/get-ip-by-id-accordo-attivo-actions.js","redux/reducers/area-riservata/ip-reducers/insert-ip-reducers.js","redux/actions/area-riservata/ip-actions/insert-ip-actions.js","redux/reducers/area-riservata/ip-reducers/update-ip-by-id-reducers.js","redux/actions/area-riservata/ip-actions/update-ip-by-id-actions.js","redux/reducers/area-riservata/ip-reducers/index.js","redux/reducers/area-riservata/interfacce-reducers/get-interfacce-by-id-accordo-attivo-reducers.js","redux/actions/area-riservata/interfacce-actions/get-interfacce-by-id-accordo-attivo-actions.js","redux/reducers/area-riservata/interfacce-reducers/index.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/get-filtro-tipologie-by-utenza-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-filtro-tipologie-by-utenza-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/insert-tipologia-categoria-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/insert-tipologia-categoria-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/get-tipologie-all-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-tipologie-all-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/get-tipologie-by-utenza-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-tipologie-by-utenza-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/get-tipologie-by-stati-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-tipologie-by-stati-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/update-tipologia-by-id-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/update-tipologia-by-id-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/cancel-tipologia-by-id-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/cancel-tipologia-by-id-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/tipologie-reducers/index.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/get-categorie-all-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-categorie-all-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/get-categorie-by-utenza-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-categorie-by-utenza-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/get-categorie-by-stati-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-categorie-by-stati-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/get-filtro-categorie-by-utenza-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-filtro-categorie-by-utenza-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/insert-categoria-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/insert-categoria-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/index.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-reducers/update-categoria-by-id-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/update-categoria-by-id-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers/get-categorie-specifiche-all-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/get-categorie-specifiche-all-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers/get-categorie-specifiche-by-utenza-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/get-categorie-specifiche-by-utenza-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers/get-categorie-specifiche-by-stati-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/get-categorie-specifiche-by-stati-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers/insert-categoria-specifica-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/insert-categoria-specifica-actions.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers/index.js","redux/reducers/area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers/update-categoria-specifica-by-id-reducers.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/update-categoria-specifica-by-id-actions.js","redux/reducers/area-riservata/accreditamento-reducers/index.js","redux/reducers/area-riservata/accreditamento-reducers/revoca-accreditamento-reducers.js","redux/actions/area-riservata/accreditamento-actions/revoca-accreditamento-actions.js","redux/reducers/area-riservata/constants-reducers/get-regioni-all-reducers.js","redux/actions/area-riservata/constants-actions/get-regioni-all-actions.js","redux/reducers/area-riservata/constants-reducers/index.js","redux/reducers/common/annulla-riepilogo-richiesta-adesione-reducers.js","redux/actions/common-actions/annulla-riepilogo-richiesta-adesione-actions.js","redux/reducers/common/change-password-reducers.js","redux/actions/common-actions/change-password-actions.js","redux/reducers/common/conferma-riepilogo-richiesta-adesione-reducers.js","redux/actions/common-actions/conferma-riepilogo-richiesta-adesione-actions.js","redux/reducers/common/get-riepilogo-richiesta-adesione-reducers.js","redux/actions/common-actions/get-riepilogo-richiesta-adesione-actions.js","redux/reducers/common/richiedi-reset-password.js","redux/actions/common-actions/richiedi-reset-password-actions.js","redux/reducers/common/reset-password.js","redux/actions/common-actions/reset-password-actions.js","redux/reducers/common/index.js","redux/reducers/common/check-reset-password-link-reducers.js","redux/actions/common-actions/check-reset-password-link-actions.js","redux/reducers/area-riservata/config-params-reducers/get-config-params-reducers.js","redux/reducers/area-riservata/config-params-reducers/index.js","redux/reducers/authentication/entiByAuthUser.js","redux/reducers/index.js","redux/actions/common-actions/spinner-actions.js","redux/actions/authentication/get-enti-actions.js","redux/store.js","components/common/interceptor.js","contexts/index.js","utils/functions/objects/isNullOrUndefined.js","components/layout/header/Navbar.jsx","components/layout/header/Header.jsx","components/layout/Footer.js","components/ui/spinner/index.js","components/ui/row/index.js","components/layout/error-page/index.jsx","components/layout/page-wrapper/index.jsx","components/ui/accordion/index.js","components/ui/auto-toggle-button/index.js","components/ui/icon/index.js","components/ui/button/index.js","components/ui/tooltip/index.jsx","components/ui/input/index.js","components/ui/captcha/index.js","components/ui/card/index.js","components/ui/chip/index.js","components/ui/date-picker/index.js","components/ui/details-table/index.jsx","components/ui/diacritic-input/diacriticCharacters.js","components/ui/diacritic-input/index.js","utils/functions/strings/detectCase.js","components/ui/download-file/index.jsx","components/ui/icon-button/index.js","components/ui/dropdown/index.jsx","components/ui/fieldset/index.jsx","components/ui/go-nav-link/index.js","components/ui/input-file/index.jsx","utils/functions/files/convertFileToBase64.js","components/ui/input-password/index.jsx","constants/strings/index.js","components/ui/typography/index.jsx","components/ui/label-value-list-item/index.jsx","components/ui/link/index.jsx","components/ui/list/index.jsx","components/ui/messages/index.js","components/ui/modal/index.js","components/ui/multiselect/MultiSelectOptionGroup.jsx","utils/functions/strings/useTruncateString.js","components/ui/multiselect/index.jsx","components/ui/switch/index.js","components/ui/table/NoDataRow.jsx","components/ui/table/index.js","components/ui/pagination/NavItem.js","components/ui/pagination/index.js","components/ui/paginated-table/index.jsx","components/ui/progress-bar/index.jsx","components/ui/radio/index.jsx","components/ui/scroll-top-button/index.jsx","components/ui/select/index.js","components/ui/single-checkbox/index.js","components/ui/tabs/index.js","components/ui/text-area/index.js","components/formik/index.js","constants/stati-accordo/index.js","redux/actions/area-riservata/accordi-actions/index.js","redux/actions/area-riservata/casi-uso-actions/index.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/index.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/index.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/index.js","components/layout/modale-conferma/utils/index.js","components/layout/modale-conferma/index.jsx","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/cancel-categoria-by-id-actions.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/cancel-categoria-specifica-by-id-actions.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/propose-categoria-by-id-actions.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/propose-categoria-specifica-by-id-actions.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/propose-tipologia-by-id-actions.js","redux/actions/area-riservata/accreditamento-actions/index.js","components/layout/app-messages/index.jsx","components/layout/app-messages/createText.js","components/layout/sidebar-content-layout/index.jsx","components/layout/access-bar/AccessBar.jsx","components/home/index.jsx","components/not-found/NotFoundComponent.jsx","components/common/accordo/dati-standard-utente/DettagliDatiStandardUtente.jsx","components/common/accordo/dati-standard-impostazioni/DatiStandardImpostazioni.jsx","components/area-riservata/ar-enti-pa/richiesta-accordo/_partials/richiesta-standard-riepilogo/riepilogo-confermazione-dati/RiepilogoConfermazioneDati.jsx","components/tree/components/Decorators/Loading.js","components/common/handleErrorsAndLoading.js","components/common/getFileFromData.js","components/area-riservata/ar-enti-pa/form-richiesta/download-upload-file-accordo-firmato/display-scarica-file/DisplayScaricaFile.jsx","components/area-riservata/ar-enti-pa/form-richiesta/download-upload-file-accordo-firmato/display-invia-accordo/DisplayInviaAccordo.jsx","components/area-riservata/ar-enti-pa/form-richiesta/download-upload-file-accordo-firmato/display-carica-file/DisplayCaricaFile.jsx","components/area-riservata/ar-enti-pa/form-richiesta/download-upload-file-accordo-firmato/display-section-upload-accordo-fruizione/DisplaySectionUploadAccordoFruizione.jsx","components/common/getBase64.js","components/area-riservata/ar-enti-pa/form-richiesta/download-upload-file-accordo-firmato/DownloadUploadFileAccordoFirmato.jsx","components/area-riservata/ar-enti-pa/richiesta-trovata/RichiestaTrovata.jsx","components/area-riservata/common/dettagli-accordo/_partials/info-card/index.jsx","components/area-riservata/common/dettagli-accordo/utils/constants/index.js","constants/attori-accordo/index.js","constants/tipo-email/index.js","constants/config-params-keys/index.js","components/area-riservata/common/dettagli-accordo/utils/createCardArray.js","utils/functions/files/downloadBase64File.js","redux/actions/area-riservata/file/download-file.js","redux/actions/area-riservata/file/index.js","components/area-riservata/common/dettagli-accordo/DettagliAccordo.jsx","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/_partials/ModaleApprovaBody.jsx","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/_partials/ModaleDisabilitaBody.jsx","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/modaleFormData.js","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/_partials/ModaleRifiutaBody.jsx","components/ui/select/createSelectArrayFromDec.js","redux/actions/area-riservata/constants-actions/index.js","components/area-riservata/ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/partials/FormModaleCasoUsoAssociato.jsx","components/area-riservata/ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/partials/aggiornaCasoUsoAssociatoValidationSchema.js","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/casiUsoTableData.js","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/filtersFormData.js","components/area-riservata/common/sezione-filtri/FiltersComponent.jsx","components/area-riservata/common/sezione-filtri/index.jsx","components/ui/accordion-list/index.js","components/area-riservata/common/gestione-normative/visualizza-normative/_partials/accordion-normative/index.js","components/area-riservata/common/tabella-casi-uso-associati/_partials/DettaglioCasoUso.jsx","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/utils/_partials/ModaleMotivoRifiutoBody.jsx","redux/actions/area-riservata/normative-actions/index.js","components/area-riservata/common/gestione-casi-uso/catalogo-casi-uso/CatalogoCasiUso.jsx","components/area-riservata/common/gestione-casi-uso/nuovo-caso-uso/_partials/utils/casoUsoFormData.js","components/area-riservata/common/gestione-casi-uso/nuovo-caso-uso/_partials/FormCasoUso.jsx","constants/stati-normativa/index.js","components/area-riservata/common/gestione-casi-uso/nuovo-caso-uso/NuovoCasoUso.jsx","components/area-riservata/common/gestione-casi-uso/GestioneCasiUsoSwitch.jsx","components/area-riservata/common/gestione-ip/nuovo-ip/_partials/utils/ipFormData.js","components/area-riservata/common/gestione-ip/nuovo-ip/_partials/FormIp.jsx","redux/actions/area-riservata/ip-actions/index.js","components/area-riservata/common/gestione-ip/nuovo-ip/NuovoIp.jsx","components/area-riservata/common/gestione-ip/visualizza-ip/utils/ipTableData.js","components/area-riservata/common/gestione-ip/visualizza-ip/VisualizzaIp.jsx","components/area-riservata/common/gestione-ip/GestioneIpSwitch.jsx","utils/functions/dates/formateDate.js","components/area-riservata/common/gestione-normative/visualizza-normative/_partials/tabella-normative/utils/tableData.js","components/area-riservata/common/gestione-normative/visualizza-normative/_partials/tabella-normative/index.jsx","components/area-riservata/common/gestione-normative/visualizza-normative/_partials/utils/filtersFormData.js","components/area-riservata/common/gestione-normative/visualizza-normative/VisualizzaNormative.jsx","components/area-riservata/common/gestione-normative/common/normativa-form/utils/index.js","components/ui/figure/index.jsx","components/area-riservata/common/gestione-normative/common/normativa-form/index.jsx","components/area-riservata/common/gestione-normative/modifica-normativa/ModificaNormativa.jsx","components/area-riservata/common/gestione-normative/nuova-normativa/NuovaNormativa.jsx","components/area-riservata/common/gestione-normative/GestioneNormative.jsx","components/area-riservata/common/revoca/index.jsx","components/area-riservata/common/tabella-casi-uso-associati/utils2/tableData.js","components/area-riservata/common/tabella-casi-uso-associati/TabellaCasiUsoAssociati.jsx","components/area-riservata/common/tabella-casi-uso-associati/utils/tableData.js","components/area-riservata/common/tabella-casi-uso-associati/TabellaCasiUsoAssociatiOriginal.jsx","components/common/getAllAccordiPerEnte.js","components/area-riservata/common/tabella-accordi/utils/tableData.js","components/common/getAccordi.js","components/area-riservata/ar-enti-pa/richieste-annullate-operatore/RichiesteAnnullateOperatore.jsx","components/area-riservata/ar-enti-pa/richieste-annullate-operatore/RichiesteAnnullateSwitch.jsx","components/area-riservata/ar-enti-pa/richieste-respinte-operatore/RichiesteRespinteOperatore.jsx","components/area-riservata/ar-enti-pa/richieste-respinte-operatore/RichiesteRespinteSwitch.jsx","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/_partials/configura-richiesta-form/index.jsx","components/area-riservata/common/form-dati-utente/FormDatiUtente.jsx","utils/DateUtils.js","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/_partials/dati-attore-accordo/form-init/formInit.js","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/_partials/dati-attore-accordo/SezioneDelegato.jsx","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/_partials/dati-attore-accordo/index.jsx","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/_partials/note-ente/form-init/formInit.js","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/_partials/note-ente/index.jsx","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/utils/progressBarStepsDefault.js","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/RichiestaAdesione.jsx","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/ConfiguraNuovaRichiesta.jsx","redux/actions/area-riservata/enti-actions/index.js","components/area-riservata/ar-enti-pa/nuova-richiesta-adesione/NuovaRichiestaAdesioneSwitch.jsx","components/area-riservata/ar-enti-pa/riepilogo-richiesta-adesione/utils/index.js","components/ui/attachments-card/index.jsx","components/area-riservata/common/card-allegati-accordo/CardAllegatiAccordo.jsx","components/area-riservata/ar-enti-pa/riepilogo-richiesta-adesione/_partials/riepilogo-buttons/index.jsx","components/area-riservata/ar-enti-pa/riepilogo-richiesta-adesione/RiepilogoRichiestaAdesione.jsx","components/area-riservata/ar-enti-pa/RichiestaInseritaSwitch.jsx","components/area-riservata/common/gestione-categorie-tipologie/gestione-tipologie/utils/filtersFormData.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-tipologie/utils/tableData.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-tipologie/GestioneTipologie.jsx","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/activate-tipologia-by-id-actions.js","redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions/deactivate-tipologia-by-id-actions.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-categorie/utils/filtersFormData.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-categorie/utils/tableData.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-categorie/GestioneCategorie.jsx","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/activate-categoria-by-id-actions.js","redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions/deactivate-categoria-by-id-actions.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-tipologie/nuova-tipologia/_partials/utils/tipologiaFormData.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-tipologie/nuova-tipologia/_partials/FormTipologia.jsx","components/area-riservata/common/gestione-categorie-tipologie/gestione-tipologie/nuova-tipologia/NuovaTipologia.jsx","components/area-riservata/common/gestione-categorie-tipologie/gestione-categorie/nuova-categoria/_partials/utils/categoriaFormData.js","components/area-riservata/common/gestione-categorie-tipologie/gestione-categorie/nuova-categoria/_partials/FormCategoria.jsx","components/area-riservata/common/gestione-categorie-tipologie/gestione-categorie/nuova-categoria/NuovaCategoria.jsx","components/area-riservata/common/gestione-categorie-tipologie/GestioneCategorieTipologie.jsx","components/area-riservata/ar-enti-pa/revoca-accreditamento/index.jsx","components/area-riservata/ar-enti-pa/OperatoreSwitchComponents.jsx","components/layout/menu-navigazione/index.js","constants/voci_menu_navigazione/index.js","components/area-riservata/ar-enti-pa/sidebar-operatore/SidebarOperatore.jsx","components/area-riservata/ar-enti-pa/OperatoreContainer.jsx","components/area-riservata/ar-ministero/richieste-da-approvare-ministero/RichiesteDaApprovareMinistero.jsx","components/area-riservata/ar-garante/richieste-inviate-garante/RichiesteInviateSwitch.jsx","components/area-riservata/common/tabella-accordi/utils/filtersFormData.js","components/area-riservata/ar-ministero/lista-accordi-ministero/ListaAccordiMinistero.jsx","components/area-riservata/ar-ministero/richieste-di-adesione-ministero/dettagli-richiesta-adesione-ministero/_partials/casi-accordo-attivo/CasiUsoAccordoAttivoMinistero.jsx","components/area-riservata/ar-ministero/richieste-di-adesione-ministero/dettagli-richiesta-adesione-ministero/_partials/normative-accordo-attivo/NormativeAccordoAttivo.jsx","components/area-riservata/common/dettagli-accordo-attivo/DettagliAccordoAttivo.jsx","components/area-riservata/ar-garante/accordi-attivi-garante/AccordiAttiviSwitch.jsx","components/area-riservata/ar-ministero/richieste-respinte-ministero/RichiesteRespinteMinistero.jsx","components/area-riservata/ar-garante/richieste-respinte-garante/RichiesteRespinteSwitch.jsx","constants/monitoraggio.js","components/area-riservata/common/monitoraggio/utils/tableData.js","components/area-riservata/common/monitoraggio/_partials/MonitoraggioCard.jsx","components/area-riservata/common/monitoraggio/Monitoraggio.jsx","components/area-riservata/common/profilo-personale/ProfiloPersonale.jsx","components/attivazione-credenziali/scelta-password/SceltaPassword.jsx","components/area-riservata/common/cambio-password/CambioPassword.jsx","redux/actions/common-actions/index.js","components/area-riservata/common/cambio-password/form-init.js","components/area-riservata/ar-garante/GaranteSwitchComponents.jsx","components/area-riservata/ar-garante/sidebar-garante/SidebarGarante.jsx","components/area-riservata/ar-garante/GaranteContainer.jsx","components/area-riservata/ar-ministero/richieste-di-adesione-ministero/dettagli-richiesta-adesione-ministero/DettagliRichiestaInviataMinistero.jsx","components/area-riservata/ar-ministero/richieste-da-approvare-ministero/RichiesteDaApprovareSwitch.jsx","components/area-riservata/ar-ministero/accordi-attivi-ministero/AccordiAttiviSwitch.jsx","components/area-riservata/ar-ministero/richieste-respinte-ministero/RichiesteRespinteSwitch.jsx","components/area-riservata/ar-ministero/gestione-responsabile-firma-accordo/index.jsx","components/area-riservata/ar-ministero/gestione-responsabile-firma-accordo/nuovo-modifica-responsabile-firma-accordo/utils/formInit.js","components/area-riservata/ar-ministero/gestione-responsabile-firma-accordo/nuovo-modifica-responsabile-firma-accordo/index.jsx","components/area-riservata/ar-ministero/MinisteroSwitchComponents.jsx","components/area-riservata/ar-ministero/sidebar-ministero/SidebarMinistero.jsx","components/area-riservata/ar-ministero/MinisteroContainer.jsx","components/area-riservata/ar-responsabile-amministrazione/richiesta-adesione-resp-amm/RichiestaAdesioneRespAmm.jsx","components/area-riservata/ar-responsabile-amministrazione/richieste-responsabile-amministrazione/RichiesteResponsabileAmministrazione.jsx","components/common/modal/ModalComponent.jsx","components/area-riservata/ar-responsabile-amministrazione/profilo-personale-resp-amm/ProfiloPersonaleRespAmm.jsx","components/area-riservata/ar-enti-pa/form-richiesta/richiesta-accordo-standard/richiesta-standard-riepilogo/riepilogo-confermazione-dati/RiepilogoConfermazioneDati.jsx","components/area-riservata/ar-responsabile-amministrazione/display-casi-uso-to-select/DisplayCasiUsoToSelect.jsx","components/area-riservata/ar-responsabile-servizio/dettagli-richiesta-adesione-resp-serv/DettagliRichiestaAdesioneRespServ.jsx","components/area-riservata/ar-responsabile-servizio/richieste-annullate-resp-serv/RichiesteAnnullateRespServ.jsx","components/area-riservata/ar-responsabile-servizio/richieste-annullate-resp-serv/RichiesteAnnullateSwitch.jsx","components/area-riservata/ar-responsabile-servizio/richieste-respinte-resp-serv/RichiesteRespinteRespServ.jsx","components/area-riservata/ar-responsabile-servizio/richieste-respinte-resp-serv/RichiesteRespinteSwitch.jsx","components/area-riservata/ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/CasiUsoAccordoAttivo.jsx","components/area-riservata/common/tabella-interfacce/utils/tableData.js","components/area-riservata/ar-responsabile-amministrazione/interfacce-ws-resp-amm/InterfacceRespAmm.jsx","redux/actions/area-riservata/interfacce-actions/index.js","components/area-riservata/common/impostazioni-accordo/ImpostazioniAccordo.jsx","components/area-riservata/ar-responsabile-amministrazione/revoca-accordo-resp-amm/RevocaAccordoRespAmm.jsx","components/area-riservata/ar-responsabile-servizio/gestione-accordo-attivo/GestioneAccordoAttivoSwitch.jsx","components/area-riservata/ar-responsabile-servizio/accordi-revocati-resp-serv/AccordiRevocatiRespServ.jsx","components/area-riservata/ar-responsabile-servizio/accordi-revocati-resp-serv/AccordiRevocatiSwitch.jsx","components/area-riservata/ar-responsabile-servizio/RespServSwitchComponents.jsx","components/area-riservata/ar-responsabile-servizio/sidebar-responsabile-servizio/SidebarResponsabileServizio.jsx","components/area-riservata/ar-responsabile-servizio/RespServContainer.jsx","components/area-riservata/common/tabella-utenti/utils/tableData.js","components/area-riservata/ar-responsabile-amministrazione/gestione-utenti/GestioneUtentiRespAmm.jsx","components/area-riservata/ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/CasiUsoAccordoAttivoOriginal.jsx","components/area-riservata/ar-responsabile-amministrazione/gestione-accordo-attivo/GestioneAccordoAttivoSwitch.jsx","components/area-riservata/ar-responsabile-amministrazione/dettagli-richiesta-adesione-resp-amm/DettagliRichiestaAdesioneRespAmm.jsx","components/area-riservata/ar-responsabile-amministrazione/accordi-revocati-resp-amm/AccordiRevocatiRespAmm.jsx","components/area-riservata/ar-responsabile-amministrazione/accordi-revocati-resp-amm/AccordiRevocatiSwitch.jsx","components/area-riservata/ar-responsabile-amministrazione/richieste-annullate-resp-amm/RichiesteAnnullateRespAmm.jsx","components/area-riservata/ar-responsabile-amministrazione/richieste-annullate-resp-amm/RichiesteAnnullateSwitch.jsx","components/area-riservata/ar-responsabile-amministrazione/richieste-respinte-resp-amm/RichiesteRespinteRespAmm.jsx","components/area-riservata/ar-responsabile-amministrazione/richieste-respinte-resp-amm/RichiesteRespinteSwitch.jsx","components/area-riservata/ar-responsabile-amministrazione/RespAmmSwitchComponents.jsx","components/area-riservata/ar-responsabile-amministrazione/sidebar-responsabile-amministrazione/SidebarResponsabileAmministrazione.jsx","components/area-riservata/ar-responsabile-amministrazione/RespAmmContainer.jsx","components/common/private-route/PrivateRoute.jsx","components/area-riservata/AreaRiservataComponent.jsx","components/common/form/SubmitButton.jsx","components/attivazione-credenziali/link-scaduto/LinkScaduto.jsx","components/attivazione-credenziali/AttivazioneCredenziali.jsx","components/strumenti-di-supporto/lista-strumenti.js","components/strumenti-di-supporto/index.jsx","components/conferma-riepilogo-richiesta-adesione/index.jsx","constants/utenze/index.js","components/area-riservata/informativa-privacy/_partials/InformativaModalBody.jsx","components/area-riservata/informativa-privacy/_partials/informativaParagraphs.js","components/area-riservata/login/_partials/LoginForm.js","components/area-riservata/login/Login.jsx","components/richiesta-reset-password/_partials/RichiestaResetPasswordForm.jsx","components/richiesta-reset-password/index.jsx","components/reset-password/_partials/resetPasswordForm.jsx","components/reset-password/index.jsx","components/area-riservata/seleziona-ente/SelezioneEnte.jsx","redux/actions/authentication/get-utente-by-selezione-ente-actions.js","components/area-riservata/informativa-privacy/index.jsx","components/Router.jsx","components/AppContainer.jsx","contexts/DecodificheProvider.jsx","contexts/AuthProvider.jsx","redux/actions/authentication/index.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","CLEAN_ALL_REDUCERS","cleanAllReducers","type","ACTION_TYPES","getRicercaRichiestaAccordoFruizione","utente","dispatch","setRicercaRichiestaAccordoFruizioneLoading","axios","get","idente","then","res","payload","data","catch","error","ricercaRichiestaAccordoFruizioneFailed","richiestaStandardAccordoFormRecuperaDaBackend","idAccordo","richiestaStandardAccordoFormRecuperaDaBackendLoading","response","tipologia","setRichiestaStandardAccordoFromToStore","supervisore","codicefiscale","codice","richiestaStandardAccordoFormRecuperaDaBackendFailed","updateRichiestaAccordoFruizioneInStatoInseritoLoading","updateRichiestaAccordoFruizioneInStatoInseritoFailed","errorMessage","setSalvaRichiestaAccordoFruizioneInStatoInseritoLoading","salvaRichiestaAccordoFruizioneInStatoInseritoFailed","getFileAccordoToDownloadLoading","getFileAccordoToDownloadFailed","decodificheStatiAccordoLoading","decodificheStatiAccordoFailed","decodificheTipiUtenteLoading","decodificheTipiUtenteFailed","decodificheStatoUtenteLoading","decodificheStatoUtenteFailed","decodificheStatoNormativaLoading","decodificheStatoNormativaFailed","setPecLoading","pecFailed","RichiestaAccreditamentoFormGeneraCredenziali","idutente","idemail","setRichiestaAccreditamentoFormGeneraCredenzialiLoading","put","parseInt","richiestaAccreditamentoFormGeneraCredenzialiFailed","setVerificaLinkValidoOScadutoLoading","verificaLinkValidoOScadutoFailed","setSalvaLaNuovaPasswordLoading","salvaLaNuovaPasswordFailed","setGetUtenteLinkScadutoLoading","getUtenteLinkScadutoFailed","setAnnullaRichiestaAccreditamentoLoading","annullaRichiestaAccreditamentoFailed","getDecodifiche","callback","loading","all","spread","obj1","obj2","obj3","obj4","obj5","obj6","obj7","obj8","obj9","getDecodificheStatiCasoUsoSuccess","getDecodificheTipiUtenteSuccess","getDecodificheStatiUtenteSuccess","getDecodificheStatiNormativaSuccess","getDecodificheStatiTipologiaSuccess","getDecodificheAmbitiSuccess","getDecodificheAmbitiTerritorialiSuccess","getConfigParamsSuccess","err1","err2","err3","err4","err5","err6","err7","err8","err9","getDecodificheStatiCasoUsoError","getDecodificheTipiUtenteError","getDecodificheStatiUtenteError","getDecodificheStatiNormativaError","getDecodificheStatiTipologiaError","getDecodificheAmbitiError","getDecodificheAmbitiTerritorialiError","getConfigParamsError","addAppMessage","removeAppMessage","modaleConfermaConfig","config","scrollTop","window","scrollTo","top","left","behavior","appMessagesConfig","id","removeMessage","addMessageImpostazioniAccordoTodo","utenza","addMessage","fixed","text","to","loggingUser","createBrowserHistory","loginUserError","logoutUser","redirect","localStorage","clear","document","location","reload","setUserLoggedIn","getEnteByUtente","setEnteByUtenteLoading","enteByUtenteFailed","initialState","enti","ente","categorie","tipologie","richiesta","richieste","categoria","categoriaspecifica","categoria_tipologia_diversa","tipologia_selezionata","counter","form","noteente","maxutenti","transazionipreviste","maxtransazionipreviste","rappresentantelegale","nome","cognome","datanascita","telefono","email","tipoemail","responsabileamministrazione","delegato","classificazione_ipa","riferimenti_normativi","casi_associati","filedelega","casi","count","filterCasiSlezionati","action","allCasi","idCasiSelezionati","newCasiSelezionati","map","caso","ID","push","filterCasi","pageCurrent","newCasi","length","limit","casiLastPage","Math","ceil","currentPageCurrent","currentLimit","sort","casoA","casoB","slice","richiestaSalvataStatoInserito","uploadedFileAccordoFruizioneFirmato","fileAccordoFruizioneFirmatoToDownload","stati_accordo","tipi_utente","categorie_specifiche","pec","credenzialiGenerati","stati_utente","stati_normativa","highestStepAccessed","utenteAggiornato","createReducer","reducerArray","handlers","forEach","red","state","hasOwnProperty","approva_respingi_accordo","isLoading","rejected","rejection_message","approved","get_accordo_by_id","cancel_richiesta_adesione_by_id_richiesta","deleting","undefined","pristine","richiesta_adesione_data","configIsLoading","edited","update_richiesta_adesione_by_id_richiesta","send_richiesta_adesione_by_id_richiesta","insert_richiesta_adesione","canceled","disable_enable_casi_uso_by_id_accordo","updated","get_accordo_attivo_data","getAccordiByIdEnteSuccess","getNomeDecodificaById","decodifiche","arrayDecodifiche","filter","decodifica","idtab","traduzione","getIdDecodificaByVariabile","variabileDecodifica","decodificaObj","find","variabile","getValueFromDecodificaKey","key","traduzionetrasl","get_accordi_by_id_ente","idStatoAttivo","accordoAttivo","el","idstato","richiestaInserita","richiestaInviata","includes","accordi_by_id_ente","id_accordo_attivo","accordo_attivo","richiesta_inserita","richiesta_inviata","getFileRichiestaSuccess","getFileRichiestaError","getFileFirmatoRichiestaSuccess","getFileFirmatoRichiestaError","getFileControfirmatoRichiestaSuccess","getFileControfirmatoRichiestaError","getFileDelegaSuccess","filerichiesta","filefirmatorichiesta","filecontrofirmatorichiesta","fileRichiestaIsLoading","fileFirmatoRichiestaIsLoading","fileControFirmatoRichiestaIsLoading","fileDelegaIsLoading","fileRichiestaError","fileFirmatoRichiestaError","fileControFirmatoRichiestaError","fileDelegaError","accordo","get_accordi_by_id_stato","accordi_by_id_stato","statoaccordo","getAccordiByStatiSuccess","getAccordiByStatiError","get_accordi_by_stati","accordi_by_stati","accordi","get_casi_uso_associati_by_id_accordo","casi_uso_associati_by_id_accordo","edit","get_casi_uso_by_id_accordo","casi_uso_by_id_accordo","noContent","descrizione","getDettaglioCasoUsoByIdSuccess","get_dettaglio_caso_uso_by_id","dettaglio_caso_uso_by_id","inserted","insert_file_richiesta_firmato","insert_file_richiesta_controfirmato","putRichiestaAdesioneDataSuccess","handleStepData","stepId","status","stepData","next","step","cf_errors","cfErrors","completed","reset","resetting","sent","update_casi_uso_by_id_accordo","responsabile_firma_accordo","get_responsabile_firma_accordo","insert_responsabile_firma_accordo","update_responsabile_firma_accordo","revocaAccordoSuccess","revoca_accordo","revoked","attiva_accordo","activated","sospendi_accordo","suspended","approvaRespingiRichiestaAdesione","attivaAccordoReducers","cancelRichiestaAdesioneByIdRichiestaReducers","disableEnableCasiUsoByIdAccordoReducers","getAccordiByIdEnteReducers","getAccordiByIdStatoReducers","getAccordiByStatiReducers","getAccordoByIdReducers","getAccordoAttivoDataReducers","getCasiUsoByIdAccordoReducers","getCasiUsoAssociatiByIdAccordoReducers","getDettaglioCasoUsoByIdReducers","getResponsabileFirmaAccordoReducer","insertRichiestaAdesioneReducers","insertFileRichiestaFirmatoReducers","insertFileRichiestaControfirmatoReducers","insertResponsabileFirmaAccordoReducers","revocaAccordoReducers","richiestaAdesioneDataReducers","sendRichiestaAdesioneByIdRichiestaReducers","sospendiAccordoReducers","updateCasiUsoByIdAccordoReducers","updateResponsabileFirmaAccordoReducers","updateRichiestaAdesioneByIdRichiestaReducers","content","stato_accordo","toUpperCase","split","join","stato_normativa","stato_utente","tipo_utente","stati_caso_uso","stato_caso_uso","stati_tipologia","stato_tipologia","ambiti_territoriali","ambito_territoriale","ambiti","ambito","getDecodificheAmbitiReducers","getDecodificheAmbitiTerritorialiReducers","getDecodificheTipiUtenteReducers","getDecodificheStatiUtenteReducers","getDecodificheStatiAccordoReducers","getDecodificheStatiCasoUsoReducers","getDecodificheStatiNormativaReducers","getDecodificheStatiTipologiaReducers","get_categorie_ente_by_id_tipologia","categorie_ente_by_id_tipologia","id_tipologia","idTipologia","get_tipologie_ente_all","tipologie_ente_all","get_categorie_specifiche_ente_by_id_categoria","categorie_specifiche_ente_by_id_categoria","getCategorieEnteByIdTipologiaReducer","getCategorieSpecificheEnteByIdCategoriaReducer","getTipologieEnteAllReducer","getNormativeAllSuccess","getNormativeAllError","get_normative_all","normative","delete_normativa_by_id","isDeleting","deleted","update_normativa_by_id","insert_normativa","get_normative_by_id_tipologia_ente","reset_normative_by_id_tipologia_ente","get_normative_by_classe_ente","normative_all_reducer","normativeByIdTipologiaEnteReducers","normativeByClasseEnteReducers","get_casi_uso_all","casi_uso","getCasoUsoFormFieldsSuccess","getCasoUsoFormFieldsError","get_caso_uso_form_fields","caso_uso_form_fields","insert_caso_uso","insert","cancel_caso_uso_by_id","cancel","update_caso_uso_by_id","update","approve_caso_uso_by_id","approve","disable_caso_uso_by_id","disable","enable_caso_uso_by_id","enable","reject_caso_uso_by_id","reject","propose_caso_uso_by_id","propose","extend_caso_uso_by_id","extend","activate_caso_uso_by_id","activate","get_active_clusters","active_clusters","setCasiUsoChangesSuccess","set_casi_uso_changes","casi_uso_changes","activateCasoUsoByIdReducers","activeClustersReducers","approveCasoUsoByIdReducers","cancelCasoUsoByIdReducers","casi_uso_all_reducer","caso_uso_form_fields_reducer","disableCasoUsoByIdReducers","enableCasoUsoByIdReducers","extendCasoUsoByIdReducers","insertCasoUsoReducers","proposeCasoUsoByIdReducers","rejectCasoUsoByIdReducers","setCasiUsoChangesReducers","updateCasoUsoByIdReducers","enabled","modale_conferma_config","app_messages_config","name","app_messages","item","modaleConfermaConfigReducers","appMessagesConfigReducers","delete_ip_by_id","get_ip_by_id_accordo_attivo","lista_ip","insert_ip","update_ip_by_id","getIpByIdAccordoAttivoReducers","get_interfacce_by_id_accordo_attivo","lista_interfacce","getInterfacceByIdAccordoAttivoReducers","get_filtro_tipologie_by_utenza","filtro_tipologie_by_utenza","insert_tipologia_categoria","get_tipologie_all","tipologie_all","get_tipologie_by_utenza","tipologie_by_utenza","get_tipologie_by_stati","tipologie_by_stati","update_tipologia_by_id","cancel_tipologia_by_id","filtro_tipologie_by_utenza_reducer","tipologie_all_reducer","tipologie_by_utenza_reducer","tipologie_by_stati_reducer","cancelTipologiaByIdReducers","insertTipologiaCategoriaReducers","updateTipologiaByIdReducers","get_categorie_all","categorie_all","get_categorie_by_utenza","categorie_by_utenza","get_categorie_by_stati","categorie_by_stati","get_filtro_categorie_by_utenza","filtro_categorie_by_utenza","insert_categoria","categorie_all_reducer","categorie_by_stati_reducer","categorie_by_utenza_reducer","filtro_categorie_by_utenza_reducer","update_categoria_by_id","get_categorie_specifiche_all","categorie_specifiche_all","get_categorie_specifiche_by_utenza","categorie_specifiche_by_utenza","get_categorie_specifiche_by_stati","categorie_specifiche_by_stati","insert_categoria_specifica","categorie_specifiche_all_reducer","categorie_specifiche_by_utenza_reducer","categorie_specifiche_by_stati_reducer","update_categoria_specifica_by_id","revoca_accreditamento","revocato","get_regioni_all","regioni_all","annulla_riepilogo_richiesta_adesione","change_password","changed","conferma_riepilogo_richiesta_adesione","confirmed","get_riepilogo_richiesta_adesione","richiesta_adesione","richiedi_reset_password","message","richiedi_reset","reset_password","annullaRiepilogoRichiestaAdesioneReducers","changePasswordReducers","check_reset_password_link","checked","confermaRiepilogoRichiestaAdesioneReducers","getRiepilogoRichiestaAdesioneReducers","richiediResetPassword","resetPassword","get_config_params","config_params","appReducer","combineReducers","authentication","accreditamento","accreditamentoReducers","app_loading","common","commonReducers","configParamsReducers","constants","constantsReducers","decodificheReducers","gestione_accordi","accordiReducers","gestione_casi_uso","casiUsoReducers","gestione_enti","entiReducers","gestione_ip","ipReducers","gestione_interfacce","interfacceReducers","gestione_normative","normativeReducers","gestione_tipologie","tipologieReducers","gestione_categorie","categorieReducers","gestione_categorie_specifiche","categorieSpecificheReducers","utils","utilsReducers","decodifiche_stati_accordo","decodifiche_tipi_utente","newTipiUtente","decodifiche_stato_utente","newStatiUtente","decodifiche_stato_normativa","newStatiNormativa","spinner","ente_by_utente","categorie_ente","categorie_specifiche_ente","tipologie_ente","ricerca_richiesta_accordo_fruizione","richiesta_form_data","richiesta_standard_accordo_fruizioneForm","action_new","impostazioni","newCasiSlezionati","salva_richiesta_accordo_in_stato_inserito","upload_file_accordo_fruizione_firmato_reducer","get_file_accordo_to_download","set_highest_form_step_accessed_reducer","annulla_accreditamento","elencoEmail","salva_password","attivazione_accreditamento","utente_link_scaduto","enti_by_auth_user","rootReducer","enhancer","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","applyMiddleware","thunk","store","createStore","interceptors","use","Promise","DecodificheContext","React","createContext","AuthContext","isNullOrUndefined","value","emptyStringFlag","Navbar","props","utenteChanged","$","popover","setState","prevProps","prevState","this","addedTypes","checkHidden","aria-label","className","hidden","activeClassName","exact","idtipo","isActive","match","RegExp","test","pathname","PureComponent","withRouter","connect","loggingDetails","decodificheTipiUtente","idaccordo","decodificheStatiAccordo","decodificheStatoUtente","decodificheStatoNormativa","TopBar","href","StickyBar","isNavbarVisible","style","data-target","data-toggle","aria-expanded","src","logoWhite","alt","enteUtente","logout","history","handleWindowChange","y","stickyHeaderTriggerPosition","height","stickyHeader","topMenu","mainMenu","innerWidth","fadeIn","addClass","fadeOut","removeClass","useEffect","on","off","logoBlue","denominazione","maxWidth","title","displayEnte","altrienti","label","icon","onClick","Consumer","Footer","target","rel","Spinner","spin","size","overlay","extraClasses","extraStyle","role","SpinnerOverlay","position","width","background","zIndex","Row","justify","align","children","ErrorPage","process","PageWrapper","Accordion","open","Summary","summary","textSummary","summaryProps","Details","details","detailsProps","cardType","aria-multiselectable","overflow","borderRadius","borderColor","marginBottom","display","flexDirection","minWidth","backgroundColor","backgroundClip","border","aria-controls","data-parent","AutoToggleButton","forwardRef","ref","toggle","autoToggleButton","useRef","current","click","Icon","ariaLabel","color","bgcolor","colorClass","rest","Button","srOnly","buttonClass","iconClass","iconSize","Tooltip","placement","trigger","iconClasses","iconStyle","disabled","Tag","data-content","data-trigger","data-placement","onMouseEnter","html","Input","appendContent","getValue","placeholder","prepend","append","appendonclick","appendtext","onBlur","required","pattern","dimension","uppercase","wrapperClasses","firstEmptyOption","inputGroupAppend","regex","toLocaleUpperCase","outline","htmlFor","onChange","e","newval","currentTarget","aria-hidden","Captcha","extraclasses","captchaUrl","useState","captchaMediaIsLoading","setCaptchaMediaIsLoading","imgCaptchaRef","audioCaptchaRef","imageSource","setImageSource","audioSource","setAudioSource","currentTimestamp","Date","getTime","updateCaptchaAudio","onLoad","paused","currentTime","play","pause","onLoadedData","autoComplete","Card","titleClasses","headerClasses","bodyClasses","footer","titleHeading","vertical","iconType","headerIcon","HeadingTag","minHeight","Chip","chipIcon","functionIcon","functionIconTitle","functionIconSRLabel","MONTHS","DatePicker","extralabel","filterDate","inputValue","setInputValue","datePickerRef","isValidDate","d","isNaN","formatDate","moment","format","l","attr","replace","DatePickerTrigger","dateVal","toLocaleDateString","year","month","day","dp","setOpen","onKeyDown","onPopperKeyDown","readOnly","val","toDate","renderCustomHeader","date","changeYear","changeMonth","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","getFullYear","max","years","i","generateYears","getMonth","m","customInput","locale","it","selected","showMonthDropdown","showYearDropdown","dropdownMode","popperPlacement","DetailsTable","rows","layoutFixed","labelColStyle","defaultLabelColStyle","verticalAlign","tableLayout","row","index","scope","diacriticCharacters","code","character","description","DiacriticInput","upperCase","setUppercase","activeElement","setActiveElement","wrapperRef","upperCaseCharacters","lowerCaseCharacters","c","updateActiveElement","addEventListener","removeEventListener","contains","handleKeyUp","virtualKeyboardTrigger","characters","onKeyUp","onMouseLeave","onFocus","preventDefault","DownloadFile","fileIcon","extraLabel","tabIndex","onKeyPress","wordBreak","IconButton","rightIcon","dataToggle","dataContent","dataTrigger","Dropdown","items","aria-haspopup","link","trim","Fieldset","legend","GoNavLink","go","forward","InputFile","labelExtra","getFile","success","accept","removable","fileName","upload","setUpload","file","files","resolve","reader","FileReader","readAsDataURL","onload","result","onerror","err","console","log","convertFileToBase64","fileContent","aria-describedby","right","paddingRight","passwordRegex","InputPassword","showPassword","setShowPassword","STRINGS","Typography","tag","textColor","bgColor","hr","hrExtraClasses","hrProps","borderWidth","LabelValueListItem","labelClasses","valueClasses","Link","downloadLink","iconcolor","righticon","external","buttonstyle","buttonclass","LinkTag","List","links","TitleHeadingTag","ordered","inline","ListTag","Message","textClasses","onClose","closeIcon","Array","isArray","newLine","aria-atomic","marginTop","Modal","body","hideCloseButton","closeButton","keyboard","aria-labelledby","data-backdrop","data-keyboard","data-dismiss","MultiSelectOptionGroup","handleSelection","optionlist","setOpenOptGroup","setHightlightedOption","refJson","wrapperid","optionGroupDirection","memoizedDisableArrowFunction","useCallback","indexOf","keyCode","maxHeight","opt","stopPropagation","event","optionIndex","nextOption","prevOption","focus","handleOptionKeyUp","useTruncateString","str","divWidth","setDivWidth","divRef","offsetWidth","handleResize","strWidth","floor","getTruncatedString","MultiSelect","inputClass","labelClass","extraProps","valuetype","openOptGroup","setOptionGroupDirection","selectedValuesLabel","setSelectedValuesLabel","hightlightedOption","createRef","newLabel","selOpt","getSelectedLabel","blur","MultiSelectValue","handleOptionGroupPosition","windowScrollY","scrollY","absolutePosition","getBoundingClientRect","aria-selected","ev","handleWrapperKeyUp","cursor","optvalue","newValue","oldSelected","newSelected","concat","Switch","defaultChecked","NoDataRow","colspan","colSpan","Table","headers","separateRow","disabledRows","modal","titolo","th","classes","span","opacity","cells","cell","index2","data-th","datath","dataTarget","actions","index3","tooltip","srLabel","switch","checkbox","autocheck","dropdown","formTag","defaultValue","rowFormProps","handleBlur","dateformat","min","NavItemComponent","active","attributes","NavItem","navIcon","Pagination","itemPerPage","initialPage","onChangePage","visibleNavItems","resetOnChangeItems","activePage","setActivePage","currentSlide","setCurrentSlide","navItems","setNavItems","pagesFirstItems","setPagesFirstItems","pagesLastItems","setPagesLastItems","handleNavigation","firstItem","lastItem","firstItems","lastItems","navItemsCount","navItemsArray","from","_","slide","PaginatedTable","currentItems","setCurrentItems","rowsSliced","ProgressBar","steps","currentStep","onChangeStep","number","aria-current","urlparam","Radio","radioList","radio","ScrollTopButton","toggleScroll","scrollTopRef","setTimeout","Select","a","b","localeCompare","getElementById","selectedIndex","findIndex","bottom","SingleCheckbox","setValue","Tabs","tabs","contents","setActive","$tabs","closest","eq","tab","tabId","TextArea","Form","onsubmit","initialValues","validationSchema","validateOnBlur","validateOnChange","FormChildren","cleanButton","cleanButtonExtraClasses","resetFormFields","enableReinitialize","extraErrors","setPristine","onSubmit","listaDescrizioniErrori","errors","errorArray","Object","keys","getErrorsDescription","isValidating","noValidate","applyReset","x","field","setFieldValue","setErrors","resetForm","statiAccordo","urlparam1","urlparam2","STATO_ACCORDO","RICHIESTA_INSERITA","RICHIESTA_INVIATA","RICHIESTA_RESPINTA_DA_MINISTERO","ATTIVO","RICHIESTA_ANNULLATA","SOSPESO","REVOCATO_DA_PA_GESTORE","REVOCATO_DA_MINISTERO","SCADUTO","getAccordoById","filesFlag","getSignedFilesAccordoAttivoByIdAccordo","prep","getAccordoByIdError","idfiledelega","idfilerichiesta","idfilefirmatorichiesta","idfilecontrofirmato","getAccordiByIdEnte","idEnte","errorMsg","getAccordiByIdEnteError","getCasiUsoByIdAccordo","idAccordoAttivo","statoRichiesteFlag","getCasiUsoByIdAccordoError","getCasiUsoAssociatiByIdAccordo","getCasiUsoAssociatiByIdAccordoError","updateCasiUsoByIdAccordo","bodyRequest","updating","des","updateCasiUsoByIdAccordoError","getDettaglioCasoUsoById","idCasoUso","no_content","getDettaglioCasoUsoByIdError","putRichiestaAdesioneData","validateCf","post","msg","getResponsabileFirmaAccordo","getCasiUsoAll","decodificheStatiCasoUso","casiusoall","casiuso","idStatoDisabilitatoNormativa","idStato","splice","disabilitatoNormativa","setCasiUsoChanges","change","casoindex","newCasiusoArray","idCasoduso","extraData","prevcaso","finalitaTrattamento","idAmbito","idAmbitoTerritoriale","idRegione","getTipologieByUtenza","statiTipologie","st","tipologieall","getCategorieByUtenza","statiCategorie","getCategorieSpecificheByUtenza","statiCategorieSpecifiche","categorieall","DEFAULT_CONFIRM_FOOTER","FORM_CONDITIONS","NOT_VALID_FORM_CONDITION","modaleConfermaActions","ABILITA_CASO_USO","getState","enableCasoUsoByIdError","abilitaCasoUsoById","ANNULLA_CATEGORIA_ENTE","cancelCategoriaByIdError","ANNULLA_CATEGORIA_SPECIFICA_ENTE","cancelCategoriaSpecificaByIdError","ANNULLA_TIPOLOGIA_ENTE","cancelTipologiaByIdError","APPROVA_CASO_USO","bodyrequest","approveCasoUsoByIdError","approvaCasoUsoById","DISABILITA_CASO_USO","disableCasoUsoByIdError","disabilitaCasoUsoById","ESTENDI_CASO_USO","extendCasoUsoByIdError","estendiCasoUsoById","NOOP","PROPONI_CASO_USO","proposeCasoUsoByIdError","proponiCasoUsoById","PROPONI_CATEGORIA_ENTE","proposeCategoriaByIdError","proponiCategoriaById","PROPONI_CATEGORIA_SPECIFICA_ENTE","proposeCategoriaSpecificaByIdError","proponiCategoriaSpecificaById","PROPONI_TIPOLOGIA_ENTE","proposeTipologiaByIdError","proponiTipologiaById","REVOCA_ACCORDO","ministeroFlag","revocaAccordoError","REVOCA_ACCREDITAMENTO","Axios","revocaAccreditamentoError","revocaAccreditamento","RIATTIVA_ACCORDO","attivaAccordoError","RIFIUTA_CASO_USO","rejectCasoUsoByIdError","rifiutaCasoUsoById","SET_CASI_USO_CHANGES","SOSPENDI_ACCORDO","sospendiAccordoError","ModalBody","bodycontent","formErrors","ModalFooter","footercontent","isValid","extracontent","disabled_form_condition_variable","modalId","values","func","showErrors","dirty","extraprops","msgId","useHistory","setText","extraText","adj","sub","art","end","toLocaleLowerCase","createText","listen","closable","SidebarContentLayout","SidebarComponent","sidebar","ContentComponent","sidebarProps","contentProps","AccessBar","stickyAccessBar","stickyAccessTriggerPosition","Home","Component","NotFound","DettagliDatiStandardUtente","dati","statoRichiesta","url","currentUserIdEnte","getDate","Fragment","DatiStandardImpostazioni","RiepilogoConfermazioneDati","getObject","JSON","parse","getItem","dettagliUtentiAccordo","altriresponsabiliamministrazione","resp","displayAltriResponsabiliAmministrazione","Loading","styled","propTypes","PropTypes","object","DefaultLoading","DefaultError","base64ToArrayBuffer","base64","binaryString","atob","binaryLen","bytes","Uint8Array","charCodeAt","saveByteArray","reportName","byte","blob","Blob","createElement","URL","createObjectURL","download","appendChild","remove","DisplayScaricaFile","nomeFileDaScaricare","legenda","sampleArr","scaricaFile","DisplayInviaAccordo","condition","isSubmitting","inviaLabelName","accordoToDisplayForm","nomeFile","displayButton","DisplayCaricaFile","nomeField","uploadFile","DisplaySectionUploadAccordoFruizione","stateVars","urlUploadFile","actionInviaRichiesta","setParentState","submitActionName","actionUploadFile","fileAccordoFruizioneFirmatoValidationSchema","Yup","shape","fileAccordoFruizioneFirmato","nullable","fileToConvert","uploadLoading","uploadError","setSubmitting","touched","validateField","handleChange","DownloadUploadFileAccordoFirmato","downloadError","inviaRichiesta","inviaRichiestaLoading","inviaRichiestaError","obj","fileprodotto","nomefileoriginariorichiesta","displayRichiestaInviata","RichiestaTrovata","annullando","getRichiestaAccordo","params","idRichiesta","getFileAccordoToDownload","getFileRichiestaAccordo","scroll","setHighestFormStepAccessed","queryString","search","modifiche","setAppToNotLoading","displayBackButton","backURL","displayNomeEnte","classificazioni","riferimenti","setAppToLoading","formData","updateRichiestaAccordoFruizioneInStatoInserito","displayButtons","operatoreAnnullaRichiesta","displayAnnullaRichiesta","formValues","InfoCard","info","col","addIcon","editLabel","enteInfos","utenteInfos","attoriAccordo","order","tipoEmail","1","2","configParamsKeys","createCardArray","configParams","cardArray","enteinfo","ut","some","utenteinfo","utenteInfosArray","utenteInfo","impostazioniAccordo","infoNota","attoente","filenormativacasiduso","idfilenormativacasiduso","downloadNormativaCasiUso","noteministero","downloadBase64File","downloadFile","filename","f","nomefile","tipofile","toLowerCase","downloadFileError","DettagliAccordo","hideGoNavLink","messaggio","t","ModaleApprovaBody","useFormikContext","tipoApprovazione","nota","ModaleDisabilitaBody","optionList","motivazione","disabilitaInitialValues","add","disabilitaValidationSchema","yup","oneOf","approvaInitialValues","approvaValidationSchema","rifiutaInitialValues","rifiutaValidationSchema","estendiInitialValues","estendiValidationSchema","abilitaInitialValues","abilitaValidationSchema","ModaleRifiutaBody","createSelectArrayFromDec","decodifichearray","dec","getRegioniAll","regioni","disabledFields","regioniOptionList","setRegioniOptionList","reg","ambitiOptionList","ambitiTerritorialiOptionList","aggiornaCasoUsoAssociatoValidationSchema","when","is","otherwise","catalogoCasiUsoTableHeaders","getCasiUsoTableRows","callbacks","casouso","statoActionsCasoUso","annullaCasoUso","modificaCasoUso","attivaCasoUso","handleAction","class","descrizioneCasoduso","getStatoActionsCasoUso","truncate","setModalOpen","descCluster","codiceCasoDuso","finalitaCasoduso","padding","setRejectedModalOpen","casiUsoFiltersFormFields","clusters","codici","reduce","acc","curr","filterpath","arr","optionListByUtenza","findinarray","casiUsoFiltersInitialValues","attivoKey","attivoDecodifica","casiUsoFiltersValidationSchema","FiltersComponent","getFilters","formFields","filtersArr","init","getInitialValues","FieldTag","SezioneFiltri","defaultAppliedFilters","arrayToFilter","filtriOpen","setFiltriOpen","appliedFilters","setAppliedFilters","applyFilters","filters","filteredArray","arrToFilter","filterCheck","filterObject","filterPath","filterCompareStrings","comparestrings","filterRange","range","newFilteredArr","handleNestedKeys","element","el1","el2","isSame","isSameOrBefore","isSameOrAfter","handleDateFilters","elementToCompare","filterId","newFiltersArray","removeFilter","AccordionList","contentList","accordionItems","lenght","dataItem","itemId","AccordionNormative","titleClassName","viewItems","normativa","numeroatto","dataatto","articolo","articolosuffisso","testo","casoId","displayElencoElementoDati","elencoElementoDati","dato","note","casoUso","cluster","finalita","lda","noteApprovazioneRifiuto","createTableDetails","elencogruppodati","displayGruppoDati","ModaleMotivoRifiutoBody","getNormativeAll","paramsSerializer","qs","getNormativeByIdTipologiaEnte","idTipologiaEnte","getNormativeByIdTipologiaEnteError","filtro_normative","getClusterAttivi","annullaCasoUsoById","cancelCasoUsoByIdError","attivaCasoUsoById","activateCasoUsoByIdError","getFiltroNormative","useContext","modaleconferma","getTableRows","setEdit","casiAttivi","useMemo","trAttivi","trInit","tableRows","setTableRows","tableRowsInit","setTableRowsInit","modalOpen","rejectedModalOpen","filteredCasiUso","setFilteredCasiUso","array","generateRejectedModals","getFormFields","fields","stato","gruppi_dato","casoUsoFormInitialValues","dbData","categorieEnte","datainiziovalidita","idlda","gruppidato","casoUsoFormValidationSchema","schema","categorieObj","FormCasoUso","formFieldsDB","handleSubmit","disabledForm","STATO_NORMATIVA","NON_ATTIVO","INSERITO","ANNULLATO","CANCELLATO","getCasoUsoFormFields","clustersResponse","normativeResponse","norma","ldaResponse","gruppiDatoResponse","gruppo","categorieAttiveResponse","inserisciCasoUso","disableForm","infoFlag","insertCasoUsoError","aggiornaCasoUsoById","updateCasoUsoByIdError","modifica","setDisabledForm","getCurrentCasoUso","normativeNonAttiveOptions","n","opt1","opt2","mergeSelectOptions","adjustFormFields","idcluster","idproponente","idcategorieente","idgruppidati","idnormative","GestioneCasiUsoSwitch","path","component","NuovoCasoUso","ipFormValidationSchema","indirizzo","netmask","FormIp","ip","netmaskOptionList","getIpByIdAccordoAttivo","getIpByIdAccordoAttivoError","inserisciIp","insertIpError","insertIp","aggiornaIpById","updateIpByIdError","updateIpById","setIndirizzo","ipTableHeaders","eliminaIpById","deleteIpByIdError","deleteIpById","indirizzi","modificaIp","eliminaIp","GestioneIpSwitch","formatFrom","formatTo","hh","mm","ss","dateTimeArr","dateArr","timeArr","getNormativeTableRows","ministero","attivo","inattivo","inserito","modificaNormativa","eliminaNormativa","totAssociazioni","TabellaNormative","errorModal","normativeTableHeaders","normativeFiltersFormFields","normativeFiltersInitialValues","normativeFiltersValidationSchema","integer","typeError","VisualizzaNormative","normative_all","garante","deleteNormativaById","handleErrorModal","stati","normativeArray","pagination","normativeSliced","tRows","getNormative","filteredNormative","Number","hideTitle","hideFilters","deleteNormativeByIdIsLoading","deleteNormativeByIdError","decodeIdStatoNormativa","s","createInitialValues","createValidationSchema","matches","excludeEmptyString","Figure","caption","captionPosition","imgExtraClasses","captionExtraClasses","captionView","NormativaForm","buttonLabel","modalUrlNormativaOpen","setModalUrlNormativaOpen","valueJson","idStatoNormativa","openModal","getFormFieldsByUtenza","Permalink","Permalink2","ModificaNormativa","_isMounted","aggiornaNormativa","prop","updateNormativaById","update_normativa","goBack","updateNormativaByIdError","NuovaNormativa","inserisciNormativa","insertNormativa","insertNormativaError","GestioneNormative","modalconfig","casiUsoTableHeaders","minflag","entflag","initialCasiUso","associatoFlag","idStatoAssociazione","associato","statoCasoUso","statoJSON","statoAssociazione","getStatoCasoUso","modified","setInfoModalOpen","ruolo","initialAssociatoFlag","handleCheck","getActions","TabellaCasiUsoAssociati","casiUso","saveChanges","modalData","setRowFormProps","rowFormPropsJSON","getAllAccordiPerEnte","firstLoad","tableHeaders","searchIcon","utentePath","statoIcon","revocato_dal_ministero","datainizio","buildDetailsPath","classe","p","getAccordi","RichiesteAnnullateOperatore","snapshot","filteredAccordi","displayNessunAccordo","RichiesteAnnullateSwitch","RichiesteRespinteOperatore","RichiesteRespinteSwitch","ConfiguraRichiestaForm","getCategorie","setConfigurazione","setTipologia","setCategoria","tipo","FormDatiUtente","emailFlag","resetCfErrors","cfErrorsFlag","ruoloflag","forcePEC","tipiEmail","isDisabled","fieldName","now","DateUtils","subtract","endOf","actorID","resetarray","additionalData","requiredFlag","SezioneDelegato","getFileDelega","DatiAttoreAccordo","actor","previousActor","storeData","forceSubmit","cancelForceSubmit","richiestaSalvata","delegatodbflag","setRedirect","flag","getEndOfYesterday","emailValidation","filedelegaobj","createError","attoreAccordoValidationSchema","toggleSubmit","setToggleSubmit","codicefiscale2","validateForm","newErrors","errkey","paddingBottom","newValues","NoteEnte","setInitialValues","filenormativacasidusosize","submitForm","getProgressBarStepsDefault","stepsData","stepChanges","estremiatto","RichiestaAdesione","nextStep","richiesta_inviata_inserita","richiestaDbFlag","stepname","prev","ConfiguraNuovaRichiesta","getCategorieEnteByIdTipologia","getTipologieEnteAll","putRichiestaAdesioneConfig","categorieIsLoading","getTipologieEnteAllError","getCategorieEnteByIdTipologiaSuccess","getCategorieEnteByIdTipologiaError","getCategorieSpecificheEnteByIdCategoria","idCategoria","getCategorieSpecificheEnteByIdCategoriaError","putRichiestaAdesioneConfigSuccess","NuovaRichiestaAdesioneSwitch","memo","joinRichiestaData","richiestaDb","richiestaChanges","paramsJson","json","responsabilefirmaente","filenormativacasidusochanged","checkConfigParam","paramArray","par","FILE_TYPE_ICON","pdf","zip","AttachmentsCard","fileList","downloadDelegaAccordo","downloadAccordo","downloadAccordoFirmato","downloadAccordoControfirmato","RiepilogoButtons","changesFlag","fileInserito","responsabilefirmaaccordoflag","insertFileRichiestaFirmato","salvaRichiesta","cancelRichiestaAdesioneByIdRichiesta","flagfilefirmatorichiesta","sendRichiestaAdesioneByIdRichiesta","RiepilogoRichiestaAdesione","visibleStates","richiestaData","richiestaUpdate","delegatoObj","filechanged","updateRichiestaAdesioneByIdRichiesta","idCategoriaEnte","idCategoriaSpecEnte","insertRichiestaAdesione","idtipologia","normative_by_id_tipologia_ente","responsabilefirmaaccordo","RIGENERA_RICHIESTA","resetRichiestaAdesioneData","resetNormativeByIdTipologiaEnte","resetCategorieEnteByIdTipologia","insertRichiestaAdesioneError","updateRichiestaAdesioneByIdRichiestaError","insertFileRichiestaFirmatoError","sendRichiestaAdesioneByIdRichiestaError","cancelRichiestaAdesioneByIdRichiestaError","RichiestaInseritaSwitch","tipologieFiltersFormFields","tipologieFiltersValidationSchema","statoTipologia","modificaTipologia","attivaTipologiaById","disattivaTipologiaById","annullaTipologia","proponiTipologia","getStatoTipologia","activateTipologiaByIdError","deactivateTipologiaByIdError","decodificheStatiTipologia","tipologieAttive","newTr","categorieFiltersFormFields","categorieFiltersValidationSchema","statoCategoria","modificaCategoria","attivaCategoriaById","disattivaCategoriaById","annullaCategoria","proponiCategoria","getStatoCategoria","getFiltroTipologieByUtenza","activateCategoriaByIdError","deactivateCategoriaByIdError","decodificheStatiCategoria","categorieAttive","tipologiaInitialValues","disabledFormValues","descrizionenuovatipologia","descrizionenuovacategoria","tipologiaValidationSchema","nuovaCategoriaObj","FormTipologia","getTipologiaFormFields","inserisciTipologiaCategoria","insertTipologiaCategoriaError","aggiornaTipologiaById","updateTipologiaByIdError","descTipologia","FormCategoria","tipologiaOptions","tipologie_attive","getTipologieAttive","inserisciCategoria","insertCategoriaError","aggiornaCategoriaById","updateCategoriaByIdError","idcategoria","GestioneCategorieTipologie","MESSAGGIO_REVOCA","OperatoreSwitchComponents","RevocaAccreditamento","MenuNavigazione","vociMenu","VoceMenu","infoVoce","VoceMenuConSubmenus","idVoce","startsWith","iteraVoci","submenus","arrayVoci","vociMenuOperatore","vociMenuMinistero","vociMenuGarante","OperatoreContainer","SidebarOperatore","RichiesteInviateMinistero","RichiesteInviateSwitch","RichiesteDaApprovareMinistero","richiesteAccordoFiltersFormFields","decodifichestatiAccordo","accordiFiltersFormFields","richiesteAccordoFiltersInitialValues","accordiFiltersInitialValues","accordiFiltersValidationSchema","dataInizioDa","dataInizioA","ListaAccordiMinistero","getAccordiByStati","idstati","arrayStati","disableEnableCasiUsoByIdAccordo","disableEnableCasiUsoByIdAccordoError","infoModalOpen","changes","casiToEnable","casiToDisable","chg","idAssociazioneAccordo","abilitati","disabilitati","getChangesArray","NormativeAccordoAttivo","normativeFiltrate","idTipoEnte","DettagliAccordoAttivo","confirmAction","sospendiAccordo","loadAccordo","riattivaAccordo","revocaAccordo","isUpdated","getAccordoAttivoTabs","getAccordoAttivoContents","AccordiAttiviSwitch","RichiesteRespinteMinistero","ATT","RESP","IN_APPR","SOSP","REV_MIN","REV_ENT","entiTableHeaders","MonitoraggioCard","allCards","round","Monitoraggio","casiUsoTableRows","entiTableRows","servizi","descrizioneMonitoraggio","totaleCasiDuso","totaleCasiDusoAssociati","percCasiDusoAssociato","totServiziConsultazione","totServiziEstrazione","totServiziComplessivo","casoDuso","totAccordoAssociati","tipologiaEnte","totEnti","getTipologie","getCasiUso","getEnti","getServizi","PropsTypes","criteriSicurezzaPassword","SceltaPassword","hiddenConferma","toggleShow","toggleShowConferma","displayConditionsPassword","SceltaPasswordValidationSchema","password","confermaPassword","savePasswordError","displayLoading","salvaLaNuovaPassword","utenteid","changePassword","nuovaPassword","changePasswordSuccess","changePasswordError","confermaNuovaPassword","codiceFiscale","GaranteSwitchComponents","ProfiloPersonale","CambioPassword","SidebarMinistero","GaranteContainer","SidebarGarante","DettagliRichiestaInviataMinistero","disableRespingi","insertFileRichiestaControfirmato","approvaAccordoById","flagfilefirmatocontrofirma","input","_note","respingiAccordoById","insertFileRichiestaControfirmatoError","approvaAccordoError","respingiAccordoError","responsabile_firma_accordo_obj","respmin","inserisciResponsabileFirmaAccordo","insertResponsabileFirmaAccordoSuccess","aggiornaResponsabileFirmaAccordo","updateResponsabileFirmaAccordoSuccess","MinisteroSwitchComponents","RichiesteDaApprovareSwitch","ProfiloResponsabileFirmaAccordo","NuovoModificaResponsabileFirmaAccordo","sostituisci","MinisteroContainer","RichiestaAdesioneRespAmm","datains","loggedUser","RichiesteResponsabileAmministrazione","ModalComponent","contenuto","confirm","classConfirm","classCancel","fieldsExtra","idModal","disableSubmit","ProfiloPersonaleRespAmm","displayInfo","aggiornandoUtente","focusedTag","tagName","utente_form_init","UtenteValidationSchema","displaySetEmailValueToState","tipiUtente","cancellandoUtente","newUtente","displayMessage","removeItem","cleanEnteByUtente","cleanRicercaRichiestaAccordoFruizione","logoutUserAction","errorCancellaUtente","errorAggiornaUtente","objToSend","setItem","stringify","utenteModificato","setUtenteAggiornato","modifyProfileInfo","msgConfig","rappresentante","DisplayCasiUsoToSelect","casi_uso_categoria_ente","loadCasi","errorCasi","addCasoUso","idCaso","addingCaso","errorAddingCaso","getAccordo","displayElencoGruppoDati","elemento","getCasoContainer","casidusoassociati","casoduso","conditionallyDisplayButtons","casiToDisplay","existsInAtto","casoAssociato","casoContainer","errorRemovingCaso","DettagliRichiestaAdesioneRespServ","accordoToDisplay","displayButtonConcludi","RichiesteAnnullateRespServ","RichiesteRespinteRespServ","accordiData","aggiornaCasoUsoAssociato","changesJSON","associazioni","statoInterfaccia","interfaccia","getStatoInterfaccia","motivogenerazione","datarichiestagenerazione","datagenerazione","idfile","InterfacceRespAmm","idInterfaccia","getInterfacceByIdAccordoAttivo","getInterfacce","getInterfacceByIdAccordoAttivoError","ImpostazioniAccordo","richiesta_nota_init","RichiestaNotaValidationSchema","savingSettings","impostazioniSalvate","displaySuccessMessage","errorSavingSettings","displayErrorMessage","TerminaRichiestaAdesioneRespAmm","updateSuccess","revoca_accordo_isLoading","GestioneAccordoAttivoSwitch","context","RevocaAccordoRespAmm","accordoAttivoData","AccordiRevocatiRespServ","filterAccordiByStati","getAccordiRevocati","RichiesteConcluseSwitch","RespServSwitchComponents","casi_uso_attivi","casiUsoCategoriaEnte","SidebarResponsabileServizio","initialOpen","RespServContainer","accordiByIdEnte","convertStato","userToView","GestioneUtentiRespAmm","users","handleCodiceFiscaleChange","prevCodiceFiscale","prevErrorCodiceFiscale","getUsers","gettingUsers","currentUserId","activeUserStatus","suspendedUserStatus","inseritoUserStatus","tipoUser1","tipoUser2","user","noUsersFound","errorGettingUsers","aggiungiNuovoUtente","errorAggiungiNuovoUtente","utenteAggiunto","displayAddUser","AddUtenteValidationSchema","displayGoBackButton","updatedDate","updatedDay","updatedMonth","updatedDataNascita","view","default","cancellaUtente","utenteCancellato","displayViewUser","displayUpdateUtente","displayAllUsers","CasiUsoAccordoAttivo","rowInputsRefs","handleTextAreaOnChange","submitted","classList","associaCasoUso","maxLength","abilitaCasoUso","TabellaCasiUsoAssociatiOriginal","casiToUpdate","casiErrors","DettagliRichiestaAdesioneRespAmm","AccordiRevocatiRespAmm","AccordiRevocatiSwitch","RichiesteConcluseRespAmm","RichiesteAnnullateRespAmm","RichiesteRespinteRespAmm","RespAmmSwitchComponents","SidebarResponsabileAmministrazione","expanded","RespAmmContainer","PrivateRoute","authenticated","render","AreaRiservataComponent","isAuth","AuthenticationContext","Provider","SubmitButton","buttonText","LinkScaduto","pec_inviato_id","pec_inviato","displayInviaRichiestaLoading","displayErrorRichiestaInviata","buttonClasses","fontAwesomeClasses","RichiestaAccreditamentoFormGeneraCredenzialiActions","annullaRichiestaAccreditamento","getPECEnte","AttivazioneAccreditamento","chiave","verificaLinkValidoOScaduto","getUtenteLinkScaduto","cleanAllActions","cleanGetUtenteLinkScadutoReducer","cleanPecReducer","cleanGeneraNuoveCredenziali","cleanVerificaLinkValidoOScadutoReducer","cleanSceltaPasswordReducer","cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer","linkNonValido","sceltaPassword","listaStrumenti","riepilogo_richiesta_adesione","confermaIsLoading","annullaIsLoading","getRiepilogoRichiestaAdesione","getRiepilogoRichiestaAdesioneError","annullaRiepilogoRichiestaAdesione","annullaRiepilogoRichiestaAdesioneError","confermaRiepilogoRichiestaAdesione","confermaRiepilogoRichiestaAdesioneError","disableButtons","operatoreaccreditato","UTENZE","shortlabel","longlabel","InformativaModalBody","read","displayName","INFORMATIVA_PARAGRAPHS","dots","loginUser","utenzaloggata","loginValidationSchema","charAt","passwordcredenziali","Login","captcha","richiediResetPasswordSuccess","richiediResetPasswordError","isSubmitDisabled","RichiestaResetPassword","RichiestaResetPasswordForm","resetPasswordSuccess","resetPasswordError","checkIsLoading","checkError","checkLink","checkResetPasswordLinkError","checkResetPasswordLink","getEnteBySelezioneEnte","getUtenteBySelezioneEnteSuccess","identi","InformativaPrivacy","r","i2","Router","StrumentiSupporto","ResetPassword","SelezioneEnte","AttivazioneCredenziali","ConfermaRiepilogoRichiestaAdesione","AppContainer","checkDecodificheStatus","decJSON","decodificheArray","every","backgroundImage","getLoggedUserData","App","enteResult","soggettoResult","basename","Boolean","hostname","prototype","toJSON","ReactDOM","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.da843086.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo_anpr_blue.240927e3.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo_anpr_white.c2b3fa50.svg\";","module.exports = __webpack_public_path__ + \"static/media/permalink.9c9c5c2a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/permalink2.c8843edf.jpg\";","/**\r\n * maybe needed\r\n */\r\n\r\nexport const CLEAN_ALL_REDUCERS = \"CLEAN_ALL_REDUCERS\";\r\n\r\nexport const RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE =\r\n \"RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE\";\r\nexport const RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_LOADING =\r\n \"RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_LOADING\";\r\nexport const RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_ERROR =\r\n \"RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_ERROR\";\r\nexport const RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_CLEAN =\r\n \"RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_CLEAN\";\r\n\r\nexport const GET_CATEGORIE_ENTE = \"GET_CATEGORIE_ENTE\";\r\nexport const GET_CATEGORIE_ENTE_LOADING = \"GET_CATEGORIE_ENTE_LOADING\";\r\nexport const GET_CATEGORIE_ENTE_ERROR = \"GET_CATEGORIE_ENTE_ERROR\";\r\nexport const GET_CATEGORIE_ENTE_CLEAN = \"GET_CATEGORIE_ENTE_CLEAN\";\r\n\r\nexport const GET_CATEGORIE_SPECIFICHE_ENTE = \"GET_CATEGORIE_SPECIFICHE_ENTE\";\r\nexport const GET_CATEGORIE_SPECIFICHE_ENTE_LOADING =\r\n \"GET_CATEGORIE_SPECIFICHE_ENTE_LOADING\";\r\nexport const GET_CATEGORIE_SPECIFICHE_ENTE_ERROR =\r\n \"GET_CATEGORIE_SPECIFICHE_ENTE_ERROR\";\r\nexport const GET_CATEGORIE_SPECIFICHE_ENTE_CLEAN =\r\n \"GET_CATEGORIE_SPECIFICHE_ENTE_CLEAN\";\r\n\r\nexport const UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA =\r\n \"UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA\";\r\nexport const UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_LOADING =\r\n \"UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_LOADING\";\r\nexport const UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_ERROR =\r\n \"UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_ERROR\";\r\n\r\nexport const OPERATORE_ANNULLA_RICHIESTA = \"OPERATORE_ANNULLA_RICHIESTA\";\r\n\r\nexport const GET_TIPOLOGIE_ENTE = \"GET_TIPOLOGIE_ENTE\";\r\nexport const GET_TIPOLOGIE_ENTE_LOADING = \"GET_TIPOLOGIE_ENTE_LOADING\";\r\nexport const GET_TIPOLOGIE_ENTE_ERROR = \"GET_TIPOLOGIE_ENTE_ERROR\";\r\nexport const GET_TIPOLOGIE_ENTE_CLEAN = \"GET_TIPOLOGIE_ENTE_CLEAN\";\r\n\r\nexport const GET_DECODIFICHE_STATI_ACCORDO = \"GET_DECODIFICHE_STATI_ACCORDO\";\r\nexport const GET_DECODIFICHE_STATI_ACCORDO_LOADING =\r\n \"GET_DECODIFICHE_STATI_ACCORDO_LOADING\";\r\nexport const GET_DECODIFICHE_STATI_ACCORDO_ERROR =\r\n \"GET_DECODIFICHE_STATI_ACCORDO_ERROR\";\r\nexport const GET_DECODIFICHE_STATI_ACCORDO_CLEAN =\r\n \"GET_DECODIFICHE_STATI_ACCORDO_CLEAN\";\r\n\r\nexport const GET_DECODIFICHE_TIPI_UTENTE = \"GET_DECODIFICHE_TIPI_UTENTE\";\r\nexport const GET_DECODIFICHE_TIPI_UTENTE_LOADING =\r\n \"GET_DECODIFICHE_TIPI_UTENTE_LOADING\";\r\nexport const GET_DECODIFICHE_TIPI_UTENTE_ERROR =\r\n \"GET_DECODIFICHE_TIPI_UTENTE_ERROR\";\r\nexport const GET_DECODIFICHE_TIPI_UTENTE_CLEAN =\r\n \"GET_DECODIFICHE_TIPI_UTENTE_CLEAN\";\r\n\r\nexport const GET_DECODIFICHE_STATO_UTENTE = \"GET_DECODIFICHE_STATO_UTENTE\";\r\nexport const GET_DECODIFICHE_STATO_UTENTE_LOADING =\r\n \"GET_DECODIFICHE_STATO_UTENTE_LOADING\";\r\nexport const GET_DECODIFICHE_STATO_UTENTE_ERROR =\r\n \"GET_DECODIFICHE_STATO_UTENTE_ERROR\";\r\nexport const GET_DECODIFICHE_STATO_UTENTE_CLEAN =\r\n \"GET_DECODIFICHE_STATO_UTENTE_CLEAN\";\r\n\r\n\r\nexport const GET_DECODIFICHE_STATO_NORMATIVA = \"GET_DECODIFICHE_STATO_NORMATIVA\";\r\nexport const GET_DECODIFICHE_STATO_NORMATIVA_LOADING =\r\n \"GET_DECODIFICHE_STATO_NORMATIVA_LOADING\";\r\nexport const GET_DECODIFICHE_STATO_NORMATIVA_ERROR =\r\n \"GET_DECODIFICHE_STATO_NORMATIVA_ERROR\";\r\nexport const GET_DECODIFICHE_STATO_NORMATIVA_CLEAN =\r\n \"GET_DECODIFICHE_STATO_NORMATIVA_CLEAN\";\r\n\r\nexport const SET_APP_TO_LOADING = \"SET_APP_TO_LOADING\";\r\nexport const SET_APP_TO_NOT_LOADING = \"SET_APP_TO_NOT_LOADING\";\r\n\r\nexport const RICHIESTA_FORM_DATA_SALVA_CATEGORIA_TIPOLOGIA =\r\n \"RICHIESTA_FORM_DATA_SALVA_CATEGORIA_TIPOLOGIA\";\r\nexport const RICHIESTA_FORM_DATA_CATEGORIA_TIPOLOGIA_DIVERSA =\r\n \"RICHIESTA_FORM_DATA_CATEGORIA_TIPOLOGIA_DIVERSA\";\r\nexport const RICHIESTA_FORM_DATA_CLEAN = \"RICHIESTA_FORM_DATA_CLEAN\";\r\nexport const SAVE_TIPOLOGIA_TO_STORE = \"SAVE_TIPOLOGIA_TO_STORE\";\r\n\r\n// export const GET_RIFERIMENTI_NORMATIVI = \"GET_RIFERIMENTI_NORMATIVI\";\r\n// export const GET_RIFERIMENTI_NORMATIVI_LOADING =\r\n// \t\"GET_RIFERIMENTI_NORMATIVI_LOADING\";\r\n// export const GET_RIFERIMENTI_NORMATIVI_ERROR =\r\n// \t\"GET_RIFERIMENTI_NORMATIVI_ERROR\";\r\n// export const GET_RIFERIMENTI_NORMATIVI_CLEAN =\r\n// \t\"GET_RIFERIMENTI_NORMATIVI_CLEAN\";\r\n\r\n/**\r\n * form richiesta standard\r\n */\r\n\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RAPPRESENTANTE =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RAPPRESENTANTE\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RESPONSABILE_AMMINISTRAZIONE =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RESPONSABILE_AMMINISTRAZIONE\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_SUPERVISORE_SERVIZIO =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_SUPERVISORE_SERVIZIO\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CLASSIFICAZIONE =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CLASSIFICAZIONE\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_NOTA =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_NOTA\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RIFERIMENTI =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RIFERIMENTI\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CASI_ASSOCIATI =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CASI_ASSOCIATI\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_GET_DATA =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_GET_DATA\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_DELEGATO =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_DELEGATO\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_CLEAN =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_CLEAN\";\r\n\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_LOADING =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_LOADING\";\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_ERROR =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_ERROR\";\r\n\r\nexport const RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_IMPOSTAZIONI =\r\n \"RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_IMPOSTAZIONI\";\r\n\r\nexport const GET_CLASSIFICAZIONE_IPA = \"GET_CLASSIFICAZIONE_IPA\";\r\nexport const CLASSIFICAZIONE_IPA_LOADING = \"CLASSIFICAZIONE_IPA_LOADING\";\r\nexport const CLASSIFICAZIONE_IPA_FAILED = \"CLASSIFICAZIONE_IPA_FAILED\";\r\nexport const GET_CLASSIFICAZIONI_IPA_SELEZIONATI =\r\n \"GET_CLASSIFICAZIONI_IPA_SELEZIONATI\";\r\nexport const CLASSIFICAZIONE_IPA_CLEAN = \"CLASSIFICAZIONE_IPA_CLEAN\";\r\n\r\n//export const GET_RIFERIMENTI_NORMATIVI = \"GET_RIFERIMENTI_NORMATIVI\";\r\nexport const GET_RIFERIMENTI_NORMATIVI_SELEZIONATI =\r\n \"GET_RIFERIMENTI_NORMATIVI_SELEZIONATI\";\r\nexport const GET_RIFERIMENTI_NORMATIVI = \"GET_RIFERIMENTI_NORMATIVI\";\r\nexport const GET_RIFERIMENTI_NORMATIVI_LOADING =\r\n \"GET_RIFERIMENTI_NORMATIVI_LOADING\";\r\nexport const GET_RIFERIMENTI_NORMATIVI_ERROR =\r\n \"GET_RIFERIMENTI_NORMATIVI_ERROR\";\r\nexport const GET_RIFERIMENTI_NORMATIVI_CLEAN =\r\n \"GET_RIFERIMENTI_NORMATIVI_CLEAN\";\r\n// export const RIFERIMENTI_NORMATIVI_LOADING = \"RIFERIMENTI_NORMATIVI_LOADING\";\r\n// export const RIFERIMENTI_NORMATIVI_FAILED = \"RIFERIMENTI_NORMATIVI_FAILED\";\r\n// export const RIFERIMENTI_NORMATIVI_CLEAN = \"RIFERIMENTI_NORMATIVI_CLEAN\";\r\n\r\nexport const GET_ALL_CASI_USO = \"GET_ALL_CASI_USO\";\r\nexport const CASI_LOADING = \"CASI_LOADING\";\r\nexport const CASI_FAILED = \"CASI_FAILED\";\r\nexport const GET_CASI_USO = \"GET_CASI_USO\";\r\nexport const GET_CASI_USO_SELEZIONATI = \"GET_CASI_USO_SELEZIONATI\";\r\nexport const CASI_CLEAN = \"CASI_CLEAN\";\r\n\r\nexport const SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO =\r\n \"SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO\";\r\nexport const SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_LOADING =\r\n \"SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_LOADING\";\r\nexport const SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_ERROR =\r\n \"SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_ERROR\";\r\nexport const SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_CLEAN =\r\n \"SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_CLEAN\";\r\n\r\nexport const UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO =\r\n \"UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO\";\r\nexport const UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_LOADING =\r\n \"UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_LOADING\";\r\nexport const UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_ERROR =\r\n \"UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_ERROR\";\r\nexport const UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_CLEAN =\r\n \"UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_CLEAN\";\r\n\r\nexport const GET_FILE_ACCORDO_DOWNLOAD = \"GET_FILE_ACCORDO_DOWNLOAD\";\r\nexport const GET_FILE_ACCORDO_DOWNLOAD_LOADING =\r\n \"GET_FILE_ACCORDO_DOWNLOAD_LOADING\";\r\nexport const GET_FILE_ACCORDO_DOWNLOAD_ERROR =\r\n \"GET_FILE_ACCORDO_DOWNLOAD_ERROR\";\r\nexport const GET_FILE_ACCORDO_DOWNLOAD_CLEAN =\r\n \"GET_FILE_ACCORDO_DOWNLOAD_CLEAN\";\r\n\r\n////other stuff //TODO:\r\nexport const MODIFICA_RICHIESTA_ACCORDO = \"MODIFICA_RICHIESTA_ACCORDO\";\r\nexport const MODIFICA_RICHIESTA_ACCORDO_LOADING =\r\n \"MODIFICA_RICHIESTA_ACCORDO_LOADING\";\r\nexport const MODIFICA_RICHIESTA_ACCORDO_ERROR =\r\n \"MODIFICA_RICHIESTA_ACCORDO_ERROR\";\r\nexport const MODIFICA_RICHIESTA_ACCORDO_CLEAN =\r\n \"MODIFICA_RICHIESTA_ACCORDO_CLEAN\";\r\n\r\nexport const CREAZIONE_UTENTE_SU_LDAP = \"CREAZIONE_UTENTE_SU_LDAP\";\r\nexport const CREAZIONE_UTENTE_SU_LDAP_LOADING =\r\n \"CREAZIONE_UTENTE_SU_LDAP_LOADING\";\r\nexport const CREAZIONE_UTENTE_SU_LDAP_ERROR = \"CREAZIONE_UTENTE_SU_LDAP_ERROR\";\r\nexport const CREAZIONE_UTENTE_SU_LDAP_CLEAN = \"CREAZIONE_UTENTE_SU_LDAP_CLEAN\";\r\n\r\nexport const GENERAZIONE_CREDENZIALI = \"GENERAZIONE_CREDENZIALI\";\r\nexport const GENERAZIONE_CREDENZIALI_LOADING =\r\n \"GENERAZIONE_CREDENZIALI_LOADING\";\r\nexport const GENERAZIONE_CREDENZIALI_ERROR = \"GENERAZIONE_CREDENZIALI_ERROR\";\r\nexport const GENERAZIONE_CREDENZIALI_CLEAN = \"GENERAZIONE_CREDENZIALI_CLEAN\";\r\n\r\nexport const VERIFICA_FIRMA_DIGITALE = \"VERIFICA_FIRMA_DIGITALE\";\r\nexport const VERIFICA_FIRMA_DIGITALE_LOADING =\r\n \"VERIFICA_FIRMA_DIGITALE_LOADING\";\r\nexport const VERIFICA_FIRMA_DIGITALE_ERROR = \"VERIFICA_FIRMA_DIGITALE_ERROR\";\r\nexport const VERIFICA_FIRMA_DIGITALE_CLEAN = \"VERIFICA_FIRMA_DIGITALE_CLEAN\";\r\n\r\nexport const INSERIMENTO_ACCORDO_DI_FRUIZIONE =\r\n \"INSERIMENTO_ACCORDO_DI_FRUIZIONE\";\r\nexport const INSERIMENTO_ACCORDO_DI_FRUIZIONE_LOADING =\r\n \"INSERIMENTO_ACCORDO_DI_FRUIZIONE_LOADING\";\r\nexport const INSERIMENTO_ACCORDO_DI_FRUIZIONE_ERROR =\r\n \"INSERIMENTO_ACCORDO_DI_FRUIZIONE_ERROR\";\r\nexport const INSERIMENTO_ACCORDO_DI_FRUIZIONE_CLEAN =\r\n \"INSERIMENTO_ACCORDO_DI_FRUIZIONE_CLEAN\";\r\n\r\n/**\r\n *\r\n * ATTIVAZIONE\r\n *\r\n *\r\n */\r\n\r\nexport const GENERA_NUOVE_CREDENZIALI = \"GENERA_NUOVE_CREDENZIALI\";\r\nexport const GENERA_NUOVE_CREDENZIALI_LOADING =\r\n \"GENERA_NUOVE_CREDENZIALI_LOADING\";\r\nexport const GENERA_NUOVE_CREDENZIALI_FAILED =\r\n \"GENERA_NUOVE_CREDENZIALI_FAILED\";\r\n\r\nexport const GET_PEC_ENTE = \"GET_PEC_ENTE\";\r\nexport const PEC_LOADING = \"PEC_LOADING\";\r\nexport const PEC_FAILED = \"PEC_FAILED\";\r\n\r\nexport const GENERA_NUOVE_CREDENZIALI_CLEAN = \"GENERA_NUOVE_CREDENZIALI_CLEAN\";\r\nexport const PEC_REDUCER_CLEAN = \"PEC_REDUCER_CLEAN\";\r\n\r\nexport const CLEAN_VERIFICA_LINK_VALIDO_O_SCADUTO =\r\n \"CLEAN_VERIFICA_LINK_VALIDO_O_SCADUTO\";\r\nexport const CLEAN_SCELTA_PASSWORD = \"CLEAN_SCELTA_PASSWORD\";\r\nexport const CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA =\r\n \"CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA\";\r\nexport const CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA =\r\n \"CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA\";\r\n\r\n/**\r\n * acctivation and password selection\r\n */\r\n\r\nexport const VERIFICA_LINK_VALIDO_O_SCADUTO = \"VERIFICA_LINK_VALIDO_O_SCADUTO\";\r\nexport const VERIFICA_LINK_VALIDO_O_SCADUTO_LOADING = \"VERIFICA_LINK_VALIDO_O_SCADUTO_LOADING\";\r\nexport const VERIFICA_LINK_VALIDO_O_SCADUTO_FAILED = \"VERIFICA_LINK_VALIDO_O_SCADUTO_FAILED\";\r\nexport const SCELTA_PASSWORD = \"SCELTA_PASSWORD\";\r\nexport const SCELTA_PASSWORD_LOADING = \"SCELTA_PASSWORD_LOADING\";\r\nexport const SCELTA_PASSWORD_FAILED = \"SCELTA_PASSWORD_FAILED\";\r\nexport const GET_UTENTE_LINK_SCADUTO = \"GET_UTENTE_LINK_SCADUTO\";\r\nexport const GET_UTENTE_LINK_SCADUTO_LOADING = \"GET_UTENTE_LINK_SCADUTO_LOADING\";\r\nexport const GET_UTENTE_LINK_SCADUTO_FAILED = \"GET_UTENTE_LINK_SCADUTO_FAILED\";\r\nexport const CLEAN_GET_UTENTE_LINK_SCADUTO = \"CLEAN_GET_UTENTE_LINK_SCADUTO\";\r\nexport const AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA = \"AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA\";\r\nexport const AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA_LOADING = \"AGGIORNA_RICHIESTA_ACCREDITAMENTO_LOADING\";\r\nexport const AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA_FAILED = \"AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ATTIVA_FAILED\";\r\nexport const SCELTA_PEC_INVIO_NUOVO_LINK = \"SCELTA_PEC_INVIO_NUOVO_LINK\";\r\nexport const SCELTA_PEC_INVIO_NUOVO_LINK_LOADING = \"SCELTA_PEC_INVIO_NUOVO_LINK_LOADING\";\r\nexport const SCELTA_PEC_INVIO_NUOVO_LINK_FAILED = \"SCELTA_PEC_INVIO_NUOVO_LINK_FAILED\";\r\nexport const AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA = \"AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA\";\r\nexport const AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_LOADING = \"AGGIORNA_RICHIESTA_ACCREDITAMENTO_LOADING\";\r\nexport const AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_FAILED = \"AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_FAILED\";\r\nexport const SET_HIGHEST_FORM_STEP_ACCESSED = \"SET_HIGHEST_FORM_STEP_ACCESSED\";\r\nexport const SET_HIGHEST_FORM_STEP_ACCESSED_CLEAN = \"SET_HIGHEST_FORM_STEP_ACCESSED_CLEAN\";\r\nexport const SET_UTENTE_AGGIORNATO = \"SET_UTENTE_AGGIORNATO\";\r\n","import axios from \"axios\";\r\n\r\nimport * as ACTION_TYPES from \"./action-types\";\r\n//import store from \"../../../store\";\r\n\r\nexport const cleanAllReducers = () => ({\r\n type: ACTION_TYPES.CLEAN_ALL_REDUCERS\r\n});\r\n\r\n/**\r\n * app loading\r\n */\r\n\r\nexport const setAppToLoading = () => {\r\n return {\r\n type: ACTION_TYPES.SET_APP_TO_LOADING\r\n };\r\n};\r\n\r\nexport const setAppToNotLoading = () => {\r\n return {\r\n type: ACTION_TYPES.SET_APP_TO_NOT_LOADING\r\n };\r\n};\r\n\r\n/**\r\n * get tipologie ente\r\n */\r\n\r\nexport const getRicercaRichiestaAccordoFruizione = utente => dispatch => {\r\n dispatch(setRicercaRichiestaAccordoFruizioneLoading(true));\r\n \r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/load/idente/${utente.idente}`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => {\r\n dispatch(ricercaRichiestaAccordoFruizioneFailed(error));\r\n });\r\n};\r\nexport const setRicercaRichiestaAccordoFruizioneLoading = () => {\r\n return {\r\n type: ACTION_TYPES.RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_LOADING\r\n };\r\n};\r\n\r\nexport const ricercaRichiestaAccordoFruizioneFailed = error => ({\r\n type: ACTION_TYPES.RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanRicercaRichiestaAccordoFruizione = () => ({\r\n type: ACTION_TYPES.RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_CLEAN\r\n});\r\n\r\n/**\r\n * get categorie ente\r\n */\r\n\r\nexport const getCategorieEnte = idTipologia => dispatch => {\r\n dispatch(setCategorieEnteLoading(true));\r\n\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidutente\r\n // )\r\n //.get(\"/json/categorie-ente.json\", idutente)\r\n //.get(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/load/all`)\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/afcategoriaente/load/idtipologia/${idTipologia}/stato/0/orderby/descrizione`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_CATEGORIE_ENTE,\r\n payload: res.data,\r\n status: res.status\r\n });\r\n })\r\n .catch(error => dispatch(categorieEnteFailed(error)));\r\n};\r\nexport const setCategorieEnteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_CATEGORIE_ENTE_LOADING\r\n };\r\n};\r\n\r\nexport const categorieEnteFailed = error => ({\r\n type: ACTION_TYPES.GET_CATEGORIE_ENTE_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanCategorieEnte = () => ({\r\n type: ACTION_TYPES.GET_CATEGORIE_ENTE_CLEAN\r\n});\r\n\r\n/**\r\n * get tipologie ente\r\n */\r\n\r\nexport const getTipologieEnte = idutente => dispatch => {\r\n dispatch(setTipologieEnteLoading(true));\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/aftipologiaente/load/stato/0/orderby/descrizione`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_TIPOLOGIE_ENTE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(tipologieEnteFailed(error)));\r\n};\r\n\r\nexport const setTipologieEnteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_TIPOLOGIE_ENTE_LOADING\r\n };\r\n};\r\n\r\nexport const tipologieEnteFailed = error => ({\r\n type: ACTION_TYPES.GET_TIPOLOGIE_ENTE_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanTipologieEnte = () => ({\r\n type: ACTION_TYPES.GET_TIPOLOGIE_ENTE_CLEAN\r\n});\r\n\r\n/**\r\n * get categorie specifiche ente\r\n */\r\nexport const getCategorieSpecificheEnte = idCategoria => dispatch => {\r\n dispatch(setCategorieSpecificheEnteLoading(true));\r\n\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/load/idcategoria/${idCategoria}/stato/0/orderby/descrizione`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_CATEGORIE_SPECIFICHE_ENTE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(categorieEnteFailed(error)));\r\n};\r\n\r\nexport const setCategorieSpecificheEnteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_CATEGORIE_SPECIFICHE_ENTE_LOADING\r\n };\r\n};\r\n\r\nexport const categorieSpecificheEnteFailed = error => ({\r\n type: ACTION_TYPES.GET_CATEGORIE_SPECIFICHE_ENTE_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanCategorieSpecificheEnte = () => ({\r\n type: ACTION_TYPES.GET_CATEGORIE_SPECIFICHE_ENTE_CLEAN\r\n});\r\n\r\n/**\r\n * salva tipologia e categoria\r\n */\r\n\r\nexport const richiestaFormDataSalvaCategorieTipologieEnte = categorie_tipologie => dispatch => {\r\n dispatch({\r\n type: ACTION_TYPES.RICHIESTA_FORM_DATA_SALVA_CATEGORIA_TIPOLOGIA,\r\n payload: categorie_tipologie\r\n });\r\n};\r\n\r\nexport const richiestaFormDataCategoriaTipologiaDiversaEnte = () => dispatch => {\r\n dispatch({\r\n type: ACTION_TYPES.RICHIESTA_FORM_DATA_CATEGORIA_TIPOLOGIA_DIVERSA,\r\n payload: true\r\n });\r\n};\r\n\r\nexport const saveTipologiaToStore = tipologia => dispatch => {\r\n dispatch({\r\n type: ACTION_TYPES.SAVE_TIPOLOGIA_TO_STORE,\r\n payload: tipologia\r\n });\r\n};\r\n\r\nexport const cleanRichiestaFormDataEnte = () => ({\r\n type: ACTION_TYPES.RICHIESTA_FORM_DATA_CLEAN\r\n});\r\n\r\n/**\r\n *\r\n *\r\n *\r\n * otherTODO:\r\n *\r\n *\r\n *\r\n *\r\n */\r\n\r\n///other stuff TODO:\r\n\r\n/**\r\n *\r\n * 1111 //TODO:\r\n */\r\n\r\nexport const modificaRichiestaAccordo = idutente => dispatch => {\r\n dispatch(modificaRichiestaAccordoLoading(true));\r\n\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidutente\r\n // )\r\n .get(\r\n process.env.REACT_APP_API_ROOT + \"/json/modifica-richiesta-accordo.json\",\r\n idutente\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.MODIFICA_RICHIESTA_ACCORDO,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(modificaRichiestaAccordoFailed(error)));\r\n};\r\nexport const modificaRichiestaAccordoLoading = () => {\r\n return {\r\n type: ACTION_TYPES.MODIFICA_RICHIESTA_ACCORDO_LOADING\r\n };\r\n};\r\n\r\nexport const modificaRichiestaAccordoFailed = error => ({\r\n type: ACTION_TYPES.MODIFICA_RICHIESTA_ACCORDO_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanModificaRichiestaAccordo = () => ({\r\n type: ACTION_TYPES.MODIFICA_RICHIESTA_ACCORDO_CLEAN\r\n});\r\n\r\n/**\r\n * 2222 //TODO:\r\n */\r\n\r\nexport const creazioneUtenteSuLDAP = idutente => dispatch => {\r\n dispatch(creazioneUtenteSuLDAPLoading(true));\r\n\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidutente\r\n // )\r\n .get(\r\n process.env.REACT_APP_API_ROOT + \"/json/creazione-utente-ldap.json\",\r\n idutente\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.CREAZIONE_UTENTE_SU_LDAP,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(creazioneUtenteSuLDAPFailed(error)));\r\n};\r\nexport const creazioneUtenteSuLDAPLoading = () => {\r\n return {\r\n type: ACTION_TYPES.CREAZIONE_UTENTE_SU_LDAP_LOADING\r\n };\r\n};\r\n\r\nexport const creazioneUtenteSuLDAPFailed = error => ({\r\n type: ACTION_TYPES.CREAZIONE_UTENTE_SU_LDAP_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanCreazioneUtenteSuLDAP = () => ({\r\n type: ACTION_TYPES.CREAZIONE_UTENTE_SU_LDAP_CLEAN\r\n});\r\n\r\n/**\r\n * 3333 // TODO:\r\n */\r\n\r\nexport const generazioneCredenziali = idutente => dispatch => {\r\n dispatch(generazioneCredenzialiLoading(true));\r\n\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidutente\r\n // )\r\n .get(\r\n process.env.REACT_APP_API_ROOT + \"/json/generazione-credenziali.json\",\r\n idutente\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GENERAZIONE_CREDENZIALI,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(generazioneCredenzialiFailed(error)));\r\n};\r\nexport const generazioneCredenzialiLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GENERAZIONE_CREDENZIALI_LOADING\r\n };\r\n};\r\n\r\nexport const generazioneCredenzialiFailed = error => ({\r\n type: ACTION_TYPES.GENERAZIONE_CREDENZIALI_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanGenerazioneCredenziali = () => ({\r\n type: ACTION_TYPES.GENERAZIONE_CREDENZIALI_CLEAN\r\n});\r\n\r\n/**\r\n * 4444 //TODO:\r\n */\r\n\r\nexport const firmaDigitalmente = idutente => dispatch => {\r\n dispatch(firmaDigitalmenteLoading(true));\r\n\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidutente\r\n // )\r\n .get(\r\n process.env.REACT_APP_API_ROOT + \"/json/firma-digitalmente.json\",\r\n idutente\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.VERIFICA_FIRMA_DIGITALE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(firmaDigitalmenteFailed(error)));\r\n};\r\nexport const firmaDigitalmenteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.VERIFICA_FIRMA_DIGITALE_LOADING\r\n };\r\n};\r\n\r\nexport const firmaDigitalmenteFailed = error => ({\r\n type: ACTION_TYPES.VERIFICA_FIRMA_DIGITALE_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanFirmaDigitalmente = () => ({\r\n type: ACTION_TYPES.VERIFICA_FIRMA_DIGITALE_CLEAN\r\n});\r\n\r\n/**\r\n * 555 // TODO:\r\n */\r\n\r\nexport const inserimentoAccordoDiFruizione = idutente => dispatch => {\r\n dispatch(inserimentoAccordoDiFruizioneLoading(true));\r\n\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidutente\r\n // )\r\n .get(\r\n process.env.REACT_APP_API_ROOT +\r\n \"/json/inserimento-accordo-fruizione.json\",\r\n idutente\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.INSERIMENTO_ACCORDO_DI_FRUIZIONE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(inserimentoAccordoDiFruizioneFailed(error)));\r\n};\r\nexport const inserimentoAccordoDiFruizioneLoading = () => {\r\n return {\r\n type: ACTION_TYPES.INSERIMENTO_ACCORDO_DI_FRUIZIONE_LOADING\r\n };\r\n};\r\n\r\nexport const inserimentoAccordoDiFruizioneFailed = error => ({\r\n type: ACTION_TYPES.INSERIMENTO_ACCORDO_DI_FRUIZIONE_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const cleanInserimentoAccordoDiFruizione = () => ({\r\n type: ACTION_TYPES.INSERIMENTO_ACCORDO_DI_FRUIZIONE_CLEAN\r\n});\r\n\r\n/**\r\n * form richiesta standard\r\n *\r\n */\r\n\r\nexport const addRichiestaStandardAccordoFormDatiRappresentanteToState = details => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RAPPRESENTANTE,\r\n payload: details\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiResponsabileAmministrazioneToState = details => ({\r\n type:\r\n ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RESPONSABILE_AMMINISTRAZIONE,\r\n payload: details\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiSupervisoreServizioToState = details => ({\r\n type:\r\n ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_SUPERVISORE_SERVIZIO,\r\n payload: details\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiDelegatoToState = details => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_DELEGATO,\r\n payload: details\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiClassificazioneToState = classificazione_ipa => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CLASSIFICAZIONE,\r\n payload: {\r\n classificazione_ipa\r\n }\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiNotaToState = noteente => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_NOTA,\r\n payload: {\r\n noteente\r\n }\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiRiferimentiToState = riferimenti_normativi => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RIFERIMENTI,\r\n payload: {\r\n riferimenti_normativi\r\n }\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiCasiAssociatiToState = casi_associati => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CASI_ASSOCIATI,\r\n payload: {\r\n casi_associati\r\n }\r\n});\r\n\r\nexport const addRichiestaStandardAccordoFormDatiImpostazioniToState = impostazioni => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_IMPOSTAZIONI,\r\n payload: {\r\n impostazioni\r\n }\r\n});\r\n\r\nexport const cleanRichiestaStandardAccordoFormDati = () => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_CLEAN,\r\n payload: {}\r\n});\r\n\r\nexport const richiestaStandardAccordoFormRecuperaDaBackend = idAccordo => dispatch => {\r\n dispatch(richiestaStandardAccordoFormRecuperaDaBackendLoading(true));\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}`)\r\n .then(response => {\r\n dispatch(setRichiestaStandardAccordoFromToStore(response));\r\n if (\r\n response.data.supervisore &&\r\n response.data.supervisore.codicefiscale\r\n ) {\r\n dispatch(\r\n saveTipologiaToStore({\r\n codice: \"PA\"\r\n })\r\n );\r\n }\r\n })\r\n .catch(error =>\r\n dispatch(richiestaStandardAccordoFormRecuperaDaBackendFailed(error))\r\n );\r\n};\r\n\r\nexport const setRichiestaStandardAccordoFromToStore = response => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND,\r\n payload: response.data\r\n});\r\n\r\nexport const richiestaStandardAccordoFormRecuperaDaBackendLoading = error => ({\r\n type:\r\n ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_LOADING,\r\n payload: error\r\n});\r\n\r\nexport const richiestaStandardAccordoFormRecuperaDaBackendFailed = error => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_ERROR,\r\n payload: error\r\n});\r\n\r\nexport const getRichiestaAccordoFormData = () => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_GET_DATA,\r\n payload: \"\"\r\n});\r\n\r\n/** classificazione ipa */\r\n\r\n// export const getClassificazioneIpa = () => dispatch => {\r\n// \tdispatch(setClassificazioneIpaLoading(true));\r\n// \taxios\r\n// \t\t.get(\"/json/classificazione-ipa.json\")\r\n// \t\t.then(res => {\r\n// \t\t\tdispatch({\r\n// \t\t\t\ttype: ACTION_TYPES.GET_CLASSIFICAZIONE_IPA,\r\n// \t\t\t\tpayload: res.data\r\n// \t\t\t});\r\n// \t\t})\r\n// \t\t.catch(error => dispatch(classificazioneIpaFailed(error)));\r\n// };\r\n\r\n// export const getClassificazioniSelezionati = classificazioni => dispatch => {\r\n// \tdispatch(setClassificazioneIpaLoading(true));\r\n// \taxios\r\n// \t\t.get(\"/json/classificazione-ipa.json\", classificazioni)\r\n// \t\t.then(res => {\r\n// \t\t\tdispatch({\r\n// \t\t\t\ttype: ACTION_TYPES.GET_CLASSIFICAZIONI_IPA_SELEZIONATI,\r\n// \t\t\t\tpayload: res.data,\r\n// \t\t\t\tclassificazioni: classificazioni\r\n// \t\t\t});\r\n// \t\t})\r\n// \t\t.catch(error => dispatch(classificazioneIpaFailed(error)));\r\n// };\r\n\r\n// export const setClassificazioneIpaLoading = () => {\r\n// \treturn {\r\n// \t\ttype: ACTION_TYPES.CLASSIFICAZIONE_IPA_LOADING\r\n// \t};\r\n// };\r\n\r\n// export const classificazioneIpaFailed = errorMessage => ({\r\n// \ttype: ACTION_TYPES.CLASSIFICAZIONE_IPA_FAILED,\r\n// \tpayload: errorMessage\r\n// });\r\n\r\n// export const cleanClassificazioneIpa = () => ({\r\n// \ttype: ACTION_TYPES.CLASSIFICAZIONE_IPA_CLEAN\r\n// });\r\n\r\n/** riferimenti normativi */\r\n\r\nexport const getRiferimentiNormativi = () => dispatch => {\r\n dispatch(setRiferimentiNormativiLoading(true));\r\n axios\r\n .get(process.env.PUBLIC_URL + \"/json/riferimenti-normativi.json\")\r\n //.get(process.env.REACT_APP_API_ROOT + \"/json/riferimenti-normativi.json\")\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_RIFERIMENTI_NORMATIVI,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(riferimentiNormativiFailed(error)));\r\n};\r\n\r\nexport const getRiferimentiNormativiSelezionati = riferimenti => dispatch => {\r\n dispatch(setRiferimentiNormativiLoading(true));\r\n axios\r\n .get(\r\n process.env.PUBLIC_URL + \"/json/riferimenti-normativi.json\",\r\n riferimenti\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_RIFERIMENTI_NORMATIVI_SELEZIONATI,\r\n payload: res.data,\r\n riferimenti: riferimenti\r\n });\r\n })\r\n .catch(error => dispatch(riferimentiNormativiFailed(error)));\r\n};\r\n\r\nexport const setRiferimentiNormativiLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_RIFERIMENTI_NORMATIVI_LOADING\r\n };\r\n};\r\n\r\nexport const riferimentiNormativiFailed = errorMessage => ({\r\n type: ACTION_TYPES.GET_RIFERIMENTI_NORMATIVI_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanRiferimentiNormativi = () => ({\r\n type: ACTION_TYPES.GET_RIFERIMENTI_NORMATIVI_CLEAN\r\n});\r\n\r\n/**\r\n * seleziona casi uso\r\n */\r\n\r\n/**\r\n * Casi d'uso public\r\n */\r\n\r\n// export const getAllCasiUso = () => dispatch => {\r\n// \tdispatch(setCasiLoading(true));\r\n// \t//setTimeout(() => {\r\n// \taxios\r\n// \t\t.get(\"/json/casi-uso.json\")\r\n// \t\t.then(res => {\r\n// \t\t\tdispatch({\r\n// \t\t\t\ttype: ACTION_TYPES.GET_ALL_CASI_USO,\r\n// \t\t\t\tpayload: res.data\r\n// \t\t\t});\r\n// \t\t})\r\n// \t\t.catch(error => dispatch(casiFailed(error)));\r\n// \t//}, 2000);\r\n// };\r\n\r\nexport const getCasiUso = (pageCurrent, limit) => dispatch => {\r\n dispatch(setCasiLoading(true));\r\n setTimeout(() => {\r\n axios\r\n .get(process.env.REACT_APP_API_ROOT + \"/json/casi-uso.json\")\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_CASI_USO,\r\n payload: res.data,\r\n pageCurrent: pageCurrent,\r\n limit: limit\r\n });\r\n })\r\n .catch(error => dispatch(casiFailed(error)));\r\n }, 1000);\r\n};\r\n\r\nexport const getCasiSelezionati = casi => dispatch => {\r\n dispatch(setCasiLoading(true));\r\n setTimeout(() => {\r\n axios\r\n .get(process.env.REACT_APP_API_ROOT + \"/json/casi-uso.json\")\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_CASI_USO_SELEZIONATI,\r\n payload: res.data,\r\n casi: casi\r\n });\r\n })\r\n .catch(error => dispatch(casiFailed(error)));\r\n }, 1000);\r\n};\r\n\r\nexport const setCasiLoading = () => {\r\n return {\r\n type: ACTION_TYPES.CASI_LOADING\r\n };\r\n};\r\n\r\nexport const casiFailed = errorMessage => ({\r\n type: ACTION_TYPES.CASI_FAILED,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanCasiUSo = () => ({\r\n type: ACTION_TYPES.CASI_CLEAN\r\n});\r\n\r\n/**\r\n * updateRichiestaAccordoFruizioneInStatoInserito\r\n */\r\nexport const updateRichiestaAccordoFruizioneInStatoInserito = (\r\n idAccordo,\r\n formValues\r\n) => dispatch => {\r\n dispatch(updateRichiestaAccordoFruizioneInStatoInseritoLoading(true));\r\n\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", formValues)\r\n //.get(\"/json/salva-richiesta-stato-inserito.json\", formValues)\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}`,\r\n formValues\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA,\r\n payload: res.data,\r\n formValues: formValues\r\n });\r\n })\r\n .catch(error => {\r\n dispatch(updateRichiestaAccordoFruizioneInStatoInseritoFailed(error));\r\n });\r\n};\r\n\r\nexport const updateRichiestaAccordoFruizioneInStatoInseritoLoading = () => {\r\n return {\r\n type: ACTION_TYPES.UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_LOADING\r\n };\r\n};\r\n\r\nexport const updateRichiestaAccordoFruizioneInStatoInseritoFailed = errorMessage => ({\r\n type: ACTION_TYPES.UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\n/**\r\n *operatoreAnnullaRichiesta\r\n */\r\n\r\nexport const operatoreAnnullaRichiesta = idAccordo => dispatch => {\r\n dispatch(setSalvaRichiestaAccordoFruizioneInStatoInseritoLoading(true));\r\n\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", formValues)\r\n //.get(\"/json/salva-richiesta-stato-inserito.json\", formValues)\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/annulla`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.OPERATORE_ANNULLA_RICHIESTA,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => {\r\n dispatch(salvaRichiestaAccordoFruizioneInStatoInseritoFailed(error));\r\n });\r\n};\r\n\r\n/**\r\n * send form richiesta adesione accordo\r\n *\r\n */\r\n\r\nexport const salvaRichiestaAccordoFruizioneInStatoInserito = formValues => dispatch => {\r\n dispatch(setSalvaRichiestaAccordoFruizioneInStatoInseritoLoading(true));\r\n dispatch(setSalvaRichiestaAccordoFruizioneInStatoInseritoLoading2(true));\r\n console.log(formValues)\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", formValues)\r\n //.get(\"/json/salva-richiesta-stato-inserito.json\", formValues)\r\n .post(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo`, formValues)\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO,\r\n payload: res.data,\r\n formValues: formValues\r\n });\r\n\r\n dispatch({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND,\r\n //SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO\r\n payload: res.data,\r\n formValues: formValues\r\n });\r\n })\r\n .catch(error => {\r\n dispatch(salvaRichiestaAccordoFruizioneInStatoInseritoFailed(error));\r\n dispatch(salvaRichiestaAccordoFruizioneInStatoInseritoFailed2(error));\r\n });\r\n};\r\n\r\nexport const setSalvaRichiestaAccordoFruizioneInStatoInseritoLoading = () => {\r\n return {\r\n type:\r\n ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_LOADING\r\n //SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_LOADING\r\n };\r\n};\r\n\r\nexport const salvaRichiestaAccordoFruizioneInStatoInseritoFailed = errorMessage => ({\r\n type: ACTION_TYPES.RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_ERROR,\r\n //SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_ERROR\r\n payload: errorMessage\r\n});\r\n\r\nexport const setSalvaRichiestaAccordoFruizioneInStatoInseritoLoading2 = () => {\r\n return {\r\n type: ACTION_TYPES.SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_LOADING\r\n };\r\n};\r\n\r\nexport const salvaRichiestaAccordoFruizioneInStatoInseritoFailed2 = errorMessage => ({\r\n type: ACTION_TYPES.SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_ERROR,\r\n payload: errorMessage\r\n});\r\nexport const cleanSalvaRichiestaAccordoFruizioneInStatoInserito = () => ({\r\n type: ACTION_TYPES.SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_CLEAN\r\n});\r\n\r\n/**\r\n * uploadFileAccordoFruizioneFirmato\r\n */\r\n\r\nexport const uploadFileAccordoFruizioneFirmato = formValues => dispatch => {\r\n dispatch(setUploadFileAccordoFruizioneFirmatoLoading(true));\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", formValues)\r\n .get(\r\n process.env.REACT_APP_API_ROOT +\r\n \"/json/salva-richiesta-stato-inserito.json\",\r\n formValues\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO,\r\n payload: res.data,\r\n formValues: formValues\r\n });\r\n })\r\n .catch(error => dispatch(uploadFileAccordoFruizioneFirmatoFailed(error)));\r\n};\r\n\r\nexport const setUploadFileAccordoFruizioneFirmatoLoading = () => {\r\n return {\r\n type: ACTION_TYPES.UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_LOADING\r\n };\r\n};\r\n\r\nexport const uploadFileAccordoFruizioneFirmatoFailed = errorMessage => ({\r\n type: ACTION_TYPES.UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanUploadFileAccordoFruizioneFirmato = () => ({\r\n type: ACTION_TYPES.UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_CLEAN\r\n});\r\n\r\n/**\r\n * getFileAccordoToDownload\r\n */\r\n\r\nexport const getFileAccordoToDownload = idaccordo => dispatch => {\r\n dispatch(getFileAccordoToDownloadLoading(true));\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", idaccordo)\r\n //.get(\"/json/get-file-to-download.json\", idaccordo)\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idaccordo}/filerichiesta`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_FILE_ACCORDO_DOWNLOAD,\r\n payload: res.data,\r\n idaccordo: idaccordo\r\n });\r\n })\r\n .catch(error => dispatch(getFileAccordoToDownloadFailed(error)));\r\n};\r\n\r\nexport const getFileAccordoToDownloadLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_FILE_ACCORDO_DOWNLOAD_LOADING\r\n };\r\n};\r\n\r\nexport const getFileAccordoToDownloadFailed = errorMessage => ({\r\n type: ACTION_TYPES.GET_FILE_ACCORDO_DOWNLOAD_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanGetFileAccordoToDownload = () => ({\r\n type: ACTION_TYPES.GET_FILE_ACCORDO_DOWNLOAD_CLEAN\r\n});\r\n\r\n/**\r\n * decodificheStatiAccordo\r\n */\r\n\r\nexport const decodificheStatiAccordo = idaccordo => dispatch => {\r\n dispatch(decodificheStatiAccordoLoading(true));\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", idaccordo)\r\n //.get(\"/json/get-file-to-download.json\", idaccordo)\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_ACCORDO/all`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO,\r\n payload: res.data,\r\n idaccordo: idaccordo\r\n });\r\n })\r\n .catch(error => dispatch(decodificheStatiAccordoFailed(error)));\r\n};\r\n\r\nexport const decodificheStatiAccordoLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO_LOADING\r\n };\r\n};\r\n\r\nexport const decodificheStatiAccordoFailed = errorMessage => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanDecodificheStatiAccordo = () => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO_CLEAN\r\n});\r\n\r\n/**\r\n * decodificheTipiUtente\r\n */\r\n\r\nexport const decodificheTipiUtente = idaccordo => dispatch => {\r\n dispatch(decodificheTipiUtenteLoading(true));\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", idaccordo)\r\n //.get(\"/json/get-file-to-download.json\", idaccordo)\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_TIPO_UTENTE/all`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE,\r\n payload: res.data,\r\n idaccordo: idaccordo\r\n });\r\n })\r\n .catch(error => dispatch(decodificheTipiUtenteFailed(error)));\r\n};\r\n\r\nexport const decodificheTipiUtenteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE_LOADING\r\n };\r\n};\r\n\r\nexport const decodificheTipiUtenteFailed = errorMessage => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanDecodificheTipiUtente = () => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE_CLEAN\r\n});\r\n\r\n/**\r\n * decodificheStatoUtente\r\n */\r\n\r\nexport const decodificheStatoUtente = () => dispatch => {\r\n dispatch(decodificheStatoUtenteLoading(true));\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", idaccordo)\r\n //.get(\"/json/get-file-to-download.json\", idaccordo)\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_UTENTI/all`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_UTENTE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(decodificheStatoUtenteFailed(error)));\r\n};\r\n\r\nexport const decodificheStatoUtenteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_UTENTE_LOADING\r\n };\r\n};\r\n\r\nexport const decodificheStatoUtenteFailed = errorMessage => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_UTENTE_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanDecodificheStatoUtente = () => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_UTENTE_CLEAN\r\n});\r\n\r\n\r\n\r\n/**\r\n * decodificheStatoNormativa\r\n */\r\n\r\nexport const decodificheStatoNormativa = () => dispatch => {\r\n dispatch(decodificheStatoNormativaLoading(true));\r\n axios\r\n //.post(\"/json/invia-richiesta.json\", idaccordo)\r\n //.get(\"/json/get-file-to-download.json\", idaccordo)\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_NORMATIVA/all`\r\n )\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_NORMATIVA,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(decodificheStatoNormativaFailed(error)));\r\n};\r\n\r\nexport const decodificheStatoNormativaLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_NORMATIVA_LOADING\r\n };\r\n};\r\n\r\nexport const decodificheStatoNormativaFailed = errorMessage => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_NORMATIVA_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const cleanDecodificheStatoNormativa = () => ({\r\n type: ACTION_TYPES.GET_DECODIFICHE_STATO_NORMATIVA_CLEAN\r\n});\r\n\r\n/**\r\n *\r\n * ************************************************\r\n * ************************************************\r\n * ACTIONS ATTIVAZIONE\r\n * ************************************************\r\n * ************************************************\r\n *\r\n */\r\n\r\n/**\r\n *\r\n * get pec emails for specified ente id\r\n */\r\n\r\nexport const getPECEnte = idente => dispatch => {\r\n dispatch(setPecLoading(true));\r\n axios\r\n .get(\"/anpr-portale-enti-be-web/jaxrs/afente/load/deep/id/\" + idente)\r\n //.get(\"/anpr-ng-shared-rest-web/jaxrs/afente/load/deep/id/0\", idente)\r\n //.get(\"http://localhost:2500/elencoEmail\", idente)\r\n .then(res => {\r\n setTimeout(() => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_PEC_ENTE,\r\n payload: res.data,\r\n idente: idente\r\n });\r\n }, 1500);\r\n })\r\n .catch(error => dispatch(pecFailed(error)));\r\n};\r\n\r\nexport const setPecLoading = () => {\r\n return {\r\n type: ACTION_TYPES.PEC_LOADING\r\n };\r\n};\r\n\r\nexport const pecFailed = error => ({\r\n type: ACTION_TYPES.PEC_FAILED,\r\n payload: error\r\n});\r\n\r\nexport const RichiestaAccreditamentoFormGeneraCredenzialiActions = (\r\n idutente,\r\n idemail\r\n) => dispatch => {\r\n dispatch(RichiestaAccreditamentoFormGeneraCredenziali(idutente, idemail));\r\n};\r\n\r\nexport const RichiestaAccreditamentoFormGeneraCredenziali = (\r\n idutente,\r\n idemail\r\n) => dispatch => {\r\n dispatch(setRichiestaAccreditamentoFormGeneraCredenzialiLoading(true));\r\n\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs-public/afutente/idutente/${parseInt(\r\n idutente\r\n )}/afcredenziali/link`\r\n )\r\n //.post(\"http://localhost:2500/genera-credenziali\", idutente)\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GENERA_NUOVE_CREDENZIALI,\r\n payload: res.data,\r\n idutente: idutente,\r\n idemail: idemail\r\n });\r\n })\r\n .catch(error =>\r\n dispatch(richiestaAccreditamentoFormGeneraCredenzialiFailed(error))\r\n );\r\n};\r\n\r\nexport const setRichiestaAccreditamentoFormGeneraCredenzialiLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GENERA_NUOVE_CREDENZIALI_LOADING\r\n };\r\n};\r\n\r\nexport const richiestaAccreditamentoFormGeneraCredenzialiFailed = error => ({\r\n type: ACTION_TYPES.GENERA_NUOVE_CREDENZIALI_FAILED,\r\n payload: error\r\n});\r\n\r\nexport const cleanVerificaLinkValidoOScadutoReducer = () => {\r\n return {\r\n type: ACTION_TYPES.CLEAN_VERIFICA_LINK_VALIDO_O_SCADUTO\r\n };\r\n};\r\n\r\nexport const cleanGetUtenteLinkScadutoReducer = () => {\r\n return {\r\n type: ACTION_TYPES.CLEAN_GET_UTENTE_LINK_SCADUTO\r\n };\r\n};\r\n\r\nexport const cleanPecReducer = () => {\r\n return {\r\n type: ACTION_TYPES.PEC_REDUCER_CLEAN\r\n };\r\n};\r\nexport const cleanGeneraNuoveCredenziali = () => {\r\n return {\r\n type: ACTION_TYPES.GENERA_NUOVE_CREDENZIALI_CLEAN\r\n };\r\n};\r\nexport const cleanSceltaPasswordReducer = () => {\r\n return {\r\n type: ACTION_TYPES.CLEAN_SCELTA_PASSWORD\r\n };\r\n};\r\n\r\nexport const cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer = () => {\r\n return {\r\n type:\r\n ACTION_TYPES.CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA\r\n };\r\n};\r\n\r\n/**\r\n *\r\n * PASSWORD ACCREDITAMENTO\r\n */\r\n\r\n/**\r\n * verifica se il link di attivazione e valido o scaduto\r\n *\r\n */\r\n\r\nexport const verificaLinkValidoOScaduto = chiave => dispatch => {\r\n dispatch(setVerificaLinkValidoOScadutoLoading(true));\r\n axios\r\n .get( `/anpr-portale-enti-be-web/jaxrs-public/afutente/afcredenziali/link/${chiave}?valid=true&v=${new Date().getTime()}`)\r\n //.get(`http://localhost:2500/recupero-credenziali`, chiave)\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.VERIFICA_LINK_VALIDO_O_SCADUTO,\r\n payload: res.data,\r\n chiave: chiave\r\n });\r\n ////\r\n // let error = {\r\n // \tresponse: {\r\n // \t\tstatus: 410\r\n // \t},\r\n // \tmessage: \"410 error\"\r\n // };\r\n\r\n // dispatch(verificaLinkValidoOScadutoFailed(error));\r\n })\r\n .catch(error => dispatch(verificaLinkValidoOScadutoFailed(error)));\r\n};\r\n\r\nexport const setVerificaLinkValidoOScadutoLoading = () => {\r\n return {\r\n type: ACTION_TYPES.VERIFICA_LINK_VALIDO_O_SCADUTO_LOADING\r\n };\r\n};\r\n\r\nexport const verificaLinkValidoOScadutoFailed = error => ({\r\n type: ACTION_TYPES.VERIFICA_LINK_VALIDO_O_SCADUTO_FAILED,\r\n payload: error\r\n});\r\n\r\n/**\r\n * save new password\r\n *\r\n */\r\n\r\nexport const salvaLaNuovaPassword = (utenteid, password, link) => dispatch => {\r\n //utenteid, password = {userId: \"xxx\", password: \"yyy\"}\r\n dispatch(setSalvaLaNuovaPasswordLoading(true));\r\n axios\r\n .post(\r\n `/anpr-portale-enti-be-web/jaxrs-public/afutente/idutente/${utenteid}/afcredenziali`,\r\n password,\r\n link\r\n )\r\n //.get(\"http://localhost:2500/verifica-chiaves\", utenteid, password)\r\n //.post(\"http://localhost:2500/salva-password\", utenteid, password)\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.SCELTA_PASSWORD,\r\n payload: res.data,\r\n utenteid: utenteid,\r\n password: password\r\n });\r\n })\r\n .catch(error => dispatch(salvaLaNuovaPasswordFailed(error)));\r\n};\r\n\r\nexport const setSalvaLaNuovaPasswordLoading = () => {\r\n return {\r\n type: ACTION_TYPES.SCELTA_PASSWORD_LOADING\r\n };\r\n};\r\n\r\nexport const salvaLaNuovaPasswordFailed = error => ({\r\n type: ACTION_TYPES.SCELTA_PASSWORD_FAILED,\r\n payload: error\r\n});\r\n\r\n/**\r\n * get utente per link scaduto\r\n *\r\n */\r\n\r\nexport const getUtenteLinkScaduto = chiave => dispatch => {\r\n //utenteid, password = {userId: \"xxx\", password: \"yyy\"}\r\n dispatch(setGetUtenteLinkScadutoLoading(true));\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs-public/afutente/afcredenziali/link/${chiave}`\r\n )\r\n //.get(`http://localhost:2500/recupero-credenziali`, chiave)\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_UTENTE_LINK_SCADUTO,\r\n payload: res.data,\r\n chiave: chiave\r\n });\r\n })\r\n .catch(error => dispatch(getUtenteLinkScadutoFailed(error)));\r\n};\r\n\r\nexport const setGetUtenteLinkScadutoLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_UTENTE_LINK_SCADUTO_LOADING\r\n };\r\n};\r\n\r\nexport const getUtenteLinkScadutoFailed = error => ({\r\n type: ACTION_TYPES.GET_UTENTE_LINK_SCADUTO_FAILED,\r\n payload: error\r\n});\r\n\r\n/**\r\n * annulla richiesta accreditamento\r\n *\r\n */\r\n\r\nexport const annullaRichiestaAccreditamento = idente => dispatch => {\r\n dispatch(setAnnullaRichiestaAccreditamentoLoading(true));\r\n axios\r\n .post(\r\n `/anpr-portale-enti-be-web/jaxrs/afaccreditamento/idente/${idente}/annulla_richiesta`\r\n )\r\n //.post(\"http://localhost:2500/annulla-richiesta\", idente)\r\n .then(res => {\r\n dispatch({\r\n type:\r\n ACTION_TYPES.AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA,\r\n payload: res.data,\r\n idente: idente\r\n });\r\n })\r\n .catch(error => dispatch(annullaRichiestaAccreditamentoFailed(error)));\r\n};\r\n\r\nexport const setAnnullaRichiestaAccreditamentoLoading = () => {\r\n return {\r\n type:\r\n ACTION_TYPES.AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_LOADING\r\n };\r\n};\r\n\r\nexport const annullaRichiestaAccreditamentoFailed = error => ({\r\n type:\r\n ACTION_TYPES.AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_FAILED,\r\n payload: error\r\n});\r\n\r\n/**\r\n * highest form sted accessed\r\n */\r\n\r\nexport const setHighestFormStepAccessed = step => {\r\n return {\r\n type: ACTION_TYPES.SET_HIGHEST_FORM_STEP_ACCESSED,\r\n payload: step\r\n };\r\n};\r\n\r\nexport const setHighestFormStepAccessedClean = () => {\r\n return {\r\n type: ACTION_TYPES.SET_HIGHEST_FORM_STEP_ACCESSED_CLEAN\r\n };\r\n};\r\n\r\nexport const setUtenteAggiornato = payload => ({\r\n type: ACTION_TYPES.SET_UTENTE_AGGIORNATO,\r\n payload: payload\r\n});\r\n","import axios from \"axios\";\r\nimport { getConfigParamsError, getConfigParamsIsLoading, getConfigParamsSuccess } from \"../config-params-actions/get-config-params-actions\";\r\nimport {\r\n getDecodificheStatiAccordoIsLoading,\r\n getDecodificheTipiUtenteIsLoading,\r\n getDecodificheStatiUtenteIsLoading,\r\n getDecodificheStatiNormativaIsLoading,\r\n getDecodificheStatiCasoUsoIsLoading,\r\n getDecodificheStatiNormativaError,\r\n getDecodificheStatiNormativaSuccess,\r\n getDecodificheTipiUtenteSuccess,\r\n getDecodificheTipiUtenteError,\r\n getDecodificheStatiAccordoSuccess,\r\n getDecodificheStatiAccordoError,\r\n getDecodificheStatiUtenteSuccess,\r\n getDecodificheStatiUtenteError,\r\n getDecodificheStatiCasoUsoSuccess,\r\n getDecodificheStatiCasoUsoError,\r\n getDecodificheStatiTipologiaIsLoading, getDecodificheStatiTipologiaSuccess, getDecodificheStatiTipologiaError, getDecodificheAmbitiTerritorialiIsLoading, getDecodificheAmbitiTerritorialiSuccess, getDecodificheAmbitiTerritorialiError, getDecodificheAmbitiIsLoading, getDecodificheAmbitiSuccess, getDecodificheAmbitiError\r\n} from \"./get-decodifiche-actions\";\r\n\r\nexport const getDecodifiche = (callback) => dispatch => {\r\n dispatch(getDecodificheAmbitiTerritorialiIsLoading(true));\r\n dispatch(getDecodificheAmbitiIsLoading(true));\r\n dispatch(getDecodificheStatiAccordoIsLoading(true));\r\n dispatch(getDecodificheTipiUtenteIsLoading(true));\r\n dispatch(getDecodificheStatiUtenteIsLoading(true));\r\n dispatch(getDecodificheStatiNormativaIsLoading(true));\r\n dispatch(getDecodificheStatiCasoUsoIsLoading(true));\r\n dispatch(getDecodificheStatiTipologiaIsLoading(true));\r\n dispatch(getConfigParamsIsLoading(true));\r\n axios.all([\r\n // STATI ACCORDO\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_ACCORDO/all`\r\n ),\r\n // STATI CASO USO\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_CASO_DUSO/all`\r\n ),\r\n // TIPI UTENTE\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_TIPO_UTENTE/all`\r\n ),\r\n // STATI UTENTE\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_UTENTI/all`\r\n ),\r\n // STATI NORMATIVA\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_NORMATIVA/all`\r\n ),\r\n // STATI TIPOLOGIA\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_STATO_CLASS_ENTI/all`\r\n ),\r\n // AMBITI\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_AMBITO/all`\r\n ),\r\n // AMBITI TERRITORIALI\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_AMBITO_TERRITORIALE/all`\r\n ),\r\n // CONFIG PARAMS\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/config/params?`\r\n )\r\n ]).then(axios.spread((obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9) => {\r\n dispatch(getDecodificheStatiAccordoSuccess(obj1.data));\r\n dispatch(getDecodificheStatiCasoUsoSuccess(obj2.data));\r\n dispatch(getDecodificheTipiUtenteSuccess(obj3.data));\r\n dispatch(getDecodificheStatiUtenteSuccess(obj4.data));\r\n dispatch(getDecodificheStatiNormativaSuccess(obj5.data));\r\n dispatch(getDecodificheStatiTipologiaSuccess(obj6.data));\r\n dispatch(getDecodificheAmbitiSuccess(obj7.data));\r\n dispatch(getDecodificheAmbitiTerritorialiSuccess(obj8.data));\r\n dispatch(getConfigParamsSuccess(obj9.data));\r\n if (callback) {\r\n callback();\r\n }\r\n }))\r\n .catch((err1, err2, err3, err4, err5, err6, err7, err8, err9) => {\r\n dispatch(getDecodificheStatiAccordoError(err1));\r\n dispatch(getDecodificheStatiCasoUsoError(err2));\r\n dispatch(getDecodificheTipiUtenteError(err3));\r\n dispatch(getDecodificheStatiUtenteError(err4));\r\n dispatch(getDecodificheStatiNormativaError(err5));\r\n dispatch(getDecodificheStatiTipologiaError(err6));\r\n dispatch(getDecodificheAmbitiError(err7));\r\n dispatch(getDecodificheAmbitiTerritorialiError(err8));\r\n dispatch(getConfigParamsError(err9));\r\n });\r\n};","import * as DECODIFICHE_ACTION_TYPES from \"./decodifiche-actions-types\";\r\n\r\n/** AMBITI */\r\nexport const getDecodificheAmbitiSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_AMBITI_SUCCESS,\r\n payload\r\n };\r\n};\r\nexport const getDecodificheAmbitiIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_AMBITI_IS_LOADING,\r\n };\r\n};\r\nexport const getDecodificheAmbitiError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_AMBITI_ERROR,\r\n error\r\n };\r\n};\r\n\r\n/** AMBITI TERRITORIALI */\r\nexport const getDecodificheAmbitiTerritorialiSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_AMBITI_TERRITORIALI_SUCCESS,\r\n payload\r\n };\r\n};\r\nexport const getDecodificheAmbitiTerritorialiIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_AMBITI_TERRITORIALI_IS_LOADING,\r\n };\r\n};\r\nexport const getDecodificheAmbitiTerritorialiError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_AMBITI_TERRITORIALI_ERROR,\r\n error\r\n };\r\n};\r\n\r\n/** STATI ACCORDO */\r\nexport const getDecodificheStatiCasoUsoSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_CASO_USO_SUCCESS,\r\n payload\r\n };\r\n};\r\nexport const getDecodificheStatiCasoUsoIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_CASO_USO_IS_LOADING,\r\n };\r\n};\r\nexport const getDecodificheStatiCasoUsoError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_CASO_USO_ERROR,\r\n error\r\n };\r\n};\r\n\r\n/** STATI CASO USO */\r\nexport const getDecodificheStatiAccordoSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\nexport const getDecodificheStatiAccordoIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO_IS_LOADING,\r\n };\r\n};\r\nexport const getDecodificheStatiAccordoError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_ACCORDO_ERROR,\r\n error\r\n };\r\n};\r\n\r\n/** TIPI UTENTE */\r\nexport const getDecodificheTipiUtenteSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE_SUCCESS,\r\n payload\r\n };\r\n};\r\nexport const getDecodificheTipiUtenteIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE_IS_LOADING,\r\n };\r\n};\r\nexport const getDecodificheTipiUtenteError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_TIPI_UTENTE_ERROR,\r\n error\r\n };\r\n};\r\n\r\n/** STATI UTENTE */\r\nexport const getDecodificheStatiUtenteSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_UTENTE_SUCCESS,\r\n payload\r\n };\r\n};\r\nexport const getDecodificheStatiUtenteIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_UTENTE_IS_LOADING,\r\n };\r\n};\r\nexport const getDecodificheStatiUtenteError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_UTENTE_ERROR,\r\n error\r\n };\r\n};\r\n\r\n/** STATI NORMATIVA */\r\nexport const getDecodificheStatiNormativaSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_NORMATIVA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getDecodificheStatiNormativaIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_NORMATIVA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getDecodificheStatiNormativaError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_NORMATIVA_ERROR,\r\n error\r\n };\r\n};\r\n\r\n\r\n/** STATI TIPOLOGIA */\r\nexport const getDecodificheStatiTipologiaSuccess = payload => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_TIPOLOGIA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getDecodificheStatiTipologiaIsLoading = () => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_TIPOLOGIA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getDecodificheStatiTipologiaError = error => {\r\n return {\r\n type: DECODIFICHE_ACTION_TYPES.GET_DECODIFICHE_STATI_TIPOLOGIA_ERROR,\r\n error\r\n };\r\n};","export const GET_DECODIFICHE_AMBITI_SUCCESS = \"GET_DECODIFICHE_AMBITI_SUCCESS\";\r\nexport const GET_DECODIFICHE_AMBITI_IS_LOADING =\r\n \"GET_DECODIFICHE_AMBITI_IS_LOADING\";\r\nexport const GET_DECODIFICHE_AMBITI_ERROR =\r\n \"GET_DECODIFICHE_AMBITI_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_AMBITI_TERRITORIALI_SUCCESS = \"GET_DECODIFICHE_AMBITI_TERRITORIALI_SUCCESS\";\r\nexport const GET_DECODIFICHE_AMBITI_TERRITORIALI_IS_LOADING =\r\n \"GET_DECODIFICHE_AMBITI_TERRITORIALI_IS_LOADING\";\r\nexport const GET_DECODIFICHE_AMBITI_TERRITORIALI_ERROR =\r\n \"GET_DECODIFICHE_AMBITI_TERRITORIALI_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_STATI_ACCORDO_SUCCESS = \"GET_DECODIFICHE_STATI_ACCORDO_SUCCESS\";\r\nexport const GET_DECODIFICHE_STATI_ACCORDO_IS_LOADING =\r\n \"GET_DECODIFICHE_STATI_ACCORDO_IS_LOADING\";\r\nexport const GET_DECODIFICHE_STATI_ACCORDO_ERROR =\r\n \"GET_DECODIFICHE_STATI_ACCORDO_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_STATI_CASO_USO_SUCCESS = \"GET_DECODIFICHE_STATI_CASO_USO_SUCCESS\";\r\nexport const GET_DECODIFICHE_STATI_CASO_USO_IS_LOADING =\r\n \"GET_DECODIFICHE_STATI_CASO_USO_IS_LOADING\";\r\nexport const GET_DECODIFICHE_STATI_CASO_USO_ERROR =\r\n \"GET_DECODIFICHE_STATI_CASO_USO_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_TIPI_UTENTE_SUCCESS = \"GET_DECODIFICHE_TIPI_UTENTE_SUCCESS\";\r\nexport const GET_DECODIFICHE_TIPI_UTENTE_IS_LOADING =\r\n \"GET_DECODIFICHE_TIPI_UTENTE_IS_LOADING\";\r\nexport const GET_DECODIFICHE_TIPI_UTENTE_ERROR =\r\n \"GET_DECODIFICHE_TIPI_UTENTE_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_STATI_UTENTE_SUCCESS = \"GET_DECODIFICHE_STATI_UTENTE_SUCCESS\";\r\nexport const GET_DECODIFICHE_STATI_UTENTE_IS_LOADING =\r\n \"GET_DECODIFICHE_STATI_UTENTE_IS_LOADING\";\r\nexport const GET_DECODIFICHE_STATI_UTENTE_ERROR =\r\n \"GET_DECODIFICHE_STATI_UTENTE_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_STATI_NORMATIVA_SUCCESS = \"GET_DECODIFICHE_STATI_NORMATIVA_SUCCESS\";\r\nexport const GET_DECODIFICHE_STATI_NORMATIVA_IS_LOADING =\r\n \"GET_DECODIFICHE_STATI_NORMATIVA_IS_LOADING\";\r\nexport const GET_DECODIFICHE_STATI_NORMATIVA_ERROR =\r\n \"GET_DECODIFICHE_STATI_NORMATIVA_ERROR\";\r\n\r\nexport const GET_DECODIFICHE_STATI_TIPOLOGIA_SUCCESS = \"GET_DECODIFICHE_STATI_TIPOLOGIA_SUCCESS\";\r\nexport const GET_DECODIFICHE_STATI_TIPOLOGIA_IS_LOADING =\r\n \"GET_DECODIFICHE_STATI_TIPOLOGIA_IS_LOADING\";\r\nexport const GET_DECODIFICHE_STATI_TIPOLOGIA_ERROR =\r\n \"GET_DECODIFICHE_STATI_TIPOLOGIA_ERROR\";","export const GET_CONFIG_PARAMS_SUCCESS = 'GET_CONFIG_PARAMS_SUCCESS';\r\nexport const GET_CONFIG_PARAMS_IS_LOADING = 'GET_CONFIG_PARAMS_IS_LOADING';\r\nexport const GET_CONFIG_PARAMS_ERROR = 'GET_CONFIG_PARAMS_ERROR';\r\n\r\nexport const getConfigParamsSuccess = payload => {\r\n return {\r\n type: GET_CONFIG_PARAMS_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getConfigParamsIsLoading = loading => {\r\n return {\r\n type: GET_CONFIG_PARAMS_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const getConfigParamsError = error => {\r\n return {\r\n type: GET_CONFIG_PARAMS_ERROR,\r\n error\r\n };\r\n};","export const APP_MESSAGES_CONFIG_SUCCESS = 'APP_MESSAGES_CONFIG_SUCCESS';\r\nexport const APP_MESSAGES_CONFIG_IS_LOADING = 'APP_MESSAGES_CONFIG_IS_LOADING';\r\nexport const ADD_APP_MESSAGE = 'ADD_APP_MESSAGE';\r\nexport const REMOVE_APP_MESSAGE = 'REMOVE_APP_MESSAGE';\r\n\r\nexport const appMessagesConfigSuccess = (payload) => {\r\n return {\r\n type: APP_MESSAGES_CONFIG_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const appMessagesConfigIsLoading = () => {\r\n return {\r\n type: APP_MESSAGES_CONFIG_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const addAppMessage = (payload) => {\r\n return {\r\n type: ADD_APP_MESSAGE,\r\n payload,\r\n };\r\n};\r\n\r\nexport const removeAppMessage = (payload) => {\r\n return {\r\n type: REMOVE_APP_MESSAGE,\r\n payload,\r\n };\r\n};","import React from \"react\";\r\nimport { modaleConfermaConfigSuccess } from \"./modale-conferma-config-actions\";\r\nimport { appMessagesConfigSuccess, appMessagesConfigIsLoading, addAppMessage as addMessage, removeAppMessage as removeMessage} from \"./app-messages-config-actions\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nexport const modaleConfermaConfig = config => dispatch => {\r\n dispatch(modaleConfermaConfigSuccess(config));\r\n};\r\n\r\nconst scrollTop = () => {\r\n window.scrollTo({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n}\r\n\r\nexport const appMessagesConfig = config => dispatch => {\r\n dispatch(appMessagesConfigIsLoading());\r\n dispatch(appMessagesConfigSuccess(config));\r\n scrollTop();\r\n};\r\n\r\nexport const addAppMessage = msg => dispatch => {\r\n dispatch(addMessage(msg));\r\n scrollTop();\r\n};\r\n\r\nexport const removeAppMessage = id => dispatch => {\r\n dispatch(removeMessage(id));\r\n};\r\n\r\nexport const addMessageImpostazioniAccordoTodo = (utenza) => dispatch => {\r\n dispatch(addMessage({\r\n id: \"impostazioniAccordo\", \r\n type: \"warning\",\r\n fixed: true,\r\n text: <>È richiesto l'inserimento dei dati nella sezione Impostazioni accordo.\r\n }));\r\n}","export const MODALE_CONFERMA_CONFIG_SUCCESS = 'MODALE_CONFERMA_CONFIG_SUCCESS';\r\n\r\nexport const modaleConfermaConfigSuccess = (payload) => {\r\n return {\r\n type: MODALE_CONFERMA_CONFIG_SUCCESS,\r\n payload,\r\n };\r\n};","import axios from \"axios\";\r\n\r\nimport * as ACTION_TYPES from \"./action-types\";\r\nimport {\r\n getRicercaRichiestaAccordoFruizione,\r\n cleanRichiestaFormDataEnte,\r\n cleanRichiestaStandardAccordoFormDati,\r\n cleanSalvaRichiestaAccordoFruizioneInStatoInserito,\r\n cleanGetFileAccordoToDownload,\r\n cleanAllReducers\r\n} from \"../area-riservata/enti-actions/actions\";\r\n\r\nimport { createBrowserHistory } from \"history\";\r\nimport { getDecodifiche } from \"../area-riservata/decodifiche-actions\";\r\nimport { getEntiByAuthUserError, getEntiByAuthUserIsLoading, getEntiByAuthUserSuccess } from \"./get-enti-actions\";\r\nimport { getUtenteBySelezioneEnteIsLoading, getUtenteBySelezioneEnteSuccess } from \"./get-utente-by-selezione-ente-actions\";\r\nimport { appMessagesConfig } from \"../area-riservata/utils-actions\";\r\n\r\nexport const browserHistory = createBrowserHistory();\r\n\r\n//import store from \"../../store\";\r\n\r\n/**\r\n * login and logout actions\r\n *\r\n */\r\n\r\n\r\nexport const loginUser = (loggingDetails) => dispatch => {\r\n dispatch(loggingUser(true));\r\n axios\r\n .post(\"/anpr-portale-enti-be-web/jaxrs/login\", loggingDetails)\r\n .then(res => {\r\n function resolveLogin() {\r\n let utente;\r\n if (!!res.data && res.data.length) {\r\n utente = res.data[0];\r\n utente.altrienti = res.data.length > 1;\r\n if (utente.altrienti) {\r\n utente.idente = undefined;\r\n }\r\n }\r\n //save to localStorage\r\n if (!!utente && !!utente.codicefiscale) {\r\n localStorage.setItem(\"utente\", JSON.stringify(utente));\r\n dispatch(setUserLoggedIn(utente));\r\n if (!utente.altrienti) {\r\n dispatch(getEnteByUtente(utente.idente));\r\n if (utente.idente) {\r\n dispatch(getRicercaRichiestaAccordoFruizione(utente));\r\n }\r\n //console.log(store);\r\n dispatch(cleanAllReducers());\r\n dispatch(cleanSalvaRichiestaAccordoFruizioneInStatoInserito());\r\n dispatch(cleanGetFileAccordoToDownload());\r\n dispatch(cleanRichiestaFormDataEnte());\r\n dispatch(cleanRichiestaStandardAccordoFormDati());\r\n }\r\n } else dispatch(loggingUser(\"Impossibile recuperare i dati dell'utente. Riprovare.\"))\r\n };\r\n dispatch(getDecodifiche(resolveLogin));\r\n })\r\n .catch(error => {\r\n dispatch(loginUserError(error))\r\n }\r\n );\r\n};\r\n\r\nexport const loggingUser = () => {\r\n return {\r\n type: ACTION_TYPES.USER_LOGGING_IN\r\n };\r\n};\r\n\r\nexport const loginUserError = errorMessage => ({\r\n type: ACTION_TYPES.USER_LOGGED_IN_ERROR,\r\n payload: errorMessage\r\n});\r\n\r\nexport const logoutUser = (redirect) => dispatch => {\r\n axios\r\n .get(\"/anpr-portale-enti-be-web/jaxrs/logout\")\r\n .then(res => {\r\n //remove token from localStorage\r\n localStorage.clear();\r\n document.location.reload();\r\n })\r\n .catch(error => dispatch(loginUserError(error)));\r\n};\r\n\r\nexport const logoutUserAction = () => {\r\n return {\r\n type: ACTION_TYPES.USER_LOGGED_OUT\r\n };\r\n};\r\n\r\nexport const setUserLoggedIn = utente => {\r\n return {\r\n type: ACTION_TYPES.USER_LOGGED_IN,\r\n payload: utente\r\n };\r\n};\r\n\r\n/**\r\n * get ente by utente\r\n */\r\n\r\nexport const getEnteByUtente = idente => dispatch => {\r\n dispatch(setEnteByUtenteLoading(true));\r\n //console.log(idente);\r\n axios\r\n // .get(\r\n // \t\"/anpr-portale-enti-be-web/jaxrs/afente/load/like/denominazione/\" +\r\n // \t\tidente\r\n // )\r\n //.get(\"/json/ente-by-utente.json\", idente)\r\n .get(`/anpr-portale-enti-be-web/jaxrs/afente/load/id/${idente}`)\r\n .then(res => {\r\n dispatch({\r\n type: ACTION_TYPES.GET_ENTE_BY_UTENTE,\r\n payload: res.data\r\n });\r\n })\r\n .catch(error => dispatch(enteByUtenteFailed(error)));\r\n};\r\nexport const setEnteByUtenteLoading = () => {\r\n return {\r\n type: ACTION_TYPES.GET_ENTE_BY_UTENTE_LOADING\r\n };\r\n};\r\n\r\nexport const enteByUtenteFailed = error => ({\r\n type: ACTION_TYPES.GET_ENTE_BY_UTENTE_FAILED,\r\n payload: error\r\n});\r\n\r\nexport const cleanEnteByUtente = () => ({\r\n type: ACTION_TYPES.GET_ENTE_BY_UTENTE_CLEAN\r\n});\r\n\r\nexport const getEntiByAuthUser = () => dispatch => {\r\n dispatch(getEntiByAuthUserIsLoading());\r\n axios.get(\"/anpr-portale-enti-be-web/jaxrs/auth/afente\").then(res => {\r\n dispatch(getEntiByAuthUserSuccess(res.data));\r\n })\r\n .catch(error => dispatch(getEntiByAuthUserError(error)));\r\n};\r\n\r\nexport const getEnteBySelezioneEnte = (payload, callback) => dispatch => {\r\n dispatch(getUtenteBySelezioneEnteIsLoading());\r\n axios.post(\"/anpr-portale-enti-be-web/jaxrs/auth/afente\", payload).then(res => {\r\n let utente = res.data;\r\n utente.altrienti = true;\r\n if (!!utente && !!utente.codicefiscale) {\r\n localStorage.setItem(\"utente\", JSON.stringify(utente));\r\n dispatch(setUserLoggedIn(utente));\r\n dispatch(getEnteByUtente(utente.idente));\r\n dispatch(getUtenteBySelezioneEnteSuccess());\r\n } else dispatch(loggingUser(\"Impossibile recuperare i dati dell'utente. Riprovare.\"))\r\n if (callback && (typeof callback === 'function')) {\r\n callback();\r\n }\r\n })\r\n .catch(error => dispatch(appMessagesConfig({ type: 'danger', error })));\r\n};\r\n","/**\r\n * maybe\r\n */\r\nexport const USER_LOGGED_IN = \"USER_LOGGED_IN\";\r\nexport const USER_LOGGING_IN = \"USER_LOGGING_IN\";\r\nexport const USER_LOGGED_IN_ERROR = \"USER_LOGGED_IN_ERROR\";\r\nexport const USER_LOGGED_OUT = \"USER_LOGGED_OUT\";\r\n\r\nexport const GET_ENTE_BY_UTENTE = \"GET_ENTE_BY_UTENTE\";\r\nexport const GET_ENTE_BY_UTENTE_LOADING = \"GET_ENTE_BY_UTENTE_LOADING\";\r\nexport const GET_ENTE_BY_UTENTE_FAILED = \"GET_ENTE_BY_UTENTE_FAILED\";\r\nexport const GET_ENTE_BY_UTENTE_CLEAN = \"GET_ENTE_BY_UTENTE_CLEAN\";","import {\r\n USER_LOGGED_IN,\r\n USER_LOGGING_IN,\r\n USER_LOGGED_IN_ERROR,\r\n} from \"../../actions/authentication/action-types\";\r\n\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case USER_LOGGED_IN:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n utente: action.payload\r\n };\r\n case USER_LOGGING_IN:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n utente: null\r\n };\r\n case USER_LOGGED_IN_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n utente: null\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_ENTE_BY_UTENTE,\r\n GET_ENTE_BY_UTENTE_LOADING,\r\n GET_ENTE_BY_UTENTE_FAILED,\r\n GET_ENTE_BY_UTENTE_CLEAN\r\n} from \"../../actions/authentication/action-types\";\r\nimport { CLEAN_ALL_REDUCERS } from \"../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n enti: [],\r\n loading: false,\r\n error: null,\r\n ente: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_ENTE_BY_UTENTE:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n ente: action.payload[0]\r\n };\r\n case GET_ENTE_BY_UTENTE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n ente: null\r\n };\r\n case GET_ENTE_BY_UTENTE_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n ente: null\r\n };\r\n case GET_ENTE_BY_UTENTE_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_CATEGORIE_ENTE_LOADING,\r\n GET_CATEGORIE_ENTE_ERROR,\r\n GET_CATEGORIE_ENTE,\r\n GET_CATEGORIE_ENTE_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n categorie: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_CATEGORIE_ENTE:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n categorie: action.payload,\r\n status: action.status,\r\n };\r\n case GET_CATEGORIE_ENTE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n categorie: null\r\n };\r\n case GET_CATEGORIE_ENTE_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n categorie: null\r\n };\r\n case GET_CATEGORIE_ENTE_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_TIPOLOGIE_ENTE_LOADING,\r\n GET_TIPOLOGIE_ENTE_ERROR,\r\n GET_TIPOLOGIE_ENTE,\r\n GET_TIPOLOGIE_ENTE_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n tipologie: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_TIPOLOGIE_ENTE:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n tipologie: action.payload\r\n };\r\n case GET_TIPOLOGIE_ENTE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n tipologie: null\r\n };\r\n case GET_TIPOLOGIE_ENTE_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n tipologie: null\r\n };\r\n case GET_TIPOLOGIE_ENTE_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_LOADING,\r\n RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_ERROR,\r\n RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE,\r\n RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n richiesta: null,\r\n richieste: []\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE:\r\n //console.log(action.payload[0]);\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n richiesta: action.payload[0],\r\n richieste: action.payload\r\n };\r\n case RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n richiesta: null,\r\n richieste: []\r\n };\r\n case RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n richiesta: null,\r\n richieste: []\r\n };\r\n case RICERCA_RICHIESTA_DI_ACCORDO_DI_FRUIZIONE_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n RICHIESTA_FORM_DATA_SALVA_CATEGORIA_TIPOLOGIA,\r\n RICHIESTA_FORM_DATA_CATEGORIA_TIPOLOGIA_DIVERSA,\r\n RICHIESTA_FORM_DATA_CLEAN,\r\n SAVE_TIPOLOGIA_TO_STORE,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n categoria: null,\r\n tipologia: null,\r\n categoriaspecifica: null,\r\n categoria_tipologia_diversa: false,\r\n tipologia_selezionata: \"\"\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case RICHIESTA_FORM_DATA_SALVA_CATEGORIA_TIPOLOGIA:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n categoria: action.payload.categoria,\r\n tipologia: action.payload.tipologia,\r\n categoriaspecifica: action.payload.categoriaspecifica,\r\n categoria_tipologia_diversa: false\r\n };\r\n\r\n case RICHIESTA_FORM_DATA_CATEGORIA_TIPOLOGIA_DIVERSA:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n categoria: null,\r\n tipologia: null,\r\n categoriaspecifica: null,\r\n categoria_tipologia_diversa: true\r\n };\r\n\r\n case SAVE_TIPOLOGIA_TO_STORE:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n tipologia_selezionata: action.payload\r\n };\r\n\r\n case RICHIESTA_FORM_DATA_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RAPPRESENTANTE,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RESPONSABILE_AMMINISTRAZIONE,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_SUPERVISORE_SERVIZIO,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CLASSIFICAZIONE,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_NOTA,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RIFERIMENTI,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CASI_ASSOCIATI,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_GET_DATA,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_IMPOSTAZIONI,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_LOADING,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_ERROR,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_DELEGATO,\r\n RICHIESTA_STANDARD_ACCORDO_FORM_CLEAN,\r\n UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA,\r\n UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_LOADING,\r\n UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_ERROR,\r\n OPERATORE_ANNULLA_RICHIESTA,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\n\r\nconst initialState = {\r\n counter: 0,\r\n form: {\r\n idente: \"\",\r\n noteente: \"\",\r\n maxutenti: \"\",\r\n transazionipreviste: \"\",\r\n maxtransazionipreviste: \"\",\r\n rappresentantelegale: {\r\n codicefiscale: \"\",\r\n nome: \"\",\r\n cognome: \"\",\r\n datanascita: null,\r\n telefono: \"\",\r\n email: \"\",\r\n tipoemail: \"\"\r\n },\r\n responsabileamministrazione: {\r\n codicefiscale: \"\",\r\n nome: \"\",\r\n cognome: \"\",\r\n datanascita: null,\r\n telefono: \"\",\r\n email: \"\",\r\n tipoemail: \"\"\r\n },\r\n supervisore: {\r\n codicefiscale: \"\",\r\n nome: \"\",\r\n cognome: \"\",\r\n datanascita: null,\r\n telefono: \"\",\r\n email: \"\",\r\n tipoemail: \"\"\r\n },\r\n delegato: {\r\n codicefiscale: \"\",\r\n nome: \"\",\r\n cognome: \"\",\r\n datanascita: null,\r\n telefono: \"\",\r\n email: \"\",\r\n tipoemail: \"\"\r\n },\r\n classificazione_ipa: [],\r\n //nota: \"\",\r\n riferimenti_normativi: [],\r\n casi_associati: [],\r\n filedelega: \"\"\r\n // impostazioni: {\r\n // \tmaxutenti: \"\",\r\n // \ttransazionipreviste: \"\",\r\n // \tmaxtransazionipreviste: \"\"\r\n // }\r\n },\r\n error: \"\",\r\n loading: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n let action_new;\r\n switch (action.type) {\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_GET_DATA:\r\n return {\r\n ...state,\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RAPPRESENTANTE:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n idente: action.payload.idente,\r\n rappresentantelegale: {\r\n ...{\r\n codicefiscale: action.payload.rappresentantelegale.codicefiscale,\r\n nome: action.payload.rappresentantelegale.nome,\r\n cognome: action.payload.rappresentantelegale.cognome,\r\n datanascita: action.payload.rappresentantelegale.datanascita,\r\n telefono: action.payload.rappresentantelegale.telefono,\r\n email: action.payload.rappresentantelegale.email,\r\n tipoemail: action.payload.rappresentantelegale.tipoemail\r\n }\r\n }\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RESPONSABILE_AMMINISTRAZIONE:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n responsabileamministrazione: action.payload.responsabileamministrazione\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_SUPERVISORE_SERVIZIO:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n supervisore: action.payload.supervisore\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_DELEGATO:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n //idente: action.payload.idente,\r\n delegato: action.payload.delegato,\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_IMPOSTAZIONI:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n maxutenti: action.payload.impostazioni.maxutenti,\r\n transazionipreviste: action.payload.impostazioni.transazionipreviste,\r\n maxtransazionipreviste:\r\n action.payload.impostazioni.maxtransazionipreviste\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CLASSIFICAZIONE:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n classificazione_ipa: [...action.payload.classificazione_ipa]\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_NOTA:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n noteente: action.payload.noteente\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_RIFERIMENTI:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n riferimenti_normativi: [...action.payload.riferimenti_normativi]\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_ADD_DATA_CASI_ASSOCIATI:\r\n return {\r\n ...state,\r\n form: {\r\n ...state.form,\r\n casi_associati: [...action.payload.casi_associati]\r\n },\r\n error: \"\",\r\n loading: false\r\n };\r\n\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND:\r\n action_new = { ...action.payload };\r\n if (action_new && !action_new.delegato) action_new.delegato = {};\r\n //TODO: mocked json riferimenti\r\n if (action_new && !action_new.riferimenti_normativi) action_new.riferimenti_normativi = [\"4\"]\r\n return {\r\n ...state,\r\n form: action_new,\r\n error: \"\",\r\n loading: false\r\n };\r\n\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_LOADING:\r\n return {\r\n ...state,\r\n error: \"\",\r\n loading: true\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_RECUPERA_DA_BACKEND_ERROR:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n loading: false,\r\n counter: state.counter++\r\n };\r\n\r\n case UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA:\r\n action_new = { ...action.payload };\r\n if (action_new && !action_new.delegato) action_new.delegato = {};\r\n return {\r\n ...state,\r\n form: action_new,\r\n error: \"\",\r\n loading: false,\r\n counter: state.counter++\r\n };\r\n\r\n case UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_LOADING:\r\n return {\r\n ...state,\r\n error: \"\",\r\n loading: true\r\n };\r\n // return state;\r\n case UPDATE_RICHIESTA_ACCORDO_FRUIZIONE_INSERITA_ERROR:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n loading: false,\r\n counter: state.counter++\r\n };\r\n case OPERATORE_ANNULLA_RICHIESTA:\r\n return {\r\n ...state,\r\n form: action.payload,\r\n error: \"\",\r\n loading: false\r\n };\r\n case RICHIESTA_STANDARD_ACCORDO_FORM_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_ALL_CASI_USO,\r\n GET_CASI_USO,\r\n GET_CASI_USO_SELEZIONATI,\r\n CASI_LOADING,\r\n CASI_FAILED,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n casi: [],\r\n loading: false,\r\n error: null,\r\n count: 0\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_ALL_CASI_USO:\r\n return {\r\n ...state,\r\n casi: action.payload,\r\n loading: false,\r\n error: null,\r\n count: 0\r\n };\r\n case GET_CASI_USO:\r\n let count = action.payload.length;\r\n let newCasi = filterCasi(action);\r\n return {\r\n ...state,\r\n casi: newCasi,\r\n loading: false,\r\n error: null,\r\n count: count\r\n };\r\n case GET_CASI_USO_SELEZIONATI:\r\n let newCasiSlezionati = filterCasiSlezionati(action);\r\n return {\r\n ...state,\r\n casi: newCasiSlezionati,\r\n loading: false,\r\n error: null,\r\n count: 0\r\n };\r\n\r\n case CASI_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n casi: [],\r\n count: 0\r\n };\r\n case CASI_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n casi: [],\r\n count: 0\r\n };\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst filterCasiSlezionati = action => {\r\n let allCasi = action.payload;\r\n let idCasiSelezionati = action.casi;\r\n let newCasiSelezionati = [];\r\n allCasi.map(caso => {\r\n idCasiSelezionati.map(id => {\r\n if (caso.ID === id) {\r\n newCasiSelezionati.push(caso);\r\n }\r\n return null;\r\n });\r\n return null;\r\n });\r\n\r\n return newCasiSelezionati;\r\n};\r\n\r\nconst filterCasi = action => {\r\n let pageCurrent = action.pageCurrent;\r\n let newCasi = action.payload;\r\n let count = action.payload.length;\r\n let limit = action.limit;\r\n\r\n //let casiLeftLastPage = count % limit;\r\n let casiLastPage = Math.ceil(count / limit);\r\n\r\n let currentPageCurrent = 0;\r\n let currentLimit = limit;\r\n\r\n if (pageCurrent === 0) {\r\n newCasi = newCasi\r\n .sort((casoA, casoB) => casoB.ID - casoA.ID)\r\n .slice(currentPageCurrent, currentLimit);\r\n } else if (pageCurrent === 1) {\r\n currentPageCurrent += currentLimit;\r\n currentLimit += limit;\r\n newCasi = newCasi\r\n .sort((casoA, casoB) => casoB.ID - casoA.ID)\r\n .slice(currentPageCurrent, currentLimit);\r\n } else if (pageCurrent > 1 && pageCurrent < casiLastPage) {\r\n currentPageCurrent = (currentPageCurrent + limit) * pageCurrent;\r\n currentLimit = limit + currentPageCurrent;\r\n newCasi = newCasi\r\n .sort((casoA, casoB) => casoB.ID - casoA.ID)\r\n .slice(currentPageCurrent, currentLimit);\r\n } else {\r\n newCasi = [];\r\n }\r\n return newCasi;\r\n};\r\n","import {\r\n SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO,\r\n SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_LOADING,\r\n SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_ERROR,\r\n SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n richiestaSalvataStatoInserito: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n richiestaSalvataStatoInserito: action.payload\r\n };\r\n case SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n richiestaSalvataStatoInserito: false\r\n };\r\n case SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n richiestaSalvataStatoInserito: false\r\n };\r\n case SALVO_RICHIESTA_ACCORDO_IN_STATO_INSERITO_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO,\r\n UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_LOADING,\r\n UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_ERROR,\r\n UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n uploadedFileAccordoFruizioneFirmato: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n uploadedFileAccordoFruizioneFirmato: action.payload\r\n };\r\n case UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n uploadedFileAccordoFruizioneFirmato: false\r\n };\r\n case UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n uploadedFileAccordoFruizioneFirmato: false\r\n };\r\n case UPLOAD_FILE_ACCORDO_FRUIZIONE_FIRMATO_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_FILE_ACCORDO_DOWNLOAD,\r\n GET_FILE_ACCORDO_DOWNLOAD_LOADING,\r\n GET_FILE_ACCORDO_DOWNLOAD_ERROR,\r\n GET_FILE_ACCORDO_DOWNLOAD_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n fileAccordoFruizioneFirmatoToDownload: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_FILE_ACCORDO_DOWNLOAD:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n fileAccordoFruizioneFirmatoToDownload: action.payload\r\n };\r\n case GET_FILE_ACCORDO_DOWNLOAD_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n fileAccordoFruizioneFirmatoToDownload: false\r\n };\r\n case GET_FILE_ACCORDO_DOWNLOAD_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n fileAccordoFruizioneFirmatoToDownload: false\r\n };\r\n case GET_FILE_ACCORDO_DOWNLOAD_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_DECODIFICHE_STATI_ACCORDO_LOADING,\r\n GET_DECODIFICHE_STATI_ACCORDO_ERROR,\r\n GET_DECODIFICHE_STATI_ACCORDO,\r\n GET_DECODIFICHE_STATI_ACCORDO_CLEAN\r\n //,CLEAN_ALL_REDUCERS\r\n} from \"../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n stati_accordo: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_DECODIFICHE_STATI_ACCORDO:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n stati_accordo: action.payload.content.map(stato_accordo => {\r\n return {\r\n ...stato_accordo,\r\n variabile: stato_accordo.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n };\r\n case GET_DECODIFICHE_STATI_ACCORDO_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n stati_accordo: null\r\n };\r\n case GET_DECODIFICHE_STATI_ACCORDO_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n stati_accordo: null\r\n };\r\n case GET_DECODIFICHE_STATI_ACCORDO_CLEAN:\r\n return initialState;\r\n // case CLEAN_ALL_REDUCERS:\r\n // return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_DECODIFICHE_TIPI_UTENTE_LOADING,\r\n GET_DECODIFICHE_TIPI_UTENTE_ERROR,\r\n GET_DECODIFICHE_TIPI_UTENTE,\r\n GET_DECODIFICHE_TIPI_UTENTE_CLEAN\r\n //,CLEAN_ALL_REDUCERS\r\n} from \"../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n tipi_utente: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_DECODIFICHE_TIPI_UTENTE:\r\n //console.log(action.payload.content);\r\n let newTipiUtente = action.payload.content.map(tipo_utente => {\r\n return {\r\n ...tipo_utente,\r\n variabile: tipo_utente.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n });\r\n //console.log(newTipiUtente);\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n tipi_utente: newTipiUtente\r\n };\r\n case GET_DECODIFICHE_TIPI_UTENTE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n tipi_utente: null\r\n };\r\n case GET_DECODIFICHE_TIPI_UTENTE_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n tipi_utente: null\r\n };\r\n case GET_DECODIFICHE_TIPI_UTENTE_CLEAN:\r\n return initialState;\r\n // case CLEAN_ALL_REDUCERS:\r\n // return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_CATEGORIE_SPECIFICHE_ENTE_LOADING,\r\n GET_CATEGORIE_SPECIFICHE_ENTE_ERROR,\r\n GET_CATEGORIE_SPECIFICHE_ENTE,\r\n GET_CATEGORIE_SPECIFICHE_ENTE_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n categorie_specifiche: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_CATEGORIE_SPECIFICHE_ENTE:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n categorie_specifiche: action.payload\r\n };\r\n case GET_CATEGORIE_SPECIFICHE_ENTE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n categorie_specifiche: null\r\n };\r\n case GET_CATEGORIE_SPECIFICHE_ENTE_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n categorie_specifiche: null\r\n };\r\n case GET_CATEGORIE_SPECIFICHE_ENTE_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA,\r\n AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_LOADING,\r\n AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_FAILED,\r\n CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n richiesta: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n richiesta: action.payload\r\n };\r\n case AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n richiesta: null\r\n };\r\n case AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n richiesta: null\r\n };\r\n case CLEAN_AGGIORNA_RICHIESTA_ACCREDITAMENTO_DA_INSERITA_A_ANNULATA:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n PEC_LOADING,\r\n PEC_FAILED,\r\n GET_PEC_ENTE,\r\n PEC_REDUCER_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n pec: []\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_PEC_ENTE:\r\n let pec = action.payload[0] ? action.payload[0].elencoEmail : [];\r\n\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n pec: pec\r\n };\r\n case PEC_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n pec: []\r\n };\r\n case PEC_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n pec: []\r\n };\r\n case PEC_REDUCER_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GENERA_NUOVE_CREDENZIALI,\r\n GENERA_NUOVE_CREDENZIALI_LOADING,\r\n GENERA_NUOVE_CREDENZIALI_FAILED,\r\n GENERA_NUOVE_CREDENZIALI_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n credenzialiGenerati: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GENERA_NUOVE_CREDENZIALI:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n credenzialiGenerati: true\r\n };\r\n case GENERA_NUOVE_CREDENZIALI_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n credenzialiGenerati: false\r\n };\r\n case GENERA_NUOVE_CREDENZIALI_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n credenzialiGenerati: false\r\n };\r\n case GENERA_NUOVE_CREDENZIALI_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n SCELTA_PASSWORD,\r\n SCELTA_PASSWORD_LOADING,\r\n SCELTA_PASSWORD_FAILED,\r\n CLEAN_SCELTA_PASSWORD,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n utente: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case SCELTA_PASSWORD:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n utente: true\r\n };\r\n case SCELTA_PASSWORD_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n utente: false\r\n };\r\n case SCELTA_PASSWORD_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n utente: false\r\n };\r\n case CLEAN_SCELTA_PASSWORD:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n VERIFICA_LINK_VALIDO_O_SCADUTO,\r\n VERIFICA_LINK_VALIDO_O_SCADUTO_LOADING,\r\n VERIFICA_LINK_VALIDO_O_SCADUTO_FAILED,\r\n CLEAN_VERIFICA_LINK_VALIDO_O_SCADUTO,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n utente: {}\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case VERIFICA_LINK_VALIDO_O_SCADUTO:\r\n //let utente = getUtenteForChiave(action);\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n utente: action.payload\r\n };\r\n case VERIFICA_LINK_VALIDO_O_SCADUTO_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n utente: {}\r\n };\r\n case VERIFICA_LINK_VALIDO_O_SCADUTO_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n utente: {}\r\n };\r\n case CLEAN_VERIFICA_LINK_VALIDO_O_SCADUTO:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n// const getUtenteForChiave = action => {\r\n// \tif (action.payload.filter(obj => obj.chiave === action.chiave)[0]) {\r\n// \t\treturn action.payload.filter(obj => obj.chiave === action.chiave)[0]\r\n// \t\t\t.utente;\r\n// \t}\r\n// };\r\n","import {\r\n GET_UTENTE_LINK_SCADUTO_LOADING,\r\n GET_UTENTE_LINK_SCADUTO_FAILED,\r\n GET_UTENTE_LINK_SCADUTO,\r\n CLEAN_GET_UTENTE_LINK_SCADUTO,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n utente: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_UTENTE_LINK_SCADUTO:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n utente: action.payload\r\n };\r\n case GET_UTENTE_LINK_SCADUTO_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n utente: null\r\n };\r\n case GET_UTENTE_LINK_SCADUTO_FAILED:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n utente: null\r\n };\r\n case CLEAN_GET_UTENTE_LINK_SCADUTO:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_DECODIFICHE_STATO_UTENTE,\r\n GET_DECODIFICHE_STATO_UTENTE_LOADING,\r\n GET_DECODIFICHE_STATO_UTENTE_ERROR,\r\n GET_DECODIFICHE_STATO_UTENTE_CLEAN\r\n //,CLEAN_ALL_REDUCERS\r\n} from \"../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n stati_utente: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_DECODIFICHE_STATO_UTENTE:\r\n //console.log(action.payload.content);\r\n let newStatiUtente = action.payload.content.map(stato_utente => {\r\n return {\r\n ...stato_utente,\r\n variabile: stato_utente.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n });\r\n //console.log(newStatiUtente);\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n stati_utente: newStatiUtente\r\n };\r\n case GET_DECODIFICHE_STATO_UTENTE_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n stati_utente: null\r\n };\r\n case GET_DECODIFICHE_STATO_UTENTE_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n stati_utente: null\r\n };\r\n case GET_DECODIFICHE_STATO_UTENTE_CLEAN:\r\n return initialState;\r\n // case CLEAN_ALL_REDUCERS:\r\n // return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GET_DECODIFICHE_STATO_NORMATIVA,\r\n GET_DECODIFICHE_STATO_NORMATIVA_LOADING,\r\n GET_DECODIFICHE_STATO_NORMATIVA_ERROR,\r\n GET_DECODIFICHE_STATO_NORMATIVA_CLEAN\r\n //,CLEAN_ALL_REDUCERS\r\n} from \"../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n stati_normativa: null\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_DECODIFICHE_STATO_NORMATIVA:\r\n //console.log(action.payload.content);\r\n let newStatiNormativa = action.payload.content.map(stato_normativa => {\r\n return {\r\n ...stato_normativa,\r\n variabile: stato_normativa.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n });\r\n //console.log(newStatiNormativa);\r\n return {\r\n ...state,\r\n loading: false,\r\n error: null,\r\n stati_normativa: newStatiNormativa\r\n };\r\n case GET_DECODIFICHE_STATO_NORMATIVA_LOADING:\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n stati_normativa: null\r\n };\r\n case GET_DECODIFICHE_STATO_NORMATIVA_ERROR:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload,\r\n stati_normativa: null\r\n };\r\n case GET_DECODIFICHE_STATO_NORMATIVA_CLEAN:\r\n return initialState;\r\n // case CLEAN_ALL_REDUCERS:\r\n // return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n SET_APP_TO_LOADING,\r\n SET_APP_TO_NOT_LOADING\r\n} from \"../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n loading: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case SET_APP_TO_LOADING:\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n case SET_APP_TO_NOT_LOADING:\r\n return {\r\n ...state,\r\n loading: false\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n SET_HIGHEST_FORM_STEP_ACCESSED,\r\n SET_HIGHEST_FORM_STEP_ACCESSED_CLEAN,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n highestStepAccessed: 1\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case SET_HIGHEST_FORM_STEP_ACCESSED:\r\n return {\r\n ...state,\r\n highestStepAccessed:\r\n action.payload > state.highestStepAccessed\r\n ? action.payload\r\n : state.highestStepAccessed\r\n };\r\n case SET_HIGHEST_FORM_STEP_ACCESSED_CLEAN:\r\n return initialState;\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n SET_UTENTE_AGGIORNATO,\r\n CLEAN_ALL_REDUCERS\r\n} from \"../../actions/area-riservata/enti-actions/action-types\";\r\nconst initialState = {\r\n utenteAggiornato: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case SET_UTENTE_AGGIORNATO:\r\n return {\r\n utenteAggiornato: action.payload\r\n };\r\n case CLEAN_ALL_REDUCERS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const createReducer = (reducerArray) => {\r\n let initialState = {}, handlers = {};\r\n reducerArray.forEach(red => {\r\n initialState = {\r\n ...initialState,\r\n ...red.initialState\r\n };\r\n handlers = {\r\n ...handlers,\r\n ...red.handlers\r\n };\r\n });\r\n return function reducer(state = initialState || {}, action) {\r\n if (handlers.hasOwnProperty(action.type)) {\r\n return handlers[action.type](state, action);\r\n } else {\r\n return state;\r\n }\r\n };\r\n};","import {\r\n APPROVA_ACCORDO_ERROR,\r\n APPROVA_ACCORDO_SUCCESS,\r\n APPROVA_RESPINGI_ACCORDO_IS_LOADING,\r\n RESPINGI_ACCORDO_ERROR,\r\n RESPINGI_ACCORDO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/approva-respingi-richiesta-adesione\";\r\n\r\nexport const handlers = {\r\n [APPROVA_RESPINGI_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n approva_respingi_accordo: {\r\n isLoading: true,\r\n }\r\n }),\r\n [RESPINGI_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n approva_respingi_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [RESPINGI_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n approva_respingi_accordo: {\r\n isLoading: false,\r\n rejected: true,\r\n rejection_message: action.payload,\r\n approved: false,\r\n }\r\n }),\r\n [APPROVA_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n approva_respingi_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [APPROVA_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n approva_respingi_accordo: {\r\n isLoading: false,\r\n approved: true,\r\n rejected: false,\r\n }\r\n })\r\n};\r\nexport default { handlers };\r\n","export const APPROVA_RESPINGI_ACCORDO_IS_LOADING = 'APPROVA_RESPINGI_ACCORDO_IS_LOADING';\r\nexport const RESPINGI_ACCORDO_SUCCESS = 'RESPINGI_ACCORDO_SUCCESS';\r\nexport const RESPINGI_ACCORDO_ERROR = 'RESPINGI_ACCORDO_ERROR';\r\nexport const APPROVA_ACCORDO_SUCCESS = 'APPROVA_ACCORDO_SUCCESS';\r\nexport const APPROVA_ACCORDO_ERROR = 'APPROVA_ACCORDO_ERROR';\r\n\r\nexport const approvaRespingiAccordoIsLoading = () => {\r\n return {\r\n type: APPROVA_RESPINGI_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const respingiAccordoSuccess = payload => {\r\n return {\r\n type: RESPINGI_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const respingiAccordoError = error => {\r\n return {\r\n type: RESPINGI_ACCORDO_ERROR,\r\n error\r\n };\r\n};\r\n\r\nexport const approvaAccordoSuccess = () => {\r\n return {\r\n type: APPROVA_ACCORDO_SUCCESS,\r\n };\r\n};\r\n\r\nexport const approvaAccordoError = error => {\r\n return {\r\n type: APPROVA_ACCORDO_ERROR,\r\n error\r\n };\r\n};\r\n","import {\r\n CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING,\r\n CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR,\r\n CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/cancel-richiesta-adesione-by-id-richiesta-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n isLoading: true,\r\n },\r\n cancel_richiesta_adesione_by_id_richiesta: {\r\n isLoading: action.deleting,\r\n }\r\n }),\r\n [CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n isLoading: false,\r\n },\r\n cancel_richiesta_adesione_by_id_richiesta: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n isLoading: false,\r\n pristine: true,\r\n },\r\n richiesta_adesione_data: {\r\n isLoading: false,\r\n configIsLoading: false,\r\n edited: false,\r\n },\r\n update_richiesta_adesione_by_id_richiesta: undefined,\r\n send_richiesta_adesione_by_id_richiesta: undefined,\r\n insert_richiesta_adesione: undefined,\r\n cancel_richiesta_adesione_by_id_richiesta: {\r\n isLoading: false,\r\n canceled: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS = 'CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS';\r\nexport const CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING = 'CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING';\r\nexport const CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR = 'CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR';\r\n\r\nexport const cancelRichiestaAdesioneByIdRichiestaSuccess = payload => {\r\n return {\r\n type: CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const cancelRichiestaAdesioneByIdRichiestaIsLoading = loading => {\r\n return {\r\n type: CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const cancelRichiestaAdesioneByIdRichiestaError = error => {\r\n return {\r\n type: CANCEL_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR,\r\n error\r\n };\r\n};","import {\r\n DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_IS_LOADING,\r\n DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_ERROR,\r\n DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/disable-enable-casi-uso-by-id-accordo-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_IS_LOADING]: (state) => ({\r\n ...state,\r\n disable_enable_casi_uso_by_id_accordo: {\r\n isLoading: true,\r\n }\r\n }),\r\n [DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n disable_enable_casi_uso_by_id_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n disable_enable_casi_uso_by_id_accordo: {\r\n isLoading: false,\r\n updated: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_SUCCESS = 'DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_SUCCESS';\r\nexport const DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_IS_LOADING = 'DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_IS_LOADING';\r\nexport const DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_ERROR = 'DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_ERROR';\r\n\r\nexport const disableEnableCasiUsoByIdAccordoSuccess = (payload, stati_accordo) => {\r\n return {\r\n type: DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_SUCCESS,\r\n payload,\r\n stati_accordo\r\n };\r\n};\r\n\r\nexport const disableEnableCasiUsoByIdAccordoIsLoading = () => {\r\n return {\r\n type: DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const disableEnableCasiUsoByIdAccordoError = error => {\r\n return {\r\n type: DISABLE_ENABLE_CASI_USO_BY_ID_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_ACCORDO_ATTIVO_DATA_SUCCESS,\r\n GET_ACCORDO_ATTIVO_DATA_IS_LOADING,\r\n GET_ACCORDO_ATTIVO_DATA_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-accordo-attivo-data-actions\";\r\n\r\nexport const initialState = {\r\n get_accordo_attivo_data: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_ACCORDO_ATTIVO_DATA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_attivo_data: {\r\n ...state.get_accordo_attivo_data,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_ACCORDO_ATTIVO_DATA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_attivo_data: {\r\n ...state.get_accordo_attivo_data,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_ACCORDO_ATTIVO_DATA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_accordo_attivo_data: {\r\n ...state.get_accordo_attivo_data,\r\n isLoading: false,\r\n pristine: false,\r\n ...action.payload\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_ACCORDO_ATTIVO_DATA_SUCCESS = 'GET_ACCORDO_ATTIVO_DATA_SUCCESS';\r\nexport const GET_ACCORDO_ATTIVO_DATA_IS_LOADING = 'GET_ACCORDO_ATTIVO_DATA_IS_LOADING';\r\nexport const GET_ACCORDO_ATTIVO_DATA_ERROR = 'GET_ACCORDO_ATTIVO_DATA_ERROR';\r\n\r\nexport const getAccordoAttivoDataSuccess = (payload) => {\r\n return {\r\n type: GET_ACCORDO_ATTIVO_DATA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getAccordoAttivoDataIsLoading = () => {\r\n return {\r\n type: GET_ACCORDO_ATTIVO_DATA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getAccordoAttivoDataError = error => {\r\n return {\r\n type: GET_ACCORDO_ATTIVO_DATA_ERROR,\r\n error\r\n };\r\n};","export const GET_ACCORDI_BY_ID_ENTE_SUCCESS = 'GET_ACCORDI_BY_ID_ENTE_SUCCESS';\r\nexport const GET_ACCORDI_BY_ID_ENTE_IS_LOADING = 'GET_ACCORDI_BY_ID_ENTE_IS_LOADING';\r\nexport const GET_ACCORDI_BY_ID_ENTE_ERROR = 'GET_ACCORDI_BY_ID_ENTE_ERROR';\r\n\r\nexport const getAccordiByIdEnteSuccess = (payload, stati_accordo) => {\r\n return {\r\n type: GET_ACCORDI_BY_ID_ENTE_SUCCESS,\r\n payload,\r\n stati_accordo\r\n };\r\n};\r\n\r\nexport const getAccordiByIdEnteIsLoading = () => {\r\n return {\r\n type: GET_ACCORDI_BY_ID_ENTE_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getAccordiByIdEnteError = error => {\r\n return {\r\n type: GET_ACCORDI_BY_ID_ENTE_ERROR,\r\n error\r\n };\r\n};","export const getNomeDecodificaById = (id, decodifiche) => {\r\n\tif (decodifiche) {\r\n\t\tconst arrayDecodifiche = decodifiche.filter(decodifica => {\r\n\t\t\treturn parseInt(decodifica.idtab) === parseInt(id);\r\n\t\t});\r\n\t\tif (arrayDecodifiche.length > 0) {\r\n\t\t\treturn arrayDecodifiche[0].traduzione;\r\n\t\t}\r\n\t}\r\n\treturn \"\";\r\n};\r\n\r\nexport const getIdDecodificaByVariabile = (\r\n\tvariabileDecodifica,\r\n\tdecodifiche\r\n) => {\r\n\tif (decodifiche) {\r\n\t\tconst decodificaObj = decodifiche.find(decodifica => (decodifica.variabile === variabileDecodifica));\r\n\t\tif (decodificaObj) {\r\n\t\t\treturn parseInt(decodificaObj.idtab);\r\n\t\t}\r\n\t\telse return undefined;\r\n\t}\r\n\treturn undefined;\r\n};\r\n\r\nexport const getValueFromDecodificaKey = (\r\n\tkey,\r\n\tdecodifiche\r\n) => {\r\n\tif (decodifiche\r\n\t\t&& decodifiche.length) {\r\n\t\treturn decodifiche.find(decodifica => (parseInt(decodifica.key, 10) === parseInt(key, 10))).traduzionetrasl;\r\n\t}\r\n};","import {\r\n GET_ACCORDI_BY_ID_ENTE_SUCCESS,\r\n GET_ACCORDI_BY_ID_ENTE_IS_LOADING,\r\n GET_ACCORDI_BY_ID_ENTE_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-accordi-by-id-ente-actions\";\r\nimport { getIdDecodificaByVariabile } from \"../../../../components/common/decodifiche\";\r\n\r\nexport const initialState = {\r\n get_accordi_by_id_ente: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_ACCORDI_BY_ID_ENTE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_id_ente: {\r\n ...state.get_accordi_by_id_ente,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_ACCORDI_BY_ID_ENTE_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_id_ente: {\r\n ...state.get_accordi_by_id_ente,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n // [GET_UTENTE_BY_SELEZIONE_ENTE_SUCCESS]: (state, action) => ({\r\n // ...state,\r\n // get_accordi_by_id_ente: {\r\n // isLoading: false,\r\n // pristine: true,\r\n // },\r\n // get_accordo_by_id: {\r\n // isLoading: false,\r\n // pristine: true,\r\n // },\r\n // richiesta_adesione_data: {\r\n // isLoading: false,\r\n // configIsLoading: false,\r\n // edited: false,\r\n // },\r\n // }),\r\n [GET_ACCORDI_BY_ID_ENTE_SUCCESS]: (state, action) => {\r\n const idStatoAttivo = getIdDecodificaByVariabile(\r\n \"ACCORDO_ATTIVO_(RICHIESTA_DI_ACCORDO_APPROVATA_DAL_MINISTERO)\",\r\n action.stati_accordo\r\n );\r\n let accordoAttivo = action.payload.find(el => el.idstato === idStatoAttivo);\r\n let richiestaInserita = action.payload.find(el => (\r\n el.idstato === getIdDecodificaByVariabile(\r\n 'RICHIESTA_DI_ACCORDO_INSERITA',\r\n action.stati_accordo\r\n )\r\n ));\r\n let richiestaInviata = action.payload.find(el => [2, 10, 12].includes(el.idstato));\r\n return ({\r\n ...state,\r\n get_accordo_by_id: action.payload\r\n ? {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n : state.get_accordo_by_id,\r\n richiesta_adesione_data: {\r\n isLoading: false,\r\n configIsLoading: false,\r\n edited: false,\r\n },\r\n get_accordi_by_id_ente: {\r\n ...state.get_accordi_by_id_ente,\r\n isLoading: false,\r\n pristine: false,\r\n accordi_by_id_ente: action.payload,\r\n id_accordo_attivo: action.payload.length && accordoAttivo ? accordoAttivo.id : undefined,\r\n accordo_attivo: action.payload.length ? accordoAttivo : undefined,\r\n richiesta_inserita: richiestaInserita,\r\n richiesta_inviata: richiestaInviata\r\n }\r\n })\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_FILE_RICHIESTA_SUCCESS = 'GET_FILE_RICHIESTA_SUCCESS';\r\nexport const GET_FILE_RICHIESTA_IS_LOADING = 'GET_FILE_RICHIESTA_IS_LOADING';\r\nexport const GET_FILE_RICHIESTA_ERROR = 'GET_FILE_RICHIESTA_ERROR';\r\nexport const GET_FILE_FIRMATO_RICHIESTA_SUCCESS = 'GET_FILE_FIRMATO_RICHIESTA_SUCCESS';\r\nexport const GET_FILE_FIRMATO_RICHIESTA_IS_LOADING = 'GET_FILE_FIRMATO_RICHIESTA_IS_LOADING';\r\nexport const GET_FILE_FIRMATO_RICHIESTA_ERROR = 'GET_FILE_FIRMATO_RICHIESTA_ERROR';\r\nexport const GET_FILE_CONTROFIRMATO_RICHIESTA_SUCCESS = 'GET_FILE_CONTROFIRMATO_RICHIESTA_SUCCESS';\r\nexport const GET_FILE_CONTROFIRMATO_RICHIESTA_IS_LOADING = 'GET_FILE_CONTROFIRMATO_RICHIESTA_IS_LOADING';\r\nexport const GET_FILE_CONTROFIRMATO_RICHIESTA_ERROR = 'GET_FILE_CONTROFIRMATO_RICHIESTA_ERROR';\r\nexport const GET_FILE_DELEGA_SUCCESS = 'GET_FILE_DELEGA_SUCCESS';\r\nexport const GET_FILE_DELEGA_IS_LOADING = 'GET_FILE_DELEGA_IS_LOADING';\r\nexport const GET_FILE_DELEGA_ERROR = 'GET_FILE_DELEGA_ERROR';\r\n\r\nexport const getFileRichiestaSuccess = (payload) => {\r\n return {\r\n type: GET_FILE_RICHIESTA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getFileRichiestaIsLoading = () => {\r\n return {\r\n type: GET_FILE_RICHIESTA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getFileRichiestaError = error => {\r\n return {\r\n type: GET_FILE_RICHIESTA_ERROR,\r\n error\r\n };\r\n};\r\n\r\nexport const getFileFirmatoRichiestaSuccess = (payload) => {\r\n return {\r\n type: GET_FILE_FIRMATO_RICHIESTA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getFileFirmatoRichiestaIsLoading = () => {\r\n return {\r\n type: GET_FILE_FIRMATO_RICHIESTA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getFileFirmatoRichiestaError = error => {\r\n return {\r\n type: GET_FILE_FIRMATO_RICHIESTA_ERROR,\r\n error\r\n };\r\n};\r\n\r\nexport const getFileControfirmatoRichiestaSuccess = (payload) => {\r\n return {\r\n type: GET_FILE_CONTROFIRMATO_RICHIESTA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getFileControfirmatoRichiestaIsLoading = () => {\r\n return {\r\n type: GET_FILE_CONTROFIRMATO_RICHIESTA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getFileControfirmatoRichiestaError = error => {\r\n return {\r\n type: GET_FILE_CONTROFIRMATO_RICHIESTA_ERROR,\r\n error\r\n };\r\n};\r\n\r\nexport const getFileDelegaSuccess = (payload) => {\r\n return {\r\n type: GET_FILE_DELEGA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getFileDelegaIsLoading = () => {\r\n return {\r\n type: GET_FILE_DELEGA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getFileDelegaError = error => {\r\n return {\r\n type: GET_FILE_DELEGA_ERROR,\r\n error\r\n };\r\n};","import { GET_ACCORDO_BY_ID_ERROR, GET_ACCORDO_BY_ID_IS_LOADING, GET_ACCORDO_BY_ID_SUCCESS } from \"../../../actions/area-riservata/accordi-actions/get-accordo-by-id-actions\";\r\nimport { GET_FILE_DELEGA_SUCCESS, GET_FILE_RICHIESTA_SUCCESS, GET_FILE_FIRMATO_RICHIESTA_SUCCESS, GET_FILE_CONTROFIRMATO_RICHIESTA_SUCCESS, GET_FILE_RICHIESTA_IS_LOADING, GET_FILE_FIRMATO_RICHIESTA_IS_LOADING, GET_FILE_CONTROFIRMATO_RICHIESTA_IS_LOADING, GET_FILE_DELEGA_IS_LOADING, GET_FILE_RICHIESTA_ERROR, GET_FILE_FIRMATO_RICHIESTA_ERROR, GET_FILE_CONTROFIRMATO_RICHIESTA_ERROR, GET_FILE_DELEGA_ERROR } from \"../../../actions/area-riservata/accordi-actions/files-richiesta-adesione-actions\";\r\n\r\nexport const initialState = {\r\n get_accordo_by_id: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_ACCORDO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n isLoading: true,\r\n filerichiesta: undefined,\r\n filefirmatorichiesta: undefined,\r\n filecontrofirmatorichiesta: undefined,\r\n filedelega: undefined\r\n }\r\n }),\r\n [GET_FILE_RICHIESTA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileRichiestaIsLoading: true,\r\n }\r\n }),\r\n [GET_FILE_FIRMATO_RICHIESTA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileFirmatoRichiestaIsLoading: true,\r\n }\r\n }),\r\n [GET_FILE_CONTROFIRMATO_RICHIESTA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileControFirmatoRichiestaIsLoading: true,\r\n }\r\n }),\r\n [GET_FILE_DELEGA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileDelegaIsLoading: true,\r\n }\r\n }),\r\n [GET_FILE_RICHIESTA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileRichiestaIsLoading: false,\r\n fileRichiestaError: action.error,\r\n }\r\n }),\r\n [GET_FILE_FIRMATO_RICHIESTA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileFirmatoRichiestaIsLoading: false,\r\n fileFirmatoRichiestaError: action.error,\r\n }\r\n }),\r\n [GET_FILE_CONTROFIRMATO_RICHIESTA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileControFirmatoRichiestaIsLoading: false,\r\n fileControFirmatoRichiestaError: action.error,\r\n }\r\n }),\r\n [GET_FILE_DELEGA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileDelegaIsLoading: false,\r\n fileDelegaError: action.payload,\r\n }\r\n }),\r\n [GET_ACCORDO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileRichiestaIsLoading: false,\r\n fileFirmatoRichiestaIsLoading: false,\r\n fileControFirmatoRichiestaIsLoading: false,\r\n fileDelegaIsLoading: false,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_ACCORDO_BY_ID_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n isLoading: false,\r\n pristine: false,\r\n accordo: {\r\n ...action.payload,\r\n filerichiesta: (state.get_accordo_by_id.accordo &&\r\n state.get_accordo_by_id.accordo.filerichiesta) || null,\r\n filefirmatorichiesta: (state.get_accordo_by_id.accordo &&\r\n state.get_accordo_by_id.accordo.filefirmatorichiesta) || null,\r\n filecontrofirmatorichiesta: (state.get_accordo_by_id.accordo &&\r\n state.get_accordo_by_id.accordo.filecontrofirmatorichiesta) || null,\r\n filedelega: (state.get_accordo_by_id.accordo &&\r\n state.get_accordo_by_id.accordo.filedelega) || null,\r\n }\r\n }\r\n })\r\n },\r\n [GET_FILE_RICHIESTA_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileRichiestaIsLoading: false,\r\n accordo: {\r\n ...state.get_accordo_by_id.accordo,\r\n filerichiesta: action.payload,\r\n }\r\n }\r\n })\r\n },\r\n [GET_FILE_FIRMATO_RICHIESTA_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileFirmatoRichiestaIsLoading: false,\r\n accordo: {\r\n ...state.get_accordo_by_id.accordo,\r\n filefirmatorichiesta: action.payload,\r\n }\r\n }\r\n })\r\n },\r\n [GET_FILE_CONTROFIRMATO_RICHIESTA_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileControFirmatoRichiestaIsLoading: false,\r\n accordo: {\r\n ...state.get_accordo_by_id.accordo,\r\n filecontrofirmatorichiesta: action.payload,\r\n }\r\n }\r\n })\r\n },\r\n [GET_FILE_DELEGA_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n get_accordo_by_id: {\r\n ...state.get_accordo_by_id,\r\n fileDelegaIsLoading: false,\r\n accordo: {\r\n ...state.get_accordo_by_id.accordo,\r\n filedelega: action.payload,\r\n }\r\n }\r\n })\r\n },\r\n};\r\n\r\nexport default { initialState, handlers };\r\n","export const GET_ACCORDO_BY_ID_SUCCESS = 'GET_ACCORDO_BY_ID_SUCCESS';\r\nexport const GET_ACCORDO_BY_ID_IS_LOADING = 'GET_ACCORDO_BY_ID_IS_LOADING';\r\nexport const GET_ACCORDO_BY_ID_ERROR = 'GET_ACCORDO_BY_ID_ERROR';\r\n\r\nexport const getAccordoByIdSuccess = (payload, file) => {\r\n return {\r\n type: GET_ACCORDO_BY_ID_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getAccordoByIdIsLoading = () => {\r\n return {\r\n type: GET_ACCORDO_BY_ID_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getAccordoByIdError = error => {\r\n return {\r\n type: GET_ACCORDO_BY_ID_ERROR,\r\n error\r\n };\r\n};\r\n","import {\r\n GET_ACCORDI_BY_ID_STATO_SUCCESS,\r\n GET_ACCORDI_BY_ID_STATO_IS_LOADING,\r\n GET_ACCORDI_BY_ID_STATO_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-accordi-by-id-stato-actions\";\r\n\r\nexport const initialState = {\r\n get_accordi_by_id_stato: {\r\n isLoading: false,\r\n pristine: true,\r\n accordi_by_id_stato: {}\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_ACCORDI_BY_ID_STATO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_id_stato: {\r\n ...state.get_accordi_by_id_stato,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_ACCORDI_BY_ID_STATO_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_id_stato: {\r\n ...state.get_accordi_by_id_stato,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_ACCORDI_BY_ID_STATO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_richiesta_adesione: state.insert_richiesta_adesione,\r\n cancel_richiesta_adesione_by_id_richiesta: state.cancel_richiesta_adesione_by_id_richiesta,\r\n update_richiesta_adesione_by_id_richiesta: state.update_richiesta_adesione_by_id_richiesta,\r\n send_richiesta_adesione_by_id_richiesta: state.send_richiesta_adesione_by_id_richiesta,\r\n get_accordi_by_id_stato: {\r\n ...state.get_accordi_by_id_stato,\r\n isLoading: false,\r\n pristine: false,\r\n accordi_by_id_stato: {\r\n ...state.get_accordi_by_id_stato.accordi_by_id_stato,\r\n [action.statoaccordo]: action.payload\r\n }\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_ACCORDI_BY_ID_STATO_SUCCESS = 'GET_ACCORDI_BY_ID_STATO_SUCCESS';\r\nexport const GET_ACCORDI_BY_ID_STATO_IS_LOADING = 'GET_ACCORDI_BY_ID_STATO_IS_LOADING';\r\nexport const GET_ACCORDI_BY_ID_STATO_ERROR = 'GET_ACCORDI_BY_ID_STATO_ERROR';\r\n\r\nexport const getAccordiByIdStatoSuccess = (payload, statoaccordo) => {\r\n return {\r\n type: GET_ACCORDI_BY_ID_STATO_SUCCESS,\r\n payload,\r\n statoaccordo\r\n };\r\n};\r\n\r\nexport const getAccordiByIdStatoIsLoading = () => {\r\n return {\r\n type: GET_ACCORDI_BY_ID_STATO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getAccordiByIdStatoError = error => {\r\n return {\r\n type: GET_ACCORDI_BY_ID_STATO_ERROR,\r\n error\r\n };\r\n};","export const GET_ACCORDI_BY_STATI_SUCCESS = 'GET_ACCORDI_BY_STATI_SUCCESS';\r\nexport const GET_ACCORDI_BY_STATI_IS_LOADING = 'GET_ACCORDI_BY_STATI_IS_LOADING';\r\nexport const GET_ACCORDI_BY_STATI_ERROR = 'GET_ACCORDI_BY_STATI_ERROR';\r\n\r\nexport const getAccordiByStatiSuccess = (payload, statoaccordo) => {\r\n return {\r\n type: GET_ACCORDI_BY_STATI_SUCCESS,\r\n payload,\r\n statoaccordo\r\n };\r\n};\r\n\r\nexport const getAccordiByStatiIsLoading = () => {\r\n return {\r\n type: GET_ACCORDI_BY_STATI_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getAccordiByStatiError = error => {\r\n return {\r\n type: GET_ACCORDI_BY_STATI_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_ACCORDI_BY_STATI_SUCCESS,\r\n GET_ACCORDI_BY_STATI_IS_LOADING,\r\n GET_ACCORDI_BY_STATI_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-accordi-by-stati-actions\";\r\n\r\nexport const initialState = {\r\n get_accordi_by_stati: {\r\n isLoading: false,\r\n pristine: true,\r\n accordi_by_stati: {}\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_ACCORDI_BY_STATI_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_stati: {\r\n ...state.get_accordi_by_stati,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_ACCORDI_BY_STATI_ERROR]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_stati: {\r\n ...state.get_accordi_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_ACCORDI_BY_STATI_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_accordi_by_stati: {\r\n ...state.get_accordi_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n accordi_by_stati: {\r\n ...state.get_accordi_by_stati.accordi_by_stati,\r\n accordi: action.payload\r\n }\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_SUCCESS,\r\n GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_IS_LOADING,\r\n GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-casi-uso-associati-by-id-accordo-actions\";\r\n\r\nexport const initialState = {\r\n get_casi_uso_associati_by_id_accordo: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_associati_by_id_accordo: {\r\n ...state.get_casi_uso_associati_by_id_accordo,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_associati_by_id_accordo: {\r\n ...state.get_casi_uso_associati_by_id_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_associati_by_id_accordo: {\r\n ...state.get_casi_uso_associati_by_id_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n casi_uso_associati_by_id_accordo: action.payload.length ? action.payload : [],\r\n edit: action.edit\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_SUCCESS = 'GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_SUCCESS';\r\nexport const GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_IS_LOADING = 'GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_IS_LOADING';\r\nexport const GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_ERROR = 'GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_ERROR';\r\n\r\nexport const getCasiUsoAssociatiByIdAccordoSuccess = (payload, edit) => {\r\n return {\r\n type: GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_SUCCESS,\r\n payload,\r\n edit\r\n };\r\n};\r\n\r\nexport const getCasiUsoAssociatiByIdAccordoIsLoading = () => {\r\n return {\r\n type: GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCasiUsoAssociatiByIdAccordoError = error => {\r\n return {\r\n type: GET_CASI_USO_ASSOCIATI_BY_ID_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_CASI_USO_BY_ID_ACCORDO_SUCCESS,\r\n GET_CASI_USO_BY_ID_ACCORDO_IS_LOADING,\r\n GET_CASI_USO_BY_ID_ACCORDO_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-casi-uso-by-id-accordo-actions\";\r\n\r\nexport const initialState = {\r\n get_casi_uso_by_id_accordo: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CASI_USO_BY_ID_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_by_id_accordo: {\r\n ...state.get_casi_uso_by_id_accordo,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CASI_USO_BY_ID_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_by_id_accordo: {\r\n ...state.get_casi_uso_by_id_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CASI_USO_BY_ID_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_by_id_accordo: {\r\n ...state.get_casi_uso_by_id_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n casi_uso_by_id_accordo: action.payload,\r\n edit: action.edit,\r\n noContent: !action.payload.length ?\r\n {\r\n descrizione: \"Nessun caso d'uso associabile per questa categoria di ENTE/PA.\",\r\n } : undefined\r\n },\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_CASI_USO_BY_ID_ACCORDO_SUCCESS = 'GET_CASI_USO_BY_ID_ACCORDO_SUCCESS';\r\nexport const GET_CASI_USO_BY_ID_ACCORDO_IS_LOADING = 'GET_CASI_USO_BY_ID_ACCORDO_IS_LOADING';\r\nexport const GET_CASI_USO_BY_ID_ACCORDO_ERROR = 'GET_CASI_USO_BY_ID_ACCORDO_ERROR';\r\n\r\nexport const getCasiUsoByIdAccordoSuccess = (payload, edit) => {\r\n return {\r\n type: GET_CASI_USO_BY_ID_ACCORDO_SUCCESS,\r\n payload,\r\n edit\r\n };\r\n};\r\n\r\nexport const getCasiUsoByIdAccordoIsLoading = () => {\r\n return {\r\n type: GET_CASI_USO_BY_ID_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCasiUsoByIdAccordoError = error => {\r\n return {\r\n type: GET_CASI_USO_BY_ID_ACCORDO_ERROR,\r\n error\r\n };\r\n};","export const GET_DETTAGLIO_CASO_USO_BY_ID_SUCCESS = 'GET_DETTAGLIO_CASO_USO_BY_ID_SUCCESS';\r\nexport const GET_DETTAGLIO_CASO_USO_BY_ID_IS_LOADING = 'GET_DETTAGLIO_CASO_USO_BY_ID_IS_LOADING';\r\nexport const GET_DETTAGLIO_CASO_USO_BY_ID_ERROR = 'GET_DETTAGLIO_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const getDettaglioCasoUsoByIdSuccess = (payload) => {\r\n return {\r\n type: GET_DETTAGLIO_CASO_USO_BY_ID_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getDettaglioCasoUsoByIdIsLoading = () => {\r\n return {\r\n type: GET_DETTAGLIO_CASO_USO_BY_ID_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getDettaglioCasoUsoByIdError = error => {\r\n return {\r\n type: GET_DETTAGLIO_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_DETTAGLIO_CASO_USO_BY_ID_SUCCESS,\r\n GET_DETTAGLIO_CASO_USO_BY_ID_IS_LOADING,\r\n GET_DETTAGLIO_CASO_USO_BY_ID_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-dettaglio-caso-uso-by-id-actions\";\r\n\r\nexport const initialState = {\r\n get_dettaglio_caso_uso_by_id: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_DETTAGLIO_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_dettaglio_caso_uso_by_id: {\r\n ...state.get_dettaglio_caso_uso_by_id,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_DETTAGLIO_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n get_dettaglio_caso_uso_by_id: {\r\n ...state.get_dettaglio_caso_uso_by_id,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_DETTAGLIO_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_dettaglio_caso_uso_by_id: {\r\n ...state.get_dettaglio_caso_uso_by_id,\r\n isLoading: false,\r\n pristine: false,\r\n dettaglio_caso_uso_by_id: action.payload,\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n INSERT_RICHIESTA_ADESIONE_IS_LOADING,\r\n INSERT_RICHIESTA_ADESIONE_ERROR,\r\n INSERT_RICHIESTA_ADESIONE_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/insert-richiesta-adesione-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [INSERT_RICHIESTA_ADESIONE_IS_LOADING]: (state) => ({\r\n ...state,\r\n insert_richiesta_adesione: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_RICHIESTA_ADESIONE_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_richiesta_adesione: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [INSERT_RICHIESTA_ADESIONE_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_richiesta_adesione_by_id_richiesta: undefined,\r\n cancel_richiesta_adesione_by_id_richiesta: undefined,\r\n send_richiesta_adesione_by_id_richiesta: undefined,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n edited: false\r\n },\r\n insert_richiesta_adesione: {\r\n isLoading: false,\r\n inserted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_RICHIESTA_ADESIONE_SUCCESS = 'INSERT_RICHIESTA_ADESIONE_SUCCESS';\r\nexport const INSERT_RICHIESTA_ADESIONE_IS_LOADING = 'INSERT_RICHIESTA_ADESIONE_IS_LOADING';\r\nexport const INSERT_RICHIESTA_ADESIONE_ERROR = 'INSERT_RICHIESTA_ADESIONE_ERROR';\r\n\r\nexport const insertRichiestaAdesioneSuccess = payload => {\r\n return {\r\n type: INSERT_RICHIESTA_ADESIONE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertRichiestaAdesioneIsLoading = () => {\r\n return {\r\n type: INSERT_RICHIESTA_ADESIONE_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const insertRichiestaAdesioneError = error => {\r\n return {\r\n type: INSERT_RICHIESTA_ADESIONE_ERROR,\r\n error\r\n };\r\n};","import {\r\n INSERT_FILE_RICHIESTA_FIRMATO_IS_LOADING,\r\n INSERT_FILE_RICHIESTA_FIRMATO_ERROR,\r\n INSERT_FILE_RICHIESTA_FIRMATO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/insert-file-richiesta-firmato-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [INSERT_FILE_RICHIESTA_FIRMATO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_file_richiesta_firmato: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_FILE_RICHIESTA_FIRMATO_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_file_richiesta_firmato: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [INSERT_FILE_RICHIESTA_FIRMATO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_file_richiesta_firmato: {\r\n isLoading: false,\r\n inserted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_FILE_RICHIESTA_FIRMATO_SUCCESS = 'INSERT_FILE_RICHIESTA_FIRMATO_SUCCESS';\r\nexport const INSERT_FILE_RICHIESTA_FIRMATO_IS_LOADING = 'INSERT_FILE_RICHIESTA_FIRMATO_IS_LOADING';\r\nexport const INSERT_FILE_RICHIESTA_FIRMATO_ERROR = 'INSERT_FILE_RICHIESTA_FIRMATO_ERROR';\r\n\r\nexport const insertFileRichiestaFirmatoSuccess = payload => {\r\n return {\r\n type: INSERT_FILE_RICHIESTA_FIRMATO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertFileRichiestaFirmatoIsLoading = () => {\r\n return {\r\n type: INSERT_FILE_RICHIESTA_FIRMATO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const insertFileRichiestaFirmatoError = error => {\r\n return {\r\n type: INSERT_FILE_RICHIESTA_FIRMATO_ERROR,\r\n error\r\n };\r\n};","import {\r\n INSERT_FILE_RICHIESTA_CONTROFIRMATO_IS_LOADING,\r\n INSERT_FILE_RICHIESTA_CONTROFIRMATO_ERROR,\r\n INSERT_FILE_RICHIESTA_CONTROFIRMATO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/insert-file-richiesta-controfirmato-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [INSERT_FILE_RICHIESTA_CONTROFIRMATO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_file_richiesta_controfirmato: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_FILE_RICHIESTA_CONTROFIRMATO_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_file_richiesta_controfirmato: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [INSERT_FILE_RICHIESTA_CONTROFIRMATO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_file_richiesta_controfirmato: {\r\n isLoading: false,\r\n inserted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };\r\n","export const INSERT_FILE_RICHIESTA_CONTROFIRMATO_SUCCESS = 'INSERT_FILE_RICHIESTA_CONTROFIRMATO_SUCCESS';\r\nexport const INSERT_FILE_RICHIESTA_CONTROFIRMATO_IS_LOADING = 'INSERT_FILE_RICHIESTA_CONTROFIRMATO_IS_LOADING';\r\nexport const INSERT_FILE_RICHIESTA_CONTROFIRMATO_ERROR = 'INSERT_FILE_RICHIESTA_CONTROFIRMATO_ERROR';\r\n\r\nexport const insertFileRichiestaControfirmatoSuccess = payload => {\r\n return {\r\n type: INSERT_FILE_RICHIESTA_CONTROFIRMATO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertFileRichiestaControfirmatoIsLoading = () => {\r\n return {\r\n type: INSERT_FILE_RICHIESTA_CONTROFIRMATO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const insertFileRichiestaControfirmatoError = error => {\r\n return {\r\n type: INSERT_FILE_RICHIESTA_CONTROFIRMATO_ERROR,\r\n error\r\n };\r\n};\r\n","export const PUT_RICHIESTA_ADESIONE_DATA_SUCCESS = 'PUT_RICHIESTA_ADESIONE_DATA_SUCCESS';\r\nexport const PUT_RICHIESTA_ADESIONE_DATA_IS_LOADING = 'PUT_RICHIESTA_ADESIONE_DATA_IS_LOADING';\r\nexport const PUT_RICHIESTA_ADESIONE_CONFIG_SUCCESS = 'PUT_RICHIESTA_ADESIONE_CONFIG_SUCCESS';\r\nexport const PUT_RICHIESTA_ADESIONE_CONFIG_IS_LOADING = 'PUT_RICHIESTA_ADESIONE_CONFIG_IS_LOADING';\r\nexport const RESET_RICHIESTA_ADESIONE_SUCCESS = 'RESET_RICHIESTA_ADESIONE_SUCCESS';\r\nexport const RESET_RICHIESTA_ADESIONE_IS_LOADING = 'RESET_RICHIESTA_ADESIONE_IS_LOADING';\r\nexport const PUT_RICHIESTA_ADESIONE_DATA_ERROR = 'PUT_RICHIESTA_ADESIONE_DATA_ERROR';\r\nexport const PUT_RICHIESTA_ADESIONE_DATA_CF_ERROR = 'PUT_RICHIESTA_ADESIONE_DATA_CF_ERROR';\r\n\r\nexport const putRichiestaAdesioneDataSuccess = (payload) => {\r\n return {\r\n type: PUT_RICHIESTA_ADESIONE_DATA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const putRichiestaAdesioneDataIsLoading = () => {\r\n return {\r\n type: PUT_RICHIESTA_ADESIONE_DATA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const putRichiestaAdesioneConfigSuccess = (payload) => {\r\n return {\r\n type: PUT_RICHIESTA_ADESIONE_CONFIG_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const putRichiestaAdesioneConfigIsLoading = () => {\r\n return {\r\n type: PUT_RICHIESTA_ADESIONE_CONFIG_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const resetRichiestaAdesioneDataSuccess = (payload) => {\r\n return {\r\n type: RESET_RICHIESTA_ADESIONE_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const resetRichiestaAdesioneIsLoading = () => {\r\n return {\r\n type: RESET_RICHIESTA_ADESIONE_IS_LOADING,\r\n };\r\n};\r\n\r\n\r\nexport const putRichiestaAdesioneDataError = (payload, cfErrors) => {\r\n return {\r\n type: PUT_RICHIESTA_ADESIONE_DATA_ERROR,\r\n payload,\r\n cfErrors\r\n };\r\n};\r\n\r\nexport const putRichiestaAdesioneDataCfError = (payload, cfErrors) => {\r\n return {\r\n type: PUT_RICHIESTA_ADESIONE_DATA_CF_ERROR,\r\n payload,\r\n cfErrors\r\n };\r\n};","import {\r\n PUT_RICHIESTA_ADESIONE_DATA_SUCCESS,\r\n PUT_RICHIESTA_ADESIONE_DATA_IS_LOADING,\r\n PUT_RICHIESTA_ADESIONE_CONFIG_IS_LOADING,\r\n PUT_RICHIESTA_ADESIONE_CONFIG_SUCCESS,\r\n RESET_RICHIESTA_ADESIONE_IS_LOADING,\r\n RESET_RICHIESTA_ADESIONE_SUCCESS,\r\n PUT_RICHIESTA_ADESIONE_DATA_ERROR,\r\n PUT_RICHIESTA_ADESIONE_DATA_CF_ERROR\r\n}\r\n from \"../../../actions/area-riservata/accordi-actions/nuova-richiesta-adesione-data-actions\";\r\n\r\nexport const initialState = {\r\n richiesta_adesione_data: {\r\n isLoading: false,\r\n configIsLoading: false,\r\n edited: false,\r\n }\r\n};\r\n\r\nfunction handleStepData(data, stepId, status) {\r\n let stepData;\r\n if (data === null) {\r\n stepData = {\r\n [stepId]: null\r\n }\r\n } else if (data) {\r\n stepData = {\r\n [stepId]: {\r\n ...data,\r\n status\r\n }\r\n }\r\n };\r\n return stepData;\r\n};\r\n\r\nexport const handlers = {\r\n [PUT_RICHIESTA_ADESIONE_DATA_IS_LOADING]: (state) => ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n isLoading: true,\r\n next: undefined,\r\n }\r\n }),\r\n [PUT_RICHIESTA_ADESIONE_DATA_ERROR]: (state, action) => ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n [action.payload.step.id]: {\r\n cf_errors: action.cfErrors,\r\n status: 'todo'\r\n },\r\n isLoading: false,\r\n }\r\n }),\r\n [PUT_RICHIESTA_ADESIONE_DATA_CF_ERROR]: (state, action) => ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n ...handleStepData({...action.payload.data, cf_errors: action.cfErrors}, action.payload.step.id, 'todo'),\r\n error: action.error,\r\n isLoading: false,\r\n }\r\n }),\r\n [PUT_RICHIESTA_ADESIONE_DATA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n isLoading: false,\r\n ...handleStepData(action.payload.data, action.payload.step.id, 'done'),\r\n next: action.payload.next,\r\n edited: true,\r\n completed: action.payload.completed ? action.payload.completed : state.richiesta_adesione_data.completed,\r\n }\r\n }),\r\n [PUT_RICHIESTA_ADESIONE_CONFIG_IS_LOADING]: (state) => ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n configIsLoading: true,\r\n }\r\n }),\r\n [PUT_RICHIESTA_ADESIONE_CONFIG_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n reset: false,\r\n configIsLoading: false,\r\n config: action.payload\r\n }\r\n })\r\n },\r\n [RESET_RICHIESTA_ADESIONE_IS_LOADING]: (state) => ({\r\n ...state,\r\n richiesta_adesione_data: {\r\n ...state.richiesta_adesione_data,\r\n resetting: true,\r\n }\r\n }),\r\n [RESET_RICHIESTA_ADESIONE_SUCCESS]: (state, action) => {\r\n return ({\r\n ...state,\r\n insert_richiesta_adesione: undefined,\r\n cancel_richiesta_adesione_by_id_richiesta: undefined,\r\n update_richiesta_adesione_by_id_richiesta: undefined,\r\n send_richiesta_adesione_by_id_richiesta: undefined,\r\n get_accordo_by_id: {\r\n isLoading: false,\r\n pristine: true,\r\n },\r\n richiesta_adesione_data: {\r\n isLoading: false,\r\n resetting: false,\r\n reset: true,\r\n configIsLoading: false\r\n }\r\n })\r\n },\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING,\r\n SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR,\r\n SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/send-richiesta-adesione-by-id-richiesta-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING]: (state) => ({\r\n ...state,\r\n send_richiesta_adesione_by_id_richiesta: {\r\n isLoading: true\r\n }\r\n }),\r\n [SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR]: (state, action) => ({\r\n ...state,\r\n send_richiesta_adesione_by_id_richiesta: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_richiesta_adesione_by_id_richiesta: undefined,\r\n cancel_richiesta_adesione_by_id_richiesta: undefined,\r\n insert_richiesta_adesione: undefined,\r\n send_richiesta_adesione_by_id_richiesta: {\r\n isLoading: false,\r\n sent: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS = 'SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS';\r\nexport const SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING = 'SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING';\r\nexport const SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR = 'SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR';\r\n\r\nexport const sendRichiestaAdesioneByIdRichiestaSuccess = payload => {\r\n return {\r\n type: SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const sendRichiestaAdesioneByIdRichiestaIsLoading = () => {\r\n return {\r\n type: SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const sendRichiestaAdesioneByIdRichiestaError = error => {\r\n return {\r\n type: SEND_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR,\r\n error\r\n };\r\n};","import {\r\n UPDATE_CASI_USO_BY_ID_ACCORDO_IS_LOADING,\r\n UPDATE_CASI_USO_BY_ID_ACCORDO_ERROR,\r\n UPDATE_CASI_USO_BY_ID_ACCORDO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/update-casi-uso-by-id-accordo-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [UPDATE_CASI_USO_BY_ID_ACCORDO_IS_LOADING]: (state) => ({\r\n ...state,\r\n update_casi_uso_by_id_accordo: {\r\n isLoading: true,\r\n }\r\n }),\r\n [UPDATE_CASI_USO_BY_ID_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n update_casi_uso_by_id_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [UPDATE_CASI_USO_BY_ID_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_casi_uso_by_id_accordo: {\r\n isLoading: false,\r\n updated: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_CASI_USO_BY_ID_ACCORDO_SUCCESS = 'UPDATE_CASI_USO_BY_ID_ACCORDO_SUCCESS';\r\nexport const UPDATE_CASI_USO_BY_ID_ACCORDO_IS_LOADING = 'UPDATE_CASI_USO_BY_ID_ACCORDO_IS_LOADING';\r\nexport const UPDATE_CASI_USO_BY_ID_ACCORDO_ERROR = 'UPDATE_CASI_USO_BY_ID_ACCORDO_ERROR';\r\n\r\nexport const updateCasiUsoByIdAccordoSuccess = (payload, stati_accordo) => {\r\n return {\r\n type: UPDATE_CASI_USO_BY_ID_ACCORDO_SUCCESS,\r\n payload,\r\n stati_accordo\r\n };\r\n};\r\n\r\nexport const updateCasiUsoByIdAccordoIsLoading = updating => {\r\n return {\r\n type: UPDATE_CASI_USO_BY_ID_ACCORDO_IS_LOADING,\r\n updating\r\n };\r\n};\r\n\r\nexport const updateCasiUsoByIdAccordoError = error => {\r\n return {\r\n type: UPDATE_CASI_USO_BY_ID_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import {\r\n UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING,\r\n UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR,\r\n UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/update-richiesta-adesione-by-id-richiesta-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING]: (state) => ({\r\n ...state,\r\n update_richiesta_adesione_by_id_richiesta: {\r\n isLoading: true,\r\n }\r\n }),\r\n [UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR]: (state, action) => ({\r\n ...state,\r\n update_richiesta_adesione_by_id_richiesta: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n cancel_richiesta_adesione_by_id_richiesta: undefined,\r\n send_richiesta_adesione_by_id_richiesta: undefined,\r\n insert_richiesta_adesione: undefined,\r\n update_richiesta_adesione_by_id_richiesta: {\r\n isLoading: false,\r\n updated: action.payload,\r\n },\r\n richiesta_adesione_data: {\r\n isLoading: false,\r\n configIsLoading: false,\r\n edited: false,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS = 'UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS';\r\nexport const UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING = 'UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING';\r\nexport const UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR = 'UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR';\r\n\r\nexport const updateRichiestaAdesioneByIdRichiestaSuccess = payload => {\r\n return {\r\n type: UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateRichiestaAdesioneByIdRichiestaIsLoading = () => {\r\n return {\r\n type: UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_IS_LOADING, \r\n };\r\n};\r\n\r\nexport const updateRichiestaAdesioneByIdRichiestaError = error => {\r\n return {\r\n type: UPDATE_RICHIESTA_ADESIONE_BY_ID_RICHIESTA_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_RESPONSABILE_FIRMA_ACCORDO_SUCCESS,\r\n GET_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n GET_RESPONSABILE_FIRMA_ACCORDO_ERROR\r\n} from \"../../../actions/area-riservata/accordi-actions/get-responsabile-firma-accordo-actions\";\r\n\r\nexport const initialState = {\r\n get_responsabile_firma_accordo: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n responsabile_firma_accordo: {\r\n ...state.get_responsabile_firma_accordo,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_RESPONSABILE_FIRMA_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n get_responsabile_firma_accordo: {\r\n ...state.get_responsabile_firma_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_RESPONSABILE_FIRMA_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_responsabile_firma_accordo: {\r\n ...state.get_responsabile_firma_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n responsabile_firma_accordo: action.payload,\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_RESPONSABILE_FIRMA_ACCORDO_SUCCESS = 'GET_RESPONSABILE_FIRMA_ACCORDO_SUCCESS';\r\nexport const GET_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING = 'GET_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING';\r\nexport const GET_RESPONSABILE_FIRMA_ACCORDO_ERROR = 'GET_RESPONSABILE_FIRMA_ACCORDO_ERROR';\r\n\r\nexport const getResponsabileFirmaAccordoSuccess = (payload) => {\r\n return {\r\n type: GET_RESPONSABILE_FIRMA_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getResponsabileFirmaAccordoIsLoading = () => {\r\n return {\r\n type: GET_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getResponsabileFirmaAccordoError = error => {\r\n return {\r\n type: GET_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n INSERT_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n INSERT_RESPONSABILE_FIRMA_ACCORDO_ERROR,\r\n INSERT_RESPONSABILE_FIRMA_ACCORDO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/insert-responsabile-firma-accordo-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [INSERT_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_responsabile_firma_accordo: {\r\n isLoading: true,\r\n inserted: false\r\n }\r\n }),\r\n [INSERT_RESPONSABILE_FIRMA_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_responsabile_firma_accordo: {\r\n isLoading: false,\r\n inserted: false,\r\n error: action.error\r\n }\r\n }),\r\n [INSERT_RESPONSABILE_FIRMA_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_responsabile_firma_accordo: {\r\n isLoading: false,\r\n inserted: true,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_RESPONSABILE_FIRMA_ACCORDO_SUCCESS = 'INSERT_RESPONSABILE_FIRMA_ACCORDO_SUCCESS';\r\nexport const INSERT_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING = 'INSERT_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING';\r\nexport const INSERT_RESPONSABILE_FIRMA_ACCORDO_ERROR = 'INSERT_RESPONSABILE_FIRMA_ACCORDO_ERROR';\r\n\r\nexport const insertResponsabileFirmaAccordoSuccess = payload => {\r\n return {\r\n type: INSERT_RESPONSABILE_FIRMA_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertResponsabileFirmaAccordoIsLoading = () => {\r\n return {\r\n type: INSERT_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const insertResponsabileFirmaAccordoError = error => {\r\n return {\r\n type: INSERT_RESPONSABILE_FIRMA_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import {\r\n UPDATE_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n UPDATE_RESPONSABILE_FIRMA_ACCORDO_ERROR,\r\n UPDATE_RESPONSABILE_FIRMA_ACCORDO_SUCCESS\r\n} from \"../../../actions/area-riservata/accordi-actions/update-responsabile-firma-accordo-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [UPDATE_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_responsabile_firma_accordo: {\r\n isLoading: true,\r\n updated: false\r\n }\r\n }),\r\n [UPDATE_RESPONSABILE_FIRMA_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n update_responsabile_firma_accordo: {\r\n isLoading: false,\r\n updated: false,\r\n error: action.error\r\n }\r\n }),\r\n [UPDATE_RESPONSABILE_FIRMA_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_responsabile_firma_accordo: {\r\n isLoading: false,\r\n updated: true,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_RESPONSABILE_FIRMA_ACCORDO_SUCCESS = 'UPDATE_RESPONSABILE_FIRMA_ACCORDO_SUCCESS';\r\nexport const UPDATE_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING = 'UPDATE_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING';\r\nexport const UPDATE_RESPONSABILE_FIRMA_ACCORDO_ERROR = 'UPDATE_RESPONSABILE_FIRMA_ACCORDO_ERROR';\r\n\r\nexport const updateResponsabileFirmaAccordoSuccess = payload => {\r\n return {\r\n type: UPDATE_RESPONSABILE_FIRMA_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateResponsabileFirmaAccordoIsLoading = () => {\r\n return {\r\n type: UPDATE_RESPONSABILE_FIRMA_ACCORDO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const updateResponsabileFirmaAccordoError = error => {\r\n return {\r\n type: UPDATE_RESPONSABILE_FIRMA_ACCORDO_ERROR,\r\n error\r\n };\r\n};","export const REVOCA_ACCORDO_SUCCESS = 'REVOCA_ACCORDO_SUCCESS';\r\nexport const REVOCA_ACCORDO_IS_LOADING = 'REVOCA_ACCORDO_IS_LOADING';\r\nexport const REVOCA_ACCORDO_ERROR = 'REVOCA_ACCORDO_ERROR';\r\n\r\nexport const revocaAccordoSuccess = payload => {\r\n return {\r\n type: REVOCA_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const revocaAccordoIsLoading = loading => {\r\n return {\r\n type: REVOCA_ACCORDO_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const revocaAccordoError = error => {\r\n return {\r\n type: REVOCA_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import { REVOCA_ACCORDO_ERROR, REVOCA_ACCORDO_IS_LOADING, REVOCA_ACCORDO_SUCCESS } from \"../../../actions/area-riservata/accordi-actions/revoca-accordo\";\r\n\r\nexport const handlers = {\r\n [REVOCA_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n revoca_accordo: {\r\n isLoading: true,\r\n }\r\n }),\r\n [REVOCA_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n revoca_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [REVOCA_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n revoca_accordo: {\r\n isLoading: false,\r\n revoked: action.payload,\r\n }\r\n }),\r\n};\r\nexport default { handlers };\r\n","import { ATTIVA_ACCORDO_ERROR, ATTIVA_ACCORDO_IS_LOADING, ATTIVA_ACCORDO_SUCCESS } from \"../../../actions/area-riservata/accordi-actions/attiva-accordo\";\r\n\r\nexport const handlers = {\r\n [ATTIVA_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n attiva_accordo: {\r\n isLoading: true,\r\n }\r\n }),\r\n [ATTIVA_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n attiva_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [ATTIVA_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n attiva_accordo: {\r\n isLoading: false,\r\n activated: action.payload,\r\n }\r\n }),\r\n};\r\nexport default { handlers };\r\n","export const ATTIVA_ACCORDO_SUCCESS = 'ATTIVA_ACCORDO_SUCCESS';\r\nexport const ATTIVA_ACCORDO_IS_LOADING = 'ATTIVA_ACCORDO_IS_LOADING';\r\nexport const ATTIVA_ACCORDO_ERROR = 'ATTIVA_ACCORDO_ERROR';\r\n\r\nexport const attivaAccordoSuccess = payload => {\r\n return {\r\n type: ATTIVA_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const attivaAccordoIsLoading = loading => {\r\n return {\r\n type: ATTIVA_ACCORDO_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const attivaAccordoError = error => {\r\n return {\r\n type: ATTIVA_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import { SOSPENDI_ACCORDO_ERROR, SOSPENDI_ACCORDO_IS_LOADING, SOSPENDI_ACCORDO_SUCCESS } from \"../../../actions/area-riservata/accordi-actions/sospendi-accordo\";\r\n\r\nexport const handlers = {\r\n [SOSPENDI_ACCORDO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n sospendi_accordo: {\r\n isLoading: true,\r\n }\r\n }),\r\n [SOSPENDI_ACCORDO_ERROR]: (state, action) => ({\r\n ...state,\r\n sospendi_accordo: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [SOSPENDI_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n sospendi_accordo: {\r\n isLoading: false,\r\n suspended: action.payload,\r\n }\r\n }),\r\n};\r\nexport default { handlers };\r\n","export const SOSPENDI_ACCORDO_SUCCESS = 'SOSPENDI_ACCORDO_SUCCESS';\r\nexport const SOSPENDI_ACCORDO_IS_LOADING = 'SOSPENDI_ACCORDO_IS_LOADING';\r\nexport const SOSPENDI_ACCORDO_ERROR = 'SOSPENDI_ACCORDO_ERROR';\r\n\r\nexport const sospendiAccordoSuccess = payload => {\r\n return {\r\n type: SOSPENDI_ACCORDO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const sospendiAccordoIsLoading = loading => {\r\n return {\r\n type: SOSPENDI_ACCORDO_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const sospendiAccordoError = error => {\r\n return {\r\n type: SOSPENDI_ACCORDO_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\nimport approvaRespingiRichiestaAdesione from \"./approva-respingi-richiesta-adesione-reducers\"\r\nimport cancelRichiestaAdesioneByIdRichiestaReducers from \"./cancel-richiesta-adesione-by-id-richiesta-reducers\";\r\nimport disableEnableCasiUsoByIdAccordoReducers from \"./disable-enable-casi-uso-by-id-accordo-reducers\";\r\nimport getAccordoAttivoDataReducers from \"./get-accordo-attivo-data-reducers\";\r\nimport getAccordiByIdEnteReducers from \"./get-accordi-by-id-ente-reducers\";\r\nimport getAccordoByIdReducers from \"./get-accordo-by-id-reducers\"\r\nimport getAccordiByIdStatoReducers from \"./get-accordi-by-id-stato-reducers\";\r\nimport getAccordiByStatiReducers from \"./get-accordi-by-stati-reducers\";\r\nimport getCasiUsoAssociatiByIdAccordoReducers from \"./get-casi-uso-associati-by-id-accordo-reducers\";\r\nimport getCasiUsoByIdAccordoReducers from \"./get-casi-uso-by-id-accordo-reducers\";\r\nimport getDettaglioCasoUsoByIdReducers from \"./get-dettaglio-caso-uso-by-id-reducers\";\r\nimport insertRichiestaAdesioneReducers from \"./insert-richiesta-adesione-reducers\";\r\nimport insertFileRichiestaFirmatoReducers from \"./insert-file-richiesta-firmato-reducers\";\r\nimport insertFileRichiestaControfirmatoReducers from \"./insert-file-richiesta-controfirmato-reducers\";\r\nimport richiestaAdesioneDataReducers from \"./nuova-richiesta-adesione-data-reducers\";\r\nimport sendRichiestaAdesioneByIdRichiestaReducers from \"./send-richiesta-adesione-by-id-richiesta-reducers\";\r\nimport updateCasiUsoByIdAccordoReducers from \"./update-casi-uso-by-id-accordo-reducers\";\r\nimport updateRichiestaAdesioneByIdRichiestaReducers from \"./update-richiesta-adesione-by-id-richiesta-reducers\";\r\nimport getResponsabileFirmaAccordoReducer from \"./getResponsabileFirmaAccordoReducer\";\r\nimport insertResponsabileFirmaAccordoReducers from \"./insert-responsabile-firma-accordo-reducers\";\r\nimport updateResponsabileFirmaAccordoReducers from \"./update-responsabile-firma-accordo-reducers\";\r\nimport revocaAccordoReducers from \"./revoca-accordo-reducers\";\r\nimport attivaAccordoReducers from \"./attiva-accordo-reducers\";\r\nimport sospendiAccordoReducers from \"./sospendi-accordo-reducers\";\r\n\r\nexport default createReducer([\r\n approvaRespingiRichiestaAdesione,\r\n attivaAccordoReducers,\r\n cancelRichiestaAdesioneByIdRichiestaReducers,\r\n disableEnableCasiUsoByIdAccordoReducers,\r\n getAccordiByIdEnteReducers,\r\n getAccordiByIdStatoReducers,\r\n getAccordiByStatiReducers,\r\n getAccordoByIdReducers,\r\n getAccordoAttivoDataReducers,\r\n getCasiUsoByIdAccordoReducers,\r\n getCasiUsoAssociatiByIdAccordoReducers,\r\n getDettaglioCasoUsoByIdReducers,\r\n getResponsabileFirmaAccordoReducer,\r\n insertRichiestaAdesioneReducers,\r\n insertFileRichiestaFirmatoReducers,\r\n insertFileRichiestaControfirmatoReducers,\r\n insertResponsabileFirmaAccordoReducers,\r\n revocaAccordoReducers,\r\n richiestaAdesioneDataReducers,\r\n sendRichiestaAdesioneByIdRichiestaReducers,\r\n sospendiAccordoReducers,\r\n updateCasiUsoByIdAccordoReducers,\r\n updateResponsabileFirmaAccordoReducers,\r\n updateRichiestaAdesioneByIdRichiestaReducers,\r\n]);\r\n","import { GET_DECODIFICHE_STATI_ACCORDO_SUCCESS, GET_DECODIFICHE_STATI_ACCORDO_IS_LOADING, GET_DECODIFICHE_STATI_ACCORDO_ERROR } from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nexport const initialState = {\r\n stati_accordo: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_STATI_ACCORDO_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_accordo: {\r\n ...state.stati_accordo,\r\n isLoading: false,\r\n pristine: false,\r\n stati_accordo: action.payload.content.map(stato_accordo => {\r\n return {\r\n ...stato_accordo,\r\n variabile: stato_accordo.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_ACCORDO_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_accordo: {\r\n ...state.stati_accordo,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_ACCORDO_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_accordo: {\r\n ...state.stati_accordo,\r\n isLoading: false,\r\n pristine:false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_DECODIFICHE_STATI_NORMATIVA_SUCCESS,\r\n GET_DECODIFICHE_STATI_NORMATIVA_IS_LOADING,\r\n GET_DECODIFICHE_STATI_NORMATIVA_ERROR\r\n}\r\n from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nconst initialState = {\r\n stati_normativa: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_STATI_NORMATIVA_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_normativa: {\r\n isLoading: false,\r\n pristine: false,\r\n stati_normativa: action.payload.content.map(stato_normativa => {\r\n return {\r\n ...stato_normativa,\r\n variabile: stato_normativa.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_NORMATIVA_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_normativa: {\r\n ...state.stati_normativa,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_NORMATIVA_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_normativa: {\r\n ...state.stati_normativa,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_DECODIFICHE_STATI_UTENTE_SUCCESS,\r\n GET_DECODIFICHE_STATI_UTENTE_IS_LOADING,\r\n GET_DECODIFICHE_STATI_UTENTE_ERROR\r\n}\r\n from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nconst initialState = {\r\n stati_utente: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_STATI_UTENTE_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_utente: {\r\n isLoading: false,\r\n pristine: false,\r\n stati_utente: action.payload.content.map(stato_utente => {\r\n return {\r\n ...stato_utente,\r\n variabile: stato_utente.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_UTENTE_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_utente: {\r\n ...state.stati_utente,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_UTENTE_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_utente: {\r\n ...state.stati_utente,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_DECODIFICHE_TIPI_UTENTE_SUCCESS,\r\n GET_DECODIFICHE_TIPI_UTENTE_IS_LOADING,\r\n GET_DECODIFICHE_TIPI_UTENTE_ERROR\r\n}\r\n from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nconst initialState = {\r\n tipi_utente: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_TIPI_UTENTE_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n tipi_utente: {\r\n isLoading: false,\r\n pristine: false,\r\n tipi_utente: action.payload.content.map(tipo_utente => {\r\n return {\r\n ...tipo_utente,\r\n variabile: tipo_utente.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_TIPI_UTENTE_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n tipi_utente: {\r\n ...state.tipi_utente,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_TIPI_UTENTE_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n tipi_utente: {\r\n ...state.tipi_utente,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import { GET_DECODIFICHE_STATI_CASO_USO_SUCCESS, GET_DECODIFICHE_STATI_CASO_USO_IS_LOADING, GET_DECODIFICHE_STATI_CASO_USO_ERROR } from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nexport const initialState = {\r\n stati_caso_uso: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_STATI_CASO_USO_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_caso_uso: {\r\n isLoading: false,\r\n pristine: false,\r\n stati_caso_uso: action.payload.content.map(stato_caso_uso => {\r\n return {\r\n ...stato_caso_uso,\r\n variabile: stato_caso_uso.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_CASO_USO_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_caso_uso: {\r\n ...state.stati_caso_uso,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_CASO_USO_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_caso_uso: {\r\n ...state.stati_caso_uso,\r\n isLoading: false,\r\n pristine:false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_DECODIFICHE_STATI_TIPOLOGIA_SUCCESS,\r\n GET_DECODIFICHE_STATI_TIPOLOGIA_IS_LOADING,\r\n GET_DECODIFICHE_STATI_TIPOLOGIA_ERROR\r\n}\r\n from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nconst initialState = {\r\n stati_tipologia: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_STATI_TIPOLOGIA_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_tipologia: {\r\n isLoading: false,\r\n pristine: false,\r\n stati_tipologia: action.payload.content.map(stato_tipologia => {\r\n return {\r\n ...stato_tipologia,\r\n variabile: stato_tipologia.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_TIPOLOGIA_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_tipologia: {\r\n ...state.stati_tipologia,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_STATI_TIPOLOGIA_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n stati_tipologia: {\r\n ...state.stati_tipologia,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_DECODIFICHE_AMBITI_TERRITORIALI_SUCCESS,\r\n GET_DECODIFICHE_AMBITI_TERRITORIALI_IS_LOADING,\r\n GET_DECODIFICHE_AMBITI_TERRITORIALI_ERROR\r\n}\r\n from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nconst initialState = {\r\n ambiti_territoriali: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_AMBITI_TERRITORIALI_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n ambiti_territoriali: {\r\n isLoading: false,\r\n pristine: false,\r\n ambiti_territoriali: action.payload.content.map(ambito_territoriale => {\r\n return {\r\n ...ambito_territoriale,\r\n variabile: ambito_territoriale.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_AMBITI_TERRITORIALI_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n ambiti_territoriali: {\r\n ...state.ambiti_territoriali,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_AMBITI_TERRITORIALI_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n ambiti_territoriali: {\r\n ...state.ambiti_territoriali,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import {\r\n GET_DECODIFICHE_AMBITI_SUCCESS,\r\n GET_DECODIFICHE_AMBITI_IS_LOADING,\r\n GET_DECODIFICHE_AMBITI_ERROR\r\n}\r\n from \"../../../actions/area-riservata/decodifiche-actions/decodifiche-actions-types\";\r\n\r\nconst initialState = {\r\n ambiti: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\n\r\nexport const handlers = {\r\n [GET_DECODIFICHE_AMBITI_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n ambiti: {\r\n isLoading: false,\r\n pristine: false,\r\n ambiti: action.payload.content.map(ambito => {\r\n return {\r\n ...ambito,\r\n variabile: ambito.traduzionetrasl\r\n .toUpperCase()\r\n .split(\" \")\r\n .join(\"_\")\r\n };\r\n })\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_AMBITI_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n ambiti: {\r\n ...state.ambiti,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_DECODIFICHE_AMBITI_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n ambiti: {\r\n ...state.ambiti,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import { createReducer } from \"../../createReducer\";\r\nimport getDecodificheStatiAccordoReducers from \"./get-decodifiche-stati-accordo-reducers\";\r\nimport getDecodificheStatiNormativaReducers from \"./get-decodifiche-stati-normativa-reducers\";\r\nimport getDecodificheStatiUtenteReducers from \"./get-decodifiche-stati-utente-reducers\";\r\nimport getDecodificheTipiUtenteReducers from \"./get-decodifiche-tipi-utente-reducers\";\r\nimport getDecodificheStatiCasoUsoReducers from \"./get-decodifiche-stati-caso-uso-reducers\";\r\nimport getDecodificheStatiTipologiaReducers from \"./get-decodifiche-stati-tipologia-reducers\";\r\nimport getDecodificheAmbitiTerritorialiReducers from \"./get-decodifiche-ambiti-territoriali-reducers\";\r\nimport getDecodificheAmbitiReducers from \"./get-decodifiche-ambiti-reducers\";\r\n\r\n\r\nexport default createReducer([\r\n getDecodificheAmbitiReducers,\r\n getDecodificheAmbitiTerritorialiReducers,\r\n getDecodificheTipiUtenteReducers,\r\n getDecodificheStatiUtenteReducers,\r\n getDecodificheStatiAccordoReducers,\r\n getDecodificheStatiCasoUsoReducers,\r\n getDecodificheStatiNormativaReducers,\r\n getDecodificheStatiTipologiaReducers,\r\n]);","import {\r\n GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS,\r\n GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING,\r\n GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_ERROR,\r\n RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING,\r\n RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS\r\n} from \"../../../actions/area-riservata/enti-actions/get-categorie-ente-by-id-tipologia-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_ente_by_id_tipologia: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_ente_by_id_tipologia: {\r\n ...state.get_categorie_ente_by_id_tipologia,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_ente_by_id_tipologia: {\r\n ...state.get_categorie_ente_by_id_tipologia,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_ente_by_id_tipologia: {\r\n ...state.get_categorie_ente_by_id_tipologia,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_ente_by_id_tipologia: action.categorie,\r\n id_tipologia: action.idTipologia\r\n }\r\n }),\r\n [RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_ente_by_id_tipologia: {\r\n ...state.get_categorie_ente_by_id_tipologia,\r\n resetting: true,\r\n }\r\n }),\r\n [RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_ente_by_id_tipologia: {\r\n isLoading: false,\r\n pristine: true,\r\n resetting: false\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS = 'GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS';\r\nexport const GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING = 'GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING';\r\nexport const GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_ERROR = 'GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_ERROR';\r\nexport const RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS = 'RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS';\r\nexport const RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING = 'RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING';\r\n\r\nexport const getCategorieEnteByIdTipologiaSuccess = (categorie, idTipologia) => {\r\n return {\r\n type: GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS,\r\n categorie,\r\n idTipologia\r\n };\r\n};\r\n\r\nexport const getCategorieEnteByIdTipologiaIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieEnteByIdTipologiaError = error => {\r\n return {\r\n type: GET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_ERROR,\r\n error\r\n };\r\n};\r\n\r\nexport const resetCategorieEnteByIdTipologiaIsLoading = () => {\r\n return {\r\n type: RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const resetCategorieEnteByIdTipologiaSuccess = () => {\r\n return {\r\n type: RESET_CATEGORIE_ENTE_BY_ID_TIPOLOGIA_SUCCESS,\r\n };\r\n};","import {\r\n GET_TIPOLOGIE_ENTE_ALL_SUCCESS,\r\n GET_TIPOLOGIE_ENTE_ALL_IS_LOADING,\r\n GET_TIPOLOGIE_ENTE_ALL_ERROR\r\n} from \"../../../actions/area-riservata/enti-actions/get-tipologie-ente-all-actions\";\r\n\r\nexport const initialState = {\r\n get_tipologie_ente_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_TIPOLOGIE_ENTE_ALL_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_tipologie_ente_all: {\r\n ...state.get_tipologie_ente_all,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_TIPOLOGIE_ENTE_ALL_ERROR]: (state, action) => ({\r\n ...state,\r\n get_tipologie_ente_all: {\r\n ...state.get_tipologie_ente_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_TIPOLOGIE_ENTE_ALL_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_tipologie_ente_all: {\r\n ...state.get_tipologie_ente_all,\r\n isLoading: false,\r\n pristine: false,\r\n tipologie_ente_all: action.payload,\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_TIPOLOGIE_ENTE_ALL_SUCCESS = 'GET_TIPOLOGIE_ENTE_ALL_SUCCESS';\r\nexport const GET_TIPOLOGIE_ENTE_ALL_IS_LOADING = 'GET_TIPOLOGIE_ENTE_ALL_IS_LOADING';\r\nexport const GET_TIPOLOGIE_ENTE_ALL_ERROR = 'GET_TIPOLOGIE_ENTE_ALL_ERROR';\r\n\r\nexport const getTipologieEnteAllSuccess = payload => {\r\n return {\r\n type: GET_TIPOLOGIE_ENTE_ALL_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getTipologieEnteAllIsLoading = () => {\r\n return {\r\n type: GET_TIPOLOGIE_ENTE_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getTipologieEnteAllError = error => {\r\n return {\r\n type: GET_TIPOLOGIE_ENTE_ALL_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_SUCCESS,\r\n GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_IS_LOADING,\r\n GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_ERROR\r\n} from \"../../../actions/area-riservata/enti-actions/get-categorie-specifiche-ente-by-id-categoria-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_specifiche_ente_by_id_categoria: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_ente_by_id_categoria: {\r\n ...state.get_categorie_specifiche_ente_by_id_categoria,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_ente_by_id_categoria: {\r\n ...state.get_categorie_specifiche_ente_by_id_categoria,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_ente_by_id_categoria: {\r\n ...state.get_categorie_specifiche_ente_by_id_categoria,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_specifiche_ente_by_id_categoria: action.payload,\r\n }\r\n })\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_SUCCESS = 'GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_SUCCESS';\r\nexport const GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_IS_LOADING = 'GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_IS_LOADING';\r\nexport const GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_ERROR = 'GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_ERROR';\r\n\r\nexport const getCategorieSpecificheEnteByIdCategoriaSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheEnteByIdCategoriaIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheEnteByIdCategoriaError = error => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_ENTE_BY_ID_CATEGORIA_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\nimport getCategorieEnteByIdTipologiaReducer from \"./getCategorieEnteByIdTipologiaReducer\";\r\nimport getTipologieEnteAllReducer from \"./getTipologieEnteAllReducer\";\r\nimport getCategorieSpecificheEnteByIdCategoriaReducer from \"./getCategorieSpecificheEnteByIdCategoriaReducer\";\r\n\r\nexport default createReducer([\r\n getCategorieEnteByIdTipologiaReducer,\r\n getCategorieSpecificheEnteByIdCategoriaReducer,\r\n getTipologieEnteAllReducer,\r\n]);","export const GET_NORMATIVE_ALL_SUCCESS = 'GET_NORMATIVE_ALL_SUCCESS';\r\nexport const GET_NORMATIVE_ALL_IS_LOADING = 'GET_NORMATIVE_ALL_IS_LOADING';\r\nexport const GET_NORMATIVE_ALL_ERROR = 'GET_NORMATIVE_ALL_ERROR';\r\n\r\nexport const getNormativeAllSuccess = payload => {\r\n return {\r\n type: GET_NORMATIVE_ALL_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getNormativeAllIsLoading = () => {\r\n return {\r\n type: GET_NORMATIVE_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getNormativeAllError = error => {\r\n return {\r\n type: GET_NORMATIVE_ALL_IS_LOADING,\r\n error\r\n };\r\n};","import { GET_NORMATIVE_ALL_SUCCESS, GET_NORMATIVE_ALL_IS_LOADING, GET_NORMATIVE_ALL_ERROR } from \"../../../actions/area-riservata/normative-actions/get-normative-all-actions\";\r\n\r\nexport const initialState = {\r\n get_normative_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_NORMATIVE_ALL_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_normative_all: {\r\n ...state.get_normative_all,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_NORMATIVE_ALL_ERROR]: (state, action) => ({\r\n ...state,\r\n get_normative_all: {\r\n ...state.get_normative_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_NORMATIVE_ALL_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_normative_all: {\r\n ...state.get_normative_all,\r\n isLoading: false,\r\n pristine: false,\r\n normative: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","import {\r\n DELETE_NORMATIVA_BY_ID_IS_DELETING,\r\n DELETE_NORMATIVA_BY_ID_ERROR,\r\n DELETE_NORMATIVA_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/normative-actions/delete-normativa-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [DELETE_NORMATIVA_BY_ID_IS_DELETING]: (state, action) => ({\r\n ...state,\r\n delete_normativa_by_id: {\r\n isDeleting: action.deleting,\r\n }\r\n }),\r\n [DELETE_NORMATIVA_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n delete_normativa_by_id: {\r\n isDeleting: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [DELETE_NORMATIVA_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n delete_normativa_by_id: {\r\n isDeleting: undefined,\r\n deleted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const DELETE_NORMATIVA_BY_ID_SUCCESS = 'DELETE_NORMATIVA_BY_ID_SUCCESS';\r\nexport const DELETE_NORMATIVA_BY_ID_IS_DELETING = 'DELETE_NORMATIVA_BY_ID_IS_DELETING';\r\nexport const DELETE_NORMATIVA_BY_ID_ERROR = 'DELETE_NORMATIVA_BY_ID_ERROR';\r\n\r\nexport const deleteNormativeByIdSuccess = payload => {\r\n return {\r\n type: DELETE_NORMATIVA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const deleteNormativeByIdIsLoading = deleting => {\r\n return {\r\n type: DELETE_NORMATIVA_BY_ID_IS_DELETING,\r\n deleting\r\n };\r\n};\r\n\r\nexport const deleteNormativeByIdError = error => {\r\n return {\r\n type: DELETE_NORMATIVA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n UPDATE_NORMATIVA_BY_ID_IS_LOADING,\r\n UPDATE_NORMATIVA_BY_ID_ERROR,\r\n UPDATE_NORMATIVA_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/normative-actions/update-normativa-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [UPDATE_NORMATIVA_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_normativa_by_id: {\r\n isLoading: action.deleting,\r\n }\r\n }),\r\n [UPDATE_NORMATIVA_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n update_normativa_by_id: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [UPDATE_NORMATIVA_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_normativa_by_id: {\r\n isLoading: false,\r\n updated: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_NORMATIVA_BY_ID_SUCCESS = 'UPDATE_NORMATIVA_BY_ID_SUCCESS';\r\nexport const UPDATE_NORMATIVA_BY_ID_IS_LOADING = 'UPDATE_NORMATIVA_BY_ID_IS_LOADING';\r\nexport const UPDATE_NORMATIVA_BY_ID_ERROR = 'UPDATE_NORMATIVA_BY_ID_ERROR';\r\n\r\nexport const updateNormativaByIdSuccess = payload => {\r\n return {\r\n type: UPDATE_NORMATIVA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateNormativaByIdIsLoading = updating => {\r\n return {\r\n type: UPDATE_NORMATIVA_BY_ID_IS_LOADING,\r\n updating\r\n };\r\n};\r\n\r\nexport const updateNormativaByIdError = error => {\r\n return {\r\n type: UPDATE_NORMATIVA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n INSERT_NORMATIVA_IS_LOADING,\r\n INSERT_NORMATIVA_ERROR,\r\n INSERT_NORMATIVA_SUCCESS\r\n} from \"../../../actions/area-riservata/normative-actions/insert-normativa-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [INSERT_NORMATIVA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_normativa: {\r\n isLoading: action.deleting,\r\n }\r\n }),\r\n [INSERT_NORMATIVA_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_normativa: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [INSERT_NORMATIVA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_normativa: {\r\n isLoading: false,\r\n inserted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_NORMATIVA_SUCCESS = 'INSERT_NORMATIVA_SUCCESS';\r\nexport const INSERT_NORMATIVA_IS_LOADING = 'INSERT_NORMATIVA_IS_LOADING';\r\nexport const INSERT_NORMATIVA_ERROR = 'INSERT_NORMATIVA_ERROR';\r\n\r\nexport const insertNormativaSuccess = payload => {\r\n return {\r\n type: INSERT_NORMATIVA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertNormativaIsLoading = loading => {\r\n return {\r\n type: INSERT_NORMATIVA_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const insertNormativaError = error => {\r\n return {\r\n type: INSERT_NORMATIVA_ERROR,\r\n error\r\n };\r\n};","import { GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS, GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING, GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_ERROR, RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING, RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS } from \"../../../actions/area-riservata/normative-actions/get-normative-by-id-tipologia-ente-actions\";\r\n\r\nexport const initialState = {\r\n get_normative_by_id_tipologia_ente: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_normative_by_id_tipologia_ente: {\r\n ...state.get_normative_by_id_tipologia_ente,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_ERROR]: (state, action) => ({\r\n ...state,\r\n get_normative_by_id_tipologia_ente: {\r\n ...state.get_normative_by_id_tipologia_ente,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_normative_by_id_tipologia_ente: {\r\n ...state.get_normative_by_id_tipologia_ente,\r\n isLoading: false,\r\n pristine: false,\r\n reset: false,\r\n normative: action.payload,\r\n }\r\n }),\r\n [RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_normative_by_id_tipologia_ente: {\r\n ...state.reset_normative_by_id_tipologia_ente,\r\n resetting: true,\r\n }\r\n }),\r\n [RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_normative_by_id_tipologia_ente: {\r\n isLoading: false,\r\n pristine: true,\r\n resetting: false,\r\n reset: true,\r\n }\r\n }),\r\n};\r\nexport default { initialState, handlers };","export const GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS = 'GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS';\r\nexport const GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING = 'GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING';\r\nexport const GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_ERROR = 'GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_ERROR';\r\nexport const RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS = 'RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS';\r\nexport const RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING = 'RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING';\r\n\r\nexport const getNormativeByIdTipologiaEnteSuccess = payload => {\r\n return {\r\n type: GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getNormativeByIdTipologiaEnteIsLoading = () => {\r\n return {\r\n type: GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getNormativeByIdTipologiaEnteError = error => {\r\n return {\r\n type: GET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_ERROR,\r\n error\r\n };\r\n};\r\n\r\nexport const resetNormativeByIdTipologiaEnteSuccess = () => {\r\n return {\r\n type: RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_SUCCESS,\r\n };\r\n};\r\n\r\nexport const resetNormativeByIdTipologiaEnteIsLoading = () => {\r\n return {\r\n type: RESET_NORMATIVE_BY_ID_TIPOLOGIA_ENTE_IS_LOADING,\r\n };\r\n};","import { GET_NORMATIVE_BY_CLASSE_ENTE_SUCCESS, GET_NORMATIVE_BY_CLASSE_ENTE_IS_LOADING, GET_NORMATIVE_BY_CLASSE_ENTE_ERROR } from \"../../../actions/area-riservata/normative-actions/get-normative-by-classe-ente-actions\";\r\n\r\nexport const initialState = {\r\n get_normative_by_classe_ente: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_NORMATIVE_BY_CLASSE_ENTE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_normative_by_classe_ente: {\r\n ...state.get_normative_by_classe_ente,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_NORMATIVE_BY_CLASSE_ENTE_ERROR]: (state, action) => ({\r\n ...state,\r\n get_normative_by_classe_ente: {\r\n ...state.get_normative_by_classe_ente,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_NORMATIVE_BY_CLASSE_ENTE_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_normative_by_classe_ente: {\r\n ...state.get_normative_by_classe_ente,\r\n isLoading: false,\r\n pristine: false,\r\n normative: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_NORMATIVE_BY_CLASSE_ENTE_SUCCESS = 'GET_NORMATIVE_BY_CLASSE_ENTE_SUCCESS';\r\nexport const GET_NORMATIVE_BY_CLASSE_ENTE_IS_LOADING = 'GET_NORMATIVE_BY_CLASSE_ENTE_IS_LOADING';\r\nexport const GET_NORMATIVE_BY_CLASSE_ENTE_ERROR = 'GET_NORMATIVE_BY_CLASSE_ENTE_ERROR';\r\n\r\nexport const getNormativeByClasseEnteSuccess = payload => {\r\n return {\r\n type: GET_NORMATIVE_BY_CLASSE_ENTE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getNormativeByClasseEnteIsLoading = () => {\r\n return {\r\n type: GET_NORMATIVE_BY_CLASSE_ENTE_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getNormativeByClasseEnteError = error => {\r\n return {\r\n type: GET_NORMATIVE_BY_CLASSE_ENTE_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\n\r\nimport normative_all_reducer from \"./get-normative-all-reducers\";\r\nimport delete_normativa_by_id from \"./delete-normativa-by-id-reducers\";\r\nimport update_normativa_by_id from \"./update-normativa-by-id-reducers\";\r\nimport insert_normativa from \"./insert-normativa-reducers\";\r\nimport normativeByIdTipologiaEnteReducers from \"./get-normative-by-id-tipologia-ente-reducers\";\r\nimport normativeByClasseEnteReducers from \"./get-normative-by-classe-ente-reducers\";\r\n\r\nexport default createReducer([\r\n normative_all_reducer, \r\n normativeByIdTipologiaEnteReducers,\r\n normativeByClasseEnteReducers,\r\n insert_normativa,\r\n update_normativa_by_id,\r\n delete_normativa_by_id, \r\n]);","import { GET_CASI_USO_ALL_SUCCESS, GET_CASI_USO_ALL_IS_LOADING, GET_CASI_USO_ALL_ERROR } from \"../../../actions/area-riservata/casi-uso-actions/get-casi-uso-all-actions\";\r\n\r\nexport const initialState = {\r\n get_casi_uso_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CASI_USO_ALL_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_all: {\r\n ...state.get_casi_uso_all,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CASI_USO_ALL_ERROR]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_all: {\r\n ...state.get_casi_uso_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CASI_USO_ALL_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_casi_uso_all: {\r\n ...state.get_casi_uso_all,\r\n isLoading: false,\r\n pristine: false,\r\n casi_uso: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CASI_USO_ALL_SUCCESS = 'GET_CASI_USO_ALL_SUCCESS';\r\nexport const GET_CASI_USO_ALL_IS_LOADING = 'GET_CASI_USO_ALL_IS_LOADING';\r\nexport const GET_CASI_USO_ALL_ERROR = 'GET_CASI_USO_ALL_ERROR';\r\n\r\nexport const getCasiUsoAllSuccess = (payload) => {\r\n return {\r\n type: GET_CASI_USO_ALL_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCasiUsoAllIsLoading = () => {\r\n return {\r\n type: GET_CASI_USO_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCasiUsoAllError = error => {\r\n return {\r\n type: GET_CASI_USO_ALL_IS_LOADING,\r\n error\r\n };\r\n};","export const GET_CASO_USO_FORM_FIELDS_SUCCESS = 'GET_CASO_USO_FORM_FIELDS_SUCCESS';\r\nexport const GET_CASO_USO_FORM_FIELDS_IS_LOADING = 'GET_CASO_USO_FORM_FIELDS_IS_LOADING';\r\nexport const GET_CASO_USO_FORM_FIELDS_ERROR = 'GET_CASO_USO_FORM_FIELDS_ERROR';\r\n\r\nexport const getCasoUsoFormFieldsSuccess = (payload) => {\r\n return {\r\n type: GET_CASO_USO_FORM_FIELDS_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCasoUsoFormFieldsIsLoading = () => {\r\n return {\r\n type: GET_CASO_USO_FORM_FIELDS_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCasoUsoFormFieldsError = error => {\r\n return {\r\n type: GET_CASO_USO_FORM_FIELDS_IS_LOADING,\r\n error\r\n };\r\n};","import { GET_CASO_USO_FORM_FIELDS_SUCCESS, GET_CASO_USO_FORM_FIELDS_IS_LOADING, GET_CASO_USO_FORM_FIELDS_ERROR } from \"../../../actions/area-riservata/casi-uso-actions/get-caso-uso-form-fields-actions\";\r\n\r\nexport const initialState = {\r\n get_caso_uso_form_fields: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CASO_USO_FORM_FIELDS_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_caso_uso_form_fields: {\r\n ...state.get_caso_uso_form_fields,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CASO_USO_FORM_FIELDS_ERROR]: (state, action) => ({\r\n ...state,\r\n get_caso_uso_form_fields: {\r\n ...state.get_caso_uso_form_fields,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CASO_USO_FORM_FIELDS_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_caso_uso_form_fields: {\r\n ...state.get_caso_uso_form_fields,\r\n isLoading: false,\r\n pristine: false,\r\n caso_uso_form_fields: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","import {\r\n INSERT_CASO_USO_IS_LOADING,\r\n INSERT_CASO_USO_ERROR,\r\n INSERT_CASO_USO_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/insert-caso-uso-actions\";\r\n\r\nexport const handlers = {\r\n [INSERT_CASO_USO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_caso_uso: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_CASO_USO_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_caso_uso: {\r\n isLoading: undefined,\r\n insert: action.error\r\n }\r\n }),\r\n [INSERT_CASO_USO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_caso_uso: {\r\n isLoading: false,\r\n insert: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_CASO_USO_SUCCESS = 'INSERT_CASO_USO_SUCCESS';\r\nexport const INSERT_CASO_USO_IS_LOADING = 'INSERT_CASO_USO_IS_LOADING';\r\nexport const INSERT_CASO_USO_ERROR = 'INSERT_CASO_USO_ERROR';\r\n\r\nexport const insertCasoUsoSuccess = payload => {\r\n return {\r\n type: INSERT_CASO_USO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertCasoUsoIsLoading = loading => {\r\n return {\r\n type: INSERT_CASO_USO_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const insertCasoUsoError = error => {\r\n return {\r\n type: INSERT_CASO_USO_ERROR,\r\n error\r\n };\r\n};","import {\r\n CANCEL_CASO_USO_BY_ID_IS_LOADING,\r\n CANCEL_CASO_USO_BY_ID_ERROR,\r\n CANCEL_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/cancel-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [CANCEL_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n cancel_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [CANCEL_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n cancel_caso_uso_by_id: {\r\n isLoading: undefined,\r\n cancel: action.error\r\n }\r\n }),\r\n [CANCEL_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n cancel_caso_uso_by_id: {\r\n isLoading: false,\r\n cancel: action.payload,\r\n },\r\n insert_caso_uso: {\r\n isLoading: false,\r\n },\r\n update_caso_uso_by_id: {\r\n isLoading: false,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const CANCEL_CASO_USO_BY_ID_SUCCESS = 'CANCEL_CASO_USO_BY_ID_SUCCESS';\r\nexport const CANCEL_CASO_USO_BY_ID_IS_LOADING = 'CANCEL_CASO_USO_BY_ID_IS_LOADING';\r\nexport const CANCEL_CASO_USO_BY_ID_ERROR = 'CANCEL_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const cancelCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: CANCEL_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const cancelCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: CANCEL_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const cancelCasoUsoByIdError = error => {\r\n return {\r\n type: CANCEL_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n UPDATE_CASO_USO_BY_ID_IS_LOADING,\r\n UPDATE_CASO_USO_BY_ID_ERROR,\r\n UPDATE_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/update-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [UPDATE_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [UPDATE_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n update_caso_uso_by_id: {\r\n isLoading: undefined,\r\n update: action.error\r\n }\r\n }),\r\n [UPDATE_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_caso_uso_by_id: {\r\n isLoading: false,\r\n update: action.payload,\r\n },\r\n insert_caso_uso: {\r\n isLoading: false,\r\n },\r\n cancel_caso_uso_by_id: {\r\n isLoading: false,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_CASO_USO_BY_ID_SUCCESS = 'UPDATE_CASO_USO_BY_ID_SUCCESS';\r\nexport const UPDATE_CASO_USO_BY_ID_IS_LOADING = 'UPDATE_CASO_USO_BY_ID_IS_LOADING';\r\nexport const UPDATE_CASO_USO_BY_ID_ERROR = 'UPDATE_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const updateCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: UPDATE_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: UPDATE_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const updateCasoUsoByIdError = error => {\r\n return {\r\n type: UPDATE_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n APPROVE_CASO_USO_BY_ID_IS_LOADING,\r\n APPROVE_CASO_USO_BY_ID_ERROR,\r\n APPROVE_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/approve-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [APPROVE_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n approve_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [APPROVE_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n approve_caso_uso_by_id: {\r\n isLoading: undefined,\r\n approve: action.error\r\n }\r\n }),\r\n [APPROVE_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n approve_caso_uso_by_id: {\r\n isLoading: false,\r\n approve: action.payload,\r\n },\r\n insert_caso_uso: {\r\n isLoading: false,\r\n },\r\n cancel_caso_uso_by_id: {\r\n isLoading: false,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const APPROVE_CASO_USO_BY_ID_SUCCESS = 'APPROVE_CASO_USO_BY_ID_SUCCESS';\r\nexport const APPROVE_CASO_USO_BY_ID_IS_LOADING = 'APPROVE_CASO_USO_BY_ID_IS_LOADING';\r\nexport const APPROVE_CASO_USO_BY_ID_ERROR = 'APPROVE_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const approveCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: APPROVE_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const approveCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: APPROVE_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const approveCasoUsoByIdError = error => {\r\n return {\r\n type: APPROVE_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n DISABLE_CASO_USO_BY_ID_IS_LOADING,\r\n DISABLE_CASO_USO_BY_ID_ERROR,\r\n DISABLE_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/disable-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [DISABLE_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n disable_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [DISABLE_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n disable_caso_uso_by_id: {\r\n isLoading: undefined,\r\n disable: action.error\r\n }\r\n }),\r\n [DISABLE_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n disable_caso_uso_by_id: {\r\n isLoading: false,\r\n disable: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const DISABLE_CASO_USO_BY_ID_SUCCESS = 'DISABLE_CASO_USO_BY_ID_SUCCESS';\r\nexport const DISABLE_CASO_USO_BY_ID_IS_LOADING = 'DISABLE_CASO_USO_BY_ID_IS_LOADING';\r\nexport const DISABLE_CASO_USO_BY_ID_ERROR = 'DISABLE_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const disableCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: DISABLE_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const disableCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: DISABLE_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const disableCasoUsoByIdError = error => {\r\n return {\r\n type: DISABLE_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n ENABLE_CASO_USO_BY_ID_IS_LOADING,\r\n ENABLE_CASO_USO_BY_ID_ERROR,\r\n ENABLE_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/enable-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [ENABLE_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n enable_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [ENABLE_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n enable_caso_uso_by_id: {\r\n isLoading: undefined,\r\n enable: action.error\r\n }\r\n }),\r\n [ENABLE_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n enable_caso_uso_by_id: {\r\n isLoading: false,\r\n enable: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const ENABLE_CASO_USO_BY_ID_SUCCESS = 'ENABLE_CASO_USO_BY_ID_SUCCESS';\r\nexport const ENABLE_CASO_USO_BY_ID_IS_LOADING = 'ENABLE_CASO_USO_BY_ID_IS_LOADING';\r\nexport const ENABLE_CASO_USO_BY_ID_ERROR = 'ENABLE_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const enableCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: ENABLE_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const enableCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: ENABLE_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const enableCasoUsoByIdError = error => {\r\n return {\r\n type: ENABLE_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n REJECT_CASO_USO_BY_ID_IS_LOADING,\r\n REJECT_CASO_USO_BY_ID_ERROR,\r\n REJECT_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/reject-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [REJECT_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n reject_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [REJECT_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n reject_caso_uso_by_id: {\r\n isLoading: undefined,\r\n reject: action.error\r\n }\r\n }),\r\n [REJECT_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n reject_caso_uso_by_id: {\r\n isLoading: false,\r\n reject: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const REJECT_CASO_USO_BY_ID_SUCCESS = 'REJECT_CASO_USO_BY_ID_SUCCESS';\r\nexport const REJECT_CASO_USO_BY_ID_IS_LOADING = 'REJECT_CASO_USO_BY_ID_IS_LOADING';\r\nexport const REJECT_CASO_USO_BY_ID_ERROR = 'REJECT_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const rejectCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: REJECT_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const rejectCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: REJECT_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const rejectCasoUsoByIdError = error => {\r\n return {\r\n type: REJECT_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n PROPOSE_CASO_USO_BY_ID_IS_LOADING,\r\n PROPOSE_CASO_USO_BY_ID_ERROR,\r\n PROPOSE_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/propose-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [PROPOSE_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n propose_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [PROPOSE_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n propose_caso_uso_by_id: {\r\n isLoading: undefined,\r\n propose: action.error\r\n }\r\n }),\r\n [PROPOSE_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n propose_caso_uso_by_id: {\r\n isLoading: false,\r\n propose: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const PROPOSE_CASO_USO_BY_ID_SUCCESS = 'PROPOSE_CASO_USO_BY_ID_SUCCESS';\r\nexport const PROPOSE_CASO_USO_BY_ID_IS_LOADING = 'PROPOSE_CASO_USO_BY_ID_IS_LOADING';\r\nexport const PROPOSE_CASO_USO_BY_ID_ERROR = 'PROPOSE_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const proposeCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: PROPOSE_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const proposeCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: PROPOSE_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const proposeCasoUsoByIdError = error => {\r\n return {\r\n type: PROPOSE_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n EXTEND_CASO_USO_BY_ID_IS_LOADING,\r\n EXTEND_CASO_USO_BY_ID_ERROR,\r\n EXTEND_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/extend-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [EXTEND_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n extend_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [EXTEND_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n extend_caso_uso_by_id: {\r\n isLoading: undefined,\r\n extend: action.error\r\n }\r\n }),\r\n [EXTEND_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n extend_caso_uso_by_id: {\r\n isLoading: false,\r\n extend: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const EXTEND_CASO_USO_BY_ID_SUCCESS = 'EXTEND_CASO_USO_BY_ID_SUCCESS';\r\nexport const EXTEND_CASO_USO_BY_ID_IS_LOADING = 'EXTEND_CASO_USO_BY_ID_IS_LOADING';\r\nexport const EXTEND_CASO_USO_BY_ID_ERROR = 'EXTEND_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const extendCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: EXTEND_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const extendCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: EXTEND_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const extendCasoUsoByIdError = error => {\r\n return {\r\n type: EXTEND_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n ACTIVATE_CASO_USO_BY_ID_IS_LOADING,\r\n ACTIVATE_CASO_USO_BY_ID_ERROR,\r\n ACTIVATE_CASO_USO_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/activate-caso-uso-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [ACTIVATE_CASO_USO_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n activate_caso_uso_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [ACTIVATE_CASO_USO_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n activate_caso_uso_by_id: {\r\n isLoading: undefined,\r\n activate: action.error\r\n }\r\n }),\r\n [ACTIVATE_CASO_USO_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n activate_caso_uso_by_id: {\r\n isLoading: false,\r\n activate: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const ACTIVATE_CASO_USO_BY_ID_SUCCESS = 'ACTIVATE_CASO_USO_BY_ID_SUCCESS';\r\nexport const ACTIVATE_CASO_USO_BY_ID_IS_LOADING = 'ACTIVATE_CASO_USO_BY_ID_IS_LOADING';\r\nexport const ACTIVATE_CASO_USO_BY_ID_ERROR = 'ACTIVATE_CASO_USO_BY_ID_ERROR';\r\n\r\nexport const activateCasoUsoByIdSuccess = payload => {\r\n return {\r\n type: ACTIVATE_CASO_USO_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const activateCasoUsoByIdIsLoading = loading => {\r\n return {\r\n type: ACTIVATE_CASO_USO_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const activateCasoUsoByIdError = error => {\r\n return {\r\n type: ACTIVATE_CASO_USO_BY_ID_ERROR,\r\n error\r\n };\r\n};","import { GET_ACTIVE_CLUSTERS_SUCCESS, GET_ACTIVE_CLUSTERS_IS_LOADING, GET_ACTIVE_CLUSTERS_ERROR } from \"../../../actions/area-riservata/casi-uso-actions/get-active-clusters-actions\";\r\n\r\nexport const initialState = {\r\n get_active_clusters: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_ACTIVE_CLUSTERS_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_active_clusters: {\r\n ...state.get_active_clusters,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_ACTIVE_CLUSTERS_ERROR]: (state, action) => ({\r\n ...state,\r\n get_active_clusters: {\r\n ...state.get_active_clusters,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_ACTIVE_CLUSTERS_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_active_clusters: {\r\n ...state.get_active_clusters,\r\n isLoading: false,\r\n pristine: false,\r\n active_clusters: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_ACTIVE_CLUSTERS_SUCCESS = 'GET_ACTIVE_CLUSTERS_SUCCESS';\r\nexport const GET_ACTIVE_CLUSTERS_IS_LOADING = 'GET_ACTIVE_CLUSTERS_IS_LOADING';\r\nexport const GET_ACTIVE_CLUSTERS_ERROR = 'GET_ACTIVE_CLUSTERS_ERROR';\r\n\r\nexport const getActiveClustersSuccess = (payload) => {\r\n return {\r\n type: GET_ACTIVE_CLUSTERS_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getActiveClustersIsLoading = () => {\r\n return {\r\n type: GET_ACTIVE_CLUSTERS_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getActiveClustersError = error => {\r\n return {\r\n type: GET_ACTIVE_CLUSTERS_IS_LOADING,\r\n error\r\n };\r\n};","export const SET_CASI_USO_CHANGES_SUCCESS = 'SET_CASI_USO_CHANGES_SUCCESS';\r\nexport const SET_CASI_USO_CHANGES_IS_LOADING = 'SET_CASI_USO_CHANGES_IS_LOADING';\r\nexport const SET_CASI_USO_CHANGES_ERROR = 'SET_CASI_USO_CHANGES_ERROR';\r\n\r\nexport const setCasiUsoChangesSuccess = payload => {\r\n return {\r\n type: SET_CASI_USO_CHANGES_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const setCasiUsoChangesIsLoading = loading => {\r\n return {\r\n type: SET_CASI_USO_CHANGES_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const setCasiUsoChangesError = error => {\r\n return {\r\n type: SET_CASI_USO_CHANGES_ERROR,\r\n error\r\n };\r\n};","import { GET_CASI_USO_BY_ID_ACCORDO_SUCCESS } from \"../../../actions/area-riservata/accordi-actions/get-casi-uso-by-id-accordo-actions\";\r\nimport {\r\n SET_CASI_USO_CHANGES_IS_LOADING,\r\n SET_CASI_USO_CHANGES_ERROR,\r\n SET_CASI_USO_CHANGES_SUCCESS\r\n} from \"../../../actions/area-riservata/casi-uso-actions/set-casi-uso-changes-actions\";\r\n\r\nexport const initialState = {\r\n set_casi_uso_changes: {\r\n isLoading: false\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [SET_CASI_USO_CHANGES_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n set_casi_uso_changes: {\r\n isLoading: true,\r\n }\r\n }),\r\n [SET_CASI_USO_CHANGES_ERROR]: (state, action) => ({\r\n ...state,\r\n set_casi_uso_changes: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [SET_CASI_USO_CHANGES_SUCCESS]: (state, action) => ({\r\n ...state,\r\n set_casi_uso_changes: {\r\n isLoading: false,\r\n casi_uso_changes: action.payload,\r\n },\r\n }),\r\n [GET_CASI_USO_BY_ID_ACCORDO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n set_casi_uso_changes: {\r\n isLoading: false,\r\n },\r\n })\r\n};\r\nexport default { initialState, handlers };","import { createReducer } from \"../../createReducer\";\r\n\r\nimport casi_uso_all_reducer from \"./get-casi-uso-all-reducers\";\r\nimport caso_uso_form_fields_reducer from \"./get-caso-uso-form-fields-reducers\";\r\nimport insertCasoUsoReducers from \"./insert-caso-uso-reducers\";\r\nimport cancelCasoUsoByIdReducers from \"./cancel-caso-uso-by-id-reducers\";\r\nimport updateCasoUsoByIdReducers from \"./update-caso-uso-by-id-reducers\";\r\nimport approveCasoUsoByIdReducers from \"./approve-caso-uso-by-id-reducers\";\r\nimport disableCasoUsoByIdReducers from \"./disable-caso-uso-by-id-reducers\";\r\nimport enableCasoUsoByIdReducers from \"./enable-caso-uso-by-id-reducers\";\r\nimport rejectCasoUsoByIdReducers from \"./reject-caso-uso-by-id-reducers\";\r\nimport proposeCasoUsoByIdReducers from \"./propose-caso-uso-by-id-reducers\";\r\nimport extendCasoUsoByIdReducers from \"./extend-caso-uso-by-id-reducers\";\r\nimport activateCasoUsoByIdReducers from \"./activate-caso-uso-by-id-reducers\";\r\nimport activeClustersReducers from \"./get-active-clusters-reducers\";\r\nimport setCasiUsoChangesReducers from \"./set-casi-uso-changes-reducers\";\r\n\r\nexport default createReducer([\r\n activateCasoUsoByIdReducers,\r\n activeClustersReducers,\r\n approveCasoUsoByIdReducers,\r\n cancelCasoUsoByIdReducers,\r\n casi_uso_all_reducer, \r\n caso_uso_form_fields_reducer,\r\n disableCasoUsoByIdReducers,\r\n enableCasoUsoByIdReducers,\r\n extendCasoUsoByIdReducers,\r\n insertCasoUsoReducers,\r\n proposeCasoUsoByIdReducers,\r\n rejectCasoUsoByIdReducers,\r\n setCasiUsoChangesReducers,\r\n updateCasoUsoByIdReducers\r\n]);","import {SET_SPINNER_DISABLED, SET_SPINNER_ENABLED} from \"../actions/common-actions/spinner-actions\";\r\n\r\nconst initialState = {\r\n enabled: false\r\n};\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case SET_SPINNER_ENABLED:\r\n return {\r\n ...state,\r\n enabled: true\r\n };\r\n case SET_SPINNER_DISABLED:\r\n return {\r\n ...state,\r\n enabled: false\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n MODALE_CONFERMA_CONFIG_SUCCESS\r\n} from \"../../../actions/area-riservata/utils-actions/modale-conferma-config-actions\";\r\n\r\nexport const handlers = {\r\n [MODALE_CONFERMA_CONFIG_SUCCESS]: (state, action) => ({\r\n ...state,\r\n modale_conferma_config: action.payload\r\n })\r\n};\r\nexport default { handlers };","import {\r\n APP_MESSAGES_CONFIG_SUCCESS, APP_MESSAGES_CONFIG_IS_LOADING, ADD_APP_MESSAGE, REMOVE_APP_MESSAGE, \r\n} from \"../../../actions/area-riservata/utils-actions/app-messages-config-actions\";\r\n\r\nexport const initialState = {\r\n app_messages_config: {\r\n name: '',\r\n type: '',\r\n action: '',\r\n error: undefined,\r\n isLoading: false\r\n },\r\n app_messages: []\r\n};\r\n\r\nexport const handlers = {\r\n [APP_MESSAGES_CONFIG_SUCCESS]: (state, action) => ({\r\n ...state,\r\n app_messages_config: {\r\n ...action.payload,\r\n isLoading: false\r\n }\r\n }),\r\n [APP_MESSAGES_CONFIG_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n app_messages_config: {\r\n ...state.app_messages_config,\r\n isLoading: true,\r\n }\r\n }),\r\n [ADD_APP_MESSAGE]: (state, action) => ({\r\n ...state,\r\n app_messages: [...state.app_messages.filter(item => item.id !== action.payload.id), action.payload]\r\n }),\r\n [REMOVE_APP_MESSAGE]: (state, action) => ({\r\n ...state,\r\n app_messages: state.app_messages.filter(item => item.id !== action.payload)\r\n })\r\n};\r\nexport default { initialState, handlers };","import { createReducer } from \"../../createReducer\";\r\nimport modaleConfermaConfigReducers from \"./modale-conferma-config-reducers\";\r\nimport appMessagesConfigReducers from \"./app-messages-config-reducers\";\r\n\r\nexport default createReducer([\r\n modaleConfermaConfigReducers,\r\n appMessagesConfigReducers\r\n]);","import {\r\n DELETE_IP_BY_ID_IS_DELETING,\r\n DELETE_IP_BY_ID_ERROR,\r\n DELETE_IP_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/ip-actions/delete-ip-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [DELETE_IP_BY_ID_IS_DELETING]: (state, action) => ({\r\n ...state,\r\n delete_ip_by_id: {\r\n isDeleting: action.deleting,\r\n }\r\n }),\r\n [DELETE_IP_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n delete_ip_by_id: {\r\n isDeleting: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [DELETE_IP_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n delete_ip_by_id: {\r\n isDeleting: undefined,\r\n deleted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const DELETE_IP_BY_ID_SUCCESS = 'DELETE_IP_BY_ID_SUCCESS';\r\nexport const DELETE_IP_BY_ID_IS_DELETING = 'DELETE_IP_BY_ID_IS_DELETING';\r\nexport const DELETE_IP_BY_ID_ERROR = 'DELETE_IP_BY_ID_ERROR';\r\n\r\nexport const deleteIpByIdSuccess = payload => {\r\n return {\r\n type: DELETE_IP_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const deleteIpByIdIsLoading = deleting => {\r\n return {\r\n type: DELETE_IP_BY_ID_IS_DELETING,\r\n deleting\r\n };\r\n};\r\n\r\nexport const deleteIpByIdError = error => {\r\n return {\r\n type: DELETE_IP_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_IP_BY_ID_ACCORDO_ATTIVO_SUCCESS,\r\n GET_IP_BY_ID_ACCORDO_ATTIVO_IS_LOADING,\r\n GET_IP_BY_ID_ACCORDO_ATTIVO_ERROR\r\n}\r\n from \"../../../actions/area-riservata/ip-actions/get-ip-by-id-accordo-attivo-actions\";\r\n\r\nexport const initialState = {\r\n get_ip_by_id_accordo_attivo: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_IP_BY_ID_ACCORDO_ATTIVO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_ip_by_id_accordo_attivo: {\r\n ...state.get_ip_by_id_accordo_attivo,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_IP_BY_ID_ACCORDO_ATTIVO_ERROR]: (state, action) => ({\r\n ...state,\r\n get_ip_by_id_accordo_attivo: {\r\n ...state.get_ip_by_id_accordo_attivo,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_IP_BY_ID_ACCORDO_ATTIVO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_ip_by_id_accordo_attivo: {\r\n ...state.get_ip_by_id_accordo_attivo,\r\n isLoading: false,\r\n pristine: false,\r\n lista_ip: action.payload,\r\n }\r\n }),\r\n};\r\nexport default { initialState, handlers };","export const GET_IP_BY_ID_ACCORDO_ATTIVO_SUCCESS = 'GET_IP_BY_ID_ACCORDO_ATTIVO_SUCCESS';\r\nexport const GET_IP_BY_ID_ACCORDO_ATTIVO_IS_LOADING = 'GET_IP_BY_ID_ACCORDO_ATTIVO_IS_LOADING';\r\nexport const GET_IP_BY_ID_ACCORDO_ATTIVO_ERROR = 'GET_IP_BY_ID_ACCORDO_ATTIVO_ERROR';\r\n\r\nexport const getIpByIdAccordoAttivoSuccess = (payload) => {\r\n return {\r\n type: GET_IP_BY_ID_ACCORDO_ATTIVO_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getIpByIdAccordoAttivoIsLoading = () => {\r\n return {\r\n type: GET_IP_BY_ID_ACCORDO_ATTIVO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getIpByIdAccordoAttivoError = error => {\r\n return {\r\n type: GET_IP_BY_ID_ACCORDO_ATTIVO_ERROR,\r\n error\r\n };\r\n};","import {\r\n INSERT_IP_IS_LOADING,\r\n INSERT_IP_ERROR,\r\n INSERT_IP_SUCCESS\r\n} from \"../../../actions/area-riservata/ip-actions/insert-ip-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [INSERT_IP_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_ip: {\r\n isLoading: action.deleting,\r\n }\r\n }),\r\n [INSERT_IP_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_ip: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [INSERT_IP_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_ip: {\r\n isLoading: false,\r\n inserted: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_IP_SUCCESS = 'INSERT_IP_SUCCESS';\r\nexport const INSERT_IP_IS_LOADING = 'INSERT_IP_IS_LOADING';\r\nexport const INSERT_IP_ERROR = 'INSERT_IP_ERROR';\r\n\r\nexport const insertIpSuccess = payload => {\r\n return {\r\n type: INSERT_IP_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertIpIsLoading = loading => {\r\n return {\r\n type: INSERT_IP_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const insertIpError = error => {\r\n return {\r\n type: INSERT_IP_ERROR,\r\n error\r\n };\r\n};","import {\r\n UPDATE_IP_BY_ID_IS_LOADING,\r\n UPDATE_IP_BY_ID_ERROR,\r\n UPDATE_IP_BY_ID_SUCCESS\r\n} from \"../../../actions/area-riservata/ip-actions/update-ip-by-id-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [UPDATE_IP_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_ip_by_id: {\r\n isLoading: action.deleting,\r\n }\r\n }),\r\n [UPDATE_IP_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n update_ip_by_id: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [UPDATE_IP_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_ip_by_id: {\r\n isLoading: false,\r\n updated: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_IP_BY_ID_SUCCESS = 'UPDATE_IP_BY_ID_SUCCESS';\r\nexport const UPDATE_IP_BY_ID_IS_LOADING = 'UPDATE_IP_BY_ID_IS_LOADING';\r\nexport const UPDATE_IP_BY_ID_ERROR = 'UPDATE_IP_BY_ID_ERROR';\r\n\r\nexport const updateIpByIdSuccess = payload => {\r\n return {\r\n type: UPDATE_IP_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateIpByIdIsLoading = updating => {\r\n return {\r\n type: UPDATE_IP_BY_ID_IS_LOADING,\r\n updating\r\n };\r\n};\r\n\r\nexport const updateIpByIdError = error => {\r\n return {\r\n type: UPDATE_IP_BY_ID_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\nimport delete_ip_by_id from \"./delete-ip-by-id-reducers\";\r\nimport getIpByIdAccordoAttivoReducers from \"./get-ip-by-id-accordo-attivo-reducers\";\r\nimport insert_ip from \"./insert-ip-reducers\";\r\nimport update_ip_by_id from \"./update-ip-by-id-reducers\";\r\n\r\nexport default createReducer([\r\n delete_ip_by_id,\r\n getIpByIdAccordoAttivoReducers,\r\n insert_ip,\r\n update_ip_by_id\r\n]);","import {\r\n GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_SUCCESS,\r\n GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_IS_LOADING,\r\n GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_ERROR,\r\n} from \"../../../actions/area-riservata/interfacce-actions/get-interfacce-by-id-accordo-attivo-actions\";\r\n\r\nexport const initialState = {\r\n get_interfacce_by_id_accordo_attivo: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_interfacce_by_id_accordo_attivo: {\r\n ...state.get_interfacce_by_id_accordo_attivo,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_ERROR]: (state, action) => ({\r\n ...state,\r\n get_interfacce_by_id_accordo_attivo: {\r\n ...state.get_interfacce_by_id_accordo_attivo,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_interfacce_by_id_accordo_attivo: {\r\n ...state.get_interfacce_by_id_accordo_attivo,\r\n isLoading: false,\r\n pristine: false,\r\n lista_interfacce: action.payload,\r\n }\r\n }),\r\n};\r\nexport default { initialState, handlers };","export const GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_SUCCESS = 'GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_SUCCESS';\r\nexport const GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_IS_LOADING = 'GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_IS_LOADING';\r\nexport const GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_ERROR = 'GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_ERROR';\r\n\r\nexport const getInterfacceByIdAccordoAttivoSuccess = (payload) => {\r\n return {\r\n type: GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getInterfacceByIdAccordoAttivoIsLoading = () => {\r\n return {\r\n type: GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getInterfacceByIdAccordoAttivoError = error => {\r\n return {\r\n type: GET_INTERFACCE_BY_ID_ACCORDO_ATTIVO_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\nimport getInterfacceByIdAccordoAttivoReducers from \"./get-interfacce-by-id-accordo-attivo-reducers\";\r\n\r\n\r\nexport default createReducer([\r\n getInterfacceByIdAccordoAttivoReducers,\r\n]);","import { GET_FILTRO_TIPOLOGIE_BY_UTENZA_ERROR, GET_FILTRO_TIPOLOGIE_BY_UTENZA_IS_LOADING, GET_FILTRO_TIPOLOGIE_BY_UTENZA_SUCCESS } from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-filtro-tipologie-by-utenza-actions\";\r\n\r\n\r\nexport const initialState = {\r\n get_filtro_tipologie_by_utenza: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_FILTRO_TIPOLOGIE_BY_UTENZA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_filtro_tipologie_by_utenza: {\r\n ...state.get_filtro_tipologie_by_utenza,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_FILTRO_TIPOLOGIE_BY_UTENZA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_filtro_tipologie_by_utenza: {\r\n ...state.get_filtro_tipologie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_FILTRO_TIPOLOGIE_BY_UTENZA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_filtro_tipologie_by_utenza: {\r\n ...state.get_filtro_tipologie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n filtro_tipologie_by_utenza: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_FILTRO_TIPOLOGIE_BY_UTENZA_SUCCESS = 'GET_FILTRO_TIPOLOGIE_BY_UTENZA_SUCCESS';\r\nexport const GET_FILTRO_TIPOLOGIE_BY_UTENZA_IS_LOADING = 'GET_FILTRO_TIPOLOGIE_BY_UTENZA_IS_LOADING';\r\nexport const GET_FILTRO_TIPOLOGIE_BY_UTENZA_ERROR = 'GET_FILTRO_TIPOLOGIE_BY_UTENZA_ERROR';\r\n\r\nexport const getFiltroTipologieByUtenzaSuccess = (payload) => {\r\n return {\r\n type: GET_FILTRO_TIPOLOGIE_BY_UTENZA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getFiltroTipologieByUtenzaIsLoading = () => {\r\n return {\r\n type: GET_FILTRO_TIPOLOGIE_BY_UTENZA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getFiltroTipologieByUtenzaError = error => {\r\n return {\r\n type: GET_FILTRO_TIPOLOGIE_BY_UTENZA_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n INSERT_TIPOLOGIA_CATEGORIA_IS_LOADING,\r\n INSERT_TIPOLOGIA_CATEGORIA_ERROR,\r\n INSERT_TIPOLOGIA_CATEGORIA_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/insert-tipologia-categoria-actions\";\r\n\r\nexport const handlers = {\r\n [INSERT_TIPOLOGIA_CATEGORIA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_tipologia_categoria: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_TIPOLOGIA_CATEGORIA_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_tipologia_categoria: {\r\n isLoading: undefined,\r\n insert: action.error\r\n }\r\n }),\r\n [INSERT_TIPOLOGIA_CATEGORIA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_tipologia_categoria: {\r\n isLoading: false,\r\n insert: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_TIPOLOGIA_CATEGORIA_SUCCESS = 'INSERT_TIPOLOGIA_CATEGORIA_SUCCESS';\r\nexport const INSERT_TIPOLOGIA_CATEGORIA_IS_LOADING = 'INSERT_TIPOLOGIA_CATEGORIA_IS_LOADING';\r\nexport const INSERT_TIPOLOGIA_CATEGORIA_ERROR = 'INSERT_TIPOLOGIA_CATEGORIA_ERROR';\r\n\r\nexport const insertTipologiaCategoriaSuccess = payload => {\r\n return {\r\n type: INSERT_TIPOLOGIA_CATEGORIA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertTipologiaCategoriaIsLoading = loading => {\r\n return {\r\n type: INSERT_TIPOLOGIA_CATEGORIA_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const insertTipologiaCategoriaError = error => {\r\n return {\r\n type: INSERT_TIPOLOGIA_CATEGORIA_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_TIPOLOGIE_ALL_SUCCESS, GET_TIPOLOGIE_ALL_IS_LOADING, GET_TIPOLOGIE_ALL_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-tipologie-all-actions\";\r\n\r\nexport const initialState = {\r\n get_tipologie_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_TIPOLOGIE_ALL_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_tipologie_all: {\r\n ...state.get_tipologie_all,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_TIPOLOGIE_ALL_ERROR]: (state, action) => ({\r\n ...state,\r\n get_tipologie_all: {\r\n ...state.get_tipologie_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_TIPOLOGIE_ALL_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_tipologie_all: {\r\n ...state.get_tipologie_all,\r\n isLoading: false,\r\n pristine: false,\r\n tipologie_all: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_TIPOLOGIE_ALL_SUCCESS = 'GET_TIPOLOGIE_ALL_SUCCESS';\r\nexport const GET_TIPOLOGIE_ALL_IS_LOADING = 'GET_TIPOLOGIE_ALL_IS_LOADING';\r\nexport const GET_TIPOLOGIE_ALL_ERROR = 'GET_TIPOLOGIE_ALL_ERROR';\r\n\r\nexport const getTipologieAllSuccess = (payload) => {\r\n return {\r\n type: GET_TIPOLOGIE_ALL_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getTipologieAllIsLoading = () => {\r\n return {\r\n type: GET_TIPOLOGIE_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getTipologieAllError = error => {\r\n return {\r\n type: GET_TIPOLOGIE_ALL_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_TIPOLOGIE_BY_UTENZA_SUCCESS, GET_TIPOLOGIE_BY_UTENZA_IS_LOADING, GET_TIPOLOGIE_BY_UTENZA_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-tipologie-by-utenza-actions\";\r\n\r\nexport const initialState = {\r\n get_tipologie_by_utenza: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_TIPOLOGIE_BY_UTENZA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_tipologie_by_utenza: {\r\n ...state.get_tipologie_by_utenza,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_TIPOLOGIE_BY_UTENZA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_tipologie_by_utenza: {\r\n ...state.get_tipologie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_TIPOLOGIE_BY_UTENZA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_tipologie_by_utenza: {\r\n ...state.get_tipologie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n tipologie_by_utenza: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_TIPOLOGIE_BY_UTENZA_SUCCESS = 'GET_TIPOLOGIE_BY_UTENZA_SUCCESS';\r\nexport const GET_TIPOLOGIE_BY_UTENZA_IS_LOADING = 'GET_TIPOLOGIE_BY_UTENZA_IS_LOADING';\r\nexport const GET_TIPOLOGIE_BY_UTENZA_ERROR = 'GET_TIPOLOGIE_BY_UTENZA_ERROR';\r\n\r\nexport const getTipologieByUtenzaSuccess = (payload) => {\r\n return {\r\n type: GET_TIPOLOGIE_BY_UTENZA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getTipologieByUtenzaIsLoading = () => {\r\n return {\r\n type: GET_TIPOLOGIE_BY_UTENZA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getTipologieByUtenzaError = error => {\r\n return {\r\n type: GET_TIPOLOGIE_BY_UTENZA_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_TIPOLOGIE_BY_STATI_SUCCESS, GET_TIPOLOGIE_BY_STATI_IS_LOADING, GET_TIPOLOGIE_BY_STATI_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/get-tipologie-by-stati-actions\";\r\n\r\nexport const initialState = {\r\n get_tipologie_by_stati: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_TIPOLOGIE_BY_STATI_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_tipologie_by_stati: {\r\n ...state.get_tipologie_by_stati,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_TIPOLOGIE_BY_STATI_ERROR]: (state, action) => ({\r\n ...state,\r\n get_tipologie_by_stati: {\r\n ...state.get_tipologie_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_TIPOLOGIE_BY_STATI_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_tipologie_by_stati: {\r\n ...state.get_tipologie_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n tipologie_by_stati: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_TIPOLOGIE_BY_STATI_SUCCESS = 'GET_TIPOLOGIE_BY_STATI_SUCCESS';\r\nexport const GET_TIPOLOGIE_BY_STATI_IS_LOADING = 'GET_TIPOLOGIE_BY_STATI_IS_LOADING';\r\nexport const GET_TIPOLOGIE_BY_STATI_ERROR = 'GET_TIPOLOGIE_BY_STATI_ERROR';\r\n\r\nexport const getTipologieByStatiSuccess = (payload) => {\r\n return {\r\n type: GET_TIPOLOGIE_BY_STATI_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getTipologieByStatiIsLoading = () => {\r\n return {\r\n type: GET_TIPOLOGIE_BY_STATI_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getTipologieByStatiError = error => {\r\n return {\r\n type: GET_TIPOLOGIE_BY_STATI_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n UPDATE_TIPOLOGIA_BY_ID_IS_LOADING,\r\n UPDATE_TIPOLOGIA_BY_ID_ERROR,\r\n UPDATE_TIPOLOGIA_BY_ID_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/update-tipologia-by-id-actions\";\r\n\r\nexport const handlers = {\r\n [UPDATE_TIPOLOGIA_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_tipologia_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [UPDATE_TIPOLOGIA_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n update_tipologia_by_id: {\r\n isLoading: undefined,\r\n update: action.error\r\n }\r\n }),\r\n [UPDATE_TIPOLOGIA_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_tipologia_by_id: {\r\n isLoading: false,\r\n update: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_TIPOLOGIA_BY_ID_SUCCESS = 'UPDATE_TIPOLOGIA_BY_ID_SUCCESS';\r\nexport const UPDATE_TIPOLOGIA_BY_ID_IS_LOADING = 'UPDATE_TIPOLOGIA_BY_ID_IS_LOADING';\r\nexport const UPDATE_TIPOLOGIA_BY_ID_ERROR = 'UPDATE_TIPOLOGIA_BY_ID_ERROR';\r\n\r\nexport const updateTipologiaByIdSuccess = payload => {\r\n return {\r\n type: UPDATE_TIPOLOGIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateTipologiaByIdIsLoading = loading => {\r\n return {\r\n type: UPDATE_TIPOLOGIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const updateTipologiaByIdError = error => {\r\n return {\r\n type: UPDATE_TIPOLOGIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n CANCEL_TIPOLOGIA_BY_ID_IS_LOADING,\r\n CANCEL_TIPOLOGIA_BY_ID_ERROR,\r\n CANCEL_TIPOLOGIA_BY_ID_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/tipologie-actions/cancel-tipologia-by-id-actions\";\r\n\r\nexport const handlers = {\r\n [CANCEL_TIPOLOGIA_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n cancel_tipologia_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [CANCEL_TIPOLOGIA_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n cancel_tipologia_by_id: {\r\n isLoading: undefined,\r\n cancel: action.error\r\n }\r\n }),\r\n [CANCEL_TIPOLOGIA_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n cancel_tipologia_by_id: {\r\n isLoading: false,\r\n cancel: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const CANCEL_TIPOLOGIA_BY_ID_SUCCESS = 'CANCEL_TIPOLOGIA_BY_ID_SUCCESS';\r\nexport const CANCEL_TIPOLOGIA_BY_ID_IS_LOADING = 'CANCEL_TIPOLOGIA_BY_ID_IS_LOADING';\r\nexport const CANCEL_TIPOLOGIA_BY_ID_ERROR = 'CANCEL_TIPOLOGIA_BY_ID_ERROR';\r\n\r\nexport const cancelTipologiaByIdSuccess = payload => {\r\n return {\r\n type: CANCEL_TIPOLOGIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const cancelTipologiaByIdIsLoading = loading => {\r\n return {\r\n type: CANCEL_TIPOLOGIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const cancelTipologiaByIdError = error => {\r\n return {\r\n type: CANCEL_TIPOLOGIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../../createReducer\";\r\n\r\nimport filtro_tipologie_by_utenza_reducer from \"./get-filtro-tipologie-by-utenza-reducers\";\r\nimport insertTipologiaCategoriaReducers from \"./insert-tipologia-categoria-reducers\";\r\nimport tipologie_all_reducer from \"./get-tipologie-all-reducers\";\r\nimport tipologie_by_utenza_reducer from \"./get-tipologie-by-utenza-reducers\";\r\nimport tipologie_by_stati_reducer from \"./get-tipologie-by-stati-reducers\";\r\nimport updateTipologiaByIdReducers from \"./update-tipologia-by-id-reducers\";\r\nimport cancelTipologiaByIdReducers from \"./cancel-tipologia-by-id-reducers\";\r\n// import caso_uso_form_fields_reducer from \"./get-caso-uso-form-fields-reducers\";\r\n// import insertCasoUsoReducers from \"./insert-caso-uso-reducers\";\r\n// import cancelCasoUsoByIdReducers from \"./cancel-caso-uso-by-id-reducers\";\r\n// import updateCasoUsoByIdReducers from \"./update-caso-uso-by-id-reducers\";\r\n// import approveCasoUsoByIdReducers from \"./approve-caso-uso-by-id-reducers\";\r\n// import disableCasoUsoByIdReducers from \"./disable-caso-uso-by-id-reducers\";\r\n// import enableCasoUsoByIdReducers from \"./enable-caso-uso-by-id-reducers\";\r\n// import rejectCasoUsoByIdReducers from \"./reject-caso-uso-by-id-reducers\";\r\n// import proposeCasoUsoByIdReducers from \"./propose-caso-uso-by-id-reducers\";\r\n// import extendCasoUsoByIdReducers from \"./extend-caso-uso-by-id-reducers\";\r\n// import activateCasoUsoByIdReducers from \"./activate-caso-uso-by-id-reducers\";\r\n\r\nexport default createReducer([\r\n // activateCasoUsoByIdReducers,\r\n // approveCasoUsoByIdReducers,\r\n // cancelCasoUsoByIdReducers,\r\n filtro_tipologie_by_utenza_reducer,\r\n tipologie_all_reducer,\r\n tipologie_by_utenza_reducer,\r\n tipologie_by_stati_reducer,\r\n // caso_uso_form_fields_reducer,\r\n // disableCasoUsoByIdReducers,\r\n // enableCasoUsoByIdReducers,\r\n // extendCasoUsoByIdReducers,\r\n cancelTipologiaByIdReducers,\r\n insertTipologiaCategoriaReducers,\r\n updateTipologiaByIdReducers\r\n // proposeCasoUsoByIdReducers,\r\n // rejectCasoUsoByIdReducers,\r\n // updateCasoUsoByIdReducers\r\n]);","import {\r\n GET_CATEGORIE_ALL_SUCCESS, GET_CATEGORIE_ALL_IS_LOADING, GET_CATEGORIE_ALL_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-categorie-all-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_ALL_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_all: {\r\n ...state.get_categorie_all,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_ALL_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_all: {\r\n ...state.get_categorie_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_ALL_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_all: {\r\n ...state.get_categorie_all,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_all: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_ALL_SUCCESS = 'GET_CATEGORIE_ALL_SUCCESS';\r\nexport const GET_CATEGORIE_ALL_IS_LOADING = 'GET_CATEGORIE_ALL_IS_LOADING';\r\nexport const GET_CATEGORIE_ALL_ERROR = 'GET_CATEGORIE_ALL_ERROR';\r\n\r\nexport const getCategorieAllSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_ALL_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCategorieAllIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieAllError = error => {\r\n return {\r\n type: GET_CATEGORIE_ALL_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_CATEGORIE_BY_UTENZA_SUCCESS, GET_CATEGORIE_BY_UTENZA_IS_LOADING, GET_CATEGORIE_BY_UTENZA_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-categorie-by-utenza-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_by_utenza: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_BY_UTENZA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_by_utenza: {\r\n ...state.get_categorie_by_utenza,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_BY_UTENZA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_by_utenza: {\r\n ...state.get_categorie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_BY_UTENZA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_by_utenza: {\r\n ...state.get_categorie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_by_utenza: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_BY_UTENZA_SUCCESS = 'GET_CATEGORIE_BY_UTENZA_SUCCESS';\r\nexport const GET_CATEGORIE_BY_UTENZA_IS_LOADING = 'GET_CATEGORIE_BY_UTENZA_IS_LOADING';\r\nexport const GET_CATEGORIE_BY_UTENZA_ERROR = 'GET_CATEGORIE_BY_UTENZA_ERROR';\r\n\r\nexport const getCategorieByUtenzaSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_BY_UTENZA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCategorieByUtenzaIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_BY_UTENZA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieByUtenzaError = error => {\r\n return {\r\n type: GET_CATEGORIE_BY_UTENZA_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_CATEGORIE_BY_STATI_SUCCESS, GET_CATEGORIE_BY_STATI_IS_LOADING, GET_CATEGORIE_BY_STATI_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-categorie-by-stati-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_by_stati: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_BY_STATI_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_by_stati: {\r\n ...state.get_categorie_by_stati,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_BY_STATI_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_by_stati: {\r\n ...state.get_categorie_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_BY_STATI_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_by_stati: {\r\n ...state.get_categorie_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_by_stati: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_BY_STATI_SUCCESS = 'GET_CATEGORIE_BY_STATI_SUCCESS';\r\nexport const GET_CATEGORIE_BY_STATI_IS_LOADING = 'GET_CATEGORIE_BY_STATI_IS_LOADING';\r\nexport const GET_CATEGORIE_BY_STATI_ERROR = 'GET_CATEGORIE_BY_STATI_ERROR';\r\n\r\nexport const getCategorieByStatiSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_BY_STATI_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCategorieByStatiIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_BY_STATI_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieByStatiError = error => {\r\n return {\r\n type: GET_CATEGORIE_BY_STATI_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_FILTRO_CATEGORIE_BY_UTENZA_SUCCESS, GET_FILTRO_CATEGORIE_BY_UTENZA_IS_LOADING, GET_FILTRO_CATEGORIE_BY_UTENZA_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-actions/get-filtro-categorie-by-utenza-actions\";\r\n\r\nexport const initialState = {\r\n get_filtro_categorie_by_utenza: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_FILTRO_CATEGORIE_BY_UTENZA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_filtro_categorie_by_utenza: {\r\n ...state.get_filtro_categorie_by_utenza,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_FILTRO_CATEGORIE_BY_UTENZA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_filtro_categorie_by_utenza: {\r\n ...state.get_filtro_categorie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_FILTRO_CATEGORIE_BY_UTENZA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_filtro_categorie_by_utenza: {\r\n ...state.get_filtro_categorie_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n filtro_categorie_by_utenza: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_FILTRO_CATEGORIE_BY_UTENZA_SUCCESS = 'GET_FILTRO_CATEGORIE_BY_UTENZA_SUCCESS';\r\nexport const GET_FILTRO_CATEGORIE_BY_UTENZA_IS_LOADING = 'GET_FILTRO_CATEGORIE_BY_UTENZA_IS_LOADING';\r\nexport const GET_FILTRO_CATEGORIE_BY_UTENZA_ERROR = 'GET_FILTRO_CATEGORIE_BY_UTENZA_ERROR';\r\n\r\nexport const getFiltroCategorieByUtenzaSuccess = (payload) => {\r\n return {\r\n type: GET_FILTRO_CATEGORIE_BY_UTENZA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getFiltroCategorieByUtenzaIsLoading = () => {\r\n return {\r\n type: GET_FILTRO_CATEGORIE_BY_UTENZA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getFiltroCategorieByUtenzaError = error => {\r\n return {\r\n type: GET_FILTRO_CATEGORIE_BY_UTENZA_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n INSERT_CATEGORIA_IS_LOADING,\r\n INSERT_CATEGORIA_ERROR,\r\n INSERT_CATEGORIA_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-actions/insert-categoria-actions\";\r\n\r\nexport const handlers = {\r\n [INSERT_CATEGORIA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_categoria: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_CATEGORIA_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_categoria: {\r\n isLoading: undefined,\r\n insert: action.error\r\n }\r\n }),\r\n [INSERT_CATEGORIA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_categoria: {\r\n isLoading: false,\r\n insert: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_CATEGORIA_SUCCESS = 'INSERT_CATEGORIA_SUCCESS';\r\nexport const INSERT_CATEGORIA_IS_LOADING = 'INSERT_CATEGORIA_IS_LOADING';\r\nexport const INSERT_CATEGORIA_ERROR = 'INSERT_CATEGORIA_ERROR';\r\n\r\nexport const insertCategoriaSuccess = payload => {\r\n return {\r\n type: INSERT_CATEGORIA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertCategoriaIsLoading = loading => {\r\n return {\r\n type: INSERT_CATEGORIA_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const insertCategoriaError = error => {\r\n return {\r\n type: INSERT_CATEGORIA_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../../createReducer\";\r\n\r\nimport categorie_all_reducer from \"./get-categorie-all-reducers\";\r\nimport categorie_by_utenza_reducer from \"./get-categorie-by-utenza-reducers\";\r\nimport categorie_by_stati_reducer from \"./get-categorie-by-stati-reducers\";\r\nimport filtro_categorie_by_utenza_reducer from \"./get-filtro-categorie-by-utenza-reducers\";\r\nimport insertCategoriaReducers from \"./insert-categoria-reducers\";\r\nimport updateCategoriaByIdReducers from \"./update-categoria-by-id-reducers\";\r\n// import caso_uso_form_fields_reducer from \"./get-caso-uso-form-fields-reducers\";\r\n// import insertCasoUsoReducers from \"./insert-caso-uso-reducers\";\r\n// import cancelCasoUsoByIdReducers from \"./cancel-caso-uso-by-id-reducers\";\r\n// import updateCasoUsoByIdReducers from \"./update-caso-uso-by-id-reducers\";\r\n// import approveCasoUsoByIdReducers from \"./approve-caso-uso-by-id-reducers\";\r\n// import disableCasoUsoByIdReducers from \"./disable-caso-uso-by-id-reducers\";\r\n// import enableCasoUsoByIdReducers from \"./enable-caso-uso-by-id-reducers\";\r\n// import rejectCasoUsoByIdReducers from \"./reject-caso-uso-by-id-reducers\";\r\n// import proposeCasoUsoByIdReducers from \"./propose-caso-uso-by-id-reducers\";\r\n// import extendCasoUsoByIdReducers from \"./extend-caso-uso-by-id-reducers\";\r\n// import activateCasoUsoByIdReducers from \"./activate-caso-uso-by-id-reducers\";\r\n\r\nexport default createReducer([\r\n // activateCasoUsoByIdReducers,\r\n // approveCasoUsoByIdReducers,\r\n // cancelCasoUsoByIdReducers,\r\n categorie_all_reducer,\r\n categorie_by_stati_reducer,\r\n categorie_by_utenza_reducer,\r\n filtro_categorie_by_utenza_reducer,\r\n // caso_uso_form_fields_reducer,\r\n // disableCasoUsoByIdReducers,\r\n // enableCasoUsoByIdReducers,\r\n // extendCasoUsoByIdReducers,\r\n insertCategoriaReducers,\r\n updateCategoriaByIdReducers\r\n // proposeCasoUsoByIdReducers,\r\n // rejectCasoUsoByIdReducers,\r\n // updateCasoUsoByIdReducers\r\n]);","import {\r\n UPDATE_CATEGORIA_BY_ID_IS_LOADING,\r\n UPDATE_CATEGORIA_BY_ID_ERROR,\r\n UPDATE_CATEGORIA_BY_ID_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-actions/update-categoria-by-id-actions\";\r\n\r\nexport const handlers = {\r\n [UPDATE_CATEGORIA_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_categoria_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [UPDATE_CATEGORIA_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n update_categoria_by_id: {\r\n isLoading: undefined,\r\n update: action.error\r\n }\r\n }),\r\n [UPDATE_CATEGORIA_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_categoria_by_id: {\r\n isLoading: false,\r\n update: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_CATEGORIA_BY_ID_SUCCESS = 'UPDATE_CATEGORIA_BY_ID_SUCCESS';\r\nexport const UPDATE_CATEGORIA_BY_ID_IS_LOADING = 'UPDATE_CATEGORIA_BY_ID_IS_LOADING';\r\nexport const UPDATE_CATEGORIA_BY_ID_ERROR = 'UPDATE_CATEGORIA_BY_ID_ERROR';\r\n\r\nexport const updateCategoriaByIdSuccess = payload => {\r\n return {\r\n type: UPDATE_CATEGORIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateCategoriaByIdIsLoading = loading => {\r\n return {\r\n type: UPDATE_CATEGORIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const updateCategoriaByIdError = error => {\r\n return {\r\n type: UPDATE_CATEGORIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_CATEGORIE_SPECIFICHE_ALL_SUCCESS, GET_CATEGORIE_SPECIFICHE_ALL_IS_LOADING, GET_CATEGORIE_SPECIFICHE_ALL_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/get-categorie-specifiche-all-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_specifiche_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_SPECIFICHE_ALL_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_all: {\r\n ...state.get_categorie_specifiche_all,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_ALL_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_all: {\r\n ...state.get_categorie_specifiche_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_ALL_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_all: {\r\n ...state.get_categorie_specifiche_all,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_specifiche_all: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_SPECIFICHE_ALL_SUCCESS = 'GET_CATEGORIE_SPECIFICHE_ALL_SUCCESS';\r\nexport const GET_CATEGORIE_SPECIFICHE_ALL_IS_LOADING = 'GET_CATEGORIE_SPECIFICHE_ALL_IS_LOADING';\r\nexport const GET_CATEGORIE_SPECIFICHE_ALL_ERROR = 'GET_CATEGORIE_SPECIFICHE_ALL_ERROR';\r\n\r\nexport const getCategorieSpecificheAllSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_ALL_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheAllIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheAllError = error => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_ALL_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_CATEGORIE_SPECIFICHE_BY_UTENZA_SUCCESS, GET_CATEGORIE_SPECIFICHE_BY_UTENZA_IS_LOADING, GET_CATEGORIE_SPECIFICHE_BY_UTENZA_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/get-categorie-specifiche-by-utenza-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_specifiche_by_utenza: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_SPECIFICHE_BY_UTENZA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_by_utenza: {\r\n ...state.get_categorie_specifiche_by_utenza,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_BY_UTENZA_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_by_utenza: {\r\n ...state.get_categorie_specifiche_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_BY_UTENZA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_by_utenza: {\r\n ...state.get_categorie_specifiche_by_utenza,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_specifiche_by_utenza: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_SPECIFICHE_BY_UTENZA_SUCCESS = 'GET_CATEGORIE_SPECIFICHE_BY_UTENZA_SUCCESS';\r\nexport const GET_CATEGORIE_SPECIFICHE_BY_UTENZA_IS_LOADING = 'GET_CATEGORIE_SPECIFICHE_BY_UTENZA_IS_LOADING';\r\nexport const GET_CATEGORIE_SPECIFICHE_BY_UTENZA_ERROR = 'GET_CATEGORIE_SPECIFICHE_BY_UTENZA_ERROR';\r\n\r\nexport const getCategorieSpecificheByUtenzaSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_BY_UTENZA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheByUtenzaIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_BY_UTENZA_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheByUtenzaError = error => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_BY_UTENZA_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n GET_CATEGORIE_SPECIFICHE_BY_STATI_SUCCESS, GET_CATEGORIE_SPECIFICHE_BY_STATI_IS_LOADING, GET_CATEGORIE_SPECIFICHE_BY_STATI_ERROR\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/get-categorie-specifiche-by-stati-actions\";\r\n\r\nexport const initialState = {\r\n get_categorie_specifiche_by_stati: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CATEGORIE_SPECIFICHE_BY_STATI_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_by_stati: {\r\n ...state.get_categorie_specifiche_by_stati,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_BY_STATI_ERROR]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_by_stati: {\r\n ...state.get_categorie_specifiche_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_CATEGORIE_SPECIFICHE_BY_STATI_SUCCESS]: (state, action) => ({\r\n ...state,\r\n get_categorie_specifiche_by_stati: {\r\n ...state.get_categorie_specifiche_by_stati,\r\n isLoading: false,\r\n pristine: false,\r\n categorie_specifiche_by_stati: action.payload,\r\n }\r\n })\r\n};\r\nexport default { initialState, handlers };","export const GET_CATEGORIE_SPECIFICHE_BY_STATI_SUCCESS = 'GET_CATEGORIE_SPECIFICHE_BY_STATI_SUCCESS';\r\nexport const GET_CATEGORIE_SPECIFICHE_BY_STATI_IS_LOADING = 'GET_CATEGORIE_SPECIFICHE_BY_STATI_IS_LOADING';\r\nexport const GET_CATEGORIE_SPECIFICHE_BY_STATI_ERROR = 'GET_CATEGORIE_SPECIFICHE_BY_STATI_ERROR';\r\n\r\nexport const getCategorieSpecificheByStatiSuccess = (payload) => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_BY_STATI_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheByStatiIsLoading = () => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_BY_STATI_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getCategorieSpecificheByStatiError = error => {\r\n return {\r\n type: GET_CATEGORIE_SPECIFICHE_BY_STATI_IS_LOADING,\r\n error\r\n };\r\n};","import {\r\n INSERT_CATEGORIA_SPECIFICA_IS_LOADING,\r\n INSERT_CATEGORIA_SPECIFICA_ERROR,\r\n INSERT_CATEGORIA_SPECIFICA_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/insert-categoria-specifica-actions\";\r\n\r\nexport const handlers = {\r\n [INSERT_CATEGORIA_SPECIFICA_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n insert_categoria_specifica: {\r\n isLoading: true,\r\n }\r\n }),\r\n [INSERT_CATEGORIA_SPECIFICA_ERROR]: (state, action) => ({\r\n ...state,\r\n insert_categoria_specifica: {\r\n isLoading: undefined,\r\n insert: action.error\r\n }\r\n }),\r\n [INSERT_CATEGORIA_SPECIFICA_SUCCESS]: (state, action) => ({\r\n ...state,\r\n insert_categoria_specifica: {\r\n isLoading: false,\r\n insert: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const INSERT_CATEGORIA_SPECIFICA_SUCCESS = 'INSERT_CATEGORIA_SPECIFICA_SUCCESS';\r\nexport const INSERT_CATEGORIA_SPECIFICA_IS_LOADING = 'INSERT_CATEGORIA_SPECIFICA_IS_LOADING';\r\nexport const INSERT_CATEGORIA_SPECIFICA_ERROR = 'INSERT_CATEGORIA_SPECIFICA_ERROR';\r\n\r\nexport const insertCategoriaSpecificaSuccess = payload => {\r\n return {\r\n type: INSERT_CATEGORIA_SPECIFICA_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const insertCategoriaSpecificaIsLoading = loading => {\r\n return {\r\n type: INSERT_CATEGORIA_SPECIFICA_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const insertCategoriaSpecificaError = error => {\r\n return {\r\n type: INSERT_CATEGORIA_SPECIFICA_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../../createReducer\";\r\n\r\nimport categorie_specifiche_all_reducer from \"./get-categorie-specifiche-all-reducers\";\r\nimport categorie_specifiche_by_utenza_reducer from \"./get-categorie-specifiche-by-utenza-reducers\";\r\nimport categorie_specifiche_by_stati_reducer from \"./get-categorie-specifiche-by-stati-reducers\";\r\nimport insertCategoriaSpecificaReducers from \"./insert-categoria-specifica-reducers\";\r\nimport updateCategoriaSpecificaByIdReducers from \"./update-categoria-specifica-by-id-reducers\";\r\n// import caso_uso_form_fields_reducer from \"./get-caso-uso-form-fields-reducers\";\r\n// import insertCasoUsoReducers from \"./insert-caso-uso-reducers\";\r\n// import cancelCasoUsoByIdReducers from \"./cancel-caso-uso-by-id-reducers\";\r\n// import updateCasoUsoByIdReducers from \"./update-caso-uso-by-id-reducers\";\r\n// import approveCasoUsoByIdReducers from \"./approve-caso-uso-by-id-reducers\";\r\n// import disableCasoUsoByIdReducers from \"./disable-caso-uso-by-id-reducers\";\r\n// import enableCasoUsoByIdReducers from \"./enable-caso-uso-by-id-reducers\";\r\n// import rejectCasoUsoByIdReducers from \"./reject-caso-uso-by-id-reducers\";\r\n// import proposeCasoUsoByIdReducers from \"./propose-caso-uso-by-id-reducers\";\r\n// import extendCasoUsoByIdReducers from \"./extend-caso-uso-by-id-reducers\";\r\n// import activateCasoUsoByIdReducers from \"./activate-caso-uso-by-id-reducers\";\r\n\r\nexport default createReducer([\r\n // activateCasoUsoByIdReducers,\r\n // approveCasoUsoByIdReducers,\r\n // cancelCasoUsoByIdReducers,\r\n categorie_specifiche_all_reducer,\r\n categorie_specifiche_by_utenza_reducer,\r\n categorie_specifiche_by_stati_reducer,\r\n // caso_uso_form_fields_reducer,\r\n // disableCasoUsoByIdReducers,\r\n // enableCasoUsoByIdReducers,\r\n // extendCasoUsoByIdReducers,\r\n insertCategoriaSpecificaReducers,\r\n updateCategoriaSpecificaByIdReducers\r\n // proposeCasoUsoByIdReducers,\r\n // rejectCasoUsoByIdReducers,\r\n // updateCasoUsoByIdReducers\r\n]);","import {\r\n UPDATE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING,\r\n UPDATE_CATEGORIA_SPECIFICA_BY_ID_ERROR,\r\n UPDATE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS\r\n} from \"../../../../actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions/update-categoria-specifica-by-id-actions\";\r\n\r\nexport const handlers = {\r\n [UPDATE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n update_categoria_specifica_by_id: {\r\n isLoading: true,\r\n }\r\n }),\r\n [UPDATE_CATEGORIA_SPECIFICA_BY_ID_ERROR]: (state, action) => ({\r\n ...state,\r\n update_categoria_specifica_by_id: {\r\n isLoading: undefined,\r\n update: action.error\r\n }\r\n }),\r\n [UPDATE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS]: (state, action) => ({\r\n ...state,\r\n update_categoria_specifica_by_id: {\r\n isLoading: false,\r\n update: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const UPDATE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS = 'UPDATE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS';\r\nexport const UPDATE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING = 'UPDATE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING';\r\nexport const UPDATE_CATEGORIA_SPECIFICA_BY_ID_ERROR = 'UPDATE_CATEGORIA_SPECIFICA_BY_ID_ERROR';\r\n\r\nexport const updateCategoriaSpecificaByIdSuccess = payload => {\r\n return {\r\n type: UPDATE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const updateCategoriaSpecificaByIdIsLoading = loading => {\r\n return {\r\n type: UPDATE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const updateCategoriaSpecificaByIdError = error => {\r\n return {\r\n type: UPDATE_CATEGORIA_SPECIFICA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\nimport revocaAccreditamentoReducers from \"./revoca-accreditamento-reducers\";\r\n\r\n\r\nexport default createReducer([\r\n revocaAccreditamentoReducers\r\n]);\r\n","import {\r\n REVOCA_ACCREDITAMENTO_IS_LOADING,\r\n REVOCA_ACCREDITAMENTO_ERROR,\r\n REVOCA_ACCREDITAMENTO_SUCCESS\r\n} from \"../../../actions/area-riservata/accreditamento-actions/revoca-accreditamento-actions\";\r\n\r\n\r\nexport const handlers = {\r\n [REVOCA_ACCREDITAMENTO_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n revoca_accreditamento: {\r\n isLoading: true,\r\n }\r\n }),\r\n [REVOCA_ACCREDITAMENTO_ERROR]: (state, action) => ({\r\n ...state,\r\n revoca_accreditamento: {\r\n isLoading: false,\r\n error: action.error\r\n }\r\n }),\r\n [REVOCA_ACCREDITAMENTO_SUCCESS]: (state, action) => ({\r\n ...state,\r\n revoca_accreditamento: {\r\n isLoading: false,\r\n revocato: action.payload,\r\n }\r\n })\r\n};\r\nexport default { handlers };","export const REVOCA_ACCREDITAMENTO_SUCCESS = 'REVOCA_ACCREDITAMENTO_SUCCESS';\r\nexport const REVOCA_ACCREDITAMENTO_IS_LOADING = 'REVOCA_ACCREDITAMENTO_IS_LOADING';\r\nexport const REVOCA_ACCREDITAMENTO_ERROR = 'REVOCA_ACCREDITAMENTO_ERROR';\r\n\r\nexport const revocaAccreditamentoSuccess = payload => {\r\n return {\r\n type: REVOCA_ACCREDITAMENTO_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const revocaAccreditamentoIsLoading = loading => {\r\n return {\r\n type: REVOCA_ACCREDITAMENTO_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const revocaAccreditamentoError = error => {\r\n return {\r\n type: REVOCA_ACCREDITAMENTO_ERROR,\r\n error\r\n };\r\n};","import { \r\n GET_REGIONI_ALL_SUCCESS,\r\n GET_REGIONI_ALL_IS_LOADING,\r\n GET_REGIONI_ALL_ERROR\r\n } from \"../../../actions/area-riservata/constants-actions/get-regioni-all-actions\";\r\n\r\nconst initialState = {\r\n get_regioni_all: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_REGIONI_ALL_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n get_regioni_all: {\r\n isLoading: false,\r\n pristine: false,\r\n regioni_all: action.payload\r\n }\r\n };\r\n },\r\n [GET_REGIONI_ALL_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n get_regioni_all: {\r\n ...state.get_regioni_all,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_REGIONI_ALL_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n get_regioni_all: {\r\n ...state.get_regioni_all,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_REGIONI_ALL_SUCCESS = 'GET_REGIONI_ALL_SUCCESS';\r\nexport const GET_REGIONI_ALL_IS_LOADING = 'GET_REGIONI_ALL_IS_LOADING';\r\nexport const GET_REGIONI_ALL_ERROR = 'GET_REGIONI_ALL_ERROR';\r\n\r\nexport const getRegioniAllSuccess = (payload, edit) => {\r\n return {\r\n type: GET_REGIONI_ALL_SUCCESS,\r\n payload,\r\n edit\r\n };\r\n};\r\n\r\nexport const getRegioniAllIsLoading = () => {\r\n return {\r\n type: GET_REGIONI_ALL_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getRegioniAllError = error => {\r\n return {\r\n type: GET_REGIONI_ALL_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../../createReducer\";\r\nimport getRegioniAllReducers from \"./get-regioni-all-reducers\";\r\n\r\n\r\nexport default createReducer([\r\n getRegioniAllReducers\r\n]);","import {\r\n ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR,\r\n ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING,\r\n ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS\r\n} from \"../../actions/common-actions/annulla-riepilogo-richiesta-adesione-actions\";\r\n\r\nexport const handlers = {\r\n [ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n annulla_riepilogo_richiesta_adesione: {\r\n canceled: true,\r\n }\r\n }),\r\n [ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR]: (state, action) => ({\r\n ...state,\r\n annulla_riepilogo_richiesta_adesione: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS]: (state, action) => ({\r\n ...state,\r\n annulla_riepilogo_richiesta_adesione: {\r\n isLoading: false,\r\n canceled: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS = 'ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS';\r\nexport const ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING = 'ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING';\r\nexport const ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR = 'ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR';\r\n\r\nexport const annullaRiepilogoRichiestaAdesioneSuccess = payload => {\r\n return {\r\n type: ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const annullaRiepilogoRichiestaAdesioneIsLoading = loading => {\r\n return {\r\n type: ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const annullaRiepilogoRichiestaAdesioneError = error => {\r\n return {\r\n type: ANNULLA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR,\r\n error\r\n };\r\n};","import { CHANGE_PASSWORD_ERROR, CHANGE_PASSWORD_IS_LOADING, CHANGE_PASSWORD_SUCCESS } from \"../../actions/common-actions/change-password-actions\";\r\n\r\nexport const initialState = {\r\n change_password: {\r\n isLoading: false,\r\n pristine: true\r\n },\r\n};\r\n\r\nexport const handlers = {\r\n [CHANGE_PASSWORD_SUCCESS]: (state, action) => ({\r\n ...state,\r\n change_password: {\r\n ...action.payload,\r\n isLoading: false,\r\n changed: \"Password modificata correttamente.\",\r\n }\r\n }),\r\n [CHANGE_PASSWORD_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n change_password: {\r\n ...state.change_password,\r\n isLoading: true,\r\n pristine: false\r\n }\r\n }),\r\n [CHANGE_PASSWORD_ERROR]: (state, action) => ({\r\n ...state,\r\n change_password: {\r\n ...state.change_password,\r\n isLoading: false,\r\n changed: false,\r\n error: action.error\r\n }\r\n }),\r\n\r\n};\r\nexport default { initialState, handlers };","export const CHANGE_PASSWORD_SUCCESS = 'CHANGE_PASSWORD_SUCCESS';\r\nexport const CHANGE_PASSWORD_IS_LOADING = 'CHANGE_PASSWORD_IS_LOADING';\r\nexport const CHANGE_PASSWORD_ERROR = 'CHANGE_PASSWORD_ERROR';\r\n\r\nexport const changePasswordSuccess = payload => {\r\n return {\r\n type: CHANGE_PASSWORD_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const changePasswordIsLoading = loading => {\r\n return {\r\n type: CHANGE_PASSWORD_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const changePasswordError = error => {\r\n return {\r\n type: CHANGE_PASSWORD_ERROR,\r\n error\r\n };\r\n};","import {\r\n CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR,\r\n CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING,\r\n CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS\r\n} from \"../../actions/common-actions/conferma-riepilogo-richiesta-adesione-actions\";\r\n\r\nexport const handlers = {\r\n [CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n conferma_riepilogo_richiesta_adesione: {\r\n isLoading: true,\r\n }\r\n }),\r\n [CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR]: (state, action) => ({\r\n ...state,\r\n conferma_riepilogo_richiesta_adesione: {\r\n isLoading: undefined,\r\n error: action.error\r\n }\r\n }),\r\n [CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS]: (state, action) => ({\r\n ...state,\r\n conferma_riepilogo_richiesta_adesione: {\r\n isLoading: false,\r\n confirmed: action.payload,\r\n },\r\n })\r\n};\r\nexport default { handlers };","export const CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS = 'CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS';\r\nexport const CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING = 'CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING';\r\nexport const CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR = 'CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR';\r\n\r\nexport const confermaRiepilogoRichiestaAdesioneSuccess = payload => {\r\n return {\r\n type: CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const confermaRiepilogoRichiestaAdesioneIsLoading = loading => {\r\n return {\r\n type: CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const confermaRiepilogoRichiestaAdesioneError = error => {\r\n return {\r\n type: CONFERMA_RIEPILOGO_RICHIESTA_ADESIONE_ERROR,\r\n error\r\n };\r\n};","import {\r\n GET_RIEPILOGO_RICHIESTA_ADESIONE_ERROR,\r\n GET_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING,\r\n GET_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS\r\n} from \"../../actions/common-actions/get-riepilogo-richiesta-adesione-actions\";\r\n\r\nexport const initialState = {\r\n get_riepilogo_richiesta_adesione: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n get_riepilogo_richiesta_adesione: {\r\n ...state.get_riepilogo_richiesta_adesione,\r\n isLoading: true,\r\n }\r\n }),\r\n [GET_RIEPILOGO_RICHIESTA_ADESIONE_ERROR]: (state, action) => ({\r\n ...state,\r\n get_riepilogo_richiesta_adesione: {\r\n ...state.get_riepilogo_richiesta_adesione,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n }),\r\n [GET_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS]: (state, action) => {\r\n\r\n return ({\r\n ...state,\r\n get_riepilogo_richiesta_adesione: {\r\n ...state.get_riepilogo_richiesta_adesione,\r\n isLoading: false,\r\n pristine: false,\r\n richiesta_adesione: action.payload,\r\n }\r\n })\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","export const GET_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS = 'GET_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS';\r\nexport const GET_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING = 'GET_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING';\r\nexport const GET_RIEPILOGO_RICHIESTA_ADESIONE_ERROR = 'GET_RIEPILOGO_RICHIESTA_ADESIONE_ERROR';\r\n\r\nexport const getRiepilogoRichiestaAdesioneSuccess = payload => {\r\n return {\r\n type: GET_RIEPILOGO_RICHIESTA_ADESIONE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const getRiepilogoRichiestaAdesioneIsLoading = loading => {\r\n return {\r\n type: GET_RIEPILOGO_RICHIESTA_ADESIONE_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const getRiepilogoRichiestaAdesioneError = error => {\r\n return {\r\n type: GET_RIEPILOGO_RICHIESTA_ADESIONE_ERROR,\r\n error\r\n };\r\n};","import { RICHIEDI_RESET_PASSWORD_ERROR, RICHIEDI_RESET_PASSWORD_IS_LOADING, RICHIEDI_RESET_PASSWORD_SUCCESS } from \"../../actions/common-actions/richiedi-reset-password-actions.js\";\r\n\r\nexport const initialState = {\r\n richiedi_reset_password: {\r\n isLoading: false,\r\n pristine: true\r\n },\r\n};\r\n\r\nexport const handlers = {\r\n [RICHIEDI_RESET_PASSWORD_SUCCESS]: (state, action) => ({\r\n ...state,\r\n richiedi_reset_password: {\r\n ...action.payload,\r\n isLoading: false,\r\n message: \"Password modificata correttamente.\",\r\n }\r\n }),\r\n [RICHIEDI_RESET_PASSWORD_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n richiedi_reset_password: {\r\n ...state.change_password,\r\n isLoading: true,\r\n pristine: false\r\n }\r\n }),\r\n [RICHIEDI_RESET_PASSWORD_ERROR]: (state, action) => ({\r\n ...state,\r\n richiedi_reset_password: {\r\n ...state.change_password,\r\n isLoading: false,\r\n richiedi_reset: false,\r\n error: action.error\r\n }\r\n }),\r\n\r\n};\r\nexport default { initialState, handlers };","export const RICHIEDI_RESET_PASSWORD_SUCCESS = 'RICHIEDI_RESET_PASSWORD_SUCCESS';\r\nexport const RICHIEDI_RESET_PASSWORD_IS_LOADING = 'RICHIEDI_RESET_PASSWORD_IS_LOADING';\r\nexport const RICHIEDI_RESET_PASSWORD_ERROR = 'RICHIEDI_RESET_PASSWORD_ERROR';\r\n\r\nexport const richiediResetPasswordSuccess = payload => {\r\n return {\r\n type: RICHIEDI_RESET_PASSWORD_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const richiediResetPasswordIsLoading = loading => {\r\n return {\r\n type: RICHIEDI_RESET_PASSWORD_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const richiediResetPasswordError = error => {\r\n return {\r\n type: RICHIEDI_RESET_PASSWORD_ERROR,\r\n error\r\n };\r\n};","import { RESET_PASSWORD_ERROR, RESET_PASSWORD_IS_LOADING, RESET_PASSWORD_SUCCESS } from \"../../actions/common-actions/reset-password-actions.js\";\r\n\r\nexport const initialState = {\r\n reset_password: {\r\n isLoading: false,\r\n pristine: true\r\n },\r\n};\r\n\r\nexport const handlers = {\r\n [RESET_PASSWORD_SUCCESS]: (state, action) => ({\r\n ...state,\r\n reset_password: {\r\n ...action.payload,\r\n isLoading: false,\r\n message: \"Password modificata correttamente.\",\r\n reset: true\r\n }\r\n }),\r\n [RESET_PASSWORD_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n reset_password: {\r\n ...state.reset_password,\r\n isLoading: true,\r\n pristine: false\r\n }\r\n }),\r\n [RESET_PASSWORD_ERROR]: (state, action) => ({\r\n ...state,\r\n reset_password: {\r\n ...state.reset_password,\r\n isLoading: false,\r\n reset: false,\r\n error: action.error\r\n }\r\n }),\r\n\r\n};\r\nexport default { initialState, handlers };","export const RESET_PASSWORD_SUCCESS = 'RESET_PASSWORD_SUCCESS';\r\nexport const RESET_PASSWORD_IS_LOADING = 'RESET_PASSWORD_IS_LOADING';\r\nexport const RESET_PASSWORD_ERROR = 'RESET_PASSWORD_ERROR';\r\n\r\nexport const resetPasswordSuccess = payload => {\r\n return {\r\n type: RESET_PASSWORD_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const resetPasswordIsLoading = loading => {\r\n return {\r\n type: RESET_PASSWORD_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const resetPasswordError = error => {\r\n return {\r\n type: RESET_PASSWORD_ERROR,\r\n error\r\n };\r\n};","import { createReducer } from \"../createReducer\";\r\nimport annullaRiepilogoRichiestaAdesioneReducers from \"./annulla-riepilogo-richiesta-adesione-reducers\";\r\nimport changePasswordReducers from \"./change-password-reducers\";\r\nimport confermaRiepilogoRichiestaAdesioneReducers from \"./conferma-riepilogo-richiesta-adesione-reducers\";\r\nimport getRiepilogoRichiestaAdesioneReducers from \"./get-riepilogo-richiesta-adesione-reducers\";\r\nimport richiediResetPassword from \"./richiedi-reset-password\";\r\nimport resetPassword from \"./reset-password\";\r\nimport checkResetPasswordLinkReducers from \"./check-reset-password-link-reducers\";\r\n\r\nexport default createReducer([\r\n annullaRiepilogoRichiestaAdesioneReducers,\r\n changePasswordReducers,\r\n checkResetPasswordLinkReducers,\r\n confermaRiepilogoRichiestaAdesioneReducers,\r\n getRiepilogoRichiestaAdesioneReducers,\r\n richiediResetPassword,\r\n resetPassword\r\n]);","import { CHECK_RESET_PASSWORD_LINK_ERROR, CHECK_RESET_PASSWORD_LINK_IS_LOADING, CHECK_RESET_PASSWORD_LINK_SUCCESS } from \"../../actions/common-actions/check-reset-password-link-actions\";\r\n\r\nexport const initialState = {\r\n check_reset_password_link: {\r\n isLoading: false,\r\n pristine: true\r\n },\r\n};\r\n\r\nexport const handlers = {\r\n [CHECK_RESET_PASSWORD_LINK_SUCCESS]: (state, action) => ({\r\n ...state,\r\n check_reset_password_link: {\r\n ...action.payload,\r\n isLoading: false,\r\n checked: true\r\n }\r\n }),\r\n [CHECK_RESET_PASSWORD_LINK_IS_LOADING]: (state, action) => ({\r\n ...state,\r\n check_reset_password_link: {\r\n ...state.check_reset_password_link,\r\n isLoading: true,\r\n pristine: false\r\n }\r\n }),\r\n [CHECK_RESET_PASSWORD_LINK_ERROR]: (state, action) => ({\r\n ...state,\r\n check_reset_password_link: {\r\n ...state.check_reset_password_link,\r\n isLoading: false,\r\n checked: false,\r\n error: action.error\r\n }\r\n }),\r\n\r\n};\r\nexport default { initialState, handlers };","export const CHECK_RESET_PASSWORD_LINK_SUCCESS = 'CHECK_RESET_PASSWORD_LINK_SUCCESS';\r\nexport const CHECK_RESET_PASSWORD_LINK_IS_LOADING = 'CHECK_RESET_PASSWORD_LINK_IS_LOADING';\r\nexport const CHECK_RESET_PASSWORD_LINK_ERROR = 'CHECK_RESET_PASSWORD_LINK_ERROR';\r\n\r\nexport const checkResetPasswordLinkSuccess = payload => {\r\n return {\r\n type: CHECK_RESET_PASSWORD_LINK_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const checkResetPasswordLinkIsLoading = loading => {\r\n return {\r\n type: CHECK_RESET_PASSWORD_LINK_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const checkResetPasswordLinkError = error => {\r\n return {\r\n type: CHECK_RESET_PASSWORD_LINK_ERROR,\r\n error\r\n };\r\n};","import { \r\n GET_CONFIG_PARAMS_SUCCESS,\r\n GET_CONFIG_PARAMS_IS_LOADING,\r\n GET_CONFIG_PARAMS_ERROR\r\n } from \"../../../actions/area-riservata/config-params-actions/get-config-params-actions\";\r\n\r\nconst initialState = {\r\n get_config_params: {\r\n isLoading: false,\r\n pristine: true,\r\n }\r\n};\r\n\r\nexport const handlers = {\r\n [GET_CONFIG_PARAMS_SUCCESS]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n get_config_params: {\r\n isLoading: false,\r\n pristine: false,\r\n config_params: action.payload\r\n }\r\n };\r\n },\r\n [GET_CONFIG_PARAMS_IS_LOADING]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n get_config_params: {\r\n ...state.get_config_params,\r\n isLoading: true\r\n }\r\n };\r\n },\r\n [GET_CONFIG_PARAMS_ERROR]: (state = initialState, action) => {\r\n return {\r\n ...state,\r\n get_config_params: {\r\n ...state.get_config_params,\r\n isLoading: false,\r\n pristine: false,\r\n error: action.error\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default { initialState, handlers };","import { createReducer } from \"../../createReducer\";\r\nimport getConfigParamsReducers from \"./get-config-params-reducers\";\r\n\r\n\r\nexport default createReducer([\r\n getConfigParamsReducers\r\n]);","import { GET_ENTI_BY_AUTH_USER_ERROR, GET_ENTI_BY_AUTH_USER_IS_LOADING, GET_ENTI_BY_AUTH_USER_SUCCESS } from \"../../actions/authentication/get-enti-actions\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n pristine: true\r\n };\r\n\r\nexport default function(state = initialState, action) {\r\n switch (action.type) {\r\n case GET_ENTI_BY_AUTH_USER_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n enti: action.payload\r\n };\r\n case GET_ENTI_BY_AUTH_USER_IS_LOADING:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n pristine: false,\r\n error: undefined,\r\n enti: undefined\r\n };\r\n case GET_ENTI_BY_AUTH_USER_ERROR:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n }","import {combineReducers} from \"redux\";\r\nimport authenticationReducer from \"./authentication/authenticationReducer\";\r\nimport enteByUtenteReducer from \"./authentication/enteByUtenteReducer\";\r\nimport categorieEnte from \"./area-riservata/enti-reducers/categorieEnte\";\r\nimport tipologieEnte from \"./area-riservata/enti-reducers/tipologieEnte\";\r\nimport ricercaRichiestaAccordoFruizione from \"./area-riservata/enti-reducers/ricercaRichiestaAccordoFruizione\";\r\nimport richiestaFormData from \"./area-riservata/enti-reducers/richiestaFormData\";\r\nimport richiestaStandardAccordoFruizioneForm from \"./area-riservata/enti-reducers/richiestaStandardAccordoFruizioneForm\";\r\nimport casiUsoReducer from \"./area-riservata/enti-reducers/casiUsoReducer\";\r\nimport salvaRichiestaAccordoInStatoInserito from \"./area-riservata/enti-reducers/salvaRichiestaAccordoInStatoInserito\";\r\nimport uploadFileAccordoFruizioneFirmatoReducer from \"./area-riservata/enti-reducers/uploadFileAccordoFruizioneFirmatoReducer\";\r\nimport getFileAccordoToDownloadReducer from \"./area-riservata/enti-reducers/getFileAccordoToDownloadReducer\";\r\nimport decodificheStatiAccordoReducer from \"./area-riservata/decodificheStatiAccordoReducer\";\r\nimport decodificheTipiUtenteReducer from \"./area-riservata/decodificheTipiUtenteReducer\";\r\nimport categorieSpecificheEnteReducer from \"./area-riservata/enti-reducers/categorieSpecificheEnteReducer\";\r\nimport annullaRichiestaAccreditamento from \"./area-riservata/enti-reducers/annullaRichiestaAccreditamento\";\r\nimport pecReducer from \"./area-riservata/enti-reducers/pecReducer\";\r\nimport generaCredenziali from \"./area-riservata/enti-reducers/generaCredenziali\";\r\nimport salvaLaNuovaPassword from \"./area-riservata/enti-reducers/salvaLaNuovaPassword\";\r\nimport attivazioneAccreditamento from \"./area-riservata/enti-reducers/attivazioneAccreditamento\";\r\nimport utenteLinkScadutoReducer from \"./area-riservata/enti-reducers/utenteLinkScadutoReducer\";\r\nimport decodificheStatoUtenteReducer from \"./area-riservata/decodificheStatoUtenteReducer\";\r\nimport decodificheStatoNormativaReducer from \"./area-riservata/decodificheStatoNormativaReducer\";\r\nimport appLoadingReducer from \"./appLoadingReducer\";\r\nimport setHighestFormStepAccessedReducer from \"./area-riservata/enti-reducers/setHighestFormStepAccessedReducer\";\r\nimport setUtenteAggiornatoReducer from \"./area-riservata/setUtenteAggiornatoReducer\";\r\nimport accordiReducers from \"./area-riservata/accordi-reducers\";\r\nimport decodificheReducers from \"./area-riservata/decodifiche-reducers\";\r\nimport entiReducers from \"./area-riservata/enti-reducers\";\r\nimport normativeReducers from './area-riservata/normative-reducers';\r\nimport casiUsoReducers from \"./area-riservata/casi-uso-reducers\";\r\nimport spinnerReducer from \"./spinnerReducer\";\r\nimport utilsReducers from \"./area-riservata/utils-reducers\";\r\nimport ipReducers from \"./area-riservata/ip-reducers\";\r\nimport interfacceReducers from \"./area-riservata/interfacce-reducers\";\r\nimport tipologieReducers from \"./area-riservata/tipologie-categorie-reducers/tipologie-reducers\";\r\nimport categorieReducers from \"./area-riservata/tipologie-categorie-reducers/categorie-reducers\";\r\nimport categorieSpecificheReducers from \"./area-riservata/tipologie-categorie-reducers/categorie-specifiche-reducers\";\r\nimport accreditamentoReducers from \"./area-riservata/accreditamento-reducers\";\r\nimport constantsReducers from \"./area-riservata/constants-reducers\";\r\nimport commonReducers from \"./common\";\r\nimport configParamsReducers from \"./area-riservata/config-params-reducers\";\r\nimport entiByAuthUser from \"./authentication/entiByAuthUser\";\r\n\r\nconst appReducer = combineReducers({\r\n authentication: authenticationReducer,\r\n accreditamento: accreditamentoReducers,\r\n app_loading: appLoadingReducer,\r\n common: commonReducers,\r\n config: configParamsReducers,\r\n constants: constantsReducers,\r\n decodifiche: decodificheReducers,\r\n gestione_accordi: accordiReducers,\r\n gestione_casi_uso: casiUsoReducers,\r\n gestione_enti: entiReducers,\r\n gestione_ip: ipReducers,\r\n gestione_interfacce: interfacceReducers,\r\n gestione_normative: normativeReducers,\r\n gestione_tipologie: tipologieReducers,\r\n gestione_categorie: categorieReducers,\r\n gestione_categorie_specifiche: categorieSpecificheReducers,\r\n utils: utilsReducers,\r\n decodifiche_stati_accordo: decodificheStatiAccordoReducer,\r\n decodifiche_tipi_utente: decodificheTipiUtenteReducer,\r\n decodifiche_stato_utente: decodificheStatoUtenteReducer,\r\n decodifiche_stato_normativa: decodificheStatoNormativaReducer,\r\n spinner: spinnerReducer,\r\n ente_by_utente: enteByUtenteReducer,\r\n categorie_ente: categorieEnte,\r\n categorie_specifiche_ente: categorieSpecificheEnteReducer,\r\n tipologie_ente: tipologieEnte,\r\n ricerca_richiesta_accordo_fruizione: ricercaRichiestaAccordoFruizione,\r\n richiesta_form_data: richiestaFormData,\r\n richiesta_standard_accordo_fruizioneForm: richiestaStandardAccordoFruizioneForm,\r\n casi_uso: casiUsoReducer,\r\n salva_richiesta_accordo_in_stato_inserito: salvaRichiestaAccordoInStatoInserito,\r\n upload_file_accordo_fruizione_firmato_reducer: uploadFileAccordoFruizioneFirmatoReducer,\r\n get_file_accordo_to_download: getFileAccordoToDownloadReducer,\r\n set_highest_form_step_accessed_reducer: setHighestFormStepAccessedReducer,\r\n annulla_accreditamento: annullaRichiestaAccreditamento,\r\n pec: pecReducer,\r\n credenzialiGenerati: generaCredenziali,\r\n salva_password: salvaLaNuovaPassword,\r\n attivazione_accreditamento: attivazioneAccreditamento,\r\n utente_link_scaduto: utenteLinkScadutoReducer,\r\n utenteAggiornato: setUtenteAggiornatoReducer,\r\n enti_by_auth_user: entiByAuthUser\r\n});\r\n\r\nconst rootReducer = (state, action) => {\r\n /** Reset nel caso del cambio utenza */\r\n if (action.type === 'GET_UTENTE_BY_SELEZIONE_ENTE_SUCCESS') {\r\n return appReducer({\r\n authentication: state.authentication,\r\n decodifiche: state.decodifiche,\r\n config: state.config\r\n }, action)\r\n }\r\n return appReducer(state, action)\r\n}\r\n\r\nexport default rootReducer;\r\n","export const SET_SPINNER_ENABLED = \"SET_SPINNER_ENABLED\";\r\nexport const SET_SPINNER_DISABLED = \"SET_SPINNER_DISABLED\";\r\n\r\nexport const setSpinnerEnabled = () => {\r\n return {\r\n type: SET_SPINNER_ENABLED\r\n };\r\n};\r\n\r\nexport const setSpinnerDisabled = () => {\r\n return {\r\n type: SET_SPINNER_DISABLED\r\n };\r\n};\r\n","export const GET_ENTI_BY_AUTH_USER_SUCCESS = 'GET_ENTI_BY_AUTH_USER_SUCCESS';\r\nexport const GET_ENTI_BY_AUTH_USER_IS_LOADING = 'GET_ENTI_BY_AUTH_USER_IS_LOADING';\r\nexport const GET_ENTI_BY_AUTH_USER_ERROR = 'GET_ENTI_BY_AUTH_USER_ERROR';\r\n\r\nexport const getEntiByAuthUserSuccess = (payload) => {\r\n return {\r\n type: GET_ENTI_BY_AUTH_USER_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getEntiByAuthUserIsLoading = () => {\r\n return {\r\n type:GET_ENTI_BY_AUTH_USER_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getEntiByAuthUserError = () => {\r\n return {\r\n type:GET_ENTI_BY_AUTH_USER_ERROR,\r\n };\r\n};","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport appReducer from \"./reducers\";\r\n\r\nconst initialState = {};\r\n\r\nconst composeEnhancers =\r\n typeof window === 'object' &&\r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?\r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\r\n // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...\r\n }) : compose;\r\n\r\nconst enhancer = composeEnhancers(\r\n applyMiddleware(thunk),\r\n);\r\n\r\nconst rootReducer = (state, action) => {\r\n if (action.type === 'USER_LOGGED_OUT') {\r\n state = {\r\n decodifiche: state.decodifiche\r\n }\r\n }\r\n return appReducer(state, action)\r\n}\r\n\r\nconst store = createStore(\r\n\trootReducer,\r\n\tinitialState,\r\n enhancer\r\n);\r\n\r\nexport default store;","import axios from \"axios\";\r\nimport { logoutUser } from \"../../redux/actions/authentication/actions\";\r\nimport store from \"../../redux/store\";\r\n\r\n//Add a response interceptor\r\n\r\naxios.interceptors.response.use(\r\n response => {\r\n return response;\r\n },\r\n error => {\r\n if (error.response && \r\n error.response.status === 401) {\r\n store.dispatch(logoutUser());\r\n return Promise.reject(error);\r\n }\r\n\r\n return Promise.reject(error);\r\n }\r\n);\r\n","import React from 'react';\r\n\r\nexport const DecodificheContext = React.createContext();\r\nexport const AuthContext = React.createContext();","export function isNullOrUndefined(value, emptyStringFlag) {\r\n if ((typeof value === 'undefined') \r\n || (value === null)\r\n || (emptyStringFlag && !value.length)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};","import React, { Fragment, PureComponent } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { logoutUser } from \"../../../redux/actions/authentication/actions\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport {\r\n decodificheTipiUtente,\r\n decodificheStatiAccordo,\r\n decodificheStatoUtente,\r\n decodificheStatoNormativa\r\n} from \"../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport $ from \"jquery\";\r\n\r\nimport { getIdDecodificaByVariabile } from \"../../common/decodifiche\";\r\n\r\nimport { compose } from \"redux\";\r\nimport { isNullOrUndefined } from \"../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nconst data = {};\r\n\r\nclass Navbar extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = { data, utenteChanged: false };\r\n }\r\n\r\n componentDidMount() {\r\n $('[data-toggle=\"popover\"]').popover();\r\n axios\r\n .get(\"/anpr-portale-enti-be-web/jaxrs-public/config/load/navmenu\")\r\n .then(response => response.data)\r\n .then(data => this.setState({ data }));\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.authentication.utente !== this.props.authentication.utente) {\r\n this.setState({\r\n utenteChanged: !this.state.utenteChanged\r\n });\r\n $('[data-toggle=\"popover\"]').popover();\r\n }\r\n if (\r\n this.props.decodifiche_tipi_utente.tipi_utente !==\r\n prevProps.decodifiche_tipi_utente.tipi_utente ||\r\n this.props.decodifiche_stati_accordo.stati_accordo !==\r\n prevProps.decodifiche_stati_accordo.stati_accordo ||\r\n this.props.decodifiche_stato_utente.stati_utente !==\r\n prevProps.decodifiche_stato_utente.stati_utente\r\n ) {\r\n this.setState({ addedTypes: true });\r\n $('[data-toggle=\"popover\"]').popover();\r\n }\r\n }\r\n\r\n render() {\r\n const { data } = this.state;\r\n\r\n function checkHidden(id) {\r\n return data[id] !== \"Allow\";\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nNavbar.propTypes = {\r\n logoutUser: PropTypes.func.isRequired,\r\n authentication: PropTypes.object.isRequired,\r\n ricerca_richiesta_accordo_fruizione: PropTypes.object.isRequired,\r\n ente_by_utente: PropTypes.object.isRequired,\r\n\r\n decodifiche_stati_accordo: PropTypes.object.isRequired,\r\n decodifiche_tipi_utente: PropTypes.object.isRequired,\r\n decodifiche_stato_utente: PropTypes.object.isRequired,\r\n\r\n decodificheTipiUtente: PropTypes.func.isRequired,\r\n decodificheStatiAccordo: PropTypes.func.isRequired,\r\n decodificheStatoUtente: PropTypes.func.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n authentication: state.authentication,\r\n ente_by_utente: state.ente_by_utente,\r\n ricerca_richiesta_accordo_fruizione:\r\n state.ricerca_richiesta_accordo_fruizione,\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n decodifiche_tipi_utente: state.decodifiche.tipi_utente,\r\n decodifiche_stato_utente: state.decodifiche.stati_utente,\r\n decodifiche_stato_normativa: state.decodifiche.stati_normativa,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logoutUser: loggingDetails => dispatch(logoutUser(loggingDetails)),\r\n decodificheTipiUtente: () => dispatch(decodificheTipiUtente()),\r\n decodificheStatiAccordo: () => dispatch(decodificheStatiAccordo()),\r\n decodificheStatoUtente: () => dispatch(decodificheStatoUtente()),\r\n decodificheStatoNormativa: () => dispatch(decodificheStatoNormativa()),\r\n});\r\n\r\nexport default compose(\r\n withRouter,\r\n connect(mapStateToProps, mapDispatchToProps)\r\n)(Navbar);\r\n","import React, { useEffect } from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport logoBlue from \"../../../resources/img/logo_anpr_blue.svg\";\r\nimport logoWhite from \"../../../resources/img/logo_anpr_white.svg\";\r\nimport $ from 'jquery';\r\nimport { DecodificheContext } from \"../../../contexts\";\r\nimport Navbar from \"./Navbar\";\r\nimport { connect } from \"react-redux\";\r\nimport { logoutUser } from \"../../../redux/actions/authentication/actions\";\r\nimport { compose } from \"redux\";\r\n\r\n\r\nconst UI_MD_BREAKPOINT = 768;\r\n\r\nconst TopBar = ({ authentication }) => {\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\tMinistero dell'Interno\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t!authentication.utente && \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tAccedi\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst StickyBar = ({isNavbarVisible}) => (\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tisNavbarVisible &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"Logo\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n);\r\n\r\n\r\nconst Header = ({ authentication, history, enteUtente, logout }) => {\r\n\r\n\tconst displayEnte = () => {\r\n\t\tif (enteUtente?.ente) {\r\n\t\t\tconst denominazione = enteUtente.ente.denominazione;\r\n\t\t\treturn (\r\n\t\t\t\t

\r\n\t\t\t\t\tEnte: {denominazione}\r\n\t\t\t\t

\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleWindowChange = () => {\r\n\t\tconst y = $(document).scrollTop();\r\n\t\tconst stickyHeaderTriggerPosition = $(\"#agenzia-header\").height() + $(\"#page-header\").height();\r\n\t\tconst stickyHeader = $('#sticky-header');\r\n\t\tconst topMenu = $('#menu-top');\r\n\t\tconst mainMenu = $(\"#main-menu\");\r\n\t\tif (window.innerWidth < UI_MD_BREAKPOINT && y > stickyHeaderTriggerPosition) {\r\n\t\t\tstickyHeader.fadeIn();\r\n\t\t\ttopMenu.addClass(\"mt-5 pt-4\");\r\n\t\t\tmainMenu.addClass(\"sticky-top\");\r\n\t\t} else {\r\n\t\t\tstickyHeader.fadeOut();\r\n\t\t\ttopMenu.removeClass(\"mt-5 pt-4\");\r\n\t\t\tmainMenu.removeClass(\"sticky-top\");\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\r\n\t\t$(function () {\r\n\t\t\t$(window).on('resize.sticky-header', handleWindowChange);\r\n\t\t\t$(document).on('scroll.sticky-header', handleWindowChange);\r\n\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\t$(window).off('resize.sticky-header');\r\n\t\t\t$(document).off('scroll.sticky-header');\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst isNavbarVisible = authentication?.utente && ![\"/area-riservata/informativa-privacy\"].includes(history?.location.pathname);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tisNavbarVisible &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"Logo\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\tAnagrafe Nazionale Unica. Per tutti.\r\n\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{ authentication?.utente &&\r\n\t\t\t\t\t\t\t\t\t\t![\"/area-riservata/informativa-privacy\"].includes(history?.location.pathname)\r\n\t\t\t\t\t\t\t\t\t\t&&\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* Utente */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tUtente: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`${authentication.utente.nome} ${authentication.utente.cognome}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* Ente */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{displayEnte()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{authentication.utente.altrienti &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t{\r\n\t\t\t\tisNavbarVisible &&\r\n\t\t\t\t\r\n\t\t\t\t\t{({ decodifiche }) => (decodifiche && )}\r\n\t\t\t\t\r\n\t\t}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n\tenteUtente: state.ente_by_utente\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logout: redirect => dispatch(logoutUser(redirect))\r\n})\r\n\r\nexport default compose(\r\n\twithRouter,\r\n\tconnect(mapStateToProps, mapDispatchToProps)\r\n )(Header);\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\n\r\nconst Footer = () => {\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Footer;\r\n","import React, {Fragment} from 'react';\r\nimport {connect} from \"react-redux\";\r\n\r\nconst Spinner = (\r\n {\r\n label = 'Caricamento in corso...',\r\n spin,\r\n size = 3,\r\n overlay,\r\n extraClasses = 'text-primary ',\r\n extraStyle = {},\r\n ...props\r\n }) => (\r\n\r\n \r\n
\r\n \r\n {label}\r\n
\r\n
\r\n);\r\n\r\nexport default Spinner;\r\n\r\nexport const SpinnerOverlay = connect(state => ({\r\n spinner: state.spinner\r\n}))((\r\n {\r\n extraClasses,\r\n spin = true,\r\n label = 'Caricamento in corso...',\r\n size = 5,\r\n spinner\r\n }) => {\r\n const parentStyle = {\r\n position: \"fixed\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n //background: \"rgba(0,0,0, 0.3\",\r\n background: \"rgb(255 255 255 / 30%)\",\r\n zIndex: \"99999\"\r\n }\r\n\r\n const containerStyle = {\r\n width: \"100%\",\r\n height: \"100%\"\r\n }\r\n\r\n return (\r\n \r\n {\r\n spinner?.enabled &&\r\n
\r\n
\r\n
\r\n
\r\n \r\n {label}\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n )\r\n }\r\n);\r\n","import React from 'react';\r\n\r\nconst Row = ({\r\n justify = \"left\",\r\n align = \"start\",\r\n extraClasses = \"\",\r\n children,\r\n extraStyle = {},\r\n}) => {\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n};\r\n\r\nexport default Row;","import React, { Fragment } from 'react';\r\nimport Row from '../../ui/row';\r\n\r\nconst ErrorPage = ({ history }) => {\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

Il sistema non è al momento disponibile

\r\n

Ci scusiamo per l'inconveniente.

\r\n

Si prega di riprovare più tardi.

\r\n window.location.href = (process.env.REACT_APP_ROUTER_BASE || '/')}\r\n className=\"btn-link link\"\r\n >\r\n Ricarica la pagina\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ErrorPage;","import React from 'react';\r\n\r\nconst PageWrapper = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\nexport default PageWrapper;","import React from 'react';\r\n\r\nconst Accordion = ({\r\n id,\r\n open = false,\r\n summary: Summary,\r\n textSummary,\r\n summaryProps,\r\n details: Details,\r\n detailsProps,\r\n extraClasses = '',\r\n cardType = 'default'\r\n}) => {\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n};\r\n\r\nexport default Accordion;","import React, { Fragment, forwardRef, useEffect, useRef } from 'react';\r\n\r\nconst AutoToggleButton = forwardRef(({\r\n type = 'button',\r\n onClick = () => null,\r\n toggle,\r\n label,\r\n ...props\r\n}, ref) => {\r\n const autoToggleButton = useRef();\r\n useEffect(() => {\r\n if (autoToggleButton.current && !!toggle) {\r\n autoToggleButton.current.click();\r\n }\r\n }, [toggle, autoToggleButton])\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n);\r\n\r\nexport default AutoToggleButton;","import React from 'react';\r\n\r\nconst Icon = ({\r\n icon,\r\n size,\r\n ariaLabel,\r\n color,\r\n bgcolor,\r\n colorClass,\r\n extraClasses = 'm-auto',\r\n extraStyle = {},\r\n ...rest\r\n}) => {\r\n size = size ? 'fa-' + size +'x' : '';\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport default Icon;","import React, { Fragment, forwardRef } from 'react';\r\nimport Icon from '../icon';\r\n\r\nconst Button = forwardRef(({\r\n id,\r\n name,\r\n label,\r\n type = 'button',\r\n onClick,\r\n srOnly,\r\n buttonClass = 'primary',\r\n extraClasses = '',\r\n icon,\r\n iconClass = '',\r\n iconSize,\r\n ...rest\r\n}, ref) => {\r\n return (\r\n \r\n \r\n {label}\r\n {icon &&\r\n \r\n }\r\n \r\n \r\n )\r\n}\r\n);\r\n\r\nexport default Button;","import React, { Fragment } from 'react';\r\nimport { IconButton } from '..';\r\nimport $ from 'jquery';\r\n\r\nconst Tooltip = ({\r\n id,\r\n children,\r\n title,\r\n content,\r\n placement = 'left',\r\n trigger = 'hover',\r\n icon,\r\n iconClasses,\r\n iconStyle,\r\n label,\r\n type = 'button',\r\n srOnly = true,\r\n buttonClass = \"default\",\r\n extraClasses = '',\r\n disabled,\r\n onClick,\r\n ...rest\r\n}) => {\r\n\r\n const createTooltip = () => {\r\n $(`#${id}-pop-over`).popover({\r\n html: true,\r\n content: function () {\r\n return $('#popover_content_wrapper_' + id).html();\r\n }\r\n });\r\n };\r\n\r\n const handleClick = () => {\r\n $(`#${id}-pop-over`).popover('hide');\r\n onClick && onClick();\r\n }\r\n\r\n let Tag = children\r\n ? ({ children, ...props }) => (\r\n \r\n {children}\r\n \r\n )\r\n : ({ ...props }) => (\r\n );\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n
\r\n {content}\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Tooltip;","import React, { Fragment, forwardRef } from 'react';\r\nimport Tooltip from '../tooltip';\r\n\r\nconst Input = forwardRef(({\r\n id,\r\n name,\r\n value,\r\n getValue,\r\n placeholder,\r\n label,\r\n type,\r\n error,\r\n prepend,\r\n append = false,\r\n appendonclick,\r\n appendtext,\r\n onBlur,\r\n onClick,\r\n required,\r\n pattern,\r\n dimension,\r\n wrapperClasses,\r\n firstEmptyOption,\r\n uppercase,\r\n inputGroupAppend,\r\n ...rest\r\n}, ref) => {\r\n\r\n const regex = pattern ? RegExp(pattern) :\r\n type === 'tel' ? RegExp(/^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s./0-9]*$/g)\r\n : undefined;\r\n\r\n // Rendi catatteri maiuscoli se richiesto \r\n if (uppercase && value) {\r\n value = value.toLocaleUpperCase();\r\n }\r\n\r\n let appendContent;\r\n if (append === 'showpassword') {\r\n appendContent = (\r\n \r\n \r\n \r\n {appendtext}\r\n \r\n \r\n );\r\n } else if (append) {\r\n appendContent = (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n {prepend &&\r\n
\r\n {prepend === 'captcha' ?\r\n \r\n : null}\r\n
\r\n }\r\n {\r\n if (getValue) {\r\n let newval = uppercase ? e.currentTarget.value.toLocaleUpperCase() : e.currentTarget.value;\r\n if ((regex && regex.test(newval)) || !regex) {\r\n if (type === 'number' && !!newval) {\r\n getValue(parseInt(newval, 10), e);\r\n } else getValue(newval, e);\r\n } getValue(newval);\r\n }\r\n }}\r\n value={value}\r\n onBlur={onBlur}\r\n ref={ref}\r\n {...rest}\r\n />\r\n {append &&
{appendContent}
}\r\n {inputGroupAppend}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n);\r\n\r\nexport default Input;","import React, { useState, Fragment, useRef } from 'react';\r\nimport Input from '../input';\r\nimport Spinner from '../spinner';\r\n\r\nconst Captcha = ({\r\n id,\r\n name,\r\n value,\r\n label,\r\n error,\r\n getValue,\r\n onBlur,\r\n extraclasses,\r\n disabled,\r\n}) => {\r\n\r\n const captchaUrl = '/anpr-portale-enti-be-web/jaxrs-public/captcha';\r\n const [captchaMediaIsLoading, setCaptchaMediaIsLoading] = useState(true);\r\n const imgCaptchaRef = useRef();\r\n const audioCaptchaRef = useRef();\r\n const [imageSource, setImageSource] = useState(captchaUrl);\r\n const [audioSource, setAudioSource] = useState();\r\n\r\n function currentTimestamp() {\r\n return new Date().getTime();\r\n };\r\n\r\n function updateCaptchaImage() {\r\n setCaptchaMediaIsLoading(true);\r\n setImageSource(captchaUrl + '?v=' + currentTimestamp());\r\n };\r\n\r\n function updateCaptchaAudio() {\r\n setCaptchaMediaIsLoading(true);\r\n setAudioSource(captchaUrl + '?type=audio&v=' + currentTimestamp())\r\n };\r\n\r\n function playAudio() {\r\n if (audioCaptchaRef.current.paused) {\r\n audioCaptchaRef.current.currentTime = 0;\r\n audioCaptchaRef.current.play();\r\n } else {\r\n audioCaptchaRef.current.pause();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n {label ? label : 'Codice di sicurezza'}\r\n \r\n \r\n
\r\n
\r\n {/** Questo deve caricarsi subito */}\r\n { updateCaptchaAudio() }}\r\n />\r\n
\r\n
\r\n
!disabled ? playAudio() : null} >\r\n Audio\r\n\t\t\t
\r\n setCaptchaMediaIsLoading(false)}\r\n />\r\n
disabled ? null : updateCaptchaImage()} className={`btn d-block my-2 px-0 text-left ${disabled ? 'text-light' : ''}`}>Altra immagine
\r\n
disabled ? null : updateCaptchaAudio()} className={`btn d-block mt-2 mb-3 px-0 text-left ${disabled ? 'text-light' : ''}`}> Altro audio
\r\n
\r\n {captchaMediaIsLoading\r\n && !disabled &&\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n Inserisci i caratteri che vedi o che senti\r\n \r\n }\r\n prepend=\"captcha\"\r\n autoComplete=\"off\"\r\n disabled={disabled}\r\n />\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Captcha;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from '../icon';\r\n\r\nconst Card = ({\r\n id,\r\n children,\r\n type = 'default',\r\n title,\r\n wrapperClasses = '',\r\n titleClasses = '',\r\n headerClasses = '',\r\n bodyClasses = '',\r\n footer,\r\n titleHeading = 'h3',\r\n vertical = false,\r\n icon,\r\n iconType = 'primary',\r\n headerIcon\r\n}) => {\r\n const HeadingTag = titleHeading;\r\n return (\r\n
\r\n {!vertical ?\r\n
\r\n {title || ''}\r\n {headerIcon &&\r\n \r\n }\r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n {vertical && title &&\r\n {title}\r\n }\r\n {children}\r\n
\r\n {footer && !vertical &&\r\n
\r\n {footer}\r\n
\r\n }\r\n
\r\n )\r\n};\r\n\r\n\r\nCard.propTypes = {\r\n id: PropTypes.string,\r\n type: PropTypes.oneOf(['default', 'primary', 'info', 'disabled']),\r\n iconType: PropTypes.oneOf(['default', 'primary', 'info', 'disabled']),\r\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n children: PropTypes.node.isRequired,\r\n footer: PropTypes.node,\r\n wrapperClasses: PropTypes.string,\r\n titleClasses: PropTypes.string,\r\n titleHeading: PropTypes.oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']),\r\n vertical: PropTypes.bool\r\n};\r\n\r\nexport default Card;","import React from 'react';\r\n\r\nconst Chip = ({\r\n id,\r\n label,\r\n chipIcon,\r\n functionIcon = 'times',\r\n functionIconTitle,\r\n functionIconSRLabel,\r\n callback,\r\n extraClasses,\r\n disabled,\r\n ...rest\r\n}) => (\r\n
\r\n \r\n {label}\r\n !disabled && callback(e.currentTarget.id)}\r\n aria-label={functionIconSRLabel}\r\n >\r\n \r\n \r\n
\r\n );\r\n\r\nexport default Chip;\r\n","import React, { forwardRef, useRef, useState, useEffect } from 'react';\r\nimport ReactDatePicker from 'react-datepicker';\r\nimport it from \"date-fns/locale/it\";\r\nimport moment from 'moment';\r\nimport $ from 'jquery';\r\n\r\nconst DATE_FORMAT = \"DD/MM/YYYY\";\r\n\r\nconst generateYears = () => {\r\n const max = new Date().getFullYear() + 20;\r\n let years = []\r\n\r\n for (var i = 1900; i <= max; i++) {\r\n years.push(i)\r\n }\r\n return years\r\n};\r\n\r\nconst MONTHS = [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"];\r\n\r\nconst DatePicker = ({\r\n id,\r\n name,\r\n label,\r\n extralabel,\r\n value,\r\n error,\r\n getValue,\r\n onBlur,\r\n filterDate,\r\n autoComplete = 'off',\r\n extraclasses,\r\n wrapperClasses,\r\n required,\r\n dimension,\r\n disabled,\r\n ...rest\r\n}) => {\r\n\r\n const [inputValue, setInputValue] = useState();\r\n const datePickerRef = useRef(null);\r\n\r\n const isValidDate = d => d instanceof Date && !isNaN(d);\r\n const parseDate = d => d ? moment(d, DATE_FORMAT, true).toDate() : undefined;\r\n const formatDate = d => d ? moment(d).format(DATE_FORMAT) : \"\";\r\n\r\n useEffect(() => {\r\n $(document).on('focus', '.react-datepicker__day', function() {\r\n const l = $(this).attr('aria-label');\r\n $(this).attr('aria-label', l.replace(/Choose|Not available/, ''));\r\n });\r\n }, []);\r\n\r\n const handleInputChange = e => {\r\n const val = e.target.value;\r\n setInputValue(val);\r\n getValue(parseDate(val));\r\n };\r\n\r\n const handleDatepickerChange = d => {\r\n getValue(d);\r\n };\r\n\r\n if ((!value && inputValue) || (isValidDate(value) && formatDate(value) !== inputValue)) {\r\n setInputValue(formatDate(value));\r\n }\r\n\r\n const createCustomHeader = ({\r\n date,\r\n changeYear,\r\n changeMonth,\r\n decreaseMonth,\r\n increaseMonth,\r\n prevMonthButtonDisabled,\r\n nextMonthButtonDisabled,\r\n }) => (\r\n <>\r\n
{date.toLocaleDateString(\"it-IT\", { year: 'numeric', month: 'long' })}
\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n );\r\n\r\n const DatePickerTrigger = forwardRef(() => {\r\n\r\n const handleClick = () => {\r\n const dp = datePickerRef.current;\r\n dp && dp.setOpen(!dp.state.open);\r\n };\r\n\r\n const handleKeyDown = (e) => {\r\n datePickerRef.current && datePickerRef.current.onPopperKeyDown(e);\r\n };\r\n\r\n const dateVal = value && isValidDate(value) ? value.toLocaleDateString(\"it-IT\", { year: 'numeric', month: 'long', day: 'numeric' }) : null;\r\n\r\n return (\r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n \r\n
\r\n\r\n {/* Input field */}\r\n \r\n\r\n {/* Datepicker trigger */}\r\n
\r\n }\r\n locale={it}\r\n selected={value && isValidDate(value) ? value : null}\r\n onChange={handleDatepickerChange}\r\n filterDate={filterDate}\r\n showMonthDropdown={true}\r\n showYearDropdown={true}\r\n dropdownMode=\"select\"\r\n popperPlacement=\"bottom-end\"\r\n role=\"dialog\"\r\n />\r\n
\r\n\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default DatePicker;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst DetailsTable = ({\r\n id,\r\n title,\r\n rows,\r\n extraClasses,\r\n layoutFixed,\r\n labelColStyle\r\n}) => {\r\n // console.log(\"[DetailsTable] Rows = %o\", rows);\r\n \r\n // Label column style\r\n const defaultLabelColStyle = {\r\n verticalAlign: \"top\"\r\n }\r\n labelColStyle = labelColStyle ? {...defaultLabelColStyle, ...labelColStyle} : defaultLabelColStyle\r\n\r\n return (\r\n
\r\n \r\n {rows && rows.length ?\r\n {title}\r\n : null\r\n }\r\n \r\n {rows.map((row, index) => (\r\n \r\n {row.label}\r\n {row.value}\r\n \r\n ))}\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n\r\nDetailsTable.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n rows: PropTypes.array,\r\n extraClasses: PropTypes.string,\r\n};\r\n\r\nexport default DetailsTable;","export const diacriticCharacters = [\r\n {\r\n code: '193',\r\n character: 'Á',\r\n description: 'A acuta'\r\n },\r\n {\r\n code: '225',\r\n character: 'á',\r\n description: 'a acuta'\r\n },\r\n {\r\n code: '192',\r\n character: 'À',\r\n description: 'A grave'\r\n },\r\n {\r\n code: '224',\r\n character: 'à',\r\n description: 'a grave'\r\n },\r\n {\r\n code: '194',\r\n character: 'Â',\r\n description: 'A circonflessa'\r\n },\r\n {\r\n code: '226',\r\n character: 'â',\r\n description: 'a circonflessa'\r\n },\r\n {\r\n code: '196',\r\n character: 'Ä',\r\n description: 'A dieresi'\r\n },\r\n {\r\n code: '228',\r\n character: 'ä',\r\n description: 'a dieresi'\r\n },\r\n {\r\n code: '258',\r\n character: 'Ă',\r\n description: 'A breve'\r\n },\r\n {\r\n code: '259',\r\n character: 'ă',\r\n description: 'a breve'\r\n },\r\n {\r\n code: '256',\r\n character: 'Ā',\r\n description: 'A linea'\r\n },\r\n {\r\n code: '257',\r\n character: 'ā',\r\n description: 'a linea'\r\n },\r\n {\r\n code: '195',\r\n character: 'Ã',\r\n description: 'A tilde'\r\n },\r\n {\r\n code: '227',\r\n character: 'ã',\r\n description: 'a tilde'\r\n },\r\n {\r\n code: '197',\r\n character: 'Å',\r\n description: 'A tondo'\r\n },\r\n {\r\n code: '229',\r\n character: 'å',\r\n description: 'a tondo',\r\n },\r\n {\r\n code: '260',\r\n character: 'Ą',\r\n description: 'A ogonekk',\r\n },\r\n {\r\n code: '261',\r\n character: 'ą',\r\n description: 'a ogonekk',\r\n },\r\n {\r\n code: '198',\r\n character: 'Æ',\r\n description: 'Insieme AE'\r\n },\r\n {\r\n code: '230',\r\n character: 'æ',\r\n description: 'Insieme ae'\r\n },\r\n {\r\n code: '262',\r\n character: 'Ć',\r\n description: 'C acuta',\r\n },\r\n {\r\n code: '263',\r\n character: 'ć',\r\n description: 'c acuta',\r\n },\r\n {\r\n code: '266',\r\n character: 'Ċ',\r\n description: 'C punto',\r\n },\r\n {\r\n code: '267',\r\n character: 'ċ',\r\n description: 'c punto',\r\n },\r\n {\r\n code: '264',\r\n character: 'Ĉ',\r\n description: 'C circonflessa',\r\n },\r\n {\r\n code: '265',\r\n character: 'ĉ',\r\n description: 'c circonflessa',\r\n },\r\n {\r\n code: '268',\r\n character: 'Č',\r\n description: 'C caron',\r\n },\r\n {\r\n code: '269',\r\n character: 'č',\r\n description: 'c caron',\r\n },\r\n {\r\n code: '199',\r\n character: 'Ç',\r\n description: 'C cedilla',\r\n },\r\n {\r\n code: '231',\r\n character: 'ç',\r\n description: 'c cedilla',\r\n },\r\n {\r\n code: '270',\r\n character: 'Ď',\r\n description: 'D caron',\r\n },\r\n {\r\n code: '271',\r\n character: 'ď',\r\n description: 'd caron',\r\n },\r\n {\r\n code: '272',\r\n character: 'Đ',\r\n description: 'Eth D'\r\n },\r\n {\r\n code: '273',\r\n character: 'đ',\r\n description: 'Eth D'\r\n },\r\n {\r\n code: '208',\r\n character: 'Ð',\r\n description: 'Eth D'\r\n },\r\n {\r\n code: '393',\r\n character: 'Ɖ',\r\n description: 'Eth D'\r\n },\r\n {\r\n code: '201',\r\n character: 'É',\r\n description: 'E acuta'\r\n },\r\n {\r\n code: '233',\r\n character: 'é',\r\n description: 'e acuta'\r\n },\r\n {\r\n code: '200',\r\n character: 'È',\r\n description: 'E grave'\r\n },\r\n {\r\n code: '232',\r\n character: 'è',\r\n description: 'e grave'\r\n },\r\n {\r\n code: '278',\r\n character: 'Ė',\r\n description: 'E punto'\r\n },\r\n {\r\n code: '279',\r\n character: 'ė',\r\n description: 'e punto'\r\n },\r\n {\r\n code: '202',\r\n character: 'Ê'\r\n , description: 'E circonflessa'\r\n },\r\n {\r\n code: '234',\r\n character: 'ê'\r\n , description: 'e circonflessa'\r\n },\r\n {\r\n code: '203',\r\n character: 'Ë',\r\n description: 'E dieresi'\r\n },\r\n {\r\n code: '235',\r\n character: 'ë',\r\n description: 'e dieresi'\r\n },\r\n {\r\n code: '282',\r\n character: 'Ě',\r\n description: 'E caron'\r\n },\r\n {\r\n code: '283',\r\n character: 'ě',\r\n description: 'e caron'\r\n },\r\n {\r\n code: '276',\r\n character: 'Ĕ',\r\n description: 'E breve'\r\n },\r\n {\r\n code: '277',\r\n character: 'ĕ',\r\n description: 'e breve'\r\n },\r\n {\r\n code: '274',\r\n character: 'Ē',\r\n description: 'E linea'\r\n },\r\n {\r\n code: '275',\r\n character: 'ē',\r\n description: 'e linea'\r\n },\r\n {\r\n code: '280',\r\n character: 'Ę'\r\n , description: 'E ogonek'\r\n },\r\n {\r\n code: '281',\r\n character: 'ę'\r\n , description: 'e ogonek'\r\n },\r\n {\r\n code: '288',\r\n character: 'Ġ',\r\n description: 'G punto'\r\n },\r\n {\r\n code: '289',\r\n character: 'ġ',\r\n description: 'g punto'\r\n },\r\n {\r\n code: '284',\r\n character: 'Ĝ'\r\n , description: 'G circonflessa'\r\n },\r\n {\r\n code: '285',\r\n character: 'ĝ'\r\n , description: 'g circonflessa'\r\n },\r\n {\r\n code: '286',\r\n character: 'Ğ',\r\n description: 'G breve'\r\n },\r\n {\r\n code: '287',\r\n character: 'ğ',\r\n description: 'g breve'\r\n },\r\n {\r\n code: '290',\r\n character: 'Ģ',\r\n description: 'G cedilla'\r\n },\r\n {\r\n code: '291',\r\n character: 'ģ',\r\n description: 'g cedilla'\r\n },\r\n {\r\n code: '292',\r\n character: 'Ĥ',\r\n description: 'H circonflessa'\r\n },\r\n {\r\n code: '293',\r\n character: 'ĥ',\r\n description: 'h circonflessa'\r\n },\r\n {\r\n code: '294',\r\n character: 'Ħ',\r\n description: 'H barra traversa'\r\n },\r\n {\r\n code: '295',\r\n character: 'ħ',\r\n description: 'h barra traversa'\r\n },\r\n {\r\n code: '73',\r\n character: 'I',\r\n description: 'i senza punto'\r\n },\r\n {\r\n code: '305',\r\n character: 'i',\r\n description: 'i punto'\r\n },\r\n {\r\n code: '105',\r\n character: 'ı',\r\n description: 'i senza punto'\r\n },\r\n {\r\n code: '205',\r\n character: 'Í',\r\n description: 'I acuta'\r\n },\r\n {\r\n code: '237',\r\n character: 'í',\r\n description: 'i acuta'\r\n },\r\n {\r\n code: '204',\r\n character: 'Ì',\r\n description: 'I grave'\r\n },\r\n {\r\n code: '236',\r\n character: 'ì',\r\n description: 'i grave'\r\n },\r\n {\r\n code: '304',\r\n character: 'İ',\r\n description: 'I punto'\r\n },\r\n {\r\n code: '206',\r\n character: 'Î',\r\n description: 'I circonflessa'\r\n },\r\n {\r\n code: '238',\r\n character: 'î',\r\n description: 'i circonflessa'\r\n },\r\n {\r\n code: '207',\r\n character: 'Ï',\r\n description: 'I dieresi'\r\n },\r\n {\r\n code: '239',\r\n character: 'ï',\r\n description: 'i dieresi'\r\n },\r\n {\r\n code: '300',\r\n character: 'Ĭ',\r\n description: 'I breve'\r\n },\r\n {\r\n code: '301',\r\n character: 'ĭ',\r\n description: 'i breve'\r\n },\r\n {\r\n code: '298',\r\n character: 'Ī',\r\n description: 'I linea'\r\n },\r\n {\r\n code: '299',\r\n character: 'ī',\r\n description: 'i linea'\r\n },\r\n {\r\n code: '296',\r\n character: 'Ĩ',\r\n description: 'I tilde'\r\n },\r\n {\r\n code: '297',\r\n character: 'ĩ',\r\n description: 'i tilde'\r\n },\r\n {\r\n code: '302',\r\n character: 'Į',\r\n description: 'I ogonek'\r\n },\r\n {\r\n code: '303',\r\n character: 'į',\r\n description: 'i ogonek'\r\n },\r\n {\r\n code: '306',\r\n character: 'IJ',\r\n description: 'Insieme'\r\n },\r\n {\r\n code: '307',\r\n character: 'ij',\r\n description: 'Insieme'\r\n },\r\n {\r\n code: '308',\r\n character: 'Ĵ',\r\n description: 'J circonflessa'\r\n },\r\n {\r\n code: '309',\r\n character: 'ĵ',\r\n description: 'j circonflessa'\r\n },\r\n {\r\n code: '310',\r\n character: 'Ķ',\r\n description: 'K cedilla'\r\n },\r\n {\r\n code: '311',\r\n character: 'ķ',\r\n description: 'k cedilla'\r\n },\r\n {\r\n code: '313',\r\n character: 'Ĺ',\r\n description: 'L acuta'\r\n },\r\n {\r\n code: '314',\r\n character: 'ĺ',\r\n description: 'l acuta'\r\n },\r\n {\r\n code: '319',\r\n character: 'Ŀ',\r\n description: 'L punto'\r\n },\r\n {\r\n code: '320',\r\n character: 'ŀ',\r\n description: 'l punto'\r\n },\r\n {\r\n code: '317',\r\n character: 'Ľ',\r\n description: 'L caron'\r\n },\r\n {\r\n code: '318',\r\n character: 'ľ',\r\n description: 'l caron'\r\n },\r\n {\r\n code: '315',\r\n character: 'Ļ',\r\n description: 'L cedilla'\r\n },\r\n {\r\n code: '316',\r\n character: 'ļ',\r\n description: 'l cedilla'\r\n },\r\n {\r\n code: '321',\r\n character: 'Ł',\r\n description: 'L barra traversa'\r\n },\r\n {\r\n code: '322',\r\n character: 'ł',\r\n description: 'l barra traversa'\r\n },\r\n {\r\n code: '323',\r\n character: 'Ń',\r\n description: 'N acuta'\r\n },\r\n {\r\n code: '324',\r\n character: 'ń',\r\n description: 'n acuta'\r\n },\r\n {\r\n code: '327',\r\n character: 'Ň',\r\n description: 'N caron'\r\n },\r\n {\r\n code: '328',\r\n character: 'ň',\r\n description: 'n caron'\r\n },\r\n {\r\n code: '209',\r\n character: 'Ñ',\r\n description: 'N tilde'\r\n },\r\n {\r\n code: '241',\r\n character: 'ñ',\r\n description: 'n tilde'\r\n },\r\n {\r\n code: '325',\r\n character: 'Ņ',\r\n description: 'N cedilla'\r\n },\r\n {\r\n code: '326',\r\n character: 'ņ',\r\n description: 'n cedilla'\r\n },\r\n {\r\n code: '329',\r\n character: 'ʼn',\r\n description: 'Eng N',\r\n },\r\n {\r\n code: '331',\r\n character: 'ŋ',\r\n description: 'Eng N',\r\n },\r\n {\r\n code: '211',\r\n character: 'Ó',\r\n description: 'O acuta'\r\n },\r\n {\r\n code: '243',\r\n character: 'ó',\r\n description: 'o acuta'\r\n },\r\n {\r\n code: '210',\r\n character: 'Ò',\r\n description: 'O grave'\r\n },\r\n {\r\n code: '242',\r\n character: 'ò',\r\n description: 'o grave'\r\n },\r\n {\r\n code: '212',\r\n character: 'Ô',\r\n description: 'O circonflessa'\r\n },\r\n {\r\n code: '244',\r\n character: 'ô',\r\n description: 'o circonflessa'\r\n },\r\n {\r\n code: '214',\r\n character: 'Ö',\r\n description: 'O dieresi'\r\n },\r\n {\r\n code: '246',\r\n character: 'ö',\r\n description: 'o dieresi'\r\n },\r\n {\r\n code: '334',\r\n character: 'Ŏ',\r\n description: 'O breve'\r\n },\r\n {\r\n code: '335',\r\n character: 'ŏ',\r\n description: 'o breve'\r\n },\r\n {\r\n code: '332',\r\n character: 'Ō',\r\n description: 'O linea'\r\n },\r\n {\r\n code: '333',\r\n character: 'ō',\r\n description: 'o linea'\r\n },\r\n {\r\n code: '213',\r\n character: 'Õ',\r\n description: 'O tilde'\r\n },\r\n {\r\n code: '245',\r\n character: 'õ',\r\n description: 'o tilde'\r\n },\r\n {\r\n code: '336',\r\n character: 'Ő',\r\n description: 'O doppia acuta'\r\n },\r\n {\r\n code: '337',\r\n character: 'ő',\r\n description: 'o doppia acuta'\r\n },\r\n {\r\n code: '216',\r\n character: 'Ø',\r\n description: 'O barra'\r\n },\r\n {\r\n code: '248',\r\n character: 'ø',\r\n description: 'o barra'\r\n },\r\n {\r\n code: '140',\r\n character: 'OE',\r\n description: ' Insieme OE'\r\n },\r\n {\r\n code: '156',\r\n character: 'oe',\r\n description: ' Insieme oe'\r\n },\r\n {\r\n code: '338',\r\n character: 'OE',\r\n description: ' Insieme OE'\r\n },\r\n {\r\n code: '339',\r\n character: 'oe',\r\n description: ' Insieme oe'\r\n },\r\n {\r\n code: '340',\r\n character: 'Ŕ',\r\n description: 'R acuta R'\r\n },\r\n {\r\n code: '341',\r\n character: 'ŕ',\r\n description: 'r acuta R'\r\n },\r\n {\r\n code: '344',\r\n character: 'Ř',\r\n description: 'R caron R'\r\n },\r\n {\r\n code: '345',\r\n character: 'ř',\r\n description: 'r caron R'\r\n },\r\n {\r\n code: '342',\r\n character: 'Ŗ',\r\n description: 'R cedilla'\r\n },\r\n {\r\n code: '343',\r\n character: 'ŗ',\r\n description: 'r cedilla'\r\n },\r\n {\r\n code: '346',\r\n character: 'Ś',\r\n description: 'S acuta S'\r\n },\r\n {\r\n code: '347',\r\n character: 'ś',\r\n description: 's acuta S'\r\n },\r\n {\r\n code: '348',\r\n character: 'Ŝ',\r\n description: 'S circonflessa'\r\n },\r\n {\r\n code: '349',\r\n character: 'ŝ ',\r\n description: 's circonflessa'\r\n },\r\n {\r\n code: '138',\r\n character: 'Š ',\r\n description: 'S caron S'\r\n },\r\n {\r\n code: '154',\r\n character: 'š ',\r\n description: 's caron S'\r\n },\r\n {\r\n code: '352',\r\n character: 'Š ',\r\n description: 'S caron S'\r\n },\r\n {\r\n code: '353',\r\n character: 'š ',\r\n description: 's caron S'\r\n },\r\n {\r\n code: '350',\r\n character: 'Ş ',\r\n description: 'S cedilla'\r\n },\r\n {\r\n code: '351',\r\n character: 'ş ',\r\n description: 's cedilla'\r\n },\r\n {\r\n code: '223',\r\n character: 'ß ',\r\n description: 'Doppia s '\r\n },\r\n {\r\n code: '356',\r\n character: 'Ť',\r\n description: 'T caron T'\r\n },\r\n {\r\n code: '357',\r\n character: 'ť',\r\n description: 't caron T'\r\n },\r\n {\r\n code: '354',\r\n character: 'Ţ',\r\n description: 'T cedilla T'\r\n },\r\n {\r\n code: '355',\r\n character: 'ţ',\r\n description: 't cedilla T'\r\n },\r\n {\r\n code: '222',\r\n character: 'Þ',\r\n description: 'Thorn TH'\r\n },\r\n {\r\n code: '254',\r\n character: 'þ',\r\n description: 'Thorn TH'\r\n },\r\n {\r\n code: '358',\r\n character: 'Ŧ',\r\n description: 'T barra T'\r\n },\r\n {\r\n code: '359',\r\n character: 'ŧ',\r\n description: 't barra T'\r\n },\r\n {\r\n code: '218',\r\n character: 'Ú',\r\n description: 'U acuta U'\r\n },\r\n {\r\n code: '250',\r\n character: 'ú',\r\n description: 'u acuta U'\r\n },\r\n {\r\n code: '217',\r\n character: 'Ù',\r\n description: 'U grave U'\r\n },\r\n {\r\n code: '249',\r\n character: 'ù',\r\n description: 'u grave U'\r\n },\r\n {\r\n code: '219',\r\n character: 'Û',\r\n description: 'U circonflessa U'\r\n },\r\n {\r\n code: '251',\r\n character: 'û',\r\n description: 'u circonflessa U'\r\n },\r\n {\r\n code: '220',\r\n character: 'Ü',\r\n description: 'U dieresi UE'\r\n },\r\n {\r\n code: '252',\r\n character: 'ü',\r\n description: 'u dieresi UE'\r\n },\r\n {\r\n code: '364',\r\n character: 'Ŭ',\r\n description: 'U breve U'\r\n },\r\n {\r\n code: '365',\r\n character: 'ŭ',\r\n description: 'u breve U'\r\n },\r\n {\r\n code: '362',\r\n character: 'Ū',\r\n description: 'U linea U'\r\n },\r\n {\r\n code: '363',\r\n character: 'ū',\r\n description: 'u linea U'\r\n },\r\n {\r\n code: '360',\r\n character: 'Ũ',\r\n description: 'U tilde U'\r\n },\r\n {\r\n code: '361',\r\n character: 'ũ',\r\n description: 'u tilde U'\r\n },\r\n {\r\n code: '366',\r\n character: 'Ů',\r\n description: 'U tondo U'\r\n },\r\n {\r\n code: '367',\r\n character: 'ů',\r\n description: 'u tondo U'\r\n },\r\n {\r\n code: '370',\r\n character: 'Ų',\r\n description: 'U ogonek U'\r\n },\r\n {\r\n code: '371',\r\n character: 'ų',\r\n description: 'u ogonek U'\r\n },\r\n {\r\n code: '368',\r\n character: 'Ű',\r\n description: 'U doppia acuta U'\r\n },\r\n {\r\n code: '369',\r\n character: 'ű',\r\n description: 'u doppia acuta U'\r\n },\r\n {\r\n code: '372',\r\n character: 'Ŵ',\r\n description: 'W circonflessa W'\r\n },\r\n {\r\n code: '373',\r\n character: 'ŵ',\r\n description: 'w circonflessa W'\r\n },\r\n {\r\n code: '221',\r\n character: 'Ý',\r\n description: 'Y acuta Y'\r\n },\r\n {\r\n code: '253',\r\n character: 'ý',\r\n description: 'y acuta Y'\r\n },\r\n {\r\n code: '374',\r\n character: 'Ŷ',\r\n description: 'Y circonflessa Y'\r\n },\r\n {\r\n code: '375',\r\n character: 'ŷ',\r\n description: 'y circonflessa Y'\r\n },\r\n {\r\n code: '159',\r\n character: 'Ÿ',\r\n description: 'Y dieresi Y'\r\n },\r\n {\r\n code: '255',\r\n character: 'ÿ',\r\n description: 'y dieresi Y'\r\n },\r\n {\r\n code: '376',\r\n character: 'Ÿ',\r\n description: 'Y dieresi Y'\r\n },\r\n {\r\n code: '377',\r\n character: 'Ź',\r\n description: 'Z acuta Z'\r\n },\r\n {\r\n code: '378',\r\n character: 'ź',\r\n description: 'z acuta Z'\r\n },\r\n {\r\n code: 'Ż',\r\n character: 'Ż',\r\n description: 'Z punto Z',\r\n },\r\n {\r\n code: 'ż',\r\n character: 'ż',\r\n description: 'z punto Z',\r\n },\r\n {\r\n code: 'Ž',\r\n character: 'Ž',\r\n description: 'Z caron Z',\r\n },\r\n {\r\n code: 'ž',\r\n character: 'ž',\r\n description: 'z caron Z',\r\n },\r\n {\r\n code: 'Ž',\r\n character: 'Ž',\r\n description: 'Z caron Z',\r\n },\r\n {\r\n code: 'ž',\r\n character: 'ž',\r\n description: 'z caron Z',\r\n },\r\n {\r\n code: 'À',\r\n character: 'À',\r\n description: 'A grave A',\r\n },\r\n {\r\n code: 'à',\r\n character: 'à',\r\n description: 'a grave A',\r\n },\r\n {\r\n code: 'È',\r\n character: 'È',\r\n description: 'E grave E',\r\n },\r\n {\r\n code: 'è',\r\n character: 'è',\r\n description: 'e grave E',\r\n },\r\n {\r\n code: 'Ì',\r\n character: 'Ì',\r\n description: 'I grave I',\r\n },\r\n {\r\n code: 'ì',\r\n character: 'ì',\r\n description: 'i grave I',\r\n },\r\n {\r\n code: 'Ò',\r\n character: 'Ò',\r\n description: 'O grave O',\r\n },\r\n {\r\n code: 'ò',\r\n character: 'ò',\r\n description: 'o grave O',\r\n },\r\n {\r\n code: 'Ù',\r\n character: 'Ù',\r\n description: 'U grave U',\r\n },\r\n {\r\n code: 'ù',\r\n character: 'ù',\r\n description: 'u grave U',\r\n },\r\n];","import React, { Fragment, useState, useRef, useEffect } from 'react';\r\nimport { diacriticCharacters } from './diacriticCharacters';\r\nimport { detectUpperCase } from '../../../utils/functions/strings/detectCase';\r\nimport Input from '../input';\r\n\r\nconst DiacriticInput = ({\r\n id,\r\n getValue,\r\n value,\r\n disabled,\r\n uppercase,\r\n ...props\r\n}) => {\r\n const [upperCase, setUppercase] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n\r\n /** Stato che descrive l'elemento attivo del document */\r\n const [activeElement, setActiveElement] = useState(document.activeElement);\r\n\r\n const wrapperRef = useRef();\r\n\r\n const upperCaseCharacters = [];\r\n const lowerCaseCharacters = [];\r\n diacriticCharacters.forEach(el => {\r\n if (detectUpperCase(el.character)) {\r\n upperCaseCharacters.push(el);\r\n } else lowerCaseCharacters.push(el);\r\n });\r\n\r\n\r\n /** In ascolto dell'elemento active del document,\r\n * Utile nel momento in cui si perde il focus dal DiacriticInput\r\n */\r\n useEffect(() => {\r\n function updateActiveElement() {\r\n setActiveElement(document.activeElement);\r\n };\r\n document.addEventListener('focusin', updateActiveElement);\r\n return () => {\r\n document.removeEventListener('focusin', updateActiveElement);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (wrapperRef && wrapperRef.current) {\r\n if (!wrapperRef.current.contains(activeElement)) {\r\n setOpen(false);\r\n }\r\n }\r\n }, [activeElement]);\r\n\r\n\r\n\r\n const handleKeyUp = e => {\r\n switch (e.key) {\r\n case 'Escape':\r\n setOpen(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const virtualKeyboardTrigger = (\r\n { setOpen(!open); }}\r\n className=\"btn btn-primary\"\r\n aria-label=\"Mostra tastiera con i caratteri diacritici\"\r\n aria-expanded={open}\r\n aria-controls=\"keyboard\"\r\n >\r\n \r\n \r\n );\r\n\r\n const characters = uppercase || upperCase ? upperCaseCharacters : lowerCaseCharacters;\r\n\r\n return (\r\n \r\n { setOpen(false); }}\r\n >\r\n setOpen(false)}\r\n inputGroupAppend={
{virtualKeyboardTrigger}
}\r\n {...props}\r\n />\r\n \r\n
\r\n {\r\n characters.map((el, index) => (\r\n \r\n ))\r\n }\r\n\r\n {!uppercase &&\r\n {\r\n e.preventDefault();\r\n setUppercase(!upperCase);\r\n }}\r\n className=\"btn btn-primary btn-xs px-2 m-1\"\r\n title=\"Cambia caratteri\"\r\n >\r\n \r\n Maiuscolo\r\n }\r\n {\r\n e.preventDefault();\r\n getValue(value.slice(0, -1));\r\n }}\r\n className=\"btn btn-primary btn-xs px-2 m-1\"\r\n >\r\n \r\n Cancella ultimo carattere\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n )\r\n};\r\n\r\nexport default DiacriticInput;","export function detectUpperCase(c) {\r\n if (c === c.toUpperCase()) {\r\n return true;\r\n }\r\n return false;\r\n}","import React, { Fragment } from 'react';\r\n\r\nconst DownloadFile = ({\r\n label,\r\n href,\r\n onClick = () => null,\r\n fileIcon,\r\n icon = \"file\",\r\n iconClasses = 'text-primary',\r\n extraClasses = '',\r\n disabled,\r\n extraLabel\r\n}) => {\r\n\r\n const Tag = href && !disabled ? 'a' : (props) =>
{props.children}
;\r\n\r\n return (\r\n \r\n {\r\n if (!disabled) {\r\n onClick()\r\n } else return null\r\n }}\r\n onKeyPress={e => (e.key === 'Enter') && !disabled ? onClick() : null}\r\n className={`btn p-0 text-left ${extraClasses} ${disabled ? 'disabled' : ''}`}\r\n style={{\r\n wordBreak: 'break-word'\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {label}\r\n \r\n {extraLabel &&\r\n \r\n {extraLabel}\r\n \r\n }\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default DownloadFile;\r\n","import React, { Fragment } from 'react';\r\n\r\nconst IconButton = ({\r\n ariaLabel,\r\n id,\r\n name,\r\n icon,\r\n iconClasses = \"\",\r\n label,\r\n type = 'button',\r\n onClick,\r\n srOnly,\r\n buttonClass = \"primary\",\r\n disabled,\r\n extraClasses = \"\",\r\n rightIcon,\r\n extraStyle= {},\r\n dataToggle,\r\n dataContent,\r\n dataTrigger,\r\n title,\r\n ...rest\r\n}) => {\r\n return (\r\n \r\n \r\n {icon && !rightIcon &&\r\n \r\n }\r\n {srOnly ?\r\n \r\n {label}\r\n : label}\r\n {icon && rightIcon &&\r\n \r\n }\r\n \r\n \r\n )\r\n};\r\n\r\nexport default IconButton;","import React from 'react'\r\nimport IconButton from '../icon-button';\r\nimport { NavLink } from 'react-router-dom';\r\nimport Icon from '../icon';\r\n\r\n\r\nconst Dropdown = ({\r\n id,\r\n label,\r\n items = [],\r\n ...rest\r\n}) => {\r\n return (\r\n
\r\n \r\n
\r\n {items.map((item, i) => {\r\n if (item.link) {\r\n return (\r\n
\r\n \r\n {item.value}\r\n \r\n
\r\n );\r\n } else return (\r\n \r\n )\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Dropdown;","\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Fieldset = ({\r\n legend,\r\n children,\r\n}) => {\r\n return (\r\n
\r\n {legend}\r\n {children}\r\n
\r\n )\r\n};\r\n\r\nFieldset.propTypes = {\r\n legend: PropTypes.string,\r\n children: PropTypes.node\r\n};\r\n\r\nexport default Fieldset;","import React from 'react';\r\nimport Icon from '../icon';\r\n\r\nconst GoNavLink = ({\r\n label,\r\n history,\r\n go = -1,\r\n push,\r\n forward = false,\r\n wrapperClasses = ''\r\n}) => {\r\n\r\n const navigate = () => {\r\n if (push) {\r\n history.push(push);\r\n } else if (go) {\r\n history.go(go);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n navigate()}\r\n >\r\n {!forward &&\r\n \r\n }\r\n {label}\r\n {forward && }\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default GoNavLink;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Spinner from '../spinner';\r\nimport { convertFileToBase64 } from '../../../utils/functions/files/convertFileToBase64';\r\n\r\nconst InputFile = ({\r\n id,\r\n name,\r\n label,\r\n labelExtra,\r\n value,\r\n getFile,\r\n srOnly,\r\n disabled,\r\n extraClasses = '',\r\n loading,\r\n error,\r\n success,\r\n required,\r\n accept = 'application/pdf',\r\n removable = false,\r\n description,\r\n ...rest\r\n}) => {\r\n\r\n const [upload, setUpload] = useState(value && value.fileName ? value.fileName : '');\r\n\r\n useEffect(() => {\r\n if (!!value ) {\r\n if(value.fileName !== upload) {\r\n setUpload(value.fileName);\r\n }\r\n } else setUpload('');\r\n }, [value]); //eslint-disable-line\r\n\r\n return (\r\n
\r\n \r\n
\r\n {\r\n let file = e.currentTarget.files[0];\r\n // let ext = e.currentTarget.value.match(/\\.([^.]+)$/);\r\n // if (ext && ext[1]) {\r\n // let allowed = accept.split('/')[1];\r\n // switch (ext[1]) {\r\n // case allowed:\r\n if (file) {\r\n convertFileToBase64(file).then(res => {\r\n getFile({\r\n fileContent: res,\r\n fileName: file.name\r\n }, file);\r\n });\r\n setUpload(e.currentTarget.files[0].name);\r\n // }\r\n // break;\r\n // default:\r\n // alert('Not allowed');\r\n // }\r\n }\r\n }}\r\n disabled={disabled || loading}\r\n className={`custom-file-input ${error ? 'is-invalid' : ''}`}\r\n aria-describedby={description && `${id}-description`}\r\n />\r\n {\r\n value && removable &&\r\n \r\n }\r\n {description && {description}}\r\n {upload && !disabled ? upload : ''}\r\n
\r\n {/* {!loading && (success || error) &&\r\n
\r\n \r\n
\r\n } */}\r\n {loading &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n )\r\n};\r\n\r\nexport default InputFile;","export function convertFileToBase64(file) {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tconst reader = new FileReader();\r\n\t\ttry{\r\n\t\t\treader.readAsDataURL(file);\r\n\t\t\treader.onload = () => resolve(reader.result.replace(/^.*,/, \"\"));\r\n\t\t\treader.onerror = error => reject(error);\r\n\t\t} catch(err) {\r\n\t\t\tconsole.log(err)\r\n\t\t}\r\n\t});\r\n};","import React, { forwardRef, useState } from 'react';\r\n\r\nconst passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[#$^+\\-=!?*()@%&_])(?=.*\\d)(?!.*(012|123|234|345|456|567|678|789))(?!.*(.)\\2\\2).{8,}$/g;\r\n\r\nconst InputPassword = forwardRef(({\r\n dimension = 'sm',\r\n error,\r\n getValue,\r\n id,\r\n label,\r\n name,\r\n onClick,\r\n pattern = passwordRegex,\r\n placeholder,\r\n required,\r\n value,\r\n wrapperClasses,\r\n ...rest\r\n}, ref) => {\r\n\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const regex = RegExp(pattern);\r\n\r\n return (\r\n
\r\n \r\n
\r\n {\r\n if (getValue) {\r\n let newval = e.currentTarget.value;\r\n if ((regex && regex.test(newval)) || !regex) {\r\n getValue(newval);\r\n } else getValue(newval, 'regError');\r\n }\r\n }}\r\n value={value}\r\n ref={ref}\r\n {...rest}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n});\r\n\r\nexport default InputPassword;","export const STRINGS = {\r\n NO_VALUE: \"n.d.\",\r\n NO_DATA: \"Nessun dato disponibile.\"\r\n} ","\r\nimport React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { textTagClass, colorClass } from '../../../constants/proptypes-bootstrap-classes';\r\n\r\nconst Typography = ({\r\n ariaLabel,\r\n tag,\r\n label,\r\n textColor,\r\n bgColor,\r\n extraClasses,\r\n hr,\r\n hrProps,\r\n hrExtraClasses,\r\n}) => {\r\n\r\n const Tag = tag ?? \"p\";\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {!!hr &&\r\n \r\n }\r\n {/* */}\r\n \r\n )\r\n};\r\n\r\nTypography.propTypes = {\r\n tag: PropTypes.oneOf(textTagClass),\r\n textColor: PropTypes.oneOf(colorClass),\r\n bgColor: PropTypes.oneOf(colorClass),\r\n extraClasses: PropTypes.string,\r\n hr: PropTypes.oneOf(colorClass),\r\n hrExtraClasses: PropTypes.string,\r\n hrProps: PropTypes.object\r\n};\r\n\r\nexport default Typography;","import React from 'react';\r\nimport { STRINGS } from '../../../constants/strings';\r\nimport Typography from '../typography';\r\n\r\nconst LabelValueListItem = ({ \r\n label, \r\n labelClasses,\r\n value, \r\n valueClasses,\r\n}) => (\r\n <>\r\n {label &&\r\n \r\n }\r\n \r\n \r\n);\r\nexport default LabelValueListItem;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { Icon } from '..';\r\nimport { colorClass } from '../../../constants/proptypes-bootstrap-classes';\r\n\r\n\r\n\r\nconst Link = ({\r\n to = \"\",\r\n label = '',\r\n downloadLink,\r\n icon,\r\n iconcolor,\r\n righticon = false,\r\n external,\r\n buttonstyle = false,\r\n target,\r\n buttonclass = 'default',\r\n extraClasses = '',\r\n children,\r\n ...rest\r\n}) => {\r\n const LinkTag = downloadLink || external\r\n ? ({ children, to, className = '', ...props }) => \r\n {children}\r\n : apre una nuova finestra\r\n \r\n : ({ children, ...props }) => {children}\r\n return (\r\n \r\n {icon &&\r\n \r\n }\r\n {children || label}\r\n {righticon &&\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nLink.propTypes = {\r\n to: PropTypes.string.isRequired,\r\n label: PropTypes.string,\r\n icon: PropTypes.string,\r\n iconcolor: PropTypes.string,\r\n righticon: PropTypes.bool,\r\n external: PropTypes.bool,\r\n buttonstyle: PropTypes.bool,\r\n target: PropTypes.string,\r\n buttonclass: PropTypes.oneOf(colorClass),\r\n};\r\n\r\nexport default Link;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from '..';\r\nimport { textTagClass } from '../../../constants/proptypes-bootstrap-classes';\r\n\r\nconst List = ({\r\n id,\r\n items = [],\r\n links = false,\r\n TitleHeadingTag = 'h3',\r\n ordered = false,\r\n inline = false,\r\n extraClasses=\"\"\r\n}) => {\r\n const ListTag = ordered ? 'ol' : 'ul'; \r\n return (\r\n \r\n {items.map((item, i) => {\r\n const Tag = item.link \r\n ? ({ children }, props) => \r\n : ({ children }, props) => {children}\r\n return (\r\n
  • \r\n \r\n \r\n {item.title}\r\n \r\n \r\n
  • \r\n )\r\n })}\r\n
    \r\n );\r\n};\r\n\r\nList.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string,\r\n })).isRequired,\r\n titleHeading: PropTypes.oneOf(textTagClass),\r\n};\r\n\r\nexport default List;","import React from 'react';\r\nimport Icon from '../icon';\r\n\r\nconst Message = ({\r\n text,\r\n wrapperClasses = '',\r\n textClasses = '',\r\n type,\r\n onClose = false,\r\n closeIcon = false,\r\n footer,\r\n style = {}\r\n}) => (\r\n
    \r\n {Array.isArray(text) ?\r\n text.length ?\r\n text.map((newLine, index) => (\r\n
    \r\n \r\n {newLine}\r\n

    \r\n {index !== text.length - 1 &&\r\n
    }\r\n
    \r\n ))\r\n : null :\r\n
    \r\n
    \r\n

    {text}

    \r\n {!!footer &&\r\n
    \r\n {footer}\r\n
    \r\n }\r\n
    \r\n
    \r\n }\r\n {!!closeIcon &&\r\n \r\n }\r\n
    \r\n);\r\n\r\nexport default Message;","import React, { Fragment, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Modal = ({\r\n id,\r\n title,\r\n body,\r\n footer,\r\n size,\r\n open,\r\n onClose,\r\n hideCloseButton = false,\r\n closeButton = false,\r\n keyboard = true,\r\n ...props\r\n}) => {\r\n const autoToggleButton = useRef();\r\n\r\n useEffect(() => {\r\n if (autoToggleButton.current && open) {\r\n autoToggleButton.current.click();\r\n }\r\n }, [open, autoToggleButton])\r\n\r\n return (\r\n \r\n {open &&\r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n

    {title}

    \r\n {!hideCloseButton &&\r\n \r\n }\r\n
    \r\n
    \r\n {body}\r\n
    \r\n {(footer || closeButton) &&\r\n
    \r\n {footer}\r\n {closeButton && !hideCloseButton &&\r\n \r\n }\r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nModal.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.any,\r\n body: PropTypes.any,\r\n footer: PropTypes.object,\r\n size: PropTypes.string,\r\n open: PropTypes.bool,\r\n callback: PropTypes.func\r\n};\r\n\r\nexport default Modal;\r\n","import React, { useEffect, useCallback } from \"react\";\r\nimport $ from 'jquery';\r\n\r\nconst MultiSelectOptionGroup = ({\r\n handleSelection,\r\n value,\r\n optionlist,\r\n setOpenOptGroup,\r\n setHightlightedOption,\r\n refJson,\r\n wrapperid,\r\n optionGroupDirection\r\n}) => {\r\n\r\n\r\n const disableArrowScrolling = (e) => {\r\n // space and arrow keys\r\n if ([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n const memoizedDisableArrowFunction = useCallback(disableArrowScrolling, []);\r\n\r\n /** Funzione adibita alla gestione dei comandi da tastiera per le options */\r\n const handleOptionKeyUp = (event, opt) => {\r\n let optionIndex = parseInt(opt.id.split('option-')[1]);\r\n let nextOption = !!optionlist[optionIndex + 1] && optionlist[optionIndex + 1].fixed\r\n ? optionIndex + 2\r\n : optionIndex + 1;\r\n let prevOption = !!optionlist[optionIndex - 1] && optionlist[optionIndex - 1].fixed\r\n ? optionIndex - 2\r\n : optionIndex - 1;\r\n\r\n switch (event.key) {\r\n case 'Tab':\r\n break;\r\n case 'Enter':\r\n setHightlightedOption();\r\n if (!opt.fixed) {\r\n handleSelection(opt.value);\r\n }\r\n break;\r\n case 'ArrowDown':\r\n if (nextOption <= optionlist.length - 1) {\r\n setHightlightedOption(nextOption);\r\n } else {\r\n if (optionlist[0].fixed) {\r\n setHightlightedOption(1);\r\n } else setHightlightedOption(0);\r\n }\r\n break;\r\n case 'ArrowUp':\r\n if (prevOption >= 0) {\r\n setHightlightedOption(prevOption);\r\n } else {\r\n setHightlightedOption();\r\n setOpenOptGroup(false);\r\n $('#' + wrapperid).focus();\r\n }\r\n break;\r\n case 'Escape':\r\n setHightlightedOption();\r\n setOpenOptGroup(false);\r\n $('#' + wrapperid).focus();\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', memoizedDisableArrowFunction);\r\n return () => {\r\n document.removeEventListener('keydown', memoizedDisableArrowFunction);\r\n }\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n return (\r\n \r\n {optionlist.length ?\r\n optionlist.map((opt, index) => {\r\n return (\r\n \r\n {\r\n e.stopPropagation();\r\n if (!opt.fixed) {\r\n handleSelection(opt.value);\r\n }\r\n }}\r\n onKeyUp={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n handleOptionKeyUp(e, { id: 'option-' + index, value: opt.value, fixed: opt.fixed });\r\n }}\r\n >\r\n {opt.label}\r\n \r\n {\r\n value.includes(opt.value) ?\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n : null}\r\n \r\n )\r\n })\r\n : null}\r\n \r\n );\r\n};\r\n\r\nexport default MultiSelectOptionGroup;","import React, { useState, useEffect, useRef } from 'react';\r\n\r\nfunction useTruncateString(str) {\r\n /** Stato che descrive la larghezza dello div che contiene la stringa */\r\n const [divWidth, setDivWidth] = useState(0);\r\n\r\n /** Creo la ref dello div che contiene la stringa */\r\n const divRef = useRef();\r\n\r\n function getTruncatedString() {\r\n let strWidth = str.length * 9;\r\n if (str && (strWidth > divWidth)) {\r\n return str.slice(0, Math.floor(divWidth / 9)) + '...'\r\n } else return str\r\n };\r\n\r\n /** Registro lo stato iniziale della lunghezza dello div */\r\n useEffect(() => {\r\n setDivWidth(divRef.current.offsetWidth);\r\n }, [divRef]);\r\n\r\n /** In ascolto dei resize della larghezza della pagina con aggiornamento dello stato */\r\n useEffect(() => {\r\n const handleResize = () => setDivWidth(divRef.current.offsetWidth);\r\n window.addEventListener('resize', handleResize);\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n }\r\n }, []);\r\n\r\n /** In ascolto delle modifiche allo stato della larghezza dello div per ricreare\r\n * la stringa */\r\n useEffect(() => {\r\n // setDivWidth(divRef.current.offsetWidth);\r\n }, []);\r\n\r\n return (\r\n \r\n {divRef.current ?\r\n getTruncatedString()\r\n : str\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default useTruncateString;","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport $ from 'jquery';\r\nimport './multiselect.css';\r\nimport MultiSelectOptionGroup from \"./MultiSelectOptionGroup\";\r\nimport useTruncateString from \"../../../utils/functions/strings/useTruncateString\";\r\n\r\nconst MultiSelect = ({\r\n id,\r\n label,\r\n required,\r\n name,\r\n value = [],\r\n dimension = 'sm',\r\n onBlur,\r\n optionlist,\r\n inputClass,\r\n labelClass,\r\n getValue,\r\n extraProps,\r\n extralabel,\r\n valuetype = 'string',\r\n disabled,\r\n error,\r\n}) => {\r\n\r\n /** Stato che segnala l'apertura o la chiusura dell'option group */\r\n const [openOptGroup, setOpenOptGroup] = useState(false);\r\n const [optionGroupDirection, setOptionGroupDirection] = useState();\r\n\r\n /** Valore della label degli elementi selezionati */\r\n const [selectedValuesLabel, setSelectedValuesLabel] = useState('');\r\n\r\n /** Stato per la gestione dell'evidenziazione delle options */\r\n const [hightlightedOption, setHightlightedOption] = useState();\r\n\r\n /** Creazione delle ref necessarie */\r\n const refJson = {};\r\n optionlist.forEach((el, index) => {\r\n refJson['hightlightedOption' + index] = React.createRef(null);\r\n });\r\n\r\n /** Funzione per costruire e eventualmente troncare \r\n * la stringa della label */\r\n const getSelectedLabel = () => {\r\n let newLabel = '';\r\n optionlist.forEach((selOpt) => {\r\n if (value.includes(selOpt.value)) {\r\n if (newLabel.length) {\r\n newLabel = newLabel + ', ' + selOpt.label;\r\n } else newLabel = selOpt.label;\r\n };\r\n });\r\n return newLabel;\r\n };\r\n\r\n useEffect(() => {\r\n let newLabel = getSelectedLabel();\r\n setSelectedValuesLabel(newLabel);\r\n }, [value]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n /** Funzione adibita alla gestione dell'evidenziazione delle options */\r\n const handleHighlightedOption = () => {\r\n if (refJson['hightlightedOption' + hightlightedOption] &&\r\n refJson['hightlightedOption' + hightlightedOption].current) {\r\n $('#multi-select-wrapper-' + id).blur();\r\n refJson['hightlightedOption' + hightlightedOption].current.focus();\r\n }\r\n };\r\n\r\n /** => In ascolto di nuove option da evidenziare */\r\n useEffect(() => {\r\n if (hightlightedOption !== null) {\r\n handleHighlightedOption();\r\n }\r\n }, [hightlightedOption]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n /** Funzione adibita alla gestione della selezione delle option */\r\n const handleSelection = optvalue => {\r\n let newValue = valuetype === 'string' ? optvalue : parseInt(optvalue, 10);\r\n let oldSelected = value.slice(),\r\n newSelected = [];\r\n if (oldSelected.length) {\r\n if (oldSelected.includes(newValue)) {\r\n getValue(oldSelected.filter(el => el !== newValue));\r\n } else {\r\n newSelected = oldSelected.concat(newValue);\r\n getValue(newSelected);\r\n }\r\n } else {\r\n getValue([newValue]);\r\n }\r\n };\r\n\r\n /** Funzione adibita alla gestione dei comandi da tastiera per il wrapper */\r\n const handleWrapperKeyUp = (ev) => {\r\n switch (ev.key) {\r\n case 'Tab':\r\n setHightlightedOption();\r\n break;\r\n case 'Enter':\r\n setOpenOptGroup(!openOptGroup);\r\n setHightlightedOption();\r\n break;\r\n case 'ArrowDown':\r\n setOpenOptGroup(true);\r\n setHightlightedOption(0);\r\n break;\r\n case 'ArrowUp':\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n /** In ascolto dell'elemento active del document,\r\n * Utile nel momento in cui si perde il focus dalla multiselect\r\n */\r\n useEffect(() => {\r\n $(document).click(function (event) {\r\n if ($('#multi-select-wrapper-' + id) &&\r\n $('#multi-select-wrapper-' + id).get()[0] &&\r\n !$('#multi-select-wrapper-' + id).get()[0].contains(event.target)) {\r\n setOpenOptGroup(false);\r\n }\r\n });\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const MultiSelectValue = ({ label }) => {\r\n return useTruncateString(label);\r\n };\r\n\r\n useEffect(() => {\r\n const handleOptionGroupPosition = () => {\r\n let windowScrollY = window.scrollY;\r\n let absolutePosition = $('#multi-select-wrapper-' + id).get()[0].getBoundingClientRect().top;\r\n if (absolutePosition > windowScrollY) {\r\n setOptionGroupDirection('opt-group-upward');\r\n } else setOptionGroupDirection('opt-group-downward');\r\n };\r\n window.addEventListener('scroll', handleOptionGroupPosition)\r\n return () => window.removeEventListener('scroll', handleOptionGroupPosition)\r\n }, [refJson]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n e.preventDefault();\r\n if (!disabled) {\r\n handleWrapperKeyUp(e);\r\n }\r\n }}\r\n onClick={(e) => {\r\n if (!disabled) {\r\n setOpenOptGroup(!openOptGroup);\r\n }\r\n }}\r\n {...extraProps}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {openOptGroup && !disabled ?\r\n \r\n : null}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MultiSelect;","import React, { forwardRef } from 'react';\r\n\r\nconst Switch = forwardRef(({\r\n label,\r\n onChange,\r\n id,\r\n checked,\r\n defaultChecked,\r\n name,\r\n wrapperClasses,\r\n disabled,\r\n ...props\r\n}, ref) => (\r\n \r\n
    \r\n {\r\n if (!disabled) {\r\n onChange(id, checked, e);\r\n }\r\n }}\r\n onClick={() => null}\r\n name={name}\r\n checked={checked}\r\n defaultChecked={defaultChecked}\r\n className=\"custom-control-input\"\r\n ref={ref}\r\n />\r\n \r\n
    \r\n \r\n)\r\n);\r\n\r\nexport default Switch;","import React from 'react';\r\n\r\nconst NoDataRow = ({ colspan }) => (\r\n \r\n \r\n \r\n Nessun dato disponibile.\r\n \r\n \r\n \r\n);\r\n\r\nexport default NoDataRow;","import React, { Fragment, forwardRef } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport IconButton from '../icon-button';\r\nimport Modal from '../modal';\r\nimport Switch from '../switch';\r\nimport NoDataRow from './NoDataRow';\r\nimport Tooltip from '../tooltip';\r\nimport Dropdown from '../dropdown';\r\nimport { SingleCheckbox } from '..';\r\n\r\nconst Table = forwardRef(({\r\n id,\r\n title,\r\n headers,\r\n rows,\r\n extraClasses,\r\n separateRow,\r\n layoutFixed,\r\n disabledRows = [],\r\n modal,\r\n form\r\n}, ref) => {\r\n\r\n return (\r\n \r\n {modal &&\r\n \r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n {headers.map((th, index) => {\r\n if (th.srOnly) {\r\n return (\r\n \r\n )\r\n }\r\n else return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n {rows.length ?\r\n rows.map((row, index) => (\r\n \r\n {row.cells.map((cell, index2) => {\r\n let Tag = cell.tag === 'th' ? 'th' : 'td';\r\n return (\r\n \r\n {cell.onClick || cell.dataToggle ?\r\n e.key === 'Enter' ? cell.onClick() : null}\r\n onClick={cell.onClick || null}\r\n data-toggle={cell.dataToggle || null}\r\n data-target={cell.dataTarget || null}\r\n style={{ cursor: 'pointer' }}\r\n >\r\n {cell.value}\r\n \r\n :\r\n cell.link && cell.to ?\r\n cell.external ?\r\n \r\n {cell.link}\r\n \r\n :\r\n \r\n {cell.link}\r\n \r\n : cell.actions ?\r\n cell.actions.map((action, index3) => {\r\n if (action.tooltip) {\r\n return (\r\n \r\n )\r\n }\r\n else if (action.icon) {\r\n return (\r\n \r\n )\r\n } else if (action.switch) {\r\n return (\r\n ref.current[index] = {\r\n ...ref.current[index],\r\n [action.switch.id]: el\r\n } : null}\r\n />\r\n )\r\n } else if (action.checkbox) {\r\n return (\r\n \r\n )\r\n } else return (\r\n \r\n {action.icon ?\r\n \r\n \r\n \r\n {action.value}\r\n \r\n \r\n : action.value}\r\n \r\n )\r\n })\r\n : cell.dropdown ?\r\n \r\n : cell.form ?\r\n \r\n form.rowFormProps[index].getValue(value, cell.id)}\r\n onBlur={form.handleBlur}\r\n error={form.error}\r\n type={form.type || null}\r\n dateformat={form.dateformat || null}\r\n min={form.min}\r\n max={form.max}\r\n rows={form.rows || null}\r\n required={form.required}\r\n wrapperClasses=\"w-100\"\r\n disabled={cell.disabled}\r\n ref={el => ref.current[index] = {\r\n [cell.id]: el\r\n }}\r\n {...cell.extraProps}\r\n />\r\n \r\n // : cell.truncate \r\n // ? \r\n )\r\n })}\r\n \r\n ))\r\n :\r\n \r\n }\r\n \r\n
    {title}
    \r\n \r\n {th.value}\r\n \r\n {th.value}
    \r\n
    \r\n
    \r\n );\r\n});\r\n\r\nTable.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n headers: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.string.isRequired,\r\n srOnly: PropTypes.bool,\r\n classes: PropTypes.string\r\n })).isRequired,\r\n rows: PropTypes.array,\r\n separateRow: PropTypes.bool,\r\n extraClasses: PropTypes.string,\r\n disabledRows: PropTypes.arrayOf(PropTypes.number),\r\n modal: PropTypes.object\r\n};\r\n\r\nexport default Table;\r\n","import React from 'react';\r\n\r\n\r\nconst NavItemComponent = ({active, children, ...attributes}) => {\r\n if (active) {\r\n return {children};\r\n } else {\r\n return ;\r\n }\r\n}\r\n\r\n\r\nconst NavItem = ({\r\n id,\r\n label,\r\n navIcon,\r\n srOnly,\r\n callback,\r\n active,\r\n disabled\r\n}) => {\r\n\r\n\r\n return (\r\n
  • \r\n callback(id)} disabled={disabled} active={active}>\r\n {\r\n label && <>{srOnly} {label} \r\n }\r\n {\r\n navIcon &&\r\n <>\r\n {srOnly}\r\n \r\n \r\n }\r\n \r\n
  • \r\n );\r\n};\r\n\r\nexport default NavItem;","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport NavItem from './NavItem';\r\n\r\nconst Pagination = ({\r\n id,\r\n name,\r\n items,\r\n itemPerPage = 5,\r\n initialPage = 1,\r\n onChangePage = () => null,\r\n visibleNavItems = 10,\r\n resetOnChangeItems,\r\n}) => {\r\n const [activePage, setActivePage] = useState(initialPage);\r\n const [currentSlide, setCurrentSlide] = useState(Math.ceil(initialPage / visibleNavItems));\r\n const [navItems, setNavItems] = useState([]);\r\n const [pagesFirstItems, setPagesFirstItems] = useState([]);\r\n const [pagesLastItems, setPagesLastItems] = useState([]);\r\n\r\n const handleNavigation = (id, firstItem, lastItem) => {\r\n if (id > 0 && id <= navItems.length) {\r\n onChangePage(firstItem, lastItem, id);\r\n setActivePage(id);\r\n setCurrentSlide(Math.ceil(id / visibleNavItems));\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n let firstItems = [], lastItems = [];\r\n let navItemsCount = Math.ceil(items.length / itemPerPage);\r\n let navItemsArray = Array.from(Array(navItemsCount), (_, index) => {\r\n let firstItem = ((index + 1) * itemPerPage) - itemPerPage;\r\n let lastItem = items[((index + 1) * itemPerPage) - 1] ? ((index + 1) * itemPerPage) - 1 : items.length - 1;\r\n firstItems = [...firstItems, firstItem];\r\n lastItems = [...lastItems, lastItem];\r\n return {\r\n id: index + 1,\r\n label: index + 1,\r\n firstItem: ((index + 1) * itemPerPage) - itemPerPage,\r\n lastItem: items[((index + 1) * itemPerPage) - 1] ? ((index + 1) * itemPerPage) - 1 : items.length - 1,\r\n slide: Math.ceil((index + 1) / visibleNavItems)\r\n }\r\n });\r\n setPagesFirstItems(firstItems);\r\n setPagesLastItems(lastItems);\r\n setNavItems(navItemsArray);\r\n }, [itemPerPage, items, visibleNavItems]);\r\n\r\n useEffect(() => {\r\n onChangePage(0, itemPerPage - 1, 1);\r\n }, [itemPerPage]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if(resetOnChangeItems) {\r\n setActivePage(1);\r\n }\r\n }, [items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n if (!items || !items.length) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n};\r\n\r\nPagination.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n itemPerPage: PropTypes.number.isRequired,\r\n onChangePage: PropTypes.func.isRequired,\r\n initialPage: PropTypes.number,\r\n visibleNavItems: PropTypes.number,\r\n items: PropTypes.array,\r\n};\r\n\r\nexport default Pagination;","import React, { useState, useEffect } from 'react';\r\nimport Table from '../table';\r\nimport Pagination from '../pagination';\r\n\r\nconst PaginatedTable = ({\r\n id,\r\n title,\r\n headers,\r\n layoutFixed,\r\n rows,\r\n itemPerPage = 5,\r\n resetOnChangeItems,\r\n visibleNavItems = 10,\r\n extraClasses = 'table-header table-striped',\r\n wrapperClasses = 'w-100'\r\n}) => {\r\n const [currentItems, setCurrentItems] = useState(rows.slice(0, itemPerPage));\r\n useEffect(() => {\r\n setCurrentItems(rows.slice(0, itemPerPage));\r\n }, [rows]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n return (\r\n
    \r\n \r\n {\r\n let rowsSliced = rows.slice(firstItem, lastItem + 1);\r\n setCurrentItems(rowsSliced);\r\n }}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default PaginatedTable;","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ProgressBar = ({\r\n steps,\r\n currentStep,\r\n onChangeStep,\r\n title\r\n}) => {\r\n\r\n return (\r\n \r\n

    {title}

    \r\n
      \r\n {steps.map((step, index) => (\r\n step.number ? 'done'\r\n : step.status}\r\n ${step.link && step.status === 'done' ?\r\n 'link' : ''}`}\r\n aria-current={currentStep === index ? 'step-' + step.number : null}\r\n >\r\n onChangeStep(step.urlparam)\r\n : null\r\n }\r\n >\r\n {index + 1}\r\n {step.label}\r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n\r\nProgressBar.propTypes = {\r\n steps: PropTypes.arrayOf(PropTypes.shape({\r\n status: PropTypes.string.isRequired,\r\n }))\r\n};\r\n\r\n\r\nexport default ProgressBar;","\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Fieldset from '../fieldset';\r\n\r\nconst Radio = ({\r\n onChange,\r\n onBlur,\r\n inputClass = \"\",\r\n inline = false,\r\n legend,\r\n labelClass = \"\",\r\n radioList = [],\r\n value,\r\n extraProps,\r\n}) => {\r\n\r\n return (\r\n
    \r\n {radioList.map((radio, index) => (\r\n \r\n onChange(radio.value)}\r\n onBlur={onBlur}\r\n {...extraProps}\r\n />\r\n \r\n \r\n ))}\r\n
    \r\n )\r\n};\r\n\r\nRadio.propTypes = {\r\n inline: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n inputClass: PropTypes.arrayOf(PropTypes.string),\r\n legend: PropTypes.string,\r\n labelClass: PropTypes.arrayOf(PropTypes.string),\r\n radioList: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n label: PropTypes.any,\r\n extraProps: PropTypes.object\r\n })\r\n ),\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n};\r\n\r\nexport default Radio;","import React, { useEffect, useRef } from 'react';\r\nimport Button from '../button';\r\n\r\nconst ScrollTopButton = ({\r\n toggleScroll,\r\n extraClasses\r\n}) => {\r\n\r\n const scrollTopRef = useRef();\r\n\r\n const scrollToTop = () => {\r\n setTimeout(() => window.scrollTo({ top: 0, behavior: 'smooth' }), 100);\r\n };\r\n\r\n useEffect(() => {\r\n if (toggleScroll && scrollTopRef.current) {\r\n scrollTopRef.current.click();\r\n }\r\n }, [toggleScroll, scrollTopRef])\r\n\r\n return (\r\n scrollToTop()}\r\n title=\"Torna all'inizio\"\r\n buttonClass='primary'\r\n ref={scrollTopRef}\r\n aria-label=\"auto-scrolltop button\"\r\n />\r\n );\r\n};\r\n\r\nexport default ScrollTopButton;","import React, { Fragment, useEffect } from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport Spinner from '../spinner';\r\n\r\nconst Select = ({\r\n id,\r\n name,\r\n value,\r\n getValue,\r\n firstEmptyOption = true,\r\n label,\r\n extralabel,\r\n optionlist = [],\r\n error,\r\n onBlur,\r\n onClick,\r\n disabled,\r\n isLoading,\r\n required,\r\n dimension,\r\n wrapperClasses,\r\n sort = false,\r\n ...rest\r\n}) => {\r\n if (sort) {\r\n optionlist = optionlist.sort((a, b) => { return a.label.toUpperCase().localeCompare(b.label.toUpperCase()); })\r\n }\r\n useEffect(() => {\r\n if (!value) {\r\n document.getElementById(id).selectedIndex = firstEmptyOption ? 0 : -1;\r\n } else if (typeof value === 'object') {\r\n document.getElementById(id).selectedIndex = optionlist.findIndex(el => el.value === value.value) + (firstEmptyOption ? 1 : 0)\r\n } else {\r\n document.getElementById(id).selectedIndex = optionlist.findIndex(el => el.value === value) + (firstEmptyOption ? 1 : 0)\r\n }\r\n }, [value, id, firstEmptyOption, optionlist])\r\n\r\n return (\r\n \r\n
    \r\n \r\n {\r\n let optvalue = e.target.value;\r\n if (optvalue !== 'empty-option') {\r\n getValue({\r\n value: optionlist.find(el => el.label === optvalue).value,\r\n label: optvalue\r\n });\r\n } else getValue();\r\n }}\r\n onBlur={onBlur}\r\n disabled={disabled}\r\n {...rest}\r\n >\r\n {firstEmptyOption &&\r\n \r\n }\r\n {optionlist.length && optionlist.map((opt, index) => (\r\n \r\n {opt.label}\r\n \r\n ))}\r\n \r\n {isLoading ?\r\n \r\n : null}\r\n
    \r\n
    \r\n )\r\n};\r\n\r\nSelect.propTypes = {\r\n optionlist: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Select;","import React, { useEffect, useState } from 'react';\r\n\r\nconst SingleCheckbox = ({\r\n id,\r\n name,\r\n label,\r\n checked = false,\r\n getValue,\r\n disabled,\r\n extraClasses = '',\r\n autocheck = false,\r\n ...rest\r\n}) => {\r\n\r\n const [value, setValue] = useState(checked);\r\n\r\n useEffect(() => {\r\n setValue(checked);\r\n }, [checked]);\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n getValue(e.currentTarget.checked)\r\n if(!!autocheck) {\r\n setValue(e.currentTarget.checked);\r\n }\r\n }}\r\n disabled={disabled}\r\n />\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SingleCheckbox;","import React, { useState, useEffect, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport $ from 'jquery'\r\n\r\nconst Tabs = ({\r\n tabs = [],\r\n contents = [],\r\n extraClasses = '',\r\n border\r\n}) => {\r\n\r\n const [active, setActive] = useState(0);\r\n\r\n useEffect(() => {\r\n const tabSelector = '[role=tab]';\r\n $(document).on('keydown', tabSelector, function (e) {\r\n if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\r\n let $tabs = $(this).closest('[role=tablist]').find(tabSelector);\r\n let index = $tabs.index(this);\r\n index += e.key === 'ArrowRight' ? 1 : -1;\r\n $tabs.eq(index % $tabs.length).trigger('focus');\r\n }\r\n });\r\n }, []);\r\n\r\n\r\n return (\r\n \r\n
      \r\n {tabs.map((tab, index) => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n {contents.map((content, index) => (\r\n \r\n {content.content}\r\n
    \r\n ))}\r\n \r\n
    \r\n );\r\n};\r\n\r\nTabs.propTypes = {\r\n tabs: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n classes: PropTypes.string,\r\n })),\r\n contents: PropTypes.arrayOf(PropTypes.shape({\r\n tabId: PropTypes.string.isRequired,\r\n content: PropTypes.node,\r\n })),\r\n};\r\n\r\nexport default Tabs;","import React, { Fragment, forwardRef } from 'react';\r\n\r\nconst TextArea = forwardRef(({\r\n id,\r\n required,\r\n name,\r\n value,\r\n rows = 3,\r\n getValue,\r\n placeholder,\r\n label,\r\n error,\r\n onBlur,\r\n defaultValue,\r\n wrapperClasses,\r\n firstEmptyOption,\r\n ...rest\r\n}, ref) => {\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n {\r\n if (getValue) {\r\n getValue(e.target.value);\r\n }\r\n }}\r\n value={value}\r\n defaultValue={defaultValue}\r\n onBlur={onBlur}\r\n ref={ref}\r\n {...rest}\r\n />\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n);\r\n\r\nexport default TextArea;","import React, { Fragment, useState } from \"react\";\r\nimport { Formik, Form as FormikForm } from \"formik\";\r\nimport Message from '../ui/messages';\r\nimport IconButton from \"../ui/icon-button\";\r\n\r\nconst Form = ({\r\n onsubmit,\r\n initialValues,\r\n validationSchema,\r\n validateOnBlur = false,\r\n validateOnChange = false,\r\n children: FormChildren,\r\n cleanButton,\r\n cleanButtonExtraClasses = '',\r\n resetFormFields,\r\n enableReinitialize,\r\n extraErrors = [],\r\n ...rest\r\n}) => {\r\n\r\n /** Predisporre alla validazione live dopo il primo submit */\r\n const [pristine, setPristine] = useState(true);\r\n\r\n function getErrorsDescription(errors) {\r\n let errorArray = [];\r\n if (extraErrors.length) {\r\n errorArray.push(...extraErrors);\r\n }\r\n Object.keys(errors).forEach(function (key) {\r\n errorArray.push(errors[key]);\r\n });\r\n return errorArray;\r\n };\r\n return (\r\n {\r\n onsubmit(payload, { ...props });\r\n }}\r\n {...rest}\r\n >\r\n {props => {\r\n // console.log(\"[Form] props = %O\\nvalues = %s\", props, JSON.stringify(props.values, null, 2));\r\n let listaDescrizioniErrori = getErrorsDescription(props.errors);\r\n if (props.isValidating && pristine) {\r\n setPristine(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n : null}\r\n cleanButton={cleanButton ?\r\n {\r\n\r\n let resetFields = new Promise(function (applyReset) {\r\n setPristine(true);\r\n applyReset();\r\n });\r\n\r\n resetFields.then(x => {\r\n resetFormFields.forEach(field => {\r\n props.setFieldValue(field.name, field.reset);\r\n });\r\n props.setErrors({});\r\n });\r\n } : props.resetForm}\r\n name=\"clean-form-btn\"\r\n label=\"Ripulisci\"\r\n extraClasses={`${cleanButtonExtraClasses}`}\r\n buttonClass=\"default\"\r\n /> : null}\r\n {...props}\r\n />\r\n \r\n \r\n )\r\n }}\r\n \r\n )\r\n};\r\n\r\nexport default Form;","export const statiAccordo = [\r\n {\r\n key: 1,\r\n label: 'Richiesta di accordo inserita',\r\n urlparam1: 'richiesta-inserita'\r\n },\r\n {\r\n key: 2,\r\n label: 'Richiesta di accordo inviata',\r\n urlparam1: 'richiesta-inviata',\r\n urlparam2: 'richieste-da-approvare'\r\n },\r\n {\r\n key: 3,\r\n label: 'Richiesta di accordo respinta dal Ministero',\r\n urlparam1: 'richieste-respinte',\r\n urlparam2: 'richieste-respinte',\r\n },\r\n {\r\n key: 4,\r\n label: 'Accordo attivo (richiesta di accordo approvata dal Ministero)',\r\n urlparam1: 'accordo-attivo',\r\n urlparam2: 'accordi-attivi'\r\n },\r\n {\r\n key: 5,\r\n label: 'Richiesta di accordo annullata',\r\n urlparam1: 'richieste-annullate',\r\n urlparam2: 'richieste-annullate',\r\n },\r\n {\r\n key: 6,\r\n label: 'Accordo sospeso',\r\n urlparam1: 'richieste-annullate',\r\n urlparam2: 'richieste-annullate',\r\n },\r\n {\r\n key: 7,\r\n label: 'Richiesta di accordo chiusa dal Ministero',\r\n urlparam1: 'richieste-annullate',\r\n urlparam2: 'richieste-annullate',\r\n },\r\n {\r\n key: 8,\r\n label: 'Accordo revocato dalla PA/GESTORE',\r\n urlparam1: 'accordi-revocati',\r\n urlparam2: 'accordi-revocati'\r\n },\r\n {\r\n key: 9,\r\n label: 'Accordo revocato dal Ministero',\r\n urlparam1: 'accordi-revocati',\r\n urlparam2: 'accordi-revocati'\r\n },\r\n];\r\n\r\nexport const STATO_ACCORDO = {\r\n RICHIESTA_INSERITA: 1,\r\n RICHIESTA_INVIATA: 2,\r\n RICHIESTA_RESPINTA_DA_MINISTERO: 3,\r\n ATTIVO: 4,\r\n RICHIESTA_ANNULLATA: 5,\r\n SOSPESO: 6,\r\n REVOCATO_DA_PA_GESTORE: 8,\r\n REVOCATO_DA_MINISTERO: 9,\r\n SCADUTO: 7\r\n}","import axios from \"axios\";\r\nimport {\r\n getAccordiByIdEnteIsLoading,\r\n getAccordiByIdEnteSuccess,\r\n getAccordiByIdEnteError\r\n} from \"./get-accordi-by-id-ente-actions\";\r\nimport {\r\n getCasiUsoByIdAccordoIsLoading,\r\n getCasiUsoByIdAccordoSuccess,\r\n getCasiUsoByIdAccordoError\r\n} from \"./get-casi-uso-by-id-accordo-actions\";\r\nimport {\r\n updateCasiUsoByIdAccordoIsLoading,\r\n updateCasiUsoByIdAccordoSuccess,\r\n updateCasiUsoByIdAccordoError\r\n} from \"./update-casi-uso-by-id-accordo-actions\";\r\nimport {\r\n getDettaglioCasoUsoByIdIsLoading,\r\n getDettaglioCasoUsoByIdSuccess,\r\n getDettaglioCasoUsoByIdError\r\n} from \"./get-dettaglio-caso-uso-by-id-actions\";\r\nimport {\r\n getAccordoByIdError,\r\n getAccordoByIdIsLoading,\r\n getAccordoByIdSuccess\r\n} from \"./get-accordo-by-id-actions\";\r\nimport {\r\n getCasiUsoAssociatiByIdAccordoIsLoading,\r\n getCasiUsoAssociatiByIdAccordoSuccess,\r\n getCasiUsoAssociatiByIdAccordoError\r\n} from \"./get-casi-uso-associati-by-id-accordo-actions\";\r\nimport {\r\n putRichiestaAdesioneDataSuccess,\r\n putRichiestaAdesioneConfigSuccess,\r\n putRichiestaAdesioneConfigIsLoading,\r\n resetRichiestaAdesioneIsLoading,\r\n resetRichiestaAdesioneDataSuccess,\r\n} from \"./nuova-richiesta-adesione-data-actions\";\r\nimport {\r\n insertRichiestaAdesioneIsLoading,\r\n insertRichiestaAdesioneSuccess,\r\n insertRichiestaAdesioneError\r\n} from \"./insert-richiesta-adesione-actions\";\r\nimport {\r\n updateRichiestaAdesioneByIdRichiestaIsLoading,\r\n updateRichiestaAdesioneByIdRichiestaSuccess,\r\n updateRichiestaAdesioneByIdRichiestaError\r\n} from \"./update-richiesta-adesione-by-id-richiesta-actions\";\r\nimport { insertFileRichiestaFirmatoError, insertFileRichiestaFirmatoSuccess, insertFileRichiestaFirmatoIsLoading } from \"./insert-file-richiesta-firmato-actions\";\r\nimport { cancelRichiestaAdesioneByIdRichiestaIsLoading, cancelRichiestaAdesioneByIdRichiestaSuccess, cancelRichiestaAdesioneByIdRichiestaError } from \"./cancel-richiesta-adesione-by-id-richiesta-actions\";\r\nimport { sendRichiestaAdesioneByIdRichiestaIsLoading, sendRichiestaAdesioneByIdRichiestaSuccess, sendRichiestaAdesioneByIdRichiestaError } from \"./send-richiesta-adesione-by-id-richiesta-actions\";\r\n// import moment from \"moment\";\r\nimport {\r\n getFileRichiestaSuccess, getFileRichiestaError, getFileRichiestaIsLoading,\r\n getFileFirmatoRichiestaSuccess, getFileFirmatoRichiestaError, getFileFirmatoRichiestaIsLoading,\r\n getFileControfirmatoRichiestaIsLoading, getFileControfirmatoRichiestaSuccess, getFileControfirmatoRichiestaError,\r\n getFileDelegaSuccess, getFileDelegaIsLoading, getFileDelegaError\r\n} from \"./files-richiesta-adesione-actions\";\r\nimport { insertFileRichiestaControfirmatoError, insertFileRichiestaControfirmatoIsLoading, insertFileRichiestaControfirmatoSuccess } from \"./insert-file-richiesta-controfirmato-actions\";\r\nimport { approvaAccordoError, approvaAccordoSuccess, approvaRespingiAccordoIsLoading, respingiAccordoError, respingiAccordoSuccess } from \"./approva-respingi-richiesta-adesione\";\r\nimport { addMessageImpostazioniAccordoTodo, appMessagesConfig, removeAppMessage } from \"../utils-actions\";\r\nimport { disableEnableCasiUsoByIdAccordoIsLoading, disableEnableCasiUsoByIdAccordoSuccess, disableEnableCasiUsoByIdAccordoError } from \"./disable-enable-casi-uso-by-id-accordo-actions\";\r\nimport { getAccordiByIdStatoIsLoading, getAccordiByIdStatoSuccess, getAccordiByIdStatoError } from \"./get-accordi-by-id-stato-actions\";\r\nimport { getAccordiByStatiError, getAccordiByStatiIsLoading, getAccordiByStatiSuccess } from \"./get-accordi-by-stati-actions\";\r\nimport { revocaAccordoError, revocaAccordoIsLoading, revocaAccordoSuccess } from \"./revoca-accordo\";\r\nimport { sospendiAccordoError, sospendiAccordoIsLoading, sospendiAccordoSuccess } from \"./sospendi-accordo\";\r\nimport { attivaAccordoError, attivaAccordoIsLoading, attivaAccordoSuccess } from \"./attiva-accordo\";\r\nimport { STATO_ACCORDO } from \"../../../../constants/stati-accordo\";\r\nimport { getResponsabileFirmaAccordoError, getResponsabileFirmaAccordoIsLoading, getResponsabileFirmaAccordoSuccess } from \"./get-responsabile-firma-accordo-actions\";\r\nimport { insertResponsabileFirmaAccordoError, insertResponsabileFirmaAccordoIsLoading, insertResponsabileFirmaAccordoSuccess } from \"./insert-responsabile-firma-accordo-actions\";\r\nimport { updateResponsabileFirmaAccordoError, updateResponsabileFirmaAccordoIsLoading, updateResponsabileFirmaAccordoSuccess } from \"./update-responsabile-firma-accordo-actions\";\r\nimport { setCasiUsoChangesSuccess } from \"../casi-uso-actions/set-casi-uso-changes-actions\";\r\nimport { logoutUser } from \"../../authentication/actions\";\r\n\r\nconst MESSAGGIO_ERRORE_GENERICO = \"Si è verificato un errore.\"\r\n\r\nexport const getAccordoById = (idAccordo, filesFlag, utenza) => dispatch => {\r\n dispatch(getAccordoByIdIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${parseInt(idAccordo)}`)\r\n .then(async (response) => {\r\n // Aggiungi messaggio\r\n if (['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza) && response.data.idstato === STATO_ACCORDO.ATTIVO) {\r\n if (!response.data.maxutenti || !response.data.transazionipreviste || !response.data.maxtransazionipreviste) {\r\n dispatch(addMessageImpostazioniAccordoTodo(utenza));\r\n } else {\r\n dispatch(removeAppMessage(\"impostazioniAccordo\"));\r\n }\r\n }\r\n\r\n if (filesFlag) {\r\n dispatch(getSignedFilesAccordoAttivoByIdAccordo(idAccordo, response.data));\r\n }\r\n dispatch(getAccordoByIdSuccess(\r\n response.data\r\n ));\r\n })\r\n .catch(error => {\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"GET\", type: \"danger\", error }));\r\n dispatch(getAccordoByIdError(error.message));\r\n });\r\n};\r\n\r\nexport const getFilesAccordoAttivoByIdAccordo = (idAccordo) => dispatch => {\r\n dispatch(getFileRichiestaIsLoading());\r\n dispatch(getFileFirmatoRichiestaIsLoading());\r\n dispatch(getFileControfirmatoRichiestaIsLoading());\r\n axios.all([\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filerichiesta`),\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filefirmatorichiesta`),\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filecontrofirmato`)\r\n ]).then(axios.spread((obj1, obj2, obj3) => {\r\n dispatch(getFileRichiestaSuccess(obj1.data));\r\n dispatch(getFileFirmatoRichiestaSuccess(obj2.data));\r\n dispatch(getFileControfirmatoRichiestaSuccess(obj3.data));\r\n }))\r\n .catch((err1, err2, err3) => {\r\n dispatch(getFileRichiestaError(err1))\r\n dispatch(getFileFirmatoRichiestaError(err2))\r\n dispatch(getFileControfirmatoRichiestaError(err3))\r\n });\r\n};\r\n\r\nexport const getSignedFilesAccordoAttivoByIdAccordo = (idAccordo, accordo) => dispatch => {\r\n if (accordo.idfiledelega) {\r\n dispatch(getFileDelegaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filedelega`)\r\n .then(res => {\r\n dispatch(getFileDelegaSuccess(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(getFileDelegaError(err.data));\r\n });\r\n } else dispatch(getFileDelegaSuccess());\r\n if (accordo.idfilerichiesta) {\r\n dispatch(getFileRichiestaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filerichiesta`)\r\n .then(res => {\r\n dispatch(getFileRichiestaSuccess(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(getFileRichiestaError(err.data));\r\n });\r\n } else dispatch(getFileRichiestaSuccess());\r\n if (accordo.idfilefirmatorichiesta) {\r\n dispatch(getFileFirmatoRichiestaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filefirmatorichiesta`)\r\n .then(res => {\r\n dispatch(getFileFirmatoRichiestaSuccess(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(getFileFirmatoRichiestaError(err.data));\r\n });\r\n } else dispatch(getFileFirmatoRichiestaSuccess());\r\n if (accordo.idfilecontrofirmato) {\r\n dispatch(getFileControfirmatoRichiestaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filecontrofirmato`)\r\n .then(res => {\r\n dispatch(getFileControfirmatoRichiestaSuccess(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(getFileControfirmatoRichiestaError(err.data));\r\n });\r\n } else dispatch(getFileControfirmatoRichiestaSuccess());\r\n};\r\n\r\n//** Manca il reducer */\r\n/*export const getFileRichiestaAdesione = (idAccordo) => dispatch => {\r\n dispatch(getFileRichiestaAdesioneIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filerichiesta`)\r\n .then(response => {\r\n dispatch(getFileRichiestaAdesioneSuccess(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(getFileRichiestaAdesioneError(error.message));\r\n });\r\n};*/\r\n\r\nexport const insertFileRichiestaFirmato = (idRichiesta, file) => dispatch => {\r\n dispatch(insertFileRichiestaFirmatoIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idRichiesta}/filefirmatorichiesta`, file)\r\n .then(response => {\r\n dispatch(insertFileRichiestaFirmatoSuccess(response.data));\r\n dispatch(getAccordoById(idRichiesta))\r\n dispatch(appMessagesConfig({ name: \"File di richiesta firmato\", action: \"UPLOAD\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(insertFileRichiestaFirmatoError(error));\r\n dispatch(appMessagesConfig({ name: \"File di richiesta firmato\", action: \"UPLOAD\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const insertFileRichiestaControfirmato = (idRichiesta, file) => dispatch => {\r\n dispatch(insertFileRichiestaControfirmatoIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idRichiesta}/filecontrofirmatorichiesta`, file)\r\n .then(response => {\r\n dispatch(insertFileRichiestaControfirmatoSuccess(response.data));\r\n dispatch(appMessagesConfig({ name: \"File di richiesta controfirmato\", action: \"UPLOAD\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(insertFileRichiestaControfirmatoError());\r\n dispatch(appMessagesConfig({ name: \"File di richiesta controfirmato\", action: \"UPLOAD\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const approvaAccordoById = (idAccordo) => dispatch => {\r\n dispatch(approvaRespingiAccordoIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/approva`)\r\n .then(response => {\r\n dispatch(approvaAccordoSuccess());\r\n dispatch(getAccordoById(idAccordo));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", action: \"APPROVE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(approvaAccordoError());\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"APPROVE\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const respingiAccordoById = (idAccordo, note) => dispatch => {\r\n dispatch(approvaRespingiAccordoIsLoading());\r\n\r\n //Potenziale vulnerabilità (stored XSS)\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/respingi`, { noteministero: note })\r\n .then(response => {\r\n dispatch(respingiAccordoSuccess(note));\r\n dispatch(getAccordoById(idAccordo));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", action: \"REJECT\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(respingiAccordoError());\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"REJECT\", type: \"danger\", error }));\r\n\r\n });\r\n};\r\n\r\nexport const getAccordiByIdEnte = (idEnte, stati_accordo) => dispatch => {\r\n dispatch(getAccordiByIdEnteIsLoading());\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/load/idente/${idEnte}`)\r\n .then(response => {\r\n if (response.data) {\r\n dispatch(getAccordiByIdEnteSuccess(response.data, stati_accordo));\r\n } else if (response.status === 204) {\r\n dispatch(getAccordiByIdEnteSuccess([], stati_accordo))\r\n }\r\n })\r\n .catch(error => {\r\n let errorMsg = error.response && error.response.data ? error.response.data.message : MESSAGGIO_ERRORE_GENERICO;\r\n dispatch(getAccordiByIdEnteError(errorMsg));\r\n })\r\n};\r\n\r\nexport const getAccordiByStati = (arrayStati = [4]) => dispatch => {\r\n dispatch(getAccordiByStatiIsLoading());\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo?ente-details=true&${arrayStati.map((st, i) => `idstato=${st}${!!arrayStati[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(response => {\r\n if (response.data) {\r\n dispatch(getAccordiByStatiSuccess(response.data.map(x => ({\r\n ...x,\r\n idstato: x.idstato === 9 ? 8 : x.idstato,\r\n revocato_dal_ministero: x.idstato === 9\r\n }))));\r\n }\r\n })\r\n .catch(error => {\r\n let errorMsg = error.response && error.response.data ? error.response.data.message : MESSAGGIO_ERRORE_GENERICO;\r\n dispatch(getAccordiByStatiError(errorMsg));\r\n })\r\n};\r\n\r\nexport const getAccordiByIdStato = (idstato) => dispatch => {\r\n dispatch(getAccordiByIdStatoIsLoading());\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/load/idstato/${idstato}?ente-details=true`)\r\n .then(response => {\r\n if (response.data) {\r\n dispatch(getAccordiByIdStatoSuccess(response.data, idstato));\r\n } else if (response.status === 204) {\r\n dispatch(getAccordiByIdStatoSuccess([]))\r\n }\r\n })\r\n .catch(error => {\r\n let errorMsg = error.response && error.response.data ? error.response.data.message : MESSAGGIO_ERRORE_GENERICO;\r\n dispatch(getAccordiByIdStatoError(errorMsg));\r\n })\r\n};\r\n\r\nexport const getCasiUsoByIdAccordo = (idAccordoAttivo, statoRichiesteFlag) => dispatch => {\r\n dispatch(getCasiUsoByIdAccordoIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordoAttivo}/afaccordocdview`)\r\n .then(response => {\r\n dispatch(getCasiUsoByIdAccordoSuccess(response.status === 204 ? [] : response.data));\r\n // if(statoRichiesteFlag) {\r\n // axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordoAttivo}/afinterfacciaws/stato-richieste`)\r\n // .then(statoRichieste => {\r\n // dispatch(getCasiUsoByIdAccordoSuccess(response.status === 204 ? [] : response.data, statoRichieste.data));\r\n // })\r\n // .catch(err => {\r\n // dispatch(getCasiUsoByIdAccordoSuccess(response.status === 204 ? [] : response.data, err));\r\n // })\r\n // } else {\r\n // dispatch(getCasiUsoByIdAccordoSuccess(response.status === 204 ? [] : response.data));\r\n // }\r\n })\r\n .catch(error => {\r\n dispatch(getCasiUsoByIdAccordoError(error.message));\r\n })\r\n};\r\n\r\nexport const getCasiUsoAssociatiByIdAccordo = (idAccordoAttivo, updated) => dispatch => {\r\n dispatch(getCasiUsoAssociatiByIdAccordoIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordoAttivo}/afaccordocdview/associati`)\r\n .then(response => {\r\n dispatch(getCasiUsoAssociatiByIdAccordoSuccess(response.status === 204 ? [] : response.data));\r\n // axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordoAttivo}/afinterfacciaws/stato-richieste`)\r\n // .then(statoRichieste => {\r\n // dispatch(getCasiUsoAssociatiByIdAccordoSuccess(response.status === 204 ? [] : response.data, statoRichieste.data));\r\n // })\r\n // .catch(err => {\r\n // dispatch(getCasiUsoByIdAccordoSuccess(response.status === 204 ? [] : response.data, err));\r\n // })\r\n })\r\n .catch(error => {\r\n dispatch(getCasiUsoAssociatiByIdAccordoError(error.message));\r\n })\r\n};\r\n\r\nexport const updateCasiUsoByIdAccordo = (idAccordo, bodyRequest) => (dispatch) => {\r\n dispatch(updateCasiUsoByIdAccordoIsLoading(idAccordo));\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/afcasoduso`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateCasiUsoByIdAccordoSuccess(idAccordo));\r\n dispatch(getCasiUsoByIdAccordo(idAccordo));\r\n dispatch(appMessagesConfig({ name: \"Casi d'uso\", des: \"i\", action: \"UPDATE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(updateCasiUsoByIdAccordoError(error));\r\n dispatch(appMessagesConfig({ name: \"Casi d'uso\", prep: \"dei \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const disableEnableCasiUsoByIdAccordo = (idAccordo, bodyRequest) => dispatch => {\r\n dispatch(disableEnableCasiUsoByIdAccordoIsLoading(idAccordo));\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/afaccordocasoduso/attivazione`, bodyRequest)\r\n .then(res => {\r\n dispatch(disableEnableCasiUsoByIdAccordoSuccess(idAccordo));\r\n dispatch(setCasiUsoChangesSuccess());\r\n dispatch(getCasiUsoAssociatiByIdAccordo(idAccordo));\r\n dispatch(appMessagesConfig({ name: \"Casi d'uso\", des: \"i\", action: \"UPDATE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(disableEnableCasiUsoByIdAccordoError(error));\r\n dispatch(appMessagesConfig({ name: \"Casi d'uso\", prep: \"dei \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const getDettaglioCasoUsoById = (idCasoUso, callback) => dispatch => {\r\n dispatch(getDettaglioCasoUsoByIdIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/load/id/${idCasoUso}/details`)\r\n .then(response => {\r\n if (response.data) {\r\n dispatch(getDettaglioCasoUsoByIdSuccess(response.data));\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n } else if (response.status === 204) {\r\n dispatch(getDettaglioCasoUsoByIdSuccess([{ id: idCasoUso, no_content: true }]));\r\n if (callback) {\r\n callback([{ id: idCasoUso, no_content: true }]);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(getDettaglioCasoUsoByIdError(error.message));\r\n })\r\n};\r\n\r\nexport const putRichiestaAdesioneData = (payload) => async (dispatch) => {\r\n dispatch(putRichiestaAdesioneDataSuccess(payload));\r\n};\r\n\r\nexport const validateCf = (payload, callback, loading) => async (dispatch) => {\r\n if(loading) {\r\n switch (loading) {\r\n case \"respMin\":\r\n dispatch(insertResponsabileFirmaAccordoIsLoading()); \r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if (payload.codicefiscale) {\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afutente/check`,\r\n {\r\n codicefiscale: payload.codicefiscale,\r\n nome: payload.nome,\r\n cognome: payload.cognome,\r\n datanascita: payload.datanascita\r\n }\r\n )\r\n .then(response => callback(false))\r\n // if (response.status === 204) {\r\n // callback(\"Codice fiscale non valido.\");\r\n // } else if (response.data && response.data[0]) {\r\n // let cfRes = response.data[0];\r\n // let dateString = payload.datanascita\r\n // ? moment(payload.datanascita).format('YYYY-MM-DD').toString()\r\n // : undefined;\r\n // let cfErrors = {\r\n // 'nome': cfRes.nome.toLowerCase() !== payload.nome.toLowerCase(),\r\n // 'cognome': cfRes.cognome.toLowerCase() !== payload.cognome.toLowerCase(),\r\n // 'datanascita': dateString ? cfRes.datanascita !== dateString : false,\r\n // };\r\n // if (Object.keys(cfErrors).some(el => cfErrors[el])) {\r\n // callback(\"Codice fiscale incongruente con i dati anagrafici inseriti.\");\r\n // } else callback(false);\r\n // }\r\n // })\r\n .catch(error => {\r\n let msg = error.response ? error.response.data.message : \"Non è stato possibile verificare il codice fiscale, riprovare.\"\r\n callback(msg)\r\n })\r\n }\r\n};\r\n\r\nexport const putRichiestaAdesioneConfig = (payload) => dispatch => {\r\n dispatch(putRichiestaAdesioneConfigIsLoading());\r\n dispatch(putRichiestaAdesioneConfigSuccess(payload));\r\n};\r\n\r\nexport const resetRichiestaAdesioneData = () => dispatch => {\r\n dispatch(resetRichiestaAdesioneIsLoading());\r\n dispatch(resetRichiestaAdesioneDataSuccess());\r\n};\r\n\r\nexport const insertRichiestaAdesione = (values) => dispatch => {\r\n dispatch(insertRichiestaAdesioneIsLoading());\r\n axios\r\n .post(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo`, values)\r\n .then(res => {\r\n dispatch(insertRichiestaAdesioneSuccess(res.data))\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", des: \"a\", action: \"INSERT\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(insertRichiestaAdesioneError(error));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", prep: \"della \", action: \"INSERT\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const updateRichiestaAdesioneByIdRichiesta = (\r\n idAccordo,\r\n values\r\n) => dispatch => {\r\n dispatch(updateRichiestaAdesioneByIdRichiestaIsLoading());\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}`,\r\n values\r\n )\r\n .then(res => {\r\n dispatch(updateRichiestaAdesioneByIdRichiestaSuccess(res.data));\r\n dispatch(getAccordoById(idAccordo))\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", des: \"a\", action: \"UPDATE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(updateRichiestaAdesioneByIdRichiestaError(error));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const cancelRichiestaAdesioneByIdRichiesta = (\r\n idRichiesta,\r\n) => dispatch => {\r\n dispatch(cancelRichiestaAdesioneByIdRichiestaIsLoading(true));\r\n axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idRichiesta}/annulla`)\r\n .then(res => {\r\n dispatch(cancelRichiestaAdesioneByIdRichiestaSuccess(true));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", des: \"a\", action: \"CANCEL\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(cancelRichiestaAdesioneByIdRichiestaError(error));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", prep: \"della \", action: \"CANCEL\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const sendRichiestaAdesioneByIdRichiesta = (\r\n idRichiesta,\r\n) => dispatch => {\r\n dispatch(sendRichiestaAdesioneByIdRichiestaIsLoading());\r\n axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idRichiesta}/invia`)\r\n .then(res => {\r\n dispatch(sendRichiestaAdesioneByIdRichiestaSuccess(res.data));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", des: \"a\", action: \"ACQUIRE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(sendRichiestaAdesioneByIdRichiestaError(error));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", prep: \"della \", action: \"ACQUIRE\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const revocaAccordo = (id, callback, ministeroFlag) => dispatch => {\r\n dispatch(revocaAccordoIsLoading(true));\r\n axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${id}/concludi`)\r\n .then(async (response) => {\r\n await dispatch(appMessagesConfig({ name: \"Accordo\", des: \"o\", action: \"REVOKE\", type: \"success\" }));\r\n if (ministeroFlag) {\r\n dispatch(revocaAccordoSuccess(id));\r\n dispatch(getAccordoById(id, 'ministero'));\r\n } else {\r\n setTimeout(() => {\r\n dispatch(revocaAccordoSuccess(id));\r\n dispatch(logoutUser());\r\n }, 5000);\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(revocaAccordoError(error));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"REVOKE\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const sospendiAccordo = (id, callback) => dispatch => {\r\n dispatch(sospendiAccordoIsLoading(true));\r\n axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${id}/sospendi`)\r\n .then(response => {\r\n dispatch(sospendiAccordoSuccess(id));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", des: \"o\", action: \"SUSPEND\", type: \"success\" }));\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(sospendiAccordoError(error));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"SUSPEND\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const attivaAccordo = (id, callback) => dispatch => {\r\n dispatch(attivaAccordoIsLoading(true));\r\n axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${id}/attiva`)\r\n .then(response => {\r\n dispatch(attivaAccordoSuccess(id));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", des: \"o\", action: \"ACTIVATE\", type: \"success\" }));\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(attivaAccordoError(error));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"ACTIVATE\", type: \"danger\", error }));\r\n });\r\n};\r\n\r\nexport const getResponsabileFirmaAccordo = () => dispatch => {\r\n dispatch(getResponsabileFirmaAccordoIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afrespministero/firmaaccordo/attivo`)\r\n .then(\r\n res => {\r\n dispatch(getResponsabileFirmaAccordoSuccess(res.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getResponsabileFirmaAccordoError(errorMsg));\r\n });\r\n};\r\n\r\nexport const inserisciResponsabileFirmaAccordo = (payload) => dispatch => {\r\n dispatch(insertResponsabileFirmaAccordoIsLoading());\r\n axios.post(\r\n `/anpr-portale-enti-be-web/jaxrs/afrespministero`,\r\n {\r\n \"idtipo\": 1,\r\n ...payload,\r\n }\r\n )\r\n .then(\r\n res => {\r\n dispatch(getResponsabileFirmaAccordo());\r\n dispatch(insertResponsabileFirmaAccordoSuccess());\r\n dispatch(appMessagesConfig({ name: \"Responsabile del ministero per la firma dell'accordo\", des: \"o\", action: \"UPDATE\", type: \"success\" }));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(insertResponsabileFirmaAccordoError(errorMsg));\r\n dispatch(appMessagesConfig({ name: \"Responsabile del ministero per la firma dell'accordo\", action: \"UPDATE\", type: \"danger\", err }));\r\n });\r\n};\r\n\r\nexport const aggiornaResponsabileFirmaAccordo = (id, payload) => dispatch => {\r\n dispatch(updateResponsabileFirmaAccordoIsLoading());\r\n axios.put(\r\n `/anpr-portale-enti-be-web/jaxrs/afrespministero/${id}`,\r\n payload\r\n )\r\n .then(\r\n res => {\r\n dispatch(getResponsabileFirmaAccordo());\r\n dispatch(updateResponsabileFirmaAccordoSuccess());\r\n dispatch(appMessagesConfig({ name: \"Responsabile del ministero per la firma dell'accordo\", des: \"o\", action: \"UPDATE\", type: \"success\" }));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(updateResponsabileFirmaAccordoError(errorMsg));\r\n dispatch(appMessagesConfig({ name: \"Responsabile del ministero per la firma dell'accordo\", action: \"UPDATE\", type: \"danger\", err }));\r\n });\r\n};","import axios from \"axios\";\r\nimport { getCasiUsoAllIsLoading, getCasiUsoAllSuccess, getCasiUsoAllError } from \"./get-casi-uso-all-actions\";\r\nimport { getIdDecodificaByVariabile } from \"../../../../components/common/decodifiche\";\r\nimport { getCasoUsoFormFieldsIsLoading, getCasoUsoFormFieldsSuccess, getCasoUsoFormFieldsError } from \"./get-caso-uso-form-fields-actions\";\r\nimport { insertCasoUsoIsLoading, insertCasoUsoSuccess, insertCasoUsoError } from \"./insert-caso-uso-actions\";\r\nimport { cancelCasoUsoByIdIsLoading, cancelCasoUsoByIdSuccess, cancelCasoUsoByIdError } from \"./cancel-caso-uso-by-id-actions\";\r\nimport { updateCasoUsoByIdIsLoading, updateCasoUsoByIdSuccess, updateCasoUsoByIdError } from \"./update-caso-uso-by-id-actions\";\r\nimport { appMessagesConfig } from \"../utils-actions\";\r\nimport { getDettaglioCasoUsoById } from \"../accordi-actions\";\r\nimport { approveCasoUsoByIdIsLoading, approveCasoUsoByIdSuccess, approveCasoUsoByIdError } from \"./approve-caso-uso-by-id-actions\";\r\nimport { rejectCasoUsoByIdIsLoading, rejectCasoUsoByIdSuccess, rejectCasoUsoByIdError } from \"./reject-caso-uso-by-id-actions\";\r\nimport { proposeCasoUsoByIdIsLoading, proposeCasoUsoByIdSuccess, proposeCasoUsoByIdError } from \"./propose-caso-uso-by-id-actions\";\r\nimport { extendCasoUsoByIdIsLoading, extendCasoUsoByIdSuccess, extendCasoUsoByIdError } from \"./extend-caso-uso-by-id-actions\";\r\nimport { disableCasoUsoByIdIsLoading, disableCasoUsoByIdSuccess, disableCasoUsoByIdError } from \"./disable-caso-uso-by-id-actions\";\r\nimport { enableCasoUsoByIdIsLoading, enableCasoUsoByIdSuccess, enableCasoUsoByIdError } from \"./enable-caso-uso-by-id-actions\";\r\nimport { activateCasoUsoByIdError, activateCasoUsoByIdIsLoading, activateCasoUsoByIdSuccess } from \"./activate-caso-uso-by-id-actions\";\r\nimport { getActiveClustersError, getActiveClustersIsLoading, getActiveClustersSuccess } from \"./get-active-clusters-actions\";\r\nimport { addAppMessage } from \"../utils-actions/app-messages-config-actions\";\r\nimport { setCasiUsoChangesIsLoading, setCasiUsoChangesSuccess } from \"./set-casi-uso-changes-actions\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nexport const getCasiUsoAll = (decodificheStatiCasoUso) => dispatch => {\r\n dispatch(getCasiUsoAllIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/view`)\r\n .then(\r\n casiusoall => {\r\n let casiuso = casiusoall.data.slice();\r\n let idStatoDisabilitatoNormativa = getIdDecodificaByVariabile(\r\n 'DISABILITATO_PER_LA_NORMATIVA',\r\n decodificheStatiCasoUso\r\n );\r\n casiusoall.data.forEach((el, i) => {\r\n if (el.idStato === idStatoDisabilitatoNormativa) {\r\n casiuso.splice(i, 1, {\r\n ...el,\r\n idStato: getIdDecodificaByVariabile(\r\n 'DISABILITATO_DAL_MINISTERO',\r\n decodificheStatiCasoUso\r\n ),\r\n disabilitatoNormativa: true\r\n });\r\n }\r\n });\r\n\r\n dispatch(getCasiUsoAllSuccess(casiuso, decodificheStatiCasoUso));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCasiUsoAllError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getCasoUsoFormFields = (utenza) => dispatch => {\r\n let clusters, categorie, lda, gruppi_dato, normative;\r\n\r\n dispatch(getCasoUsoFormFieldsIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcluster/load/idstato/0`)\r\n .then(\r\n clustersResponse => {\r\n clusters = clustersResponse.data.map(cluster => (\r\n {\r\n value: cluster.id,\r\n label: cluster.descrizione\r\n }\r\n ));\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afnormativa?idstato=0${utenza === 'responsabile-amministrazione'\r\n ? '&idstato=2'\r\n : ''}`)\r\n .then(\r\n normativeResponse => {\r\n normative = normativeResponse.data.map(norma => (\r\n {\r\n value: norma.id,\r\n label: norma.titolo\r\n }\r\n ));\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/catalog/dec/item/DEC_AF_LDA/all`)\r\n .then(\r\n ldaResponse => {\r\n lda = ldaResponse.data.content.map(el => (\r\n {\r\n value: el.key,\r\n label: el.traduzione\r\n }\r\n ));\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/decgruppodati/load/all`)\r\n .then(\r\n gruppiDatoResponse => {\r\n gruppi_dato = gruppiDatoResponse.data.map(gruppo => (\r\n {\r\n value: gruppo.id,\r\n label: gruppo.descrizione\r\n }\r\n ));\r\n if (utenza === 'ministero') {\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/load/stato/0/orderby/descrizione`)\r\n .then(\r\n categorieAttiveResponse => {\r\n categorie = categorieAttiveResponse.data.length ? categorieAttiveResponse.data.map(categoria => (\r\n {\r\n value: categoria.id,\r\n label: categoria.descrizione\r\n }\r\n )) : [];\r\n dispatch(getCasoUsoFormFieldsSuccess({\r\n clusters,\r\n categorie,\r\n lda,\r\n gruppi_dato,\r\n normative\r\n }));\r\n })\r\n .catch(err => {\r\n dispatch(getCasoUsoFormFieldsError({ normative: err }));\r\n });\r\n } else {\r\n dispatch(getCasoUsoFormFieldsSuccess({\r\n clusters,\r\n lda,\r\n gruppi_dato,\r\n normative,\r\n }));\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(getCasoUsoFormFieldsError({ gruppi_dato: err }));\r\n });\r\n })\r\n .catch(err => {\r\n dispatch(getCasoUsoFormFieldsError({ ambiti: err }));\r\n });\r\n })\r\n .catch(err => {\r\n dispatch(getCasoUsoFormFieldsError({ categorie: err }));\r\n });\r\n })\r\n .catch(err => {\r\n dispatch(getCasoUsoFormFieldsError({ clusters: err }));\r\n });\r\n};\r\n\r\nexport const inserisciCasoUso = (bodyRequest, disableForm, infoFlag) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(insertCasoUsoIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afcasoduso`, bodyRequest)\r\n .then(res => {\r\n dispatch(insertCasoUsoSuccess(bodyRequest));\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"INSERT\", type: \"success\" }));\r\n if (infoFlag) {\r\n dispatch(addAppMessage(\r\n {\r\n id: \"info-caso-uso-inserito\",\r\n text: `Per completare il processo è necessario proporre il caso d’uso al Ministero.`,\r\n type: \"info\",\r\n closable: true\r\n }));\r\n }\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n disableForm();\r\n })\r\n .catch(error => {\r\n dispatch(insertCasoUsoError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"INSERT\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const aggiornaCasoUsoById = (id, bodyRequest) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(updateCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"UPDATE\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(updateCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const annullaCasoUsoById = (id) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(cancelCasoUsoByIdIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/elimina`)\r\n .then(res => {\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(cancelCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", prep: \"del \", action: \"CANCEL\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(cancelCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", prep: \"del \", action: \"CANCEL\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const attivaCasoUsoById = (id) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(activateCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/attiva`)\r\n .then(res => {\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(activateCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", prep: \"del \", action: \"ACTIVATE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(activateCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", prep: \"del \", action: \"ACTIVATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const proponiCasoUsoById = (id, bodyRequest) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(proposeCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/proponi`, bodyRequest)\r\n .then(res => {\r\n dispatch(proposeCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"PROPOSE\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(proposeCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"PROPOSE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const approvaCasoUsoById = (id, bodyRequest) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(approveCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/approva`, bodyRequest)\r\n .then(res => {\r\n dispatch(approveCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"APPROVE\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(approveCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"APPROVE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const rifiutaCasoUsoById = (id, bodyRequest) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(rejectCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/rifiuta`, bodyRequest)\r\n .then(res => {\r\n dispatch(rejectCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"REJECT\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(rejectCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"REJECT\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const estendiCasoUsoById = (id) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(extendCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/estendi`)\r\n .then(res => {\r\n dispatch(extendCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"EXTEND\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(extendCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"EXTEND\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const disabilitaCasoUsoById = (id, bodyRequest) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(disableCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/disabilita`, bodyRequest)\r\n .then(res => {\r\n dispatch(disableCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"DISABLE\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(disableCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"DISABLE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const abilitaCasoUsoById = (id) => (dispatch, getState) => {\r\n const { decodifiche } = getState();\r\n dispatch(enableCasoUsoByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcasoduso/${id}/abilita`)\r\n .then(res => {\r\n dispatch(enableCasoUsoByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", des: \"o\", action: \"ENABLE\", type: \"success\" }));\r\n dispatch(getCasiUsoAll(decodifiche.stati_caso_uso.stati_caso_uso));\r\n dispatch(getDettaglioCasoUsoById(id));\r\n })\r\n .catch(error => {\r\n dispatch(enableCasoUsoByIdError());\r\n dispatch(appMessagesConfig({ name: \"Caso d'uso\", prep: \"del \", action: \"ENABLE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const getClusterAttivi = () => dispatch => {\r\n dispatch(getActiveClustersIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcluster/load/idstato/0`)\r\n .then(\r\n clusters => {\r\n dispatch(getActiveClustersSuccess(clusters.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getActiveClustersError(errorMsg));\r\n });\r\n};\r\n\r\nexport const setCasiUsoChanges = (payload, change,) => dispatch => {\r\n dispatch(setCasiUsoChangesIsLoading());\r\n let casoindex, caso;\r\n let newCasiusoArray = payload.casi.slice().filter((el, index) => {\r\n if (el.idCasoduso !== change.idCasoduso) {\r\n return true;\r\n } else {\r\n casoindex = index;\r\n return false;\r\n }\r\n });\r\n\r\n if (!!payload.extraData) {\r\n if (!!payload.prevcaso\r\n && (payload.prevcaso.finalitaTrattamento === change.finalitaTrattamento)\r\n && (parseInt(payload.prevcaso.idAmbito, 10) === parseInt(change.idAmbito, 10))\r\n && (parseInt(payload.prevcaso.idAmbitoTerritoriale, 10) === parseInt(change.idAmbitoTerritoriale, 10))\r\n && (isNullOrUndefined(payload.prevcaso.idRegione)\r\n || (payload.prevcaso.idRegione &&\r\n (parseInt(payload.prevcaso.idRegione, 10) === parseInt(change.idRegione, 10))))\r\n ) {\r\n caso = payload.prevcaso;\r\n } else {\r\n caso = {\r\n ...change,\r\n ...payload.extraData\r\n };\r\n }\r\n }\r\n\r\n newCasiusoArray.splice(\r\n casoindex,\r\n 0,\r\n caso || change\r\n );\r\n dispatch(setCasiUsoChangesSuccess(newCasiusoArray));\r\n};","import axios from \"axios\";\r\nimport { appMessagesConfig } from \"../../utils-actions\";\r\nimport { insertTipologiaCategoriaError, insertTipologiaCategoriaIsLoading, insertTipologiaCategoriaSuccess } from \"./insert-tipologia-categoria-actions\";\r\nimport { getTipologieAllError, getTipologieAllIsLoading, getTipologieAllSuccess } from \"./get-tipologie-all-actions\";\r\nimport { getTipologieByUtenzaError, getTipologieByUtenzaIsLoading, getTipologieByUtenzaSuccess } from \"./get-tipologie-by-utenza-actions\";\r\nimport { updateTipologiaByIdError, updateTipologiaByIdIsLoading, updateTipologiaByIdSuccess } from \"./update-tipologia-by-id-actions\";\r\nimport { cancelTipologiaByIdError, cancelTipologiaByIdIsLoading, cancelTipologiaByIdSuccess } from \"./cancel-tipologia-by-id-actions\";\r\nimport { proposeTipologiaByIdError, proposeTipologiaByIdIsLoading, proposeTipologiaByIdSuccess } from \"./propose-tipologia-by-id-actions\";\r\nimport { activateTipologiaByIdError, activateTipologiaByIdIsLoading, activateTipologiaByIdSuccess } from \"./activate-tipologia-by-id-actions\";\r\nimport { deactivateTipologiaByIdError, deactivateTipologiaByIdIsLoading, deactivateTipologiaByIdSuccess } from \"./deactivate-tipologia-by-id-actions\";\r\nimport { getTipologieByStatiError, getTipologieByStatiIsLoading, getTipologieByStatiSuccess } from \"./get-tipologie-by-stati-actions\";\r\nimport { getFiltroTipologieByUtenzaError, getFiltroTipologieByUtenzaIsLoading, getFiltroTipologieByUtenzaSuccess } from \"./get-filtro-tipologie-by-utenza-actions\";\r\n\r\n\r\n// TIPOLOGIE\r\n\r\nexport const getTipologieAll = () => dispatch => {\r\n dispatch(getTipologieAllIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/load/all/orderby/descrizione`)\r\n .then(\r\n tipologieall => {\r\n dispatch(getTipologieAllSuccess(tipologieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getTipologieAllError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getTipologieByUtenza = utenza => dispatch => {\r\n let statiTipologie = [0, 1, 5];\r\n if (['enti'].includes(utenza)) {\r\n statiTipologie.splice(2, 0, 2);\r\n }\r\n dispatch(getTipologieByUtenzaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente?${statiTipologie.map((st, i) => `stato=${st}${!!statiTipologie[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n tipologieall => {\r\n dispatch(getTipologieByUtenzaSuccess(tipologieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getTipologieByUtenzaError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getFiltroTipologieByUtenza = utenza => dispatch => {\r\n let statiTipologie = [0, 1, 5];\r\n if (['enti'].includes(utenza)) {\r\n statiTipologie.splice(2, 0, 2);\r\n }\r\n dispatch(getFiltroTipologieByUtenzaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente?${statiTipologie.map((st, i) => `stato=${st}${!!statiTipologie[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n tipologieall => {\r\n dispatch(getFiltroTipologieByUtenzaSuccess(tipologieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getFiltroTipologieByUtenzaError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getTipologieByStati = stati => dispatch => {\r\n dispatch(getTipologieByStatiIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente?${stati.map((st, i) => `stato=${st}${!!stati[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n categorieall => {\r\n dispatch(getTipologieByStatiSuccess(categorieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getTipologieByStatiError(errorMsg));\r\n });\r\n};\r\n\r\nexport const inserisciTipologiaCategoria = (formValues, disableForm, utenza) => (dispatch, getState) => {\r\n dispatch(insertTipologiaCategoriaIsLoading());\r\n let bodyRequest = {\r\n \"tipologiaEnte\": {\r\n \"classe\": formValues.classe.value,\r\n \"descrizione\": formValues.descrizionenuovatipologia\r\n },\r\n \"categoriaEnte\": {\r\n \"descrizione\": formValues.descrizionenuovacategoria\r\n }\r\n };\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/afcategoriaente`, bodyRequest)\r\n .then(res => {\r\n disableForm(formValues);\r\n dispatch(insertTipologiaCategoriaSuccess(bodyRequest));\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", des: \"a\", action: \"INSERT\", type: \"success\" }));\r\n dispatch(getTipologieByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(insertTipologiaCategoriaError());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", prep: \"della \", action: \"INSERT\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const aggiornaTipologiaById = (id, bodyRequest, utenza) => (dispatch, getState) => {\r\n dispatch(updateTipologiaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/${id}`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateTipologiaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", des: \"a\", action: \"UPDATE\", type: \"success\" }));\r\n dispatch(getTipologieByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(updateTipologiaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const annullaTipologiaById = (id, utenza) => (dispatch, getState) => {\r\n dispatch(cancelTipologiaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/${id}/annulla`)\r\n .then(res => {\r\n dispatch(cancelTipologiaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", des: \"a\", action: \"CANCEL\", type: \"success\" }));\r\n dispatch(getTipologieByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(cancelTipologiaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", prep: \"della \", action: \"CANCEL\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const proponiTipologiaById = (id) => (dispatch, getState) => {\r\n dispatch(proposeTipologiaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/${id}/proponi`)\r\n .then(res => {\r\n dispatch(proposeTipologiaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", des: \"a\", action: \"PROPOSE\", type: \"success\" }));\r\n dispatch(getTipologieByUtenza('enti'));\r\n })\r\n .catch(error => {\r\n dispatch(proposeTipologiaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", prep: \"della \", action: \"PROPOSE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const attivaTipologiaById = (id) => (dispatch, getState) => {\r\n dispatch(activateTipologiaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/${id}/attiva`)\r\n .then(res => {\r\n dispatch(activateTipologiaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", des: \"a\", action: \"ACTIVATE\", type: \"success\" }));\r\n dispatch(getTipologieByUtenza('ministero'));\r\n })\r\n .catch(error => {\r\n dispatch(activateTipologiaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", prep: \"della \", action: \"ACTIVATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const disattivaTipologiaById = (id) => (dispatch, getState) => {\r\n dispatch(deactivateTipologiaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/aftipologiaente/${id}/disattiva`)\r\n .then(res => {\r\n dispatch(deactivateTipologiaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", des: \"a\", action: \"DEACTIVATE\", type: \"success\" }));\r\n dispatch(getTipologieByUtenza('ministero'));\r\n })\r\n .catch(error => {\r\n dispatch(deactivateTipologiaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Tipologia\", prep: \"della \", action: \"DEACTIVATE\", type: \"danger\", error }));\r\n })\r\n};","import axios from \"axios\";\r\nimport { appMessagesConfig } from \"../../utils-actions\";\r\nimport { insertCategoriaError, insertCategoriaIsLoading, insertCategoriaSuccess } from \"./insert-categoria-actions\";\r\nimport { getCategorieAllError, getCategorieAllIsLoading, getCategorieAllSuccess } from \"./get-categorie-all-actions\";\r\nimport { getCategorieByUtenzaError, getCategorieByUtenzaIsLoading, getCategorieByUtenzaSuccess } from \"./get-categorie-by-utenza-actions\";\r\nimport { updateCategoriaByIdError, updateCategoriaByIdIsLoading, updateCategoriaByIdSuccess } from \"./update-categoria-by-id-actions\";\r\nimport { cancelCategoriaByIdError, cancelCategoriaByIdIsLoading, cancelCategoriaByIdSuccess } from \"./cancel-categoria-by-id-actions\";\r\nimport { proposeCategoriaByIdError, proposeCategoriaByIdIsLoading, proposeCategoriaByIdSuccess } from \"./propose-categoria-by-id-actions\";\r\nimport { activateCategoriaByIdError, activateCategoriaByIdIsLoading, activateCategoriaByIdSuccess } from \"./activate-categoria-by-id-actions\";\r\nimport { deactivateCategoriaByIdError, deactivateCategoriaByIdIsLoading, deactivateCategoriaByIdSuccess } from \"./deactivate-categoria-by-id-actions\";\r\nimport { getCategorieByStatiError, getCategorieByStatiIsLoading, getCategorieByStatiSuccess } from \"./get-categorie-by-stati-actions\";\r\nimport { getFiltroCategorieByUtenzaError, getFiltroCategorieByUtenzaIsLoading, getFiltroCategorieByUtenzaSuccess } from \"./get-filtro-categorie-by-utenza-actions\";\r\n\r\n\r\n// CATEGORIE\r\n\r\nexport const getCategorieAll = () => dispatch => {\r\n dispatch(getCategorieAllIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/load/all/orderby/descrizione`)\r\n .then(\r\n categorieall => {\r\n dispatch(getCategorieAllSuccess(categorieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCategorieAllError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getCategorieByUtenza = utenza => dispatch => {\r\n let statiCategorie = [0, 1, 5];\r\n if (['enti'].includes(utenza)) {\r\n statiCategorie.splice(2, 0, 2);\r\n }\r\n dispatch(getCategorieByUtenzaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente?${statiCategorie.map((st, i) => `stato=${st}${!!statiCategorie[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n categorie => {\r\n dispatch(getCategorieByUtenzaSuccess(categorie.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCategorieByUtenzaError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getFiltroCategorieByUtenza = utenza => dispatch => {\r\n let statiCategorie = [0, 1, 5];\r\n if (['enti'].includes(utenza)) {\r\n statiCategorie.splice(2, 0, 2);\r\n }\r\n dispatch(getFiltroCategorieByUtenzaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente?${statiCategorie.map((st, i) => `stato=${st}${!!statiCategorie[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n categorie => {\r\n dispatch(getFiltroCategorieByUtenzaSuccess(categorie.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getFiltroCategorieByUtenzaError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getCategorieByStati = stati => dispatch => {\r\n dispatch(getCategorieByStatiIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente?${stati.map((st, i) => `stato=${st}${!!stati[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n categorieall => {\r\n dispatch(getCategorieByStatiSuccess(categorieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCategorieByStatiError(errorMsg));\r\n });\r\n};\r\n\r\nexport const inserisciCategoria = (values, disableForm, utenza) => (dispatch, getState) => {\r\n dispatch(insertCategoriaIsLoading());\r\n let bodyRequest = {\r\n \"idtipologia\": values.tipologia.value,\r\n \"descrizione\": values.descrizionenuovacategoria\r\n };\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente`, bodyRequest)\r\n .then(res => {\r\n dispatch(insertCategoriaSuccess(bodyRequest));\r\n dispatch(appMessagesConfig({ name: \"Categoria\", des: \"a\", action: \"INSERT\", type: \"success\" }));\r\n dispatch(getCategorieByUtenza(utenza));\r\n disableForm(values);\r\n })\r\n .catch(error => {\r\n dispatch(insertCategoriaError());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", prep: \"della \", action: \"INSERT\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const aggiornaCategoriaById = (id, bodyRequest, utenza) => (dispatch, getState) => {\r\n dispatch(updateCategoriaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/${id}`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateCategoriaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", des: \"a\", action: \"UPDATE\", type: \"success\" }));\r\n dispatch(getCategorieByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(updateCategoriaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const annullaCategoriaById = (id, utenza) => (dispatch, getState) => {\r\n dispatch(cancelCategoriaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/${id}/annulla`)\r\n .then(res => {\r\n dispatch(cancelCategoriaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", des: \"a\", action: \"CANCEL\", type: \"success\" }));\r\n dispatch(getCategorieByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(cancelCategoriaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", prep: \"della \", action: \"CANCEL\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const proponiCategoriaById = (id) => (dispatch, getState) => {\r\n dispatch(proposeCategoriaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/${id}/proponi`)\r\n .then(res => {\r\n dispatch(proposeCategoriaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", des: \"a\", action: \"PROPOSE\", type: \"success\" }));\r\n dispatch(getCategorieByUtenza('enti'));\r\n })\r\n .catch(error => {\r\n dispatch(proposeCategoriaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", prep: \"della \", action: \"PROPOSE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const attivaCategoriaById = (id) => (dispatch, getState) => {\r\n dispatch(activateCategoriaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/${id}/attiva`)\r\n .then(res => {\r\n dispatch(activateCategoriaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", des: \"a\", action: \"ACTIVATE\", type: \"success\" }));\r\n dispatch(getCategorieByUtenza('ministero'));\r\n })\r\n .catch(error => {\r\n dispatch(activateCategoriaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", prep: \"della \", action: \"ACTIVATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const disattivaCategoriaById = (id) => (dispatch, getState) => {\r\n dispatch(deactivateCategoriaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcategoriaente/${id}/disattiva`)\r\n .then(res => {\r\n dispatch(deactivateCategoriaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", des: \"a\", action: \"DEACTIVATE\", type: \"success\" }));\r\n dispatch(getCategorieByUtenza('ministero'));\r\n })\r\n .catch(error => {\r\n dispatch(deactivateCategoriaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria\", prep: \"della \", action: \"DEACTIVATE\", type: \"danger\", error }));\r\n })\r\n};","import axios from \"axios\";\r\nimport { appMessagesConfig } from \"../../utils-actions\";\r\nimport { insertCategoriaSpecificaError, insertCategoriaSpecificaIsLoading, insertCategoriaSpecificaSuccess } from \"./insert-categoria-specifica-actions\";\r\nimport { getCategorieSpecificheAllError, getCategorieSpecificheAllIsLoading, getCategorieSpecificheAllSuccess } from \"./get-categorie-specifiche-all-actions\";\r\nimport { getCategorieSpecificheByUtenzaError, getCategorieSpecificheByUtenzaIsLoading, getCategorieSpecificheByUtenzaSuccess } from \"./get-categorie-specifiche-by-utenza-actions\";\r\nimport { updateCategoriaSpecificaByIdError, updateCategoriaSpecificaByIdIsLoading, updateCategoriaSpecificaByIdSuccess } from \"./update-categoria-specifica-by-id-actions\";\r\nimport { cancelCategoriaSpecificaByIdError, cancelCategoriaSpecificaByIdIsLoading, cancelCategoriaSpecificaByIdSuccess } from \"./cancel-categoria-specifica-by-id-actions\";\r\nimport { proposeCategoriaSpecificaByIdError, proposeCategoriaSpecificaByIdIsLoading, proposeCategoriaSpecificaByIdSuccess } from \"./propose-categoria-specifica-by-id-actions\";\r\nimport { activateCategoriaSpecificaByIdError, activateCategoriaSpecificaByIdIsLoading, activateCategoriaSpecificaByIdSuccess } from \"./activate-categoria-specifica-by-id-actions\";\r\nimport { deactivateCategoriaSpecificaByIdError, deactivateCategoriaSpecificaByIdIsLoading, deactivateCategoriaSpecificaByIdSuccess } from \"./deactivate-categoria-specifica-by-id-actions\";\r\nimport { getCategorieSpecificheByStatiError, getCategorieSpecificheByStatiIsLoading, getCategorieSpecificheByStatiSuccess } from \"./get-categorie-specifiche-by-stati-actions\";\r\n\r\n\r\n// CATEGORIE\r\n\r\nexport const getCategorieSpecificheAll = () => dispatch => {\r\n dispatch(getCategorieSpecificheAllIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/load/all/orderby/descrizione`)\r\n .then(\r\n categorieall => {\r\n dispatch(getCategorieSpecificheAllSuccess(categorieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCategorieSpecificheAllError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getCategorieSpecificheByUtenza = utenza => dispatch => {\r\n let statiCategorieSpecifiche = [0, 1, 5];\r\n if (['enti'].includes(utenza)) {\r\n statiCategorieSpecifiche.splice(2, 0, 2);\r\n }\r\n dispatch(getCategorieSpecificheByUtenzaIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente?${statiCategorieSpecifiche.map((st, i) => `stato=${st}${!!statiCategorieSpecifiche[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n categorieall => {\r\n dispatch(getCategorieSpecificheByUtenzaSuccess(categorieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCategorieSpecificheByUtenzaError(errorMsg));\r\n });\r\n};\r\n\r\nexport const getCategorieSpecificheByStati = stati => dispatch => {\r\n dispatch(getCategorieSpecificheByStatiIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente?${stati.map((st, i) => `stato=${st}${!!stati[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n categorieall => {\r\n dispatch(getCategorieSpecificheByStatiSuccess(categorieall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getCategorieSpecificheByStatiError(errorMsg));\r\n });\r\n};\r\n\r\nexport const inserisciCategoriaSpecifica = (values, disableForm, utenza) => (dispatch, getState) => {\r\n dispatch(insertCategoriaSpecificaIsLoading());\r\n let bodyRequest = {\r\n \"idcategoria\": values.categoria.value,\r\n \"descrizione\": values.descrizionenuovacategoriaspecifica\r\n };\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente`, bodyRequest)\r\n .then(res => {\r\n dispatch(insertCategoriaSpecificaSuccess(bodyRequest));\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", des: \"a\", action: \"INSERT\", type: \"success\" }));\r\n dispatch(getCategorieSpecificheByUtenza(utenza));\r\n disableForm(values);\r\n })\r\n .catch(error => {\r\n dispatch(insertCategoriaSpecificaError());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", prep: \"della \", action: \"INSERT\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const aggiornaCategoriaSpecificaById = (id, bodyRequest, utenza) => (dispatch, getState) => {\r\n dispatch(updateCategoriaSpecificaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/${id}`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateCategoriaSpecificaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", des: \"a\", action: \"UPDATE\", type: \"success\" }));\r\n dispatch(getCategorieSpecificheByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(updateCategoriaSpecificaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const annullaCategoriaSpecificaById = (id, utenza) => (dispatch, getState) => {\r\n dispatch(cancelCategoriaSpecificaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/${id}/annulla`)\r\n .then(res => {\r\n dispatch(cancelCategoriaSpecificaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", des: \"a\", action: \"CANCEL\", type: \"success\" }));\r\n dispatch(getCategorieSpecificheByUtenza(utenza));\r\n })\r\n .catch(error => {\r\n dispatch(cancelCategoriaSpecificaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", prep: \"della \", action: \"CANCEL\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const proponiCategoriaSpecificaById = (id) => (dispatch, getState) => {\r\n dispatch(proposeCategoriaSpecificaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/${id}/proponi`)\r\n .then(res => {\r\n dispatch(proposeCategoriaSpecificaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", des: \"a\", action: \"PROPOSE\", type: \"success\" }));\r\n dispatch(getCategorieSpecificheByUtenza('enti'));\r\n })\r\n .catch(error => {\r\n dispatch(proposeCategoriaSpecificaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", prep: \"della \", action: \"PROPOSE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const attivaCategoriaSpecificaById = (id) => (dispatch, getState) => {\r\n dispatch(activateCategoriaSpecificaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/${id}/attiva`)\r\n .then(res => {\r\n dispatch(activateCategoriaSpecificaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", des: \"a\", action: \"ACTIVATE\", type: \"success\" }));\r\n dispatch(getCategorieSpecificheByUtenza('ministero'));\r\n })\r\n .catch(error => {\r\n dispatch(activateCategoriaSpecificaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", prep: \"della \", action: \"ACTIVATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n\r\nexport const disattivaCategoriaSpecificaById = (id) => (dispatch, getState) => {\r\n dispatch(deactivateCategoriaSpecificaByIdIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/${id}/disattiva`)\r\n .then(res => {\r\n dispatch(deactivateCategoriaSpecificaByIdSuccess());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", des: \"a\", action: \"DEACTIVATE\", type: \"success\" }));\r\n dispatch(getCategorieSpecificheByUtenza('ministero'));\r\n })\r\n .catch(error => {\r\n dispatch(deactivateCategoriaSpecificaByIdError());\r\n dispatch(appMessagesConfig({ name: \"Categoria specifica\", prep: \"della \", action: \"DEACTIVATE\", type: \"danger\", error }));\r\n })\r\n};","import React, { Fragment } from \"react\";\r\nimport { Typography } from \"../../../ui\";\r\n\r\nexport const DEFAULT_CONFIRM_BODY = (text) => (\r\n \r\n {!!text &&\r\n \r\n }\r\n \r\n );\r\n\r\nexport const DEFAULT_CONFIRM_FOOTER = {\r\n actions: [\r\n {\r\n label: \"Annulla\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n label: \"Conferma\",\r\n buttonClass: 'primary',\r\n type: \"submit\",\r\n },\r\n ]\r\n};\r\n\r\nexport const FORM_CONDITIONS = {\r\n NOT_VALID_FORM_CONDITION: \"NOT_VALID_FORM_CONDITION\"\r\n};\r\n\r\nexport const ABILITA_CASO_USO = 'ABILITA_CASO_USO';\r\nexport const ANNULLA_CATEGORIA_ENTE = 'ANNULLA_CATEGORIA_ENTE';\r\nexport const ANNULLA_CATEGORIA_SPECIFICA_ENTE = 'ANNULLA_CATEGORIA_SPECIFICA_ENTE';\r\nexport const ANNULLA_TIPOLOGIA_ENTE = 'ANNULLA_TIPOLOGIA_ENTE';\r\nexport const APPROVA_CASO_USO = 'APPROVA_CASO_USO';\r\nexport const DISABILITA_CASO_USO = 'DISABILITA_CASO_USO';\r\nexport const ESTENDI_CASO_USO = 'ESTENDI_CASO_USO';\r\nexport const NOOP = 'NOOP';\r\nexport const PROPONI_TIPOLOGIA_ENTE = 'PROPONI_TIPOLOGIA_ENTE';\r\nexport const PROPONI_CASO_USO = 'PROPONI_CASO_USO';\r\nexport const PROPONI_CATEGORIA_ENTE = 'PROPONI_CATEGORIA_ENTE';\r\nexport const PROPONI_CATEGORIA_SPECIFICA_ENTE = 'PROPONI_CATEGORIA_SPECIFICA_ENTE';\r\nexport const REVOCA_ACCORDO = 'REVOCA_ACCORDO';\r\nexport const REVOCA_ACCREDITAMENTO = 'REVOCA_ACCREDITAMENTO';\r\nexport const RIATTIVA_ACCORDO = 'RIATTIVA_ACCORDO';\r\nexport const RIFIUTA_CASO_USO = 'RIFIUTA_CASO_USO';\r\nexport const SET_CASI_USO_CHANGES = 'SET_CASI_USO_CHANGES';\r\nexport const SOSPENDI_ACCORDO = 'SOSPENDI_ACCORDO';","import React, { Fragment } from 'react';\r\nimport $ from 'jquery';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Row, IconButton, Modal } from '../../ui';\r\nimport Form from '../../formik';\r\nimport { colorClass } from '../../../constants/proptypes-bootstrap-classes';\r\nimport { modaleConfermaConfig } from '../../../redux/actions/area-riservata/utils-actions';\r\nimport {\r\n abilitaCasoUsoById,\r\n approvaCasoUsoById,\r\n disabilitaCasoUsoById,\r\n estendiCasoUsoById,\r\n proponiCasoUsoById,\r\n rifiutaCasoUsoById,\r\n setCasiUsoChanges,\r\n} from '../../../redux/actions/area-riservata/casi-uso-actions';\r\nimport { annullaTipologiaById, proponiTipologiaById } from '../../../redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions';\r\nimport { annullaCategoriaById, proponiCategoriaById } from '../../../redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions';\r\nimport { annullaCategoriaSpecificaById, proponiCategoriaSpecificaById } from '../../../redux/actions/area-riservata/tipologie-categorie-actions/categorie-specifiche-actions';\r\nimport { revocaAccordo, sospendiAccordo, attivaAccordo } from '../../../redux/actions/area-riservata/accordi-actions';\r\nimport { revocaAccreditamento } from '../../../redux/actions/area-riservata/accreditamento-actions';\r\nimport { FORM_CONDITIONS } from './utils';\r\n\r\nconst ModaleConferma = ({\r\n modale_conferma_config,\r\n modaleConfermaConfig,\r\n modaleConfermaActions\r\n}) => {\r\n\r\n const ModalBody = ({ bodycontent, formErrors }) => (\r\n <>\r\n {bodycontent}\r\n {formErrors}\r\n \r\n );\r\n\r\n const ModalFooter = ({ footercontent, hideCloseButton, isValid }) => {\r\n return (\r\n \r\n {footercontent.extracontent &&\r\n
    \r\n {footercontent.extracontent}\r\n
    \r\n }\r\n \r\n {footercontent.actions &&\r\n footercontent.actions.map((action, i) => {\r\n let disabled_form_condition_variable,\r\n disabled_form_condition = Object.keys(FORM_CONDITIONS).find(x => {\r\n if (x === action.disabled) {\r\n switch (x) {\r\n case FORM_CONDITIONS.NOT_VALID_FORM_CONDITION:\r\n disabled_form_condition_variable = isValid\r\n break;\r\n default:\r\n disabled_form_condition_variable = isValid\r\n break;\r\n }\r\n return x;\r\n } else return undefined;\r\n });\r\n let disabled = disabled_form_condition ? disabled_form_condition_variable : action.disabled;\r\n return (\r\n {\r\n if (action.onClick) {\r\n action.onClick();\r\n }\r\n if (action.cancel) {\r\n modaleConfermaConfig();\r\n }\r\n }}\r\n buttonClass={action.buttonClass}\r\n disabled={disabled}\r\n type={action.type}\r\n extraClasses={`mx-2 ${action.extraClasses || \"\"}`}\r\n data-dismiss={action.cancel || hideCloseButton ? 'modal' : null}\r\n />\r\n )\r\n }\r\n )}\r\n \r\n
    \r\n );\r\n };\r\n\r\n let modalId = modale_conferma_config ? `modale-conferma-${modale_conferma_config.id}` : 'modalId';\r\n\r\n return (\r\n \r\n {modale_conferma_config &&\r\n \r\n {\r\n if(modale_conferma_config.form) {\r\n await modaleConfermaActions[modale_conferma_config.form.onsubmit.func](\r\n modale_conferma_config.form.onsubmit.payload,\r\n values\r\n );\r\n }\r\n await resetForm();\r\n await $(`#close-${modalId}-btn`).click();\r\n modaleConfermaConfig();\r\n }}\r\n >\r\n {(props) => (\r\n \r\n }\r\n footer={}\r\n onClose={async () => {\r\n if (modale_conferma_config.onClose) {\r\n await modaleConfermaConfig.onClose();\r\n }\r\n modaleConfermaConfig();\r\n }}\r\n {...modale_conferma_config.extraprops}\r\n />\r\n \r\n )}\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n modale_conferma_config: state.utils.modale_conferma_config\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n modaleConfermaActions: {\r\n ABILITA_CASO_USO: (id) => dispatch(abilitaCasoUsoById(id)),\r\n ANNULLA_CATEGORIA_ENTE: (payload) => dispatch(annullaCategoriaById(payload.id, payload.utenza)),\r\n ANNULLA_CATEGORIA_SPECIFICA_ENTE: payload => dispatch(annullaCategoriaSpecificaById(payload.id, payload.utenza)),\r\n ANNULLA_TIPOLOGIA_ENTE: (payload) => dispatch(annullaTipologiaById(payload.id, payload.utenza)),\r\n APPROVA_CASO_USO: (id, bodyrequest) => dispatch(approvaCasoUsoById(id, bodyrequest)),\r\n DISABILITA_CASO_USO: (id, bodyrequest) => dispatch(disabilitaCasoUsoById(id, bodyrequest)),\r\n ESTENDI_CASO_USO: (id) => dispatch(estendiCasoUsoById(id)),\r\n NOOP: () => null,\r\n PROPONI_CASO_USO: (id, bodyrequest) => dispatch(proponiCasoUsoById(id, bodyrequest)),\r\n PROPONI_CATEGORIA_ENTE: (id) => dispatch(proponiCategoriaById(id)),\r\n PROPONI_CATEGORIA_SPECIFICA_ENTE: (id) => dispatch(proponiCategoriaSpecificaById(id)),\r\n PROPONI_TIPOLOGIA_ENTE: (id) => dispatch(proponiTipologiaById(id)),\r\n REVOCA_ACCORDO: payload => dispatch(revocaAccordo(payload.id, payload.callback, payload.ministeroFlag)),\r\n REVOCA_ACCREDITAMENTO: idente => dispatch(revocaAccreditamento(idente)),\r\n RIATTIVA_ACCORDO: payload => dispatch(attivaAccordo(payload.id, payload.callback)),\r\n RIFIUTA_CASO_USO: (id, bodyrequest) => dispatch(rifiutaCasoUsoById(id, bodyrequest)),\r\n SET_CASI_USO_CHANGES: (payload, change) => dispatch(setCasiUsoChanges(payload, change)),\r\n SOSPENDI_ACCORDO: payload => dispatch(sospendiAccordo(payload.id, payload.callback)),\r\n }\r\n});\r\n\r\n\r\nModaleConferma.propTypes = {\r\n modale_conferma_config: PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n open: PropTypes.bool.isRequired,\r\n size: PropTypes.string,\r\n title: PropTypes.string,\r\n body: PropTypes.element.isRequired,\r\n form: PropTypes.shape({\r\n initialValues: PropTypes.object.isRequired,\r\n validationSchema: PropTypes.object.isRequired,\r\n onsubmit: PropTypes.shape({\r\n func: PropTypes.string.isRequired,\r\n payload: PropTypes.any\r\n }).isRequired\r\n }),\r\n footer: PropTypes.shape({\r\n actions: PropTypes.arrayOf(PropTypes.shape({\r\n icon: PropTypes.string,\r\n label: PropTypes.string,\r\n onClick: PropTypes.func,\r\n buttonClass: PropTypes.oneOf(colorClass),\r\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\r\n extraClasses: PropTypes.string,\r\n })),\r\n extracontent: PropTypes.element\r\n }),\r\n extraprops: PropTypes.object,\r\n }),\r\n modaleConfermaConfig: PropTypes.func.isRequired\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ModaleConferma);","export const CANCEL_CATEGORIA_BY_ID_SUCCESS = 'CANCEL_CATEGORIA_BY_ID_SUCCESS';\r\nexport const CANCEL_CATEGORIA_BY_ID_IS_LOADING = 'CANCEL_CATEGORIA_BY_ID_IS_LOADING';\r\nexport const CANCEL_CATEGORIA_BY_ID_ERROR = 'CANCEL_CATEGORIA_BY_ID_ERROR';\r\n\r\nexport const cancelCategoriaByIdSuccess = payload => {\r\n return {\r\n type: CANCEL_CATEGORIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const cancelCategoriaByIdIsLoading = loading => {\r\n return {\r\n type: CANCEL_CATEGORIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const cancelCategoriaByIdError = error => {\r\n return {\r\n type: CANCEL_CATEGORIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","export const CANCEL_CATEGORIA_SPECIFICA_BY_ID_SUCCESS = 'CANCEL_CATEGORIA_SPECIFICA_BY_ID_SUCCESS';\r\nexport const CANCEL_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING = 'CANCEL_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING';\r\nexport const CANCEL_CATEGORIA_SPECIFICA_BY_ID_ERROR = 'CANCEL_CATEGORIA_SPECIFICA_BY_ID_ERROR';\r\n\r\nexport const cancelCategoriaSpecificaByIdSuccess = payload => {\r\n return {\r\n type: CANCEL_CATEGORIA_SPECIFICA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const cancelCategoriaSpecificaByIdIsLoading = loading => {\r\n return {\r\n type: CANCEL_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const cancelCategoriaSpecificaByIdError = error => {\r\n return {\r\n type: CANCEL_CATEGORIA_SPECIFICA_BY_ID_ERROR,\r\n error\r\n };\r\n};","export const PROPOSE_CATEGORIA_BY_ID_SUCCESS = 'PROPOSE_CATEGORIA_BY_ID_SUCCESS';\r\nexport const PROPOSE_CATEGORIA_BY_ID_IS_LOADING = 'PROPOSE_CATEGORIA_BY_ID_IS_LOADING';\r\nexport const PROPOSE_CATEGORIA_BY_ID_ERROR = 'PROPOSE_CATEGORIA_BY_ID_ERROR';\r\n\r\nexport const proposeCategoriaByIdSuccess = payload => {\r\n return {\r\n type: PROPOSE_CATEGORIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const proposeCategoriaByIdIsLoading = loading => {\r\n return {\r\n type: PROPOSE_CATEGORIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const proposeCategoriaByIdError = error => {\r\n return {\r\n type: PROPOSE_CATEGORIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","export const PROPOSE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS = 'PROPOSE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS';\r\nexport const PROPOSE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING = 'PROPOSE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING';\r\nexport const PROPOSE_CATEGORIA_SPECIFICA_BY_ID_ERROR = 'PROPOSE_CATEGORIA_SPECIFICA_BY_ID_ERROR';\r\n\r\nexport const proposeCategoriaSpecificaByIdSuccess = payload => {\r\n return {\r\n type: PROPOSE_CATEGORIA_SPECIFICA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const proposeCategoriaSpecificaByIdIsLoading = loading => {\r\n return {\r\n type: PROPOSE_CATEGORIA_SPECIFICA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const proposeCategoriaSpecificaByIdError = error => {\r\n return {\r\n type: PROPOSE_CATEGORIA_SPECIFICA_BY_ID_ERROR,\r\n error\r\n };\r\n};","export const PROPOSE_TIPOLOGIA_BY_ID_SUCCESS = 'PROPOSE_TIPOLOGIA_BY_ID_SUCCESS';\r\nexport const PROPOSE_TIPOLOGIA_BY_ID_IS_LOADING = 'PROPOSE_TIPOLOGIA_BY_ID_IS_LOADING';\r\nexport const PROPOSE_TIPOLOGIA_BY_ID_ERROR = 'PROPOSE_TIPOLOGIA_BY_ID_ERROR';\r\n\r\nexport const proposeTipologiaByIdSuccess = payload => {\r\n return {\r\n type: PROPOSE_TIPOLOGIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const proposeTipologiaByIdIsLoading = loading => {\r\n return {\r\n type: PROPOSE_TIPOLOGIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const proposeTipologiaByIdError = error => {\r\n return {\r\n type: PROPOSE_TIPOLOGIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import Axios from \"axios\";\r\nimport { logoutUser } from \"../../authentication/actions\";\r\nimport { appMessagesConfig } from \"../utils-actions\";\r\nimport { revocaAccreditamentoError, revocaAccreditamentoIsLoading, revocaAccreditamentoSuccess } from \"./revoca-accreditamento-actions\";\r\n\r\nexport const revocaAccreditamento = (idente) => dispatch => {\r\n dispatch(revocaAccreditamentoIsLoading());\r\n Axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/afaccreditamento/idente/${idente}/revoca`)\r\n .then(async(response) => {\r\n await dispatch(appMessagesConfig({ name: \"Accreditamento\", des: \"o\", action: \"REVOKE\", type: \"success\" }));\r\n setTimeout(() => {\r\n dispatch(revocaAccreditamentoSuccess());\r\n dispatch(logoutUser());\r\n }, 5000);\r\n })\r\n .catch(error => {\r\n dispatch(revocaAccreditamentoError(error));\r\n dispatch(appMessagesConfig({ name: \"Accreditamento\", prep: \"dell'\", action: \"REVOKE\", type: \"danger\", error }));\r\n });\r\n};","import React, { useEffect, useState, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { appMessagesConfig, removeAppMessage } from \"../../../redux/actions/area-riservata/utils-actions\";\r\nimport { createText } from \"./createText\";\r\nimport { Message } from \"../../ui\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst AppMessages = ({\r\n app_messages_config,\r\n app_messages,\r\n appMessagesConfig,\r\n removeAppMessage\r\n}) => {\r\n const history = useHistory();\r\n const [text, setText] = useState();\r\n const { name, des, prep, action, type, error, isLoading, extraText } = app_messages_config;\r\n\r\n useEffect(() => {\r\n setText(createText(name, des, prep, action, type, error, extraText));\r\n }, [name, des, prep, action, type, error, extraText]);\r\n\r\n history.listen(() => {\r\n if (app_messages.length) {\r\n app_messages.forEach(x => {\r\n !x.fixed && removeAppMessage(x.id);\r\n });\r\n }\r\n if (app_messages_config.name) {\r\n appMessagesConfig(\r\n {\r\n name: undefined,\r\n type: '',\r\n action: '',\r\n error: undefined\r\n }\r\n );\r\n } else {\r\n return false;\r\n }\r\n });\r\n\r\n return (\r\n \r\n {\r\n text && !isLoading &&\r\n appMessagesConfig({\r\n name: undefined,\r\n type: '',\r\n action: '',\r\n error: undefined,\r\n })}\r\n />\r\n }\r\n {\r\n app_messages && app_messages.map((m, i) => removeAppMessage(m.id)}\r\n />)\r\n }\r\n \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n app_messages_config: store.utils.app_messages_config,\r\n app_messages: store.utils.app_messages\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n appMessagesConfig: (config) => dispatch(appMessagesConfig(config)),\r\n removeAppMessage: (msgId) => dispatch(removeAppMessage(msgId))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(AppMessages);","export function createText(name, des = \"o\", prep = \"del \", action, type, error, extraText) {\r\n let text = '', adj = '', sub = '', art = \"l'\", end = \"\";\r\n\r\n switch (action) {\r\n case \"ACTIVATE\":\r\n adj = `attivat`;\r\n sub = `attivazione`;\r\n break;\r\n case \"APPROVE\":\r\n adj = `approvat`;\r\n sub = `approvazione`;\r\n break;\r\n case \"CANCEL\":\r\n adj = `annullat`;\r\n sub = `annullamento`;\r\n break;\r\n case \"CONFIRM\":\r\n adj = `confermat`;\r\n sub = `conferma`;\r\n art = 'la ';\r\n break;\r\n case \"DEACTIVATE\":\r\n adj = `disattivat`;\r\n sub = `disattivazione`;\r\n break;\r\n case \"DELETE\":\r\n adj = `eliminat`;\r\n sub = `eliminazione`;\r\n break;\r\n case \"DISABLE\":\r\n adj = `disabilitat`;\r\n sub = `disabilitazione`;\r\n art = 'la '\r\n break;\r\n case \"ENABLE\":\r\n adj = `abilitat`;\r\n sub = `abilitazione`;\r\n break;\r\n case \"EXTEND\":\r\n adj = `estes`;\r\n sub = `estensione`;\r\n end = ` a tutti gli enti`;\r\n break;\r\n case \"INSERT\":\r\n adj = `inserit`;\r\n sub = `inserimento`\r\n break;\r\n case \"REJECT\":\r\n adj = `respint`;\r\n sub = `respinta`;\r\n art = `la `\r\n break;\r\n case \"PROPOSE\":\r\n adj = `propost`;\r\n sub = `proposta`;\r\n art = `la `\r\n break;\r\n case \"SEND\":\r\n adj = `inviat`;\r\n sub = `invio`;\r\n break;\r\n case \"UPDATE\":\r\n adj = `aggiornat`;\r\n sub = `aggiornamento`;\r\n break;\r\n case \"UPLOAD\":\r\n adj = `caricat`;\r\n sub = `caricamento`;\r\n art = `il `\r\n break;\r\n case \"REVOKE\":\r\n adj = `revocat`;\r\n sub = `revoca`;\r\n art = `la `\r\n break;\r\n case \"SUSPEND\":\r\n adj = `sospes`;\r\n sub = `sospensione`;\r\n art = `la `\r\n break;\r\n case \"GET\":\r\n adj = `recuperat`;\r\n sub = `recupero`;\r\n art = `il `\r\n break;\r\n case \"ACQUIRE\":\r\n adj = `acquisit`;\r\n sub = `acquisizione`;\r\n break;\r\n default:\r\n break;\r\n };\r\n\r\n switch (type) {\r\n case 'success':\r\n text = `${name} ${adj}${des} correttamente${end}.${extraText ? ` ${extraText}` : ''}`\r\n break;\r\n case 'danger':\r\n let errorMessage = error && error.response && error.response.data ? error.response.data.message : undefined;\r\n console.log(error)\r\n if (!!action) {\r\n text = `Errore durante ${art}${sub} ${prep}${name.toLocaleLowerCase()}.\r\n ${errorMessage ? `${errorMessage}` : ''}`\r\n } else text = errorMessage;\r\n break;\r\n default:\r\n break;\r\n }\r\n return text;\r\n};","import React, { Fragment } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport './sidebar.css';\r\nimport Row from \"../../ui/row\";\r\nimport AppMessages from \"../app-messages\";\r\n\r\nconst SidebarContentLayout = ({\r\n sidebar: SidebarComponent,\r\n content: ContentComponent,\r\n sidebarProps = {},\r\n contentProps = {},\r\n}) => {\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nSidebarContentLayout.propTypes = {\r\n sidebar: PropTypes.elementType.isRequired,\r\n content: PropTypes.elementType.isRequired,\r\n sidebarProps: PropTypes.object,\r\n contentProps: PropTypes.object\r\n};\r\n\r\nexport default SidebarContentLayout;","import React from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport $ from 'jquery';\r\n\r\n\r\nconst UI_MD_BREAKPOINT = 768;\r\n\r\nconst AccessBar = () => {\r\n\r\n const handleWindowChange = () => {\r\n const y = $(document).scrollTop();\r\n const stickyAccessBar = $('#sticky-access-bar');\r\n const stickyAccessTriggerPosition = $(\"#agenzia-header\").height() + $(\"#page-header\").height();\r\n const footer = $('#page-footer');\r\n const footerExtraClass = 'mb-5 pb-3';\r\n if (window.innerWidth < UI_MD_BREAKPOINT && y > stickyAccessTriggerPosition) {\r\n stickyAccessBar.fadeIn();\r\n footer.addClass(footerExtraClass);\r\n } else {\r\n stickyAccessBar.fadeOut();\r\n footer.removeClass(footerExtraClass);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n $(function () {\r\n $(window).on('resize.accessbar', handleWindowChange);\r\n $(document).on('scroll.accessbar', handleWindowChange);\r\n });\r\n\r\n return () => {\r\n $(window).off('resize.accessbar');\r\n $(document).off('scroll.accessbar');\r\n };\r\n });\r\n\r\n return (\r\n
    \r\n Accedi\r\n
    \r\n );\r\n};\r\n\r\nexport default AccessBar;","import React, { Component } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport AccessBar from \"../layout/access-bar/AccessBar\";\r\n\r\nclass Home extends Component {\r\n\r\n render() {\r\n const { authentication } = this.props;\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    Portale per enti e pubbliche amministrazioni per l’accesso ai dati di ANPR

    \r\n

    \r\n L’ applicazione gestisce il flusso di lavoro sottostante all’adesione ad un "Accordo di fruizione" tra il Ministero dell’Interno ed enti o Pubbliche Amministrazioni (PA) ai fini dell’accesso ai dati di\r\n ANPR. Il sistema standardizza il colloquio tra ente/PA richiedente e Ministero dell’Interno rendendo più snello il processo di adesione ad un "Accordo di fruizione". E’ basato su un sistema di\r\n classificazione dei "casi d’uso": a ciascun caso d’uso sono associati un set di dati di ANPR, delle modalità di fruizione, dei riferimenti normativi ed una finalità di trattamento dei dati.\r\n L’ente/PA richiedente può selezionare i casi d’uso previsti in base alla categoria cui appartiene.\r\n

    \r\n

    Riferimenti normativi:

    \r\n\r\n

    D.Lgs. n.82/2005 "Codice dell'amministrazione digitale" (CAD) e successive modificazioni, in particolare:

    \r\n
      \r\n
    • Art.50 del CAD - Disponibilità' dei dati delle pubbliche amministrazioni
    • \r\n
    • Art.60 del CAD - Base di dati di interesse nazionale
    • \r\n
    • Art.62 del CAD - (Anagrafe nazionale della popolazione residente - ANPR)
    • \r\n
    \r\n\r\n

    DPCM n.194/2014 "Regolamento recante modalità di attuazione e di funzionamento dell'Anagrafe nazionale della popolazione residente (ANPR) e di definizione del piano per il graduale subentro dell'ANPR\r\n alle anagrafi della popolazione residente", in particolare:

    \r\n
      \r\n
    • Allegato C "Misure di sicurezza"
    • \r\n
    • Allegato D "Servizi resi alle Pubbliche Amministrazioni"
    • \r\n
    \r\n {\r\n !authentication.utente &&\r\n
    \r\n Accedi\r\n
    \r\n }\r\n
    \r\n
    \r\n { !authentication.utente && }\r\n \r\n );\r\n }\r\n}\r\n\r\nHome.propTypes = {\r\n authentication: PropTypes.object.isRequired,\r\n ricerca_richiesta_accordo_fruizione: PropTypes.object.isRequired,\r\n richiesta_form_data: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n authentication: state.authentication,\r\n ricerca_richiesta_accordo_fruizione: state.ricerca_richiesta_accordo_fruizione,\r\n richiesta_form_data: state.richiesta_form_data\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(Home);\r\n","import React from \"react\";\r\n\r\nconst NotFound = props => {\r\n\treturn (\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    404 Errore
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default NotFound;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getIdDecodificaByVariabile } from \"../../../common/decodifiche\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass DettagliDatiStandardUtente extends Component {\r\n render() {\r\n const {\r\n dati,\r\n legend,\r\n statoRichiesta,\r\n url,\r\n idente,\r\n currentUserIdEnte\r\n } = this.props;\r\n\r\n return (\r\n
    \r\n {legend}\r\n
      \r\n
    • \r\n Codice Fiscale: \r\n\r\n {dati.codicefiscale}\r\n
    • \r\n
    • \r\n Nome: \r\n {dati.nome}\r\n
    • \r\n
    • \r\n Cognome: \r\n {dati.cognome}\r\n
    • \r\n {dati.datanascita ? (\r\n
    • \r\n Data di nascita: \r\n\r\n {new Date(dati.datanascita).getDate() +\r\n \"/\" +\r\n (new Date(dati.datanascita).getMonth() + 1) +\r\n \"/\" +\r\n new Date(dati.datanascita).getFullYear()}\r\n
    • \r\n ) : (\r\n \"\"\r\n )}\r\n {dati.telefono ? (\r\n
    • \r\n Telefono: \r\n {dati.telefono}\r\n
    • \r\n ) : (\r\n \"\"\r\n )}\r\n {dati.email ? (\r\n \r\n
    • \r\n Indirizzo Email: \r\n {dati.email}\r\n
    • \r\n
    • \r\n Tipo Email: \r\n {parseInt(dati.tipoemail) === 1\r\n ? \"PEC\"\r\n : parseInt(dati.tipoemail) === 2\r\n ? \"PEL\"\r\n : \"\"}\r\n
    • \r\n
      \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {// (statoRichiesta ===\r\n // \tgetIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\") ||\r\n // \t!statoRichiesta) &&\r\n // idente === currentUserIdEnte\r\n\r\n (statoRichiesta ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n ) ||\r\n !statoRichiesta) &&\r\n (idente ? parseInt(idente) === parseInt(currentUserIdEnte) : true) ? (\r\n \r\n Modifica\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nDettagliDatiStandardUtente.propTypes = {\r\n dati: PropTypes.object.isRequired,\r\n legend: PropTypes.string.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettagliDatiStandardUtente);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getIdDecodificaByVariabile } from \"../../../common/decodifiche\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass DatiStandardImpostazioni extends Component {\r\n render() {\r\n const {\r\n dati,\r\n legend,\r\n statoRichiesta,\r\n url,\r\n idente,\r\n currentUserIdEnte\r\n } = this.props;\r\n\r\n return (\r\n
    \r\n {legend}\r\n
      \r\n
    • \r\n Numero massimo utenti: \r\n\r\n {dati.maxutenti}\r\n
    • \r\n
    • \r\n \r\n Numero medio transazioni giornaliere previste:{\" \"}\r\n \r\n {dati.transazionipreviste}\r\n
    • \r\n
    • \r\n \r\n Numero massimo transazioni giornaliere previste:{\" \"}\r\n \r\n {dati.maxtransazionipreviste}\r\n
    • \r\n
    \r\n {// (statoRichiesta ===\r\n // \tgetIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\") ||\r\n // \t!statoRichiesta) &&\r\n // idente === currentUserIdEnte\r\n\r\n (statoRichiesta ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n ) ||\r\n !statoRichiesta) &&\r\n (idente ? parseInt(idente) === parseInt(currentUserIdEnte) : true) ? (\r\n \r\n Modifica\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nDatiStandardImpostazioni.propTypes = {\r\n dati: PropTypes.object.isRequired,\r\n legend: PropTypes.string.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DatiStandardImpostazioni);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport DettagliDatiStandardUtente from \"../../../../../../common/accordo/dati-standard-utente/DettagliDatiStandardUtente\";\r\n//import DettagliDatiList from \"../../../../../../common/accordo/dettagli-dati-list/DettagliDatiList\";\r\n//import ObjectProps from \"../../../../../../common/accordo/object-props/ObjectProps\";\r\nimport DatiStandardImpostazioni from \"../../../../../../common/accordo/dati-standard-impostazioni/DatiStandardImpostazioni\";\r\n\r\nimport {\r\n getNomeDecodificaById,\r\n getIdDecodificaByVariabile\r\n} from \"../../../../../../common/decodifiche\";\r\n//import DisplayScaricaFile from \"../../../download-upload-file-accordo-firmato/display-scarica-file/DisplayScaricaFile\";\r\n\r\nclass RiepilogoConfermazioneDati extends Component {\r\n state = {\r\n currentUserIdEnte: null\r\n };\r\n\r\n componentDidMount() {\r\n const getObject = JSON.parse(localStorage.getItem(\"utente\"));\r\n const currentUserIdEnte = getObject ? getObject.idente : null;\r\n this.setState({\r\n currentUserIdEnte: currentUserIdEnte\r\n });\r\n }\r\n render() {\r\n const {\r\n //classificazioni,\r\n // riferimenti,\r\n //casi_uso,\r\n richiesta_standard_accordo_fruizioneForm,\r\n decodifiche_stati_accordo\r\n //currentUserIdEnte\r\n } = this.props;\r\n const { currentUserIdEnte } = this.state;\r\n // const getClassificazioniAccordo = () => {\r\n // \tif (classificazioni) {\r\n // \t\tif (classificazioni.classificazioni.length > 0) {\r\n // \t\t\treturn (\r\n // \t\t\t\t\r\n // \t\t\t);\r\n // \t\t}\r\n // \t}\r\n // \treturn \"\";\r\n // };\r\n\r\n // const getRiferimentiAccordo = () => {\r\n // if (riferimenti) {\r\n // if (riferimenti.riferimenti.length > 0) {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // }\r\n // return \"\";\r\n // };\r\n\r\n // const getCasiAssociatiAlAccordo = () => {\r\n // if (richiesta_standard_accordo_fruizioneForm) {\r\n // if (richiesta_standard_accordo_fruizioneForm.form) {\r\n // if (richiesta_standard_accordo_fruizioneForm.form.casidusoassociati) {\r\n // let casidusoassociati =\r\n // richiesta_standard_accordo_fruizioneForm.form.casidusoassociati;\r\n // if (casidusoassociati.length > 0) {\r\n // let casiToDisplay = casidusoassociati.map(caso => {\r\n // return (\r\n // \r\n // );\r\n // });\r\n\r\n // return (\r\n // \r\n //
    \r\n // Casi d'uso associati alla richiesta\r\n //
    {casiToDisplay}
    \r\n //
    \r\n //
    \r\n // );\r\n // }\r\n // return \"\";\r\n // }\r\n // return \"\";\r\n // }\r\n // return \"\";\r\n // }\r\n // return \"\";\r\n // };\r\n\r\n const displayAltriResponsabiliAmministrazione = () => {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm) {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form) {\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .altriresponsabiliamministrazione\r\n ) {\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .altriresponsabiliamministrazione.length > 0\r\n ) {\r\n return this.props.richiesta_standard_accordo_fruizioneForm.form.altriresponsabiliamministrazione.map(\r\n resp => {\r\n return (\r\n \r\n );\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const dettagliUtentiAccordo = () => {\r\n return (\r\n \r\n {richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale && (\r\n \r\n )}\r\n {richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione && (\r\n \r\n )}\r\n {displayAltriResponsabiliAmministrazione()}\r\n {richiesta_standard_accordo_fruizioneForm.form.supervisore ? (\r\n richiesta_standard_accordo_fruizioneForm.form.supervisore\r\n .codicefiscale ? (\r\n \r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n {richiesta_standard_accordo_fruizioneForm.form.delegato ? (\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .codicefiscale ? (\r\n \r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {/* {richiesta_standard_accordo_fruizioneForm.form.filedelega ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t)} */}\r\n\r\n {/* {getImpostazioniAccordo()} */}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {richiesta_standard_accordo_fruizioneForm.form ? (\r\n richiesta_standard_accordo_fruizioneForm.form.idstato ? (\r\n
    \r\n
    \r\n
    \r\n {getNomeDecodificaById(\r\n richiesta_standard_accordo_fruizioneForm.form.idstato,\r\n decodifiche_stati_accordo.stati_accordo\r\n )}\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n

    Dati inseriti:

    \r\n
    \r\n\r\n {!this.props.statoRichiesta ||\r\n this.props.statoRichiesta ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n ) ? (\r\n {dettagliUtentiAccordo()} \r\n ) : (\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n Dettagli accordo\r\n \r\n

    \r\n
    \r\n
    \r\n
    {dettagliUtentiAccordo()}
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {/* {getClassificazioniAccordo()} */}\r\n\r\n {richiesta_standard_accordo_fruizioneForm.form.noteente ? (\r\n
    \r\n Nota\r\n
    \r\n {richiesta_standard_accordo_fruizioneForm.form.noteente}\r\n
    \r\n {(this.props.statoRichiesta ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n ) ||\r\n !this.props.statoRichiesta) &&\r\n (this.props.idente\r\n ? parseInt(this.props.idente) === parseInt(currentUserIdEnte)\r\n : true) ? (\r\n \r\n \r\n Modifica\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {/* {getRiferimentiAccordo()}\r\n {getCasiAssociatiAlAccordo()} */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nRiepilogoConfermazioneDati.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RiepilogoConfermazioneDati);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"@emotion/styled\";\r\nimport Spinner from \"../../../ui/spinner\";\r\n\r\nconst Loading = styled(({ className }) => (\r\n\t\r\n))(({ style }) => style);\r\n\r\nLoading.propTypes = {\r\n\tstyle: PropTypes.object\r\n};\r\n\r\nexport default Loading;\r\n","import React from \"react\";\r\nimport Loading from \"../tree/components/Decorators/Loading\";\r\n\r\nexport const DefaultLoading = props => {\r\n\tconst { loading } = props;\r\n\tif (loading) {\r\n\t\treturn ;\r\n\t}\r\n\treturn \"\";\r\n};\r\n\r\nexport const DefaultError = props => {\r\n\tconst { error } = props;\r\n\tif (error) {\r\n\t\tif (error.response) {\r\n\t\t\tif (error.response.status) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{error.response.data && error.response.data.message ? error.response.data.message \r\n\t\t\t\t\t\t: \"Si è verificato un errore.\"}\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn
    {error.message}
    ;\r\n\t\t}\r\n\t}\r\n\treturn \"\";\r\n};\r\n","export const base64ToArrayBuffer = (base64) => {\r\n const binaryString = window.atob(base64);\r\n const binaryLen = binaryString.length;\r\n const bytes = new Uint8Array(binaryLen);\r\n for (let i = 0; i < binaryLen; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes;\r\n};\r\n\r\nexport const saveByteArray = (reportName, byte, type = \"application/pdf\") => {\r\n const blob = new Blob([byte], {type});\r\n const link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = reportName;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n};\r\n","import React, { Component } from \"react\";\r\nimport {base64ToArrayBuffer, saveByteArray} from \"../../../../../common/getFileFromData\";\r\n\r\nclass DisplayScaricaFile extends Component {\r\n\tstate = {};\r\n\trender() {\r\n\t\tconst { file, nomeFileDaScaricare, legenda } = this.props;\r\n\t\tconst scaricaFile = () => {\r\n\t\t\tlet sampleArr = base64ToArrayBuffer(file);\r\n\t\t\tsaveByteArray(nomeFileDaScaricare, sampleArr);\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{legenda} \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default DisplayScaricaFile;\r\n","import React, { Component } from \"react\";\r\n\r\nclass DisplayInviaAccordo extends Component {\r\n state = {};\r\n render() {\r\n const {\r\n condition,\r\n isSubmitting,\r\n inviaLabelName,\r\n accordoToDisplayForm,\r\n nomeFile\r\n } = this.props;\r\n //console.log(condition);\r\n const displayConditions = true;\r\n const displayButton = isSubmitting => {\r\n return displayConditions ? (\r\n \r\n {inviaLabelName} Richiesta\r\n \r\n \r\n ) : (\r\n \"\"\r\n );\r\n };\r\n return condition || accordoToDisplayForm[nomeFile] ? (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {inviaLabelName} accordo di fruizione\r\n

    \r\n \r\n {condition || \"Il file è stato già firmato\"}\r\n
    \r\n
    \r\n {displayButton(isSubmitting)}\r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n \"\"\r\n );\r\n }\r\n}\r\n\r\nexport default DisplayInviaAccordo;\r\n","import React, { Component } from \"react\";\r\n\r\nclass DisplayCaricaFile extends Component {\r\n\tstate = {};\r\n\trender() {\r\n\t\tconst { nomeField, setFieldValue, uploadFile } = this.props;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tuploadFile(event.currentTarget.files[0]);\r\n\t\t\t\t\t\t\tsetFieldValue(\r\n\t\t\t\t\t\t\t\tnomeField,\r\n\t\t\t\t\t\t\t\tevent.currentTarget.files[0]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default DisplayCaricaFile;\r\n","import React, { Component } from \"react\";\r\n\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\n\r\nimport axios from \"axios\";\r\n\r\nimport DisplayInviaAccordo from \"../display-invia-accordo/DisplayInviaAccordo\";\r\nimport DisplayCaricaFile from \"../display-carica-file/DisplayCaricaFile\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../../../common/handleErrorsAndLoading\";\r\n\r\nimport { getBase64 } from \"../../../../../common/getBase64\";\r\n\r\nclass DisplaySectionUploadAccordoFruizione extends Component {\r\n state = {};\r\n render() {\r\n const {\r\n stateVars,\r\n urlUploadFile,\r\n actionInviaRichiesta,\r\n setParentState,\r\n submitActionName,\r\n actionUploadFile,\r\n inviaLabelName,\r\n accordoToDisplayForm,\r\n nomeFile\r\n } = this.props;\r\n\r\n //console.log(stateVars);\r\n\r\n //valori iniziali form\r\n const fileAccordoFruizioneFirmato_init = {\r\n fileAccordoFruizioneFirmato: \"\"\r\n };\r\n\r\n //validazione campi form\r\n const fileAccordoFruizioneFirmatoValidationSchema = Yup.object().shape({\r\n fileAccordoFruizioneFirmato: Yup.mixed()\r\n //.required(\"Richiesto\")\r\n .nullable()\r\n });\r\n\r\n const uploadFile = fileToConvert => {\r\n if (fileToConvert.type) {\r\n const fileName = fileToConvert.name;\r\n setParentState({ uploadLoading: true });\r\n getBase64(fileToConvert).then(data => {\r\n axios\r\n .put(urlUploadFile, {\r\n fileContent: data,\r\n fileName: fileName\r\n })\r\n .then(response => {\r\n setParentState({\r\n fileAccordoFruizioneFirmato: fileName,\r\n uploadError: \"\"\r\n });\r\n actionUploadFile(response);\r\n })\r\n .catch(error => {\r\n setParentState({ uploadError: error });\r\n });\r\n setParentState({ uploadLoading: false });\r\n });\r\n }\r\n };\r\n\r\n if (\r\n stateVars[submitActionName] ||\r\n !stateVars[submitActionName + \"Loading\"]\r\n ) {\r\n return (\r\n
    \r\n {\" \"}\r\n {\r\n /**\r\n * invia richiesta\r\n */\r\n\r\n actionInviaRichiesta();\r\n\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({\r\n isSubmitting,\r\n setFieldValue,\r\n values,\r\n errors,\r\n touched,\r\n validateField,\r\n handleChange,\r\n handleBlur\r\n }) => (\r\n
    \r\n
    \r\n \r\n Upload del file dell’accordo di fruizione firmato{\" \"}\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {errors.fileAccordoFruizioneFirmato &&\r\n touched.fileAccordoFruizioneFirmato ? (\r\n
    \r\n {errors.fileAccordoFruizioneFirmato}\r\n
    \r\n ) : null}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n return \"\";\r\n }\r\n}\r\n\r\nexport default DisplaySectionUploadAccordoFruizione;\r\n","export function getBase64(file) {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tconst reader = new FileReader();\r\n\t\ttry{\r\n\t\t\treader.readAsDataURL(file);\r\n\t\t\treader.onload = () => resolve(reader.result.replace(/^.*,/, \"\"));\r\n\t\t\treader.onerror = error => reject(error);\r\n\t\t} catch(err) {\r\n\t\t\tconsole.log(err)\r\n\t\t}\r\n\t});\r\n}\r\n","import React, { Component } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\n\r\n//import { uploadFileAccordoFruizioneFirmato, setRichiestaStandardAccordoFromToStore } from \"../../../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport {\r\n setRichiestaStandardAccordoFromToStore,\r\n richiestaStandardAccordoFormRecuperaDaBackend\r\n} from \"../../../../../redux/actions/area-riservata/enti-actions/actions\";\r\n\r\nimport axios from \"axios\";\r\n//import { Redirect } from \"react-router-dom\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport {\r\n DefaultError\r\n //,DefaultLoading\r\n} from \"../../../../common/handleErrorsAndLoading\";\r\nimport DisplayScaricaFile from \"./display-scarica-file/DisplayScaricaFile\";\r\nimport DisplaySectionUploadAccordoFruizione from \"./display-section-upload-accordo-fruizione/DisplaySectionUploadAccordoFruizione\";\r\n\r\nimport { getIdDecodificaByVariabile } from \"../../../../common/decodifiche\";\r\n\r\n//import md5 from \"md5\";\r\n//md5('message')\r\n\r\nclass DownloadUploadFileAccordoFirmato extends Component {\r\n state = {\r\n fileAccordoFruizioneFirmato: \"\",\r\n downloadError: \"\",\r\n uploadError: \"\",\r\n uploadLoading: \"\",\r\n inviaRichiesta: null,\r\n inviaRichiestaLoading: false,\r\n inviaRichiestaError: \"\"\r\n };\r\n render() {\r\n const {\r\n get_file_accordo_to_download,\r\n richiesta_standard_accordo_fruizioneForm\r\n } = this.props;\r\n // check get_file_accordo_to_download.fileAccordoFruizioneFirmatoToDownload\r\n if (\r\n !get_file_accordo_to_download.fileAccordoFruizioneFirmatoToDownload ||\r\n (richiesta_standard_accordo_fruizioneForm\r\n ? richiesta_standard_accordo_fruizioneForm.form\r\n ? !richiesta_standard_accordo_fruizioneForm.form.id\r\n : true\r\n : true)\r\n ) {\r\n //return ;\r\n }\r\n\r\n const actionInviaRichiesta = () => {\r\n this.setState({\r\n inviaRichiestaLoading: true\r\n });\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${this.props.richiesta_standard_accordo_fruizioneForm.form.id}/invia`\r\n )\r\n .then(response => {\r\n //this.getRichiestaAccordo();\r\n this.props.richiestaStandardAccordoFormRecuperaDaBackend(\r\n response.data.id\r\n );\r\n this.setState({\r\n inviaRichiesta: response.data,\r\n inviaRichiestaLoading: false,\r\n inviaRichiestaError: \"\"\r\n });\r\n })\r\n .catch(error => {\r\n this.setState({\r\n inviaRichiestaLoading: false,\r\n inviaRichiestaError: error\r\n });\r\n });\r\n };\r\n\r\n const actionUploadFile = response => {\r\n // this.setState({\r\n // \tfileAccordoFruizioneFirmato: response\r\n // });\r\n this.props.setRichiestaStandardAccordoFromToStore(response);\r\n };\r\n\r\n const setParentState = obj => {\r\n this.setState(obj);\r\n };\r\n\r\n const displayRichiestaInviata = () => {\r\n if (this.state.inviaRichiesta) {\r\n return (\r\n
    \r\n
    \r\n Richiesta inviata.\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const conditionalDisplayOfUploadAndInvia = () => {\r\n if (!this.state.inviaRichiesta) {\r\n return (\r\n \r\n
    \r\n {this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n ) &&\r\n !window.location.href.includes(\"enti/richiesta-trovata\") ? (\r\n \r\n \r\n Vai alla pagina di Riepilogo\r\n \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\" \"}\r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n return \"\";\r\n };\r\n\r\n //console.log(md5(\"message\"));\r\n return (\r\n
    \r\n
    \r\n
    \r\n {conditionalDisplayOfUploadAndInvia()}\r\n\r\n {displayRichiestaInviata()}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDownloadUploadFileAccordoFirmato.propTypes = {\r\n // uploadFileAccordoFruizioneFirmato: PropTypes.func.isRequired,\r\n // upload_file_accordo_fruizione_firmato_reducer: PropTypes.object.isRequired,\r\n get_file_accordo_to_download: PropTypes.object.isRequired,\r\n richiesta_standard_accordo_fruizioneForm: PropTypes.object.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n // upload_file_accordo_fruizione_firmato_reducer:\r\n // \tstate.upload_file_accordo_fruizione_firmato_reducer,\r\n get_file_accordo_to_download: state.get_file_accordo_to_download,\r\n richiesta_standard_accordo_fruizioneForm:\r\n state.richiesta_standard_accordo_fruizioneForm,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n // uploadFileAccordoFruizioneFirmato: fileAccordoFruizioneFirmato =>\r\n // \tdispatch(uploadFileAccordoFruizioneFirmato(fileAccordoFruizioneFirmato))\r\n setRichiestaStandardAccordoFromToStore: response =>\r\n dispatch(setRichiestaStandardAccordoFromToStore(response)),\r\n richiestaStandardAccordoFormRecuperaDaBackend: idAccordo =>\r\n dispatch(richiestaStandardAccordoFormRecuperaDaBackend(idAccordo))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DownloadUploadFileAccordoFirmato);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getIdDecodificaByVariabile } from \"../../../common/decodifiche\";\r\nimport RiepilogoConfermazioneDati from \"../richiesta-accordo/_partials/richiesta-standard-riepilogo/riepilogo-confermazione-dati/RiepilogoConfermazioneDati\";\r\nimport DownloadUploadFileAccordoFirmato from \"../form-richiesta/download-upload-file-accordo-firmato/DownloadUploadFileAccordoFirmato\";\r\nimport {\r\n updateRichiestaAccordoFruizioneInStatoInserito,\r\n operatoreAnnullaRichiesta,\r\n richiestaStandardAccordoFormRecuperaDaBackend,\r\n getFileAccordoToDownload,\r\n setHighestFormStepAccessed,\r\n setAppToLoading,\r\n setAppToNotLoading\r\n} from \"../../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport { DefaultError } from \"../../../common/handleErrorsAndLoading\";\r\nimport queryString from \"query-string\";\r\n\r\nclass RichiestaTrovata extends Component {\r\n state = {\r\n idstato: null,\r\n annullando: false\r\n };\r\n\r\n componentDidMount() {\r\n window.scroll({ top: 0, left: 0, behavior: \"smooth\" });\r\n if (!this.state.idstato) {\r\n this.setState({\r\n idstato: this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .idstato\r\n });\r\n }\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.form.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n this.props.setHighestFormStepAccessed(7);\r\n }\r\n let urlParameters = queryString.parse(this.props.location.search);\r\n if (urlParameters.modifiche === \"true\") {\r\n } else {\r\n this.getRichiestaAccordo();\r\n }\r\n }\r\n\r\n getRichiestaAccordo = () => {\r\n const {\r\n match: { params }\r\n } = this.props;\r\n\r\n const idRichiesta = params.idRichiesta;\r\n if (params) {\r\n if (params.idRichiesta) {\r\n this.props.richiestaStandardAccordoFormRecuperaDaBackend(idRichiesta);\r\n this.props.getFileAccordoToDownload(idRichiesta);\r\n }\r\n } else {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form.id) {\r\n this.props.richiestaStandardAccordoFormRecuperaDaBackend(idRichiesta);\r\n this.props.getFileAccordoToDownload(idRichiesta);\r\n }\r\n }\r\n };\r\n\r\n getFileRichiestaAccordo = () => {\r\n const {\r\n match: { params }\r\n } = this.props;\r\n const idRichiesta = params.idRichiesta;\r\n if (params) {\r\n if (params.idRichiesta) {\r\n this.props.richiestaStandardAccordoFormRecuperaDaBackend(idRichiesta);\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n //check if the app finish to loading\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.counter !==\r\n prevProps.richiesta_standard_accordo_fruizioneForm.counter\r\n ) {\r\n this.props.setAppToNotLoading();\r\n }\r\n //check if the app change state id\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.form.idstato !==\r\n prevState.idstato\r\n ) {\r\n this.setState({\r\n idstato: this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .idstato\r\n });\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.form.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n this.props.setHighestFormStepAccessed(7);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n richiesta_standard_accordo_fruizioneForm,\r\n ricerca_richiesta_accordo_fruizione\r\n } = this.props;\r\n\r\n const displayButtons = isSubmitting => {\r\n const dispalyConditions =\r\n this.props.richiesta_standard_accordo_fruizioneForm.form.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n );\r\n if (dispalyConditions) {\r\n return (\r\n \r\n \r\n Salva richiesta\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const displayAnnullaRichiesta = () => {\r\n const dispalyConditions =\r\n this.props.richiesta_standard_accordo_fruizioneForm.form.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n );\r\n if (dispalyConditions) {\r\n return (\r\n \r\n
    \r\n
    \r\n {\r\n this.setState({\r\n annullando: true\r\n });\r\n\r\n this.props.operatoreAnnullaRichiesta(\r\n this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .id\r\n );\r\n this.setState({\r\n annullando: false\r\n });\r\n }}\r\n >\r\n \r\n Annulla richiesta\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n //console.log(this.state.idstato);\r\n\r\n const displayBackButton = () => {\r\n let backURL = \"\";\r\n if (\r\n this.state.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n backURL = \"/area-riservata/enti/richiesta-adesione-in-corso\";\r\n } else if (\r\n this.state.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_ANNULLATA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n backURL = \"/area-riservata/enti/richieste-annullate\";\r\n } else if (\r\n this.state.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n backURL = \"/area-riservata/enti/richieste-respinte\";\r\n } else {\r\n backURL = \"/area-riservata/enti/richiesta-adesione-in-corso\";\r\n }\r\n // console.log(this.state.idstato)\r\n // console.log(backURL);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Lista richieste\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const conditionallyDisplayUploadSection = () => {\r\n if (ricerca_richiesta_accordo_fruizione.richiesta) {\r\n if (\r\n this.state.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n return ;\r\n }\r\n }\r\n // {ricerca_richiesta_accordo_fruizione.richiesta ? (\r\n // \tricerca_richiesta_accordo_fruizione.richiesta.idstato ===\r\n // \tgetIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\", this.props.decodifiche_stati_accordo.stati_accordo) ? (\r\n // \t\t\r\n // \t) : (\r\n // \t\t\"\"\r\n // \t)\r\n // ) : (\r\n // \t\"\"\r\n // )}\r\n\r\n if (richiesta_standard_accordo_fruizioneForm.form) {\r\n if (\r\n this.state.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_INSERITA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n return ;\r\n }\r\n }\r\n // {richiesta_standard_accordo_fruizioneForm.form ? (\r\n // \trichiesta_standard_accordo_fruizioneForm.form.idstato ===\r\n // \tgetIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\", this.props.decodifiche_stati_accordo.stati_accordo) ? (\r\n // \t\t\r\n // \t) : (\r\n // \t\t\"\"\r\n // \t)\r\n // ) : (\r\n // \t\"\"\r\n // )}\r\n return \"\";\r\n };\r\n\r\n const displayNomeEnte = () => {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm) {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form) {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form.ente) {\r\n if (\r\n this.props.richiesta_standard_accordo_fruizioneForm.form.ente\r\n .denominazione\r\n ) {\r\n return (\r\n
    \r\n

    \r\n {\r\n this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .ente.denominazione\r\n }\r\n

    \r\n
    \r\n );\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n if (\r\n this.state.idstato\r\n // && this.state.idstato === getIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\", this.props.decodifiche_stati_accordo.stati_accordo)\r\n ) {\r\n return (\r\n \r\n {displayBackButton()}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {displayNomeEnte()}\r\n \r\n\r\n {\r\n this.props.setAppToLoading();\r\n /**\r\n * invia richiesta\r\n */\r\n let formData = {\r\n idente:\r\n richiesta_standard_accordo_fruizioneForm.form.idente,\r\n noteente:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .noteente,\r\n maxutenti:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .maxutenti,\r\n transazionipreviste:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .transazionipreviste,\r\n maxtransazionipreviste:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .maxtransazionipreviste,\r\n filedelega:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .filedelega,\r\n rappresentantelegale: {\r\n codicefiscale:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.codicefiscale,\r\n nome:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.nome,\r\n cognome:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.cognome,\r\n datanascita:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.datanascita,\r\n telefono:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.telefono,\r\n email:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.email,\r\n tipoemail:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .rappresentantelegale.tipoemail\r\n },\r\n responsabileamministrazione: {\r\n codicefiscale:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.codicefiscale,\r\n nome:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.nome,\r\n cognome:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.cognome,\r\n datanascita:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.datanascita,\r\n telefono:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.telefono,\r\n email:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.email,\r\n tipoemail:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .responsabileamministrazione.tipoemail\r\n }\r\n };\r\n if (\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.codicefiscale\r\n ) {\r\n formData.supervisore = {\r\n codicefiscale:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.codicefiscale,\r\n nome:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.nome,\r\n cognome:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.cognome,\r\n datanascita:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.datanascita,\r\n telefono:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.telefono,\r\n email:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.email,\r\n tipoemail:\r\n richiesta_standard_accordo_fruizioneForm.form\r\n .supervisore.tipoemail\r\n };\r\n }\r\n if (richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .codicefiscale) {\r\n formData['delegato'] = {\r\n codicefiscale:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .codicefiscale,\r\n nome:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .nome,\r\n cognome:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .cognome,\r\n datanascita:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .datanascita,\r\n telefono:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .telefono,\r\n email:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .email,\r\n tipoemail:\r\n richiesta_standard_accordo_fruizioneForm.form.delegato\r\n .tipoemail,\r\n };\r\n formData['filedelega'] = {\r\n fileName: richiesta_standard_accordo_fruizioneForm.form.delegato.filedelega.name,\r\n fileContent: richiesta_standard_accordo_fruizioneForm.form.delegato.filedelega.fileContent,\r\n };\r\n }\r\n if (\r\n this.props.richiesta_form_data.tipologia_selezionata\r\n .codice !== \"PA\"\r\n ) {\r\n formData = {\r\n ...formData,\r\n supervisore: null\r\n };\r\n }\r\n if (formData.filedelega === \"\") {\r\n formData.filedelega = null;\r\n }\r\n if (\r\n !richiesta_standard_accordo_fruizioneForm.form\r\n .delegato ||\r\n (richiesta_standard_accordo_fruizioneForm.form\r\n .delegato &&\r\n !richiesta_standard_accordo_fruizioneForm.form\r\n .delegato.codicefiscale)\r\n ) {\r\n formData = {\r\n ...formData,\r\n delegato: null\r\n };\r\n }\r\n this.props.updateRichiestaAccordoFruizioneInStatoInserito(\r\n this.props.richiesta_standard_accordo_fruizioneForm.form\r\n .id,\r\n formData\r\n );\r\n /**\r\n * redirezionare l'utente per vedere gli accordi richiesti\r\n */\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({ isSubmitting }) => (\r\n
    \r\n
    \r\n {displayButtons(isSubmitting)}\r\n {displayAnnullaRichiesta()}\r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {conditionallyDisplayUploadSection()}\r\n\r\n {displayBackButton()}\r\n
    \r\n );\r\n } else if (\r\n this.props.richiesta_standard_accordo_fruizioneForm &&\r\n this.props.richiesta_standard_accordo_fruizioneForm.error\r\n ) {\r\n return (\r\n \r\n );\r\n } else {\r\n return
    Loading...
    ;\r\n }\r\n }\r\n}\r\n\r\nRichiestaTrovata.propTypes = {\r\n richiesta_standard_accordo_fruizioneForm: PropTypes.object.isRequired,\r\n ricerca_richiesta_accordo_fruizione: PropTypes.object.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired,\r\n richiesta_form_data: PropTypes.object.isRequired,\r\n updateRichiestaAccordoFruizioneInStatoInserito: PropTypes.func.isRequired,\r\n operatoreAnnullaRichiesta: PropTypes.func.isRequired,\r\n richiestaStandardAccordoFormRecuperaDaBackend: PropTypes.func.isRequired,\r\n setHighestFormStepAccessed: PropTypes.func.isRequired,\r\n setAppToLoading: PropTypes.func.isRequired,\r\n setAppToNotLoading: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n richiesta_standard_accordo_fruizioneForm:\r\n state.richiesta_standard_accordo_fruizioneForm,\r\n ricerca_richiesta_accordo_fruizione:\r\n state.ricerca_richiesta_accordo_fruizione,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n richiesta_form_data: state.richiesta_form_data\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n updateRichiestaAccordoFruizioneInStatoInserito: (idAccordo, formValues) =>\r\n dispatch(\r\n updateRichiestaAccordoFruizioneInStatoInserito(idAccordo, formValues)\r\n ),\r\n operatoreAnnullaRichiesta: idAccordo =>\r\n dispatch(operatoreAnnullaRichiesta(idAccordo)),\r\n richiestaStandardAccordoFormRecuperaDaBackend: idAccordo =>\r\n dispatch(richiestaStandardAccordoFormRecuperaDaBackend(idAccordo)),\r\n getFileAccordoToDownload: idAccordo =>\r\n dispatch(getFileAccordoToDownload(idAccordo)),\r\n setHighestFormStepAccessed: step =>\r\n dispatch(setHighestFormStepAccessed(step)),\r\n setAppToLoading: () => dispatch(setAppToLoading()),\r\n setAppToNotLoading: () => dispatch(setAppToNotLoading())\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RichiestaTrovata);\r\n","import React, { Fragment } from 'react';\r\n// import Typography from '../../../../../ui/typography';\r\n// import DetailsTable from '../../../../../ui/details-table';\r\nimport Card from '../../../../../ui/card';\r\nimport IconButton from '../../../../../ui/icon-button';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { LabelValueListItem } from '../../../../../ui';\r\nimport { STRINGS } from '../../../../../../constants/strings';\r\n\r\nconst InfoCard = ({ data }) => (\r\n \r\n {data.map((el, index) => {\r\n return (\r\n
    \r\n \r\n {(!el.info || !el.info.length) && STRINGS.NO_VALUE}\r\n
    \r\n {el.info.filter(x => !!x).map((info, i) => (\r\n

    \r\n \r\n

    \r\n ))}\r\n
    \r\n {el.edit &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n \r\n
    \r\n )\r\n }\r\n )}\r\n
    \r\n);\r\n\r\nexport default InfoCard;","export const enteInfos = [\r\n {\r\n key: \"denominazione\",\r\n label: \"Denominazione\"\r\n },\r\n {\r\n key: \"classe\",\r\n label: \"Classe di appartenenza\"\r\n },\r\n {\r\n key: \"indirizzo\",\r\n label: \"Indirizzo\"\r\n },\r\n {\r\n key: \"cap\",\r\n label: \"CAP\"\r\n },\r\n {\r\n key: \"provincia\",\r\n label: \"Provincia\"\r\n },\r\n {\r\n key: \"regione\",\r\n label: \"Regione\"\r\n },\r\n {\r\n key: \"telefono\",\r\n label: \"Telefono\"\r\n },\r\n {\r\n key: \"nomeresponsabile\",\r\n label: \"Nome del responsabile\"\r\n },\r\n {\r\n key: \"cognomeresponabile\",\r\n label: \"Cognome del responsabile\"\r\n },\r\n];\r\n\r\nexport const utenteInfos = [\r\n {\r\n key: \"codicefiscale\",\r\n label: \"Codice fiscale\"\r\n },\r\n {\r\n key: \"nome\",\r\n label: \"Nome\"\r\n },\r\n {\r\n key: \"cognome\",\r\n label: \"Cognome\"\r\n },\r\n {\r\n key: \"datanascita\",\r\n label: \"Data di nascita\"\r\n },\r\n {\r\n key: \"telefono\",\r\n label: \"Telefono\"\r\n },\r\n {\r\n key: \"email\",\r\n label: \"Indirizzo email\"\r\n },\r\n {\r\n key: \"tipoemail\",\r\n label: \"Tipo email\"\r\n }\r\n];","export const attoriAccordo = [\r\n {\r\n key: 'rappresentantelegale',\r\n label: 'Rappresentante legale',\r\n urlparam: 'rappresentante-legale',\r\n order: 1\r\n },\r\n {\r\n key: 'responsabileamministrazione',\r\n label: 'Responsabile amministrazione',\r\n urlparam: 'responsabile-amministrazione',\r\n order: 2\r\n },\r\n {\r\n key: 'supervisore',\r\n label: 'Supervisore del servizio',\r\n urlparam: 'supervisore-servizio',\r\n order: 3\r\n },\r\n {\r\n key: 'delegato',\r\n label: 'Delegato',\r\n urlparam: 'delegato',\r\n order: 4\r\n },\r\n {\r\n key: 'responsabilefirmaente',\r\n label: \"Responsabile per la firma dell'accordo\",\r\n urlparam: 'responsabile-firma-ente',\r\n order: 5\r\n }\r\n];","export const tipoEmail = {\r\n 1: 'PEC',\r\n 2: 'PEL'\r\n};","export const configParamsKeys = {\r\n \"responsabileservizio_email\": \"responsabileAccordo.responsabileServizio.email.attivo\",\r\n \"supervisore_email\": \"responsabileAccordo.supervisore.email.attivo\",\r\n \"responsabileamministrazione_email\": \"utente.responsabileAmministrazione.email.attivo\",\r\n \"rappresentantelegale_email\": \"responsabileAccordo.rappresentanteLegale.email.attivo\",\r\n \"operatoreaccreditato_email\": \"utente.operatoreAccreditato.email.attivo\",\r\n \"responsabilefirmaente_email\": \"responsabileAccordo.responsabileFirma.email.attivo\",\r\n \"delegato_email\": \"responsabileAccordo.delegato.email.attivo\",\r\n \"responsabilefirmaaccordo_email\": \"respMinistero.responsabileFirmaAccordo.email.attivo\",\r\n \"informativa_privacy\": \"informativaDatiPersonali.richiestaConferma\"\r\n};","import React from 'react';\r\nimport { enteInfos, utenteInfos } from \"./constants\";\r\nimport { attoriAccordo } from \"../../../../../constants/attori-accordo\";\r\nimport moment from \"moment\";\r\nimport { tipoEmail } from \"../../../../../constants/tipo-email\";\r\nimport { isNullOrUndefined } from \"../../../../../utils/functions/objects/isNullOrUndefined\";\r\nimport { STRINGS } from \"../../../../../constants/strings\";\r\nimport { configParamsKeys } from \"../../../../../constants/config-params-keys\";\r\n\r\nexport function createCardArray(accordo, edit, configParams, actions) {\r\n\r\n let cardArray = [];\r\n\r\n for (let key in accordo) {\r\n if (key === 'ente') {\r\n cardArray.push({\r\n order: 0,\r\n title: \"Ente\",\r\n row: true,\r\n icon: 'building',\r\n info: enteInfos.map(enteinfo => (\r\n {\r\n label: enteinfo.label,\r\n value: enteinfo.key === 'classe'\r\n && !isNullOrUndefined(accordo.ente['tipologia'])\r\n && !isNullOrUndefined(accordo.ente['tipologia'][enteinfo.key]) ? accordo.ente['tipologia'][enteinfo.key] : accordo.ente[enteinfo.key],\r\n col: !['denominazione', 'classe', 'telefono'].includes(enteinfo.key)\r\n ? 6 : 12\r\n }\r\n ))\r\n })\r\n }\r\n const utente = [\r\n ...attoriAccordo,\r\n {\r\n key: 'responsabilefirmaaccordo',\r\n label: \"Responsabile del Ministero per la firma dell'accordo\",\r\n urlparam: '',\r\n order: 6\r\n }\r\n ].find(ut => (ut.key === key));\r\n\r\n if (\r\n utente\r\n && !isNullOrUndefined(accordo[utente.key])\r\n ) {\r\n if (utenteInfos.some(utenteinfo => accordo[utente.key][utenteinfo.key])) {\r\n let utenteInfosArray = ['responsabilefirmaaccordo', 'responsabilefirmaente'].includes(utente.key)\r\n ? utenteInfos.concat({\r\n key: \"ruolo\",\r\n label: \"Ruolo\"\r\n }) : utenteInfos;\r\n cardArray.push({\r\n title: `${utente.label}`,\r\n order: utente.order,\r\n urlparam: utente.urlparam,\r\n icon: 'address-card',\r\n edit: ![utente.key].includes('responsabilefirmaaccordo') ? edit : false,\r\n info: utenteInfosArray\r\n .filter(utenteInfo => !!configParams && !['responsabileamministrazione'].includes(utente.key)\r\n ? ([\"tipoemail\", \"email\"].includes(utenteInfo.key)\r\n && (configParams[configParamsKeys[`${utente.key}_email`]] === 'true'))\r\n || ![\"tipoemail\", \"email\"].includes(utenteInfo.key)\r\n : true\r\n )\r\n .map(utenteinfo => (\r\n {\r\n label: utenteinfo.label,\r\n value: utenteinfo.key === 'datanascita' ?\r\n accordo[utente.key][utenteinfo.key] ?\r\n moment(accordo[utente.key][utenteinfo.key]).format('DD/MM/YYYY') : STRINGS.NO_VALUE\r\n : utenteinfo.key === 'tipoemail' ?\r\n tipoEmail[accordo[utente.key][utenteinfo.key]]\r\n : accordo[utente.key][utenteinfo.key],\r\n col: utenteinfo.key !== 'codicefiscale' ? 6 : 12\r\n }\r\n )),\r\n })\r\n } else if (utente.key === 'delegato') {\r\n cardArray.push({\r\n title: `${utente.label}`,\r\n urlparam: utente.urlparam,\r\n icon: 'address-card',\r\n edit: edit,\r\n addIcon: 'plus',\r\n info: []\r\n })\r\n }\r\n }\r\n };\r\n\r\n if (accordo.maxutenti || accordo.transazionipreviste || accordo.maxtransazionipreviste) {\r\n const impostazioniAccordo = {\r\n title: 'Impostazioni accordo',\r\n icon: 'chart-bar',\r\n order: 5,\r\n edit: edit,\r\n urlparam: 'impostazioni-accordo',\r\n info: [\r\n {\r\n label: 'Numero massimo di utenti',\r\n value: accordo.maxutenti,\r\n col: 12\r\n },\r\n {\r\n label: 'Numero medio transazioni giornaliere previste',\r\n value: accordo.transazionipreviste,\r\n col: 12\r\n },\r\n {\r\n label: 'Numero massimo transazioni giornaliere previste',\r\n value: accordo.maxtransazionipreviste,\r\n col: 12\r\n },\r\n ]\r\n };\r\n cardArray.push(impostazioniAccordo);\r\n }\r\n\r\n const infoNota = {\r\n title: \"Estremi atto / Casi d'uso e normative di riferimento\",\r\n order: 6,\r\n icon: 'sticky-note',\r\n edit: edit,\r\n urlparam: 'estremi-atto',\r\n info: [\r\n {\r\n label: \"Estremi dell'atto di approvazione dell'accordo\",\r\n value: accordo.attoente || STRINGS.NO_VALUE,\r\n col: 12\r\n },\r\n {\r\n label: \"Individuazione casi d'uso e normative di riferimento\",\r\n value: accordo.noteente || STRINGS.NO_VALUE,\r\n col: 12\r\n },\r\n {\r\n label: \"File individuazione casi d'uso e normative di riferimento\",\r\n value: (\r\n accordo?.filenormativacasiduso?.fileName\r\n || (\r\n accordo.idfilenormativacasiduso &&\r\n \r\n )\r\n ),\r\n col: 12\r\n }\r\n ]\r\n };\r\n cardArray.push(infoNota);\r\n\r\n if (accordo.noteministero) {\r\n cardArray.push({\r\n title: \"Note del Ministero\",\r\n icon: 'sticky-note',\r\n order: 7,\r\n edit: edit,\r\n urlparam: 'note-ministero',\r\n info: [\r\n {\r\n label: undefined,\r\n value: accordo.noteministero,\r\n col: 12\r\n }\r\n ]\r\n })\r\n }\r\n\r\n const sortByEnteInfo = (a, b) => {\r\n if (a.order < b.order) {\r\n return -1;\r\n } else return 1;\r\n };\r\n\r\n cardArray.sort(sortByEnteInfo);\r\n\r\n return cardArray;\r\n};","export const base64ToArrayBuffer = (base64) => {\r\n const binaryString = window.atob(base64);\r\n const binaryLen = binaryString.length;\r\n const bytes = new Uint8Array(binaryLen);\r\n for (let i = 0; i < binaryLen; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes;\r\n};\r\n\r\nexport const saveByteArray = (reportName, byte, type = \"application/pdf\") => {\r\n const blob = new Blob([byte], { type });\r\n const link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = reportName;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n};\r\n\r\nexport function downloadBase64File(file, fileName, type) {\r\n let arrayBuffer = base64ToArrayBuffer(file);\r\n saveByteArray(fileName, arrayBuffer, type);\r\n};","export const DOWNLOAD_FILE_SUCCESS = 'DOWNLOAD_FILE_SUCCESS';\r\nexport const DOWNLOAD_FILE_IS_LOADING = 'DOWNLOAD_FILE_IS_LOADING';\r\nexport const DOWNLOAD_FILE_ERROR = 'DOWNLOAD_FILE_ERROR';\r\n\r\nexport const downloadFileSuccess = payload => {\r\n return {\r\n type: DOWNLOAD_FILE_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const downloadFileIsLoading = loading => {\r\n return {\r\n type: DOWNLOAD_FILE_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const downloadFileError = error => {\r\n return {\r\n type: DOWNLOAD_FILE_ERROR,\r\n error\r\n };\r\n};","import axios from \"axios\";\r\nimport { downloadBase64File } from \"../../../../utils/functions/files/downloadBase64File\";\r\nimport { appMessagesConfig } from \"../utils-actions\";\r\nimport { downloadFileError, downloadFileIsLoading, downloadFileSuccess } from \"./download-file\";\r\n\r\n/**\r\n * Scarica un file generico di Accordi di Fruizione.\r\n * @param {String} url URL del servizio REST che recupera i dati del file (AF_FILE)\r\n * @param {String} filename nome del file non obbligatorio\r\n */\r\nexport const downloadFile = (url, filename) => dispatch => {\r\n dispatch(downloadFileIsLoading());\r\n axios.get(url)\r\n .then(response => {\r\n const f = response.data;\r\n dispatch(downloadFileSuccess(response.data));\r\n downloadBase64File(f.fileprodotto.data, filename ?? f.nomefile, f.tipofile.toLowerCase());\r\n // dispatch(appMessagesConfig(null));\r\n })\r\n .catch(error => {\r\n dispatch(appMessagesConfig({ name: \"File\", action: \"GET\", type: \"danger\", error }));\r\n dispatch(downloadFileError(error.message));\r\n });\r\n};\r\n\r\nexport const downloadDelegaAccordo = (idAccordo) => dispatch => {\r\n dispatch(downloadFile(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filedelega`));\r\n};\r\n\r\nexport const downloadAccordo = (idAccordo) => dispatch => {\r\n dispatch(downloadFile(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filerichiesta`));\r\n};\r\n\r\nexport const downloadAccordoFirmato = (idAccordo) => dispatch => {\r\n dispatch(downloadFile(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filefirmatorichiesta`));\r\n};\r\n\r\nexport const downloadAccordoControfirmato = (idAccordo) => dispatch => {\r\n dispatch(downloadFile(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filecontrofirmato`));\r\n};\r\n\r\nexport const downloadNormativaCasiUso = (idAccordo, filename) => dispatch => {\r\n dispatch(downloadFile(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/filenormativa`, filename));\r\n};","import React, { Component, Fragment } from \"react\";\r\n\r\nimport { InfoCard } from \"./_partials\";\r\nimport { createCardArray } from \"./utils/createCardArray\";\r\nimport ScrollTopButton from \"../../../ui/scroll-top-button\";\r\nimport GoNavLink from \"../../../ui/go-nav-link\";\r\nimport { connect } from \"react-redux\";\r\nimport { getAccordoById } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport Spinner from \"../../../ui/spinner\";\r\nimport Message from \"../../../ui/messages\";\r\nimport { DecodificheContext } from \"../../../../contexts\";\r\nimport { downloadNormativaCasiUso } from \"../../../../redux/actions/area-riservata/file\";\r\n\r\n\r\nclass DettagliAccordo extends Component {\r\n state = {\r\n accordo: this.props.get_accordo_by_id.accordo || undefined,\r\n };\r\n\r\n componentDidMount() {\r\n if (!this.props.accordo && (!this.state.accordo ||\r\n (this.state.accordo && this.state.accordo.id !== this.props.match.params.idAccordo)\r\n )) {\r\n this.props.getAccordoById(this.props.match.params.idAccordo);\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (!this.props.accordo &&\r\n this.props.get_accordo_by_id &&\r\n (prevProps.get_accordo_by_id !== this.props.get_accordo_by_id)\r\n ) {\r\n this.setState({ accordo: this.props.get_accordo_by_id.accordo });\r\n }\r\n };\r\n\r\n render() {\r\n const { titolo, hideGoNavLink, edit, get_accordo_by_id, config_params, downloadNormativaCasiUso } = this.props;\r\n\r\n const accordo = this.props.accordo || this.state.accordo;\r\n \r\n // console.log(\"[DettagliAccordo] accordo = %O\", accordo);\r\n\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n {titolo &&

    {titolo}

    }\r\n \r\n {!hideGoNavLink &&\r\n \r\n }\r\n {\r\n accordo ?\r\n \r\n
    \r\n {accordo.idstato &&\r\n parseInt(el.key, 10) === accordo.idstato).traduzione, accordo.messaggio].filter(t => !!t)}\r\n type=\"info\"\r\n />\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n : get_accordo_by_id.isLoading ?\r\n
    \r\n \r\n
    \r\n : null\r\n }\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n config_params: state.config.get_config_params.config_params,\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordoById: (idAccordo) => dispatch(getAccordoById(idAccordo)),\r\n downloadNormativaCasiUso: (idAccordo, filename) => dispatch(downloadNormativaCasiUso(idAccordo, filename))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettagliAccordo);\r\n","import React, { Fragment } from 'react';\r\nimport Radio from '../../../../../../ui/radio';\r\nimport Row from '../../../../../../ui/row';\r\nimport { useFormikContext } from 'formik';\r\nimport { TextArea } from '../../../../../../ui';\r\n\r\n\r\nconst ModaleApprovaBody = () => {\r\n const { values, setFieldValue } = useFormikContext();\r\n\r\n return (\r\n \r\n \r\n setFieldValue('tipoApprovazione', value)}\r\n value={values.tipoApprovazione}\r\n radioList={[\r\n {\r\n id: \"0\",\r\n value: 0,\r\n label: \"Attiva per tutti gli enti\",\r\n },\r\n {\r\n id: \"8\",\r\n value: 8,\r\n label: \"Attiva solo per l'ente proponente\",\r\n },\r\n ]}\r\n />\r\n \r\n \r\n setFieldValue('nota', value)}\r\n label=\"Note: \"\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModaleApprovaBody;","import React from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { DatePicker, Select } from '../../../../../../ui';\r\n\r\n\r\nconst ModaleDisabilitaBody = () => {\r\n const { values, setFieldValue, errors } = useFormikContext();\r\n\r\n const optionList = [\r\n {\r\n value: 9,\r\n label: \"Disabilitato dal Ministero\"\r\n },\r\n {\r\n value: 10,\r\n label: \"Disabilitato per la normativa\"\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n
    \r\n setFieldValue('motivazione', value && value.value)}\r\n value={optionList.find(el => el.value === values.motivazione)}\r\n optionlist={optionList}\r\n // filterDate\r\n />\r\n
    \r\n
    \r\n setFieldValue('data', value)}\r\n value={values.data}\r\n error={errors.data}\r\n // filterDate\r\n required\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ModaleDisabilitaBody;","import * as yup from 'yup';\r\nimport moment from 'moment';\r\n\r\nexport const disabilitaInitialValues = {\r\n data: moment(new Date()).add(180, 'days').toDate(),\r\n motivazione: undefined\r\n};\r\n\r\nexport const disabilitaValidationSchema = yup.object().shape({\r\n data: yup.string().nullable().required('Data decorrenza disabilitazione: campo obbligatorio.'),\r\n motivazione: yup.number().oneOf([9, 10]).required('Motivazione: campo obbligatorio.')\r\n});\r\n\r\nexport const proponiInitialValues = {\r\n finalitaTrattamento: ''\r\n};\r\n\r\nexport const proponiValidationSchema = yup.object().shape({\r\n finalitaTrattamento: yup.string().nullable().required('Descrizione: campo obbligatorio.')\r\n .max(4000, 'Descrizione: il campo non può superare 4000 caratteri.'),\r\n});\r\n\r\n\r\nexport const approvaInitialValues = {\r\n tipoApprovazione: 0,\r\n nota: ''\r\n};\r\n\r\nexport const approvaValidationSchema = yup.object().shape({\r\n tipoApprovazione: yup.number().oneOf([0, 8]).required('Modalità di approvazione: campo obbligatorio.'),\r\n nota: yup.string().nullable()\r\n});\r\n\r\nexport const rifiutaInitialValues = {\r\n nota: ''\r\n};\r\n\r\nexport const rifiutaValidationSchema = yup.object().shape({\r\n nota: yup.string().required('Nota: campo obbligatorio')\r\n});\r\n\r\nexport const estendiInitialValues = {};\r\n\r\nexport const estendiValidationSchema = yup.object();\r\n\r\nexport const abilitaInitialValues = {};\r\n\r\nexport const abilitaValidationSchema = yup.object();\r\n\r\n\r\n","import React, { Fragment } from 'react';\r\nimport Row from '../../../../../../ui/row';\r\nimport { useFormikContext } from 'formik';\r\nimport { TextArea } from '../../../../../../ui';\r\n\r\n\r\nconst ModaleRifiutaBody = () => {\r\n const { values, setFieldValue, errors } = useFormikContext();\r\n\r\n return (\r\n \r\n \r\n setFieldValue('nota', value)}\r\n label=\"Note: \"\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModaleRifiutaBody;","export function createSelectArrayFromDec(decodifichearray) {\r\n return decodifichearray.map(dec => (\r\n {\r\n label: dec.traduzionetrasl,\r\n value: parseInt(dec.key, 10)\r\n }\r\n ))\r\n};","import axios from \"axios\";\r\nimport { getRegioniAllError, getRegioniAllIsLoading, getRegioniAllSuccess } from \"./get-regioni-all-actions\";\r\n\r\nexport const getRegioniAll = (decodificheStatiCasoUso) => dispatch => {\r\n dispatch(getRegioniAllIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/ammregione/load/attive`)\r\n .then(regioni => dispatch(getRegioniAllSuccess(regioni.data)))\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getRegioniAllError(errorMsg));\r\n });\r\n};","import React, { Fragment, useEffect, useState } from 'react';\r\nimport Row from '../../../../../../ui/row';\r\nimport { useFormikContext } from 'formik';\r\nimport { Select, Spinner, TextArea } from '../../../../../../ui';\r\nimport { createSelectArrayFromDec } from '../../../../../../ui/select/createSelectArrayFromDec';\r\nimport { connect } from 'react-redux';\r\nimport { getRegioniAll } from '../../../../../../../redux/actions/area-riservata/constants-actions';\r\nimport { isNullOrUndefined } from '../../../../../../../utils/functions/objects/isNullOrUndefined';\r\n\r\n\r\nconst FormModaleCasoUsoAssociato = ({\r\n disabledFields = [],\r\n decodifiche,\r\n getRegioniAll,\r\n isLoading,\r\n pristine,\r\n regioni,\r\n}) => {\r\n const { values, setFieldValue, errors } = useFormikContext();\r\n const [regioniOptionList, setRegioniOptionList] = useState();\r\n\r\n useEffect(() => {\r\n if (!!values.idAmbitoTerritoriale\r\n && (values.idAmbitoTerritoriale === 2)\r\n && !regioni\r\n && !pristine\r\n && !isLoading\r\n ) {\r\n getRegioniAll();\r\n }\r\n if (!!regioni) {\r\n setRegioniOptionList(regioni.map(reg => (\r\n {\r\n value: reg.id,\r\n label: reg.denominazione\r\n }\r\n )));\r\n }\r\n }, [values, regioni]); //eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const ambitiOptionList = createSelectArrayFromDec(decodifiche.ambiti.ambiti);\r\n const ambitiTerritorialiOptionList = createSelectArrayFromDec(decodifiche.ambiti_territoriali.ambiti_territoriali);\r\n\r\n return (\r\n \r\n \r\n setFieldValue('idAmbito', value && value.value)}\r\n value={ambitiOptionList.find(el => el.value === values.idAmbito)}\r\n optionlist={ambitiOptionList}\r\n />\r\n \r\n \r\n {\r\n setFieldValue('idAmbitoTerritoriale', value && value.value).then(\r\n x => {\r\n if (!value || (value && value.value !== 2)) {\r\n setFieldValue('idRegione', undefined);\r\n }\r\n }\r\n )\r\n }}\r\n value={ambitiTerritorialiOptionList.find(el => el.value === values.idAmbitoTerritoriale)}\r\n optionlist={ambitiTerritorialiOptionList}\r\n />\r\n \r\n {\r\n !!values.idAmbitoTerritoriale\r\n && (values.idAmbitoTerritoriale === 2)\r\n && !!regioniOptionList\r\n &&\r\n \r\n setFieldValue('idRegione', value && value.value)}\r\n value={regioniOptionList.find(el => el.value === values.idRegione)}\r\n optionlist={regioniOptionList}\r\n />\r\n \r\n }\r\n {\r\n !regioniOptionList &&\r\n \r\n }\r\n \r\n setFieldValue(\"finalitaTrattamento\", value)}\r\n rows={5}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getRegioniAll: () => dispatch(getRegioniAll()),\r\n});\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(FormModaleCasoUsoAssociato);","import * as yup from 'yup';\r\n\r\nexport const aggiornaCasoUsoAssociatoValidationSchema = yup.object().shape({\r\n idAmbito: yup.string().required('Ambito di utilizzo: campo obbligatorio.'),\r\n idAmbitoTerritoriale: yup.string().required('Ambito territoriale: campo obbligatorio.'),\r\n idRegione: yup.string().when('idAmbitoTerritoriale', {\r\n is: \"2\",\r\n then: yup.string().required('Regione: campo obbligatorio.'),\r\n otherwise: yup.string().nullable()\r\n }),\r\n finalitaTrattamento: yup.string().required('Descrizione: campo obbligatorio.'),\r\n});","import React from 'react';\r\nimport Icon from '../../../../../ui/icon';\r\nimport { ModaleDisabilitaBody, ModaleApprovaBody } from './_partials';\r\nimport {\r\n abilitaInitialValues, abilitaValidationSchema,\r\n approvaInitialValues, approvaValidationSchema,\r\n disabilitaInitialValues, disabilitaValidationSchema,\r\n estendiInitialValues, estendiValidationSchema,\r\n // proponiInitialValues, proponiValidationSchema,\r\n rifiutaInitialValues, rifiutaValidationSchema,\r\n} from './modaleFormData';\r\nimport Typography from '../../../../../ui/typography';\r\nimport {\r\n APPROVA_CASO_USO,\r\n DISABILITA_CASO_USO,\r\n RIFIUTA_CASO_USO,\r\n ESTENDI_CASO_USO,\r\n PROPONI_CASO_USO,\r\n ABILITA_CASO_USO\r\n} from '../../../../../layout/modale-conferma/utils';\r\nimport ModaleRifiutaBody from './_partials/ModaleRifiutaBody';\r\n// import ModaleProponiBody from './_partials/ModaleProponiBody';\r\nimport { IconButton } from '../../../../../ui';\r\nimport { FormModaleCasoUsoAssociato } from '../../../../ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/partials';\r\nimport { aggiornaCasoUsoAssociatoValidationSchema } from '../../../../ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/partials/aggiornaCasoUsoAssociatoValidationSchema';\r\nimport { isNullOrUndefined } from '../../../../../../utils/functions/objects/isNullOrUndefined';\r\n\r\nexport const catalogoCasiUsoTableHeaders = (utenza) => {\r\n let headers = [\r\n {\r\n value: 'Titolo',\r\n },\r\n {\r\n value: 'Gruppo',\r\n },\r\n {\r\n value: 'Codice',\r\n },\r\n {\r\n value: 'Descrizione',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center'\r\n },\r\n ];\r\n if (['ministero', 'responsabile-amministrazione'].includes(utenza)) {\r\n headers.push({\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-center',\r\n })\r\n }\r\n return headers;\r\n};\r\n\r\nexport const getStatoActionsCasoUso = (caso, callbacks, utenza, decodifiche, get_regioni_all) => {\r\n const {\r\n annullaCasoUso,\r\n modificaCasoUso,\r\n attivaCasoUso,\r\n handleAction,\r\n } = callbacks;\r\n switch (caso.idStato) {\r\n case 0:\r\n return {\r\n icon: 'check',\r\n title: \"Attivo\",\r\n class: 'success',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: caso.idCasoduso + '-modifica',\r\n onClick: () => modificaCasoUso(caso.idCasoduso),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: caso.idCasoduso + '-disabilita',\r\n onClick: () => handleAction(\r\n {\r\n name: 'DISABILITA',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: disabilitaInitialValues,\r\n validationSchema: disabilitaValidationSchema,\r\n onsubmit: {\r\n func: DISABILITA_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'ban',\r\n label: \"DISABILITA\",\r\n buttonClass: 'danger',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Disabilita',\r\n icon: 'ban',\r\n buttonClass: 'danger',\r\n },\r\n ]\r\n };\r\n\r\n case 1:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: \"Non attivo\",\r\n class: 'warning'\r\n };\r\n\r\n case 2:\r\n return {\r\n icon: 'flag',\r\n title: \"Inserito dall'ente\",\r\n class: 'primary',\r\n actions: [\r\n {\r\n id: caso.idCasoduso + '-proponi',\r\n onClick: () => handleAction(\r\n {\r\n id: `PROPONI_${caso.idCasoduso}`,\r\n name: 'PROPONI',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n open: true,\r\n form: {\r\n enableReinitialize: true,\r\n initialValues: {\r\n finalitaTrattamento: !isNullOrUndefined(caso.finalitaTrattamento)\r\n ? caso.finalitaTrattamento\r\n : ''\r\n },\r\n validationSchema: aggiornaCasoUsoAssociatoValidationSchema,\r\n onsubmit: {\r\n func: PROPONI_CASO_USO,\r\n payload: caso.idCasoduso,\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'arrow-right',\r\n label: \"PROPONI\",\r\n buttonClass: 'success',\r\n type: \"submit\",\r\n },\r\n ]\r\n },\r\n }\r\n ),\r\n value: 'Proponi',\r\n icon: 'arrow-right',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n {\r\n id: caso.idCasoduso + '-modifica',\r\n onClick: () => modificaCasoUso(caso.idCasoduso),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: caso.idCasoduso + '-annulla',\r\n onClick: () => annullaCasoUso(caso.idCasoduso),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n }\r\n ]\r\n };\r\n case 3:\r\n return {\r\n icon: 'flag',\r\n title: \"Inserito dal Ministero\",\r\n class: 'primary',\r\n actions: [\r\n {\r\n id: caso.idCasoduso + '-attiva',\r\n onClick: () => attivaCasoUso(caso.idCasoduso),\r\n value: 'Attiva',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n },\r\n {\r\n id: caso.idCasoduso + '-modifica',\r\n onClick: () => modificaCasoUso(caso.idCasoduso),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: caso.idCasoduso + '-annulla',\r\n onClick: () => annullaCasoUso(caso.idCasoduso),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n }\r\n ]\r\n };\r\n case 4:\r\n return {\r\n icon: 'trash',\r\n title: \"Annullato dall'ente\",\r\n class: 'danger'\r\n };\r\n case 5:\r\n return {\r\n icon: 'trash',\r\n title: \"Annullato dal Ministero\",\r\n class: 'danger'\r\n };\r\n case 6:\r\n return {\r\n icon: 'flag',\r\n title: \"Proposto\",\r\n class: 'success',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: caso.idCasoduso + '-approva',\r\n onClick: () => handleAction(\r\n {\r\n name: 'APPROVA',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: approvaInitialValues,\r\n validationSchema: approvaValidationSchema,\r\n onsubmit: {\r\n func: APPROVA_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'check',\r\n label: \"APPROVA\",\r\n buttonClass: 'success',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Approva',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n {\r\n id: caso.idCasoduso + '-rifiuta',\r\n onClick: () => handleAction(\r\n {\r\n name: 'RIFIUTA',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: rifiutaInitialValues,\r\n validationSchema: rifiutaValidationSchema,\r\n onsubmit: {\r\n func: RIFIUTA_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'times',\r\n label: \"RIFIUTA\",\r\n buttonClass: 'danger',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Rifiuta',\r\n icon: 'times',\r\n buttonClass: 'danger',\r\n tooltip: true\r\n }]\r\n };\r\n case 7:\r\n return {\r\n icon: 'times',\r\n title: \"Rifiutato dal Ministero\",\r\n class: 'danger'\r\n };\r\n case 8:\r\n return {\r\n icon: 'check',\r\n title: \"Attivo non visibile\",\r\n class: 'default',\r\n actions: [\r\n {\r\n id: caso.idCasoduso + '-estendi',\r\n onClick: () => handleAction(\r\n {\r\n name: 'ESTENDI',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: estendiInitialValues,\r\n validationSchema: estendiValidationSchema,\r\n onsubmit: {\r\n func: ESTENDI_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'expand',\r\n label: \"ESTENDI A TUTTI GLI ENTI\",\r\n buttonClass: 'success',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Estendi a tutti gli enti',\r\n icon: 'expand',\r\n buttonClass: 'primary',\r\n tooltip: true\r\n },\r\n {\r\n id: caso.idCasoduso + '-disabilita',\r\n onClick: () => handleAction(\r\n {\r\n name: 'DISABILITA',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: disabilitaInitialValues,\r\n validationSchema: disabilitaValidationSchema,\r\n onsubmit: {\r\n func: DISABILITA_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'ban',\r\n label: \"DISABILITA\",\r\n buttonClass: 'danger',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Disabilita',\r\n icon: 'ban',\r\n buttonClass: 'danger',\r\n },\r\n ]\r\n };\r\n case 9:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: \"Disabilitato dal Ministero\",\r\n class: 'warning',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: caso.idCasoduso + '-abilita',\r\n onClick: () => handleAction(\r\n {\r\n name: 'ABILITA',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: abilitaInitialValues,\r\n validationSchema: abilitaValidationSchema,\r\n onsubmit: {\r\n func: ABILITA_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'check',\r\n label: \"ABILITA\",\r\n buttonClass: 'success',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Abilita',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n ]\r\n };\r\n\r\n case 10:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: \"Disabilitato per la normativa\",\r\n class: 'warning',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: caso.idCasoduso + '-abilita',\r\n onClick: () => handleAction(\r\n {\r\n name: 'ABILITA',\r\n title: caso.descrizioneCasoduso,\r\n body: ,\r\n form: {\r\n initialValues: abilitaInitialValues,\r\n validationSchema: abilitaValidationSchema,\r\n onsubmit: {\r\n func: ABILITA_CASO_USO,\r\n payload: caso.idCasoduso\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n icon: 'trash',\r\n label: \"ANNULLA\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n icon: 'check',\r\n label: \"ABILITA\",\r\n buttonClass: 'success',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n ),\r\n value: 'Abilita',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n ]\r\n };\r\n case 11:\r\n return {\r\n icon: 'share',\r\n title: \"Rinviato al garante della privacy - utilizzabile solo dal richiedente\",\r\n class: 'warning',\r\n };\r\n case 12:\r\n return {\r\n icon: 'share',\r\n title: \"Rinviato al garante della privacy - non utilizzabile\",\r\n class: 'dark',\r\n };\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const getCasiUsoTableRows = (casiuso, decodifiche, callbacks, utenza, get_regioni_all) => {\r\n\r\n return (\r\n casiuso.map((casouso, index) => {\r\n let cells = [];\r\n let statoActionsCasoUso = getStatoActionsCasoUso(casouso, callbacks, utenza, decodifiche, get_regioni_all);\r\n !statoActionsCasoUso && console.log(casouso)\r\n cells.push(\r\n {\r\n tag: 'th',\r\n value: casouso.descrizioneCasoduso,\r\n truncate: true,\r\n classes: 'link ',\r\n style: {\r\n maxWidth: '25rem'\r\n },\r\n datath: \"Titolo\",\r\n onClick: () => callbacks.setModalOpen(`modal-caso-uso-${index + 1}`, casouso.idCasoduso)\r\n },\r\n {\r\n value: casouso.descCluster,\r\n datath: \"Gruppo\",\r\n },\r\n {\r\n value: casouso.codiceCasoDuso,\r\n datath: \"Codice\",\r\n },\r\n {\r\n value: casouso.finalitaCasoduso,\r\n datath: \"finalitaTrattamento\",\r\n style: {\r\n maxWidth: '25rem'\r\n },\r\n },\r\n {\r\n tag: '',\r\n value: <>\r\n
    \r\n \r\n {statoActionsCasoUso.title.toLocaleUpperCase()}\r\n
    \r\n {\r\n (statoActionsCasoUso.title === \"Rifiutato dal Ministero\") &&\r\n callbacks.setRejectedModalOpen(`modal-caso-uso-rifiutato-${casouso.idCasoduso}`, casouso.idCasoduso)}\r\n />\r\n }\r\n ,\r\n datath: \"Stato\",\r\n classes: `text-center`,\r\n style: {\r\n minWidth: '7rem'\r\n },\r\n }\r\n );\r\n\r\n if (\r\n (utenza === 'ministero') ||\r\n (utenza === 'responsabile-amministrazione')) {\r\n cells.push(\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n classes: 'text-right',\r\n style: {\r\n minWidth: '10rem'\r\n },\r\n dropdown: statoActionsCasoUso.actions &&\r\n statoActionsCasoUso.actions.length ? {\r\n items: statoActionsCasoUso.actions,\r\n id: 'azioni-' + index,\r\n label: 'Azioni',\r\n srLabel: `Azioni caso d'uso ${casouso.descrizioneCasoduso}`\r\n } : false\r\n }\r\n );\r\n }\r\n return {\r\n id: 'row-' + casouso.idCasoduso,\r\n cells: cells\r\n };\r\n })\r\n );\r\n};","import * as yup from 'yup';\r\nimport { getIdDecodificaByVariabile } from '../../../../../common/decodifiche';\r\nimport Select from '../../../../../ui/select';\r\n\r\n\r\nexport const casiUsoFiltersFormFields = (casi, clusters, normative, decodifiche, utenza) => {\r\n const findCodes = (acc, curr) => {\r\n if (!acc.find(el => el.value === curr.codiceCasoDuso)) {\r\n return acc.concat({\r\n label: curr.codiceCasoDuso,\r\n value: curr.codiceCasoDuso\r\n });\r\n } else return acc;\r\n };\r\n let codici = casi ? casi.reduce(findCodes, []) : [];\r\n\r\n let optionListByUtenza = () => {\r\n let arr = []\r\n decodifiche.forEach(el => {\r\n if (el.key === '0' ||\r\n el.key === '7' ||\r\n el.key === '9' ||\r\n el.key === '6' ||\r\n (el.key === \"2\" &&\r\n ((utenza === 'responsabile-amministrazione') || (utenza === 'responsabile-servizio'))) ||\r\n (utenza === 'ministero' &&\r\n ((el.key === '3') || (el.variabile === '5'))\r\n ) ||\r\n (el.key === '8' &&\r\n ((utenza === 'ministero') || (utenza === 'garante'))\r\n )\r\n ) {\r\n arr.push({\r\n value: parseInt(el.key, 10),\r\n label: el.variabile === '9' ? 'DISABILITATO' : el.traduzionetrasl\r\n });\r\n }\r\n });\r\n\r\n return arr;\r\n };\r\n\r\n return ([\r\n {\r\n id: 'gruppo',\r\n tag: Select,\r\n type: 'text',\r\n name: 'gruppo',\r\n filterpath: ['idCluster'],\r\n label: 'Gruppo',\r\n optionlist: clusters ? clusters.map(el => (\r\n {\r\n value: el.id,\r\n label: el.descrizione,\r\n }\r\n )) : [],\r\n sort: true\r\n },\r\n {\r\n id: 'codiceCasoDuso',\r\n tag: Select,\r\n type: 'text',\r\n name: 'codiceCasoDuso',\r\n label: 'Codice',\r\n optionlist: codici,\r\n sort: true\r\n },\r\n {\r\n id: 'idStato',\r\n tag: Select,\r\n type: 'text',\r\n name: 'idStato',\r\n label: 'Stato',\r\n optionlist: optionListByUtenza(),\r\n },\r\n {\r\n id: 'normative',\r\n tag: Select,\r\n type: 'text',\r\n name: 'normative',\r\n label: 'Normativa',\r\n filterpath: ['idNormative'],\r\n findinarray: true,\r\n optionlist: normative ? normative.map(el => (\r\n {\r\n value: el.id,\r\n label: el.titolo,\r\n }\r\n )) : [],\r\n sort: true\r\n }\r\n ]);\r\n};\r\n\r\nexport const casiUsoFiltersInitialValues = (decodifiche) => {\r\n let attivoKey = getIdDecodificaByVariabile(\r\n \"ATTIVO\",\r\n decodifiche\r\n );\r\n let attivoDecodifica = decodifiche.find(el => parseInt(el.key, 10) === attivoKey);\r\n return {\r\n idStato: parseInt(attivoDecodifica.key, 10),\r\n }\r\n};\r\n\r\nexport const casiUsoFiltersValidationSchema = yup.object().shape({\r\n idStato: yup.string().nullable(),\r\n});\r\n","import React, { Fragment } from \"react\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\nimport Form from \"../../../formik\";\r\nimport IconButton from \"../../../ui/icon-button\";\r\n\r\nconst FiltersComponent = ({\r\n initialValues,\r\n validationSchema,\r\n getFilters,\r\n formFields\r\n}) => {\r\n \r\n function getInitialValues() {\r\n let init = {};\r\n initialValues.forEach(el => {\r\n init[el.id] = el.value;\r\n });\r\n return init;\r\n };\r\n\r\n return (\r\n \r\n {\r\n let filtersArr = [];\r\n for (let key in values) {\r\n if (!isNullOrUndefined(values[key], typeof values[key] === 'string')) {\r\n filtersArr.push({ id: key, value: values[key] });\r\n }\r\n };\r\n getFilters(filtersArr);\r\n }}\r\n initialValues={getInitialValues()}\r\n validationSchema={validationSchema}\r\n >\r\n {({\r\n isValid,\r\n setFieldValue,\r\n values,\r\n errors,\r\n touched,\r\n handleBlur,\r\n errorMessage,\r\n }) => (\r\n \r\n
    \r\n {formFields.map((field, index) => {\r\n let FieldTag = field.tag;\r\n return (\r\n 3 ? '3' : '4'}`}>\r\n el.value === values[field.id])\r\n : values[field.id] || ''}\r\n getValue={value => setFieldValue(\r\n field.id,\r\n field.optionlist && value\r\n ? value.value\r\n : field.type === 'number' && !!value\r\n ? parseInt(value, 10)\r\n : value\r\n )}\r\n onBlur={handleBlur}\r\n optionlist={field.optionlist}\r\n type={field.type || null}\r\n error={errors[field.id] && touched[field.id] ? errors[field.id] : null}\r\n dateformat={field.dateformat || null}\r\n min={field.min}\r\n max={field.max}\r\n sort={field.sort}\r\n />\r\n
    \r\n )\r\n })}\r\n \r\n {errorMessage}\r\n \r\n
    \r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FiltersComponent;","import React, { Fragment, useState, useEffect } from \"react\";\r\nimport Accordion from \"../../../ui/accordion\";\r\nimport Chip from \"../../../ui/chip\";\r\nimport FiltersComponent from \"./FiltersComponent\";\r\nimport moment from \"moment\";\r\nimport Row from \"../../../ui/row\";\r\nimport Icon from \"../../../ui/icon\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nconst SezioneFiltri = ({\r\n id = '',\r\n defaultAppliedFilters = [],\r\n getFilters = () => null,\r\n arrayToFilter,\r\n validationSchema,\r\n formFields = [],\r\n disabled,\r\n}) => {\r\n const [filtriOpen, setFiltriOpen] = useState(false);\r\n const [appliedFilters, setAppliedFilters] = useState(defaultAppliedFilters);\r\n\r\n useEffect(() => {\r\n if (defaultAppliedFilters && defaultAppliedFilters.length && (appliedFilters !== defaultAppliedFilters)) {\r\n setAppliedFilters(appliedFilters);\r\n }\r\n }, [defaultAppliedFilters]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n applyFilters(appliedFilters);\r\n }, [appliedFilters]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const applyFilters = filters => {\r\n let filteredArray;\r\n\r\n /** Reducer callback */\r\n function filterArray(arrToFilter, filterCheck) {\r\n\r\n let filterObject = formFields.find(el => el.id === filterCheck.id),\r\n filterPath = filterObject.filterpath,\r\n filterCompareStrings = filterObject.comparestrings,\r\n filterRange = filterObject.range,\r\n newFilteredArr = arrToFilter.slice();\r\n\r\n function handleNestedKeys(filterPath, element) {\r\n return filterPath.reduce((el1, el2) => {\r\n return el1[el2];\r\n }, element);\r\n };\r\n\r\n function handleDateFilters() {\r\n /** Gestione filtri date */\r\n if (moment(filterCheck.value).isValid() && !filterCheck.value.label) {\r\n if (filterRange) {\r\n switch (filterRange) {\r\n case 1:\r\n return arrToFilter.filter(el => moment(filterCheck.value)\r\n .isSameOrBefore(new Date(el[filterCheck.id.split('-')[0]]), 'day'));\r\n case 2:\r\n return arrToFilter.filter(el => moment(filterCheck.value)\r\n .isSameOrAfter(new Date(el[filterCheck.id.split('-')[0]]), 'day'));\r\n default:\r\n return;\r\n }\r\n } else return arrToFilter.filter(el => moment(filterCheck.value).isSame(new Date(el[filterCheck.id]), 'day'));\r\n } else return arrToFilter;\r\n };\r\n\r\n if (!isNullOrUndefined(filterCheck.value)) {\r\n if (typeof filterCheck.value === 'object') {\r\n newFilteredArr = handleDateFilters()\r\n } else {\r\n newFilteredArr = arrToFilter.filter(el => {\r\n let elementToCompare = filterPath\r\n ? handleNestedKeys(filterPath, el)\r\n : el[filterCheck.id];\r\n if (filterCompareStrings) {\r\n return elementToCompare.toLocaleLowerCase().includes(filterCheck.value.toLocaleLowerCase());\r\n } else if(filterObject.findinarray) {\r\n return !!handleNestedKeys(filterPath, el).find(x => x === filterCheck.value);\r\n } else return elementToCompare === filterCheck.value;\r\n });\r\n }\r\n }\r\n return newFilteredArr;\r\n };\r\n\r\n if (arrayToFilter\r\n && filters.length\r\n && filters.some(el => !isNullOrUndefined(el.value))\r\n ) {\r\n filteredArray = filters.reduce(filterArray, arrayToFilter);\r\n }\r\n getFilters(filteredArray);\r\n };\r\n\r\n const removeFilter = (filterId) => {\r\n let newFiltersArray = appliedFilters.slice().filter(filter => filter.id !== filterId);\r\n setAppliedFilters(newFiltersArray);\r\n };\r\n\r\n return (\r\n \r\n setFiltriOpen(!filtriOpen)}\r\n summary={() => \r\n Filtri di ricerca\r\n \r\n }\r\n details={FiltersComponent}\r\n detailsProps={\r\n { \r\n getFilters: setAppliedFilters, \r\n initialValues: appliedFilters, \r\n validationSchema, \r\n formFields \r\n }}\r\n extraClasses=\"w-100\"\r\n />\r\n {appliedFilters.length ?\r\n appliedFilters.map((filter, index) => (\r\n el.id === filter.id).label}\r\n callback={() => removeFilter(filter.id)}\r\n chipIcon=\"filter\"\r\n functionIconTitle=\"Rimuovi\"\r\n functionIconSRLabel={`Rimuovi filtro per ${formFields.find(el => el.id === filter.id).label}`}\r\n functionIcon=\"times\"\r\n extraClasses=\"mb-3 mr-2\"\r\n disabled={disabled}\r\n />\r\n ))\r\n : null}\r\n \r\n );\r\n};\r\nexport default SezioneFiltri;","import React from 'react';\r\n\r\nconst AccordionList = ({className = '', id, contentList}) => {\r\n let accordionItems = [];\r\n\r\n if (!contentList || !contentList.lenght) {\r\n contentList.forEach((dataItem, index) => {\r\n let itemId = id + '-item-' + index;\r\n accordionItems.push(\r\n
    \r\n
    \r\n \r\n \r\n {dataItem.title}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {dataItem.body}\r\n
    \r\n
    \r\n
    \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {accordionItems}\r\n
    \r\n );\r\n};\r\n\r\nexport default AccordionList;","import moment from 'moment';\r\nimport React from 'react';\r\nimport { STRINGS } from '../../../../../../../constants/strings';\r\nimport AccordionList from '../../../../../../ui/accordion-list';\r\n\r\nconst AccordionNormative = ({\r\n id,\r\n data,\r\n className,\r\n titleClassName\r\n}) => {\r\n // console.log(\"[AccordionNormative] data=%o\", data);\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n // Create view items\r\n let viewItems = data.map(normativa => {\r\n let body = (\r\n <>\r\n
    \r\n
    \r\n Numero:\r\n {normativa.numeroatto ?? STRINGS.NO_VALUE}\r\n
    \r\n
    \r\n Data:\r\n {normativa.dataatto ? moment(normativa.dataatto).format(\"DD/MM/YYYY\") : STRINGS.NO_VALUE}\r\n
    \r\n
    \r\n Articolo:\r\n {normativa.articolo ? (normativa.articolo + ' ' + (normativa.articolosuffisso ?? '')).trim() : STRINGS.NO_VALUE}\r\n
    \r\n
    \r\n Link:\r\n {normativa.url ? Normativa: STRINGS.NO_VALUE}\r\n
    \r\n
    \r\n

    {normativa.testo}

    \r\n \r\n );\r\n return {\r\n title: {normativa.titolo},\r\n body: body\r\n }\r\n });\r\n\r\n return ;\r\n};\r\n\r\nexport default AccordionNormative;","import React, {Fragment, useEffect} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {getDettaglioCasoUsoById} from \"../../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport Spinner from \"../../../../ui/spinner\";\r\nimport Message from \"../../../../ui/messages\";\r\nimport AccordionList from \"../../../../ui/accordion-list\";\r\nimport DetailsTable from \"../../../../ui/details-table\";\r\nimport AccordionNormative from \"../../gestione-normative/visualizza-normative/_partials/accordion-normative\";\r\n\r\nconst DettaglioCasoUso = ({\r\n casoId,\r\n getDettaglioCasoUsoById,\r\n get_dettaglio_caso_uso_by_id\r\n }) => {\r\n\r\n useEffect(() => {\r\n if (!get_dettaglio_caso_uso_by_id.isLoading &&\r\n (!get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id ||\r\n (get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id &&\r\n (get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0].id !== casoId))\r\n )) {\r\n getDettaglioCasoUsoById(casoId)\r\n }\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const displayElencoElementoDati = elencoElementoDati => {\r\n if (elencoElementoDati) {\r\n if (elencoElementoDati.length > 0) {\r\n let dati = elencoElementoDati.map((dato, index) => {\r\n return (\r\n
  • \r\n {dato.note}\r\n
  • \r\n );\r\n });\r\n return
      {dati}
    ;\r\n }\r\n return

    Nessun dato disponibile.

    ;\r\n }\r\n return

    Nessun dato disponibile.

    ;\r\n };\r\n \r\n const displayGruppoDati = (casoUso) => {\r\n if (!casoUso.elencogruppodati || !casoUso.elencogruppodati.length) {\r\n return;\r\n }\r\n let viewItems = casoUso.elencogruppodati.map(dataItem => {\r\n return {\r\n title: {dataItem.descrizione},\r\n body: displayElencoElementoDati(dataItem.elencoElementoDati)\r\n }\r\n });\r\n return ;\r\n }\r\n\r\n // Build details view\r\n const createTableDetails = (casoUso) => {\r\n if (!casoUso) {\r\n return;\r\n }\r\n let result = [];\r\n if (casoUso.codice) {\r\n result.push({label: \"Codice\", value: casoUso.codice});\r\n }\r\n if (casoUso.cluster) {\r\n result.push({label: \"Gruppo\", value: casoUso.cluster.descrizione});\r\n }\r\n if (casoUso.finalita) {\r\n result.push({label: \"Descrizione\", value: casoUso.finalita});\r\n }\r\n if (casoUso.lda) {\r\n result.push({label: \"Livello di autenticazione\", value: casoUso.lda});\r\n }\r\n if (casoUso.note) {\r\n result.push({label: \"Note\", value: casoUso.note});\r\n }\r\n if (casoUso.noteApprovazioneRifiuto && [0, 7].includes(casoUso.idstato)) {\r\n let label = casoUso.idstato === 7 ? \"Motivo del rifiuto\" : \"Note di approvazione\";\r\n result.push({label: label, value: casoUso.noteApprovazioneRifiuto});\r\n }\r\n return result;\r\n }\r\n\r\n // Return view\r\n if (get_dettaglio_caso_uso_by_id.isLoading || get_dettaglio_caso_uso_by_id.pristine) {\r\n return \r\n }\r\n if (get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id &&\r\n get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id.length &&\r\n get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0].no_content\r\n ) {\r\n return \r\n }\r\n if (get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id && get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id.length && get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0]) {\r\n return (\r\n \r\n

    Dettaglio caso d'uso

    \r\n \r\n\r\n

    Gruppi di dati

    \r\n {displayGruppoDati(get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0])}\r\n\r\n { \r\n get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0].normative && get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0].normative.length &&\r\n \r\n

    Normative

    \r\n \r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n return null;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n get_dettaglio_caso_uso_by_id: state.gestione_accordi.get_dettaglio_caso_uso_by_id,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getDettaglioCasoUsoById: (idCasoUso) => dispatch(getDettaglioCasoUsoById(idCasoUso)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettaglioCasoUso);\r\n","import React, { Fragment } from 'react';\r\nimport { STRINGS } from '../../../../../../../constants/strings';\r\nimport { Typography } from '../../../../../../ui';\r\nimport Row from '../../../../../../ui/row';\r\n\r\n\r\nconst ModaleMotivoRifiutoBody = ({ casouso }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModaleMotivoRifiutoBody;","import axios from \"axios\";\r\nimport {\r\n getNormativeAllIsLoading,\r\n getNormativeAllSuccess,\r\n getNormativeAllError\r\n} from \"./get-normative-all-actions\";\r\nimport {\r\n deleteNormativeByIdIsLoading,\r\n deleteNormativeByIdSuccess,\r\n deleteNormativeByIdError\r\n} from \"./delete-normativa-by-id-actions\";\r\nimport {\r\n updateNormativaByIdIsLoading,\r\n updateNormativaByIdSuccess,\r\n updateNormativaByIdError\r\n} from \"./update-normativa-by-id-actions\";\r\nimport {\r\n insertNormativaIsLoading,\r\n insertNormativaSuccess,\r\n insertNormativaError\r\n} from \"./insert-normativa-actions\";\r\nimport {\r\n getNormativeByIdTipologiaEnteIsLoading,\r\n getNormativeByIdTipologiaEnteSuccess,\r\n getNormativeByIdTipologiaEnteError,\r\n resetNormativeByIdTipologiaEnteIsLoading,\r\n resetNormativeByIdTipologiaEnteSuccess\r\n} from \"./get-normative-by-id-tipologia-ente-actions\";\r\nimport { appMessagesConfig } from \"../utils-actions\";\r\nimport * as qs from \"querystring\";\r\nimport { getNormativeByStatiError, getNormativeByStatiIsLoading, getNormativeByStatiSuccess } from \"./get-normative-by-stati-actions\";\r\n\r\nexport const getNormativeAll = (idstato = []) => dispatch => {\r\n dispatch(getNormativeAllIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afnormativa`,{params: {idstato: idstato},paramsSerializer: params => {return qs.stringify(params)}})\r\n .then(res => {\r\n dispatch(getNormativeAllSuccess(res.data));\r\n })\r\n .catch(error => {\r\n dispatch(getNormativeAllError(error));\r\n })\r\n};\r\n\r\nexport const getNormativeByIdTipologiaEnte = (idTipologiaEnte) => dispatch => {\r\n dispatch(getNormativeByIdTipologiaEnteIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afnormativa/load/idtipologiaente/${idTipologiaEnte}`)\r\n .then(res => {\r\n dispatch(getNormativeByIdTipologiaEnteSuccess(res.data));\r\n })\r\n .catch(error => {\r\n dispatch(getNormativeByIdTipologiaEnteError(error));\r\n })\r\n};\r\n\r\nexport const getNormativeByStati = stati => dispatch => {\r\n dispatch(getNormativeByStatiIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afnormativa?${stati.map((st, i) => `stato=${st}${!!stati[i + 1] ? '&' : ''}`).join('')}`)\r\n .then(\r\n Normativeall => {\r\n dispatch(getNormativeByStatiSuccess(Normativeall.data));\r\n })\r\n .catch(err => {\r\n let errorMsg = err.response && err.response.data ? err.response.data.message : 'Si è verificato un errore.';\r\n dispatch(getNormativeByStatiError(errorMsg));\r\n });\r\n};\r\n\r\nexport const resetNormativeByIdTipologiaEnte = () => dispatch => {\r\n dispatch(resetNormativeByIdTipologiaEnteIsLoading());\r\n dispatch(resetNormativeByIdTipologiaEnteSuccess());\r\n};\r\n\r\n/*export const getNormativeByClasseEnte = (classeEnte) => dispatch => {\r\n dispatch(getNormativeByClasseEnteIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/afnormativa/load/idclasseente/${classeEnte}`)\r\n .then(res => {\r\n dispatch(getNormativeByClasseEnteSuccess(res.data));\r\n })\r\n .catch(error => {\r\n dispatch(getNormativeByClasseEnteError(error));\r\n })\r\n};*/\r\n\r\nexport const deleteNormativaById = (id, deleting) => dispatch => {\r\n dispatch(deleteNormativeByIdIsLoading(deleting));\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afnormativa/${id}/elimina`)\r\n .then(res => {\r\n dispatch(deleteNormativeByIdSuccess(id));\r\n dispatch(getNormativeAll());\r\n dispatch(appMessagesConfig({ name: \"Normativa\", des: \"a\", prep: \"della \", action: \"DELETE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(deleteNormativeByIdError(error));\r\n dispatch(appMessagesConfig({ name: \"Normativa\", des: \"a\", prep: \"della \", action: \"DELETE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const updateNormativaById = (id, bodyRequest) => dispatch => {\r\n dispatch(updateNormativaByIdIsLoading(id));\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afnormativa/${id}`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateNormativaByIdSuccess(id));\r\n dispatch(getNormativeAll());\r\n dispatch(appMessagesConfig({ name: \"Normativa\", des: \"a\", prep: \"della \", action: \"UPDATE\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(updateNormativaByIdError(error));\r\n dispatch(appMessagesConfig({ name: \"Normativa\", des: \"a\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const insertNormativa = (bodyRequest) => dispatch => {\r\n dispatch(insertNormativaIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afnormativa`, bodyRequest)\r\n .then(res => {\r\n dispatch(insertNormativaSuccess(res.data.id));\r\n dispatch(getNormativeAll());\r\n dispatch(appMessagesConfig({ name: \"Normativa\", des: \"a\", prep: \"della \", action: \"INSERT\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(insertNormativaError(error));\r\n dispatch(appMessagesConfig({ name: \"Normativa\", des: \"a\", prep: \"della \", action: \"INSERT\", type: \"danger\", error }));\r\n })\r\n};","import React, { useEffect, useState, Fragment, useMemo, useContext } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getCasiUsoTableRows, catalogoCasiUsoTableHeaders } from './utils/casiUsoTableData';\r\nimport { casiUsoFiltersInitialValues, casiUsoFiltersValidationSchema, casiUsoFiltersFormFields } from './utils/filtersFormData';\r\nimport { getCasiUsoAll, annullaCasoUsoById, attivaCasoUsoById, getClusterAttivi } from '../../../../../redux/actions/area-riservata/casi-uso-actions';\r\nimport { getIdDecodificaByVariabile } from '../../../../common/decodifiche';\r\nimport Modal from '../../../../ui/modal';\r\nimport PaginatedTable from '../../../../ui/paginated-table';\r\nimport SezioneFiltri from '../../sezione-filtri';\r\nimport { DettaglioCasoUso } from '../../tabella-casi-uso-associati/_partials';\r\nimport Spinner from '../../../../ui/spinner';\r\nimport { NavLink, Redirect } from 'react-router-dom';\r\nimport IconButton from '../../../../ui/icon-button';\r\nimport ScrollTopButton from '../../../../ui/scroll-top-button';\r\nimport { getDettaglioCasoUsoById } from '../../../../../redux/actions/area-riservata/accordi-actions';\r\nimport { modaleConfermaConfig } from '../../../../../redux/actions/area-riservata/utils-actions';\r\nimport ModaleMotivoRifiutoBody from './utils/_partials/ModaleMotivoRifiutoBody';\r\nimport { getNormativeAll } from '../../../../../redux/actions/area-riservata/normative-actions';\r\nimport { DecodificheContext } from '../../../../../contexts';\r\nimport { getRegioniAll } from '../../../../../redux/actions/area-riservata/constants-actions';\r\n\r\nconst CatalogoCasiUso = props => {\r\n const {\r\n match: { params },\r\n get_casi_uso_all,\r\n isLoading,\r\n active_clusters,\r\n filtro_normative,\r\n getClusterAttivi,\r\n getCasiUsoAll,\r\n getFiltroNormative,\r\n getDettaglioCasoUsoById,\r\n get_regioni_all,\r\n getRegioniAll,\r\n decodificheStatiCasoUso,\r\n modaleConfermaConfig,\r\n annullaCasoUsoById,\r\n attivaCasoUsoById,\r\n insert_caso_uso,\r\n update_caso_uso_by_id,\r\n cancel_caso_uso_by_id\r\n } = props;\r\n\r\n const { decodifiche } = useContext(DecodificheContext);\r\n\r\n useEffect(() => {\r\n if (!get_regioni_all.isLoading) {\r\n getRegioniAll();\r\n }\r\n }, []); //eslint-disable-line\r\n\r\n const handleAction = modaleconferma => {\r\n modaleConfermaConfig({\r\n id: `${modaleconferma.name}-caso-uso`,\r\n open: true,\r\n footer: {\r\n actions: modaleconferma.actions\r\n },\r\n ...modaleconferma\r\n });\r\n };\r\n\r\n const getTableRows = (arr) => {\r\n return getCasiUsoTableRows(\r\n arr,\r\n decodifiche,\r\n {\r\n setModalOpen: (modalId, id) => setModalOpen({\r\n modalId: modalId,\r\n casoId: id\r\n }),\r\n setRejectedModalOpen: (modalId, id) => setRejectedModalOpen({\r\n modalId: modalId,\r\n casoId: id\r\n }),\r\n modificaCasoUso: id => {\r\n getDettaglioCasoUsoById(id);\r\n setEdit(id);\r\n },\r\n annullaCasoUso: id => annullaCasoUsoById(id),\r\n attivaCasoUso: id => attivaCasoUsoById(id),\r\n handleAction,\r\n },\r\n params.utenza,\r\n get_regioni_all\r\n );\r\n };\r\n\r\n let casiAttivi = useMemo(() => get_casi_uso_all.casi_uso\r\n && get_casi_uso_all.casi_uso.filter(el => el.idStato === getIdDecodificaByVariabile(\r\n \"ATTIVO\",\r\n decodificheStatiCasoUso\r\n )), [get_casi_uso_all.casi_uso]); // eslint-disable-line react-hooks/exhaustive-deps\r\n let trAttivi = useMemo(() => casiAttivi\r\n && getTableRows(casiAttivi), [casiAttivi]); // eslint-disable-line react-hooks/exhaustive-deps\r\n let trInit = useMemo(() => get_casi_uso_all.casi_uso\r\n && getTableRows(get_casi_uso_all.casi_uso), [get_casi_uso_all.casi_uso]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const [tableRows, setTableRows] = useState(trAttivi);\r\n const [tableRowsInit, setTableRowsInit] = useState(trInit);\r\n const [modalOpen, setModalOpen] = useState();\r\n const [rejectedModalOpen, setRejectedModalOpen] = useState();\r\n const [edit, setEdit] = useState();\r\n const [filteredCasiUso, setFilteredCasiUso] = useState();\r\n\r\n useEffect(() => {\r\n if (!active_clusters && !isLoading) {\r\n getClusterAttivi();\r\n }\r\n if (!filtro_normative && !isLoading) {\r\n getFiltroNormative();\r\n }\r\n if (!get_casi_uso_all.casi_uso && !isLoading) {\r\n getCasiUsoAll(decodificheStatiCasoUso);\r\n } else if (get_casi_uso_all.casi_uso) {\r\n setFilteredCasiUso(casiAttivi);\r\n setTableRowsInit(trInit);\r\n setTableRows(trAttivi);\r\n }\r\n }, [trInit, trAttivi]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const generateModals = (array) => array ? array.map((el, index) => {\r\n if (modalOpen && (modalOpen.modalId === `modal-caso-uso-${index + 1}`)) {\r\n return (\r\n setModalOpen(undefined)}\r\n title={el.descrizioneCasoduso}\r\n body={}\r\n closeButton\r\n />\r\n )\r\n } else return null;\r\n }) : null;\r\n\r\n const generateRejectedModals = (array) => array ? array.map((el) => {\r\n if (rejectedModalOpen && (rejectedModalOpen.modalId === `modal-caso-uso-rifiutato-${el.idCasoduso}`)) {\r\n return (\r\n setRejectedModalOpen(undefined)}\r\n title={el.descrizioneCasoduso}\r\n body={}\r\n />\r\n )\r\n } else return null;\r\n }) : null;\r\n\r\n return (\r\n \r\n {edit &&\r\n \r\n }\r\n \r\n
    \r\n

    Catalogo dei casi d'uso

    \r\n
    \r\n {((params.utenza === 'ministero') ||\r\n (params.utenza === 'responsabile-amministrazione')) && !isLoading &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n {(isLoading ||\r\n (cancel_caso_uso_by_id && cancel_caso_uso_by_id.isLoading)) &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n \r\n {!isLoading &&\r\n {\r\n setFilteredCasiUso(filteredArray);\r\n setTableRows(filteredArray ? getTableRows(filteredArray) : tableRowsInit);\r\n }}\r\n disabled={!tableRows}\r\n />\r\n }\r\n {tableRows &&\r\n \r\n }\r\n \r\n\r\n {generateModals(filteredCasiUso || get_casi_uso_all.casi_uso)}\r\n {generateRejectedModals(get_casi_uso_all.casi_uso && get_casi_uso_all.casi_uso.filter(el => el.idStato === 7))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n get_casi_uso_all: store.gestione_casi_uso.get_casi_uso_all,\r\n get_regioni_all: store.constants.get_regioni_all,\r\n filtro_normative: store.gestione_normative.get_normative_all.normative,\r\n isLoading: store.gestione_casi_uso.get_casi_uso_all.isLoading ||\r\n store.gestione_casi_uso.get_active_clusters.isLoading,\r\n active_clusters: store.gestione_casi_uso.get_active_clusters.active_clusters,\r\n insert_caso_uso: store.gestione_casi_uso.insert_caso_uso,\r\n update_caso_uso_by_id: store.gestione_casi_uso.update_caso_uso_by_id,\r\n cancel_caso_uso_by_id: store.gestione_casi_uso.cancel_caso_uso_by_id,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCasiUsoAll: (decodificheStatiCasoUso) => dispatch(getCasiUsoAll(decodificheStatiCasoUso)),\r\n getClusterAttivi: () => dispatch(getClusterAttivi()),\r\n getDettaglioCasoUsoById: (idCasoUso) => dispatch(getDettaglioCasoUsoById(idCasoUso)),\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n annullaCasoUsoById: id => dispatch(annullaCasoUsoById(id)),\r\n attivaCasoUsoById: id => dispatch(attivaCasoUsoById(id)),\r\n getFiltroNormative: (idStato) => dispatch(getNormativeAll(idStato)),\r\n getRegioniAll: () => dispatch(getRegioniAll()),\r\n\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(CatalogoCasiUso);\r\n","import React from 'react';\r\nimport * as yup from 'yup';\r\nimport Select from '../../../../../../ui/select';\r\nimport TextArea from '../../../../../../ui/text-area';\r\nimport Input from '../../../../../../ui/input';\r\nimport DatePicker from '../../../../../../ui/date-picker';\r\nimport { Fragment } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport MultiSelect from '../../../../../../ui/multiselect';\r\n\r\nexport const getFormFields = (formFields, utenza) => {\r\n let fields = [\r\n {\r\n id: 'cluster',\r\n tag: Select,\r\n optionlist: formFields.clusters,\r\n name: 'Gruppo',\r\n label: 'Gruppo',\r\n required: true,\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n },\r\n {\r\n id: 'finalita',\r\n tag: Input,\r\n type: 'text',\r\n name: 'descrizione',\r\n label: 'Descrizione',\r\n required: true,\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n },\r\n {\r\n id: 'denominazione',\r\n tag: Input,\r\n type: 'text',\r\n name: 'denominazione',\r\n label: 'Denominazione',\r\n required: true,\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n },\r\n {\r\n id: 'datainiziovalidita',\r\n tag: DatePicker,\r\n name: \"Data inizio validità\",\r\n label: \"Data inizio validità\",\r\n dateformat: \"dd/MM/yyyy\",\r\n required: true,\r\n disabled: (stato, utenza) => true\r\n },\r\n {\r\n id: 'note',\r\n tag: TextArea,\r\n rows: 3,\r\n name: 'Note',\r\n label: 'Note',\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n },\r\n {\r\n id: 'lda',\r\n tag: Select,\r\n optionlist: formFields.lda,\r\n name: 'LDA',\r\n label: 'Livello di autenticazione',\r\n required: true,\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n },\r\n {\r\n id: 'gruppidato',\r\n tag: MultiSelect,\r\n valuetype: 'number',\r\n optionlist: formFields.gruppi_dato.map(el => (\r\n {\r\n ...el,\r\n fixed: el.value === 2\r\n }\r\n )),\r\n name: 'Gruppi dato',\r\n label: 'Gruppi dato',\r\n required: true,\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n },\r\n {\r\n id: 'normative',\r\n tag: MultiSelect,\r\n valuetype: 'number',\r\n optionlist: formFields.normative,\r\n name: 'Normative',\r\n label: 'Normative',\r\n extralabel: utenza === 'ministero' ? \r\n Se una delle normative desiderate non è presente in elenco, è possibile inserirla nella sezione \r\n \r\n gestione normative\r\n \r\n \r\n .\r\n \r\n : null,\r\n required: true,\r\n disabled: (stato, utenza) => (stato === 0) && (utenza === 'ministero')\r\n }\r\n ];\r\n if (formFields.categorie && utenza === 'ministero') {\r\n fields.splice(1, 0, {\r\n id: 'categorie',\r\n tag: MultiSelect,\r\n valuetype: 'number',\r\n optionlist: formFields.categorie,\r\n name: \"Categorie ente a cui associare il caso d'uso\",\r\n label: \"Categorie ente a cui associare il caso d'uso\",\r\n required: true,\r\n disabled: (stato, utenza) => false\r\n });\r\n }\r\n return fields;\r\n}\r\n\r\nexport const casoUsoFormInitialValues = (dbData, formFields) => {\r\n return {\r\n cluster: dbData && dbData.cluster ? { value: dbData.cluster.id, label: dbData.cluster.descrizione } : undefined,\r\n categorie: dbData && dbData.categorieEnte ? dbData.categorieEnte.map(el => el && el.id) : [],\r\n finalita: dbData && dbData.finalita ? dbData.finalita : '',\r\n denominazione: dbData && dbData.denominazione ? dbData.denominazione : '',\r\n datainiziovalidita: dbData && dbData.datainiziovalidita ? new Date(dbData.datainiziovalidita) : new Date(),\r\n note: dbData && dbData.note !== null ? dbData.note : '',\r\n lda: dbData && dbData.idlda && formFields ? formFields.lda.find(el => parseInt(el.value, 10) === parseInt(dbData.idlda, 10)) : undefined,\r\n gruppidato: dbData && dbData.elencogruppodati ? dbData.elencogruppodati.map(el => el && el.id) : [2],\r\n normative: dbData && dbData.normative ? dbData.normative.map(el => el && el.id) : [],\r\n };\r\n};\r\n\r\nexport const casoUsoFormValidationSchema = (utenza) => {\r\n\r\n let schema = yup.object().shape({\r\n cluster: yup.object()\r\n .required('Cluster: campo obbligatorio.'),\r\n finalita: yup.string().required('Descrizione: campo obbligatorio.')\r\n .max(4000, 'Descrizione: il campo non può superare 4000 caratteri.'),\r\n denominazione: yup.string().required('Denominazione: campo obbligatorio.')\r\n .max(4000, 'Denominazione: il campo non può superare 4000 caratteri.'),\r\n datainiziovalidita: yup.string()\r\n .nullable()\r\n .required(\"Data inizio validità: campo obbligatorio.\"),\r\n note: yup.string().nullable()\r\n .max(4000, 'Note: il campo non può superare 4000 caratteri.'),\r\n lda: yup.object()\r\n .required('Livello di autenticazione: campo obbligatorio.'),\r\n gruppidato: yup.array()\r\n .nullable()\r\n .required('Gruppi dato: campo obbligatorio.'),\r\n normative: yup.array()\r\n .nullable()\r\n .required('Normative: campo obbligatorio.'),\r\n });\r\n\r\n if (utenza === 'ministero') {\r\n let categorieObj = yup.object().shape({\r\n categorie: yup.array()\r\n .nullable()\r\n .required('Categorie: campo obbligatorio.'),\r\n });\r\n schema = schema.concat(categorieObj);\r\n }\r\n\r\n return schema;\r\n};","import React, { Fragment } from 'react';\r\nimport Form from '../../../../../formik';\r\nimport { casoUsoFormInitialValues, casoUsoFormValidationSchema } from './utils/casoUsoFormData';\r\nimport IconButton from '../../../../../ui/icon-button';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n\r\nconst FormCasoUso = ({\r\n formFields,\r\n formFieldsDB,\r\n caso,\r\n handleSubmit,\r\n disabledForm,\r\n utenza\r\n}) => {\r\n\r\n return (\r\n {\r\n handleSubmit(values)\r\n }}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n errorMessage,\r\n dirty\r\n }) => (\r\n \r\n {caso &&\r\n ((utenza === 'ministero'\r\n && ![0, 3].includes(caso.idstato))\r\n || ((utenza === 'responsabile-amministrazione'\r\n && ![2].includes(caso.idstato)))) &&\r\n \r\n }\r\n {formFields.map((field, index) => {\r\n let FieldTag = field.tag;\r\n return (\r\n setFieldValue(field.id, value)}\r\n optionlist={field.optionlist ? field.optionlist : null}\r\n type={field.type || null}\r\n error={errors[field.id]}\r\n dateformat={field.dateformat || null}\r\n min={field.min}\r\n max={field.max}\r\n rows={field.rows || null}\r\n required={field.required}\r\n valuetype={field.valuetype || null}\r\n wrapperClasses=\"w-100\"\r\n disabled={disabledForm || field.disabled(caso && caso.idstato, utenza)}\r\n />\r\n )\r\n })}\r\n {errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormCasoUso;","export const STATO_NORMATIVA = {\r\n ATTIVO: {\r\n id: 0,\r\n descrizione: \"ATTIVO\"\r\n },\r\n NON_ATTIVO: {\r\n id: 1,\r\n descrizione: \"NON ATTIVO\"\r\n },\r\n INSERITO: {\r\n id: 2,\r\n descrizione: \"INSERTIO\"\r\n },\r\n ANNULLATO: {\r\n id: 3,\r\n descrizione: \"ANNULLATO\"\r\n },\r\n CANCELLATO: {\r\n id: 4,\r\n descrizione: \"CANCELLATO\"\r\n }\r\n};","import React, { useEffect, Fragment, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getCasoUsoFormFields, inserisciCasoUso, aggiornaCasoUsoById } from '../../../../../redux/actions/area-riservata/casi-uso-actions';\r\nimport GoNavLink from '../../../../ui/go-nav-link';\r\nimport { FormCasoUso } from './_partials';\r\nimport { getFormFields } from './_partials/utils/casoUsoFormData';\r\nimport Spinner from '../../../../ui/spinner';\r\nimport { getDettaglioCasoUsoById } from '../../../../../redux/actions/area-riservata/accordi-actions';\r\nimport ScrollTopButton from '../../../../ui/scroll-top-button';\r\nimport { STATO_NORMATIVA } from '../../../../../constants/stati-normativa';\r\n\r\nconst NuovoCasoUso = props => {\r\n const {\r\n match: { params },\r\n getCasoUsoFormFields,\r\n get_caso_uso_form_fields,\r\n get_dettaglio_caso_uso_by_id,\r\n getDettaglioCasoUsoById,\r\n modifica,\r\n history,\r\n inserisciCasoUso,\r\n aggiornaCasoUsoById,\r\n insert_normativa,\r\n authentication,\r\n insert_caso_uso,\r\n update_caso_uso_by_id,\r\n } = props;\r\n\r\n const [disabledForm, setDisabledForm] = useState(false);\r\n\r\n useEffect(() => {\r\n if ((!get_caso_uso_form_fields.caso_uso_form_fields && !get_caso_uso_form_fields.isLoading)\r\n || (insert_normativa && insert_normativa.inserted)) {\r\n getCasoUsoFormFields(params.utenza)\r\n }\r\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (modifica) {\r\n getDettaglioCasoUsoById(modifica);\r\n } else {\r\n }\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleSubmit = (values) => {\r\n if (modifica) {\r\n let caso = get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0];\r\n aggiornaCasoUsoById(\r\n caso.id,\r\n {\r\n finalita: values.finalita,\r\n denominazione: values.denominazione,\r\n idcluster: values.cluster.value,\r\n idlda: values.lda.value,\r\n idproponente: authentication.utente.id,\r\n datainiziovalidita: values.datainiziovalidita,\r\n note: values.note,\r\n idcategorieente: params.utenza !== 'ministero' ? null : values.categorie,\r\n idgruppidati: values.gruppidato,\r\n idnormative: values.normative\r\n }\r\n )\r\n } else {\r\n inserisciCasoUso({\r\n finalita: values.finalita,\r\n denominazione: values.denominazione,\r\n idcluster: values.cluster.value,\r\n idlda: values.lda.value,\r\n idproponente: authentication.utente.id,\r\n datainiziovalidita: values.datainiziovalidita,\r\n note: values.note,\r\n idcategorieente: params.utenza !== 'ministero' ? null : values.categorie,\r\n idgruppidati: values.gruppidato,\r\n idnormative: values.normative\r\n },\r\n () => setDisabledForm(true),\r\n ['responsabile-amministrazione', 'responsabile-servizio'].includes(params.utenza)\r\n );\r\n }\r\n };\r\n\r\n const mergeSelectOptions = (opt1, opt2) => {\r\n let result = [];\r\n if (opt1) {\r\n result = result.concat(opt1);\r\n if (opt2) {\r\n let values = result.map(opt => opt.value);\r\n result = result.concat(opt2.filter(opt => !values.includes(opt.value)))\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n const getCurrentCasoUso = () => {\r\n if (get_dettaglio_caso_uso_by_id && get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id && get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id.length) {\r\n return get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id[0]\r\n }\r\n }\r\n\r\n const adjustFormFields = (formFields) => {\r\n let result = { ...formFields };\r\n let casoUso = getCurrentCasoUso();\r\n if (modifica && casoUso) {\r\n let normativeNonAttiveOptions = casoUso.normative\r\n ? casoUso.normative.filter(n => n.idstato === STATO_NORMATIVA.NON_ATTIVO.id).map((n) => { return { value: n.id, label: n.titolo }; })\r\n : [];\r\n result.normative = mergeSelectOptions(formFields.normative, normativeNonAttiveOptions)\r\n }\r\n return result;\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    {modifica ? 'Modifica' : 'Nuovo'} caso d'uso

    \r\n
    \r\n \r\n \r\n {(get_caso_uso_form_fields.isLoading ||\r\n (modifica && !get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id) ||\r\n (insert_caso_uso && insert_caso_uso.isLoading)\r\n || (update_caso_uso_by_id && update_caso_uso_by_id.isLoading)\r\n ) &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n {!get_caso_uso_form_fields.isLoading\r\n && (!modifica || (modifica\r\n && !get_dettaglio_caso_uso_by_id.isLoading\r\n && get_dettaglio_caso_uso_by_id.dettaglio_caso_uso_by_id))\r\n && (!update_caso_uso_by_id || (update_caso_uso_by_id && !update_caso_uso_by_id.isLoading))\r\n &&\r\n \r\n }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n get_caso_uso_form_fields: store.gestione_casi_uso.get_caso_uso_form_fields,\r\n get_dettaglio_caso_uso_by_id: store.gestione_accordi.get_dettaglio_caso_uso_by_id,\r\n authentication: store.authentication,\r\n insert_normativa: store.gestione_normative.insert_normativa,\r\n insert_caso_uso: store.gestione_casi_uso.insert_caso_uso,\r\n update_caso_uso_by_id: store.gestione_casi_uso.update_caso_uso_by_id,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCasoUsoFormFields: (utenza) => dispatch(getCasoUsoFormFields(utenza)),\r\n getDettaglioCasoUsoById: (idCasoUso) => dispatch(getDettaglioCasoUsoById(idCasoUso)),\r\n inserisciCasoUso: (payload, disableForm, infoFlag) => dispatch(inserisciCasoUso(payload, disableForm, infoFlag)),\r\n aggiornaCasoUsoById: (id, payload) => dispatch(aggiornaCasoUsoById(id, payload)),\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(NuovoCasoUso);","import React, { Component } from \"react\";\r\nimport { Switch, Route, Redirect } from \"react-router-dom\";\r\nimport { DecodificheContext } from \"../../../../contexts\";\r\nimport CatalogoCasiUso from \"./catalogo-casi-uso/CatalogoCasiUso\";\r\nimport NuovoCasoUso from \"./nuovo-caso-uso/NuovoCasoUso\";\r\n\r\nclass GestioneCasiUsoSwitch extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n }\r\n />\r\n \r\n {({ decodifiche }) => }\r\n }\r\n />\r\n \r\n }\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GestioneCasiUsoSwitch;\r\n","import * as yup from 'yup';\r\n\r\nexport const ipFormInitialValues = (indirizzo) => ({\r\n indirizzo: indirizzo ? indirizzo.indirizzo : '',\r\n netmask: !!indirizzo ? indirizzo.idtipo : undefined\r\n});\r\n\r\nexport const ipFormValidationSchema = yup.object().shape({\r\n indirizzo: yup.string().required('Indirizzo IP: campo obbligatorio.')\r\n .test(\r\n 'IP NON VALIDO',\r\n 'Indirizzo IP: formato non valido.',\r\n function validateIP(value) {\r\n return /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm.test(\r\n value\r\n );\r\n }\r\n )\r\n ,\r\n netmask: yup.number().oneOf([1, 2]).required('Maschera di sottorete: campo obbligatorio.')\r\n});","import React, { Fragment } from 'react';\r\nimport Form from '../../../../../formik';\r\nimport { ipFormInitialValues, ipFormValidationSchema } from './utils/ipFormData';\r\nimport IconButton from '../../../../../ui/icon-button';\r\nimport Input from '../../../../../ui/input';\r\nimport Select from '../../../../../ui/select';\r\n\r\n\r\nconst FormIp = ({\r\n formFields,\r\n formFieldsDB,\r\n ip,\r\n handleSubmit,\r\n disabledForm,\r\n utenza\r\n}) => {\r\n\r\n const netmaskOptionList = [\r\n {\r\n value: 1,\r\n label: 'IP'\r\n },\r\n {\r\n value: 2,\r\n label: 'SUBNET MASK'\r\n },\r\n ]\r\n\r\n return (\r\n {\r\n handleSubmit(values)\r\n }}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n errorMessage,\r\n dirty,\r\n isSubmitting\r\n }) => (\r\n \r\n x.value === values.netmask)}\r\n getValue={val => setFieldValue('netmask', val ? val.value : undefined)}\r\n label={'Maschera di sottorete'}\r\n optionlist={netmaskOptionList}\r\n error={errors['netmask']}\r\n disabled={disabledForm || isSubmitting}\r\n required\r\n />\r\n setFieldValue('indirizzo', val)}\r\n label={\"Indirizzo IP\"}\r\n error={errors[\"indirizzo\"]}\r\n disabled={disabledForm || isSubmitting}\r\n required\r\n />\r\n {errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormIp;","import { appMessagesConfig } from \"../utils-actions\";\r\nimport { deleteIpByIdIsLoading, deleteIpByIdSuccess, deleteIpByIdError } from \"../ip-actions/delete-ip-by-id-actions\";\r\nimport { getIpByIdAccordoAttivoSuccess, getIpByIdAccordoAttivoIsLoading, getIpByIdAccordoAttivoError } from \"./get-ip-by-id-accordo-attivo-actions\";\r\nimport { insertIpError, insertIpIsLoading, insertIpSuccess } from \"./insert-ip-actions\";\r\nimport { updateIpByIdError, updateIpByIdIsLoading, updateIpByIdSuccess } from \"./update-ip-by-id-actions\";\r\nimport axios from \"axios\";\r\n\r\nexport const getIpByIdAccordoAttivo = (idAccordoAttivo) => dispatch => {\r\n dispatch(getIpByIdAccordoAttivoIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordoAttivo}/afipabilitato/attivi`)\r\n .then(response => {\r\n dispatch(getIpByIdAccordoAttivoSuccess(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(getIpByIdAccordoAttivoError(error.message));\r\n })\r\n};\r\n\r\nexport const deleteIpById = (id, idAccordoAttivo) => dispatch => {\r\n dispatch(deleteIpByIdIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afipabilitato/${id}/elimina`)\r\n .then(res => {\r\n dispatch(deleteIpByIdSuccess(id));\r\n dispatch(getIpByIdAccordoAttivo(idAccordoAttivo));\r\n dispatch(appMessagesConfig({ name: \"Indirizzo IP\", des: \"o\", prep: \"dell'\", action: \"DELETE\", type: \"success\", extraText: \"La modifica sarà operativa entro 24 ore.\" }));\r\n })\r\n .catch(error => {\r\n dispatch(deleteIpByIdError(error));\r\n dispatch(appMessagesConfig({ name: \"Indirizzo IP\", des: \"o\", prep: \"dell'\", action: \"DELETE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const updateIpById = (id, bodyRequest, idAccordoAttivo) => dispatch => {\r\n dispatch(updateIpByIdIsLoading(id));\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afipabilitato/${id}`, bodyRequest)\r\n .then(res => {\r\n dispatch(updateIpByIdSuccess(id));\r\n dispatch(getIpByIdAccordoAttivo(idAccordoAttivo));\r\n dispatch(appMessagesConfig({ name: \"Indirizzo IP\", des: \"o\", prep: \"dell'\", action: \"UPDATE\", type: \"success\", extraText: \"La modifica sarà operativa entro 24 ore.\" }));\r\n })\r\n .catch(error => {\r\n dispatch(updateIpByIdError(error));\r\n dispatch(appMessagesConfig({ name: \"Indirizzo IP\", des: \"o\", prep: \"dell'\", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const insertIp = (bodyRequest, idAccordoAttivo, disableForm) => dispatch => {\r\n dispatch(insertIpIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs/afipabilitato`, bodyRequest)\r\n .then(res => {\r\n dispatch(insertIpSuccess(res.data.id));\r\n dispatch(getIpByIdAccordoAttivo(idAccordoAttivo));\r\n dispatch(appMessagesConfig({ name: \"Indirizzo IP\", des: \"o\", prep: \"dell'\", action: \"INSERT\", type: \"success\", extraText: \"La modifica sarà operativa entro 24 ore.\" }));\r\n if (!!disableForm) {\r\n disableForm();\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(insertIpError(error));\r\n dispatch(appMessagesConfig({ name: \"Indirizzo IP\", des: \"o\", prep: \"dell'\", action: \"INSERT\", type: \"danger\", error }));\r\n })\r\n};\r\n","import React, { Fragment, useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport GoNavLink from '../../../../ui/go-nav-link';\r\nimport { FormIp } from './_partials';\r\nimport ScrollTopButton from '../../../../ui/scroll-top-button';\r\nimport { getIpByIdAccordoAttivo, insertIp, updateIpById } from '../../../../../redux/actions/area-riservata/ip-actions';\r\n\r\nconst NuovoIp = props => {\r\n const {\r\n match: { params },\r\n modifica,\r\n history,\r\n getIpByIdAccordoAttivo,\r\n idAccordoAttivo,\r\n insert_ip,\r\n lista_ip,\r\n aggiornaIpById,\r\n inserisciIp\r\n } = props;\r\n\r\n const [disabledForm, setDisabledForm] = useState(false);\r\n const [indirizzo, setIndirizzo] = useState();\r\n\r\n useEffect(() => {\r\n if (!!modifica) {\r\n if (lista_ip) {\r\n setIndirizzo(lista_ip.find(x => x.id === modifica));\r\n } else getIpByIdAccordoAttivo(idAccordoAttivo);\r\n }\r\n }, [modifica, lista_ip]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleSubmit = (values) => {\r\n if (!!modifica) {\r\n aggiornaIpById(indirizzo.id, {\r\n idtipo: values.netmask,\r\n indirizzo: values.indirizzo\r\n },\r\n idAccordoAttivo\r\n );\r\n } else {\r\n inserisciIp(\r\n {\r\n idtipo: values.netmask,\r\n indirizzo: values.indirizzo,\r\n idaccordo: idAccordoAttivo\r\n },\r\n idAccordoAttivo,\r\n () => setDisabledForm(true)\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    {modifica ? 'Modifica' : 'Nuovo'} indirizzo IP

    \r\n
    \r\n \r\n \r\n {/* GESTISCI LO SPINNER */}\r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n insert_ip: store.gestione_ip.insert_ip,\r\n lista_ip: store.gestione_ip.get_ip_by_id_accordo_attivo.lista_ip,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n inserisciIp: (payload, idAccordoAttivo, disableForm) => dispatch(insertIp(payload, idAccordoAttivo, disableForm)),\r\n getIpByIdAccordoAttivo: idAccordoAttivo => dispatch(getIpByIdAccordoAttivo(idAccordoAttivo)),\r\n aggiornaIpById: (id, payload, idAccordoAttivo) => dispatch(updateIpById(id, payload, idAccordoAttivo)),\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(NuovoIp);","export const ipTableHeaders = [\r\n {\r\n value: 'Indirizzo IP',\r\n },\r\n {\r\n value: 'Subnet',\r\n },\r\n {\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-center',\r\n }\r\n];\r\n\r\nexport const getIpTableRows = (indirizzi, callbacks, utenza) => (\r\n indirizzi.map((ip, index) => {\r\n let cells = [];\r\n cells.push(\r\n {\r\n tag: '',\r\n value: ip.indirizzo,\r\n style: {\r\n maxWidth: '25rem'\r\n },\r\n datath: \"Indirizzo IP\",\r\n },\r\n {\r\n value: ip.idtipo === 1 ? 'IP' : ip.idtipo === 2 ? 'SUBNET MASK' : '',\r\n datath: \"Gruppo\",\r\n },\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n classes: 'text-right',\r\n style: {\r\n width: '7rem'\r\n },\r\n actions: [\r\n {\r\n onClick: () => callbacks.modificaIp(ip.id),\r\n value: `Modifica IP ${ip.indirizzo}`,\r\n icon: 'edit',\r\n },\r\n {\r\n onClick: () => callbacks.eliminaIp(ip.id, index),\r\n value: `Annulla IP ${ip.indirizzo}`,\r\n icon: 'trash',\r\n iconClasses: `bg-danger`,\r\n }\r\n ]\r\n }\r\n );\r\n return {\r\n id: 'row-' + ip.id,\r\n cells: cells\r\n }\r\n })\r\n);","import React, { useEffect, useState, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PaginatedTable from '../../../../ui/paginated-table';\r\nimport Spinner from '../../../../ui/spinner';\r\nimport { NavLink, Redirect } from 'react-router-dom';\r\nimport IconButton from '../../../../ui/icon-button';\r\nimport ScrollTopButton from '../../../../ui/scroll-top-button';\r\nimport { deleteIpById, getIpByIdAccordoAttivo } from '../../../../../redux/actions/area-riservata/ip-actions';\r\nimport { getIpTableRows, ipTableHeaders } from './utils/ipTableData';\r\n\r\nconst VisualizzaIp = props => {\r\n const {\r\n match: { params },\r\n idAccordoAttivo,\r\n getIpByIdAccordoAttivo,\r\n lista_ip,\r\n eliminaIpById,\r\n isLoading\r\n } = props;\r\n\r\n const getTableRows = (arr) => {\r\n return getIpTableRows(\r\n arr,\r\n {\r\n modificaIp: id => {\r\n setEdit(id);\r\n },\r\n eliminaIp: id => eliminaIpById(id, idAccordoAttivo),\r\n },\r\n params.utenza\r\n );\r\n };\r\n\r\n const [tableRows, setTableRows] = useState([]);\r\n const [edit, setEdit] = useState();\r\n\r\n useEffect(() => {\r\n if (!lista_ip && !isLoading) {\r\n getIpByIdAccordoAttivo(idAccordoAttivo);\r\n }\r\n }, [idAccordoAttivo]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (lista_ip) {\r\n setTableRows(getTableRows(lista_ip));\r\n }\r\n }, [lista_ip]) // eslint-disable-line react-hooks/exhaustive-deps \r\n\r\n\r\n return (\r\n \r\n {edit &&\r\n \r\n }\r\n \r\n
    \r\n

    Indirizzi IP

    \r\n
    \r\n {['ministero', 'responsabile-amministrazione', 'responsabile-servizio'].includes(params.utenza)\r\n &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n {isLoading ?\r\n
    \r\n \r\n
    \r\n :
    \r\n \r\n {tableRows &&\r\n \r\n }\r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = state => ({\r\n richiesta_standard_accordo_fruizioneForm:\r\n state.richiesta_standard_accordo_fruizioneForm,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n lista_ip: state.gestione_ip.get_ip_by_id_accordo_attivo.lista_ip,\r\n isLoading: state.gestione_ip.get_ip_by_id_accordo_attivo.isLoading,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getIpByIdAccordoAttivo: idAccordoAttivo => dispatch(getIpByIdAccordoAttivo(idAccordoAttivo)),\r\n eliminaIpById: (id, idAccordoAttivo) => dispatch(deleteIpById(id, idAccordoAttivo))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(VisualizzaIp);\r\n","import React, { Component } from \"react\";\r\nimport { Switch, Route, Redirect } from \"react-router-dom\";\r\nimport NuovoIp from \"./nuovo-ip/NuovoIp\";\r\nimport VisualizzaIp from \"./visualizza-ip/VisualizzaIp\";\r\n\r\nclass GestioneIpSwitch extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GestioneIpSwitch;\r\n","import moment from \"moment\";\r\n\r\nconst DEFAULT_DATE_FORMAT = \"DD/MM/YYYY\";\r\n\r\nexport const formatDate = (date, formatFrom, formatTo) => {\r\n let day, month, year, hh, mm, ss;\r\n let dateTimeArr = [], dateArr = [], timeArr = [];\r\n \r\n switch (formatFrom) {\r\n case 'DD/MM/YYYY':\r\n dateArr = date.split('/');\r\n day = dateArr[0];\r\n month = dateArr[1];\r\n year = dateArr[2];\r\n switch (formatTo) {\r\n case 'YYYY-MM-DD':\r\n return `${year}-${month}-${day}`;\r\n case 'timestamp':\r\n return new Date(`${year}-${month}-${day}`);\r\n default:\r\n return date;\r\n };\r\n case 'timestamp':\r\n switch (formatTo) {\r\n case 'DD/MM/YYYY':\r\n day = date.getDate();\r\n month = date.getMonth() + 1;\r\n year = date.getFullYear();\r\n return `${day > 9 ? day : '0' + day}/${month > 9 ? month : '0' + month}/${year}`;\r\n default:\r\n return date;\r\n };\r\n case 'timestamp-string':\r\n dateArr = date.split('-');\r\n day = dateArr[2].split(' ')[0];\r\n month = dateArr[1];\r\n year = dateArr[0];\r\n switch (formatTo) {\r\n case 'DD/MM/YYYY':\r\n return `${day}/${month}/${year}`;\r\n default:\r\n return date;\r\n };\r\n case '[UTC]':\r\n /**\r\n * Del tipo: YYYY-MM-DDThh:mm:ss.cccZ[UTC]\r\n **/ \r\n dateTimeArr = date.split('T');\r\n dateArr = dateTimeArr[0].split('-');\r\n timeArr = dateTimeArr[1].split(':');\r\n year = dateArr[0];\r\n month = dateArr[1];\r\n day = dateArr[2];\r\n hh = timeArr[0];\r\n mm = timeArr[1];\r\n ss = timeArr[2].split('Z')[0].split('.')[0];\r\n switch (formatTo) {\r\n case 'DD-MM-YYYY':\r\n return `${day}-${month}-${year}`;\r\n case 'DD/MM/YYYY':\r\n return `${day}/${month}/${year}`;\r\n case 'DD/MM/YYYY hh:mm:ss':\r\n return `${day}/${month}/${year} ${hh}:${mm}:${ss}`;\r\n default:\r\n return `${year}-${month}-${day}`;\r\n };\r\n default:\r\n return date;\r\n }\r\n};\r\n\r\nexport const toDefaultDateString = d => {\r\n const m = moment(d);\r\n return m.isValid() ? m.format(DEFAULT_DATE_FORMAT) : '';\r\n};\r\n\r\nexport const parseDefaultDateString = s => {\r\n const m = moment(s, DEFAULT_DATE_FORMAT, true);\r\n return m.isValid() ? m.toDate() : null;\r\n};","import React from 'react';\r\nimport { STRINGS } from '../../../../../../../../constants/strings';\r\nimport { formatDate } from '../../../../../../../../utils/functions/dates/formateDate';\r\nimport { getIdDecodificaByVariabile, getNomeDecodificaById } from '../../../../../../../common/decodifiche';\r\nimport Icon from '../../../../../../../ui/icon';\r\n\r\nexport const normativeTableHeaders = (utenza) => {\r\n const ministero = utenza === 'ministero';\r\n const responsabileamministrazione = utenza === 'responsabile-amministrazione';\r\n let headers = [\r\n {\r\n value: 'Titolo',\r\n },\r\n {\r\n value: 'Numero',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Data',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Articolo',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Link',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center',\r\n },\r\n ];\r\n if (ministero || responsabileamministrazione) {\r\n headers.push({\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-center',\r\n })\r\n }\r\n return headers;\r\n};\r\n\r\nexport const getNormativeTableRows = (normative, decodificheStatoNormativa, callbacks, utenza) => {\r\n const ministero = utenza === 'ministero';\r\n const responsabileamministrazione = utenza === 'responsabile-amministrazione';\r\n return (\r\n normative.map((el, index) => {\r\n let cells = [];\r\n let attivo = el.idstato === getIdDecodificaByVariabile(\r\n \"ATTIVO\",\r\n decodificheStatoNormativa\r\n );\r\n let inattivo = el.idstato === getIdDecodificaByVariabile(\r\n \"NON_ATTIVO\",\r\n decodificheStatoNormativa\r\n );\r\n let inserito = el.idstato === getIdDecodificaByVariabile(\r\n \"INSERITO\",\r\n decodificheStatoNormativa\r\n );\r\n\r\n cells.push(\r\n {\r\n tag: '',\r\n value: el.titolo || STRINGS.NO_VALUE,\r\n truncate: true,\r\n datath: \"Titolo\",\r\n classes: 'font-weight-bold',\r\n dataToggle: \"modal\",\r\n dataTarget: `#modal-normativa-${el.id}`,\r\n },\r\n {\r\n tag: '',\r\n style: {\r\n minWidth: '8rem'\r\n },\r\n value: el.numeroatto || STRINGS.NO_VALUE,\r\n datath: \"Numero\",\r\n classes: 'text-center',\r\n },\r\n {\r\n tag: '',\r\n value: el.dataatto ? formatDate(el.dataatto, 'timestamp-string', 'DD/MM/YYYY') : STRINGS.NO_VALUE,\r\n datath: \"Data\",\r\n classes: 'text-center'\r\n },\r\n {\r\n tag: '',\r\n value: el.articolo ? el.articolo + (el.articolosuffisso ? ' ' + el.articolosuffisso : '') : STRINGS.NO_VALUE,\r\n datath: \"Articolo\",\r\n classes: 'text-center',\r\n },\r\n {\r\n tag: '',\r\n to: el.url,\r\n link: 'Vai alla normativa',\r\n title: `Vai alla normativa ${el.titolo}`,\r\n external: true,\r\n target: '_blank',\r\n value: STRINGS.NO_VALUE,\r\n datath: \"Link\",\r\n classes: 'text-center',\r\n },\r\n {\r\n tag: '',\r\n value: ,\r\n datath: \"Stato\",\r\n classes: 'text-center',\r\n }\r\n );\r\n if (ministero) {\r\n cells.push(\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n classes: 'text-right',\r\n style: {\r\n width: '7rem'\r\n },\r\n actions: [\r\n {\r\n onClick: () => callbacks.modificaNormativa(el.id),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n disabled: inserito,\r\n srLabel: `Modifica normativa ${el.titolo}`\r\n },\r\n {\r\n onClick: () => callbacks.eliminaNormativa(el, index),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n iconClasses: `bg-danger ${inserito || el.totAssociazioni ? 'bg-light' : ''}`,\r\n disabled: inserito || el.totAssociazioni,\r\n buttonClass: inserito || el.totAssociazioni ? 'disabled' : 'primary',\r\n srLabel: `Annulla normativa ${el.titolo}`\r\n }\r\n ]\r\n }\r\n );\r\n }\r\n else if(responsabileamministrazione){\r\n cells.push(\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n classes: 'text-right',\r\n style: {\r\n width: '7rem'\r\n },\r\n actions: [\r\n {\r\n onClick: () => callbacks.modificaNormativa(el.id),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n disabled: !inserito,\r\n srLabel: `Modifica normativa ${el.titolo}`\r\n },\r\n {\r\n onClick: () => callbacks.eliminaNormativa(el, index),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n iconClasses: `bg-danger ${!inserito ? 'bg-light' : ''}`,\r\n disabled: !inserito,\r\n buttonClass: !inserito ? 'disabled' : 'primary',\r\n srLabel: `Annulla normativa ${el.titolo}`\r\n }\r\n ]\r\n }\r\n );\r\n }\r\n return {\r\n id: 'row-' + (index + 1),\r\n cells: cells\r\n }\r\n })\r\n );\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport Table from \"../../../../../../ui/table\";\r\nimport { normativeTableHeaders } from \"./utils/tableData\";\r\nimport Modal from \"../../../../../../ui/modal\";\r\n\r\nclass TabellaNormative extends Component {\r\n state = {\r\n modalOpen: false,\r\n };\r\n\r\n render() {\r\n const { tableRows, normative, isDeleting, errorModal, utenza} = this.props;\r\n const headers = normativeTableHeaders(utenza);\r\n\r\n const generateModals = (array) => array ? array.map((el, index) => {\r\n return (\r\n \r\n

    \r\n {el.testo}\r\n

    \r\n }\r\n />\r\n )\r\n }) : null;\r\n\r\n return (\r\n \r\n \r\n {generateModals(normative)}\r\n \r\n );\r\n }\r\n}\r\nexport default TabellaNormative;\r\n","import * as yup from 'yup';\r\nimport { Input, DatePicker } from '../../../../../../ui';\r\n\r\n\r\n export const normativeFiltersFormFields = [\r\n {\r\n id: 'numeroatto',\r\n tag: Input,\r\n type: 'number',\r\n name: 'Numero atto',\r\n label: 'Numero atto',\r\n min: 0\r\n },\r\n {\r\n id: 'dataatto',\r\n tag: DatePicker,\r\n name: \"dataatto\",\r\n label: \"Data dell'atto\",\r\n dateformat: \"dd/MM/yyyy\"\r\n },\r\n {\r\n id: 'articolo',\r\n tag: Input,\r\n type: 'number',\r\n name: 'Articolo',\r\n label: 'Articolo',\r\n min: 0\r\n },\r\n ];\r\n\r\n export const normativeFiltersInitialValues = {\r\n numeroatto: '',\r\n dataatto: '',\r\n articolo: ''\r\n };\r\n\r\n export const normativeFiltersValidationSchema = yup.object().shape({\r\n numeroatto: yup.number().integer(),\r\n dataatto: yup.date().nullable().typeError(\"Data dell'atto: formato data non valido.\"), \r\n articolo: yup.number().integer()\r\n });\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { TabellaNormative } from \"./_partials\";\r\n//import Spinner from \"../../../../ui/spinner\";\r\nimport { getNormativeTableRows } from \"./_partials/tabella-normative/utils/tableData\";\r\nimport { Redirect, NavLink } from \"react-router-dom\";\r\nimport { getNormativeAll, deleteNormativaById } from \"../../../../../redux/actions/area-riservata/normative-actions\";\r\nimport Pagination from \"../../../../ui/pagination\";\r\nimport IconButton from \"../../../../ui/icon-button\";\r\nimport ScrollTopButton from \"../../../../ui/scroll-top-button\";\r\nimport { DefaultLoading } from \"../../../../common/handleErrorsAndLoading\";\r\nimport { normativeFiltersInitialValues, normativeFiltersValidationSchema, normativeFiltersFormFields } from './_partials/utils/filtersFormData';\r\nimport SezioneFiltri from \"../../sezione-filtri\";\r\nimport { STATO_NORMATIVA } from \"../../../../../constants/stati-normativa\";\r\n\r\nclass VisualizzaNormative extends Component {\r\n\r\n state = {\r\n isDeleting: false,\r\n edit: false,\r\n tableRowsInit: this.props.normative || this.props.normative_all.normative ?\r\n this.getTableRows((this.props.normative || this.props.normative_all.normative).slice(0, 5)) : [],\r\n ministero: this.props.match.params.utenza === 'ministero',\r\n garante: this.props.match.params.utenza === 'garante',\r\n responsabileamministrazione: this.props.match.params.utenza === 'responsabile-amministrazione',\r\n utenza: this.props.match.params.utenza\r\n };\r\n\r\n\r\n getNormative() {\r\n let stati;\r\n switch (this.props.match.params.utenza) {\r\n case 'responsabile-amministrazione':\r\n stati = [STATO_NORMATIVA.ATTIVO.id, STATO_NORMATIVA.NON_ATTIVO.id, STATO_NORMATIVA.INSERITO.id];\r\n break;\r\n case 'ministero':\r\n case 'garante':\r\n stati = [STATO_NORMATIVA.ATTIVO.id, STATO_NORMATIVA.NON_ATTIVO.id];\r\n break;\r\n default:\r\n stati = [STATO_NORMATIVA.ATTIVO.id];\r\n }\r\n this.props.getNormativeAll(stati);\r\n };\r\n\r\n getTableRows(normativeArray) {\r\n return getNormativeTableRows(\r\n normativeArray,\r\n this.props.decodifiche_stato_normativa.stati_normativa,\r\n {\r\n eliminaNormativa: (id, index) => this.eliminaNormativa(id, index),\r\n modificaNormativa: (id, index) => this.modificaNormativa(id, index),\r\n },\r\n this.props.match.params.utenza\r\n );\r\n };\r\n\r\n eliminaNormativa = (row, index) => {\r\n this.props.deleteNormativaById(row.id, index);\r\n };\r\n\r\n handleErrorModal = (open) => {\r\n this.setState({\r\n deleted: {\r\n modalOpen: false\r\n }\r\n })\r\n };\r\n\r\n modificaNormativa = (id) => {\r\n this.setState({ edit: id });\r\n };\r\n\r\n componentDidMount() {\r\n if (!this.props.normative_all.normative && !this.props.normative) {\r\n this.getNormative();\r\n } else {\r\n let firstItem = this.state.pagination ? this.state.pagination.firstItem : 0,\r\n lastItem = this.state.pagination ? this.state.pagination.lastItem : 5;\r\n let normativeSliced = (this.props.normative || this.props.normative_all.normative).slice(firstItem, lastItem);\r\n let tRows = this.getTableRows(normativeSliced);\r\n this.setState({\r\n normative: this.props.normative || this.props.normative_all.normative,\r\n //normativeFiltrate: normativeSliced,\r\n tableRowsInit: tRows,\r\n tableRows: tRows,\r\n });\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n (this.props.normative_all.normative &&\r\n (prevProps.normative_all !== this.props.normative_all)) ||\r\n (this.props.normative !== prevProps.normative)\r\n ) {\r\n let firstItem = this.state.pagination ? this.state.pagination.firstItem : 0,\r\n lastItem = this.state.pagination ? this.state.pagination.lastItem : 5;\r\n let normativeSliced = (this.props.normative || this.props.normative_all.normative).slice(firstItem, lastItem);\r\n let tRows = this.getTableRows(normativeSliced);\r\n this.setState({\r\n normative: this.props.normative || this.props.normative_all.normative,\r\n //normativeFiltrate: normativeSliced,\r\n tableRowsInit: tRows,\r\n tableRows: tRows,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n tableRows, tableRowsInit,\r\n normative, /*normativeFiltrate,*/\r\n edit, deleted,\r\n ministero,\r\n responsabileamministrazione,\r\n utenza,\r\n filteredNormative,\r\n } = this.state;\r\n const isDeleting = this.props.delete_normativa_by_id && !Number.isNaN(this.props.delete_normativa_by_id.isDeleting) ?\r\n [this.props.delete_normativa_by_id.isDeleting] : [];\r\n\r\n return (\r\n \r\n {edit &&\r\n \r\n }\r\n \r\n
    \r\n {!this.props.hideTitle &&\r\n
    \r\n

    {utenza === 'garante' ? 'Catalogo' : `Gestione`} normative

    \r\n
    \r\n }\r\n {(ministero || responsabileamministrazione) && normative &&\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n {!this.props.hideFilters && normative &&\r\n {\r\n this.setState({\r\n tableRows: filteredArray ? this.getTableRows(filteredArray).slice(0, 10) : tableRowsInit,\r\n filteredNormative: filteredArray || undefined,\r\n });\r\n }}\r\n arrayToFilter={normative.slice()}\r\n />\r\n }\r\n {tableRows &&\r\n \r\n \r\n \r\n Impossibile eliminare\r\n ,\r\n body:
    \r\n
    \r\n {deleted.message}\r\n
    \r\n
    ,\r\n open: deleted.modalOpen,\r\n callback: this.handleErrorModal,\r\n } : null}\r\n utenza={utenza}\r\n />\r\n {\r\n let normativeSliced = (filteredNormative || normative).slice(firstItem, lastItem + 1);\r\n this.setState({\r\n tableRows: this.getTableRows(normativeSliced),\r\n /*normativeFiltrate: normativeSliced,*/\r\n pagination: {\r\n firstItem: firstItem,\r\n lastItem: lastItem + 1,\r\n id: id\r\n },\r\n });\r\n }}\r\n />\r\n \r\n }\r\n {/* {normative && appliedFilters?.length &&\r\n \r\n \r\n \r\n Impossibile eliminare\r\n ,\r\n body:
    \r\n
    \r\n {deleted.message}\r\n
    \r\n
    ,\r\n open: deleted.modalOpen,\r\n callback: this.handleErrorModal,\r\n } : null}\r\n ministero={ministero}\r\n />\r\n {\r\n this.setState({\r\n filteredTableRows: this.getTableRows(filteredNormative.slice(firstItem, lastItem + 1)),\r\n });\r\n }}\r\n />\r\n \r\n } */}\r\n {\r\n this.props.normative_all.isLoading &&\r\n \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nVisualizzaNormative.propTypes = {};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stato_normativa: state.decodifiche.stati_normativa,\r\n normative_all: state.gestione_normative.get_normative_all,\r\n delete_normativa_by_id: state.gestione_normative.delete_normativa_by_id,\r\n insert_normativa: state.gestione_normative.insert_normativa\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getNormativeAll: (idStato) => dispatch(getNormativeAll(idStato)),\r\n deleteNormativaById: (id, deleting) => dispatch(deleteNormativaById(id, deleting))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(VisualizzaNormative);\r\n","import React from \"react\";\r\nimport * as yup from 'yup';\r\nimport TextArea from \"../../../../../../ui/text-area\";\r\nimport Input from \"../../../../../../ui/input\";\r\nimport DatePicker from \"../../../../../../ui/date-picker\";\r\nimport Select from \"../../../../../../ui/select\";\r\nimport { STATO_NORMATIVA } from \"../../../../../../../constants/stati-normativa\";\r\n\r\nexport const decodeIdStatoNormativa = (id) => {\r\n for (let key in STATO_NORMATIVA) {\r\n let s = STATO_NORMATIVA[key];\r\n if (s.id === id) {\r\n return s.descrizione;\r\n }\r\n }\r\n}\r\n\r\nexport const getFormFieldsByUtenza = (utenza, idStatoNormativa, openModal) => {\r\n let fields = [{\r\n id: 'titolo',\r\n tag: TextArea,\r\n rows: 3,\r\n type: 'text',\r\n name: 'Titolo',\r\n label: 'Titolo',\r\n required: true\r\n },\r\n {\r\n id: 'testo',\r\n tag: TextArea,\r\n rows: 10,\r\n name: 'Testo',\r\n label: 'Testo',\r\n required: true\r\n },\r\n {\r\n id: 'url',\r\n tag: Input,\r\n append: \"popover\",\r\n appendtext: \"Come ottenere il link\",\r\n appendonclick: () => openModal(true),\r\n name: 'URL',\r\n label: URL(deve essere un indirizzo valido su www.normattiva.it),\r\n },\r\n {\r\n id: 'numeroatto',\r\n tag: Input,\r\n type: 'number',\r\n name: 'Numero atto',\r\n label: 'Numero atto',\r\n min: 0,\r\n required: true\r\n },\r\n {\r\n id: 'dataatto',\r\n tag: DatePicker,\r\n name: \"Data dell'atto\",\r\n label: \"Data dell'atto\",\r\n dateformat: \"dd/MM/yyyy\",\r\n required: true\r\n },\r\n {\r\n id: 'articolo',\r\n tag: Input,\r\n type: 'number',\r\n name: 'Articolo',\r\n label: 'Articolo',\r\n min: 0,\r\n required: true\r\n },\r\n {\r\n id: 'articolosuffisso',\r\n tag: Input,\r\n type: 'text',\r\n name: 'Suffisso articolo',\r\n label: Suffisso articolo(bis, ter)\r\n }\r\n ];\r\n\r\n if (utenza === 'ministero' && [0, 1].includes(idStatoNormativa)) {\r\n fields.push({\r\n id: 'idstato',\r\n tag: Select,\r\n optionlist: [{value: 0, label: decodeIdStatoNormativa(0)}, {value: 1, label: decodeIdStatoNormativa(1)}],\r\n firstEmptyOption: false,\r\n name: 'Stato normativa',\r\n label: 'Stato normativa',\r\n required: true\r\n });\r\n }\r\n\r\n return fields\r\n}\r\n\r\nexport const createInitialValues = (utenza, normativa) => {\r\n let values = {\r\n titolo: normativa?.titolo ?? '',\r\n testo: normativa?.testo ?? '',\r\n url: normativa?.url ?? '',\r\n numeroatto: normativa?.numeroatto ?? '',\r\n dataatto: normativa ? new Date(normativa.dataatto) : '',\r\n articolo: normativa?.articolo ?? '',\r\n articolosuffisso: normativa?.articolosuffisso ?? ''\r\n }\r\n if ((utenza === 'ministero' && [0, 1].includes(normativa?.idstato))) {\r\n values.idstato = normativa?.idstato != null ? {value: normativa.idstato, label: decodeIdStatoNormativa(normativa.idstato)} : null\r\n }\r\n return values;\r\n};\r\n\r\nexport const createValidationSchema = (utenza, normativa) => {\r\n let schema = yup.object().shape({\r\n titolo: yup.string().required('Titolo: campo obbligatorio.'),\r\n testo: yup.string().required('Testo: campo obbligatorio.'),\r\n url: yup.string()\r\n .nullable()\r\n .matches(/^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)(normattiva.it)?(:[0-9]{1,5})?(\\/.*)?(\\?urn:[a-z0-9][a-z0-9-]{0,31}:[a-z0-9()+,\\-.:=@;$_!*'%/?#~`]+)$/, {\r\n message: 'URL: valore non valido',\r\n excludeEmptyString: true\r\n }),\r\n numeroatto: yup.number()\r\n .integer()\r\n .min(1, 'Numero atto: valore non valido.')\r\n .required('Numero atto: campo obbligatorio.'),\r\n dataatto: yup.date()\r\n .typeError(\"Data dell'atto: formato data non valido.\")\r\n .required(\"Data dell'atto: campo obbligatorio.\"),\r\n articolo: yup.number()\r\n .integer()\r\n .min(1, 'Articolo: valore non valido.')\r\n .required('Articolo: campo obbligatorio.'),\r\n articolosuffisso: yup.string().nullable()\r\n });\r\n if ((utenza === 'ministero' && normativa && [STATO_NORMATIVA.ATTIVO.id, STATO_NORMATIVA.INSERITO.id].includes(normativa.idstato))) {\r\n schema.idstato = yup.object().shape({label: yup.string(), value: yup.number()}).required('Id stato: campo obbligatorio.')\r\n }\r\n return schema;\r\n};\r\n","import React from 'react';\r\n\r\nconst Figure = ({\r\n id,\r\n src,\r\n caption,\r\n captionPosition=\"top\",\r\n extraClasses,\r\n imgExtraClasses,\r\n captionExtraClasses\r\n}) => {\r\n const captionView =
    {caption}
    ;\r\n\r\n return (\r\n
    \r\n {captionPosition === \"top\" ? captionView : null}\r\n {caption}\r\n {captionPosition === \"bottom\" ? captionView : null}\r\n
    \r\n );\r\n};\r\n\r\nexport default Figure;","import React, { Fragment, useState } from \"react\";\r\nimport Form from \"../../../../../formik\";\r\nimport { Link, Row, Typography } from \"../../../../../ui\";\r\nimport IconButton from \"../../../../../ui/icon-button\";\r\nimport Modal from \"../../../../../ui/modal\";\r\nimport ScrollTopButton from \"../../../../../ui/scroll-top-button\";\r\nimport { createInitialValues, createValidationSchema, getFormFieldsByUtenza } from \"./utils\";\r\nimport Permalink from '../../../../../../resources/img/permalink.jpg';\r\nimport Permalink2 from '../../../../../../resources/img/permalink2.jpg';\r\nimport Figure from \"../../../../../ui/figure\";\r\n\r\nconst NormativaForm = ({\r\n normativa,\r\n onsubmit,\r\n status,\r\n buttonLabel,\r\n utenza,\r\n disabled\r\n}) => {\r\n\r\n const [modalUrlNormativaOpen, setModalUrlNormativaOpen] = useState(false);\r\n\r\n return (\r\n \r\n\r\n
    \r\n {\r\n let valueJson = { ...values };\r\n for (let key in valueJson) {\r\n if (valueJson.hasOwnProperty(key))\r\n if (!valueJson[key] || (Array.isArray(valueJson[key]) && !valueJson[key].length)) {\r\n valueJson[key] = null;\r\n }\r\n }\r\n if (valueJson && valueJson.idstato) {\r\n valueJson.idstato = valueJson.idstato.value;\r\n }\r\n onsubmit(normativa?.id, valueJson);\r\n }}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n touched,\r\n handleBlur,\r\n isValid,\r\n dirty,\r\n errorMessage\r\n }) => (\r\n \r\n {status &&\r\n \r\n \r\n \r\n }\r\n
    \r\n {getFormFieldsByUtenza(utenza, normativa?.idstato, setModalUrlNormativaOpen).map((field, index) => {\r\n let FieldTag = field.tag;\r\n return (\r\n setFieldValue(field.id, value)}\r\n onBlur={handleBlur}\r\n type={field.type || null}\r\n error={errors[field.id] && touched[field.id] ? errors[field.id] : null}\r\n dateformat={field.dateformat || null}\r\n min={field.min}\r\n max={field.max}\r\n rows={field.rows || null}\r\n required={field.required}\r\n wrapperClasses={\"w-100\"}\r\n disabled={disabled}\r\n optionlist={field.optionlist}\r\n firstEmptyOption={field.firstEmptyOption}\r\n append={field.append}\r\n appendtext={field.appendtext}\r\n appendonclick={field.appendonclick}\r\n />\r\n )\r\n })}\r\n {errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n setModalUrlNormativaOpen(false)}\r\n body={\r\n \r\n Incollare il link permamente (\"permalink\") presente sul sito individuando la normativa tramite la funzione di ricerca.}\r\n extraClasses=\"mb-1\"\r\n tag=\"p\"\r\n />\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n }\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default NormativaForm;\r\n","import React, {Component, Fragment} from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from \"react-redux\";\r\n// noinspection ES6CheckImport\r\nimport {Redirect} from \"react-router-dom\";\r\nimport {NormativaForm} from \"../common\";\r\nimport {getNormativeAll, updateNormativaById} from \"../../../../../redux/actions/area-riservata/normative-actions\";\r\nimport Icon from \"../../../../ui/icon\";\r\n\r\nclass ModificaNormativa extends Component {\r\n\r\n state = {\r\n normativa: this.props.normative_all.normative ?\r\n this.props.normative_all.normative.find(el => el.id === parseInt(this.props.match.params.id)) : undefined,\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n if (!this.props.normative_all.normative) {\r\n this.getNormative();\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.normative_all.normative && prevProps.normative_all.normative !== this.props.normative_all.normative) {\r\n this.setState({\r\n normativa: this.props.normative_all.normative.find(el => el.id === parseInt(this.props.match.params.id)),\r\n });\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n getNormative() {\r\n this.props.getNormativeAll();\r\n };\r\n\r\n aggiornaNormativa = (id, bodyRequest) => {\r\n let {normativa} = this.state;\r\n for (var prop in bodyRequest) {\r\n if (normativa.hasOwnProperty(prop)) {\r\n normativa[prop] = bodyRequest[prop];\r\n }\r\n }\r\n this.setState({\r\n normativa: normativa\r\n });\r\n this.props.updateNormativaById(id, bodyRequest)\r\n };\r\n\r\n render() {\r\n const {normativa} = this.state;\r\n const {update_normativa} = this.props;\r\n const {utenza} = this.props.match.params;\r\n\r\n return (\r\n \r\n {this.state.goBack &&\r\n \r\n }\r\n
    \r\n
    \r\n

    Modifica normativa

    \r\n
    \r\n
    \r\n
    this.setState({goBack: true})}>\r\n \r\n \r\n Torna alle normative\r\n
    \r\n
    \r\n {normativa &&\r\n \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nModificaNormativa.propTypes = {\r\n normative_all: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n normative_all: state.gestione_normative.get_normative_all,\r\n update_normativa: state.gestione_normative.update_normativa_by_id,\r\n\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getNormativeAll: () =>\r\n dispatch(getNormativeAll()),\r\n updateNormativaById: (id, bodyRequest) =>\r\n dispatch(updateNormativaById(id, bodyRequest)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ModificaNormativa);\r\n","import React, {Component, Fragment} from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from \"react-redux\";\r\n// noinspection ES6CheckImport\r\nimport {Redirect} from \"react-router-dom\";\r\nimport {NormativaForm} from \"../common\";\r\nimport {getNormativeAll, insertNormativa} from \"../../../../../redux/actions/area-riservata/normative-actions\";\r\nimport Icon from \"../../../../ui/icon\";\r\nimport Spinner from \"../../../../ui/spinner\";\r\n\r\nclass NuovaNormativa extends Component {\r\n\r\n state = {};\r\n\r\n componentDidMount() {\r\n if (!this.props.normative_all.normative) {\r\n this.getNormative();\r\n }\r\n };\r\n\r\n getNormative() {\r\n this.props.getNormativeAll();\r\n };\r\n\r\n inserisciNormativa = (id, bodyRequest) => {\r\n this.props.insertNormativa(bodyRequest);\r\n };\r\n\r\n render() {\r\n const {normativa} = this.state;\r\n const {insert_normativa} = this.props;\r\n const {utenza} = this.props.match.params;\r\n\r\n return (\r\n \r\n {this.state.goBack &&\r\n \r\n }\r\n
    \r\n
    \r\n

    Nuova normativa

    \r\n
    \r\n {insert_normativa &&\r\n insert_normativa.isLoading &&\r\n \r\n }\r\n
    \r\n
    this.setState({goBack: true})}>\r\n \r\n \r\n Torna alle normative\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNuovaNormativa.propTypes = {\r\n normative_all: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n normative_all: state.gestione_normative.get_normative_all,\r\n insert_normativa: state.gestione_normative.insert_normativa,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getNormativeAll: () =>\r\n dispatch(getNormativeAll()),\r\n insertNormativa: (bodyRequest) =>\r\n dispatch(insertNormativa(bodyRequest)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(NuovaNormativa);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\nimport VisualizzaNormative from \"./visualizza-normative/VisualizzaNormative\";\r\nimport ModificaNormativa from \"./modifica-normativa/ModificaNormativa\";\r\nimport NuovaNormativa from \"./nuova-normativa/NuovaNormativa\";\r\n\r\nclass GestioneNormative extends Component {\r\n\r\n state = {\r\n utenza: this.props.match.params.utenza,\r\n };\r\n\r\n render() {\r\n const {utenza} = this.state;\r\n\r\n return (\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GestioneNormative;\r\n","import React, { Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { modaleConfermaConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport { IconButton, Message, Spinner, Typography } from \"../../../ui\";\r\n\r\nconst Revoca = ({\r\n disabled = false,\r\n id,\r\n hidden = false,\r\n isLoading,\r\n message,\r\n modaleConfermaConfig,\r\n modalconfig,\r\n text,\r\n title,\r\n}) => {\r\n\r\n const openmodalerevoca = () => {\r\n modaleConfermaConfig({\r\n ...modalconfig,\r\n id: `${modalconfig.name}`,\r\n open: true,\r\n payload: {\r\n id,\r\n ...modalconfig.payload\r\n },\r\n });\r\n };\r\n\r\n return (\r\n \r\n

    {title}

    \r\n {message &&\r\n \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {isLoading &&\r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config))\r\n});\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(Revoca);","// import React from 'react';\r\nimport React, { Fragment } from 'react';\r\nimport { isNullOrUndefined } from '../../../../../utils/functions/objects/isNullOrUndefined';\r\nimport { getValueFromDecodificaKey } from '../../../../common/decodifiche';\r\nimport { Icon, Tooltip, Typography } from '../../../../ui';\r\n\r\nexport const casiUsoTableHeaders = utenza => {\r\n const minflag = ['ministero', 'garante'].includes(utenza);\r\n const entflag = ['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza);\r\n\r\n let headers = [\r\n {\r\n value: 'Titolo',\r\n },\r\n {\r\n value: `Finalità trattamento`,\r\n },\r\n {\r\n value: 'Ambito di utilizzo'\r\n },\r\n {\r\n value: 'Ambito territoriale'\r\n },\r\n {\r\n value: 'Ruolo'\r\n },\r\n\r\n {\r\n value: minflag ? 'Abilita/disabilita' : 'Associa/dissocia',\r\n srOnly: entflag,\r\n classes: 'text-center',\r\n }\r\n ];\r\n\r\n if (entflag) {\r\n headers.splice(5, 0, {\r\n value: 'Associato',\r\n });\r\n headers.splice(6, 0, {\r\n value: 'Stato',\r\n srOnly: true,\r\n });\r\n }\r\n return headers;\r\n};\r\n\r\nconst getStatoCasoUso = (caso) => {\r\n let statoJSON = {\r\n title: caso.statoAssociazione\r\n };\r\n switch (caso.idStatoAssociazione) {\r\n case 0:\r\n statoJSON['icon'] = 'check';\r\n statoJSON['class'] = 'success';\r\n break;\r\n case 7:\r\n statoJSON['icon'] = 'exclamation-circle';\r\n statoJSON['class'] = 'warning';\r\n break;\r\n default:\r\n break;\r\n };\r\n return statoJSON;\r\n};\r\n\r\nexport const getCasiUsoTableRows = (casiuso, callbacks, utenza, decodifiche, regioni, initialCasiUso) => {\r\n\r\n const minflag = ['ministero', 'garante'].includes(utenza);\r\n const entflag = ['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza);\r\n\r\n function checkAssociazione(caso) {\r\n if ((minflag\r\n && (caso.idStatoAssociazione !== 7))\r\n || (entflag\r\n && caso.associato)) {\r\n return true;\r\n } else return false;\r\n };\r\n\r\n return (\r\n casiuso.map((casouso, index) => {\r\n const associatoFlag = checkAssociazione(casouso);\r\n const statoCasoUso = getStatoCasoUso(casouso);\r\n let cells = [];\r\n function getActions() {\r\n let actions = [];\r\n if (entflag) {\r\n if (associatoFlag) {\r\n let initialAssociatoFlag = initialCasiUso.find(el => el.idCasoduso === casouso.idCasoduso).associato;\r\n actions.push(\r\n {\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n onClick: () => callbacks.handleCheck(associatoFlag, casouso, initialAssociatoFlag),\r\n value: `Modifica dati associazione caso d'uso ${casouso.descrizioneCasoduso}`,\r\n label: 'Modifica',\r\n disabled: casouso.idStatoAssociazione === 7,\r\n }\r\n );\r\n }\r\n actions.push(\r\n {\r\n icon: associatoFlag ? 'minus' : 'plus',\r\n buttonClass: associatoFlag ? 'danger' : 'primary',\r\n onClick: () => callbacks.handleCheck(!associatoFlag, casouso),\r\n value: `${associatoFlag ? 'Dissocia' : 'Associa'} caso d'uso ${casouso.descrizioneCasoduso}`,\r\n label: associatoFlag ? 'Dissocia' : 'Associa',\r\n disabled: casouso.idStatoAssociazione === 7,\r\n }\r\n );\r\n } else if (minflag) {\r\n actions.push(\r\n {\r\n value: casouso.idStatoAssociazione !== 7,\r\n switch: {\r\n defaultChecked: casouso.idStatoAssociazione !== 7,\r\n id: 'abilitato',\r\n name: 'switch-' + casouso.idCasoduso,\r\n onChange: () => {\r\n if (utenza === 'ministero') {\r\n callbacks.handleCheck(!associatoFlag, casouso);\r\n }\r\n },\r\n wrapperClasses: 'm-0 d-flex align-items-center justify-content-center',\r\n disabled: utenza === 'garante',\r\n }\r\n }\r\n );\r\n }\r\n return actions;\r\n };\r\n // let statoCasoUso = getStatoCasoUso(casouso);\r\n cells.push(\r\n {\r\n tag: 'th',\r\n value: casouso.modified\r\n ? \r\n \r\n \r\n \r\n \r\n \r\n : ,\r\n truncate: true,\r\n datath: \"Titolo\",\r\n onClick: () => callbacks.setInfoModalOpen(`modal-caso-uso-${index + 1}`, casouso.idCasoduso, 'dettaglio')\r\n },\r\n {\r\n tag: '',\r\n id: 'finalitaTrattamento',\r\n value: !isNullOrUndefined(casouso.finalitaTrattamento) ? casouso.finalitaTrattamento : 'n.d.',\r\n truncate: true,\r\n datath: \"Descrizione\",\r\n },\r\n {\r\n tag: '',\r\n id: 'ambitoutilizzo',\r\n value: !isNullOrUndefined(casouso.idAmbito)\r\n ? getValueFromDecodificaKey(casouso.idAmbito, decodifiche.ambiti.ambiti)\r\n : 'n.d.',\r\n datath: \"Ambito di utilizzo\",\r\n },\r\n {\r\n tag: '',\r\n id: 'ambitoterritoriale',\r\n value: !isNullOrUndefined(casouso.idAmbitoTerritoriale)\r\n ? parseInt(casouso.idAmbitoTerritoriale, 10) === 2\r\n ? regioni.find(el => parseInt(el.id, 10) === parseInt(casouso.idRegione, 10)).denominazione\r\n : getValueFromDecodificaKey(casouso.idAmbitoTerritoriale, decodifiche.ambiti_territoriali.ambiti_territoriali)\r\n : 'n.d.',\r\n datath: \"Ambito territoriale\",\r\n },\r\n {\r\n tag: '',\r\n id: 'ruolo',\r\n value: !isNullOrUndefined(casouso.ruolo) ? casouso.ruolo : 'n.d.',\r\n datath: \"Ruolo\",\r\n },\r\n\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n actions: getActions(),\r\n classes: 'text-right',\r\n style: {\r\n minWidth: '6rem'\r\n },\r\n }\r\n );\r\n if (entflag) {\r\n cells.splice(5, 0,\r\n {\r\n tag: '',\r\n id: 'associato',\r\n value: ,\r\n datath: \"Associato\",\r\n classes: 'text-center',\r\n }\r\n );\r\n cells.splice(6, 0,\r\n {\r\n tag: '',\r\n value: casouso.idStatoAssociazione === 7\r\n ? \r\n : undefined,\r\n datath: \"Stato\",\r\n classes: `text-${statoCasoUso.class}`,\r\n // style: {\r\n // minWidth: '7rem'\r\n // },\r\n }\r\n )\r\n }\r\n\r\n return {\r\n id: 'row-' + casouso.idCasoduso,\r\n disabled: ['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza)\r\n && (casouso.idStatoAssociazione === 7),\r\n cells: cells\r\n }\r\n })\r\n );\r\n};","import React, { Fragment, forwardRef } from \"react\";\r\nimport Table from \"../../../ui/table\";\r\nimport Modal from \"../../../ui/modal\";\r\nimport { casiUsoTableHeaders } from \"./utils2/tableData\";\r\nimport IconButton from \"../../../ui/icon-button\";\r\nimport Message from \"../../../ui/messages\";\r\nimport { DettaglioCasoUso } from \"./_partials\";\r\n\r\nconst TabellaCasiUsoAssociati = forwardRef(({\r\n disabled,\r\n tableRows,\r\n casiUso,\r\n isDeleting,\r\n saveChanges,\r\n errorMessage,\r\n errorModal,\r\n setModalOpen,\r\n modalData,\r\n edit,\r\n noContent,\r\n utenza\r\n}, ref) => {\r\n\r\n const generateModals = (array) => array ? array.map((el, index) => {\r\n if (modalData && (modalData.modalId === `modal-caso-uso-${index + 1}`)) {\r\n return (\r\n setModalOpen(undefined)}\r\n title={modalData && modalData.title ? modalData.title : el.descrizioneCasoduso}\r\n body={modalData.name === 'dettaglio'\r\n ? \r\n : modalData.name === 'form'\r\n ?
    form
    \r\n : null\r\n }\r\n closeButton\r\n />\r\n )\r\n } else return null;\r\n }) : null;\r\n\r\n return (\r\n \r\n
    \r\n {noContent &&\r\n \r\n }\r\n {edit && edit.codice !== 0 && edit.descrizione &&\r\n utenza !== 'ministero'\r\n ?\r\n \r\n : null}\r\n
    \r\n\r\n {tableRows &&\r\n \r\n }\r\n {errorMessage &&\r\n \r\n }\r\n\r\n
    \r\n {tableRows.length && (utenza !== 'garante') ?\r\n \r\n : null}\r\n
    \r\n\r\n {generateModals(casiUso)}\r\n\r\n
    \r\n );\r\n});\r\n\r\nexport default TabellaCasiUsoAssociati;","import React, { Fragment } from 'react';\r\nimport TextArea from '../../../../ui/text-area';\r\nimport { Row, Icon, Typography } from '../../../../ui';\r\n\r\nexport const casiUsoTableHeaders = utenza => {\r\n let headers = [\r\n {\r\n value: 'Titolo',\r\n },\r\n {\r\n value: `Descrizione${['responsabile-servizio', 'responsabile-amministrazione'].includes(utenza) ? ' *' : ''}`,\r\n },\r\n {\r\n value: ['ministero', 'garante'].includes(utenza) ? 'Abilita/disabilita' : 'Associa/dissocia',\r\n classes: 'text-center',\r\n }\r\n ];\r\n if (['responsabile-servizio', 'responsabile-amministrazione'].includes(utenza)) {\r\n headers.splice(2, 0, {\r\n value: 'Stato',\r\n srOnly: true,\r\n })\r\n }\r\n return headers;\r\n};\r\n\r\nconst getStatoCasoUso = (caso) => {\r\n let statoJSON = {\r\n title: caso.statoAssociazione\r\n };\r\n switch (caso.idStatoAssociazione) {\r\n case 0:\r\n statoJSON['icon'] = 'check';\r\n statoJSON['class'] = 'success';\r\n break;\r\n case 7:\r\n statoJSON['icon'] = 'exclamation-circle';\r\n statoJSON['class'] = 'warning';\r\n break;\r\n default:\r\n break;\r\n };\r\n return statoJSON;\r\n};\r\n\r\nexport const getCasiUsoTableRows = (casiuso, callbacks, edit, utenza) => {\r\n return (\r\n casiuso.map((casouso, index) => {\r\n let cells = [];\r\n let statoCasoUso = getStatoCasoUso(casouso);\r\n cells.push(\r\n {\r\n tag: 'th',\r\n value: casouso.descrizioneCasoduso,\r\n truncate: true,\r\n classes: 'link ',\r\n datath: \"Titolo\",\r\n onClick: () => callbacks.setModalOpen(`modal-caso-uso-${index + 1}`, casouso.idCasoduso)\r\n },\r\n {\r\n tag: '',\r\n form: true,\r\n formTag: TextArea,\r\n id: 'finalitaTrattamento',\r\n value: casouso.finalitaTrattamento !== null ? casouso.finalitaTrattamento : '',\r\n datath: \"Descrizione\",\r\n onChange: (e) => callbacks.handleTextAreaOnChange(index, e.currentTarget.value),\r\n classes: 'text-center',\r\n disabled: !edit\r\n || (['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza)\r\n && (casouso.idStatoAssociazione === 7 || !casouso.associato)\r\n ),\r\n style: {\r\n minWidth: '20rem'\r\n },\r\n extraProps: {\r\n maxLength: 4000,\r\n readOnly: utenza === 'ministero' || utenza === 'garante'\r\n }\r\n },\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n actions: [\r\n {\r\n value: ['ministero', 'garante'].includes(utenza) ? casouso.idStatoAssociazione !== 7 : casouso.associato,\r\n switch: {\r\n defaultChecked: ['ministero', 'garante'].includes(utenza) ? casouso.idStatoAssociazione !== 7 : casouso.associato,\r\n id: ['ministero', 'garante'].includes(utenza) ? 'abilitato' : 'associato',\r\n name: 'switch-' + casouso.idCasoduso,\r\n onChange: () => {\r\n if (['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza)) {\r\n if (casouso.idStatoAssociazione !== 7) {\r\n callbacks.associaCasoUso(index);\r\n }\r\n } else if (utenza === 'ministero') {\r\n callbacks.abilitaCasoUso(index);\r\n }\r\n },\r\n wrapperClasses: 'm-0 d-flex align-items-center justify-content-center',\r\n disabled: !edit\r\n || ((['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza))\r\n && (casouso.idStatoAssociazione === 7)),\r\n }\r\n },\r\n ]\r\n }\r\n );\r\n\r\n if (['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza)) {\r\n cells.splice(2, 0,\r\n {\r\n tag: '',\r\n value: casouso.idStatoAssociazione === 7 ?\r\n \r\n \r\n {statoCasoUso.title.toLocaleUpperCase()}\r\n \r\n }\r\n />\r\n \r\n : undefined,\r\n datath: \"Stato\",\r\n classes: `text-${statoCasoUso.class}`,\r\n style: {\r\n minWidth: '7rem'\r\n },\r\n }\r\n )\r\n };\r\n return {\r\n id: 'row-' + casouso.idCasoduso,\r\n disabled: ['responsabile-amministrazione', 'responsabile-servizio'].includes(utenza)\r\n && (casouso.idStatoAssociazione === 7),\r\n cells: cells\r\n }\r\n })\r\n );\r\n};","import React, { Fragment, useState, useEffect, forwardRef } from \"react\";\r\nimport Table from \"../../../ui/table\";\r\nimport Modal from \"../../../ui/modal\";\r\nimport { casiUsoTableHeaders } from \"./utils/tableData\";\r\nimport IconButton from \"../../../ui/icon-button\";\r\nimport Message from \"../../../ui/messages\";\r\nimport { DettaglioCasoUso } from \"./_partials\";\r\n\r\nconst TabellaCasiUsoAssociati = forwardRef(({\r\n tableRows,\r\n casiUso,\r\n isDeleting,\r\n saveChanges,\r\n errorMessage,\r\n errorModal,\r\n setModalOpen,\r\n modalData,\r\n edit,\r\n noContent,\r\n utenza\r\n}, ref) => {\r\n const [rowFormProps, setRowFormProps] = useState([]);\r\n\r\n useEffect(() => {\r\n setRowFormProps(casiUso.map(casouso => {\r\n let rowFormPropsJSON = {\r\n finalitaTrattamento: casouso.finalitaTrattamento !== null ?\r\n casouso.finalitaTrattamento : undefined,\r\n associato: casouso.associato,\r\n getValue: () => null,\r\n };\r\n\r\n if(['ministero', 'garante'].includes(utenza)) {\r\n rowFormPropsJSON['abilitato'] = casouso.idStatoAssociazione !== 7;\r\n }\r\n\r\n return rowFormPropsJSON;\r\n }\r\n ));\r\n ref.current = new Array(casiUso.length);\r\n }, [casiUso, ref, utenza]);\r\n\r\n const generateModals = (array) => array ? array.map((el, index) => {\r\n if (modalData && (modalData.modalId === `modal-caso-uso-${index + 1}`)) {\r\n return (\r\n setModalOpen(undefined)}\r\n title={el.descrizioneCasoduso}\r\n body={}\r\n closeButton\r\n />\r\n )\r\n } else return null;\r\n }) : null;\r\n\r\n return (\r\n \r\n
    \r\n {noContent &&\r\n \r\n }\r\n {edit && edit.codice !== 0 && edit.descrizione &&\r\n utenza !== 'ministero'\r\n ?\r\n \r\n : null}\r\n
    \r\n\r\n {tableRows &&\r\n (rowFormProps.length === tableRows.length) &&\r\n \r\n }\r\n {errorMessage &&\r\n \r\n }\r\n\r\n
    \r\n {tableRows.length ?\r\n \r\n : null}\r\n
    \r\n\r\n {generateModals(casiUso)}\r\n\r\n
    \r\n );\r\n});\r\n\r\nexport default TabellaCasiUsoAssociati;","import axios from \"axios\";\r\n\r\nconst getAllAccordiPerEnte = setParentState => {\r\n const utente = JSON.parse(localStorage.getItem(\"utente\"));\r\n if (utente) {\r\n setParentState(\r\n {\r\n loading: true\r\n }, () => {\r\n if (!(utente.idtipo === 7 || utente.idtipo === 6))\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/load/idente/${utente.idente}?ente-details=true`)\r\n .then(response => {\r\n setParentState({\r\n accordi: response.data,\r\n loading: false,\r\n firstLoad: false\r\n });\r\n })\r\n .catch(error => {\r\n setParentState({\r\n loading: false,\r\n error: error,\r\n firstLoad: false\r\n });\r\n });\r\n else\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/load/all?ente-details=true`)\r\n .then(response => {\r\n setParentState({\r\n accordi: response.data,\r\n loading: false,\r\n firstLoad: false\r\n });\r\n })\r\n .catch(error => {\r\n setParentState({\r\n loading: false,\r\n error: error,\r\n firstLoad: false\r\n });\r\n });\r\n }\r\n );\r\n }\r\n};\r\n\r\nexport default getAllAccordiPerEnte;\r\n","import { statiAccordo, STATO_ACCORDO } from \"../../../../../constants/stati-accordo\";\r\nimport React from \"react\";\r\nimport moment from \"moment\";\r\nimport Icon from \"../../../../ui/icon\";\r\n\r\nexport const tableHeaders = (utenza) => {\r\n\r\n let headers = [\r\n {\r\n value: 'ID',\r\n classes: 'text-left custom-small-table',\r\n },\r\n {\r\n value: 'Ente',\r\n classes: 'text-left custom-large-table',\r\n },\r\n {\r\n value: 'Data',\r\n classes: 'text-left custom-medium-table',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center custom-small-table'\r\n },\r\n {\r\n value: '',\r\n srOnly: true,\r\n classes: 'text-right custom-small-table',\r\n },\r\n ];\r\n\r\n if (['ministero', 'garante'].includes(utenza)) {\r\n headers.splice(2, 0, { \r\n value: 'Classe di appartenenza',\r\n style: {\r\n minWidth: '15rem'\r\n },\r\n })\r\n }\r\n return headers;\r\n};\r\n\r\nexport const getTableRows = (data) => {\r\n\r\n const searchIcon = ;\r\n\r\n const utente = JSON.parse(localStorage.getItem(\"utente\"))\r\n\r\n let utentePath = '';\r\n\r\n if (utente) {\r\n switch (utente.idtipo) {\r\n case 2:\r\n utentePath = 'enti'\r\n break;\r\n case 3:\r\n utentePath = 'responsabile-amministrazione'\r\n break;\r\n case 4:\r\n utentePath = 'responsabile-servizio'\r\n break;\r\n case 6:\r\n utentePath = 'ministero'\r\n break;\r\n case 7:\r\n utentePath = 'garante'\r\n break;\r\n default:\r\n break;\r\n }\r\n } else {\r\n return [];\r\n }\r\n\r\n if (data && data.length > 0 && utentePath) {\r\n return data.map((el, index) => {\r\n\r\n let statoIcon;\r\n switch (el.idstato) {\r\n case 1:\r\n statoIcon = \r\n break;\r\n case 2:\r\n statoIcon = \r\n break;\r\n case 3:\r\n statoIcon = \r\n break;\r\n case 4:\r\n statoIcon = \r\n break;\r\n case 5:\r\n statoIcon = \r\n break;\r\n case 6:\r\n statoIcon = \r\n break;\r\n case 8:\r\n if (el.revocato_dal_ministero) {\r\n statoIcon = \r\n } else statoIcon = \r\n break;\r\n case 9:\r\n statoIcon = \r\n break;\r\n default:\r\n statoIcon = \r\n }\r\n\r\n let cells = [\r\n {\r\n tag: '',\r\n value: el.id || 'n.d.',\r\n datath: 'ID',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: el.ente ? el.ente.denominazione : 'n.d.',\r\n datath: 'Ente',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: el.datainizio ? moment(el.datainizio).format('DD/MM/YYYY HH:mm') : 'n.d.',\r\n datath: 'Data',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: statoIcon,\r\n datath: 'Stato',\r\n classes: 'text-center'\r\n },\r\n {\r\n tag: '',\r\n to: buildDetailsPath(el, utentePath),\r\n link: searchIcon,\r\n title: `Vai al dettaglio accordo ${el.id}`,\r\n value: 'n.d.',\r\n datath: 'Link',\r\n classes: 'text-right',\r\n }\r\n ];\r\n\r\n if (['ministero', 'garante'].includes(utentePath)) {\r\n cells.splice(2, 0,\r\n {\r\n tag: '',\r\n value: el.ente ? el.ente.tipologia.classe : 'n.d.',\r\n datath: 'classeEnte',\r\n classes: 'text-left',\r\n style: {\r\n minWidth: '15rem'\r\n },\r\n },\r\n )\r\n };\r\n\r\n return {\r\n id: 'row-' + (index + 1),\r\n cells,\r\n }\r\n })\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nconst buildDetailsPath = (accordo, utentePath) => {\r\n let p = \"accordi\";\r\n if ( ['responsabile-amministrazione', 'responsabile-servizio'].includes(utentePath)\r\n || [STATO_ACCORDO.RICHIESTA_INSERITA, STATO_ACCORDO.RICHIESTA_ANNULLATA, STATO_ACCORDO.RICHIESTA_INVIATA, STATO_ACCORDO.RICHIESTA_RESPINTA_DA_MINISTERO].includes(accordo.idstato) ) {\r\n p = statiAccordo.find(st => st.key === accordo.idstato).urlparam2\r\n }\r\n return `/area-riservata/${utentePath}/${p}/dettagli/${accordo.id}`;\r\n};","import {getIdDecodificaByVariabile} from \"./decodifiche\";\r\n\r\nexport function getAccordi(accordi, stati_accordo, variabileDecodifica) {\r\n console.log(stati_accordo);\r\n if (accordi)\r\n return accordi.filter(\r\n x => x.idstato === getIdDecodificaByVariabile(\r\n variabileDecodifica,\r\n stati_accordo\r\n )\r\n );\r\n else\r\n return [];\r\n}\r\n\r\n\r\n","import React, {Component, Fragment} from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {getIdDecodificaByVariabile} from \"../../../common/decodifiche\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\n\r\nclass RichiesteAnnullateOperatore extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows: []\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_ANNULLATA'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n\r\n const displayNessunAccordo = () => {\r\n if (this.state.accordi) {\r\n if (this.state.accordi.length > 0) {\r\n const checkIfThereAreAccordiAttivi = this.state.accordi.filter(\r\n accordo =>\r\n parseInt(accordo.idstato) ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_ANNULLATA\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n );\r\n return checkIfThereAreAccordiAttivi.length > 0 ? (\r\n \"\"\r\n ) : (\r\n
    \r\n Nessuna richiesta di accordo trovata\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_ANNULLATA'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste di adesione annullate

    \r\n {displayNessunAccordo()}\r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRichiesteAnnullateOperatore.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteAnnullateOperatore);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteAnnullateOperatore from \"./RichiesteAnnullateOperatore\";\r\n\r\nconst RichiesteAnnullateSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiesteAnnullateSwitch;\r\n","import React, {Component} from \"react\";\r\nimport {DefaultError, DefaultLoading} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\n\r\nclass RichiesteRespinteOperatore extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows: []\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n\r\n const displayNessunAccordo = () => {\r\n if (this.state.accordi) {\r\n if (this.state.accordi.length > 0) {\r\n // const checkIfThereAreAccordiAttivi = this.state.accordi.filter(\r\n // accordo =>\r\n // parseInt(accordo.idstato) ===\r\n // getIdDecodificaByVariabile(\r\n // \"RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO\",\r\n // this.props.decodifiche_stati_accordo.stati_accordo\r\n // )\r\n // );\r\n return null;\r\n }\r\n }\r\n };\r\n\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste di adesione respinte

    \r\n {displayNessunAccordo()}\r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRichiesteRespinteOperatore.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteRespinteOperatore);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteRespinteOperatore from \"./RichiesteRespinteOperatore\";\r\n\r\nconst RichiesteRespinteSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiesteRespinteSwitch;\r\n","import React, { Fragment, useState } from 'react';\r\nimport Select from '../../../../../ui/select';\r\nimport IconButton from '../../../../../ui/icon-button';\r\n\r\nconst ConfiguraRichiestaForm = ({\r\n tipologie,\r\n getCategorie,\r\n categorie,\r\n // categorieSpecifiche,\r\n // getCategorieSpecifiche,\r\n setConfigurazione,\r\n loading\r\n}) => {\r\n\r\n const [tipologia, setTipologia] = useState();\r\n const [categoria, setCategoria] = useState();\r\n // const [categoriaspecifica, setCategoriaSpecifica] = useState();\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n ({\r\n value: tipo.id,\r\n label: tipo.descrizione\r\n }))\r\n : []}\r\n getValue={value => {\r\n setTipologia(value);\r\n setCategoria();\r\n getCategorie(value.value);\r\n }}\r\n disabled={loading}\r\n />\r\n
    \r\n
    \r\n {categorie &&\r\n \r\n
    \r\n
    \r\n ({\r\n value: tipo.id,\r\n label: tipo.descrizione\r\n }))}\r\n getValue={value => {\r\n setCategoria(value);\r\n // setCategoriaSpecifica();\r\n // if (value) {\r\n // getCategorieSpecifiche(value.value);\r\n // }\r\n }}\r\n disabled={loading}\r\n />\r\n
    \r\n
    \r\n {/* {categorieSpecifiche &&\r\n
    \r\n
    \r\n ({\r\n value: tipo.id,\r\n label: tipo.descrizione\r\n }))}\r\n getValue={value => {\r\n setCategoriaSpecifica(value);\r\n }}\r\n disabled={loading}\r\n />\r\n
    \r\n
    \r\n } */}\r\n
    \r\n }\r\n {\r\n categoria && tipologia &&\r\n setConfigurazione({\r\n tipologia: tipologie.find(el => el.id === tipologia.value),\r\n categoria: categorie.find(el => el.id === categoria.value),\r\n // categoriaspecifica: categoriaspecifica ? categorieSpecifiche.find(el => el.id === categoriaspecifica.value) : undefined,\r\n })}\r\n label=\"Continua\"\r\n rightIcon\r\n type=\"button\"\r\n\r\n />\r\n }\r\n
    \r\n )\r\n};\r\n\r\nexport default ConfiguraRichiestaForm;","import React, { Fragment } from \"react\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport PropTypes from \"prop-types\";\r\nimport DiacriticInput from \"../../../ui/diacritic-input\";\r\nimport Input from \"../../../ui/input\";\r\nimport DatePicker from \"../../../ui/date-picker/\";\r\nimport Select from \"../../../ui/select\";\r\n\r\nconst FormDatiUtente = props => {\r\n const {\r\n id,\r\n emailFlag,\r\n errors,\r\n setFieldValue,\r\n values,\r\n handleBlur,\r\n disabled,\r\n resetCfErrors,\r\n cfErrorsFlag,\r\n required = [],\r\n disabledFields = [],\r\n ruoloflag,\r\n forcePEC = false,\r\n tipiEmail = [\r\n {\r\n value: 1,\r\n label: \"PEC\"\r\n },\r\n {\r\n value: 2,\r\n label: \"PEL\"\r\n },\r\n ]\r\n } = props;\r\n\r\n\r\n const isDisabled = (fieldName) => {\r\n return disabled || disabledFields.includes(fieldName);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {\r\n if (cfErrorsFlag) {\r\n resetCfErrors(e);\r\n }\r\n setFieldValue(\"nome\", value);\r\n }}\r\n onBlur={handleBlur}\r\n required\r\n disabled={isDisabled('nome')}\r\n uppercase\r\n />\r\n
    \r\n
    \r\n {\r\n if (cfErrorsFlag) {\r\n resetCfErrors(e);\r\n }\r\n setFieldValue(\"cognome\", value);\r\n }}\r\n onBlur={handleBlur}\r\n required\r\n disabled={isDisabled('cognome')}\r\n uppercase\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n console.log(date);\r\n if (cfErrorsFlag) {\r\n resetCfErrors();\r\n }\r\n setFieldValue(\"datanascita\", date)\r\n }}\r\n value={values.datanascita !== null ? values.datanascita : ''}\r\n onBlur={handleBlur}\r\n error={errors['datanascita'] ? errors['datanascita'] : null}\r\n filterDate={date => {\r\n return new Date(Date.now() - 86400000) > date;\r\n }}\r\n disabled={isDisabled('datanascita')}\r\n />\r\n
    \r\n
    \r\n {\r\n if (cfErrorsFlag) {\r\n resetCfErrors(e);\r\n }\r\n setFieldValue(\"codicefiscale\", value)\r\n }}\r\n onBlur={handleBlur}\r\n disabled={isDisabled('codicefiscale')}\r\n uppercase\r\n />\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {\r\n emailFlag &&\r\n
    \r\n {\r\n setFieldValue(\"email\", value);\r\n }}\r\n onBlur={handleBlur}\r\n disabled={isDisabled('email')}\r\n required\r\n />\r\n
    \r\n }\r\n {\r\n emailFlag && !forcePEC &&\r\n
    \r\n el.value === values.tipoemail) : undefined}\r\n optionlist={tipiEmail}\r\n getValue={value => setFieldValue('tipoemail', value ? value.value : '')}\r\n disabled={isDisabled('tipoemail')}\r\n error={errors['tipoemail'] ? errors['tipoemail'] : null}\r\n />\r\n
    \r\n }\r\n
    \r\n {\r\n setFieldValue(\"telefono\", value);\r\n }}\r\n onBlur={handleBlur}\r\n disabled={isDisabled('telefono')}\r\n />\r\n
    \r\n
    \r\n\r\n {ruoloflag &&\r\n
    \r\n
    \r\n {\r\n setFieldValue(\"ruolo\", value);\r\n }}\r\n onBlur={handleBlur}\r\n disabled={isDisabled('ruolo')}\r\n required\r\n />\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nFormDatiUtente.propTypes = {\r\n errors: PropTypes.object.isRequired,\r\n setFieldValue: PropTypes.func.isRequired,\r\n values: PropTypes.object.isRequired\r\n};\r\n\r\nexport default FormDatiUtente;\r\n","import moment from 'moment';\r\n\r\nclass DateUtils {\r\n\r\n static getEndOfYesterday() {\r\n return moment().subtract(1, 'days').endOf('day').toDate();\r\n }\r\n\r\n}\r\n\r\nexport default DateUtils;","import * as yup from 'yup';\r\nimport { configParamsKeys } from '../../../../../../../constants/config-params-keys';\r\nimport DateUtils from '../../../../../../../utils/DateUtils';\r\nimport { isNullOrUndefined } from '../../../../../../../utils/functions/objects/isNullOrUndefined';\r\n\r\nexport const resetFormFields = (actorID, configParams) => {\r\n\r\n let resetarray = [\r\n {\r\n name: 'codicefiscale',\r\n reset: ''\r\n },\r\n {\r\n name: 'nome',\r\n reset: ''\r\n },\r\n {\r\n name: 'cognome',\r\n reset: ''\r\n },\r\n {\r\n name: 'datanascita',\r\n reset: undefined\r\n },\r\n {\r\n name: 'telefono',\r\n reset: ''\r\n }\r\n ];\r\n\r\n if (\r\n ['responsabileamministrazione'].includes(actorID) ||\r\n (configParams[configParamsKeys[`${actorID}_email`]] === 'true')) {\r\n resetarray.push({\r\n name: 'email',\r\n reset: ''\r\n },\r\n {\r\n name: 'tipoemail',\r\n reset: ''\r\n });\r\n }\r\n return resetarray;\r\n};\r\n\r\nexport const getInitialValues = (actorID, data, configParams, additionalData) => {\r\n const init = {\r\n requiredFlag: (\r\n (actorID === 'delegato')\r\n && !isNullOrUndefined(data)\r\n && !!data.codicefiscale\r\n ) || actorID !== 'delegato',\r\n codicefiscale: data !== null && data\r\n && (data.codicefiscale !== null) ?\r\n data.codicefiscale : \"\",\r\n nome: data !== null && data\r\n && (data.nome !== null) ?\r\n data.nome : \"\",\r\n cognome: data !== null && data\r\n && (data.cognome !== null) ?\r\n data.cognome : \"\",\r\n datanascita: data !== null\r\n && data && data.datanascita && (data.datanascita !== null) ?\r\n new Date(data.datanascita)\r\n : undefined,\r\n telefono: data !== null && data && (data.telefono !== null) ?\r\n data.telefono : \"\",\r\n filedelega: undefined\r\n };\r\n\r\n if (\r\n ['responsabileamministrazione'].includes(actorID) ||\r\n (configParams[configParamsKeys[`${actorID}_email`]] === 'true')) {\r\n init[\"email\"] = data !== null && data && (data.email !== null) ?\r\n data.email : \"\";\r\n init[\"tipoemail\"] = data !== null && data && (data.tipoemail !== null) ?\r\n data.tipoemail : \"\";\r\n }\r\n\r\n if (actorID === 'delegato') {\r\n init['filedelega'] = !isNullOrUndefined(data) && !isNullOrUndefined(data.filedelega)\r\n ? data.filedelega\r\n : !!additionalData && (additionalData.filedelega !== null)\r\n ? additionalData.filedelega\r\n : {};\r\n } else if (actorID === 'responsabilefirmaente') {\r\n init['ruolo'] = !isNullOrUndefined(data) && !isNullOrUndefined(data.ruolo)\r\n ? data.ruolo\r\n : !isNullOrUndefined(additionalData) && !isNullOrUndefined(additionalData.filedelega)\r\n ? additionalData.ruolo\r\n : \"\";\r\n }\r\n\r\n return init;\r\n};\r\n\r\nexport const attoreAccordoValidationSchema = (actorID, configParams) => {\r\n let schema = yup.object().shape({\r\n requiredFlag: yup.bool(),\r\n codicefiscale: yup.string()\r\n .when('requiredFlag', (requiredFlag) => {\r\n if (requiredFlag || (actorID !== 'delegato')) {\r\n return yup.string()\r\n .required(\"Codice fiscale: campo obbligatorio.\")\r\n }\r\n }),\r\n nome: yup.string()\r\n .when('requiredFlag', (requiredFlag) => {\r\n if (requiredFlag || (actorID !== 'delegato')) {\r\n return yup.string()\r\n .min(2, \"Nome: deve avere al meno 2 caratteri.\")\r\n .max(50, \"Nome: non puo avere piu di 50 caratteri.\")\r\n .required(\"Nome: campo obbligatorio.\")\r\n }\r\n }),\r\n cognome: yup.string()\r\n .when('requiredFlag', (flag) => {\r\n if (flag || (actorID !== 'delegato')) {\r\n return yup.string()\r\n .min(2, \"Cognome: deve avere al meno 2 caratteri.\")\r\n .max(50, \"Cognome: non puo avere piu di 50 caratteri.\")\r\n .required(\"Cognome: campo obbligatorio.\")\r\n }\r\n }),\r\n datanascita: yup.date().typeError(\"Data di nascita: formato non valido\").max(DateUtils.getEndOfYesterday(), \"Data di nascita: deve essere una data passata.\").nullable(),\r\n telefono: yup.string()\r\n .when('requiredFlag', (flag) => {\r\n if (flag || (actorID !== 'delegato')) {\r\n return yup.string()\r\n .test(\"telefono\", \"Numero telefonico non valido\", value => {\r\n if (!value) {\r\n return true;\r\n }\r\n return /^[+]*[0-9]{1,4}[-\\s./0-9]*$/.test(value);\r\n })\r\n }\r\n })\r\n .nullable(),\r\n });\r\n\r\n if (['responsabileamministrazione'].includes(actorID) ||\r\n (configParams[configParamsKeys[`${actorID}_email`]] === 'true')) {\r\n const emailValidation = yup.object().shape({\r\n email: yup.string()\r\n .email(\"Indirizzo email non valido\")\r\n .when('requiredFlag', (flag) => {\r\n if (flag || (actorID !== 'delegato')) {\r\n return yup.string()\r\n .required(\"Email: campo obbligatorio.\")\r\n }\r\n }),\r\n tipoemail: yup.string()\r\n .when('requiredFlag', (flag) => {\r\n if (flag || (actorID !== 'delegato')) {\r\n return yup.string()\r\n .required(\"Tipo email: campo obbligatorio.\")\r\n }\r\n })\r\n });\r\n schema = schema.concat(emailValidation);\r\n }\r\n\r\n if (actorID === 'delegato') {\r\n const filedelegaobj = yup.object().shape({\r\n filedelega: yup.object().shape({\r\n fileName: yup.string(),\r\n fileContent: yup.string()\r\n })\r\n })\r\n .test('filedelegarequired', 'File delega: campo obbligatorio.', function (value) {\r\n if (value.requiredFlag &&\r\n (!value.filedelega || (value.filedelega && !value.filedelega.fileName))) {\r\n return this.createError({ path: 'filedelega', message: 'File delega: campo obbligatorio.' });\r\n } else return true;\r\n });\r\n\r\n schema = schema.concat(filedelegaobj);\r\n } else if (actorID === \"responsabilefirmaente\") {\r\n schema = schema.concat(yup.object().shape({\r\n ruolo: yup.string()\r\n .required(\"Ruolo: campo obbligatorio.\")\r\n }));\r\n }\r\n return schema;\r\n};","import React from 'react';\r\nimport InputFile from '../../../../../ui/input-file';\r\n\r\nconst SezioneDelegato = ({\r\n getFileDelega,\r\n disabled,\r\n filedelega,\r\n error,\r\n isLoading\r\n}) => {\r\n\r\n return (\r\n \r\n )\r\n\r\n};\r\n\r\nexport default SezioneDelegato;","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport FormDatiUtente from \"../../../../common/form-dati-utente/FormDatiUtente\";\r\nimport Form from \"../../../../../formik\";\r\nimport { getInitialValues, attoreAccordoValidationSchema, resetFormFields } from \"./form-init/formInit\";\r\nimport IconButton from \"../../../../../ui/icon-button\";\r\nimport AutoToggleButton from \"../../../../../ui/auto-toggle-button\";\r\nimport SezioneDelegato from \"./SezioneDelegato\";\r\nimport SingleCheckbox from \"../../../../../ui/single-checkbox\";\r\nimport { configParamsKeys } from \"../../../../../../constants/config-params-keys\";\r\n\r\nconst DatiAttoreAccordo = ({\r\n actor,\r\n configParams,\r\n previousActor,\r\n storeData,\r\n forceSubmit,\r\n cancelForceSubmit,\r\n modifica,\r\n richiestaSalvata,\r\n cfErrors,\r\n delegatodbflag,\r\n fileDelegaIsLoading,\r\n setRedirect,\r\n validateCf\r\n}) => {\r\n const validationSchema = attoreAccordoValidationSchema(actor.id, configParams);\r\n\r\n const [toggleSubmit, setToggleSubmit] = useState(false);\r\n\r\n useEffect(() => {\r\n if (forceSubmit) {\r\n setToggleSubmit(true);\r\n }\r\n }, [forceSubmit]);\r\n\r\n let emailFlag = ['responsabileamministrazione'].includes(actor.id) ||\r\n (configParams[configParamsKeys[`${actor.id}_email`]] === 'true');\r\n\r\n return (\r\n
    \r\n {\r\n if (values.codicefiscale && values.codicefiscale.length) {\r\n validateCf(values, (err) => {\r\n if (!!err) {\r\n setErrors({\r\n ...errors,\r\n codicefiscale2: err\r\n })\r\n } else {\r\n storeData(values, actor, forceSubmit || actor.next);\r\n }\r\n })\r\n } else if ((actor.id === 'delegato') && !values.requiredFlag) {\r\n storeData(null, actor, forceSubmit || actor.next);\r\n }\r\n }}\r\n cleanButton\r\n cleanButtonExtraClasses={\"mt-3 mr-4\"}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n handleBlur,\r\n errorMessage,\r\n setErrors,\r\n validateForm,\r\n cleanButton,\r\n }) => {\r\n return (\r\n \r\n {\r\n setToggleSubmit(false);\r\n if (modifica) {\r\n validateForm().then(res => {\r\n if (!Object.keys(res).length) {\r\n if (values.codicefiscale && values.codicefiscale.length) {\r\n validateCf(values, (err) => {\r\n if (!!err) {\r\n setErrors({\r\n ...errors,\r\n codicefiscale2: err\r\n })\r\n } else {\r\n storeData(values, actor, undefined);\r\n if (!!setRedirect) {\r\n setRedirect(forceSubmit);\r\n }\r\n }\r\n })\r\n } else if ((actor.id === 'delegato') && !values.requiredFlag) {\r\n storeData(null, actor, undefined);\r\n if (!!setRedirect) {\r\n setRedirect(forceSubmit);\r\n }\r\n }\r\n } else {\r\n setErrors(res);\r\n cancelForceSubmit();\r\n }\r\n });\r\n } else {\r\n storeData(values, actor, undefined);\r\n if (!!setRedirect) {\r\n setRedirect(forceSubmit);\r\n }\r\n }\r\n }\r\n }\r\n toggle={toggleSubmit}\r\n />\r\n {actor.id === 'delegato'\r\n &&\r\n {\r\n setFieldValue('requiredFlag', checked).then(\r\n res => {\r\n if (!checked) {\r\n setFieldValue('nome', '');\r\n setFieldValue('cognome', '');\r\n setFieldValue('datanascita', undefined);\r\n setFieldValue('codicefiscale', '');\r\n setFieldValue('telefono', '');\r\n setFieldValue('email', '');\r\n setFieldValue('tipoemail', '');\r\n setFieldValue('filedelega', {});\r\n }\r\n }\r\n );\r\n }}\r\n extraClasses=\"mt-2\"\r\n />\r\n }\r\n {\r\n let newErrors = {};\r\n Object.keys(errors).forEach(errkey => {\r\n if (errkey !== 'codicefiscale2') {\r\n newErrors[errkey] = errors[errkey];\r\n }\r\n });\r\n setErrors(newErrors);\r\n }}\r\n handleBlur={handleBlur}\r\n disabled={actor.id === 'delegato' && !values.requiredFlag}\r\n ruoloflag={['responsabilefirmaente'].includes(actor.id)}\r\n />\r\n {actor.id === 'delegato' &&\r\n
    \r\n
    \r\n {\r\n setFieldValue('filedelega', file);\r\n setFieldValue('filechanged', true);\r\n }}\r\n values={values}\r\n isLoading={fileDelegaIsLoading}\r\n />\r\n
    \r\n
    \r\n }\r\n {errorMessage}\r\n
    \r\n {\r\n validateForm().then(res => {\r\n if (!Object.keys(res).length) {\r\n if (values.codicefiscale && values.codicefiscale.length) {\r\n validateCf(values, (err) => {\r\n if (!!err) {\r\n setErrors({\r\n ...errors,\r\n codicefiscale2: err\r\n })\r\n } else {\r\n storeData(values, actor, undefined);\r\n if (!!setRedirect) {\r\n setRedirect(actor.next);\r\n }\r\n }\r\n })\r\n } else if ((actor.id === 'delegato') && !values.requiredFlag) {\r\n storeData(null, actor, undefined);\r\n if (!!setRedirect) {\r\n setRedirect(actor.next);\r\n }\r\n }\r\n } else setErrors(res)\r\n })\r\n }}\r\n rightIcon\r\n extraClasses={\"mr-4 mt-3\"}\r\n />\r\n {cleanButton}\r\n {(actor.id !== 'rappresentantelegale')\r\n && !richiestaSalvata\r\n && !!previousActor\r\n &&\r\n {\r\n let newValues = getInitialValues(actor.id, previousActor.data, configParams, values);\r\n if (values.filedelega) {\r\n newValues['filedelega'] = values.filedelega;\r\n }\r\n if (values.requiredFlag) {\r\n newValues['requiredFlag'] = values.requiredFlag;\r\n }\r\n Object.keys(newValues).forEach(key => {\r\n setFieldValue(key, newValues[key]);\r\n })\r\n }\r\n }\r\n />\r\n }\r\n {modifica &&\r\n {\r\n validateForm().then(res => {\r\n if (!Object.keys(res).length) {\r\n if (values.codicefiscale && values.codicefiscale.length) {\r\n validateCf(values, (err) => {\r\n if (!!err) {\r\n setErrors({\r\n ...errors,\r\n codicefiscale2: err\r\n })\r\n } else {\r\n storeData(values, actor, undefined, true);\r\n if (!!setRedirect) {\r\n setRedirect('riepilogo');\r\n }\r\n }\r\n })\r\n } else if ((actor.id === 'delegato') && !values.requiredFlag) {\r\n storeData(null, actor, undefined, true);\r\n if (!!setRedirect) {\r\n setRedirect('riepilogo');\r\n }\r\n }\r\n } else setErrors(res)\r\n });\r\n }}\r\n id=\"btn-riepilogo-richiesta-adesione\"\r\n name=\"btn-riepilogo-richiesta-adesione\"\r\n label=\"Vai al riepilogo\"\r\n extraClasses={\"mr-4 mt-3\"}\r\n />\r\n }\r\n
    \r\n
    \r\n )\r\n }\r\n }\r\n \r\n
    \r\n );\r\n};\r\nexport default DatiAttoreAccordo;","import * as Yup from 'yup';\r\nimport { isNullOrUndefined } from '../../../../../../../utils/functions/objects/isNullOrUndefined';\r\n\r\nconst MAX_FILE_SIZE = 2097152; // 2 MB\r\n\r\nexport const getInitialValues = (data) => {\r\n return ({\r\n attoente: !!data && !isNullOrUndefined(data.attoente) ? data.attoente : '',\r\n noteente: !!data && !isNullOrUndefined(data.noteente) ? data.noteente : '',\r\n filenormativacasiduso: !!data && !isNullOrUndefined(data.filenormativacasiduso) ? data.filenormativacasiduso : undefined\r\n });\r\n};\r\n\r\nexport const impostazioniAccordoValidationSchema = () => Yup.object().shape({\r\n attoente: Yup.string().required(\"Estremi dell'atto di approvazione dell’accordo: campo obbligatorio.\").max(4000, \"Estremi dell’atto di approvazione dell’accordo: massimo 4000 caratteri.\"),\r\n noteente: Yup.string().required(\"Individuazione casi d'uso e normative di riferimento: campo obbligatorio.\").max(4000, \"Individuazione casi d'uso e normative di riferimento: massimo 4000 caratteri.\"),\r\n filenormativacasidusosize: Yup.number().nullable().max(MAX_FILE_SIZE, \"File individuazione casi d'uso e normative di riferimento: il file supera la dimensione massima consentita di 2 MB.\")\r\n});\r\n","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport { getInitialValues, impostazioniAccordoValidationSchema } from \"./form-init/formInit\";\r\nimport Form from \"../../../../../formik\";\r\nimport AutoToggleButton from \"../../../../../ui/auto-toggle-button\";\r\nimport IconButton from \"../../../../../ui/icon-button\";\r\nimport TextArea from \"../../../../../ui/text-area\";\r\nimport InputFile from '../../../../../ui/input-file';\r\n\r\nconst NoteEnte = ({\r\n step,\r\n storeData,\r\n forceSubmit,\r\n setRedirect\r\n}) => {\r\n const [initialValues, setInitialValues] = useState(getInitialValues(step.data));\r\n const validationSchema = impostazioniAccordoValidationSchema();\r\n\r\n const [toggleSubmit, setToggleSubmit] = useState(false);\r\n\r\n useEffect(() => {\r\n setInitialValues(getInitialValues(step.data));\r\n }, [step.data]);\r\n\r\n useEffect(() => {\r\n if (forceSubmit) {\r\n setToggleSubmit(true);\r\n }\r\n }, [forceSubmit]);\r\n\r\n return (\r\n
    \r\n {\r\n storeData(values, step, forceSubmit || step.next, true);\r\n }}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n touched,\r\n handleBlur,\r\n errorMessage,\r\n submitForm,\r\n dirty,\r\n setErrors,\r\n validateForm\r\n }) => (\r\n \r\n\r\n {\r\n setToggleSubmit(false);\r\n validateForm().then(res => {\r\n if (!Object.keys(res).length) {\r\n storeData(dirty ? values : undefined, step, forceSubmit || step.next, true);\r\n if (!!setRedirect) {\r\n setRedirect(forceSubmit);\r\n }\r\n }\r\n })\r\n }}\r\n toggle={toggleSubmit}\r\n />\r\n\r\n setFieldValue(\"attoente\", value)}\r\n onBlur={handleBlur}\r\n rows={5}\r\n />\r\n\r\n setFieldValue(\"noteente\", value)}\r\n onBlur={handleBlur}\r\n rows={5}\r\n required\r\n />\r\n\r\n File in formato PDF di dimensione massima 2 MB. Da utilizzare qualora il campo precedente non fosse sufficiente.}\r\n value={values.filenormativacasiduso}\r\n extraClasses=\"w-md-50\"\r\n disabled={false}\r\n getFile={(file, info) => {\r\n setFieldValue('filenormativacasiduso', file);\r\n setFieldValue('filenormativacasidusochanged', true);\r\n setFieldValue('filenormativacasidusosize', info?.size)\r\n }}\r\n accept=\"application/pdf\"\r\n loading={false}\r\n removable\r\n />\r\n\r\n\r\n {errorMessage}\r\n
    \r\n {\r\n validateForm().then(res => {\r\n if (!Object.keys(res).length) {\r\n storeData(dirty ? values : undefined, step, forceSubmit || step.next, true);\r\n if (!!setRedirect) {\r\n setRedirect('riepilogo');\r\n }\r\n }\r\n })\r\n }}\r\n id=\"btn-riepilogo-richiesta-adesione\"\r\n name=\"btn-riepilogo-richiesta-adesione\"\r\n label=\"Vai al riepilogo\"\r\n rightIcon\r\n extraClasses={\"mr-4 mt-3\"}\r\n />\r\n
    \r\n
    \r\n )\r\n }\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default NoteEnte;\r\n","export const progressBarStepsDefault = [\r\n {\r\n status: 'doing',\r\n label: 'Rappresentante legale',\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/rappresentante-legale',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/responsabile-amministrazione',\r\n name: 'rappresentante-legale',\r\n },\r\n {\r\n status: 'todo',\r\n label: 'Responsabile amministrazione',\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/responsabile-amministrazione',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/supervisore-servizio',\r\n name: 'responsabile-amministrazione',\r\n },\r\n {\r\n status: 'todo',\r\n label: 'Supervisore servizio',\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/supervisore-servizio',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/responsabile-firma-ente',\r\n name: 'supervisore-servizio',\r\n },\r\n {\r\n status: 'done',\r\n label: 'Responsabile firma',\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/responsabile-firma-ente',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/delegato',\r\n name: 'responsabile-firma-ente',\r\n },\r\n {\r\n status: 'done',\r\n label: 'Delegato',\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/delegato',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/impostazioni-accordo',\r\n name: 'delegato',\r\n },\r\n {\r\n status: 'todo',\r\n label: 'Impostazioni',\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/impostazioni-accordo',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/estremi-atto',\r\n name: 'impostazioni-accordo',\r\n },\r\n {\r\n status: 'todo',\r\n label: \"Estremi atto / Casi d'uso e normative di riferimento\",\r\n link: '/area-riservata/enti/nuova-richiesta-adesione/estremi-atto',\r\n next: '/area-riservata/enti/nuova-richiesta-adesione/riepilogo',\r\n name: 'estremi-atto',\r\n },\r\n];\r\n\r\nexport const getProgressBarStepsDefault = (stepsData, stepChanges, active, modifica, richiestaInserita, richiestaInviata) => {\r\n const steps = [\r\n {\r\n number: 1,\r\n id: 'rappresentantelegale',\r\n urlparam: 'rappresentante-legale',\r\n label: 'Rappresentante legale',\r\n status: modifica ?\r\n 'done'\r\n : stepChanges['rappresentantelegale'] ?\r\n stepChanges['rappresentantelegale']['status']\r\n : 'todo',\r\n next: 'responsabile-amministrazione',\r\n data: stepChanges['rappresentantelegale'] ? stepChanges['rappresentantelegale']\r\n : (stepsData ? stepsData['rappresentantelegale'] : undefined),\r\n active: active === 'rappresentante-legale'\r\n },\r\n {\r\n number: 2,\r\n id: 'responsabileamministrazione',\r\n urlparam: 'responsabile-amministrazione',\r\n label: 'Responsabile amministrazione',\r\n status: modifica ?\r\n 'done'\r\n : stepChanges['responsabileamministrazione'] ?\r\n stepChanges['responsabileamministrazione']['status']\r\n : 'todo',\r\n next: 'supervisore-servizio',\r\n data: stepChanges['responsabileamministrazione'] || (stepsData ? stepsData['responsabileamministrazione'] : undefined),\r\n active: active === 'responsabile-amministrazione'\r\n },\r\n {\r\n number: 3,\r\n id: 'supervisore',\r\n urlparam: 'supervisore-servizio',\r\n label: 'Supervisore servizio',\r\n status: modifica ?\r\n 'done'\r\n : stepChanges['supervisore'] ?\r\n stepChanges['supervisore']['status']\r\n : 'todo',\r\n next: 'responsabile-firma-ente',\r\n data: stepChanges['supervisore'] || (stepsData ? stepsData['supervisore'] : undefined),\r\n active: active === 'supervisore-servizio'\r\n },\r\n {\r\n number: 4,\r\n id: 'responsabilefirmaente',\r\n urlparam: 'responsabile-firma-ente',\r\n label: 'Responsabile firma',\r\n status: modifica ?\r\n 'done'\r\n : stepChanges['responsabilefirmaente'] ?\r\n stepChanges['responsabilefirmaente']['status']\r\n : 'todo',\r\n next: (stepsData && stepsData.delegato) || !richiestaInviata\r\n ? 'delegato' : 'estremi-atto',\r\n data: stepChanges['responsabilefirmaente'] || (stepsData ? stepsData['responsabilefirmaente'] : undefined),\r\n active: active === 'responsabile-firma-ente'\r\n },\r\n // {\r\n // number: 5,\r\n // id: 'impostazioniaccordo',\r\n // urlparam: 'impostazioni-accordo',\r\n // label: 'Impostazioni',\r\n // status: modifica ?\r\n // 'done'\r\n // : stepChanges['impostazioniaccordo'] ?\r\n // stepChanges['impostazioniaccordo']['status']\r\n // : 'todo',\r\n // next: 'note-ente',\r\n // data: stepChanges['impostazioniaccordo'] || {\r\n // maxutenti: stepsData ? stepsData['maxtransazionipreviste'] : '',\r\n // transazionipreviste: stepsData ? stepsData['transazionipreviste'] : '',\r\n // maxtransazionipreviste: stepsData ? stepsData['maxtransazionipreviste'] : '',\r\n // },\r\n // active: active === 'impostazioni-accordo'\r\n // },\r\n {\r\n number: 6,\r\n id: 'estremiatto',\r\n urlparam: 'estremi-atto',\r\n label: \"Estremi atto / Casi d'uso e normative di riferimento\",\r\n status: modifica ?\r\n 'done'\r\n : stepChanges['noteente'] ?\r\n stepChanges['noteente']['status']\r\n : 'todo',\r\n data: {\r\n attoente: stepChanges['estremiatto'] && stepChanges['estremiatto']['attoente']\r\n ? stepChanges['estremiatto']['attoente']\r\n : stepsData && (stepsData['attoente'] !== null)\r\n ? stepsData['attoente'] : undefined,\r\n noteente: stepChanges['estremiatto'] && stepChanges['estremiatto']['noteente']\r\n ? stepChanges['estremiatto']['noteente']\r\n : stepsData && (stepsData['noteente'] !== null)\r\n ? stepsData['noteente'] : undefined,\r\n filenormativacasiduso: stepChanges?.estremiatto?.filenormativacasiduso || (stepsData?.idfilenormativacasiduso && { fileName: `Individuazione_casi_uso_e_normative_di_riferimento_${stepsData.idfilenormativacasiduso}.pdf` })\r\n },\r\n next: 'riepilogo',\r\n active: active === 'estremi-atto'\r\n },\r\n ];\r\n\r\n if ((stepsData && (richiestaInviata || richiestaInserita))\r\n || !stepsData\r\n ) {\r\n steps.push({\r\n number: 5,\r\n id: 'delegato',\r\n urlparam: 'delegato',\r\n label: 'Delegato',\r\n status: modifica || (!modifica && stepChanges.completed) ?\r\n 'done'\r\n : stepChanges['delegato'] ?\r\n stepChanges['delegato']['status']\r\n : 'todo',\r\n next: 'estremi-atto',\r\n data: stepChanges['delegato'] === null\r\n ? null\r\n : stepChanges['delegato']\r\n ? stepChanges['delegato']\r\n : (stepsData\r\n ? {\r\n ...stepsData['delegato'],\r\n filedelega: stepsData.idfiledelega ? {\r\n fileName: `Delega_${stepsData.idfiledelega}.pdf`,\r\n fileContent: undefined\r\n } : undefined\r\n } : undefined),\r\n active: active === 'delegato'\r\n })\r\n }\r\n\r\n return steps.sort((a, b) => { if (a.number > b.number) { return 1 } else return -1 })\r\n};","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport ProgressBar from \"../../../ui/progress-bar\";\r\nimport { DatiAttoreAccordo, NoteEnte } from \"./_partials\";\r\nimport { putRichiestaAdesioneData, getAccordoById, validateCf } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { getProgressBarStepsDefault } from \"./utils/progressBarStepsDefault\";\r\nimport Spinner from \"../../../ui/spinner\";\r\nclass RichiestaAdesione extends Component {\r\n\tstate = {\r\n\t\tredirect: false,\r\n\t};\r\n\r\n\tstoreData = (data, step, nextStep, completed) => {\r\n\t\tthis.props.putRichiestaAdesioneData({\r\n\t\t\tdata,\r\n\t\t\tstep,\r\n\t\t\tnext: nextStep,\r\n\t\t\tcompleted\r\n\t\t});\r\n\t};\r\n\r\n\trichiesta_inviata_inserita = () => {\r\n\t\tif ((!this.props.get_accordi_by_id_ente.isLoading\r\n\t\t\t&& (this.props.get_accordi_by_id_ente.richiesta_inviata\r\n\t\t\t\t|| this.props.get_accordi_by_id_ente.richiesta_inserita))\r\n\t\t\t||\r\n\t\t\tthis.props.get_accordi_by_id_ente.pristine) {\r\n\t\t\treturn true;\r\n\t\t} else return false;\r\n\t};\r\n\r\n\trichiestaDbFlag = () => {\r\n\t\tif (this.richiesta_inviata_inserita()\r\n\t\t\t&& (\r\n\t\t\t\t(this.props.get_accordo_by_id.isLoading || this.props.get_accordo_by_id.pristine)\r\n\t\t\t\t|| !!this.props.get_accordo_by_id.accordo)\r\n\t\t) {\r\n\t\t\treturn true;\r\n\t\t} else return false;\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\r\n\t\t/** Se sono in modifica e non ho la richiesta inserita nello store, devo estrarmela dal servizio */\r\n\t\tlet richiesta = this.props.get_accordi_by_id_ente.richiesta_inviata\r\n\t\t\t|| this.props.get_accordi_by_id_ente.richiesta_inserita;\r\n\r\n\t\tif (\r\n\t\t\trichiesta &&\r\n\t\t\t!this.richiestaDbFlag() &&\r\n\t\t\t!this.props.richiesta_adesione_data.completed\r\n\t\t) {\r\n\t\t\tthis.props.getAccordoById(richiesta.id);\r\n\t\t} else if (!this.props.get_accordi_by_id_ente.pristine) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tsteps: getProgressBarStepsDefault(\r\n\t\t\t\t\tthis.props.get_accordo_by_id.accordo,\r\n\t\t\t\t\tthis.props.richiesta_adesione_data,\r\n\t\t\t\t\tthis.props.match.params.stepname,\r\n\t\t\t\t\tthis.props.modifica,\r\n\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inserita,\r\n\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inviata,\r\n\t\t\t\t),\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif ((this.richiestaDbFlag() && !this.props.get_accordi_by_id_ente.pristine) || this.props.richiesta_adesione_data.completed) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tsteps: getProgressBarStepsDefault(\r\n\t\t\t\t\tthis.props.get_accordo_by_id.accordo,\r\n\t\t\t\t\tthis.props.richiesta_adesione_data,\r\n\t\t\t\t\tthis.props.match.params.stepname,\r\n\t\t\t\t\tthis.props.modifica,\r\n\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inserita,\r\n\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inviata,\r\n\t\t\t\t),\r\n\t\t\t})\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidUpdate(prev, prevState) {\r\n\t\t/** Se sono in modifica e non ho la richiesta inserita nello store, devo estrarmela dal servizio */\r\n\t\tlet richiesta = this.props.get_accordi_by_id_ente.richiesta_inviata\r\n\t\t\t|| this.props.get_accordi_by_id_ente.richiesta_inserita;\r\n\r\n\t\tif (this.props.get_accordi_by_id_ente !== prev.get_accordi_by_id_ente\r\n\t\t) {\r\n\t\t\tif (richiesta) {\r\n\t\t\t\tthis.props.getAccordoById(richiesta.id);\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tsteps: getProgressBarStepsDefault(\r\n\t\t\t\t\t\tthis.props.get_accordo_by_id.accordo,\r\n\t\t\t\t\t\tthis.props.richiesta_adesione_data,\r\n\t\t\t\t\t\tthis.props.match.params.stepname,\r\n\t\t\t\t\t\tthis.props.modifica,\r\n\t\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inserita,\r\n\t\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inviata,\r\n\t\t\t\t\t),\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.props.modifica && !this.props.get_accordi_by_id_ente.pristine &&\r\n\t\t\t(\r\n\t\t\t\t(this.props.richiesta_adesione_data.completed &&\r\n\t\t\t\t\tthis.props.richiesta_adesione_data !== prev.richiesta_adesione_data) ||\r\n\t\t\t\t(this.props.get_accordo_by_id.accordo &&\r\n\t\t\t\t\tthis.props.get_accordo_by_id.accordo.id &&\r\n\t\t\t\t\t(this.props.get_accordo_by_id !== prev.get_accordo_by_id)))\r\n\t\t) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tsteps: getProgressBarStepsDefault(\r\n\t\t\t\t\tthis.props.get_accordo_by_id.accordo,\r\n\t\t\t\t\tthis.props.richiesta_adesione_data,\r\n\t\t\t\t\tthis.props.match.params.stepname,\r\n\t\t\t\t\tthis.props.modifica,\r\n\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inserita,\r\n\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inviata,\r\n\t\t\t\t),\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif ((this.props.richiesta_adesione_data !== prev.richiesta_adesione_data)\r\n\t\t\t&& !this.props.richiesta_adesione_data.isLoading\r\n\t\t\t&& !this.props.get_accordi_by_id_ente.pristine) {\r\n\t\t\tif (this.props.richiesta_adesione_data.next !== prev.richiesta_adesione_data.next) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tredirect: this.props.richiesta_adesione_data.next,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tsteps: getProgressBarStepsDefault(\r\n\t\t\t\t\t\tthis.props.get_accordo_by_id.accordo,\r\n\t\t\t\t\t\tthis.props.richiesta_adesione_data,\r\n\t\t\t\t\t\tthis.props.match.params.stepname,\r\n\t\t\t\t\t\tthis.props.modifica,\r\n\t\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inserita,\r\n\t\t\t\t\t\tthis.props.get_accordi_by_id_ente.richiesta_inviata,\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.steps !== prevState.steps) {\r\n\t\t\tthis.setState({ step: this.state.steps.find(el => el.active) });\r\n\t\t}\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { redirect, forceSubmit, steps, step } = this.state;\r\n\t\tconst {\r\n\t\t\tmodifica,\r\n\t\t\tvalidateCf,\r\n\t\t\trichiesta_adesione_data: { config, completed },\r\n\t\t\tget_accordo_by_id: { isLoading },\r\n\t\t\tconfig_params\r\n\t\t} = this.props;\r\n\r\n\t\tconst path = modifica || (!modifica && completed) ?\r\n\t\t\t'/area-riservata/enti/richiesta-adesione-in-corso/modifica/' :\r\n\t\t\t'/area-riservata/enti/nuova-richiesta-adesione/'\r\n\r\n\t\tconst loading = modifica\r\n\t\t\t&& this.richiestaDbFlag() && isLoading;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{redirect &&\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t{(\r\n\t\t\t\t\t(!config && !modifica)\r\n\t\t\t\t\t|| (\r\n\t\t\t\t\t\tmodifica\r\n\t\t\t\t\t\t&& !this.richiestaDbFlag()\r\n\t\t\t\t\t\t&& !completed))\r\n\t\t\t\t\t&&\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\tsteps \r\n\t\t\t\t&& step \r\n\t\t\t\t&& !loading\r\n\t\t\t\t&& !!config_params ?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t this.setState({ forceSubmit: next })}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tstep.number <= 5 &&\r\n\t\t\t\t\t\t\t el.number === step.number) - 1]}\r\n\t\t\t\t\t\t\t\tcfErrors={step.data && step.data.cf_errors}\r\n\t\t\t\t\t\t\t\tstoreData={this.storeData}\r\n\t\t\t\t\t\t\t\tforceSubmit={forceSubmit}\r\n\t\t\t\t\t\t\t\tcancelForceSubmit={() => this.setState({forceSubmit: undefined})}\r\n\t\t\t\t\t\t\t\tmodifica={modifica}\r\n\t\t\t\t\t\t\t\tvalidateCf={validateCf}\r\n\t\t\t\t\t\t\t\tdelegatodbflag={!!this.props.get_accordo_by_id.accordo &&\r\n\t\t\t\t\t\t\t\t\t!!this.props.get_accordo_by_id.accordo.idfiledelega}\r\n\t\t\t\t\t\t\t\trichiestaSalvata={this.props.get_accordi_by_id_ente.richiesta_inviata\r\n\t\t\t\t\t\t\t\t\t|| this.props.get_accordi_by_id_ente.richiesta_inserita}\r\n\t\t\t\t\t\t\t\tfileDelegaIsLoading={this.props.get_accordo_by_id.fileDelegaIsLoading}\r\n\t\t\t\t\t\t\t\trichiestaInviata={this.props.get_accordi_by_id_ente.richiesta_inviata}\r\n\t\t\t\t\t\t\t\tsetRedirect={(red) => this.setState({ redirect: red })}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t{/* {step.number === 5 &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t} */}\r\n\t\t\t\t\t\t{step.number === 6 &&\r\n\t\t\t\t\t\t\t this.setState({ redirect: red })}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t:\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t)\r\n\t};\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n config_params: state.config.get_config_params.config_params,\r\n\tget_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n\tget_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n\trichiesta_adesione_data: state.gestione_accordi.richiesta_adesione_data,\r\n\tdecodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\tputRichiestaAdesioneData: (payload) => dispatch(putRichiestaAdesioneData(payload)),\r\n\tgetAccordoById: (idAccordo) =>\r\n\t\tdispatch(getAccordoById(idAccordo, false)),\r\n\tvalidateCf: (payload, callback) => dispatch(validateCf(payload, callback))\r\n});\r\n\r\nexport default connect(\r\n\tmapStateToProps,\r\n\tmapDispatchToProps\r\n)(RichiestaAdesione);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { getTipologieEnteAll, getCategorieEnteByIdTipologia, getCategorieSpecificheEnteByIdCategoria } from \"../../../../redux/actions/area-riservata/enti-actions\";\r\nimport Spinner from \"../../../ui/spinner\";\r\nimport { ConfiguraRichiestaForm } from \"./_partials\";\r\nimport { putRichiestaAdesioneConfig } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { Redirect } from \"react-router-dom\";\r\n\r\nclass ConfiguraNuovaRichiesta extends Component {\r\n\r\n\tcomponentDidMount() {\r\n\t\tif (!this.props.get_tipologie_ente_all.tipologie_ente_all) {\r\n\t\t\tthis.props.getTipologieEnteAll();\r\n\t\t}\r\n\t};\r\n\r\n\tgetCategorie = idTipologia => {\r\n\t\tthis.props.getCategorieEnteByIdTipologia(idTipologia);\r\n\t};\r\n\r\n\t// getCategorieSpecifiche = idCategoria => {\r\n\t// \tthis.props.getCategorieSpecificheEnteByIdCategoria(idCategoria);\r\n\t// };\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\tget_tipologie_ente_all,\r\n\t\t\tget_tipologie_ente_all: { tipologie_ente_all },\r\n\t\t\tget_categorie_ente_by_id_tipologia,\r\n\t\t\tget_categorie_ente_by_id_tipologia: { categorie_ente_by_id_tipologia },\r\n\t\t\tget_categorie_specifiche_ente_by_id_categoria,\r\n\t\t\t// get_categorie_specifiche_ente_by_id_categoria: { categorie_specifiche_ente_by_id_categoria },\r\n\t\t\tputRichiestaAdesioneConfig,\r\n\t\t\trichiesta_adesione_data: { config }\r\n\t\t} = this.props;\r\n\r\n\t\tconst loading = get_tipologie_ente_all.isLoading ||\r\n\t\t\tget_categorie_ente_by_id_tipologia.isLoading ||\r\n\t\t\tget_categorie_specifiche_ente_by_id_categoria.isLoading;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{config &&\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t
    \r\n\t\t\t\t\t

    Configurazione richiesta

    \r\n\t\t\t\t
    \r\n\t\t\t\t{!get_tipologie_ente_all.isLoading &&\r\n\t\t\t\t\t!get_tipologie_ente_all.pristine\r\n\t\t\t\t\t&&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{loading && }\r\n\t\t\t
    \r\n\t\t)\r\n\t};\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n\tget_tipologie_ente_all: state.gestione_enti.get_tipologie_ente_all,\r\n\tget_categorie_ente_by_id_tipologia: state.gestione_enti.get_categorie_ente_by_id_tipologia,\r\n\tget_categorie_specifiche_ente_by_id_categoria: state.gestione_enti.get_categorie_specifiche_ente_by_id_categoria,\r\n\trichiesta_adesione_data: state.gestione_accordi.richiesta_adesione_data\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\tgetTipologieEnteAll: () => dispatch(getTipologieEnteAll()),\r\n\tgetCategorieEnteByIdTipologia: (idTipologia) => dispatch(getCategorieEnteByIdTipologia(idTipologia)),\r\n\tgetCategorieSpecificheEnteByIdCategoria: (idTipologia) => dispatch(getCategorieSpecificheEnteByIdCategoria(idTipologia)),\r\n\tputRichiestaAdesioneConfig: (values) => dispatch(putRichiestaAdesioneConfig(values)),\r\n});\r\n\r\nexport default connect(\r\n\tmapStateToProps,\r\n\tmapDispatchToProps\r\n)(ConfiguraNuovaRichiesta); ","import axios from \"axios\";\r\nimport {\r\n getCategorieEnteByIdTipologiaIsLoading,\r\n getCategorieEnteByIdTipologiaSuccess,\r\n getCategorieEnteByIdTipologiaError,\r\n resetCategorieEnteByIdTipologiaIsLoading,\r\n resetCategorieEnteByIdTipologiaSuccess\r\n} from \"./get-categorie-ente-by-id-tipologia-actions\";\r\nimport {\r\n getTipologieEnteAllIsLoading,\r\n getTipologieEnteAllError,\r\n getTipologieEnteAllSuccess\r\n} from \"./get-tipologie-ente-all-actions\";\r\nimport {\r\n getCategorieSpecificheEnteByIdCategoriaIsLoading,\r\n getCategorieSpecificheEnteByIdCategoriaSuccess,\r\n getCategorieSpecificheEnteByIdCategoriaError\r\n} from \"./get-categorie-specifiche-ente-by-id-categoria-actions\";\r\n\r\nexport const getTipologieEnteAll = () => dispatch => {\r\n dispatch(getTipologieEnteAllIsLoading());\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/aftipologiaente/load/stato/0/orderby/descrizione`\r\n )\r\n .then(res => {\r\n dispatch(getTipologieEnteAllSuccess(res.data));\r\n })\r\n .catch(error => dispatch(getTipologieEnteAllError(error)));\r\n};\r\n\r\nexport const getCategorieEnteByIdTipologia = idTipologia => dispatch => {\r\n dispatch(getCategorieEnteByIdTipologiaIsLoading());\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/afcategoriaente/load/idtipologia/${idTipologia}/stato/0/orderby/descrizione`\r\n )\r\n .then(res => {\r\n dispatch(getCategorieEnteByIdTipologiaSuccess(res.data, idTipologia));\r\n })\r\n .catch(error => dispatch(getCategorieEnteByIdTipologiaError(error)));\r\n};\r\n\r\nexport const getCategorieSpecificheEnteByIdCategoria = idCategoria => dispatch => {\r\n dispatch(getCategorieSpecificheEnteByIdCategoriaIsLoading());\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/afcatspecificaente/load/idcategoria/${idCategoria}/stato/0/orderby/descrizione`\r\n )\r\n .then(res => {\r\n dispatch(getCategorieSpecificheEnteByIdCategoriaSuccess(res.data));\r\n })\r\n .catch(error => dispatch(getCategorieSpecificheEnteByIdCategoriaError(error)));\r\n};\r\n\r\nexport const resetCategorieEnteByIdTipologia = () => dispatch => {\r\n dispatch(resetCategorieEnteByIdTipologiaIsLoading());\r\n dispatch(resetCategorieEnteByIdTipologiaSuccess());\r\n};\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport RichiestaAdesione from \"./RichiestaAdesione\";\r\nimport ConfiguraNuovaRichiesta from \"./ConfiguraNuovaRichiesta\";\r\nclass NuovaRichiestaAdesioneSwitch extends Component {\r\n state = {};\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n {\r\n if (props.match.params.stepname === 'configura-richiesta') {\r\n return \r\n } else return \r\n })}\r\n />\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default NuovaRichiestaAdesioneSwitch; ","import { attoriAccordo } from \"../../../../../constants/attori-accordo\";\r\nimport { configParamsKeys } from \"../../../../../constants/config-params-keys\";\r\nimport { isNullOrUndefined } from \"../../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nexport function joinRichiestaData(richiestaDb, richiestaChanges, paramsJson) {\r\n if (richiestaDb) {\r\n let json = {};\r\n attoriAccordo.forEach(el => {\r\n json[el.key] = el.key === 'delegato'\r\n && (richiestaChanges[el.key] === null)\r\n ? null\r\n : el.key === 'delegato' && richiestaChanges['delegato']\r\n ? {\r\n codicefiscale: richiestaChanges[el.key].codicefiscale,\r\n nome: richiestaChanges[el.key].nome,\r\n cognome: richiestaChanges[el.key].cognome,\r\n datanascita: richiestaChanges[el.key].datanascita,\r\n telefono: richiestaChanges[el.key].telefono,\r\n }\r\n : richiestaDb[el.key]\r\n && richiestaDb[el.key].codicefiscale\r\n ? {\r\n codicefiscale: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].codicefiscale :\r\n richiestaDb[el.key].codicefiscale,\r\n nome: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].nome :\r\n richiestaDb[el.key].nome,\r\n cognome: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].cognome :\r\n richiestaDb[el.key].cognome,\r\n datanascita: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].datanascita :\r\n richiestaDb[el.key].datanascita,\r\n telefono: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].telefono :\r\n richiestaDb[el.key].telefono,\r\n }\r\n : null;\r\n if (!isNullOrUndefined(json[el.key]) && paramsJson.email[el.key]) {\r\n json[el.key] = {\r\n ...json[el.key],\r\n email: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].email :\r\n richiestaDb[el.key].email,\r\n tipoemail: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].tipoemail :\r\n richiestaDb[el.key].tipoemail,\r\n }\r\n }\r\n });\r\n\r\n if (!isNullOrUndefined(json.responsabilefirmaente)) {\r\n json['responsabilefirmaente'] = {\r\n ...json.responsabilefirmaente,\r\n ruolo: richiestaChanges['responsabilefirmaente'] ?\r\n richiestaChanges['responsabilefirmaente'].ruolo :\r\n richiestaDb['responsabilefirmaente'].ruolo,\r\n };\r\n }\r\n if (richiestaChanges?.estremiatto?.filenormativacasidusochanged && !richiestaChanges.estremiatto.filenormativacasiduso) {\r\n json.idfilenormativacasiduso = null;\r\n }\r\n return {\r\n ...richiestaDb,\r\n ...json,\r\n filedelega: richiestaChanges['delegato'] && richiestaChanges['delegato']['filedelega'] ? richiestaChanges['delegato']['filedelega'] : null,\r\n noteente: richiestaChanges['estremiatto'] ? richiestaChanges['estremiatto']['noteente'] : richiestaDb['noteente'],\r\n attoente: richiestaChanges['estremiatto'] ? richiestaChanges['estremiatto']['attoente'] : richiestaDb['attoente'],\r\n filenormativacasiduso: richiestaChanges?.estremiatto?.filenormativacasiduso\r\n };\r\n } else {\r\n let json = {};\r\n attoriAccordo.forEach(el => {\r\n json[el.key] = isNullOrUndefined(richiestaChanges[el.key])\r\n ? null\r\n : {\r\n codicefiscale: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].codicefiscale :\r\n null,\r\n nome: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].nome :\r\n null,\r\n cognome: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].cognome :\r\n null,\r\n datanascita: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].datanascita :\r\n null,\r\n telefono: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].telefono :\r\n null,\r\n };\r\n if (!isNullOrUndefined(json[el.key]) && paramsJson.email[el.key]) {\r\n json[el.key] = {\r\n ...json[el.key],\r\n email: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].email :\r\n richiestaDb[el.key].email,\r\n tipoemail: richiestaChanges[el.key] ?\r\n richiestaChanges[el.key].tipoemail :\r\n richiestaDb[el.key].tipoemail,\r\n }\r\n }\r\n });\r\n\r\n return {\r\n ...json,\r\n responsabilefirmaente: {\r\n ...json.responsabilefirmaente,\r\n ruolo: richiestaChanges['responsabilefirmaente'] ?\r\n richiestaChanges['responsabilefirmaente'].ruolo :\r\n null,\r\n },\r\n noteente: richiestaChanges['estremiatto'] ? richiestaChanges['estremiatto']['noteente'] : null,\r\n attoente: richiestaChanges['estremiatto'] ? richiestaChanges['estremiatto']['attoente'] : null,\r\n filedelega: richiestaChanges['delegato'] && richiestaChanges['delegato']['filedelega'] ? richiestaChanges['delegato']['filedelega'] : null,\r\n filenormativacasiduso: richiestaChanges?.estremiatto?.filenormativacasiduso\r\n };\r\n }\r\n};\r\n\r\nexport function checkConfigParam(paramArray, configParams) {\r\n let paramsJson = {};\r\n paramArray.forEach(par => {\r\n let json = {};\r\n attoriAccordo.forEach(el => {\r\n if (['responsabileamministrazione'].includes(el.key)\r\n || (configParams[configParamsKeys[`${el.key}_${par}`]] === 'true')) {\r\n json[el.key] = true;\r\n } else return json[el.key] = false;\r\n })\r\n paramsJson[par] = json;\r\n });\r\n return paramsJson;\r\n};","import React from 'react';\r\nimport Card from '../card/index';\r\nimport DownloadFile from '../download-file/index';\r\n\r\nconst FILE_TYPE_ICON = {\r\n pdf: {\r\n name: \"pdf\",\r\n class: \"text-danger\"\r\n },\r\n zip: {\r\n name: \"archive\",\r\n class: \"text-warning\"\r\n }\r\n};\r\n\r\nconst AttachmentsCard = ({\r\n title,\r\n files = [],\r\n footer,\r\n extraClasses,\r\n titleHeading = 'h3'\r\n}) => {\r\n // console.log(\"[AttachmentsCard] files = %o\", files);\r\n\r\n const fileList = files.map((f, i) => (\r\n
  • \r\n \r\n
  • \r\n ));\r\n\r\n return (\r\n \r\n {fileList && fileList.length ?
      {fileList}
    :

    Nessun file disponibile.

    }\r\n \r\n );\r\n};\r\n\r\nexport default AttachmentsCard;","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { STATO_ACCORDO } from '../../../../constants/stati-accordo';\r\nimport { downloadAccordo, downloadAccordoControfirmato, downloadAccordoFirmato, downloadDelegaAccordo, downloadNormativaCasiUso } from '../../../../redux/actions/area-riservata/file';\r\nimport AttachmentsCard from '../../../ui/attachments-card';\r\n\r\n\r\nconst CardAllegatiAccordo = ({\r\n accordo,\r\n extraClasses,\r\n footer,\r\n downloadDelegaAccordo,\r\n downloadAccordo,\r\n downloadAccordoFirmato,\r\n downloadAccordoControfirmato,\r\n downloadNormativaCasiUso\r\n}) => {\r\n if (!accordo) {\r\n return;\r\n }\r\n let files = [];\r\n if (accordo.idfiledelega) {\r\n files.push({\r\n label: \"File delega\",\r\n type: \"pdf\",\r\n onClick: () => downloadDelegaAccordo(accordo.id)\r\n });\r\n }\r\n\r\n if (accordo.idfilenormativacasiduso) {\r\n files.push({\r\n label: \"Individuazione casi d'uso e normative di riferimento\",\r\n type: \"pdf\",\r\n onClick: () => downloadNormativaCasiUso(accordo.id, `Individuazione_casi_uso_e_normative_di_riferimento_${accordo.idfilenormativacasiduso}.pdf`)\r\n });\r\n }\r\n\r\n if (accordo.idfilerichiesta && accordo.idstato === STATO_ACCORDO.RICHIESTA_INSERITA) {\r\n files.push({\r\n label: \"Accordo da firmare\",\r\n type: \"pdf\",\r\n onClick: () => downloadAccordo(accordo.id)\r\n });\r\n }\r\n\r\n if (accordo.idfilefirmatorichiesta) {\r\n files.push({\r\n label: \"Accordo firmato dall'operatore\",\r\n type: \"pdf\",\r\n onClick: () => downloadAccordoFirmato(accordo.id)\r\n });\r\n }\r\n\r\n if (accordo.idfilecontrofirmato) {\r\n files.push({\r\n label: \"Accordo controfirmato dal Ministero\",\r\n type: \"pdf\",\r\n onClick: () => downloadAccordoControfirmato(accordo.id)\r\n });\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n downloadDelegaAccordo: (idAccordo) => dispatch(downloadDelegaAccordo(idAccordo)),\r\n downloadAccordo: (idAccordo) => dispatch(downloadAccordo(idAccordo)),\r\n downloadAccordoFirmato: (idAccordo) => dispatch(downloadAccordoFirmato(idAccordo)),\r\n downloadAccordoControfirmato: (idAccordo) => dispatch(downloadAccordoControfirmato(idAccordo)),\r\n downloadNormativaCasiUso: (idAccordo, filename) => dispatch(downloadNormativaCasiUso(idAccordo, filename))\r\n});\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(CardAllegatiAccordo);","import React, { Fragment } from \"react\";\r\nimport InputFile from \"../../../../../ui/input-file\";\r\nimport IconButton from \"../../../../../ui/icon-button\";\r\nimport CardAllegatiAccordo from \"../../../../common/card-allegati-accordo/CardAllegatiAccordo\";\r\n\r\nconst RiepilogoButtons = (\r\n {\r\n accordo,\r\n richiestaInserita,\r\n richiestaInviata,\r\n actions,\r\n changesFlag,\r\n fileInserito,\r\n responsabilefirmaaccordoflag,\r\n }) => {\r\n\r\n return (\r\n \r\n {\r\n (richiestaInserita || richiestaInviata) &&\r\n \r\n \r\n
    \r\n {\r\n actions.insertFileRichiestaFirmato(\r\n accordo.id,\r\n file\r\n );\r\n }}\r\n />\r\n
    \r\n \r\n : null}\r\n />\r\n
    \r\n }\r\n
    \r\n {!richiestaInviata\r\n && !fileInserito\r\n &&\r\n
    \r\n \r\n
    \r\n }\r\n {richiestaInserita &&\r\n \r\n
    \r\n actions.cancelRichiestaAdesioneByIdRichiesta(accordo.id)}\r\n label=\"Annulla richiesta\"\r\n type='button'\r\n buttonClass=\"danger\"\r\n extraClasses=\"mr-1 mr-md-4\"\r\n disabled={!richiestaInserita}\r\n />\r\n
    \r\n {(accordo.flagfilefirmatorichiesta ||\r\n (fileInserito && fileInserito.inserted &&\r\n fileInserito.inserted.flagfilefirmatorichiesta)) &&\r\n
    \r\n actions.sendRichiestaAdesioneByIdRichiesta(accordo.id)}\r\n label=\"Invia al Ministero\"\r\n type='button'\r\n buttonClass=\"primary\"\r\n disabled={!richiestaInserita || !responsabilefirmaaccordoflag}\r\n />\r\n
    \r\n }\r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n};\r\n\r\nexport default RiepilogoButtons;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n putRichiestaAdesioneData,\r\n getAccordoById,\r\n insertRichiestaAdesione,\r\n updateRichiestaAdesioneByIdRichiesta,\r\n insertFileRichiestaFirmato,\r\n sendRichiestaAdesioneByIdRichiesta,\r\n cancelRichiestaAdesioneByIdRichiesta,\r\n resetRichiestaAdesioneData\r\n} from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { DettagliAccordo } from \"../../common\";\r\nimport { checkConfigParam, joinRichiestaData } from \"./utils\";\r\nimport IconButton from \"../../../ui/icon-button\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport Spinner from \"../../../ui/spinner\";\r\nimport { RiepilogoButtons } from \"./_partials\";\r\nimport { getNormativeByIdTipologiaEnte, resetNormativeByIdTipologiaEnte } from \"../../../../redux/actions/area-riservata/normative-actions\";\r\nimport VisualizzaNormative from \"../../common/gestione-normative/visualizza-normative/VisualizzaNormative\";\r\nimport Typography from \"../../../ui/typography\";\r\nimport { resetCategorieEnteByIdTipologia } from \"../../../../redux/actions/area-riservata/enti-actions\";\r\nimport ScrollTopButton from \"../../../ui/scroll-top-button\";\r\nimport { Message } from \"../../../ui\";\r\nimport { configParamsKeys } from \"../../../../constants/config-params-keys\";\r\n\r\n\r\nclass RiepilogoRichiestaAdesione extends Component {\r\n visibleStates = [1, 2, 10, 12];\r\n state = {\r\n accordo: this.props.get_accordo_by_id.accordo\r\n && this.visibleStates.includes(this.props.get_accordo_by_id.accordo.idstato) ?\r\n this.props.get_accordo_by_id.accordo : undefined,\r\n richiestaData: (this.props.get_accordo_by_id.accordo\r\n && this.visibleStates.includes(this.props.get_accordo_by_id.accordo.idstato)\r\n )\r\n ||\r\n this.props.richiesta_adesione_data.edited ?\r\n joinRichiestaData(this.props.get_accordo_by_id.accordo, this.props.richiesta_adesione_data, checkConfigParam(['email'], this.props.config_params))\r\n : undefined\r\n };\r\n\r\n salvaRichiesta = () => {\r\n let richiestaData = this.state.richiestaData;\r\n if (this.props.get_accordo_by_id.accordo && [1, 2].includes(this.props.get_accordo_by_id.accordo.idstato)) {\r\n let richiestaUpdate = {\r\n \"noteente\": richiestaData.noteente,\r\n \"attoente\": richiestaData.attoente,\r\n // \"maxutenti\": this.state.richiestaData.maxutenti,\r\n // \"transazionipreviste\": this.state.richiestaData.transazionipreviste,\r\n // \"maxtransazionipreviste\": this.state.richiestaData.maxtransazionipreviste,\r\n \"rappresentantelegale\": richiestaData.rappresentantelegale,\r\n \"responsabileamministrazione\": richiestaData.responsabileamministrazione,\r\n \"responsabilefirmaente\": richiestaData.responsabilefirmaente,\r\n };\r\n if (richiestaData.supervisore) {\r\n richiestaUpdate['supervisore'] = richiestaData.supervisore;\r\n }\r\n if (richiestaData.delegato === null) {\r\n richiestaUpdate['delegato'] = richiestaData.delegato;\r\n } else if (!!richiestaData.delegato\r\n && (richiestaData.delegato !== null)) {\r\n let delegatoObj = {\r\n codicefiscale: richiestaData['delegato'].codicefiscale,\r\n cognome: richiestaData['delegato'].cognome,\r\n datanascita: richiestaData['delegato'].datanascita,\r\n nome: richiestaData['delegato'].nome,\r\n telefono: richiestaData['delegato'].telefono,\r\n }\r\n if (!!this.props.config_params\r\n && (this.props.config_params[configParamsKeys[`delegato_email`]] === 'true')) {\r\n delegatoObj = {\r\n ...delegatoObj,\r\n email: richiestaData['delegato'].email,\r\n tipoemail: richiestaData['delegato'].tipoemail,\r\n }\r\n }\r\n richiestaUpdate['delegato'] = delegatoObj;\r\n if (richiestaData.filedelega\r\n && this.props.richiesta_adesione_data.delegato.filechanged) {\r\n richiestaUpdate['filedelega'] = richiestaData.filedelega;\r\n }\r\n }\r\n if (this.props.richiesta_adesione_data?.estremiatto?.filenormativacasidusochanged) {\r\n if (this.props.richiesta_adesione_data.estremiatto.filenormativacasiduso) {\r\n richiestaUpdate.filenormativacasiduso = this.props.richiesta_adesione_data.estremiatto.filenormativacasiduso;\r\n } else {\r\n richiestaUpdate.idfilenormativacasiduso = null;\r\n }\r\n } else {\r\n richiestaUpdate.idfilenormativacasiduso = richiestaData.idfilenormativacasiduso;\r\n }\r\n this.props.updateRichiestaAdesioneByIdRichiesta(this.props.get_accordo_by_id.accordo.id, richiestaUpdate)\r\n } else {\r\n richiestaData = {\r\n ...richiestaData,\r\n idTipologiaEnte: this.props.richiesta_adesione_data.config.tipologia.id,\r\n idCategoriaEnte: this.props.richiesta_adesione_data.config.categoria.id,\r\n idCategoriaSpecEnte: this.props.richiesta_adesione_data.config.categoriaspecifica ?\r\n this.props.richiesta_adesione_data.config.categoriaspecifica.id\r\n : null\r\n };\r\n if (!richiestaData.delegato) {\r\n richiestaData['delegato'] = null;\r\n } else {\r\n let delegatoObj = {\r\n codicefiscale: richiestaData['delegato'].codicefiscale,\r\n cognome: richiestaData['delegato'].cognome,\r\n datanascita: richiestaData['delegato'].datanascita,\r\n nome: richiestaData['delegato'].nome,\r\n telefono: richiestaData['delegato'].telefono,\r\n };\r\n if (!!this.props.config_params &&\r\n (this.props.config_params[configParamsKeys[`delegato_email`]] === 'true')) {\r\n delegatoObj = {\r\n ...delegatoObj,\r\n email: richiestaData['delegato'].email,\r\n tipoemail: richiestaData['delegato'].tipoemail,\r\n }\r\n }\r\n richiestaData['delegato'] = delegatoObj;\r\n }\r\n if (!richiestaData.supervisore) {\r\n richiestaData['supervisore'] = null;\r\n }\r\n this.props.insertRichiestaAdesione(richiestaData);\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n\r\n if ((\r\n this.props.get_accordi_by_id_ente.richiesta_inviata ||\r\n this.props.get_accordi_by_id_ente.richiesta_inserita) &&\r\n (!this.props.get_accordo_by_id.accordo ||\r\n (this.props.get_accordo_by_id.accordo && !this.visibleStates.includes(this.props.get_accordo_by_id.accordo.idstato)))\r\n ) {\r\n let richiesta = this.props.get_accordi_by_id_ente.richiesta_inviata ||\r\n this.props.get_accordi_by_id_ente.richiesta_inserita;\r\n if (richiesta) {\r\n this.props.getAccordoById(richiesta.id);\r\n }\r\n }\r\n if (this.state.accordo ||\r\n this.props.richiesta_adesione_data.edited) {\r\n this.setState({\r\n richiestaData: joinRichiestaData(this.props.get_accordo_by_id.accordo, this.props.richiesta_adesione_data, checkConfigParam(['email'], this.props.config_params))\r\n });\r\n }\r\n\r\n if ((this.props.richiesta_adesione_data.completed\r\n && this.props.richiesta_adesione_data.config) || this.state.accordo) {\r\n this.props.getNormativeByIdTipologiaEnte(this.state.accordo ?\r\n this.state.accordo.ente.idtipologia :\r\n this.props.richiesta_adesione_data.config.tipologia.id);\r\n }\r\n };\r\n\r\n componentDidUpdate(prev) {\r\n /** Se sono in modifica e non ho la richiesta inserita nello store, devo estrarmela dal servizio */\r\n if ((this.props.get_accordi_by_id_ente !== prev.get_accordi_by_id_ente)\r\n && !this.props.get_accordi_by_id_ente.isLoading\r\n && (\r\n this.props.get_accordi_by_id_ente.richiesta_inviata ||\r\n this.props.get_accordi_by_id_ente.richiesta_inserita\r\n )) {\r\n let richiesta = this.props.get_accordi_by_id_ente.richiesta_inviata ||\r\n this.props.get_accordi_by_id_ente.richiesta_inserita;\r\n if (richiesta) {\r\n this.props.getAccordoById(richiesta.id);\r\n }\r\n }\r\n if (\r\n (this.props.richiesta_adesione_data.edited &&\r\n (this.props.richiesta_adesione_data !== prev.richiesta_adesione_data))\r\n ||\r\n ((this.props.get_accordo_by_id !== prev.get_accordo_by_id) &&\r\n this.props.get_accordo_by_id.accordo &&\r\n this.visibleStates.includes(this.props.get_accordo_by_id.accordo.idstato)\r\n )\r\n ) {\r\n this.setState({\r\n richiestaData: joinRichiestaData(this.props.get_accordo_by_id.accordo, this.props.richiesta_adesione_data, checkConfigParam(['email'], this.props.config_params))\r\n });\r\n }\r\n\r\n if (\r\n ((this.props.richiesta_adesione_data !== prev.richiesta_adesione_data)\r\n && this.props.richiesta_adesione_data.completed)\r\n ||\r\n (this.props.get_accordo_by_id.accordo && this.props.get_accordo_by_id.accordo.ente && (!prev.get_accordo_by_id.accordo || (\r\n prev.get_accordo_by_id.accordo &&\r\n (this.props.get_accordo_by_id.accordo.id !== prev.get_accordo_by_id.accordo.id)))\r\n )) {\r\n this.props.getNormativeByIdTipologiaEnte(this.props.get_accordo_by_id.accordo ?\r\n this.props.get_accordo_by_id.accordo.ente.idtipologia :\r\n this.props.richiesta_adesione_data.config.tipologia.id);\r\n }\r\n\r\n //Resetto il componente (resettando richiestaData) dopo l'eventuale annullamento della richiesta\r\n if (\r\n this.props.cancel_richiesta_adesione_by_id_richiesta &&\r\n this.props.cancel_richiesta_adesione_by_id_richiesta.canceled &&\r\n (this.props.cancel_richiesta_adesione_by_id_richiesta !== prev.cancel_richiesta_adesione_by_id_richiesta)) {\r\n this.setState({\r\n richiestaData: undefined\r\n });\r\n }\r\n };\r\n\r\n\r\n render() {\r\n const {\r\n get_accordo_by_id: {\r\n accordo,\r\n fileRichiestaIsLoading,\r\n fileFirmatoRichiestaIsLoading,\r\n fileControFirmatoRichiestaIsLoading,\r\n isLoading\r\n },\r\n richiesta_adesione_data,\r\n get_accordi_by_id_ente,\r\n get_accordo_by_id,\r\n normative_by_id_tipologia_ente,\r\n cancel_richiesta_adesione_by_id_richiesta,\r\n insert_richiesta_adesione,\r\n update_richiesta_adesione_by_id_richiesta,\r\n send_richiesta_adesione_by_id_richiesta,\r\n insert_file_richiesta_firmato,\r\n ente_by_utente\r\n } = this.props;\r\n const { richiestaData } = this.state;\r\n\r\n const pristine = get_accordi_by_id_ente.pristine;\r\n\r\n const richiestaInserita = accordo && accordo.idstato === 1\r\n && !pristine;\r\n const richiestaInviata = accordo && [2, 10, 12].includes(accordo.idstato)\r\n && !pristine;\r\n\r\n const responsabilefirmaaccordoflag = !!accordo\r\n && !!accordo.responsabilefirmaaccordo\r\n && (accordo.responsabilefirmaaccordo.idstato === 0);\r\n\r\n const RIGENERA_RICHIESTA = \r\n \r\n ;\r\n return (\r\n \r\n \r\n {!responsabilefirmaaccordoflag\r\n && richiestaInserita\r\n &&\r\n \r\n }\r\n
    \r\n

    Richiesta di adesione in corso

    \r\n
    \r\n {\r\n !(\r\n pristine || isLoading || get_accordi_by_id_ente.isLoading ||\r\n (cancel_richiesta_adesione_by_id_richiesta && cancel_richiesta_adesione_by_id_richiesta.isLoading) ||\r\n (insert_richiesta_adesione && insert_richiesta_adesione.isLoading) ||\r\n (update_richiesta_adesione_by_id_richiesta && update_richiesta_adesione_by_id_richiesta.isLoading) ||\r\n (send_richiesta_adesione_by_id_richiesta && send_richiesta_adesione_by_id_richiesta.isLoading) ||\r\n fileRichiestaIsLoading || fileFirmatoRichiestaIsLoading || fileControFirmatoRichiestaIsLoading\r\n ) &&\r\n \r\n
    \r\n \r\n {\r\n this.props.resetRichiestaAdesioneData();\r\n this.props.resetNormativeByIdTipologiaEnte();\r\n this.props.resetCategorieEnteByIdTipologia();\r\n }}\r\n label=\"Nuova richiesta di adesione\"\r\n type='button'\r\n buttonClass=\"default\"\r\n iconClasses=\"mr-2\"\r\n disabled={pristine || get_accordo_by_id.isLoading || richiestaInserita || richiestaInviata || get_accordo_by_id.error ||\r\n (insert_richiesta_adesione && !insert_richiesta_adesione.isLoading)}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n {\r\n (pristine || isLoading || get_accordi_by_id_ente.isLoading ||\r\n (cancel_richiesta_adesione_by_id_richiesta && cancel_richiesta_adesione_by_id_richiesta.isLoading) ||\r\n (insert_richiesta_adesione && insert_richiesta_adesione.isLoading) ||\r\n (update_richiesta_adesione_by_id_richiesta && update_richiesta_adesione_by_id_richiesta.isLoading) ||\r\n (send_richiesta_adesione_by_id_richiesta && send_richiesta_adesione_by_id_richiesta.isLoading) ||\r\n fileRichiestaIsLoading || fileFirmatoRichiestaIsLoading || fileControFirmatoRichiestaIsLoading) &&\r\n \r\n }\r\n \r\n {richiestaData &&\r\n !richiesta_adesione_data.reset &&\r\n \r\n \r\n \r\n {normative_by_id_tipologia_ente.normative &&\r\n
    \r\n \r\n \r\n
    \r\n }\r\n
    \r\n {\r\n this.props.cancelRichiestaAdesioneByIdRichiesta(id);\r\n this.props.resetRichiestaAdesioneData();\r\n },\r\n salvaRichiesta: this.salvaRichiesta,\r\n }}\r\n changesFlag={this.props.richiesta_adesione_data.edited}\r\n richiestaInserita={richiestaInserita}\r\n richiestaInviata={richiestaInviata}\r\n responsabilefirmaaccordoflag={responsabilefirmaaccordoflag}\r\n fileInserito={(insert_file_richiesta_firmato && !insert_file_richiesta_firmato.error) || (accordo && accordo.filefirmatorichiesta)}\r\n />\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n )\r\n };\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n config_params: state.config.get_config_params.config_params,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n richiesta_adesione_data: state.gestione_accordi.richiesta_adesione_data,\r\n insert_richiesta_adesione: state.gestione_accordi.insert_richiesta_adesione,\r\n cancel_richiesta_adesione_by_id_richiesta: state.gestione_accordi.cancel_richiesta_adesione_by_id_richiesta,\r\n update_richiesta_adesione_by_id_richiesta: state.gestione_accordi.update_richiesta_adesione_by_id_richiesta,\r\n insert_file_richiesta_firmato: state.gestione_accordi.insert_file_richiesta_firmato,\r\n send_richiesta_adesione_by_id_richiesta: state.gestione_accordi.send_richiesta_adesione_by_id_richiesta,\r\n normative_by_id_tipologia_ente: state.gestione_normative.get_normative_by_id_tipologia_ente,\r\n ente_by_utente: state.ente_by_utente,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n putRichiestaAdesioneData: (payload) =>\r\n dispatch(putRichiestaAdesioneData(payload)),\r\n getAccordoById: (idAccordo) =>\r\n dispatch(getAccordoById(idAccordo)),\r\n insertRichiestaAdesione: (values) =>\r\n dispatch(insertRichiestaAdesione(values)),\r\n updateRichiestaAdesioneByIdRichiesta: (idRichiesta, values) =>\r\n dispatch(updateRichiestaAdesioneByIdRichiesta(idRichiesta, values)),\r\n insertFileRichiestaFirmato: (idRichiesta, file) =>\r\n dispatch(insertFileRichiestaFirmato(idRichiesta, file)),\r\n sendRichiestaAdesioneByIdRichiesta: (idRichiesta) =>\r\n dispatch(sendRichiestaAdesioneByIdRichiesta(idRichiesta)),\r\n cancelRichiestaAdesioneByIdRichiesta: (idRichiesta) =>\r\n dispatch(cancelRichiestaAdesioneByIdRichiesta(idRichiesta)),\r\n getNormativeByIdTipologiaEnte: idTipologia =>\r\n dispatch(getNormativeByIdTipologiaEnte(idTipologia)),\r\n resetRichiestaAdesioneData: () =>\r\n dispatch(resetRichiestaAdesioneData()),\r\n resetNormativeByIdTipologiaEnte: () =>\r\n dispatch(resetNormativeByIdTipologiaEnte()),\r\n resetCategorieEnteByIdTipologia: () =>\r\n dispatch(resetCategorieEnteByIdTipologia()),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RiepilogoRichiestaAdesione);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../common';\r\nimport { DecodificheContext } from '../../../contexts';\r\nimport RichiestaAdesione from './nuova-richiesta-adesione/RichiestaAdesione';\r\nimport RiepilogoRichiestaAdesione from './riepilogo-richiesta-adesione/RiepilogoRichiestaAdesione';\r\n\r\nconst RichiestaInseritaSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n ))}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiestaInseritaSwitch;\r\n","import * as yup from 'yup';\r\nimport { Input } from '../../../../../ui';\r\nimport Select from '../../../../../ui/select';\r\n\r\n\r\nexport const tipologieFiltersFormFields = (decodifiche, utenza) => {\r\n return ([\r\n {\r\n id: 'descrizione',\r\n tag: Input,\r\n comparestrings: true,\r\n name: 'descrizione',\r\n label: 'Denominazione',\r\n },\r\n {\r\n id: 'stato',\r\n tag: Select,\r\n type: 'text',\r\n name: 'stato',\r\n label: 'Stato',\r\n optionlist: decodifiche.filter(dec => {\r\n if (['ministero', 'garante'].includes(utenza)) {\r\n return [\"0\", \"1\", \"5\"].includes(dec.key)\r\n } else return [\"0\", \"1\", \"2\", \"5\"].includes(dec.key)\r\n })\r\n .map(dec => (\r\n {\r\n value: parseInt(dec.key, 10),\r\n label: dec.traduzionetrasl,\r\n }\r\n ))\r\n .sort((a, b) => { if (a.value > b.value) { return 1 } else return -1 })\r\n }\r\n ]);\r\n};\r\n\r\nexport const tipologieFiltersInitialValues = () => {\r\n return {\r\n descrizione: '',\r\n stato: 0\r\n };\r\n};\r\n\r\nexport const tipologieFiltersValidationSchema = yup.object().shape({\r\n descrizione: yup.string().nullable(),\r\n stato: yup.string().nullable(),\r\n});\r\n","import React from 'react';\r\nimport { Icon } from '../../../../../ui';\r\n\r\nexport const tableHeaders = (utenza) => {\r\n\r\n let headers = [\r\n {\r\n value: 'ID',\r\n },\r\n {\r\n value: 'Classe',\r\n },\r\n {\r\n value: 'Descrizione',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center'\r\n },\r\n ];\r\n\r\n if (['ministero', 'enti'].includes(utenza)) {\r\n headers.push({\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-center',\r\n })\r\n }\r\n return headers;\r\n};\r\n\r\nexport const getStatoTipologia = (tipologia, callbacks, utenza) => {\r\n const {\r\n modificaTipologia,\r\n attivaTipologiaById,\r\n disattivaTipologiaById,\r\n annullaTipologia,\r\n proponiTipologia,\r\n } = callbacks;\r\n\r\n switch (tipologia.stato) {\r\n case 0:\r\n return {\r\n icon: 'check',\r\n title: \"Attivo\",\r\n class: 'success',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: tipologia.id + '-modifica',\r\n onClick: () => modificaTipologia(tipologia.id),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: tipologia.id + '-disattiva',\r\n onClick: () => disattivaTipologiaById(tipologia.id),\r\n value: 'Disattiva',\r\n icon: 'ban',\r\n buttonClass: 'danger',\r\n },\r\n {\r\n id: tipologia.id + '-annulla',\r\n onClick: () => annullaTipologia(tipologia),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n disabled: tipologia.totAssociazioni > 0\r\n }\r\n ]\r\n };\r\n\r\n case 1:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: \"Non attivo\",\r\n class: 'warning',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: tipologia.id + '-modifica',\r\n onClick: () => attivaTipologiaById(tipologia.id),\r\n value: 'Attiva',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n },\r\n {\r\n id: tipologia.id + '-annulla',\r\n onClick: () => annullaTipologia(tipologia),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n }\r\n ]\r\n };\r\n\r\n case 2:\r\n return {\r\n icon: 'flag',\r\n title: \"Inserito dall'ente\",\r\n class: 'primary',\r\n actions: [\r\n {\r\n id: tipologia.id + '-proponi',\r\n onClick: () => proponiTipologia(tipologia),\r\n value: 'Proponi',\r\n icon: 'arrow-right',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n {\r\n id: tipologia.id + '-modifica',\r\n onClick: () => modificaTipologia(tipologia.id),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: tipologia.id + '-annulla',\r\n onClick: () => annullaTipologia(tipologia),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n }\r\n ]\r\n };\r\n case 3:\r\n return {\r\n icon: 'trash',\r\n title: \"Annullato\",\r\n class: 'danger'\r\n };\r\n case 4:\r\n return {\r\n icon: 'times',\r\n title: \"Cancellato\",\r\n class: 'danger'\r\n };\r\n case 5:\r\n return {\r\n icon: 'flag',\r\n title: \"Proposto\",\r\n class: 'success',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: tipologia.id + '-approva',\r\n onClick: () => attivaTipologiaById(tipologia.id),\r\n value: 'Approva',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n {\r\n id: tipologia.id + '-rifiuta',\r\n onClick: () => annullaTipologia(tipologia),\r\n value: 'Rifiuta',\r\n icon: 'times',\r\n buttonClass: 'danger',\r\n tooltip: true\r\n }]\r\n };\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const getTableRows = (data, callbacks, utenza) => (\r\n data.map((tipologia, index) => {\r\n let cells = [];\r\n let statoTipologia = getStatoTipologia(tipologia, callbacks, utenza);\r\n cells.push(\r\n {\r\n tag: '',\r\n value: tipologia.id || 'n.d.',\r\n datath: 'ID',\r\n classes: 'text-left',\r\n },\r\n {\r\n tag: '',\r\n value: tipologia.classe || 'n.d.',\r\n datath: 'Classe',\r\n classes: 'text-left',\r\n },\r\n {\r\n tag: '',\r\n value: tipologia.descrizione || 'n.d.',\r\n datath: 'Descrizione',\r\n classes: 'text-left',\r\n style: {\r\n maxWidth: '35rem',\r\n },\r\n },\r\n {\r\n tag: '',\r\n value: (\r\n
    \r\n \r\n {statoTipologia.title.toLocaleUpperCase()}\r\n
    \r\n ),\r\n datath: \"Stato\",\r\n classes: `text-center`,\r\n style: {\r\n minWidth: '7rem'\r\n },\r\n },\r\n );\r\n if (['ministero', 'enti'].includes(utenza)) {\r\n cells.push(\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n classes: 'text-right',\r\n style: {\r\n minWidth: '10rem'\r\n },\r\n dropdown: statoTipologia.actions &&\r\n statoTipologia.actions.length ? {\r\n items: statoTipologia.actions,\r\n id: 'azioni-' + index,\r\n label: 'Azioni',\r\n srLabel: `Azioni tipologia ${tipologia.descrizione}`\r\n } : false\r\n }\r\n );\r\n }\r\n return {\r\n id: 'row-' + tipologia.id,\r\n cells: cells\r\n };\r\n })\r\n);","import React, { Fragment, useEffect, useMemo, useState } from \"react\";\r\nimport { IconButton, PaginatedTable, ScrollTopButton, Spinner } from \"../../../../ui\";\r\nimport SezioneFiltri from \"../../sezione-filtri\";\r\nimport {\r\n tipologieFiltersFormFields,\r\n tipologieFiltersValidationSchema,\r\n tipologieFiltersInitialValues\r\n} from \"./utils/filtersFormData\";\r\nimport { getTableRows, tableHeaders } from \"./utils/tableData\";\r\nimport { connect } from \"react-redux\";\r\nimport { modaleConfermaConfig } from \"../../../../../redux/actions/area-riservata/utils-actions\";\r\nimport { attivaTipologiaById, disattivaTipologiaById, getTipologieByUtenza } from \"../../../../../redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions\";\r\nimport { NavLink, Redirect } from \"react-router-dom\";\r\nimport { getIdDecodificaByVariabile } from \"../../../../common/decodifiche\";\r\nimport * as Yup from \"yup\";\r\nimport { ANNULLA_TIPOLOGIA_ENTE, PROPONI_TIPOLOGIA_ENTE } from \"../../../../layout/modale-conferma/utils\";\r\n\r\nconst GestioneTipologie = ({\r\n decodificheStatiTipologia,\r\n getTipologieByUtenza,\r\n attivaTipologiaById,\r\n disattivaTipologiaById,\r\n modaleConfermaConfig,\r\n tipologie_by_utenza,\r\n isLoading,\r\n match\r\n}) => {\r\n const { params: { utenza } } = match;\r\n const [tableRows, setTableRows] = useState([]);\r\n const [tableRowsInit, setTableRowsInit] = useState([]);\r\n const [edit, setEdit] = useState();\r\n\r\n const handleAction = modaleconferma => {\r\n modaleConfermaConfig({\r\n id: `${modaleconferma.name}-tipologia-ente`,\r\n open: true,\r\n ...modaleconferma\r\n });\r\n };\r\n\r\n const modificaTipologia = id => {\r\n setEdit(id);\r\n };\r\n\r\n const proponiTipologia = tipologia => {\r\n handleAction(\r\n {\r\n name: 'PROPONI',\r\n title: tipologia.descrizione,\r\n body:

    La tipolologia verrà proposta all'approvazione. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: PROPONI_TIPOLOGIA_ENTE,\r\n payload: tipologia.id\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n //icon: 'trash',\r\n label: \"Annulla\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n // icon: 'arrow-right',\r\n label: \"Conferma\",\r\n buttonClass: 'primary',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n )\r\n }\r\n\r\n const annullaTipologia = tipologia => {\r\n handleAction(\r\n {\r\n name: 'ANNULLA',\r\n title: tipologia.descrizione,\r\n body:

    La tipolologia verrà annullata. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: ANNULLA_TIPOLOGIA_ENTE,\r\n payload: {\r\n id: tipologia.id,\r\n utenza\r\n }\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n // icon: 'trash',\r\n label: \"Annulla\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n // icon: 'arrow-right',\r\n label: \"Conferma\",\r\n buttonClass: 'primary',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n )\r\n }\r\n\r\n const actions = {\r\n handleAction,\r\n modificaTipologia,\r\n attivaTipologiaById,\r\n disattivaTipologiaById,\r\n annullaTipologia,\r\n proponiTipologia\r\n };\r\n\r\n const updateTableRows = (array) => {\r\n let newTr = array ? getTableRows(\r\n array,\r\n actions,\r\n utenza\r\n ) : tableRowsInit;\r\n setTableRows(newTr);\r\n };\r\n\r\n\r\n\r\n let tipologieAttive = useMemo(() => tipologie_by_utenza\r\n && tipologie_by_utenza.filter(el => el.stato === getIdDecodificaByVariabile(\r\n \"ATTIVO\",\r\n decodificheStatiTipologia\r\n )), [tipologie_by_utenza]); // eslint-disable-line react-hooks/exhaustive-deps\r\n let trAttivi = useMemo(() => tipologieAttive\r\n && getTableRows(\r\n tipologieAttive,\r\n actions,\r\n utenza), [tipologieAttive]); // eslint-disable-line react-hooks/exhaustive-deps\r\n let trInit = useMemo(() => tipologie_by_utenza\r\n && getTableRows(\r\n tipologie_by_utenza,\r\n actions,\r\n utenza), [tipologie_by_utenza]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n getTipologieByUtenza(utenza);\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setTableRowsInit(trInit);\r\n setTableRows(trAttivi);\r\n }, [\r\n utenza,\r\n trInit,\r\n trAttivi,\r\n attivaTipologiaById,\r\n disattivaTipologiaById\r\n ]);\r\n\r\n return (\r\n \r\n {edit &&\r\n \r\n }\r\n \r\n
    \r\n

    Tipologie

    \r\n
    \r\n {['ministero', 'enti'].includes(utenza) &&\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n {isLoading ?\r\n
    \r\n \r\n
    \r\n :\r\n \r\n \r\n {tableRows &&\r\n \r\n }\r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n tipologie_by_utenza: store.gestione_tipologie.get_tipologie_by_utenza.tipologie_by_utenza,\r\n isLoading: store.gestione_tipologie.get_tipologie_by_utenza.isLoading\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n getTipologieByUtenza: (utenza) => dispatch(getTipologieByUtenza(utenza)),\r\n attivaTipologiaById: (id) => dispatch(attivaTipologiaById(id)),\r\n disattivaTipologiaById: (id) => dispatch(disattivaTipologiaById(id))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(GestioneTipologie);","export const ACTIVATE_TIPOLOGIA_BY_ID_SUCCESS = 'ACTIVATE_TIPOLOGIA_BY_ID_SUCCESS';\r\nexport const ACTIVATE_TIPOLOGIA_BY_ID_IS_LOADING = 'ACTIVATE_TIPOLOGIA_BY_ID_IS_LOADING';\r\nexport const ACTIVATE_TIPOLOGIA_BY_ID_ERROR = 'ACTIVATE_TIPOLOGIA_BY_ID_ERROR';\r\n\r\nexport const activateTipologiaByIdSuccess = payload => {\r\n return {\r\n type: ACTIVATE_TIPOLOGIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const activateTipologiaByIdIsLoading = loading => {\r\n return {\r\n type: ACTIVATE_TIPOLOGIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const activateTipologiaByIdError = error => {\r\n return {\r\n type: ACTIVATE_TIPOLOGIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","export const DEACTIVATE_TIPOLOGIA_BY_ID_SUCCESS = 'DEACTIVATE_TIPOLOGIA_BY_ID_SUCCESS';\r\nexport const DEACTIVATE_TIPOLOGIA_BY_ID_IS_LOADING = 'DEACTIVATE_TIPOLOGIA_BY_ID_IS_LOADING';\r\nexport const DEACTIVATE_TIPOLOGIA_BY_ID_ERROR = 'DEACTIVATE_TIPOLOGIA_BY_ID_ERROR';\r\n\r\nexport const deactivateTipologiaByIdSuccess = payload => {\r\n return {\r\n type: DEACTIVATE_TIPOLOGIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const deactivateTipologiaByIdIsLoading = loading => {\r\n return {\r\n type: DEACTIVATE_TIPOLOGIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const deactivateTipologiaByIdError = error => {\r\n return {\r\n type: DEACTIVATE_TIPOLOGIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import * as yup from 'yup';\r\nimport { Input } from '../../../../../ui';\r\nimport Select from '../../../../../ui/select';\r\n\r\n\r\nexport const categorieFiltersFormFields = (tipologie, decodifiche, utenza) => {\r\n return ([\r\n {\r\n id: 'descrizione',\r\n tag: Input,\r\n comparestrings: true,\r\n name: 'descrizione',\r\n label: 'Denominazione',\r\n },\r\n {\r\n id: 'tipologia',\r\n tag: Select,\r\n type: 'text',\r\n name: 'tipologia',\r\n label: 'Tipologia',\r\n filterpath: ['idtipologia'],\r\n optionlist: tipologie ? tipologie.map((tipologia) => ({\r\n value: tipologia.id,\r\n label: tipologia.descrizione\r\n })) : [],\r\n },\r\n {\r\n id: 'stato',\r\n tag: Select,\r\n type: 'text',\r\n name: 'stato',\r\n label: 'Stato',\r\n optionlist: decodifiche.filter(dec => {\r\n if (['ministero', 'garante'].includes(utenza)) {\r\n return [\"0\", \"1\", \"5\"].includes(dec.key)\r\n } else return [\"0\", \"1\", \"2\", \"5\"].includes(dec.key)\r\n })\r\n .map(dec => (\r\n {\r\n value: parseInt(dec.key, 10),\r\n label: dec.traduzionetrasl,\r\n }\r\n ))\r\n .sort((a, b) => { if (a.value > b.value) { return 1 } else return -1 })\r\n }\r\n ]);\r\n};\r\n\r\nexport const categorieFiltersInitialValues = (decodifiche) => {\r\n return {\r\n descrizione: '',\r\n stato: 0\r\n };\r\n};\r\n\r\nexport const categorieFiltersValidationSchema = yup.object().shape({\r\n stato: yup.string().nullable(),\r\n descrizione: yup.string().nullable(),\r\n});\r\n","import React from 'react';\r\nimport { Icon } from '../../../../../ui';\r\n\r\nexport const tableHeaders = utenza => {\r\n let headers = [\r\n {\r\n value: 'ID',\r\n },\r\n {\r\n value: 'Descrizione',\r\n },\r\n\r\n {\r\n value: 'Tipologia',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center'\r\n },\r\n ];\r\n if (['ministero', 'enti'].includes(utenza)) {\r\n headers.push({\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-center',\r\n })\r\n }\r\n return headers;\r\n};\r\n\r\nexport const getStatoCategoria = (categoria, callbacks, utenza) => {\r\n const {\r\n modificaCategoria,\r\n attivaCategoriaById,\r\n disattivaCategoriaById,\r\n annullaCategoria,\r\n proponiCategoria,\r\n } = callbacks;\r\n\r\n switch (categoria.stato) {\r\n case 0:\r\n return {\r\n icon: 'check',\r\n title: \"Attivo\",\r\n class: 'success',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: categoria.id + '-modifica',\r\n onClick: () => modificaCategoria(categoria.id),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: categoria.id + '-disattiva',\r\n onClick: () => disattivaCategoriaById(categoria.id),\r\n value: 'Disattiva',\r\n icon: 'ban',\r\n buttonClass: 'danger',\r\n },\r\n {\r\n id: categoria.id + '-annulla',\r\n onClick: () => annullaCategoria(categoria),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n disabled: categoria.totAssociazioni > 0\r\n }\r\n ]\r\n };\r\n\r\n case 1:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: \"Non attivo\",\r\n class: 'warning',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: categoria.id + '-modifica',\r\n onClick: () => attivaCategoriaById(categoria.id),\r\n value: 'Attiva',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n },\r\n {\r\n id: categoria.id + '-annulla',\r\n onClick: () => annullaCategoria(categoria),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n }\r\n ]\r\n };\r\n\r\n case 2:\r\n return {\r\n icon: 'flag',\r\n title: \"Inserito dall'ente\",\r\n class: 'primary',\r\n actions: [\r\n {\r\n id: categoria.id + '-proponi',\r\n onClick: () => proponiCategoria(categoria),\r\n value: 'Proponi',\r\n icon: 'arrow-right',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n {\r\n id: categoria.id + '-modifica',\r\n onClick: () => modificaCategoria(categoria.id),\r\n value: 'Modifica',\r\n icon: 'edit',\r\n buttonClass: 'primary',\r\n },\r\n {\r\n id: categoria.id + '-annulla',\r\n onClick: () => annullaCategoria(categoria),\r\n value: 'Annulla',\r\n icon: 'trash',\r\n buttonClass: 'danger',\r\n }\r\n ]\r\n };\r\n case 3:\r\n return {\r\n icon: 'trash',\r\n title: \"Annullato\",\r\n class: 'danger'\r\n };\r\n case 4:\r\n return {\r\n icon: 'times',\r\n title: \"Cancellato\",\r\n class: 'danger'\r\n };\r\n case 5:\r\n return {\r\n icon: 'flag',\r\n title: \"Proposto\",\r\n class: 'success',\r\n actions: utenza === 'ministero' && [\r\n {\r\n id: categoria.id + '-approva',\r\n onClick: () => attivaCategoriaById(categoria.id),\r\n value: 'Approva',\r\n icon: 'check',\r\n buttonClass: 'success',\r\n tooltip: true\r\n },\r\n {\r\n id: categoria.id + '-rifiuta',\r\n onClick: () => annullaCategoria(categoria),\r\n value: 'Rifiuta',\r\n icon: 'times',\r\n buttonClass: 'danger',\r\n tooltip: true\r\n }]\r\n };\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const getTableRows = (data, tipologie, callbacks, utenza) => (\r\n data.map((categoria, index) => {\r\n let cells = [];\r\n let statoCategoria = getStatoCategoria(categoria, callbacks, utenza);\r\n let tipologia = categoria.idtipologia && tipologie\r\n && tipologie.find(tipo => tipo.id === categoria.idtipologia);\r\n\r\n cells.push(\r\n {\r\n tag: '',\r\n value: categoria.id || 'n.d.',\r\n datath: 'ID',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: categoria.descrizione || 'n.d.',\r\n datath: 'Descrizione',\r\n classes: 'text-left'\r\n },\r\n\r\n {\r\n tag: '',\r\n value: tipologia ? tipologia.descrizione : 'n.d.',\r\n datath: 'Tipologia',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: (\r\n
    \r\n \r\n {statoCategoria.title.toLocaleUpperCase()}\r\n
    \r\n ),\r\n datath: \"Stato\",\r\n classes: `text-center`,\r\n style: {\r\n minWidth: '7rem'\r\n },\r\n },\r\n );\r\n\r\n if (['ministero', 'enti'].includes(utenza)) {\r\n cells.push(\r\n {\r\n tag: '',\r\n value: '',\r\n datath: \"Azioni\",\r\n classes: 'text-right',\r\n style: {\r\n minWidth: '10rem'\r\n },\r\n dropdown: statoCategoria.actions &&\r\n statoCategoria.actions.length ? {\r\n items: statoCategoria.actions,\r\n id: 'azioni-' + index,\r\n label: 'Azioni',\r\n srLabel: `Azioni categoria ${categoria.descrizione}`\r\n } : false\r\n }\r\n );\r\n }\r\n return {\r\n id: 'row-' + categoria.id,\r\n cells: cells\r\n };\r\n })\r\n);","import React, { Fragment, useEffect, useMemo, useState } from \"react\";\r\nimport { IconButton, PaginatedTable, ScrollTopButton, Spinner } from \"../../../../ui\";\r\nimport SezioneFiltri from \"../../sezione-filtri\";\r\nimport {\r\n categorieFiltersFormFields,\r\n categorieFiltersValidationSchema,\r\n categorieFiltersInitialValues\r\n} from \"./utils/filtersFormData\";\r\nimport { getTableRows, tableHeaders } from \"./utils/tableData\";\r\nimport { connect } from \"react-redux\";\r\nimport { modaleConfermaConfig } from \"../../../../../redux/actions/area-riservata/utils-actions\";\r\nimport { NavLink, Redirect } from \"react-router-dom\";\r\nimport { getIdDecodificaByVariabile } from \"../../../../common/decodifiche\";\r\nimport { attivaCategoriaById, disattivaCategoriaById, getCategorieByUtenza } from \"../../../../../redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions\";\r\nimport { getFiltroTipologieByUtenza } from \"../../../../../redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions\";\r\nimport * as Yup from \"yup\";\r\nimport { ANNULLA_CATEGORIA_ENTE, PROPONI_CATEGORIA_ENTE } from \"../../../../layout/modale-conferma/utils\";\r\n\r\nconst GestioneCategorie = ({\r\n decodificheStatiCategoria,\r\n getCategorieByUtenza,\r\n getFiltroTipologieByUtenza,\r\n modaleConfermaConfig,\r\n attivaCategoriaById,\r\n disattivaCategoriaById,\r\n categorie_by_utenza,\r\n filtro_tipologie_by_utenza,\r\n isLoading,\r\n match\r\n}) => {\r\n const { params: { utenza } } = match;\r\n const [tableRows, setTableRows] = useState([]);\r\n const [tableRowsInit, setTableRowsInit] = useState([]);\r\n const [edit, setEdit] = useState();\r\n\r\n const handleAction = modaleconferma => {\r\n modaleConfermaConfig({\r\n id: `${modaleconferma.name}-categoria-ente`,\r\n open: true,\r\n ...modaleconferma\r\n });\r\n };\r\n\r\n const modificaCategoria = id => {\r\n setEdit(id);\r\n };\r\n\r\n const proponiCategoria = categoria => {\r\n handleAction(\r\n {\r\n name: 'PROPONI',\r\n title: categoria.descrizione,\r\n body:

    La categoria verrà proposta all'approvazione. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: PROPONI_CATEGORIA_ENTE,\r\n payload: categoria.id\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n label: \"Annulla\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n label: \"Conferma\",\r\n buttonClass: 'primary',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n )\r\n }\r\n\r\n const annullaCategoria = categoria => {\r\n handleAction(\r\n {\r\n name: 'ANNULLA',\r\n title: categoria.descrizione,\r\n body:

    La categoria verrà annullata. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: ANNULLA_CATEGORIA_ENTE,\r\n payload: {\r\n id: categoria.id,\r\n utenza\r\n }\r\n }\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n label: \"Annulla\",\r\n buttonClass: 'default',\r\n type: \"button\",\r\n cancel: true\r\n },\r\n {\r\n label: \"Conferma\",\r\n buttonClass: 'primary',\r\n type: \"submit\",\r\n },\r\n ]\r\n }\r\n }\r\n )\r\n }\r\n\r\n const actions = {\r\n handleAction,\r\n modificaCategoria,\r\n attivaCategoriaById,\r\n disattivaCategoriaById,\r\n proponiCategoria,\r\n annullaCategoria\r\n };\r\n\r\n const updateTableRows = (array) => {\r\n let newTr = array ? getTableRows(\r\n array,\r\n filtro_tipologie_by_utenza,\r\n actions,\r\n utenza\r\n ) : tableRowsInit;\r\n setTableRows(newTr);\r\n };\r\n\r\n let categorieAttive = useMemo(() => categorie_by_utenza\r\n && categorie_by_utenza.filter(el => el.stato === getIdDecodificaByVariabile(\r\n \"ATTIVO\",\r\n decodificheStatiCategoria\r\n )), [categorie_by_utenza]); // eslint-disable-line react-hooks/exhaustive-deps\r\n let trAttivi = useMemo(() => categorieAttive\r\n && filtro_tipologie_by_utenza\r\n && getTableRows(\r\n categorieAttive,\r\n filtro_tipologie_by_utenza,\r\n actions,\r\n utenza), [categorieAttive, filtro_tipologie_by_utenza]); // eslint-disable-line react-hooks/exhaustive-deps\r\n let trInit = useMemo(() => categorie_by_utenza\r\n && filtro_tipologie_by_utenza\r\n && getTableRows(\r\n categorie_by_utenza,\r\n filtro_tipologie_by_utenza,\r\n actions,\r\n utenza), [categorie_by_utenza, filtro_tipologie_by_utenza]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (!isLoading) {\r\n getCategorieByUtenza(utenza);\r\n getFiltroTipologieByUtenza(utenza);\r\n }\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n setTableRowsInit(trInit);\r\n setTableRows(trAttivi);\r\n }, [\r\n utenza,\r\n trInit,\r\n trAttivi,\r\n attivaCategoriaById,\r\n disattivaCategoriaById\r\n ]);\r\n\r\n return (\r\n \r\n {edit &&\r\n \r\n }\r\n \r\n
    \r\n

    Categorie

    \r\n
    \r\n {['ministero', 'enti'].includes(utenza) &&\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n {isLoading ?\r\n
    \r\n \r\n
    \r\n :\r\n \r\n \r\n {tableRows &&\r\n \r\n }\r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n categorie_by_utenza: store.gestione_categorie.get_categorie_by_utenza.categorie_by_utenza,\r\n isLoading: store.gestione_categorie.get_categorie_by_utenza.isLoading\r\n || store.gestione_tipologie.get_filtro_tipologie_by_utenza.isLoading,\r\n filtro_tipologie_by_utenza: store.gestione_tipologie.get_filtro_tipologie_by_utenza.filtro_tipologie_by_utenza\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n getCategorieByUtenza: (utenza) => dispatch(getCategorieByUtenza(utenza)),\r\n getFiltroTipologieByUtenza: (utenza) => dispatch(getFiltroTipologieByUtenza(utenza)),\r\n attivaCategoriaById: (id) => dispatch(attivaCategoriaById(id)),\r\n disattivaCategoriaById: (id) => dispatch(disattivaCategoriaById(id))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(GestioneCategorie);","export const ACTIVATE_CATEGORIA_BY_ID_SUCCESS = 'ACTIVATE_CATEGORIA_BY_ID_SUCCESS';\r\nexport const ACTIVATE_CATEGORIA_BY_ID_IS_LOADING = 'ACTIVATE_CATEGORIA_BY_ID_IS_LOADING';\r\nexport const ACTIVATE_CATEGORIA_BY_ID_ERROR = 'ACTIVATE_CATEGORIA_BY_ID_ERROR';\r\n\r\nexport const activateCategoriaByIdSuccess = payload => {\r\n return {\r\n type: ACTIVATE_CATEGORIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const activateCategoriaByIdIsLoading = loading => {\r\n return {\r\n type: ACTIVATE_CATEGORIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const activateCategoriaByIdError = error => {\r\n return {\r\n type: ACTIVATE_CATEGORIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","export const DEACTIVATE_CATEGORIA_BY_ID_SUCCESS = 'DEACTIVATE_CATEGORIA_BY_ID_SUCCESS';\r\nexport const DEACTIVATE_CATEGORIA_BY_ID_IS_LOADING = 'DEACTIVATE_CATEGORIA_BY_ID_IS_LOADING';\r\nexport const DEACTIVATE_CATEGORIA_BY_ID_ERROR = 'DEACTIVATE_CATEGORIA_BY_ID_ERROR';\r\n\r\nexport const deactivateCategoriaByIdSuccess = payload => {\r\n return {\r\n type: DEACTIVATE_CATEGORIA_BY_ID_SUCCESS,\r\n payload\r\n };\r\n};\r\n\r\nexport const deactivateCategoriaByIdIsLoading = loading => {\r\n return {\r\n type: DEACTIVATE_CATEGORIA_BY_ID_IS_LOADING,\r\n loading\r\n };\r\n};\r\n\r\nexport const deactivateCategoriaByIdError = error => {\r\n return {\r\n type: DEACTIVATE_CATEGORIA_BY_ID_ERROR,\r\n error\r\n };\r\n};","import * as yup from 'yup';\r\nimport { Input, Select } from '../../../../../../../ui';\r\n\r\nexport const getTipologiaFormFields = (tipologia) => {\r\n let fields = [\r\n {\r\n id: 'classe',\r\n tag: Select,\r\n optionlist: [\r\n {\r\n value: 'PA',\r\n label: 'PA'\r\n },\r\n {\r\n value: 'GESTORE',\r\n label: 'GESTORE'\r\n },\r\n ],\r\n name: 'classe',\r\n label: 'Classe ente',\r\n required: true,\r\n },\r\n {\r\n id: 'descrizionenuovatipologia',\r\n tag: Input,\r\n type: 'text',\r\n name: 'descrizionenuovatipologia',\r\n label: 'Descrizione nuova tipologia',\r\n required: true,\r\n },\r\n ];\r\n if (!tipologia) {\r\n fields.push( {\r\n id: 'descrizionenuovacategoria',\r\n tag: Input,\r\n type: 'text',\r\n name: 'descrizionenuovacategoria',\r\n label: 'Descrizione nuova categoria',\r\n required: true,\r\n });\r\n }\r\n return fields;\r\n};\r\n\r\nexport const tipologiaInitialValues = (tipologia, disabledFormValues) => {\r\n if (tipologia) {\r\n return {\r\n classe: {label: tipologia.classe, value: tipologia.classe},\r\n descrizionenuovatipologia: tipologia.descrizione\r\n };\r\n } else if(disabledFormValues) {\r\n return disabledFormValues;\r\n } else return {\r\n classe: undefined,\r\n descrizionenuovatipologia: '',\r\n descrizionenuovacategoria: '',\r\n };\r\n};\r\n\r\nexport const tipologiaValidationSchema = (tipologia) => {\r\n let schema = yup.object().shape({\r\n classe: yup.object().required(\"Classe: campo obbligatorio.\"),\r\n descrizionenuovatipologia: yup.string()\r\n .required(\"Descrizione nuova tipologia: campo obbligatorio.\")\r\n .max(1000, \"Descrizione nuova tipologia: questo campo non può superare 1000 caratteri.\")\r\n });\r\n if (!tipologia) {\r\n let nuovaCategoriaObj = yup.object().shape({\r\n descrizionenuovacategoria: yup.string()\r\n .required(\"Descrizione nuova categoria: campo obbligatorio.\")\r\n .max(500, \"Descrizione nuova tipologia: questo campo non può superare 1000 caratteri.\"),\r\n });\r\n schema = schema.concat(nuovaCategoriaObj);\r\n }\r\n return schema;\r\n};","import React, { Fragment } from 'react';\r\nimport {\r\n getTipologiaFormFields,\r\n tipologiaInitialValues,\r\n tipologiaValidationSchema\r\n} from './utils/tipologiaFormData';\r\nimport Form from '../../../../../../formik';\r\nimport { IconButton } from '../../../../../../ui';\r\n\r\n\r\nconst FormTipologia = ({\r\n tipologia,\r\n handleSubmit,\r\n disabledForm,\r\n modifica\r\n}) => {\r\n\r\n return (\r\n
    {\r\n handleSubmit(values)\r\n }}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n errorMessage,\r\n dirty\r\n }) => (\r\n \r\n {getTipologiaFormFields(tipologia).map((field, index) => {\r\n let FieldTag = field.tag;\r\n return (\r\n setFieldValue(field.id, value)}\r\n optionlist={field.optionlist ? field.optionlist : null}\r\n type={field.type || null}\r\n error={errors[field.id]}\r\n dateformat={field.dateformat || null}\r\n min={field.min}\r\n max={field.max}\r\n rows={field.rows || null}\r\n required={field.required}\r\n valuetype={field.valuetype || null}\r\n wrapperClasses=\"w-100\"\r\n disabled={!!disabledForm}\r\n />\r\n )\r\n })}\r\n {errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default FormTipologia;","import React, { useEffect, Fragment, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { FormTipologia } from './_partials';\r\nimport { GoNavLink, Spinner } from '../../../../../ui';\r\nimport { aggiornaTipologiaById, getTipologieByUtenza, inserisciTipologiaCategoria } from '../../../../../../redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions';\r\n\r\nconst NuovaTipologia = props => {\r\n const {\r\n match: { params: { utenza } },\r\n history,\r\n idtipologia,\r\n tipologie_by_utenza,\r\n getTipologieByUtenza,\r\n inserisciTipologiaCategoria,\r\n aggiornaTipologiaById,\r\n isLoading\r\n } = props;\r\n\r\n const [disabledForm, setDisabledForm] = useState(false);\r\n const [tipologia, setTipologia] = useState();\r\n\r\n useEffect(() => {\r\n if (idtipologia) {\r\n if (tipologie_by_utenza) {\r\n setTipologia(tipologie_by_utenza.find(el => el.id === idtipologia));\r\n } else {\r\n getTipologieByUtenza(utenza);\r\n }\r\n }\r\n }, [idtipologia, tipologie_by_utenza]) // eslint-disable-line\r\n\r\n const handleSubmit = (values) => {\r\n if (tipologia) {\r\n aggiornaTipologiaById(\r\n idtipologia,\r\n {\r\n \"classe\": values.classe.value,\r\n \"descrizione\": values.descrizionenuovatipologia\r\n },\r\n utenza\r\n )\r\n } else {\r\n\r\n const disableForm = values => {\r\n setDisabledForm(values);\r\n };\r\n\r\n inserisciTipologiaCategoria(\r\n values,\r\n disableForm,\r\n utenza\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    {idtipologia ? 'Modifica' : 'Nuova'} tipologia

    \r\n
    \r\n \r\n {((idtipologia && !tipologia) || isLoading)\r\n &&\r\n
    \r\n \r\n
    \r\n }\r\n {(!idtipologia || (idtipologia && tipologia && !isLoading))\r\n &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n tipologie_by_utenza: store.gestione_tipologie.get_tipologie_by_utenza.tipologie_by_utenza,\r\n isLoading: store.gestione_tipologie.get_tipologie_by_utenza.isLoading\r\n || (store.gestione_tipologie.update_tipologia_by_id\r\n && store.gestione_tipologie.update_tipologia_by_id.isLoading)\r\n || (store.gestione_tipologie.insert_tipologia_categoria\r\n && store.gestione_tipologie.insert_tipologia_categoria.isLoading)\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getTipologieByUtenza: (utenza) => dispatch(getTipologieByUtenza(utenza)),\r\n inserisciTipologiaCategoria: (payload, callback, utenza) => dispatch(inserisciTipologiaCategoria(payload, callback, utenza)),\r\n aggiornaTipologiaById: (id, payload, utenza) => dispatch(aggiornaTipologiaById(id, payload, utenza)),\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(NuovaTipologia);","import * as yup from 'yup';\r\nimport { Input, Select } from '../../../../../../../ui';\r\n\r\nexport const getTipologiaFormFields = (tipologie = [], categoria) => {\r\n let tipologiaOptions = tipologie.map((tipologia) => ({value: tipologia.id, label: tipologia.descrizione}));\r\n if (categoria && categoria.idtipologia && !tipologiaOptions.find(el => el.value === categoria.idtipologia)) {\r\n tipologiaOptions.push({value: categoria.idtipologia, label: categoria.descTipologia});\r\n }\r\n let fields = [\r\n {\r\n id: 'tipologia',\r\n tag: Select,\r\n type: 'text',\r\n name: 'tipologia',\r\n label: 'Tipologia',\r\n filterpath: ['idtipologia'],\r\n optionlist: tipologiaOptions,\r\n sort: true,\r\n required: true\r\n },\r\n {\r\n id: 'descrizionenuovacategoria',\r\n tag: Input,\r\n type: 'text',\r\n name: 'descrizionenuovacategoria',\r\n label: 'Descrizione nuova categoria',\r\n required: true,\r\n }\r\n ];\r\n return fields;\r\n};\r\n\r\nexport const tipologiaInitialValues = (categoria) => {\r\n return (\r\n {\r\n tipologia: categoria ? {\r\n value: categoria.idtipologia,\r\n label: categoria.descTipologia\r\n } : '',\r\n descrizionenuovacategoria: categoria ? categoria.descrizione : '',\r\n }\r\n );\r\n};\r\n\r\nexport const tipologiaValidationSchema = (tipologia) => yup.object().shape({\r\n tipologia: yup.object().required(\"Tipologia: campo obbligatorio.\"),\r\n descrizionenuovacategoria: yup.string()\r\n .required(\"Descrizione nuova categoria: campo obbligatorio.\")\r\n .max(1000, \"Descrizione nuova categoria: questo campo non può superare 1000 caratteri.\")\r\n});","import React, { Fragment } from 'react';\r\nimport {\r\n getTipologiaFormFields,\r\n tipologiaInitialValues,\r\n tipologiaValidationSchema\r\n} from './utils/categoriaFormData';\r\nimport Form from '../../../../../../formik';\r\nimport { IconButton } from '../../../../../../ui';\r\n\r\n\r\nconst FormCategoria = ({\r\n tipologie,\r\n categoria,\r\n handleSubmit,\r\n disabledForm,\r\n modifica\r\n}) => { \r\n return (\r\n {\r\n handleSubmit(values)\r\n }}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n errors,\r\n errorMessage,\r\n dirty\r\n }) => (\r\n \r\n {getTipologiaFormFields(tipologie, categoria).map((field, index) => {\r\n let FieldTag = field.tag;\r\n return (\r\n setFieldValue(field.id, value)}\r\n optionlist={field.optionlist ? field.optionlist : null}\r\n type={field.type || null}\r\n error={errors[field.id]}\r\n dateformat={field.dateformat || null}\r\n min={field.min}\r\n max={field.max}\r\n rows={field.rows || null}\r\n required={field.required}\r\n valuetype={field.valuetype || null}\r\n wrapperClasses=\"w-100\"\r\n disabled={disabledForm}\r\n sort={field.sort}\r\n />\r\n )\r\n })}\r\n {errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormCategoria;","import React, { useEffect, Fragment, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { FormCategoria } from './_partials';\r\nimport { GoNavLink, Spinner } from '../../../../../ui';\r\nimport { getTipologieByStati } from '../../../../../../redux/actions/area-riservata/tipologie-categorie-actions/tipologie-actions';\r\nimport { aggiornaCategoriaById, getCategorieByUtenza, inserisciCategoria } from '../../../../../../redux/actions/area-riservata/tipologie-categorie-actions/categorie-actions';\r\n\r\nconst NuovaCategoria = props => {\r\n const {\r\n match: { params: { utenza } },\r\n history,\r\n idcategoria,\r\n categorie_by_utenza,\r\n tipologie_attive,\r\n getCategorieByUtenza,\r\n getTipologieAttive,\r\n inserisciCategoria,\r\n aggiornaCategoriaById,\r\n isLoading\r\n } = props;\r\n\r\n const [disabledForm, setDisabledForm] = useState(false);\r\n const [categoria, setCategoria] = useState();\r\n\r\n useEffect(() => {\r\n if (!isLoading) {\r\n getTipologieAttive();\r\n }\r\n if (idcategoria) {\r\n if (categorie_by_utenza) {\r\n setCategoria(categorie_by_utenza.filter(el => el.id === idcategoria)[0]);\r\n } else {\r\n getCategorieByUtenza(utenza);\r\n }\r\n }\r\n }, [idcategoria, categorie_by_utenza]) // eslint-disable-line\r\n\r\n const handleSubmit = (values) => {\r\n if (categoria) {\r\n aggiornaCategoriaById(\r\n idcategoria,\r\n {\r\n \"idtipologia\": values.tipologia.value,\r\n \"descrizione\": values.descrizionenuovacategoria\r\n },\r\n utenza\r\n )\r\n } else {\r\n\r\n const disableForm = values => {\r\n setDisabledForm(values);\r\n };\r\n\r\n inserisciCategoria(\r\n values,\r\n disableForm,\r\n utenza\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    {idcategoria ? 'Modifica' : 'Nuova'} categoria

    \r\n
    \r\n \r\n {((idcategoria && !categoria) || isLoading)\r\n &&\r\n
    \r\n \r\n
    \r\n }\r\n {(!idcategoria || (idcategoria && categoria && !isLoading))\r\n && tipologie_attive\r\n &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n categorie_by_utenza: store.gestione_categorie.get_categorie_by_utenza.categorie_by_utenza,\r\n tipologie_attive: store.gestione_tipologie.get_tipologie_by_stati.tipologie_by_stati,\r\n isLoading: (store.gestione_categorie.get_categorie_by_utenza && store.gestione_categorie.get_categorie_by_utenza.isLoading)\r\n || (store.gestione_tipologie.get_tipologie_by_stati && store.gestione_tipologie.get_tipologie_by_stati.isLoading)\r\n || (store.gestione_categorie.update_categoria_by_id\r\n && store.gestione_categorie.update_categoria_by_id.isLoading)\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCategorieByUtenza: (utenza) => dispatch(getCategorieByUtenza(utenza)),\r\n getTipologieAttive: () => dispatch(getTipologieByStati([0])),\r\n inserisciCategoria: (payload, callback, utenza) => dispatch(inserisciCategoria(payload, callback, utenza)),\r\n aggiornaCategoriaById: (id, payload, utenza) => dispatch(aggiornaCategoriaById(id, payload, utenza))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(NuovaCategoria);","import React, { Component, Fragment } from \"react\";\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nimport GestioneTipologie from './gestione-tipologie/GestioneTipologie';\r\nimport GestioneCategorie from './gestione-categorie/GestioneCategorie';\r\n// import GestioneCategorieSpecifiche from './gestione-categorie-specifiche/GestioneCategorieSpecifiche';\r\nimport { DecodificheContext } from \"../../../../contexts\";\r\nimport NuovaTipologia from \"./gestione-tipologie/nuova-tipologia/NuovaTipologia\";\r\nimport NuovaCategoria from \"./gestione-categorie/nuova-categoria/NuovaCategoria\";\r\n// import NuovaCategoriaSpecifica from \"./gestione-categorie-specifiche/nuova-categoria-specifica/NuovaCategoriaSpecifica\";\r\n\r\nclass GestioneCategorieTipologie extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n {({ decodifiche: { stati_tipologia: { stati_tipologia } } }) => (\r\n \r\n\r\n }\r\n />\r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n }\r\n />\r\n }\r\n />\r\n {/* \r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n }\r\n />\r\n }\r\n /> */}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GestioneCategorieTipologie;","import React, { Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { modaleConfermaConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport * as Yup from \"yup\";\r\nimport { DEFAULT_CONFIRM_BODY, DEFAULT_CONFIRM_FOOTER, REVOCA_ACCREDITAMENTO } from \"../../../layout/modale-conferma/utils\";\r\nimport { Revoca } from \"../../common\";\r\nimport { Message, Spinner } from \"../../../ui\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nconst RevocaAccreditamento = ({\r\n get_accordi_by_id_ente,\r\n utente\r\n}) => {\r\n\r\n const MESSAGGIO_REVOCA = get_accordi_by_id_ente.richiesta_inserita\r\n ? \"Per revocare l’accreditamento è necessario annullare la richiesta di accordo di fruizione inserita.\"\r\n : get_accordi_by_id_ente.richiesta_inviata\r\n ? \"Per revocare l’accreditamento è necessario attendere l’esito della richiesta di accordo di fruizione inviata al Ministero.\"\r\n : undefined;\r\n\r\n let idente = !!utente\r\n && utente.idente\r\n\r\n return (\r\n \r\n { MESSAGGIO_REVOCA &&\r\n \r\n }\r\n {(!!idente || (idente === 0))\r\n && !isNullOrUndefined(idente) ?\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n utente: state.authentication.utente,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RevocaAccreditamento);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport RichiestaTrovata from \"./richiesta-trovata/RichiestaTrovata\";\r\nimport RichiesteAnnullateSwitch from \"./richieste-annullate-operatore/RichiesteAnnullateSwitch\";\r\nimport RichiesteRespinteSwitch from \"./richieste-respinte-operatore/RichiesteRespinteSwitch\";\r\nimport NuovaRichiestaAdesioneSwitch from \"./nuova-richiesta-adesione/NuovaRichiestaAdesioneSwitch\";\r\nimport RichiestaInseritaSwitch from \"./RichiestaInseritaSwitch\";\r\nimport GestioneCategorieTipologie from \"../common/gestione-categorie-tipologie/GestioneCategorieTipologie\";\r\nimport RevocaAccreditamento from \"./revoca-accreditamento\";\r\n\r\nclass OperatoreSwitchComponents extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default OperatoreSwitchComponents;\r\n","import React, { Fragment } from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst MenuNavigazione = props => {\r\n const { vociMenu, id, name, history } = props;\r\n const path = history.location.pathname;\r\n\r\n const VoceMenu = ({ infoVoce }) => {\r\n return (\r\n
  • \r\n \r\n {infoVoce.titolo}\r\n \r\n
  • \r\n )\r\n };\r\n\r\n const VoceMenuConSubmenus = ({ infoVoce, index }) => {\r\n let idVoce = id + index;\r\n return (\r\n
  • \r\n \r\n {infoVoce.titolo}\r\n \r\n \r\n {iteraVoci(infoVoce.submenus)}\r\n \r\n
  • \r\n )\r\n };\r\n\r\n const iteraVoci = (arrayVoci) => {\r\n return arrayVoci.map((el, index) => {\r\n if (el.submenus) {\r\n return \r\n }\r\n else return \r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MenuNavigazione;","export const vociMenuOperatore = [\r\n {\r\n titolo: 'Richiesta di adesione in corso',\r\n to: \"/area-riservata/enti/richiesta-adesione-in-corso\",\r\n },\r\n {\r\n titolo: 'Richieste di adesione annullate',\r\n to: \"/area-riservata/enti/richieste-annullate\",\r\n },\r\n {\r\n titolo: 'Richieste di adesione respinte',\r\n to: \"/area-riservata/enti/richieste-respinte\",\r\n },\r\n {\r\n titolo: 'Gestione Tipologie/Categorie',\r\n path: '/area-riservata/enti/gestione-tipologie-categorie',\r\n submenus: [\r\n {\r\n titolo: 'Tipologie',\r\n to: \"/area-riservata/enti/gestione-tipologie-categorie/tipologie\",\r\n },\r\n {\r\n titolo: 'Categorie',\r\n to: \"/area-riservata/enti/gestione-tipologie-categorie/categorie\",\r\n }\r\n ]\r\n },\r\n {\r\n titolo: 'Revoca accreditamento',\r\n to: \"/area-riservata/enti/revoca-accreditamento\",\r\n },\r\n];\r\n\r\nexport const vociMenuResponsabileAmministrazione = (idAccordo) => [\r\n {\r\n titolo: 'Gestione accordo attivo',\r\n expanded: true,\r\n path: '/area-riservata/responsabile-amministrazione/accordo-attivo/',\r\n submenus: [\r\n {\r\n titolo: 'Dettagli',\r\n to: `/area-riservata/responsabile-amministrazione/accordo-attivo/dettagli/${idAccordo}`,\r\n exact: false,\r\n },\r\n {\r\n titolo: 'Casi d\\'uso',\r\n to: `/area-riservata/responsabile-amministrazione/accordo-attivo/casi-uso`,\r\n },\r\n {\r\n titolo: 'Interfacce WS',\r\n to: `/area-riservata/responsabile-amministrazione/accordo-attivo/interfacce-ws`,\r\n },\r\n {\r\n titolo: 'Impostazioni accordo',\r\n to: `/area-riservata/responsabile-amministrazione/accordo-attivo/volume-dichiarato`,\r\n },\r\n {\r\n titolo: 'Revoca accordo',\r\n to: `/area-riservata/responsabile-amministrazione/accordo-attivo/revoca-accordo`,\r\n }\r\n ]\r\n },\r\n {\r\n titolo: 'Accordi revocati',\r\n to: `/area-riservata/responsabile-amministrazione/accordi-revocati`,\r\n },\r\n {\r\n titolo: 'Richieste annullate',\r\n to: `/area-riservata/responsabile-amministrazione/richieste-annullate`,\r\n },\r\n {\r\n titolo: 'Richieste respinte',\r\n to: `/area-riservata/responsabile-amministrazione/richieste-respinte`,\r\n },\r\n {\r\n titolo: \"Gestione casi d'uso\",\r\n to: '/area-riservata/responsabile-amministrazione/gestione-casi-uso',\r\n exact: false,\r\n },\r\n {\r\n titolo: 'Gestione normative',\r\n to: \"/area-riservata/responsabile-amministrazione/gestione-normative\",\r\n exact: false\r\n },\r\n {\r\n titolo: 'Gestione utenti',\r\n to: `/area-riservata/responsabile-amministrazione/gestione-utenti`,\r\n },\r\n {\r\n titolo: 'Gestione IP',\r\n to: `/area-riservata/responsabile-amministrazione/gestione-ip`,\r\n },\r\n {\r\n titolo: 'Profilo personale',\r\n to: `/area-riservata/responsabile-amministrazione/profilo-personale`,\r\n }\r\n];\r\n\r\nexport const vociMenuResponsabileServizio = (idAccordo) => [\r\n {\r\n titolo: 'Gestione accordo attivo',\r\n path: '/area-riservata/responsabile-servizio/accordo-attivo/',\r\n submenus: [\r\n {\r\n titolo: 'Dettagli',\r\n to: `/area-riservata/responsabile-servizio/accordo-attivo/dettagli/${idAccordo}`,\r\n exact: false,\r\n },\r\n {\r\n titolo: 'Casi d\\'uso',\r\n to: `/area-riservata/responsabile-servizio/accordo-attivo/casi-uso`,\r\n },\r\n {\r\n titolo: 'Interfacce WS',\r\n to: `/area-riservata/responsabile-servizio/accordo-attivo/interfacce-ws`,\r\n },\r\n {\r\n titolo: 'Impostazioni accordo',\r\n to: `/area-riservata/responsabile-servizio/accordo-attivo/volume-dichiarato`,\r\n }/*,\r\n {\r\n titolo: 'Termina accordo',\r\n to: `/area-riservata/responsabile-servizio/accordo-attivo/termina-accordo`,\r\n }*/\r\n ]\r\n },\r\n {\r\n titolo: 'Accordi revocati',\r\n to: `/area-riservata/responsabile-servizio/accordi-revocati`,\r\n },\r\n {\r\n titolo: 'Richieste annullate',\r\n to: `/area-riservata/responsabile-servizio/richieste-annullate`,\r\n },\r\n {\r\n titolo: 'Richieste respinte',\r\n to: `/area-riservata/responsabile-servizio/richieste-respinte`,\r\n },\r\n {\r\n titolo: \"Gestione casi d'uso\",\r\n to: '/area-riservata/responsabile-servizio/gestione-casi-uso',\r\n exact: false,\r\n },\r\n {\r\n titolo: 'Gestione IP',\r\n to: `/area-riservata/responsabile-servizio/gestione-ip`,\r\n },\r\n {\r\n titolo: 'Profilo personale',\r\n to: `/area-riservata/responsabile-servizio/profilo-personale`,\r\n }\r\n];\r\n\r\nexport const vociMenuMinistero = [\r\n {\r\n titolo: 'Richieste di adesione da approvare',\r\n to: \"/area-riservata/ministero/richieste-da-approvare\",\r\n },\r\n {\r\n titolo: 'Accordi',\r\n to: \"/area-riservata/ministero/accordi\",\r\n },\r\n {\r\n titolo: 'Richieste di adesione respinte',\r\n to: \"/area-riservata/ministero/richieste-respinte\",\r\n },\r\n {\r\n titolo: \"Gestione casi d'uso\",\r\n to: '/area-riservata/ministero/gestione-casi-uso',\r\n exact: false,\r\n },\r\n {\r\n titolo: 'Gestione normative',\r\n to: \"/area-riservata/ministero/gestione-normative\",\r\n exact: false\r\n },\r\n {\r\n titolo: 'Gestione Tipologie/Categorie',\r\n path: '/area-riservata/ministero/gestione-tipologie-categorie',\r\n submenus: [\r\n {\r\n titolo: 'Tipologie',\r\n to: \"/area-riservata/ministero/gestione-tipologie-categorie/tipologie\",\r\n },\r\n {\r\n titolo: 'Categorie',\r\n to: \"/area-riservata/ministero/gestione-tipologie-categorie/categorie\",\r\n }\r\n ]\r\n },\r\n {\r\n titolo: 'Gestione responsabile firma accordo',\r\n to: \"/area-riservata/ministero/gestione-responsabile-firma-accordo\",\r\n exact: true\r\n },\r\n {\r\n titolo: 'Monitoraggio',\r\n to: \"/area-riservata/ministero/monitoraggio\",\r\n },\r\n {\r\n titolo: 'Profilo personale',\r\n to: `/area-riservata/ministero/profilo-personale`,\r\n }\r\n];\r\n\r\nexport const vociMenuGarante = [\r\n // {\r\n // titolo: 'Richieste di adesione da approvare',\r\n // to: \"/area-riservata/garante/richiesta-inviata\",\r\n // },\r\n {\r\n titolo: 'Accordi',\r\n to: \"/area-riservata/garante/accordi\",\r\n },\r\n // {\r\n // titolo: 'Richieste di adesione respinte',\r\n // to: \"/area-riservata/garante/richieste-respinte\",\r\n // },\r\n {\r\n titolo: \"Catalogo casi d'uso\",\r\n to: '/area-riservata/garante/gestione-casi-uso',\r\n exact: false,\r\n },\r\n {\r\n titolo: 'Catalogo normative',\r\n to: \"/area-riservata/garante/gestione-normative\",\r\n exact: false\r\n },\r\n {\r\n titolo: 'Catalogo Tipologie/Categorie',\r\n path: '/area-riservata/garante/gestione-tipologie-categorie',\r\n submenus: [\r\n {\r\n titolo: 'Tipologie',\r\n to: \"/area-riservata/garante/gestione-tipologie-categorie/tipologie\",\r\n },\r\n {\r\n titolo: 'Categorie',\r\n to: \"/area-riservata/garante/gestione-tipologie-categorie/categorie\",\r\n }\r\n ]\r\n },\r\n {\r\n titolo: 'Monitoraggio',\r\n to: \"/area-riservata/garante/monitoraggio\",\r\n },\r\n {\r\n titolo: 'Profilo personale',\r\n to: `/area-riservata/garante/profilo-personale`,\r\n }\r\n];\r\n","import React, { useEffect } from \"react\";\r\nimport MenuNavigazione from \"../../../layout/menu-navigazione\";\r\nimport { vociMenuOperatore } from \"../../../../constants/voci_menu_navigazione\";\r\nimport { connect } from \"react-redux\";\r\nimport { getAccordiByIdEnte } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nconst SidebarOperatore = ({\r\n get_accordi_by_id_ente,\r\n getAccordiByIdEnte,\r\n insert_richiesta_adesione,\r\n cancel_richiesta_adesione_by_id_richiesta,\r\n send_richiesta_adesione_by_id_richiesta,\r\n decodifiche,\r\n history\r\n}) => {\r\n\r\n useEffect(() => {\r\n const utente = JSON.parse(localStorage.getItem(\"utente\"));\r\n if (\r\n !!utente\r\n && !isNullOrUndefined(utente.idente)\r\n && !get_accordi_by_id_ente.isLoading\r\n ) {\r\n getAccordiByIdEnte(utente.idente, decodifiche.stati_accordo.stati_accordo);\r\n }\r\n }, [getAccordiByIdEnte]); //eslint-disable-line\r\n\r\n useEffect(() => {\r\n const utente = JSON.parse(localStorage.getItem(\"utente\"));\r\n if (\r\n !!utente\r\n && !isNullOrUndefined(utente.idente)\r\n && ((insert_richiesta_adesione &&\r\n insert_richiesta_adesione.inserted) ||\r\n (cancel_richiesta_adesione_by_id_richiesta &&\r\n cancel_richiesta_adesione_by_id_richiesta.canceled) ||\r\n (send_richiesta_adesione_by_id_richiesta &&\r\n send_richiesta_adesione_by_id_richiesta.sent))) {\r\n getAccordiByIdEnte(utente.idente, decodifiche.stati_accordo.stati_accordo);\r\n }\r\n }, [insert_richiesta_adesione, cancel_richiesta_adesione_by_id_richiesta, send_richiesta_adesione_by_id_richiesta]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n insert_richiesta_adesione: state.gestione_accordi.insert_richiesta_adesione,\r\n cancel_richiesta_adesione_by_id_richiesta: state.gestione_accordi.cancel_richiesta_adesione_by_id_richiesta,\r\n send_richiesta_adesione_by_id_richiesta: state.gestione_accordi.send_richiesta_adesione_by_id_richiesta\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordiByIdEnte: (idEnte, stati_accordo) =>\r\n dispatch(getAccordiByIdEnte(idEnte, stati_accordo)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SidebarOperatore);\r\n","import React, { Component } from \"react\";\r\nimport OperatoreSwitchComponents from \"./OperatoreSwitchComponents\";\r\nimport SidebarOperatore from \"./sidebar-operatore/SidebarOperatore\";\r\nimport { DecodificheContext } from \"../../../contexts\";\r\nimport { SidebarContentLayout } from \"../../layout\";\r\n\r\nclass OperatoreContainer extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default OperatoreContainer;\r\n","import React, {Component} from \"react\";\r\nimport {DefaultLoading} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\n\r\nclass RichiesteInviateMinistero extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows: []\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_INVIATA'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_INVIATA'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste di adesione da approvare

    \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nRichiesteInviateMinistero.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteInviateMinistero);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteDaApprovareMinistero from \"../../ar-ministero/richieste-da-approvare-ministero/RichiesteDaApprovareMinistero\";\r\n\r\nconst RichiesteInviateSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiesteInviateSwitch;\r\n","import * as yup from 'yup';\r\nimport { Input, Select, DatePicker } from '../../../../ui';\r\n\r\nexport const richiesteAccordoFiltersFormFields = (utenza, decodifichestatiAccordo) => {\r\n const fields = [\r\n {\r\n id: 'denominazione',\r\n tag: Input,\r\n filterpath: ['ente', 'denominazione'],\r\n comparestrings: true,\r\n name: 'Denominazione-ente',\r\n label: 'Denominazione ente',\r\n },\r\n {\r\n id: 'classe',\r\n tag: Select,\r\n filterpath: ['ente', 'tipologia', 'classe'],\r\n optionlist: [\r\n {\r\n value: 'PA',\r\n label: 'PA',\r\n },\r\n {\r\n value: 'GESTORE',\r\n label: 'GESTORE',\r\n },\r\n ],\r\n name: 'Classe di appartenenza',\r\n label: 'Classe di appartenenza',\r\n },\r\n {\r\n id: 'dataInizioDa',\r\n tag: DatePicker,\r\n name: \"dataInizioDa\",\r\n label: \"Data inizio validità dal\",\r\n dateformat: \"dd/MM/yyyy\",\r\n range: 1,\r\n },\r\n {\r\n id: 'dataInizioA',\r\n tag: DatePicker,\r\n name: \"dataInizioA\",\r\n label: \"Data inizio validità al\",\r\n dateformat: \"dd/MM/yyyy\",\r\n range: 2,\r\n },\r\n ];\r\n return fields;\r\n};\r\n\r\n\r\nexport const accordiFiltersFormFields = (utenza, decodifichestatiAccordo) => {\r\n const fields = richiesteAccordoFiltersFormFields();\r\n\r\n if (['ministero', 'garante'].includes(utenza)) {\r\n fields.push({\r\n id: 'stato',\r\n tag: Select,\r\n filterpath: ['idstato'],\r\n optionlist: decodifichestatiAccordo.filter(x => ['4', '6', '8'].includes(x.key)).map(x => (\r\n {\r\n value: parseInt(x.key, 10),\r\n label: x.key === '4'\r\n ? 'ATTIVO'\r\n : x.key === '6'\r\n ? 'SOSPESO'\r\n : x.key === '8'\r\n ? 'REVOCATO'\r\n : x.traduzione,\r\n }\r\n )),\r\n name: 'Stato',\r\n label: 'Stato',\r\n },\r\n );\r\n }\r\n return fields;\r\n};\r\n\r\nexport const richiesteAccordoFiltersInitialValues = {\r\n denominazione: '',\r\n classe: ''\r\n};\r\n\r\nexport const accordiFiltersInitialValues = {\r\n ...richiesteAccordoFiltersFormFields,\r\n stato: 4\r\n};\r\n\r\nexport const accordiFiltersValidationSchema = yup.object().shape({\r\n denominazione: yup.string()\r\n .nullable()\r\n .max(4000, 'Denominazione: il campo non può superare 4000 caratteri.'),\r\n classe: yup.string()\r\n .nullable(),\r\n dataInizioDa: yup.date()\r\n .nullable()\r\n .typeError('Data inizio validità dal: formato data non valido.'), \r\n dataInizioA: yup.date()\r\n .nullable()\r\n .typeError('Data inizio validità al: formato data non valido.'), \r\n});\r\n","import React, { Component, Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { getTableRows, tableHeaders } from \"../../common/tabella-accordi/utils/tableData\";\r\nimport { PaginatedTable, Spinner } from \"../../../ui\";\r\nimport SezioneFiltri from \"../../common/sezione-filtri\";\r\nimport { getAccordiByStati } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { accordiFiltersInitialValues, accordiFiltersFormFields, accordiFiltersValidationSchema, richiesteAccordoFiltersInitialValues, richiesteAccordoFiltersFormFields } from \"../../common/tabella-accordi/utils/filtersFormData\";\r\n\r\nclass ListaAccordiMinistero extends Component {\r\n state = {};\r\n\r\n componentDidMount() {\r\n this.props.getAccordiByStati(this.props.idstati);\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.accordi_by_stati\r\n && (this.props.accordi_by_stati !== prevProps.accordi_by_stati)) {\r\n let tRows = getTableRows(this.props.accordi_by_stati);\r\n let trAttivi = this.props.path && (this.props.path === 'accordi') ? getTableRows(this.props.accordi_by_stati.slice().filter(el => el.idstato === 4)) : tRows;\r\n this.setState({\r\n tableRows: trAttivi,\r\n tableRowsInit: tRows\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { tableRows, tableRowsInit } = this.state;\r\n const { accordi_by_stati, decodifiche_stati_accordo, defaultAppliedFilters, match: { params: { utenza } }, idstati } = this.props;\r\n\r\n return (\r\n \r\n

    {this.props.title}

    \r\n { !this.props.isLoading\r\n ?\r\n \r\n {\r\n 1 ? accordiFiltersInitialValues : richiesteAccordoFiltersInitialValues}\r\n formFields={idstati && idstati.length > 1 ? accordiFiltersFormFields(utenza, decodifiche_stati_accordo.stati_accordo) : richiesteAccordoFiltersFormFields(utenza, decodifiche_stati_accordo.stati_accordo)}\r\n validationSchema={accordiFiltersValidationSchema}\r\n getFilters={(filteredArray) => {\r\n this.setState({\r\n tableRows: filteredArray ? getTableRows(filteredArray) : tableRowsInit,\r\n filteredNormative: filteredArray || undefined,\r\n });\r\n }}\r\n defaultAppliedFilters={defaultAppliedFilters}\r\n arrayToFilter={accordi_by_stati}\r\n />\r\n }\r\n \r\n \r\n :\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nListaAccordiMinistero.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n accordi_by_stati: state.gestione_accordi.get_accordi_by_stati.accordi_by_stati.accordi,\r\n isLoading: state.gestione_accordi.get_accordi_by_id_stato.isLoading,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordiByStati: (idstati) => dispatch(getAccordiByStati(idstati))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ListaAccordiMinistero);\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Spinner from \"../../../../../../ui/spinner\";\r\nimport { getCasiUsoTableRows } from \"../../../../../common/tabella-casi-uso-associati/utils2/tableData\";\r\nimport { TabellaCasiUsoAssociati } from \"../../../../../common\";\r\nimport { getCasiUsoAssociatiByIdAccordo, disableEnableCasiUsoByIdAccordo } from \"../../../../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { setCasiUsoChanges } from \"../../../../../../../redux/actions/area-riservata/casi-uso-actions\";\r\nimport { DecodificheContext } from \"../../../../../../../contexts\";\r\nimport { getRegioniAll } from \"../../../../../../../redux/actions/area-riservata/constants-actions\";\r\n\r\nconst CasiUsoAccordoAttivoMinistero = ({\r\n disableEnableCasiUsoByIdAccordo,\r\n get_casi_uso_associati_by_id_accordo,\r\n getCasiUsoAssociatiByIdAccordo,\r\n get_regioni_all,\r\n getRegioniAll,\r\n idAccordo,\r\n casi_uso_changes,\r\n setCasiUsoChanges,\r\n utenza,\r\n}) => {\r\n const [tableRows, setTableRows] = useState([]);\r\n const [infoModalOpen, setInfoModalOpen] = useState(false);\r\n\r\n const { decodifiche } = useContext(DecodificheContext);\r\n\r\n useEffect(() => {\r\n if (!get_regioni_all.isLoading) {\r\n getRegioniAll();\r\n }\r\n }, []); //eslint-disable-line\r\n\r\n const handleCheck = (checked, caso) => {\r\n let idStatoAssociazione = checked ? 0 : 7;\r\n let modified = get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo.find(el =>\r\n el.idCasoduso === caso.idCasoduso).idStatoAssociazione !== idStatoAssociazione;\r\n setCasiUsoChanges(\r\n {\r\n casi: casi_uso_changes || get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo\r\n },\r\n {\r\n ...caso,\r\n idStatoAssociazione,\r\n modified\r\n }\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (!!idAccordo || (idAccordo === 0)) {\r\n getCasiUsoAssociatiByIdAccordo(idAccordo);\r\n }\r\n }, [idAccordo]); //eslint-disable-line\r\n\r\n useEffect(() => {\r\n if (get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo \r\n && get_regioni_all.regioni_all) {\r\n setTableRows(getCasiUsoTableRows(\r\n casi_uso_changes || get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo,\r\n {\r\n handleCheck,\r\n setInfoModalOpen: (modalId, casoId, name) => setInfoModalOpen({\r\n modalId,\r\n casoId,\r\n name: 'dettaglio'\r\n }),\r\n },\r\n utenza,\r\n decodifiche,\r\n get_regioni_all.regioni_all\r\n ));\r\n }\r\n }, [get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo, casi_uso_changes, get_regioni_all]); //eslint-disable-line\r\n\r\n const saveChanges = () => {\r\n const getChangesArray = () => {\r\n let casiToEnable = [];\r\n let casiToDisable = [];\r\n casi_uso_changes.filter(caso => !!caso.modified).forEach(chg => {\r\n if (chg.idStatoAssociazione === 7) {\r\n casiToDisable.push(chg.idAssociazioneAccordo);\r\n } else casiToEnable.push(chg.idAssociazioneAccordo)\r\n });\r\n return { abilitati: casiToEnable, disabilitati: casiToDisable };\r\n };\r\n\r\n let changes = getChangesArray();\r\n if (changes.abilitati.length || changes.disabilitati.length) {\r\n disableEnableCasiUsoByIdAccordo(idAccordo, changes);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {\r\n get_casi_uso_associati_by_id_accordo.pristine &&\r\n get_casi_uso_associati_by_id_accordo.isLoading &&\r\n \r\n }\r\n {!get_casi_uso_associati_by_id_accordo.pristine\r\n && !!get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo\r\n &&\r\n setInfoModalOpen({\r\n ...infoModalOpen,\r\n modalId: undefined,\r\n name: undefined\r\n })}\r\n modalData={infoModalOpen}\r\n tableRows={tableRows}\r\n casiUso={get_casi_uso_associati_by_id_accordo.casi_uso_associati_by_id_accordo}\r\n saveChanges={saveChanges}\r\n utenza={utenza}\r\n disabled={!casi_uso_changes || (casi_uso_changes && !casi_uso_changes.some(x => x.modified))}\r\n />\r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n casi_uso_changes: state.gestione_casi_uso.set_casi_uso_changes.casi_uso_changes,\r\n get_accordo_attivo_data: state.gestione_accordi.get_accordo_attivo_data,\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n update_casi_uso_by_id_accordo: state.gestione_accordi.update_casi_uso_by_id_accordo,\r\n isLoading: state.gestione_accordi.get_casi_uso_associati_by_id_accordo.isLoading,\r\n get_casi_uso_associati_by_id_accordo: state.gestione_accordi.get_casi_uso_associati_by_id_accordo,\r\n get_regioni_all: state.constants.get_regioni_all,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCasiUsoAssociatiByIdAccordo: (idAccordoAttivo, updated) => dispatch(getCasiUsoAssociatiByIdAccordo(idAccordoAttivo, updated)),\r\n disableEnableCasiUsoByIdAccordo: (idAccordo, bodyRequest) => dispatch(disableEnableCasiUsoByIdAccordo(idAccordo, bodyRequest)),\r\n setCasiUsoChanges: (payload, change) => dispatch(setCasiUsoChanges(payload, change)),\r\n getRegioniAll: () => dispatch(getRegioniAll()),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CasiUsoAccordoAttivoMinistero);","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { getNormativeTableRows } from \"../../../../../common/gestione-normative/visualizza-normative/_partials/tabella-normative/utils/tableData\";\r\nimport { getNormativeByIdTipologiaEnte } from \"../../../../../../../redux/actions/area-riservata/normative-actions\";\r\nimport Spinner from \"../../../../../../ui/spinner\";\r\nimport Pagination from \"../../../../../../ui/pagination\";\r\nimport { TabellaNormative } from \"../../../../../common/gestione-normative/visualizza-normative/_partials\";\r\n\r\nclass NormativeAccordoAttivo extends Component {\r\n\r\n state = {\r\n tableRowsInit: this.props.get_normative_by_id_tipologia_ente.normative ?\r\n this.getTableRows(this.props.get_normative_by_id_tipologia_ente.normative.slice(0, 5))\r\n : [],\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.accordo && this.props.accordo.ente) {\r\n this.props.getNormativeByIdTipologiaEnte(this.props.accordo.ente.idtipologia);\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.accordo && this.props.accordo.ente &&\r\n (prevProps.accordo.id !== this.props.accordo.id)) {\r\n this.props.getNormativeByIdTipologiaEnte(this.props.accordo.ente.idtipologia);\r\n }\r\n if (this.props.get_normative_by_id_tipologia_ente.normative &&\r\n (prevProps.get_normative_by_id_tipologia_ente.normative !== this.props.get_normative_by_id_tipologia_ente.normative)\r\n ) {\r\n let firstItem = this.state.pagination ? this.state.pagination.firstItem : 0,\r\n lastItem = this.state.pagination ? this.state.pagination.lastItem : 5;\r\n let normativeSliced = this.props.get_normative_by_id_tipologia_ente.normative.slice(firstItem, lastItem);\r\n let tRows = this.getTableRows(normativeSliced);\r\n this.setState({\r\n normative: this.props.get_normative_by_id_tipologia_ente.normative,\r\n normativeFiltrate: normativeSliced,\r\n tableRowsInit: tRows,\r\n tableRows: tRows,\r\n });\r\n }\r\n };\r\n\r\n getTableRows(normativeArray) {\r\n return getNormativeTableRows(\r\n normativeArray,\r\n this.props.decodifiche_stato_normativa,\r\n );\r\n };\r\n\r\n render() {\r\n const { normative, tableRows, tableRowsInit } = this.state;\r\n return (\r\n \r\n {normative &&\r\n \r\n \r\n {\r\n let normativeSliced = normative.slice(firstItem, lastItem + 1);\r\n this.setState({\r\n tableRows: this.getTableRows(normativeSliced),\r\n normativeFiltrate: normativeSliced,\r\n pagination: {\r\n firstItem: firstItem,\r\n lastItem: lastItem + 1,\r\n id: id\r\n },\r\n });\r\n }}\r\n />\r\n \r\n }\r\n {this.props.get_normative_by_id_tipologia_ente.isLoading &&\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n get_normative_by_id_tipologia_ente: state.gestione_normative.get_normative_by_id_tipologia_ente,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getNormativeByIdTipologiaEnte: (idTipoEnte) => dispatch(getNormativeByIdTipologiaEnte(idTipoEnte)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(NormativeAccordoAttivo);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { DefaultError, DefaultLoading } from \"../../../common/handleErrorsAndLoading\";\r\nimport { GoNavLink, IconButton, Message, Tabs } from \"../../../ui\";\r\nimport { DettagliAccordo } from \"..\";\r\nimport { CasiUsoAccordoAttivoMinistero, NormativeAccordoAttivo } from \"../../ar-ministero/richieste-di-adesione-ministero/dettagli-richiesta-adesione-ministero/_partials\";\r\nimport { getAccordoById } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { modaleConfermaConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport * as Yup from \"yup\";\r\nimport { DEFAULT_CONFIRM_FOOTER, SOSPENDI_ACCORDO, RIATTIVA_ACCORDO, REVOCA_ACCORDO } from \"../../../layout/modale-conferma/utils\";\r\nimport { STATO_ACCORDO } from \"../../../../constants/stati-accordo\";\r\nimport CardAllegatiAccordo from \"../card-allegati-accordo/CardAllegatiAccordo\";\r\n\r\nclass DettagliAccordoAttivo extends Component {\r\n\r\n state = {};\r\n\r\n componentDidMount() {\r\n const { match: { params } } = this.props;\r\n this.loadAccordo(params.idAccordo, params.utenza);\r\n };\r\n\r\n loadAccordo(id, utenza) {\r\n if (!utenza) {\r\n utenza = this.props.match.params.utenza;\r\n }\r\n if (!this.props.isLoading) {\r\n this.props.getAccordoById(id, utenza);\r\n }\r\n }\r\n\r\n confirmAction = modaleconferma => {\r\n this.props.modaleConfermaConfig({\r\n id: `${modaleconferma.name}-accordo`,\r\n open: true,\r\n ...modaleconferma\r\n });\r\n };\r\n\r\n sospendiAccordo = accordo => {\r\n this.confirmAction(\r\n {\r\n name: \"SOSPENSIONE\",\r\n title: \"Sospensione accordo\",\r\n body:

    La sospensione dell’accordo di fruizione comporta l’impossibilità di interrogare i servizi di ANPR e l’inibizione dell’accesso alla piattaforma web. Un accordo sospeso può essere riattivato oppure revocato definitivamente. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: SOSPENDI_ACCORDO,\r\n payload: {\r\n id: accordo.id,\r\n callback: () => this.loadAccordo(accordo.id)\r\n }\r\n }\r\n },\r\n footer: DEFAULT_CONFIRM_FOOTER\r\n }\r\n )\r\n }\r\n\r\n riattivaAccordo = accordo => {\r\n this.confirmAction(\r\n {\r\n name: \"RIATTIVAZIONE\",\r\n title: \"Riattivazione accordo\",\r\n body:

    La riattivazione dell’accordo di fruizione comporta la possibilità di tornare ad interrogare i servizi di ANPR e di accedere alla piattaforma web. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: RIATTIVA_ACCORDO,\r\n payload: {\r\n id: accordo.id,\r\n callback: () => this.loadAccordo(accordo.id)\r\n }\r\n }\r\n },\r\n footer: DEFAULT_CONFIRM_FOOTER\r\n }\r\n )\r\n }\r\n\r\n revocaAccordo = (accordo, ministeroFlag) => {\r\n this.confirmAction(\r\n {\r\n name: \"REVOCA\",\r\n title: \"Revoca accordo\",\r\n body:

    La revoca dell'accordo di fruizione comporta la definitiva interruzione della possibilità di interrogare i servizi di ANPR. Tutte le utenze vengono disabilitate e l’accesso alla piattaforma web inibito. Per tornare ad accedere alla piattaforma e ai servizi è necessario sottoscrivere un nuovo accordo di fruizione. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: REVOCA_ACCORDO,\r\n payload: {\r\n id: accordo.id,\r\n ministeroFlag,\r\n callback: () => this.loadAccordo(accordo.id)\r\n }\r\n }\r\n },\r\n footer: DEFAULT_CONFIRM_FOOTER\r\n }\r\n )\r\n }\r\n\r\n render() {\r\n const accordo = this.props.get_accordo_by_id.accordo;\r\n const { decodifiche, match: { params: { utenza } } } = this.props;\r\n\r\n const getAccordoAttivoTabs = () => {\r\n let tabs = [\r\n {\r\n id: \"dettaglio-accordo\",\r\n label: \"Dati accordo\",\r\n },\r\n {\r\n id: \"normative\",\r\n label: \"Normative\",\r\n },\r\n {\r\n id: \"allegati\",\r\n label: \"Allegati\",\r\n },\r\n ];\r\n\r\n if (['ministero', 'garante'].includes(utenza)) {\r\n tabs.splice(1, 0,\r\n {\r\n id: \"casi-uso\",\r\n label: \"Casi d'uso\",\r\n }\r\n );\r\n }\r\n return tabs;\r\n };\r\n\r\n const getAccordoAttivoContents = () => {\r\n let contents = [\r\n {\r\n tabId: \"dettaglio-accordo\",\r\n content:\r\n \r\n {accordo &&\r\n \r\n \r\n
    \r\n {utenza === 'ministero' && accordo.idstato === STATO_ACCORDO.ATTIVO &&\r\n this.sospendiAccordo(accordo)}\r\n />\r\n }\r\n {utenza === 'ministero' && accordo.idstato === STATO_ACCORDO.SOSPESO &&\r\n this.riattivaAccordo(accordo)}\r\n />\r\n }\r\n {utenza === 'ministero' && [STATO_ACCORDO.ATTIVO, STATO_ACCORDO.SOSPESO].includes(accordo.idstato) &&\r\n this.revocaAccordo(accordo, utenza === 'ministero')}\r\n />\r\n }\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n },\r\n {\r\n tabId: 'normative',\r\n content: \r\n },\r\n {\r\n tabId: 'allegati',\r\n content: \r\n }\r\n ];\r\n if (['ministero', 'garante'].includes(utenza)) {\r\n contents.splice(1, 0,\r\n {\r\n tabId: \"casi-uso\",\r\n content: \r\n }\r\n );\r\n }\r\n return contents;\r\n };\r\n\r\n return (\r\n \r\n

    Dettagli accordo {accordo && accordo.id}

    \r\n {['ministero', 'garante'].includes(utenza) &&\r\n \r\n \r\n \r\n {this.state.isUpdated &&\r\n \r\n }\r\n \r\n }\r\n
    \r\n
    \r\n {accordo &&\r\n \r\n\r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDettagliAccordoAttivo.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n activated: state.gestione_accordi.attiva_accordo && state.gestione_accordi.attiva_accordo.activated,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n isLoading: state.gestione_accordi.get_accordo_by_id.isLoading,\r\n revoked: state.gestione_accordi.revoca_accordo && state.gestione_accordi.revoca_accordo.revoked,\r\n suspended: state.gestione_accordi.sospendi_accordo && state.gestione_accordi.sospendi_accordo.suspended,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n getAccordoById: (idAccordo, utenza) =>\r\n dispatch(getAccordoById(idAccordo, false, utenza)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettagliAccordoAttivo);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport ListaAccordiMinistero from '../../ar-ministero/lista-accordi-ministero/ListaAccordiMinistero';\r\nimport DettagliAccordoAttivo from '../../common/dettagli-accordo-attivo/DettagliAccordoAttivo';\r\n\r\nconst AccordiAttiviSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default AccordiAttiviSwitch;\r\n","import React, {Component} from \"react\";\r\nimport {DefaultError, DefaultLoading} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {getIdDecodificaByVariabile} from \"../../../common/decodifiche\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\n\r\nclass RichiesteRespinteMinistero extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows: []\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n\r\n const displayNessunAccordo = () => {\r\n if (this.state.accordi) {\r\n if (this.state.accordi.length > 0) {\r\n const checkIfThereAreAccordiAttivi = this.state.accordi.filter(\r\n accordo =>\r\n parseInt(accordo.idstato) ===\r\n getIdDecodificaByVariabile(\r\n \"RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n );\r\n return checkIfThereAreAccordiAttivi.length > 0 ? (\r\n \"\"\r\n ) : (\r\n
    \r\n Nessuna richiesta di accordo respinta\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste di adesione respinte

    \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n {displayNessunAccordo()}\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nRichiesteRespinteMinistero.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteRespinteMinistero);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteRespinteMinistero from \"../../ar-ministero/richieste-respinte-ministero/RichiesteRespinteMinistero\";\r\n\r\nconst RichiesteRespinteSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiesteRespinteSwitch;\r\n","export const ATT = \"ACCORDO ATTIVO (RICHIESTA DI ACCORDO APPROVATA DAL MINISTERO)\";\r\nexport const RESP = \"RICHIESTA DI ACCORDO RESPINTA DAL MINISTERO\";\r\nexport const IN_APPR = \"RICHIESTA DI ACCORDO INVIATA\";\r\nexport const SOSP = \"ACCORDO SOSPESO\";\r\nexport const REV_MIN = \"ACCORDO REVOCATO DAL MINISTERO\";\r\nexport const REV_ENT = \"ACCORDO REVOCATO DALLA PA/GESTORE\";","export const casiUsoTableHeaders = [\r\n {\r\n value: 'Caso d\\'uso',\r\n },\r\n {\r\n value: 'Totale accordi associati',\r\n classes: 'text-center',\r\n }\r\n];\r\n\r\nexport const entiTableHeaders = [\r\n {\r\n value: 'Tipologia ente',\r\n },\r\n {\r\n value: 'Totale enti',\r\n classes: 'text-center',\r\n }\r\n];\r\n\r\nexport const getCasiUsoTableRows = (data) => {\r\n if (data && data.length > 0) {\r\n return data.map((el, index) => {\r\n return {\r\n id: 'row-' + (index + 1),\r\n cells: [\r\n {\r\n tag: '',\r\n value: el.casoDuso || 'n.d.',\r\n datath: 'Caso d\\'uso'\r\n },\r\n {\r\n tag: '',\r\n value: el.totAccordoAssociati || 'n.d.',\r\n datath: 'Totale accordi associati',\r\n classes: 'text-center',\r\n }\r\n ]\r\n }\r\n })\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nexport const getEntiTableRows = (data) => {\r\n if (data && data.length > 0) {\r\n return data.map((el, index) => {\r\n return {\r\n id: 'row-' + (index + 1),\r\n cells: [\r\n {\r\n tag: '',\r\n value: el.tipologiaEnte || 'n.d.',\r\n datath: 'Caso d\\'uso'\r\n },\r\n {\r\n tag: '',\r\n value: el.totEnti || 'n.d.',\r\n datath: 'Totale accordi associati',\r\n classes: 'text-center',\r\n }\r\n ]\r\n }\r\n })\r\n } else {\r\n return [];\r\n }\r\n};\r\n","import React, {Fragment} from \"react\";\r\n\r\nconst MonitoraggioCard = (props) => {\r\n console.log(props.contents)\r\n let allCards = \"\";\r\n if (props && props.contents) {\r\n allCards = props.contents.map((content, i) => {\r\n return (\r\n \r\n
    \r\n {\r\n content.type === 1 &&\r\n \r\n
    \r\n
    \r\n

    {content.label}

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {content.value}%
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n {\r\n content.type === 0 &&\r\n \r\n
    \r\n
    \r\n

    {content.label}

    \r\n

    {content.value}

    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {allCards}\r\n
    \r\n
    \r\n );\r\n\r\n}\r\nexport default MonitoraggioCard;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Axios from \"axios\";\r\nimport { ATT, SOSP, IN_APPR, RESP, REV_MIN, REV_ENT } from \"../../../../constants/monitoraggio\";\r\nimport { casiUsoTableHeaders, entiTableHeaders, getCasiUsoTableRows, getEntiTableRows } from \"./utils/tableData\";\r\nimport Loading from \"../../../tree/components/Decorators/Loading\";\r\nimport MonitoraggioCard from \"./_partials/MonitoraggioCard\";\r\nimport { PaginatedTable } from \"../../../ui\";\r\n\r\nclass Monitoraggio extends Component {\r\n\r\n state = {\r\n isLoading: false,\r\n accordi: [],\r\n tipologie: [],\r\n casiUso: [],\r\n casiUsoTableRows: [],\r\n enti: [],\r\n entiTableRows: [],\r\n servizi: []\r\n };\r\n\r\n getAccordi() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n Axios.get(`/anpr-portale-enti-be-web/jaxrs/afmonaccordiview/load/all`).then(res => {\r\n\r\n this.setState({\r\n isLoading: false,\r\n accordi: [\r\n {\r\n label: \"Tot. accordi attivi\",\r\n value: res.data.filter(x => x.descrizioneMonitoraggio === ATT) ? res.data.filter(x => x.descrizioneMonitoraggio === ATT)[0].accordi : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. accordi sospesi\",\r\n value: res.data.filter(x => x.descrizioneMonitoraggio === SOSP) ? res.data.filter(x => x.descrizioneMonitoraggio === SOSP)[0].accordi : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. accordi in approvazione\",\r\n value: res.data.filter(x => x.descrizioneMonitoraggio === IN_APPR) ? res.data.filter(x => x.descrizioneMonitoraggio === IN_APPR)[0].accordi : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. accordi respinti\",\r\n value: res.data.filter(x => x.descrizioneMonitoraggio === RESP) ? res.data.filter(x => x.descrizioneMonitoraggio === RESP)[0].accordi : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. accordi revocati dal Ministero\",\r\n value: res.data.filter(x => x.descrizioneMonitoraggio === REV_MIN) ? res.data.filter(x => x.descrizioneMonitoraggio === REV_MIN)[0].accordi : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. accordi revocati dall'ente/PA\",\r\n value: res.data.filter(x => x.descrizioneMonitoraggio === REV_ENT) ? res.data.filter(x => x.descrizioneMonitoraggio === REV_ENT)[0].accordi : \"\",\r\n type: 0\r\n },\r\n ]\r\n });\r\n\r\n }).catch(error => {\r\n this.setState({\r\n isLoading: false,\r\n error: error\r\n });\r\n })\r\n };\r\n\r\n getTipologie() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n Axios.get(`/anpr-portale-enti-be-web/jaxrs/afmontipcasitotview/load/all`).then(res => {\r\n\r\n this.setState({\r\n isLoading: false,\r\n tipologie: [\r\n {\r\n label: \"Tot. tipologie di casi d’uso\",\r\n value: res.data ? res.data[0].totaleCasiDuso : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. tipologie di casi d’uso associati\",\r\n value: res.data ? res.data[0].totaleCasiDusoAssociati : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"% tipologie associate\",\r\n value: res.data ? res.data[0].percCasiDusoAssociato : \"\",\r\n type: 1\r\n }\r\n ]\r\n });\r\n }).catch(error => {\r\n this.setState({\r\n isLoading: false,\r\n error: error\r\n });\r\n })\r\n };\r\n\r\n getServizi() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n Axios.get(`/anpr-portale-enti-be-web/jaxrs/afmonricestconsview/load/all`).then(res => {\r\n this.setState({\r\n isLoading: false,\r\n servizi: [\r\n {\r\n label: \"Tot. servizi di consultazione di ANPR richiesti negli ultimi 6 mesi\",\r\n value: res.data ? res.data[0].totServiziConsultazione : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. servizi di estrazione di ANPR richiesti negli ultimi 6 mesi\",\r\n value: res.data ? res.data[0].totServiziEstrazione : \"\",\r\n type: 0\r\n },\r\n {\r\n label: \"Tot. servizi di ANPR richiesti negli ultimi 6 mesi\",\r\n value: res.data ? res.data[0].totServiziComplessivo : \"\",\r\n type: 0\r\n }\r\n ]\r\n });\r\n }).catch(error => {\r\n this.setState({\r\n isLoading: false,\r\n error: error\r\n });\r\n })\r\n };\r\n\r\n getCasiUso() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n Axios.get(`/anpr-portale-enti-be-web/jaxrs/afmoncasidusoview/load/all`).then(res => {\r\n this.setState({\r\n isLoading: false,\r\n casiUso: res.data,\r\n casiUsoTableRows: getCasiUsoTableRows(res.data)\r\n });\r\n }).catch(error => {\r\n this.setState({\r\n isLoading: false,\r\n error: error\r\n });\r\n })\r\n };\r\n\r\n getEnti() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n Axios.get(`/anpr-portale-enti-be-web/jaxrs/afmonentiview/load/all`).then(res => {\r\n this.setState({\r\n isLoading: false,\r\n enti: res.data,\r\n entiTableRows: getEntiTableRows(res.data)\r\n });\r\n }).catch(error => {\r\n this.setState({\r\n isLoading: false,\r\n error: error\r\n });\r\n })\r\n };\r\n\r\n componentDidMount() {\r\n this.getAccordi();\r\n this.getTipologie();\r\n this.getCasiUso();\r\n this.getEnti();\r\n this.getServizi();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n

    Monitoraggio

    \r\n {\r\n this.state.isLoading &&\r\n
    \r\n }\r\n {\r\n !this.state.isLoading &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nMonitoraggio.PropsTypes = {}\r\nconst mapStateToProps = state => ({});\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(Monitoraggio)\r\n","import moment from \"moment\";\r\nimport React, { Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { STRINGS } from \"../../../../constants/strings\";\r\nimport { tipoEmail } from \"../../../../constants/tipo-email\";\r\nimport { getNomeDecodificaById } from \"../../../common/decodifiche\";\r\nimport { IconButton } from \"../../../ui\";\r\nimport { utenteInfos } from \"../dettagli-accordo/utils/constants\";\r\nimport { InfoCard } from \"../dettagli-accordo/_partials\";\r\n\r\nconst ProfiloPersonale = ({\r\n authentication,\r\n decodifiche_tipi_utente,\r\n history,\r\n match\r\n}) => {\r\n\r\n const { utente } = authentication;\r\n const { params: { utenza } } = match;\r\n\r\n return (\r\n \r\n

    Profilo personale

    \r\n !['nome', 'cognome'].includes(utenteinfo.key))\r\n .map(utenteinfo => {\r\n return (\r\n {\r\n label: utenteinfo.label,\r\n value: utenteinfo.key === 'datanascita' ?\r\n utente[utenteinfo.key] ?\r\n moment(utente[utenteinfo.key]).format('DD/MM/YYYY') : STRINGS.NO_VALUE\r\n : utenteinfo.key === 'tipoemail' ?\r\n tipoEmail[utente[utenteinfo.key]]\r\n : utente[utenteinfo.key],\r\n col: utenteinfo.key !== 'codicefiscale' ? 6 : 12\r\n }\r\n )\r\n }),\r\n ]\r\n }\r\n ]}\r\n />\r\n history.push(`/area-riservata/${utenza}/profilo-personale/cambio-password`)}\r\n icon=\"key\"\r\n buttonClass=\"default\"\r\n />\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_tipi_utente: state.decodifiche.tipi_utente,\r\n authentication: state.authentication\r\n});\r\n\r\nexport default connect(mapStateToProps, null)(ProfiloPersonale);\r\n","import React, { Component, Fragment } from \"react\";\r\n\r\nimport { Formik, Form, Field } from \"formik\";\r\n\r\nimport * as Yup from \"yup\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { salvaLaNuovaPassword } from \"../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport Loading from \"../../tree/components/Decorators/Loading\";\r\nimport IconButton from \"../../ui/icon-button\";\r\n\r\nexport const criteriSicurezzaPassword = () => {\r\n return (\r\n
    \r\n
    \r\n

    Criteri sicurezza password

    \r\n

    \r\n

      \r\n
    • almeno 8 caratteri;
    • \r\n
    • almeno una lettera maiuscola;
    • \r\n
    • almeno una lettera minuscola;
    • \r\n
    • almeno un numero;
    • \r\n
    • almeno un carattere speciale;
    • \r\n
    • non più di 2 numeri in sequenza (es.: 123 non è ammesso);
    • \r\n
    • non più di 2 caratteri ripetuti;
    • \r\n
    • diversa da una delle ultime 10 password utilizzate.
    • \r\n
    \r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nclass SceltaPassword extends Component {\r\n state = {\r\n hidden: true,\r\n hiddenConferma: true,\r\n utente: {},\r\n link: this.props.link\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n // only update state if props.enti.enti has changed\r\n if (prevState.utente !== this.props.salva_password.utente) {\r\n this.setState({\r\n utente: this.props.salva_password.utente\r\n });\r\n }\r\n }\r\n\r\n toggleShow = () => {\r\n //allow user to show/hide password\r\n this.setState({ hidden: !this.state.hidden });\r\n };\r\n toggleShowConferma = () => {\r\n //allow user to show/hide password\r\n this.setState({ hiddenConferma: !this.state.hiddenConferma });\r\n };\r\n render() {\r\n const { utente } = this.props;\r\n\r\n /**\r\n * dati iniziali per la form\r\n */\r\n const scelta_password_form_init = {\r\n password: \"\",\r\n confermaPassword: \"\"\r\n };\r\n\r\n const displayConditionsPassword =\r\n !this.props.salva_password.loading;\r\n\r\n //validazione campi form\r\n const SceltaPasswordValidationSchema = Yup.object().shape({\r\n password: Yup.string()\r\n .min(8, \"La password deve avere almeno 8 caratteri\")\r\n .matches(/[A-Z]/, \"La password deve avere almeno una lettera maiuscola\")\r\n .matches(/[a-z]/, \"La password deve avere almeno una lettera minuscola\")\r\n .matches(/[0-9]/, \"La password deve avere almeno un numero\")\r\n .matches(\r\n ///[#$^+=!*()@%&]/,\r\n /[#$^+=!*()@%&_-]/,\r\n \"La password deve avere almeno un carattere speciale\"\r\n )\r\n .required(\"Richiesto\")\r\n .test(\r\n \"password\",\r\n \"La password non può contenere più di 2 caratteri ripetuti\",\r\n value => {\r\n return !/(.)\\1\\1/.test(value);\r\n }\r\n )\r\n .test(\r\n \"password\",\r\n \"La password non può contenere più di 2 numeri sequenziali\",\r\n value => {\r\n return !/(?:(?=012|123|234|345|456|567|678|789)\\d)+\\d/.test(value);\r\n }\r\n ),\r\n confermaPassword: Yup.string()\r\n .oneOf(\r\n [Yup.ref(\"password\"), null],\r\n \"I campi Password e Conferma Password devono essere uguali\"\r\n )\r\n .required(\"Richiesto\")\r\n });\r\n\r\n const displayLoading = () => {\r\n if (this.props.salva_password) {\r\n return this.props.salva_password.loading ? (\r\n
    \r\n {\" \"}\r\n \r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n }\r\n };\r\n\r\n const savePasswordError = () => {\r\n if (this.props.salva_password.error) {\r\n return this.props.salva_password.error.response ? (\r\n
    \r\n {\"Errore \" +\r\n this.props.salva_password.error.response.status +\r\n \". \" +\r\n (this.props.salva_password.error.response.data.message || \"\")}\r\n
    \r\n ) : (\r\n
    \r\n {this.props.salva_password.error.message || \"\"}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n const passwordSaved = () =>\r\n this.props.salva_password.utente ? (\r\n
    \r\n La password è stata aggiornata.\r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n\r\n\r\n\r\n return (\r\n \r\n {passwordSaved()}\r\n {savePasswordError()}\r\n

    Attivazione credenziali

    \r\n
    \r\n
    \r\n {!this.props.salva_password.utente &&\r\n
    \r\n
    \r\n

    Password

    \r\n {displayLoading()}\r\n {\r\n /**\r\n * call action to save password and update richiesta accreditamento\r\n */\r\n\r\n this.props.salvaLaNuovaPassword(utente.id, {\r\n password: values.password,\r\n link: this.state.link\r\n //,confermaPassword: values.confermaPassword\r\n });\r\n }}\r\n >\r\n {({\r\n isSubmitting,\r\n setFieldValue,\r\n values,\r\n errors,\r\n touched,\r\n validateField,\r\n isValid,\r\n isValidating\r\n }) => (\r\n
    \r\n {this.props.salva_password ? (\r\n displayConditionsPassword ? (\r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n this.toggleShow()}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n this.toggleShowConferma()}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {errors.password && touched.password ? (\r\n
    \r\n {errors.password}\r\n
    \r\n ) : null}\r\n {errors.confermaPassword && touched.confermaPassword ? (\r\n
    \r\n {errors.confermaPassword}\r\n
    \r\n ) : null}\r\n\r\n
    \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n {criteriSicurezzaPassword()}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nSceltaPassword.propTypes = {\r\n utente: PropTypes.object.isRequired,\r\n salva_password: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n salva_password: state.salva_password\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n salvaLaNuovaPassword: (utenteid, password) =>\r\n dispatch(salvaLaNuovaPassword(utenteid, password))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SceltaPassword);\r\n","import React, { Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { changePassword } from '../../../../redux/actions/common-actions';\r\nimport Form from '../../../formik';\r\nimport { GoNavLink, IconButton, InputPassword, Row, Spinner } from '../../../ui';\r\nimport { cambioPasswordValidationSchema, getCambioPasswordInitialValues } from './form-init';\r\nimport AppMessages from \"../../../layout/app-messages\";\r\nimport { criteriSicurezzaPassword } from '../../../attivazione-credenziali/scelta-password/SceltaPassword';\r\n\r\nconst CambioPassword = ({\r\n changePassword,\r\n change_password,\r\n utente,\r\n history,\r\n match\r\n}) => {\r\n\r\n const { params: { utenza } } = match;\r\n\r\n return (\r\n \r\n {!utente &&\r\n \r\n }\r\n

    Modifica password

    \r\n \r\n
    \r\n \r\n {\r\n changePassword({\r\n ...values\r\n });\r\n }}\r\n initialValues={getCambioPasswordInitialValues(utente)}\r\n validationSchema={cambioPasswordValidationSchema(utente)}\r\n >\r\n {props => (\r\n \r\n props.setFieldValue(\"password\", val)}\r\n label=\"Password attuale\"\r\n error={props.errors.password}\r\n required\r\n />\r\n {\r\n props.setFieldValue(\"nuovaPassword\", val);\r\n console.log(err)\r\n }}\r\n label=\"Nuova password\"\r\n error={props.errors.nuovaPassword}\r\n required\r\n />\r\n props.setFieldValue(\"confermaNuovaPassword\", val)}\r\n label=\"Conferma nuova password\"\r\n error={props.errors.confermaNuovaPassword}\r\n required\r\n />\r\n \r\n {props.errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n {criteriSicurezzaPassword()}\r\n
    \r\n
    \r\n {change_password.isLoading &&\r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n utente: state.authentication.utente,\r\n change_password: state.common.change_password\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n changePassword: payload => dispatch(changePassword(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CambioPassword);","import axios from \"axios\";\r\nimport { appMessagesConfig } from \"../area-riservata/utils-actions\";\r\nimport { addAppMessage } from \"../area-riservata/utils-actions/app-messages-config-actions\";\r\nimport { annullaRiepilogoRichiestaAdesioneError, annullaRiepilogoRichiestaAdesioneIsLoading, annullaRiepilogoRichiestaAdesioneSuccess } from \"./annulla-riepilogo-richiesta-adesione-actions\";\r\nimport { changePasswordError, changePasswordIsLoading, changePasswordSuccess } from \"./change-password-actions\";\r\nimport { checkResetPasswordLinkError, checkResetPasswordLinkIsLoading, checkResetPasswordLinkSuccess } from \"./check-reset-password-link-actions\";\r\nimport { confermaRiepilogoRichiestaAdesioneError, confermaRiepilogoRichiestaAdesioneIsLoading, confermaRiepilogoRichiestaAdesioneSuccess } from \"./conferma-riepilogo-richiesta-adesione-actions\";\r\nimport { getRiepilogoRichiestaAdesioneError, getRiepilogoRichiestaAdesioneIsLoading, getRiepilogoRichiestaAdesioneSuccess } from \"./get-riepilogo-richiesta-adesione-actions\";\r\nimport { resetPasswordError, resetPasswordIsLoading, resetPasswordSuccess } from \"./reset-password-actions\";\r\nimport { richiediResetPasswordError, richiediResetPasswordIsLoading, richiediResetPasswordSuccess } from \"./richiedi-reset-password-actions\";\r\nimport { setSpinnerDisabled, setSpinnerEnabled } from \"./spinner-actions\";\r\n\r\nexport const enableSpinner = () => dispatch => {\r\n dispatch(setSpinnerEnabled());\r\n};\r\n\r\nexport const disableSpinner = () => dispatch => {\r\n dispatch(setSpinnerDisabled());\r\n};\r\n\r\nexport const setMessage = (message) => dispatch => {\r\n if (message)\r\n dispatch(setMessage(message))\r\n}\r\n\r\nexport const changePassword = payload => dispatch => {\r\n const { password, nuovaPassword } = payload;\r\n dispatch(changePasswordIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs/afutente/password`,\r\n {\r\n password,\r\n nuovaPassword\r\n }\r\n )\r\n .then(res => {\r\n dispatch(changePasswordSuccess());\r\n dispatch(appMessagesConfig({ name: \"Password\", des: \"a\", action: \"UPDATE\", type: \"success\" }));\r\n \r\n })\r\n .catch(error => {\r\n let errorMsg = !!error.response && !!error.response.data ? error.response.data.message : \"\";\r\n dispatch(changePasswordError(errorMsg));\r\n dispatch(appMessagesConfig({ name: \"Password\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\n/** Utente non autenticato */\r\nexport const getRiepilogoRichiestaAdesione = link => dispatch => {\r\n dispatch(getRiepilogoRichiestaAdesioneIsLoading());\r\n axios.get(`/anpr-portale-enti-be-web/jaxrs-public/africhiestaaccordo/link/${link}`)\r\n .then(res => {\r\n dispatch(getRiepilogoRichiestaAdesioneSuccess(res.data));\r\n })\r\n .catch(error => {\r\n dispatch(getRiepilogoRichiestaAdesioneError(error.message));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"GET\", type: \"danger\", error }));\r\n })\r\n};\r\nexport const confermaRiepilogoRichiestaAdesione = link => dispatch => {\r\n dispatch(confermaRiepilogoRichiestaAdesioneIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs-public/africhiestaaccordo/link/${link}/conferma-invio`)\r\n .then(res => {\r\n dispatch(confermaRiepilogoRichiestaAdesioneSuccess(link));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", des: \"a\", action: \"CONFIRM\", type: \"success\" }));\r\n })\r\n .catch(error => {\r\n dispatch(confermaRiepilogoRichiestaAdesioneError(error.message));\r\n dispatch(appMessagesConfig({ name: \"Accordo\", prep: \"dell'\", action: \"CONFIRM\", type: \"danger\", error }));\r\n })\r\n};\r\nexport const annullaRiepilogoRichiestaAdesione = link => dispatch => {\r\n dispatch(annullaRiepilogoRichiestaAdesioneIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs-public/africhiestaaccordo/link/${link}/annulla-invio`)\r\n .then(res => {\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", des: \"a\", action: \"CANCEL\", type: \"success\" }));\r\n dispatch(annullaRiepilogoRichiestaAdesioneSuccess(link));\r\n })\r\n .catch(error => {\r\n dispatch(annullaRiepilogoRichiestaAdesioneError(error.message));\r\n dispatch(appMessagesConfig({ name: \"Richiesta di adesione\", prep: \"della \", action: \"CANCEL\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const richiediResetPassword = payload => dispatch => {\r\n dispatch(richiediResetPasswordIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs-public/afutente/password/richiesta-reset?input-captcha=${payload.captcha}`,\r\n {\r\n codiceFiscale: payload.codicefiscale\r\n })\r\n .then(() => {\r\n dispatch(richiediResetPasswordSuccess());\r\n dispatch(addAppMessage({\r\n closable: true,\r\n type: \"success\",\r\n text: \"Richiesta effettuata correttamente. Utilizzare il link inviato all'indirizzo email personale per completare l'operazione.\"\r\n })); \r\n })\r\n .catch(error => {\r\n let errorMsg = !!error.response && !!error.response.data ? error.response.data.message : \"\";\r\n dispatch(richiediResetPasswordError(errorMsg));\r\n dispatch(appMessagesConfig({ name: \"Richiesta\", prep: \"della \", action: \"SEND\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const resetPassword = payload => dispatch => {\r\n dispatch(resetPasswordIsLoading());\r\n axios.put(`/anpr-portale-enti-be-web/jaxrs-public/afutente/password/reset`, payload)\r\n .then(() => {\r\n dispatch(resetPasswordSuccess());\r\n dispatch(appMessagesConfig({ name: \"Password\", des: \"a\", action: \"UPDATE\", type: \"success\" }));\r\n \r\n })\r\n .catch(error => {\r\n let errorMsg = !!error.response && !!error.response.data ? error.response.data.message : \"\";\r\n dispatch(resetPasswordError(errorMsg));\r\n dispatch(appMessagesConfig({ name: \"Password\", prep: \"della \", action: \"UPDATE\", type: \"danger\", error }));\r\n })\r\n};\r\n\r\nexport const checkResetPasswordLink = link => dispatch => {\r\n dispatch(checkResetPasswordLinkIsLoading());\r\n axios.post(`/anpr-portale-enti-be-web/jaxrs-public/afutente/link/${link}/check`)\r\n .then(() => {\r\n dispatch(checkResetPasswordLinkSuccess());\r\n })\r\n .catch(error => {\r\n let errorMsg = !!error.response && !!error.response.data ? error.response.data.message : \"Link scaduto o non valido.\";\r\n dispatch(checkResetPasswordLinkError(errorMsg));\r\n dispatch(appMessagesConfig({ type: 'danger', error }));\r\n })\r\n};\r\n\r\n","import * as yup from 'yup';\r\nimport { isNullOrUndefined } from '../../../../utils/functions/objects/isNullOrUndefined';\r\n\r\n\r\nexport function getCambioPasswordInitialValues(utente) {\r\n return {\r\n password: \"\",\r\n nuovaPassword: \"\",\r\n confermaNuovaPassword: \"\"\r\n };\r\n};\r\n\r\nexport function cambioPasswordValidationSchema(utente) {\r\n const schema = yup.object().shape({\r\n password: yup.string().required(\"Password attuale: campo obbligatorio.\"),\r\n nuovaPassword: yup.string().required(\"Nuova password: campo obbligatorio.\")\r\n .min(8, \"La password deve avere almeno 8 caratteri\")\r\n .matches(/[A-Z]/, \"La nuova password deve avere almeno una lettera maiuscola\")\r\n .matches(/[a-z]/, \"La nuova password deve avere almeno una lettera minuscola\")\r\n .matches(/[0-9]/, \"La nuova password deve avere almeno un numero\")\r\n .matches(\r\n ///[#$^+=!*()@%&]/,\r\n /[#$^+=!*()@%&_-]/,\r\n \"La nuova password deve avere almeno un carattere speciale\"\r\n )\r\n .test(\r\n \"password\",\r\n \"La nuova password non può contenere più di 2 caratteri ripetuti\",\r\n value => {\r\n return !/(.)\\1\\1/.test(value);\r\n }\r\n )\r\n .test(\r\n \"password\",\r\n \"La nuova password non può contenere più di 2 numeri sequenziali\",\r\n value => {\r\n return !/(?:(?=012|123|234|345|456|567|678|789)\\d)+\\d/.test(value);\r\n }\r\n ),\r\n confermaNuovaPassword: yup.string().required(\"Conferma nuova password: campo obbligatorio.\"),\r\n }).test(\r\n 'Nuova password non coincidente.',\r\n '',\r\n function (schema) {\r\n const { createError } = this;\r\n const { nuovaPassword, confermaNuovaPassword, codiceFiscale, password } = schema;\r\n if (!isNullOrUndefined(nuovaPassword, true)) {\r\n if (!isNullOrUndefined(confermaNuovaPassword, true)\r\n && (nuovaPassword !== confermaNuovaPassword)) {\r\n return createError({ path: 'confermaNuovaPassword', message: 'Il campo \"Conferma nuova password\" deve coincidere con il campo \"Nuova password\".' })\r\n }\r\n if ((!isNullOrUndefined(codiceFiscale, true)\r\n || (!isNullOrUndefined(password, true)))\r\n && ((nuovaPassword === codiceFiscale) || (nuovaPassword === password))) {\r\n return createError({ path: 'nuovaPassword', message: \"La nuova password non può coincidere né con il codice fiscale dell'utente né con la password attuale.\" })\r\n }\r\n }\r\n return true;\r\n }\r\n )\r\n\r\n return schema;\r\n};","import React, { Component } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport GestioneNormative from \"../common/gestione-normative/GestioneNormative\";\r\nimport { DecodificheContext } from \"../../../contexts\";\r\nimport RichiesteInviateSwitch from \"./richieste-inviate-garante/RichiesteInviateSwitch\";\r\nimport AccordiAttiviSwitch from \"./accordi-attivi-garante/AccordiAttiviSwitch\";\r\nimport RichiesteRespinteSwitch from \"./richieste-respinte-garante/RichiesteRespinteSwitch\";\r\nimport { GestioneCasiUsoSwitch } from \"../common\";\r\nimport GestioneCategorieTipologie from \"../common/gestione-categorie-tipologie/GestioneCategorieTipologie\";\r\nimport Monitoraggio from \"../common/monitoraggio/Monitoraggio\";\r\nimport ProfiloPersonale from \"../common/profilo-personale/ProfiloPersonale\";\r\nimport CambioPassword from \"../common/cambio-password/CambioPassword\";\r\n\r\nclass GaranteSwitchComponents extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n (\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GaranteSwitchComponents;\r\n","import React from \"react\";\r\nimport MenuNavigazione from \"../../../layout/menu-navigazione\";\r\nimport { vociMenuGarante } from \"../../../../constants/voci_menu_navigazione\";\r\n\r\nclass SidebarMinistero extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SidebarMinistero;\r\n","import React, { Component } from \"react\";\r\nimport GaranteSwitchComponents from \"./GaranteSwitchComponents\";\r\nimport SidebarGarante from \"./sidebar-garante/SidebarGarante\";\r\nimport { SidebarContentLayout } from \"../../layout\";\r\n\r\nclass GaranteContainer extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GaranteContainer;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { approvaAccordoById, getAccordoById, insertFileRichiestaControfirmato, respingiAccordoById } from \"../../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport Tabs from \"../../../../ui/tabs\";\r\nimport { NormativeAccordoAttivo } from \"./_partials\";\r\nimport GoNavLink from \"../../../../ui/go-nav-link\";\r\nimport { DettagliAccordo } from \"../../../common\";\r\nimport InputFile from \"../../../../ui/input-file\";\r\nimport IconButton from \"../../../../ui/icon-button\";\r\nimport Modal from \"../../../../ui/modal\";\r\nimport TextArea from \"../../../../ui/text-area\";\r\nimport { DefaultLoading } from \"../../../../common/handleErrorsAndLoading\";\r\nimport ScrollTopButton from \"../../../../ui/scroll-top-button\";\r\nimport CardAllegatiAccordo from \"../../../common/card-allegati-accordo/CardAllegatiAccordo\";\r\nimport { Message } from \"../../../../ui\";\r\n\r\nclass DettagliRichiestaInviataMinistero extends Component {\r\n state = {\r\n disableRespingi: true\r\n }\r\n\r\n componentDidMount() {\r\n const { match: { params: { idAccordo } } } = this.props;\r\n if ((!this.props.get_accordo_by_id.accordo && !this.props.get_accordo_by_id.isLoading) ||\r\n (this.props.get_accordo_by_id.accordo && this.props.get_accordo_by_id.accordo.id !== idAccordo)) {\r\n this.props.getAccordoById(idAccordo);\r\n }\r\n };\r\n\r\n render() {\r\n\r\n const {\r\n decodifiche,\r\n get_accordo_by_id: { accordo, isLoading },\r\n match: { params: { idAccordo } },\r\n approva_respingi_accordo,\r\n insert_file_richiesta_controfirmato\r\n } = this.props;\r\n\r\n const responsabilefirmaaccordoflag = !!accordo\r\n && !!accordo.responsabilefirmaaccordo\r\n && (accordo.responsabilefirmaaccordo.idstato === 0);\r\n\r\n return (\r\n \r\n {!responsabilefirmaaccordoflag\r\n &&\r\n \r\n }\r\n

    Dettagli richiesta di adesione da approvare {idAccordo}

    \r\n \r\n \r\n
    \r\n
    \r\n {\r\n (isLoading || (approva_respingi_accordo && approva_respingi_accordo.isLoading)) &&\r\n \r\n }\r\n {!isLoading &&\r\n accordo &&\r\n \r\n \r\n\r\n\r\n
    \r\n this.props.insertFileRichiestaControfirmato(accordo.id, file)}\r\n />\r\n
    \r\n : null\r\n }\r\n />\r\n\r\n {\r\n accordo.idstato === 2 &&\r\n // (!approva_respingi_accordo ||\r\n // (approva_respingi_accordo &&\r\n // approva_respingi_accordo.rejected &&\r\n // approva_respingi_accordo.approved)) &&\r\n \r\n this.props.approvaAccordoById(accordo.id)}\r\n icon=\"check\"\r\n label=\"Approva\"\r\n type='button'\r\n buttonClass=\"primary\"\r\n iconClasses=\"mr-2\"\r\n extraClasses=\"mr-1 mr-md-4\"\r\n disabled={\r\n !responsabilefirmaaccordoflag\r\n || (approva_respingi_accordo &&\r\n approva_respingi_accordo.isLoading) ||\r\n (!accordo.flagfilefirmatocontrofirma &&\r\n ((insert_file_richiesta_controfirmato &&\r\n !insert_file_richiesta_controfirmato.inserted) ||\r\n !insert_file_richiesta_controfirmato))\r\n }\r\n />\r\n \r\n \r\n Respingi\r\n \r\n \r\n }\r\n \r\n {\r\n this._note = input\r\n }}\r\n getValue={(value) => {\r\n if (value && value.length > 0) {\r\n this.setState({\r\n disableRespingi: false\r\n })\r\n } else {\r\n this.setState({\r\n disableRespingi: true\r\n })\r\n }\r\n }}\r\n />\r\n {\r\n this.props.respingiAccordoById(accordo.id, this._note.value)\r\n }}\r\n icon=\"delete\"\r\n label=\"Respingi\"\r\n type='button'\r\n data-toggle=\"modal\"\r\n data-target=\"#respingi-modal\"\r\n buttonClass=\"danger\"\r\n iconClasses=\"fa-ban mr-2\"\r\n extraClasses=\"mr-1 mr-md-4\"\r\n disabled={this.state.disableRespingi}\r\n />\r\n \r\n }\r\n footer={}\r\n />\r\n \r\n },\r\n {\r\n tabId: 'normative',\r\n content: \r\n }\r\n ]}\r\n />\r\n }\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDettagliRichiestaInviataMinistero.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n insert_file_richiesta_controfirmato: state.gestione_accordi.insert_file_richiesta_controfirmato,\r\n approva_respingi_accordo: state.gestione_accordi.approva_respingi_accordo,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordoById: (idAccordo) =>\r\n dispatch(getAccordoById(idAccordo, false)),\r\n insertFileRichiestaControfirmato: (idRichiesta, file) =>\r\n dispatch(insertFileRichiestaControfirmato(idRichiesta, file)),\r\n approvaAccordoById: (idAccordo) =>\r\n dispatch(approvaAccordoById(idAccordo)),\r\n respingiAccordoById: (idAccordo, note) =>\r\n dispatch(respingiAccordoById(idAccordo, note))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettagliRichiestaInviataMinistero);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport DettagliRichiestaInviataMinistero from \"../richieste-di-adesione-ministero/dettagli-richiesta-adesione-ministero/DettagliRichiestaInviataMinistero\";\r\nimport ListaAccordiMinistero from '../lista-accordi-ministero/ListaAccordiMinistero';\r\n\r\nconst RichiesteInviateSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n /**/\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiesteInviateSwitch;\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport ListaAccordiMinistero from '../lista-accordi-ministero/ListaAccordiMinistero';\r\nimport DettagliAccordoAttivo from '../../common/dettagli-accordo-attivo/DettagliAccordoAttivo';\r\n\r\nconst AccordiAttiviSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default AccordiAttiviSwitch;\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport ListaAccordiMinistero from '../lista-accordi-ministero/ListaAccordiMinistero';\r\n\r\nconst RichiesteRespinteSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default RichiesteRespinteSwitch;\r\n","import React, { Fragment, useEffect } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport moment from \"moment\";\r\nimport { STRINGS } from \"../../../../constants/strings\";\r\nimport { InfoCard } from \"../../common/dettagli-accordo/_partials\";\r\nimport { tipoEmail } from \"../../../../constants/tipo-email\";\r\nimport { utenteInfos } from \"../../common/dettagli-accordo/utils/constants\";\r\nimport { getResponsabileFirmaAccordo } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { IconButton, Spinner } from \"../../../ui\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst ProfiloResponsabileFirmaAccordo = ({\r\n config_params,\r\n getResponsabileFirmaAccordo,\r\n responsabile_firma_accordo_obj\r\n}) => {\r\n\r\n useEffect(() => {\r\n if (!responsabile_firma_accordo_obj.responsabile_firma_accordo) {\r\n getResponsabileFirmaAccordo();\r\n }\r\n }, []); //eslint-disable-line\r\n\r\n const respmin = responsabile_firma_accordo_obj.responsabile_firma_accordo\r\n\r\n return (\r\n \r\n

    Responsabile del Ministero per la firma dell'accordo

    \r\n {(responsabile_firma_accordo_obj.pristine ||\r\n responsabile_firma_accordo_obj.isLoading)\r\n && \r\n }\r\n {!!respmin ?\r\n \r\n !['nome', 'cognome'].includes(utenteinfo.key))\r\n .map(utenteinfo => {\r\n return (\r\n {\r\n label: utenteinfo.label,\r\n value: utenteinfo.key === 'datanascita' ?\r\n respmin[utenteinfo.key] ?\r\n moment(respmin[utenteinfo.key]).format('DD/MM/YYYY') : STRINGS.NO_VALUE\r\n : utenteinfo.key === 'tipoemail' ?\r\n tipoEmail[respmin[utenteinfo.key]]\r\n : respmin[utenteinfo.key],\r\n col: utenteinfo.key !== 'codicefiscale' ? 6 : 12\r\n }\r\n )\r\n }),\r\n !!respmin.ruolo ? {\r\n label: 'Ruolo',\r\n value: respmin.ruolo,\r\n col: 12\r\n } : undefined,\r\n ]\r\n }\r\n ]}\r\n />\r\n
    \r\n {!respmin\r\n && !responsabile_firma_accordo_obj.pristine\r\n && !responsabile_firma_accordo_obj.isLoading ?\r\n
    \r\n \r\n \r\n \r\n
    \r\n : \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n :\r\n null}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = store => ({\r\n config_params: store.config.get_config_params.config_params,\r\n responsabile_firma_accordo_obj: store.gestione_accordi.get_responsabile_firma_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getResponsabileFirmaAccordo: () => dispatch(getResponsabileFirmaAccordo()),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ProfiloResponsabileFirmaAccordo);\r\n","import * as yup from 'yup';\r\nimport { configParamsKeys } from '../../../../../../constants/config-params-keys';\r\nimport DateUtils from '../../../../../../utils/DateUtils';\r\n\r\nexport const resetFormFields = (configParams) => {\r\n\r\n\r\n let resetarray = [\r\n {\r\n name: 'codicefiscale',\r\n reset: ''\r\n },\r\n {\r\n name: 'nome',\r\n reset: ''\r\n },\r\n {\r\n name: 'cognome',\r\n reset: ''\r\n },\r\n {\r\n name: 'datanascita',\r\n reset: undefined\r\n },\r\n {\r\n name: 'telefono',\r\n reset: ''\r\n },\r\n {\r\n name: 'ruolo',\r\n reset: ''\r\n },\r\n ];\r\n if (configParams[configParamsKeys[`responsabilefirmaaccordo_email`]] === 'true') {\r\n resetarray.push(\r\n {\r\n name: 'email',\r\n reset: ''\r\n },\r\n {\r\n name: 'tipoemail',\r\n reset: ''\r\n }\r\n )\r\n }\r\n return resetarray;\r\n};\r\n\r\nexport const getInitialValues = (data, configParams) => {\r\n const init = {\r\n codicefiscale: data !== null && data\r\n && (data.codicefiscale !== null) ?\r\n data.codicefiscale : \"\",\r\n nome: data !== null && data\r\n && (data.nome !== null) ?\r\n data.nome : \"\",\r\n cognome: data !== null && data\r\n && (data.cognome !== null) ?\r\n data.cognome : \"\",\r\n datanascita: data !== null\r\n && data && data.datanascita && (data.datanascita !== null) ?\r\n new Date(data.datanascita)\r\n : undefined,\r\n telefono: data !== null && data && (data.telefono !== null) ?\r\n data.telefono : \"\",\r\n ruolo: data !== null && data\r\n && (data.ruolo !== null) ?\r\n data.ruolo : \"\",\r\n };\r\n\r\n\r\n if (configParams[configParamsKeys[`responsabilefirmaaccordo_email`]] === 'true') {\r\n init[\"email\"] = data !== null && data && (data.email !== null) ?\r\n data.email : \"\";\r\n init[\"tipoemail\"] = 1;\r\n }\r\n\r\n return init;\r\n};\r\n\r\nexport const attoreAccordoValidationSchema = (configParams) => {\r\n let schema = yup.object().shape({\r\n codicefiscale: yup.string()\r\n .required(\"Codice fiscale: campo obbligatorio.\"),\r\n nome: yup.string()\r\n .min(2, \"Nome: deve avere al meno 2 caratteri.\")\r\n .max(50, \"Nome: non puo avere piu di 50 caratteri.\")\r\n .required(\"Nome: campo obbligatorio.\"),\r\n cognome: yup.string()\r\n .min(2, \"Cognome: deve avere al meno 2 caratteri.\")\r\n .max(50, \"Cognome: non puo avere piu di 50 caratteri.\")\r\n .required(\"Cognome: campo obbligatorio.\"),\r\n datanascita: yup.date()\r\n .typeError('Data di nascita: formato data non valido.')\r\n .max(DateUtils.getEndOfYesterday(), \"Data di nascita: deve essere una data passata.\")\r\n .nullable(),\r\n telefono: yup.string()\r\n .test(\"telefono\", \"Numero telefonico non valido\", value => {\r\n if (!value) {\r\n return true;\r\n }\r\n return /^[+]*[0-9]{1,4}[-\\s./0-9]*$/.test(value);\r\n })\r\n .nullable(),\r\n\r\n ruolo: yup.string()\r\n .required(\"Ruolo: campo obbligatorio.\"),\r\n });\r\n\r\n if (configParams[configParamsKeys[`responsabilefirmaaccordo_email`]] === 'true') {\r\n const emailValidation = yup.object().shape({\r\n email: yup.string()\r\n .email(\"Indirizzo email non valido\")\r\n .required(\"Email: campo obbligatorio.\"),\r\n tipoemail: yup.string()\r\n .required(\"Tipo email: campo obbligatorio.\"),\r\n });\r\n schema = schema.concat(emailValidation);\r\n }\r\n\r\n return schema;\r\n};","import React, { Fragment, useEffect, useState } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { configParamsKeys } from \"../../../../../constants/config-params-keys\";\r\nimport { aggiornaResponsabileFirmaAccordo, getResponsabileFirmaAccordo, inserisciResponsabileFirmaAccordo, validateCf } from \"../../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport Form from \"../../../../formik\";\r\nimport { GoNavLink, IconButton, Input, Spinner } from \"../../../../ui\";\r\nimport FormDatiUtente from \"../../../common/form-dati-utente/FormDatiUtente\";\r\nimport { attoreAccordoValidationSchema, getInitialValues, resetFormFields } from \"./utils/formInit\";\r\n\r\nconst NuovoModificaResponsabileFirmaAccordo = ({\r\n aggiornaResponsabileFirmaAccordo,\r\n config_params,\r\n getResponsabileFirmaAccordo,\r\n inserisciResponsabileFirmaAccordo,\r\n insert_responsabile_firma_accordo,\r\n responsabile_firma_accordo_obj,\r\n modifica,\r\n history,\r\n validateCf,\r\n isLoading\r\n}) => {\r\n const [pristine, setPristine] = useState(true);\r\n\r\n useEffect(() => {\r\n if (!responsabile_firma_accordo_obj.responsabile_firma_accordo) {\r\n getResponsabileFirmaAccordo();\r\n }\r\n }, []); //eslint-disable-line\r\n\r\n useEffect(() => {\r\n if (!!responsabile_firma_accordo_obj.responsabile_firma_accordo\r\n && (history.location.pathname === '/area-riservata/ministero/gestione-responsabile-firma-accordo/nuovo')) {\r\n history.push('/area-riservata/ministero/gestione-responsabile-firma-accordo/cambia')\r\n }\r\n }, [responsabile_firma_accordo_obj]); //eslint-disable-line\r\n\r\n // const respmin = responsabile_firma_accordo_obj.responsabile_firma_accordo\r\n\r\n return (\r\n \r\n

    {modifica ? 'Modifica' : 'Nuovo'} responsabile del Ministero per la firma dell'accordo

    \r\n \r\n {(responsabile_firma_accordo_obj.pristine ||\r\n responsabile_firma_accordo_obj.isLoading)\r\n || !config_params\r\n ? \r\n :\r\n {\r\n if (!modifica) {\r\n setPristine(false)\r\n }\r\n if (values.codicefiscale && values.codicefiscale.length) {\r\n validateCf(values, (err) => {\r\n if (!!err) {\r\n setErrors({\r\n ...errors,\r\n codicefiscale2: err\r\n })\r\n } else {\r\n if (!!modifica) {\r\n aggiornaResponsabileFirmaAccordo(\r\n responsabile_firma_accordo_obj.responsabile_firma_accordo.id,\r\n {\r\n \"datanascita\": values.datanascita,\r\n \"telefono\": values.telefono,\r\n \"email\": values.email,\r\n \"tipoemail\": values.tipoemail,\r\n \"ruolo\": values.ruolo,\r\n }\r\n )\r\n } else inserisciResponsabileFirmaAccordo(values);\r\n }\r\n }\r\n , \"respMin\")\r\n }\r\n }}\r\n extraStyle={{ minHeight: '70vh' }}\r\n cleanButton\r\n cleanButtonExtraClasses={\"mt-3 mr-4\"}\r\n >\r\n {({\r\n setFieldValue,\r\n values,\r\n dirty,\r\n errors,\r\n errorMessage,\r\n setErrors,\r\n cleanButton,\r\n }) => {\r\n let disabled = [];\r\n let inserted = !modifica\r\n && !pristine\r\n && insert_responsabile_firma_accordo &&\r\n insert_responsabile_firma_accordo.inserted;\r\n if (!!modifica) {\r\n disabled = [\r\n 'nome',\r\n 'cognome',\r\n 'codicefiscale',\r\n ]\r\n }\r\n if (!!inserted || isLoading) {\r\n disabled = [\r\n 'nome',\r\n 'cognome',\r\n 'codicefiscale',\r\n 'datanascita',\r\n 'telefono',\r\n 'email',\r\n 'tipoemail',\r\n 'ruolo'\r\n ]\r\n }\r\n return (\r\n \r\n {\r\n let newErrors = {};\r\n Object.keys(errors).forEach(errkey => {\r\n if (errkey !== 'codicefiscale2') {\r\n newErrors[errkey] = errors[errkey];\r\n }\r\n });\r\n setErrors(newErrors);\r\n }}\r\n forcePEC\r\n />\r\n
    \r\n
    \r\n setFieldValue('ruolo', value)}\r\n disabled={disabled.includes('ruolo')}\r\n required\r\n />\r\n
    \r\n
    \r\n {errorMessage}\r\n
    \r\n \r\n {!inserted &&\r\n !modifica &&\r\n cleanButton}\r\n
    \r\n
    \r\n )\r\n }}\r\n \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = store => ({\r\n responsabile_firma_accordo_obj: store.gestione_accordi.get_responsabile_firma_accordo,\r\n config_params: store.config.get_config_params.config_params,\r\n insert_responsabile_firma_accordo: store.gestione_accordi.insert_responsabile_firma_accordo,\r\n isLoading: (!!store.gestione_accordi.update_responsabile_firma_accordo \r\n && store.gestione_accordi.update_responsabile_firma_accordo.isLoading )\r\n || (!!store.gestione_accordi.insert_responsabile_firma_accordo\r\n && store.gestione_accordi.insert_responsabile_firma_accordo.isLoading),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getResponsabileFirmaAccordo: () => dispatch(getResponsabileFirmaAccordo()),\r\n inserisciResponsabileFirmaAccordo: payload => dispatch(inserisciResponsabileFirmaAccordo(payload)),\r\n aggiornaResponsabileFirmaAccordo: (id, payload) => dispatch(aggiornaResponsabileFirmaAccordo(id, payload)),\r\n validateCf: (payload, callback, loading) => dispatch(validateCf(payload, callback, loading))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(NuovoModificaResponsabileFirmaAccordo);","import React, { Component } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport GestioneNormative from \"../common/gestione-normative/GestioneNormative\";\r\nimport { DecodificheContext } from \"../../../contexts\";\r\nimport RichiesteDaApprovareSwitch from \"./richieste-da-approvare-ministero/RichiesteDaApprovareSwitch\";\r\nimport AccordiAttiviSwitch from \"./accordi-attivi-ministero/AccordiAttiviSwitch\";\r\nimport RichiesteRespinteSwitch from \"./richieste-respinte-ministero/RichiesteRespinteSwitch\";\r\nimport { GestioneCasiUsoSwitch } from \"../common\";\r\nimport GestioneCategorieTipologie from \"../common/gestione-categorie-tipologie/GestioneCategorieTipologie\";\r\nimport Monitoraggio from \"../common/monitoraggio/Monitoraggio\";\r\nimport ProfiloResponsabileFirmaAccordo from \"./gestione-responsabile-firma-accordo\";\r\nimport NuovoModificaResponsabileFirmaAccordo from \"./gestione-responsabile-firma-accordo/nuovo-modifica-responsabile-firma-accordo\";\r\nimport ProfiloPersonale from \"../common/profilo-personale/ProfiloPersonale\";\r\nimport CambioPassword from \"../common/cambio-password/CambioPassword\";\r\n\r\nclass MinisteroSwitchComponents extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n (\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MinisteroSwitchComponents;\r\n","import React from \"react\";\r\nimport MenuNavigazione from \"../../../layout/menu-navigazione\";\r\nimport { vociMenuMinistero } from \"../../../../constants/voci_menu_navigazione\";\r\n\r\nclass SidebarMinistero extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SidebarMinistero;\r\n","import React, { Component } from \"react\";\r\nimport MinisteroSwitchComponents from \"./MinisteroSwitchComponents\";\r\nimport SidebarMinistero from \"./sidebar-ministero/SidebarMinistero\";\r\nimport { SidebarContentLayout } from \"../../layout\";\r\n\r\nclass MinisteroContainer extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MinisteroContainer;\r\n","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nimport {getNomeDecodificaById} from \"../../../common/decodifiche\";\r\nimport { statiAccordo } from \"../../../../constants/stati-accordo\";\r\n\r\nclass RichiestaAdesioneRespAmm extends Component {\r\n state = {\r\n accordo: \"\",\r\n loading: false,\r\n error: \"\"\r\n };\r\n\r\n render() {\r\n const {accordo, decodifiche_stati_accordo} = this.props;\r\n\r\n const displayAccordo = () => {\r\n if (accordo) {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n

    {accordo.id}

    \r\n
    \r\n
    \r\n Id dell'accordo: {accordo.id}\r\n
    \r\n Data di inserimento:{\" \"}\r\n {accordo.datains}\r\n
    \r\n Nota: {accordo.noteente}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {console.log(accordo)}\r\n st.key === accordo.idstato).urlparam1}/dettagli/${accordo.id}`}\r\n className=\"btn btn-default text-dark-blue dark-blue-border font-weight-bold\"\r\n >Dettagli\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {getNomeDecodificaById(accordo.idstato, decodifiche_stati_accordo.stati_accordo)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n return \"\";\r\n };\r\n return {displayAccordo()};\r\n }\r\n}\r\n\r\nRichiestaAdesioneRespAmm.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiestaAdesioneRespAmm);\r\n","import React, { Component } from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { getIdDecodificaByVariabile } from \"../../../common/decodifiche\";\r\nimport RichiestaAdesioneRespAmm from \"../richiesta-adesione-resp-amm/RichiestaAdesioneRespAmm\";\r\n\r\nclass RichiesteResponsabileAmministrazione extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true\r\n };\r\n\r\n render() {\r\n const {id_accordo_attivo, accordo_attivo} = this.props.get_accordi_by_id_ente;\r\n // get_accordi_by_id_ente.id_accordo_attivo\r\n const displayAccordi = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const displayNessunAccordo = () => {\r\n if (this.state.accordi) {\r\n if (this.state.accordi.length > 0) {\r\n const checkIfThereAreAccordiAttivi = this.state.accordi.filter(\r\n accordo =>\r\n parseInt(accordo.idstato) ===\r\n getIdDecodificaByVariabile(\r\n \"ACCORDO_ATTIVO_(RICHIESTA_DI_ACCORDO_APPROVATA_DAL_MINISTERO)\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n );\r\n return checkIfThereAreAccordiAttivi.length > 0 ? (\r\n \"\"\r\n ) : (\r\n
    \r\n Nessuna richiesta di accordo trovata\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    {displayAccordi()}
    \r\n {displayNessunAccordo()}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRichiesteResponsabileAmministrazione.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps\r\n)(RichiesteResponsabileAmministrazione);\r\n","import React, { Component } from \"react\";\r\n\r\nimport PropTypes from \"prop-types\";\r\n\r\nclass ModalComponent extends Component {\r\n state = {};\r\n render() {\r\n const {\r\n titolo,\r\n contenuto,\r\n confirm,\r\n classConfirm,\r\n classCancel,\r\n data,\r\n fieldsExtra,\r\n idModal,\r\n disableSubmit,\r\n errorMessage,\r\n } = this.props;\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {titolo}\r\n

    \r\n
    \r\n
    {contenuto}
    \r\n
    \r\n
    \r\n {typeof fieldsExtra === \"function\"\r\n ? fieldsExtra()\r\n : fieldsExtra}\r\n {errorMessage}\r\n
    \r\n
    \r\n this.props.confirmAction(data)}\r\n disabled={disableSubmit}\r\n >\r\n {confirm}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Annulla\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nModalComponent.propTypes = {\r\n titolo: PropTypes.string.isRequired,\r\n contenuto: PropTypes.string.isRequired,\r\n confirm: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\r\n classConfirm: PropTypes.string.isRequired,\r\n classCancel: PropTypes.string.isRequired,\r\n data: PropTypes.any.isRequired,\r\n fieldsExtra: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.object,\r\n PropTypes.func\r\n ]).isRequired\r\n};\r\nexport default ModalComponent;\r\n","import React, { Component, Fragment } from \"react\";\r\n\r\nimport axios from \"axios\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport Form from \"../../../formik\";\r\nimport * as Yup from \"yup\";\r\nimport moment from \"moment\";\r\n\r\nimport {\r\n getIdDecodificaByVariabile,\r\n getNomeDecodificaById\r\n} from \"../../../common/decodifiche\";\r\n\r\nimport {\r\n cleanRicercaRichiestaAccordoFruizione,\r\n cleanAllReducers,\r\n setUtenteAggiornato\r\n} from \"../../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport {\r\n cleanEnteByUtente,\r\n logoutUserAction,\r\n setUserLoggedIn\r\n} from \"../../../../redux/actions/authentication/actions\";\r\nimport { DefaultLoading } from \"../../../common/handleErrorsAndLoading\";\r\nimport ModalComponent from \"../../../common/modal/ModalComponent\";\r\nimport { appMessagesConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport FormDatiUtente from \"../../common/form-dati-utente/FormDatiUtente\";\r\nimport Select from \"../../../ui/select\";\r\nimport { STRINGS } from \"../../../../constants/strings\";\r\nimport { InfoCard } from \"../../common/dettagli-accordo/_partials\";\r\nimport { tipoEmail } from \"../../../../constants/tipo-email\";\r\nimport { utenteInfos } from \"../../common/dettagli-accordo/utils/constants\";\r\n\r\nclass ProfiloPersonaleRespAmm extends Component {\r\n\r\n state = {\r\n displayInfo: \"profile-info\",\r\n aggiornandoUtente: false\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n shouldComponentUpdate() {\r\n const focusedTag = document.activeElement.tagName.toLowerCase();\r\n return ['input', 'textarea'].indexOf(focusedTag) < 0;\r\n }\r\n\r\n render() {\r\n const { authentication } = this.props;\r\n const { utente } = authentication;\r\n\r\n const cancellaUtente = () => {\r\n if (!this.state.aggiornandoUtente && !this.state.cancellandoUtente) {\r\n if (localStorage.utente) {\r\n const newUtente = JSON.parse(localStorage.getItem(\"utente\"));\r\n this.setState({ cancellandoUtente: true });\r\n axios\r\n .post(`/anpr-portale-enti-be-web/jaxrs/afutente/${newUtente.id}/elimina`)\r\n .then(() => {\r\n this.props.displayMessage({ name: \"Profilo personale\", prep: \"del \", action: \"DELETE\", type: \"success\" });\r\n localStorage.removeItem(\"utente\");\r\n this.props.cleanAllReducers();\r\n this.props.cleanEnteByUtente();\r\n this.props.cleanRicercaRichiestaAccordoFruizione();\r\n this.props.logoutUserAction(() => this.props.history.push(\"/login\"));\r\n })\r\n .catch(error => {\r\n this.props.displayMessage({ name: \"Profilo personale\", prep: \"del \", action: \"DELETE\", type: \"danger\", error });\r\n this.setState({\r\n cancellandoUtente: false,\r\n errorCancellaUtente: error,\r\n displayInfo: \"profile-info\"\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n const modifyProfileInfo = data => {\r\n if (!this.state.aggiornandoUtente && !this.state.cancellandoUtente) {\r\n if (localStorage.utente) {\r\n const newUtente = JSON.parse(localStorage.getItem(\"utente\"));\r\n if (\r\n this.props.authentication.utente.idtipo !==\r\n getIdDecodificaByVariabile(\"RESPONSABILE_DELL'AMMINISTRAZIONE\", this.props.decodifiche_tipi_utente.tipi_utente)\r\n ) {\r\n data.idtipo = newUtente.idtipo;\r\n }\r\n data.codicefiscale = newUtente.codicefiscale;\r\n data.nome = newUtente.nome;\r\n data.cognome = newUtente.cognome;\r\n if (data.telefono === \"\") {\r\n data.telefono = null;\r\n }\r\n this.setState({\r\n aggiornandoUtente: true\r\n });\r\n axios\r\n .put(`/anpr-portale-enti-be-web/jaxrs/afutente/${newUtente.id}`, data)\r\n .then(response => {\r\n this.props.displayMessage({ name: \"Profilo personale\", prep: \"del \", action: \"UPDATE\", type: \"success\" });\r\n localStorage.setItem(\"utente\", JSON.stringify(response.data));\r\n this.props.setUserLoggedIn(response.data);\r\n if (this._isMounted) {\r\n this.setState({\r\n utenteChanged: !this.state.utenteChanged,\r\n aggiornandoUtente: false,\r\n errorAggiornaUtente: \"\",\r\n utenteModificato: true,\r\n displayInfo: \"update-profile\"\r\n });\r\n }\r\n this.props.setUtenteAggiornato(true);\r\n setTimeout(() => {\r\n this.props.setUtenteAggiornato(false);\r\n if (this._isMounted) {\r\n this.setState({\r\n utenteModificato: \"\"\r\n });\r\n }\r\n }, 5000);\r\n })\r\n .catch(error => {\r\n this.props.displayMessage({ name: \"Profilo personale\", prep: \"del \", action: \"UPDATE\", type: \"danger\", error });\r\n this.setState({\r\n aggiornandoUtente: false,\r\n errorAggiornaUtente: error\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n if (utente) {\r\n let utente_form_init = {\r\n nome: utente.nome || \"\",\r\n cognome: utente.cognome || \"\",\r\n codicefiscale: utente.codicefiscale || \"\",\r\n datanascita: utente.datanascita ? moment(utente.datanascita).toDate() : \"\",\r\n telefono: utente.telefono || \"\",\r\n email: utente.email || \"\",\r\n tipoemail: utente.tipoemail || \"\",\r\n idtipo: utente.idtipo || \"\"\r\n };\r\n\r\n const UtenteValidationSchema = Yup.object().shape({\r\n telefono: Yup.string()\r\n .test(\"telefono\", \"Numero telefonico non valido\", value => {\r\n if (!value) {\r\n return true;\r\n }\r\n return /^[+]*[0-9]{1,4}[-\\s./0-9]*$/.test(value);\r\n })\r\n .nullable(),\r\n email: Yup.string()\r\n .matches(/\\S+@\\S+\\.\\S+/, \"Indirizzo email non valido\")\r\n .email(\"Indirizzo email non valido\")\r\n .test(\"email\", \"email add to state\", value => {\r\n displaySetEmailValueToState(value);\r\n return true;\r\n })\r\n .required(\"Email: campo obbligatorio.\"),\r\n tipoemail: Yup.string()\r\n .required(\"Tipo email: campo obbligatorio.\"),\r\n idtipo: Yup.string()\r\n .required(\"Tipologia utente: campo obbligatorio.\")\r\n });\r\n\r\n const displaySetEmailValueToState = value => {\r\n this.setState({\r\n email: value\r\n });\r\n };\r\n\r\n const tipiUtente = [\r\n {\r\n value: getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DELL'AMMINISTRAZIONE\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n label: getNomeDecodificaById(\r\n getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DELL'AMMINISTRAZIONE\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n )\r\n },\r\n {\r\n value: getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DEL_SERVIZIO\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n label: getNomeDecodificaById(\r\n getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DEL_SERVIZIO\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n )\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {\r\n this.state.displayInfo === \"profile-info\" &&\r\n \r\n

    Profilo personale

    \r\n
    \r\n
    \r\n {\r\n this.state.cancellandoUtente &&\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n !['nome', 'cognome'].includes(utenteinfo.key))\r\n .map(utenteinfo => {\r\n return (\r\n {\r\n label: utenteinfo.label,\r\n value: utenteinfo.key === 'datanascita' ?\r\n utente[utenteinfo.key] ?\r\n moment(utente[utenteinfo.key]).format('DD/MM/YYYY') : STRINGS.NO_VALUE\r\n : utenteinfo.key === 'tipoemail' ?\r\n tipoEmail[utente[utenteinfo.key]]\r\n : utente[utenteinfo.key],\r\n col: utenteinfo.key !== 'codicefiscale' ? 6 : 12\r\n }\r\n )\r\n }),\r\n ]\r\n }\r\n ]}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n this.props.history.push(`/area-riservata/${this.props.match.params.utenza}/profilo-personale/cambio-password`)}\r\n >\r\n \r\n Modifica la password di accesso\r\n \r\n  \r\n \r\n this.setState({ displayInfo: \"update-profile\" })\r\n }\r\n >\r\n \r\n Modifica\r\n \r\n  \r\n cancellaUtente()}\r\n data-toggle=\"modal\"\r\n data-target=\"#modal-delete\"\r\n >\r\n \r\n Elimina\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n {\r\n this.state.displayInfo === \"update-profile\" &&\r\n \r\n

    Modifica profilo personale

    \r\n
    \r\n \r\n this.setState({\r\n displayInfo: \"profile-info\",\r\n errorAggiornaUtente: \"\"\r\n })\r\n }\r\n >\r\n \r\n Torna al Profilo personale\r\n \r\n {\" \"}\r\n
    \r\n
    \r\n {\r\n this.state.aggiornandoUtente &&\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n {\r\n let objToSend = {\r\n telefono: values.telefono,\r\n email: values.email,\r\n tipoemail: values.tipoemail\r\n };\r\n\r\n if (\r\n this.props.authentication.utente.idtipo ===\r\n getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DELL'AMMINISTRAZIONE\",\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n )\r\n ) {\r\n objToSend.idtipo = values.idtipo;\r\n }\r\n\r\n modifyProfileInfo(objToSend);\r\n\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({\r\n isSubmitting,\r\n setFieldValue,\r\n values,\r\n errors,\r\n handleBlur,\r\n touched,\r\n errorMessage\r\n }) => (\r\n
    \r\n el.value === values.idtipo) : undefined}\r\n optionlist={tipiUtente}\r\n getValue={value => setFieldValue('idtipo', value ? value.value : '')}\r\n error={errors['idtipo'] && touched['idtipo'] ? errors['idtipo'] : null}\r\n />\r\n\r\n\r\n \r\n {errorMessage}\r\n \r\n \r\n Salva\r\n \r\n
    \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n }\r\n\r\n {\r\n /*(false) &&\r\n */\r\n }\r\n
    \r\n );\r\n\r\n }\r\n return \"\";\r\n }\r\n}\r\n\r\nProfiloPersonaleRespAmm.propTypes = {\r\n authentication: PropTypes.object.isRequired,\r\n decodifiche_tipi_utente: PropTypes.object.isRequired,\r\n utenteAggiornato: PropTypes.object.isRequired,\r\n setUtenteAggiornato: PropTypes.func.isRequired,\r\n cleanAllReducers: PropTypes.func.isRequired,\r\n cleanEnteByUtente: PropTypes.func.isRequired,\r\n cleanRicercaRichiestaAccordoFruizione: PropTypes.func.isRequired,\r\n logoutUserAction: PropTypes.func.isRequired,\r\n setUserLoggedIn: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n authentication: state.authentication,\r\n decodifiche_tipi_utente: state.decodifiche.tipi_utente,\r\n utenteAggiornato: state.utenteAggiornato\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n cleanAllReducers: () =>\r\n dispatch(cleanAllReducers()),\r\n cleanEnteByUtente: () =>\r\n dispatch(cleanEnteByUtente()),\r\n cleanRicercaRichiestaAccordoFruizione: () =>\r\n dispatch(cleanRicercaRichiestaAccordoFruizione()),\r\n logoutUserAction: () =>\r\n dispatch(logoutUserAction()),\r\n setUserLoggedIn: utente =>\r\n dispatch(setUserLoggedIn(utente)),\r\n setUtenteAggiornato: payload =>\r\n dispatch(setUtenteAggiornato(payload)),\r\n displayMessage: (msgConfig) =>\r\n dispatch(appMessagesConfig(msgConfig))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ProfiloPersonaleRespAmm);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport DettagliDatiStandardUtente from \"../../../../../../common/accordo/dati-standard-utente/DettagliDatiStandardUtente\";\r\nimport DatiStandardImpostazioni from \"../../../../../../common/accordo/dati-standard-impostazioni/DatiStandardImpostazioni\";\r\nimport { getNomeDecodificaById, getIdDecodificaByVariabile } from \"../../../../../../common/decodifiche\";\r\nimport DettagliAccordo from \"../../../../../common/dettagli-accordo/DettagliAccordo\";\r\nimport GoNavLink from \"../../../../../../ui/go-nav-link\";\r\n\r\n\r\nclass RiepilogoConfermazioneDati extends Component {\r\n\r\n state = {\r\n currentUserIdEnte: null\r\n };\r\n\r\n componentDidMount() {\r\n const getObject = JSON.parse(localStorage.getItem(\"utente\"));\r\n const currentUserIdEnte = getObject ? getObject.idente : null;\r\n this.setState({\r\n currentUserIdEnte: currentUserIdEnte\r\n });\r\n }\r\n\r\n render() {\r\n const { richiesta_standard_accordo_fruizioneForm, decodifiche_stati_accordo } = this.props;\r\n const { currentUserIdEnte } = this.state;\r\n\r\n const displayAltriResponsabiliAmministrazione = () => {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm) {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form) {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form.altriresponsabiliamministrazione) {\r\n if (this.props.richiesta_standard_accordo_fruizioneForm.form.altriresponsabiliamministrazione.length > 0) {\r\n return this.props.richiesta_standard_accordo_fruizioneForm.form.altriresponsabiliamministrazione.map(\r\n resp => {\r\n return (\r\n \r\n );\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const noteAccordo = () => {\r\n return (\r\n \r\n {richiesta_standard_accordo_fruizioneForm.form.noteente &&\r\n
    \r\n Nota\r\n
    \r\n {richiesta_standard_accordo_fruizioneForm.form.noteente}\r\n
    \r\n {\r\n (this.props.statoRichiesta === getIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\", this.props.decodifiche_stati_accordo.stati_accordo) ||\r\n !this.props.statoRichiesta) && (this.props.idente ? parseInt(this.props.idente) === parseInt(currentUserIdEnte) : true) &&\r\n \r\n Modifica\r\n \r\n }\r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n\r\n const dettagliUtentiAccordo = () => {\r\n return (\r\n \r\n {richiesta_standard_accordo_fruizioneForm.form.rappresentante &&\r\n \r\n }\r\n {\r\n richiesta_standard_accordo_fruizioneForm.form.responsabileamministrazione &&\r\n \r\n }\r\n {displayAltriResponsabiliAmministrazione()}\r\n {\r\n richiesta_standard_accordo_fruizioneForm.form.supervisore && richiesta_standard_accordo_fruizioneForm.form.supervisore.codicefiscale &&\r\n \r\n }\r\n {\r\n richiesta_standard_accordo_fruizioneForm.form.delegato && richiesta_standard_accordo_fruizioneForm.form.delegato.codicefiscale &&\r\n \r\n }\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n

    Dettagli accordo

    \r\n \r\n {\r\n richiesta_standard_accordo_fruizioneForm.form && richiesta_standard_accordo_fruizioneForm.form.idstato &&\r\n
    \r\n
    \r\n
    \r\n {getNomeDecodificaById(\r\n richiesta_standard_accordo_fruizioneForm.form.idstato,\r\n decodifiche_stati_accordo.stati_accordo\r\n )}\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n {\r\n !this.props.statoRichiesta || this.props.statoRichiesta === getIdDecodificaByVariabile(\"RICHIESTA_DI_ACCORDO_INSERITA\", this.props.decodifiche_stati_accordo.stati_accordo) ?\r\n (\r\n \r\n {dettagliUtentiAccordo()}\r\n {noteAccordo()}\r\n \r\n ) : (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nRiepilogoConfermazioneDati.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RiepilogoConfermazioneDati);\r\n","import React, {Component} from \"react\";\r\nimport axios from \"axios\";\r\nimport {DefaultError} from \"../../../common/handleErrorsAndLoading\";\r\nimport {getNomeDecodificaById} from \"../../../common/decodifiche\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {\r\n setAppToLoading,\r\n setAppToNotLoading\r\n} from \"../../../../redux/actions/area-riservata/enti-actions/actions\";\r\n\r\nclass DisplayCasiUsoToSelect extends Component {\r\n state = {\r\n casi_uso_categoria_ente: \"\",\r\n loadCasi: false,\r\n errorCasi: \"\"\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.accordo) {\r\n if (this.props.accordo.ente) {\r\n if (\r\n this.props.accordo.ente.idcategoria ||\r\n this.props.accordo.ente.idcategoria === 0\r\n ) {\r\n this.setState({\r\n loadCasi: true,\r\n errorCasi: \"\"\r\n });\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/afcasoduso/load/idstato/0/idcategoriaente/${this.props.accordo.ente.idcategoria}`\r\n )\r\n .then(response => {\r\n this.setState({\r\n casi_uso_categoria_ente: response.data,\r\n loadCasi: false,\r\n errorCasi: \"\"\r\n });\r\n })\r\n .catch(error => {\r\n this.setState({\r\n loadCasi: false,\r\n errorCasi: error\r\n });\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const conditionallyDisplayButtons = (caso, idAccordo) => {\r\n if (this.props.accordo) {\r\n if (this.props.accordo.casidusoassociati) {\r\n if (this.props.accordo.casidusoassociati.length > 0) {\r\n for (\r\n let a = 0;\r\n a < this.props.accordo.casidusoassociati.length;\r\n a++\r\n ) {\r\n let casoAssociato = this.props.accordo.casidusoassociati[a];\r\n if (casoAssociato.casoduso.id === caso.id) {\r\n return \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return (\r\n addCasoUso(caso.id, idAccordo)}\r\n >\r\n \r\n \r\n );\r\n };\r\n const addCasoUso = (idCaso, idAccordo) => {\r\n if (!this.state.addingCaso) {\r\n this.setState({\r\n addingCaso: true,\r\n errorAddingCaso: \"\"\r\n });\r\n this.props.setAppToLoading();\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/afcasoduso/${idCaso}`\r\n )\r\n .then(response => {\r\n this.setState({\r\n addingCaso: false,\r\n errorAddingCaso: \"\"\r\n });\r\n this.props.setAppToNotLoading();\r\n //call to get details of richiesta\r\n this.props.getAccordo();\r\n })\r\n .catch(error => {\r\n this.setState({\r\n addingCaso: false,\r\n errorAddingCaso: error\r\n });\r\n this.props.setAppToNotLoading();\r\n });\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n const displayElencoElementoDati = elencoElementoDati => {\r\n if (elencoElementoDati) {\r\n if (elencoElementoDati.length > 0) {\r\n let dati = elencoElementoDati.map((dato, index) => {\r\n return (\r\n
  • \r\n {dato.note}\r\n
  • \r\n );\r\n });\r\n return
      {dati}
    ;\r\n }\r\n return
    Nessun dato disponibile
    ;\r\n }\r\n return
    Nessun dato disponibile
    ;\r\n };\r\n\r\n const displayElencoGruppoDati = caso => {\r\n if (caso) {\r\n if (caso.elencogruppodati) {\r\n if (caso.elencogruppodati.length > 0) {\r\n let elencogruppodati = caso.elencogruppodati.map(elemento => {\r\n return (\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n {elemento.descrizione}\r\n \r\n

    \r\n
    \r\n \r\n
    \r\n {displayElencoElementoDati(elemento.elencoElementoDati)}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n });\r\n\r\n return (\r\n \r\n

    Dettagli caso d'uso:

    \r\n {elencogruppodati}\r\n
    \r\n );\r\n }\r\n return (\r\n
    Nessun dato disponibile
    \r\n );\r\n }\r\n return
    Nessun dato disponibile
    ;\r\n }\r\n return
    Nessun dato disponibile
    ;\r\n };\r\n\r\n const getCasoContainer = caso => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {caso.denominazione}

    \r\n
    \r\n
    \r\n {conditionallyDisplayButtons(caso, this.props.accordo.id)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n {caso.gruppo ? (\r\n
    • \r\n Gruppo:{\" \"}\r\n {caso.gruppo}\r\n
    • \r\n ) : (\r\n \"\"\r\n )}\r\n {caso.finalita ? (\r\n
    • \r\n Finalità:{\" \"}\r\n {caso.finalita}\r\n
    • \r\n ) : (\r\n \"\"\r\n )}\r\n
    • \r\n {displayElencoGruppoDati(caso)}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n //console.log(this.props.accordo);\r\n let stato = getNomeDecodificaById(\r\n this.props.accordo.idstato,\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n );\r\n if (\r\n stato === \"ACCORDO ATTIVO (RICHIESTA DI ACCORDO APPROVATA DAL MINISTERO)\"\r\n ) {\r\n if (this.props.accordo) {\r\n //console.log(this.props.accordo.ente);\r\n if (this.props.accordo.ente) {\r\n //console.log(this.props.accordo.ente.idcategoria);\r\n if (\r\n this.props.accordo.ente.idcategoria ||\r\n this.props.accordo.ente.idcategoria === 0\r\n ) {\r\n //console.log(this.state.casi_uso_categoria_ente);\r\n if (this.state.casi_uso_categoria_ente) {\r\n // console.log(this.state.casi_uso_categoria_ente.length);\r\n if (this.state.casi_uso_categoria_ente.length > 0) {\r\n let casiToDisplay = \"\";\r\n //console.log(this.props.accordo);\r\n if (this.props.accordo) {\r\n //console.log(this.props.accordo.casidusoassociati);\r\n if (this.props.accordo.casidusoassociati) {\r\n //console.log(this.props.accordo.casidusoassociati.length);\r\n if (this.props.accordo.casidusoassociati.length > 0) {\r\n //loop casi uso\r\n //loop casi uso state\r\n // if === display - else +\r\n\r\n //let casiToHide = [];\r\n //console.log(this.state.casi_uso_categoria_ente);\r\n\r\n casiToDisplay = [];\r\n\r\n this.state.casi_uso_categoria_ente.forEach(caso => {\r\n //console.log(this.state.casi_uso_categoria_ente);\r\n // console.log(caso);\r\n let existsInAtto = [];\r\n for (\r\n let a = 0;\r\n a < this.props.accordo.casidusoassociati.length;\r\n a++\r\n ) {\r\n let casoAssociato = this.props.accordo\r\n .casidusoassociati[a];\r\n\r\n // if (casoAssociato.casoduso.id !== caso.id) {\r\n // // if (casiToDisplay === \"\") {\r\n // // casiToDisplay = [];\r\n // // }\r\n\r\n // console.log(caso);\r\n // let casoContainer = getCasoContainer(caso);\r\n // casiToDisplay = [...casiToDisplay, casoContainer];\r\n // } else {\r\n // console.log(casoAssociato.casoduso.id);\r\n // console.log(caso.id);\r\n // }\r\n if (casoAssociato.casoduso.id === caso.id) {\r\n existsInAtto = [casoAssociato];\r\n }\r\n }\r\n\r\n if (existsInAtto.length === 0) {\r\n let casoContainer = getCasoContainer(caso);\r\n casiToDisplay = [...casiToDisplay, casoContainer];\r\n }\r\n });\r\n } //\r\n else {\r\n casiToDisplay = [];\r\n this.state.casi_uso_categoria_ente.forEach(caso => {\r\n let casoContainer = getCasoContainer(caso);\r\n\r\n casiToDisplay = [...casiToDisplay, casoContainer];\r\n });\r\n }\r\n } //\r\n else {\r\n casiToDisplay = [];\r\n this.state.casi_uso_categoria_ente.forEach(caso => {\r\n let casoContainer = getCasoContainer(caso);\r\n\r\n casiToDisplay = [...casiToDisplay, casoContainer];\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n {casiToDisplay.length > 0 ? (\r\n

    Seleziona casi d'uso

    \r\n ) : (\r\n

    Nessun caso d'uso disponibile

    \r\n )}\r\n\r\n \r\n \r\n\r\n {casiToDisplay}\r\n
    \r\n );\r\n }\r\n return \"\";\r\n }\r\n return \"\";\r\n }\r\n return \"\";\r\n }\r\n return \"\";\r\n }\r\n return \"\";\r\n }\r\n\r\n return \"\";\r\n }\r\n}\r\n\r\nDisplayCasiUsoToSelect.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired,\r\n setAppToLoading: PropTypes.func.isRequired,\r\n setAppToNotLoading: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setAppToLoading: () => dispatch(setAppToLoading()),\r\n setAppToNotLoading: () => dispatch(setAppToNotLoading())\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DisplayCasiUsoToSelect);\r\n","import React, {Component} from \"react\";\r\nimport axios from \"axios\";\r\nimport {getNomeDecodificaById} from \"../../../common/decodifiche\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport RiepilogoConfermazioneDati from \"../../ar-enti-pa/form-richiesta/richiesta-accordo-standard/richiesta-standard-riepilogo/riepilogo-confermazione-dati/RiepilogoConfermazioneDati\";\r\nimport {setRichiestaStandardAccordoFromToStore} from \"../../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport {connect} from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport DisplayCasiUsoToSelect from \"../../ar-responsabile-amministrazione/display-casi-uso-to-select/DisplayCasiUsoToSelect\";\r\n\r\nclass DettagliRichiestaAdesioneRespServ extends Component {\r\n state = {\r\n accordo: \"\",\r\n loading: false,\r\n error: \"\",\r\n firstLoad: true\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n this.getAccordo();\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n getAccordo = () => {\r\n const {\r\n match: {params}\r\n } = this.props;\r\n\r\n const accordo = params.accordo;\r\n if (accordo) {\r\n this.setState({\r\n loading: true\r\n });\r\n axios\r\n .get(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${parseInt(\r\n accordo\r\n )}`\r\n )\r\n .then(response => {\r\n if (this._isMounted) {\r\n this.setState({\r\n accordo: response.data,\r\n loading: false,\r\n firstLoad: false\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n if (this._isMounted) {\r\n this.setState({\r\n loading: false,\r\n error: error,\r\n firstLoad: false\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const {accordo} = this.state;\r\n const accordoToDisplay = {\r\n form: accordo\r\n };\r\n\r\n const concludiAccordo = idAccordo => {\r\n if (!this.state.loading) {\r\n this.setState({\r\n loading: true\r\n });\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/concludi`\r\n )\r\n .then(response => {\r\n if (this._isMounted) {\r\n this.setState({\r\n accordo: response.data,\r\n loading: false,\r\n firstLoad: false\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n if (this._isMounted) {\r\n this.setState({\r\n loading: false,\r\n error: error,\r\n firstLoad: false\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n const displayButtonConcludi = accordo => {\r\n if (accordo) {\r\n let stato = getNomeDecodificaById(\r\n accordo.idstato,\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n );\r\n if (\r\n stato ===\r\n \"ACCORDO ATTIVO (RICHIESTA DI ACCORDO APPROVATA DAL MINISTERO)\"\r\n ) {\r\n return (\r\n concludiAccordo(accordo.id)}\r\n >\r\n Termina accordo\r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n const displayDettagliAccordo = () => {\r\n if (accordoToDisplay.form) {\r\n return (\r\n \r\n \r\n {\r\n accordo.casidusoassociati &&\r\n accordo.casidusoassociati.length === 0 ? (\r\n
    \r\n Nessun caso d'uso da associare a questa categoria di ente\r\n
    \r\n ) : \"\"\r\n }\r\n \r\n {displayButtonConcludi(accordo)}\r\n
    \r\n );\r\n } else if (!this.state.firstLoad) {\r\n return (\r\n
    Nessun accordo trovato
    \r\n );\r\n }\r\n };\r\n\r\n //accordo\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {displayDettagliAccordo()}\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDettagliRichiestaAdesioneRespServ.propTypes = {\r\n setRichiestaStandardAccordoFromToStore: PropTypes.func.isRequired,\r\n richiesta_standard_accordo_fruizioneForm: PropTypes.object.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n richiesta_standard_accordo_fruizioneForm:\r\n state.richiesta_standard_accordo_fruizioneForm,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setRichiestaStandardAccordoFromToStore: response =>\r\n dispatch(setRichiestaStandardAccordoFromToStore(response))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettagliRichiestaAdesioneRespServ);\r\n","import React, {Component} from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport Table from \"../../../ui/table\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport Pagination from \"../../../ui/pagination\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\n\r\nclass RichiesteAnnullateRespServ extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows: []\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_ANNULLATA'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_ANNULLATA'\r\n );\r\n\r\n return (\r\n \r\n \r\n

    Richieste annullate

    \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading && !!this.state.tableRows.length &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nRichiesteAnnullateRespServ.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteAnnullateRespServ);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteAnnullateRespServ from \"./RichiesteAnnullateRespServ\";\r\n\r\nconst RichiesteAnnullateSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RichiesteAnnullateSwitch;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\n\r\nclass RichiesteRespinteRespServ extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows:[]\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n },\r\n callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste respinte

    \r\n {\r\n !this.state.loading && \r\n \r\n }\r\n {\r\n !this.state.loading && !!this.state.tableRows.length &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRichiesteRespinteRespServ.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteRespinteRespServ);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteRespinteRespAmm from './RichiesteRespinteRespServ';\r\n\r\nconst RichiesteRespinteSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RichiesteRespinteSwitch;\r\n","import React, { Fragment, useContext, useEffect, useState } from \"react\";\r\nimport { getCasiUsoByIdAccordo, updateCasiUsoByIdAccordo } from \"../../../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { connect } from \"react-redux\";\r\nimport { getCasiUsoTableRows } from \"../../../../common/tabella-casi-uso-associati/utils2/tableData\";\r\nimport { TabellaCasiUsoAssociati } from \"../../../../common\";\r\nimport { Spinner } from \"../../../../../ui\";\r\nimport { modaleConfermaConfig } from \"../../../../../../redux/actions/area-riservata/utils-actions\";\r\nimport { DEFAULT_CONFIRM_FOOTER, SET_CASI_USO_CHANGES } from \"../../../../../layout/modale-conferma/utils\";\r\nimport { aggiornaCasoUsoAssociatoValidationSchema } from \"./partials/aggiornaCasoUsoAssociatoValidationSchema\";\r\nimport { setCasiUsoChanges } from \"../../../../../../redux/actions/area-riservata/casi-uso-actions\";\r\nimport { FormModaleCasoUsoAssociato } from \"./partials\";\r\nimport { DecodificheContext } from \"../../../../../../contexts\";\r\nimport { getRegioniAll } from \"../../../../../../redux/actions/area-riservata/constants-actions\";\r\nimport { isNullOrUndefined } from \"../../../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\n\r\nconst CasiUsoAccordoAttivo = ({\r\n casi_uso_changes,\r\n getCasiUsoByIdAccordo,\r\n getRegioniAll,\r\n get_casi_uso_by_id_accordo,\r\n get_regioni_all,\r\n isLoading,\r\n match,\r\n modaleConfermaConfig,\r\n setCasiUsoChanges,\r\n updateCasiUsoByIdAccordo,\r\n utente,\r\n}) => {\r\n\r\n const [infoModalOpen, setInfoModalOpen] = useState(false);\r\n const [tableRows, setTableRows] = useState([]);\r\n\r\n const { decodifiche } = useContext(DecodificheContext);\r\n\r\n useEffect(() => {\r\n if (!get_regioni_all.isLoading) {\r\n getRegioniAll();\r\n }\r\n }, []); //eslint-disable-line\r\n\r\n const aggiornaCasoUsoAssociato = (caso, prevcaso, modifica) => {\r\n modaleConfermaConfig(\r\n {\r\n id: `AGGIORNA_CASO_USO_ASSOCIATO_${caso.idCasoduso}`,\r\n open: true,\r\n name: \"AGGIORNA_CASO_USO_ASSOCIATO\",\r\n title: `Modifica dati associazione ${caso.descrizioneCasoduso}`,\r\n body: ,\r\n form: {\r\n enableReinitialize: true,\r\n initialValues: {\r\n ...caso,\r\n idAmbito: !isNullOrUndefined(caso.idAmbito) ? caso.idAmbito : '',\r\n idAmbitoTerritoriale: !isNullOrUndefined(caso.idAmbitoTerritoriale) ? caso.idAmbitoTerritoriale : '',\r\n idRegione: !isNullOrUndefined(caso.idRegione) ? caso.idRegione : '',\r\n finalitaTrattamento: !isNullOrUndefined(caso.finalitaTrattamento) ? caso.finalitaTrattamento : ''\r\n },\r\n validationSchema: aggiornaCasoUsoAssociatoValidationSchema,\r\n onsubmit: {\r\n func: SET_CASI_USO_CHANGES,\r\n payload: {\r\n id: caso.idCasoduso,\r\n casi: casi_uso_changes || get_casi_uso_by_id_accordo.casi_uso_by_id_accordo,\r\n prevcaso,\r\n extraData: {\r\n associato: true,\r\n modified: true\r\n }\r\n }\r\n }\r\n },\r\n footer: DEFAULT_CONFIRM_FOOTER,\r\n }\r\n );\r\n };\r\n\r\n const handleCheck = (checked, caso, modifica) => {\r\n let prevcaso = get_casi_uso_by_id_accordo.casi_uso_by_id_accordo.find(el => el.idCasoduso === caso.idCasoduso);\r\n\r\n if (!!checked) {\r\n aggiornaCasoUsoAssociato(caso, prevcaso, modifica);\r\n } else {\r\n setCasiUsoChanges(\r\n {\r\n casi: casi_uso_changes || get_casi_uso_by_id_accordo.casi_uso_by_id_accordo,\r\n },\r\n {\r\n ...caso,\r\n finalitaTrattamento: undefined,\r\n idAmbito: undefined,\r\n idAmbitoTerritoriale: undefined,\r\n associato: false,\r\n ruolo: undefined,\r\n modified: prevcaso.associato ? true : false\r\n }\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n let idAccordo = utente && utente.idaccordo;\r\n if (idAccordo && !isLoading) {\r\n getCasiUsoByIdAccordo(idAccordo);\r\n }\r\n }, [utente]); //eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (!!get_casi_uso_by_id_accordo.casi_uso_by_id_accordo\r\n && get_regioni_all.regioni_all) {\r\n setTableRows(\r\n getCasiUsoTableRows(\r\n casi_uso_changes || get_casi_uso_by_id_accordo.casi_uso_by_id_accordo,\r\n {\r\n setInfoModalOpen: (modalId, casoId, name) => setInfoModalOpen({\r\n modalId,\r\n casoId,\r\n name\r\n }),\r\n handleCheck\r\n },\r\n match.params.utenza,\r\n decodifiche,\r\n get_regioni_all.regioni_all,\r\n get_casi_uso_by_id_accordo.casi_uso_by_id_accordo\r\n )\r\n );\r\n }\r\n }, [get_casi_uso_by_id_accordo.casi_uso_by_id_accordo, casi_uso_changes, get_regioni_all]); //eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const saveChanges = () => {\r\n if (casi_uso_changes && casi_uso_changes.length) {\r\n let idAccordo = utente && utente.idaccordo;\r\n let changes = [];\r\n casi_uso_changes.forEach((el, index) => {\r\n if (!!el.modified) {\r\n let changesJSON = {\r\n idCasoduso: el.idCasoduso,\r\n idAmbito: el.idAmbito,\r\n idAmbitoTerritoriale: el.idAmbitoTerritoriale,\r\n idRegione: el.idRegione || null,\r\n finalitaTrattamento: el.finalitaTrattamento,\r\n associato: el.associato\r\n };\r\n if (!!el.idAssociazioneAccordo || !el.associato) {\r\n changesJSON['idAssociazioneAccordo'] = el.idAssociazioneAccordo\r\n }\r\n changes.push(changesJSON);\r\n }\r\n });\r\n updateCasiUsoByIdAccordo(\r\n idAccordo,\r\n {\r\n associazioni: changes\r\n }\r\n );\r\n };\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n

    Casi d'uso

    \r\n
    \r\n
    \r\n {\r\n get_casi_uso_by_id_accordo.pristine &&\r\n get_casi_uso_by_id_accordo.isLoading &&\r\n \r\n }\r\n {!get_casi_uso_by_id_accordo.pristine\r\n && !!get_casi_uso_by_id_accordo.casi_uso_by_id_accordo\r\n &&\r\n setInfoModalOpen({\r\n ...infoModalOpen,\r\n modalId: undefined,\r\n name: undefined\r\n })}\r\n modalData={infoModalOpen}\r\n tableRows={tableRows}\r\n casiUso={get_casi_uso_by_id_accordo.casi_uso_by_id_accordo}\r\n noContent={get_casi_uso_by_id_accordo.noContent}\r\n utenza={match.params.utenza}\r\n saveChanges={saveChanges}\r\n disabled={!casi_uso_changes || (casi_uso_changes && !casi_uso_changes.some(x => x.modified))}\r\n />\r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n casi_uso_changes: state.gestione_casi_uso.set_casi_uso_changes.casi_uso_changes,\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n get_accordo_attivo_data: state.gestione_accordi.get_accordo_attivo_data,\r\n get_casi_uso_by_id_accordo: state.gestione_accordi.get_casi_uso_by_id_accordo,\r\n get_regioni_all: state.constants.get_regioni_all,\r\n isLoading: state.gestione_accordi.get_casi_uso_by_id_accordo.isLoading,\r\n update_casi_uso_by_id_accordo: state.gestione_accordi.update_casi_uso_by_id_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCasiUsoByIdAccordo: (idAccordoAttivo, updated) => dispatch(getCasiUsoByIdAccordo(idAccordoAttivo, updated)),\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config)),\r\n setCasiUsoChanges: (casiuso, change) => dispatch(setCasiUsoChanges(casiuso, change)),\r\n updateCasiUsoByIdAccordo: (idAccordo, bodyRequest) => dispatch(updateCasiUsoByIdAccordo(idAccordo, bodyRequest)),\r\n getRegioniAll: () => dispatch(getRegioniAll()),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CasiUsoAccordoAttivo);","import React from \"react\";\r\nimport moment from \"moment\";\r\nimport Icon from \"../../../../ui/icon\";\r\nimport { isNullOrUndefined } from \"../../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nexport const tableHeaders = [\r\n {\r\n value: 'Tipo',\r\n classes: 'text-left',\r\n },\r\n {\r\n value: 'Motivo generazione',\r\n classes: 'text-left',\r\n },\r\n {\r\n value: 'Data richiesta',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Data generazione',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center',\r\n },\r\n {\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-right',\r\n },\r\n];\r\n\r\nexport const getStatoInterfaccia = (interfaccia, callbacks, utenza) => {\r\n switch (interfaccia.idstato) {\r\n case 0:\r\n return {\r\n icon: 'check',\r\n title: interfaccia.stato,\r\n class: 'success',\r\n };\r\n\r\n case 1:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: interfaccia.stato,\r\n class: 'warning'\r\n };\r\n case 2:\r\n return {\r\n icon: 'flag',\r\n title: interfaccia.stato,\r\n class: 'primary',\r\n };\r\n case 3:\r\n return {\r\n icon: 'trash',\r\n title: interfaccia.stato,\r\n class: 'danger',\r\n };\r\n case 4:\r\n return {\r\n icon: 'flag',\r\n title: interfaccia.stato,\r\n class: 'success',\r\n };\r\n case 5:\r\n return {\r\n icon: 'spinner',\r\n title: interfaccia.stato,\r\n class: 'warning',\r\n };\r\n case 6:\r\n return {\r\n icon: 'exclamation-circle',\r\n title: interfaccia.stato,\r\n class: 'danger',\r\n };\r\n default:\r\n break;\r\n }\r\n};\r\n\r\n\r\nexport const getTableRows = (data, scaricaFile) => {\r\n return data.map((el, index) => {\r\n let statoInterfaccia = getStatoInterfaccia(el);\r\n return {\r\n id: 'row-' + (index + 1),\r\n cells: [\r\n {\r\n tag: '',\r\n value: el.tipo,\r\n datath: 'Tipo',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: el.motivogenerazione,\r\n datath: 'Motivo generazione',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: el.datarichiestagenerazione ? moment(el.datarichiestagenerazione).format('DD/MM/YYYY') : 'n.d.',\r\n datath: 'Data richiesta',\r\n classes: 'text-center'\r\n },\r\n {\r\n tag: '',\r\n value: el.datagenerazione ? moment(el.datagenerazione).format('DD/MM/YYYY') : 'n.d.',\r\n datath: 'Data generazione',\r\n classes: 'text-center'\r\n },\r\n {\r\n tag: '',\r\n value: (\r\n
    \r\n \r\n {statoInterfaccia.title.toLocaleUpperCase()}\r\n
    \r\n ),\r\n style: {\r\n minWidth: '7rem'\r\n },\r\n datath: 'Stato',\r\n classes: 'text-center'\r\n },\r\n {\r\n tag: '',\r\n value: '',\r\n datath: 'Azioni',\r\n classes: 'text-right',\r\n actions: isNullOrUndefined(el.idfile) ? undefined :\r\n [\r\n {\r\n onClick: () => scaricaFile(el.id),\r\n value: 'Scarica',\r\n icon: 'download'\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n })\r\n};","import React, { Fragment } from \"react\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport {\r\n saveByteArray,\r\n base64ToArrayBuffer\r\n} from \"../../../common/getFileFromData\";\r\nimport { getTableRows, tableHeaders } from \"../../common/tabella-interfacce/utils/tableData\";\r\nimport { getInterfacceByIdAccordoAttivo } from \"../../../../redux/actions/area-riservata/interfacce-actions\";\r\nimport { PaginatedTable, Spinner } from \"../../../ui\";\r\n\r\nclass InterfacceRespAmm extends React.Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n accordo: \"\",\r\n tableRows: []\r\n };\r\n\r\n getInterfacce() {\r\n let idAccordo = this.props.utente && this.props.utente.idaccordo;\r\n if (!this.props.isLoading) {\r\n this.props.getInterfacceByIdAccordoAttivo(idAccordo)\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n this.getInterfacce();\r\n if (this.props.lista_interfacce) {\r\n this.setState({\r\n tableRows: getTableRows(this.props.lista_interfacce, this.scaricaFile)\r\n });\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.lista_interfacce\r\n && (this.props.lista_interfacce !== prevProps.lista_interfacce)) {\r\n this.setState({\r\n tableRows: getTableRows(this.props.lista_interfacce, this.scaricaFile)\r\n });\r\n }\r\n };\r\n\r\n scaricaFile = idInterfaccia => {\r\n let idAccordo = this.props.utente && this.props.utente.idaccordo;\r\n\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordo}/afinterfacciaws/${idInterfaccia}/affile`)\r\n .then(response => {\r\n this.setState(\r\n {\r\n [\"downloading\" + idInterfaccia]: true\r\n },\r\n () => {\r\n if (\r\n response &&\r\n response.data &&\r\n response.data.fileprodotto &&\r\n response.data.fileprodotto.data\r\n ) {\r\n this.setState(\r\n {\r\n [\"downloading\" + idInterfaccia]: false,\r\n [\"error\" + idInterfaccia]: \"\"\r\n },\r\n () => {\r\n let sampleArr = base64ToArrayBuffer(\r\n response.data.fileprodotto.data\r\n );\r\n saveByteArray(\r\n \"interfaccia\" +\r\n (response.data.tipofile\r\n ? \".\" + response.data.tipofile.toLowerCase()\r\n : \"\"),\r\n sampleArr,\r\n `application/${response.data.tipofile.toLocaleLowerCase()}`\r\n );\r\n }\r\n );\r\n }\r\n }\r\n );\r\n })\r\n .catch(error => {\r\n this.setState({\r\n [\"downloading\" + idInterfaccia]: false,\r\n error: error\r\n });\r\n });\r\n };\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n \r\n

    Interfacce WS

    \r\n {/*displayInterfacce()*/}\r\n {\r\n !this.props.isLoading ?\r\n \r\n \r\n \r\n : \r\n }\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nInterfacceRespAmm.propTypes = {\r\n richiesta_standard_accordo_fruizioneForm: PropTypes.object.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n richiesta_standard_accordo_fruizioneForm:\r\n state.richiesta_standard_accordo_fruizioneForm,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo,\r\n lista_interfacce: state.gestione_interfacce.get_interfacce_by_id_accordo_attivo.lista_interfacce,\r\n isLoading: state.gestione_interfacce.get_interfacce_by_id_accordo_attivo.isLoading,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getInterfacceByIdAccordoAttivo: idAccordoAttivo => dispatch(getInterfacceByIdAccordoAttivo(idAccordoAttivo))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InterfacceRespAmm);\r\n","import Axios from \"axios\";\r\nimport { getInterfacceByIdAccordoAttivoSuccess, getInterfacceByIdAccordoAttivoIsLoading, getInterfacceByIdAccordoAttivoError } from \"./get-interfacce-by-id-accordo-attivo-actions\";\r\n\r\nexport const getInterfacceByIdAccordoAttivo = (idAccordoAttivo) => dispatch => {\r\n dispatch(getInterfacceByIdAccordoAttivoIsLoading());\r\n Axios.get(`/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${idAccordoAttivo}/afinterfacciaws`)\r\n .then(response => {\r\n dispatch(getInterfacceByIdAccordoAttivoSuccess(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(getInterfacceByIdAccordoAttivoError(error.message));\r\n })\r\n};","import React, { Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as Yup from \"yup\";\r\nimport axios from \"axios\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport { getIdDecodificaByVariabile } from \"../../../common/decodifiche\";\r\nimport { DefaultLoading } from \"../../../common/handleErrorsAndLoading\";\r\nimport Form from \"../../../formik\";\r\nimport Input from \"../../../ui/input\";\r\nimport { appMessagesConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport { removeAppMessage } from \"../../../../redux/actions/area-riservata/utils-actions/app-messages-config-actions\";\r\n\r\nclass ImpostazioniAccordo extends React.Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n accordo: \"\"\r\n };\r\n\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n const { accordi } = this.state;\r\n if (accordi) {\r\n if (accordi.length > 0) {\r\n accordi.forEach(accordo => {\r\n if (\r\n accordo.idstato ===\r\n getIdDecodificaByVariabile(\r\n \"ACCORDO_ATTIVO_(RICHIESTA_DI_ACCORDO_APPROVATA_DAL_MINISTERO)\",\r\n this.props.decodifiche_stati_accordo.stati_accordo\r\n )\r\n ) {\r\n this.setState({\r\n accordo: accordo\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n },\r\n callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { accordo } = this.state;\r\n let richiesta_nota_init = {};\r\n let RichiestaNotaValidationSchema = Yup.object().shape({});\r\n if (accordo) {\r\n //valori iniziali form\r\n richiesta_nota_init = {\r\n maxutenti: accordo.maxutenti || 0,\r\n transazionipreviste: accordo.transazionipreviste || 0,\r\n maxtransazionipreviste: accordo.maxtransazionipreviste || 0\r\n };\r\n\r\n //validazione campi form\r\n RichiestaNotaValidationSchema = Yup.object().shape({\r\n maxutenti: Yup.number(\"Numero massimo utenti: il valore deve essere un numero.\")\r\n .required(\"Numero massimo utenti: campo obbligatorio.\")\r\n .min(1, \"Numero massimo utenti: il valore non può essere minore di 1.\")\r\n .max(9999999999, \"Numero massimo utenti: valore troppo grande.\"),\r\n transazionipreviste: Yup.number(\"Numero medio transazioni giornaliere previste: il valore deve essere un numero.\")\r\n .required(\"Numero medio transazioni giornaliere previste: campo obbligatorio.\")\r\n .min(1, \"Numero medio transazioni giornaliere previste: il valore non può essere minore di 1.\")\r\n .max(9999999999, \"Numero medio transazioni giornaliere previste: valore troppo grande.\"),\r\n maxtransazionipreviste: Yup.number(\"Numero massimo transazioni giornaliere previste: il valore deve essere un numero.\")\r\n .required(\"Numero massimo transazioni giornaliere previste: campo obbligatorio.\")\r\n .min(1, \"Numero massimo transazioni giornaliere previste: il valore non può essere minore di 1.\")\r\n .max(9999999999, \"Numero massimo transazioni giornaliere previste: valore troppo grande.\"),\r\n });\r\n }\r\n\r\n return (\r\n \r\n {this.state.accordo ? (\r\n {\r\n if (!this.state.savingSettings) {\r\n this.setState(\r\n {\r\n savingSettings: true,\r\n impostazioniSalvate: false\r\n },\r\n () => {\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/africhiestaaccordo/${this.state.accordo.id}/performance`,\r\n {\r\n maxutenti: values.maxutenti,\r\n transazionipreviste: values.transazionipreviste,\r\n maxtransazionipreviste: values.maxtransazionipreviste\r\n }\r\n )\r\n .then(() => {\r\n getAllAccordiPerEnte(this.setParentState);\r\n this.props.removeAppMessage(\"impostazioniAccordo\");\r\n this.props.displaySuccessMessage();\r\n this.setState({\r\n savingSettings: false,\r\n impostazioniSalvate: true,\r\n errorSavingSettings: \"\"\r\n });\r\n })\r\n .catch(error => {\r\n this.props.displayErrorMessage(error);\r\n this.setState({\r\n savingSettings: false,\r\n impostazioniSalvate: false,\r\n errorSavingSettings: error\r\n });\r\n });\r\n }\r\n );\r\n }\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({ isSubmitting, values, setFieldValue, errors, errorMessage }) => (\r\n
    \r\n
    \r\n

    Impostazioni accordo

    \r\n \r\n
    \r\n setFieldValue('maxutenti', value)}\r\n error={errors['maxutenti'] ? errors['maxutenti'] : null}\r\n label=\"Numero massimo utenti:\"\r\n />\r\n setFieldValue('transazionipreviste', value)}\r\n error={errors['transazionipreviste'] ? errors['transazionipreviste'] : null}\r\n label=\"Numero medio transazioni giornaliere previste:\"\r\n />\r\n setFieldValue('maxtransazionipreviste', value)}\r\n error={errors['maxtransazionipreviste'] ? errors['maxtransazionipreviste'] : null}\r\n label=\"Numero massimo transazioni giornaliere previste:\"\r\n />\r\n {errorMessage}\r\n \r\n Salva\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nImpostazioniAccordo.propTypes = {\r\n richiesta_standard_accordo_fruizioneForm: PropTypes.object.isRequired,\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n richiesta_standard_accordo_fruizioneForm:\r\n state.richiesta_standard_accordo_fruizioneForm,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n displaySuccessMessage: () => dispatch(appMessagesConfig({ name: \"Impostazioni\", des: \"e\", action: \"UPDATE\", type: \"success\" })),\r\n displayErrorMessage: (error) => dispatch(appMessagesConfig({ name: \"Impostazioni\", prep: \"delle \", action: \"UPDATE\", type: \"danger\", error })),\r\n removeAppMessage: (msgId) => dispatch(removeAppMessage(msgId))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ImpostazioniAccordo);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { modaleConfermaConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport * as Yup from \"yup\";\r\nimport { DEFAULT_CONFIRM_FOOTER, REVOCA_ACCORDO } from \"../../../layout/modale-conferma/utils\";\r\nimport { Revoca } from \"../../common\";\r\n\r\nclass TerminaRichiestaAdesioneRespAmm extends Component {\r\n\r\n state = {\r\n loading: false,\r\n accordo: this.props.get_accordi_by_id_ente.accordo_attivo,\r\n updateSuccess: false\r\n };\r\n\r\n render() {\r\n const { accordo } = this.state;\r\n return (\r\n \r\n {accordo &&\r\n La revoca dell’accordo di fruizione comporta la definitiva interruzione della possibilità di interrogare i servizi di ANPR. Tutte le utenze vengono disabilitate e l’accesso alla piattaforma web inibito. Per tornare ad accedere alla piattaforma e ai servizi è necessario sottoscrivere un nuovo accordo di fruizione. Sei sicuro di voler procedere?

    ,\r\n form: {\r\n initialValues: {},\r\n validationSchema: Yup.object(),\r\n onsubmit: {\r\n func: REVOCA_ACCORDO,\r\n payload: {\r\n id: accordo.id,\r\n callback: () => this.props.history.push('/login')\r\n }\r\n }\r\n },\r\n footer: DEFAULT_CONFIRM_FOOTER\r\n }\r\n }\r\n />\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nTerminaRichiestaAdesioneRespAmm.propTypes = {};\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n revoca_accordo_isLoading: state.gestione_accordi.revoca_accordo\r\n && state.gestione_accordi.revoca_accordo.isLoading\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TerminaRichiestaAdesioneRespAmm);\r\n","import React, { Component } from \"react\";\r\n\r\nimport { Switch, Route, Redirect } from \"react-router-dom\";\r\nimport { DecodificheContext } from \"../../../../contexts\";\r\nimport { connect } from \"react-redux\";\r\nimport CasiUsoAccordoAttivo from \"../../ar-responsabile-amministrazione/gestione-accordo-attivo/_partials/casi-uso-accordo-attivo/CasiUsoAccordoAttivo\";\r\nimport InterfacceRespAmm from \"../../ar-responsabile-amministrazione/interfacce-ws-resp-amm/InterfacceRespAmm\";\r\nimport DettagliAccordoAttivo from \"../../common/dettagli-accordo-attivo/DettagliAccordoAttivo\";\r\nimport ImpostazioniAccordo from \"../../common/impostazioni-accordo/ImpostazioniAccordo\";\r\nimport RevocaAccordoRespAmm from \"../../ar-responsabile-amministrazione/revoca-accordo-resp-amm/RevocaAccordoRespAmm\";\r\n\r\nclass GestioneAccordoAttivoSwitch extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {context => (\r\n \r\n (\r\n { get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente }\r\n ))(\r\n ({ get_accordi_by_id_ente }) => {\r\n if (get_accordi_by_id_ente.id_accordo_attivo) {\r\n return (\r\n \r\n )\r\n } else return null;\r\n }\r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n }\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GestioneAccordoAttivoSwitch;\r\n","import React, {Component} from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport Table from \"../../../ui/table\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport Pagination from \"../../../ui/pagination\";\r\nimport { STATO_ACCORDO } from \"../../../../constants/stati-accordo\";\r\n\r\nclass AccordiRevocatiRespServ extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n tableRows: [],\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (JSON.stringify(this.state.accordi) !== JSON.stringify(prevState.accordi)) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(this.getAccordiRevocati(this.state.accordi).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState({\r\n ...obj\r\n }, callback());\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n filterAccordiByStati = (accordi, stati) => {\r\n return accordi && stati ? accordi.filter(item => stati.includes(item.idstato)) : accordi;\r\n }\r\n\r\n getAccordiRevocati = (accordi) => {\r\n return this.filterAccordiByStati(this.state.accordi, [STATO_ACCORDO.REVOCATO_DA_MINISTERO, STATO_ACCORDO.REVOCATO_DA_PA_GESTORE]);\r\n }\r\n\r\n render() {\r\n const filteredAccordi = this.getAccordiRevocati(this.state.accordi);\r\n\r\n return (\r\n \r\n \r\n

    Accordi revocati

    \r\n \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nAccordiRevocatiRespServ.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AccordiRevocatiRespServ);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport AccordiRevocatiRespAmm from './AccordiRevocatiRespServ';\r\n\r\nconst RichiesteConcluseSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RichiesteConcluseSwitch;\r\n","import React, { Component } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport RichiesteResponsabileAmministrazione from \"../ar-responsabile-amministrazione/richieste-responsabile-amministrazione/RichiesteResponsabileAmministrazione\";\r\nimport ProfiloPersonaleRespAmm from \"../ar-responsabile-amministrazione/profilo-personale-resp-amm/ProfiloPersonaleRespAmm\";\r\nimport DettagliRichiestaAdesioneRespServ from \"./dettagli-richiesta-adesione-resp-serv/DettagliRichiestaAdesioneRespServ\";\r\nimport { DecodificheContext, AuthContext } from \"../../../contexts\";\r\nimport RichiesteAnnullateSwitch from \"./richieste-annullate-resp-serv/RichiesteAnnullateSwitch\"\r\nimport RichiesteRespinteSwitch from \"./richieste-respinte-resp-serv/RichiesteRespinteSwitch\";\r\nimport GestioneAccordoAttivoSwitch from \"./gestione-accordo-attivo/GestioneAccordoAttivoSwitch\";\r\nimport AccordiRevocati from \"./accordi-revocati-resp-serv/AccordiRevocatiSwitch\";\r\nimport { GestioneCasiUsoSwitch, GestioneIpSwitch } from \"../common\";\r\nimport ImpostazioniAccordo from \"../common/impostazioni-accordo/ImpostazioniAccordo\";\r\nimport { connect } from \"react-redux\";\r\nimport CambioPassword from \"../common/cambio-password/CambioPassword\";\r\n\r\nclass RespServSwitchComponents extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n {({ authentication: { utente } }) => (\r\n \r\n )}\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n )}\r\n />\r\n \r\n (\r\n { get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente }\r\n ))(\r\n ({ get_accordi_by_id_ente }) => {\r\n if (get_accordi_by_id_ente.id_accordo_attivo) {\r\n return (\r\n \r\n )\r\n } else return null;\r\n }\r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RespServSwitchComponents;\r\n","import React, {Component} from \"react\";\r\nimport MenuNavigazione from \"../../../layout/menu-navigazione\";\r\nimport {vociMenuResponsabileServizio} from \"../../../../constants/voci_menu_navigazione\";\r\nimport {getAccordiByIdEnte} from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport {connect} from \"react-redux\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nclass SidebarResponsabileServizio extends Component {\r\n\r\n componentDidMount() {\r\n const utente = JSON.parse(localStorage.getItem(\"utente\"));\r\n if (!this.props.get_accordi_by_id_ente.accordi_by_id_ente &&\r\n !this.props.get_accordi_by_id_ente.isLoading\r\n && !!utente \r\n && !isNullOrUndefined(utente.idente)\r\n ) {\r\n this.props.getAccordiByIdEnte(utente.idente, this.props.decodifiche.stati_accordo.stati_accordo);\r\n }\r\n };\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordiByIdEnte: (idEnte, stati_accordo) =>\r\n dispatch(getAccordiByIdEnte(idEnte, stati_accordo)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SidebarResponsabileServizio);\r\n","import React, { Component } from \"react\";\r\nimport RespServSwitchComponents from \"./RespServSwitchComponents\";\r\nimport SidebarResponsabileServizio from \"./sidebar-responsabile-servizio/SidebarResponsabileServizio\";\r\nimport { DecodificheContext } from \"../../../contexts\";\r\nimport { connect } from \"react-redux\";\r\nimport { SidebarContentLayout } from \"../../layout\";\r\n\r\nclass RespServContainer extends Component {\r\n state = {};\r\n\r\n render() {\r\n const { get_accordo_attivo_data, get_accordi_by_id_ente } = this.props;\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n get_accordo_attivo_data: state.gestione_accordi.get_accordo_attivo_data,\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n null\r\n)(RespServContainer);\r\n","import React from \"react\";\r\nimport Icon from \"../../../../ui/icon\";\r\nimport {getNomeDecodificaById} from \"../../../../common/decodifiche\";\r\n\r\nexport const tableHeaders = [\r\n {\r\n value: 'Cognome',\r\n classes: 'text-left custom-medium-table',\r\n },\r\n {\r\n value: 'Nome',\r\n classes: 'text-left custom-medium-table',\r\n },\r\n {\r\n value: 'Tipo',\r\n classes: 'text-left custom-medium-table',\r\n },\r\n {\r\n value: 'Stato',\r\n classes: 'text-center custom-small-table',\r\n },\r\n {\r\n value: 'Azioni',\r\n srOnly: true,\r\n classes: 'text-right custom-small-table',\r\n },\r\n];\r\n\r\n// function convertTipo(idtipo) {\r\n// if (idtipo)\r\n// switch (idtipo.toString()) {\r\n// case \"1\":\r\n// return \"WSDL\";\r\n// default:\r\n// return \"unknown\";\r\n// }\r\n// };\r\n\r\n// function convertMotivo(idmotivogenerazione) {\r\n// if (idmotivogenerazione)\r\n// switch (idmotivogenerazione.toString()) {\r\n// case \"1\":\r\n// return \"NUOVO ACCORDO DI FRUIZIONE\";\r\n// case \"2\":\r\n// return \"MODIFICA DEI CASI D'USO ASSOCIATI\";\r\n// case \"3\":\r\n// return \"RIGENERAZIONE INTERFACCE CORROTTE\";\r\n// default:\r\n// return \"unknown\";\r\n// }\r\n// };\r\n\r\nfunction convertStato(idstato) {\r\n switch (idstato) {\r\n case 0:\r\n return \r\n case 1:\r\n return \r\n case 2:\r\n return \r\n case 3:\r\n return \r\n case 4:\r\n return \r\n default:\r\n return \r\n }\r\n}\r\n\r\nexport const getTableRows = (data, setState, decodifiche) => {\r\n\r\n if (data && data.length > 0) {\r\n return data.map((el, index) => {\r\n return {\r\n id: 'row-' + (index + 1),\r\n cells: [\r\n {\r\n tag: '',\r\n value: el.cognome || 'n.d.',\r\n datath: 'Cognome',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: el.nome || 'n.d.',\r\n datath: 'Nome',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: getNomeDecodificaById(el.idtipo, decodifiche) || 'n.d.',\r\n datath: 'Tipo',\r\n classes: 'text-left'\r\n },\r\n {\r\n tag: '',\r\n value: convertStato(el.idstato) || 'n.d.',\r\n datath: 'Stato',\r\n classes: 'text-center'\r\n },\r\n {\r\n tag: '',\r\n value: '',\r\n datath: 'Azioni',\r\n classes: 'text-right',\r\n actions: [\r\n {\r\n onClick: () => setState({\r\n displayInfo: \"view-user\",\r\n userToView: el /*data*/\r\n }),\r\n value: 'Vai al dettaglio',\r\n icon: 'search'\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n })\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\n\r\n\r\n","import React, { Component, Fragment } from \"react\";\r\nimport axios from \"axios\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport * as Yup from \"yup\";\r\nimport Card from '../../../ui/card';\r\nimport moment from \"moment\";\r\n\r\nimport {\r\n getIdDecodificaByVariabile,\r\n getNomeDecodificaById\r\n} from \"../../../common/decodifiche\";\r\n\r\nimport { DefaultLoading } from \"../../../common/handleErrorsAndLoading\";\r\nimport ModalComponent from \"../../../common/modal/ModalComponent\";\r\nimport { getTableRows, tableHeaders } from \"../../common/tabella-utenti/utils/tableData\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\nimport FormDatiUtente from \"../../common/form-dati-utente/FormDatiUtente\";\r\nimport Select from \"../../../ui/select\";\r\nimport Form from \"../../../formik\";\r\nimport IconButton from \"../../../ui/icon-button\";\r\nimport { appMessagesConfig } from \"../../../../redux/actions/area-riservata/utils-actions\";\r\nimport { STRINGS } from \"../../../../constants/strings\";\r\nimport DateUtils from \"../../../../utils/DateUtils\";\r\n\r\nclass GestioneUtentiRespAmm extends Component {\r\n state = {\r\n displayInfo: \"all-users\",\r\n tableRows: [],\r\n users: [],\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n this.getUsers();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.users !== prevState.users) {\r\n if (this.state.users) {\r\n this.setState({\r\n tableRows: getTableRows(\r\n this.state.users,\r\n this.setParentState,\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n ).slice(0, 10)\r\n })\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n shouldComponentUpdate() {\r\n const focusedTag = document.activeElement.tagName.toLowerCase();\r\n return ['input', 'textarea'].indexOf(focusedTag) < 0;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n handleCodiceFiscaleChange = (value, error) => {\r\n this.setState({\r\n prevCodiceFiscale: value,\r\n prevErrorCodiceFiscale: error\r\n });\r\n };\r\n\r\n getUsers = () => {\r\n if (!this.state.gettingUsers) {\r\n this.setState({\r\n gettingUsers: true\r\n });\r\n let idEnte = this.props.authentication.utente && this.props.authentication.utente.idente;\r\n axios\r\n .get(`/anpr-portale-enti-be-web/jaxrs/afutente/load/idente/${idEnte}`)\r\n .then(response => {\r\n let users = response.data;\r\n let currentUserId = this.props.authentication.utente.id;\r\n let activeUserStatus = getIdDecodificaByVariabile(\r\n \"ATTIVO\",\r\n this.props.decodifiche_stato_utente.stati_utente\r\n );\r\n let suspendedUserStatus = getIdDecodificaByVariabile(\r\n \"NON_ATTIVO\",\r\n this.props.decodifiche_stato_utente.stati_utente\r\n );\r\n let inseritoUserStatus = getIdDecodificaByVariabile(\r\n \"INSERITO\",\r\n this.props.decodifiche_stato_utente.stati_utente\r\n );\r\n let tipoUser1 = getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DELL'AMMINISTRAZIONE\",\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n );\r\n let tipoUser2 = getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DEL_SERVIZIO\",\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n );\r\n if (users) {\r\n if (users instanceof Array) {\r\n if (users.length > 0) {\r\n users = users.filter(user => {\r\n return (\r\n user.id + \"\" !== currentUserId + \"\" &&\r\n (user.idstato + \"\" === activeUserStatus + \"\" ||\r\n user.idstato + \"\" === suspendedUserStatus + \"\" ||\r\n user.idstato + \"\" === inseritoUserStatus + \"\") &&\r\n (user.idtipo + \"\" === tipoUser1 + \"\" ||\r\n user.idtipo + \"\" === tipoUser2 + \"\")\r\n );\r\n });\r\n }\r\n }\r\n }\r\n let noUsersFound = users.length <= 0;\r\n\r\n if (this._isMounted) {\r\n this.setState({\r\n gettingUsers: false,\r\n errorGettingUsers: \"\",\r\n users: users,\r\n noUsersFound: noUsersFound\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n if (this._isMounted) {\r\n this.setState({\r\n gettingUsers: false,\r\n errorGettingUsers: error\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n tipiUtente = [\r\n {\r\n value: getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DELL'AMMINISTRAZIONE\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n label: getNomeDecodificaById(\r\n getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DELL'AMMINISTRAZIONE\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n )\r\n },\r\n {\r\n value: getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DEL_SERVIZIO\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n label: getNomeDecodificaById(\r\n getIdDecodificaByVariabile(\r\n \"RESPONSABILE_DEL_SERVIZIO\",\r\n this.props.decodifiche_tipi_utente\r\n .tipi_utente\r\n ),\r\n this.props.decodifiche_tipi_utente.tipi_utente\r\n )\r\n },\r\n ];\r\n\r\n displaySetEmailValueToState = value => {\r\n this.setState({\r\n email: value\r\n });\r\n };\r\n\r\n aggiungiNuovoUtente = data => {\r\n if (!this.state.aggiungiNuovoUtente) {\r\n this.setState({\r\n aggiungiNuovoUtente: true\r\n });\r\n if (data.telefono === \"\") {\r\n data.telefono = null;\r\n }\r\n axios\r\n .post(`/anpr-portale-enti-be-web/jaxrs/afutente`, data)\r\n .then(response => {\r\n this.props.displayMessage({ name: \"Utente\", prep: \"dell'\", action: \"INSERT\", type: \"success\" });\r\n this.setState({\r\n aggiungiNuovoUtente: false,\r\n errorAggiungiNuovoUtente: \"\",\r\n users: [...this.state.users, response.data],\r\n displayInfo: \"view-user\",\r\n utenteAggiunto: data.email,\r\n userToView: response.data\r\n });\r\n this.getUsers();\r\n })\r\n .catch(error => {\r\n this.props.displayMessage({ name: \"Utente\", prep: \"dell'\", action: \"INSERT\", type: \"danger\", error });\r\n this.setState({\r\n aggiungiNuovoUtente: false,\r\n errorAggiungiNuovoUtente: error\r\n //displayInfo: \"all-users\"\r\n });\r\n });\r\n }\r\n };\r\n\r\n displayAddUser = () => {\r\n const utente_form_init = {\r\n codicefiscale: \"\",\r\n nome: \"\",\r\n cognome: \"\",\r\n datanascita: undefined,\r\n telefono: \"\",\r\n email: \"\",\r\n tipoemail: \"\",\r\n idtipo: \"\"\r\n };\r\n\r\n const AddUtenteValidationSchema = Yup.object().shape({\r\n nome: Yup.string()\r\n .min(2, \"Il Nome deve avere al meno 2 caratteri\")\r\n .max(50, \"Il Nome non puo avere piu di 50 caratteri\")\r\n .required(\"Nome: campo obbligatorio.\"),\r\n cognome: Yup.string()\r\n .min(2, \"Il Cognome deve avere al meno 2 caratteri\")\r\n .max(50, \"Il Cognome non puo avere piu di 50 caratteri\")\r\n .required(\"Cognome: campo obbligatorio.\"),\r\n codicefiscale: Yup.string()\r\n .required(\"Codice fiscale: campo obbligatorio.\"),\r\n datanascita: Yup.date()\r\n .typeError('Data di nascita: formato data non valido.')\r\n .max(DateUtils.getEndOfYesterday(), \"Data di nascita: deve essere una data passata.\")\r\n .required(\"Data di nascita: campo obbligatorio.\"),\r\n telefono: Yup.string()\r\n //.required(\"Richiesto\")\r\n .test(\"telefono\", \"Numero telefonico non valido\", value => {\r\n if (!value) {\r\n return true;\r\n }\r\n return /^[+]*[0-9]{1,4}[-\\s./0-9]*$/.test(value);\r\n })\r\n .nullable(),\r\n email: Yup.string()\r\n .matches(/\\S+@\\S+\\.\\S+/, \"Indirizzo email: non valido\")\r\n .email(\"Indirizzo email: non valido\")\r\n .test(\"email\", \"email add to state\", value => {\r\n this.displaySetEmailValueToState(value);\r\n return true;\r\n })\r\n .required(\"Indirizzo email: campo obbligatorio.\"),\r\n tipoemail: Yup.string()\r\n .required(\"Tipo email: campo obbligatorio.\"),\r\n idtipo: Yup.string()\r\n .required(\"Tipologia utente: campo obbligatorio.\")\r\n })\r\n .test(\"codicefiscale\", \"Codice fiscale: non valido.\", async function (schema) {\r\n const { createError } = this;\r\n const { codicefiscale, nome, cognome, datanascita } = schema;\r\n if (!!codicefiscale && codicefiscale.length === 16\r\n && !!nome\r\n && !!cognome\r\n && !!datanascita) {\r\n let response = await axios.post(`/anpr-portale-enti-be-web/jaxrs/afutente/check`,\r\n {\r\n codicefiscale,\r\n nome,\r\n cognome,\r\n datanascita\r\n }\r\n ).catch(err => {\r\n let msg = err.response ? err.response.data.message : \"Non è stato possibile verificare il codice fiscale, premere CONTINUA per riprovare.\";\r\n return createError({ path: 'codicefiscale', message: msg })\r\n });\r\n\r\n if (response) {\r\n if (response.status === 200) {\r\n return;\r\n }\r\n else return createError({ path: 'codicefiscale', message: response.message || \"Non è stato possibile verificare il codice fiscale, premere CONTINUA per riprovare.\" });\r\n }\r\n }\r\n });\r\n\r\n return (\r\n \r\n

    Nuovo utente

    \r\n {this.displayGoBackButton(\"all-users\")}\r\n \r\n
    \r\n {\r\n let updatedDate = new Date(values.datanascita);\r\n let updatedDay =\r\n updatedDate.getDate() < 9\r\n ? \"0\" + updatedDate.getDate()\r\n : updatedDate.getDate();\r\n let updatedMonth =\r\n updatedDate.getMonth() + 1 < 9\r\n ? \"0\" + (updatedDate.getMonth() + 1)\r\n : updatedDate.getMonth() + 1;\r\n let updatedDataNascita =\r\n updatedDate.getFullYear() +\r\n \"-\" +\r\n updatedMonth +\r\n \"-\" +\r\n updatedDay;\r\n\r\n this.aggiungiNuovoUtente({\r\n codicefiscale: values.codicefiscale,\r\n nome: values.nome,\r\n cognome: values.cognome,\r\n datanascita: updatedDataNascita,\r\n telefono: values.telefono,\r\n email: values.email,\r\n tipoemail: values.tipoemail,\r\n idtipo: values.idtipo\r\n });\r\n\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({\r\n isSubmitting,\r\n setFieldValue,\r\n values,\r\n errors,\r\n handleBlur,\r\n touched,\r\n errorMessage\r\n }) => (\r\n <>\r\n el.value === values.idtipo) : undefined}\r\n optionlist={this.tipiUtente}\r\n getValue={value => setFieldValue('idtipo', value ? value.value : '')}\r\n error={errors['idtipo'] && touched['idtipo'] ? errors['idtipo'] : null}\r\n />\r\n\r\n \r\n {errorMessage}\r\n \r\n \r\n Salva\r\n \r\n \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n displayGoBackButton = (view) => {\r\n const label = {\r\n default: \"Torna indietro\",\r\n \"all-users\": \"Torna a Gestione utenti\",\r\n \"view-user\": \"Torna a Dettagli utente\"\r\n };\r\n return (\r\n
    \r\n {\r\n this.setState({ displayInfo: view });\r\n this.props.displayMessage({ name: \"\", prep: \"\", action: \"\", type: \"\" });\r\n }}\r\n >\r\n \r\n {label[view] ?? label.default}\r\n \r\n
    \r\n );\r\n }\r\n\r\n cancellaUtente = () => {\r\n if (!this.state.aggiornandoUtente && !this.state.cancellandoUtente) {\r\n if (this.state.userToView) {\r\n const newUtente = this.state.userToView;\r\n this.setState({ cancellandoUtente: true });\r\n axios\r\n .post(`/anpr-portale-enti-be-web/jaxrs/afutente/${newUtente.id}/elimina`)\r\n .then(() => {\r\n this.props.displayMessage({ name: \"Utente\", prep: \"dell'\", action: \"DELETE\", type: \"success\" });\r\n this.setState({\r\n cancellandoUtente: false,\r\n errorCancellaUtente: \"\",\r\n utenteCancellato: true,\r\n displayInfo: \"all-users\"\r\n });\r\n this.getUsers();\r\n })\r\n .catch(error => {\r\n this.props.displayMessage({ name: \"Utente\", prep: \"dell'\", action: \"DELETE\", type: \"danger\", error });\r\n this.setState({\r\n cancellandoUtente: false,\r\n errorCancellaUtente: error,\r\n displayInfo: \"all-users\"\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n displayViewUser = () => {\r\n let utente = this.state.userToView;\r\n return (\r\n \r\n
    \r\n

    Dettagli utente

    \r\n
    \r\n {this.displayGoBackButton(\"all-users\")}\r\n \r\n
    \r\n
    \r\n
    \r\n

    Tipo:

    \r\n

    \r\n {getNomeDecodificaById(utente.idtipo, this.props.decodifiche_tipi_utente.tipi_utente)}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Stato:

    \r\n

    \r\n {getNomeDecodificaById(utente.idstato, this.props.decodifiche_stato_utente.stati_utente)}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Codice fiscale:

    \r\n

    {utente.codicefiscale}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Data di nascita:

    \r\n

    {moment(new Date(utente.datanascita)).format('DD/MM/YYYY')}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Telefono:

    \r\n

    {utente.telefono || STRINGS.NO_VALUE}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {(utente.tipoemail === 1) || (utente.tipoemail === \"1\") ? 'PEC' : 'PEL'}:\r\n

    \r\n

    {utente.email}

    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n this.setState({ displayInfo: \"update-profile\" })\r\n }\r\n >\r\n \r\n Modifica\r\n \r\n  \r\n cancellaUtente()}\r\n data-toggle=\"modal\"\r\n data-target=\"#modal-delete\"\r\n >\r\n \r\n Elimina\r\n \r\n {utente &&\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n displayUpdateUtente = () => {\r\n const utente = this.state.userToView;\r\n\r\n const utente_form_init = {\r\n nome: utente.nome || \"\",\r\n cognome: utente.cognome || \"\",\r\n codicefiscale: utente.codicefiscale || \"\",\r\n datanascita: utente.datanascita ? moment(utente.datanascita).toDate() : \"\",\r\n telefono: utente.telefono || \"\",\r\n email: utente.email || \"\",\r\n tipoemail: utente.tipoemail || \"\",\r\n idtipo: utente.idtipo || \"\"\r\n };\r\n\r\n let validationSchema = Yup.object().shape({\r\n telefono: Yup.string()\r\n .test(\"telefono\", \"Numero telefonico non valido\", value => {\r\n if (!value) {\r\n return true;\r\n }\r\n return /^[+]*[0-9]{1,4}[-\\s./0-9]*$/.test(value);\r\n })\r\n .nullable(),\r\n email: Yup.string()\r\n .matches(/\\S+@\\S+\\.\\S+/, \"Indirizzo email: non valido\")\r\n .email(\"Indirizzo email: non valido\")\r\n .test(\"email\", \"email add to state\", value => {\r\n this.displaySetEmailValueToState(value);\r\n return true;\r\n })\r\n .required(\"Indirizzo email: campo obbligatorio.\"),\r\n tipoemail: Yup.string()\r\n .required(\"Tipo email: campo obbligatorio.\"),\r\n idtipo: Yup.string()\r\n .required(\"Tipologia utente: campo obbligatorio.\")\r\n });\r\n\r\n return (\r\n \r\n

    Modifica utente

    \r\n {this.displayGoBackButton(\"view-user\")}\r\n \r\n
    \r\n {\r\n\r\n this.modifyProfileInfo({\r\n telefono: values.telefono,\r\n email: values.email,\r\n tipoemail: values.tipoemail,\r\n idtipo: values.idtipo\r\n });\r\n\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({\r\n isSubmitting,\r\n setFieldValue,\r\n values,\r\n errors,\r\n handleBlur,\r\n touched,\r\n errorMessage\r\n }) => (\r\n
    \r\n el.value === values.idtipo) : undefined}\r\n optionlist={this.tipiUtente}\r\n getValue={value => setFieldValue('idtipo', value ? value.value : '')}\r\n error={errors['idtipo'] && touched['idtipo'] ? errors['idtipo'] : null}\r\n />\r\n\r\n \r\n\r\n {errorMessage}\r\n \r\n \r\n Salva\r\n \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n modifyProfileInfo = data => {\r\n if (!this.state.aggiornandoUtente && !this.state.cancellandoUtente) {\r\n if (this.state.userToView) {\r\n let newUtente = this.state.userToView;\r\n data.codicefiscale = newUtente.codicefiscale;\r\n data.nome = newUtente.nome;\r\n data.cognome = newUtente.cognome;\r\n if (data.telefono === \"\") {\r\n data.telefono = null;\r\n }\r\n this.setState({ aggiornandoUtente: true });\r\n axios\r\n .put(\r\n `/anpr-portale-enti-be-web/jaxrs/afutente/${newUtente.id}`,\r\n data\r\n )\r\n .then((response) => {\r\n this.props.displayMessage({ name: \"Utente\", prep: \"dell'\", action: \"UPDATE\", type: \"success\" });\r\n this.setState({\r\n aggiornandoUtente: false,\r\n errorAggiornaUtente: \"\",\r\n utenteModificato: true,\r\n displayInfo: \"view-user\",\r\n userToView: response.data\r\n });\r\n this.getUsers();\r\n })\r\n .catch(error => {\r\n this.props.displayMessage({ name: \"Utente\", prep: \"dell'\", action: \"INSERT\", type: \"danger\", error });\r\n this.setState({\r\n aggiornandoUtente: false,\r\n errorAggiornaUtente: error\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n displayAllUsers = () => {\r\n const { users } = this.state; \r\n const items = getTableRows(users, this.setParentState, this.props.decodifiche_tipi_utente.tipi_utente); \r\n return (\r\n \r\n

    Gestione utenti

    \r\n {\r\n (!(this.state.cancellandoUtente || this.state.gettingUsers)) &&\r\n
    \r\n
    \r\n {\r\n e.preventDefault();\r\n this.setState({ displayInfo: \"add-user\" })\r\n }}\r\n extraClasses=\"mb-3\"\r\n buttonClass=\"default\"\r\n />\r\n
    \r\n
    \r\n }\r\n\r\n {\r\n this.state.gettingUsers &&\r\n \r\n }\r\n\r\n {\r\n this.state.cancellandoUtente &&\r\n \r\n }\r\n\r\n {\r\n !(this.state.cancellandoUtente || this.state.gettingUsers) &&\r\n \r\n \r\n {\r\n this.setState({ tableRows: items.slice(firstItem, lastItem + 1) })\r\n }}\r\n />\r\n \r\n }\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n let content;\r\n switch (this.state.displayInfo) {\r\n case \"all-users\":\r\n content = this.displayAllUsers();\r\n break;\r\n case \"view-user\":\r\n content = this.displayViewUser();\r\n break;\r\n case \"add-user\":\r\n content = this.displayAddUser();\r\n break;\r\n case \"update-profile\":\r\n content = this.displayUpdateUtente();\r\n break;\r\n default:\r\n content = null;\r\n }\r\n \r\n return content;\r\n }\r\n}\r\n\r\nGestioneUtentiRespAmm.propTypes = {\r\n authentication: PropTypes.object.isRequired,\r\n decodifiche_tipi_utente: PropTypes.object.isRequired,\r\n decodifiche_stato_utente: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n authentication: state.authentication,\r\n decodifiche_tipi_utente: state.decodifiche.tipi_utente,\r\n decodifiche_stato_utente: state.decodifiche.stati_utente\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n displayMessage: (msgConfig) => dispatch(appMessagesConfig(msgConfig))\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(GestioneUtentiRespAmm);\r\n","import React, { Component, createRef, Fragment } from \"react\";\r\nimport { getCasiUsoByIdAccordo, updateCasiUsoByIdAccordo } from \"../../../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { connect } from \"react-redux\";\r\nimport { getCasiUsoTableRows } from \"../../../../common/tabella-casi-uso-associati/utils/tableData\";\r\nimport { TabellaCasiUsoAssociatiOriginal } from \"../../../../common\";\r\nimport { DefaultLoading } from \"../../../../../common/handleErrorsAndLoading\";\r\n\r\nclass CasiUsoAccordoAttivo extends Component {\r\n state = {};\r\n\r\n /** Definisco un array di refs\r\n * per poter facilmente accedere ai campi modificabili\r\n * all'interno della table */\r\n rowInputsRefs = createRef([]);\r\n\r\n handleTextAreaOnChange = (index, value) => {\r\n if (this.state.submitted) {\r\n if (!!value.length) {\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].classList.remove(\"is-invalid\");\r\n if (!Object.keys(this.rowInputsRefs.current).find(\r\n (el, i) => this.rowInputsRefs.current[el]['associato'].checked\r\n && (!this.rowInputsRefs.current[el]['finalitaTrattamento'].value\r\n || !this.rowInputsRefs.current[el]['finalitaTrattamento'].value.length))) {\r\n this.setState({ errorMessage: undefined });\r\n }\r\n } else {\r\n this.setState({ errorMessage: `Descrizione: campo obbligatorio.` });\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].classList.add(\"is-invalid\");\r\n }\r\n }\r\n };\r\n\r\n /** Gestisce e cambia il valore del checked degli switch all'interno della tabella */\r\n associaCasoUso = (index) => {\r\n\r\n /** Inverto il checked */\r\n this.rowInputsRefs.current[index]['associato'].checked = !this.rowInputsRefs.current[index]['associato'].checked;\r\n\r\n /** Gestisco attivazione */\r\n if (this.rowInputsRefs.current[index]['associato'].checked) {\r\n /** Attivo la finalità trattamento */\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].disabled = false;\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].value = this.props.get_casi_uso_by_id_accordo.casi_uso_by_id_accordo[index].finalitaTrattamento;\r\n /** Se il campo è vuoto, segnalo l'obbligatorietà, altrimenti la rimuovo */\r\n } else {\r\n /** Gestisco la disattivazione\r\n * Disabilito la finalità trattamento\r\n */\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].disabled = true;\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].classList.remove(\"is-invalid\");\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].value = '';\r\n }\r\n if (this.state.submitted\r\n && (Object.keys(this.rowInputsRefs.current).some(\r\n (el, i) => this.rowInputsRefs.current[el]['associato'].checked\r\n && (!this.rowInputsRefs.current[el]['finalitaTrattamento'].value\r\n || !this.rowInputsRefs.current[el]['finalitaTrattamento'].value.length)\r\n ))\r\n ) {\r\n this.setState({ errorMessage: `Descrizione: campo obbligatorio.` });\r\n } else {\r\n this.setState({ errorMessage: undefined });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n let idAccordo = this.props.utente && this.props.utente.idaccordo;\r\n if (idAccordo && !this.props.isLoading) {\r\n this.props.getCasiUsoByIdAccordo(idAccordo);\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.get_casi_uso_by_id_accordo.casi_uso_by_id_accordo && (\r\n prevProps.get_casi_uso_by_id_accordo !==\r\n this.props.get_casi_uso_by_id_accordo)) {\r\n // console.log(this.props.get_casi_uso_by_id_accordo.casi_uso_by_id_accordo)\r\n let tableRows = getCasiUsoTableRows(\r\n this.props.get_casi_uso_by_id_accordo.casi_uso_by_id_accordo,\r\n {\r\n associaCasoUso: this.associaCasoUso,\r\n handleTextAreaOnChange: this.handleTextAreaOnChange,\r\n setModalOpen: (modalId, id) => this.setState({\r\n modalData: {\r\n modalId: modalId,\r\n casoId: id\r\n }\r\n }),\r\n },\r\n true,\r\n this.props.match.params.utenza\r\n );\r\n this.setState({\r\n casiUso: this.props.get_casi_uso_by_id_accordo.casi_uso_by_id_accordo,\r\n tableRows: tableRows,\r\n })\r\n }\r\n };\r\n\r\n render() {\r\n const { casiUso, tableRows, modalData } = this.state;\r\n const { updateCasiUsoByIdAccordo } = this.props;\r\n\r\n const saveChanges = () => {\r\n this.setState({ 'submitted': true });\r\n let idAccordo = this.props.utente && this.props.utente.idaccordo;\r\n const getChangesArray = () => {\r\n let casiToUpdate = [];\r\n let casiErrors = [];\r\n casiUso.forEach((el, index) => {\r\n if (\r\n (el.associato !== this.rowInputsRefs.current[index]['associato'].checked)\r\n || (\r\n (el.finalitaTrattamento === null\r\n && this.rowInputsRefs.current[index]['finalitaTrattamento'].value !== '')\r\n || (el.finalitaTrattamento !== null\r\n && el.finalitaTrattamento !== this.rowInputsRefs.current[index]['finalitaTrattamento'].value))\r\n ) {\r\n if (!this.rowInputsRefs.current[index]['finalitaTrattamento'].value.length\r\n && this.rowInputsRefs.current[index]['associato'].checked) {\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].classList.add(\"is-invalid\");\r\n casiErrors.push(el);\r\n } else {\r\n casiToUpdate.push({\r\n idCasoduso: el.idCasoduso,\r\n idAssociazioneAccordo: el.idAssociazioneAccordo,\r\n finalitaTrattamento: this.rowInputsRefs.current[index]['finalitaTrattamento'].value,\r\n associato: this.rowInputsRefs.current[index]['associato'].checked\r\n });\r\n if (!this.rowInputsRefs.current[index]['associato'].checked) {\r\n this.rowInputsRefs.current[index]['finalitaTrattamento'].value = '';\r\n }\r\n }\r\n }\r\n });\r\n return { casiToUpdate, casiErrors };\r\n };\r\n\r\n let changes = getChangesArray();\r\n const { casiToUpdate, casiErrors } = changes;\r\n if (casiErrors.length) {\r\n this.setState({ errorMessage: `Descrizione: campo obbligatorio.` });\r\n } else if (casiToUpdate.length) {\r\n updateCasiUsoByIdAccordo(\r\n idAccordo,\r\n {\r\n associazioni: casiToUpdate\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n

    Casi d'uso

    \r\n
    \r\n
    \r\n {\r\n !this.props.isLoading\r\n && tableRows\r\n &&\r\n this.setState({\r\n modalData: {\r\n ...modalData,\r\n modalId: undefined\r\n }\r\n })}\r\n modalData={modalData}\r\n tableRows={tableRows}\r\n casiUso={casiUso}\r\n ref={this.rowInputsRefs}\r\n saveChanges={saveChanges}\r\n noContent={this.props.get_casi_uso_by_id_accordo.noContent}\r\n utenza={this.props.match.params.utenza}\r\n errorMessage={this.state.errorMessage}\r\n />\r\n }\r\n {\r\n (this.props.get_casi_uso_by_id_accordo.pristine || this.props.get_casi_uso_by_id_accordo.isLoading) &&\r\n \r\n }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n get_accordo_attivo_data: state.gestione_accordi.get_accordo_attivo_data,\r\n get_casi_uso_by_id_accordo: state.gestione_accordi.get_casi_uso_by_id_accordo,\r\n isLoading: state.gestione_accordi.get_casi_uso_by_id_accordo.isLoading,\r\n update_casi_uso_by_id_accordo: state.gestione_accordi.update_casi_uso_by_id_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCasiUsoByIdAccordo: (idAccordoAttivo, updated) => dispatch(getCasiUsoByIdAccordo(idAccordoAttivo, updated)),\r\n updateCasiUsoByIdAccordo: (idAccordo, bodyRequest) => dispatch(updateCasiUsoByIdAccordo(idAccordo, bodyRequest)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CasiUsoAccordoAttivo);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { Switch, Route, Redirect } from \"react-router-dom\";\r\nimport InterfacceRespAmm from \"../interfacce-ws-resp-amm/InterfacceRespAmm\";\r\nimport { DecodificheContext } from \"../../../../contexts\";\r\nimport { CasiUsoAccordoAttivo } from \"./_partials\";\r\nimport { connect } from \"react-redux\";\r\nimport DettagliAccordoAttivo from \"../../common/dettagli-accordo-attivo/DettagliAccordoAttivo\";\r\nimport ImpostazioniAccordo from \"../../common/impostazioni-accordo/ImpostazioniAccordo\";\r\nimport RevocaAccordoRespAmm from \"../revoca-accordo-resp-amm/RevocaAccordoRespAmm\";\r\n\r\nclass GestioneAccordoAttivoSwitch extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {context => (\r\n \r\n (\r\n { get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente }\r\n ))(\r\n ({ get_accordi_by_id_ente }) => {\r\n if (get_accordi_by_id_ente.id_accordo_attivo) {\r\n return (\r\n \r\n )\r\n } else return null;\r\n }\r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n {/* */}\r\n \r\n\r\n \r\n }\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GestioneAccordoAttivoSwitch;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport { getAccordoById } from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { DettagliAccordo } from \"../../common\";\r\n\r\nclass DettagliRichiestaAdesioneRespAmm extends Component {\r\n\r\n state = {};\r\n\r\n componentDidMount() {\r\n\r\n const { match: { params } } = this.props;\r\n this.props.getAccordoById(params.accordo);\r\n\r\n }\r\n\r\n render() {\r\n\r\n const accordo = this.props.get_accordo_by_id.accordo;\r\n\r\n return (\r\n \r\n
    \r\n

    Dettagli

    \r\n
    \r\n
    \r\n {accordo &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDettagliRichiestaAdesioneRespAmm.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordo_by_id: state.gestione_accordi.get_accordo_by_id,\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordoById: (idAccordo) =>\r\n dispatch(getAccordoById(idAccordo)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(DettagliRichiestaAdesioneRespAmm);\r\n","import React, {Component} from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport Table from \"../../../ui/table\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport Pagination from \"../../../ui/pagination\";\r\nimport { STATO_ACCORDO } from \"../../../../constants/stati-accordo\";\r\n\r\nclass AccordiRevocatiRespAmm extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n tableRows: [],\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (JSON.stringify(this.state.accordi) !== JSON.stringify(prevState.accordi)) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(this.getAccordiRevocati(this.state.accordi).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState({\r\n ...obj\r\n }, callback());\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n filterAccordiByStati = (accordi, stati) => {\r\n return accordi && stati ? accordi.filter(item => stati.includes(item.idstato)) : accordi;\r\n }\r\n\r\n getAccordiRevocati = (accordi) => {\r\n return this.filterAccordiByStati(this.state.accordi, [STATO_ACCORDO.REVOCATO_DA_MINISTERO, STATO_ACCORDO.REVOCATO_DA_PA_GESTORE]);\r\n }\r\n\r\n render() {\r\n const filteredAccordi = this.getAccordiRevocati(this.state.accordi);\r\n\r\n return (\r\n \r\n \r\n

    Accordi revocati

    \r\n \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nAccordiRevocatiRespAmm.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AccordiRevocatiRespAmm);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport AccordiRevocatiRespAmm from './AccordiRevocatiRespAmm';\r\n\r\nconst AccordiRevocatiSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AccordiRevocatiSwitch;","import React, {Component} from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport Table from \"../../../ui/table\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport Pagination from \"../../../ui/pagination\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\n\r\nclass RichiesteConcluseRespAmm extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows: []\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_ANNULLATA'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n }, callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_ANNULLATA'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste annullate

    \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nRichiesteConcluseRespAmm.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteConcluseRespAmm);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteAnnullateRespAmm from './RichiesteAnnullateRespAmm';\r\n\r\nconst RichiesteAnnullateSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RichiesteAnnullateSwitch;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n DefaultError,\r\n DefaultLoading\r\n} from \"../../../common/handleErrorsAndLoading\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport getAllAccordiPerEnte from \"../../../common/getAllAccordiPerEnte\";\r\nimport {getTableRows, tableHeaders} from \"../../common/tabella-accordi/utils/tableData\";\r\nimport {getAccordi} from \"../../../common/getAccordi\";\r\nimport Table from \"../../../ui/table\";\r\nimport Pagination from \"../../../ui/pagination\";\r\n\r\nclass RichiesteConcluseRespAmm extends Component {\r\n state = {\r\n accordi: [],\r\n error: \"\",\r\n loading: false,\r\n firstLoad: true,\r\n tableRows:[]\r\n };\r\n _isMounted = false;\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n getAllAccordiPerEnte(this.setParentState);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if (this.state.accordi !== prevState.accordi) {\r\n if (this.state.accordi)\r\n this.setState({\r\n tableRows: getTableRows(getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n ).slice(0, 10))\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n setParentState = (obj, callback = false) => {\r\n if (this._isMounted) {\r\n if (callback) {\r\n this.setState(\r\n {\r\n ...obj\r\n },\r\n callback\r\n );\r\n } else {\r\n this.setState({\r\n ...obj\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const filteredAccordi = getAccordi(\r\n this.state.accordi,\r\n this.props.decodifiche_stati_accordo.stati_accordo,\r\n 'RICHIESTA_DI_ACCORDO_RESPINTA_DAL_MINISTERO'\r\n );\r\n\r\n return (\r\n \r\n

    Richieste respinte

    \r\n {\r\n !this.state.loading &&\r\n \r\n }\r\n {\r\n !this.state.loading &&\r\n {\r\n this.setState({tableRows: getTableRows(filteredAccordi).slice(firstItem, lastItem + 1)})\r\n }}\r\n />\r\n }\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nRichiesteConcluseRespAmm.propTypes = {\r\n decodifiche_stati_accordo: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n decodifiche_stati_accordo: state.decodifiche.stati_accordo\r\n});\r\n\r\nconst mapDispatchToProps = () => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RichiesteConcluseRespAmm);\r\n","import React, { Fragment } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { DettagliAccordo } from '../../common';\r\nimport { DecodificheContext } from '../../../../contexts';\r\nimport RichiesteRespinteRespAmm from './RichiesteRespinteRespAmm';\r\n\r\nconst RichiesteRespinteSwitch = () => {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RichiesteRespinteSwitch;","import React, { Component } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport ProfiloPersonaleRespAmm from \"./profilo-personale-resp-amm/ProfiloPersonaleRespAmm\";\r\nimport GestioneUtentiRespAmm from \"./gestione-utenti/GestioneUtentiRespAmm\";\r\nimport GestioneAccordoAttivoSwitch from \"./gestione-accordo-attivo/GestioneAccordoAttivoSwitch\";\r\nimport DettagliRichiestaAdesioneRespAmm from \"./dettagli-richiesta-adesione-resp-amm/DettagliRichiestaAdesioneRespAmm\";\r\nimport { DecodificheContext, AuthContext } from \"../../../contexts\";\r\nimport AccordiRevocatiSwitch from \"./accordi-revocati-resp-amm/AccordiRevocatiSwitch\";\r\nimport RichiesteAnnullateSwitch from \"./richieste-annullate-resp-amm/RichiesteAnnullateSwitch\";\r\nimport RichiesteRespinteSwitch from \"./richieste-respinte-resp-amm/RichiesteRespinteSwitch\";\r\nimport RichiesteResponsabileAmministrazione from \"./richieste-responsabile-amministrazione/RichiesteResponsabileAmministrazione\";\r\nimport { GestioneCasiUsoSwitch, GestioneNormative, GestioneIpSwitch } from \"../common\";\r\nimport { connect } from \"react-redux\";\r\nimport CambioPassword from \"../common/cambio-password/CambioPassword\";\r\n\r\nclass RespAmmSwitchComponents extends Component {\r\n state = {};\r\n\r\n render() {\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n {({ authentication: { utente } }) => (\r\n \r\n )}\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n )}\r\n />\r\n\r\n \r\n \r\n \r\n (\r\n { get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente }\r\n ))(\r\n ({ get_accordi_by_id_ente }) => {\r\n if (get_accordi_by_id_ente.id_accordo_attivo) {\r\n return (\r\n \r\n )\r\n } else return null;\r\n }\r\n )}\r\n />\r\n < Route\r\n path=\"/area-riservata/:utenza/:stato-accordo/dettagli\"\r\n exact\r\n component={props => (\r\n \r\n )}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RespAmmSwitchComponents;\r\n","import React, {Component} from \"react\";\r\nimport MenuNavigazione from \"../../../layout/menu-navigazione\";\r\nimport {vociMenuResponsabileAmministrazione} from \"../../../../constants/voci_menu_navigazione\";\r\nimport {connect} from \"react-redux\";\r\nimport {getAccordiByIdEnte} from \"../../../../redux/actions/area-riservata/accordi-actions\";\r\nimport { isNullOrUndefined } from \"../../../../utils/functions/objects/isNullOrUndefined\";\r\n\r\nclass SidebarResponsabileAmministrazione extends Component {\r\n\r\n componentDidMount() {\r\n const utente = JSON.parse(localStorage.getItem(\"utente\"));\r\n if (!!utente &&\r\n !isNullOrUndefined(utente.idente) &&\r\n !this.props.get_accordi_by_id_ente.accordi_by_id_ente &&\r\n !this.props.get_accordi_by_id_ente.isLoading\r\n ) {\r\n this.props.getAccordiByIdEnte(utente.idente, this.props.decodifiche.stati_accordo.stati_accordo);\r\n }\r\n };\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getAccordiByIdEnte: (idEnte, stati_accordo) =>\r\n dispatch(getAccordiByIdEnte(idEnte, stati_accordo)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SidebarResponsabileAmministrazione);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport RespAmmSwitchComponents from \"./RespAmmSwitchComponents\";\r\nimport SidebarResponsabileAmministrazione from \"./sidebar-responsabile-amministrazione/SidebarResponsabileAmministrazione\";\r\nimport { DecodificheContext } from \"../../../contexts\";\r\nimport { SidebarContentLayout } from \"../../layout\";\r\n\r\nclass RespAmmContainer extends Component {\r\n\r\n render() {\r\n const { get_accordo_attivo_data, get_accordi_by_id_ente } = this.props;\r\n return (\r\n \r\n {({ decodifiche }) => (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n get_accordi_by_id_ente: state.gestione_accordi.get_accordi_by_id_ente,\r\n get_accordo_attivo_data: state.gestione_accordi.get_accordo_attivo_data,\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n null\r\n)(RespAmmContainer);\r\n","import React from \"react\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\n\r\nconst PrivateRoute = ({\r\n component: Component,\r\n authenticated,\r\n ...rest\r\n}) => {\r\n if (authenticated()) {\r\n return } />;\r\n }\r\n return } />;\r\n};\r\n\r\nexport default PrivateRoute;","import React, { Component } from \"react\";\r\nimport { DecodificheContext } from \"../../contexts\";\r\nimport { Switch } from \"react-router-dom\";\r\nimport OperatoreContainer from \"./ar-enti-pa/OperatoreContainer\";\r\nimport GaranteContainer from \"./ar-garante/GaranteContainer\";\r\nimport MinisteroContainer from \"./ar-ministero/MinisteroContainer\";\r\nimport RespServContainer from \"./ar-responsabile-servizio/RespServContainer\";\r\nimport RespAmmContainer from \"./ar-responsabile-amministrazione/RespAmmContainer\";\r\nimport PrivateRoute from \"../common/private-route/PrivateRoute\";\r\nimport { getIdDecodificaByVariabile } from \"../common/decodifiche\";\r\n\r\nclass AreaRiservataComponent extends Component {\r\n \r\n isAuth = (utenza, decodifiche) => {\r\n if (this.props.authentication.utente) {\r\n return this.props.authentication.utente.idtipo ===\r\n getIdDecodificaByVariabile(utenza, decodifiche);\r\n } else return false;\r\n };\r\n \r\n AuthenticationContext = React.createContext({ utente: this.props.authentication.utente });\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {context => (\r\n \r\n this.isAuth('OPERATORE_ACCREDITATO', context.decodifiche.tipi_utente.tipi_utente)}\r\n path=\"/area-riservata/enti\"\r\n component={OperatoreContainer}\r\n />\r\n this.isAuth('UTENTE_DEL_GARANTE', context.decodifiche.tipi_utente.tipi_utente)}\r\n path=\"/area-riservata/garante\"\r\n component={GaranteContainer}\r\n />\r\n this.isAuth('UTENTE_DEL_MINISTERO', context.decodifiche.tipi_utente.tipi_utente)}\r\n path=\"/area-riservata/ministero\"\r\n component={MinisteroContainer}\r\n />\r\n this.isAuth(\"RESPONSABILE_DELL'AMMINISTRAZIONE\", context.decodifiche.tipi_utente.tipi_utente)}\r\n path=\"/area-riservata/responsabile-amministrazione\"\r\n component={props => }\r\n />\r\n this.isAuth('RESPONSABILE_DEL_SERVIZIO', context.decodifiche.tipi_utente.tipi_utente)}\r\n path=\"/area-riservata/responsabile-servizio\"\r\n component={RespServContainer}\r\n />\r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default AreaRiservataComponent;\r\n","import React from \"react\";\r\nimport { IconButton } from \"../../ui\";\r\n\r\nconst SubmitButton = props => {\r\n const { disabled, buttonText, onClick } = props;\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SubmitButton;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n annullaRichiestaAccreditamento,\r\n getPECEnte,\r\n RichiestaAccreditamentoFormGeneraCredenzialiActions\r\n} from \"../../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport Loading from \"../../tree/components/Decorators/Loading\";\r\n//import { randomString } from \"../../tree/util\";\r\n\r\nimport SubmitButton from \"../../common/form/SubmitButton\";\r\nimport { Fieldset } from \"../../ui\";\r\n\r\nclass LinkScaduto extends Component {\r\n state = {\r\n pec: [],\r\n pec_inviato_id: \"\",\r\n pec_inviato: \"\"\r\n };\r\n\r\n render() {\r\n const { error, utente } = this.props;\r\n\r\n const displayErrorRichiestaInviata = () => {\r\n if (this.props.credenzialiGenerati) {\r\n if (this.props.credenzialiGenerati.error) {\r\n if (this.props.credenzialiGenerati.error.response.status) {\r\n return (\r\n
    \r\n {\"Errore \" +\r\n this.props.credenzialiGenerati.error.response.status +\r\n \". \" +\r\n (this.props.credenzialiGenerati.error.response.data.message ||\r\n \"\")}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {this.props.credenzialiGenerati.error.message}\r\n
    \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const displayInviaRichiestaLoading = () => {\r\n if (this.props.credenzialiGenerati) {\r\n return this.props.credenzialiGenerati.loading ? (\r\n \r\n ) : (\r\n \"\"\r\n );\r\n }\r\n };\r\n\r\n const getEmailInviato = () => {\r\n return this.state.pec_inviato;\r\n };\r\n\r\n const displayRichiestaInviata = () => (\r\n
    \r\n
    \r\n Il link è stato inviato all'indirizzo email fornito in precedenza.\r\n {getEmailInviato()}\r\n
    \r\n
    \r\n );\r\n\r\n const displayButton = () => {\r\n return (\r\n this.props.RichiestaAccreditamentoFormGeneraCredenzialiActions(utente.id)}\r\n />\r\n );\r\n };\r\n\r\n if (error && (error.response.status === 410)) {\r\n return (\r\n
    \r\n {this.props.credenzialiGenerati\r\n && this.props.credenzialiGenerati.credenzialiGenerati ?\r\n displayRichiestaInviata()\r\n :
    \r\n
    {error.response.data.message}
    \r\n
    \r\n }\r\n
    \r\n {!this.props.annulla_accreditamento.richiesta &&\r\n !this.props.annulla_accreditamento.loading &&\r\n !this.props.annulla_accreditamento.error ? (\r\n \r\n
    \r\n {displayInviaRichiestaLoading()}\r\n\r\n {displayErrorRichiestaInviata()}\r\n\r\n
    \r\n {displayButton()}\r\n
    \r\n
    \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {/*
    \r\n {displayErrorsAnnullamento()}\r\n {displayAnnullaRichiestaLoading()}\r\n {displayRichiestaAnnullata()}\r\n {displayAnnullaAccreditamentoButton()}\r\n
    */}\r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nLinkScaduto.propTypes = {\r\n error: PropTypes.object.isRequired,\r\n annulla_accreditamento: PropTypes.object,\r\n getPECEnte: PropTypes.func.isRequired,\r\n utente: PropTypes.object.isRequired,\r\n annullaRichiestaAccreditamento: PropTypes.func.isRequired,\r\n RichiestaAccreditamentoFormGeneraCredenzialiActions: PropTypes.func.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n annulla_accreditamento: state.annulla_accreditamento,\r\n pec: state.pec,\r\n credenzialiGenerati: state.credenzialiGenerati\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n annullaRichiestaAccreditamento: utente =>\r\n dispatch(annullaRichiestaAccreditamento(utente)),\r\n getPECEnte: ente => dispatch(getPECEnte(ente)),\r\n RichiestaAccreditamentoFormGeneraCredenzialiActions: (idutente, idemail) =>\r\n dispatch(\r\n RichiestaAccreditamentoFormGeneraCredenzialiActions(idutente, idemail)\r\n )\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LinkScaduto);\r\n","import React, { Component } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n verificaLinkValidoOScaduto,\r\n getUtenteLinkScaduto,\r\n cleanGetUtenteLinkScadutoReducer,\r\n cleanPecReducer,\r\n cleanGeneraNuoveCredenziali,\r\n cleanVerificaLinkValidoOScadutoReducer,\r\n cleanSceltaPasswordReducer,\r\n cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer\r\n} from \"../../redux/actions/area-riservata/enti-actions/actions\";\r\nimport Loading from \"../tree/components/Decorators/Loading\";\r\n\r\nimport LinkScaduto from \"./link-scaduto/LinkScaduto\";\r\nimport SceltaPassword from \"./scelta-password/SceltaPassword\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nclass AttivazioneAccreditamento extends Component {\r\n state = {\r\n chiave: this.props.match.params.chiave,\r\n utente: {},\r\n utente_link_scaduto: {}\r\n };\r\n\r\n componentDidMount() {\r\n this.props.verificaLinkValidoOScaduto(this.props.match.params.chiave);\r\n this.props.getUtenteLinkScaduto(this.props.match.params.chiave);\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // only update state if props.enti.enti has changed\r\n if (prevState.utente !== this.props.attivazione_accreditamento.utente) {\r\n this.setState({\r\n utente: this.props.attivazione_accreditamento.utente\r\n });\r\n }\r\n\r\n // only update state if props.utente_link_scaduto.utente has changed\r\n if (\r\n prevState.utente_link_scaduto !== this.props.utente_link_scaduto.utente\r\n ) {\r\n this.setState({\r\n utente_link_scaduto: this.props.utente_link_scaduto.utente\r\n });\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n this.cleanAllActions();\r\n };\r\n\r\n cleanAllActions() {\r\n this.props.cleanGetUtenteLinkScadutoReducer();\r\n this.props.cleanPecReducer();\r\n this.props.cleanGeneraNuoveCredenziali();\r\n this.props.cleanVerificaLinkValidoOScadutoReducer();\r\n this.props.cleanSceltaPasswordReducer();\r\n this.props.cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer();\r\n };\r\n\r\n render() {\r\n const linkNonValido = () => {\r\n if (this.props.attivazione_accreditamento) {\r\n if (this.props.attivazione_accreditamento.error) {\r\n if (this.props.attivazione_accreditamento.error.response) {\r\n switch (this.props.attivazione_accreditamento.error.response.status) {\r\n case 404:\r\n return
    \r\n

    {this.props.attivazione_accreditamento.error.response.data.message}

    \r\n
    \r\n case 500:\r\n return this.props.history.push(\r\n `/${this.props.attivazione_accreditamento.error.response.status}`\r\n );\r\n case 403:\r\n return (\r\n
    \r\n

    {this.props.attivazione_accreditamento.error.response.data.message}

    \r\n
    \r\n );\r\n case 410:\r\n if (this.state.utente_link_scaduto) {\r\n return \r\n } else return (\r\n
    \r\n Nessun utente trovato.\r\n
    \r\n );;\r\n default:\r\n if (this.props.attivazione_accreditamento.error.response.data)\r\n return
    \r\n

    {this.props.attivazione_accreditamento.error.response.data.message}

    \r\n
    \r\n };\r\n }\r\n }\r\n }\r\n };\r\n\r\n const sceltaPassword = () => {\r\n if (this.props.attivazione_accreditamento) {\r\n return this.props.attivazione_accreditamento.utente &&\r\n !this.props.attivazione_accreditamento.error &&\r\n !this.props.attivazione_accreditamento.loading ? (\r\n \r\n ) : (\r\n \"\"\r\n );\r\n }\r\n };\r\n\r\n const displayLoading = () => {\r\n if (this.props.attivazione_accreditamento) {\r\n return this.props.attivazione_accreditamento.loading ? (\r\n
    \r\n {\" \"}\r\n \r\n
    \r\n ) : (\r\n \"\"\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {displayLoading()}\r\n {linkNonValido()}\r\n {sceltaPassword()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nAttivazioneAccreditamento.propTypes = {\r\n attivazione_accreditamento: PropTypes.object.isRequired,\r\n verificaLinkValidoOScaduto: PropTypes.func.isRequired,\r\n getUtenteLinkScaduto: PropTypes.func.isRequired,\r\n\r\n cleanGetUtenteLinkScadutoReducer: PropTypes.func.isRequired,\r\n cleanPecReducer: PropTypes.func.isRequired,\r\n cleanGeneraNuoveCredenziali: PropTypes.func.isRequired,\r\n cleanVerificaLinkValidoOScadutoReducer: PropTypes.func.isRequired,\r\n cleanSceltaPasswordReducer: PropTypes.func.isRequired,\r\n cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer:\r\n PropTypes.func.isRequired\r\n};\r\nconst mapStateToProps = state => ({\r\n attivazione_accreditamento: state.attivazione_accreditamento,\r\n utente_link_scaduto: state.utente_link_scaduto\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n verificaLinkValidoOScaduto: chiave =>\r\n dispatch(verificaLinkValidoOScaduto(chiave)),\r\n getUtenteLinkScaduto: chiave => dispatch(getUtenteLinkScaduto(chiave)),\r\n\r\n cleanGetUtenteLinkScadutoReducer: () =>\r\n dispatch(cleanGetUtenteLinkScadutoReducer()),\r\n cleanPecReducer: () => dispatch(cleanPecReducer()),\r\n cleanGeneraNuoveCredenziali: () => dispatch(cleanGeneraNuoveCredenziali()),\r\n cleanVerificaLinkValidoOScadutoReducer: () =>\r\n dispatch(cleanVerificaLinkValidoOScadutoReducer()),\r\n cleanSceltaPasswordReducer: () => dispatch(cleanSceltaPasswordReducer()),\r\n cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer: () =>\r\n dispatch(cleanAggiornaRichiestaAccreditamentoDaInseritaAAnnulataReducer())\r\n});\r\n\r\nexport default compose(\r\n withRouter,\r\n connect(mapStateToProps, mapDispatchToProps)\r\n)(AttivazioneAccreditamento);\r\n","export const listaStrumenti = [\r\n {\r\n label: 'Esempi di client dei servizi', \r\n type: 'zip',\r\n url: `/anpr-portale-enti-be-web/jaxrs/affile/esempi-ws-client/download`\r\n }\r\n];","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport AttachmentsCard from '../ui/attachments-card';\r\nimport { listaStrumenti } from './lista-strumenti';\r\n\r\n\r\n\r\nconst StrumentiSupporto = () => {\r\n return (\r\n Strumenti di supporto}\r\n files={listaStrumenti}\r\n extraClasses=\"mb-5\"\r\n titleHeading=\"h2\"\r\n />\r\n )\r\n};\r\n\r\nexport default connect(null, null)(StrumentiSupporto);","import React, { Fragment, useEffect } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { STRINGS } from \"../../constants/strings\";\r\nimport { annullaRiepilogoRichiestaAdesione, confermaRiepilogoRichiestaAdesione, getRiepilogoRichiestaAdesione } from \"../../redux/actions/common-actions\";\r\nimport AppMessages from \"../layout/app-messages\";\r\nimport { DetailsTable, IconButton, Spinner } from \"../ui\";\r\n\r\nconst ConfermaRiepilogoRichiestaAdesione = ({\r\n canceled,\r\n confirmed,\r\n confermaIsLoading,\r\n annullaIsLoading,\r\n annullaRiepilogoRichiestaAdesione,\r\n confermaRiepilogoRichiestaAdesione,\r\n getRiepilogoRichiestaAdesione,\r\n riepilogo_richiesta_adesione,\r\n match\r\n}) => {\r\n const { params: { link } } = match;\r\n\r\n useEffect(() => {\r\n if (!!link\r\n && !riepilogo_richiesta_adesione.richiesta_adesione\r\n && !riepilogo_richiesta_adesione.isLoading) {\r\n getRiepilogoRichiestaAdesione(link);\r\n }\r\n }, []); //eslint-disable-line\r\n\r\n const disableButtons = !link || confermaIsLoading || annullaIsLoading || confirmed || canceled;\r\n\r\n return (\r\n \r\n \r\n

    Conferma invio richiesta di adesione

    \r\n {riepilogo_richiesta_adesione.isLoading\r\n || riepilogo_richiesta_adesione.pristine ?\r\n \r\n : (!riepilogo_richiesta_adesione.richiesta_adesione ?

    {STRINGS.NO_DATA}

    : null)}\r\n {!!riepilogo_richiesta_adesione.richiesta_adesione &&\r\n \r\n \r\n
    \r\n confermaRiepilogoRichiestaAdesione(link)}\r\n disabled={disableButtons}\r\n />\r\n annullaRiepilogoRichiestaAdesione(link)}\r\n disabled={disableButtons}\r\n />\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = store => ({\r\n riepilogo_richiesta_adesione: store.common.get_riepilogo_richiesta_adesione,\r\n confermaIsLoading: store.common.conferma_riepilogo_richiesta_adesione\r\n && store.common.conferma_riepilogo_richiesta_adesione.isLoading,\r\n annullaIsLoading: store.common.annulla_riepilogo_richiesta_adesione\r\n && store.common.annulla_riepilogo_richiesta_adesione.isLoading,\r\n canceled: !!store.common.annulla_riepilogo_richiesta_adesione\r\n && !!store.common.annulla_riepilogo_richiesta_adesione.canceled,\r\n confirmed: store.common.conferma_riepilogo_richiesta_adesione\r\n && store.common.conferma_riepilogo_richiesta_adesione.confirmed,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getRiepilogoRichiestaAdesione: link => dispatch(getRiepilogoRichiestaAdesione(link)),\r\n annullaRiepilogoRichiestaAdesione: link => dispatch(annullaRiepilogoRichiestaAdesione(link)),\r\n confermaRiepilogoRichiestaAdesione: link => dispatch(confermaRiepilogoRichiestaAdesione(link)),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ConfermaRiepilogoRichiestaAdesione);\r\n","export const UTENZE = [\r\n {\r\n id: 2,\r\n urlparam: \"enti\",\r\n label: \"Operatore accreditato\",\r\n shortlabel: \"Oper. accred.\",\r\n longlabel: \"Operatore accreditato\",\r\n initialPage: \"/area-riservata/enti/richiesta-adesione-in-corso\",\r\n },\r\n {\r\n id: 3,\r\n urlparam: \"responsabile-amministrazione\",\r\n label: \"Responsabile amministrazione\",\r\n shortlabel: \"Resp. ammin.\",\r\n longlabel: \"Responsabile dell'amministrazione\",\r\n initialPage: \"/area-riservata/responsabile-amministrazione/accordo-attivo/dettagli\",\r\n },\r\n {\r\n id: 4,\r\n urlparam: \"responsabile-servizio\",\r\n label: \"Responsabile servizio\",\r\n shortlabel: \"Resp. servizio\",\r\n longlabel: \"Responsabile del servizio\",\r\n initialPage: \"/area-riservata/responsabile-servizio/accordo-attivo/dettagli\",\r\n },\r\n {\r\n id: 6,\r\n urlparam: \"ministero\",\r\n label: \"Ministero\",\r\n shortlabel: \"Ministero\",\r\n longlabel: \"Utente del Ministero\",\r\n initialPage: \"/area-riservata/ministero/richieste-da-approvare\"\r\n },\r\n {\r\n id: 7,\r\n urlparam: \"garante\",\r\n label: \"Garante\",\r\n shortlabel: \"Garante\",\r\n longlabel: \"Utente del Garante\",\r\n initialPage: \"/area-riservata/garante/accordi\"\r\n }\r\n];","import React from 'react';\r\nimport { useFormikContext } from \"formik\";\r\nimport { Link } from \"../../../ui\";\r\n\r\n\r\n\r\nconst InformativaModalBody = () => {\r\n const { values, setFieldValue, validateForm } = useFormikContext();\r\n\r\n return (\r\n {\r\n if (!values.read) {\r\n setFieldValue(\"read\", true);\r\n validateForm();\r\n }\r\n }\r\n }\r\n />\r\n );\r\n};\r\n\r\nInformativaModalBody.displayName = \"InformativaModalBody\";\r\nexport default InformativaModalBody;","import React from 'react';\r\n\r\nconst INFORMATIVA_PARAGRAPHS = [\r\n {\r\n title: {\r\n text: \"Informativa sulla privacy\",\r\n tag: \"h1\",\r\n hr: \"primary\"\r\n },\r\n rows: [\r\n {\r\n text: \"Gentile utente,\"\r\n },\r\n {\r\n text: \"dal 25 maggio 2018 si applica il Regolamento UE 2016/679 relativo alla protezione delle persone fisiche con riguardo al trattamento dei dati personali.\"\r\n },\r\n {\r\n text: Con questa informativa il Ministero dell'Interno illustra le modalità di trattamento dei dati personali raccolti e trattati tramite il sito.\r\n },\r\n {\r\n text: \"L'informativa vale esclusivamente per il predetto Sito e per ANPR e non è valida per altri siti web eventualmente consultabili tramite i link presenti, di cui il Ministero dell'Interno non è in alcun modo responsabile\"\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Titolare, Responsabile per la protezione dei dati personali e responsabile del trattamento\",\r\n tag: 'h2'\r\n },\r\n rows: [\r\n {\r\n text: \"Titolare del trattamento dei dati personali è il Ministero dell'Interno - Dipartimento per gli affari interni e territoriali, Piazza del Viminale, 1, 00184 Roma - Italia, numero di telefono 39 06 465.27751, indirizzo di posta elettronica certificata servizidemografici.prot@pec.interno.it.\"\r\n },\r\n {\r\n text: \"I dati di contatto del Responsabile per la Protezione dei Dati Personali sono:\"\r\n },\r\n {\r\n dots: [\r\n {\r\n title: \"indirizzo e-mail: responsabileprotezionedati@interno.it\",\r\n },\r\n {\r\n title: \"indirizzo posta elettronica certificata: rdp@pec.interno.it\"\r\n },\r\n {\r\n title: \"recapito telefonico, numero centralino 06 4651\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Responsabile del trattamento è Sogei S.p.A.\"\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Base giuridica\",\r\n tag: \"h2\"\r\n },\r\n rows: [\r\n { text: \"La base giuridica, vista l'esecuzione dei compiti di interesse pubblico o comunque connessi all'esercizio dei propri pubblici poteri del Titolare Ministero dell'interno, è costituita dall'art. 62 del Codice dell'amministrazione digitale (D.Lgs. n. 82/2005) e dei Decreti della Presidenza del Consiglio dei Ministri emanati ai sensi del comma 6 del medesimo articolo 62, concernenti l'attuazione e il funzionamento di ANPR, oltre al DPR 223/1989 recante il regolamento anagrafico.\" }\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Tipologia di dati, modalità e finalità del trattamento\",\r\n tag: \"h2\"\r\n },\r\n rows: []\r\n },\r\n {\r\n title: {\r\n text: \"Dati trattati tramite il Sito\",\r\n tag: \"h3\"\r\n },\r\n rows: [\r\n {\r\n text: \"Alcuni dati vengono raccolti automaticamente al momento del Suo accesso al Sito. Il conferimento dei dati personali forniti volontariamente dall'utente è facoltativo, ma l'eventuale rifiuto di conferirli comporta l'impossibilità di fruire dei servizi richiesti.\"\r\n },\r\n {\r\n text: \"Il dato “indirizzo di posta elettronica” è richiesto obbligatoriamente per fruire dei Servizi che prevedono l’invio di comunicazioni riferite all’iter di accreditamento e successivamente per comunicazioni relative all’Accordo di fruizione attivo.\"\r\n },\r\n {\r\n text: \"Il dato “indirizzo di posta elettronica” sarà conservato dal sistema ANPR fino all’eliminazione dell’utenza.\"\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Dati di navigazione\",\r\n tag: \"h4\",\r\n hr: \"primary\"\r\n },\r\n rows: [\r\n {\r\n text: \"I sistemi informatici e le procedure software preposte al funzionamento di questo Sito acquisiscono, nel corso del loro normale esercizio, alcuni dati personali la cui trasmissione è implicita nell'uso dei protocolli di comunicazione di Internet.\"\r\n },\r\n {\r\n text: \"In questa categoria di dati rientrano gli indirizzi IP o i nomi a dominio dei computer e dei terminali utilizzati dagli utenti, gli indirizzi in notazione URI/URL (Uniform Resource Identifier/Locator) delle risorse richieste, l'orario della richiesta, il metodo utilizzato nel sottoporre la richiesta al server, la dimensione del file ottenuto in risposta, il codice numerico indicante lo stato della risposta data dal server (buon fine, errore, ecc.) ed altri parametri relativi al sistema operativo e all'ambiente informatico dell'utente.\"\r\n },\r\n {\r\n text: \"Tali dati, necessari per la fruizione dei servizi web, vengono anche trattati allo scopo di:\"\r\n },\r\n {\r\n dots: [\r\n {\r\n title: \"ottenere informazioni statistiche sull'uso dei servizi (pagine più visitate, funzionalità più utilizzate, ecc.);\"\r\n },\r\n {\r\n title: \"controllare il corretto funzionamento dei servizi offerti.\"\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Dati raccolti nel momento dell'autenticazione dell'utente per l'accesso ai servizi sul Sito\",\r\n tag: \"h4\",\r\n hr: \"primary\"\r\n },\r\n rows: [\r\n {\r\n text: \"Per accedere ai servizi messi a disposizione sul Sito, l’utente deve essere censito nel sistema ed autenticarsi tramite le proprie credenziali (codice fiscale e password). Il censimento viene effettuato in fase di approvazione dell’Accordo di fruizione oppure successivamente da un altro utente già censito e comporta l’inserimento del codice fiscale, dei dati anagrafici, dell’indirizzo email e di un recapito telefonico. L'autenticazione tramite i predetti strumenti comporta la raccolta e il trattamento di dati personali, trattati dal Ministero dell'Interno al solo fine di consentire l'accesso ai servizi stessi.\"\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Cookie e altri sistemi di tracciamento\",\r\n tag: \"h4\",\r\n hr: \"primary\"\r\n },\r\n rows: [\r\n {\r\n text: \"Non viene fatto uso di cookie per la profilazione degli utenti, né vengono impiegati altri metodi di tracciamento.\"\r\n },\r\n {\r\n text: \"Viene invece fatto uso di cookie di sessione (non persistenti) in modo strettamente limitato a quanto necessario per la navigazione sicura ed efficiente dei siti. La memorizzazione dei cookie di sessione nei terminali o nei browser è sotto il controllo dell'utente, laddove sui server, al termine delle sessioni HTTP, informazioni relative ai cookie restano registrate nei log dei servizi, con tempi di conservazione comunque non superiori ai sette giorni al pari degli altri dati di navigazione.\"\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Comunicazione e diffusione dei dati\",\r\n tag: \"h3\"\r\n },\r\n rows: [\r\n {\r\n text: \"I dati personali raccolti e trattati tramite il Sito, non sono soggetti a comunicazione a terzi né a diffusione salvo per i casi e limitazioni previsti dalla normativa vigenti o da provvedimenti dell'Autorità Giudiziaria.\"\r\n },\r\n {\r\n text: \"I dati personali potranno essere trattati oltre che dal personale del Ministero dell'Interno allo scopo autorizzato al trattamento, anche da parte di soggetti terzi allo scopo designati responsabili del trattamento ai sensi dell'art. 28 del Regolamento UE 2016/679.\"\r\n },\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Diritti degli interessati\",\r\n tag: \"h3\"\r\n },\r\n rows: [\r\n {\r\n text: \"Il Regolamento (UE) 2016/679 prevede specifiche misure di protezione e sicurezza da applicare e adempimenti da svolgere quando si effettua un trattamento di dati personali e riconosce all'interessato determinati diritti che è possibile esercitare rivolgendosi direttamente al titolare (articoli da 15 a 22).\"\r\n },\r\n {\r\n text: \"Lei, pertanto, ha diritto di ottenere la conferma dell'esistenza o meno dei medesimi dati e/o verificarne l'utilizzo.\"\r\n },\r\n {\r\n text: \"Gli interessati hanno il diritto di ottenere dal Titolare, nei casi previsti, l'accesso ai propri dati personali e la rettifica o la cancellazione degli stessi o la limitazione del trattamento che li riguarda o di opporsi al trattamento (artt. 15 e ss. del Regolamento).\"\r\n },\r\n {\r\n text: \"Lei può esercitare i Suoi diritti indirizzando la Sua richiesta al Responsabile per la Protezione dei Dati Personali del Ministero dell'Interno, utilizzando i contatti sopra indicati.\"\r\n }\r\n ]\r\n },\r\n {\r\n title: {\r\n text: \"Diritto di reclamo\",\r\n tag: \"h3\"\r\n },\r\n rows: [\r\n {\r\n text: \"Gli interessati che ritengono che il trattamento dei dati personali a loro riferiti avvenga in violazione di quanto previsto dal Regolamento hanno il diritto di proporre reclamo al Garante, come previsto dall'art. 77 del Regolamento stesso, o di adire le opportune sedi giudiziarie (art. 79 del Regolamento).\"\r\n },\r\n ]\r\n }\r\n];\r\n\r\nexport default INFORMATIVA_PARAGRAPHS;","import React, { useEffect } from 'react';\r\nimport { Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { loginUser } from '../../../../redux/actions/authentication/actions';\r\nimport Form from '../../../formik';\r\nimport { IconButton, Input, InputPassword, Link, Row } from '../../../ui';\r\nimport * as yup from 'yup';\r\nimport { DefaultError, DefaultLoading } from '../../../common/handleErrorsAndLoading';\r\nimport { UTENZE } from '../../../../constants/utenze';\r\nimport { InformativaModalBody } from '../../informativa-privacy/_partials';\r\nimport { FORM_CONDITIONS, NOOP } from '../../../layout/modale-conferma/utils';\r\nimport { modaleConfermaConfig } from '../../../../redux/actions/area-riservata/utils-actions';\r\nimport { configParamsKeys } from '../../../../constants/config-params-keys';\r\n\r\nconst LoginForm = ({\r\n authentication,\r\n config_params,\r\n loginUser,\r\n modaleConfermaConfig,\r\n utenza\r\n}) => {\r\n\r\n const history = useHistory();\r\n\r\n const modalconfig = {\r\n id: \"INFORMATIVA_PRIVACY\",\r\n name: \"INFORMATIVA_PRIVACY\",\r\n open: true,\r\n keyboard:false,\r\n title: \"Informativa\",\r\n body: ,\r\n hideCloseButton: true,\r\n showErrors: false,\r\n form: {\r\n onsubmit: {\r\n func: NOOP\r\n },\r\n initialValues: { read: false },\r\n validationSchema: yup.object().shape({\r\n read: yup.bool().oneOf([true])\r\n }),\r\n },\r\n footer: {\r\n actions: [\r\n {\r\n label: \"Ho letto l'informativa\",\r\n buttonClass: 'primary',\r\n type: \"submit\",\r\n disabled: FORM_CONDITIONS.NOT_VALID_FORM_CONDITION\r\n },\r\n ]\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!!authentication.utente && !!config_params) {\r\n let utenzaloggata = UTENZE.find(x => x.id === authentication.utente.idtipo);\r\n if (authentication.utente.altrienti) {\r\n if(config_params[configParamsKeys[`informativa_privacy`]] === 'true') {\r\n modaleConfermaConfig(modalconfig);\r\n }\r\n history.push(`/area-riservata/selezione-ente`);\r\n } else {\r\n if(config_params[configParamsKeys[`informativa_privacy`]] === 'true') {\r\n modaleConfermaConfig(modalconfig);\r\n }\r\n history.push(`${utenzaloggata.initialPage}`)\r\n }\r\n }\r\n }, [authentication, config_params, history]); //eslint-disable-line\r\n\r\n const uncapitalize = str => {\r\n return str && str.length > 0 ? str.charAt(0).toLocaleLowerCase() + str.slice(1) : str;\r\n };\r\n\r\n const loginValidationSchema = yup.object().shape({\r\n codicefiscale: yup.string().required(\"Codice fiscale: campo obbligatorio.\"),\r\n password: yup.string().required(\"Password: campo obbligatorio.\")\r\n });\r\n\r\n return (\r\n \r\n

    Accedi come {uncapitalize(utenza.longlabel)}

    \r\n \r\n
    \r\n {\r\n loginUser({\r\n idtipo: utenza.id,\r\n codicefiscale: values.codicefiscale.trim(),\r\n passwordcredenziali: values.password\r\n }\r\n );\r\n }}\r\n >\r\n {({\r\n dirty,\r\n errors,\r\n setFieldValue,\r\n values,\r\n errorMessage\r\n }) => (\r\n \r\n {\r\n setFieldValue(\"codicefiscale\", val);\r\n }}\r\n label=\"Username\"\r\n error={errors['codicefiscale']}\r\n required\r\n uppercase\r\n append\r\n appendtext=\"Inserire il codice fiscale personale\"\r\n />\r\n {\r\n setFieldValue(\"password\", val);\r\n }}\r\n label=\"Password\"\r\n error={errors['password']}\r\n required\r\n />\r\n {errorMessage}\r\n {!!authentication.error\r\n && !authentication.loading\r\n &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n \r\n
    \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n authentication: store.authentication,\r\n config_params: store.config.get_config_params.config_params,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loginUser: (payload) => dispatch(loginUser(payload)),\r\n modaleConfermaConfig: (config) => dispatch(modaleConfermaConfig(config))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(LoginForm);","import React from 'react';\r\nimport { Tabs } from \"../../ui\";\r\nimport { UTENZE } from \"../../../constants/utenze\";\r\nimport { LoginForm } from './_partials';\r\n\r\nconst Login = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Accedi all'area riservata

    \r\n ({\r\n id: `${x.urlparam}-login`,\r\n label: x.shortlabel\r\n }))\r\n }\r\n contents={\r\n UTENZE.map(x => ({\r\n tabId: `${x.urlparam}-login`,\r\n content: \r\n }\r\n ))\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Login;\r\n","import React from 'react';\r\nimport { Fragment } from 'react';\r\nimport { Captcha, IconButton, Input, Row } from '../../ui';\r\nimport * as yup from 'yup';\r\nimport Form from '../../formik';\r\nimport { connect } from 'react-redux';\r\nimport { richiediResetPassword } from '../../../redux/actions/common-actions';\r\n\r\nconst RichiestaResetPassword = ({\r\n richiediResetPassword,\r\n richiedi_reset_password\r\n}) => {\r\n\r\n const validationSchema = yup.object().shape({\r\n codicefiscale: yup.string().required(\"Codice fiscale: campo obbligatorio.\"),\r\n captcha: yup.string().required(\"Codice di sicurezza: campo obbligatorio.\"),\r\n });\r\n\r\n const isSubmitDisabled = richiedi_reset_password.isLoading;\r\n\r\n return (\r\n \r\n \r\n
    \r\n {\r\n richiediResetPassword(values);\r\n }}\r\n >\r\n {({\r\n dirty,\r\n errors,\r\n setFieldValue,\r\n values,\r\n isSubmitting,\r\n errorMessage\r\n }) => (\r\n \r\n {\r\n setFieldValue(\"codicefiscale\", val);\r\n }}\r\n label=\"Username\"\r\n error={errors['codicefiscale']}\r\n required\r\n uppercase\r\n disabled={isSubmitting || isSubmitDisabled}\r\n />\r\n setFieldValue('captcha', val)}\r\n disabled={isSubmitting || isSubmitDisabled}\r\n />\r\n {errorMessage}\r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {/* \r\n \r\n */}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n richiedi_reset_password: state.common.richiedi_reset_password\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n richiediResetPassword: payload => dispatch(richiediResetPassword(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RichiestaResetPassword);","import React from 'react';\r\nimport AppMessages from '../layout/app-messages';\r\nimport { RichiestaResetPasswordForm } from './_partials';\r\n\r\nconst RichiestaResetPassword = (props) => {\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n

    Reset della password

    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n};\r\n\r\nexport default RichiestaResetPassword;\r\n","import React, { Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Form from '../../formik';\r\nimport * as yup from 'yup';\r\nimport {IconButton, InputPassword} from '../../ui';\r\n\r\nimport { resetPassword } from '../../../redux/actions/common-actions';\r\nconst ResetPasswordForm = ({\r\n resetPassword,\r\n reset_password,\r\n link \r\n}) => {\r\n\r\n // const { params: { link } } = match;\r\n\r\n const initialValues = {\r\n password: '',\r\n confermaPassword: ''\r\n };\r\n\r\n const validationSchema = yup.object().shape({\r\n password: yup.string()\r\n .required(\"Password: campo obbligatorio.\")\r\n .min(8, \"La password deve avere almeno 8 caratteri\")\r\n .matches(/[A-Z]/, \"La password deve avere almeno una lettera maiuscola\")\r\n .matches(/[a-z]/, \"La password deve avere almeno una lettera minuscola\")\r\n .matches(/[0-9]/, \"La password deve avere almeno un numero\")\r\n .matches(\r\n ///[#$^+=!*()@%&]/,\r\n /[#$^+=!*()@%&_-]/,\r\n \"La password deve avere almeno un carattere speciale\"\r\n )\r\n .test(\r\n \"password\",\r\n \"La password non può contenere più di 2 caratteri ripetuti\",\r\n value => {\r\n return !/(.)\\1\\1/.test(value);\r\n }\r\n )\r\n .test(\r\n \"password\",\r\n \"La password non può contenere più di 2 numeri sequenziali\",\r\n value => {\r\n return !/(?:(?=012|123|234|345|456|567|678|789)\\d)+\\d/.test(value);\r\n }\r\n ),\r\n confermaPassword: yup.string()\r\n .oneOf(\r\n [yup.ref(\"password\"), null],\r\n \"I campi Password e Conferma Password devono essere uguali\"\r\n ).required(\"Conferma password: campo obbligatorio.\"),\r\n });\r\n\r\n return (\r\n {\r\n resetPassword({\r\n password: values.password,\r\n link\r\n });\r\n }}\r\n initialValues={initialValues}\r\n validationSchema={validationSchema}\r\n >\r\n { props => (\r\n \r\n {\r\n props.setFieldValue(\"password\", val);\r\n }}\r\n label=\"Password\"\r\n error={props.errors.nuovaPassword}\r\n required\r\n disabled={reset_password.isLoading || reset_password.reset}\r\n />\r\n props.setFieldValue(\"confermaPassword\", val)}\r\n label=\"Conferma password\"\r\n error={props.errors.confermaPassword}\r\n required\r\n disabled={reset_password.isLoading || reset_password.reset}\r\n />\r\n {props.errorMessage}\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n reset_password: state.common.reset_password\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n resetPassword: payload => dispatch(resetPassword(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ResetPasswordForm);","import React, { Fragment, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { checkResetPasswordLink } from '../../redux/actions/common-actions';\r\nimport { criteriSicurezzaPassword } from '../attivazione-credenziali/scelta-password/SceltaPassword';\r\nimport AppMessages from '../layout/app-messages';\r\nimport { Spinner } from '../ui';\r\nimport ResetPasswordForm from './_partials/resetPasswordForm';\r\n\r\nconst ResetPassword = ({\r\n checkLink,\r\n checked,\r\n checkIsLoading,\r\n match\r\n}) => {\r\n const { link } = match.params;\r\n\r\n useEffect(() => {\r\n if (!!link && !checkIsLoading) {\r\n checkLink(link);\r\n }\r\n }, [link]); //eslint-disable-line\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {!checkIsLoading && !!checked ?\r\n \r\n

    Reset della password

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Nuova password

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {criteriSicurezzaPassword()}\r\n
    \r\n
    \r\n
    \r\n : checkIsLoading ?\r\n \r\n : null}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStoreToProps = store => ({\r\n checkIsLoading: store.common.check_reset_password_link.isLoading,\r\n checked: store.common.check_reset_password_link.checked,\r\n checkError: store.common.check_reset_password_link.error,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n checkLink: link => dispatch(checkResetPasswordLink(link))\r\n});\r\n\r\nexport default connect(mapStoreToProps, mapDispatchToProps)(ResetPassword);","import React, { useEffect } from 'react';\r\nimport { Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { UTENZE } from '../../../constants/utenze';\r\nimport { getEnteBySelezioneEnte, getEntiByAuthUser } from '../../../redux/actions/authentication/actions';\r\nimport { DefaultLoading } from '../../common/handleErrorsAndLoading';\r\n\r\nconst SelezioneEnte = ({\r\n\tauthentication,\r\n\tgetEnti,\r\n\tgetEnteBySelezioneEnte,\r\n\tenti_by_auth_user,\r\n\thistory\r\n}) => {\r\n\r\n\tconst utenza = authentication && authentication.utente && UTENZE.find(x => x.id === authentication.utente.idtipo);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!authentication.utente) {\r\n\t\t\thistory.push('/login');\r\n\t\t} else if (authentication.utente.identi && (authentication.utente.identi.length <= 1)) {\r\n\t\t\thistory.push(`${utenza.initialPage}`)\r\n\t\t}\r\n\t}, [authentication, history, utenza]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!enti_by_auth_user.enti && !enti_by_auth_user.isLoading) {\r\n\t\t\tgetEnti();\r\n\t\t}\r\n\t}, [enti_by_auth_user]); //eslint-disable-line react-hooks/exhaustive-deps\r\n\treturn (\r\n\t\t\r\n\t\t\t

    Ente/PA

    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t{enti_by_auth_user.enti &&\r\n\t\t\t\t\tenti_by_auth_user.enti.map((ente, i) => (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{ente.tipologia.classe}\r\n\t\t\t\t\t\t\t\t\t

    {ente.denominazione}

    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n\tauthentication: state.authentication,\r\n\tenti_by_auth_user: state.enti_by_auth_user\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\tgetEnti: () => dispatch(getEntiByAuthUser()),\r\n\tgetEnteBySelezioneEnte: (payload, redirect) => dispatch(getEnteBySelezioneEnte(payload, redirect))\r\n});\r\n\r\nexport default connect(\r\n\tmapStateToProps,\r\n\tmapDispatchToProps\r\n)(SelezioneEnte);","export const GET_UTENTE_BY_SELEZIONE_ENTE_SUCCESS = 'GET_UTENTE_BY_SELEZIONE_ENTE_SUCCESS';\r\nexport const GET_UTENTE_BY_SELEZIONE_ENTE_IS_LOADING = 'GET_UTENTE_BY_SELEZIONE_ENTE_IS_LOADING';\r\nexport const GET_UTENTE_BY_SELEZIONE_ENTE_ERROR = 'GET_UTENTE_BY_SELEZIONE_ENTE_ERROR';\r\n\r\nexport const getUtenteBySelezioneEnteSuccess = (payload) => {\r\n return {\r\n type: GET_UTENTE_BY_SELEZIONE_ENTE_SUCCESS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const getUtenteBySelezioneEnteIsLoading = () => {\r\n return {\r\n type:GET_UTENTE_BY_SELEZIONE_ENTE_IS_LOADING,\r\n };\r\n};\r\n\r\nexport const getUtenteBySelezioneEnteError = () => {\r\n return {\r\n type:GET_UTENTE_BY_SELEZIONE_ENTE_ERROR,\r\n };\r\n};","import React, { Fragment } from 'react';\r\nimport { Row, List, Typography } from '../../ui';\r\nimport { INFORMATIVA_PARAGRAPHS } from './_partials';\r\n\r\n\r\nfunction InformativaPrivacy({\r\n authentication,\r\n history\r\n}) {\r\n\r\n return (\r\n \r\n {INFORMATIVA_PARAGRAPHS.map((p, i) => (\r\n \r\n {p.title &&\r\n \r\n }\r\n {p.rows.map((r, i2) => {\r\n if (r.text) {\r\n return (\r\n \r\n )\r\n } else if (r.dots) {\r\n return (\r\n \r\n )\r\n } else return null;\r\n })}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nInformativaPrivacy.displayName = \"InformativaPrivacy\";\r\nexport default InformativaPrivacy;","import React from 'react';\r\nimport { Redirect, Route, Switch } from 'react-router-dom';\r\nimport Home from \"./home\";\r\nimport NotFound from \"./not-found/NotFoundComponent\";\r\nimport AreaRiservataComponent from \"./area-riservata/AreaRiservataComponent\";\r\nimport AttivazioneCredenziali from \"./attivazione-credenziali/AttivazioneCredenziali\";\r\nimport { ErrorPage } from \"./layout\";\r\nimport StrumentiSupporto from \"./strumenti-di-supporto\";\r\nimport ConfermaRiepilogoRichiestaAdesione from \"./conferma-riepilogo-richiesta-adesione\";\r\nimport Login from \"./area-riservata/login/Login\";\r\nimport RichiestaResetPassword from \"./richiesta-reset-password\";\r\nimport ResetPassword from \"./reset-password\";\r\nimport SelezioneEnte from \"./area-riservata/seleziona-ente/SelezioneEnte\";\r\nimport { isNullOrUndefined } from \"../utils/functions/objects/isNullOrUndefined\";\r\nimport PrivateRoute from \"./common/private-route/PrivateRoute\";\r\nimport InformativaPrivacy from \"./area-riservata/informativa-privacy\";\r\n\r\nconst Router = ({ authentication }) => {\r\n\r\n\r\n return (\r\n \r\n \r\n !!authentication.utente} path=\"/strumenti-di-supporto\" exact component={StrumentiSupporto} />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n : () => \r\n : () => \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Router;","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Header from \"./layout/header/Header\";\r\nimport Footer from \"./layout/Footer\";\r\nimport { SpinnerOverlay } from \"./ui/spinner\";\r\nimport { PageWrapper, ModaleConferma } from \"./layout\";\r\nimport Router from \"./Router\";\r\n\r\n\r\nclass AppContainer extends Component {\r\n render() {\r\n const { authentication } = this.props;\r\n return (\r\n \r\n \r\n\r\n Vai al menu principale\r\n Vai al contenuto principale\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n