{"version":3,"file":"main.js","mappings":"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CA,CACEnD,QAAS,yBACTsC,YAAaa,KAEfC,IACA,CACEpD,QAAS,qBACTsC,YAAac,KAEfC,KACA,CACErD,QAAS,2BACTsC,YAAae,MAEfC,IACA,CACEtD,QAAS,mCACTsC,YAAagB,KAEfC,IACA,CACEvD,QAAS,4CACTsC,YAAaiB,KAEfC,IACA,CACExD,QAAS,+BACTsC,YAAakB,KAEfC,KACA,CACEzD,QAAS,sCACTsC,YAAamB,MAEfC,KACA,CACE1D,QAAS,kCACTsC,YAAaoB,MAEfC,IACA,CACE3D,QAAS,mCACTsC,YAAaqB,KAEfC,IACA,CACE5D,QAAS,4BACTsC,YAAasB,KAEfC,KACA,CACE7D,QAAS,oBACTsC,YAAauB,MAEfC,KACA,CACE9D,QAAS,iCACTsC,YAAawB,MAEfC,KACA,CACE/D,QAAS,0CACTsC,YAAayB,MAEfC,KACA,CACEhE,QAAS,6BACTsC,YAAa0B,MAEfC,KACA,CACEjE,QAAS,sCACTsC,YAAa2B,MAEfC,IACA,CACElE,QAAS,qBACTsC,YAAa4B,KAEfC,IACA,CACEnE,QAAS,eACTsC,YAAa6B,KAEfC,IACA,CACEpE,QAAS,2BACTsC,YAAa8B,KAEfC,IACA,CACErE,QAAS,yBACTsC,YAAa+B,KAEfC,IACA,CACEtE,QAAS,wBACTsC,YAAagC,KAEfC,IACA,CACEvE,QAAS,oBACTsC,YAAaiC,KAEfC,IACA,CACExE,QAAS,gCACTsC,YAAakC,KAEfC,IACA,CACEzE,QAAS,+BACTsC,YAAamC,KAEfC,IACA,CACE1E,QAAS,4BACTsC,YAAaoC,KAEfC,IACA,CACE3E,QAAS,+BACTsC,YAAaqC,KAEfC,IACA,CACE5E,QAAS,gCACTsC,YAAasC,KAEfC,IACA,CACE7E,QAAS,gCACTsC,YAAauC,KAEfC,IACA,CACE9E,QAAS,+BACTsC,YAAawC,KAEfC,IACA,CACE/E,QAAS,oBACTsC,YAAayC,KAEf,CACE/E,QAASmC,IACTjC,SAAUkC,IAEZ4C,IAWAC,IACA,CACEjF,QAAS,gBACTsC,YAAa2C,KAEfC,IACA,CACElF,QAAS,kBACTsC,Y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,gBACA,mBACA,gBACA,aACA,gBACA,YACA,eACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,sBACA,mBACA,sBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,iBACA,oBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,WACA,cACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,cACA,kBACA,qBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,WACA,kBACA,qBACA,cACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,oBAIA,SAAA2sF,EAAAC,GACA,IAAA1sF,EAAA2sF,EAAAD,GACA,OAAAriF,EAAArK,EACA,CACA,SAAA2sF,EAAAD,GACA,IAAAriF,EAAAyuE,EAAAh5E,EAAA4sF,GAAA,CACA,IAAAtkF,EAAA,IAAAhD,MAAA,uBAAAsnF,EAAA,KACA,MAAAtkF,EAAA6zB,KAAA,mBACA7zB,CACA,CACA,OAAAtI,EAAA4sF,EACA,CACAD,EAAAl8C,KAAA,WACA,OAAA+J,OAAA/J,KAAAzwC,EACA,EACA2sF,EAAAG,QAAAD,EACAE,EAAAC,QAAAL,EACAA,EAAAzsF,GAAA","names":["getUserLatestNotifications","createAction","getUserLatestNotificationsSuccess","props","getUserLatestNotificationsFailure","subscribeUserNotifications","receivedUserNotification","subscribeUserNotificationsFailure","NOTIFICATIONS_FEATURE_KEY","reducer","createReducer","notifications","isLoaded","unreadCount","initialState","on","Actions","state","items","counter","sharedActions","loadSingleSuccess","item","map","n","id","stato","length","slice","getNotificationsState","createFeatureSelector","selectLoaded","createSelector","s","selectItems","NotificationsFacade","constructor","store","this","isLoaded$","pipe","select","items$","unreadCount$","getUserUnreadNotifications","dispatch","NotificationsActions","static","t","i0","i1","core","jDH","factory","ɵfac","providedIn","NotificationsEffects","actions$","facade","loader","apiClient","authService","toastService","getUserUnreadNotifications$","createEffect","ofType","switchMap","action","showLoader","response","hideLoader","notificheInApp","notificaDto","contenutoNotifica","JSON","parse","contenuto","timestamp","titolo","testo","catchError","error","of","subscribeUserNotifications$","concatMap","a","withLatestFrom","accessToken$","filterNullish","token","getUserNotifications","err","receivedUserNotification$","tap","notificaInApp","successFeedback","i2","i3","i4","i5","i6","LoadUnreadNotificationsGuard","notificationsFacade","canActivate","checkStore","filter","first","AppNotificationsModule","parentModule","Error","forRoot","ngModule","providers","$C","G2t","CommonModule","StoreModule","forFeature","EffectsModule","environment","production","apiBaseUrl","aadClientId","aadTenantId","version","agGridLicenseKey","_c1","notificaInApp_r1","ctx_r1","StatoNotifica","Inviato","NavbarComponent_li_9_ng_template_5_a_1_Template","notificheInApp_r3","NavbarComponent_li_9_div_4_Template","NavbarComponent_li_9_ng_template_5_Template","notifiche_r4","_c0","$event","_r5","changePassword","onLogout","loggedUser_r6","nome","cognome","role","name","email","NavbarComponent","document","authFacade","keyboardFacade","loggedUser$","selectLoggedUser$","notificheInApp$","hideNavbar","StatoEvento","toggleSidebar","e","preventDefault","body","classList","toggle","logout","showChangePasswordPopup","refresh","forceRefresh","showHelp","DOCUMENT","VBU","selectors","inputs","decls","vars","consts","template","rf","ctx","NavbarComponent_li_9_Template","NavbarComponent_li_11_Template","archiviRoutes","path","MISSIONE_ENTITY","label","MISSIONE_ENTITY_PLURAL","permissions","PERMISSION_ACCESS_ALL","MISSIONE_ACCESS_PERMISSION","loadChildren","Promise","all","__webpack_require__","then","bind","m","AppLazyMissioneModule","PROGRAMMA_ENTITY","PROGRAMMA_ENTITY_PLURAL","PROGRAMMA_ACCESS_PERMISSION","AppLazyProgrammaModule","TIPOLOGIA_REGISTRAZIONE_ENTITY","TIPOLOGIA_REGISTRAZIONE_ENTITY_PLURAL","TIPOLOGIA_REGISTRAZIONE_ACCESS_PERMISSION","AppLazyTipologiaRegistrazioneModule","PROSPETTO_ENTITY","PROSPETTO_ENTITY_PLURAL","menuHidden","anno","PROSPETTO_ACCESS_PERMISSION","AppLazyProspettoModule","STRUTTURA_PROSPETTO_ENTITY","STRUTTURA_PROSPETTO_ENTITY_PLURAL","STRUTTURA_PROSPETTO_ACCESS_PERMISSION","AppLazyStrutturaProspettoModule","MOLTIPLICATORE_ENTITY","MOLTIPLICATORE_ENTITY_PLURAL","MOLTIPLICATORE_ACCESS_PERMISSION","AppLazyMoltiplicatoreModule","TEMPLATE_ENTITY","TEMPLATE_ENTITY_PLURAL","TEMPLATE_ACCESS_PERMISSION","AppLazyTemplateModule","adminRoutes","USER_ENTITY","USER_ENTITY_PLURAL","USER_ACCESS_PERMISSION","AppLazyUtenteModule","ENTE_ENTITY","ENTE_ENTITY_PLURAL","ENTE_ACCESS_PERMISSION","AppLazyEnteModule","UTENTE_ENTE_ENTITY","AppLazyUtenteEnteModule","MODULO_ENTE_ENTITY","AppLazyModuloEnteModule","gestionePartecipateRoutes","PARTECIPATA_ENTITY","PARTECIPATA_ENTITY_PLURAL","PARTECIPATA_ACCESS_PERMISSION","ente","modulo","AppLazyPartecipataModule","BILANCIO_ENTE_ENTITY","BILANCIO_ENTE_ACCESS_PERMISSION","AppLazyBilancioEnteModule","BILANCIO_ENTE_RIGA_ENTITY","BILANCIO_ENTE_RIGA_ACCESS_PERMISSION","AppLazyBilancioEnteRigaModule","PARTECIPATA_ENTE_ENTITY","PARTECIPATA_ENTE_ACCESS_PERMISSION","AppLazyPartecipataEnteModule","UTENTE_PARTECIPATA_ENTITY","UTENTE_PARTECIPATA_ACCESS_PERMISSION","AppLazyUtentePartecipataModule","ATTIVITA_PARTECIPATA_ENTITY","ATTIVITA_PARTECIPATA_ENTITY_PLURAL","ATTIVITA_PARTECIPATA_ACCESS_PERMISSION","AppLazyAttivitaPartecipataModule","PARTECIPATA_SERVIZIO_ENTITY","PARTECIPATA_SERVIZIO_ENTITY_PLURAL","PARTECIPATA_SERVIZIO_ACCESS_PERMISSION","AppLazyPartecipataServizioModule","DOCUMENTO_PARTECIPATA_ENTITY","DOCUMENTO_PARTECIPATA_ENTITY_PLURAL","DOCUMENTO_PARTECIPATA_ACCESS_PERMISSION","AppLazyDocumentoPartecipataModule","INCARICO_PARTECIPATA_ENTITY","INCARICO_PARTECIPATA_ENTITY_PLURAL","INCARICO_PARTECIPATA_ACCESS_PERMISSION","AppLazyIncaricoPartecipataModule","COMPAGINE_SOCIALE_ENTITY","COMPAGINE_SOCIALE_ENTITY_PLURAL","COMPAGINE_SOCIALE_ACCESS_PERMISSION","AppLazyCompagineSocialeModule","BILANCIO_PARTECIPATA_ENTITY","BILANCIO_PARTECIPATA_ENTITY_PLURAL","BILANCIO_PARTECIPATA_ACCESS_PERMISSION","AppLazyBilancioPartecipataModule","BILANCIO_PARTECIPATA_RIGA_ENTITY","BILANCIO_PARTECIPATA_RIGA_ENTITY_PLURAL","BILANCIO_PARTECIPATA_RIGA_ACCESS_PERMISSION","AppLazyBilancioPartecipataRigaModule","ANALISI_BILANCIO_ENTITY","ANALISI_BILANCIO_ENTITY_PLURAL","ANALISI_BILANCIO_ACCESS_PERMISSION","AppLazyAnalisiBilancioModule","bilancioConsolidatoPartecipoRoutes","DEFINIZIONE_GAP_PERIMETRO_ENTITY","DEFINIZIONE_GAP_PERIMETRO_ENTITY_PLURAL","DEFINIZIONE_GAP_PERIMETRO_ACCESS_PERMISSION","AppLazyDefinizioneGapPerimetroModule","GAP_ENTITY","GAP_ENTITY_PLURAL","GAP_ACCESS_PERMISSION","AppLazyGapModule","PERIMETRO_ENTITY","PERIMETRO_ENTITY_PLURAL","PERIMETRO_ACCESS_PERMISSION","AppLazyPerimetroModule","SCRITTURA_PRE_CONSOLIDAMENTO_ENTITY","SCRITTURA_PRE_CONSOLIDAMENTO_ENTITY_PLURAL","SCRITTURA_PRE_CONSOLIDAMENTO_ACCESS_PERMISSION","AppLazyScritturaPreconsolidamentoModule","RIDUZIONE_PROPORZIONALE_ENTITY","RIDUZIONE_PROPORZIONALE_ENTITY_PLURAL","RIDUZIONE_PROPORZIONALE_ACCESS_PERMISSION","AppLazyRiduzioneProporzionaleModule","SCRITTURA_ELISIONE_ENTITY","SCRITTURA_ELISIONE_ENTITY_PLURAL","SCRITTURA_ELISIONE_ACCESS_PERMISSION","AppLazyScritturaElisioneModule","BILANCIO_CONSOLIDATO_ENTITY","BILANCIO_CONSOLIDATO_ENTITY_PLURAL","BILANCIO_CONSOLIDATO_ACCESS_PERMISSION","AppLazyBilancioConsolidatoModule","BILANCIO_CONSOLIDATO_RIGA_ENTITY","BILANCIO_CONSOLIDATO_RIGA_ENTITY_PLURAL","BILANCIO_CONSOLIDATO_RIGA_ACCESS_PERMISSION","AppLazyBilancioConsolidatoRigaModule","BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ENTITY","BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ENTITY_PLURAL","BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ACCESS_PERMISSION","AppLazyBilancioConsolidatoRigaDettaglioModule","STAMPE_PARTECIPO_ENTITY","STAMPE_PARTECIPO_ENTITY_PLURAL","STAMPE_PARTECIPO_ACCESS_PERMISSION","AppLazyStampePartecipoModule","archiviPartecipateRoutes","TIPOLOGIA_INCARICO_ENTITY","TIPOLOGIA_INCARICO_ENTITY_PLURAL","TIPOLOGIA_INCARICO_ACCESS_PERMISSION","AppLazyTipologiaIncaricoModule","TIPOLOGIA_PARTECIPAZIONE_ENTITY","TIPOLOGIA_PARTECIPAZIONE_ENTITY_PLURAL","TIPOLOGIA_PARTECIPAZIONE_ACCESS_PERMISSION","AppLazyTipologiaPartecipazioneModule","TIPOLOGIA_DOCUMENTO_ENTITY","TIPOLOGIA_DOCUMENTO_ENTITY_PLURAL","TIPOLOGIA_DOCUMENTO_ACCESS_PERMISSION","AppLazyTipologiaDocumentoModule","TIPOLOGIA_COMPENSO_ENTITY","TIPOLOGIA_COMPENSO_ENTITY_PLURAL","TIPOLOGIA_COMPENSO_ACCESS_PERMISSION","AppLazyTipologiaCompensoModule","SERVIZIO_PUBBLICO_ENTITY","SERVIZIO_PUBBLICO_ENTITY_PLURAL","SERVIZIO_PUBBLICO_ACCESS_PERMISSION","AppLazyServizioPubblicoModule","PARAMETRO_GAP_ENTITY","PARAMETRO_GAP_ENTITY_PLURAL","PARAMETRO_GAP_ACCESS_PERMISSION","AppLazyParametroGapModule","PARAMETRO_PERIMETRO_ENTITY","PARAMETRO_PERIMETRO_ENTITY_PLURAL","PARAMETRO_PERIMETRO_ACCESS_PERMISSION","AppLazyParametroPerimetroModule","MODELLO_CONTABILE_ENTITY","MODELLO_CONTABILE_ENTITY_PLURAL","MODELLO_CONTABILE_ACCESS_PERMISSION","AppLazyModelloContabileModule","MODELLO_CONTABILE_RIGA_ENTITY","MODELLO_CONTABILE_RIGA_ENTITY_PLURAL","MODELLO_CONTABILE_RIGA_ACCESS_PERMISSION","AppLazyModelloContabileRigaModule","utilityPartecipoRoutes","VALORI_ANNO_PRECEDENTE_ENTITY","VALORI_ANNO_PRECEDENTE_ENTITY_PLURAL","VALORI_ANNO_PRECEDENTE_ACCESS_PERMISSION","AppLazyValoriAnnoPrecedenteModule","CANCELLAZIONI_PARTECIPO_ENTITY","CANCELLAZIONI_PARTECIPO_ENTITY_PLURAL","CANCELLAZIONI_PARTECIPO_ACCESS_PERMISSION","AppLazyCancellazioniPartecipoModule","CHIUSURA_RIPRISTINO_CONSOLIDATO_ENTITY","CHIUSURA_RIPRISTINO_CONSOLIDATO_ENTITY_PLURAL","CHIUSURA_RIPRISTINO_CONSOLIDATO_ACCESS_PERMISSION","AppLazyChiusuraRipristinoConsolidatoModule","gestioneCepRoutes","PIANO_FINANZIARIO_ENTITY","PIANO_FINANZIARIO_ACCESS_PERMISSION","AppLazyPianoFinanziarioModule","PIANO_CONTI_ENTITY","PIANO_CONTI_ACCESS_PERMISSION","AppLazyPianoContiModule","gestioneEnteRoutes","MATRICE_ENTITY","MATRICE_ACCESS_PERMISSION","AppLazyMatriceModule","RACCORDO_ENTITY","RACCORDO_ACCESS_PERMISSION","AppLazyRaccordoModule","SALDO_INIZIALE_ENTITY","SALDO_INIZIALE_ENTITY_PLURAL","SALDO_INIZIALE_ACCESS_PERMISSION","AppLazySaldoInizialeModule","COFI_ENTITY","COFI_ENTITY_PLURAL","COFI_ACCESS_PERMISSION","AppLazyCofiModule","PRIMA_NOTA_ENTITY","PRIMA_NOTA_ENTITY_PLURAL","PRIMA_NOTA_ACCESS_PERMISSION","AppLazyPrimaNotaModule","PRIMA_NOTA_RIGA_ENTITY","PRIMA_NOTA_RIGA_ENTITY_PLURAL","PRIMA_NOTA_RIGA_ACCESS_PERMISSION","AppLazyPrimaNotaRigaModule","RIEPILOGO_PROSPETTI_ENTITY","RIEPILOGO_PROSPETTI_ENTITY_PLURAL","RIEPILOGO_PROSPETTI_ACCESS_PERMISSION","AppLazyRiepilogoProspettiModule","STAMPE_CEP_ENTITY","STAMPE_CEP_ENTITY_PLURAL","STAMPE_CEP_ACCESS_PERMISSION","AppLazyStampeCepModule","COSTI_PER_MISSIONE_ENTITY","COSTI_PER_MISSIONE_ENTITY_PLURAL","COSTI_PER_MISSIONE_ACCESS_PERMISSION","AppLazyCostiPerMissioneModule","utilityCepRoutes","CONTO_ECONOMICO_ANNO_PRECEDENTE_ENTITY","CONTO_ECONOMICO_ANNO_PRECEDENTE_ENTITY_PLURAL","CONTO_ECONOMICO_ANNO_PRECEDENTE_ACCESS_PERMISSION","AppLazyContoEconomicoAnnoPrecedenteModule","BDAP_CEP_ENTITY","BDAP_CEP_ENTITY_PLURAL","BDAP_CEP_ACCESS_PERMISSION","AppLazyBdapCepModule","CONTROLLO_COSTI_PER_MISSIONE_CEP_ENTITY","CONTROLLO_COSTI_PER_MISSIONE_CEP_ENTITY_PLURAL","CONTROLLO_COSTI_PER_MISSIONE_CEP_ACCESS_PERMISSION","AppLazyControlloCostiPerMissioneModule","CONTROLLO_SALDI_CEP_ENTITY","CONTROLLO_SALDI_CEP_ENTITY_PLURAL","CONTROLLO_SALDI_CEP_ACCESS_PERMISSION","AppLazyControlloSaldiModule","CONTI_NON_RACCORDATI_CEP_ENTITY","CONTI_NON_RACCORDATI_CEP_ENTITY_PLURAL","CONTI_NON_RACCORDATI_CEP_ACCESS_PERMISSION","AppLazyContiNonRaccordatiModule","CHIUSURA_RIPRISTINO_ESERCIZIO_ENTITY","CHIUSURA_RIPRISTINO_ESERCIZIO_ENTITY_PLURAL","CHIUSURA_RIPRISTINO_ESERCIZIO_ACCESS_PERMISSION","AppLazyChiusuraRipristinoEsercizioModule","NOTA_INTEGRATIVA_CEP_ENTITY","NOTA_INTEGRATIVA_CEP_ENTITY_PLURAL","NOTA_INTEGRATIVA_CEP_ACCESS_PERMISSION","AppLazyNotaIntegrativaCepModule","CANCELLAZIONI_CEP_ENTITY","CANCELLAZIONI_CEP_ENTITY_PLURAL","CANCELLAZIONI_CEP_ACCESS_PERMISSION","AppLazyCancellazioniCepModule","allRoutes","AppLazyHomeModule","AppLazyNotificaModule","MENU","link","isTitle","undefined","subItems","FooterComponent","VERSION","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_container_1_ng_container_10_ng_container_2_Template","itemTemplate_r5","_c3","subitem_r4","_r2","item_r3","$implicit","expanded","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_container_1_ng_container_10_Template","tmp_9_0","ctx_r5","modulo$","codice","tmp_10_0","colore","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_container_2_ng_container_1_Template","_c4","isTabOpened","item_r7","_c2","_c6","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_template_3_li_1_ng_container_2_ng_container_7_ng_container_1_Template","_c7","subitem_r9","level_r10","_r8","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_template_3_li_1_ng_container_2_ng_container_7_Template","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_template_3_li_1_ng_container_1_Template","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_template_3_li_1_ng_container_2_Template","_c5","hasItems","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_template_3_li_1_Template","checkHierarchyPermissions","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_container_1_Template","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_container_2_Template","SidebarComponent_ng_container_9_ng_container_1_li_1_ng_template_3_Template","SidebarComponent_ng_container_9_ng_container_1_li_1_Template","SidebarComponent_ng_container_9_ng_container_1_Template","tmp_4_0","SidebarComponent","renderer","router","navigationFacade","menuItems","tabs$","formControl","FormControl","events","forEach","event","NavigationEnd","window","matchMedia","matches","remove","si","push","find","tab","tabOpened","filterMenuByLabel","currentMenu","searchTerm","filteredMenu","remainedMenu","menuItem","newMenuItem","buildMenuItemTreeByLabel","traverseAndBuildMenuItemTreeByLabel","traverseAndBuildMenuItemByLabel","value","validMenuItems","subItem","childMenuItem","isLabelMatchingSearchTerm","labelLowercase","toLowerCase","trim","searchTermLowercase","includes","ngOnInit","valueChanges","startWith","enteredLabel","subscribe","filteredMenuItems","desktopMedium","addEventListener","iconSidebar","ngAfterViewInit","toggleSettingsSidebar","operSidebarFolded","contains","add","closeSidebarFolded","mq","onSidebarThemeChange","target","resetMenuItems","links","getElementsByClassName","i","menuItemEl","parentEl","parentElement","parent2El","parent3El","firstAnchor","querySelector","parent4El","parent5El","activateMenuItems","location","pathname","indexOf","viewQuery","_r1","SidebarComponent_ng_container_9_Template","ctx_r2","showSelectModulo","ente_r4","descrizione","anno_r6","TabLayoutComponent_div_2_button_3_Template","TabLayoutComponent_div_2_button_5_Template","clearModulo","modulo_r7","currentEnte$","currentAnno$","t_r9","closeTab","tmp_7_0","currentModulo$","rla_r10","isActive","showClose","tabs_r11","TabLayoutComponent_ng_container_15_ul_1_ng_container_1_Template","TabLayoutComponent_ng_container_15_ul_1_Template","TabLayoutComponent","navigateToFirstAvailableTab","manualCloseTab","stopImmediatePropagation","showSelectModuloPopup","cd","activatedRoute","ente$","anno$","hideNav$","queryParams","params","tabs","sort","t1","t2","tabPosition","RouteConfigLoadStart","isLoading","detectChanges","RouteConfigLoadEnd","openedTabs","TabLayoutComponent_div_2_Template","TabLayoutComponent_ng_container_15_Template","ModalComponent","ModalComponent_div_2_Template","ModalComponent_div_3_Template","entityRoutes","pathMatch","redirectTo","appRoutes","LoginGuard","children","component","LoggedUserGuard","CheckChiusuraEsercizioGuard","CheckConsolidatoGuard","CheckDatiRiepilogoModificatiGuard","runGuardsAndResolvers","AppRoutingModule","RouterModule","LoaderComponent","show","KeyboardShortcutsListenerComponent","_showHelp","helpComponent","reveal","hide","injectHelp","shortcuts","key","description","command","activeTab","allowIn","AllowIn","ContentEditable","Select","Textarea","Input","save","openFilters","delete","resetFilters","showing$","res","KeyboardShortcutsHelpComponent","KeyboardShortcutsListenerComponent_ng_keyboard_shortcuts_help_1_Template","activeTab_r1","showHelp$","AppComponent","loaderFacade","isLoaderVisible$","debounceTime","activeTab$","AppComponent_ideapa_keyboard_shortcuts_listener_3_Template","require","AppModule","registerLocaleData","localeIt","moment","bootstrap","provide","LOCALE_ID","useValue","ENVIRONMENT","imports","HttpClientModule","BrowserModule","BrowserAnimationsModule","runtimeChecks","strictActionImmutability","strictStateImmutability","StoreDevtoolsModule","instrument","NgxPermissionsModule","ApiClientModule","apiEndpoint","AppUiKitModule","AppFormsModule","NgbDropdownModule","NgbModalModule","NgbCollapseModule","AppNgrxLoaderModule","AppRoutingUtilsModule","AppNavigationModule","routes","AppAuthModule","tenantId","clientId","AppErrorModule","AppKeyboardModule","AppCheckBilanciModule","__NgCli_bootstrap_1","bootstrapModule","catch","console","ApiClientConfig","config","TemplateApiClient","useExisting","ContiNonRaccordatiApiClient","ChiusuraRipristinoConsolidatoApiClient","CancellazioniPartecipoApiClient","CancellazioniCepApiClient","BdapCepApiClient","NotaIntegrativaCepApiClient","ChiusuraRipristinoEsercizioApiClient","ContoEconomicoAnnoPrecedenteApiClient","CostiPerMissioneApiClient","RiepilogoProspettiApiClient","StampeCepApiClient","CofiApiClient","PrimaNotaRigaApiClient","PrimaNotaApiClient","StampePartecipoApiClient","BilancioConsolidatoRigaApiClient","BilancioConsolidatoRigaDettaglioApiClient","BilancioConsolidatoApiClient","RiduzioneProporzionaleRigaApiClient","RiduzioneProporzionaleApiClient","BilancioPartecipataRigaApiClient","BilancioEnteRigaApiClient","SoggettoApiClient","ScritturaElisioneRigaApiClient","ScritturaPreconsolidamentoRigaApiClient","ScritturaElisioneApiClient","ScritturaPreconsolidamentoApiClient","PerimetroApiClient","GapApiClient","AnalisiBilancioApiClient","BilancioRigheApiClient","BilancioEnteApiClient","NotificaApiClient","PartecipataIndirettaApiClient","BilancioPartecipataApiClient","CompagineSocialeApiClient","IncaricoPartecipataApiClient","DocumentoPartecipataApiClient","ModelloContabileRigaApiClient","PartecipataServizioApiClient","AttivitaPartecipataApiClient","FileApiClient","EnteApiClient","UtenteApiClient","RuoloApiClient","UtenteEnteApiClient","ModuloApiClient","ModuloEnteApiClient","TipologiaRegistrazioneApiClient","MissioneApiClient","ProgrammaApiClient","PianoFinanziarioApiClient","PianoContiApiClient","ProspettoApiClient","StrutturaProspettoApiClient","MatriceApiClient","RaccordoApiClient","SaldoInizialeApiClient","PartecipataApiClient","UtentePartecipataApiClient","TipologiaIncaricoApiClient","TipologiaPartecipazioneApiClient","TipologiaDocumentoApiClient","ServizioPubblicoApiClient","MoltiplicatoreApiClient","TipologiaCompensoApiClient","ParametroGapApiClient","ParametroPerimetroApiClient","ModelloContabileApiClient","PartecipataEnteApiClient","ControlloCostiPerMissioneApiClient","ControlloSaldiApiClient","ValoriAnnoPrecedenteApiClient","_angular_core__WEBPACK_IMPORTED_MODULE_75__","BaseCRUDApiClient","http","super","baseUrl","getRigheAnalisiBilancio","idPartecipata","get","_angular_core__WEBPACK_IMPORTED_MODULE_1__","getTassonomie","importXbrlFile","file","fd","FormData","append","post","downloadXbrl","parametriEstratti","parametriInviati","responseType","_angular_core__WEBPACK_IMPORTED_MODULE_2__","calcolaConsolidato","_pagedCache","clear","getSoggettiPerConsolidato","downloadExcelConsolidato","idBilancio","idProspetto","fileName","downloadPdfConsolidato","escludiPreconsolidamento","escludiElisione","chiusuraConsolidato","riaperturaConsolidato","checkConsolidato","canImport","importExcelFile","esercizio","tipo","exportBilancioPdf","setDefaultBilancioEnte","idBilancioEnte","updateTotali","importBilancioCep","getAllByPartecipata","estremiDelibera","toString","setDefaultBilancioPartecipata","idBilancioPartecipata","compilaBilancioRighe","checkEsercizioClosed","chiusuraEsercizio","ripristinoEsercizio","_pagedCacheWithTotals","Map","clearCache","canDelete","codiceTipologia","deleteRecordTipologia","getPagedByTypeWithTotals","take","skip","orderBy","filters","join","areDomainUserFiltersDisabled","isEntitySelectionLimited","areEnteAnnoFiltersDisabled","request","buildPagedFilters","cacheKey","stringify","cached","expiration","Date","data","result","set","now","CACHE_EXPIRATION_MIN","_angular_core__WEBPACK_IMPORTED_MODULE_3__","getAll","estraiCEAnnoPrecedente","updateRigaCE","idRiga","importoAP","calcolaGap","confirmWarning","cancellazioneGapPerimetro","canDuplicate","canCopyFromEnte","duplicate","copyFromEnte","deleteAll","swap","moltiplicatoreDareId","moltiplicatoreAvereId","put","downloadNotaIntegrativa","zone","realtimeNotifications$","Observable","observer","buildEventSource","_this","eventSource","EventSource","onmessage","run","next","onerror","_asyncToGenerator","complete","CLOSED","close","firstValueFrom","refreshTokens","accessToken","_angular_core__WEBPACK_IMPORTED_MODULE_5__","duplicatePartecipateEnte","findByCodiceFiscale","codiceFiscale","findMinDataCessione","idPartecipataEnte","unlinkPartecipata","calcolaPerimetro","downloadDelibera","getSoggettiInclusi","getEsercizi","deleteRegistrazioni","registrazioneAutomatica","log","calcolaRiduzioni","updateRiduzione","idRiduzione","riga","riduzioneProporzionale","hasRiduzioni","calcolaRiepilogo","checkDatiRiepilogoModificati","canInit","checkTotals","initSaldoIniziale","getSoggetti","calcolaPercentuale","soggettoA","soggettoB","downloadPdfElisione","cancellazioneScrittureElisione","downloadPdfPreconsolidamento","idSoggetto","cancellazioneScritturePreconsolidamento","downloadProspettoCep","includiAP","statoIniziale","downloadType","DownloadType","Word","Pdf","downloadCostiPerMissioneCep","downloadLibroGiornaleCep","downloadPdfNotaIntegrativaCep","downloadBdap","tassonomia","downloadMovimenti","downloadDocxNotaIntegrativa","idTemplate","getAvailableTemplateList","tipologia","getTipologiaByCode","getTipologieSelezionabili","getCofiGroupByTipologia","getPrimaNotaGroupByTipologia","getBCAnnoPrecedente","estraiBCAnnoPrecedente","calcolaBCAnnoPrecedente","updateRigaBC","upload","list","files","Array","from","download","attachment","_angular_core__WEBPACK_IMPORTED_MODULE_0__","oidcSecurityService","permissionsService","userData$","loggedUser","userData","getLoggedUser","rp","code","loadPermissions","route","url","checkAuth","signedIn$","isAuthenticated","popTmpUrl","navigateByUrl","pushTmpUrl","ModuloGuard","activeRoute","replaceUrl","EnteGuard","AnnoGuard","getLoggedUserSuccess","getLoggedUserFail","logoutSuccess","logoutFailure","setUserMustResetPassword","loginWithAAD","loginWithAADSuccess","loginWithAADFailure","login","loginSuccess","loginFailure","forgotPassword","forgotPasswordSuccess","forgotPasswordFailure","resetPassword","resetPasswordSuccess","resetPasswordFailure","sessionExpired","checkAADAuth","checkAuthSuccess","checkAuthFail","forceRefreshSucces","forceRefreshFail","resetAuthError","selectModulo","selectEnte","selectAnno","changePasswordSuccess","changePasswordFailure","AuthFacade","AuthSelectors","error$","selectLoginForm$","selectAuthError$","resetPasswordEmailSent$","selectUserMustResetPassword$","selectForgotPasswordForm$","selectResetPasswordForm$","seletQueryParams$","availableModules$","isAdmin$","selectModuloForm$","selectModuloPartecipataForm$","changePasswordForm$","loginAAD","rememberMe","AuthActions","username","password","newPassword","forceRefreshSuccess","loginFormInitialize","SetValueAction","LOGIN_FORM_ID","loginFormInitialState","ResetAction","loginFormInitializeWithTmpPassword","confirmPassword","prevModulo","prevEnte","prevAnno","initSelectModuloForm","SELECT_MODULO_FORM_ID","box","CHANGE_PASSWORD_FORM_ID","AUTH_FEATURE_KEY","FORGOT_PASSWORD_FORM_ID","SELECT_MODULO_PARTECIPATA_FORM_ID","selectModuloFormInitialState","subtract","year","selectModuloPartecipataFormInitialState","loginForm","createFormGroupState","userMustResetPassword","resetPasswordEmailSent","forgotPasswordForm","resetPasswordForm","selectModuloForm","selectModuloPartecipataForm","changePasswordForm","authError","validateForgotPasswordForm","updateGroup","validate","required","validateSelectModuloForm","validateSelectModuloPartecipataForm","validateChangePasswordForm","controlState","parentState","minLength","isValid","pattern","fieldEqualTo","rawReducer","onNgrxForms","wrapReducerWithFormStateUpdate","formState","validateLoginForm","getAuthState","selectLoginForm","selectLoggedUser","selectUserMustResetPassword","selectAuthError","selectForgotPasswordForm","selectResetPasswordForm","selectQueryParams","getRouterInfo","r","Number","isAdmin","RoleCode","Admin","SuperAdmin","availableModules","user","moduliToReturn","entiAssociati","enti","moduli","nuovoModulo","findIndex","idModulo","entiPerModulo","moduloEnte","CompanyUser","partecipateAssociate","partecipate","partecipata","ragioneSociale","moduloPartecipo","getSelectModuloForm","getSelectModuloPartecipataForm","getChangePasswordForm","form_r2","ngIf","onSubmit","cancel","controls","errors","isSubmitted","isInvalid","ChangePasswordModalContainer","activeModal","form$","form","unbox","ChangePasswordModalContainer_form_5_Template","onSubmitP","SelectModuloModalContainer_div_0_div_1_form_1_div_10_Template","showWarning","SelectModuloModalContainer_div_0_div_1_form_1_Template","formPartecipata$","form_r5","_r4","SelectModuloModalContainer_div_0_div_2_form_1_div_13_Template","entiForSelect","SelectModuloModalContainer_div_0_div_2_form_1_Template","SelectModuloModalContainer_div_0_div_1_Template","SelectModuloModalContainer_div_0_div_2_Template","SelectModuloModalContainer","SUPER_ENTE_CODE","c1","c2","SelectModuloModalContainer_div_0_Template","AuthEffects","modalService","prospettoService","failure$","errorFeedback","loginAAD$","switchToken","EMPTY","message","login$","status","loginSuccess$","logout$","logoutSuccess$","init","sessionExpired$","setTimeout","forceHideLoader","dismissAll","refresh$","mergeMap","getLoggedUserSuccess$","getLoggedUserFail$","checkAuth$","loggedIn","checkAuthFail$","getLoggedUser$","fetch","me","onError","forgotPassword$","forgotPasswordSuccess$","showSelectModuloPopup$","dialogRef","open","backdrop","size","enteToSelect","instance","componentInstance","showChangePassword$","selectModulo$","closeModuloRelatedTabs","clearModulo$","closeEnteAnnoRelatedTabs","selectEnte$","selectAnno$","i7","i8","i9","i10","ErrorPageComponent","showBack","back","EventEmitter","type","title","desc","outputs","ngContentSelectors","emit","ForbiddenContainer","ForgotPasswordContainer_form_0_div_7_Template","ForgotPasswordContainer","forgotPasswordForm$","ForgotPasswordContainer_form_0_Template","ForgotPasswordContainer_div_2_Template","LoginRootContainer","image","nativeElement","setAttribute","LoginContainer_form_0_div_2_Template","LoginContainer_form_0_div_4_Template","aadLogin","LoginContainer_form_0_div_15_Template","userMustResetPassword$","loginError$","LoginContainer","loginForm$","showLogin","LoginContainer_form_0_Template","authError_r5","ResetPasswordContainer","BaseContainer","showResetButton","queryParams$","resetForm$","authError$","takeUntil","ngUnsubscribe","reset_token","features","ResetPasswordContainer_form_0_Template","ResetPasswordContainer_div_2_Template","CustomStorage","read","localStorage","getItem","write","setItem","removeItem","AADCallbackGuard","TokenInterceptor","authfacade","isRefreshing","refreshTokenSubject","BehaviorSubject","intercept","handle","addTokenHeader","HttpErrorResponse","handle401Error","throwError","clone","headers","httpInterceptorProviders","HTTP_INTERCEPTORS","useClass","multi","EnteAnnoInterceptor","combineLatest","addEnteAnnoHeader","addAnnoHeader","ENTE_ID_HEADER","ESERCIZIO_HEADER","configureAuth","StsConfigStaticLoader","authority","authWellknownEndpointUrl","redirectUrl","origin","scope","maxIdTokenIatOffsetAllowedInSeconds","issValidationOff","autoUserInfo","useRefreshToken","logLevel","LogLevel","Debug","ignoreNonceAfterRefresh","customParamsAuthRequest","prompt","metaReducers","localStorageSyncReducer","localStorageSync","keys","rehydrate","removeOnUndefined","storageKeySerializer","mergeReducer","rehydratedState","merge","AuthService","AuthConfig","AbstractSecurityStorage","AuthModule","StsConfigLoader","useFactory","deps","NgbAccordionModule","forChild","STORAGE_LOCAL_ACCESS_TOKEN_KEY","STORAGE_LOCAL_REFRESH_TOKEN_KEY","STORAGE_TMP_URL_KEY","httpClient","checkAuthCompleted$","ReplaySubject","jwtHelper","JwtHelperService","isJwtTokenExpired","getLocalAccessToken","isAuthenticatedAAD","authorizeWithPopUp","HttpHeaders","SKIP_INTERCEPT_HEADER","storeTokenResult","Authorization","clearStorage","isAuthenticated$","logoffAndRevokeTokens","getLocalRefreshToken","sessionStorage","jwt","isTokenExpired","setLocalAccessToken","setLocalRefreshToken","refreshToken","_angular_core__WEBPACK_IMPORTED_MODULE_11__","Subject","ngOnDestroy","encapsulation","BaseListContainer","filters$","_filters","fields$","presetFilters$","fields","presetFilters","f","readOnly","pf","field","hideFilter","exportFields$","_exportFields","getColumnState$","columnState","getExcelFields","exportFilters$","_exportFilters","getFilterModel$","filterModel","mapFromFilterModel","sf","index","operator","exportSort$","_exportSort","cs","mapFromColumnState","columnDefs$","_columns","getGridColumns","hideColumn","colDef","initialHide","initialHideColumn","floatingFilterComponentParams","suppressFilterButton","values","elementValues","filterType","entityName","hidden","sharedFacade","routerFacade","confirmDialogService","customActions$","isFindMode$","isFindMode","actions","icon","onAction","entity","visible","locked","decoded","atob","areDomainUserFiltersDisabled$","isEntitySelectionLimited$","areEnteAnnoFiltersDisabled$","commonGridOptions","floatingFiltersHeight","pagination","sideBar","toolPanels","labelDefault","labelKey","iconKey","toolPanel","toolPanelParams","suppressPivotMode","suppressRowGroups","suppressValues","suppressColumnFilter","suppressPaginationPanel","enableCellTextSelection","onGridReady","onFilterChanged","onSortChanged","onColumnStateChanged","onColumnVisible","onColumnMoved","onColumnResized","defaultColDef","floatingFilter","resizable","suppressMenu","floatingFilterComponent","columnTypes","numberColumn","enumColumn","cellRenderer","dateColumn","filterFormState$","filterForm$","pageSize$","getPageSize$","currentPage$","getCurrentPage$","totalRows$","getTotalRows$","filterModel$","canDownloadExcel$","canRead$","canDelete$","canEdit$","canAdd$","canView$","findMode$","modalListMode$","isModalListMode$","activeFiltersCount$","model","Object","entries","gridOptions$","assign","showAdvancedFilters$","_ref","modalRef","content","showAdvancedFilters","_x","apply","arguments","setTotalRows","gridApi","api","columnApi","pageSize","pageSizeChanged","filterForm","gridFilters","mapToFilterModel","isEqual","getFilterModel","setFilterModel","newFilters","filterFormValue","setFilterFormValue","sortModel","getColumnState","applyColumnState","applyOrder","pageLoaded$","page","loaded","paginationGoToPage","onPageChange","newPage","setCurrentPage","onPageSizeChanged","setPageSize","gridOptionsWrapper","setProperty","purgeInfiniteCache","paginationSetPageSize","setColumnState","refreshTotals","_this2","go","rowModelType","filteresRows","forEachNodeAfterFilter","search","externalFilters","excel","_this3","columns","downloadExcel","exportJoin","addEntity","edit","navigateRelative","view","_this4","confirm","refreshServerSide","selectItem","refreshList","refreshServerSideStore","loadPage","BaseApiClient","getPaged","FilterType","datetime","FilterOperator","equals","inRange","startOf","toISOString","endOf","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","downloadPdf","BasePagedListContainer","searchFilters","columnDefs","serverSideInfiniteScroll","cacheBlockSize","paginationPageSize","setDatasource","setServerSideDatasource","destroy","getRows","setPageLoaded","success","rowData","rowCount","totalCount","loadPagedSuccess","loadPagedFailure","startRow","BaseListGuard","entityId$","BaseFormContainer","entity$","isNew$","forceCanDeactivate","canSave$","getCreatePermission","getUpdatePermission","clearEntityId","permissions$","canDeactivate","canViewEntity","getPermission","PERMISSION_READ","canAddEntity","PERMISSION_CREATE","formSaveCallback","formSave","formDelete","BaseDetailGuard","permissionService","entityId","hasEntity","getOptions","getLoadedEntity$","canCreate$","canUpdate$","isViewOnlyMode$","canCreate","canUpdate","disableForm","previousEntityId","isNew","load","loadSingle","selectEntityId","formInitialize","BaseLoadAllGuard","checkLoaded","loadedAll$","loadAll","BaseRootContainer","breadcrumb$","getBreadcrumb$","showBreadcrumb","isAddMode$","isEditMode$","isAddMode","isEditMode","isViewOnlyMode","isModalListMode","navigate","beforeNavigate","BaseLazyEntityFacade","entityFormId","entityFilterFormId","selectEntityForm","getSelectedEntity","selectEntityFilterForm","getGridState$","getGridState","getPageSize","getCurrentPage","getTotalRows","pageLoaded","getLoadedEntity","getQueryParams","callback","displayFormError","resetForm","loadGridPage","loadGridPageSuccess","rows","setGridState","gridState","currentPage","totalRows","LAZY_ENTITY_ACTIONS_TOKEN","InjectionToken","LAZY_ENTITY_SELECTORS_TOKEN","ENTITY_FORM_ID_TOKEN","ENTITY_FILTER_FORM_ID_TOKEN","BaseLazyEntityEffects","confirmService","keyboardSave$","keyboardSave","canSave","isDirty","keyboardDelete$","keyboardDelete","keyboardAdd$","keyboardAdd","canAdd","openFilters$","keyboardOpenFilters","applyFilters$","keyboardApplyFilters","visibleFilters","resetFilters$","keyboardResetFilters","formSave$","param","dto","mapToDto","upsertEntity","addEntity$","selectItem$","channelId$","channelId","notifySelectedItemToOpener","formDelete$","formReset$","addSuccess","updateSuccess","clearCache$","resetState","displayFormError$","downloadExcel$","tabClose$","manualClose","TAB_CLOSE_MESSAGE","formValue","update","createLazyState","initialFormValue","ENTITY_FORM_ID","ENTITY_FILTER_FORM_ID","stateFactory","createInitialStateFactory","getInitialState","additionalState","getInitialLazyEntityState","entityForm","entityFilterForm","selectedId","loadedEntity","selectorsFactory","createSelectorsFactory","getSelectors","selectEntities","selectState","entities","actionsFacory","createActionsFactory","ENTITY","getActions","setEntity","reducerFactory","createReducerFactory","extendBaseReducer","reducerExtension","basicReducer","AuthLogOut","concatReducers","BaseSharedEntityFacade","allEntities$","loadedAll","p","PERMISSION_DELETE_ALL","PERMISSION_DELETE","PERMISSION_UPDATE_ALL","PERMISSION_UPDATE","PERMISSION_CREATE_ALL","PERMISSION_READ_ALL","loadPaged","loadAllSuccess","updateManySuccess","u","notify","goBack","deleteEntity","changes","BaseSharedEntityEffects","service","loadPaged$","loadAll$","loadAllFailure","loadSingle$","getById","loadSingleFailure","update$","pessimisticUpdate","updated","updateFailure","updateSuccess$","updateFailure$","add$","addFailure","addSuccess$","addFailure$","delete$","deleteEntitySuccess","deleteEntityFailure","deleteError$","deleteSuccess$","notifyDeletedItemToOpener","blob","Blob","URL","createObjectURL","createElement","href","appendChild","click","revokeObjectURL","downloadExcelSuccess","responseFile","downloadExcelFailure","downloadExcelSuccess$","downloadExcelFailure$","createSharedState","selectAll","getAllEntities","ids","entityAdapter","resetOnEnteAnnoChange","resetByEnteAnnoReducerExtension","removeAll","reducers","setMany","setAll","setOne","updateOne","updateMany","addOne","removeOne","checkConsolidatoSuccess","checkConsolidatoFailure","checkEsercizioChiuso","checkEsercizioChiusoSuccess","checkEsercizioChiusoFailure","checkDatiRiepilogoModificatiSuccess","checkDatiRiepilogoModificatiFailure","getCheckBilanciState","CHECK_CHIUSURE_FEATURE_KEY","selectEsercizioChecked","esercizioChecked","selectEsercizioClosed","esercizioClosed","selectConsolidatoChecked","consolidatoChecked","selectConsolidatoExists","consolidatoExists","selectConsolidatoClosed","consolidatoClosed","selectConsolidatoEnteId","consolidatoEnteId","selectConsolidatoAnno","consolidatoAnno","selectEsercizioEnteId","esercizioEnteId","selectEsercizioAnno","esercizioAnno","selectDatiRiepilogoModificati","datiRiepilogoModificati","selectRiepilogoChecked","riepilogoChecked","CheckBilanciFacade","esercizioChecked$","CustomSelectors","esercizioClosed$","consolidatoChecked$","consolidatoExists$","consolidatoClosed$","consolidatoEnteId$","consolidatoAnno$","esercizioEnteId$","esercizioAnno$","riepilogoChecked$","datiRiepilogoModificati$","CustomActions","exists","closed","enteId","modificati","CheckBilanciEffects","chiusuraRipristinoEsercizioService","consolidatoService","riepilogoProspettiService","checkConsolidato$","consolidato","chiuso","checkEsercizioChiuso$","checkDatiRiepilogoModificati$","loggedEnte","loggedAnno","_angular_core__WEBPACK_IMPORTED_MODULE_9__","ContentAlignmentEnum","Left","Center","Right","PERMISSION_ACCESS","reduce","date","buildAgGridFilter","buildAgGridDateFilter","getAgGridFilterType","number","boolean","getDefaultOperator","text","enum","autocomplete","obj","filterTo","dateFrom","dateTo","gridFilter","colId","cs1","cs2","sortNumber","acc","toUpperCase","equalFilters","gridFilterModel","filtersMapped","getGridColumnType","fieldType","FieldType","currency","percent","getEventPath","currentTarget","getAllFocusableElementsOf","el","querySelectorAll","focusableEl","tabIndex","filterByAgGridFilterModel","agGridFilters","objectPath","notContains","notEqual","startsWith","endsWith","blank","notBlank","gridColumns","visibleColumns","excludeColumns","prefix","gc","c","headerName","elementLabel","headerClass","contentAlignmentMap","contentAlignment","filterParams","suppressAndOrCondition","cellStyle","cellRendererParams","precision","sortable","maxWidth","minWidth","valueGetter","exportHideColumn","resetStateAction","ROUTER_SERVICE_TOKEN","func","accumulatedState","x","addError","addApiErrorMsg","NgrxErrorFacade","ErrorActions","addApiErrorMessage","errorMessage","errorStatusCode","ApiErrorInterceptor","newHeaders","newRequest","ArrayBuffer","str","TextDecoder","decode","_angular_core__WEBPACK_IMPORTED_MODULE_4__","ErrorEffects","apiError$","lastApiErrorMessage","GlobalErrorHandler","injector","handleError","ErrorHandler","ErrorConfig","fromState","NgrxFormsModule","ReactiveFormsModule","dateLessThan","comparand","allowEqual","format","actual","valid","diff","dateGreaterThan","compareField","equalToErr","equalTo","ValidationMessageProvider","defaultValidationMessages","min","max","maxLength","errorInfo","timeLessThan","timeGreaterThan","alternativeFields","comparands","notEqualTo","selectItemValue","getMessage","msg","parameters","ph","replace","NgrxFormsErrorPipe","validationMessageProvider","transform","errKey","EJ8","pure","getState","KEYBOARD_FEATURE_KEY","getShowHelp","KeyboardFacade","applyFilters","KeyboardEffects","KeyboardShortcutsModule","showTab","navigateToFirstTab","NAVIGATION_FEATURE_KEY","getTabs","getActiveTab","tabActive","NavigationFacade","Selectors","setVisibility","cloneDeep","slashIndex","substring","positions","Math","AppNavigationConfig","NavigationEffects","closeTab$","NavigationActions","navigateToFirstAvailableTab$","firstOpenedTabPath","closeModuloRelatedTabs$","element","closeEnteAnnoRelatedTabs$","navigate$","routerNavigatedAction","payload","routerState","LoaderEffects","LOADER_FEATURE_KEY","active","actionsInProgress","LoaderActions","actionType","currentAction","newActionsInProgress","fromLoader","getLoaderState","isLoaderVisible","NgrxLoaderFacade","triggerAction","ADD_MODE_PARAM","VIEW_MODE_PARAM","FIND_MODE_PARAM","EDIT_MODE_PARAM","MODAL_LIST_MODE_PARAM","ModalWrapperComponent","sanitizer","mode","entityDisplayName","replaceAll","getTitle","loadIFrame","bc","channelName","uuidv4","sanitizedUrl","bypassSecurityTrustResourceUrl","BroadcastChannel","ev","dismiss","selectRouterState","RouterFacade","RouterSelectors","commands","relativeTo","getCurrentRoute","queryParamsHandling","root","firstChild","postMessage","addNewEntity","customTitle","openModal","editEntityDetail","openEntityDetail","searchEntity","btoa","openEntityList","fullscreen","filtersQp","entityQp","viewEntityDetail","modeParam","customClass","modal","windowClass","centered","modalDialogClass","modalInstance","CustomSerializer","serialize","ngrxRouterFeatureKey","routerReducer","StoreRouterConnectingModule","stateKey","serializer","ENTITY_PLURAL","PERMISSION_ACCESS_ENTITY","PERMISSION_READ_ENTITY","SHARED_ENTITY_ACTIONS_TOKEN","SHARED_ENTITY_SELECTORS_TOKEN","ENTITY_NAME_TOKEN","EntityEffects","SharedFacade","ENTITY_FEATURE_KEY","createEntityAdapter","selectId","entityState","getEntityState","sharedSelectors","LoadAllGuard","AppSharedAnalisiBilancioModule","fromEntity","percentPrecision","AppSharedAttivitaPartecipataModule","AppSharedBdapCepModule","AppSharedBilancioConsolidatoRigaDettaglioModule","AppSharedBilancioConsolidatoRigaModule","AppSharedBilancioConsolidatoModule","AppSharedBilancioEnteRigaModule","AppSharedBilancioEnteModule","AppSharedBilancioPartecipataRigaModule","AppSharedBilancioPartecipataModule","AppSharedCancellazioniCepModule","AppSharedCancellazioniPartecipoModule","AppSharedChiusuraRipristinoConsolidatoModule","AppSharedChiusuraRipristinoEsercizioModule","Es","Cr","StatoRecord","AppSharedCofiModule","TipoSocio","AppSharedCompagineSocialeModule","TipoConto","AppSharedContiNonRaccordatiModule","AppSharedContoEconomicoAnnoPrecedenteModule","AppSharedControlloCostiPerMissioneModule","AppSharedControlloSaldiModule","AppSharedCostiPerMissioneModule","AppSharedDefinizioneGapPerimetroModule","AppSharedDocumentoPartecipataModule","AppSharedEnteModule","TipologiaSoggettoGap","AppSharedGapModule","AppSharedIncaricoPartecipataModule","Segno","integer","entityService","AppSharedMatriceModule","AppSharedMissioneModule","Soggetto","AppSharedModelloContabileRigaModule","AppSharedModelloContabileModule","AppSharedModuloEnteModule","prospetti","PERMISSION_UPDATE_ENTITY","AppSharedMoltiplicatoreModule","PERMISSION_CREATE_ENTITY","AppSharedNotaIntegrativaCepModule","AppSharedNotificaModule","AppSharedParametroGapModule","decimal","AppSharedParametroPerimetroModule","AppSharedPartecipataEnteModule","AppSharedPartecipataServizioModule","gridColumnsCU","AppSharedPartecipataModule","currencyPrecision","gridColumns2","gridColumns3","AppSharedPerimetroModule","AppSharedPianoContiModule","Macro","AppSharedPianoFinanziarioModule","AppSharedPrimaNotaRigaModule","AppSharedPrimaNotaModule","AppSharedProgrammaModule","AppSharedProspettoModule","AppSharedRaccordoModule","AppSharedRiduzioneProporzionaleModule","AppSharedRiepilogoProspettiModule","AppSharedSaldoInizialeModule","AppSharedScritturaElisioneModule","AppSharedScritturaPreconsolidamentoModule","AppSharedServizioPubblicoModule","AppSharedStampeCepModule","AppSharedStampePartecipoModule","AppSharedStrutturaProspettoModule","TipologiaTemplate","AppSharedTemplateModule","AppSharedTipologiaCompensoModule","AppSharedTipologiaDocumentoModule","AppSharedTipologiaIncaricoModule","AppSharedTipologiaPartecipazioneModule","AppSharedTipologiaRegistrazioneModule","AppSharedUtenteEnteModule","AppSharedUtentePartecipataModule","getGridColumn","roles","AppSharedUtenteModule","AppSharedValoriAnnoPrecedenteModule","momentNs","DatepickerParserFormatter","NgbDateParserFormatter","toDate","day","getDate","month","getMonth","getFullYear","dt","media_r3","filename","ctx_r3","content_r6","zoom","FileReaderComponent_div_3_div_1_Template","FileReaderComponent_div_3_div_2_Template","FileReaderComponent_div_3_ideapa_icon_button_6_Template","isImage","FileReaderComponent_div_4_label_1_Template","selectedAttachment","FileReaderComponent_ng_template_5_img_1_Template","nextId","FileReaderComponent","uploadService","dialogService","accept","maximumSizeMB","multiple","loadImmediately","fileChange","maxSizeError","isDisabled","propagateChange","onTouched","validateFn","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","markForCheck","control","detach","onSelectFile","onLoad","getImagePreviewUrl","media","mimeType","lastValueFrom","input","downloadFile","downloadFromUrl","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","FileReaderComponent_div_3_Template","FileReaderComponent_div_4_Template","FileReaderComponent_ng_template_5_Template","GetSecureImageSourcePipe","fileApiClient","domSanitizer","cdr","unsafeBlobUrl","bypassSecurityTrustUrl","UiKitCoreModule","FormsModule","NgSelectModule","NgbDatepickerModule","IconButtonComponent","FormFieldsModule","NgbTypeaheadModule","NgbTooltipModule","AttachmentFieldComponent","FormFieldWrapperComponent","AgGridModule","NgbPaginationModule","BreadcrumbModule","ToastrModule","positionClass","tapToDismiss","MomentModule","ctx_r0","options","titleClass","messageClass","width","ToastComponent","Toast","toastrService","toastPackage","ToastComponent_div_2_Template","ToastComponent_div_3_Template","ToastComponent_div_4_Template","ToastComponent_span_6_Template","ToastComponent_div_7_Template","enableHtml","closeButton","progressBar","ToastService","toastr","autoDismiss","buildFeedbackOptions","warnNotification","warning","buildNotificationOptions","errorNotification","cssClass","opt","buildOptions","toastrConfig","toastComponent","disableTimeOut","_r3","cancelText","ConfirmDialogComponent","okText","ConfirmDialogComponent_div_0_Template","ConfirmDialogComponent_ideapa_button_5_Template","ConfirmDialogService","onDownloadLog","CopyFromEnteModalComponent_div_16_ideapa_button_4_Template","hasFile","CopyFromEnteModalComponent","downloadLog","closeModal","entiFrom","entiTo","FormGroup","fromEnte","Validators","toEnte","idEnte","logFile","CopyFromEnteModalComponent_div_16_Template","dirty","invalid","badgeClass","badgeContent","ButtonComponent","cssClasses","disabled","clicked","showBadge","ButtonComponent_span_5_Template","onToggle","DatepickerComponent","dateChanged","showIcon","inputClasses","isDatetime","hasError","autoClose","nullable","container","blur","change","ngOnChanges","minDate","internalMinDate","dateStringToNgbDate","maxDate","internalMaxDate","inputFormat","localeData","longDateFormat","Inputmask","alias","clearMaskOnLostFocus","mask","innerValue","ngbDateToDateString","val","onModelChange","dp","ngbDate","String","padStart","dateString","splittedDate","split","NgbDate","onBlur","onChange","NgbInputDatepicker","DatepickerComponent_div_4_Template","tabindex","iconFontSize","IconButtonComponent_span_3_Template","NumericInputComponent","inputValue","inputmask","unmaskedvalue","locale","digits","enforceDigitsOnBlur","rightAlign","digitsOptional","showGroupSeparator","setFocusOnInit","onInput","setValue","emitEvent","disable","enable","allowMinus","unmaskAsNumber","radixPoint","getLocaleNumberSymbol","NumberSymbol","Decimal","groupSeparator","Group","formatNumber","placeholder","focus","focusIn","selectAllContent","tgt","activeElement","item_r1","bindLabel","SelectComponent","_items","autocompleteConfig","typeToSearchText","minTermLength","appendTo","clearable","searchable","changed","canView","dropdownPosition","dataLoading","textInput$","searchFields","concat","distinctUntilChanged","term","NgSelectComponent","SelectComponent_ng_template_2_Template","SelectComponent_i_3_Template","SelectComponent_i_4_Template","bindValue","controlType","TextInputComponent","longText","forceUppercase","TextInputComponent_input_0_Template","TextInputComponent_textarea_1_Template","DuplicateModalComponent_div_15_ideapa_button_4_Template","DuplicateModalComponent","fromEsercizio","annoCorrente","toEsercizio","DuplicateModalComponent_div_15_Template","allFilters","dateAndNumbers","numbers","OPERATORS","setOperator","OperatorFilterComponent_ng_select_0_ng_template_1_Template","selectedItem","OperatorFilterComponent","_value","o","valueChanged","OperatorFilterComponent_ng_select_0_Template","OperatorFilterComponent_div_1_Template","filterTypes","valueControl_r3","selected","decodeInput_r5","SingleFilterComponent_ng_container_6_div_6_div_3_Template","autocompleteLoading","SingleFilterComponent_ng_container_6_span_1_Template","SingleFilterComponent_ng_container_6_ideapa_text_input_2_Template","SingleFilterComponent_ng_container_6_ideapa_numeric_input_3_Template","SingleFilterComponent_ng_container_6_ideapa_datepicker_4_Template","SingleFilterComponent_ng_container_6_ideapa_select_5_Template","SingleFilterComponent_ng_container_6_div_6_Template","i_r6","SingleFilterComponent","valueArray","valueForm","operatorControl","valueToEmit","isNotEmpty","decodeField","splittedField","showLabel","valueChange","subscriptions","text$","patchValue","onSelectOperator","markAsDirty","operators","FormArray","op","v","unsubscribe","arr","removeAt","markAsPristine","getRawValue","some","showClear","decodeInput","SingleFilterComponent_label_2_Template","SingleFilterComponent_span_4_Template","SingleFilterComponent_ng_container_6_Template","BaseFormFieldComponent","shouldShowError","tooltip","ctx_r4","_r6","_r7","AutocompleteFieldComponent","camelize","decodeFieldDisabled","getFormattedValue","momentDate","time","codeInput","addedItem","foundItem","allowFullSearch","exactMatch","startSearchAfterInsertedChars","bigInputCode","debounceTimeMicroseconds","itemsPerPage","codeFormatter","codeField","getDescendantProp","decodeFormatter","dec","decodeFieldFormat","resultFormatter","searchByCode","U","searchByDecode","sortBy","bracketCode","codeInput_r2","decodeInput_r3","AutocompleteFieldComponent_div_5_Template","AutocompleteFieldComponent_div_9_Template","AutocompleteFieldComponent_ideapa_icon_button_11_Template","AutocompleteFieldComponent_ideapa_icon_button_12_Template","AutocompleteFieldComponent_ideapa_icon_button_13_Template","internalValue","onChanged","CheckboxComponent","checked","CheckFieldComponent","tipContent_r2","err_r3","FormFieldWrapperComponent_ng_container_7_div_1_Template","showHint","FormFieldWrapperComponent_ng_template_0_Template","FormFieldWrapperComponent_ideapa_icon_button_5_Template","FormFieldWrapperComponent_ng_container_7_Template","NumericFieldComponent","isCurrency","SelectFieldComponent","TextFieldComponent","currentValue","CustomGridFilterComponent","valueChangedSubject","agInit","subscription","actualModel","getFilterInstance","column","getModel","setModel","onParentModelChanged","parentModel","newValue","CustomGridFilterComponent_ideapa_single_filter_0_Template","action_r2","class","DataGridActionRenderer","inject","ChangeDetectorRef","setActions","getColumn","getActualWidth","setColumnWidth","context","DataGridActionRenderer_ideapa_icon_button_1_Template","DataGridComponent","hideCommands","_hideCommands","setGridColumns","_prevColumnDefs","canSelect","_canSelect","rowSelection","selectedItems","_selectedItems","setSelectedItems","_columnDefs","checkColumnsHeaderName","loading","_loading","showLoadingOverlay","hideOverlay","currencyPipe","canEdit","showColumnsSidebar","customActions","columnStateChanged","rowClicked","rowDoubleClicked","modules","RowGroupingModule","ClientSideRowModelModule","ColumnsToolPanelModule","ServerSideRowModelModule","ClipboardModule","getPrecisionParams","defaultParams","minimumFractionDigits","maximumFractionDigits","overlayNoRowsTemplate","rowHeight","suppressCellFocus","ensureDomOrder","editable","enablePivot","enableValue","flex","components","gridComponentBooleanRenderer","gridComponentEnumRenderer","customGridActionRenderer","customGridFilter","boolColumn","currencyColumn","valueFormatter","percentColumn","getUserProvidedColDef","decimalFormatter","tooltipValueGetter","datetimeColumn","actionColumn","getRowStyle","background","node","rowIndex","getRowId","internalGridOptions","gridOptions","initActions","onSelectionChanged","selectedRow","getSelectedNodes","forEachNode","rn","setSelected","onRowDataChanged","rowClickedChanged","rowDoubleClickedChanged","columnDefs2","splice","headerCheckboxSelection","checkboxSelection","pinned","suppressMovable","suppressColumnsToolPanel","suppressSizeToFit","suppressKeyboardEvent","shiftKey","isTabForward","isTabBackward","suppressEvent","eGridCell","focusableChildrenElements","lastCellChildEl","firstCellChildEl","b","CurrencyPipe","json","item1","item2","prop","caseSensitive","asc","prop2","item2Prop","item1Descr","item2Descr","shift","downloadFromBuffer","percentFormatter","Intl","NumberFormat","style","integerFormatter","currencyFormatter","SuperOperator","Operator","ReadonlyOperator","EsercizioMinimo","TipoContoEnum","Costi","ContiOrdine","Ricavi","TipoSocioEnum","PUBBLICO","PRIVATO","Letto","TipoBilancio","BilancioCep","BilancioDiEsercizio","BilancioRiclassificato","TipoAnalisiBilancio","StatoPatrimonialeRiclassificato","ContoEconomicoRiclassificato","IndiciDiBilancioRiclassificato","TipologiaSoggettoGapEnum","PARTECIPATO","CONTROLLATO","MotivoInclusioneGap","MotivoEsclusioneGap","MotivoInclusionePerimetro","MotivoEsclusionePerimetro","TipologiaConsolidamento","MotivoEsclusionePerimetroEnum","IPIM","IPP","IRD","ParereRegolarita","TipologiaTemplateEnum","Nota_integrativa_CEP","Nota_integrativa_Partecipo","Delibera_GAP","TipoBdapCep","Exel","createExcel","_x2","_x3","_x4","_x5","_createExcel","beforeAddWorksheet","afterAddWorksheet","workbook","Workbook","addWorkbook","worksheet","addWorksheet","columnList","numFmt","header","getRow","eachCell","cell","font","bold","fill","fgColor","argb","bgColor","row","getRowValue","tz","addRow","eachRow","border","top","left","bottom","right","xlsx","writeBuffer","downloadXlsx","webpackContext","req","webpackContextResolve","resolve","module","exports"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./libs/app/notifications/src/lib/+state/notifications.actions.ts","./libs/app/notifications/src/lib/+state/notifications.reducer.ts","./libs/app/notifications/src/lib/+state/notifications.selectors.ts","./libs/app/notifications/src/lib/+state/notifications.facade.ts","./libs/app/notifications/src/lib/+state/notifications.effects.ts","./libs/app/notifications/src/lib/guards/load-unread-notifications.guard.ts","./libs/app/notifications/src/lib/app-notifications.module.ts","./apps/frontend/src/environments/environment.prod.ts","./apps/frontend/src/app/components/navbar/navbar.component.html","./apps/frontend/src/app/components/navbar/navbar.component.ts","./apps/frontend/src/app/routes.ts","./apps/frontend/src/app/components/sidebar/menu.ts","./apps/frontend/src/app/components/footer/footer.component.ts","./apps/frontend/src/app/components/footer/footer.component.html","./apps/frontend/src/app/components/sidebar/sidebar.component.html","./apps/frontend/src/app/components/sidebar/sidebar.component.ts","./apps/frontend/src/app/containers/layout/tab-layout.component.html","./apps/frontend/src/app/containers/layout/tab-layout.component.ts","./apps/frontend/src/app/containers/modal/modal.component.html","./apps/frontend/src/app/containers/modal/modal.component.ts","./apps/frontend/src/app/app-routing.module.ts","./libs/app/ui-kit/src/lib/loader/loader.component.ts","./libs/app/ui-kit/src/lib/loader/loader.component.html","./libs/app/keyboard/src/lib/components/keyboard-shortcuts-listener.component.ts","./apps/frontend/src/app/app.component.html","./apps/frontend/src/app/app.component.ts","./apps/frontend/src/app/app.module.ts","./apps/frontend/src/main.ts","./libs/app/api-client/src/lib/api-client-config.ts","./libs/app/api-client/src/lib/api-client.module.ts","./libs/app/api-client/src/lib/entities/analisi-bilancio.api-client.ts","./libs/app/api-client/src/lib/entities/attivita-partecipata.api-client.ts","./libs/app/api-client/src/lib/entities/bdap-cep.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-consolidato-riga-dettaglio.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-consolidato-riga.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-consolidato.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-ente-riga.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-ente.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-partecipata-riga.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-partecipata.api-client.ts","./libs/app/api-client/src/lib/entities/bilancio-righe.api-client.ts","./libs/app/api-client/src/lib/entities/cancellazioni-cep.api-client.ts","./libs/app/api-client/src/lib/entities/cancellazioni-partecipo.api-client.ts","./libs/app/api-client/src/lib/entities/chiusura-ripristino-consolidato.api-client.ts","./libs/app/api-client/src/lib/entities/chiusura-ripristino-esercizio.api-client.ts","./libs/app/api-client/src/lib/entities/cofi.api-client.ts","./libs/app/api-client/src/lib/entities/compagine-sociale.api-client.ts","./libs/app/api-client/src/lib/entities/conti-non-raccordati.api-client.ts","./libs/app/api-client/src/lib/entities/conto-economico-anno-precedente.api-client.ts","./libs/app/api-client/src/lib/entities/controllo-costi-per-missione.api-client.ts","./libs/app/api-client/src/lib/entities/controllo-saldi.api-client.ts","./libs/app/api-client/src/lib/entities/costi-per-missione.api-client.ts","./libs/app/api-client/src/lib/entities/documento-partecipata.api-client.ts","./libs/app/api-client/src/lib/entities/ente.api-client.ts","./libs/app/api-client/src/lib/entities/gap.api-client.ts","./libs/app/api-client/src/lib/entities/incarico-partecipata.api-client.ts","./libs/app/api-client/src/lib/entities/matrice.api-client.ts","./libs/app/api-client/src/lib/entities/missione.api-client.ts","./libs/app/api-client/src/lib/entities/modello-contabile-riga.api-client.ts","./libs/app/api-client/src/lib/entities/modello-contabile.api-client.ts","./libs/app/api-client/src/lib/entities/modulo-ente.api-client.ts","./libs/app/api-client/src/lib/entities/modulo.api-client.ts","./libs/app/api-client/src/lib/entities/moltiplicatore.api-client.ts","./libs/app/api-client/src/lib/entities/nota-integrativa-cep.api-client.ts","./libs/app/api-client/src/lib/entities/notifica.api-client.ts","./libs/app/api-client/src/lib/entities/parametro-gap.api-client.ts","./libs/app/api-client/src/lib/entities/parametro-perimetro.api-client.ts","./libs/app/api-client/src/lib/entities/partecipata-ente.api-client.ts","./libs/app/api-client/src/lib/entities/partecipata-indiretta.api-client.ts","./libs/app/api-client/src/lib/entities/partecipata-servizio.api-client.ts","./libs/app/api-client/src/lib/entities/partecipata.api-client.ts","./libs/app/api-client/src/lib/entities/perimetro.api-client.ts","./libs/app/api-client/src/lib/entities/piano-conti.api-client.ts","./libs/app/api-client/src/lib/entities/piano-finanziario.api-client.ts","./libs/app/api-client/src/lib/entities/prima-nota-riga.api-client.ts","./libs/app/api-client/src/lib/entities/prima-nota.api-client.ts","./libs/app/api-client/src/lib/entities/programma.api-client.ts","./libs/app/api-client/src/lib/entities/prospetto.api-client.ts","./libs/app/api-client/src/lib/entities/raccordo.api-client.ts","./libs/app/api-client/src/lib/entities/riduzione-proporzionale-riga.api-client.ts","./libs/app/api-client/src/lib/entities/riduzione-proporzionale.api-client.ts","./libs/app/api-client/src/lib/entities/riepilogo-prospetti.api-client.ts","./libs/app/api-client/src/lib/entities/ruolo.api-client.ts","./libs/app/api-client/src/lib/entities/saldo-iniziale.api-client.ts","./libs/app/api-client/src/lib/entities/scrittura-elisione-riga.api-client.ts","./libs/app/api-client/src/lib/entities/scrittura-elisione.api-client.ts","./libs/app/api-client/src/lib/entities/scrittura-preconsolidamento-riga.api-client.ts","./libs/app/api-client/src/lib/entities/scrittura-preconsolidamento.api-client.ts","./libs/app/api-client/src/lib/entities/servizio-pubblico.api-client.ts","./libs/app/api-client/src/lib/entities/soggetto.api-client.ts","./libs/app/api-client/src/lib/entities/stampe-cep.api-client.ts","./libs/app/api-client/src/lib/entities/stampe-partecipo.api-client.ts","./libs/app/api-client/src/lib/entities/struttura-prospetto.api-client.ts","./libs/app/api-client/src/lib/entities/template.api-client.ts","./libs/app/api-client/src/lib/entities/tipologia-compenso.api-client.ts","./libs/app/api-client/src/lib/entities/tipologia-documento.api-client.ts","./libs/app/api-client/src/lib/entities/tipologia-incarico.api-client.ts","./libs/app/api-client/src/lib/entities/tipologia-partecipazione.api-client.ts","./libs/app/api-client/src/lib/entities/tipologia-registrazione.api-client.ts","./libs/app/api-client/src/lib/entities/utente-ente.api-client.ts","./libs/app/api-client/src/lib/entities/utente-partecipata.api-client.ts","./libs/app/api-client/src/lib/entities/utente.api-client.ts","./libs/app/api-client/src/lib/entities/valori-anno-precedente.api-client.ts","./libs/app/api-client/src/lib/file.api-client.ts","./libs/app/auth/src/lib/guards/logged-user.guard.ts","./libs/app/auth/src/lib/guards/login.guard.ts","./libs/app/auth/src/lib/guards/modulo.guard.ts","./libs/app/auth/src/lib/guards/ente.guard.ts","./libs/app/auth/src/lib/guards/anno.guard.ts","./libs/app/auth/src/lib/+state/auth.actions.ts","./libs/app/auth/src/lib/+state/auth.facade.ts","./libs/app/auth/src/lib/+state/auth.reducer.ts","./libs/app/auth/src/lib/+state/auth.selectors.ts","./libs/app/auth/src/lib/containers/change-password-modal/change-password-modal.container.html","./libs/app/auth/src/lib/containers/change-password-modal/change-password-modal.container.ts","./libs/app/auth/src/lib/containers/select-modulo-modal/select-modulo-modal.container.html","./libs/app/auth/src/lib/containers/select-modulo-modal/select-modulo-modal.container.ts","./libs/app/auth/src/lib/+state/auth.effects.ts","./libs/app/ui-kit/src/lib/error-page/error-page.component.ts","./libs/app/ui-kit/src/lib/error-page/error-page.component.html","./libs/app/auth/src/lib/containers/forbidden/forbidden.container.ts","./libs/app/auth/src/lib/containers/forbidden/forbidden.container.html","./libs/app/auth/src/lib/containers/forgot-password/forgot-password.container.html","./libs/app/auth/src/lib/containers/forgot-password/forgot-password.container.ts","./libs/app/auth/src/lib/containers/login-root/login-root.container.ts","./libs/app/auth/src/lib/containers/login-root/login-root.container.html","./libs/app/auth/src/lib/containers/login/login.container.html","./libs/app/auth/src/lib/containers/login/login.container.ts","./libs/app/auth/src/lib/containers/reset-password/reset-password.container.html","./libs/app/auth/src/lib/containers/reset-password/reset-password.container.ts","./libs/app/auth/src/lib/custom-storage.ts","./libs/app/auth/src/lib/guards/aad-callback.guard.ts","./libs/app/auth/src/lib/auth.interceptor.ts","./libs/app/auth/src/lib/http-interceptor-providers.ts","./libs/app/auth/src/lib/ente-anno.interceptor.ts","./libs/app/auth/src/lib/app-auth.module.ts","./libs/app/auth/src/lib/auth-config.ts","./libs/app/auth/src/lib/auth.service.ts","./libs/app/base-components/src/lib/base.container.ts","./libs/app/base-components/src/lib/base-list.container.ts","./libs/app/base-components/src/lib/base-paged-list-action.ts","./libs/app/base-components/src/lib/base.api-client.ts","./libs/app/base-components/src/lib/base-paged-list.container.ts","./libs/app/base-components/src/lib/base-list.guard.ts","./libs/app/base-components/src/lib/base-form.container.ts","./libs/app/base-components/src/lib/base-detail.guard.ts","./libs/app/base-components/src/lib/base-load-all.guard.ts","./libs/app/base-components/src/lib/base-root.container.ts","./libs/app/base-components/src/lib/lazy-state/facade.ts","./libs/app/base-components/src/lib/lazy-state/models.ts","./libs/app/base-components/src/lib/lazy-state/effects.ts","./libs/app/base-components/src/lib/lazy-state/create.state.ts","./libs/app/base-components/src/lib/lazy-state/initialState.ts","./libs/app/base-components/src/lib/lazy-state/selectors.ts","./libs/app/base-components/src/lib/lazy-state/actions.ts","./libs/app/base-components/src/lib/lazy-state/reducer.ts","./libs/app/base-components/src/lib/shared-state/facade.ts","./libs/app/base-components/src/lib/shared-state/effects.ts","./libs/app/base-components/src/lib/shared-state/create.state.ts","./libs/app/base-components/src/lib/shared-state/selectors.ts","./libs/app/base-components/src/lib/shared-state/actions.ts","./libs/app/base-components/src/lib/shared-state/initialState.ts","./libs/app/base-components/src/lib/shared-state/reducer.ts","./libs/app/base-components/src/lib/baseCRUD.api-client.ts","./libs/app/check-bilanci/src/lib/+state/check-bilanci.actions.ts","./libs/app/check-bilanci/src/lib/+state/check-bilanci.selectors.ts","./libs/app/check-bilanci/src/lib/+state/check-bilanci.facade.ts","./libs/app/check-bilanci/src/lib/+state/check-bilanci.reducer.ts","./libs/app/check-bilanci/src/lib/+state/check-bilanci.effects.ts","./libs/app/check-bilanci/src/lib/app-check-bilanci.module.ts","./libs/app/check-bilanci/src/lib/guards/check-chiusura-esercizio.guard.ts","./libs/app/check-bilanci/src/lib/guards/check-consolidato.guard.ts","./libs/app/check-bilanci/src/lib/guards/check-dati-riepilogo-modificati.guard.ts","./libs/app/common/src/lib/entity-list-field.ts","./libs/app/common/src/lib/permissions.constant.ts","./libs/app/common/src/lib/ag-grid-utils.ts","./libs/app/common/src/lib/grid-utils.ts","./libs/app/common/src/lib/environment.token.ts","./libs/app/common/src/lib/reset-state.action.ts","./libs/app/common/src/lib/version.token.ts","./libs/app/common/src/lib/router-facade.interface.ts","./libs/app/common/src/lib/concat.reducers.ts","./libs/app/common/src/lib/filter-nullish.ts","./libs/app/error/src/lib/+state/ngrx-error.actions.ts","./libs/app/error/src/lib/+state/ngrx-error.facade.ts","./libs/app/error/src/lib/api-error.interceptor.ts","./libs/app/error/src/lib/+state/ngrx-error.effects.ts","./libs/app/error/src/lib/+state/ngrx-error.reducer.ts","./libs/app/error/src/lib/global-error-handler.service.ts","./libs/app/error/src/lib/app-error.module.ts","./libs/app/error/src/lib/error.config.ts","./libs/app/forms/src/lib/app-forms.module.ts","./libs/app/forms/src/lib/ngrx-forms-extensions/validation-functions.ts","./libs/app/forms/src/lib/directives/validation-message-provider.ts","./libs/app/forms/src/lib/pipes/ngrx-forms-errors-pipe.ts","./libs/app/keyboard/src/lib/+state/keyboard.actions.ts","./libs/app/keyboard/src/lib/+state/keyboard.selectors.ts","./libs/app/keyboard/src/lib/+state/keyboard.facade.ts","./libs/app/keyboard/src/lib/+state/keyboard.reducer.ts","./libs/app/keyboard/src/lib/+state/keyboard.effects.ts","./libs/app/keyboard/src/lib/app-keyboard.module.ts","./libs/app/navigation/src/lib/+state/navigation.actions.ts","./libs/app/navigation/src/lib/+state/navigation.selectors.ts","./libs/app/navigation/src/lib/+state/navigation.facade.ts","./libs/app/navigation/src/lib/+state/navigation.reducer.ts","./libs/app/navigation/src/lib/app-navigation-config.ts","./libs/app/navigation/src/lib/+state/navigation.effects.ts","./libs/app/navigation/src/lib/app-navigation.module.ts","./libs/app/ngrx-loader/src/lib/+state/ngrx-loader.effects.ts","./libs/app/ngrx-loader/src/lib/+state/ngrx-loader.actions.ts","./libs/app/ngrx-loader/src/lib/+state/ngrx-loader.reducer.ts","./libs/app/ngrx-loader/src/lib/app-ngrx-loader.module.ts","./libs/app/ngrx-loader/src/lib/+state/ngrx-loader.selectors.ts","./libs/app/ngrx-loader/src/lib/+state/ngrx-loader.facade.ts","./libs/app/routing-utils/src/lib/constants.ts","./libs/app/routing-utils/src/lib/modal-wrapper.component.ts","./libs/app/routing-utils/src/lib/+state/selectors.ts","./libs/app/routing-utils/src/lib/+state/router.facade.ts","./libs/app/routing-utils/src/lib/custom-serializer.ts","./libs/app/routing-utils/src/lib/router.interfaces.ts","./libs/app/routing-utils/src/lib/app-routing-utils.module.ts","./libs/app/shared/analisi-bilancio/src/lib/+state/constants.ts","./libs/app/shared/analisi-bilancio/src/lib/+state/effects.ts","./libs/app/shared/analisi-bilancio/src/lib/+state/facade.ts","./libs/app/shared/analisi-bilancio/src/lib/+state/reducer.ts","./libs/app/shared/analisi-bilancio/src/lib/+state/selectors.ts","./libs/app/shared/analisi-bilancio/src/lib/guards/load-all.guard.ts","./libs/app/shared/analisi-bilancio/src/lib/app-shared-analisi-bilancio.module.ts","./libs/app/shared/attivita-partecipata/src/lib/+state/constants.ts","./libs/app/shared/attivita-partecipata/src/lib/+state/effects.ts","./libs/app/shared/attivita-partecipata/src/lib/+state/facade.ts","./libs/app/shared/attivita-partecipata/src/lib/+state/reducer.ts","./libs/app/shared/attivita-partecipata/src/lib/+state/selectors.ts","./libs/app/shared/attivita-partecipata/src/lib/guards/load-all.guard.ts","./libs/app/shared/attivita-partecipata/src/lib/app-shared-attivita-partecipata.module.ts","./libs/app/shared/bdap-cep/src/lib/+state/constants.ts","./libs/app/shared/bdap-cep/src/lib/+state/effects.ts","./libs/app/shared/bdap-cep/src/lib/+state/facade.ts","./libs/app/shared/bdap-cep/src/lib/+state/reducer.ts","./libs/app/shared/bdap-cep/src/lib/+state/selectors.ts","./libs/app/shared/bdap-cep/src/lib/guards/load-all.guard.ts","./libs/app/shared/bdap-cep/src/lib/app-shared-bdap-cep.module.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/+state/constants.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/+state/effects.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/+state/facade.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-consolidato-riga-dettaglio/src/lib/app-shared-bilancio-consolidato-riga-dettaglio.module.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/+state/constants.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/+state/effects.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/+state/facade.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-consolidato-riga/src/lib/app-shared-bilancio-consolidato-riga.module.ts","./libs/app/shared/bilancio-consolidato/src/lib/+state/constants.ts","./libs/app/shared/bilancio-consolidato/src/lib/+state/effects.ts","./libs/app/shared/bilancio-consolidato/src/lib/+state/facade.ts","./libs/app/shared/bilancio-consolidato/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-consolidato/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-consolidato/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-consolidato/src/lib/app-shared-bilancio-consolidato.module.ts","./libs/app/shared/bilancio-ente-riga/src/lib/+state/constants.ts","./libs/app/shared/bilancio-ente-riga/src/lib/+state/effects.ts","./libs/app/shared/bilancio-ente-riga/src/lib/+state/facade.ts","./libs/app/shared/bilancio-ente-riga/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-ente-riga/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-ente-riga/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-ente-riga/src/lib/app-shared-bilancio-ente-riga.module.ts","./libs/app/shared/bilancio-ente/src/lib/+state/constants.ts","./libs/app/shared/bilancio-ente/src/lib/+state/effects.ts","./libs/app/shared/bilancio-ente/src/lib/+state/facade.ts","./libs/app/shared/bilancio-ente/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-ente/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-ente/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-ente/src/lib/app-shared-bilancio-ente.module.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/+state/constants.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/+state/effects.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/+state/facade.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-partecipata-riga/src/lib/app-shared-bilancio-partecipata-riga.module.ts","./libs/app/shared/bilancio-partecipata/src/lib/+state/constants.ts","./libs/app/shared/bilancio-partecipata/src/lib/+state/effects.ts","./libs/app/shared/bilancio-partecipata/src/lib/+state/facade.ts","./libs/app/shared/bilancio-partecipata/src/lib/+state/reducer.ts","./libs/app/shared/bilancio-partecipata/src/lib/+state/selectors.ts","./libs/app/shared/bilancio-partecipata/src/lib/guards/load-all.guard.ts","./libs/app/shared/bilancio-partecipata/src/lib/app-shared-bilancio-partecipata.module.ts","./libs/app/shared/cancellazioni-cep/src/lib/+state/constants.ts","./libs/app/shared/cancellazioni-cep/src/lib/+state/effects.ts","./libs/app/shared/cancellazioni-cep/src/lib/+state/facade.ts","./libs/app/shared/cancellazioni-cep/src/lib/+state/reducer.ts","./libs/app/shared/cancellazioni-cep/src/lib/+state/selectors.ts","./libs/app/shared/cancellazioni-cep/src/lib/guards/load-all.guard.ts","./libs/app/shared/cancellazioni-cep/src/lib/app-shared-cancellazioni-cep.module.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/+state/constants.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/+state/effects.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/+state/facade.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/+state/reducer.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/+state/selectors.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/guards/load-all.guard.ts","./libs/app/shared/cancellazioni-partecipo/src/lib/app-shared-cancellazioni-partecipo.module.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/+state/constants.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/+state/effects.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/+state/facade.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/+state/reducer.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/+state/selectors.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/guards/load-all.guard.ts","./libs/app/shared/chiusura-ripristino-consolidato/src/lib/app-shared-chiusura-ripristino-consolidato.module.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/+state/constants.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/+state/effects.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/+state/facade.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/+state/reducer.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/+state/selectors.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/guards/load-all.guard.ts","./libs/app/shared/chiusura-ripristino-esercizio/src/lib/app-shared-chiusura-ripristino-esercizio.module.ts","./libs/app/shared/cofi/src/lib/+state/constants.ts","./libs/app/shared/cofi/src/lib/+state/effects.ts","./libs/app/shared/cofi/src/lib/+state/facade.ts","./libs/app/shared/cofi/src/lib/+state/reducer.ts","./libs/app/shared/cofi/src/lib/+state/selectors.ts","./libs/app/shared/cofi/src/lib/guards/load-all.guard.ts","./libs/app/shared/cofi/src/lib/app-shared-cofi.module.ts","./libs/app/shared/compagine-sociale/src/lib/+state/constants.ts","./libs/app/shared/compagine-sociale/src/lib/+state/effects.ts","./libs/app/shared/compagine-sociale/src/lib/+state/facade.ts","./libs/app/shared/compagine-sociale/src/lib/+state/reducer.ts","./libs/app/shared/compagine-sociale/src/lib/+state/selectors.ts","./libs/app/shared/compagine-sociale/src/lib/guards/load-all.guard.ts","./libs/app/shared/compagine-sociale/src/lib/app-shared-compagine-sociale.module.ts","./libs/app/shared/conti-non-raccordati/src/lib/+state/constants.ts","./libs/app/shared/conti-non-raccordati/src/lib/+state/effects.ts","./libs/app/shared/conti-non-raccordati/src/lib/+state/facade.ts","./libs/app/shared/conti-non-raccordati/src/lib/+state/reducer.ts","./libs/app/shared/conti-non-raccordati/src/lib/+state/selectors.ts","./libs/app/shared/conti-non-raccordati/src/lib/guards/load-all.guard.ts","./libs/app/shared/conti-non-raccordati/src/lib/app-shared-conti-non-raccordati.module.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/+state/constants.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/+state/effects.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/+state/facade.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/+state/reducer.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/+state/selectors.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/guards/load-all.guard.ts","./libs/app/shared/conto-economico-anno-precedente/src/lib/app-shared-conto-economico-anno-precedente.module.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/+state/constants.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/+state/effects.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/+state/facade.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/+state/reducer.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/+state/selectors.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/guards/load-all.guard.ts","./libs/app/shared/controllo-costi-per-missione/src/lib/app-shared-controllo-costi-per-missione.module.ts","./libs/app/shared/controllo-saldi/src/lib/+state/constants.ts","./libs/app/shared/controllo-saldi/src/lib/+state/effects.ts","./libs/app/shared/controllo-saldi/src/lib/+state/facade.ts","./libs/app/shared/controllo-saldi/src/lib/+state/reducer.ts","./libs/app/shared/controllo-saldi/src/lib/+state/selectors.ts","./libs/app/shared/controllo-saldi/src/lib/guards/load-all.guard.ts","./libs/app/shared/controllo-saldi/src/lib/app-shared-controllo-saldi.module.ts","./libs/app/shared/costi-per-missione/src/lib/+state/constants.ts","./libs/app/shared/costi-per-missione/src/lib/+state/effects.ts","./libs/app/shared/costi-per-missione/src/lib/+state/facade.ts","./libs/app/shared/costi-per-missione/src/lib/+state/reducer.ts","./libs/app/shared/costi-per-missione/src/lib/+state/selectors.ts","./libs/app/shared/costi-per-missione/src/lib/guards/load-all.guard.ts","./libs/app/shared/costi-per-missione/src/lib/app-shared-costi-per-missione.module.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/+state/constants.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/+state/effects.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/+state/facade.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/+state/reducer.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/+state/selectors.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/guards/load-all.guard.ts","./libs/app/shared/definizione-gap-perimetro/src/lib/app-shared-definizione-gap-perimetro.module.ts","./libs/app/shared/documento-partecipata/src/lib/+state/constants.ts","./libs/app/shared/documento-partecipata/src/lib/+state/effects.ts","./libs/app/shared/documento-partecipata/src/lib/+state/facade.ts","./libs/app/shared/documento-partecipata/src/lib/+state/reducer.ts","./libs/app/shared/documento-partecipata/src/lib/+state/selectors.ts","./libs/app/shared/documento-partecipata/src/lib/guards/load-all.guard.ts","./libs/app/shared/documento-partecipata/src/lib/app-shared-documento-partecipata.module.ts","./libs/app/shared/ente/src/lib/+state/constants.ts","./libs/app/shared/ente/src/lib/+state/reducer.ts","./libs/app/shared/ente/src/lib/+state/facade.ts","./libs/app/shared/ente/src/lib/+state/selectors.ts","./libs/app/shared/ente/src/lib/+state/effects.ts","./libs/app/shared/ente/src/lib/guards/load-all.guard.ts","./libs/app/shared/ente/src/lib/app-shared-ente.module.ts","./libs/app/shared/gap/src/lib/+state/constants.ts","./libs/app/shared/gap/src/lib/+state/effects.ts","./libs/app/shared/gap/src/lib/+state/facade.ts","./libs/app/shared/gap/src/lib/+state/reducer.ts","./libs/app/shared/gap/src/lib/+state/selectors.ts","./libs/app/shared/gap/src/lib/guards/load-all.guard.ts","./libs/app/shared/gap/src/lib/app-shared-gap.module.ts","./libs/app/shared/incarico-partecipata/src/lib/+state/constants.ts","./libs/app/shared/incarico-partecipata/src/lib/+state/effects.ts","./libs/app/shared/incarico-partecipata/src/lib/+state/facade.ts","./libs/app/shared/incarico-partecipata/src/lib/+state/reducer.ts","./libs/app/shared/incarico-partecipata/src/lib/+state/selectors.ts","./libs/app/shared/incarico-partecipata/src/lib/guards/load-all.guard.ts","./libs/app/shared/incarico-partecipata/src/lib/app-shared-incarico-partecipata.module.ts","./libs/app/shared/matrice/src/lib/+state/constants.ts","./libs/app/shared/matrice/src/lib/+state/reducer.ts","./libs/app/shared/matrice/src/lib/+state/facade.ts","./libs/app/shared/matrice/src/lib/+state/selectors.ts","./libs/app/shared/matrice/src/lib/+state/effects.ts","./libs/app/shared/matrice/src/lib/guards/load-all.guard.ts","./libs/app/shared/matrice/src/lib/app-shared-matrice.module.ts","./libs/app/shared/missione/src/lib/+state/constants.ts","./libs/app/shared/missione/src/lib/+state/reducer.ts","./libs/app/shared/missione/src/lib/+state/facade.ts","./libs/app/shared/missione/src/lib/+state/selectors.ts","./libs/app/shared/missione/src/lib/+state/effects.ts","./libs/app/shared/missione/src/lib/guards/load-all.guard.ts","./libs/app/shared/missione/src/lib/app-shared-missione.module.ts","./libs/app/shared/modello-contabile-riga/src/lib/+state/constants.ts","./libs/app/shared/modello-contabile-riga/src/lib/+state/effects.ts","./libs/app/shared/modello-contabile-riga/src/lib/+state/facade.ts","./libs/app/shared/modello-contabile-riga/src/lib/+state/reducer.ts","./libs/app/shared/modello-contabile-riga/src/lib/+state/selectors.ts","./libs/app/shared/modello-contabile-riga/src/lib/guards/load-all.guard.ts","./libs/app/shared/modello-contabile-riga/src/lib/app-shared-modello-contabile-riga.module.ts","./libs/app/shared/modello-contabile/src/lib/+state/constants.ts","./libs/app/shared/modello-contabile/src/lib/+state/effects.ts","./libs/app/shared/modello-contabile/src/lib/+state/facade.ts","./libs/app/shared/modello-contabile/src/lib/+state/reducer.ts","./libs/app/shared/modello-contabile/src/lib/+state/selectors.ts","./libs/app/shared/modello-contabile/src/lib/guards/load-all.guard.ts","./libs/app/shared/modello-contabile/src/lib/app-shared-modello-contabile.module.ts","./libs/app/shared/modulo-ente/src/lib/+state/constants.ts","./libs/app/shared/modulo-ente/src/lib/+state/reducer.ts","./libs/app/shared/modulo-ente/src/lib/+state/facade.ts","./libs/app/shared/modulo-ente/src/lib/+state/selectors.ts","./libs/app/shared/modulo-ente/src/lib/+state/effects.ts","./libs/app/shared/modulo-ente/src/lib/guards/load-all.guard.ts","./libs/app/shared/modulo-ente/src/lib/app-shared-modulo-ente.module.ts","./libs/app/shared/moltiplicatore/src/lib/+state/constants.ts","./libs/app/shared/moltiplicatore/src/lib/+state/effects.ts","./libs/app/shared/moltiplicatore/src/lib/+state/facade.ts","./libs/app/shared/moltiplicatore/src/lib/+state/reducer.ts","./libs/app/shared/moltiplicatore/src/lib/+state/selectors.ts","./libs/app/shared/moltiplicatore/src/lib/guards/load-all.guard.ts","./libs/app/shared/moltiplicatore/src/lib/app-shared-moltiplicatore.module.ts","./libs/app/shared/nota-integrativa-cep/src/lib/+state/constants.ts","./libs/app/shared/nota-integrativa-cep/src/lib/+state/effects.ts","./libs/app/shared/nota-integrativa-cep/src/lib/+state/facade.ts","./libs/app/shared/nota-integrativa-cep/src/lib/+state/reducer.ts","./libs/app/shared/nota-integrativa-cep/src/lib/+state/selectors.ts","./libs/app/shared/nota-integrativa-cep/src/lib/guards/load-all.guard.ts","./libs/app/shared/nota-integrativa-cep/src/lib/app-shared-nota-integrativa-cep.module.ts","./libs/app/shared/notifica/src/lib/+state/constants.ts","./libs/app/shared/notifica/src/lib/+state/effects.ts","./libs/app/shared/notifica/src/lib/+state/facade.ts","./libs/app/shared/notifica/src/lib/+state/reducer.ts","./libs/app/shared/notifica/src/lib/+state/selectors.ts","./libs/app/shared/notifica/src/lib/guards/load-all.guard.ts","./libs/app/shared/notifica/src/lib/app-shared-notifica.module.ts","./libs/app/shared/parametro-gap/src/lib/+state/constants.ts","./libs/app/shared/parametro-gap/src/lib/+state/effects.ts","./libs/app/shared/parametro-gap/src/lib/+state/facade.ts","./libs/app/shared/parametro-gap/src/lib/+state/reducer.ts","./libs/app/shared/parametro-gap/src/lib/+state/selectors.ts","./libs/app/shared/parametro-gap/src/lib/guards/load-all.guard.ts","./libs/app/shared/parametro-gap/src/lib/app-shared-parametro-gap.module.ts","./libs/app/shared/parametro-perimetro/src/lib/+state/constants.ts","./libs/app/shared/parametro-perimetro/src/lib/+state/effects.ts","./libs/app/shared/parametro-perimetro/src/lib/+state/facade.ts","./libs/app/shared/parametro-perimetro/src/lib/+state/reducer.ts","./libs/app/shared/parametro-perimetro/src/lib/+state/selectors.ts","./libs/app/shared/parametro-perimetro/src/lib/guards/load-all.guard.ts","./libs/app/shared/parametro-perimetro/src/lib/app-shared-parametro-perimetro.module.ts","./libs/app/shared/partecipata-ente/src/lib/+state/constants.ts","./libs/app/shared/partecipata-ente/src/lib/+state/effects.ts","./libs/app/shared/partecipata-ente/src/lib/+state/facade.ts","./libs/app/shared/partecipata-ente/src/lib/+state/reducer.ts","./libs/app/shared/partecipata-ente/src/lib/+state/selectors.ts","./libs/app/shared/partecipata-ente/src/lib/guards/load-all.guard.ts","./libs/app/shared/partecipata-ente/src/lib/app-shared-partecipata-ente.module.ts","./libs/app/shared/partecipata-servizio/src/lib/+state/constants.ts","./libs/app/shared/partecipata-servizio/src/lib/+state/effects.ts","./libs/app/shared/partecipata-servizio/src/lib/+state/facade.ts","./libs/app/shared/partecipata-servizio/src/lib/+state/reducer.ts","./libs/app/shared/partecipata-servizio/src/lib/+state/selectors.ts","./libs/app/shared/partecipata-servizio/src/lib/guards/load-all.guard.ts","./libs/app/shared/partecipata-servizio/src/lib/app-shared-partecipata-servizio.module.ts","./libs/app/shared/partecipata/src/lib/+state/constants.ts","./libs/app/shared/partecipata/src/lib/+state/effects.ts","./libs/app/shared/partecipata/src/lib/+state/facade.ts","./libs/app/shared/partecipata/src/lib/+state/reducer.ts","./libs/app/shared/partecipata/src/lib/+state/selectors.ts","./libs/app/shared/partecipata/src/lib/guards/load-all.guard.ts","./libs/app/shared/partecipata/src/lib/app-shared-partecipata.module.ts","./libs/app/shared/perimetro/src/lib/+state/constants.ts","./libs/app/shared/perimetro/src/lib/+state/effects.ts","./libs/app/shared/perimetro/src/lib/+state/facade.ts","./libs/app/shared/perimetro/src/lib/+state/reducer.ts","./libs/app/shared/perimetro/src/lib/+state/selectors.ts","./libs/app/shared/perimetro/src/lib/guards/load-all.guard.ts","./libs/app/shared/perimetro/src/lib/app-shared-perimetro.module.ts","./libs/app/shared/piano-conti/src/lib/+state/constants.ts","./libs/app/shared/piano-conti/src/lib/+state/effects.ts","./libs/app/shared/piano-conti/src/lib/+state/facade.ts","./libs/app/shared/piano-conti/src/lib/+state/reducer.ts","./libs/app/shared/piano-conti/src/lib/+state/selectors.ts","./libs/app/shared/piano-conti/src/lib/guards/load-all.guard.ts","./libs/app/shared/piano-conti/src/lib/app-shared-piano-conti.module.ts","./libs/app/shared/piano-finanziario/src/lib/+state/constants.ts","./libs/app/shared/piano-finanziario/src/lib/+state/effects.ts","./libs/app/shared/piano-finanziario/src/lib/+state/facade.ts","./libs/app/shared/piano-finanziario/src/lib/+state/reducer.ts","./libs/app/shared/piano-finanziario/src/lib/+state/selectors.ts","./libs/app/shared/piano-finanziario/src/lib/guards/load-all.guard.ts","./libs/app/shared/piano-finanziario/src/lib/app-shared-piano-finanziario.module.ts","./libs/app/shared/prima-nota-riga/src/lib/+state/constants.ts","./libs/app/shared/prima-nota-riga/src/lib/+state/effects.ts","./libs/app/shared/prima-nota-riga/src/lib/+state/facade.ts","./libs/app/shared/prima-nota-riga/src/lib/+state/reducer.ts","./libs/app/shared/prima-nota-riga/src/lib/+state/selectors.ts","./libs/app/shared/prima-nota-riga/src/lib/guards/load-all.guard.ts","./libs/app/shared/prima-nota-riga/src/lib/app-shared-prima-nota-riga.module.ts","./libs/app/shared/prima-nota/src/lib/+state/constants.ts","./libs/app/shared/prima-nota/src/lib/+state/effects.ts","./libs/app/shared/prima-nota/src/lib/+state/facade.ts","./libs/app/shared/prima-nota/src/lib/+state/reducer.ts","./libs/app/shared/prima-nota/src/lib/+state/selectors.ts","./libs/app/shared/prima-nota/src/lib/guards/load-all.guard.ts","./libs/app/shared/prima-nota/src/lib/app-shared-prima-nota.module.ts","./libs/app/shared/programma/src/lib/+state/constants.ts","./libs/app/shared/programma/src/lib/+state/effects.ts","./libs/app/shared/programma/src/lib/+state/facade.ts","./libs/app/shared/programma/src/lib/+state/reducer.ts","./libs/app/shared/programma/src/lib/+state/selectors.ts","./libs/app/shared/programma/src/lib/guards/load-all.guard.ts","./libs/app/shared/programma/src/lib/app-shared-programma.module.ts","./libs/app/shared/prospetto/src/lib/+state/constants.ts","./libs/app/shared/prospetto/src/lib/+state/effects.ts","./libs/app/shared/prospetto/src/lib/+state/facade.ts","./libs/app/shared/prospetto/src/lib/+state/reducer.ts","./libs/app/shared/prospetto/src/lib/+state/selectors.ts","./libs/app/shared/prospetto/src/lib/guards/load-all.guard.ts","./libs/app/shared/prospetto/src/lib/app-shared-prospetto.module.ts","./libs/app/shared/raccordo/src/lib/+state/constants.ts","./libs/app/shared/raccordo/src/lib/+state/effects.ts","./libs/app/shared/raccordo/src/lib/+state/facade.ts","./libs/app/shared/raccordo/src/lib/+state/reducer.ts","./libs/app/shared/raccordo/src/lib/+state/selectors.ts","./libs/app/shared/raccordo/src/lib/guards/load-all.guard.ts","./libs/app/shared/raccordo/src/lib/app-shared-raccordo.module.ts","./libs/app/shared/riduzione-proporzionale/src/lib/+state/constants.ts","./libs/app/shared/riduzione-proporzionale/src/lib/+state/effects.ts","./libs/app/shared/riduzione-proporzionale/src/lib/+state/facade.ts","./libs/app/shared/riduzione-proporzionale/src/lib/+state/reducer.ts","./libs/app/shared/riduzione-proporzionale/src/lib/+state/selectors.ts","./libs/app/shared/riduzione-proporzionale/src/lib/guards/load-all.guard.ts","./libs/app/shared/riduzione-proporzionale/src/lib/app-shared-riduzione-proporzionale.module.ts","./libs/app/shared/riepilogo-prospetti/src/lib/+state/constants.ts","./libs/app/shared/riepilogo-prospetti/src/lib/+state/effects.ts","./libs/app/shared/riepilogo-prospetti/src/lib/+state/facade.ts","./libs/app/shared/riepilogo-prospetti/src/lib/+state/reducer.ts","./libs/app/shared/riepilogo-prospetti/src/lib/+state/selectors.ts","./libs/app/shared/riepilogo-prospetti/src/lib/guards/load-all.guard.ts","./libs/app/shared/riepilogo-prospetti/src/lib/app-shared-riepilogo-prospetti.module.ts","./libs/app/shared/saldo-iniziale/src/lib/+state/constants.ts","./libs/app/shared/saldo-iniziale/src/lib/+state/effects.ts","./libs/app/shared/saldo-iniziale/src/lib/+state/facade.ts","./libs/app/shared/saldo-iniziale/src/lib/+state/reducer.ts","./libs/app/shared/saldo-iniziale/src/lib/+state/selectors.ts","./libs/app/shared/saldo-iniziale/src/lib/guards/load-all.guard.ts","./libs/app/shared/saldo-iniziale/src/lib/app-shared-saldo-iniziale.module.ts","./libs/app/shared/scrittura-elisione/src/lib/+state/constants.ts","./libs/app/shared/scrittura-elisione/src/lib/+state/effects.ts","./libs/app/shared/scrittura-elisione/src/lib/+state/facade.ts","./libs/app/shared/scrittura-elisione/src/lib/+state/reducer.ts","./libs/app/shared/scrittura-elisione/src/lib/+state/selectors.ts","./libs/app/shared/scrittura-elisione/src/lib/guards/load-all.guard.ts","./libs/app/shared/scrittura-elisione/src/lib/app-shared-scrittura-elisione.module.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/+state/constants.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/+state/effects.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/+state/facade.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/+state/reducer.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/+state/selectors.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/guards/load-all.guard.ts","./libs/app/shared/scrittura-preconsolidamento/src/lib/app-shared-scrittura-preconsolidamento.module.ts","./libs/app/shared/servizio-pubblico/src/lib/+state/constants.ts","./libs/app/shared/servizio-pubblico/src/lib/+state/effects.ts","./libs/app/shared/servizio-pubblico/src/lib/+state/facade.ts","./libs/app/shared/servizio-pubblico/src/lib/+state/reducer.ts","./libs/app/shared/servizio-pubblico/src/lib/+state/selectors.ts","./libs/app/shared/servizio-pubblico/src/lib/guards/load-all.guard.ts","./libs/app/shared/servizio-pubblico/src/lib/app-shared-servizio-pubblico.module.ts","./libs/app/shared/stampe-cep/src/lib/+state/constants.ts","./libs/app/shared/stampe-cep/src/lib/+state/effects.ts","./libs/app/shared/stampe-cep/src/lib/+state/facade.ts","./libs/app/shared/stampe-cep/src/lib/+state/reducer.ts","./libs/app/shared/stampe-cep/src/lib/+state/selectors.ts","./libs/app/shared/stampe-cep/src/lib/guards/load-all.guard.ts","./libs/app/shared/stampe-cep/src/lib/app-shared-stampe-cep.module.ts","./libs/app/shared/stampe-partecipo/src/lib/+state/constants.ts","./libs/app/shared/stampe-partecipo/src/lib/+state/effects.ts","./libs/app/shared/stampe-partecipo/src/lib/+state/facade.ts","./libs/app/shared/stampe-partecipo/src/lib/+state/reducer.ts","./libs/app/shared/stampe-partecipo/src/lib/+state/selectors.ts","./libs/app/shared/stampe-partecipo/src/lib/guards/load-all.guard.ts","./libs/app/shared/stampe-partecipo/src/lib/app-shared-stampe-partecipo.module.ts","./libs/app/shared/struttura-prospetto/src/lib/+state/constants.ts","./libs/app/shared/struttura-prospetto/src/lib/+state/effects.ts","./libs/app/shared/struttura-prospetto/src/lib/+state/facade.ts","./libs/app/shared/struttura-prospetto/src/lib/+state/reducer.ts","./libs/app/shared/struttura-prospetto/src/lib/+state/selectors.ts","./libs/app/shared/struttura-prospetto/src/lib/guards/load-all.guard.ts","./libs/app/shared/struttura-prospetto/src/lib/app-shared-struttura-prospetto.module.ts","./libs/app/shared/template/src/lib/+state/constants.ts","./libs/app/shared/template/src/lib/+state/effects.ts","./libs/app/shared/template/src/lib/+state/facade.ts","./libs/app/shared/template/src/lib/+state/reducer.ts","./libs/app/shared/template/src/lib/+state/selectors.ts","./libs/app/shared/template/src/lib/guards/load-all.guard.ts","./libs/app/shared/template/src/lib/app-shared-template.module.ts","./libs/app/shared/tipologia-compenso/src/lib/+state/constants.ts","./libs/app/shared/tipologia-compenso/src/lib/+state/effects.ts","./libs/app/shared/tipologia-compenso/src/lib/+state/facade.ts","./libs/app/shared/tipologia-compenso/src/lib/+state/reducer.ts","./libs/app/shared/tipologia-compenso/src/lib/+state/selectors.ts","./libs/app/shared/tipologia-compenso/src/lib/guards/load-all.guard.ts","./libs/app/shared/tipologia-compenso/src/lib/app-shared-tipologia-compenso.module.ts","./libs/app/shared/tipologia-documento/src/lib/+state/constants.ts","./libs/app/shared/tipologia-documento/src/lib/+state/effects.ts","./libs/app/shared/tipologia-documento/src/lib/+state/facade.ts","./libs/app/shared/tipologia-documento/src/lib/+state/reducer.ts","./libs/app/shared/tipologia-documento/src/lib/+state/selectors.ts","./libs/app/shared/tipologia-documento/src/lib/guards/load-all.guard.ts","./libs/app/shared/tipologia-documento/src/lib/app-shared-tipologia-documento.module.ts","./libs/app/shared/tipologia-incarico/src/lib/+state/constants.ts","./libs/app/shared/tipologia-incarico/src/lib/+state/effects.ts","./libs/app/shared/tipologia-incarico/src/lib/+state/facade.ts","./libs/app/shared/tipologia-incarico/src/lib/+state/reducer.ts","./libs/app/shared/tipologia-incarico/src/lib/+state/selectors.ts","./libs/app/shared/tipologia-incarico/src/lib/guards/load-all.guard.ts","./libs/app/shared/tipologia-incarico/src/lib/app-shared-tipologia-incarico.module.ts","./libs/app/shared/tipologia-partecipazione/src/lib/+state/constants.ts","./libs/app/shared/tipologia-partecipazione/src/lib/+state/effects.ts","./libs/app/shared/tipologia-partecipazione/src/lib/+state/facade.ts","./libs/app/shared/tipologia-partecipazione/src/lib/+state/reducer.ts","./libs/app/shared/tipologia-partecipazione/src/lib/+state/selectors.ts","./libs/app/shared/tipologia-partecipazione/src/lib/guards/load-all.guard.ts","./libs/app/shared/tipologia-partecipazione/src/lib/app-shared-tipologia-partecipazione.module.ts","./libs/app/shared/tipologia-registrazione/src/lib/+state/constants.ts","./libs/app/shared/tipologia-registrazione/src/lib/+state/effects.ts","./libs/app/shared/tipologia-registrazione/src/lib/+state/facade.ts","./libs/app/shared/tipologia-registrazione/src/lib/+state/reducer.ts","./libs/app/shared/tipologia-registrazione/src/lib/+state/selectors.ts","./libs/app/shared/tipologia-registrazione/src/lib/guards/load-all.guard.ts","./libs/app/shared/tipologia-registrazione/src/lib/app-shared-tipologia-registrazione.module.ts","./libs/app/shared/utente-ente/src/lib/+state/constants.ts","./libs/app/shared/utente-ente/src/lib/+state/reducer.ts","./libs/app/shared/utente-ente/src/lib/+state/facade.ts","./libs/app/shared/utente-ente/src/lib/+state/selectors.ts","./libs/app/shared/utente-ente/src/lib/+state/effects.ts","./libs/app/shared/utente-ente/src/lib/guards/load-all.guard.ts","./libs/app/shared/utente-ente/src/lib/app-shared-utente-ente.module.ts","./libs/app/shared/utente-partecipata/src/lib/+state/constants.ts","./libs/app/shared/utente-partecipata/src/lib/+state/reducer.ts","./libs/app/shared/utente-partecipata/src/lib/+state/facade.ts","./libs/app/shared/utente-partecipata/src/lib/+state/selectors.ts","./libs/app/shared/utente-partecipata/src/lib/+state/effects.ts","./libs/app/shared/utente-partecipata/src/lib/guards/load-all.guard.ts","./libs/app/shared/utente-partecipata/src/lib/app-shared-utente-partecipata.module.ts","./libs/app/shared/utente/src/lib/+state/constants.ts","./libs/app/shared/utente/src/lib/+state/reducer.ts","./libs/app/shared/utente/src/lib/+state/facade.ts","./libs/app/shared/utente/src/lib/+state/selectors.ts","./libs/app/shared/utente/src/lib/+state/effects.ts","./libs/app/shared/utente/src/lib/guards/load-all.guard.ts","./libs/app/shared/utente/src/lib/app-shared-utente.module.ts","./libs/app/shared/valori-anno-precedente/src/lib/+state/constants.ts","./libs/app/shared/valori-anno-precedente/src/lib/+state/effects.ts","./libs/app/shared/valori-anno-precedente/src/lib/+state/facade.ts","./libs/app/shared/valori-anno-precedente/src/lib/+state/reducer.ts","./libs/app/shared/valori-anno-precedente/src/lib/+state/selectors.ts","./libs/app/shared/valori-anno-precedente/src/lib/guards/load-all.guard.ts","./libs/app/shared/valori-anno-precedente/src/lib/app-shared-valori-anno-precedente.module.ts","./libs/app/ui-kit/src/lib/core/datepicker/datepicker-parser-formatter.ts","./libs/app/ui-kit/src/lib/core/file-reader/file-reader.component.html","./libs/app/ui-kit/src/lib/core/file-reader/file-reader.component.ts","./libs/app/ui-kit/src/lib/core/get-secure-img-source/get-secure-img-source.pipe.ts","./libs/app/ui-kit/src/lib/core/uikit-core.module.ts","./libs/app/ui-kit/src/lib/form-fields/form-fields.module.ts","./libs/app/ui-kit/src/lib/app-ui-kit.module.ts","./libs/app/ui-kit/src/lib/toast/toast.component.ts","./libs/app/ui-kit/src/lib/toast/toast.service.ts","./libs/app/ui-kit/src/lib/confirm-dialog/confirm-dialog.component.html","./libs/app/ui-kit/src/lib/confirm-dialog/confirm-dialog.component.ts","./libs/app/ui-kit/src/lib/confirm-dialog/confirm-dialog.service.ts","./libs/app/ui-kit/src/lib/copy-from-ente-modal/copy-from-ente-modal.component.html","./libs/app/ui-kit/src/lib/copy-from-ente-modal/copy-from-ente-modal.component.ts","./libs/app/ui-kit/src/lib/core/button/button.component.ts","./libs/app/ui-kit/src/lib/core/datepicker/datepicker.component.html","./libs/app/ui-kit/src/lib/core/datepicker/datepicker.component.ts","./libs/app/ui-kit/src/lib/core/icon-button/icon-button.component.ts","./libs/app/ui-kit/src/lib/core/numeric-input/numeric-input.component.ts","./libs/app/ui-kit/src/lib/core/numeric-input/numeric-input.component.html","./libs/app/ui-kit/src/lib/core/select/select.component.html","./libs/app/ui-kit/src/lib/core/select/select.component.ts","./libs/app/ui-kit/src/lib/core/text-input/text-input.component.html","./libs/app/ui-kit/src/lib/core/text-input/text-input.component.ts","./libs/app/ui-kit/src/lib/duplicate-modal/duplicate-modal.component.html","./libs/app/ui-kit/src/lib/duplicate-modal/duplicate-modal.component.ts","./libs/app/ui-kit/src/lib/filters/operators/operators.ts","./libs/app/ui-kit/src/lib/filters/operators/operators.component.html","./libs/app/ui-kit/src/lib/filters/operators/operators.component.ts","./libs/app/ui-kit/src/lib/filters/single-filter/single-filter.component.html","./libs/app/ui-kit/src/lib/filters/single-filter/single-filter.component.ts","./libs/app/ui-kit/src/lib/form-fields/attachment-field/attachment-field.component.ts","./libs/app/ui-kit/src/lib/form-fields/autocomplete-field/autocomplete-field.component.ts","./libs/app/ui-kit/src/lib/form-fields/base-form-field.component.ts","./libs/app/ui-kit/src/lib/core/checkbox/checkbox.component.ts","./libs/app/ui-kit/src/lib/core/checkbox/checkbox.component.html","./libs/app/ui-kit/src/lib/form-fields/check-field/check-field.component.ts","./libs/app/ui-kit/src/lib/form-fields/form-field-wrapper.component.ts","./libs/app/ui-kit/src/lib/form-fields/numeric-field/numeric-field.component.ts","./libs/app/ui-kit/src/lib/form-fields/select-field/select-field.component.ts","./libs/app/ui-kit/src/lib/form-fields/text-field/text-field.component.ts","./libs/app/ui-kit/src/lib/grid/custom-grid-filter.component.ts","./libs/app/ui-kit/src/lib/grid/data-grid/data-grid-action-renderer.component.ts","./libs/app/ui-kit/src/lib/grid/data-grid/data-grid.component.ts","./libs/app/ui-kit/src/lib/grid/data-grid/data-grid.component.html","./libs/common/interfaces/src/lib/field-type.enum.ts","./libs/common/interfaces/src/lib/filter-operator.enum.ts","./libs/common/interfaces/src/lib/filter-type.enum.ts","./libs/common/utils/src/lib/utils.ts","./libs/common/utils/src/lib/entity-constants.ts","./libs/common/utils/src/lib/excel.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NotificaInApp } from '@ideapa/app-shared-notifica';\nimport { createAction, props } from '@ngrx/store';\n\nexport const getUserLatestNotifications = createAction(\n '[Ngrx/Notifications] Get User Latest Notifications'\n);\n\nexport const getUserLatestNotificationsSuccess = createAction(\n '[Ngrx/Notifications] Get User Latest Notifications Success',\n props<{ items: NotificaInApp[]; counter: number }>()\n);\n\nexport const getUserLatestNotificationsFailure = createAction(\n '[Ngrx/Notifications] Get User Latest Notifications Failure',\n props<{ error: string }>()\n);\n\nexport const subscribeUserNotifications = createAction(\n '[Ngrx/Notifications] Subscribe User Notifications'\n);\n\nexport const receivedUserNotification = createAction(\n '[Ngrx/Notifications] Received User Notification',\n props<{ item: NotificaInApp }>()\n);\n\nexport const subscribeUserNotificationsFailure = createAction(\n '[Ngrx/Notifications] Subscribe User Notifications Failure',\n props<{ error: string }>()\n);\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { NotificaInApp, sharedActions } from '@ideapa/app-shared-notifica';\nimport { NotificaWithCounter } from '@ideapa/common-dto';\nimport { createReducer, on } from '@ngrx/store';\nimport * as Actions from './notifications.actions';\n\nexport const NOTIFICATIONS_FEATURE_KEY = 'notifications';\n\nexport interface NotificationsPartialState {\n readonly [NOTIFICATIONS_FEATURE_KEY]: NotificationsState;\n}\n\nexport interface NotificationsState {\n notifications: NotificaInApp[];\n isLoaded: boolean;\n unreadCount: number;\n}\n\nconst initialState: NotificationsState = {\n notifications: [],\n isLoaded: false,\n unreadCount: 0,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(Actions.getUserLatestNotificationsSuccess, (state, { items, counter }) => {\n return {\n ...state,\n notifications: items,\n isLoaded: true,\n unreadCount: counter,\n };\n }),\n on(sharedActions.loadSingleSuccess, (state, { item }) => {\n return {\n ...state,\n notifications: state.notifications.map((n) => {\n if (item.id === n.id) {\n return { ...n, stato: item.stato };\n }\n return n;\n }),\n unreadCount: (item).unreadCount,\n };\n }),\n on(Actions.receivedUserNotification, (state, { item }) => {\n // Posiziono la notifica ricevuta in testa all'array\n // Rimuovo l'ultima dell'array per mantenere sempre le più recenti\n return {\n ...state,\n notifications:\n state.notifications.length >= 5\n ? [item, ...state.notifications.slice(0, 4)]\n : [item, ...state.notifications],\n unreadCount: state.unreadCount + 1,\n };\n }),\n on(Actions.getUserLatestNotificationsFailure, (state, { error }) => {\n return {\n ...state,\n isLoaded: true,\n };\n })\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport {\n NOTIFICATIONS_FEATURE_KEY,\n NotificationsState,\n} from './notifications.reducer';\n\nexport const getNotificationsState = createFeatureSelector(\n NOTIFICATIONS_FEATURE_KEY\n);\n\nexport const selectLoaded = createSelector(\n getNotificationsState,\n (s) => s.isLoaded\n);\n\nexport const selectItems = createSelector(\n getNotificationsState,\n (s) => s.notifications\n);\n\nexport const unreadCount = createSelector(\n getNotificationsState,\n (s) => s.unreadCount\n);\n","import { Injectable } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\n\nimport * as NotificationsActions from './notifications.actions';\nimport { NotificationsPartialState } from './notifications.reducer';\nimport {\n selectItems,\n selectLoaded,\n unreadCount,\n} from './notifications.selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationsFacade {\n isLoaded$ = this.store.pipe(select(selectLoaded));\n\n items$ = this.store.pipe(select(selectItems));\n\n unreadCount$ = this.store.pipe(select(unreadCount));\n\n constructor(private store: Store) {}\n\n getUserUnreadNotifications() {\n this.store.dispatch(NotificationsActions.getUserLatestNotifications());\n }\n\n subscribeUserNotifications() {\n this.store.dispatch(NotificationsActions.subscribeUserNotifications());\n }\n}\n","import {\n catchError,\n concatMap,\n map,\n of,\n switchMap,\n tap,\n withLatestFrom,\n} from 'rxjs';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { Injectable } from '@angular/core';\nimport { NotificaApiClient } from '@ideapa/app-api-client';\nimport { AuthService } from '@ideapa/app-auth';\nimport { filterNullish } from '@ideapa/app-common';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { NotificaInApp } from '@ideapa/app-shared-notifica';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\n\nimport * as NotificationsActions from './notifications.actions';\nimport { NotificationsFacade } from './notifications.facade';\n\n@Injectable()\nexport class NotificationsEffects {\n constructor(\n private actions$: Actions,\n private facade: NotificationsFacade,\n private loader: NgrxLoaderFacade,\n private apiClient: NotificaApiClient,\n private authService: AuthService,\n private toastService: ToastService\n ) {}\n\n getUserUnreadNotifications$ = createEffect(() =>\n this.actions$.pipe(\n ofType(NotificationsActions.getUserLatestNotifications),\n switchMap((action) => {\n this.loader.showLoader(action);\n return this.apiClient.getUserLatestNotifications().pipe(\n map((response) => {\n this.loader.hideLoader(action);\n\n const notificheDto = response.items;\n\n const notificheInApp = notificheDto.map((notificaDto) => {\n const contenutoNotifica = JSON.parse(notificaDto.contenuto);\n\n const notificaInApp: NotificaInApp = {\n id: notificaDto.id,\n timestamp: notificaDto.timestamp,\n stato: notificaDto.stato,\n titolo: contenutoNotifica.titolo,\n testo: contenutoNotifica.testo,\n };\n return notificaInApp;\n });\n\n return NotificationsActions.getUserLatestNotificationsSuccess({\n items: notificheInApp,\n counter: response.unreadCount,\n });\n }),\n catchError((error) => {\n this.loader.hideLoader(action);\n return of(\n NotificationsActions.getUserLatestNotificationsFailure(error)\n );\n })\n );\n })\n )\n );\n\n subscribeUserNotifications$ = createEffect(() =>\n this.actions$.pipe(\n ofType(NotificationsActions.subscribeUserNotifications),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(this.authService.accessToken$.pipe(filterNullish()))\n )\n ),\n switchMap(([action, token]) => {\n return this.apiClient.getUserNotifications(token).pipe(\n map((response) => {\n const notificaDto = response;\n\n const contenutoNotifica = JSON.parse(notificaDto.contenuto);\n\n const notificaInApp: NotificaInApp = {\n id: notificaDto.id,\n timestamp: notificaDto.timestamp,\n stato: notificaDto.stato,\n titolo: contenutoNotifica.titolo,\n testo: contenutoNotifica.testo,\n };\n\n return NotificationsActions.receivedUserNotification({\n item: notificaInApp,\n });\n }),\n catchError((err) => {\n return of(\n NotificationsActions.subscribeUserNotificationsFailure(err)\n );\n })\n );\n })\n )\n );\n\n receivedUserNotification$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(NotificationsActions.receivedUserNotification),\n tap((response) => {\n const notificaInApp = response.item;\n\n this.toastService.successFeedback(\n notificaInApp.titolo,\n notificaInApp.testo\n );\n })\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { filter, first, map, Observable } from 'rxjs';\nimport { NotificationsFacade } from '../+state/notifications.facade';\n\n@Injectable()\nexport class LoadUnreadNotificationsGuard implements CanActivate {\n constructor(private notificationsFacade: NotificationsFacade) {}\n\n canActivate(): Observable {\n return this.checkStore();\n }\n\n checkStore(): Observable {\n return this.notificationsFacade.isLoaded$.pipe(\n map((isLoaded) => {\n if (!isLoaded) {\n this.notificationsFacade.getUserUnreadNotifications();\n this.notificationsFacade.subscribeUserNotifications();\n }\n return isLoaded;\n }),\n filter((isLoaded) => isLoaded),\n first()\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { NotificationsEffects } from './+state/notifications.effects';\nimport { NotificationsFacade } from './+state/notifications.facade';\nimport {\n NOTIFICATIONS_FEATURE_KEY,\n reducer,\n} from './+state/notifications.reducer';\nimport { LoadUnreadNotificationsGuard } from './guards/load-unread-notifications.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(NOTIFICATIONS_FEATURE_KEY, reducer),\n EffectsModule.forFeature([NotificationsEffects]),\n ],\n})\nexport class AppNotificationsModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: AppNotificationsModule\n ) {\n if (parentModule) {\n throw new Error(\n 'AppNotificationsModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: AppNotificationsModule,\n providers: [NotificationsFacade, LoadUnreadNotificationsGuard],\n };\n }\n}\n","export const environment = {\n production: true,\n apiBaseUrl: 'https://idea-software-prod-app-service.azurewebsites.net/api',\n aadClientId: '37bdb299-9d80-490e-816e-e8240c9d25e9',\n aadTenantId: '92f46c1a-644a-40e4-83a0-c7b24680b25c',\n version: '0.1.0',\n environment: 'prod',\n agGridLicenseKey: '',\n};\n","\n","/* eslint-disable no-empty */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n} from '@angular/core';\nimport { AuthFacade } from '@ideapa/app-auth';\nimport { KeyboardFacade } from '@ideapa/app-keyboard';\nimport { NotificationsFacade } from '@ideapa/app/notifications';\nimport { StatoEvento } from '@ideapa/common-utils';\n\n@Component({\n selector: 'ideapa-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarComponent {\n loggedUser$ = this.authFacade.selectLoggedUser$;\n\n notificheInApp$ = this.notificationsFacade.items$;\n\n unreadCount$ = this.notificationsFacade.unreadCount$;\n\n @Input()\n hideNavbar = false;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private authFacade: AuthFacade,\n private keyboardFacade: KeyboardFacade,\n private notificationsFacade: NotificationsFacade\n ) {}\n\n get StatoNotifica() {\n return StatoEvento;\n }\n\n /**\n * Sidebar toggle on hamburger button click\n */\n toggleSidebar(e: Event) {\n e.preventDefault();\n this.document.body.classList.toggle('sidebar-open');\n }\n\n /**\n * Logout\n */\n onLogout(e: Event) {\n this.authFacade.logout();\n }\n\n changePassword(e: Event) {\n this.authFacade.showChangePasswordPopup();\n }\n\n refresh() {\n this.authFacade.forceRefresh();\n }\n\n showHelp() {\n this.keyboardFacade.showHelp(true);\n }\n}\n","import { ExtendedRoute, PERMISSION_ACCESS_ALL } from '@ideapa/app-common';\nimport {\n ENTITY as ANALISI_BILANCIO_ENTITY,\n ENTITY_PLURAL as ANALISI_BILANCIO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as ANALISI_BILANCIO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-analisi-bilancio';\nimport {\n ENTITY as ATTIVITA_PARTECIPATA_ENTITY,\n ENTITY_PLURAL as ATTIVITA_PARTECIPATA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as ATTIVITA_PARTECIPATA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-attivita-partecipata';\nimport {\n ENTITY as BDAP_CEP_ENTITY,\n ENTITY_PLURAL as BDAP_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as BDAP_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bdap-cep';\nimport {\n ENTITY as BILANCIO_CONSOLIDATO_ENTITY,\n ENTITY_PLURAL as BILANCIO_CONSOLIDATO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as BILANCIO_CONSOLIDATO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-consolidato';\nimport {\n ENTITY as BILANCIO_CONSOLIDATO_RIGA_ENTITY,\n ENTITY_PLURAL as BILANCIO_CONSOLIDATO_RIGA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as BILANCIO_CONSOLIDATO_RIGA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-consolidato-riga';\nimport {\n ENTITY as BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ENTITY,\n ENTITY_PLURAL as BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-consolidato-riga-dettaglio';\nimport {\n ENTITY as BILANCIO_ENTE_ENTITY,\n PERMISSION_ACCESS_ENTITY as BILANCIO_ENTE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-ente';\nimport {\n ENTITY as BILANCIO_ENTE_RIGA_ENTITY,\n PERMISSION_ACCESS_ENTITY as BILANCIO_ENTE_RIGA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-ente-riga';\nimport {\n ENTITY as BILANCIO_PARTECIPATA_ENTITY,\n ENTITY_PLURAL as BILANCIO_PARTECIPATA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as BILANCIO_PARTECIPATA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-partecipata';\nimport {\n ENTITY as BILANCIO_PARTECIPATA_RIGA_ENTITY,\n ENTITY_PLURAL as BILANCIO_PARTECIPATA_RIGA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as BILANCIO_PARTECIPATA_RIGA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-bilancio-partecipata-riga';\nimport {\n ENTITY as CANCELLAZIONI_CEP_ENTITY,\n ENTITY_PLURAL as CANCELLAZIONI_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CANCELLAZIONI_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-cancellazioni-cep';\nimport {\n ENTITY as CANCELLAZIONI_PARTECIPO_ENTITY,\n ENTITY_PLURAL as CANCELLAZIONI_PARTECIPO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CANCELLAZIONI_PARTECIPO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-cancellazioni-partecipo';\nimport {\n ENTITY as CHIUSURA_RIPRISTINO_CONSOLIDATO_ENTITY,\n ENTITY_PLURAL as CHIUSURA_RIPRISTINO_CONSOLIDATO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CHIUSURA_RIPRISTINO_CONSOLIDATO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-chiusura-ripristino-consolidato';\nimport {\n ENTITY as CHIUSURA_RIPRISTINO_ESERCIZIO_ENTITY,\n ENTITY_PLURAL as CHIUSURA_RIPRISTINO_ESERCIZIO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CHIUSURA_RIPRISTINO_ESERCIZIO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-chiusura-ripristino-esercizio';\nimport {\n ENTITY as COFI_ENTITY,\n ENTITY_PLURAL as COFI_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as COFI_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-cofi';\nimport {\n ENTITY as COMPAGINE_SOCIALE_ENTITY,\n ENTITY_PLURAL as COMPAGINE_SOCIALE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as COMPAGINE_SOCIALE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-compagine-sociale';\nimport {\n ENTITY as CONTI_NON_RACCORDATI_CEP_ENTITY,\n ENTITY_PLURAL as CONTI_NON_RACCORDATI_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CONTI_NON_RACCORDATI_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-conti-non-raccordati';\nimport {\n ENTITY as CONTO_ECONOMICO_ANNO_PRECEDENTE_ENTITY,\n ENTITY_PLURAL as CONTO_ECONOMICO_ANNO_PRECEDENTE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CONTO_ECONOMICO_ANNO_PRECEDENTE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-conto-economico-anno-precedente';\nimport {\n ENTITY as CONTROLLO_COSTI_PER_MISSIONE_CEP_ENTITY,\n ENTITY_PLURAL as CONTROLLO_COSTI_PER_MISSIONE_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CONTROLLO_COSTI_PER_MISSIONE_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-controllo-costi-per-missione';\nimport {\n ENTITY as CONTROLLO_SALDI_CEP_ENTITY,\n ENTITY_PLURAL as CONTROLLO_SALDI_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as CONTROLLO_SALDI_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-controllo-saldi';\nimport {\n ENTITY as COSTI_PER_MISSIONE_ENTITY,\n ENTITY_PLURAL as COSTI_PER_MISSIONE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as COSTI_PER_MISSIONE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-costi-per-missione';\nimport {\n ENTITY as DEFINIZIONE_GAP_PERIMETRO_ENTITY,\n ENTITY_PLURAL as DEFINIZIONE_GAP_PERIMETRO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as DEFINIZIONE_GAP_PERIMETRO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-definizione-gap-perimetro';\nimport {\n ENTITY as DOCUMENTO_PARTECIPATA_ENTITY,\n ENTITY_PLURAL as DOCUMENTO_PARTECIPATA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as DOCUMENTO_PARTECIPATA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-documento-partecipata';\nimport {\n ENTITY as ENTE_ENTITY,\n ENTITY_PLURAL as ENTE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as ENTE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-ente';\nimport {\n ENTITY as GAP_ENTITY,\n ENTITY_PLURAL as GAP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as GAP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-gap';\nimport {\n ENTITY as INCARICO_PARTECIPATA_ENTITY,\n ENTITY_PLURAL as INCARICO_PARTECIPATA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as INCARICO_PARTECIPATA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-incarico-partecipata';\nimport {\n ENTITY as MATRICE_ENTITY,\n PERMISSION_ACCESS_ENTITY as MATRICE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-matrice';\nimport {\n ENTITY as MISSIONE_ENTITY,\n ENTITY_PLURAL as MISSIONE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as MISSIONE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-missione';\nimport {\n ENTITY as MODELLO_CONTABILE_ENTITY,\n ENTITY_PLURAL as MODELLO_CONTABILE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as MODELLO_CONTABILE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-modello-contabile';\nimport {\n ENTITY as MODELLO_CONTABILE_RIGA_ENTITY,\n ENTITY_PLURAL as MODELLO_CONTABILE_RIGA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as MODELLO_CONTABILE_RIGA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-modello-contabile-riga';\nimport { ENTITY as MODULO_ENTE_ENTITY } from '@ideapa/app-shared-modulo-ente';\nimport {\n ENTITY as MOLTIPLICATORE_ENTITY,\n ENTITY_PLURAL as MOLTIPLICATORE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as MOLTIPLICATORE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-moltiplicatore';\nimport {\n ENTITY as NOTA_INTEGRATIVA_CEP_ENTITY,\n ENTITY_PLURAL as NOTA_INTEGRATIVA_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as NOTA_INTEGRATIVA_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-nota-integrativa-cep';\nimport {\n ENTITY as PARAMETRO_GAP_ENTITY,\n ENTITY_PLURAL as PARAMETRO_GAP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PARAMETRO_GAP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-parametro-gap';\nimport {\n ENTITY as PARAMETRO_PERIMETRO_ENTITY,\n ENTITY_PLURAL as PARAMETRO_PERIMETRO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PARAMETRO_PERIMETRO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-parametro-perimetro';\nimport {\n ENTITY as PARTECIPATA_ENTITY,\n ENTITY_PLURAL as PARTECIPATA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PARTECIPATA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-partecipata';\nimport {\n ENTITY as PARTECIPATA_ENTE_ENTITY,\n PERMISSION_ACCESS_ENTITY as PARTECIPATA_ENTE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-partecipata-ente';\nimport {\n ENTITY as PARTECIPATA_SERVIZIO_ENTITY,\n ENTITY_PLURAL as PARTECIPATA_SERVIZIO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PARTECIPATA_SERVIZIO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-partecipata-servizio';\nimport {\n ENTITY as PERIMETRO_ENTITY,\n ENTITY_PLURAL as PERIMETRO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PERIMETRO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-perimetro';\nimport {\n ENTITY as PIANO_CONTI_ENTITY,\n PERMISSION_ACCESS_ENTITY as PIANO_CONTI_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-piano-conti';\nimport {\n ENTITY as PIANO_FINANZIARIO_ENTITY,\n PERMISSION_ACCESS_ENTITY as PIANO_FINANZIARIO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-piano-finanziario';\nimport {\n ENTITY as PRIMA_NOTA_ENTITY,\n ENTITY_PLURAL as PRIMA_NOTA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PRIMA_NOTA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-prima-nota';\nimport {\n ENTITY as PRIMA_NOTA_RIGA_ENTITY,\n ENTITY_PLURAL as PRIMA_NOTA_RIGA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PRIMA_NOTA_RIGA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-prima-nota-riga';\nimport {\n ENTITY as PROGRAMMA_ENTITY,\n ENTITY_PLURAL as PROGRAMMA_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PROGRAMMA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-programma';\nimport {\n ENTITY as PROSPETTO_ENTITY,\n ENTITY_PLURAL as PROSPETTO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as PROSPETTO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-prospetto';\nimport {\n ENTITY as RACCORDO_ENTITY,\n PERMISSION_ACCESS_ENTITY as RACCORDO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-raccordo';\nimport {\n ENTITY as RIDUZIONE_PROPORZIONALE_ENTITY,\n ENTITY_PLURAL as RIDUZIONE_PROPORZIONALE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as RIDUZIONE_PROPORZIONALE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-riduzione-proporzionale';\nimport {\n ENTITY as RIEPILOGO_PROSPETTI_ENTITY,\n ENTITY_PLURAL as RIEPILOGO_PROSPETTI_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as RIEPILOGO_PROSPETTI_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-riepilogo-prospetti';\nimport {\n ENTITY as SALDO_INIZIALE_ENTITY,\n ENTITY_PLURAL as SALDO_INIZIALE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as SALDO_INIZIALE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-saldo-iniziale';\nimport {\n ENTITY as SCRITTURA_ELISIONE_ENTITY,\n ENTITY_PLURAL as SCRITTURA_ELISIONE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as SCRITTURA_ELISIONE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-scrittura-elisione';\nimport {\n ENTITY as SCRITTURA_PRE_CONSOLIDAMENTO_ENTITY,\n ENTITY_PLURAL as SCRITTURA_PRE_CONSOLIDAMENTO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as SCRITTURA_PRE_CONSOLIDAMENTO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-scrittura-preconsolidamento';\nimport {\n ENTITY as SERVIZIO_PUBBLICO_ENTITY,\n ENTITY_PLURAL as SERVIZIO_PUBBLICO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as SERVIZIO_PUBBLICO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-servizio-pubblico';\nimport {\n ENTITY as STAMPE_CEP_ENTITY,\n ENTITY_PLURAL as STAMPE_CEP_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as STAMPE_CEP_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-stampe-cep';\nimport {\n ENTITY as STAMPE_PARTECIPO_ENTITY,\n ENTITY_PLURAL as STAMPE_PARTECIPO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as STAMPE_PARTECIPO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-stampe-partecipo';\nimport {\n ENTITY as STRUTTURA_PROSPETTO_ENTITY,\n ENTITY_PLURAL as STRUTTURA_PROSPETTO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as STRUTTURA_PROSPETTO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-struttura-prospetto';\nimport {\n ENTITY as TIPOLOGIA_COMPENSO_ENTITY,\n ENTITY_PLURAL as TIPOLOGIA_COMPENSO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as TIPOLOGIA_COMPENSO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-tipologia-compenso';\nimport {\n ENTITY as TIPOLOGIA_DOCUMENTO_ENTITY,\n ENTITY_PLURAL as TIPOLOGIA_DOCUMENTO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as TIPOLOGIA_DOCUMENTO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-tipologia-documento';\nimport {\n ENTITY as TIPOLOGIA_INCARICO_ENTITY,\n ENTITY_PLURAL as TIPOLOGIA_INCARICO_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as TIPOLOGIA_INCARICO_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-tipologia-incarico';\nimport {\n ENTITY as TIPOLOGIA_PARTECIPAZIONE_ENTITY,\n ENTITY_PLURAL as TIPOLOGIA_PARTECIPAZIONE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as TIPOLOGIA_PARTECIPAZIONE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-tipologia-partecipazione';\nimport {\n ENTITY as TIPOLOGIA_REGISTRAZIONE_ENTITY,\n ENTITY_PLURAL as TIPOLOGIA_REGISTRAZIONE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as TIPOLOGIA_REGISTRAZIONE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-tipologia-registrazione';\nimport {\n ENTITY as USER_ENTITY,\n ENTITY_PLURAL as USER_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as USER_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-utente';\nimport { ENTITY as UTENTE_ENTE_ENTITY } from '@ideapa/app-shared-utente-ente';\nimport {\n ENTITY as UTENTE_PARTECIPATA_ENTITY,\n PERMISSION_ACCESS_ENTITY as UTENTE_PARTECIPATA_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-utente-partecipata';\nimport {\n ENTITY as VALORI_ANNO_PRECEDENTE_ENTITY,\n ENTITY_PLURAL as VALORI_ANNO_PRECEDENTE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as VALORI_ANNO_PRECEDENTE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-valori-anno-precedente';\nimport {\n ENTITY as TEMPLATE_ENTITY,\n ENTITY_PLURAL as TEMPLATE_ENTITY_PLURAL,\n PERMISSION_ACCESS_ENTITY as TEMPLATE_ACCESS_PERMISSION,\n} from '@ideapa/app-shared-template';\n\n// import { environment } from '../environments/environment';\n\n// Dashboard\nexport const mainDashboardRoute: ExtendedRoute[] = [\n {\n path: 'home',\n label: 'Dashboard',\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-home').then((m) => m.AppLazyHomeModule),\n },\n {\n path: 'notifica',\n label: 'Notifiche',\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-notifica').then((m) => m.AppLazyNotificaModule),\n },\n];\n\n// Archivi generali comuni a cep e partecipo\nexport const archiviRoutes: ExtendedRoute[] = [\n {\n path: MISSIONE_ENTITY,\n label: MISSIONE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, MISSIONE_ACCESS_PERMISSION],\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-missione').then((m) => m.AppLazyMissioneModule),\n },\n {\n path: PROGRAMMA_ENTITY,\n label: PROGRAMMA_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PROGRAMMA_ACCESS_PERMISSION],\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-programma').then(\n (m) => m.AppLazyProgrammaModule\n ),\n },\n {\n path: TIPOLOGIA_REGISTRAZIONE_ENTITY,\n label: TIPOLOGIA_REGISTRAZIONE_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n TIPOLOGIA_REGISTRAZIONE_ACCESS_PERMISSION,\n ],\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-tipologia-registrazione').then(\n (m) => m.AppLazyTipologiaRegistrazioneModule\n ),\n },\n {\n path: PROSPETTO_ENTITY,\n label: PROSPETTO_ENTITY_PLURAL,\n menuHidden: false,\n anno: true,\n permissions: [PERMISSION_ACCESS_ALL, PROSPETTO_ACCESS_PERMISSION],\n loadChildren: () =>\n import('@ideapa/app-lazy-prospetto').then(\n (m) => m.AppLazyProspettoModule\n ),\n },\n {\n path: STRUTTURA_PROSPETTO_ENTITY,\n label: STRUTTURA_PROSPETTO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, STRUTTURA_PROSPETTO_ACCESS_PERMISSION],\n // pathMatch: 'full',\n menuHidden: true,\n loadChildren: () =>\n import('@ideapa/app-lazy-struttura-prospetto').then(\n (m) => m.AppLazyStrutturaProspettoModule\n ),\n },\n {\n path: MOLTIPLICATORE_ENTITY,\n label: MOLTIPLICATORE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, MOLTIPLICATORE_ACCESS_PERMISSION],\n loadChildren: () =>\n import('@ideapa/app-lazy-moltiplicatore').then(\n (m) => m.AppLazyMoltiplicatoreModule\n ),\n },\n {\n path: TEMPLATE_ENTITY,\n label: TEMPLATE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, TEMPLATE_ACCESS_PERMISSION],\n loadChildren: () =>\n import('@ideapa/app-lazy-template').then((m) => m.AppLazyTemplateModule),\n },\n];\n\n// Amministrazione\nexport const adminRoutes: ExtendedRoute[] = [\n {\n path: USER_ENTITY,\n label: USER_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, USER_ACCESS_PERMISSION],\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-utente').then((m) => m.AppLazyUtenteModule),\n },\n {\n path: ENTE_ENTITY,\n label: ENTE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, ENTE_ACCESS_PERMISSION],\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-ente').then((m) => m.AppLazyEnteModule),\n },\n {\n path: UTENTE_ENTE_ENTITY,\n label: '',\n menuHidden: true,\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-utente-ente').then(\n (m) => m.AppLazyUtenteEnteModule\n ),\n },\n {\n path: MODULO_ENTE_ENTITY,\n label: '',\n menuHidden: true,\n // pathMatch: 'full',\n loadChildren: () =>\n import('@ideapa/app-lazy-modulo-ente').then(\n (m) => m.AppLazyModuloEnteModule\n ),\n },\n];\n\n// Partecipo\nexport const gestionePartecipateRoutes: ExtendedRoute[] = [\n {\n path: PARTECIPATA_ENTITY,\n label: PARTECIPATA_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PARTECIPATA_ACCESS_PERMISSION],\n ente: false, // accede anche utente partecipata senza selezionare ente\n menuHidden: false,\n anno: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-partecipata').then(\n (m) => m.AppLazyPartecipataModule\n ),\n },\n {\n path: BILANCIO_ENTE_ENTITY,\n label: 'Gestione Bilancio Ente',\n permissions: [PERMISSION_ACCESS_ALL, BILANCIO_ENTE_ACCESS_PERMISSION],\n ente: true,\n menuHidden: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-ente').then(\n (m) => m.AppLazyBilancioEnteModule\n ),\n },\n {\n path: BILANCIO_ENTE_RIGA_ENTITY,\n label: 'Bilancio Ente Riga',\n permissions: [PERMISSION_ACCESS_ALL, BILANCIO_ENTE_RIGA_ACCESS_PERMISSION],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-ente-riga').then(\n (m) => m.AppLazyBilancioEnteRigaModule\n ),\n },\n {\n path: PARTECIPATA_ENTE_ENTITY,\n label: '',\n permissions: [PERMISSION_ACCESS_ALL, PARTECIPATA_ENTE_ACCESS_PERMISSION],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-partecipata-ente').then(\n (m) => m.AppLazyPartecipataEnteModule\n ),\n },\n {\n path: UTENTE_PARTECIPATA_ENTITY,\n label: '',\n permissions: [PERMISSION_ACCESS_ALL, UTENTE_PARTECIPATA_ACCESS_PERMISSION],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-utente-partecipata').then(\n (m) => m.AppLazyUtentePartecipataModule\n ),\n },\n {\n path: ATTIVITA_PARTECIPATA_ENTITY,\n label: ATTIVITA_PARTECIPATA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n ATTIVITA_PARTECIPATA_ACCESS_PERMISSION,\n ],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-attivita-partecipata').then(\n (m) => m.AppLazyAttivitaPartecipataModule\n ),\n },\n {\n path: PARTECIPATA_SERVIZIO_ENTITY,\n label: PARTECIPATA_SERVIZIO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n PARTECIPATA_SERVIZIO_ACCESS_PERMISSION,\n ],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-partecipata-servizio').then(\n (m) => m.AppLazyPartecipataServizioModule\n ),\n },\n {\n path: DOCUMENTO_PARTECIPATA_ENTITY,\n label: DOCUMENTO_PARTECIPATA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n DOCUMENTO_PARTECIPATA_ACCESS_PERMISSION,\n ],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-documento-partecipata').then(\n (m) => m.AppLazyDocumentoPartecipataModule\n ),\n },\n {\n path: INCARICO_PARTECIPATA_ENTITY,\n label: INCARICO_PARTECIPATA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n INCARICO_PARTECIPATA_ACCESS_PERMISSION,\n ],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-incarico-partecipata').then(\n (m) => m.AppLazyIncaricoPartecipataModule\n ),\n },\n\n {\n path: COMPAGINE_SOCIALE_ENTITY,\n label: COMPAGINE_SOCIALE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, COMPAGINE_SOCIALE_ACCESS_PERMISSION],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-compagine-sociale').then(\n (m) => m.AppLazyCompagineSocialeModule\n ),\n },\n {\n path: BILANCIO_PARTECIPATA_ENTITY,\n label: BILANCIO_PARTECIPATA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n BILANCIO_PARTECIPATA_ACCESS_PERMISSION,\n ],\n ente: true,\n menuHidden: true, // se si rende visibile allora è necessario modificare il comportamento associato al cambio di valore selezionato nella combo anno (vedere componente lista)\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-partecipata').then(\n (m) => m.AppLazyBilancioPartecipataModule\n ),\n },\n {\n path: BILANCIO_PARTECIPATA_RIGA_ENTITY,\n label: BILANCIO_PARTECIPATA_RIGA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n BILANCIO_PARTECIPATA_RIGA_ACCESS_PERMISSION,\n ],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-partecipata-riga').then(\n (m) => m.AppLazyBilancioPartecipataRigaModule\n ),\n },\n {\n path: ANALISI_BILANCIO_ENTITY,\n label: ANALISI_BILANCIO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, ANALISI_BILANCIO_ACCESS_PERMISSION],\n ente: true,\n menuHidden: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-analisi-bilancio').then(\n (m) => m.AppLazyAnalisiBilancioModule\n ),\n },\n];\n\n// bilancio consolidato\nexport const bilancioConsolidatoPartecipoRoutes: ExtendedRoute[] = [\n {\n path: DEFINIZIONE_GAP_PERIMETRO_ENTITY,\n label: DEFINIZIONE_GAP_PERIMETRO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n DEFINIZIONE_GAP_PERIMETRO_ACCESS_PERMISSION,\n ],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-definizione-gap-perimetro').then(\n (m) => m.AppLazyDefinizioneGapPerimetroModule\n ),\n },\n {\n path: GAP_ENTITY,\n label: GAP_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, GAP_ACCESS_PERMISSION],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: true,\n loadChildren: () =>\n import('@ideapa/app-lazy-gap').then((m) => m.AppLazyGapModule),\n },\n {\n path: PERIMETRO_ENTITY,\n label: PERIMETRO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PERIMETRO_ACCESS_PERMISSION],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: true,\n loadChildren: () =>\n import('@ideapa/app-lazy-perimetro').then(\n (m) => m.AppLazyPerimetroModule\n ),\n },\n {\n path: SCRITTURA_PRE_CONSOLIDAMENTO_ENTITY,\n label: SCRITTURA_PRE_CONSOLIDAMENTO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n SCRITTURA_PRE_CONSOLIDAMENTO_ACCESS_PERMISSION,\n ],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: false,\n loadChildren: () =>\n import('@ideapa/app-lazy-scrittura-preconsolidamento').then(\n (m) => m.AppLazyScritturaPreconsolidamentoModule\n ),\n },\n {\n path: RIDUZIONE_PROPORZIONALE_ENTITY,\n label: RIDUZIONE_PROPORZIONALE_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n RIDUZIONE_PROPORZIONALE_ACCESS_PERMISSION,\n ],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-riduzione-proporzionale').then(\n (m) => m.AppLazyRiduzioneProporzionaleModule\n ),\n },\n {\n path: SCRITTURA_ELISIONE_ENTITY,\n label: SCRITTURA_ELISIONE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, SCRITTURA_ELISIONE_ACCESS_PERMISSION],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: false,\n loadChildren: () =>\n import('@ideapa/app-lazy-scrittura-elisione').then(\n (m) => m.AppLazyScritturaElisioneModule\n ),\n },\n {\n path: BILANCIO_CONSOLIDATO_ENTITY,\n label: BILANCIO_CONSOLIDATO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n BILANCIO_CONSOLIDATO_ACCESS_PERMISSION,\n ],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: false,\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-consolidato').then(\n (m) => m.AppLazyBilancioConsolidatoModule\n ),\n },\n {\n path: BILANCIO_CONSOLIDATO_RIGA_ENTITY,\n label: BILANCIO_CONSOLIDATO_RIGA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n BILANCIO_CONSOLIDATO_RIGA_ACCESS_PERMISSION,\n ],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: true,\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-consolidato-riga').then(\n (m) => m.AppLazyBilancioConsolidatoRigaModule\n ),\n },\n {\n path: BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ENTITY,\n label: BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n BILANCIO_CONSOLIDATO_RIGA_DETTAGLIO_ACCESS_PERMISSION,\n ],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: true,\n loadChildren: () =>\n import('@ideapa/app-lazy-bilancio-consolidato-riga-dettaglio').then(\n (m) => m.AppLazyBilancioConsolidatoRigaDettaglioModule\n ),\n },\n {\n path: STAMPE_PARTECIPO_ENTITY,\n label: STAMPE_PARTECIPO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, STAMPE_PARTECIPO_ACCESS_PERMISSION],\n ente: true,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n menuHidden: false,\n loadChildren: () =>\n import('@ideapa/app-lazy-stampe-partecipo').then(\n (m) => m.AppLazyStampePartecipoModule\n ),\n },\n];\n\n// archivi generali\nexport const archiviPartecipateRoutes: ExtendedRoute[] = [\n {\n path: TIPOLOGIA_INCARICO_ENTITY,\n label: TIPOLOGIA_INCARICO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, TIPOLOGIA_INCARICO_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-tipologia-incarico').then(\n (m) => m.AppLazyTipologiaIncaricoModule\n ),\n },\n {\n path: TIPOLOGIA_PARTECIPAZIONE_ENTITY,\n label: TIPOLOGIA_PARTECIPAZIONE_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n TIPOLOGIA_PARTECIPAZIONE_ACCESS_PERMISSION,\n ],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-tipologia-partecipazione').then(\n (m) => m.AppLazyTipologiaPartecipazioneModule\n ),\n },\n {\n path: TIPOLOGIA_DOCUMENTO_ENTITY,\n label: TIPOLOGIA_DOCUMENTO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, TIPOLOGIA_DOCUMENTO_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-tipologia-documento').then(\n (m) => m.AppLazyTipologiaDocumentoModule\n ),\n },\n {\n path: TIPOLOGIA_COMPENSO_ENTITY,\n label: TIPOLOGIA_COMPENSO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, TIPOLOGIA_COMPENSO_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-tipologia-compenso').then(\n (m) => m.AppLazyTipologiaCompensoModule\n ),\n },\n {\n path: SERVIZIO_PUBBLICO_ENTITY,\n label: SERVIZIO_PUBBLICO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, SERVIZIO_PUBBLICO_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-servizio-pubblico').then(\n (m) => m.AppLazyServizioPubblicoModule\n ),\n },\n // {\n // path: MOLTIPLICATORE_ENTITY,\n // label: MOLTIPLICATORE_ENTITY_PLURAL,\n // permissions: [PERMISSION_ACCESS_ALL, MOLTIPLICATORE_ACCESS_PERMISSION],\n // ente: false,\n // // pathMatch: 'full',\n // modulo: 'Partecipo',\n // loadChildren: () =>\n // import('@ideapa/app-lazy-moltiplicatore').then(\n // (m) => m.AppLazyMoltiplicatoreModule\n // ),\n // },\n {\n path: PARAMETRO_GAP_ENTITY,\n label: PARAMETRO_GAP_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PARAMETRO_GAP_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-parametro-gap').then(\n (m) => m.AppLazyParametroGapModule\n ),\n },\n {\n path: PARAMETRO_PERIMETRO_ENTITY,\n label: PARAMETRO_PERIMETRO_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PARAMETRO_PERIMETRO_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-parametro-perimetro').then(\n (m) => m.AppLazyParametroPerimetroModule\n ),\n },\n {\n path: MODELLO_CONTABILE_ENTITY,\n label: MODELLO_CONTABILE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, MODELLO_CONTABILE_ACCESS_PERMISSION],\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-modello-contabile').then(\n (m) => m.AppLazyModelloContabileModule\n ),\n },\n {\n path: MODELLO_CONTABILE_RIGA_ENTITY,\n label: MODELLO_CONTABILE_RIGA_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n MODELLO_CONTABILE_RIGA_ACCESS_PERMISSION,\n ],\n menuHidden: true,\n ente: false,\n // pathMatch: 'full',\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-modello-contabile-riga').then(\n (m) => m.AppLazyModelloContabileRigaModule\n ),\n },\n];\n\nexport const utilityPartecipoRoutes: ExtendedRoute[] = [\n {\n path: VALORI_ANNO_PRECEDENTE_ENTITY,\n label: VALORI_ANNO_PRECEDENTE_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n VALORI_ANNO_PRECEDENTE_ACCESS_PERMISSION,\n ],\n menuHidden: false,\n ente: true,\n anno: true,\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-valori-anno-precedente').then(\n (m) => m.AppLazyValoriAnnoPrecedenteModule\n ),\n },\n {\n path: CANCELLAZIONI_PARTECIPO_ENTITY,\n label: CANCELLAZIONI_PARTECIPO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n CANCELLAZIONI_PARTECIPO_ACCESS_PERMISSION,\n ],\n menuHidden: false,\n ente: true,\n anno: true,\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-cancellazioni-partecipo').then(\n (m) => m.AppLazyCancellazioniPartecipoModule\n ),\n },\n {\n path: CHIUSURA_RIPRISTINO_CONSOLIDATO_ENTITY,\n label: CHIUSURA_RIPRISTINO_CONSOLIDATO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n CHIUSURA_RIPRISTINO_CONSOLIDATO_ACCESS_PERMISSION,\n ],\n menuHidden: false,\n ente: true,\n anno: true,\n modulo: 'Partecipo',\n loadChildren: () =>\n import('@ideapa/app-lazy-chiusura-ripristino-consolidato').then(\n (m) => m.AppLazyChiusuraRipristinoConsolidatoModule\n ),\n },\n];\n\n// Cep\n// gestione Cep\nexport const gestioneCepRoutes: ExtendedRoute[] = [\n {\n path: PIANO_FINANZIARIO_ENTITY,\n label: 'Piano finanziario',\n permissions: [PERMISSION_ACCESS_ALL, PIANO_FINANZIARIO_ACCESS_PERMISSION],\n // pathMatch: 'full',\n ente: false,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-piano-finanziario').then(\n (m) => m.AppLazyPianoFinanziarioModule\n ),\n },\n {\n path: PIANO_CONTI_ENTITY,\n label: 'Piano dei Conti',\n permissions: [PERMISSION_ACCESS_ALL, PIANO_CONTI_ACCESS_PERMISSION],\n // pathMatch: 'full',\n ente: false,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-piano-conti').then(\n (m) => m.AppLazyPianoContiModule\n ),\n },\n];\n\n// Cep\nexport const gestioneEnteRoutes: ExtendedRoute[] = [\n {\n path: MATRICE_ENTITY,\n label: 'Matrice di Correlazione',\n permissions: [PERMISSION_ACCESS_ALL, MATRICE_ACCESS_PERMISSION],\n // pathMatch: 'full',\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-matrice').then((m) => m.AppLazyMatriceModule),\n },\n {\n path: RACCORDO_ENTITY,\n label: 'Raccordo Conti-Prospetti',\n permissions: [PERMISSION_ACCESS_ALL, RACCORDO_ACCESS_PERMISSION],\n // pathMatch: 'full',\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-raccordo').then((m) => m.AppLazyRaccordoModule),\n },\n {\n path: SALDO_INIZIALE_ENTITY,\n label: SALDO_INIZIALE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, SALDO_INIZIALE_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-saldo-iniziale').then(\n (m) => m.AppLazySaldoInizialeModule\n ),\n },\n\n {\n path: COFI_ENTITY,\n label: COFI_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, COFI_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-cofi').then((m) => m.AppLazyCofiModule),\n },\n {\n path: PRIMA_NOTA_ENTITY,\n label: PRIMA_NOTA_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PRIMA_NOTA_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-prima-nota').then(\n (m) => m.AppLazyPrimaNotaModule\n ),\n },\n {\n path: PRIMA_NOTA_RIGA_ENTITY,\n label: PRIMA_NOTA_RIGA_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, PRIMA_NOTA_RIGA_ACCESS_PERMISSION],\n menuHidden: true,\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-prima-nota-riga').then(\n (m) => m.AppLazyPrimaNotaRigaModule\n ),\n },\n {\n path: RIEPILOGO_PROSPETTI_ENTITY,\n label: RIEPILOGO_PROSPETTI_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, RIEPILOGO_PROSPETTI_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-riepilogo-prospetti').then(\n (m) => m.AppLazyRiepilogoProspettiModule\n ),\n },\n {\n path: STAMPE_CEP_ENTITY,\n label: STAMPE_CEP_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, STAMPE_CEP_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n // menuHidden: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-stampe-cep').then(\n (m) => m.AppLazyStampeCepModule\n ),\n },\n {\n path: COSTI_PER_MISSIONE_ENTITY,\n label: COSTI_PER_MISSIONE_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, COSTI_PER_MISSIONE_ACCESS_PERMISSION],\n menuHidden: true,\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-costi-per-missione').then(\n (m) => m.AppLazyCostiPerMissioneModule\n ),\n },\n];\n\nexport const utilityCepRoutes: ExtendedRoute[] = [\n {\n path: CONTO_ECONOMICO_ANNO_PRECEDENTE_ENTITY,\n label: CONTO_ECONOMICO_ANNO_PRECEDENTE_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n CONTO_ECONOMICO_ANNO_PRECEDENTE_ACCESS_PERMISSION,\n ],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-conto-economico-anno-precedente').then(\n (m) => m.AppLazyContoEconomicoAnnoPrecedenteModule\n ),\n },\n {\n path: BDAP_CEP_ENTITY,\n label: BDAP_CEP_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, BDAP_CEP_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-bdap-cep').then((m) => m.AppLazyBdapCepModule),\n },\n {\n path: CONTROLLO_COSTI_PER_MISSIONE_CEP_ENTITY,\n label: CONTROLLO_COSTI_PER_MISSIONE_CEP_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n CONTROLLO_COSTI_PER_MISSIONE_CEP_ACCESS_PERMISSION,\n ],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-controllo-costi-per-missione').then(\n (m) => m.AppLazyControlloCostiPerMissioneModule\n ),\n },\n {\n path: CONTROLLO_SALDI_CEP_ENTITY,\n label: CONTROLLO_SALDI_CEP_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, CONTROLLO_SALDI_CEP_ACCESS_PERMISSION],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-controllo-saldi').then(\n (m) => m.AppLazyControlloSaldiModule\n ),\n },\n {\n path: CONTI_NON_RACCORDATI_CEP_ENTITY,\n label: CONTI_NON_RACCORDATI_CEP_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n CONTI_NON_RACCORDATI_CEP_ACCESS_PERMISSION,\n ],\n menuHidden: false,\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-conti-non-raccordati').then(\n (m) => m.AppLazyContiNonRaccordatiModule\n ),\n },\n {\n path: CHIUSURA_RIPRISTINO_ESERCIZIO_ENTITY,\n label: CHIUSURA_RIPRISTINO_ESERCIZIO_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n CHIUSURA_RIPRISTINO_ESERCIZIO_ACCESS_PERMISSION,\n ],\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-chiusura-ripristino-esercizio').then(\n (m) => m.AppLazyChiusuraRipristinoEsercizioModule\n ),\n },\n {\n path: NOTA_INTEGRATIVA_CEP_ENTITY,\n label: NOTA_INTEGRATIVA_CEP_ENTITY_PLURAL,\n permissions: [\n PERMISSION_ACCESS_ALL,\n NOTA_INTEGRATIVA_CEP_ACCESS_PERMISSION,\n ],\n // menuHidden: true,\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-nota-integrativa-cep').then(\n (m) => m.AppLazyNotaIntegrativaCepModule\n ),\n },\n {\n path: CANCELLAZIONI_CEP_ENTITY,\n label: CANCELLAZIONI_CEP_ENTITY_PLURAL,\n permissions: [PERMISSION_ACCESS_ALL, CANCELLAZIONI_CEP_ACCESS_PERMISSION],\n menuHidden: false,\n ente: true,\n anno: true,\n modulo: 'Cep',\n loadChildren: () =>\n import('@ideapa/app-lazy-cancellazioni-cep').then(\n (m) => m.AppLazyCancellazioniCepModule\n ),\n },\n];\n\nexport const allRoutes = [\n ...mainDashboardRoute,\n ...adminRoutes,\n ...archiviRoutes,\n ...gestioneCepRoutes,\n ...gestioneEnteRoutes,\n ...utilityCepRoutes,\n ...gestionePartecipateRoutes,\n ...archiviPartecipateRoutes,\n ...bilancioConsolidatoPartecipoRoutes,\n ...utilityPartecipoRoutes,\n];\n","import {\n adminRoutes,\n archiviPartecipateRoutes,\n archiviRoutes,\n bilancioConsolidatoPartecipoRoutes,\n gestioneCepRoutes,\n gestioneEnteRoutes,\n gestionePartecipateRoutes,\n utilityCepRoutes,\n utilityPartecipoRoutes,\n} from '../../routes';\nimport { MenuItem } from './menu.model';\n\nconst CONDIVISO_MENU: MenuItem[] = [\n {\n label: 'Condiviso',\n isTitle: true,\n modulo: undefined,\n subItems: [\n {\n label: 'Amministrazione',\n isTitle: true,\n modulo: undefined,\n subItems: [\n ...adminRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: undefined,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n {\n label: 'Archivi generali',\n isTitle: true,\n modulo: undefined,\n subItems: [\n ...archiviRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: undefined,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n ],\n },\n];\n\nconst PARTECIPO_MENU: MenuItem[] = [\n {\n label: 'Consolid@to',\n isTitle: true,\n modulo: 'partecipo',\n subItems: [\n {\n label: 'Gestione partecipate',\n isTitle: true,\n modulo: 'partecipo',\n subItems: [\n ...gestionePartecipateRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n {\n label: 'Bilancio Consolidato',\n isTitle: true,\n modulo: 'partecipo',\n subItems: [\n ...bilancioConsolidatoPartecipoRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n {\n label: 'Utility',\n isTitle: true,\n modulo: 'partecipo',\n subItems: [\n ...utilityPartecipoRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n {\n label: 'Archivi generali',\n isTitle: true,\n modulo: 'partecipo',\n subItems: [\n ...archiviPartecipateRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n ],\n },\n];\n\nconst CEP_MENU: MenuItem[] = [\n {\n label: 'CEP',\n isTitle: true,\n modulo: 'cep',\n subItems: [\n {\n label: 'Gestione CEP',\n isTitle: true,\n modulo: 'cep',\n subItems: [\n ...gestioneCepRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n {\n label: 'Gestione Ente',\n isTitle: true,\n modulo: 'cep',\n subItems: [\n ...gestioneEnteRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n {\n label: 'Utility',\n isTitle: true,\n modulo: 'cep',\n subItems: [\n ...utilityCepRoutes\n .filter((item) => !item.menuHidden)\n .map((item) => {\n const menuItem: MenuItem = {\n label: item.label,\n link: item.path,\n modulo: item.modulo,\n permissions: item.permissions,\n };\n return menuItem;\n }),\n ],\n },\n ],\n },\n];\n\nexport const MENU: MenuItem[] = [\n // {\n // label: 'Main',\n // isTitle: true,\n // },\n {\n label: 'Dashboard',\n //icon: 'home',\n link: 'home',\n },\n {\n label: 'Notifiche',\n //icon: 'home',\n link: 'notifica',\n },\n ...CONDIVISO_MENU,\n ...PARTECIPO_MENU,\n ...CEP_MENU,\n];\n","import { Component, Inject } from '@angular/core';\nimport { VERSION } from '@ideapa/app-common';\n\n@Component({\n selector: 'ideapa-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n})\nexport class FooterComponent {\n constructor(@Inject(VERSION) public version: string) {}\n}\n","
\n \n

\n Copyright © 2024\n IdeaPA\n

\n

{{ version }}

\n \n
\n","\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { AuthFacade } from '@ideapa/app-auth';\nimport { NavigationFacade } from '@ideapa/app-navigation';\nimport { IconButtonComponent } from '@ideapa/app-ui-kit';\nimport { map, startWith } from 'rxjs';\nimport { MENU } from './menu';\nimport { MenuItem } from './menu.model';\n\n@Component({\n selector: 'ideapa-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarComponent implements OnInit, AfterViewInit {\n @ViewChild('sidebarToggler') sidebarToggler?: IconButtonComponent;\n\n menuItems: MenuItem[] = [];\n\n @ViewChild('sidebarMenu') sidebarMenu?: ElementRef;\n\n modulo$ = this.authFacade.modulo$;\n\n tabs$ = this.navigationFacade.tabs$;\n\n formControl = new FormControl();\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n router: Router,\n private authFacade: AuthFacade,\n private navigationFacade: NavigationFacade\n ) {\n router.events.forEach((event) => {\n if (event instanceof NavigationEnd) {\n /**\n * Activating the current active item dropdown\n */\n // this._activateMenuDropdown();\n\n /**\n * closing the sidebar\n */\n if (window.matchMedia('(max-width: 991px)').matches) {\n this.document.body.classList.remove('sidebar-open');\n }\n }\n });\n }\n\n checkHierarchyPermissions(item: MenuItem) {\n const permissions: string[] = [...(item.permissions || [])];\n\n item.subItems?.forEach((si) => {\n if (si.permissions) {\n permissions.push(...this.checkHierarchyPermissions(si));\n }\n });\n return permissions;\n }\n\n isTabOpened(path: string) {\n return this.tabs$.pipe(\n map((t) => t.find((tab) => tab.path === path)?.tabOpened)\n );\n }\n\n private filterMenuByLabel(\n currentMenu: MenuItem[],\n searchTerm: string\n ): MenuItem[] {\n if (!currentMenu || currentMenu.length === 0) {\n // console.log(currentMenu, typeof currentMenu);\n return [];\n }\n\n const filteredMenu = [currentMenu[0], currentMenu[1]];\n const remainedMenu = currentMenu.slice(2);\n\n for (const menuItem of remainedMenu) {\n const newMenuItem = this.buildMenuItemTreeByLabel(menuItem, searchTerm);\n if (newMenuItem) filteredMenu.push(newMenuItem);\n }\n\n return filteredMenu;\n }\n\n private buildMenuItemTreeByLabel(\n menuItem: MenuItem,\n searchTerm: string\n ): MenuItem | null {\n return menuItem.subItems\n ? this.traverseAndBuildMenuItemTreeByLabel(menuItem, searchTerm)\n : this.traverseAndBuildMenuItemByLabel(menuItem, searchTerm);\n }\n\n private traverseAndBuildMenuItemTreeByLabel(\n menuItem: MenuItem,\n value: string\n ): MenuItem | null {\n const subItems = menuItem.subItems ?? [];\n\n const validMenuItems: MenuItem[] = [];\n\n for (const subItem of subItems) {\n const childMenuItem = this.buildMenuItemTreeByLabel(subItem, value);\n childMenuItem && validMenuItems.push(childMenuItem);\n }\n\n return validMenuItems.length\n ? {\n ...menuItem,\n subItems: validMenuItems,\n }\n : null;\n }\n\n private traverseAndBuildMenuItemByLabel(\n menuItem: MenuItem,\n value: string\n ): MenuItem | null {\n return this.isLabelMatchingSearchTerm(menuItem.label, value)\n ? { ...menuItem }\n : null;\n }\n\n private isLabelMatchingSearchTerm(\n label: string | undefined,\n searchTerm: string\n ): boolean {\n if (!label) return false;\n\n const labelLowercase = label.toLowerCase().trim();\n const searchTermLowercase = searchTerm.toLowerCase().trim();\n const labelContainsSearchTerm =\n labelLowercase.includes(searchTermLowercase);\n\n return labelContainsSearchTerm;\n }\n\n ngOnInit(): void {\n this.formControl.valueChanges\n .pipe(\n startWith(''),\n map((enteredLabel) => {\n return enteredLabel\n ? this.filterMenuByLabel(MENU, enteredLabel)\n : MENU;\n })\n )\n .subscribe((filteredMenuItems) => {\n this.menuItems = filteredMenuItems;\n });\n\n /**\n * Sidebar-folded on desktop (min-width:992px and max-width: 1199px)\n */\n const desktopMedium = window.matchMedia(\n '(min-width:992px) and (max-width: 1199px)'\n );\n desktopMedium.addEventListener('change', () => {\n this.iconSidebar;\n });\n this.iconSidebar(desktopMedium);\n }\n\n // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method\n ngAfterViewInit() {\n // activate menu item\n // if (this.sidebarMenu) new MetisMenu(this.sidebarMenu.nativeElement);\n // this._activateMenuDropdown();\n }\n\n /**\n * Toggle sidebar on hamburger button click\n */\n toggleSidebar(e: Event) {\n // this.sidebarToggler?..classList.toggle('active');\n // this.sidebarToggler?.nativeElement.classList.toggle('not-active');\n if (window.matchMedia('(min-width: 992px)').matches) {\n e.preventDefault();\n this.document.body.classList.toggle('sidebar-folded');\n } else if (window.matchMedia('(max-width: 991px)').matches) {\n e.preventDefault();\n this.document.body.classList.toggle('sidebar-open');\n }\n }\n\n /**\n * Toggle settings-sidebar\n */\n toggleSettingsSidebar(e: Event) {\n e.preventDefault();\n this.document.body.classList.toggle('settings-open');\n }\n\n /**\n * Open sidebar when hover (in folded folded state)\n */\n operSidebarFolded() {\n if (this.document.body.classList.contains('sidebar-folded')) {\n this.document.body.classList.add('open-sidebar-folded');\n }\n }\n\n /**\n * Fold sidebar after mouse leave (in folded state)\n */\n closeSidebarFolded() {\n if (this.document.body.classList.contains('sidebar-folded')) {\n this.document.body.classList.remove('open-sidebar-folded');\n }\n }\n\n /**\n * Sidebar-folded on desktop (min-width:992px and max-width: 1199px)\n */\n iconSidebar(mq: MediaQueryList) {\n if (mq.matches) {\n this.document.body.classList.add('sidebar-folded');\n } else {\n this.document.body.classList.remove('sidebar-folded');\n }\n }\n\n /**\n * Switching sidebar light/dark\n */\n onSidebarThemeChange(event: Event) {\n this.document.body.classList.remove('sidebar-light', 'sidebar-dark');\n this.document.body.classList.add((event.target).value);\n this.document.body.classList.remove('settings-open');\n }\n\n /**\n * Returns true or false if given menu item has child or not\n * @param item menuItem\n */\n hasItems(item: MenuItem) {\n return item.subItems !== undefined ? item.subItems.length > 0 : false;\n }\n\n /**\n * Reset the menus then hilight current active menu item\n */\n // _activateMenuDropdown() {\n // this.resetMenuItems();\n // this.activateMenuItems();\n // }\n\n /**\n * Resets the menus\n */\n resetMenuItems() {\n const links = document.getElementsByClassName('nav-link-ref');\n\n for (let i = 0; i < links.length; i++) {\n const menuItemEl = links[i];\n menuItemEl.classList.remove('mm-active');\n const parentEl = menuItemEl.parentElement;\n\n if (parentEl) {\n parentEl.classList.remove('mm-active');\n const parent2El = parentEl.parentElement;\n\n if (parent2El) {\n parent2El.classList.remove('mm-show');\n }\n\n const parent3El = parent2El?.parentElement;\n if (parent3El) {\n parent3El.classList.remove('mm-active');\n\n if (parent3El.classList.contains('side-nav-item')) {\n const firstAnchor = parent3El.querySelector('.side-nav-link-a-ref');\n\n if (firstAnchor) {\n firstAnchor.classList.remove('mm-active');\n }\n }\n\n const parent4El = parent3El.parentElement;\n if (parent4El) {\n parent4El.classList.remove('mm-show');\n\n const parent5El = parent4El.parentElement;\n if (parent5El) {\n parent5El.classList.remove('mm-active');\n }\n }\n }\n }\n }\n }\n\n /**\n * Toggles the menu items\n */\n activateMenuItems() {\n const links: any = document.getElementsByClassName('nav-link-ref');\n\n let menuItemEl = null;\n\n for (let i = 0; i < links.length; i++) {\n // tslint:disable-next-line: no-string-literal\n if (window.location.pathname.indexOf(links[i]['pathname']) >= 0) {\n menuItemEl = links[i];\n\n break;\n }\n }\n\n if (menuItemEl) {\n menuItemEl.classList.add('mm-active');\n const parentEl = menuItemEl.parentElement;\n\n if (parentEl) {\n parentEl.classList.add('mm-active');\n\n const parent2El = parentEl.parentElement;\n if (parent2El) {\n parent2El.classList.add('mm-show');\n }\n\n const parent3El = parent2El.parentElement;\n if (parent3El) {\n parent3El.classList.add('mm-active');\n\n if (parent3El.classList.contains('side-nav-item')) {\n const firstAnchor = parent3El.querySelector('.side-nav-link-a-ref');\n\n if (firstAnchor) {\n firstAnchor.classList.add('mm-active');\n }\n }\n\n const parent4El = parent3El.parentElement;\n if (parent4El) {\n parent4El.classList.add('mm-show');\n\n const parent5El = parent4El.parentElement;\n if (parent5El) {\n parent5El.classList.add('mm-active');\n }\n }\n }\n }\n }\n }\n}\n","\n\n\n
\n {{ modulo.nome }}\n
\n\n \n domain \n {{ ente.descrizione }}\n \n\n \n calendar_today \n {{ anno }}\n \n\n \n \n\n\n\n
\n \n \n \n\n
\n
\n \n
\n
Loading...
\n
\n\n \n \n \n
    \n \n \n
  • \n
\n \n \n {{ t.label }}\n \n \n \n \n
\n \n \n\n
\n \n \n
\n
\n \n\n \n \n \n \n\n","import { map } from 'rxjs';\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n RouteConfigLoadEnd,\n RouteConfigLoadStart,\n Router,\n} from '@angular/router';\nimport { AuthFacade } from '@ideapa/app-auth';\nimport { ExtendedRoute } from '@ideapa/app-common';\nimport { NavigationFacade } from '@ideapa/app-navigation';\nimport { sort } from '@ideapa/common-utils';\nimport { Store } from '@ngrx/store';\n\n// import { RouterFacade } from '@heitown/frontend-routing-utils';\n\n@Component({\n selector: 'ideapa-tab-layout',\n templateUrl: './tab-layout.component.html',\n styleUrls: ['./tab-layout.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabLayoutComponent {\n isLoading: boolean | undefined;\n\n currentModulo$ = this.authFacade.modulo$;\n\n currentEnte$ = this.authFacade.ente$;\n\n currentAnno$ = this.authFacade.anno$;\n\n hideNav$ = this.activatedRoute.queryParams.pipe(\n map(\n (params) => false\n // !!params[this.routerFacade.VIEW_MODE_PARAM] ||\n // !!params[this.routerFacade.ADD_MODE_PARAM] ||\n // !!params[this.routerFacade.FIND_MODE_PARAM] ||\n // !!params[this.routerFacade.EDIT_MODE_PARAM]\n )\n );\n\n tabs$ = this.navigationFacade.tabs$.pipe(\n map((tabs) =>\n tabs\n .filter((t) => t.tabOpened === true)\n .sort((t1, t2) => (t1.tabPosition || 0) - (t2.tabPosition || 0))\n )\n );\n\n closeTab(path: string, event: Event) {\n if (path === 'home') {\n this.navigationFacade.closeTab(path);\n this.navigationFacade.navigateToFirstAvailableTab();\n } else {\n this.navigationFacade.manualCloseTab(path);\n }\n event.stopImmediatePropagation();\n event.preventDefault();\n return false;\n }\n\n clearModulo() {\n this.authFacade.clearModulo();\n }\n\n showSelectModulo() {\n this.authFacade.showSelectModuloPopup(null);\n }\n\n constructor(\n private router: Router,\n private cd: ChangeDetectorRef,\n private activatedRoute: ActivatedRoute, // private routerFacade: RouterFacade,\n private navigationFacade: NavigationFacade,\n private store: Store,\n private authFacade: AuthFacade\n ) {\n // Spinner for lazyload modules\n router.events.forEach((event) => {\n if (event instanceof RouteConfigLoadStart) {\n this.isLoading = true;\n this.cd.detectChanges();\n } else if (event instanceof RouteConfigLoadEnd) {\n this.isLoading = false;\n this.cd.detectChanges();\n }\n // else if (event instanceof NavigationEnd) {\n // this.navigationFacade.showTab((event as NavigationEnd).url);\n // }\n });\n }\n\n showClose(t: ExtendedRoute, tabs: ExtendedRoute[]) {\n if (t.path !== 'home') return true;\n else {\n const openedTabs = tabs.filter((t) => t.tabOpened);\n if (openedTabs.length > 1) return true;\n\n return openedTabs[0].path !== 'home';\n }\n }\n}\n","\n
\n
\n \n
\n
Loading...
\n
\n\n \n \n\n \n
\n
\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\n// import { RouterFacade } from '@heitown/frontend-routing-utils';\n\n@Component({\n selector: 'ideapa-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalComponent {\n isLoading: boolean | undefined;\n\n constructor(private router: Router, private cd: ChangeDetectorRef) {}\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoggedUserGuard, LoginGuard } from '@ideapa/app-auth';\nimport {\n CheckChiusuraEsercizioGuard,\n CheckConsolidatoGuard,\n CheckDatiRiepilogoModificatiGuard,\n} from '@ideapa/app/check-bilanci';\nimport { LoadUnreadNotificationsGuard } from '@ideapa/app/notifications';\n\nimport { TabLayoutComponent } from './containers/layout/tab-layout.component';\nimport { ModalComponent } from './containers/modal/modal.component';\nimport { allRoutes } from './routes';\n\nexport const entityRoutes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'home',\n },\n ...allRoutes,\n];\n\nconst appRoutes: Routes = [\n {\n path: '',\n canActivate: [LoginGuard],\n children: [\n {\n path: '',\n component: TabLayoutComponent,\n canActivate: [\n LoggedUserGuard,\n LoadUnreadNotificationsGuard,\n CheckChiusuraEsercizioGuard,\n CheckConsolidatoGuard,\n CheckDatiRiepilogoModificatiGuard,\n ],\n runGuardsAndResolvers: 'always',\n children: entityRoutes,\n },\n {\n path: 'modal',\n component: ModalComponent,\n canActivate: [\n LoggedUserGuard,\n CheckConsolidatoGuard,\n CheckChiusuraEsercizioGuard,\n CheckDatiRiepilogoModificatiGuard,\n ],\n children: entityRoutes,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(appRoutes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ideapa-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n})\nexport class LoaderComponent {\n @Input()\n show?: boolean = false;\n}\n","
\n \n
\n
\n
\n
\n
\n
\n
\n","import {\n AllowIn,\n KeyboardShortcutsHelpComponent,\n ShortcutInput,\n} from 'ng-keyboard-shortcuts';\n\nimport {\n AfterViewInit,\n Component,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { ExtendedRoute } from '@ideapa/app-common';\n\nimport { KeyboardFacade } from '../+state/keyboard.facade';\n\n@Component({\n selector: 'ideapa-keyboard-shortcuts-listener',\n template: `\n `,\n})\nexport class KeyboardShortcutsListenerComponent\n implements AfterViewInit, OnInit\n{\n @ViewChild(KeyboardShortcutsHelpComponent)\n helpComponent?: KeyboardShortcutsHelpComponent;\n\n @Input()\n activeTab!: ExtendedRoute;\n\n @Input()\n injectHelp = true;\n\n @Input()\n get showHelp(): boolean {\n return this._showHelp;\n }\n set showHelp(value: boolean) {\n this._showHelp = value;\n\n if (value) {\n this.helpComponent?.reveal();\n } else {\n this.helpComponent?.hide();\n }\n }\n private _showHelp = false;\n\n shortcuts: ShortcutInput[] = [\n // {\n // key: '?',\n // label: 'Help',\n // description: 'Question mark',\n // command: (e) => console.log('question mark clicked', { e }),\n // preventDefault: true,\n // },\n // {\n // key: ['up up down down left right left right b a enter'],\n // label: 'Sequences',\n // description: 'Konami code!',\n // command: (output: ShortcutEventOutput) =>\n // console.log('Konami code!!!', output),\n // },\n // F1: apertura dettaglio tasti rapidi\n {\n key: ['F2'],\n label: 'Nuovo',\n description:\n 'Apre il form in modalità creazione o aggiunge nuove righe di registrazione',\n command: (e) => this.facade.add(this.activeTab.path),\n allowIn: [\n AllowIn.ContentEditable,\n AllowIn.Select,\n AllowIn.Textarea,\n AllowIn.Input,\n ],\n preventDefault: true,\n },\n {\n key: ['F3'],\n label: 'Salva',\n allowIn: [\n AllowIn.ContentEditable,\n AllowIn.Select,\n AllowIn.Textarea,\n AllowIn.Input,\n ],\n description:\n 'Utilizzabile quando è presente il pulsante \"Salva\" o \"Registra\" sul form',\n command: (e) => this.facade.save(this.activeTab.path),\n preventDefault: true,\n },\n // F4 apri lente dal componente\n {\n key: ['F4'],\n label: 'Apri elenco ricerca',\n allowIn: [\n AllowIn.ContentEditable,\n AllowIn.Select,\n AllowIn.Textarea,\n AllowIn.Input,\n ],\n description:\n 'Utilizzabile se posizionati in capi con tasto ricerca (lente)',\n command: (e) => this.facade.openFilters(this.activeTab.path),\n preventDefault: true,\n },\n // {\n // key: ['F3'],\n // label: 'Apri pannello filtri',\n // description: 'Utilizzabile per aprire il pannello filtri sulle liste',\n // command: (e) => this.facade.openFilters(this.activeTab.path),\n // preventDefault: true,\n // },\n // {\n // key: ['F4'],\n // label: 'Applica Filtri',\n // allowIn: [\n // AllowIn.ContentEditable,\n // AllowIn.Select,\n // AllowIn.Textarea,\n // AllowIn.Input,\n // ],\n // description: 'Utilizzabile quando il pannello filtri è aperto',\n // command: (e) => this.facade.applyFilters(this.activeTab.path),\n // preventDefault: true,\n // },\n {\n key: ['F6'],\n label: 'Rimuovi riga',\n allowIn: [\n AllowIn.ContentEditable,\n AllowIn.Select,\n AllowIn.Textarea,\n AllowIn.Input,\n ],\n description: `Rimuovi righe selezionate o elimina l'entità aperta quando è presente il pulsante \"Elimina\" sul form.`,\n command: (e) => this.facade.delete(this.activeTab.path),\n preventDefault: true,\n },\n {\n key: ['F7'],\n label: 'Rimuovi Filtri',\n allowIn: [\n AllowIn.ContentEditable,\n AllowIn.Select,\n AllowIn.Textarea,\n AllowIn.Input,\n ],\n description: 'Rimuove tutti i filtri dalle liste',\n command: (e) => this.facade.resetFilters(this.activeTab.path),\n preventDefault: true,\n },\n // {\n // key: ['F7'],\n // label: 'Elimina',\n // allowIn: [\n // AllowIn.ContentEditable,\n // AllowIn.Select,\n // AllowIn.Textarea,\n // AllowIn.Input,\n // ],\n // description:\n // 'Utilizzabile quando è presente il pulsante \"Elimina\" sul form',\n // command: (e) => this.facade.delete(this.activeTab.path),\n // preventDefault: true,\n // },\n ];\n\n constructor(private facade: KeyboardFacade) {}\n\n ngOnInit(): void {\n if (!this.activeTab) {\n throw new Error('Mandatory Active Tab');\n }\n }\n\n // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method\n ngAfterViewInit() {\n this.helpComponent?.showing$.subscribe((res) => {\n this.facade.showHelp(res);\n });\n }\n}\n","\n\n\n","import { debounceTime } from 'rxjs';\n\nimport { Component } from '@angular/core';\nimport { KeyboardFacade } from '@ideapa/app-keyboard';\nimport { NavigationFacade } from '@ideapa/app-navigation';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\n\n@Component({\n selector: 'ideapa-software-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent {\n constructor(\n private loaderFacade: NgrxLoaderFacade,\n private navigationFacade: NavigationFacade,\n private keyboardFacade: KeyboardFacade\n ) {}\n\n isLoaderVisible$ = this.loaderFacade.isLoaderVisible$.pipe(debounceTime(250));\n\n activeTab$ = this.navigationFacade.activeTab$;\n\n showHelp$ = this.keyboardFacade.showHelp$;\n}\n","import { CommonModule, registerLocaleData } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport localeIt from '@angular/common/locales/it';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ApiClientModule } from '@ideapa/app-api-client';\nimport { AppAuthModule } from '@ideapa/app-auth';\nimport { ENVIRONMENT, VERSION } from '@ideapa/app-common';\nimport { AppErrorModule } from '@ideapa/app-error';\nimport { AppFormsModule } from '@ideapa/app-forms';\nimport { AppKeyboardModule } from '@ideapa/app-keyboard';\nimport { AppNavigationModule } from '@ideapa/app-navigation';\nimport { AppNgrxLoaderModule } from '@ideapa/app-ngrx-loader';\nimport { AppRoutingUtilsModule } from '@ideapa/app-routing-utils';\nimport { AppUiKitModule } from '@ideapa/app-ui-kit';\nimport { AppCheckBilanciModule } from '@ideapa/app/check-bilanci';\nimport { AppNotificationsModule } from '@ideapa/app/notifications';\nimport {\n NgbCollapseModule,\n NgbDropdownModule,\n NgbModalModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport * as moment from 'moment';\nimport { NgxPermissionsModule } from 'ngx-permissions';\nimport { environment } from '../environments/environment';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { NavbarComponent } from './components/navbar/navbar.component';\nimport { SidebarComponent } from './components/sidebar/sidebar.component';\nimport { TabLayoutComponent } from './containers/layout/tab-layout.component';\nimport { ModalComponent } from './containers/modal/modal.component';\nimport { allRoutes } from './routes';\n\n// require('default-passive-events');\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst version = require('../../../../package.json').version;\n\n@NgModule({\n declarations: [\n AppComponent,\n TabLayoutComponent,\n ModalComponent,\n NavbarComponent,\n FooterComponent,\n SidebarComponent,\n ],\n imports: [\n HttpClientModule,\n BrowserModule,\n BrowserAnimationsModule,\n //routes\n AppRoutingModule,\n //ngrx store\n StoreModule.forRoot(\n {},\n {\n // metaReducers,\n runtimeChecks: {\n strictActionImmutability: true,\n strictStateImmutability: true,\n },\n }\n ),\n !environment.production ? StoreDevtoolsModule.instrument() : [],\n NgxPermissionsModule.forRoot(),\n EffectsModule.forRoot([]),\n ApiClientModule.forRoot({\n apiEndpoint: environment.apiBaseUrl,\n }),\n AppUiKitModule,\n // FrontendNgrxLoaderModule,\n // RoutingUtilsModule,\n CommonModule,\n AppFormsModule,\n NgbDropdownModule,\n NgbModalModule,\n NgbCollapseModule,\n AppNgrxLoaderModule,\n AppRoutingUtilsModule,\n AppNavigationModule.forRoot({\n routes: allRoutes,\n }),\n\n //auth\n AppAuthModule.forRoot({\n tenantId: environment.aadTenantId,\n clientId: environment.aadClientId,\n apiEndpoint: environment.apiBaseUrl,\n }),\n\n AppErrorModule.forRoot({\n apiEndpoint: environment.apiBaseUrl,\n }),\n AppKeyboardModule.forRoot(),\n // KeyboardShortcutsModule.forRoot(),\n AppNotificationsModule.forRoot(),\n AppCheckBilanciModule.forRoot(),\n ],\n providers: [\n { provide: LOCALE_ID, useValue: 'it' },\n { provide: ENVIRONMENT, useValue: environment },\n { provide: VERSION, useValue: version },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {\n constructor() {\n registerLocaleData(localeIt);\n moment.locale('it');\n\n // LicenseManager.setLicenseKey(environment.agGridLicenseKey);\n }\n}\n","import '@angular/localize/init';\n\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n","export class ApiClientConfig {\n apiEndpoint!: string;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\n\nimport { ApiClientConfig } from './api-client-config';\nimport { AnalisiBilancioApiClient } from './entities/analisi-bilancio.api-client';\nimport { AttivitaPartecipataApiClient } from './entities/attivita-partecipata.api-client';\nimport { BdapCepApiClient } from './entities/bdap-cep.api-client';\nimport { BilancioConsolidatoRigaDettaglioApiClient } from './entities/bilancio-consolidato-riga-dettaglio.api-client';\nimport { BilancioConsolidatoRigaApiClient } from './entities/bilancio-consolidato-riga.api-client';\nimport { BilancioConsolidatoApiClient } from './entities/bilancio-consolidato.api-client';\nimport { BilancioEnteRigaApiClient } from './entities/bilancio-ente-riga.api-client';\nimport { BilancioEnteApiClient } from './entities/bilancio-ente.api-client';\nimport { BilancioPartecipataRigaApiClient } from './entities/bilancio-partecipata-riga.api-client';\nimport { BilancioPartecipataApiClient } from './entities/bilancio-partecipata.api-client';\nimport { BilancioRigheApiClient } from './entities/bilancio-righe.api-client';\nimport { ChiusuraRipristinoEsercizioApiClient } from './entities/chiusura-ripristino-esercizio.api-client';\nimport { CofiApiClient } from './entities/cofi.api-client';\nimport { CompagineSocialeApiClient } from './entities/compagine-sociale.api-client';\nimport { ContoEconomicoAnnoPrecedenteApiClient } from './entities/conto-economico-anno-precedente.api-client';\nimport { ControlloCostiPerMissioneApiClient } from './entities/controllo-costi-per-missione.api-client';\nimport { ControlloSaldiApiClient } from './entities/controllo-saldi.api-client';\nimport { CostiPerMissioneApiClient } from './entities/costi-per-missione.api-client';\nimport { DocumentoPartecipataApiClient } from './entities/documento-partecipata.api-client';\nimport { EnteApiClient } from './entities/ente.api-client';\nimport { GapApiClient } from './entities/gap.api-client';\nimport { IncaricoPartecipataApiClient } from './entities/incarico-partecipata.api-client';\nimport { MatriceApiClient } from './entities/matrice.api-client';\nimport { MissioneApiClient } from './entities/missione.api-client';\nimport { ModelloContabileRigaApiClient } from './entities/modello-contabile-riga.api-client';\nimport { ModelloContabileApiClient } from './entities/modello-contabile.api-client';\nimport { ModuloEnteApiClient } from './entities/modulo-ente.api-client';\nimport { ModuloApiClient } from './entities/modulo.api-client';\nimport { MoltiplicatoreApiClient } from './entities/moltiplicatore.api-client';\nimport { NotaIntegrativaCepApiClient } from './entities/nota-integrativa-cep.api-client';\nimport { NotificaApiClient } from './entities/notifica.api-client';\nimport { ParametroGapApiClient } from './entities/parametro-gap.api-client';\nimport { ParametroPerimetroApiClient } from './entities/parametro-perimetro.api-client';\nimport { PartecipataEnteApiClient } from './entities/partecipata-ente.api-client';\nimport { PartecipataIndirettaApiClient } from './entities/partecipata-indiretta.api-client';\nimport { PartecipataServizioApiClient } from './entities/partecipata-servizio.api-client';\nimport { PartecipataApiClient } from './entities/partecipata.api-client';\nimport { PerimetroApiClient } from './entities/perimetro.api-client';\nimport { PianoContiApiClient } from './entities/piano-conti.api-client';\nimport { PianoFinanziarioApiClient } from './entities/piano-finanziario.api-client';\nimport { PrimaNotaRigaApiClient } from './entities/prima-nota-riga.api-client';\nimport { PrimaNotaApiClient } from './entities/prima-nota.api-client';\nimport { ProgrammaApiClient } from './entities/programma.api-client';\nimport { ProspettoApiClient } from './entities/prospetto.api-client';\nimport { RaccordoApiClient } from './entities/raccordo.api-client';\nimport { RiduzioneProporzionaleRigaApiClient } from './entities/riduzione-proporzionale-riga.api-client';\nimport { RiduzioneProporzionaleApiClient } from './entities/riduzione-proporzionale.api-client';\nimport { RiepilogoProspettiApiClient } from './entities/riepilogo-prospetti.api-client';\nimport { RuoloApiClient } from './entities/ruolo.api-client';\nimport { SaldoInizialeApiClient } from './entities/saldo-iniziale.api-client';\nimport { ScritturaElisioneRigaApiClient } from './entities/scrittura-elisione-riga.api-client';\nimport { ScritturaElisioneApiClient } from './entities/scrittura-elisione.api-client';\nimport { ScritturaPreconsolidamentoRigaApiClient } from './entities/scrittura-preconsolidamento-riga.api-client';\nimport { ScritturaPreconsolidamentoApiClient } from './entities/scrittura-preconsolidamento.api-client';\nimport { ServizioPubblicoApiClient } from './entities/servizio-pubblico.api-client';\nimport { SoggettoApiClient } from './entities/soggetto.api-client';\nimport { StampeCepApiClient } from './entities/stampe-cep.api-client';\nimport { StampePartecipoApiClient } from './entities/stampe-partecipo.api-client';\nimport { StrutturaProspettoApiClient } from './entities/struttura-prospetto.api-client';\nimport { TipologiaCompensoApiClient } from './entities/tipologia-compenso.api-client';\nimport { TipologiaDocumentoApiClient } from './entities/tipologia-documento.api-client';\nimport { TipologiaIncaricoApiClient } from './entities/tipologia-incarico.api-client';\nimport { TipologiaPartecipazioneApiClient } from './entities/tipologia-partecipazione.api-client';\nimport { TipologiaRegistrazioneApiClient } from './entities/tipologia-registrazione.api-client';\nimport { UtenteEnteApiClient } from './entities/utente-ente.api-client';\nimport { UtentePartecipataApiClient } from './entities/utente-partecipata.api-client';\nimport { UtenteApiClient } from './entities/utente.api-client';\nimport { FileApiClient } from './file.api-client';\n\nimport { CancellazioniCepApiClient } from './entities/cancellazioni-cep.api-client';\nimport { ValoriAnnoPrecedenteApiClient } from './entities/valori-anno-precedente.api-client';\n\nimport { CancellazioniPartecipoApiClient } from './entities/cancellazioni-partecipo.api-client';\n\nimport { ChiusuraRipristinoConsolidatoApiClient } from './entities/chiusura-ripristino-consolidato.api-client';\n\nimport { ContiNonRaccordatiApiClient } from './entities/conti-non-raccordati.api-client';\n\nimport { TemplateApiClient } from './entities/template.api-client';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class ApiClientModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: ApiClientModule\n ) {\n if (parentModule) {\n throw new Error(\n 'ApiClientModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(\n config: ApiClientConfig\n ): ModuleWithProviders {\n return {\n ngModule: ApiClientModule,\n\n providers: [\n TemplateApiClient,\n {\n provide: 'templateApiClient',\n useExisting: TemplateApiClient,\n },\n ContiNonRaccordatiApiClient,\n {\n provide: 'contiNonRaccordatiApiClient',\n useExisting: ContiNonRaccordatiApiClient,\n },\n ChiusuraRipristinoConsolidatoApiClient,\n {\n provide: 'chiusuraRipristinoConsolidatoApiClient',\n useExisting: ChiusuraRipristinoConsolidatoApiClient,\n },\n CancellazioniPartecipoApiClient,\n {\n provide: 'cancellazioniPartecipoApiClient',\n useExisting: CancellazioniPartecipoApiClient,\n },\n CancellazioniCepApiClient,\n {\n provide: 'cancellazioniCepApiClient',\n useExisting: CancellazioniCepApiClient,\n },\n BdapCepApiClient,\n {\n provide: 'bdapCepApiClient',\n useExisting: BdapCepApiClient,\n },\n NotaIntegrativaCepApiClient,\n {\n provide: 'notaIntegrativaCepApiClient',\n useExisting: NotaIntegrativaCepApiClient,\n },\n ChiusuraRipristinoEsercizioApiClient,\n {\n provide: 'chiusuraRipristinoEsercizioApiClient',\n useExisting: ChiusuraRipristinoEsercizioApiClient,\n },\n ContoEconomicoAnnoPrecedenteApiClient,\n {\n provide: 'contoEconomicoAnnoPrecedenteApiClient',\n useExisting: ContoEconomicoAnnoPrecedenteApiClient,\n },\n CostiPerMissioneApiClient,\n {\n provide: 'costiPerMissioneApiClient',\n useExisting: CostiPerMissioneApiClient,\n },\n RiepilogoProspettiApiClient,\n {\n provide: 'riepilogoProspettiApiClient',\n useExisting: RiepilogoProspettiApiClient,\n },\n StampeCepApiClient,\n {\n provide: 'stampeCepApiClient',\n useExisting: StampeCepApiClient,\n },\n CofiApiClient,\n {\n provide: 'cofiApiClient',\n useExisting: CofiApiClient,\n },\n PrimaNotaRigaApiClient,\n {\n provide: 'primaNotaRigaApiClient',\n useExisting: PrimaNotaRigaApiClient,\n },\n PrimaNotaApiClient,\n {\n provide: 'primaNotaApiClient',\n useExisting: PrimaNotaApiClient,\n },\n StampePartecipoApiClient,\n {\n provide: 'stampePartecipoApiClient',\n useExisting: StampePartecipoApiClient,\n },\n BilancioConsolidatoRigaApiClient,\n {\n provide: 'bilancioConsolidatoRigaApiClient',\n useExisting: BilancioConsolidatoRigaApiClient,\n },\n BilancioConsolidatoRigaDettaglioApiClient,\n {\n provide: 'bilancioConsolidatoRigaDettaglioApiClient',\n useExisting: BilancioConsolidatoRigaDettaglioApiClient,\n },\n BilancioConsolidatoApiClient,\n {\n provide: 'bilancioConsolidatoApiClient',\n useExisting: BilancioConsolidatoApiClient,\n },\n RiduzioneProporzionaleRigaApiClient,\n {\n provide: 'riduzioneProporzionaleRigaApiClient',\n useExisting: RiduzioneProporzionaleRigaApiClient,\n },\n RiduzioneProporzionaleApiClient,\n {\n provide: 'riduzioneProporzionaleApiClient',\n useExisting: RiduzioneProporzionaleApiClient,\n },\n BilancioPartecipataRigaApiClient,\n {\n provide: 'bilancioPartecipataRigaApiClient',\n useExisting: BilancioPartecipataRigaApiClient,\n },\n BilancioEnteRigaApiClient,\n {\n provide: 'bilancioEnteRigaApiClient',\n useExisting: BilancioEnteRigaApiClient,\n },\n SoggettoApiClient,\n {\n provide: 'soggettoApiClient',\n useExisting: SoggettoApiClient,\n },\n ScritturaElisioneRigaApiClient,\n {\n provide: 'scritturaElisioneRigaApiClient',\n useExisting: ScritturaElisioneRigaApiClient,\n },\n ScritturaPreconsolidamentoRigaApiClient,\n {\n provide: 'scritturaPreconsolidamentoRigaApiClient',\n useExisting: ScritturaPreconsolidamentoRigaApiClient,\n },\n ScritturaElisioneApiClient,\n {\n provide: 'scritturaElisioneApiClient',\n useExisting: ScritturaElisioneApiClient,\n },\n ScritturaPreconsolidamentoApiClient,\n {\n provide: 'scritturaPreconsolidamentoApiClient',\n useExisting: ScritturaPreconsolidamentoApiClient,\n },\n PerimetroApiClient,\n {\n provide: 'perimetroApiClient',\n useExisting: PerimetroApiClient,\n },\n GapApiClient,\n {\n provide: 'gapApiClient',\n useExisting: GapApiClient,\n },\n AnalisiBilancioApiClient,\n {\n provide: 'analisiBilancioApiClient',\n useExisting: AnalisiBilancioApiClient,\n },\n BilancioRigheApiClient,\n {\n provide: 'bilancioRigheApiClient',\n useExisting: BilancioRigheApiClient,\n },\n BilancioEnteApiClient,\n {\n provide: 'bilancioEnteApiClient',\n useExisting: BilancioEnteApiClient,\n },\n NotificaApiClient,\n {\n provide: 'notificaApiClient',\n useExisting: NotificaApiClient,\n },\n PartecipataIndirettaApiClient,\n {\n provide: 'partecipataIndirettaApiClient',\n useExisting: PartecipataIndirettaApiClient,\n },\n BilancioPartecipataApiClient,\n {\n provide: 'bilancioPartecipataApiClient',\n useExisting: BilancioPartecipataApiClient,\n },\n CompagineSocialeApiClient,\n {\n provide: 'compagineSocialeApiClient',\n useExisting: CompagineSocialeApiClient,\n },\n IncaricoPartecipataApiClient,\n {\n provide: 'incaricoPartecipataApiClient',\n useExisting: IncaricoPartecipataApiClient,\n },\n DocumentoPartecipataApiClient,\n {\n provide: 'documentoPartecipataApiClient',\n useExisting: DocumentoPartecipataApiClient,\n },\n ModelloContabileRigaApiClient,\n {\n provide: 'modelloContabileRigaApiClient',\n useExisting: ModelloContabileRigaApiClient,\n },\n PartecipataServizioApiClient,\n {\n provide: 'partecipataServizioApiClient',\n useExisting: PartecipataServizioApiClient,\n },\n AttivitaPartecipataApiClient,\n {\n provide: 'attivitaApiClient',\n useExisting: AttivitaPartecipataApiClient,\n },\n {\n provide: ApiClientConfig,\n useValue: config,\n },\n FileApiClient,\n // UserApiClient,\n // {\n // provide: 'userApiClient',\n // useExisting: UserApiClient,\n // },\n // RoleApiClient,\n // {\n // provide: 'roleApiClient',\n // useExisting: RoleApiClient,\n // },\n EnteApiClient,\n {\n provide: 'enteApiClient',\n useExisting: EnteApiClient,\n },\n UtenteApiClient,\n {\n provide: 'utenteApiClient',\n useExisting: UtenteApiClient,\n },\n RuoloApiClient,\n {\n provide: 'ruoloApiClient',\n useExisting: RuoloApiClient,\n },\n UtenteEnteApiClient,\n {\n provide: 'utenteEnteApiClient',\n useExisting: UtenteEnteApiClient,\n },\n ModuloApiClient,\n {\n provide: 'moduloApiClient',\n useExisting: ModuloApiClient,\n },\n ModuloEnteApiClient,\n {\n provide: 'moduloEnteApiClient',\n useExisting: ModuloEnteApiClient,\n },\n TipologiaRegistrazioneApiClient,\n {\n provide: 'tipologiaRegistrazioneApiClient',\n useExisting: TipologiaRegistrazioneApiClient,\n },\n MissioneApiClient,\n {\n provide: 'missioneApiClient',\n useExisting: MissioneApiClient,\n },\n ProgrammaApiClient,\n {\n provide: 'programmaApiClient',\n useExisting: ProgrammaApiClient,\n },\n PianoFinanziarioApiClient,\n {\n provide: 'pianoFinanziarioApiClient',\n useExisting: PianoFinanziarioApiClient,\n },\n PianoContiApiClient,\n {\n provide: 'pianoContiApiClient',\n useExisting: PianoContiApiClient,\n },\n ProspettoApiClient,\n {\n provide: 'prospettoApiClient',\n useExisting: ProspettoApiClient,\n },\n StrutturaProspettoApiClient,\n {\n provide: 'strutturaProspettoApiClient',\n useExisting: StrutturaProspettoApiClient,\n },\n MatriceApiClient,\n {\n provide: 'matriceApiClient',\n useExisting: MatriceApiClient,\n },\n RaccordoApiClient,\n {\n provide: 'raccordoApiClient',\n useExisting: RaccordoApiClient,\n },\n SaldoInizialeApiClient,\n {\n provide: 'saldoInizialeApiClient',\n useExisting: SaldoInizialeApiClient,\n },\n PartecipataApiClient,\n {\n provide: 'partecipataApiClient',\n useExisting: PartecipataApiClient,\n },\n UtentePartecipataApiClient,\n {\n provide: 'utentePartecipataApiClient',\n useExisting: UtentePartecipataApiClient,\n },\n TipologiaIncaricoApiClient,\n {\n provide: 'tipologiaIncaricoApiClient',\n useExisting: TipologiaIncaricoApiClient,\n },\n TipologiaPartecipazioneApiClient,\n {\n provide: 'tipologiaPartecipazioneApiClient',\n useExisting: TipologiaPartecipazioneApiClient,\n },\n TipologiaDocumentoApiClient,\n {\n provide: 'tipologiaDocumentoApiClient',\n useExisting: TipologiaDocumentoApiClient,\n },\n ServizioPubblicoApiClient,\n {\n provide: 'servizioPubblicoApiClient',\n useExisting: ServizioPubblicoApiClient,\n },\n MoltiplicatoreApiClient,\n {\n provide: 'moltiplicatoreApiClient',\n useExisting: MoltiplicatoreApiClient,\n },\n TipologiaCompensoApiClient,\n {\n provide: 'tipologiaCompensoApiClient',\n useExisting: TipologiaCompensoApiClient,\n },\n ParametroGapApiClient,\n {\n provide: 'parametroGapApiClient',\n useExisting: ParametroGapApiClient,\n },\n ParametroPerimetroApiClient,\n {\n provide: 'parametroPerimetroApiClient',\n useExisting: ParametroPerimetroApiClient,\n },\n ModelloContabileApiClient,\n {\n provide: 'modelloContabileApiClient',\n useExisting: ModelloContabileApiClient,\n },\n PartecipataEnteApiClient,\n {\n provide: 'partecipataEnteApiClient',\n useExisting: PartecipataEnteApiClient,\n },\n ControlloCostiPerMissioneApiClient,\n {\n provide: 'controlloCostiPerMissioneApiClient',\n useExisting: ControlloCostiPerMissioneApiClient,\n },\n ControlloSaldiApiClient,\n {\n provide: 'controlloSaldiApiClient',\n useExisting: ControlloSaldiApiClient,\n },\n ValoriAnnoPrecedenteApiClient,\n {\n provide: 'valoriAnnoPrecedenteApiClient',\n useExisting: ValoriAnnoPrecedenteApiClient,\n },\n ],\n };\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { AnalisiBilancioDto } from '@ideapa/common-dto';\nimport { ImportiAnalisiBilancio } from '@ideapa/common-utils';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class AnalisiBilancioApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/analisi-bilancio';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getRigheAnalisiBilancio(idPartecipata: number) {\n return this.http.get(\n `${this.baseUrl}/id-partecipata/${idPartecipata}`\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { AttivitaPartecipataDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class AttivitaPartecipataApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/attivita-partecipata';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BdapCepDto, ResultDto } from '@ideapa/common-dto';\nimport { SelectItem } from '@ideapa/common-interfaces';\nimport { ParametriEstratti, ParametriInviati } from '@ideapa/common-utils';\nimport { map, Observable } from 'rxjs';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BdapCepApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bdap-cep';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getTassonomie() {\n return this.http.get(`${this.baseUrl}/tassonomie`);\n }\n\n importXbrlFile(file: File) {\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(this.baseUrl + '/import-xbrl', fd);\n }\n\n downloadXbrl(\n parametriEstratti: ParametriEstratti,\n parametriInviati: ParametriInviati\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-xbrl',\n {\n parametriEstratti: parametriEstratti,\n parametriInviati: parametriInviati,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioConsolidatoRigaDettaglioDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioConsolidatoRigaDettaglioApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-consolidato-riga-dettaglio';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioConsolidatoRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioConsolidatoRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-consolidato-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { map, Observable } from 'rxjs';\n\n// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioConsolidato } from '@ideapa/app-shared-bilancio-consolidato';\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { BilancioConsolidatoDto } from '@ideapa/common-dto';\nimport { SoggettoPerConsolidato } from '@ideapa/common-utils';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioConsolidatoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-consolidato';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n calcolaConsolidato() {\n this._pagedCache.clear();\n return this.http.get(this.baseUrl + '/calcola-consolidato');\n }\n\n getSoggettiPerConsolidato(ente: Ente) {\n return this.http.post(\n this.baseUrl + '/soggetti-per-consolidato',\n { ente: ente }\n );\n }\n\n downloadExcelConsolidato(\n idBilancio: number,\n idProspetto: number,\n fileName: string\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-excel-consolidato',\n {\n idBilancio: idBilancio,\n idProspetto: idProspetto,\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n downloadPdfConsolidato(\n idProspetto: number,\n escludiPreconsolidamento: boolean,\n escludiElisione: boolean,\n fileName: string\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-pdf-consolidato',\n {\n idProspetto: idProspetto,\n escludiPreconsolidamento: escludiPreconsolidamento,\n escludiElisione: escludiElisione,\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n chiusuraConsolidato() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/chiusura-consolidato`);\n }\n\n riaperturaConsolidato() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/riapertura-consolidato`);\n }\n\n checkConsolidato(anno: number | undefined = undefined) {\n return this.http.post(\n `${this.baseUrl}/check-consolidato`,\n { anno }\n );\n }\n\n // calcolaBilanciConsolidatiAnno(anno: number) {\n // return this.http.get(\n // `${this.baseUrl}/calcola-bilanci-consolidati/${anno}`,\n // {}\n // );\n // }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioEnteRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioEnteRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-ente-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioEnte } from '@ideapa/app-shared-bilancio-ente';\nimport { BilancioEnteDto, ResultDto } from '@ideapa/common-dto';\nimport { TipoBilancio } from '@ideapa/common-utils';\nimport { map, Observable } from 'rxjs';\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioEnteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-ente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n canImport() {\n return this.http.get(`${this.baseUrl}/can-import`);\n }\n\n // importExcelFile(file: File, esercizio: number) {\n // const fd = new FormData();\n // fd.append('file', file);\n // return this.http.post(\n // this.baseUrl + '/import-excel/' + esercizio,\n // fd\n // );\n // }\n importExcelFile(file: File, esercizio: number, tipo: TipoBilancio) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n fd.append('tipo', tipo);\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n );\n }\n\n exportBilancioPdf(body: { codiceProspetto: string }) {\n return this.http\n .post(`${this.baseUrl}/export-bilancio-pdf`, body, {\n responseType: 'arraybuffer',\n })\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n setDefaultBilancioEnte(idBilancioEnte: number): Observable {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/set-default-bilancio-ente/${idBilancioEnte}`\n );\n }\n\n updateTotali(idBilancio: number) {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/update-totali/${idBilancio}`\n );\n }\n\n importBilancioCep() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/import-bilancio-cep`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioPartecipataRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioPartecipataRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-partecipata-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\n// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioPartecipata } from '@ideapa/app-shared-bilancio-partecipata';\nimport { BilancioPartecipataDto, ResultDto } from '@ideapa/common-dto';\nimport { TipoBilancio } from '@ideapa/common-utils';\nimport { Observable } from 'rxjs';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioPartecipataApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-partecipata';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getAllByPartecipata(idPartecipata: number) {\n return this.http.get(\n this.baseUrl + '/idPartecipata/' + idPartecipata\n );\n }\n\n canImport(body: { idPartecipata: number; esercizio: number }) {\n return this.http.post<{\n bilancioDiEsercizio: boolean;\n bilancioRiclassificato: boolean;\n }>(`${this.baseUrl}/can-import`, body);\n }\n\n // canDuplicate() {\n // return this.http.get(`${this.baseUrl}/can-duplicate`);\n // }\n\n updateTotali(idBilancio: number) {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/update-totali/${idBilancio}`\n );\n }\n\n importExcelFile(\n file: File,\n idPartecipata: number,\n esercizio: number,\n tipo: TipoBilancio,\n estremiDelibera: string\n ) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n fd.append('idPartecipata', idPartecipata.toString());\n // fd.append('esercizio', esercizio.toString());\n fd.append('tipo', tipo);\n fd.append('estremiDelibera', estremiDelibera);\n\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n // {\n // fd,\n // idPartecipata: idPartecipata,\n // esercizio: esercizio,\n // tipo: tipo,\n // estremiDelibera,\n // }\n );\n }\n\n // duplicate(body: { fromEsercizio: number; toEsercizio: number }) {\n // return this.http.post(`${this.baseUrl}/duplicate`, body);\n // }\n\n importXbrlFile(\n file: File,\n idPartecipata: number,\n esercizio: number,\n estremiDelibera: string\n ) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n fd.append('idPartecipata', idPartecipata.toString());\n fd.append('estremiDelibera', estremiDelibera);\n return this.http.post(\n this.baseUrl + '/import-xbrl/' + esercizio,\n fd\n );\n }\n\n setDefaultBilancioPartecipata(\n idBilancioPartecipata: number\n ): Observable {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/set-default-bilancio-partecipata/${idBilancioPartecipata}`\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { BilancioRigheDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class BilancioRigheApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-righe';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n compilaBilancioRighe() {\n return this.http.get(`${this.baseUrl}/compila-bilancio-righe`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { CancellazioniCepDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class CancellazioniCepApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/cancellazioni-cep';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { CancellazioniPartecipoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class CancellazioniPartecipoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/cancellazioni-partecipo';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ChiusuraRipristinoConsolidatoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ChiusuraRipristinoConsolidatoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/chiusura-ripristino-consolidato';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ChiusuraRipristinoEsercizioDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ChiusuraRipristinoEsercizioApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/chiusura-ripristino-esercizio';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n checkEsercizioClosed() {\n return this.http.get(this.baseUrl + '/check-esercizio-chiuso');\n }\n\n chiusuraEsercizio() {\n this._pagedCache.clear();\n return this.http.get(this.baseUrl + '/chiusura-esercizio');\n }\n\n ripristinoEsercizio() {\n this._pagedCache.clear();\n return this.http.get(this.baseUrl + '/ripristino-esercizio');\n }\n}\n","// IMPORTANT Autogenerated file\n/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { CofiDto, ResultDto } from '@ideapa/common-dto';\nimport { FilterValue, PagedResultDto } from '@ideapa/common-interfaces';\n\nimport { ApiClientConfig } from '../api-client-config';\nimport { of, tap } from 'rxjs';\n\n@Injectable()\nexport class CofiApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/cofi';\n\n private _pagedCacheWithTotals: Map<\n string,\n {\n data: PagedResultDto & {\n total: number;\n };\n expiration: Date;\n }\n > = new Map();\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n override clearCache() {\n this._pagedCache.clear();\n this._pagedCacheWithTotals.clear();\n }\n\n canImport(body: { codiceTipologia: string }) {\n return this.http.post(`${this.baseUrl}/can-import`, body);\n }\n\n canDelete(body: { codiceTipologia: string }) {\n return this.http.post(`${this.baseUrl}/can-delete`, body);\n }\n\n importExcelFile(file: File, codiceTipologia: string) {\n this._pagedCache.clear();\n this._pagedCacheWithTotals.clear();\n const fd = new FormData();\n fd.append('file', file);\n fd.append('codiceTipologia', codiceTipologia);\n return this.http.post(this.baseUrl + '/import-excel', fd);\n }\n\n deleteRecordTipologia(codiceTipologia: string) {\n this._pagedCache.clear();\n this._pagedCacheWithTotals.clear();\n return this.http.get(\n `${this.baseUrl}/delete-record-tipologia/${codiceTipologia}`\n );\n }\n\n getPagedByTypeWithTotals(\n take: number,\n skip: number,\n orderBy?: { [field: string]: 'asc' | 'desc' },\n filters?: FilterValue[],\n join?: string[],\n areDomainUserFiltersDisabled?: boolean,\n isEntitySelectionLimited?: boolean,\n areEnteAnnoFiltersDisabled?: boolean\n ) {\n const mappedFilters = this.buildPagedFilters(filters);\n\n const request = {\n skip,\n take,\n orderBy,\n filters: mappedFilters,\n join,\n areDomainUserFiltersDisabled: areDomainUserFiltersDisabled,\n isEntitySelectionLimited: isEntitySelectionLimited,\n areEnteAnnoFiltersDisabled: areEnteAnnoFiltersDisabled,\n };\n\n const cacheKey = JSON.stringify(request);\n const cached = this._pagedCacheWithTotals.get(cacheKey);\n if (cached) {\n if (cached.expiration > new Date()) {\n return of(cached.data);\n } else {\n this._pagedCacheWithTotals.delete(cacheKey);\n }\n }\n\n return this.http\n .post & { total: number }>(\n `${this.baseUrl}/pagedwithtotals`,\n request\n )\n .pipe(\n tap((result) =>\n this._pagedCacheWithTotals.set(cacheKey, {\n data: result,\n expiration: new Date(\n Date.now() + 60 * 1000 * this.CACHE_EXPIRATION_MIN\n ),\n })\n )\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { CompagineSocialeDto } from '@ideapa/common-dto';\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class CompagineSocialeApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/compagine-sociale';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getAllByPartecipata(idPartecipata: number) {\n return this.http.get(\n this.baseUrl + '/idPartecipata/' + idPartecipata\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ContiNonRaccordatiDto, PianoContiDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ContiNonRaccordatiApiClient extends BaseCRUDApiClient {\n //baseUrl = this.config.apiEndpoint + '/conti-non-raccordati';\n baseUrl = this.config.apiEndpoint + '/piano-conti';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n override getAll() {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/piani-non-raccordati`\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ContoEconomicoAnnoPrecedenteDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ContoEconomicoAnnoPrecedenteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/conto-economico-anno-precedente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n estraiCEAnnoPrecedente() {\n return this.http.get(\n this.baseUrl + '/estrai-ce-anno-precedente'\n );\n }\n\n updateRigaCE(idRiga: number, importoAP: number) {\n return this.http.post(\n this.baseUrl + '/update-riga-ce-anno-precedente',\n {\n idRiga: idRiga,\n importoAP: importoAP,\n }\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ControlloCostiPerMissioneDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ControlloCostiPerMissioneApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/prima-nota-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n override getAll() {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/controllo-costi-per-missione`\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ControlloSaldiDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ControlloSaldiApiClient extends BaseCRUDApiClient {\n // baseUrl = this.config.apiEndpoint + '/piano-conti';\n baseUrl = this.config.apiEndpoint + '/riepilogo-prospetti';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n override getAll() {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/controllo-saldi`\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { CostiPerMissioneDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class CostiPerMissioneApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/costi-per-missione';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { DocumentoPartecipataDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class DocumentoPartecipataApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/documento-partecipata';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { EnteDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class EnteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/ente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { GapDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class GapApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/gap';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n calcolaGap() {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/calcola-gap`, {});\n }\n\n confirmWarning(id: number) {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/confirm-warnig/${id}`);\n }\n\n cancellazioneGapPerimetro() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/cancella-gap`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { IncaricoPartecipataDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class IncaricoPartecipataApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/incarico-partecipata';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { MatriceDto, ResultDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class MatriceApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/matrice';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n canImport() {\n return this.http.get(`${this.baseUrl}/can-import`);\n }\n\n canDuplicate() {\n return this.http.get(`${this.baseUrl}/can-duplicate`);\n }\n\n canCopyFromEnte() {\n return this.http.get(`${this.baseUrl}/can-copy-from-ente`);\n }\n\n importExcelFile(file: File, esercizio: number) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n );\n }\n\n duplicate(body: { fromEsercizio: number; toEsercizio: number }) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/duplicate`, body);\n }\n\n copyFromEnte(body: { fromEnte: number; toEnte: number }) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/copy-from-ente`, body);\n }\n\n deleteAll() {\n this._pagedCache.clear();\n return this.http.delete(`${this.baseUrl}/delete-all`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { MissioneDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class MissioneApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/missione';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ModelloContabileRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ModelloContabileRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/modello-contabile-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ModelloContabileDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\n\n@Injectable()\nexport class ModelloContabileApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/modello-contabile';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ModuloEnteDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ModuloEnteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/modulo-ente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ModuloDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ModuloApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/modulo';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { MoltiplicatoreDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class MoltiplicatoreApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/moltiplicatore';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n swap(moltiplicatoreDareId: number, moltiplicatoreAvereId: number) {\n return this.http.put(\n `${this.baseUrl}/swap/${moltiplicatoreDareId}/${moltiplicatoreAvereId}`,\n null\n );\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { NotaIntegrativaCepDto } from '@ideapa/common-dto';\nimport { map } from 'rxjs';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class NotaIntegrativaCepApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/nota-integrativa-cep';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n downloadNotaIntegrativa(body: {\n idNotaIntegrativa: number;\n idTemplate: number | null;\n }) {\n return this.http\n .post(`${this.baseUrl}/download-nota-integrativa`, body, {\n responseType: 'arraybuffer',\n })\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { firstValueFrom, Observable, Subscriber } from 'rxjs';\n\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, NgZone } from '@angular/core';\nimport { AuthService } from '@ideapa/app-auth';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { NotificaDto, NotificaListWithCounter } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class NotificaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/notifica';\n\n realtimeNotifications$?: Observable;\n\n constructor(\n http: HttpClient,\n private zone: NgZone,\n private config: ApiClientConfig,\n private authService: AuthService\n ) {\n super(http);\n }\n\n getUserLatestNotifications() {\n return this.http.get(\n `${this.baseUrl}/user/latest`\n );\n }\n\n getUserNotifications(token: string): Observable {\n if (!this.realtimeNotifications$) {\n this.realtimeNotifications$ = new Observable((observer) => {\n this.buildEventSource(token, observer);\n });\n }\n\n return this.realtimeNotifications$;\n }\n\n private buildEventSource(token: string, observer: Subscriber) {\n let eventSource = new EventSource(`${this.baseUrl}/user/${token}`);\n\n eventSource.onmessage = (event) => {\n this.zone.run(() => {\n observer.next(JSON.parse(event.data) as NotificaDto);\n });\n };\n\n eventSource.onerror = (error) => {\n this.zone.run(async () => {\n observer.error(error);\n observer.complete();\n\n if (!eventSource.CLOSED) {\n eventSource.close();\n\n const result = await firstValueFrom(this.authService.refreshTokens());\n eventSource = this.buildEventSource(result.accessToken, observer);\n }\n });\n };\n\n return eventSource;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ParametroGapDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\n\n@Injectable()\nexport class ParametroGapApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/parametro-gap';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ParametroPerimetroDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\n\n@Injectable()\nexport class ParametroPerimetroApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/parametro-perimetro';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PartecipataEnteDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PartecipataEnteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/partecipata-ente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n duplicatePartecipateEnte() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/duplicate-partecipate-ente/`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PartecipataIndirettaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PartecipataIndirettaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/partecipata-indiretta';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PartecipataServizioDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PartecipataServizioApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/partecipata-servizio';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PartecipataDto } from '@ideapa/common-dto';\nimport { Observable } from 'rxjs';\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PartecipataApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/partecipata';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n findByCodiceFiscale(codiceFiscale: string) {\n return this.http.get(\n `${this.baseUrl}/find-by-codice-fiscale/${codiceFiscale}`\n );\n }\n\n findMinDataCessione(idPartecipataEnte: number) {\n return this.http.get<{ dataMin: string }>(\n `${this.baseUrl}/search-min-data-cessione/${idPartecipataEnte}`\n );\n }\n\n unlinkPartecipata(idPartecipata: number): Observable {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/unlink-partecipata-ente/${idPartecipata}`\n );\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PerimetroDto } from '@ideapa/common-dto';\nimport { DatiDelibera } from '@ideapa/common-utils';\nimport { map } from 'rxjs';\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PerimetroApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/perimetro';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n calcolaPerimetro() {\n this._pagedCache.clear();\n return this.http.post(\n `${this.baseUrl}/calcola-perimetro`,\n {}\n );\n }\n\n downloadDelibera(body: { datiDelibera: DatiDelibera }) {\n return this.http\n .post(`${this.baseUrl}/download-delibera`, body, {\n responseType: 'arraybuffer',\n })\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n confirmWarning(id: number) {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/confirm-warnig/${id}`);\n }\n\n getSoggettiInclusi() {\n return this.http.get(`${this.baseUrl}/soggetti-inclusi`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PianoContiDto, ResultDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PianoContiApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/piano-conti';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n canImport() {\n return this.http.get(`${this.baseUrl}/can-import`);\n }\n\n canDuplicate() {\n return this.http.get(`${this.baseUrl}/can-duplicate`);\n }\n\n importExcelFile(file: File, esercizio: number) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n );\n }\n\n duplicate(body: { fromEsercizio: number; toEsercizio: number }) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/duplicate`, body);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PianoFinanziarioDto, ResultDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PianoFinanziarioApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/piano-finanziario';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n canImport() {\n return this.http.get(`${this.baseUrl}/can-import`);\n }\n\n canDuplicate() {\n return this.http.get(`${this.baseUrl}/can-duplicate`);\n }\n\n getEsercizi() {\n return this.http.get(`${this.baseUrl}/get-esercizi`);\n }\n\n importExcelFile(file: File, esercizio: number) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n );\n }\n\n duplicate(body: { fromEsercizio: number; toEsercizio: number }) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/duplicate`, body);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PrimaNotaRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class PrimaNotaRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/prima-nota-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n deleteRegistrazioni() {\n this._pagedCache.clear();\n return this.http.delete(`${this.baseUrl}/delete-registrazioni`);\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\n// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { PrimaNotaDto } from '@ideapa/common-dto';\nimport { FilterValue, PagedResultDto } from '@ideapa/common-interfaces';\n\nimport { ApiClientConfig } from '../api-client-config';\nimport { of, tap } from 'rxjs';\n\n@Injectable()\nexport class PrimaNotaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/prima-nota';\n\n private _pagedCacheWithTotals: Map<\n string,\n {\n data: PagedResultDto & {\n totaleDare: number;\n totaleAvere: number;\n };\n expiration: Date;\n }\n > = new Map();\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n override clearCache() {\n this._pagedCache.clear();\n this._pagedCacheWithTotals.clear();\n }\n\n // canRegister(body: { codiceTipologia: string }) {\n // return this.http.post(`${this.baseUrl}/can-register`, body);\n // }\n\n // canDelete(body: { codiceTipologia: string }) {\n // return this.http.post(`${this.baseUrl}/can-delete`, body);\n // }\n\n registrazioneAutomatica(codiceTipologia: string) {\n this._pagedCache.clear();\n this._pagedCacheWithTotals.clear();\n return this.http.post(this.baseUrl + '/registrazione-automatica', {\n codiceTipologia: codiceTipologia,\n });\n }\n\n deleteRecordTipologia(codiceTipologia: string) {\n this._pagedCache.clear();\n this._pagedCacheWithTotals.clear();\n return this.http.get(\n `${this.baseUrl}/delete-record-tipologia/${codiceTipologia}`\n );\n }\n\n getPagedByTypeWithTotals(\n take: number,\n skip: number,\n orderBy?: { [field: string]: 'asc' | 'desc' },\n filters?: FilterValue[],\n join?: string[],\n areDomainUserFiltersDisabled?: boolean,\n isEntitySelectionLimited?: boolean,\n areEnteAnnoFiltersDisabled?: boolean\n ) {\n const mappedFilters = this.buildPagedFilters(filters);\n const request = {\n skip,\n take,\n orderBy,\n filters: mappedFilters,\n join,\n areDomainUserFiltersDisabled: areDomainUserFiltersDisabled,\n isEntitySelectionLimited: isEntitySelectionLimited,\n areEnteAnnoFiltersDisabled: areEnteAnnoFiltersDisabled,\n };\n\n // console.log('request: ', request);\n const cacheKey = JSON.stringify(request);\n console.log('cacheKey: ', cacheKey);\n const cached = this._pagedCacheWithTotals.get(cacheKey);\n if (cached) {\n if (cached.expiration > new Date()) {\n return of(cached.data);\n } else {\n this._pagedCacheWithTotals.delete(cacheKey);\n }\n }\n\n return this.http\n .post<\n PagedResultDto & {\n totaleDare: number;\n totaleAvere: number;\n }\n >(`${this.baseUrl}/pagedwithtotals`, request)\n .pipe(\n tap((result) =>\n this._pagedCacheWithTotals.set(cacheKey, {\n data: result,\n expiration: new Date(\n Date.now() + 60 * 1000 * this.CACHE_EXPIRATION_MIN\n ),\n })\n )\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ProgrammaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ProgrammaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/programma';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ProspettoDto, ResultDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ProspettoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/prospetto';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n importExcelFile(file: File, esercizio: number) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { RaccordoDto, ResultDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class RaccordoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/raccordo';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n canImport() {\n return this.http.get(`${this.baseUrl}/can-import`);\n }\n\n canDuplicate() {\n return this.http.get(`${this.baseUrl}/can-duplicate`);\n }\n\n canCopyFromEnte() {\n return this.http.get(`${this.baseUrl}/can-copy-from-ente`);\n }\n\n importExcelFile(file: File, esercizio: number) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(\n this.baseUrl + '/import-excel/' + esercizio,\n fd\n );\n }\n\n duplicate(body: { fromEsercizio: number; toEsercizio: number }) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/duplicate`, body);\n }\n\n copyFromEnte(body: { fromEnte: number; toEnte: number }) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/copy-from-ente`, body);\n }\n\n deleteAll() {\n this._pagedCache.clear();\n return this.http.delete(`${this.baseUrl}/delete-all`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { RiduzioneProporzionaleRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class RiduzioneProporzionaleRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/riduzione-proporzionale-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport {\n RiduzioneProporzionaleDto,\n RiduzioneProporzionaleRigaDto,\n} from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class RiduzioneProporzionaleApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/riduzione-proporzionale';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n calcolaRiduzioni() {\n this._pagedCache.clear();\n return this.http.get(\n this.baseUrl + '/calcola-riduzioni'\n );\n }\n\n updateRiduzione(\n idRiduzione: number,\n idPartecipataEnte: number,\n riga: Partial,\n riduzioneProporzionale: number\n ) {\n this._pagedCache.clear();\n return this.http.post(\n this.baseUrl + '/update-riduzione',\n {\n idRiduzione: idRiduzione,\n idPartecipataEnte: idPartecipataEnte,\n riga: riga,\n riduzioneProporzionale: riduzioneProporzionale,\n }\n );\n }\n\n hasRiduzioni() {\n this._pagedCache.clear();\n return this.http.get(this.baseUrl + '/has-riduzioni');\n }\n}\n","// IMPORTANT Autogenerated file\n/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { RiepilogoProspettiDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class RiepilogoProspettiApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/riepilogo-prospetti';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n calcolaRiepilogo() {\n this._pagedCache.clear();\n return this.http.get(this.baseUrl + '/calcola-riepilogo');\n }\n\n checkDatiRiepilogoModificati() {\n return this.http.get(\n this.baseUrl + '/check-dati-riepilogo-modificati'\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { RuoloDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class RuoloApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/ruolo';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ResultDto, SaldoInizialeDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class SaldoInizialeApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/saldo-iniziale';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n canImport() {\n return this.http.get(`${this.baseUrl}/can-import`);\n }\n\n canInit() {\n return this.http.get(`${this.baseUrl}/can-init`);\n }\n\n checkTotals() {\n return this.http.get(`${this.baseUrl}/check-totals`);\n }\n\n importExcelFile(file: File) {\n this._pagedCache.clear();\n const fd = new FormData();\n fd.append('file', file);\n return this.http.post(this.baseUrl + '/import', fd);\n }\n\n initSaldoIniziale() {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/init`, {});\n }\n\n deleteAll() {\n this._pagedCache.clear();\n return this.http.delete(`${this.baseUrl}/delete-all`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ScritturaElisioneRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ScritturaElisioneRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/scrittura-elisione-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ScritturaElisioneDto } from '@ideapa/common-dto';\nimport { SelectItem } from '@ideapa/common-interfaces';\nimport { map, Observable } from 'rxjs';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ScritturaElisioneApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/scrittura-elisione';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getSoggetti() {\n return this.http.post(`${this.baseUrl}/soggetti`, {});\n }\n\n calcolaPercentuale(soggettoA: string, soggettoB: string) {\n this._pagedCache.clear();\n return this.http.post(`${this.baseUrl}/calcola-percentuale`, {\n soggettoA,\n soggettoB,\n });\n }\n\n downloadPdfElisione(fileName: string): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-pdf-elisione',\n {\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n cancellazioneScrittureElisione() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/cancella-scritture`);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ScritturaPreconsolidamentoRigaDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ScritturaPreconsolidamentoRigaApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/scrittura-preconsolidamento-riga';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\n\nimport { ScritturaPreconsolidamentoDto } from '@ideapa/common-dto';\nimport { SelectItem } from '@ideapa/common-interfaces';\nimport { map, Observable } from 'rxjs';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ScritturaPreconsolidamentoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/scrittura-preconsolidamento';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getSoggetti() {\n return this.http.post(`${this.baseUrl}/soggetti`, {});\n }\n\n downloadPdfPreconsolidamento(\n fileName: string,\n idSoggetto?: string\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-pdf-preconsolidamento',\n {\n idSoggetto: idSoggetto,\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n cancellazioneScritturePreconsolidamento() {\n this._pagedCache.clear();\n return this.http.get(`${this.baseUrl}/cancella-scritture`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { ServizioPubblicoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class ServizioPubblicoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/servizio-pubblico';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { SoggettoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class SoggettoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/soggetto';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { map, Observable } from 'rxjs';\n\n// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { DownloadPdfLibroGiornaleDto, StampeCepDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\nimport { DownloadType } from '@ideapa/common-utils';\n\n@Injectable()\nexport class StampeCepApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/stampe-cep';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n downloadProspettoCep(\n idProspetto: number,\n includiAP: boolean,\n statoIniziale: boolean,\n downloadType: string,\n fileName: string\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-prospetto-cep',\n\n {\n idProspetto: idProspetto,\n includiAP: includiAP,\n statoIniziale: statoIniziale,\n downloadType:\n downloadType == 'docx' ? DownloadType.Word : DownloadType.Pdf,\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n downloadCostiPerMissioneCep(\n fileName: string,\n downloadType: string\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-costi-per-missione',\n {\n fileName: fileName,\n downloadType,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n downloadLibroGiornaleCep() {\n return this.http.get(\n this.baseUrl + '/download-libro-giornale'\n );\n }\n\n downloadPdfNotaIntegrativaCep(fileName: string): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-pdf-nota-integrativa',\n {\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n}\n","// IMPORTANT Autogenerated file\n/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { StampePartecipoDto } from '@ideapa/common-dto';\nimport { SelectItem } from '@ideapa/common-interfaces';\nimport { map, Observable } from 'rxjs';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class StampePartecipoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/stampe-partecipo';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getTassonomie() {\n return this.http.get(`${this.baseUrl}/tassonomie`);\n }\n\n downloadBdap(tassonomia: string, fileName: string): Observable {\n // console.log('tassonomia: ', tassonomia);\n // console.log('fileName: ', fileName);\n return this.http\n .post(\n this.baseUrl + '/download-bdap',\n {\n tassonomia: tassonomia,\n fileName: fileName,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n downloadMovimenti(body: {\n idProspetto: number | null;\n idStruttura: number | null;\n }) {\n return this.http\n .post(`${this.baseUrl}/download-movimenti`, body, {\n responseType: 'arraybuffer',\n })\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n downloadDocxNotaIntegrativa(\n idTemplate: number | null\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-docx-nota-integrativa',\n {\n idTemplate: idTemplate,\n },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { StrutturaProspettoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class StrutturaProspettoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/struttura-prospetto';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","// IMPORTANT Autogenerated file\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { TemplateDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class TemplateApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/template';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getAvailableTemplateList(tipologia: string) {\n return this.http.get<{ templates: TemplateDto[]; esercizio: number }>(\n `${this.baseUrl}/available-template-list/${tipologia}`\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { TipologiaCompensoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class TipologiaCompensoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/tipologia-compenso';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { TipologiaDocumentoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class TipologiaDocumentoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/tipologia-documento';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { TipologiaIncaricoDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class TipologiaIncaricoApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/tipologia-incarico';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { TipologiaPartecipazioneDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class TipologiaPartecipazioneApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/tipologia-partecipazione';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport {\n TipologiaRegistrazioneDto,\n TipologiaRegistrazioneExtendedDto,\n} from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\nimport { RiepilogoPerTipologia } from '@ideapa/common-utils';\n\n@Injectable()\nexport class TipologiaRegistrazioneApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/tipologia-registrazione';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getTipologiaByCode(codiceTipologia: string) {\n return this.http.post(\n this.baseUrl + '/get-tipologia-by-code',\n {\n codiceTipologia: codiceTipologia,\n }\n );\n }\n\n getTipologieSelezionabili() {\n return this.http.get(\n `${this.baseUrl}/get-tipologie-selezionabili`\n );\n }\n\n getCofiGroupByTipologia() {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/cofiGroupByTipologia`\n );\n }\n\n getPrimaNotaGroupByTipologia() {\n this._pagedCache.clear();\n return this.http.get(\n `${this.baseUrl}/primaNotaGroupByTipologia`\n );\n }\n // getCofiGroupByTipologia() {\n // this._pagedCache.clear();\n // return this.http.get(\n // `${this.baseUrl}/cofiGroupByTipologia`\n // );\n // }\n\n // getPrimaNotaGroupByTipologia() {\n // this._pagedCache.clear();\n // return this.http.get(\n // `${this.baseUrl}/primaNotaGroupByTipologia`\n // );\n // }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { UtenteEnteDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class UtenteEnteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/utente-ente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { UtentePartecipataDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class UtentePartecipataApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/utente-partecipata';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport { UtenteDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\n\n@Injectable()\nexport class UtenteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/utente';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseCRUDApiClient } from '@ideapa/app-base-components';\nimport {\n BilancioConsolidatoDto,\n ValoriAnnoPrecedenteDto,\n} from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from '../api-client-config';\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { SoggettoPerConsolidato } from '@ideapa/common-utils';\n\n@Injectable()\nexport class ValoriAnnoPrecedenteApiClient extends BaseCRUDApiClient {\n baseUrl = this.config.apiEndpoint + '/bilancio-consolidato';\n\n constructor(http: HttpClient, private config: ApiClientConfig) {\n super(http);\n }\n\n getSoggettiPerConsolidato(ente: Ente) {\n return this.http.post(\n this.baseUrl + '/partecipate',\n { ente: ente }\n );\n }\n\n getBCAnnoPrecedente() {\n return this.http.get(\n this.baseUrl + '/get-anno-precedente'\n );\n }\n\n estraiBCAnnoPrecedente() {\n return this.http.get(\n this.baseUrl + '/estrai-anno-precedente'\n );\n }\n\n calcolaBCAnnoPrecedente() {\n return this.http.get(\n this.baseUrl + '/calcola-anno-precedente'\n );\n }\n\n updateRigaBC(idRiga: number, importoAP: number) {\n return this.http.post(\n this.baseUrl + '/update-riga-anno-precedente',\n {\n idRiga: idRiga,\n importoAP: importoAP,\n }\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { FileDto } from '@ideapa/common-dto';\n\nimport { ApiClientConfig } from './api-client-config';\n\n@Injectable()\nexport class FileApiClient {\n baseUrl = this.config.apiEndpoint + '/file';\n\n upload(list: FileList) {\n const files = Array.from(list);\n const fd = new FormData();\n files.forEach((file) => fd.append('files', file));\n return this.http.post(this.baseUrl + '/upload', fd);\n }\n\n download(attachment: FileDto) {\n return this.http.post(this.baseUrl + '/download', attachment, {\n responseType: 'arraybuffer',\n });\n }\n\n constructor(private http: HttpClient, private config: ApiClientConfig) {}\n}\n","import { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { filter, first, map, Observable, withLatestFrom } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n\nimport { AuthFacade } from '../+state/auth.facade';\nimport { AuthService } from '../auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggedUserGuard implements CanActivate {\n constructor(\n private oidcSecurityService: OidcSecurityService,\n private authService: AuthService,\n private router: Router,\n private authFacade: AuthFacade,\n private permissionsService: NgxPermissionsService\n ) {}\n\n canActivate(): Observable {\n return this.checkStore();\n }\n\n checkStore(): Observable {\n return this.authFacade.selectLoggedUser$.pipe(\n withLatestFrom(this.authService.userData$),\n map(([loggedUser, userData]) => {\n if (\n !loggedUser\n // ||(userData.userData &&\n // loggedUser.externalUserId !== userData.userData.oid)\n ) {\n // loggedUser = undefined;\n this.authFacade.getLoggedUser();\n }\n return loggedUser;\n }),\n filter((loggedUser) => !!loggedUser),\n map((loggedUser) => {\n const permissions = (loggedUser?.role?.permissions || []).map(\n (rp) => rp.code || ''\n );\n // add role\n if (loggedUser?.role) {\n permissions.push(loggedUser?.role.code);\n }\n //console.log('permissions', permissions);\n this.permissionsService.loadPermissions(permissions);\n return !!loggedUser;\n }),\n first()\n );\n }\n}\n","import { first, Observable, switchMap, tap } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\n\nimport { AuthService } from '../auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoginGuard implements CanActivate {\n constructor(private authService: AuthService, private router: Router) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable {\n // const token = this.oidcSecurityService.getAccessToken();\n // console.log('token', token);\n const url = state.url;\n return this.authService.checkAuth().pipe(\n switchMap(() => {\n return this.authService.signedIn$;\n }),\n tap((isAuthenticated) => {\n if (!isAuthenticated) {\n this.authService.pushTmpUrl(url);\n this.router.navigateByUrl('auth/login');\n } else {\n const url = this.authService.popTmpUrl();\n if (url) {\n this.router.navigateByUrl(url);\n }\n }\n }),\n first()\n );\n }\n}\n","import { first, map, Observable, tap } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\nimport { AuthFacade } from '../+state/auth.facade';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModuloGuard implements CanActivate {\n constructor(private authFacade: AuthFacade, private router: Router) {}\n\n canActivate(activeRoute: ActivatedRouteSnapshot): Observable {\n return this.authFacade.modulo$.pipe(\n tap((modulo) => {\n if (\n (!modulo && !activeRoute.data['modulo']) ||\n modulo?.codice !== activeRoute.data['modulo']\n ) {\n this.router.navigateByUrl('/', { replaceUrl: true });\n }\n }),\n map((modulo) => !!modulo),\n first()\n );\n }\n}\n","import { Observable } from 'rxjs';\nimport { first, map, tap } from 'rxjs/operators';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\nimport { AuthFacade } from '@ideapa/app-auth';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnteGuard implements CanActivate {\n constructor(private authFacade: AuthFacade, private router: Router) {}\n\n canActivate(): Observable {\n return this.authFacade.ente$.pipe(\n tap((ente) => {\n if (!ente) {\n this.router.navigateByUrl('/', { replaceUrl: true });\n }\n }),\n map((ente) => !!ente),\n first()\n );\n }\n}\n","import { first, map, Observable, tap } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { AuthFacade } from '@ideapa/app-auth';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AnnoGuard implements CanActivate {\n constructor(private authFacade: AuthFacade, private router: Router) {}\n\n canActivate(): Observable {\n return this.authFacade.anno$.pipe(\n tap((anno) => {\n if (!anno) {\n this.router.navigateByUrl('/', { replaceUrl: true });\n }\n }),\n map((anno) => !!anno),\n first()\n );\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { Modulo } from '@ideapa/app-shared-modulo';\nimport { TokenDto, UserWithEntiDto } from '@ideapa/common-dto';\nimport { createAction, props } from '@ngrx/store';\n\nexport const getLoggedUser = createAction(`[Auth] Get logged user`);\n\nexport const getLoggedUserSuccess = createAction(\n `[Auth] Get logged user success`,\n props<{ loggedUser: UserWithEntiDto }>()\n);\n\nexport const getLoggedUserFail = createAction(\n `[Auth] Get logged user fail`,\n props<{ error: string }>()\n);\n\nexport const logout = createAction(`[Auth] Logout`);\nexport const logoutSuccess = createAction(`[Auth] Logout success`);\nexport const logoutFailure = createAction(\n `[Auth] Logout failure`,\n props<{ error: string }>()\n);\nexport const setUserMustResetPassword = createAction(\n '[Auth] User must reset password'\n);\n\nexport const loginWithAAD = createAction(\n `[Auth] AAD Login`,\n props<{ rememberMe: boolean }>()\n);\nexport const loginWithAADSuccess = createAction(\n '[Auth] AAD Login Success',\n props<{ result: TokenDto }>()\n);\nexport const loginWithAADFailure = createAction(\n '[Auth] AAD Login Failure',\n props<{ error: string }>()\n);\n\nexport const login = createAction(\n '[Auth] Login',\n props<{\n username: string;\n password: string;\n rememberMe: boolean;\n newPassword?: string;\n }>()\n);\n\nexport const loginSuccess = createAction(\n '[Auth] Login Success',\n props<{ result: TokenDto }>()\n);\nexport const loginFailure = createAction(\n '[Auth] Login Failure',\n props<{ error: string; userMustResetPassword?: boolean }>()\n);\n\nexport const forgotPassword = createAction(\n '[Auth] Forgot password',\n props<{ username: string }>()\n);\nexport const forgotPasswordSuccess = createAction(\n '[Auth] Forgot password Success'\n);\nexport const forgotPasswordFailure = createAction(\n '[Auth] Forgot password Failure',\n props<{ error: string }>()\n);\n\nexport const resetPassword = createAction(\n '[Auth] Reset password submit',\n props<{ token: string; newPassword: string }>()\n);\nexport const resetPasswordSuccess = createAction(\n '[Auth] Reset password submit Success'\n);\nexport const resetPasswordFailure = createAction(\n '[Auth] Reset password submit Failure',\n props<{ error: string }>()\n);\n\nexport const sessionExpired = createAction(`[Auth] SessionExpired`);\n\n//CheckAuth\nexport const checkAADAuth = createAction('[Auth] Check auth');\nexport const checkAuthSuccess = createAction(\n '[Auth] Check auth success',\n props<{ loggedIn: boolean }>()\n);\nexport const checkAuthFail = createAction(\n '[Auth] Check auth fail',\n props<{ error: string }>()\n);\n\nexport const forceRefresh = createAction('[Auth] Force refresh');\nexport const forceRefreshSucces = createAction(\n '[Auth] Force refresh success',\n props<{ result: TokenDto }>()\n);\nexport const forceRefreshFail = createAction(\n '[Auth] Force refresh fail',\n props<{ error: string }>()\n);\n\nexport const resetAuthError = createAction('[Auth] Reset auth error');\n\nexport const clearModulo = createAction('[Auth] Clear modulo');\n\nexport const showSelectModuloPopup = createAction(\n '[Auth] Show Select modulo popup',\n props<{ modulo: Modulo | null }>()\n);\n\nexport const selectModulo = createAction(\n '[Auth] Select modulo',\n props<{ modulo: Modulo; prevModulo: Modulo | null }>()\n);\n\nexport const selectEnte = createAction(\n '[Auth] Select ente',\n props<{ ente: Ente; prevEnte: Ente | null }>()\n);\n\nexport const selectAnno = createAction(\n '[Auth] Select anno',\n props<{ anno: number; prevAnno: number | null }>()\n);\n\nexport const showChangePasswordPopup = createAction(\n '[Auth] Show Change Password popup'\n);\n\nexport const changePassword = createAction(\n '[Auth] Change password',\n props<{\n password: string;\n newPassword: string;\n }>()\n);\n\nexport const changePasswordSuccess = createAction(\n '[Auth] Change Password Success'\n);\n\nexport const changePasswordFailure = createAction(\n '[Auth] Change Password Failure',\n props<{ error: string }>()\n);\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { box, ResetAction, SetValueAction } from 'ngrx-forms';\n\n// IMPORTANT Autogenerated file\nimport { Injectable } from '@angular/core';\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { Modulo } from '@ideapa/app-shared-modulo';\nimport { TokenDto } from '@ideapa/common-dto';\nimport { select, Store } from '@ngrx/store';\n\nimport * as AuthActions from './auth.actions';\nimport {\n CHANGE_PASSWORD_FORM_ID,\n ChangePasswordFormValue,\n LOGIN_FORM_ID,\n loginFormInitialState,\n LoginFormValue,\n SELECT_MODULO_FORM_ID,\n SelectModuloFormValue,\n} from './auth.reducer';\nimport * as AuthSelectors from './auth.selectors';\n\n@Injectable()\nexport class AuthFacade {\n /**\n * Combine pieces of state using createSelector,\n * and expose them as observables through the facade.\n */\n selectLoggedUser$ = this.store.pipe(select(AuthSelectors.selectLoggedUser));\n error$ = this.store.pipe(select(AuthSelectors.selectAuthError));\n\n selectLoginForm$ = this.store.pipe(select(AuthSelectors.selectLoginForm));\n selectAuthError$ = this.store.pipe(select(AuthSelectors.selectAuthError));\n resetPasswordEmailSent$ = this.store.pipe(\n select(AuthSelectors.resetPasswordEmailSent)\n );\n\n selectUserMustResetPassword$ = this.store.pipe(\n select(AuthSelectors.selectUserMustResetPassword)\n );\n selectForgotPasswordForm$ = this.store.pipe(\n select(AuthSelectors.selectForgotPasswordForm)\n );\n selectResetPasswordForm$ = this.store.pipe(\n select(AuthSelectors.selectResetPasswordForm)\n );\n seletQueryParams$ = this.store.pipe(select(AuthSelectors.selectQueryParams));\n\n availableModules$ = this.store.pipe(select(AuthSelectors.availableModules));\n\n modulo$ = this.store.pipe(select(AuthSelectors.modulo));\n\n ente$ = this.store.pipe(select(AuthSelectors.ente));\n\n anno$ = this.store.pipe(select(AuthSelectors.anno));\n\n isAdmin$ = this.store.pipe(select(AuthSelectors.isAdmin));\n\n selectModuloForm$ = this.store.pipe(\n select(AuthSelectors.getSelectModuloForm)\n );\n\n selectModuloPartecipataForm$ = this.store.pipe(\n select(AuthSelectors.getSelectModuloPartecipataForm)\n );\n changePasswordForm$ = this.store.pipe(\n select(AuthSelectors.getChangePasswordForm)\n );\n\n constructor(private store: Store) {}\n\n loginAAD(rememberMe: boolean) {\n this.store.dispatch(AuthActions.loginWithAAD({ rememberMe }));\n }\n\n login(\n username: string,\n password: string,\n rememberMe: boolean,\n newPassword: string\n ) {\n this.store.dispatch(\n AuthActions.login({ username, password, rememberMe, newPassword })\n );\n }\n\n forceRefresh() {\n this.store.dispatch(AuthActions.forceRefresh());\n }\n\n forceRefreshSuccess(result: TokenDto) {\n this.store.dispatch(AuthActions.forceRefreshSucces({ result }));\n }\n\n logout() {\n this.store.dispatch(AuthActions.logout());\n }\n\n checkAADAuth() {\n this.store.dispatch(AuthActions.checkAADAuth());\n }\n\n getLoggedUser() {\n this.store.dispatch(AuthActions.getLoggedUser());\n }\n\n sessionExpired() {\n this.store.dispatch(AuthActions.sessionExpired());\n }\n\n loginFormInitialize() {\n this.store.dispatch(\n new SetValueAction(LOGIN_FORM_ID, loginFormInitialState)\n );\n this.store.dispatch(new ResetAction(LOGIN_FORM_ID));\n }\n\n loginFormInitializeWithTmpPassword(username: string, password: string) {\n this.store.dispatch(\n new SetValueAction(LOGIN_FORM_ID, {\n username,\n password,\n rememberMe: false,\n newPassword: '',\n confirmPassword: '',\n })\n );\n this.store.dispatch(new ResetAction(LOGIN_FORM_ID));\n }\n\n forgotPassword(username: string) {\n this.store.dispatch(AuthActions.forgotPassword({ username }));\n }\n\n resetPassword(token: string, newPassword: string) {\n this.store.dispatch(AuthActions.resetPassword({ token, newPassword }));\n }\n\n resetAuthError() {\n this.store.dispatch(AuthActions.resetAuthError());\n }\n\n selectModulo(modulo: Modulo, prevModulo: Modulo | null) {\n this.store.dispatch(AuthActions.selectModulo({ modulo, prevModulo }));\n }\n\n showSelectModuloPopup(modulo: Modulo | null) {\n this.store.dispatch(AuthActions.showSelectModuloPopup({ modulo }));\n }\n\n clearModulo() {\n this.store.dispatch(AuthActions.clearModulo());\n }\n\n selectEnte(ente: Ente, prevEnte: Ente | null) {\n this.store.dispatch(AuthActions.selectEnte({ ente, prevEnte }));\n }\n\n selectAnno(anno: number, prevAnno: number | null) {\n this.store.dispatch(AuthActions.selectAnno({ anno, prevAnno }));\n }\n\n initSelectModuloForm(ente: Ente | null, anno: number) {\n this.store.dispatch(\n new SetValueAction(SELECT_MODULO_FORM_ID, {\n ente: box(ente || undefined),\n anno: anno,\n })\n );\n this.store.dispatch(new ResetAction(SELECT_MODULO_FORM_ID));\n }\n\n showChangePasswordPopup() {\n this.store.dispatch(\n new SetValueAction(CHANGE_PASSWORD_FORM_ID, {\n password: '',\n newPassword: '',\n confirmPassword: '',\n })\n );\n\n this.store.dispatch(new ResetAction(CHANGE_PASSWORD_FORM_ID));\n\n this.store.dispatch(AuthActions.showChangePasswordPopup());\n }\n\n changePassword(password: string, newPassword: string) {\n this.store.dispatch(AuthActions.changePassword({ password, newPassword }));\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport * as moment from 'moment';\nimport {\n box,\n Boxed,\n createFormGroupState,\n FormGroupState,\n onNgrxForms,\n updateGroup,\n validate,\n wrapReducerWithFormStateUpdate,\n} from 'ngrx-forms';\nimport { email, minLength, pattern, required } from 'ngrx-forms/validation';\n\nimport { fieldEqualTo } from '@ideapa/app-forms';\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { Modulo } from '@ideapa/app-shared-modulo';\nimport { UserWithEntiDto } from '@ideapa/common-dto';\nimport { createReducer, on } from '@ngrx/store';\n\nimport * as AuthActions from './auth.actions';\n\nexport const AUTH_FEATURE_KEY = 'auth';\n\nexport const LOGIN_FORM_ID = 'loginForm';\nexport const PROFILE_CHANGE_PASSWORD_FORM_ID = 'profileChangePasswordForm';\nexport const FORGOT_PASSWORD_FORM_ID = 'forgotPasswordForm';\nexport const RESET_PASSWORD_FORM_ID = 'resetPasswordForm';\nexport const SELECT_MODULO_FORM_ID = 'moduloForm';\nexport const SELECT_MODULO_PARTECIPATA_FORM_ID = 'moduloPartecipataForm';\nexport const CHANGE_PASSWORD_FORM_ID = 'changePasswordForm';\nexport interface LoginFormValue {\n username: string;\n password: string;\n rememberMe: boolean;\n newPassword: string;\n confirmPassword: string;\n}\nexport interface ForgotPasswordFormValue {\n username: string;\n}\nexport interface ResetPasswordFormValue {\n newPassword: string;\n confirmPassword: string;\n}\nexport interface ChangePasswordFormValue {\n password: string;\n newPassword: string;\n confirmPassword: string;\n}\nexport interface SelectModuloFormValue {\n ente: Boxed;\n anno: number;\n}\n\nexport interface SelectModuloPartecipataFormValue {\n anno: number;\n}\n\nexport interface AuthState {\n loginForm: FormGroupState;\n loggedUser?: UserWithEntiDto;\n modulo: Modulo | null;\n ente: Ente | null;\n anno: number | null;\n forgotPasswordForm: FormGroupState;\n resetPasswordForm: FormGroupState;\n selectModuloForm: FormGroupState;\n selectModuloPartecipataForm: FormGroupState;\n changePasswordForm: FormGroupState;\n authError: string;\n resetPasswordEmailSent: boolean;\n userMustResetPassword: boolean;\n}\n\nexport interface AuthPartialState {\n readonly [AUTH_FEATURE_KEY]: AuthState;\n}\n\nexport const loginFormInitialState: LoginFormValue = {\n username: '',\n password: '',\n rememberMe: false,\n newPassword: '',\n confirmPassword: '',\n};\n\nexport const forgotPasswordFormInitialState: ForgotPasswordFormValue = {\n username: '',\n};\n\nexport const resetPasswordFormInitialState: ResetPasswordFormValue = {\n newPassword: '',\n confirmPassword: '',\n};\n\nexport const changePasswordFormInitialState: ChangePasswordFormValue = {\n password: '',\n newPassword: '',\n confirmPassword: '',\n};\n\nexport const selectModuloFormInitialState: SelectModuloFormValue = {\n ente: box(undefined),\n anno: moment().subtract(1, 'y').year(),\n};\n\nexport const selectModuloPartecipataFormInitialState: SelectModuloPartecipataFormValue =\n {\n anno: moment().subtract(1, 'y').year(),\n };\n\nexport const initialState: AuthState = {\n // set initial required properties\n loginForm: createFormGroupState(\n LOGIN_FORM_ID,\n loginFormInitialState\n ),\n loggedUser: undefined,\n userMustResetPassword: false,\n resetPasswordEmailSent: false,\n forgotPasswordForm: createFormGroupState(\n FORGOT_PASSWORD_FORM_ID,\n forgotPasswordFormInitialState\n ),\n resetPasswordForm: createFormGroupState(\n FORGOT_PASSWORD_FORM_ID,\n resetPasswordFormInitialState\n ),\n selectModuloForm: createFormGroupState(\n SELECT_MODULO_FORM_ID,\n selectModuloFormInitialState\n ),\n selectModuloPartecipataForm:\n createFormGroupState(\n SELECT_MODULO_PARTECIPATA_FORM_ID,\n selectModuloPartecipataFormInitialState\n ),\n changePasswordForm: createFormGroupState(\n CHANGE_PASSWORD_FORM_ID,\n changePasswordFormInitialState\n ),\n authError: '',\n modulo: null,\n anno: null,\n ente: null,\n};\n\nconst validateLoginForm = (\n formState: FormGroupState,\n state: AuthState\n) => {\n return updateGroup(formState, {\n username: (controlState, parentState) => {\n controlState = validate(controlState, [required, email]);\n return controlState;\n },\n password: (controlState, parentState) => {\n controlState = validate(controlState, required);\n return controlState;\n },\n newPassword: (controlState, parentState) => {\n if (state.userMustResetPassword) {\n controlState = validate(controlState, [required, minLength(8)]);\n\n if (controlState.isValid) {\n controlState = validate(\n controlState,\n pattern(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_-])(?=.{8,})/\n )\n );\n }\n }\n return controlState;\n },\n confirmPassword: (controlState, parentState) => {\n if (state.userMustResetPassword) {\n controlState = validate(\n controlState,\n fieldEqualTo(\n parentState.value.newPassword,\n 'Conferma password',\n 'Nuova Password'\n )\n );\n }\n return controlState;\n },\n });\n};\n\nconst validateForgotPasswordForm = updateGroup({\n username: validate(required, email),\n});\n\nconst validateSelectModuloForm = updateGroup({\n anno: validate(required),\n ente: validate(required),\n});\n\nconst validateSelectModuloPartecipataForm =\n updateGroup({\n anno: validate(required),\n });\n\nconst validateChangePasswordForm = updateGroup({\n password: validate(required),\n newPassword: (controlState, parentState) => {\n controlState = validate(controlState, [required, minLength(8)]);\n\n if (controlState.isValid) {\n controlState = validate(\n controlState,\n pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_-])(?=.{8,})/)\n );\n }\n\n return controlState;\n },\n confirmPassword: (controlState, parentState) => {\n controlState = validate(\n controlState,\n fieldEqualTo(\n parentState.value.newPassword,\n 'Conferma password',\n 'Nuova Password'\n )\n );\n return controlState;\n },\n});\n\nconst validateResetPasswordForm = (\n formState: FormGroupState\n) => {\n return updateGroup(formState, {\n newPassword: (controlState, parentState) => {\n controlState = validate(controlState, [required, minLength(8)]);\n\n if (controlState.isValid) {\n controlState = validate(\n controlState,\n pattern(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_-])(?=.{8,})/\n )\n );\n }\n return controlState;\n },\n confirmPassword: (controlState, parentState) => {\n controlState = validate(\n controlState,\n fieldEqualTo(\n parentState.value.newPassword,\n 'Conferma password',\n 'Nuova Password'\n )\n );\n return controlState;\n },\n });\n};\n\nconst rawReducer = createReducer(\n initialState,\n onNgrxForms(),\n on(AuthActions.login, (state) => {\n return {\n ...state,\n ente: null,\n anno: null,\n modulo: null,\n };\n }),\n on(AuthActions.getLoggedUserSuccess, (state, { loggedUser }) => {\n return {\n ...state,\n loggedUser,\n };\n }),\n on(AuthActions.logout, (state) => {\n return {\n ...state,\n loginForm: createFormGroupState(\n LOGIN_FORM_ID,\n loginFormInitialState\n ),\n loggedUser: undefined,\n modulo: null,\n ente: null,\n anno: null,\n };\n }),\n on(AuthActions.setUserMustResetPassword, (state) => {\n return { ...state, userMustResetPassword: true };\n }),\n on(AuthActions.loginSuccess, (state) => {\n return {\n ...state,\n userMustResetPassword: false,\n authError: '',\n };\n }),\n on(AuthActions.loginFailure, (state, { error }) => {\n return { ...state, authError: error };\n }),\n // on(AuthActions.forgotPasswordSuccess, (state) => {\n // return { ...state, resetPasswordEmailSent: true };\n // }),\n on(AuthActions.resetPasswordSuccess, (state) => {\n return { ...state, authError: '' };\n }),\n // on(AuthActions.resetPasswordFailure, (state, { error }) => {\n // return { ...state, authError: error };\n // }),\n on(AuthActions.resetAuthError, (state) => {\n return { ...state, authError: '' };\n }),\n on(AuthActions.selectModulo, (state, { modulo }) => {\n return { ...state, modulo };\n }),\n on(AuthActions.clearModulo, (state) => {\n return {\n ...state,\n modulo: null,\n ente: null,\n anno: null,\n selectModuloForm: createFormGroupState(\n SELECT_MODULO_FORM_ID,\n selectModuloFormInitialState\n ),\n selectModuloPartecipataForm: createFormGroupState(\n SELECT_MODULO_PARTECIPATA_FORM_ID,\n selectModuloPartecipataFormInitialState\n ),\n };\n }),\n on(AuthActions.selectEnte, (state, { ente }) => {\n return { ...state, ente };\n }),\n on(AuthActions.selectAnno, (state, { anno }) => {\n return { ...state, anno };\n })\n);\n\nexport const reducer = wrapReducerWithFormStateUpdate(\n wrapReducerWithFormStateUpdate(\n wrapReducerWithFormStateUpdate(\n wrapReducerWithFormStateUpdate(\n wrapReducerWithFormStateUpdate(\n wrapReducerWithFormStateUpdate(\n rawReducer,\n // point to the form state to update\n (s) => s.resetPasswordForm,\n // this function is always called after the reducer\n validateResetPasswordForm\n ),\n // point to the form state to update\n (s) => s.forgotPasswordForm,\n // this function is always called after the reducer\n validateForgotPasswordForm\n ),\n // point to the form state to update\n (s) => s.loginForm,\n // this function is always called after the reducer\n validateLoginForm\n ),\n (s) => s.selectModuloForm,\n // this function is always called after the reducer\n validateSelectModuloForm\n ),\n (s) => s.selectModuloPartecipataForm,\n // this function is always called after the reducer\n validateSelectModuloPartecipataForm\n ),\n (s) => s.changePasswordForm,\n // this function is always called after the reducer\n validateChangePasswordForm\n);\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { getRouterInfo } from '@ideapa/app-routing-utils';\nimport { Ente } from '@ideapa/app-shared-ente';\nimport {\n Modulo,\n // sharedSelectors as sharedModuloSelectors,\n} from '@ideapa/app-shared-modulo';\nimport { Partecipata } from '@ideapa/app-shared-partecipata';\n// import { UserWithEntiDto } from '@ideapa/common-dto';\n// import { DeepPartial, RoleCode } from '@ideapa/common-utils';\nimport { RoleCode } from '@ideapa/common-utils';\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport { AUTH_FEATURE_KEY, AuthState } from './auth.reducer';\n\n// Lookup the 'Auth' feature state managed by NgRx\nexport const getAuthState = createFeatureSelector(AUTH_FEATURE_KEY);\n\nexport const selectLoginForm = createSelector(getAuthState, (s) => s.loginForm);\nexport const selectLoggedUser = createSelector(\n getAuthState,\n (s) => s.loggedUser\n);\n\nexport const selectUserMustResetPassword = createSelector(\n getAuthState,\n (s) => s.userMustResetPassword\n);\n\nexport const selectAuthError = createSelector(getAuthState, (s) => s.authError);\n\nexport const resetPasswordEmailSent = createSelector(\n getAuthState,\n (s) => s.resetPasswordEmailSent\n);\n\n// export const selectQueryDomain = createSelector(\n// getRouterInfo,\n// (r) => r.queryParams.domainId\n// );\n\nexport const selectForgotPasswordForm = createSelector(\n getAuthState,\n (s) => s.forgotPasswordForm\n);\nexport const selectResetPasswordForm = createSelector(\n getAuthState,\n (s) => s.resetPasswordForm\n);\n\nexport const selectQueryParams = createSelector(\n getRouterInfo,\n (r) => r.queryParams\n);\n\nexport const modulo = createSelector(getAuthState, (s) => s.modulo);\nexport const ente = createSelector(getAuthState, (s) => s.ente);\nexport const anno = createSelector(getAuthState, (s) =>\n s.anno ? Number(s.anno) : null\n);\nexport const isAdmin = createSelector(\n getAuthState,\n (s) =>\n s.loggedUser?.role?.code == RoleCode.Admin ||\n s.loggedUser?.role?.code == RoleCode.SuperAdmin\n);\n\n// export const availableModules = createSelector<\n// any,\n// UserWithEntiDto | undefined,\n// Modulo[],\n// DeepPartial[]\n// >(selectLoggedUser, sharedModuloSelectors.getAll, (user, allModuli) => {\nexport const availableModules = createSelector(selectLoggedUser, (user) => {\n const moduliToReturn: Modulo[] = [];\n if (user && user.entiAssociati.length > 0) {\n const enti = user.entiAssociati;\n enti.forEach((e) => {\n if (e.moduli) {\n const moduli = e.moduli;\n moduli.forEach((nuovoModulo) => {\n if (\n nuovoModulo.modulo &&\n moduliToReturn.findIndex((m) => m.id === nuovoModulo.idModulo) ===\n -1\n ) {\n const entiPerModulo: Ente[] = [];\n enti.forEach((ente) => {\n if (ente.moduli) {\n const idModuliPerEnte = ente.moduli.map(\n (moduloEnte) => moduloEnte.idModulo\n );\n const idModulo = nuovoModulo.idModulo;\n\n if (idModuliPerEnte.indexOf(idModulo) >= 0) {\n entiPerModulo.push(ente);\n }\n }\n });\n\n const modulo: Modulo = {\n ...nuovoModulo.modulo,\n entiAssociati: entiPerModulo,\n };\n\n moduliToReturn.push(modulo);\n }\n });\n }\n });\n } else if (\n user?.role?.code == RoleCode.CompanyUser &&\n user.partecipateAssociate.length > 0\n ) {\n // verifica se && user.partecipate\n const partecipate: Partial[] =\n user.partecipate?.map((m) => {\n return {\n id: m.idPartecipata,\n codice: m.partecipata?.codice,\n ragioneSociale: m.partecipata?.ragioneSociale,\n };\n }) || [];\n // const moduloPartecipo = allModuli.find((m) => m.codice == 'partecipo');\n // mockato perché non posso includere lo shared state dei moduli\n const moduloPartecipo: Modulo = {\n id: 2,\n nome: 'Consolid@to',\n codice: 'partecipo',\n colore: '#1D70FF',\n titolo: 'Gestione Partecipate e Bilancio Consolidato',\n };\n if (moduloPartecipo) {\n const modulo: Modulo = {\n ...moduloPartecipo,\n partecipateAssociate: partecipate,\n };\n moduliToReturn.push(modulo);\n }\n }\n return moduliToReturn;\n});\n\nexport const getSelectModuloForm = createSelector(\n getAuthState,\n (s) => s.selectModuloForm\n);\n\nexport const getSelectModuloPartecipataForm = createSelector(\n getAuthState,\n (s) => s.selectModuloPartecipataForm\n);\n\nexport const getChangePasswordForm = createSelector(\n getAuthState,\n (s) => s.changePasswordForm\n);\n","
\n
\n

Cambia password

\n
\n \n \n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n La password deve essere lunga almeno 8 caratteri.
\n Deve contenere maiuscole e minuscole.
\n Deve contenere almeno un numero.
\n Deve contenere almeno un carattere speciale (!@#$%^&*_-).\n
\n
\n
\n
\n \n\n \n
\n\n","import { FormGroupState, unbox } from 'ngrx-forms';\n\n/* eslint-disable @angular-eslint/component-class-suffix */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { AuthFacade } from '../../+state/auth.facade';\nimport { ChangePasswordFormValue } from '../../+state/auth.reducer';\n\n@Component({\n templateUrl: './change-password-modal.container.html',\n styleUrls: ['./change-password-modal.container.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChangePasswordModalContainer {\n form$ = this.authFacade.changePasswordForm$;\n\n constructor(\n private authFacade: AuthFacade,\n public activeModal: NgbActiveModal\n ) {}\n\n onSubmit(form: FormGroupState) {\n if (form.isValid) {\n this.activeModal.close({\n password: unbox(form.value.password),\n newPassword: form.value.newPassword,\n });\n }\n }\n\n cancel() {\n this.activeModal.close();\n }\n}\n","
\n
\n \n
\n
\n

Anno di esercizio

\n
\n \n \n
\n
\n
\n \n \n
\n
\n La selezione di un nuovo anno comporta la chiusura di tutte le tab\n relative all'anno di esercizio attualmente selezionato.
\n Tutte le modifiche effettuate in tali tab, se NON sono state\n salvate, verranno perse con la conferma della nuova selezione.\n Confermi?\n
\n
\n
\n \n\n \n
\n \n
\n
\n \n
\n
\n

\n Ente ed Anno di esercizio\n

\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n La selezione di nuovi parametri per anno e/o ente, comporta la\n chiusura di tutte le tab relative ad anno ed ente attualmente\n selezionati.
\n Tutte le modifiche effettuate in tali tab, se NON sono state\n salvate, verranno perse con la conferma della nuova selezione.\n Confermi?\n
\n
\n
\n \n\n \n
\n \n
\n
\n","import * as e from 'express';\nimport { FormGroupState, unbox } from 'ngrx-forms';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { RoleCode, SUPER_ENTE_CODE } from '@ideapa/common-utils';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { AuthFacade } from '../../+state/auth.facade';\nimport {\n SelectModuloFormValue,\n SelectModuloPartecipataFormValue,\n} from '../../+state/auth.reducer';\n\n@Component({\n templateUrl: './select-modulo-modal.container.html',\n styleUrls: ['./select-modulo-modal.container.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectModuloModalContainer implements OnInit {\n @Input()\n enti!: Ente[];\n\n entiForSelect!: Ente[];\n\n @Input()\n showWarning = true;\n\n form$ = this.authFacade.selectModuloForm$;\n formPartecipata$ = this.authFacade.selectModuloPartecipataForm$;\n loggedUser$ = this.authFacade.selectLoggedUser$;\n RoleCode = RoleCode;\n\n constructor(\n private authFacade: AuthFacade,\n public activeModal: NgbActiveModal\n ) {}\n\n ngOnInit(): void {\n this.entiForSelect = this.enti\n .map((e) => ({\n ...e,\n description: e.codice + ' - ' + e.descrizione,\n }))\n .filter((e) => e.codice !== SUPER_ENTE_CODE)\n .sort((c1, c2) => {\n return c1.descrizione > c2.descrizione ? 1 : -1;\n });\n }\n\n onSubmit(form: FormGroupState) {\n if (form.isValid) {\n this.activeModal.close({\n ente: unbox(form.value.ente),\n anno: form.value.anno,\n });\n }\n }\n\n onSubmitP(form: FormGroupState) {\n if (form.isValid) {\n this.activeModal.close({\n anno: form.value.anno,\n });\n }\n }\n\n cancel() {\n this.activeModal.close();\n }\n}\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport * as moment from 'moment';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport {\n catchError,\n EMPTY,\n from,\n map,\n mergeMap,\n of,\n switchMap,\n tap,\n withLatestFrom,\n} from 'rxjs';\n\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NavigationFacade } from '@ideapa/app-navigation';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { fetch } from '@nrwl/angular';\n\nimport { AuthService } from '../auth.service';\nimport { ChangePasswordModalContainer } from '../containers/change-password-modal/change-password-modal.container';\nimport { SelectModuloModalContainer } from '../containers/select-modulo-modal/select-modulo-modal.container';\nimport * as AuthActions from './auth.actions';\nimport { AuthFacade } from './auth.facade';\nimport { RoleCode } from '@ideapa/common-utils';\nimport { ProspettoApiClient } from '@ideapa/app-api-client';\n\n@Injectable()\nexport class AuthEffects {\n constructor(\n private actions$: Actions,\n private permissionsService: NgxPermissionsService,\n private authService: AuthService,\n private authFacade: AuthFacade,\n private router: Router,\n private loader: NgrxLoaderFacade,\n private toastService: ToastService,\n private modalService: NgbModal,\n private navigationFacade: NavigationFacade,\n private prospettoService: ProspettoApiClient\n ) {}\n\n failure$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(\n // AuthActions.loginFailure,\n // AuthActions.forgotPasswordFailure,\n AuthActions.resetPasswordFailure\n ),\n tap((a) => this.toastService.errorFeedback(a.error))\n ),\n { dispatch: false }\n );\n\n loginAAD$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.loginWithAAD),\n switchMap((a) => {\n this.loader.showLoader(a);\n return this.authService.loginAAD().pipe(\n switchMap((result) => {\n if (result.isAuthenticated) {\n return this.authService.switchToken(\n result.accessToken,\n a.rememberMe\n );\n } else {\n this.loader.hideLoader(a);\n return EMPTY;\n }\n }),\n map((result) => {\n this.loader.hideLoader(a);\n return AuthActions.loginWithAADSuccess({ result });\n }),\n catchError((error) => {\n this.loader.hideLoader(a);\n return of(\n AuthActions.loginWithAADFailure({\n error: error.error?.message || error.message,\n })\n );\n })\n );\n })\n )\n );\n\n login$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.login),\n switchMap((a) => {\n this.loader.showLoader(a);\n // Your custom service 'load' logic goes here. For now just return a success action...\n return this.authService\n .login(a.username, a.password, a.rememberMe, a.newPassword)\n .pipe(\n switchMap((result) => {\n this.loader.hideLoader(a);\n return of(AuthActions.loginSuccess({ result }));\n }),\n catchError((error: HttpErrorResponse) => {\n this.loader.hideLoader(a);\n if (error.status === 417) {\n this.authFacade.loginFormInitializeWithTmpPassword(\n a.username,\n a.password\n );\n this.router.navigateByUrl('auth/login');\n\n return of(AuthActions.setUserMustResetPassword());\n }\n\n return of(\n AuthActions.loginFailure({\n error: error.error?.message || error.message,\n })\n );\n })\n );\n })\n )\n );\n\n loginSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.loginSuccess, AuthActions.loginWithAADSuccess),\n tap((a) => {\n // this.authService.logoutAAD();\n const url = this.authService.popTmpUrl() || '/';\n this.router.navigateByUrl(url);\n })\n ),\n { dispatch: false }\n );\n\n logout$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.logout),\n switchMap((a) => {\n this.loader.showLoader(a);\n return this.authService.logout().pipe(\n map(() => {\n this.loader.hideLoader(a);\n return AuthActions.logoutSuccess();\n }),\n catchError((err) => {\n this.loader.hideLoader(a);\n return of(AuthActions.logoutFailure(err));\n })\n );\n })\n )\n );\n\n logoutSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.logoutSuccess),\n tap((res) => {\n // this.authService.setLocalAccessToken(res.access_token);\n this.router.navigateByUrl('/auth/login');\n\n this.navigationFacade.init();\n })\n ),\n { dispatch: false }\n );\n\n sessionExpired$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.sessionExpired),\n tap(() => {\n this.toastService.errorFeedback(\n 'La sessione è scaduta, sarai rediretto alla pagina di login.'\n );\n // this.authService.logoutLocal();\n setTimeout(() => {\n this.authFacade.logout();\n this.loader.forceHideLoader();\n this.modalService.dismissAll();\n }, 3000);\n })\n ),\n { dispatch: false }\n );\n\n refresh$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.forceRefresh),\n mergeMap(() => {\n return from(this.authService.refreshTokens()).pipe(\n map((response) =>\n AuthActions.forceRefreshSucces({ result: response })\n ),\n catchError((err) => of(AuthActions.forceRefreshFail({ error: err })))\n );\n })\n )\n );\n\n getLoggedUserSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.getLoggedUserSuccess),\n tap(() => {\n // console.log('Utente loggato recuperato con successo');\n })\n ),\n { dispatch: false }\n );\n\n getLoggedUserFail$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.getLoggedUserFail),\n tap(() => {\n this.router.navigateByUrl('/forbidden');\n })\n ),\n { dispatch: false }\n );\n\n checkAuth$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.checkAADAuth),\n mergeMap(() => {\n return from(this.authService.checkAADAuth()).pipe(\n map((response) =>\n AuthActions.checkAuthSuccess({ loggedIn: !!response })\n ),\n catchError((err) => of(AuthActions.checkAuthFail({ error: err })))\n );\n })\n )\n );\n\n checkAuthFail$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.checkAuthFail),\n tap(() => {\n this.router.navigateByUrl('login');\n })\n ),\n { dispatch: false }\n );\n\n getLoggedUser$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.getLoggedUser),\n fetch({\n run: (a) => {\n // Your custom service 'load' logic goes here. For now just return a success action...\n return this.authService.me().pipe(\n map((loggedUser) => {\n return AuthActions.getLoggedUserSuccess({ loggedUser });\n })\n );\n },\n onError: (action, error) => {\n return AuthActions.getLoggedUserFail({ error: error.message });\n },\n })\n )\n );\n\n forgotPassword$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.forgotPassword),\n fetch({\n run: (a) => {\n this.loader.showLoader(a);\n return this.authService.forgotPassword(a.username).pipe(\n map((res) => {\n this.loader.hideLoader(a);\n return AuthActions.forgotPasswordSuccess();\n })\n );\n },\n onError: (action, error) => {\n this.loader.hideLoader(action);\n return AuthActions.forgotPasswordFailure({\n error: error.message ? error.message : error,\n });\n },\n })\n )\n );\n\n forgotPasswordSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.forgotPasswordSuccess),\n tap(() =>\n this.toastService.successFeedback(\n 'Riceverai una email con le istruzioni per il reset della password.'\n )\n )\n ),\n { dispatch: false }\n );\n\n resetPassword = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.resetPassword),\n fetch({\n run: (a) => {\n this.loader.showLoader(a);\n // Your custom service 'load' logic goes here. For now just return a success action...\n return of(a).pipe(\n switchMap((action) => {\n return this.authService\n .resetPassword(action.token, action.newPassword)\n .pipe(\n map(() => {\n this.loader.hideLoader(action);\n this.router.navigateByUrl('auth/login');\n return AuthActions.resetPasswordSuccess();\n })\n );\n })\n );\n },\n onError: (action, error) => {\n this.loader.hideLoader(action);\n return AuthActions.resetPasswordFailure({\n error: error.message ? error.message : error,\n });\n },\n })\n )\n );\n\n showSelectModuloPopup$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.showSelectModuloPopup),\n withLatestFrom(\n this.authFacade.modulo$,\n this.authFacade.ente$,\n this.authFacade.anno$,\n this.authFacade.selectLoggedUser$\n ),\n switchMap(([a, modulo, ente, anno, user]) => {\n const dialogRef = this.modalService.open(SelectModuloModalContainer, {\n backdrop: 'static',\n size: 'md',\n });\n\n if (a.modulo) {\n let enteToSelect = ente;\n if (\n a.modulo.entiAssociati?.find((e) => e.codice === ente?.codice) ==\n null\n ) {\n enteToSelect = null;\n }\n\n this.authFacade.initSelectModuloForm(\n enteToSelect,\n anno || moment().subtract(1, 'y').year()\n );\n\n const instance =\n dialogRef.componentInstance as SelectModuloModalContainer;\n instance.showWarning = !!modulo;\n instance.enti = a.modulo.entiAssociati || [];\n } else if (modulo && ente && anno) {\n this.authFacade.initSelectModuloForm(ente, anno);\n\n const instance =\n dialogRef.componentInstance as SelectModuloModalContainer;\n instance.showWarning = !!modulo;\n instance.enti = modulo.entiAssociati || [];\n }\n\n return from(dialogRef.result).pipe(\n tap((result: { ente: Ente; anno: number } | undefined) => {\n if (result) {\n if (a.modulo) this.authFacade.selectModulo(a.modulo, modulo);\n\n this.authFacade.selectAnno(result.anno, anno);\n if (user?.role?.code != RoleCode.CompanyUser) {\n this.authFacade.selectEnte(result.ente, ente);\n }\n }\n })\n );\n })\n ),\n { dispatch: false }\n );\n\n showChangePassword$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.showChangePasswordPopup),\n switchMap(() => {\n const dialogRef = this.modalService.open(\n ChangePasswordModalContainer,\n {\n backdrop: 'static',\n size: 'sm',\n }\n );\n\n return from(dialogRef.result).pipe(\n tap(\n (\n result: { password: string; newPassword: string } | undefined\n ) => {\n if (result) {\n this.authFacade.changePassword(\n result.password,\n result.newPassword\n );\n }\n }\n )\n );\n })\n ),\n { dispatch: false }\n );\n\n changePassword = createEffect(() =>\n this.actions$.pipe(\n ofType(AuthActions.changePassword),\n fetch({\n run: (a) => {\n this.loader.showLoader(a);\n // Your custom service 'load' logic goes here. For now just return a success action...\n return of(a).pipe(\n switchMap((action) => {\n return this.authService\n .changePassword(action.password, action.newPassword)\n .pipe(\n map(() => {\n this.loader.hideLoader(action);\n this.toastService.successFeedback(\n 'La password è stata modificata con successo'\n );\n return AuthActions.changePasswordSuccess();\n })\n );\n })\n );\n },\n onError: (action, error) => {\n this.loader.hideLoader(action);\n return AuthActions.changePasswordFailure({\n error: error.message ? error.message : error,\n });\n },\n })\n )\n );\n\n selectModulo$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.selectModulo),\n tap((a) => {\n if (a.modulo.id !== a.prevModulo?.id) {\n this.navigationFacade.closeModuloRelatedTabs();\n }\n })\n ),\n { dispatch: false }\n );\n\n clearModulo$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.clearModulo),\n tap(() => {\n this.navigationFacade.closeModuloRelatedTabs();\n this.navigationFacade.closeEnteAnnoRelatedTabs();\n })\n ),\n { dispatch: false }\n );\n\n selectEnte$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.selectEnte),\n tap((a) => {\n if (a.ente.id !== a.prevEnte?.id) {\n this.navigationFacade.closeEnteAnnoRelatedTabs();\n }\n })\n ),\n { dispatch: false }\n );\n\n selectAnno$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AuthActions.selectAnno),\n tap((a) => {\n if (a.anno !== a.prevAnno) {\n this.navigationFacade.closeEnteAnnoRelatedTabs();\n }\n })\n ),\n { dispatch: false }\n );\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ideapa-error-page',\n templateUrl: './error-page.component.html',\n styleUrls: ['./error-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ErrorPageComponent {\n @Input()\n type!: string;\n\n @Input()\n title!: string;\n\n @Input()\n desc!: string;\n\n @Input()\n showBack = true;\n\n @Output()\n back = new EventEmitter();\n}\n","
\n
\n
\n
\n \n

{{ type }}

\n

{{ title }}

\n
\n Back to home\n\n \n
\n
\n
\n
\n\n","/* eslint-disable @angular-eslint/component-class-suffix */\nimport { Component } from '@angular/core';\n\nimport { AuthFacade } from '../../+state/auth.facade';\n\n/**\n * Login component\n */\n@Component({\n templateUrl: './forbidden.container.html',\n styleUrls: ['./forbidden.container.scss'],\n})\nexport class ForbiddenContainer {\n constructor(private facade: AuthFacade) {}\n\n error$ = this.facade.error$;\n\n logout() {\n this.facade.logout();\n }\n}\n","\n \n\n","\n
\n
\n Password dimenticata? Inserisci la tua email.\n
\n\n
\n \n \n
\n
\n\n
\n \n
\n\n\n\n Controlla la tua email per resettare la tua password\n\n","/* eslint-disable @angular-eslint/component-class-suffix */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormGroupState } from 'ngrx-forms';\nimport { ForgotPasswordFormValue } from '../../+state/auth.reducer';\nimport { AuthFacade } from './../../+state/auth.facade';\n\n@Component({\n templateUrl: './forgot-password.container.html',\n styleUrls: ['./forgot-password.container.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ForgotPasswordContainer {\n forgotPasswordForm$ = this.authFacade.selectForgotPasswordForm$;\n resetPasswordEmailSent$ = this.authFacade.resetPasswordEmailSent$;\n\n constructor(private authFacade: AuthFacade) {}\n\n onSubmit(form: FormGroupState) {\n if (form.isValid) {\n this.authFacade.forgotPassword(form.value.username);\n }\n }\n}\n","/* eslint-disable @angular-eslint/component-class-suffix */\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\n\nimport { AuthFacade } from '../../+state/auth.facade';\n\n@Component({\n templateUrl: './login-root.container.html',\n styleUrls: ['./login-root.container.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoginRootContainer {\n constructor(private authFacade: AuthFacade) {}\n\n @ViewChild('img')\n image?: ElementRef;\n\n onError() {\n this.image?.nativeElement.setAttribute('src', '/assets/img/logo.png');\n }\n}\n","
\n
\n
\n
\n\n
\n \n\n \n
\n
\n
\n\n","\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
Scegli la tua password
\n
\n \n \n
\n
\n \n \n
\n
\n La password deve essere lunga almeno 8 caratteri.
\n Deve contenere maiuscole e minuscole.
\n Deve contenere almeno un numero.
\n Deve contenere almeno un carattere speciale (!@#$%^&*_-).\n
\n \n
\n
\n
\n
\n \n \n
\n
Memorizzare la sessione?
\n
\n
\n\n
\n \n\n \n
\n \n Password dimenticata?\n
\n\n
\n {{ loginError$ | ngrxPush }}\n
\n\n
IdeaSoftware © {{ version }}
\n \n\n","import { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { FormGroupState } from 'ngrx-forms';\n\n/* eslint-disable @angular-eslint/component-class-suffix */\nimport { ChangeDetectionStrategy, Component, Inject } from '@angular/core';\n\nimport { AuthFacade } from '../../+state/auth.facade';\nimport { LoginFormValue } from '../../+state/auth.reducer';\nimport { VERSION } from '@ideapa/app-common';\n\n@Component({\n templateUrl: './login.container.html',\n styleUrls: ['./login.container.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoginContainer {\n loginForm$ = this.authFacade.selectLoginForm$;\n userMustResetPassword$ = this.authFacade.selectUserMustResetPassword$;\n loginError$ = this.authFacade.selectAuthError$;\n\n showLogin = true;\n\n constructor(\n @Inject(VERSION) public version: string,\n private authFacade: AuthFacade,\n private oidcSecurityService: OidcSecurityService\n ) {\n // this.oidcSecurityService\n // .checkAuth()\n // .subscribe(({ isAuthenticated, userData, accessToken, errorMessage }) => {\n // console.log(isAuthenticated);\n // console.log(userData);\n // console.log(accessToken);\n // console.log(errorMessage);\n // });\n }\n\n onSubmit(form: FormGroupState) {\n if (form.isValid) {\n this.authFacade.login(\n form.value.username,\n form.value.password,\n form.value.rememberMe,\n form.value.newPassword\n );\n }\n }\n\n aadLogin(form: FormGroupState) {\n this.authFacade.loginAAD(form.value.rememberMe);\n }\n}\n","\n
Scegli la tua password
\n
\n \n \n
\n
\n \n \n
\n
\n La password deve essere lunga almeno 8 caratteri.
\n Deve contenere maiuscole e minuscole.
\n Deve contenere almeno un numero.
\n Deve contenere almeno un carattere speciale (!@#$%^&*_-).\n
\n
\n \n
\n\n\n {{ authError }}\n
\n
\n Torna al login\n \n \n\n","import { FormGroupState } from 'ngrx-forms';\nimport { first, takeUntil } from 'rxjs/operators';\nimport { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseContainer } from '@ideapa/app-base-components';\n\nimport { AuthFacade } from '../../+state/auth.facade';\nimport { ResetPasswordFormValue } from '../../+state/auth.reducer';\n\n@Component({\n templateUrl: './reset-password.container.html',\n styleUrls: ['./reset-password.container.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ResetPasswordContainer extends BaseContainer implements OnInit {\n queryParams$ = this.authFacade.seletQueryParams$;\n resetForm$ = this.authFacade.selectResetPasswordForm$;\n authError$ = this.authFacade.selectAuthError$;\n\n // private username?: string;\n private token?: string;\n\n get showResetButton() {\n return !!this.token;\n }\n\n constructor(private authFacade: AuthFacade) {\n super();\n }\n\n onSubmit(form: FormGroupState) {\n if (this.token && form.isValid) {\n this.authFacade.resetPassword(this.token, form.value.newPassword);\n }\n }\n\n ngOnInit() {\n this.queryParams$\n .pipe(first(), takeUntil(this.ngUnsubscribe))\n .subscribe((params) => {\n this.token = params['reset_token'];\n });\n }\n\n resetAuthError() {\n this.authFacade.resetAuthError();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AbstractSecurityStorage } from 'angular-auth-oidc-client';\n\n@Injectable()\nexport class CustomStorage implements AbstractSecurityStorage {\n read(key: string) {\n return localStorage.getItem(key);\n }\n\n write(key: string, value: any): void {\n localStorage.setItem(key, value);\n }\n\n remove(key: string): void {\n localStorage.removeItem(key);\n }\n\n clear(): void {\n localStorage.clear();\n }\n}\n","import { first, map, Observable, tap } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n\nimport { AuthService } from '../auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AADCallbackGuard implements CanActivate {\n constructor(private authService: AuthService, private router: Router) {}\n\n canActivate(): Observable {\n return this.authService.checkAADAuth().pipe(\n tap((isAuthenticated) => {\n if (!isAuthenticated) {\n this.router.navigateByUrl('auth/login');\n } else {\n const url = this.authService.popTmpUrl() || '/';\n this.router.navigateByUrl(url);\n }\n return isAuthenticated;\n }),\n map((res) => !!res),\n first()\n );\n }\n}\n","/* eslint-disable no-console */\nimport {\n BehaviorSubject,\n catchError,\n EMPTY,\n filter,\n first,\n switchMap,\n take,\n throwError,\n} from 'rxjs';\n\nimport {\n HttpErrorResponse,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { AuthFacade } from './+state/auth.facade';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n private isRefreshing = false;\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(\n null\n );\n\n constructor(\n private authService: AuthService,\n private authfacade: AuthFacade\n ) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n return this.authService.accessToken$.pipe(\n first(),\n switchMap((token) => {\n if (\n !token ||\n request.url.indexOf('/api/') < 0 ||\n request.url.indexOf('/api/auth/refresh') !== -1 ||\n request.url.indexOf('/api/auth/azure-sign-in') !== -1\n ) {\n return next.handle(request);\n }\n\n request = this.addTokenHeader(request, token);\n\n return next.handle(request).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !request.url.includes('auth/signin') &&\n error.status === 401\n ) {\n console.log(\n 'Auth interceptor - intercepting 401 error on ' + request.url\n );\n\n return this.handle401Error(request, next);\n }\n\n return throwError(() => error);\n })\n );\n })\n );\n }\n\n private handle401Error(request: HttpRequest, next: HttpHandler) {\n if (!this.isRefreshing) {\n this.isRefreshing = true;\n this.refreshTokenSubject.next(null);\n\n return this.authService.refreshTokens().pipe(\n switchMap((result) => {\n this.isRefreshing = false;\n if (!result) {\n throw new Error('Impossibile ripristinare la sessione.');\n }\n console.log('Refresh token completed - retrying ' + request.url);\n this.refreshTokenSubject.next(result.accessToken);\n this.authfacade.forceRefreshSuccess(result);\n return next.handle(this.addTokenHeader(request, result.accessToken));\n }),\n catchError((err) => {\n this.isRefreshing = false;\n this.authfacade.sessionExpired();\n return EMPTY;\n })\n );\n }\n\n return this.refreshTokenSubject.pipe(\n filter((token) => token !== null),\n take(1),\n switchMap((token) => next.handle(this.addTokenHeader(request, token)))\n );\n }\n\n private addTokenHeader(request: HttpRequest, token: string) {\n /* for Spring Boot back-end */\n // return request.clone({ headers: request.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token) });\n\n /* for Node.js Express back-end */\n return request.clone({\n headers: request.headers.set('Authorization', 'Bearer ' + token),\n });\n }\n}\n","/* \"Barrel\" of Http Interceptors; see HttpClient docs and sample code for more info */\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { TokenInterceptor } from './auth.interceptor';\nimport { EnteAnnoInterceptor } from './ente-anno.interceptor';\n\n/** Http interceptor providers in outside-in order */\nexport const httpInterceptorProviders = [\n { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: EnteAnnoInterceptor, multi: true },\n];\n","/* eslint-disable no-console */\nimport { combineLatest, first, switchMap } from 'rxjs';\n\nimport {\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { Ente } from '@ideapa/app-shared-ente';\nimport { ENTE_ID_HEADER, ESERCIZIO_HEADER } from '@ideapa/common-utils';\n\nimport { AuthFacade } from './+state/auth.facade';\n\n@Injectable()\nexport class EnteAnnoInterceptor implements HttpInterceptor {\n constructor(private authfacade: AuthFacade) {}\n\n intercept(request: HttpRequest, next: HttpHandler) {\n return combineLatest([this.authfacade.ente$, this.authfacade.anno$]).pipe(\n first(),\n switchMap(([ente, anno]) => {\n if (ente && anno) {\n request = this.addEnteAnnoHeader(request, ente, anno);\n } else if (anno) {\n request = this.addAnnoHeader(request, anno);\n }\n return next.handle(request);\n })\n );\n }\n\n private addEnteAnnoHeader(\n request: HttpRequest,\n ente: Ente,\n anno: number\n ) {\n return request.clone({\n headers: request.headers\n .set(ENTE_ID_HEADER, ente.id.toString())\n .set(ESERCIZIO_HEADER, anno.toString()),\n });\n }\n\n private addAnnoHeader(request: HttpRequest, anno: number) {\n return request.clone({\n headers: request.headers.set(ESERCIZIO_HEADER, anno.toString()),\n });\n }\n}\n","import {\n AbstractSecurityStorage,\n AuthModule,\n LogLevel,\n StsConfigLoader,\n StsConfigStaticLoader,\n} from 'angular-auth-oidc-client';\nimport { merge } from 'lodash';\nimport { localStorageSync } from 'ngrx-store-localstorage';\n\nimport { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AppFormsModule } from '@ideapa/app-forms';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { AppUiKitModule } from '@ideapa/app-ui-kit';\nimport {\n NgbAccordionModule,\n NgbCollapseModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { EffectsModule } from '@ngrx/effects';\nimport { ActionReducer, MetaReducer, StoreModule } from '@ngrx/store';\n\nimport { AuthEffects } from './+state/auth.effects';\nimport { AuthFacade } from './+state/auth.facade';\nimport { AUTH_FEATURE_KEY, initialState, reducer } from './+state/auth.reducer';\nimport { AuthConfig } from './auth-config';\nimport { AuthService } from './auth.service';\nimport { ChangePasswordModalContainer } from './containers/change-password-modal/change-password-modal.container';\nimport { ForbiddenContainer } from './containers/forbidden/forbidden.container';\nimport { ForgotPasswordContainer } from './containers/forgot-password/forgot-password.container';\nimport { LoginRootContainer } from './containers/login-root/login-root.container';\nimport { LoginContainer } from './containers/login/login.container';\nimport { ResetPasswordContainer } from './containers/reset-password/reset-password.container';\nimport { SelectModuloModalContainer } from './containers/select-modulo-modal/select-modulo-modal.container';\nimport { CustomStorage } from './custom-storage';\nimport { AADCallbackGuard } from './guards/aad-callback.guard';\nimport { httpInterceptorProviders } from './http-interceptor-providers';\n\nexport function configureAuth(config: AuthConfig) {\n return new StsConfigStaticLoader({\n // authority: `https://${config.aadB2cName}.b2clogin.com/${config.aadB2cName}.onmicrosoft.com/B2C_1_ASSET_MANAGER_LABS_LOGIN`,\n // authWellknownEndpointUrl: `https://${config.aadB2cName}.b2clogin.com/${config.aadB2cName}.onmicrosoft.com/B2C_1_ASSET_MANAGER_LABS_LOGIN/v2.0/.well-known/openid-configuration`,\n // redirectUrl: window.location.origin,\n // postLogoutRedirectUri: window.location.origin,\n // clientId: config.aadClientId, //'angularCodeRefreshTokens',\n // scope: `openid https://${config.aadB2cName}.onmicrosoft.com/d2218bc6-e4d9-4604-ae4c-488a527aa4d9/user_access offline_access`, //offline_access\n authority: `https://login.microsoftonline.com/${config.tenantId}/v2.0`,\n authWellknownEndpointUrl: `https://login.microsoftonline.com/${config.tenantId}/v2.0/.well-known/openid-configuration`,\n redirectUrl: window.location.origin, // + '/auth/callback'\n clientId: config.clientId,\n scope:\n 'openid profile offline_access email api://ca4716d7-ae42-4526-939d-98c60c130378/access_as_user',\n responseType: 'code',\n maxIdTokenIatOffsetAllowedInSeconds: 600,\n issValidationOff: true,\n autoUserInfo: false,\n useRefreshToken: true,\n logLevel: LogLevel.Debug,\n ignoreNonceAfterRefresh: true,\n customParamsAuthRequest: {\n prompt: 'select_account', // login, consent\n },\n // silentRenew: true,\n // tokenRefreshInSeconds: 3,\n // renewTimeBeforeTokenExpiresInSeconds: 2700, // Refresh dopo 15 minuti (45 pre-scadenza) per evitare che scada la session AD\n // renewTimeBeforeTokenExpiresInSeconds: 3500, // Refresh dopo 2 minuti (58 pre-scadenza) per evitare che scada la session AD\n // silentRenew: false,\n // silentRenewUrl: window.location.origin + '/silent-renew.html',\n });\n}\n\nconst INIT_ACTION = '@ngrx/store/init';\nconst UPDATE_ACTION = '@ngrx/store/update-reducers';\n\nexport function localStorageSyncReducer(\n reducer: ActionReducer\n): ActionReducer {\n return localStorageSync({\n keys: ['modulo', 'ente', 'anno'],\n rehydrate: true,\n removeOnUndefined: true,\n storageKeySerializer: (key) => AUTH_FEATURE_KEY + '_' + key,\n mergeReducer: (state, rehydratedState, action) => {\n // console.log('mergeReducer', state, rehydratedState, action);\n\n // https://github.com/btroncone/ngrx-store-localstorage/issues/93\n // https://github.com/btroncone/ngrx-store-localstorage/pull/76/files\n // N.B. questa funzione è necessaria altrimenti ogni volta che viene caricato un lazy module\n // lo stato viene rehydratato con la localstorage iniziale perdendo così eventuali widget aggiunti\n if (\n (action.type === INIT_ACTION ||\n (action.type === UPDATE_ACTION &&\n action.features.indexOf('auth') >= 0)) &&\n rehydratedState\n ) {\n try {\n state = merge(state, rehydratedState);\n } catch (err) {\n console.error(err);\n console.log(state);\n console.log(rehydratedState);\n }\n }\n return state;\n },\n })(reducer);\n}\nconst metaReducers: Array> = [localStorageSyncReducer];\n\n@NgModule({\n imports: [\n AppUiKitModule,\n CommonModule,\n AuthModule.forRoot({\n loader: {\n provide: StsConfigLoader,\n useFactory: configureAuth,\n deps: [AuthConfig],\n },\n }),\n StoreModule.forFeature(AUTH_FEATURE_KEY, reducer, {\n initialState: initialState,\n metaReducers,\n }),\n EffectsModule.forFeature([AuthEffects]),\n NgbCollapseModule,\n NgbAccordionModule,\n RouterModule.forChild([\n {\n path: 'forbidden',\n component: ForbiddenContainer,\n },\n {\n path: 'auth',\n component: LoginRootContainer,\n children: [\n {\n path: 'login',\n pathMatch: 'full',\n component: LoginContainer,\n },\n {\n path: 'forgot-password',\n pathMatch: 'full',\n component: ForgotPasswordContainer,\n },\n {\n path: 'reset-password',\n pathMatch: 'full',\n component: ResetPasswordContainer,\n },\n {\n path: 'callback',\n canActivate: [AADCallbackGuard],\n children: [],\n },\n ],\n },\n ]),\n AppFormsModule,\n ],\n declarations: [\n LoginRootContainer,\n LoginContainer,\n ForbiddenContainer,\n ForgotPasswordContainer,\n ResetPasswordContainer,\n SelectModuloModalContainer,\n ChangePasswordModalContainer,\n ],\n exports: [AuthModule],\n})\nexport class AppAuthModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: AppAuthModule\n ) {\n if (parentModule) {\n throw new Error(\n 'AppAuthModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(config: AuthConfig): ModuleWithProviders {\n return {\n ngModule: AppAuthModule,\n providers: [\n AuthFacade,\n AuthService,\n {\n provide: AuthConfig,\n useValue: config,\n },\n { provide: AbstractSecurityStorage, useClass: CustomStorage },\n // {\n // provide: APP_INITIALIZER,\n // useFactory: configureAuth,\n // deps: [AuthConfig],\n // multi: true,\n // },\n httpInterceptorProviders,\n ],\n };\n }\n}\n","export class AuthConfig {\n tenantId!: string;\n clientId!: string;\n apiEndpoint!: string;\n}\n","import { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { of, ReplaySubject } from 'rxjs';\nimport { catchError, first, map, switchMap, tap } from 'rxjs/operators';\n\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { SKIP_INTERCEPT_HEADER } from '@ideapa/app-error';\nimport { TokenDto, UserWithEntiDto } from '@ideapa/common-dto';\n\nimport { AuthFacade } from './+state/auth.facade';\nimport { AuthConfig } from './auth-config';\n\nconst STORAGE_LOCAL_ACCESS_TOKEN_KEY = 'LOCAL_JWT_ACCESS_TOKEN';\nconst STORAGE_LOCAL_REFRESH_TOKEN_KEY = 'LOCAL_JWT_REFRESH_TOKEN';\nconst STORAGE_TMP_URL_KEY = 'TMP_URL';\n\nexport enum TokenProvider {\n AAD,\n Internal,\n}\n\n@Injectable()\nexport class AuthService {\n private checkAuthCompleted$ = new ReplaySubject(1);\n private jwtHelper = new JwtHelperService();\n constructor(\n private oidcSecurityService: OidcSecurityService,\n private config: AuthConfig,\n private httpClient: HttpClient,\n private authFacade: AuthFacade\n ) {\n // this.oidcSecurityService.checkAuth().subscribe(() => );\n }\n\n me() {\n return this.httpClient.get(\n this.config.apiEndpoint + '/auth/me'\n );\n }\n\n // get tokenProvider$() {\n // return this.oidcSecurityService.isAuthenticated$.pipe(\n // map((result) => {\n // if (result.isAuthenticated) {\n // return TokenProvider.AAD;\n // } else {\n // const local_token = this.getLocalAccessToken();\n // if (!local_token) return null;\n // const isExpired = this.isJwtTokenExpired(local_token);\n // if (isExpired) return null;\n // else return TokenProvider.Internal;\n // }\n // }),\n // catchError(() => of(null))\n // );\n // }\n\n get signedIn$() {\n return this.accessToken$.pipe(\n map((token) => {\n if (!token) return false;\n const isExpired = this.isJwtTokenExpired(token);\n\n if (isExpired) return false;\n return true;\n })\n );\n }\n\n get accessToken$() {\n return of(this.getLocalAccessToken());\n // return this.tokenProvider$.pipe(\n // switchMap((provider) => {\n // if (provider === TokenProvider.Internal) {\n // return of(this.getLocalAccessToken());\n // } else {\n // return this.oidcSecurityService.getAccessToken();\n // }\n // })\n // );\n }\n\n get userData$() {\n return this.oidcSecurityService.userData$;\n }\n\n checkAuth() {\n return this.oidcSecurityService.checkAuth().pipe(\n switchMap(() => this.accessToken$),\n switchMap((token) => {\n if (!token) return of(false);\n if (this.isJwtTokenExpired(token)) {\n return this.refreshTokens().pipe(\n map((result) => {\n this.authFacade.forceRefreshSuccess(result);\n return true;\n }),\n catchError((err) => {\n console.log('refresh token error ', err);\n return of(false);\n })\n );\n }\n return of(true);\n }),\n first()\n );\n }\n\n checkAADAuth() {\n return this.oidcSecurityService.checkAuth().pipe(\n // debounceTime(500),\n // switchMap((authResult) => {\n // if (!authResult.isAuthenticated) {\n // return this.oidcSecurityService.forceRefreshSession().pipe(\n // map((refreshResult) => refreshResult.isAuthenticated),\n // catchError((err) => {\n // if (authResult?.accessToken) {\n // return throwError(() => {\n // new Error('Sessione scaduta');\n // });\n // }\n // return of(false);\n // })\n // );\n // } else {\n // return of(authResult.isAuthenticated);\n // }\n // }),\n tap((r) => {\n this.checkAuthCompleted$.next();\n })\n // catchError((err) => {\n // return throwError(() => {\n // new Error('Sessione scaduta');\n // });\n // })\n );\n }\n\n isAuthenticatedAAD() {\n return this.oidcSecurityService.isAuthenticated();\n }\n\n loginAAD() {\n return this.oidcSecurityService.authorizeWithPopUp();\n }\n\n login(\n username: string,\n password: string,\n rememberMe: boolean,\n newPassword?: string\n ) {\n return this.httpClient\n .post(\n this.config.apiEndpoint + '/auth/sign-in',\n {\n email: username,\n password,\n rememberMe,\n newPassword,\n },\n {\n headers: new HttpHeaders().set(SKIP_INTERCEPT_HEADER, '1'),\n }\n )\n .pipe(\n tap((result) => {\n this.storeTokenResult(result);\n })\n );\n }\n\n switchToken(token: string, rememberMe: boolean) {\n // bearer token in auth\n return this.httpClient\n .post(\n this.config.apiEndpoint + '/auth/azure-sign-in',\n {\n rememberMe,\n },\n {\n headers: {\n Authorization: 'Bearer ' + token,\n },\n }\n )\n .pipe(\n tap((result) => {\n this.storeTokenResult(result);\n })\n );\n }\n\n // logoutAAD() {\n // return this.oidcSecurityService.logoffAndRevokeTokens();\n // }\n\n logout() {\n return this.httpClient\n .get(this.config.apiEndpoint + '/auth/logout')\n .pipe(\n switchMap(() => {\n this.clearStorage();\n return this.oidcSecurityService.isAuthenticated$;\n }),\n first(),\n switchMap((result) => {\n if (result.isAuthenticated) {\n return this.oidcSecurityService.logoffAndRevokeTokens();\n }\n return of(true);\n }),\n catchError(() => of(this.clearStorage()))\n );\n }\n\n refreshTokens() {\n return this.httpClient\n .get(this.config.apiEndpoint + '/auth/refresh', {\n headers: {\n Authorization: 'Bearer ' + this.getLocalRefreshToken(),\n },\n })\n .pipe(\n tap((result) => {\n this.storeTokenResult(result);\n })\n );\n }\n\n pushTmpUrl(url: string) {\n sessionStorage.setItem(STORAGE_TMP_URL_KEY, url);\n }\n\n popTmpUrl() {\n const result = sessionStorage.getItem(STORAGE_TMP_URL_KEY);\n sessionStorage.removeItem(STORAGE_TMP_URL_KEY);\n return result;\n }\n\n forgotPassword(username: string) {\n return this.httpClient.post(\n this.config.apiEndpoint + '/auth/forgot-password',\n {\n email: username,\n }\n );\n }\n\n resetPassword(token: string, newPassword: string) {\n return this.httpClient.post(\n this.config.apiEndpoint + '/auth/reset-password',\n { newPassword },\n {\n headers: {\n Authorization: 'Bearer ' + token,\n },\n }\n );\n }\n\n changePassword(password: string, newPassword: string) {\n return this.httpClient.post(\n this.config.apiEndpoint + '/auth/change-password',\n { password, newPassword }\n );\n }\n\n private isJwtTokenExpired(jwt: string) {\n return this.jwtHelper.isTokenExpired(jwt);\n }\n\n private getLocalAccessToken() {\n return localStorage.getItem(STORAGE_LOCAL_ACCESS_TOKEN_KEY);\n }\n\n private setLocalAccessToken(token: string) {\n localStorage.setItem(STORAGE_LOCAL_ACCESS_TOKEN_KEY, token);\n }\n\n private setLocalRefreshToken(token: string) {\n localStorage.setItem(STORAGE_LOCAL_REFRESH_TOKEN_KEY, token);\n }\n\n private getLocalRefreshToken() {\n return localStorage.getItem(STORAGE_LOCAL_REFRESH_TOKEN_KEY);\n }\n\n private storeTokenResult(result: TokenDto) {\n this.setLocalAccessToken(result.accessToken);\n if (result.refreshToken) {\n this.setLocalRefreshToken(result.refreshToken);\n }\n }\n\n private clearStorage() {\n localStorage.removeItem(STORAGE_LOCAL_ACCESS_TOKEN_KEY);\n localStorage.removeItem(STORAGE_LOCAL_REFRESH_TOKEN_KEY);\n }\n}\n","import { Subject } from 'rxjs';\n\nimport { Component, OnDestroy } from '@angular/core';\n\n@Component({\n template: '',\n})\nexport abstract class BaseContainer implements OnDestroy {\n protected ngUnsubscribe: Subject = new Subject();\n\n ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isEqual } from 'lodash';\nimport { KeyValue, unbox } from 'ngrx-forms';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport {\n combineLatest,\n firstValueFrom,\n map,\n Observable,\n takeUntil,\n withLatestFrom,\n} from 'rxjs';\n\n/* eslint-disable @angular-eslint/component-class-suffix */\nimport {\n ColDef,\n ColumnApi,\n ColumnMovedEvent,\n ColumnResizedEvent,\n ColumnVisibleEvent,\n FilterChangedEvent,\n GridApi,\n GridOptions,\n GridReadyEvent,\n SortChangedEvent,\n} from '@ag-grid-community/core';\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport {\n ConfirmServiceInterface,\n CustomGridFilterParams,\n DataGridAction,\n EntityListField,\n FilterConfig,\n filterNullish,\n getExcelFields,\n getGridColumns,\n LazyEntityFacadeInterface,\n mapFromColumnState,\n mapFromFilterModel,\n mapToFilterModel,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { FieldConfig, FilterValue } from '@ideapa/common-interfaces';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\n\nimport { BaseContainer } from './base.container';\n\n@Component({\n template: '',\n})\nexport abstract class BaseListContainer\n extends BaseContainer\n implements OnInit\n{\n abstract entity: string;\n\n @ViewChild('advancedFilters')\n private content?: any;\n\n private modalRef?: NgbModalRef;\n\n join?: string[];\n exportJoin?: string[];\n\n abstract fields$: Observable;\n customActions$: Observable =\n this.routerFacade.isFindMode$.pipe(\n map((isFindMode) => {\n const actions: DataGridAction[] = [];\n if (isFindMode) {\n actions.push({\n description: 'seleziona',\n icon: 'add_task',\n onAction: (entity: any) => {\n this.select(entity);\n },\n visible: (entity: any) => {\n return entity.id != 0 && !entity.locked;\n },\n });\n }\n return actions;\n })\n );\n\n presetFilters$ = this.facade.queryParams$.pipe(\n map((queryParams) => {\n const filters = queryParams['filters'];\n if (!filters) return [];\n const decoded = atob(queryParams['filters']);\n const queryParamsFilters = JSON.parse(decoded) as FilterValue[];\n return queryParamsFilters;\n })\n );\n\n /**\n * Observable in ascolto sui parametri in Querystring che preleva\n * unicamente il parametro 'areDomainUserFiltersDisabled'.\n */\n areDomainUserFiltersDisabled$ = this.facade.queryParams$.pipe(\n map((queryParams) => {\n if (!queryParams['areDomainUserFiltersDisabled']) return false;\n const encodedDisableUserFilters =\n queryParams['areDomainUserFiltersDisabled'];\n const decodedDisableUserFilters = atob(encodedDisableUserFilters);\n return decodedDisableUserFilters === 'true';\n })\n );\n\n /**\n * Observable in ascolto sui parametri in Querystring che preleva\n * unicamente il parametro 'isEntitySelectionLimited'.\n */\n isEntitySelectionLimited$ = this.facade.queryParams$.pipe(\n map((queryParams) => {\n if (!queryParams['isEntitySelectionLimited']) return false;\n const encodedIsEntitySelectionLimited =\n queryParams['isEntitySelectionLimited'];\n const decodedIsEntitySelectionLimited = atob(\n encodedIsEntitySelectionLimited\n );\n return decodedIsEntitySelectionLimited === 'true';\n })\n );\n\n /**\n * Observable in ascolto sui parametri in Querystring che preleva\n * unicamente il parametro 'areEnteAnnoFiltersDisabled'.\n */\n areEnteAnnoFiltersDisabled$ = this.facade.queryParams$.pipe(\n map((queryParams) => {\n if (!queryParams['areEnteAnnoFiltersDisabled']) return false;\n const encodedAreEnteAnnoFiltersDisabled =\n queryParams['areEnteAnnoFiltersDisabled'];\n const decodedAreEnteAnnoFiltersDisabled = atob(\n encodedAreEnteAnnoFiltersDisabled\n );\n return decodedAreEnteAnnoFiltersDisabled === 'true';\n })\n );\n\n // abstract filters: FilterConfig[];\n // abstract colDefs: ColDef[];\n\n private _filters?: Observable;\n get filters$() {\n if (!this._filters) {\n this._filters = combineLatest([this.fields$, this.presetFilters$]).pipe(\n map(([fields, presetFilters]) =>\n fields\n .map((f) => ({\n ...f,\n readOnly:\n presetFilters.find((pf) => pf.field === f.field) != null,\n }))\n .filter(\n (f) =>\n !(\n f.hideFilter &&\n presetFilters.find((pf) => pf.field === f.field) == null\n )\n )\n )\n );\n // .map((f) => {\n // return {\n // elementLabel: f.elementLabel,\n // field: f.field,\n // filterType: f.filterType,\n // elementValues$: f.elementValues$,\n // } as FilterConfig;\n // });\n }\n return this._filters;\n }\n\n private _exportFields?: Observable;\n get exportFields$() {\n if (!this._exportFields) {\n this._exportFields = combineLatest([\n this.fields$,\n this.facade.getColumnState$.pipe(filterNullish()),\n ]).pipe(\n map(([fields, columnState]) => {\n return getExcelFields(fields, columnState);\n })\n );\n }\n return this._exportFields;\n }\n\n private _exportFilters?: Observable;\n get exportFilters$() {\n if (!this._exportFilters) {\n this._exportFilters = this.facade.getFilterModel$.pipe(\n filterNullish(),\n withLatestFrom(this.presetFilters$),\n map(([filterModel, presetFilters]) => {\n const filters = mapFromFilterModel(filterModel);\n presetFilters.forEach((sf) => {\n const index = filters.findIndex(\n (f) =>\n f.field === sf.field &&\n f.type === sf.type &&\n f.operator === sf.operator &&\n f.value === sf.value\n );\n if (index >= 0) {\n filters[index] = sf;\n } else {\n filters.push(sf);\n }\n });\n return filters;\n })\n );\n }\n return this._exportFilters;\n }\n\n private _exportSort?: Observable<{ [field: string]: 'asc' | 'desc' }>;\n get exportSort$() {\n if (!this._exportSort) {\n this._exportSort = this.facade.getColumnState$.pipe(\n filterNullish(),\n map((cs) => {\n return mapFromColumnState(cs);\n })\n );\n }\n return this._exportSort;\n }\n\n private _columns?: Observable;\n get columnDefs$() {\n if (!this._columns) {\n this._columns = combineLatest([this.fields$, this.presetFilters$]).pipe(\n map(([fields, presetFilters]) => {\n return getGridColumns(\n fields.filter((f) => {\n return (\n !f.hideColumn ||\n presetFilters.find((pf) => pf.field === f.field) != null\n );\n }),\n [],\n []\n ).map((colDef) => {\n const f: EntityListField | undefined = fields.find(\n (f) => f.field == colDef.field\n );\n return {\n ...colDef,\n initialHide:\n f?.initialHideColumn &&\n presetFilters.find((pf) => pf.field === f?.field) == null,\n floatingFilterComponentParams: {\n suppressFilterButton: true,\n values: f?.elementValues,\n filterType: f?.filterType,\n field: f?.field,\n entityName: f?.entityName,\n hidden: f?.hideFilter,\n readOnly:\n presetFilters.find((pf) => pf.field === f?.field) != null,\n } as CustomGridFilterParams,\n };\n });\n })\n );\n }\n return this._columns;\n // return this.entityFilters?.filter((ef) => ef.isFilter);\n }\n // columnDefs: ColDef[] = [];\n\n protected gridApi?: GridApi;\n protected columnApi?: ColumnApi;\n\n commonGridOptions: GridOptions = {\n floatingFiltersHeight: 70,\n pagination: false,\n sideBar: {\n toolPanels: [\n {\n id: 'columns',\n labelDefault: 'Colonne',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n toolPanelParams: {\n suppressPivotMode: true,\n suppressRowGroups: true,\n suppressValues: true,\n suppressColumnFilter: true,\n },\n },\n ],\n },\n suppressPaginationPanel: true,\n enableCellTextSelection: true,\n onGridReady: (e: GridReadyEvent) => this.onGridReady(e),\n onFilterChanged: (e: FilterChangedEvent) => this.onFilterChanged(e),\n onSortChanged: (e: SortChangedEvent) => this.onColumnStateChanged(e),\n onColumnVisible: (e: ColumnVisibleEvent) => this.onColumnStateChanged(e),\n onColumnMoved: (e: ColumnMovedEvent) => this.onColumnStateChanged(e),\n onColumnResized: (e: ColumnResizedEvent) => this.onColumnStateChanged(e),\n defaultColDef: {\n floatingFilter: true,\n resizable: true,\n filter: true,\n suppressMenu: true,\n floatingFilterComponent: 'customGridFilter',\n },\n columnTypes: {\n numberColumn: {\n filter: 'agNumberColumnFilter',\n },\n enumColumn: {\n cellRenderer: 'gridComponentEnumRenderer',\n },\n dateColumn: {\n filter: 'agDateColumnFilter',\n },\n },\n };\n\n filterFormState$ = this.facade.filterForm$;\n pageSize$ = this.facade.getPageSize$;\n currentPage$ = this.facade.getCurrentPage$;\n totalRows$ = this.facade.getTotalRows$;\n filterModel$ = this.facade.getFilterModel$;\n\n canDownloadExcel$ = this.sharedFacade.canRead$;\n canDelete$ = this.facade.canDelete$;\n canEdit$ = this.facade.canEdit$;\n canAdd$ = this.facade.canAdd$;\n canView$ = this.sharedFacade.canRead$;\n\n findMode$ = this.routerFacade.isFindMode$;\n modalListMode$ = this.routerFacade.isModalListMode$;\n\n gridOptions$!: Observable;\n\n activeFiltersCount$ = this.filterModel$.pipe(\n map((model) => (model ? Object.entries(model).length : 0))\n );\n\n constructor(\n @Inject('SharedEntityFacade')\n protected sharedFacade: SharedEntityFacadeInterface,\n @Inject('EntityFacade')\n protected facade: LazyEntityFacadeInterface,\n @Inject('RouterFacade')\n protected routerFacade: RouterFacadeInterface,\n protected permissionsService: NgxPermissionsService,\n protected modalService: NgbModal,\n @Inject('ConfirmService')\n protected confirmDialogService: ConfirmServiceInterface\n ) {\n super();\n }\n\n ngOnInit(): void {\n // stessi permessi di lettura\n\n this.gridOptions$ = this.columnDefs$.pipe(\n map(() => Object.assign(this.commonGridOptions, {}))\n );\n\n this.facade.showAdvancedFilters$\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(async (show) => {\n if (show) {\n this.modalRef = this.modalService.open(this.content, {\n backdrop: 'static',\n size: 'xl',\n });\n\n try {\n await this.modalRef.result;\n } catch (err) {\n this.showAdvancedFilters(false);\n }\n } else {\n this.modalRef?.close();\n }\n });\n // set total rows number se la facade espone il numero di elementi\n this.facade.items$\n ?.pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((items) => {\n this.facade.setTotalRows(items.length);\n });\n }\n\n onGridReady(event: GridReadyEvent) {\n this.gridApi = event.api;\n this.columnApi = event.columnApi;\n\n this.pageSize$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((pageSize) => {\n this.pageSizeChanged(event.api, pageSize);\n });\n\n combineLatest([this.facade.getFilterModel$, this.presetFilters$])\n .pipe(\n withLatestFrom(this.filterFormState$),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(([[filterModel, presetFilters], filterForm]) => {\n //console.log('filterModel', filterModel);\n const gridFilters = mapToFilterModel(presetFilters);\n filterModel = { ...filterModel, ...gridFilters };\n if (!isEqual(filterModel, this.gridApi?.getFilterModel())) {\n this.gridApi?.setFilterModel(filterModel);\n }\n\n const newFilters = mapFromFilterModel(filterModel);\n const filterFormValue = unbox(filterForm.value.filters);\n if (!isEqual(newFilters, filterFormValue)) {\n this.facade.setFilterFormValue(newFilters);\n }\n });\n\n this.facade.getColumnState$\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((sortModel) => {\n if (\n sortModel &&\n !isEqual(sortModel, event.columnApi.getColumnState())\n ) {\n event.columnApi.applyColumnState({\n state: sortModel,\n applyOrder: true,\n });\n }\n });\n\n combineLatest([this.currentPage$, this.facade.pageLoaded$])\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(([page, loaded]) => {\n if (loaded) {\n this.gridApi?.paginationGoToPage(page - 1);\n }\n });\n }\n\n onPageChange(newPage: number) {\n this.facade.setCurrentPage(newPage);\n }\n\n onPageSizeChanged(size: number) {\n this.facade.setPageSize(size);\n }\n\n pageSizeChanged(api: GridApi, pageSize: number) {\n (api).gridOptionsWrapper.setProperty('cacheBlockSize', pageSize);\n api.purgeInfiniteCache();\n api.paginationSetPageSize(pageSize);\n }\n\n onColumnStateChanged(\n e:\n | SortChangedEvent\n | ColumnVisibleEvent\n | ColumnMovedEvent\n | ColumnResizedEvent\n ) {\n this.facade.setColumnState(e.columnApi.getColumnState());\n }\n\n // Ricerca da griglia\n onFilterChanged(e: FilterChangedEvent) {\n this.facade.setFilterModel(e.api.getFilterModel());\n this.refreshTotals();\n }\n\n async refreshTotals() {\n if (this.gridApi && this.gridOptions$) {\n const go = await firstValueFrom(this.gridOptions$);\n if (!go.rowModelType || go.rowModelType === 'clientSide') {\n let filteresRows = 0;\n this.gridApi?.forEachNodeAfterFilter(() => filteresRows++);\n this.facade.setTotalRows(filteresRows);\n }\n }\n }\n // Ricerca da form esterno\n search(filters: FilterValue[]) {\n const externalFilters = mapToFilterModel(filters);\n this.facade.setFilterModel(externalFilters);\n\n this.showAdvancedFilters(false);\n }\n\n showAdvancedFilters(show: boolean) {\n this.facade.showAdvancedFilters(show);\n }\n\n async excel(fileName: string) {\n const columns = await firstValueFrom(this.exportFields$);\n const filters = await firstValueFrom(this.exportFilters$);\n const sort = await firstValueFrom(this.exportSort$);\n\n this.facade.downloadExcel(\n fileName,\n columns,\n this.exportJoin ? this.exportJoin : this.join,\n filters,\n sort\n );\n }\n\n // protected mapToFilterModel(\n // filterModel: AgGridFilterModel,\n // filters: FilterValue[]\n // ) {\n // return filters.reduce((res, f) => {\n // res[f.field] = {\n // type: FilterOperator[f.operator],\n // filterType: FilterType[f.type],\n // filter: f.value.length ? f.value[0] : undefined,\n // };\n // return res;\n // }, filterModel);\n // }\n\n // protected mapFromFilterModel(filterModel: AgGridFilterModel) {\n // const filters: FilterValue[] = [];\n // Object.keys(filterModel).forEach((key) => {\n // const gridFilter = filterModel[key];\n // filters.push({\n // field: key,\n // operator: (FilterOperator)[gridFilter.type],\n // type: (FilterType)[gridFilter.filterType],\n // value: [gridFilter.filter],\n // });\n // });\n // return filters;\n // }\n\n add() {\n // this.facade.formInitialize(undefined);\n this.facade.addEntity();\n // this.facade.addEntity();\n }\n\n edit(entity: T) {\n this.routerFacade.navigateRelative([entity.id]);\n // this.routerFacade.router.navigateByUrl('./' + id);\n }\n\n view(entity: T) {\n this.routerFacade.navigateRelative([entity.id]);\n //this.routerFacade.viewEntityDetail(this.entity, entity.id);\n }\n\n async delete(entity: T) {\n const result = await this.confirmDialogService.confirm(\n `Confermi di voler eliminare l'elemento${\n (entity).codice ? ' con codice ' + (entity).codice : ''\n }?`\n );\n\n if (result) {\n this.sharedFacade.delete(entity.id, true, false, () => {\n // refresh lista paginata\n if (this.gridApi) {\n this.gridApi.refreshServerSide({}); // { route: route, purge: purge }\n }\n });\n }\n }\n\n select(item: T) {\n this.facade.selectItem(item);\n }\n\n refreshList() {\n // refresh lista paginata\n if (this.gridApi) {\n this.gridApi.refreshServerSideStore({}); // { route: route, purge: purge }\n }\n }\n}\n","import { createAction } from '@ngrx/store';\n\nexport const loadPage = createAction('[Lazy/base] load page');\n","import * as moment from 'moment';\nimport { map, Observable, of, tap } from 'rxjs';\n\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n FieldConfig,\n FilterOperator,\n FilterType,\n FilterValue,\n PagedResultDto,\n} from '@ideapa/common-interfaces';\n\n@Injectable()\nexport abstract class BaseApiClient {\n abstract baseUrl: string;\n\n constructor(protected http: HttpClient) {}\n\n protected CACHE_EXPIRATION_MIN = 5;\n protected _pagedCache: Map<\n string,\n { data: PagedResultDto; expiration: Date }\n > = new Map();\n\n getAll() {\n return this.http.get(this.baseUrl);\n }\n\n getPaged(\n take: number,\n skip: number,\n orderBy?: { [field: string]: 'asc' | 'desc' },\n filters?: FilterValue[],\n join?: string[],\n areDomainUserFiltersDisabled?: boolean,\n isEntitySelectionLimited?: boolean,\n areEnteAnnoFiltersDisabled?: boolean\n ) {\n const mappedFilters = this.buildPagedFilters(filters);\n\n const request = {\n skip,\n take,\n orderBy,\n filters: mappedFilters,\n join,\n areDomainUserFiltersDisabled: areDomainUserFiltersDisabled,\n isEntitySelectionLimited: isEntitySelectionLimited,\n areEnteAnnoFiltersDisabled: areEnteAnnoFiltersDisabled,\n };\n\n // console.log('request: ', request);\n const cacheKey = JSON.stringify(request);\n const cached = this._pagedCache.get(cacheKey);\n if (cached) {\n if (cached.expiration > new Date()) {\n return of(cached.data);\n } else {\n this._pagedCache.delete(cacheKey);\n }\n }\n\n return this.http\n .post>(`${this.baseUrl}/paged`, request)\n .pipe(\n tap((result) =>\n this._pagedCache.set(cacheKey, {\n data: result,\n expiration: new Date(\n Date.now() + 60 * 1000 * this.CACHE_EXPIRATION_MIN\n ),\n })\n )\n );\n }\n\n protected buildPagedFilters(filters: FilterValue[] | undefined) {\n return filters?.map((filter) => {\n if (filter.type !== FilterType.datetime) return filter;\n else {\n switch (filter.operator) {\n case FilterOperator.equals:\n return {\n ...filter,\n operator: FilterOperator.inRange,\n value: [\n moment(filter.value[0]).startOf('d').toISOString(),\n moment(filter.value[0]).endOf('d').toISOString(),\n ],\n };\n case FilterOperator.greaterThan:\n return {\n ...filter,\n value: [moment(filter.value[0]).endOf('d').toISOString()],\n };\n case FilterOperator.greaterThanOrEqual:\n return {\n ...filter,\n value: [moment(filter.value[0]).startOf('d').toISOString()],\n };\n case FilterOperator.lessThan:\n return {\n ...filter,\n value: [moment(filter.value[0]).startOf('d').toISOString()],\n };\n case FilterOperator.lessThanOrEqual:\n return {\n ...filter,\n value: [moment(filter.value[0]).endOf('d').toISOString()],\n };\n\n case FilterOperator.inRange:\n return {\n ...filter,\n value: [\n moment(filter.value[0]).startOf('d').toISOString(),\n moment(filter.value[1]).endOf('d').toISOString(),\n ],\n };\n\n default:\n return {\n ...filter,\n };\n }\n }\n });\n }\n\n downloadExcel(\n fileName?: string,\n columns?: FieldConfig[],\n filters?: FilterValue[],\n orderBy?: { [field: string]: 'asc' | 'desc' },\n join?: string[]\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-excel',\n { fileName, columns, filters: filters || [], orderBy, join },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n\n downloadPdf(\n fileName?: string,\n columns?: FieldConfig[],\n filters?: FilterValue[],\n orderBy?: { [field: string]: 'asc' | 'desc' },\n join?: string[]\n ): Observable {\n return this.http\n .post(\n this.baseUrl + '/download-pdf',\n { fileName, columns, filters, orderBy, join },\n {\n responseType: 'arraybuffer',\n }\n )\n .pipe(\n map((file: ArrayBuffer) => {\n return file;\n })\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isEqual } from 'lodash';\nimport { KeyValue } from 'ngrx-forms';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { firstValueFrom, map, takeUntil, withLatestFrom } from 'rxjs';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n GridApi,\n GridOptions,\n GridReadyEvent,\n IServerSideGetRowsParams,\n} from '@ag-grid-community/core';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport {\n ConfirmServiceInterface,\n LazyEntityFacadeInterface,\n LoaderFacadeInterface,\n mapFromColumnState,\n mapFromFilterModel,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { FilterValue } from '@ideapa/common-interfaces';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { BaseListContainer } from './base-list.container';\nimport { loadPage } from './base-paged-list-action';\nimport { BaseApiClient } from './base.api-client';\n\n@Component({\n template: '',\n})\nexport abstract class BasePagedListContainer<\n T extends BaseDto,\n K extends KeyValue\n >\n extends BaseListContainer\n implements OnInit\n{\n searchFilters: FilterValue[] = [];\n\n constructor(\n @Inject('SharedEntityFacade')\n sharedFacade: SharedEntityFacadeInterface,\n @Inject('EntityFacade')\n facade: LazyEntityFacadeInterface,\n @Inject('RouterFacade')\n routerFacade: RouterFacadeInterface,\n permissionsService: NgxPermissionsService,\n protected apiClient: BaseApiClient,\n @Inject('LoaderFacade')\n protected loaderFacade: LoaderFacadeInterface,\n modalService: NgbModal,\n @Inject('ConfirmService')\n protected confirm: ConfirmServiceInterface\n ) {\n super(\n sharedFacade,\n facade,\n routerFacade,\n permissionsService,\n modalService,\n confirm\n );\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n\n this.gridOptions$ = this.columnDefs$.pipe(\n withLatestFrom(this.pageSize$),\n map(([columnDefs, pageSize]) => {\n // this.columnDefs = columnDefs;\n\n const customGridOptions = {\n pagination: true,\n rowModelType: 'serverSide',\n serverSideInfiniteScroll: true, // al posto di serverSideStoreType dalla 28, true partial, false full\n // serverSideStoreType: 'partial',\n cacheBlockSize: pageSize,\n paginationPageSize: pageSize,\n onGridReady: (e: GridReadyEvent) => this.onGridReady(e),\n } as GridOptions;\n return Object.assign(this.commonGridOptions, customGridOptions);\n })\n );\n }\n\n override onGridReady(event: GridReadyEvent) {\n super.onGridReady(event);\n\n this.pageSize$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((pageSize) => {\n setTimeout(() => {\n this.setDatasource(event.api, pageSize);\n }, 0);\n });\n }\n\n protected setDatasource(api: GridApi, pageSize: number) {\n api.setServerSideDatasource({\n destroy: () => {\n // console.log('destroy datasource');\n },\n getRows: async (params: IServerSideGetRowsParams) => {\n // Anti redux pattern\n try {\n this.loaderFacade.showLoader(loadPage);\n\n this.facade.setPageLoaded(false);\n\n const presetFilters = await firstValueFrom(this.presetFilters$);\n const fields = await firstValueFrom(this.fields$);\n\n // TODO ANDREA: sistemare filtri di tipo datetime\n const filters = mapFromFilterModel(\n params.request.filterModel,\n fields\n );\n\n this.searchFilters.forEach((sf) => {\n const index = filters.findIndex((f) => f.field === sf.field);\n if (index >= 0) {\n filters[index] = sf;\n } else {\n filters.push(sf);\n }\n });\n\n presetFilters.forEach((sf) => {\n const index = filters.findIndex(\n (f) =>\n f.field === sf.field &&\n f.type === sf.type &&\n f.operator === sf.operator &&\n isEqual(f.value, sf.value)\n );\n if (index >= 0) {\n filters[index] = sf;\n } else {\n filters.push(sf);\n }\n });\n\n const areDomainUserFiltersDisabled = await firstValueFrom(\n this.areDomainUserFiltersDisabled$\n );\n\n const isEntitySelectionLimited = await firstValueFrom(\n this.isEntitySelectionLimited$\n );\n\n const areEnteAnnoFiltersDisabled = await firstValueFrom(\n this.areEnteAnnoFiltersDisabled$\n );\n\n const orderBy = mapFromColumnState(params.request.sortModel);\n\n const result = await this.getPaged(\n pageSize,\n params,\n orderBy,\n filters,\n areDomainUserFiltersDisabled,\n isEntitySelectionLimited,\n areEnteAnnoFiltersDisabled\n );\n\n params.success({\n rowData: result.items,\n rowCount: result.totalCount,\n });\n\n this.sharedFacade.loadPagedSuccess(result.items);\n\n this.facade.setTotalRows(result.totalCount);\n this.facade.setPageLoaded(true);\n this.loaderFacade.hideLoader(loadPage);\n } catch (err) {\n this.loaderFacade.hideLoader(loadPage);\n this.sharedFacade.loadPagedFailure(err as any);\n }\n },\n });\n }\n\n protected async getPaged(\n pageSize: number,\n params: IServerSideGetRowsParams,\n orderBy: { [field: string]: 'asc' | 'desc' },\n filters: FilterValue[],\n areDomainUserFiltersDisabled: boolean,\n isEntitySelectionLimited: boolean,\n areEnteAnnoFiltersDisabled: boolean\n ) {\n const result = await firstValueFrom(\n this.apiClient.getPaged(\n pageSize,\n params.request.startRow || 0,\n orderBy,\n filters,\n this.join,\n areDomainUserFiltersDisabled,\n isEntitySelectionLimited,\n areEnteAnnoFiltersDisabled\n )\n );\n\n return result;\n }\n}\n","import { KeyValue } from 'ngrx-forms';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { map } from 'rxjs';\n\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n RouterStateSnapshot,\n} from '@angular/router';\nimport {\n LazyEntityFacadeInterface,\n RouterFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\n\nexport abstract class BaseListGuard\n implements CanActivate\n{\n constructor(\n // sharedFacade: SharedFacade,\n protected facade: LazyEntityFacadeInterface,\n private routerFacade: RouterFacadeInterface,\n permissionsService: NgxPermissionsService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.facade.entityId$.pipe(\n map((id) => {\n if (id != null) {\n this.routerFacade.navigateRelative([state.url, id], undefined, null);\n return false;\n }\n return true;\n })\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { FormGroupState, KeyValue } from 'ngrx-forms';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { Observable, of, takeUntil, withLatestFrom } from 'rxjs';\n\nimport { Component, Inject, OnInit } from '@angular/core';\nimport {\n ConfirmServiceInterface,\n LazyEntityFacadeInterface,\n PERMISSION_CREATE,\n PERMISSION_READ,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\n\nimport { BaseContainer } from './base.container';\n\n@Component({\n template: '',\n})\nexport abstract class BaseFormContainer\n extends BaseContainer\n implements OnInit\n{\n entity$ = this.facade.entity$;\n form$ = this.facade.form$;\n isNew$ = this.facade.isNew$;\n forceCanDeactivate = false;\n canDelete$ = this.facade.canDelete$;\n canSave$ = this.facade.canSave$;\n\n protected getCreatePermission = '';\n protected getUpdatePermission = '';\n\n constructor(\n @Inject('RouterFacade')\n protected routerFacade: RouterFacadeInterface,\n @Inject('FormFacade')\n protected facade: LazyEntityFacadeInterface,\n @Inject('SharedEntityFacade')\n protected sharedFacade: SharedEntityFacadeInterface,\n protected permissionsService: NgxPermissionsService,\n @Inject('ConfirmDialogService')\n protected confirmDialogService: ConfirmServiceInterface\n ) {\n super();\n }\n\n back() {\n this.facade.clearEntityId();\n }\n\n ngOnInit() {\n this.entity$\n .pipe(\n withLatestFrom(this.permissionsService.permissions$),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(([entity, permissions]) => {});\n }\n\n canDeactivate(): Observable {\n return of(true);\n }\n\n canViewEntity(entityName: string) {\n return !!(\n this.permissionsService.getPermission(\n `${PERMISSION_READ}_${entityName}`\n ) || this.permissionsService.getPermission(`${PERMISSION_READ}_all`)\n );\n }\n\n canAddEntity(entityName: string) {\n return !!(\n this.permissionsService.getPermission(\n `${PERMISSION_CREATE}_${entityName}`\n ) || this.permissionsService.getPermission(`${PERMISSION_CREATE}_all`)\n );\n }\n\n formSaveCallback(item: T) {}\n\n save(form: FormGroupState) {\n this.facade.formSave(form);\n }\n\n async delete() {\n this.facade.formDelete();\n }\n}\n","import { KeyValue } from 'ngrx-forms';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport { filter, map, Observable, take, withLatestFrom } from 'rxjs';\n\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport {\n LazyEntityFacadeInterface,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\n\nexport abstract class BaseDetailGuard {\n constructor(\n protected sharedFacade: SharedEntityFacadeInterface,\n protected facade: LazyEntityFacadeInterface,\n protected routerFacade: RouterFacadeInterface,\n protected permissionService: NgxPermissionsService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable {\n const entityId = Number(route.params['entityId']);\n\n return this.hasEntity(entityId, route);\n }\n\n getOptions(route: ActivatedRouteSnapshot): any {\n return undefined;\n }\n\n hasEntity(id: number, route: ActivatedRouteSnapshot): Observable {\n return this.facade.getLoadedEntity$.pipe(\n withLatestFrom(\n this.sharedFacade.canCreate$,\n this.sharedFacade.canUpdate$,\n this.permissionService.permissions$,\n this.routerFacade.isViewOnlyMode$,\n this.facade.entityId$\n ),\n map(\n ([\n item,\n canCreate,\n canUpdate,\n permissions,\n disableForm,\n previousEntityId,\n ]) => {\n const isNew = id == 0;\n const load = !isNew && (item === undefined || item?.id !== id);\n if (load) {\n this.sharedFacade.loadSingle(id);\n } else {\n item = !isNew ? item : undefined;\n\n if (id !== previousEntityId) {\n this.facade.selectEntityId(id);\n this.facade.formInitialize(\n item,\n disableForm ||\n item?.locked ||\n (isNew ? !canCreate : !canUpdate),\n this.getOptions(route),\n permissions ? Object.keys(permissions) : []\n );\n }\n }\n return !load;\n }\n ),\n filter((res) => !!res),\n take(1)\n );\n }\n}\n","import { Observable, of } from 'rxjs';\nimport { catchError, filter, first, switchMap, tap } from 'rxjs/operators';\n\nimport { Inject, Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\n\n@Injectable()\nexport class BaseLoadAllGuard implements CanActivate {\n constructor(\n @Inject('SharedEntityFacade')\n private sharedFacade: SharedEntityFacadeInterface\n ) {}\n\n canActivate(): Observable {\n return this.checkLoaded().pipe(\n switchMap(() => of(true)),\n catchError(() => of(false))\n );\n }\n\n checkLoaded(): Observable {\n return this.sharedFacade.loadedAll$.pipe(\n tap((loaded) => {\n if (!loaded) {\n this.sharedFacade.loadAll();\n }\n }),\n filter((loaded) => loaded),\n first()\n );\n }\n}\n","import { KeyValue } from 'ngrx-forms';\nimport { map, withLatestFrom } from 'rxjs';\n\nimport { ActivatedRoute } from '@angular/router';\nimport {\n BreadcrumbItem,\n LazyEntityFacadeInterface,\n RouterFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\n\nimport { BaseContainer } from './base.container';\n\nexport abstract class BaseRootContainer<\n T extends BaseDto,\n K extends KeyValue\n> extends BaseContainer {\n breadcrumb$ = this.facade.getBreadcrumb$;\n\n constructor(\n private facade: LazyEntityFacadeInterface,\n private router: RouterFacadeInterface,\n private activatedRoute: ActivatedRoute\n ) {\n super();\n }\n\n showBreadcrumb() {\n return this.facade.entityId$.pipe(\n withLatestFrom(\n this.router.isAddMode$,\n this.router.isEditMode$,\n this.router.isFindMode$,\n this.router.isViewOnlyMode$,\n this.router.isModalListMode$\n ),\n map(\n ([\n entityId,\n isAddMode,\n isEditMode,\n isFindMode,\n isViewOnlyMode,\n isModalListMode,\n ]) => {\n if (entityId == null) {\n return (\n !isAddMode &&\n !isEditMode &&\n !isFindMode &&\n !isViewOnlyMode &&\n !isModalListMode\n );\n } else {\n return !isAddMode && !isEditMode && !isFindMode && !isViewOnlyMode;\n }\n }\n )\n );\n }\n\n navigate(item: BreadcrumbItem) {\n item.beforeNavigate?.();\n\n this.router.navigateRelative([item.link], undefined, this.activatedRoute);\n }\n}\n","import {\n box,\n FormGroupState,\n KeyValue,\n ResetAction,\n SetValueAction,\n} from 'ngrx-forms';\nimport { map, Observable, withLatestFrom } from 'rxjs';\n\nimport { ColumnState, IServerSideGetRowsParams } from '@ag-grid-community/core';\nimport {\n AgGridFilterModel,\n FilterFormValueInterface,\n GridState,\n LazyEntityFacadeInterface,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { FieldConfig, FilterValue } from '@ideapa/common-interfaces';\nimport { select, Store } from '@ngrx/store';\n\nimport { LazyEntityActions, LazyEntitySelectors } from './models';\n\nexport abstract class BaseLazyEntityFacade<\n T extends BaseDto,\n V,\n K extends KeyValue\n> implements LazyEntityFacadeInterface\n{\n form$ = this.store.pipe(select(this.selectors.selectEntityForm));\n entityId$ = this.store.pipe(select(this.selectors.selectEntityId));\n entity$ = this.store.pipe(select(this.selectors.getSelectedEntity));\n filterForm$ = this.store.pipe(select(this.selectors.selectEntityFilterForm));\n abstract getBreadcrumb$: Observable;\n\n getGridState$ = this.store.pipe(select(this.selectors.getGridState));\n getPageSize$ = this.store.pipe(select(this.selectors.getPageSize));\n getCurrentPage$ = this.store.pipe(select(this.selectors.getCurrentPage));\n getTotalRows$ = this.store.pipe(select(this.selectors.getTotalRows));\n pageLoaded$ = this.store.pipe(select(this.selectors.pageLoaded));\n getColumnState$ = this.store.pipe(select(this.selectors.getColumnState));\n getFilterModel$ = this.store.pipe(select(this.selectors.getFilterModel));\n getLoadedEntity$ = this.store.pipe(select(this.selectors.getLoadedEntity));\n showAdvancedFilters$ = this.store.pipe(\n select(this.selectors.showAdvancedFilters)\n );\n queryParams$ = this.store.pipe(select(this.selectors.getQueryParams));\n isNew$ = this.store.pipe(select(this.selectors.isNew));\n canSave$ = this.isNew$.pipe(\n withLatestFrom(this.sharedFacade.canCreate$, this.sharedFacade.canUpdate$),\n map(([isNew, canCreate, canUpdate]) => {\n return isNew ? canCreate : canUpdate;\n })\n );\n canDelete$ = this.isNew$.pipe(\n withLatestFrom(this.sharedFacade.canDelete$),\n map(([isNew, canDelete]) => canDelete && !isNew)\n );\n canAdd$: Observable = this.sharedFacade.canCreate$;\n canEdit$: Observable = this.sharedFacade.canUpdate$;\n\n constructor(\n protected store: Store,\n protected selectors: LazyEntitySelectors,\n protected actions: LazyEntityActions,\n protected entityFormId: string,\n protected entityFilterFormId: string,\n protected sharedFacade: SharedEntityFacadeInterface,\n protected routerFacade: RouterFacadeInterface\n ) {}\n\n abstract formInitialize(\n item: T | undefined,\n disable?: boolean,\n options?: any,\n permissions?: string[]\n ): void;\n\n setFilterFormValue(value: FilterValue[]) {\n this.store.dispatch(\n new SetValueAction(this.entityFilterFormId, {\n filters: box(value),\n })\n );\n }\n\n formSave(form: FormGroupState, callback?: (item: T) => void) {\n this.store.dispatch(this.actions.formSave({ form: form, callback }));\n }\n\n displayFormError() {\n this.store.dispatch(this.actions.displayFormError());\n }\n\n resetForm() {\n this.store.dispatch(new ResetAction(this.entityFormId));\n }\n\n formDelete() {\n this.store.dispatch(this.actions.formDelete());\n }\n\n selectEntityId(id: number) {\n this.store.dispatch(this.actions.selectEntityId({ id }));\n }\n\n addEntity() {\n this.store.dispatch(this.actions.addEntity());\n }\n\n selectItem(item: T) {\n this.store.dispatch(this.actions.selectItem({ item }));\n }\n\n clearEntityId() {\n this.store.dispatch(this.actions.selectEntityId({ id: undefined }));\n }\n\n loadGridPage(params: IServerSideGetRowsParams) {\n this.store.dispatch(this.actions.loadGridPage({ params }));\n }\n\n loadGridPageSuccess(rows: T[]) {\n this.store.dispatch(this.actions.loadGridPageSuccess({ rows }));\n }\n\n setGridState(gridState: GridState) {\n this.store.dispatch(this.actions.setGridState({ gridState }));\n }\n\n setCurrentPage(currentPage: number) {\n this.store.dispatch(this.actions.setCurrentPage({ currentPage }));\n }\n\n setPageLoaded(loaded: boolean) {\n this.store.dispatch(this.actions.setPageLoaded({ loaded }));\n }\n\n setPageSize(pageSize: number) {\n this.store.dispatch(this.actions.setPageSize({ pageSize }));\n }\n\n setTotalRows(totalRows: number) {\n this.store.dispatch(this.actions.setTotalRows({ totalRows }));\n }\n\n setFilterModel(filterModel?: AgGridFilterModel) {\n this.store.dispatch(this.actions.setFilterModel({ filterModel }));\n }\n\n setColumnState(columnState?: ColumnState[]) {\n this.store.dispatch(this.actions.setColumnState({ columnState }));\n }\n\n downloadExcel(\n fileName?: string,\n columns?: FieldConfig[],\n join?: string[],\n filters?: FilterValue[],\n orderBy?: { [field: string]: 'asc' | 'desc' }\n ) {\n this.store.dispatch(\n this.actions.downloadExcel({\n fileName,\n columns,\n join,\n filters,\n orderBy,\n })\n );\n }\n\n showAdvancedFilters(show: boolean) {\n this.store.dispatch(this.actions.showAdvancedFilters({ show }));\n }\n}\n","import { FormGroupState, KeyValue } from 'ngrx-forms';\n\nimport { ColumnState, IServerSideGetRowsParams } from '@ag-grid-community/core';\nimport { InjectionToken } from '@angular/core';\nimport { Params } from '@angular/router';\nimport {\n AgGridFilterModel,\n FilterFormValueInterface,\n GridState,\n} from '@ideapa/app-common';\nimport { FieldConfig, FilterValue } from '@ideapa/common-interfaces';\nimport { ActionCreator } from '@ngrx/store';\nimport { TypedAction } from '@ngrx/store/src/models';\n\nexport const LAZY_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'LAZY_ENTITY_ACTIONS'\n);\n\nexport const LAZY_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'LAZY_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_FORM_ID_TOKEN = new InjectionToken(\n 'ENTITY_FORM_ID'\n);\n\nexport const ENTITY_FILTER_FORM_ID_TOKEN = new InjectionToken(\n 'ENTITY_FILTER_FORM_ID'\n);\n\nexport interface LazyEntityState {\n entityForm: FormGroupState;\n entityFilterForm: FormGroupState;\n selectedId: number | undefined;\n userByEmail?: Entity;\n gridState: GridState;\n loadedEntity: Entity | undefined;\n showAdvancedFilters: boolean;\n}\n\n// export interface BaseLazyEntityFacadeInterface {\n// getPageSize$: Observable;\n// getCurrentPage$: Observable;\n// getTotalRows$: Observable;\n// getColumnState$: Observable;\n// getFilterModel$: Observable;\n// pageLoaded$: Observable;\n// getLoadedEntity$: Observable;\n// filterForm$: Observable>;\n// entity$: Observable;\n// entityId$: Observable;\n// form$: Observable>;\n// getBreadcrumb$: Observable;\n// showAdvancedFilters$: Observable;\n// queryParams$: Observable;\n\n// setPageSize: (pageSize: number) => void;\n// setCurrentPage: (currentPage: number) => void;\n// formInitialize: (\n// item: T | undefined,\n// disable?: boolean,\n// options?: any,\n// permissions?: string[]\n// ) => void;\n// setPageLoaded: (loaded: boolean) => void;\n// setTotalRows: (totalRows: number) => void;\n// formSave: (form: FormGroupState, callback?: (item: T) => void) => void;\n// formDelete: () => void;\n// resetForm: () => void;\n// setFilterModel: (filterModel: AgGridFilterModel) => void;\n// setColumnState: (sortModel: ColumnState[]) => void;\n// setFilterFormValue: (value: FilterValue[]) => void;\n// displayFormError: () => void;\n// downloadExcel: (\n// fileName?: string,\n// columns?: FieldConfig[],\n// join?: string[]\n// ) => void;\n// selectEntityId: (id: number) => void;\n// clearEntityId: () => void;\n// addEntity: () => void;\n// showAdvancedFilters: (show: boolean) => void;\n// }\n\nexport interface LazyEntitySelectors {\n selectEntityForm: (state: any) => FormGroupState;\n selectEntityId: (state: V) => number | undefined;\n isNew: (state: V) => boolean;\n getSelectedEntity: (state: V) => T | undefined;\n selectEntityFilterForm: (\n state: V\n ) => FormGroupState;\n\n getGridState: (state: V) => GridState;\n getPageSize: (state: V) => number;\n getCurrentPage: (state: V) => number;\n getTotalRows: (state: V) => number;\n pageLoaded: (state: V) => boolean;\n getColumnState: (state: V) => ColumnState[] | undefined;\n getFilterModel: (state: V) => AgGridFilterModel | undefined;\n getLoadedEntity: (state: V) => T | undefined;\n showAdvancedFilters: (state: V) => boolean;\n getQueryParams: (state: V) => Params;\n}\n\nexport interface LazyEntityActions {\n formDelete: ActionCreator TypedAction>;\n formSave: ActionCreator<\n string,\n (props: {\n form: FormGroupState;\n callback?: ((item: T) => void) | undefined;\n }) => {\n form: FormGroupState;\n callback?: ((item: T) => void) | undefined;\n } & TypedAction\n >;\n setFilterModel: ActionCreator<\n string,\n (props: { filterModel?: AgGridFilterModel }) => {\n filterModel?: AgGridFilterModel;\n } & TypedAction\n >;\n loadGridPage: ActionCreator<\n string,\n (props: { params: IServerSideGetRowsParams }) => {\n params: IServerSideGetRowsParams;\n } & TypedAction\n >;\n loadGridPageSuccess: ActionCreator<\n string,\n (props: { rows: T[] }) => {\n rows: T[];\n } & TypedAction\n >;\n displayFormError: ActionCreator TypedAction>;\n setEntity: ActionCreator<\n string,\n (props: { entity?: T }) => {\n entity?: T;\n } & TypedAction\n >;\n setGridState: ActionCreator<\n string,\n (props: { gridState: GridState }) => {\n gridState: GridState;\n } & TypedAction\n >;\n setPageLoaded: ActionCreator<\n string,\n (props: { loaded: boolean }) => {\n loaded: boolean;\n } & TypedAction\n >;\n setPageSize: ActionCreator<\n string,\n (props: { pageSize: number }) => {\n pageSize: number;\n } & TypedAction\n >;\n setTotalRows: ActionCreator<\n string,\n (props: { totalRows: number }) => {\n totalRows: number;\n } & TypedAction\n >;\n showAdvancedFilters: ActionCreator<\n string,\n (props: { show: boolean }) => {\n show: boolean;\n } & TypedAction\n >;\n downloadExcel: ActionCreator<\n string,\n (props: {\n fileName?: string;\n columns?: FieldConfig[];\n join?: string[];\n filters?: FilterValue[];\n orderBy?: { [field: string]: 'asc' | 'desc' };\n }) => {\n fileName?: string;\n columns?: FieldConfig[];\n join?: string[];\n filters?: FilterValue[];\n orderBy?: { [field: string]: 'asc' | 'desc' };\n } & TypedAction\n >;\n selectEntityId: ActionCreator<\n string,\n (props: { id: number | undefined }) => {\n id: number | undefined;\n } & TypedAction\n >;\n addEntity: ActionCreator TypedAction>;\n selectItem: ActionCreator<\n string,\n (props: { item: T }) => {\n item: T;\n } & TypedAction\n >;\n setColumnState: ActionCreator<\n string,\n (props: { columnState?: ColumnState[] }) => {\n columnState?: ColumnState[];\n } & TypedAction\n >;\n setCurrentPage: ActionCreator<\n string,\n (props: { currentPage: number }) => {\n currentPage: number;\n } & TypedAction\n >;\n\n manualClose: ActionCreator<\n string,\n (props: {\n path: string;\n navigate?: boolean;\n }) => { path: string; navigate?: boolean } & TypedAction\n >;\n\n addSuccess: ActionCreator<\n string,\n (props: { item: T; notify: boolean; goBack: boolean }) => {\n item: T;\n notify: boolean;\n goBack: boolean;\n } & TypedAction\n >;\n updateSuccess: ActionCreator<\n string,\n (props: {\n item: T;\n notify: boolean;\n goBack: boolean;\n callback?: (item: T) => void;\n }) => {\n item: T;\n notify: boolean;\n goBack: boolean;\n callback?: (item: T) => void;\n } & TypedAction\n >;\n loadSingleSuccess: ActionCreator<\n string,\n (props: { item: T }) => {\n item: T;\n } & TypedAction\n >;\n resetState: ActionCreator<\n string,\n (props: { entity: string }) => {\n entity: string;\n } & TypedAction\n >;\n}\n\n// export interface EntityAdapter extends EntityStateAdapter {\n// selectId: IdSelector;\n// sortComparer: false | Comparer;\n// getInitialState(): LazyEntityState;\n// getInitialState(state: S): LazyEntityState & S;\n// getSelectors(): EntitySelectors>;\n// getSelectors(\n// selectState: (state: V) => LazyEntityState\n// ): EntitySelectors;\n// }\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { merge } from 'lodash';\nimport { KeyValue, unbox } from 'ngrx-forms';\nimport {\n concatMap,\n EMPTY,\n from,\n mergeMap,\n Observable,\n of,\n switchMap,\n tap,\n withLatestFrom,\n} from 'rxjs';\n\nimport {\n ConfirmServiceInterface,\n filterNullish,\n LazyEntityFacadeInterface,\n mapToFilterModel,\n NavigationFacadeInterface,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n ToastServiceInterface,\n} from '@ideapa/app-common';\nimport {\n keyboardAdd,\n keyboardApplyFilters,\n keyboardDelete,\n keyboardOpenFilters,\n keyboardSave,\n keyboardResetFilters,\n} from '@ideapa/app-keyboard';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { DeepPartial, TAB_CLOSE_MESSAGE } from '@ideapa/common-utils';\nimport {\n Actions,\n createEffect,\n CreateEffectMetadata,\n ofType,\n} from '@ngrx/effects';\n\nimport { LazyEntityActions } from './models';\nimport { FilterValue } from '@ideapa/common-interfaces';\n\nexport abstract class BaseLazyEntityEffects<\n T extends BaseDto,\n V,\n K extends KeyValue\n> {\n constructor(\n protected actions$: Actions,\n protected facade: LazyEntityFacadeInterface,\n protected sharedFacade: SharedEntityFacadeInterface,\n protected toastService: ToastServiceInterface,\n protected navigationFacade: NavigationFacadeInterface,\n protected confirmService: ConfirmServiceInterface,\n protected entityName: string,\n protected actions: LazyEntityActions,\n protected routerFacade: RouterFacadeInterface\n ) {}\n\n keyboardSave$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(keyboardSave),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(\n this.facade.form$,\n this.facade.entityId$,\n this.facade.canSave$\n )\n )\n ),\n tap(([action, form, entityId, canSave]) => {\n if (\n canSave &&\n entityId != null &&\n action.entity === this.entityName &&\n form.isDirty\n ) {\n this.facade.formSave(form);\n }\n })\n ),\n { dispatch: false }\n );\n\n keyboardDelete$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(keyboardDelete),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(this.facade.entityId$, this.facade.canDelete$)\n )\n ),\n tap(([action, entityId, canDelete]) => {\n if (\n canDelete &&\n entityId != null &&\n entityId !== 0 &&\n action.entity === this.entityName\n ) {\n this.facade.formDelete();\n }\n })\n ),\n { dispatch: false }\n );\n\n keyboardAdd$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(keyboardAdd),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.facade.entityId$, this.facade.canAdd$))\n ),\n tap(([action, entityId, canAdd]) => {\n if (canAdd && entityId == null && action.entity === this.entityName) {\n this.facade.addEntity();\n }\n })\n ),\n { dispatch: false }\n );\n\n openFilters$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(keyboardOpenFilters),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(\n this.facade.entityId$,\n this.routerFacade.isFindMode$,\n this.routerFacade.isModalListMode$\n )\n )\n ),\n tap(([action, entityId, isFindMode, isModalListMode]) => {\n if (\n !isFindMode &&\n !isModalListMode &&\n entityId == null &&\n action.entity === this.entityName\n ) {\n this.facade.showAdvancedFilters(true);\n }\n })\n ),\n { dispatch: false }\n );\n\n applyFilters$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(keyboardApplyFilters),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(\n this.facade.entityId$,\n this.facade.showAdvancedFilters$,\n this.facade.filterForm$\n )\n )\n ),\n tap(([action, entityId, visibleFilters, filterForm]) => {\n if (\n entityId == null &&\n action.entity === this.entityName &&\n visibleFilters\n ) {\n const filters = unbox(filterForm.value.filters);\n this.facade.setFilterModel(mapToFilterModel(filters));\n this.facade.showAdvancedFilters(false);\n }\n })\n ),\n { dispatch: false }\n );\n\n resetFilters$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(keyboardResetFilters),\n concatMap((a) => of(a).pipe(withLatestFrom(this.facade.entityId$))),\n tap(([action, entityId]) => {\n if (entityId == null && action.entity === this.entityName) {\n const filters: FilterValue[] = [];\n this.facade.setFilterModel(mapToFilterModel(filters));\n this.facade.showAdvancedFilters(false);\n }\n })\n ),\n { dispatch: false }\n );\n\n formSave$: Observable & CreateEffectMetadata = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.formSave),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(this.facade.entity$, this.facade.queryParams$)\n )\n ),\n tap(([action, entity, queryParams]) => {\n if (!action.form.isValid) {\n this.facade.displayFormError();\n } else {\n const id = entity?.id;\n\n const param = queryParams['param']\n ? JSON.parse(atob(queryParams['param']))\n : undefined;\n\n const dto: DeepPartial = this.mapToDto(\n action.form.value,\n entity,\n param\n );\n\n this.upsertEntity(id, dto, action.callback, param);\n }\n })\n ),\n { dispatch: false }\n );\n\n addEntity$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.addEntity),\n tap((action) => {\n this.routerFacade.navigateRelative([0]);\n })\n ),\n { dispatch: false }\n );\n\n selectItem$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.selectItem),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.routerFacade.channelId$))\n ),\n tap(([action, channelId]) => {\n if (channelId) {\n this.routerFacade.notifySelectedItemToOpener(\n action.item,\n channelId\n );\n }\n })\n ),\n { dispatch: false }\n );\n\n formDelete$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.formDelete),\n concatMap((a) =>\n of(a).pipe(\n withLatestFrom(this.facade.getLoadedEntity$.pipe(filterNullish()))\n )\n ),\n switchMap(([action, entity]) => {\n return from(\n this.confirmService.confirm(\n `Confermi di voler eliminare l'elemento${\n (entity).codice\n ? ' con codice ' + (entity).codice\n : ''\n }?`\n )\n ).pipe(\n tap((result) => {\n if (result) {\n if (entity.id) {\n this.sharedFacade.delete(entity.id, true, true, () =>\n this.facade.clearEntityId()\n );\n }\n }\n })\n );\n })\n ),\n { dispatch: false }\n );\n\n formReset$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.addSuccess, this.actions.updateSuccess),\n tap((action) => {\n this.facade.resetForm();\n })\n ),\n { dispatch: false }\n );\n\n clearCache$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.resetState),\n tap(() => {\n this.sharedFacade.clearCache();\n })\n ),\n { dispatch: false }\n );\n\n displayFormError$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.displayFormError),\n tap(() => {\n this.toastService.errorFeedback(\n 'Alcuni campi obbligatori non sono stati compilati, o non sono compilati correttamente.'\n );\n })\n ),\n { dispatch: false }\n );\n\n downloadExcel$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.downloadExcel),\n concatMap(\n (a) => of(a)\n // .pipe(\n // withLatestFrom(\n // this.facade.getFilterModel$,\n // this.facade.getColumnState$\n // )\n // )\n ),\n tap((action) => {\n this.sharedFacade.downloadExcel(\n action.fileName,\n action.columns,\n action.filters,\n action.orderBy,\n action.join\n );\n })\n ),\n { dispatch: false }\n );\n\n tabClose$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.manualClose),\n withLatestFrom(this.facade.form$),\n mergeMap(([action, form]) => {\n if (action.path !== this.entityName) {\n return of(EMPTY);\n }\n if (form.isDirty) {\n return from(this.confirmService.confirm(TAB_CLOSE_MESSAGE)).pipe(\n tap((result) => {\n if (result) {\n this.navigationFacade.closeTab(action.path);\n this.navigationFacade.navigateToFirstAvailableTab();\n }\n })\n );\n } else {\n this.navigationFacade.closeTab(action.path);\n this.navigationFacade.navigateToFirstAvailableTab();\n return of(EMPTY);\n }\n })\n ),\n { dispatch: false }\n );\n\n protected mapToDto(\n formValue: K,\n entity: T | undefined,\n param?: DeepPartial\n ): DeepPartial {\n return {} as DeepPartial;\n }\n\n protected upsertEntity(\n id: number | undefined,\n dto: DeepPartial,\n callback: ((item: T) => void) | undefined,\n param?: DeepPartial\n ) {\n if (id && id != 0) {\n this.sharedFacade.update(\n id,\n {\n id: id,\n ...dto,\n },\n callback,\n true,\n false\n );\n } else {\n if (param) {\n merge(dto, param);\n }\n this.sharedFacade.add(\n {\n ...dto,\n },\n true,\n false\n );\n }\n }\n}\n","import { KeyValue } from 'ngrx-forms';\n\nimport { createActionsFactory } from './actions';\nimport { createInitialStateFactory } from './initialState';\nimport { createReducerFactory } from './reducer';\nimport { createSelectorsFactory } from './selectors';\n\nexport function createLazyState(\n entityName: string,\n initialFormValue: EntityFormValue\n) {\n const ENTITY_FORM_ID = entityName + '_FORM_ID';\n const ENTITY_FILTER_FORM_ID = entityName + '_FILTER_FORM_ID';\n const stateFactory = createInitialStateFactory(\n ENTITY_FORM_ID,\n ENTITY_FILTER_FORM_ID,\n initialFormValue\n );\n\n const selectorsFactory = createSelectorsFactory();\n\n const actionsFacory = createActionsFactory(\n entityName\n );\n\n const reducerFactory = createReducerFactory(\n entityName\n );\n\n return {\n ...stateFactory,\n ...selectorsFactory,\n ...actionsFacory,\n ...reducerFactory,\n ENTITY_FORM_ID,\n ENTITY_FILTER_FORM_ID,\n };\n}\n","import { box, createFormGroupState, KeyValue } from 'ngrx-forms';\n\nimport { FilterFormValueInterface } from '@ideapa/app-common';\n\nimport { LazyEntityState } from './models';\n\nexport function getInitialLazyEntityState<\n Entity,\n EntityFormValue extends KeyValue\n>(\n entityFormId: string,\n entityFilterFormId: string,\n initialFormValue: EntityFormValue\n): LazyEntityState {\n return {\n // set initial required properties\n entityForm: createFormGroupState(\n entityFormId,\n initialFormValue\n ),\n entityFilterForm: createFormGroupState(\n entityFilterFormId,\n {\n filters: box([]),\n }\n ),\n selectedId: undefined,\n gridState: {\n currentPage: 0,\n pageSize: 30,\n totalRows: 0,\n pageLoaded: false,\n filterModel: {},\n },\n loadedEntity: undefined,\n showAdvancedFilters: false,\n };\n}\n\nexport function createInitialStateFactory<\n Entity,\n EntityFormValue extends KeyValue\n>(\n entityFormId: string,\n entityFilterFormId: string,\n initialFormValue: EntityFormValue\n) {\n function getInitialState(): LazyEntityState;\n function getInitialState(\n additionalState: S\n ): LazyEntityState & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(\n getInitialLazyEntityState(\n entityFormId,\n entityFilterFormId,\n initialFormValue\n ),\n additionalState\n );\n }\n\n return { getInitialState };\n}\n","import { KeyValue } from 'ngrx-forms';\n\nimport { Params } from '@angular/router';\nimport { Dictionary } from '@ngrx/entity';\nimport { createSelector } from '@ngrx/store';\n\nimport { LazyEntitySelectors, LazyEntityState } from './models';\n\nexport function createSelectorsFactory() {\n function getSelectors(\n selectEntities: (state: any) => Dictionary,\n selectQueryParams: (state: any) => Params,\n selectState: (state: any) => LazyEntityState\n ): LazyEntitySelectors, K> {\n const selectEntityForm = createSelector(\n selectState,\n (state: LazyEntityState) => state.entityForm\n );\n\n const selectEntityId = createSelector(\n selectState,\n (s: LazyEntityState) => s.selectedId as number\n );\n\n const isNew = createSelector(\n selectState,\n (s: LazyEntityState) => (s.selectedId as number) === 0\n );\n\n const getSelectedEntity = createSelector(\n selectEntityId,\n selectEntities,\n (id, entities) => {\n return id != null ? entities[id] : undefined;\n }\n );\n\n const selectEntityFilterForm = createSelector(\n selectState,\n (s: LazyEntityState) => s.entityFilterForm\n );\n\n const getGridState = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState\n );\n\n const getPageSize = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState.pageSize\n );\n\n const getCurrentPage = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState.currentPage\n );\n\n const getTotalRows = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState.totalRows\n );\n\n const pageLoaded = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState.pageLoaded\n );\n\n const getColumnState = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState.columnState\n );\n\n const getFilterModel = createSelector(\n selectState,\n (s: LazyEntityState) => s.gridState.filterModel\n );\n\n const getLoadedEntity = createSelector(\n selectState,\n (s: LazyEntityState) => s.loadedEntity\n );\n\n const showAdvancedFilters = createSelector(\n selectState,\n (s: LazyEntityState) => s.showAdvancedFilters\n );\n\n return {\n selectEntityForm,\n selectEntityId,\n isNew,\n selectEntityFilterForm,\n getSelectedEntity,\n getGridState,\n getColumnState,\n getCurrentPage,\n getFilterModel,\n getLoadedEntity,\n getPageSize,\n getTotalRows,\n pageLoaded,\n showAdvancedFilters,\n getQueryParams: selectQueryParams,\n };\n }\n\n return { getSelectors };\n}\n","import { FormGroupState, KeyValue } from 'ngrx-forms';\n\nimport { ColumnState, IServerSideGetRowsParams } from '@ag-grid-community/core';\nimport { AgGridFilterModel, GridState } from '@ideapa/app-common';\nimport { FieldConfig, FilterValue } from '@ideapa/common-interfaces';\nimport { ActionCreator, createAction, props } from '@ngrx/store';\nimport { TypedAction } from '@ngrx/store/src/models';\n\nimport { LazyEntityActions } from './models';\n\nexport function createActionsFactory(\n ENTITY: string\n) {\n function getActions(\n manualClose: ActionCreator<\n string,\n (props: {\n path: string;\n navigate?: boolean;\n }) => { path: string; navigate?: boolean } & TypedAction\n >,\n addSuccess: ActionCreator<\n string,\n (props: { item: Entity; notify: boolean; goBack: boolean }) => {\n item: Entity;\n notify: boolean;\n goBack: boolean;\n } & TypedAction\n >,\n updateSuccess: ActionCreator<\n string,\n (props: {\n item: Entity;\n notify: boolean;\n goBack: boolean;\n callback?: (item: Entity) => void;\n }) => {\n item: Entity;\n notify: boolean;\n goBack: boolean;\n callback?: (item: Entity) => void;\n } & TypedAction\n >,\n loadSingleSuccess: ActionCreator<\n string,\n (props: { item: Entity }) => {\n item: Entity;\n } & TypedAction\n >,\n resetState: ActionCreator<\n string,\n (props: { entity: string }) => {\n entity: string;\n } & TypedAction\n >\n ): LazyEntityActions {\n const formSave = createAction(\n `[CommonLazy/${ENTITY}] Form Save`,\n props<{\n form: FormGroupState;\n callback?: (item: Entity) => void;\n }>()\n );\n\n const loadGridPage = createAction(\n `[Lazy/${ENTITY}] Load grid page`,\n props<{ params: IServerSideGetRowsParams }>()\n );\n\n const loadGridPageSuccess = createAction(\n `[Lazy/${ENTITY}] Load grid page success`,\n props<{ rows: Entity[] }>()\n );\n\n const formDelete = createAction(`[Lazy/${ENTITY}] Form Delete`);\n\n const displayFormError = createAction(`[Lazy/${ENTITY}] Form Error`);\n\n const setEntity = createAction(\n `[Lazy/${ENTITY}] Set entity`,\n props<{ entity?: Entity }>()\n );\n\n const setGridState = createAction(\n `[Lazy/${ENTITY}] Set grid state`,\n props<{ gridState: GridState }>()\n );\n\n const setPageSize = createAction(\n `[Lazy/${ENTITY}] Set page size`,\n props<{ pageSize: number }>()\n );\n\n const setCurrentPage = createAction(\n `[Lazy/${ENTITY}] Set current page`,\n props<{ currentPage: number }>()\n );\n\n const setTotalRows = createAction(\n `[Lazy/${ENTITY}] Set total rows`,\n props<{ totalRows: number }>()\n );\n\n const setPageLoaded = createAction(\n `[Lazy/${ENTITY}] Set page loaded`,\n props<{ loaded: boolean }>()\n );\n const setColumnState = createAction(\n `[Lazy/${ENTITY}] Set sort model`,\n props<{ columnState?: ColumnState[] }>()\n );\n\n const setFilterModel = createAction(\n `[CommonLazy/${ENTITY}] Set filter model`,\n props<{ filterModel?: AgGridFilterModel }>()\n );\n\n const downloadExcel = createAction(\n `[Lazy/${ENTITY}] Download downloadExcel`,\n props<{\n fileName?: string;\n columns?: FieldConfig[];\n join?: string[];\n filters?: FilterValue[];\n orderBy?: { [field: string]: 'asc' | 'desc' };\n }>()\n );\n\n const downloadPdf = createAction(\n `[Lazy/${ENTITY}] DownloadPdf`,\n props<{\n fileName?: string;\n columns?: FieldConfig[];\n join?: string[];\n }>()\n );\n\n const selectEntityId = createAction(\n `[Lazy/${ENTITY}] Select Entity Id`,\n props<{\n id: number | undefined;\n }>()\n );\n\n const showAdvancedFilters = createAction(\n `[Lazy/${ENTITY}] Show Advanced Filters`,\n props<{\n show: boolean;\n }>()\n );\n\n const addEntity = createAction(`[Lazy/${ENTITY}] Add Entity`);\n\n const selectItem = createAction(\n `[Lazy/${ENTITY}] Select item`,\n props<{ item: Entity }>()\n );\n\n return {\n formSave,\n addEntity,\n displayFormError,\n downloadExcel,\n // downloadPdf,\n formDelete,\n loadGridPage,\n loadGridPageSuccess,\n selectEntityId,\n setColumnState,\n setCurrentPage,\n setEntity,\n setFilterModel,\n setGridState,\n setPageLoaded,\n setPageSize,\n setTotalRows,\n showAdvancedFilters,\n manualClose,\n addSuccess,\n updateSuccess,\n resetState,\n loadSingleSuccess,\n selectItem,\n };\n }\n\n return { getActions };\n}\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { logout as AuthLogOut } from '@ideapa/app-auth';\nimport { concatReducers } from '@ideapa/app-common';\nimport { Action, ActionReducer, createReducer, on } from '@ngrx/store';\nimport { KeyValue, onNgrxForms } from 'ngrx-forms';\nimport { LazyEntityActions, LazyEntityState } from './models';\n\nexport function createReducerFactory(\n entityName: string\n) {\n function extendBaseReducer>(\n initialState: V,\n actions: LazyEntityActions,\n reducerExtension: ActionReducer\n ) {\n const basicReducer = createReducer(\n initialState,\n on(actions.setPageSize, (s, { pageSize }) => ({\n ...s,\n gridState: { ...s.gridState, pageSize },\n })),\n on(actions.setTotalRows, (s, { totalRows }) => ({\n ...s,\n gridState: { ...s.gridState, totalRows },\n })),\n on(actions.setCurrentPage, (s, { currentPage }) => ({\n ...s,\n gridState: { ...s.gridState, currentPage },\n })),\n on(actions.setPageLoaded, (s, { loaded }) => ({\n ...s,\n gridState: { ...s.gridState, pageLoaded: loaded },\n })),\n on(actions.setColumnState, (s, { columnState }) => ({\n ...s,\n gridState: { ...s.gridState, columnState },\n })),\n on(actions.setFilterModel, (s, { filterModel }) => ({\n ...s,\n gridState: { ...s.gridState, filterModel },\n })),\n on(actions.selectEntityId, (state, { id }) => {\n return { ...state, selectedId: id };\n }),\n on(actions.updateSuccess, (s, { item }) => ({\n ...s,\n loadedEntity: item,\n })),\n on(actions.showAdvancedFilters, (s, { show }) => {\n return { ...s, showAdvancedFilters: show };\n }),\n on(actions.loadSingleSuccess, (s, { item }) => ({\n ...s,\n loadedEntity: item,\n })),\n on(actions.resetState, (s, { entity }) => {\n if (entity === entityName) {\n return { ...(initialState as any) };\n } else return s;\n }),\n on(AuthLogOut, (s) => ({ ...(initialState as any) })),\n onNgrxForms()\n );\n\n return concatReducers(basicReducer, reducerExtension);\n }\n\n return {\n extendBaseReducer,\n };\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\nimport { map, withLatestFrom } from 'rxjs';\n\nimport {\n PERMISSION_CREATE,\n PERMISSION_CREATE_ALL,\n PERMISSION_DELETE,\n PERMISSION_DELETE_ALL,\n PERMISSION_READ,\n PERMISSION_READ_ALL,\n PERMISSION_UPDATE,\n PERMISSION_UPDATE_ALL,\n RouterFacadeInterface,\n SharedEntityFacadeInterface,\n} from '@ideapa/app-common';\nimport { FieldConfig, FilterValue } from '@ideapa/common-interfaces';\nimport { DeepPartial } from '@ideapa/common-utils';\nimport { select, Store } from '@ngrx/store';\n\nimport { SharedEntityActions, SharedEntityStateSelectors } from './models';\n\nexport abstract class BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n allEntities$ = this.store.pipe(select(this.selectors.getAll));\n\n loadedAll$ = this.store.pipe(select(this.selectors.loadedAll));\n\n canDelete$ = this.permissionsService.permissions$.pipe(\n withLatestFrom(\n this.routerFacade.isViewOnlyMode$,\n this.routerFacade.isFindMode$\n ),\n map(([p, isViewOnlyMode, isFindMode]) => {\n if (isViewOnlyMode || isFindMode) return false;\n return (\n p[PERMISSION_DELETE_ALL] != null ||\n p[PERMISSION_DELETE + '_' + this.entityName] != null\n );\n })\n );\n\n canUpdate$ = this.permissionsService.permissions$.pipe(\n withLatestFrom(\n this.routerFacade.isViewOnlyMode$,\n this.routerFacade.isFindMode$\n ),\n map(([p, isViewOnlyMode, isFindMode]) => {\n if (isViewOnlyMode || isFindMode) return false;\n return (\n p[PERMISSION_UPDATE_ALL] != null ||\n p[PERMISSION_UPDATE + '_' + this.entityName] != null\n );\n })\n );\n\n canCreate$ = this.permissionsService.permissions$.pipe(\n withLatestFrom(\n this.routerFacade.isViewOnlyMode$,\n this.routerFacade.isFindMode$\n ),\n map(([p, isViewOnlyMode, isFindMode]) => {\n if (isViewOnlyMode || isFindMode) return false;\n return (\n p[PERMISSION_CREATE_ALL] != null ||\n p[PERMISSION_CREATE + '_' + this.entityName] != null\n );\n })\n );\n\n canRead$ = this.permissionsService.permissions$.pipe(\n withLatestFrom(this.routerFacade.isFindMode$),\n map(([p, isFindMode]) => {\n if (isFindMode) return false;\n\n return (\n p[PERMISSION_READ_ALL] != null ||\n p[PERMISSION_READ + '_' + this.entityName] != null\n );\n })\n );\n\n constructor(\n protected store: Store,\n private permissionsService: NgxPermissionsService,\n private routerFacade: RouterFacadeInterface,\n protected selectors: SharedEntityStateSelectors,\n protected actions: SharedEntityActions,\n private entityName: string\n ) {}\n\n loadPaged(\n take: number,\n skip: number,\n orderBy?: { [field: string]: 'asc' | 'desc' },\n filters?: FilterValue[],\n join?: string[]\n ) {\n this.store.dispatch(\n this.actions.loadPaged({\n take,\n skip,\n orderBy,\n filters,\n join,\n })\n );\n }\n\n loadAll() {\n this.store.dispatch(this.actions.loadAll());\n }\n\n loadPagedSuccess(items: T[]) {\n this.store.dispatch(this.actions.loadPagedSuccess({ items }));\n }\n\n loadAllSuccess(items: T[]) {\n this.store.dispatch(this.actions.loadAllSuccess({ items }));\n }\n\n updateManySuccess(items: T[]) {\n this.store.dispatch(this.actions.updateManySuccess({ items: items }));\n }\n\n loadPagedFailure(error: string) {\n this.store.dispatch(this.actions.loadPagedFailure({ error }));\n }\n\n add(u: DeepPartial, notify = true, goBack = false) {\n this.store.dispatch(this.actions.add({ item: u, notify, goBack }));\n }\n\n delete(id: number, notify = true, goBack = true, callback?: () => void) {\n this.store.dispatch(\n this.actions.deleteEntity({ id, notify, goBack, callback })\n );\n }\n\n clearCache() {\n this.store.dispatch(this.actions.clearCache());\n }\n update(\n id: number,\n u: DeepPartial,\n callback?: (item: T) => void,\n notify = true,\n goBack = false\n ) {\n this.store.dispatch(\n this.actions.update({\n update: { id, changes: u as Partial },\n notify,\n goBack,\n callback,\n })\n );\n }\n\n loadSingle(id: number) {\n this.store.dispatch(this.actions.loadSingle({ id }));\n }\n\n downloadExcel(\n fileName?: string,\n columns?: FieldConfig[],\n filters?: FilterValue[],\n orderBy?: { [field: string]: 'asc' | 'desc' },\n join?: string[],\n notify = true\n ) {\n this.store.dispatch(\n this.actions.downloadExcel({\n fileName,\n columns,\n filters,\n orderBy,\n join,\n notify,\n })\n );\n }\n}\n","import { catchError, concatMap, map, of, tap, withLatestFrom } from 'rxjs';\n\nimport { Location } from '@angular/common';\nimport {\n CRUDApiClientInterface,\n LoaderFacadeInterface,\n RouterFacadeInterface,\n ToastServiceInterface,\n} from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { fetch, pessimisticUpdate } from '@nrwl/angular';\n\nimport { SharedEntityActions } from './models';\n\nexport abstract class BaseSharedEntityEffects {\n constructor(\n protected actions$: Actions,\n protected service: CRUDApiClientInterface,\n protected loaderFacade: LoaderFacadeInterface,\n protected toastService: ToastServiceInterface,\n protected location: Location,\n protected routerFacade: RouterFacadeInterface,\n protected entityName: string,\n protected actions: SharedEntityActions\n ) {}\n\n loadPaged$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.loadPaged),\n // switchMap(a => of(a).pipe(withLatestFrom(this.facade.pageSize$))),\n fetch({\n run: (action) => {\n this.loaderFacade.showLoader(action);\n // Your custom service 'load' logic goes here. For now just return a success action...\n return this.service\n .getPaged(\n action.take,\n action.skip,\n action.orderBy,\n action.filters,\n action.join\n )\n .pipe(\n map((res) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.loadPagedSuccess({\n items: res.items,\n });\n })\n );\n },\n onError: (action, error) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.loadPagedFailure({ error });\n },\n })\n )\n );\n\n loadAll$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.loadAll),\n fetch({\n run: (action) => {\n this.loaderFacade.showLoader(action);\n // Your custom service 'load' logic goes here. For now just return a success action...\n return this.service.getAll().pipe(\n map((res) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.loadAllSuccess({ items: res });\n })\n );\n },\n onError: (action, error) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.loadAllFailure({ error });\n },\n })\n )\n );\n\n loadSingle$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.loadSingle),\n fetch({\n id: (a) => {\n return a.id;\n },\n run: (action) => {\n this.loaderFacade.showLoader(action);\n // Your custom service 'load' logic goes here. For now just return a success action...\n return this.service.getById(action.id).pipe(\n map((res) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.loadSingleSuccess({ item: res });\n })\n );\n },\n onError: (action, error) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.loadSingleFailure({ error });\n },\n })\n )\n );\n\n update$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.update),\n pessimisticUpdate({\n // provides an action\n run: (action) => {\n this.loaderFacade.showLoader(action);\n // update the backend first, and then dispatch an action that will\n // update the client side\n return this.service.update(action.update).pipe(\n map((updated) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.updateSuccess({\n item: updated,\n notify: action.notify,\n goBack: action.goBack,\n callback: action.callback,\n });\n })\n );\n },\n onError: (action, error) => {\n // we don't need to undo the changes on the client side.\n // we can dispatch an error, or simply log the error here and return `null`\n this.loaderFacade.hideLoader(action);\n return this.actions.updateFailure({\n error,\n notify: false, // gli errori vengono gestiti globalmente da HttpErrorInterceptor\n });\n },\n })\n )\n );\n\n updateSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.updateSuccess),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.routerFacade.channelId$))\n ),\n tap(([action, channelId]) => {\n if (channelId) {\n this.routerFacade.notifySelectedItemToOpener(\n action.item,\n channelId\n );\n }\n if (action.notify) {\n this.toastService.successFeedback(\n 'Aggiornamento avvenuto con successo!'\n );\n }\n if (action.callback) {\n action.callback(action.item);\n }\n if (action.goBack) {\n this.location.back();\n }\n })\n ),\n { dispatch: false }\n );\n\n updateFailure$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.updateFailure),\n tap((action) => {\n console.log(\n \"Si è verificato un errore durante l'aggiornamento\",\n action.error\n );\n if (action.notify) {\n this.toastService.errorFeedback(\n \"Si è verificato un errore durante l'aggiornamento\",\n action.error\n );\n }\n })\n ),\n { dispatch: false }\n );\n\n add$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.add),\n pessimisticUpdate({\n // provides an action\n run: (action) => {\n this.loaderFacade.showLoader(action);\n // update the backend first, and then dispatch an action that will\n // update the client side\n return this.service.add(action.item).pipe(\n map((updated) => {\n this.loaderFacade.hideLoader(action);\n return this.actions.addSuccess({\n item: updated,\n notify: action.notify,\n goBack: action.goBack,\n });\n })\n );\n },\n onError: (action, error) => {\n // we don't need to undo the changes on the client side.\n // we can dispatch an error, or simply log the error here and return `null`\n this.loaderFacade.hideLoader(action);\n return this.actions.addFailure({\n error,\n notify: false, // gli errori vengono gestiti globalmente da HttpErrorInterceptor\n });\n },\n })\n )\n );\n\n addSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.addSuccess),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.routerFacade.channelId$))\n ),\n tap(([action, channelId]) => {\n if (channelId) {\n this.routerFacade.notifySelectedItemToOpener(\n action.item,\n channelId\n );\n }\n if (action.notify) {\n this.toastService.successFeedback(\n 'Inserimento avvenuto con successo!'\n );\n }\n if (action.goBack) {\n this.location.back();\n } else {\n this.routerFacade.navigateRelative(['../', action.item.id], true);\n }\n })\n ),\n { dispatch: false }\n );\n\n addFailure$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.addFailure),\n tap((action) => {\n console.log(\n \"Si è verificato un errore durante l'inserimento\",\n action.error\n );\n if (action.notify) {\n this.toastService.errorFeedback(\n \"Si è verificato un errore durante l'inserimento\",\n action.error\n );\n }\n })\n ),\n { dispatch: false }\n );\n\n delete$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.deleteEntity),\n pessimisticUpdate({\n // provides an action\n run: (action) => {\n this.loaderFacade.showLoader(action);\n // update the backend first, and then dispatch an action that will\n // update the client side\n return this.service.delete(action.id).pipe(\n map(() => {\n this.loaderFacade.hideLoader(action);\n return this.actions.deleteEntitySuccess({\n id: action.id,\n notify: action.notify,\n goBack: action.goBack,\n callback: action.callback,\n });\n })\n );\n },\n onError: (action, error) => {\n // we don't need to undo the changes on the client side.\n // we can dispatch an error, or simply log the error here and return `null`\n this.loaderFacade.hideLoader(action);\n return this.actions.deleteEntityFailure({\n error: error.message,\n notify: false, // gli errori vengono gestiti globalmente da HttpErrorInterceptor\n });\n },\n })\n )\n );\n\n deleteError$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.deleteEntityFailure),\n tap((action) => {\n console.log(\n \"Si è verificato un errore durante l'eliminazione\",\n action.error\n );\n if (action.notify) {\n this.toastService.errorFeedback(\n \"Si è verificato un errore durante l'eliminazione\"\n );\n }\n })\n ),\n { dispatch: false }\n );\n\n deleteSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.deleteEntitySuccess),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.routerFacade.channelId$))\n ),\n tap(([action, channelId]) => {\n if (channelId) {\n this.routerFacade.notifyDeletedItemToOpener(action.id, channelId);\n }\n if (action.notify) {\n this.toastService.successFeedback(\n 'Eliminazione avvenuta con successo!'\n );\n }\n // se la pagina non c'è più, deve andare alla precedente o alla prima?\n if (action.callback) {\n action.callback();\n }\n if (action.goBack) {\n this.location.back();\n }\n })\n ),\n { dispatch: false }\n );\n\n downloadExcel$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.actions.downloadExcel),\n fetch({\n run: (action) => {\n this.loaderFacade.showLoader(action);\n console.log('downloadExcel effects');\n return this.service\n .downloadExcel(\n action.fileName,\n action.columns,\n action.filters,\n action.orderBy,\n action.join\n )\n .pipe(\n map((res) => {\n const blob = new Blob([res], {\n type: 'application/xlsx',\n });\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = `${action.fileName}.xlsx`;\n document.body.appendChild(link);\n link.click();\n\n URL.revokeObjectURL(url);\n this.loaderFacade.hideLoader(action);\n return this.actions.downloadExcelSuccess({\n responseFile: res,\n notify: action.notify,\n });\n }),\n catchError((error) => {\n console.log(error);\n this.loaderFacade.hideLoader(action);\n return of(\n this.actions.downloadExcelFailure({\n error: error.message,\n notify: false, // gli errori vengono gestiti globalmente da HttpErrorInterceptor\n })\n );\n })\n );\n },\n })\n )\n );\n\n downloadExcelSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.downloadExcelSuccess),\n tap((action) => {\n console.log('Download Excel avvenuto con successo');\n if (action.notify) {\n this.toastService.successFeedback(\n 'Download Excel avvenuto con successo!'\n );\n }\n })\n ),\n { dispatch: false }\n );\n\n downloadExcelFailure$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.downloadExcelFailure),\n tap((action) => {\n console.log(\n 'Si è verificato un errore durante il download',\n action.error\n );\n if (action.notify) {\n this.toastService.errorFeedback(\n 'Si è verificato un errore durante il download',\n action.error\n );\n }\n })\n ),\n { dispatch: false }\n );\n\n clearCache$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.actions.clearCache),\n tap(() => {\n this.service.clearCache();\n })\n ),\n { dispatch: false }\n );\n}\n","import { BaseDto } from '@ideapa/common-dto';\n\nimport { createActionsFactory } from './actions';\nimport { createInitialStateFactory } from './initialState';\nimport { createReducerFactory } from './reducer';\nimport { createSelectorsFactory } from './selectors';\n\nexport function createSharedState(entityName: string) {\n const selectorsFactory = createSelectorsFactory();\n\n const actionsFacory = createActionsFactory(entityName);\n\n const stateFactory = createInitialStateFactory();\n\n const reducerFactory = createReducerFactory();\n\n return {\n ...selectorsFactory,\n ...actionsFacory,\n ...reducerFactory,\n ...stateFactory,\n };\n}\n","import { Dictionary, EntityState } from '@ngrx/entity';\nimport { createSelector } from '@ngrx/store';\n\nimport { SharedEntityState, SharedEntityStateSelectors } from './models';\n\nexport function createSelectorsFactory() {\n function getSelectors(\n selectAll: (state: EntityState) => T[],\n selectEntities: (state: EntityState) => Dictionary,\n selectState: (state: any) => SharedEntityState\n ): SharedEntityStateSelectors> {\n const loadedAll = createSelector(\n selectState,\n (state: SharedEntityState) => state.loadedAll\n );\n\n const getAll = createSelector(selectState, (state: SharedEntityState) =>\n selectAll(state)\n );\n\n const getAllEntities = createSelector(\n selectState,\n (state: SharedEntityState) => selectEntities(state)\n );\n\n return {\n loadedAll,\n getAll,\n getAllEntities,\n };\n }\n\n return { getSelectors };\n}\n","import { FieldConfig, FilterValue } from '@ideapa/common-interfaces';\nimport { DeepPartial } from '@ideapa/common-utils';\nimport { Update } from '@ngrx/entity';\nimport { createAction, props } from '@ngrx/store';\n\nimport { SharedEntityActions } from './models';\n\nexport function createActionsFactory(ENTITY: string) {\n function getActions(): SharedEntityActions {\n const loadPaged = createAction(\n `[Shared/${ENTITY}] Load Paged ${ENTITY}`,\n props<{\n skip: number;\n take: number;\n orderBy?: { [field: string]: 'asc' | 'desc' };\n filters?: FilterValue[];\n join?: string[];\n }>()\n );\n\n const loadPagedSuccess = createAction(\n `[Shared/${ENTITY}] Load Paged ${ENTITY} Success`,\n props<{\n items: Entity[];\n }>()\n );\n\n const loadPagedFailure = createAction(\n `[Shared/${ENTITY}] Load Paged ${ENTITY} Failure`,\n props<{ error: string }>()\n );\n\n const loadSingle = createAction(\n `[Shared/${ENTITY}] Load Single ${ENTITY}`,\n props<{ id: number }>()\n );\n const loadSingleSuccess = createAction(\n `[Shared/${ENTITY}] Load Single ${ENTITY} Success`,\n props<{ item: Entity }>()\n );\n const loadSingleFailure = createAction(\n `[Shared/${ENTITY}] Load Single ${ENTITY} Failure`,\n props<{ error: string }>()\n );\n\n const loadAll = createAction(`[Shared/${ENTITY}] Load All ${ENTITY}`);\n const loadAllSuccess = createAction(\n `[Shared/${ENTITY}] Load All ${ENTITY} Success`,\n props<{ items: Entity[] }>()\n );\n const loadAllFailure = createAction(\n `[Shared/${ENTITY}] Load All ${ENTITY} Failure`,\n props<{ error: string }>()\n );\n\n const update = createAction(\n `[Shared/${ENTITY}] Update ${ENTITY}`,\n props<{\n update: Update;\n notify: boolean;\n goBack: boolean;\n callback?: (item: Entity) => void;\n }>()\n );\n const updateSuccess = createAction(\n `[Shared/${ENTITY}] Update ${ENTITY} Success`,\n props<{\n item: Entity;\n notify: boolean;\n goBack: boolean;\n callback?: (item: Entity) => void;\n }>()\n );\n\n const updateManySuccess = createAction(\n `[Shared/${ENTITY}] Update many ${ENTITY} Success`,\n props<{\n items: Entity[];\n }>()\n );\n\n const updateFailure = createAction(\n `[Shared/${ENTITY}] Update ${ENTITY} Failure`,\n props<{ error: string; notify: boolean }>()\n );\n\n const add = createAction(\n `[Shared/${ENTITY}] Add ${ENTITY}`,\n props<{ item: DeepPartial; notify: boolean; goBack: boolean }>()\n );\n\n const addSuccess = createAction(\n `[Shared/${ENTITY}] Add ${ENTITY} Success`,\n props<{ item: Entity; notify: boolean; goBack: boolean }>()\n );\n\n const addFailure = createAction(\n `[Shared/${ENTITY}] Add ${ENTITY} Failure`,\n props<{ error: string; notify: boolean }>()\n );\n\n const deleteEntity = createAction(\n `[Shared/${ENTITY}] Delete ${ENTITY}`,\n props<{\n id: number;\n notify: boolean;\n goBack: boolean;\n callback?: () => void;\n }>()\n );\n\n const deleteEntitySuccess = createAction(\n `[Shared/${ENTITY}] Delete ${ENTITY} Success`,\n props<{\n id: number;\n notify: boolean;\n goBack: boolean;\n callback?: () => void;\n }>()\n );\n\n const deleteEntityFailure = createAction(\n `[Shared/${ENTITY}] Delete ${ENTITY} Failure`,\n props<{ error: string; notify: boolean }>()\n );\n\n const downloadExcel = createAction(\n `[Shared/${ENTITY}] Download downloadExcel`,\n props<{\n fileName?: string;\n columns?: FieldConfig[];\n filters?: FilterValue[];\n orderBy?: { [field: string]: 'asc' | 'desc' };\n join?: string[];\n notify: boolean;\n }>()\n );\n\n const downloadExcelSuccess = createAction(\n `[Shared/${ENTITY}] Download downloadExcel Success`,\n props<{\n responseFile: ArrayBuffer;\n notify: boolean;\n }>()\n );\n\n const downloadExcelFailure = createAction(\n `[Shared/${ENTITY}] Download downloadExcel Failure`,\n props<{\n error: string;\n notify: boolean;\n }>()\n );\n\n const clearCache = createAction(`[Shared/${ENTITY}] Clear Cache`);\n\n return {\n loadPaged,\n loadPagedSuccess,\n loadPagedFailure,\n loadAll,\n loadAllSuccess,\n loadAllFailure,\n loadSingle,\n loadSingleSuccess,\n loadSingleFailure,\n update,\n updateSuccess,\n updateManySuccess,\n updateFailure,\n add,\n addSuccess,\n addFailure,\n downloadExcel,\n downloadExcelSuccess,\n downloadExcelFailure,\n deleteEntity,\n deleteEntitySuccess,\n deleteEntityFailure,\n clearCache,\n };\n }\n\n return { getActions };\n}\n","import { SharedEntityState } from './models';\n\nexport function getInitialSharedEntityState<\n Entity\n>(): SharedEntityState {\n return {\n // set initial required properties\n loadedAll: false,\n entities: {},\n ids: [],\n };\n}\n\nexport function createInitialStateFactory() {\n function getInitialState(): SharedEntityState;\n function getInitialState(\n additionalState: S\n ): SharedEntityState & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(getInitialSharedEntityState(), additionalState);\n }\n\n return { getInitialState };\n}\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { selectAnno, selectEnte } from '@ideapa/app-auth';\nimport { concatReducers } from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { EntityAdapter } from '@ngrx/entity';\nimport { Action, ActionReducer, createReducer, on } from '@ngrx/store';\n\nimport { SharedEntityActions, SharedEntityState } from './models';\n\nexport function createReducerFactory() {\n function extendBaseReducer>(\n initialState: V,\n actions: SharedEntityActions,\n entityAdapter: EntityAdapter,\n reducerExtension: ActionReducer,\n resetOnEnteAnnoChange = false\n ) {\n const resetByEnteAnnoReducerExtension = createReducer(\n initialState,\n on(selectAnno, (state, { anno, prevAnno }) => {\n if (anno === prevAnno) {\n return state;\n } else {\n return entityAdapter.removeAll({\n ...state,\n loadedAll: false,\n });\n }\n }),\n on(selectEnte, (state, { ente, prevEnte }) => {\n if (ente === prevEnte) {\n return state;\n } else {\n return entityAdapter.removeAll({\n ...state,\n loadedAll: false,\n });\n }\n })\n );\n\n const basicReducer = createReducer(\n initialState,\n on(\n actions.addFailure,\n actions.deleteEntityFailure,\n actions.updateFailure,\n actions.loadAllFailure,\n actions.loadPagedFailure,\n (s, a) => ({ ...s, error: a.error })\n ),\n on(actions.loadPaged, (state) => ({\n ...state,\n error: undefined,\n loadedAll: false,\n })),\n on(actions.loadPagedSuccess, (state, { items }) =>\n entityAdapter.setMany(items, {\n ...state,\n loadedAll: false,\n error: undefined,\n })\n ),\n on(actions.loadAll, (state) => ({\n ...state,\n error: undefined,\n loadedAll: false,\n })),\n on(actions.loadAllSuccess, (state, { items }) =>\n entityAdapter.setAll(items, {\n ...state,\n loadedAll: true,\n error: undefined,\n })\n ),\n on(actions.loadSingleSuccess, (state, { item }) =>\n entityAdapter.setOne(item, state)\n ),\n on(actions.updateSuccess, (state, action) =>\n entityAdapter.updateOne(\n { id: action.item.id, changes: action.item },\n state\n )\n ),\n on(actions.updateManySuccess, (state, action) =>\n entityAdapter.updateMany(\n action.items.map((item) => ({\n id: item.id,\n changes: item,\n })),\n state\n )\n ),\n on(actions.addSuccess, (state, action) =>\n entityAdapter.addOne(action.item, state)\n ),\n on(actions.deleteEntitySuccess, (state, action) =>\n entityAdapter.removeOne(action.id, state)\n )\n );\n\n const reducers = [basicReducer, reducerExtension];\n if (resetOnEnteAnnoChange) reducers.push(resetByEnteAnnoReducerExtension);\n\n return concatReducers(...reducers);\n }\n\n return {\n extendBaseReducer,\n };\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Update } from '@ngrx/entity';\n\nimport { BaseApiClient } from './base.api-client';\n\n@Injectable()\nexport abstract class BaseCRUDApiClient extends BaseApiClient {\n getById(id: number) {\n return this.http.get(`${this.baseUrl}/${id}`);\n }\n\n add(u: Partial) {\n this.clearCache();\n return this.http.post(`${this.baseUrl}`, u);\n }\n\n update(u: Update) {\n this.clearCache();\n return this.http.put(`${this.baseUrl}/${u.id}`, u.changes);\n }\n\n delete(id: number) {\n this.clearCache();\n return this.http.delete(`${this.baseUrl}/${id}`, {\n headers: new HttpHeaders({\n 'Content-Type': 'text/plain',\n }),\n });\n }\n\n clearCache() {\n this._pagedCache.clear();\n }\n}\n","import { createAction, props } from '@ngrx/store';\n\n// check consolidato: se esiste e se è chiuso\nexport const checkConsolidato = createAction(\n `[Lazy/CheckBilanci] Check Consolidato `,\n props<{\n anno: number | undefined;\n }>()\n);\n\nexport const checkConsolidatoSuccess = createAction(\n `[Lazy/CheckBilanci] Check Consolidato Success`,\n props<{\n exists: boolean;\n closed: boolean;\n anno: number | null;\n enteId: number | null;\n }>()\n);\n\nexport const checkConsolidatoFailure = createAction(\n `[Lazy/CheckBilanci] Check Consolidato Failure`,\n props<{\n error: string;\n }>()\n);\n\n// check esercizio chiuso\nexport const checkEsercizioChiuso = createAction(\n `[Lazy/CheckEsercizioChiuso] Check Esercizio Chiuso`\n);\n\nexport const checkEsercizioChiusoSuccess = createAction(\n `[Lazy/CheckEsercizioChiuso] Check Esercizio Chiuso Success`,\n props<{ closed: boolean; anno: number | null; enteId: number | null }>()\n);\n\nexport const checkEsercizioChiusoFailure = createAction(\n `[Lazy/CheckEsercizioChiuso] Check Esercizio Chiuso Failure`,\n props<{\n error: string;\n }>()\n);\n\n// check dati per riepilogo modificati\nexport const checkDatiRiepilogoModificati = createAction(\n `[Lazy/CheckDatiRiepilogoModificati] Check Dati Riepilogo Modificati`\n);\n\nexport const checkDatiRiepilogoModificatiSuccess = createAction(\n `[Lazy/CheckDatiRiepilogoModificati] Check Dati Riepilogo Modificati Success`,\n props<{ modificati: boolean }>()\n);\n\nexport const checkDatiRiepilogoModificatiFailure = createAction(\n `[Lazy/CheckDatiRiepilogoModificati] Check Dati Riepilogo Modificati Failure`,\n props<{\n error: string;\n }>()\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport {\n CHECK_CHIUSURE_FEATURE_KEY,\n CheckBilanciState,\n} from './check-bilanci.reducer';\n\nexport const getCheckBilanciState = createFeatureSelector(\n CHECK_CHIUSURE_FEATURE_KEY\n);\n\nexport const selectEsercizioChecked = createSelector(\n getCheckBilanciState,\n (s) => s.esercizioChecked\n);\n\nexport const selectEsercizioClosed = createSelector(\n getCheckBilanciState,\n (s) => s.esercizioClosed\n);\n\nexport const selectConsolidatoChecked = createSelector(\n getCheckBilanciState,\n (s) => s.consolidatoChecked\n);\n\nexport const selectConsolidatoExists = createSelector(\n getCheckBilanciState,\n (s) => s.consolidatoExists\n);\n\nexport const selectConsolidatoClosed = createSelector(\n getCheckBilanciState,\n (s) => s.consolidatoClosed\n);\n\nexport const selectConsolidatoEnteId = createSelector(\n getCheckBilanciState,\n (s) => s.consolidatoEnteId\n);\n\nexport const selectConsolidatoAnno = createSelector(\n getCheckBilanciState,\n (s) => s.consolidatoAnno\n);\n\nexport const selectEsercizioEnteId = createSelector(\n getCheckBilanciState,\n (s) => s.esercizioEnteId\n);\n\nexport const selectEsercizioAnno = createSelector(\n getCheckBilanciState,\n (s) => s.esercizioAnno\n);\n\nexport const selectDatiRiepilogoModificati = createSelector(\n getCheckBilanciState,\n (s) => s.datiRiepilogoModificati\n);\n\nexport const selectRiepilogoChecked = createSelector(\n getCheckBilanciState,\n (s) => s.riepilogoChecked\n);\n","import { Injectable } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\n\nimport * as CustomActions from './check-bilanci.actions';\nimport { CheckBilanciPartialState } from './check-bilanci.reducer';\nimport * as CustomSelectors from './check-bilanci.selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CheckBilanciFacade {\n esercizioChecked$ = this.store.pipe(\n select(CustomSelectors.selectEsercizioChecked)\n );\n\n esercizioClosed$ = this.store.pipe(\n select(CustomSelectors.selectEsercizioClosed)\n );\n\n consolidatoChecked$ = this.store.pipe(\n select(CustomSelectors.selectConsolidatoChecked)\n );\n\n consolidatoExists$ = this.store.pipe(\n select(CustomSelectors.selectConsolidatoExists)\n );\n\n consolidatoClosed$ = this.store.pipe(\n select(CustomSelectors.selectConsolidatoClosed)\n );\n\n consolidatoEnteId$ = this.store.pipe(\n select(CustomSelectors.selectConsolidatoEnteId)\n );\n\n consolidatoAnno$ = this.store.pipe(\n select(CustomSelectors.selectConsolidatoAnno)\n );\n\n esercizioEnteId$ = this.store.pipe(\n select(CustomSelectors.selectEsercizioEnteId)\n );\n\n esercizioAnno$ = this.store.pipe(select(CustomSelectors.selectEsercizioAnno));\n\n riepilogoChecked$ = this.store.pipe(\n select(CustomSelectors.selectRiepilogoChecked)\n );\n\n datiRiepilogoModificati$ = this.store.pipe(\n select(CustomSelectors.selectDatiRiepilogoModificati)\n );\n\n constructor(private store: Store) {}\n\n checkEsercizioChiuso() {\n this.store.dispatch(CustomActions.checkEsercizioChiuso());\n }\n\n checkConsolidato(anno: number | undefined = undefined) {\n this.store.dispatch(CustomActions.checkConsolidato({ anno }));\n }\n\n checkDatiRiepilogoModificati() {\n this.store.dispatch(CustomActions.checkDatiRiepilogoModificati());\n }\n}\n","import { createReducer, on } from '@ngrx/store';\n\nimport * as Actions from './check-bilanci.actions';\n\nexport const CHECK_CHIUSURE_FEATURE_KEY = 'check-bilanci';\n\nexport interface CheckBilanciPartialState {\n readonly [CHECK_CHIUSURE_FEATURE_KEY]: CheckBilanciState;\n}\n\nexport interface CheckBilanciState {\n esercizioChecked: boolean;\n esercizioClosed: boolean;\n esercizioEnteId: number | null;\n esercizioAnno: number | null;\n consolidatoChecked: boolean;\n consolidatoExists: boolean;\n consolidatoClosed: boolean;\n consolidatoEnteId: number | null;\n consolidatoAnno: number | null;\n riepilogoChecked: boolean;\n datiRiepilogoModificati: boolean;\n}\n\nconst initialState: CheckBilanciState = {\n esercizioChecked: false,\n esercizioClosed: false,\n consolidatoChecked: false,\n consolidatoExists: false,\n consolidatoClosed: false,\n consolidatoAnno: null,\n consolidatoEnteId: null,\n esercizioAnno: null,\n esercizioEnteId: null,\n riepilogoChecked: false,\n datiRiepilogoModificati: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(\n Actions.checkConsolidatoSuccess,\n (s, { exists, closed, anno, enteId }) => ({\n ...s,\n consolidatoChecked: true,\n consolidatoExists: exists,\n consolidatoClosed: closed,\n consolidatoAnno: anno,\n consolidatoEnteId: enteId,\n })\n ),\n on(Actions.checkEsercizioChiusoSuccess, (s, { closed, anno, enteId }) => ({\n ...s,\n esercizioChecked: true,\n esercizioClosed: closed,\n esercizioAnno: anno,\n esercizioEnteId: enteId,\n })),\n on(Actions.checkDatiRiepilogoModificatiSuccess, (s, { modificati }) => ({\n ...s,\n riepilogoChecked: true,\n datiRiepilogoModificati: modificati,\n }))\n);\n","import { concatMap, map, of, withLatestFrom } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport {\n BilancioConsolidatoApiClient,\n ChiusuraRipristinoEsercizioApiClient,\n RiepilogoProspettiApiClient,\n} from '@ideapa/app-api-client';\nimport { AuthFacade } from '@ideapa/app-auth';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { pessimisticUpdate } from '@nrwl/angular';\n\nimport * as CustomActions from './check-bilanci.actions';\n\n@Injectable()\nexport class CheckBilanciEffects {\n constructor(\n private actions$: Actions,\n private loaderFacade: NgrxLoaderFacade,\n private chiusuraRipristinoEsercizioService: ChiusuraRipristinoEsercizioApiClient,\n private consolidatoService: BilancioConsolidatoApiClient,\n private authFacade: AuthFacade,\n private riepilogoProspettiService: RiepilogoProspettiApiClient\n ) {}\n\n // check consolidato\n checkConsolidato$ = createEffect(() =>\n this.actions$.pipe(\n ofType(CustomActions.checkConsolidato),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.authFacade.anno$, this.authFacade.ente$))\n ),\n pessimisticUpdate({\n run: (action, anno, ente) => {\n this.loaderFacade.showLoader(action);\n return this.consolidatoService.checkConsolidato(action.anno).pipe(\n map((consolidato) => {\n this.loaderFacade.hideLoader(action);\n return CustomActions.checkConsolidatoSuccess({\n exists: consolidato ? true : false,\n closed: consolidato ? consolidato.chiuso : false,\n anno: action.anno || anno,\n enteId: ente?.id || null,\n });\n })\n );\n },\n onError: (action, error) => {\n this.loaderFacade.hideLoader(action);\n return CustomActions.checkConsolidatoFailure({\n error,\n });\n },\n })\n )\n );\n\n // check esercizio chiuso\n checkEsercizioChiuso$ = createEffect(() =>\n this.actions$.pipe(\n ofType(CustomActions.checkEsercizioChiuso),\n concatMap((a) =>\n of(a).pipe(withLatestFrom(this.authFacade.anno$, this.authFacade.ente$))\n ),\n pessimisticUpdate({\n run: (action, anno, ente) => {\n this.loaderFacade.showLoader(action);\n return this.chiusuraRipristinoEsercizioService\n .checkEsercizioClosed()\n .pipe(\n map((closed) => {\n this.loaderFacade.hideLoader(action);\n return CustomActions.checkEsercizioChiusoSuccess({\n closed: closed,\n anno,\n enteId: ente?.id || null,\n });\n })\n );\n },\n onError: (action, error) => {\n this.loaderFacade.hideLoader(action);\n return CustomActions.checkEsercizioChiusoFailure({\n error,\n });\n },\n })\n )\n );\n\n // check dati riepilogo modificati\n checkDatiRiepilogoModificati$ = createEffect(() =>\n this.actions$.pipe(\n ofType(CustomActions.checkDatiRiepilogoModificati),\n // concatMap((a) =>\n // of(a).pipe(withLatestFrom(this.authFacade.anno$, this.authFacade.ente$))\n // ),\n pessimisticUpdate({\n run: (action) => {\n this.loaderFacade.showLoader(action);\n return this.riepilogoProspettiService\n .checkDatiRiepilogoModificati()\n .pipe(\n map((modificati) => {\n this.loaderFacade.hideLoader(action);\n return CustomActions.checkDatiRiepilogoModificatiSuccess({\n modificati: modificati,\n });\n })\n );\n },\n onError: (action, error) => {\n this.loaderFacade.hideLoader(action);\n return CustomActions.checkDatiRiepilogoModificatiFailure({\n error,\n });\n },\n })\n )\n );\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { CheckBilanciEffects } from './+state/check-bilanci.effects';\nimport { CheckBilanciFacade } from './+state/check-bilanci.facade';\nimport {\n CHECK_CHIUSURE_FEATURE_KEY,\n reducer,\n} from './+state/check-bilanci.reducer';\nimport { CheckChiusuraEsercizioGuard } from './guards/check-chiusura-esercizio.guard';\nimport { CheckConsolidatoGuard } from './guards/check-consolidato.guard';\nimport { CheckDatiRiepilogoModificatiGuard } from './guards/check-dati-riepilogo-modificati.guard';\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(CHECK_CHIUSURE_FEATURE_KEY, reducer),\n EffectsModule.forFeature([CheckBilanciEffects]),\n ],\n})\nexport class AppCheckBilanciModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: AppCheckBilanciModule\n ) {\n if (parentModule) {\n throw new Error(\n 'AppCheckBilanciModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: AppCheckBilanciModule,\n providers: [\n CheckBilanciFacade,\n CheckChiusuraEsercizioGuard,\n CheckConsolidatoGuard,\n CheckDatiRiepilogoModificatiGuard,\n ],\n };\n }\n}\n","import {\n catchError,\n combineLatest,\n filter,\n first,\n map,\n Observable,\n of,\n switchMap,\n} from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { AuthFacade } from '@ideapa/app-auth';\n\nimport { CheckBilanciFacade } from '../+state/check-bilanci.facade';\n\n@Injectable()\nexport class CheckChiusuraEsercizioGuard implements CanActivate {\n constructor(\n private facade: CheckBilanciFacade,\n private authFacade: AuthFacade\n ) {}\n canActivate(): Observable {\n return this.checkLoaded().pipe(\n switchMap(() => of(true)),\n catchError(() => of(false))\n );\n }\n\n checkLoaded(): Observable {\n return combineLatest([\n this.facade.esercizioChecked$,\n this.facade.esercizioEnteId$,\n this.facade.esercizioAnno$,\n this.authFacade.ente$,\n this.authFacade.anno$,\n ]).pipe(\n map(([loaded, enteId, anno, loggedEnte, loggedAnno]) => {\n if (!loaded || enteId !== loggedEnte?.id || anno !== loggedAnno) {\n this.facade.checkEsercizioChiuso();\n }\n return loaded;\n }),\n filter((loaded) => loaded),\n first()\n );\n }\n}\n","import {\n catchError,\n combineLatest,\n filter,\n first,\n map,\n Observable,\n of,\n switchMap,\n} from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { AuthFacade } from '@ideapa/app-auth';\n\nimport { CheckBilanciFacade } from '../+state/check-bilanci.facade';\n\n@Injectable()\nexport class CheckConsolidatoGuard implements CanActivate {\n constructor(\n private facade: CheckBilanciFacade,\n private authFacade: AuthFacade\n ) {}\n canActivate(): Observable {\n return this.checkLoaded().pipe(\n switchMap(() => of(true)),\n catchError(() => of(false))\n );\n }\n\n checkLoaded(): Observable {\n return combineLatest([\n this.facade.consolidatoChecked$,\n this.facade.consolidatoEnteId$,\n this.facade.consolidatoAnno$,\n this.authFacade.ente$,\n this.authFacade.anno$,\n ]).pipe(\n map(([loaded, enteId, anno, loggedEnte, loggedAnno]) => {\n if (!loaded || enteId !== loggedEnte?.id || anno !== loggedAnno) {\n this.facade.checkConsolidato();\n }\n return loaded;\n }),\n filter((loaded) => loaded),\n first()\n );\n }\n}\n","import {\n catchError,\n combineLatest,\n filter,\n first,\n map,\n Observable,\n of,\n switchMap,\n} from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { AuthFacade } from '@ideapa/app-auth';\n\nimport { CheckBilanciFacade } from '../+state/check-bilanci.facade';\n\n@Injectable()\nexport class CheckDatiRiepilogoModificatiGuard implements CanActivate {\n constructor(\n private facade: CheckBilanciFacade,\n private authFacade: AuthFacade\n ) {}\n canActivate(): Observable {\n return this.checkLoaded().pipe(\n switchMap(() => of(true)),\n catchError(() => of(false))\n );\n }\n\n checkLoaded(): Observable {\n return combineLatest([\n this.facade.riepilogoChecked$,\n this.facade.consolidatoEnteId$,\n this.facade.consolidatoAnno$,\n this.authFacade.ente$,\n this.authFacade.anno$,\n ]).pipe(\n map(([loaded, enteId, anno, loggedEnte, loggedAnno]) => {\n if (!loaded || enteId !== loggedEnte?.id || anno !== loggedAnno) {\n this.facade.checkDatiRiepilogoModificati();\n }\n return loaded;\n }),\n filter((loaded) => loaded),\n first()\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ValueGetterParams } from '@ag-grid-community/core';\nimport { FieldType, Precision, SelectItem } from '@ideapa/common-interfaces';\n\nimport { FilterConfig } from './filter-config';\n\n// Proprietà 'text'-align' del contenuto della colonna\nexport enum ContentAlignmentEnum {\n Left,\n Center,\n Right,\n}\n\nexport interface EntityListField extends FilterConfig {\n contentAlignment?: ContentAlignmentEnum;\n elementValues?: SelectItem[];\n exportHideColumn?: boolean;\n fieldType?: FieldType;\n hideColumn?: boolean;\n hideFilter?: boolean;\n initialHideColumn?: boolean;\n minWidth?: number;\n maxWidth?: number;\n valueGetter?: (params: ValueGetterParams) => any;\n precision?: Precision;\n}\n","export const PERMISSION_ACCESS = `access`;\nexport const PERMISSION_CREATE = `create`;\nexport const PERMISSION_READ = `read`;\nexport const PERMISSION_UPDATE = `update`;\nexport const PERMISSION_DELETE = `delete`;\n\nexport const PERMISSION_ACCESS_ALL = PERMISSION_ACCESS + `_all`;\nexport const PERMISSION_CREATE_ALL = PERMISSION_CREATE + `_all`;\nexport const PERMISSION_READ_ALL = PERMISSION_READ + `_all`;\nexport const PERMISSION_UPDATE_ALL = PERMISSION_UPDATE + `_all`;\nexport const PERMISSION_DELETE_ALL = PERMISSION_DELETE + `_all`;\n","import { isEqual } from 'lodash';\nimport * as objectPath from 'object-path';\n\nimport { ColumnState } from '@ag-grid-community/core';\nimport {\n FieldType,\n FilterOperator,\n FilterType,\n FilterValue,\n} from '@ideapa/common-interfaces';\nimport { sortNumber } from '@ideapa/common-utils';\n\nimport { AgGridFilter, AgGridFilterModel } from './aggrid-models';\nimport { EntityListField } from './entity-list-field';\n\nexport function mapToFilterModel(filters: FilterValue[]) {\n const filterModel: AgGridFilterModel = {};\n return filters.reduce((res, f) => {\n if (f.type !== FilterType.date && f.type !== FilterType.datetime) {\n res[f.field] = buildAgGridFilter(f);\n } else {\n res[f.field] = buildAgGridDateFilter(f);\n }\n\n return res;\n }, filterModel);\n}\n\nexport function getAgGridFilterType(filterType: FilterType) {\n switch (filterType) {\n case FilterType.date:\n case FilterType.datetime:\n return 'date';\n case FilterType.number:\n return 'number';\n case FilterType.boolean:\n return 'set';\n default:\n return 'text';\n }\n}\n\nexport function getDefaultOperator(type: FilterType) {\n if (type === FilterType.text) {\n return FilterOperator.contains;\n } else if (type === FilterType.date || type === FilterType.datetime) {\n return FilterOperator.equals;\n } else if (type === FilterType.number) {\n return FilterOperator.equals;\n } else if (type === FilterType.boolean) {\n return FilterOperator.equals;\n } else if (type === FilterType.enum) {\n return FilterOperator.equals;\n } else if (type === FilterType.autocomplete) {\n return FilterOperator.equals;\n }\n\n return FilterOperator.contains;\n}\n\nexport function buildAgGridFilter(f: {\n type: FilterType;\n operator: FilterOperator;\n value: any[];\n}): AgGridFilter {\n const obj = {\n type: FilterOperator[f.operator],\n filterType: getAgGridFilterType(f.type),\n filter: f.value.length ? f.value[0] : undefined,\n filterTo: f.value.length === 2 ? f.value[1] : undefined,\n } as AgGridFilter;\n\n if (obj.filterTo == null) {\n delete obj.filterTo;\n }\n return obj;\n}\nexport function buildAgGridDateFilter(f: {\n type: FilterType;\n operator: FilterOperator;\n value: any[];\n}): AgGridFilter {\n const obj = {\n type: FilterOperator[f.operator],\n filterType: getAgGridFilterType(f.type),\n dateFrom: f.value.length ? f.value[0] : undefined,\n dateTo: f.value.length === 2 ? f.value[1] : undefined,\n } as AgGridFilter;\n\n if (obj.dateTo == null) {\n obj.dateTo = null;\n }\n return obj;\n}\n\nexport function mapFromFilterModel(\n filterModel?: AgGridFilterModel,\n fields?: EntityListField[]\n) {\n if (!filterModel) {\n return [];\n }\n const filters: FilterValue[] = [];\n Object.keys(filterModel).forEach((key) => {\n const gridFilter = filterModel[key];\n const f = {\n field: key,\n operator: (FilterOperator)[gridFilter.type],\n type:\n fields?.find((f) => f.field === key)?.filterType ??\n (FilterType)[gridFilter.filterType],\n value: [],\n } as FilterValue;\n\n if (f.type !== FilterType.date && f.type !== FilterType.datetime) {\n if (gridFilter.filter != null) {\n f.value.push(gridFilter.filter);\n }\n\n if (gridFilter.filterTo != null) {\n f.value.push(gridFilter.filterTo);\n }\n } else {\n if (gridFilter.dateFrom != null) {\n f.value.push(gridFilter.dateFrom);\n }\n\n if (gridFilter.dateTo != null) {\n f.value.push(gridFilter.dateTo);\n }\n }\n\n filters.push(f);\n });\n return filters;\n}\n\nexport function mapFromColumnState(columnState?: ColumnState[]): {\n [field: string]: 'asc' | 'desc';\n} {\n if (!columnState) return {};\n return columnState\n .filter((cs) => !!cs.sort && !!cs.colId)\n .sort((cs1, cs2) => sortNumber(cs1, cs2, 'sortIndex'))\n .reduce((acc: { [key: string]: any }, item) => {\n const colId = item.colId as string;\n const sort = item.sort as string;\n return { ...acc, [colId]: sort.toUpperCase() };\n }, {});\n}\n\nexport function equalFilters(\n gridFilterModel: AgGridFilterModel | undefined,\n filters: FilterValue[]\n) {\n const filtersMapped = mapToFilterModel(filters);\n\n if (!isEqual(filtersMapped, gridFilterModel)) {\n return false;\n }\n return true;\n}\n\nexport function getGridColumnType(type: FilterType, fieldType?: FieldType) {\n switch (type) {\n case FilterType.datetime:\n return 'datetimeColumn';\n case FilterType.date:\n return 'dateColumn';\n case FilterType.number:\n if (fieldType === FieldType.currency) return 'currencyColumn';\n if (fieldType === FieldType.percent) return 'percentColumn';\n return 'numberColumn';\n case FilterType.boolean:\n return 'boolColumn';\n case FilterType.enum:\n return 'enumColumn';\n default:\n return ''; // text dà errore in console\n }\n}\n\nexport function getEventPath(event: Event): HTMLElement[] {\n const path: HTMLElement[] = [];\n let currentTarget: any = event.target;\n while (currentTarget) {\n path.push(currentTarget);\n currentTarget = currentTarget.parentElement;\n }\n return path;\n}\nexport function getAllFocusableElementsOf(el: HTMLElement) {\n return Array.from(\n el.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )\n ).filter((focusableEl) => {\n return focusableEl.tabIndex !== -1;\n });\n}\nexport function filterByAgGridFilterModel(\n data: any[],\n agGridFilters: AgGridFilterModel | undefined,\n fields?: EntityListField[]\n) {\n const filters: FilterValue[] = mapFromFilterModel(agGridFilters, fields);\n const filteredData = filters\n ? data.filter((item: any) => {\n let res = true;\n for (const filter of filters) {\n const value = objectPath.get(item, filter.field);\n if (\n filter.type === FilterType.boolean &&\n filter.value.length === 1 &&\n (filter.value[0] === 'true' || filter.value[0] === 'false')\n ) {\n filter.value[0] = filter.value[0] === 'true' ? true : false;\n }\n switch (filter.operator) {\n case FilterOperator.contains:\n res &&= value\n .toLowerCase()\n .includes(filter.value[0].toLowerCase());\n break;\n case FilterOperator.notContains:\n res &&=\n !value ||\n !value.toLowerCase().includes(filter.value[0].toLowerCase());\n break;\n case FilterOperator.equals:\n res &&= value.toLowerCase() === filter.value[0].toLowerCase();\n break;\n case FilterOperator.notEqual:\n res =\n !value || value.toLowerCase() !== filter.value[0].toLowerCase();\n break;\n case FilterOperator.startsWith:\n res &&= value\n .toLowerCase()\n .startsWith(filter.value[0].toLowerCase());\n break;\n case FilterOperator.endsWith:\n res &&= value\n .toLowerCase()\n .endsWith(filter.value[0].toLowerCase());\n break;\n case FilterOperator.greaterThan:\n res = !value || value > filter.value[0];\n break;\n case FilterOperator.lessThan:\n res = !value || value < filter.value[0];\n break;\n case FilterOperator.greaterThanOrEqual:\n res = !value || value >= filter.value[0];\n break;\n case FilterOperator.lessThanOrEqual:\n res = !value || value <= filter.value[0];\n break;\n case FilterOperator.inRange:\n res = value > filter.value[0] && value < filter.value[1];\n break;\n case FilterOperator.blank:\n res =\n !value ||\n (filter.type === FilterType.text ? value === '' : false);\n break;\n case FilterOperator.notBlank:\n res = !(\n !value ||\n (filter.type === FilterType.text ? value === '' : false)\n );\n break;\n }\n }\n return res;\n })\n : data;\n return filteredData;\n}\n","import { ColDef, ColumnState } from '@ag-grid-community/core';\nimport {\n FieldConfig,\n FilterType,\n FilterValue,\n} from '@ideapa/common-interfaces';\nimport { getGridColumnType, mapFromColumnState } from './ag-grid-utils';\nimport { ContentAlignmentEnum, EntityListField } from './entity-list-field';\nimport { SharedEntityFacadeInterface } from './shared-entity-facade.interface';\n\nexport function getGridColumns(\n gridColumns: EntityListField[],\n visibleColumns: string[],\n excludeColumns: string[],\n prefix = ''\n) {\n return gridColumns\n .filter((gc) => !excludeColumns.find((c) => c === gc.field))\n .map(\n (f) =>\n ({\n colId: f.field,\n field: `${prefix && prefix + '.'}${f.field}`,\n initialHide: !visibleColumns.find((c) => c === f.field),\n headerName: f.elementLabel,\n headerClass: `ag-${\n contentAlignmentMap[f.contentAlignment || ContentAlignmentEnum.Left]\n }-aligned-header`,\n type: getGridColumnType(f.filterType, f.fieldType),\n filterParams: { suppressAndOrCondition: true },\n enableCellTextSelection: true,\n cellStyle: {\n 'text-align':\n contentAlignmentMap[\n f.contentAlignment || ContentAlignmentEnum.Left\n ],\n },\n cellRendererParams: {\n elementValues: f.elementValues,\n precision: f.precision,\n },\n\n sortable: f.sortable,\n floatingFilter: f.sortable === false ? false : undefined,\n filter: f.sortable === false ? false : undefined,\n sort: f.sort,\n maxWidth: f.maxWidth,\n minWidth:\n f.minWidth ??\n (f.filterType === FilterType.date ||\n f.filterType === FilterType.datetime\n ? 240\n : 200),\n valueGetter: f.valueGetter ? f.valueGetter : undefined,\n } as ColDef)\n );\n}\n\nexport const getExcelFields = (\n fields: EntityListField[],\n columnState: ColumnState[],\n excludeColumns: string[] = []\n) => {\n const sortedFields = columnState\n .filter((c) => !c.hide)\n .map((c) => fields.find((f) => c.colId === f.field))\n .filter((c) => c != null) as EntityListField[];\n\n return sortedFields\n .map((f) => {\n return {\n name: f.field,\n label: f.elementLabel,\n type: f.fieldType,\n elementValues: f.elementValues,\n hidden: f.exportHideColumn,\n } as FieldConfig;\n })\n .filter((gc) => !excludeColumns.find((c) => c === gc.name));\n};\n\nexport function tabDownloadExcel(\n sharedFacade: SharedEntityFacadeInterface,\n gridColumns: EntityListField[],\n excludeColumns: string[],\n columnState: ColumnState[],\n fileName: string,\n filters: FilterValue[],\n limitedRelations?: string[]\n) {\n const columns = getExcelFields(gridColumns, columnState, excludeColumns);\n const sort = mapFromColumnState(columnState);\n sharedFacade.downloadExcel(\n fileName,\n columns,\n filters,\n sort,\n limitedRelations\n );\n}\n\n// Oggetto di mapping usato per la proprietà cellStyle di AG Grid\nconst contentAlignmentMap = {\n [ContentAlignmentEnum.Left]: 'left',\n [ContentAlignmentEnum.Center]: 'center',\n [ContentAlignmentEnum.Right]: 'right',\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { Environment } from './environment.interface';\n\n/**\n * @const ENVIRONMENT\n * Injection token for the environment interface to be provided by the applications.\n */\nexport const ENVIRONMENT: InjectionToken = new InjectionToken(\n 'ENVIRONMENT'\n);\n","import { createAction, props } from '@ngrx/store';\n\nexport const resetStateAction = createAction(\n `[Common] Reset State Action`,\n props<{\n entity: string;\n }>()\n);\n","import { InjectionToken } from '@angular/core';\n\nexport const VERSION: InjectionToken = new InjectionToken('version');\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { FilterValue } from '@ideapa/common-interfaces';\nimport { Observable } from 'rxjs';\n\nexport const ROUTER_SERVICE_TOKEN = new InjectionToken('RouterFacade');\n\nexport interface RouterFacadeInterface {\n notifySelectedItemToOpener(item: BaseDto, channelId: string): void;\n notifyDeletedItemToOpener(id: number, channelId: string): void;\n addNewEntity(\n entity: string,\n queryParams?: string,\n customTitle?: string\n ): Promise;\n openEntityDetail(\n entity: string,\n id: number,\n edit: boolean,\n queryParams?: string,\n customTitle?: string\n ): Promise;\n searchEntity(\n entity: string,\n filters?: FilterValue[],\n areDomainUserFiltersDisabled?: boolean,\n isEntitySelectionLimited?: boolean,\n areEnteAnnoFiltersDisabled?: boolean,\n ): Promise;\n openEntityList(\n entity: string,\n param: Partial,\n filters?: FilterValue[],\n title?: string,\n fullscreen?: boolean\n ): Promise;\n\n // isFindMode(): boolean;\n // isEditMode(): boolean;\n // isAddMode(): boolean;\n // isModalListMode(): boolean;\n // isViewOnlyMode(): boolean;\n\n isFindMode$: Observable;\n isEditMode$: Observable;\n isAddMode$: Observable;\n isModalListMode$: Observable;\n isViewOnlyMode$: Observable;\n channelId$: Observable;\n\n navigateRelative(\n commands: any[],\n replace?: boolean,\n relativeTo?: ActivatedRoute | null\n ): void;\n // readonly router: Router;\n // getCurrentRoute(): ActivatedRoute;\n}\n","import { Action, ActionReducer } from '@ngrx/store';\n\nexport function concatReducers(\n ...reducers: Array>\n): ActionReducer {\n const func = (state: V, action: Action) => {\n const reduced = reducers.reduce(\n (accumulatedState, reducer) => reducer(accumulatedState, action),\n state\n );\n return reduced;\n };\n return func as ActionReducer;\n}\n","import { Observable, OperatorFunction, pipe, UnaryFunction } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nexport function filterNullish(): UnaryFunction<\n Observable,\n Observable\n> {\n return pipe(\n filter((x) => x != null) as OperatorFunction\n );\n}\n","import { createAction, props } from '@ngrx/store';\n\nexport const addError = createAction(\n '[Ngrx/Error] Add Error',\n props<{ error: Error }>()\n);\n\nexport const addApiErrorMsg = createAction(\n '[Ngrx/Error] Add API Error',\n props<{ errorStatusCode: number; errorMessage: string }>()\n);\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport * as ErrorActions from './ngrx-error.actions';\nimport { NgrxErrorPartialState } from './ngrx-error.reducer';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgrxErrorFacade {\n constructor(private store: Store) {}\n\n /**\n * Use the initialization action to perform one\n * or more tasks in your Effects.\n */\n addError(error: Error) {\n this.store.dispatch(ErrorActions.addError({ error }));\n }\n\n addApiErrorMessage(errorMessage: string, status: number) {\n this.store.dispatch(\n ErrorActions.addApiErrorMsg({ errorMessage, errorStatusCode: status })\n );\n }\n}\n","import { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { NgrxErrorFacade } from './+state/ngrx-error.facade';\nimport { ErrorConfig } from './error.config';\n\nexport const SKIP_INTERCEPT_HEADER = 'skip-intercept-on-error';\n@Injectable()\nexport class ApiErrorInterceptor implements HttpInterceptor {\n constructor(private facade: NgrxErrorFacade, private config: ErrorConfig) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (\n request.headers.get(SKIP_INTERCEPT_HEADER) != null ||\n !request.url.includes(this.config.apiEndpoint)\n ) {\n const newHeaders = request.headers.delete(SKIP_INTERCEPT_HEADER);\n const newRequest = request.clone({ headers: newHeaders });\n return next.handle(newRequest);\n }\n\n return next.handle(request).pipe(\n // retry(1),\n catchError((error: HttpErrorResponse) => {\n let errorMessage = '';\n if (error instanceof HttpErrorResponse) {\n if (error.status === 401 && !request.url.includes('auth/sign-in')) {\n // Expired token error, do not intercept, let the error go\n return throwError(() => error);\n } else if (error.error) {\n // MANAGE ERRORS\n if (typeof error.error === 'string') {\n // client-side error\n errorMessage = `${error.error}`;\n this.facade.addApiErrorMessage(errorMessage, error.status);\n } else if (error instanceof ArrayBuffer) {\n return throwError(() => error);\n } else if (error.error instanceof ArrayBuffer) {\n const decoder = new TextDecoder();\n const str = decoder.decode(error.error);\n this.facade.addApiErrorMessage(\n JSON.parse(str).message,\n error.status\n );\n } else {\n // server-side error\n if (error.error.message) {\n errorMessage = error.error.message;\n } else if (error.message) {\n errorMessage = error.message;\n } else if (error.status === 0) {\n errorMessage = `Network error, check your internet connection.`;\n } else {\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n this.facade.addApiErrorMessage(errorMessage, error.status);\n }\n }\n }\n return throwError(() => new Error(errorMessage));\n })\n );\n }\n}\n","import { tap } from 'rxjs/operators';\n\nimport { Injectable } from '@angular/core';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\n\nimport * as ErrorActions from './ngrx-error.actions';\n\n@Injectable()\nexport class ErrorEffects {\n constructor(private actions$: Actions, private toastService: ToastService) {}\n\n apiError$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ErrorActions.addApiErrorMsg),\n tap((action) => {\n if (action.errorMessage) {\n this.toastService.errorFeedback(action.errorMessage);\n }\n console.error(action.errorMessage);\n })\n ),\n { dispatch: false }\n );\n\n error$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ErrorActions.addError),\n tap((action) => {\n console.error('Errore imprevisto:', action.error);\n })\n ),\n { dispatch: false }\n );\n}\n","import { createReducer, on } from '@ngrx/store';\nimport * as ErrorActions from './ngrx-error.actions';\n\nexport const ERROR_FEATURE_KEY = 'error';\n\nexport interface NgrxErrorPartialState {\n readonly [ERROR_FEATURE_KEY]: ErrorState;\n}\n\nexport interface ErrorState {\n errors: Error[];\n lastApiErrorMessage: string;\n}\n\nconst initialState: ErrorState = {\n errors: [],\n lastApiErrorMessage: '',\n};\n\nexport const reducer = createReducer(\n initialState,\n on(ErrorActions.addError, (state, { error }) => {\n return {\n ...state,\n errors: [...state.errors, error],\n };\n }),\n on(ErrorActions.addApiErrorMsg, (state, { errorMessage }) => {\n return {\n ...state,\n lastApiErrorMessage: errorMessage,\n };\n })\n);\n","import { ErrorHandler, Injectable, Injector, NgZone } from '@angular/core';\nimport { NgrxErrorFacade } from './+state/ngrx-error.facade';\n\n@Injectable()\nexport class GlobalErrorHandler implements ErrorHandler {\n constructor(private injector: Injector, private zone: NgZone) {}\n\n handleError(error: Error) {\n const facade = this.injector.get(NgrxErrorFacade);\n this.zone.run(() => facade.addError(error));\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ErrorHandler, ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { ErrorEffects } from './+state/ngrx-error.effects';\nimport { NgrxErrorFacade } from './+state/ngrx-error.facade';\nimport * as fromState from './+state/ngrx-error.reducer';\nimport { ApiErrorInterceptor } from './api-error.interceptor';\nimport { ErrorConfig } from './error.config';\nimport { GlobalErrorHandler } from './global-error-handler.service';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(fromState.ERROR_FEATURE_KEY, fromState.reducer),\n EffectsModule.forFeature([ErrorEffects]),\n ],\n})\nexport class AppErrorModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: AppErrorModule\n ) {\n if (parentModule) {\n throw new Error(\n 'AppErrorModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(config: ErrorConfig): ModuleWithProviders {\n return {\n ngModule: AppErrorModule,\n providers: [\n NgrxErrorFacade,\n {\n // processes all errors\n provide: ErrorHandler,\n useClass: GlobalErrorHandler,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiErrorInterceptor,\n multi: true,\n },\n {\n provide: ErrorConfig,\n useValue: config,\n },\n ],\n };\n }\n}\n","export class ErrorConfig {\n apiEndpoint!: string;\n}\n","import { NgrxFormsModule } from 'ngrx-forms';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PushPipe } from '@ngrx/component';\n\nimport { NgrxFormsErrorPipe } from './pipes/ngrx-forms-errors-pipe';\n\n@NgModule({\n imports: [CommonModule, NgrxFormsModule, PushPipe, ReactiveFormsModule],\n exports: [NgrxFormsModule, NgrxFormsErrorPipe, PushPipe, ReactiveFormsModule],\n declarations: [NgrxFormsErrorPipe],\n})\nexport class AppFormsModule {}\n","import * as moment from 'moment';\n// import { ValidationErrors } from 'ngrx-forms';\nimport { equalTo, EqualToValidationError } from 'ngrx-forms/validation';\n\nimport { mergeDateAndTime } from '@ideapa/common-utils';\n\nexport interface DateLessThanError {\n comparand: string;\n actual: string;\n allowEqual: boolean;\n}\nexport interface DateGreaterThanError {\n comparand: string;\n actual: string;\n allowEqual: boolean;\n}\n\nexport interface TimeLessThanError {\n comparand: string;\n actual: string;\n allowEqual: boolean;\n}\nexport interface TimeGreaterThanError {\n comparand: string;\n actual: string;\n allowEqual: boolean;\n}\n\nexport interface EqualToError extends EqualToValidationError {\n field: string;\n compareField: string;\n}\n// declare module 'ngrx-forms/src/state' {\nexport interface ValidationErrors {\n dateLessThan?: DateLessThanError;\n dateGreaterThan?: DateGreaterThanError;\n timeLessThan?: TimeLessThanError;\n timeGreaterThan?: TimeGreaterThanError;\n fieldEqualTo?: EqualToError;\n json?: boolean;\n jsonSchema?: boolean;\n}\n// }\n\nexport function json(value: string) {\n const err = {\n json: true,\n };\n\n let valid = true;\n if (value) {\n try {\n JSON.parse(value);\n } catch {\n valid = false;\n }\n }\n\n if (!valid) {\n return err;\n }\n\n return {};\n}\n\n// export function jsonWithSchema(value: string, schema: Record) {\n// const err = {\n// jsonSchema: true,\n// };\n\n// let valid = true;\n// if (value) {\n// try {\n// const data = JSON.parse(value);\n// if (schema) {\n// const validator = new ajv({ allErrors: true, verbose: true }); // options can be passed, e.g. {allErrors: true}\n// const validate = validator.compile(schema);\n// valid = validate(data) as boolean;\n// }\n// } catch {\n// valid = false;\n// }\n// }\n\n// if (!valid) {\n// return err;\n// }\n\n// return {};\n// }\n\nexport function dateLessThan(\n comparand: string | null,\n allowEqual = false,\n format = 'L'\n): (value: string | null) => ValidationErrors {\n return (value: string | null): ValidationErrors => {\n const err = {\n dateLessThan: {\n comparand: moment(comparand).format(format),\n actual: moment(value).format(format),\n allowEqual,\n },\n };\n\n let valid = true;\n if (value && comparand) {\n const diff = moment(value)\n .startOf('d')\n .diff(moment(comparand).startOf('d'));\n if (diff < 0) {\n valid = true;\n } else if (diff === 0) {\n valid = allowEqual;\n } else {\n valid = false;\n }\n }\n if (!valid) {\n return err;\n }\n return {};\n };\n}\n\nexport function timeLessThan(\n comparand: string | null,\n allowEqual = false,\n format = 'LT'\n): (value: string | null) => ValidationErrors {\n return (value: string | null): ValidationErrors => {\n const err = {\n timeLessThan: {\n comparand: moment(comparand).format(format),\n actual: moment(value).format(format),\n allowEqual,\n },\n };\n\n let valid = true;\n if (value && comparand) {\n const timeValue = mergeDateAndTime(\n moment().startOf('d').toISOString(),\n value\n );\n const timeComparandValue = mergeDateAndTime(\n moment().startOf('d').toISOString(),\n comparand\n );\n\n const diff = moment(timeValue).diff(moment(timeComparandValue));\n if (diff < 0) {\n valid = true;\n } else if (diff === 0) {\n valid = allowEqual;\n } else {\n valid = false;\n }\n }\n if (!valid) {\n return err;\n }\n return {};\n };\n}\n\nexport function dateGreaterThan(\n comparand: string | null,\n allowEqual = false,\n format = 'L'\n): (value: string | null) => ValidationErrors {\n return (value: string | null): ValidationErrors => {\n const err = {\n dateGreaterThan: {\n comparand: moment(comparand).format(format),\n actual: moment(value).format(format),\n allowEqual,\n },\n };\n\n let valid = true;\n if (value && comparand) {\n const diff = moment(value)\n .startOf('d')\n .diff(moment(comparand).startOf('d'));\n if (diff > 0) {\n valid = true;\n } else if (diff === 0) {\n valid = allowEqual;\n } else {\n valid = false;\n }\n }\n if (!valid) {\n return err;\n }\n return {};\n };\n}\n\nexport function timeGreaterThan(\n comparand: string | null,\n allowEqual = false,\n format = 'LT'\n): (value: string | null) => ValidationErrors {\n return (value: string | null): ValidationErrors => {\n const err = {\n timeGreaterThan: {\n comparand: moment(comparand).format(format),\n actual: moment(value).format(format),\n allowEqual,\n },\n };\n\n let valid = true;\n if (value && comparand) {\n const timeValue = mergeDateAndTime(\n moment().startOf('d').toISOString(),\n value\n );\n const timeComparandValue = mergeDateAndTime(\n moment().startOf('d').toISOString(),\n comparand\n );\n\n const diff = moment(timeValue).diff(moment(timeComparandValue));\n if (diff > 0) {\n valid = true;\n } else if (diff === 0) {\n valid = allowEqual;\n } else {\n valid = false;\n }\n }\n if (!valid) {\n return err;\n }\n return {};\n };\n}\n\nexport function fieldEqualTo(\n comparand: string,\n field: string,\n compareField: string\n): (value: string) => ValidationErrors {\n return (value: string): ValidationErrors => {\n const equalToErr = equalTo(comparand)(value);\n if (equalToErr && equalToErr.equalTo) {\n return {\n fieldEqualTo: { ...equalToErr.equalTo, field, compareField },\n };\n }\n return {};\n };\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ValidationMessageProvider {\n public defaultValidationMessages: {\n [key: string]:\n | string\n | ((x: { allowEqual: boolean; comparand: string }) => string)\n | ((x: { comparands: string[] }) => string)\n | ((x: {\n comparand: string;\n actual: string;\n field: string;\n compareField: string;\n }) => string)\n | ((x: { comparand: number; actual: number }) => string);\n } = {\n email: 'formato email non valido',\n required: 'campo obbligatorio',\n min: 'il valore minimo è _min',\n max: 'il valore massimo è _max',\n maxLength: 'massimo _maxLength caratteri',\n minLength: 'minimo _minLength caratteri',\n pattern: 'formato non corretto',\n dateLessThan: (errorInfo: { allowEqual: boolean; comparand: string }) =>\n `la data deve essere precedente ${\n errorInfo.allowEqual ? 'o uguale' : ''\n } a ${errorInfo.comparand}`,\n dateGreaterThan: (errorInfo: { allowEqual: boolean; comparand: string }) =>\n `la data deve essere successiva ${\n errorInfo.allowEqual ? 'o uguale' : ''\n } a ${errorInfo.comparand}`,\n timeLessThan: (errorInfo: { allowEqual: boolean; comparand: string }) =>\n `l'orario deve essere precedente ${\n errorInfo.allowEqual ? 'o uguale' : ''\n } a ${errorInfo.comparand}`,\n timeGreaterThan: (errorInfo: { allowEqual: boolean; comparand: string }) =>\n `l'orario deve essere successivo ${\n errorInfo.allowEqual ? 'o uguale' : ''\n } a ${errorInfo.comparand}`,\n alternativeFields: (errorInfo: { comparands: string[] }) =>\n `devi specificare uno dei campi: ${errorInfo.comparands.join(', ')}`,\n greaterThan: (errorInfo: { comparand: number; actual: number }) =>\n `il valore deve essere maggiore di ${errorInfo.comparand}`,\n notEqualTo: (errorInfo: { comparand: number; actual: number }) =>\n `il valore deve essere diverso da ${errorInfo.comparand}`,\n selectItemValue: 'campo obbligatorio',\n fieldEqualTo: (errorInfo: {\n comparand: string;\n actual: string;\n field: string;\n compareField: string;\n }) =>\n `il valore del campo deve coincidere con quello del campo ${errorInfo.compareField}`,\n };\n\n getMessage(key: string, errorInfo: any): string {\n let msg:\n | string\n | ((info: { allowEqual: boolean; comparand: string }) => string)\n | ((x: { comparands: string[] }) => string)\n | ((x: {\n comparand: string;\n actual: string;\n field: string;\n compareField: string;\n }) => string)\n | ((x: { comparand: number; actual: number }) => string) =\n this.defaultValidationMessages[key] || key;\n if (typeof msg === 'string') {\n const parameters: { [key: string]: string } = {};\n Object.keys(errorInfo).forEach((ph) => {\n if (errorInfo[ph] && typeof errorInfo[ph] === 'string') {\n parameters[ph] = errorInfo[ph];\n }\n });\n if (Object.keys(parameters).length > 0) {\n msg = msg as string;\n }\n if (msg.indexOf('_') > -1 && errorInfo) {\n Object.keys(errorInfo).forEach((ph) => {\n const message = msg as string;\n msg = message.replace('_' + ph, errorInfo[ph]);\n });\n }\n } else {\n msg = msg(errorInfo);\n }\n if (!msg) {\n return '';\n } else {\n return msg;\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport {\n ValidationMessageProvider,\n} from '../directives/validation-message-provider';\n\n// import { error } from 'console';\n// import { ValidationMessageProvider } from '../directives/validation-message-provider';\n\n@Pipe({ name: 'ngrxFormsErr' })\nexport class NgrxFormsErrorPipe implements PipeTransform {\n constructor(private validationMessageProvider: ValidationMessageProvider) {}\n\n transform(value: {\n [errKey: string]: { [errInfo: string]: string };\n }): string[] {\n const errors: string[] = [];\n Object.keys(value).forEach((errKey) => {\n const err = value[errKey];\n errors.push(this.validationMessageProvider.getMessage(errKey, err));\n // errors.push('Errore: ' + errKey);\n });\n return errors;\n }\n}\n","import { createAction, props } from '@ngrx/store';\n\nexport const keyboardSave = createAction(\n '[Ngrx/Keyboard] Save',\n props<{ entity: string }>()\n);\n\nexport const keyboardAdd = createAction(\n '[Ngrx/Keyboard] Add',\n props<{ entity: string }>()\n);\n\nexport const keyboardOpenFilters = createAction(\n '[Ngrx/Keyboard] Open Filters',\n props<{ entity: string }>()\n);\n\nexport const keyboardDelete = createAction(\n '[Ngrx/Keyboard] Delete',\n props<{ entity: string }>()\n);\n\nexport const keyboardApplyFilters = createAction(\n '[Ngrx/Keyboard] Apply filters',\n props<{ entity: string }>()\n);\n\nexport const keyboardResetFilters = createAction(\n '[Ngrx/Keyboard] Reset filters',\n props<{ entity: string }>()\n);\n\nexport const showHelp = createAction(\n '[Ngrx/Keyboard] Show Help',\n props<{ show: boolean }>()\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport { KEYBOARD_FEATURE_KEY, KeyboardState } from './keyboard.reducer';\n\nconst getState = createFeatureSelector(KEYBOARD_FEATURE_KEY);\n\nexport const getShowHelp = createSelector(getState, (s) => s.showHelp);\n","import { Injectable } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\n\nimport * as Actions from './keyboard.actions';\nimport { KeyboaardPartialState } from './keyboard.reducer';\nimport { getShowHelp } from './keyboard.selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KeyboardFacade {\n showHelp$ = this.store.pipe(select(getShowHelp));\n\n constructor(private store: Store) {}\n\n save(entityName: string) {\n this.store.dispatch(Actions.keyboardSave({ entity: entityName }));\n }\n\n add(entityName: string) {\n this.store.dispatch(Actions.keyboardAdd({ entity: entityName }));\n }\n\n delete(entityName: string) {\n this.store.dispatch(Actions.keyboardDelete({ entity: entityName }));\n }\n\n openFilters(entityName: string) {\n this.store.dispatch(Actions.keyboardOpenFilters({ entity: entityName }));\n }\n\n applyFilters(entityName: string) {\n this.store.dispatch(Actions.keyboardApplyFilters({ entity: entityName }));\n }\n\n resetFilters(entityName: string) {\n this.store.dispatch(Actions.keyboardResetFilters({ entity: entityName }));\n }\n\n showHelp(show: boolean) {\n this.store.dispatch(Actions.showHelp({ show }));\n }\n}\n","/* eslint-disable @typescript-eslint/no-empty-interface */\nimport { createReducer, on } from '@ngrx/store';\n\nimport { showHelp } from './keyboard.actions';\n\nexport const KEYBOARD_FEATURE_KEY = 'keyboard';\n\nexport interface KeyboaardPartialState {\n readonly [KEYBOARD_FEATURE_KEY]: KeyboardState;\n}\n\nexport interface KeyboardState {\n showHelp: boolean;\n}\n\nconst initialState: KeyboardState = {\n showHelp: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(showHelp, (s, { show }) => {\n return { ...s, showHelp: show };\n })\n);\n","import { Injectable } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\n\nimport { KeyboardFacade } from './keyboard.facade';\n\n@Injectable()\nexport class KeyboardEffects {\n constructor(\n private actions$: Actions,\n private facade: KeyboardFacade,\n private store: Store\n ) {}\n}\n","import { KeyboardShortcutsModule } from 'ng-keyboard-shortcuts';\n\nimport { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { KeyboardEffects } from './+state/keyboard.effects';\nimport { KEYBOARD_FEATURE_KEY, reducer } from './+state/keyboard.reducer';\nimport { KeyboardShortcutsListenerComponent } from './components/keyboard-shortcuts-listener.component';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(KEYBOARD_FEATURE_KEY, reducer),\n EffectsModule.forFeature([KeyboardEffects]),\n KeyboardShortcutsModule.forRoot(),\n ],\n declarations: [KeyboardShortcutsListenerComponent],\n exports: [KeyboardShortcutsListenerComponent],\n})\nexport class AppKeyboardModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: AppKeyboardModule\n ) {\n if (parentModule) {\n throw new Error(\n 'AppKeyboardModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: AppKeyboardModule,\n providers: [],\n };\n }\n}\n","import { ExtendedRoute } from '@ideapa/app-common';\nimport { createAction, props } from '@ngrx/store';\n\nexport const init = createAction(\n '[Ngrx/Navigation] Init',\n props<{ items: ExtendedRoute[] }>()\n);\n\nexport const navigate = createAction(\n '[Ngrx/Navigation] Navigate',\n props<{ path: string }>()\n);\n\nexport const manualClose = createAction(\n '[Ngrx/Navigation] Manual close Tab',\n props<{ path: string; navigate?: boolean }>()\n);\n\nexport const closeTab = createAction(\n '[Ngrx/Navigation] Close Tab',\n props<{ path: string; navigate?: boolean }>()\n);\n\nexport const showTab = createAction(\n '[Ngrx/Navigation] Show Tab',\n props<{ path: string }>()\n);\n\nexport const closeEnteAnnoRelatedTabs = createAction(\n '[Ngrx/Navigation] Close Ente Related Tabs'\n);\n\nexport const closeModuloRelatedTabs = createAction(\n '[Ngrx/Navigation] Close Modulo Related Tabs'\n);\n\nexport const navigateToFirstTab = createAction(\n '[Ngrx/Navigation] Navigate to first available Tab'\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport { NAVIGATION_FEATURE_KEY, NavigationState } from './navigation.reducer';\n\nconst getState = createFeatureSelector(NAVIGATION_FEATURE_KEY);\n\nexport const getTabs = createSelector(getState, (s) => s.routes);\n\nexport const getActiveTab = createSelector(getTabs, (tabs) =>\n tabs.find((t) => t.tabActive)\n);\n","import { Injectable } from '@angular/core';\nimport { filterNullish, NavigationFacadeInterface } from '@ideapa/app-common';\nimport { select, Store } from '@ngrx/store';\n\nimport { AppNavigationConfig } from '../app-navigation-config';\nimport * as Actions from './navigation.actions';\nimport { NavigationPartialState } from './navigation.reducer';\nimport * as Selectors from './navigation.selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavigationFacade implements NavigationFacadeInterface {\n tabs$ = this.store.pipe(select(Selectors.getTabs));\n\n activeTab$ = this.store.pipe(select(Selectors.getActiveTab), filterNullish());\n\n constructor(\n private store: Store,\n private config: AppNavigationConfig\n ) {\n this.init();\n }\n\n init() {\n this.store.dispatch(Actions.init({ items: this.config.routes }));\n }\n\n /**\n * Use the initialization action to perform one\n * or more tasks in your Effects.\n */\n navigate(path: string) {\n this.store.dispatch(Actions.navigate({ path }));\n }\n\n navigateToFirstAvailableTab() {\n this.store.dispatch(Actions.navigateToFirstTab());\n }\n\n showTab(path: string) {\n this.store.dispatch(Actions.showTab({ path }));\n }\n\n manualCloseTab(path: string) {\n this.store.dispatch(Actions.manualClose({ path }));\n }\n\n closeTab(path: string) {\n this.store.dispatch(Actions.closeTab({ path }));\n }\n\n closeEnteAnnoRelatedTabs() {\n this.store.dispatch(Actions.closeEnteAnnoRelatedTabs());\n }\n\n closeModuloRelatedTabs() {\n this.store.dispatch(Actions.closeModuloRelatedTabs());\n }\n}\n","import { cloneDeep } from 'lodash';\n\nimport { ExtendedRoute } from '@ideapa/app-common';\nimport { createReducer, on } from '@ngrx/store';\n\nimport * as Actions from './navigation.actions';\n\nexport const NAVIGATION_FEATURE_KEY = 'navigation';\n\nexport interface NavigationPartialState {\n readonly [NAVIGATION_FEATURE_KEY]: NavigationState;\n}\n\nexport interface NavigationState {\n routes: ExtendedRoute[];\n}\n\nconst initialState: NavigationState = {\n routes: [],\n};\n\nexport const reducer = createReducer(\n initialState,\n on(Actions.init, (state, { items }) => {\n return {\n ...state,\n routes: items,\n };\n }),\n on(Actions.showTab, (state, { path }) => {\n return {\n ...state,\n routes: setVisibility(state.routes, path, true),\n };\n }),\n on(Actions.closeTab, (state, { path }) => {\n return {\n ...state,\n routes: setVisibility(state.routes, path, false),\n };\n })\n // on(Actions.closeModuloRelatedTabs, (state) => {\n // return {\n // ...state,\n // routes: closeModuloTabs(state.routes),\n // };\n // }),\n // on(Actions.closeEnteAnnoRelatedTabs, (state) => {\n // return {\n // ...state,\n // routes: closeEnteTabs(state.routes),\n // };\n // })\n);\n\nconst closeModuloTabs = (routes: ExtendedRoute[]) => {\n const tabsToClose = routes\n .filter((t) => t.tabOpened && t.modulo)\n .map((t) => t.path);\n return closeMultipleTabs(routes, tabsToClose);\n};\n\nconst closeEnteTabs = (routes: ExtendedRoute[]) => {\n const tabsToClose = routes\n .filter((t) => t.tabOpened && t.ente)\n .map((t) => t.path);\n return closeMultipleTabs(routes, tabsToClose);\n};\n\nconst setVisibility = (\n routes: ExtendedRoute[],\n path: string,\n visible: boolean\n) => {\n let tabs = cloneDeep(routes);\n\n path = path.startsWith('/') ? path.substring(1) : path;\n const slashIndex = path.indexOf('/');\n if (slashIndex >= 0) {\n path = path.substring(0, slashIndex);\n }\n const tabIndex = tabs.findIndex(\n (t) => t.path.toLowerCase() === path.toLowerCase()\n );\n\n if (tabIndex >= 0) {\n if (tabs[tabIndex].tabOpened !== visible) {\n const positions: number[] = tabs\n .filter((t) => t.tabOpened)\n .map((t) => t.tabPosition || 0);\n\n if (positions.length) {\n tabs[tabIndex].tabPosition =\n !tabs[tabIndex].tabPosition && visible\n ? Math.max(...positions) + 1\n : undefined;\n } else {\n tabs[tabIndex].tabPosition = 1;\n }\n }\n tabs[tabIndex].tabOpened = visible;\n }\n\n if (visible) {\n tabs = tabs.map((t, i) =>\n i === tabIndex ? { ...t, tabActive: true } : { ...t, tabActive: false }\n );\n }\n return tabs;\n};\n\nconst closeMultipleTabs = (routes: ExtendedRoute[], tabsToClose: string[]) => {\n let tabs = routes;\n for (let i = 0; i < tabsToClose.length; i++) {\n tabs = setVisibility(tabs, tabsToClose[i], false);\n }\n return tabs;\n};\n","import { ExtendedRoute } from '../../../common/src/lib/extended.route';\n\nexport class AppNavigationConfig {\n routes!: ExtendedRoute[];\n}\n","import { tap, withLatestFrom } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { resetStateAction } from '@ideapa/app-common';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { routerNavigatedAction } from '@ngrx/router-store';\nimport { Store } from '@ngrx/store';\n\nimport * as NavigationActions from './navigation.actions';\nimport { NavigationFacade } from './navigation.facade';\n\n@Injectable()\nexport class NavigationEffects {\n constructor(\n private actions$: Actions,\n private facade: NavigationFacade,\n private store: Store,\n private routerFacade: RouterFacade\n ) {}\n\n closeTab$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(NavigationActions.closeTab),\n withLatestFrom(this.facade.tabs$),\n tap(([action, tabs]) => {\n this.store.dispatch(resetStateAction({ entity: action.path }));\n\n if (action.navigate) {\n this.store.dispatch(NavigationActions.navigateToFirstTab());\n }\n })\n ),\n { dispatch: false }\n );\n\n navigateToFirstAvailableTab$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(NavigationActions.navigateToFirstTab),\n withLatestFrom(this.facade.tabs$),\n tap(([action, tabs]) => {\n const firstOpenedTabPath = tabs.find((t) => t.tabOpened)?.path;\n this.routerFacade.navigateRelative(\n [firstOpenedTabPath || ''],\n false,\n null\n );\n })\n ),\n { dispatch: false }\n );\n\n closeModuloRelatedTabs$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(NavigationActions.closeModuloRelatedTabs),\n withLatestFrom(this.facade.tabs$),\n tap(([action, tabs]) => {\n const tabsToClose = tabs\n .filter((t) => t.tabOpened && t.modulo)\n .map((t) => t.path);\n\n tabsToClose.forEach((element) => {\n // console.log(`closeModuloRelatedTabs tabsToClose: `, element);\n this.store.dispatch(\n NavigationActions.closeTab({ path: element, navigate: false })\n );\n });\n\n this.store.dispatch(NavigationActions.navigateToFirstTab());\n })\n ),\n { dispatch: false }\n );\n\n closeEnteAnnoRelatedTabs$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(NavigationActions.closeEnteAnnoRelatedTabs),\n withLatestFrom(this.facade.tabs$),\n tap(([action, tabs]) => {\n const tabsToClose = tabs\n .filter((t) => t.tabOpened && (t.ente || t.anno))\n .map((t) => t.path);\n\n tabsToClose.forEach((element) => {\n console.log(`closeEnteAnnoRelatedTabs tabsToClose: `, element);\n this.store.dispatch(\n NavigationActions.closeTab({ path: element, navigate: false })\n );\n });\n\n this.store.dispatch(NavigationActions.navigateToFirstTab());\n })\n ),\n { dispatch: false }\n );\n\n navigate$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(routerNavigatedAction),\n // withLatestFrom(this.facade.tabs$),\n tap((action) => {\n this.facade.showTab(action.payload.routerState.url);\n })\n ),\n { dispatch: false }\n );\n\n // apiError$ = createEffect(\n // () =>\n // this.actions$.pipe(\n // ofType(ErrorActions.addApiErrorMsg),\n // tap((action) => {\n // if (action.errorMessage) {\n // this.toastService.errorFeedback(action.errorMessage);\n // }\n // console.error(action.errorMessage);\n // })\n // ),\n // { dispatch: false }\n // );\n\n // error$ = createEffect(\n // () =>\n // this.actions$.pipe(\n // ofType(ErrorActions.addError),\n // tap((action) => {\n // console.error('Errore imprevisto:', action.error);\n // })\n // ),\n // { dispatch: false }\n // );\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { NavigationEffects } from './+state/navigation.effects';\nimport { NAVIGATION_FEATURE_KEY, reducer } from './+state/navigation.reducer';\nimport { AppNavigationConfig } from './app-navigation-config';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(NAVIGATION_FEATURE_KEY, reducer),\n EffectsModule.forFeature([NavigationEffects]),\n ],\n})\nexport class AppNavigationModule {\n constructor(\n @Optional()\n @SkipSelf()\n parentModule: AppNavigationModule\n ) {\n if (parentModule) {\n throw new Error(\n 'AppNavigationModule is already loaded. Import only in AppModule'\n );\n }\n }\n\n static forRoot(\n config: AppNavigationConfig\n ): ModuleWithProviders {\n return {\n ngModule: AppNavigationModule,\n providers: [\n {\n provide: AppNavigationConfig,\n useValue: config,\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\n\n@Injectable()\nexport class LoaderEffects {\n constructor(private actions$: Actions) {}\n\n // showLoader$ = createEffect(() =>\n // this.actions$.pipe(\n // ofType(LoaderActions.showLoader),\n // filter((action) => action.payload && action.payload.showLoader),\n // map((action) => LoaderActions.showLoader(action))\n // )\n // );\n\n // hideLoader$ = createEffect(() =>\n // this.actions$.pipe(\n // ofType(LoaderActions.hideLoader),\n // filter((action) => action && !!action.payload.triggerAction),\n // map((action) => LoaderActions.hideLoader(action))\n // )\n // );\n}\n","import { createAction, props } from '@ngrx/store';\n\nexport const showLoader = createAction(\n '[Ngrx/Loader] Show Loader',\n props<{ actionType: string }>()\n);\nexport const hideLoader = createAction(\n '[Ngrx/Loader] Hide Loader',\n props<{ actionType: string }>()\n);\nexport const forceHideLoader = createAction('[Ngrx/Loader] Force Hide Loader');\n","import { createReducer, on } from '@ngrx/store';\nimport * as LoaderActions from './ngrx-loader.actions';\n\nexport const LOADER_FEATURE_KEY = 'loader';\n\nexport interface NgrxLoaderPartialState {\n readonly [LOADER_FEATURE_KEY]: LoaderState;\n}\n\nexport interface LoaderState {\n active: number;\n actionsInProgress: string[];\n}\n\nconst initialState: LoaderState = {\n active: 0,\n actionsInProgress: [],\n};\n\nexport const reducer = createReducer(\n initialState,\n on(LoaderActions.showLoader, (state, { actionType }) => {\n const isActionAlreadyInProgress = state.actionsInProgress.filter(\n (currentAction) => currentAction === actionType\n ).length;\n // If the action in already in progress and is registered\n // we don't modify the state\n if (isActionAlreadyInProgress) {\n return state;\n }\n // Adding the action type in our actionsInProgress array\n const newActionsInProgress = [...state.actionsInProgress, actionType];\n\n return {\n active: newActionsInProgress.length,\n actionsInProgress: newActionsInProgress,\n };\n }),\n on(LoaderActions.hideLoader, (state, { actionType }) => {\n // We remove trigger action from actionsInProgress array\n const newActionsInProgress = actionType\n ? state.actionsInProgress.filter(\n (currentAction) => currentAction !== actionType\n )\n : state.actionsInProgress;\n\n return {\n actionsInProgress: newActionsInProgress,\n active: state.active > 0 ? newActionsInProgress.length : 0,\n };\n }),\n on(LoaderActions.forceHideLoader, () => {\n const newActionsInProgress: string[] = [];\n\n return {\n actionsInProgress: newActionsInProgress,\n active: 0,\n };\n })\n);\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { LoaderEffects } from './+state/ngrx-loader.effects';\nimport * as fromLoader from './+state/ngrx-loader.reducer';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(fromLoader.LOADER_FEATURE_KEY, fromLoader.reducer),\n EffectsModule.forFeature([LoaderEffects]),\n ],\n})\nexport class AppNgrxLoaderModule {}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { LoaderState, LOADER_FEATURE_KEY } from './ngrx-loader.reducer';\n\nconst getLoaderState = createFeatureSelector(LOADER_FEATURE_KEY);\n\nexport const isLoaderVisible = createSelector(\n getLoaderState,\n (state: LoaderState) => state.active > 0\n);\n","import { Injectable } from '@angular/core';\nimport { LoaderFacadeInterface } from '@ideapa/app-common';\nimport { Action, select, Store } from '@ngrx/store';\n\nimport * as LoaderActions from './ngrx-loader.actions';\nimport { NgrxLoaderPartialState } from './ngrx-loader.reducer';\nimport { isLoaderVisible } from './ngrx-loader.selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgrxLoaderFacade implements LoaderFacadeInterface {\n isLoaderVisible$ = this.store.pipe(select(isLoaderVisible));\n\n constructor(private store: Store) {}\n\n /**\n * Use the initialization action to perform one\n * or more tasks in your Effects.\n */\n showLoader(action: Action) {\n this.store.dispatch(LoaderActions.showLoader({ actionType: action.type }));\n }\n\n hideLoader(triggerAction: Action) {\n this.store.dispatch(\n LoaderActions.hideLoader({ actionType: triggerAction.type })\n );\n }\n\n forceHideLoader() {\n this.store.dispatch(LoaderActions.forceHideLoader());\n }\n}\n","export const ADD_MODE_PARAM = 'addMode';\nexport const VIEW_MODE_PARAM = 'viewMode';\nexport const FIND_MODE_PARAM = 'findMode';\nexport const EDIT_MODE_PARAM = 'editMode';\nexport const MODAL_LIST_MODE_PARAM = 'modalListMode';\n","import { v4 as uuidv4 } from 'uuid';\n\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ADD_MODE_PARAM, EDIT_MODE_PARAM, FIND_MODE_PARAM } from './constants';\n\n@Component({\n template: `\n
\n

{{ title }}

\n\n \n
\n
\n \n
\n `,\n styles: [\n `\n :host {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .modal-body {\n flex-grow: 1;\n }\n `,\n ],\n})\nexport class ModalWrapperComponent implements OnInit, OnDestroy {\n @Input() entity!: string;\n\n @Input()\n mode!: string;\n\n @Input() id?: number;\n\n @Input()\n title?: string;\n\n @Input()\n queryParams?: string;\n\n sanitizedUrl!: SafeResourceUrl;\n\n private bc?: BroadcastChannel;\n\n constructor(\n private sanitizer: DomSanitizer,\n public activeModal: NgbActiveModal\n ) {}\n\n ngOnInit(): void {\n if (!this.entity || !this.mode) throw new Error('mandatory data missing');\n\n if (!this.title) {\n const entityDisplayName = this.entity.replaceAll('-', ' ');\n this.title = this.getTitle(entityDisplayName);\n }\n\n this.loadIFrame();\n }\n\n ngOnDestroy(): void {\n this.bc?.close();\n }\n\n loadIFrame() {\n const channelName = uuidv4();\n const url =\n window.location.origin +\n '/modal/' +\n this.entity +\n (this.id != null ? '/' + this.id : '') +\n `?${this.mode}=${channelName}${\n this.queryParams ? '&' + this.queryParams : ''\n }`;\n\n this.sanitizedUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\n\n this.bc = new BroadcastChannel(channelName);\n this.bc.onmessage = (ev) => {\n // console.log('received msg item added', ev.data);\n if (\n this.mode === EDIT_MODE_PARAM ||\n this.mode === ADD_MODE_PARAM ||\n this.mode === FIND_MODE_PARAM\n ) {\n this.bc?.close();\n this.activeModal.close(ev.data);\n }\n };\n }\n\n private getTitle(entityDisplayName: string) {\n return this.id != null\n ? this.id != 0\n ? (this.mode === EDIT_MODE_PARAM ? 'Modifica ' : 'Visualizza ') +\n entityDisplayName\n : 'Aggiungi ' + entityDisplayName\n : 'Ricerca ' + entityDisplayName;\n }\n}\n","import { RouterReducerState } from '@ngrx/router-store';\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport {\n ADD_MODE_PARAM,\n EDIT_MODE_PARAM,\n FIND_MODE_PARAM,\n MODAL_LIST_MODE_PARAM,\n VIEW_MODE_PARAM,\n} from '../constants';\nimport { RouterStateUrl } from '../router.interfaces';\n\nexport const selectRouterState =\n createFeatureSelector>('router');\n\nexport const getRouterInfo = createSelector(\n selectRouterState,\n (state) => state?.state\n);\n\nexport const selectQueryParams = createSelector(\n getRouterInfo,\n (r) => r.queryParams\n);\n\nexport const channelId = createSelector(\n selectQueryParams,\n (params) =>\n (params[ADD_MODE_PARAM] ||\n params[VIEW_MODE_PARAM] ||\n params[FIND_MODE_PARAM] ||\n params[EDIT_MODE_PARAM] ||\n params[MODAL_LIST_MODE_PARAM]) as string | undefined\n);\n\nexport const isViewOnlyMode = createSelector(\n selectQueryParams,\n (params) => !!params[VIEW_MODE_PARAM]\n);\n\nexport const isFindMode = createSelector(\n selectQueryParams,\n (params) => !!params[FIND_MODE_PARAM]\n);\n\nexport const isAddMode = createSelector(\n selectQueryParams,\n (params) => !!params[ADD_MODE_PARAM]\n);\n\nexport const isEditMode = createSelector(\n selectQueryParams,\n (params) => !!params[EDIT_MODE_PARAM]\n);\n\nexport const isModalListMode = createSelector(\n selectQueryParams,\n (params) => !!params[MODAL_LIST_MODE_PARAM]\n);\n","/* eslint-disable no-empty */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RouterFacadeInterface } from '@ideapa/app-common';\nimport { BaseDto } from '@ideapa/common-dto';\nimport { FilterValue } from '@ideapa/common-interfaces';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { select, Store } from '@ngrx/store';\nimport {\n ADD_MODE_PARAM,\n EDIT_MODE_PARAM,\n FIND_MODE_PARAM,\n MODAL_LIST_MODE_PARAM,\n VIEW_MODE_PARAM,\n} from '../constants';\nimport { ModalWrapperComponent } from '../modal-wrapper.component';\nimport * as RouterSelectors from './selectors';\n\n@Injectable({ providedIn: 'root' })\nexport class RouterFacade implements RouterFacadeInterface {\n isViewOnlyMode$ = this.store.pipe(select(RouterSelectors.isViewOnlyMode));\n isFindMode$ = this.store.pipe(select(RouterSelectors.isFindMode));\n isAddMode$ = this.store.pipe(select(RouterSelectors.isAddMode));\n isEditMode$ = this.store.pipe(select(RouterSelectors.isEditMode));\n isModalListMode$ = this.store.pipe(select(RouterSelectors.isModalListMode));\n channelId$ = this.store.pipe(select(RouterSelectors.channelId));\n\n constructor(\n private router: Router,\n private modalService: NgbModal,\n private store: Store\n ) {}\n\n /**\n *\n * @param commands\n * @param replaceUrl\n * @param relativeTo null = absolute, undefined = relative to current route\n */\n navigateRelative(\n commands: any[],\n replaceUrl = false,\n relativeTo?: ActivatedRoute | null\n ): void {\n this.router.navigate(commands, {\n relativeTo:\n relativeTo === undefined ? this.getCurrentRoute() : relativeTo,\n queryParamsHandling: 'preserve',\n replaceUrl,\n });\n }\n\n private getCurrentRoute() {\n let route = this.router.routerState.root;\n while (route.firstChild) {\n route = route.firstChild;\n }\n\n return route;\n }\n\n // isAddMode(route?: ActivatedRouteSnapshot) {\n // route = route ?? this.getCurrentRoute().snapshot;\n // return !!route.queryParams[ADD_MODE_PARAM];\n // }\n\n // isModalListMode(route?: ActivatedRouteSnapshot) {\n // route = route ?? this.getCurrentRoute().snapshot;\n // return !!route.queryParams[MODAL_LIST_MODE_PARAM];\n // }\n\n // isViewOnlyMode(route?: ActivatedRouteSnapshot) {\n // route = route ?? this.getCurrentRoute().snapshot;\n // return !!route.queryParams[VIEW_MODE_PARAM];\n // }\n\n // isFindMode(route?: ActivatedRouteSnapshot) {\n // route = route ?? this.getCurrentRoute().snapshot;\n // return !!route.queryParams[FIND_MODE_PARAM];\n // }\n\n // isEditMode(route?: ActivatedRouteSnapshot) {\n // route = route ?? this.getCurrentRoute().snapshot;\n // return !!route.queryParams[EDIT_MODE_PARAM];\n // }\n\n notifySelectedItemToOpener(item: BaseDto, channelId?: string) {\n if (channelId) {\n const bc = new BroadcastChannel(channelId);\n bc.postMessage(item);\n }\n }\n\n notifyDeletedItemToOpener(id: number, channelId: string) {\n if (channelId) {\n const bc = new BroadcastChannel(channelId);\n bc.postMessage({ id });\n }\n }\n\n addNewEntity(entity: string, queryParams?: string, customTitle?: string) {\n return this.openModal(ADD_MODE_PARAM, entity, 0, queryParams, customTitle);\n }\n\n editEntityDetail(\n entity: string,\n id: number,\n queryParams?: string,\n customTitle?: string\n ) {\n return this.openModal(\n EDIT_MODE_PARAM,\n entity,\n id,\n queryParams,\n customTitle\n );\n }\n\n openEntityDetail(\n entity: string,\n id: number,\n edit: boolean,\n queryParams?: string,\n customTitle?: string\n ) {\n return this.openModal(\n edit ? EDIT_MODE_PARAM : VIEW_MODE_PARAM,\n entity,\n id,\n queryParams,\n customTitle\n );\n }\n\n searchEntity(\n entity: string,\n filters?: FilterValue[],\n areDomainUserFiltersDisabled?: boolean,\n isEntitySelectionLimited?: boolean,\n areEnteAnnoFiltersDisabled?: boolean\n ) {\n let queryParams = '';\n\n if (filters) {\n queryParams = queryParams + 'filters=' + btoa(JSON.stringify(filters));\n }\n\n if (areDomainUserFiltersDisabled) {\n queryParams =\n queryParams +\n '&areDomainUserFiltersDisabled=' +\n btoa(JSON.stringify(areDomainUserFiltersDisabled));\n }\n\n if (isEntitySelectionLimited) {\n queryParams =\n queryParams +\n '&isEntitySelectionLimited=' +\n btoa(JSON.stringify(isEntitySelectionLimited));\n }\n\n if (areEnteAnnoFiltersDisabled) {\n queryParams =\n queryParams +\n '&areEnteAnnoFiltersDisabled=' +\n btoa(JSON.stringify(areEnteAnnoFiltersDisabled));\n }\n\n return this.openModal(FIND_MODE_PARAM, entity, undefined, queryParams);\n }\n\n openEntityList(\n entity: string,\n param?: T,\n filters?: FilterValue[],\n title?: string,\n fullscreen = false\n ) {\n const filtersQp = filters ? 'filters=' + btoa(JSON.stringify(filters)) : '';\n\n const entityQp = param ? 'param=' + btoa(JSON.stringify(param)) : '';\n\n return this.openModal(\n MODAL_LIST_MODE_PARAM,\n entity,\n undefined,\n [filtersQp, entityQp].join('&'),\n title,\n fullscreen ? 'fullscreen-modal' : ''\n );\n }\n\n async viewEntityDetail(entity: string, id: number, customTitle?: string) {\n try {\n await this.openModal(VIEW_MODE_PARAM, entity, id, undefined, customTitle);\n } catch {}\n }\n\n private openModal(\n modeParam: string,\n entity: string,\n id?: number,\n queryParams?: string,\n customTitle?: string,\n customClass?: string\n ) {\n // return new Promise((resolve, reject) => {\n\n const modal = this.modalService.open(ModalWrapperComponent, {\n size: 'xl',\n windowClass: 'iframe-modal',\n backdrop: 'static',\n centered: true,\n modalDialogClass: customClass,\n });\n\n const modalInstance = modal.componentInstance as ModalWrapperComponent;\n\n modalInstance.entity = entity;\n modalInstance.queryParams = queryParams;\n modalInstance.id = id;\n modalInstance.mode = modeParam;\n modalInstance.title = customTitle;\n\n // const w = window.open('_blank');\n\n return modal.result as Promise;\n // .then((ev) => {\n // resolve(ev.data);\n // })\n // .catch(() => reject('closed'));\n\n // if (w == null) {\n // reject('cannot open popup');\n // } else {\n // const loop = setInterval(() => {\n // if (w.closed) {\n // clearInterval(loop);\n // bc.close();\n // reject('closed');\n // }\n // }, 500);\n // const bc = new BroadcastChannel(channelName);\n // bc.onmessage = (ev) => {\n // console.log('received msg item added', ev.data);\n\n // clearInterval(loop);\n // w.close();\n // bc.close();\n\n // resolve(ev.data);\n // };\n // }\n // });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RouterStateSnapshot } from '@angular/router';\nimport { RouterStateSerializer } from '@ngrx/router-store';\nimport { RouterStateUrl } from './router.interfaces';\n\n@Injectable()\nexport class CustomSerializer implements RouterStateSerializer {\n serialize(routerState: RouterStateSnapshot): RouterStateUrl {\n let route = routerState.root;\n\n while (route.firstChild) {\n route = route.firstChild;\n }\n\n const {\n url,\n root: { queryParams },\n } = routerState;\n const { params } = route;\n\n return { url, params, queryParams };\n }\n}\n","import { Params } from '@angular/router';\nimport { RouterReducerState } from '@ngrx/router-store';\n\nexport const ngrxRouterFeatureKey = 'router';\n\nexport interface RouterStateUrl {\n url: string;\n params: Params;\n queryParams: Params;\n}\n\nexport interface RouterState {\n readonly [ngrxRouterFeatureKey]: RouterReducerState;\n}\n\n// export interface State {\n// routerReducer: RouterReducerState;\n// }\n\n// export const reducers: ActionReducerMap = {\n// routerReducer\n// };\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ROUTER_SERVICE_TOKEN } from '@ideapa/app-common';\nimport { AppUiKitModule } from '@ideapa/app-ui-kit';\nimport { routerReducer, StoreRouterConnectingModule } from '@ngrx/router-store';\nimport { StoreModule } from '@ngrx/store';\n\nimport { RouterFacade } from './+state/router.facade';\nimport { CustomSerializer } from './custom-serializer';\nimport { ModalWrapperComponent } from './modal-wrapper.component';\nimport { ngrxRouterFeatureKey } from './router.interfaces';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(ngrxRouterFeatureKey, routerReducer),\n StoreRouterConnectingModule.forRoot({\n stateKey: ngrxRouterFeatureKey,\n serializer: CustomSerializer,\n }),\n AppUiKitModule,\n ],\n declarations: [ModalWrapperComponent],\n providers: [\n {\n provide: ROUTER_SERVICE_TOKEN,\n useClass: RouterFacade,\n },\n ],\n})\nexport class AppRoutingUtilsModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'analisi-bilancio';\nexport const ENTITY_PLURAL = 'Analisi Bilancio';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { AnalisiBilancioApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { AnalisiBilancio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: AnalisiBilancioApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { AnalisiBilancio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { AnalisiBilancio as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { AnalisiBilancio } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedAnalisiBilancioModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { percentPrecision } from '@ideapa/common-utils';\n\nexport const ENTITY = 'attivita-partecipata';\nexport const ENTITY_PLURAL = 'Servizi Erogati';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Codice Ateco',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'ateco',\n },\n {\n elementLabel: '%',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'percentuale',\n precision: percentPrecision,\n },\n // {\n // elementLabel: 'Disabilitato',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'disabilita',\n // maxWidth: 100,\n // },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { AttivitaPartecipataApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { AttivitaPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: AttivitaPartecipataApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { AttivitaPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { AttivitaPartecipata as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { AttivitaPartecipata } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedAttivitaPartecipataModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bdap-cep';\nexport const ENTITY_PLURAL = 'BDAP';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BdapCepApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BdapCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BdapCepApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BdapCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BdapCep as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BdapCep } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBdapCepModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-consolidato-riga-dettaglio';\nexport const ENTITY_PLURAL = 'Bilancio Consolidato Dettaglio';\n\nexport const gridColumns: EntityListField[] = [];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioConsolidatoRigaDettaglioApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioConsolidatoRigaDettaglio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioConsolidatoRigaDettaglioApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioConsolidatoRigaDettaglio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioConsolidatoRigaDettaglio as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioConsolidatoRigaDettaglio } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioConsolidatoRigaDettaglioModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-consolidato-riga';\nexport const ENTITY_PLURAL = 'BilancioConsolidatoRiga plurale';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioConsolidatoRigaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioConsolidatoRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioConsolidatoRigaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioConsolidatoRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioConsolidatoRiga as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioConsolidatoRiga } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioConsolidatoRigaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-consolidato';\nexport const ENTITY_PLURAL = 'Bilancio Consolidato';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Ente',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'ente.descrizione',\n },\n {\n elementLabel: 'Esercizio',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'esercizio',\n },\n {\n elementLabel: 'Risultato di Esercizio CE',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'risultatoEsercizioCE',\n minWidth: 160,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Risultato di Esercizio SPP',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'risultatoEsercizioSPP',\n minWidth: 160,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Totale Attivo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'totaleAttivo',\n minWidth: 160,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Totale Passivo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'totalePassivo',\n minWidth: 160,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Chiuso',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'chiuso',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioConsolidatoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioConsolidato as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioConsolidatoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioConsolidato as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioConsolidato as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioConsolidato } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioConsolidatoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-ente-riga';\nexport const ENTITY_PLURAL = 'Righe Bilancio Ente';\n\nexport const gridColumns: EntityListField[] = [\n // {\n // elementLabel: 'Ord',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'ordinamento',\n // sortable: false,\n // minWidth: 110,\n // maxWidth: 110,\n // },\n {\n elementLabel: 'Lettera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'lettera',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif1',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif2',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 3',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif3',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 4',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif4',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n sortable: false,\n minWidth: 200,\n },\n {\n elementLabel: 'Importo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importo',\n sortable: false,\n minWidth: 160,\n maxWidth: 220,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Importo Anno Prec.',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importoAnnoPrecedente',\n sortable: false,\n minWidth: 160,\n maxWidth: 220,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioEnteRigaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioEnteRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioEnteRigaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioEnteRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioEnteRiga as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioEnteRiga } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioEnteRigaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-ente';\nexport const ENTITY_PLURAL = 'Bilancio Ente';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n // hideFilter: true,\n },\n {\n elementLabel: 'Utilizzato per consolidamento',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'utilizza',\n minWidth: 300,\n maxWidth: 320,\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioEnteApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioEnte as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioEnteApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioEnte as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioEnte as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioEnte } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioEnteModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-partecipata-riga';\nexport const ENTITY_PLURAL = 'BilancioPartecipataRiga plurale';\n\nexport const gridColumns: EntityListField[] = [\n // {\n // elementLabel: 'Ord',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'ordinamento',\n // sortable: false,\n // minWidth: 110,\n // maxWidth: 110,\n // },\n {\n elementLabel: 'Lettera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'lettera',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif1',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif2',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 3',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif3',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 4',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif4',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n sortable: false,\n minWidth: 160,\n },\n {\n elementLabel: 'Importo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importo',\n sortable: false,\n minWidth: 160,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Importo Anno Prec.',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importoAnnoPrecedente',\n sortable: false,\n minWidth: 160,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioPartecipataRigaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioPartecipataRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioPartecipataRigaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioPartecipataRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioPartecipataRiga as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioPartecipataRiga } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioPartecipataRigaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'bilancio-partecipata';\nexport const ENTITY_PLURAL = 'Bilancio Partecipata';\nexport const gridColumns: EntityListField[] = [\n // {\n // elementLabel: 'Esercizio',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'esercizio',\n // sort: 'desc',\n // },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n minWidth: 160,\n },\n {\n elementLabel: 'Approvato',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'approvato',\n minWidth: 100,\n maxWidth: 100,\n },\n {\n elementLabel: 'Estremi Delibera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'estremiDelibera',\n },\n {\n elementLabel: 'Provvisorio',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'provvisorio',\n minWidth: 120,\n maxWidth: 120,\n },\n {\n elementLabel: 'Utilizzato per consolidamento/analisi',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'utilizza',\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BilancioPartecipataApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { BilancioPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: BilancioPartecipataApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { BilancioPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { BilancioPartecipata as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { BilancioPartecipata } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedBilancioPartecipataModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'cancellazioni-cep';\nexport const ENTITY_PLURAL = 'Cancellazioni';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { CancellazioniCepApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { CancellazioniCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: CancellazioniCepApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { CancellazioniCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { CancellazioniCep as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { CancellazioniCep } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedCancellazioniCepModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'cancellazioni-partecipo';\nexport const ENTITY_PLURAL = 'Cancellazioni';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { CancellazioniPartecipoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { CancellazioniPartecipo as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: CancellazioniPartecipoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { CancellazioniPartecipo as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { CancellazioniPartecipo as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { CancellazioniPartecipo } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedCancellazioniPartecipoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'chiusura-ripristino-consolidato';\nexport const ENTITY_PLURAL = 'Chiusura/Ripristino Consolidato';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ChiusuraRipristinoConsolidatoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ChiusuraRipristinoConsolidato as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ChiusuraRipristinoConsolidatoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ChiusuraRipristinoConsolidato as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ChiusuraRipristinoConsolidato as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ChiusuraRipristinoConsolidato } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedChiusuraRipristinoConsolidatoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'chiusura-ripristino-esercizio';\nexport const ENTITY_PLURAL = 'Chiusura/Ripristino Esercizio';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ChiusuraRipristinoEsercizioApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ChiusuraRipristinoEsercizio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ChiusuraRipristinoEsercizioApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ChiusuraRipristinoEsercizio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ChiusuraRipristinoEsercizio as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ChiusuraRipristinoEsercizio } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedChiusuraRipristinoEsercizioModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\n// import { TipologiaRegistrazioneDto } from '@ideapa/common-dto';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { Cr, Es, StatoRecord } from '@ideapa/common-utils';\n\nexport const ENTITY = 'cofi';\nexport const ENTITY_PLURAL = 'Importazione dati Co.fi.';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice Tipologia',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipologia.codice',\n initialHideColumn: true,\n hideFilter: true,\n exportHideColumn: true,\n },\n {\n elementLabel: 'ES',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'es',\n elementValues: Es,\n maxWidth: 70,\n },\n {\n elementLabel: 'Data',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataOperazione',\n minWidth: 100,\n },\n {\n elementLabel: 'Piano Finanziario',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoFinanziario.codice',\n },\n {\n elementLabel: 'N. Operazione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'numeroOperazione',\n minWidth: 120,\n maxWidth: 120,\n },\n {\n elementLabel: 'Capitolo',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'capitolo',\n minWidth: 120,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Importo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importo',\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'C/R',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'swCr',\n elementValues: Cr,\n initialHideColumn: true,\n maxWidth: 70,\n },\n {\n elementLabel: 'Programma',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'programma.descrizione',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Rate',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swRate',\n initialHideColumn: true,\n maxWidth: 70,\n },\n {\n elementLabel: 'Stato',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'stato',\n initialHideColumn: true,\n elementValues: StatoRecord,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { CofiApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Cofi as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: CofiApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Cofi as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Cofi as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Cofi } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedCofiModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { percentPrecision, TipoSocio } from '@ideapa/common-utils';\n\nexport const ENTITY = 'compagine-sociale';\n\nexport const ENTITY_PLURAL = 'Compagini Sociali';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'tipo',\n elementValues: TipoSocio,\n },\n {\n elementLabel: '% Possesso',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'quota',\n contentAlignment: ContentAlignmentEnum.Right,\n precision: percentPrecision,\n maxWidth: 175,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { CompagineSocialeApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { CompagineSociale as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: CompagineSocialeApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { CompagineSociale as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { CompagineSociale as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { CompagineSociale } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedCompagineSocialeModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { TipoConto } from '@ideapa/common-utils';\n\nexport const ENTITY = 'conti-non-raccordati';\nexport const ENTITY_PLURAL = 'Conti non raccordati';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Tipo',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'tipo',\n elementValues: TipoConto,\n sortable: true,\n },\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n },\n\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ContiNonRaccordatiApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ContiNonRaccordati as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ContiNonRaccordatiApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ContiNonRaccordati as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ContiNonRaccordati as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ContiNonRaccordati } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedContiNonRaccordatiModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'conto-economico-anno-precedente';\nexport const ENTITY_PLURAL = 'CE Anno Precedente';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Lettera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.lettera',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif1',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif2',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif. 3',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif3',\n sortable: false,\n minWidth: 80,\n maxWidth: 80,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.descrizione',\n sortable: false,\n minWidth: 200,\n },\n {\n elementLabel: 'Importo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importo',\n sortable: false,\n minWidth: 160,\n maxWidth: 220,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n {\n elementLabel: 'Importo Anno Prec.',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'importoAnnoPrecedente',\n sortable: false,\n minWidth: 160,\n maxWidth: 220,\n contentAlignment: ContentAlignmentEnum.Right,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ContoEconomicoAnnoPrecedenteApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ContoEconomicoAnnoPrecedente as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ContoEconomicoAnnoPrecedenteApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ContoEconomicoAnnoPrecedente as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ContoEconomicoAnnoPrecedente as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ContoEconomicoAnnoPrecedente } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedContoEconomicoAnnoPrecedenteModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'controllo-costi-per-missione';\nexport const ENTITY_PLURAL = 'Controllo costi per missione';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice missione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'missione.codice',\n },\n {\n elementLabel: 'Descrizione missione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'missione.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Codice programma',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'programma.codice',\n },\n {\n elementLabel: 'Descrizione programma',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'programma.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Codice piano dei conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.codice',\n },\n {\n elementLabel: 'Descrizione piano dei conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n initialHideColumn: true,\n exportHideColumn: true,\n field: 'tipo',\n sortable: true,\n },\n {\n elementLabel: 'Movimenti Dare',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'totaleMovimentiDare',\n sortable: true,\n },\n {\n elementLabel: 'Movimenti Avere',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'totaleMovimentiAvere',\n sortable: true,\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ControlloCostiPerMissioneApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ControlloCostiPerMissione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ControlloCostiPerMissioneApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ControlloCostiPerMissione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ControlloCostiPerMissione as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ControlloCostiPerMissione } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedControlloCostiPerMissioneModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'controllo-saldi';\nexport const ENTITY_PLURAL = 'Controllo saldi';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Tipo conto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.tipo',\n },\n {\n elementLabel: 'Codice conto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.codice',\n },\n {\n elementLabel: 'Descrizione conto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Saldo Dare',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'saldoDare',\n sortable: true,\n },\n {\n elementLabel: 'Movimenti Dare',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'totaleMovimentiDare',\n sortable: true,\n },\n {\n elementLabel: 'saldo Avere',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'saldoAvere',\n sortable: true,\n },\n {\n elementLabel: 'Movimenti Avere',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'totaleMovimentiAvere',\n sortable: true,\n },\n {\n elementLabel: 'Saldo al 31/12',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'saldo31_12',\n sortable: true,\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ControlloSaldiApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ControlloSaldi as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ControlloSaldiApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ControlloSaldi as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ControlloSaldi as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ControlloSaldi } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedControlloSaldiModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'costi-per-missione';\nexport const ENTITY_PLURAL = 'Costi Per Missione';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { CostiPerMissioneApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { CostiPerMissione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: CostiPerMissioneApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { CostiPerMissione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { CostiPerMissione as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { CostiPerMissione } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedCostiPerMissioneModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\n\nexport const ENTITY = 'definizione-gap-perimetro';\nexport const ENTITY_PLURAL = 'Definizione Gap Perimetro';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { GapApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { DefinizioneGapPerimetro as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: GapApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { DefinizioneGapPerimetro as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { DefinizioneGapPerimetro as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { DefinizioneGapPerimetro } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedDefinizioneGapPerimetroModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'documento-partecipata';\n\nexport const ENTITY_PLURAL = 'Documenti';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Tipo Documento',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipologiaDocumento.descrizione',\n },\n {\n elementLabel: 'File',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'filename',\n },\n {\n elementLabel: 'Oggetto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'oggetto',\n },\n {\n elementLabel: 'Valido dal',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'validoDal',\n },\n {\n elementLabel: 'Valido al',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'validoAl',\n },\n {\n elementLabel: 'Data Documento',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataDocumento',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { DocumentoPartecipataApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { DocumentoPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: DocumentoPartecipataApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { DocumentoPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { DocumentoPartecipata as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { DocumentoPartecipata } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedDocumentoPartecipataModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'ente';\nexport const ENTITY_PLURAL = 'enti';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Codice Bdap',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codBdap',\n minWidth: 250,\n maxWidth: 260,\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Ente } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter({\n selectId: (item) => item.id,\n});\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState)\n);\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Ente as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { EnteApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Ente } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: EnteApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Ente } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedEnteModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { percentPrecision, TipologiaSoggettoGap } from '@ideapa/common-utils';\n\nexport const ENTITY = 'gap';\n\nexport const ENTITY_PLURAL = 'Gap';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Ragione Sociale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'partecipataEnte.partecipata.ragioneSociale',\n },\n {\n elementLabel: 'Tipologia Partecipazione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'partecipataEnte.tipologiaPartecipazione.descrizione',\n minWidth: 160,\n maxWidth: 200,\n },\n {\n elementLabel: 'Tipologia Soggetto',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'partecipataEnte.swControllata',\n elementValues: TipologiaSoggettoGap,\n minWidth: 140,\n maxWidth: 160,\n },\n {\n elementLabel: '% Partec.',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n precision: percentPrecision,\n field: 'partecipataEnte.percentualePossessoDiretta',\n contentAlignment: ContentAlignmentEnum.Right,\n minWidth: 110,\n maxWidth: 150,\n },\n {\n elementLabel: '% Partec. Totale',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n precision: percentPrecision,\n field: 'partecipataEnte.percentualePossessoTotale',\n contentAlignment: ContentAlignmentEnum.Right,\n minWidth: 110,\n maxWidth: 150,\n },\n {\n elementLabel: 'Motivo Inclusione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'motivoInclusione',\n },\n {\n elementLabel: 'Motivo Esclusione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'motivoEsclusione',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\n\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\n\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\n\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\n\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { GapApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Gap as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: GapApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Gap as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Gap as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Gap } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard extends BaseLoadAllGuard implements CanActivate {\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedGapModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'incarico-partecipata';\n\nexport const ENTITY_PLURAL = 'Incarichi Partecipata';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Collegio Sindacale / Organi Controllo',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'tipologiaIncarico.swCollegioSindacale',\n },\n {\n elementLabel: 'Incarico',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipologiaIncarico.descrizione',\n },\n {\n elementLabel: 'Cognome',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'cognome',\n },\n {\n elementLabel: 'Nome',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'nome',\n },\n {\n elementLabel: 'Disabilita',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'disabilita',\n maxWidth: 100,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { IncaricoPartecipataApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { IncaricoPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: IncaricoPartecipataApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { IncaricoPartecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { IncaricoPartecipata as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { IncaricoPartecipata } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedIncaricoPartecipataModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { Segno } from '@ideapa/common-utils';\n\nexport const ENTITY = 'matrice';\nexport const ENTITY_PLURAL = 'matrice';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice Piano Finanziario',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoFinanziario.codice',\n },\n {\n elementLabel: 'Piano Finanziario',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoFinanziario.descrizione',\n entityName: 'pianoFinanziario',\n },\n {\n elementLabel: 'Codice Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.codice',\n },\n {\n elementLabel: 'Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.descrizione',\n entityName: 'pianoConti',\n },\n {\n elementLabel: 'Segno',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'segno',\n elementValues: Segno,\n maxWidth: 100,\n },\n {\n elementLabel: 'Esercizio',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'esercizio',\n initialHideColumn: true,\n exportHideColumn: false,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Matrice as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Matrice as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { MatriceApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Matrice as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n private entityService: MatriceApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n entityService,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Matrice } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n SharedFacade,\n sharedSelectors,\n} from './+state';\nimport { EntityEffects } from './+state/effects';\nimport * as fromEntity from './+state/reducer';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedMatriceModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'missione';\nexport const ENTITY_PLURAL = 'missioni';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n sortable: true,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Missione } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter =\n createEntityAdapter({\n selectId: (item) => item.id,\n });\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState)\n);\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Missione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { MissioneApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Missione } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: MissioneApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Missione } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedMissioneModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { Segno, Soggetto } from '@ideapa/common-utils';\n\nexport const ENTITY = 'modello-contabile-riga';\n\nexport const ENTITY_PLURAL = 'Righe Modello';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Prospetto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.prospetto.descrizione',\n },\n // {\n // elementLabel: 'Descrizione Struttura',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'strutturaProspetto.descrizione',\n // },\n // {\n // elementLabel: 'Lettera',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'strutturaProspetto.lettera',\n // },\n // {\n // elementLabel: 'Rif 1',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'strutturaProspetto.rif1',\n // },\n // {\n // elementLabel: 'Rif 2',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'strutturaProspetto.rif2',\n // },\n // {\n // elementLabel: 'Rif 3',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'strutturaProspetto.rif3',\n // },\n {\n elementLabel: 'Descrizione Struttura',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.descrizioneJoined'\n },\n {\n elementLabel: 'Segno',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n elementValues: Segno,\n field: 'segno',\n },\n {\n elementLabel: 'Soggetto',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n elementValues: Soggetto,\n field: 'soggetto',\n },\n {\n elementLabel: 'Ente',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swCapogruppo',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ModelloContabileRigaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ModelloContabileRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ModelloContabileRigaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ModelloContabileRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ModelloContabileRiga as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ModelloContabileRiga } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedModelloContabileRigaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'modello-contabile';\n\nexport const ENTITY_PLURAL = 'Modelli Registrazione';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Preconsolidamento',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swPreconsolidamento',\n minWidth: 200,\n maxWidth: 200,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ModelloContabileApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ModelloContabile as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ModelloContabileApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\nimport { NgxPermissionsService } from 'ngx-permissions';\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ModelloContabile as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ModelloContabile as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from \"@angular/core\";\nimport { CanActivate } from \"@angular/router\";\nimport { BaseLoadAllGuard } from \"@ideapa/app-base-components\";\n\nimport { SharedFacade } from \"../+state/facade\";\nimport { ModelloContabile } from \"../+state/models\";\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedModelloContabileModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\n\nexport const ENTITY = 'modulo-ente';\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ModuloEnte as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ModuloEnte as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ModuloEnteApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ModuloEnte as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ModuloEnteApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ModuloEnte } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { SharedFacade, sharedSelectors } from './+state';\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport * as fromEntity from './+state/reducer';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedModuloEnteModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { ProspettoDto } from '@ideapa/common-dto';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'moltiplicatore';\nexport const ENTITY_PLURAL = 'moltiplicatori';\nexport const gridColumns: (prospetti: ProspettoDto[]) => EntityListField[] = (\n prospetti: ProspettoDto[]\n) => {\n return [\n {\n elementLabel: 'Prospetto',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'strutturaProspetto.prospetto.descrizione',\n sortable: true,\n sort: 'asc',\n elementValues: prospetti\n // .filter(\n // (p) => p.codice === '04' || p.codice === '05' || p.codice === '06'\n // )\n .sort((c1, c2) => {\n return c1.codice > c2.codice ? 1 : -1;\n })\n .map((p) => ({\n description: p.descrizione,\n value: p.descrizione,\n })),\n minWidth: 300,\n },\n {\n elementLabel: 'Lettera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.lettera',\n sortable: true,\n sort: 'asc',\n maxWidth: 100,\n },\n {\n elementLabel: 'Rif 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif1',\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif2',\n maxWidth: 80,\n },\n {\n elementLabel: 'Rif 3',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif3',\n maxWidth: 80,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Dare',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'moltiplicatoreDare',\n sortable: true,\n maxWidth: 80,\n },\n {\n elementLabel: 'Avere',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'moltiplicatoreAvere',\n sortable: true,\n maxWidth: 80,\n },\n ];\n};\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { MoltiplicatoreApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Moltiplicatore as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: MoltiplicatoreApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Moltiplicatore as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Moltiplicatore as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n false\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Moltiplicatore } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedMoltiplicatoreModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'nota-integrativa-cep';\nexport const ENTITY_PLURAL = 'Note Integrative';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Titolo',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'titoloDocumento',\n },\n {\n elementLabel: 'Data creazione',\n filterType: FilterType.datetime,\n fieldType: FieldType.datetime,\n field: 'createdDate',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { NotaIntegrativaCepApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { NotaIntegrativaCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: NotaIntegrativaCepApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { NotaIntegrativaCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { NotaIntegrativaCep as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { NotaIntegrativaCep } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedNotaIntegrativaCepModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'notifica';\n\nexport const ENTITY_PLURAL = 'Notifiche';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Data',\n filterType: FilterType.datetime,\n fieldType: FieldType.datetime,\n field: 'timestamp',\n sort: 'desc',\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipo',\n },\n {\n elementLabel: 'Stato',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'stato',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { NotificaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Notifica as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: NotificaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Notifica as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Notifica as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Notifica } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedNotificaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'parametro-gap';\nexport const ENTITY_PLURAL = 'Parametri Esclusione GAP';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Valore %',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'valore',\n minWidth: 150,\n maxWidth: 180,\n },\n {\n elementLabel: 'Tipo partecipazione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipologiaPartecipazione.descrizione',\n },\n\n // {\n // elementLabel: 'Disabilitato',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'disabilita',\n // maxWidth: 100,\n // },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ParametroGapApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ParametroGap as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ParametroGapApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ParametroGap as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ParametroGap as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from \"@angular/core\";\nimport { CanActivate } from \"@angular/router\";\nimport { BaseLoadAllGuard } from \"@ideapa/app-base-components\";\n\nimport { SharedFacade } from \"../+state/facade\";\nimport { ParametroGap } from \"../+state/models\";\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedParametroGapModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'parametro-perimetro';\nexport const ENTITY_PLURAL = 'Parametri Irrilevanza';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n {\n elementLabel: 'Valore %',\n filterType: FilterType.number,\n fieldType: FieldType.decimal,\n field: 'valore',\n minWidth: 150,\n maxWidth: 180,\n },\n // {\n // elementLabel: 'Disabilitato',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'disabilita',\n // maxWidth: 100,\n // },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ParametroPerimetroApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ParametroPerimetro as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ParametroPerimetroApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ParametroPerimetro as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ParametroPerimetro as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from \"@angular/core\";\nimport { CanActivate } from \"@angular/router\";\nimport { BaseLoadAllGuard } from \"@ideapa/app-base-components\";\n\nimport { SharedFacade } from \"../+state/facade\";\nimport { ParametroPerimetro } from \"../+state/models\";\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { EffectsModule } from \"@ngrx/effects\";\nimport { StoreModule } from \"@ngrx/store\";\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from \"./+state/constants\";\nimport { EntityEffects } from \"./+state/effects\";\nimport { SharedFacade } from \"./+state/facade\";\nimport * as fromEntity from \"./+state/reducer\";\nimport { sharedSelectors } from \"./+state/selectors\";\nimport { LoadAllGuard } from \"./guards/load-all.guard\";\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedParametroPerimetroModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'partecipata-ente';\nexport const ENTITY_PLURAL = 'partecipate enti';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PartecipataEnteApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { PartecipataEnte as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: PartecipataEnteApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { PartecipataEnte as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { PartecipataEnte as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from \"@angular/core\";\nimport { CanActivate } from \"@angular/router\";\nimport { BaseLoadAllGuard } from \"@ideapa/app-base-components\";\n\nimport { SharedFacade } from \"../+state/facade\";\nimport { PartecipataEnte } from \"../+state/models\";\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { EffectsModule } from \"@ngrx/effects\";\nimport { StoreModule } from \"@ngrx/store\";\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from \"./+state/constants\";\nimport { EntityEffects } from \"./+state/effects\";\nimport { SharedFacade } from \"./+state/facade\";\nimport * as fromEntity from \"./+state/reducer\";\nimport { sharedSelectors } from \"./+state/selectors\";\nimport { LoadAllGuard } from \"./guards/load-all.guard\";\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPartecipataEnteModule {}\n","import { InjectionToken } from '@angular/core';\n\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\n\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'partecipata-servizio';\n\nexport const ENTITY_PLURAL = 'Servizi Affidati';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Aff. Diretto',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swAffidoDiretto',\n },\n {\n elementLabel: 'Missione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'missione.descrizione',\n },\n {\n elementLabel: 'Attivo',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swServizioAttivo',\n },\n {\n elementLabel: 'Pubblico',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swServizioPubblico',\n },\n {\n elementLabel: 'Servizio Pubblico',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'servizioPubblico.descrizione',\n },\n {\n elementLabel: 'Inizio Servizio',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataInizio',\n },\n {\n elementLabel: 'Fine Servizio',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataFine',\n },\n {\n elementLabel: 'Estremi Affido',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'estremiAffido',\n },\n {\n elementLabel: 'Attività',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'attivita-partecipata.descrizione',\n },\n // {\n // elementLabel: 'Disabilitato',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'disabilita',\n // },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PartecipataServizioApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { PartecipataServizio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: PartecipataServizioApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { PartecipataServizio as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { PartecipataServizio as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { PartecipataServizio } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPartecipataServizioModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { percentPrecision } from '@ideapa/common-utils';\n\nexport const ENTITY = 'partecipata';\nexport const ENTITY_PLURAL = 'anagrafe partecipate';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Ragione Sociale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'ragioneSociale',\n sortable: true,\n },\n {\n elementLabel: 'Codice Fiscale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codiceFiscale',\n sortable: true,\n minWidth: 250,\n maxWidth: 260,\n },\n {\n elementLabel: 'Partita IVA',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'partitaIva',\n initialHideColumn: true,\n sortable: true,\n minWidth: 250,\n maxWidth: 260,\n },\n {\n elementLabel: 'Sede Legale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'sedeLegale',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Sito',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'sitoInternet',\n initialHideColumn: true,\n },\n {\n elementLabel: 'E-mail',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'email',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Pec',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pec',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Telefono',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'telefono',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Capitale Pubblico',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swCapitalePubblico',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Quotata',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swQuotata',\n initialHideColumn: true,\n },\n // {\n // elementLabel: 'Data Acquisto',\n // filterType: FilterType.date,\n // fieldType: FieldType.date,\n // field: 'enti.dataAcquisto',\n // initialHideColumn: true,\n // },\n // {\n // elementLabel: 'Data Cessazione',\n // filterType: FilterType.date,\n // fieldType: FieldType.date,\n // field: 'enti.dataCessazione',\n // initialHideColumn: true,\n // },\n {\n elementLabel: 'Data Costituzione',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataCostituzione',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Numero Dipendenti',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'numeroDipendenti',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Capitale Sociale',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'capitaleSociale',\n initialHideColumn: true,\n },\n // {\n // elementLabel: 'Stato Attivita',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'statoAttivita',\n // initialHideColumn: true,\n // },\n // {\n // elementLabel: 'Disabilitato',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'flagDis',\n // initialHideColumn: true,\n // },\n {\n elementLabel: 'Descrizione Attività',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizioneAttivita1',\n initialHideColumn: true,\n },\n {\n elementLabel: '% Possesso Totale',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'percentualePossessoTotale',\n sortable: false,\n hideFilter: true,\n contentAlignment: ContentAlignmentEnum.Right,\n precision: percentPrecision,\n minWidth: 250,\n maxWidth: 260,\n },\n // {\n // elementLabel: 'Descrizione Attivita 2',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'descrizioneAttivita2',\n // initialHideColumn: true,\n // },\n // {\n // elementLabel: 'Note',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'note',\n // initialHideColumn: true,\n // },\n];\n\nexport const gridColumnsCU: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Ragione Sociale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'ragioneSociale',\n sortable: true,\n },\n {\n elementLabel: 'Codice Fiscale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codiceFiscale',\n sortable: true,\n minWidth: 250,\n maxWidth: 260,\n },\n {\n elementLabel: 'Partita IVA',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'partitaIva',\n initialHideColumn: true,\n sortable: true,\n minWidth: 250,\n maxWidth: 260,\n },\n {\n elementLabel: 'Sede Legale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'sedeLegale',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Sito',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'sitoInternet',\n initialHideColumn: true,\n },\n {\n elementLabel: 'E-mail',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'email',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Pec',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pec',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Telefono',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'telefono',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Capitale Pubblico',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swCapitalePubblico',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Quotata',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swQuotata',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Data Costituzione',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataCostituzione',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Numero Dipendenti',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'numeroDipendenti',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Capitale Sociale',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'capitaleSociale',\n initialHideColumn: true,\n },\n // {\n // elementLabel: 'Stato Attivita',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'statoAttivita',\n // initialHideColumn: true,\n // },\n {\n elementLabel: 'Descrizione Attività',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizioneAttivita1',\n initialHideColumn: true,\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PartecipataApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Partecipata } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: PartecipataApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Partecipata as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Partecipata } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter =\n createEntityAdapter({\n selectId: (item) => item.id,\n });\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Partecipata } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPartecipataModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { currencyPrecision, percentPrecision } from '@ideapa/common-utils';\n\nexport const ENTITY = 'perimetro';\nexport const ENTITY_PLURAL = 'Perimetro di consolidamento';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Ragione Sociale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'gap.partecipataEnte.partecipata.ragioneSociale',\n },\n {\n elementLabel: 'Incidenza Attivo',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n precision: currencyPrecision,\n field: 'valoreParametro1',\n minWidth: 110,\n maxWidth: 150,\n },\n {\n elementLabel: 'Incidenza Attivo %',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'percentualeParametro1',\n contentAlignment: ContentAlignmentEnum.Right,\n precision: percentPrecision,\n minWidth: 110,\n maxWidth: 150,\n },\n {\n elementLabel: 'Patrimonio Netto',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n precision: currencyPrecision,\n field: 'valoreParametro2',\n minWidth: 110,\n maxWidth: 170,\n },\n {\n elementLabel: 'Patrimonio Netto %',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'percentualeParametro2',\n contentAlignment: ContentAlignmentEnum.Right,\n precision: percentPrecision,\n minWidth: 110,\n maxWidth: 170,\n },\n {\n elementLabel: 'Ricavi Gestione Caratteristica',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'valoreParametro3',\n contentAlignment: ContentAlignmentEnum.Right,\n precision: currencyPrecision,\n minWidth: 110,\n },\n {\n elementLabel: 'Ricavi Gestione Caratteristica %',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n field: 'percentualeParametro3',\n contentAlignment: ContentAlignmentEnum.Right,\n precision: percentPrecision,\n minWidth: 110,\n },\n {\n elementLabel: 'Motivo Inclusione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'motivoInclusione',\n },\n {\n elementLabel: 'Motivo Esclusione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'motivoEsclusione',\n },\n];\n\nexport const gridColumns2: EntityListField[] = [\n {\n elementLabel: 'Ragione Sociale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'gap.partecipataEnte.partecipata.ragioneSociale',\n },\n {\n elementLabel: '% Possesso Diretta',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'gap.partecipataEnte.percentualePossessoDiretta',\n precision: percentPrecision,\n },\n {\n elementLabel: '% Possesso Totale',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'gap.partecipataEnte.percentualePossessoTotale',\n precision: percentPrecision,\n },\n {\n elementLabel: 'Motivo Esclusione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'motivoEsclusione',\n },\n];\n\nexport const gridColumns3: EntityListField[] = [\n {\n elementLabel: 'Ragione Sociale',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'gap.partecipataEnte.partecipata.ragioneSociale',\n },\n {\n elementLabel: '% Possesso Diretta',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'gap.partecipataEnte.percentualePossessoDiretta',\n precision: percentPrecision,\n },\n {\n elementLabel: '% Possesso Totale',\n filterType: FilterType.number,\n fieldType: FieldType.percent,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'gap.partecipataEnte.percentualePossessoTotale',\n precision: percentPrecision,\n },\n {\n elementLabel: 'Tipologia Consolidamento',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipologiaConsolidamento',\n },\n {\n elementLabel: 'Motivo Inclusione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'motivoInclusione',\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PerimetroApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Perimetro as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: PerimetroApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Perimetro as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Perimetro as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Perimetro } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPerimetroModule {}\n","import { InjectionToken } from '@angular/core';\nimport { Params } from '@angular/router';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { TipoConto } from '@ideapa/common-utils';\n\nexport const ENTITY = 'piano-conti';\nexport const ENTITY_PLURAL = 'piani conti';\n\n// export const gridColumns: EntityListField[] = [\nexport const gridColumns: (filterParams: Params) => EntityListField[] = (\n filterParams: Params\n) => {\n //console.log('filterParams', filterParams);\n return [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n initialHideColumn: !filterParams['filters'] ? true : false,\n minWidth: 180,\n maxWidth: 200,\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'tipo',\n elementValues: TipoConto,\n sortable: true,\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n minWidth: 420,\n },\n {\n elementLabel: 'Livello',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'livello',\n hideFilter: true,\n minWidth: 100,\n maxWidth: 150,\n },\n {\n elementLabel: 'No Bdap',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swNoBdap',\n initialHideColumn: true,\n minWidth: 150,\n maxWidth: 170,\n },\n {\n elementLabel: 'Conto Bdap',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'contoBdap.codice',\n initialHideColumn: true,\n },\n // {\n // elementLabel: 'Esercizio',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'esercizio',\n // initialHideColumn: true,\n // exportHideColumn: false,\n // },\n {\n elementLabel: 'Foglia',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'foglia',\n initialHideColumn: true,\n hideFilter: true,\n minWidth: 100,\n maxWidth: 150,\n },\n ];\n};\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PianoContiApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { PianoConti as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n entityService: PianoContiApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n entityService,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { PianoConti as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { PianoConti as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n\n// export const selectAllCustom = createSelector(getEntityState, (state) =>\n// selectAll(state)\n// );\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { PianoConti } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPianoContiModule {}\n","import { InjectionToken } from '@angular/core';\nimport { Params } from '@angular/router';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { Macro } from '@ideapa/common-utils';\n\nexport const ENTITY = 'piano-finanziario';\nexport const ENTITY_PLURAL = 'piani finanziari';\n\n// export const gridColumns: EntityListField[] = [\nexport const gridColumns: (filterParams: Params) => EntityListField[] = (\n filterParams: Params\n) => {\n //console.log('filterParams', filterParams);\n return [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n initialHideColumn: !filterParams['filters'] ? true : false,\n },\n {\n elementLabel: 'Macro',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'macro',\n elementValues: Macro,\n sortable: true,\n minWidth: 120,\n maxWidth: 150,\n },\n\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n minWidth: 380,\n },\n {\n elementLabel: 'Livello',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'livello',\n hideFilter: true,\n minWidth: 100,\n maxWidth: 100,\n },\n // {\n // elementLabel: 'Esercizio',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'esercizio',\n // initialHideColumn: true,\n // exportHideColumn: false,\n // },\n {\n elementLabel: 'Foglia',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'foglia',\n initialHideColumn: true,\n hideFilter: true,\n minWidth: 100,\n maxWidth: 100,\n },\n ];\n};\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PianoFinanziarioApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { PianoFinanziario as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n private entityService: PianoFinanziarioApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n entityService,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { PianoFinanziario as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { PianoFinanziario as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { PianoFinanziario } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPianoFinanziarioModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'prima-nota-riga';\nexport const ENTITY_PLURAL = 'PrimaNotaRiga plurale';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PrimaNotaRigaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { PrimaNotaRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: PrimaNotaRigaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { PrimaNotaRiga as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { PrimaNotaRiga as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { PrimaNotaRiga } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPrimaNotaRigaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'prima-nota';\nexport const ENTITY_PLURAL = 'Registrazione Prima Nota';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice Tipologia',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipologia.codice',\n initialHideColumn: true,\n hideFilter: true,\n exportHideColumn: false,\n },\n {\n elementLabel: 'N. Reg.',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'nrReg',\n minWidth: 120,\n maxWidth: 120,\n },\n {\n elementLabel: 'Data',\n filterType: FilterType.date,\n fieldType: FieldType.date,\n field: 'dataRegistrazione',\n minWidth: 100,\n },\n {\n elementLabel: 'Cod. Piano Finanziario',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoFinanziario.codice',\n },\n {\n elementLabel: 'Note',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'note',\n },\n {\n elementLabel: 'Dare',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'totaleRigheDare',\n contentAlignment: ContentAlignmentEnum.Right,\n sortable: false,\n hideFilter: true,\n },\n {\n elementLabel: 'Avere',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n field: 'totaleRigheAvere',\n contentAlignment: ContentAlignmentEnum.Right,\n sortable: false,\n hideFilter: true,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { PrimaNotaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { PrimaNota as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: PrimaNotaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { PrimaNota as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { PrimaNota as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { PrimaNota } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedPrimaNotaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'programma';\nexport const ENTITY_PLURAL = 'programmi';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice Missione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'missione.codice',\n sortable: true,\n sort: 'asc',\n minWidth: 200,\n maxWidth: 210,\n },\n {\n elementLabel: 'Missione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'missione.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Codice Programma',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 200,\n maxWidth: 210,\n },\n {\n elementLabel: 'Programma',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ProgrammaApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Programma as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ProgrammaApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Programma as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Programma as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState)\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Programma } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedProgrammaModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'prospetto';\nexport const ENTITY_PLURAL = 'prospetti ministeriali';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 150,\n maxWidth: 200,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n // {\n // elementLabel: 'Nome Breve',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'nomeBreve',\n // },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ProspettoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Prospetto as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ProspettoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Prospetto as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Prospetto as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Prospetto } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedProspettoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'raccordo';\nexport const ENTITY_PLURAL = 'raccordo';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Prospetto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.prospetto.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Lettera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.lettera',\n sortable: true,\n minWidth: 110,\n maxWidth: 110,\n },\n {\n elementLabel: 'Rif. 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif1',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Rif. 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif2',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Rif. 3',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif3',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Rif. 4',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.rif4',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Struttura',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaProspetto.descrizione',\n sortable: true,\n },\n {\n elementLabel: 'Codice Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.codice',\n },\n {\n elementLabel: 'Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.descrizione',\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.tipo',\n },\n {\n elementLabel: 'Esercizio',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'esercizio',\n initialHideColumn: true,\n exportHideColumn: false,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { RaccordoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Raccordo as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n private entityService: RaccordoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n entityService,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Raccordo as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Raccordo as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Raccordo } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedRaccordoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'riduzione-proporzionale';\nexport const ENTITY_PLURAL = 'Riduzioni Proporzionali';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Partecipata',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'partecipataEnte.partecipata.ragioneSociale',\n },\n {\n elementLabel: 'Bilancio utilizzato',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'bilancio.descrizione',\n },\n // {\n // elementLabel: 'Risultato di Esercizio CE',\n // filterType: FilterType.number,\n // fieldType: FieldType.currency,\n // field: 'risultatoEsercizioCE',\n // sortable: false,\n // minWidth: 160,\n // contentAlignment: ContentAlignmentEnum.Right,\n // },\n // {\n // elementLabel: 'Risultato di Esercizio SPP',\n // filterType: FilterType.number,\n // fieldType: FieldType.currency,\n // field: 'risultatoEsercizioSPP',\n // sortable: false,\n // minWidth: 160,\n // contentAlignment: ContentAlignmentEnum.Right,\n // },\n // {\n // elementLabel: 'Totale Attivo',\n // filterType: FilterType.number,\n // fieldType: FieldType.currency,\n // field: 'totaleAttivo',\n // sortable: false,\n // minWidth: 160,\n // contentAlignment: ContentAlignmentEnum.Right,\n // },\n // {\n // elementLabel: 'Totale Passivo',\n // filterType: FilterType.number,\n // fieldType: FieldType.currency,\n // field: 'totalePassivo',\n // sortable: false,\n // minWidth: 160,\n // contentAlignment: ContentAlignmentEnum.Right,\n // },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { RiduzioneProporzionaleApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { RiduzioneProporzionale as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: RiduzioneProporzionaleApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { RiduzioneProporzionale as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { RiduzioneProporzionale as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { RiduzioneProporzionale } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedRiduzioneProporzionaleModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'riepilogo-prospetti';\nexport const ENTITY_PLURAL = 'Riepilogo Prospetti';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Prospetto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'prospettoCodNome',\n },\n {\n elementLabel: 'Struttura',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'strutturaCodNome',\n },\n {\n elementLabel: 'Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoContiCodNome',\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'tipoPianoConti',\n maxWidth: 80,\n initialHideColumn: true,\n },\n {\n elementLabel: 'Saldo iniziale (01/01)',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'saldoIniziale',\n // sortable: false,\n // hideFilter: true,\n maxWidth: 180,\n },\n {\n elementLabel: 'Movimenti Dare',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'movimentiDare',\n // sortable: false,\n // hideFilter: true,\n maxWidth: 180,\n },\n {\n elementLabel: 'Movimenti Avere',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'movimentiAvere',\n // sortable: false,\n // hideFilter: true,\n maxWidth: 180,\n },\n {\n elementLabel: 'Saldo finale (31/12)',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'saldoFinale',\n // sortable: false,\n // hideFilter: true,\n maxWidth: 180,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { RiepilogoProspettiApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { RiepilogoProspetti as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: RiepilogoProspettiApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { RiepilogoProspetti as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { RiepilogoProspetti as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { RiepilogoProspetti } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedRiepilogoProspettiModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n ContentAlignmentEnum,\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'saldo-iniziale';\nexport const ENTITY_PLURAL = 'saldi iniziali';\n\nexport const gridColumns: EntityListField[] = [\n // {\n // elementLabel: 'Ente',\n // filterType: FilterType.enum,\n // fieldType: FieldType.enum,\n // field: 'ente.descrizione',\n // entityName: 'ente',\n // },\n {\n elementLabel: 'Codice Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.codice',\n },\n {\n elementLabel: 'Piano dei Conti',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'pianoConti.descrizione',\n entityName: 'pianoConti',\n },\n {\n elementLabel: 'Saldo Dare',\n filterType: FilterType.number,\n fieldType: FieldType.currency,\n contentAlignment: ContentAlignmentEnum.Right,\n field: 'saldoDare',\n sortable: true,\n },\n {\n elementLabel: 'Saldo Avere',\n filterType: FilterType.number,\n contentAlignment: ContentAlignmentEnum.Right,\n fieldType: FieldType.currency,\n field: 'saldoAvere',\n sortable: true,\n },\n {\n elementLabel: 'Esercizio',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'esercizio',\n initialHideColumn: true,\n exportHideColumn: false,\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { SaldoInizialeApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { SaldoIniziale as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: SaldoInizialeApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { SaldoIniziale as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { SaldoIniziale as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { SaldoIniziale } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedSaldoInizialeModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'scrittura-elisione';\nexport const ENTITY_PLURAL = 'Infra-gruppo';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Nr. Reg.',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'nrReg',\n sortable: true,\n minWidth: 110,\n maxWidth: 110,\n },\n // modifica soggetti\n {\n elementLabel: 'Soggetto A',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'soggettoA.nome',\n sortable: true,\n },\n {\n elementLabel: 'Soggetto B',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'soggettoB.nome',\n sortable: true,\n },\n {\n elementLabel: 'Note',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'note',\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ScritturaElisioneApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ScritturaElisione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ScritturaElisioneApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ScritturaElisione as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ScritturaElisione as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ScritturaElisione } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedScritturaElisioneModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'scrittura-preconsolidamento';\nexport const ENTITY_PLURAL = 'Pre-consolidamento';\n\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Nr. Reg.',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'nrReg',\n sortable: true,\n minWidth: 110,\n maxWidth: 110,\n },\n {\n elementLabel: 'Soggetto',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'soggetto.nome',\n sortable: true,\n },\n {\n elementLabel: 'Note',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'note',\n },\n];\n\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ScritturaPreconsolidamentoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { concatMap, of, withLatestFrom, tap } from 'rxjs';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n ENTITY_PLURAL,\n SHARED_ENTITY_ACTIONS_TOKEN,\n} from './constants';\nimport {\n ScritturaPreconsolidamento as Entity,\n ScritturaPreconsolidamento,\n} from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ScritturaPreconsolidamentoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ScritturaPreconsolidamento as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ScritturaPreconsolidamento as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ScritturaPreconsolidamento } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedScritturaPreconsolidamentoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'servizio-pubblico';\nexport const ENTITY_PLURAL = 'servizi pubblici';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Codice',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'codice',\n sortable: true,\n sort: 'asc',\n minWidth: 120,\n maxWidth: 150,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n },\n // {\n // elementLabel: 'Disabilitato',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'disabilita',\n // maxWidth: 100,\n // },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ServizioPubblicoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { ServizioPubblico as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: ServizioPubblicoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { ServizioPubblico as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { ServizioPubblico as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { ServizioPubblico } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedServizioPubblicoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\n\nexport const ENTITY = 'stampe-cep';\nexport const ENTITY_PLURAL = 'Stampe';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { StampeCepApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { StampeCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: StampeCepApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { StampeCep as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { StampeCep as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { StampeCep } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedStampeCepModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'stampe-partecipo';\nexport const ENTITY_PLURAL = 'Stampe';\nexport const gridColumns: EntityListField[] = [];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { StampePartecipoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { StampePartecipo as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: StampePartecipoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { StampePartecipo as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { StampePartecipo as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState),\n true\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { StampePartecipo } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedStampePartecipoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\n\nexport const ENTITY = 'struttura-prospetto';\nexport const ENTITY_PLURAL = 'struttura prospetto';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Lettera',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'lettera',\n sortable: true,\n minWidth: 110,\n maxWidth: 110,\n },\n {\n elementLabel: 'Rif. 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif1',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Rif. 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif2',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Rif. 3',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif3',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Rif. 4',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'rif4',\n sortable: true,\n minWidth: 90,\n maxWidth: 90,\n },\n {\n elementLabel: 'Descrizione',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'descrizione',\n sortable: true,\n minWidth: 400,\n },\n // {\n // elementLabel: 'Padre',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'idPadre',\n // initialHideColumn: true,\n // },\n // {\n // elementLabel: 'Livello',\n // filterType: FilterType.number,\n // fieldType: FieldType.integer,\n // field: 'livello',\n // initialHideColumn: true,\n // },\n {\n elementLabel: 'Nota 1',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'nota1',\n sortable: true,\n minWidth: 100,\n maxWidth: 140,\n },\n {\n elementLabel: 'Nota 2',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'nota2',\n sortable: true,\n minWidth: 100,\n maxWidth: 140,\n },\n {\n elementLabel: 'Xbrl',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'xbrl',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Di cui',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swDiCui',\n sortable: true,\n minWidth: 80,\n maxWidth: 80,\n initialHideColumn: true,\n },\n {\n elementLabel: 'Tot/Par',\n filterType: FilterType.boolean,\n fieldType: FieldType.boolean,\n field: 'swTotPar',\n initialHideColumn: true,\n },\n {\n elementLabel: 'Anno inizio',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'annoInizio',\n sortable: true,\n minWidth: 100,\n maxWidth: 110,\n },\n {\n elementLabel: 'Anno Fine',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n field: 'annoFine',\n sortable: true,\n minWidth: 100,\n maxWidth: 110,\n },\n // {\n // elementLabel: 'SW_NODETT_AP',\n // filterType: FilterType.boolean,\n // fieldType: FieldType.boolean,\n // field: 'swNodettAp',\n // initialHideColumn: true,\n // },\n // {\n // elementLabel: 'Metadati',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'metadati',\n // initialHideColumn: true,\n // },\n {\n elementLabel: 'Ordine',\n filterType: FilterType.number,\n fieldType: FieldType.integer,\n sort: 'asc',\n field: 'ordine',\n initialHideColumn: true,\n },\n // {\n // elementLabel: 'EST_STAMP',\n // filterType: FilterType.text,\n // fieldType: FieldType.text,\n // field: 'estStamp',\n // initialHideColumn: true,\n // },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { StrutturaProspettoApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { StrutturaProspetto as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: StrutturaProspettoApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { StrutturaProspetto as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { StrutturaProspetto as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState)\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { StrutturaProspetto } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard\n implements CanActivate\n{\n constructor(sharedFacade: SharedFacade) {\n super(sharedFacade);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport {\n ENTITY,\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './+state/constants';\nimport { EntityEffects } from './+state/effects';\nimport { SharedFacade } from './+state/facade';\nimport * as fromEntity from './+state/reducer';\nimport { sharedSelectors } from './+state/selectors';\nimport { LoadAllGuard } from './guards/load-all.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n StoreModule.forFeature(\n fromEntity.ENTITY_FEATURE_KEY,\n fromEntity.rawReducer\n ),\n EffectsModule.forFeature([EntityEffects]),\n ],\n providers: [\n LoadAllGuard,\n SharedFacade,\n {\n provide: SHARED_ENTITY_ACTIONS_TOKEN,\n useValue: fromEntity.sharedActions,\n },\n {\n provide: SHARED_ENTITY_SELECTORS_TOKEN,\n useValue: sharedSelectors,\n },\n {\n provide: ENTITY_NAME_TOKEN,\n useValue: ENTITY,\n },\n ],\n})\nexport class AppSharedStrutturaProspettoModule {}\n","import { InjectionToken } from '@angular/core';\nimport {\n EntityListField,\n PERMISSION_ACCESS,\n PERMISSION_CREATE,\n PERMISSION_DELETE,\n PERMISSION_READ,\n PERMISSION_UPDATE,\n} from '@ideapa/app-common';\nimport { FieldType, FilterType } from '@ideapa/common-interfaces';\nimport { TipologiaTemplate } from '@ideapa/common-utils';\n\nexport const ENTITY = 'template';\nexport const ENTITY_PLURAL = 'Templates';\nexport const gridColumns: EntityListField[] = [\n {\n elementLabel: 'Nome',\n filterType: FilterType.text,\n fieldType: FieldType.text,\n field: 'nome',\n sortable: true,\n },\n {\n elementLabel: 'Tipo',\n filterType: FilterType.enum,\n fieldType: FieldType.enum,\n field: 'tipo',\n sortable: true,\n elementValues: TipologiaTemplate,\n },\n {\n elementLabel: 'Esercizio',\n filterType: FilterType.number,\n fieldType: FieldType.year,\n field: 'esercizio',\n sortable: true,\n },\n];\nexport const PERMISSION_ACCESS_ENTITY = `${PERMISSION_ACCESS}_${ENTITY}`;\nexport const PERMISSION_CREATE_ENTITY = `${PERMISSION_CREATE}_${ENTITY}`;\nexport const PERMISSION_READ_ENTITY = `${PERMISSION_READ}_${ENTITY}`;\nexport const PERMISSION_UPDATE_ENTITY = `${PERMISSION_UPDATE}_${ENTITY}`;\nexport const PERMISSION_DELETE_ENTITY = `${PERMISSION_DELETE}_${ENTITY}`;\n\nexport const SHARED_ENTITY_ACTIONS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_ACTIONS'\n);\n\nexport const SHARED_ENTITY_SELECTORS_TOKEN = new InjectionToken(\n 'SHARED_ENTITY_SELECTORS'\n);\n\nexport const ENTITY_NAME_TOKEN = new InjectionToken('ENTITY_NAME');\n","import { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { TemplateApiClient } from '@ideapa/app-api-client';\nimport {\n BaseSharedEntityEffects,\n SharedEntityActions,\n} from '@ideapa/app-base-components';\nimport { NgrxLoaderFacade } from '@ideapa/app-ngrx-loader';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { ToastService } from '@ideapa/app-ui-kit';\nimport { Actions } from '@ngrx/effects';\n\nimport { ENTITY_NAME_TOKEN, SHARED_ENTITY_ACTIONS_TOKEN } from './constants';\nimport { Template as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class EntityEffects extends BaseSharedEntityEffects {\n constructor(\n actions$: Actions,\n service: TemplateApiClient,\n loaderFacade: NgrxLoaderFacade,\n toastService: ToastService,\n location: Location,\n routerFacade: RouterFacade,\n @Inject(ENTITY_NAME_TOKEN) entityName: string,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions\n ) {\n super(\n actions$,\n service,\n loaderFacade,\n toastService,\n location,\n routerFacade,\n entityName,\n actions\n );\n }\n}\n","import { NgxPermissionsService } from 'ngx-permissions';\n\nimport { Inject, Injectable } from '@angular/core';\nimport {\n BaseSharedEntityFacade,\n SharedEntityActions,\n SharedEntityStateSelectors,\n} from '@ideapa/app-base-components';\nimport { SharedEntityFacadeInterface } from '@ideapa/app-common';\nimport { RouterFacade } from '@ideapa/app-routing-utils';\nimport { Store } from '@ngrx/store';\n\nimport {\n ENTITY_NAME_TOKEN,\n SHARED_ENTITY_ACTIONS_TOKEN,\n SHARED_ENTITY_SELECTORS_TOKEN,\n} from './constants';\nimport { Template as Entity } from './models';\nimport { State } from './reducer';\n\n@Injectable()\nexport class SharedFacade\n extends BaseSharedEntityFacade\n implements SharedEntityFacadeInterface\n{\n constructor(\n store: Store,\n permissionsService: NgxPermissionsService,\n routerFacade: RouterFacade,\n @Inject(SHARED_ENTITY_SELECTORS_TOKEN)\n selectors: SharedEntityStateSelectors,\n @Inject(SHARED_ENTITY_ACTIONS_TOKEN)\n actions: SharedEntityActions,\n @Inject(ENTITY_NAME_TOKEN)\n entityName: string\n ) {\n super(\n store,\n permissionsService,\n routerFacade,\n selectors,\n actions,\n entityName\n );\n }\n}\n","import {\n createSharedState,\n SharedEntityState,\n} from '@ideapa/app-base-components';\nimport { createEntityAdapter, EntityAdapter } from '@ngrx/entity';\nimport { createReducer } from '@ngrx/store';\n\nimport { ENTITY } from './constants';\nimport { Template as Entity } from './models';\n\nexport const ENTITY_FEATURE_KEY = ENTITY;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface State extends SharedEntityState {}\n\nexport const entityAdapter: EntityAdapter = createEntityAdapter(\n {\n selectId: (item) => item.id,\n }\n);\n\nexport const entityState = createSharedState(ENTITY);\n\nexport const initialState: State = entityState.getInitialState();\n\nexport const sharedActions = entityState.getActions();\n\nexport const rawReducer = entityState.extendBaseReducer(\n initialState,\n sharedActions,\n entityAdapter,\n createReducer(initialState)\n);\n","import { createFeatureSelector } from '@ngrx/store';\n\nimport {\n ENTITY_FEATURE_KEY,\n entityAdapter,\n entityState,\n State,\n} from './reducer';\n\nexport const getEntityState = createFeatureSelector(ENTITY_FEATURE_KEY);\n\nconst { selectAll, selectEntities } = entityAdapter.getSelectors();\n\nexport const sharedSelectors = entityState.getSelectors(\n selectAll,\n selectEntities,\n getEntityState\n);\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { BaseLoadAllGuard } from '@ideapa/app-base-components';\n\nimport { SharedFacade } from '../+state/facade';\nimport { Template } from '../+state/models';\n\n@Injectable()\nexport class LoadAllGuard\n extends BaseLoadAllGuard