@esfaenza/core 15.2.314 → 15.2.315

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"esfaenza-core.mjs","sources":["../../../projects/core/src/lib/app.component.ts","../../../projects/core/src/lib/app.component.html","../../../projects/core/src/lib/core.module.ts","../../../projects/core/src/esfaenza-core.ts"],"sourcesContent":["// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AppState, TokenService } from \"@esfaenza/core/services\";\r\n\r\n/* N.B: Questo componente non può diventare standalone. È il punto di ingresso per il bootstrap dei moduli di Frontend, che NON si basano sui componenti standalone a meno di rare funzionalità */\r\n@Component({\r\n selector: 'app-root',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: [\"./app.component.scss\"],\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n\r\n public snows: number[] = [];\r\n\r\n public snowTrackBy = (_: number, item: any) => item;\r\n\r\n constructor(private bts: TokenService, public _state: AppState, private router: Router) {\r\n\r\n if (this._state.christmasTime)\r\n for (let i = 0; i < 400; i++)\r\n this.snows.push(i);\r\n\r\n if (!this.bts.accountScope) {\r\n console.log(\"AppComponent - no account scope, redirecting to login\")\r\n this.router.navigate([\"login\", { fromUrl: this.router.url }]);\r\n }\r\n }\r\n}","<ng-container *ngIf=\"_state.christmasTime\">\r\n <div *ngFor=\"let i of snows; trackBy: snowTrackBy\" class=\"snow\"></div>\r\n</ng-container>\r\n<router-outlet></router-outlet>","// Angular\r\nimport { NgModule, ErrorHandler, LOCALE_ID, APP_INITIALIZER, ModuleWithProviders, Type, isDevMode } from \"@angular/core\";\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Routes, RouterModule, NoPreloading, ROUTES } from \"@angular/router\";\r\nimport { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { EVENT_MANAGER_PLUGINS } from \"@angular/platform-browser\";\r\nimport { ServiceWorkerModule } from \"@angular/service-worker\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport \"@angular/common/locales/global/it\";\r\n\r\n// Plugins\r\nimport { NgxMatDateAdapter, NGX_MAT_DATE_FORMATS } from \"@angular-material-components/datetime-picker\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport \"widgster/widgster.js\";\r\n\r\n// ES\r\nimport { PreferencesModule, PREF_DEBUG_MODE, PreferencesPersistor, LocalStoragePreferencesPersistor, CachePersistor, LocalStorageCachePersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationModule, LocalizationService, LocalizationMissingPolicy, LOC_DEBUG_MODE, BaseLocalization } from \"@esfaenza/localizations\";\r\nimport { HttpserviceModule, HttpServiceExtensions, HTTPService, HTTP_DEBUG_MODE, HTTP_INVALIDATION } from \"@esfaenza/httpservice\";\r\nimport { SignalrNotificationsModule, SGR_DEBUG_MODE, BaseMessageService } from \"@esfaenza/signalr-notifications\";\r\nimport { FormsAndValidationsModule, NgxExpandedDayJsDateAdapter } from \"@esfaenza/forms-and-validations\";\r\nimport { AccessControlModule, AccessControlService, ACC_DEBUG_MODE } from \"@esfaenza/access-control\";\r\nimport { BaseAdapter, EsChartsModule, ESC_DEBUG_MODE } from \"@esfaenza/es-charts\";\r\nimport { ExtensionsModule, EXT_DEBUG_MODE } from \"@esfaenza/extensions\";\r\nimport { ContextMenuModule } from \"@esfaenza/ngx-contextmenu\";\r\nimport { DragulaModule } from '@esfaenza/ngx-dragula';\r\nimport { EsTableModule } from \"@esfaenza/es-table\";\r\nimport { TAB_DEBUG_MODE } from \"@esfaenza/tabber\";\r\n\r\n// Core\r\nimport { APPErrorHandler, HTTPServiceExtensions, ApplicationPreferencesPersistor, ApplicationCachePersistor, SessionRetriever, OutZoneEventPlugin, TokenService, GlobalSearchService, CompletedJobRedirectionService, MenuFilteringService, UserPreferencesService } from \"@esfaenza/core/services\";\r\nimport { PageNotFoundComponent, ServerErrorComponent, AngularErrorComponent, ExternalPagesComponent, JaceLoginComponent, PagesComponent, RedirecterComponent, ComponentsModule, UserInfosComponent } from \"@esfaenza/core/components\";\r\nimport { ApplicationMenu, EnvOptions, AccountScope, MENU, MENU_LOCALIZATION, REDIRECT_MAP, USE_FAKE_ACCESS_TOKEN, NAVBAR_EXTENSIONS, LOGIN_URL_LEGACY } from \"@esfaenza/core/domain\"\r\nimport { ROUTE, EMBEDDED_ROUTE } from \"@esfaenza/core/domain\"\r\nimport { TemplateCommon } from \"@esfaenza/core/modules\";\r\n\r\n// RxJs\r\nimport { catchError, switchMap, take, tap } from \"rxjs/operators\";\r\nimport { forkJoin, Observable, of } from \"rxjs\";\r\n\r\n// Bootstrap\r\nimport { ProgressbarModule } from \"ngx-bootstrap/progressbar\";\r\nimport { TimepickerModule } from \"ngx-bootstrap/timepicker\";\r\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\r\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\n// Applicazione\r\nimport { AppComponent } from \"./app.component\";\r\n\r\n// Repositories\r\nconst GET_Jace_GetAccountScope: string = \"/api/Jace/GetAccountScope\";\r\nconst GET_AppConfig_GetAppConfig: string = \"/api/AppConfig/GetAppConfig\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\nconst baseAppRoutes: Routes = [\r\n { path: \"\", redirectTo: \"pages/{emptyRouteRedirect}\", pathMatch: \"full\" },\r\n { path: EMBEDDED_ROUTE + \"/:source\", component: ExternalPagesComponent },\r\n { path: ROUTE, component: PagesComponent },\r\n { path: \"rd\", component: RedirecterComponent },\r\n { path: \"rd/:tenant\", component: RedirecterComponent },\r\n { path: \"login\", component: JaceLoginComponent },\r\n { path: \"iserr\", component: ServerErrorComponent },\r\n { path: \"anerr\", component: AngularErrorComponent },\r\n { path: \"**\", component: PageNotFoundComponent },\r\n \r\n];\r\n\r\nconst MODULES = [\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n TemplateCommon,\r\n ComponentsModule,\r\n\r\n // Attenzione a lasciarlo attivo in ng serve: https://github.com/angular/angular/issues/47455\r\n ServiceWorkerModule.register('ngsw-worker.js', { enabled: !isDevMode() }),\r\n RouterModule.forRoot([], { useHash: true, preloadingStrategy: NoPreloading, onSameUrlNavigation: \"reload\" }),\r\n\r\n // ES\r\n EsTableModule.forRoot(),\r\n FormsAndValidationsModule.forRoot({ acocustom: \"O\", sliderMode: true }),\r\n ExtensionsModule.forRoot(),\r\n LocalizationModule.forRoot({ localizationMissingPolicy: LocalizationMissingPolicy.PrintSourceWithoutWarnings, defaultLocale: 'it-IT' }),\r\n AccessControlModule.forRoot({ contextAwareKey: \"O\", defaultCondition: '(R:Jace Admin || R:Jace Support)' }),\r\n HttpserviceModule.forRoot(),\r\n SignalrNotificationsModule.forRoot({ endpointUrl: 'notify', useMessagePack: true }),\r\n PreferencesModule.forRoot({ retrieveAllAtStart: true, sessionRetriever: SessionRetriever, preferencePersistor: ApplicationPreferencesPersistor, cachePersistor: ApplicationCachePersistor }),\r\n EsChartsModule.forRoot(),\r\n\r\n // Bootstrap\r\n TooltipModule.forRoot(),\r\n ModalModule.forRoot(),\r\n ProgressbarModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n ToastrModule.forRoot(),\r\n TimepickerModule.forRoot(),\r\n ContextMenuModule.forRoot(),\r\n DragulaModule.forRoot()\r\n];\r\n\r\n// Generatore dei formati data\r\nvar formats = (style: 'long' | 'short') => {\r\n return {\r\n parse: { dateInput: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : '') },\r\n display: {\r\n dateInput: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : ''),\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : ''),\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n };\r\n}\r\n\r\nconst localeFactory = (loc: LocalizationService) => loc.SmallLocale;\r\n\r\nconst PROVIDERS = [\r\n CookieService,\r\n\r\n // Providers applicativi\r\n { provide: ErrorHandler, useClass: APPErrorHandler },\r\n { provide: EVENT_MANAGER_PLUGINS, useExisting: OutZoneEventPlugin, multi: true },\r\n { provide: HttpServiceExtensions, useClass: HTTPServiceExtensions },\r\n\r\n // Locale e gestioni delle date\r\n { provide: LOCALE_ID, useFactory: localeFactory, deps: [LocalizationService] },\r\n { provide: MAT_DATE_LOCALE, useFactory: localeFactory, deps: [LocalizationService] },\r\n { provide: MAT_DATE_FORMATS, useValue: formats('short') },\r\n\r\n // Questi due sono providati dal FormsAndValidationModule stesso, però quest'ultimo è definito in forRoot solo lato componenti shared, \r\n // quindi per rendere questi provider disponibili anche a moduli esterni devo riprovidarli anche qui\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: formats('long') },\r\n { provide: NgxMatDateAdapter, useClass: NgxExpandedDayJsDateAdapter }\r\n];\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [...MODULES]\r\n})\r\nexport class EsFaenzaCoreModule {\r\n static forRoot(config?: EsFaenzaCoreModuleConfig): ModuleWithProviders<EsFaenzaCoreModule> {\r\n if (config.routes) {\r\n // Aggiunta della route di embedding se non dichiarata, lato aggiunta faccio in modo che l'embedding sia disponibile solo da route interne (pages OK, pages_ext NON OK)\r\n if (!config.routes.find(t => t.path.startsWith(\"embed\")))\r\n config.routes = [...config.routes, { path: \"embed/:module\", loadChildren: () => import('@esfaenza/core/modules').then(m => m.EmbeddingModule) }]\r\n\r\n baseAppRoutes[0].redirectTo = `pages/${config.emptyRouteRedirect || 'dashboard'}`;\r\n baseAppRoutes.filter(t => [\"pages\", \"pages_ext\"].includes(t.path.split(\"/\")[0])).forEach(path => { \r\n path.children = [\r\n { path: \"profile\", component: UserInfosComponent, data: { InternalNavigation: true, title: \"profilo\" } }, \r\n ...config.routes.filter(r => !path.path.includes(\"pages_ext\") || !r.path.startsWith(\"embed\"))\r\n ];\r\n });\r\n }\r\n config.debugMode = (!isDevMode() && !config.forceDebugModeForProdBuilds) ? DebugFlags.None : (config.debugMode || DebugFlags.All);\r\n\r\n let mergedAppInitializer = (http: HTTPService, bts: TokenService, aac: AccessControlService, loc: BaseLocalization) => {\r\n return () => {\r\n \r\n console.log(\"%c[APP_INITIALIZER] Loading AppConfig and Account Scope...\", \"background-color: yellow\");\r\n let realObservable = forkJoin(\r\n {\r\n appConfig: http.get<EnvOptions>(GET_AppConfig_GetAppConfig, null, null, false).pipe(catchError(_ => of({}))),\r\n scope: http.get<AccountScope>(GET_Jace_GetAccountScope, null, null, false).pipe(catchError(_ => of(null))),\r\n locale: loc.Locale.pipe(take(1), catchError(_ => of('it-IT'))),\r\n });\r\n\r\n let usedObservable = config.optionsAndScopeProvider || realObservable;\r\n\r\n return usedObservable.pipe(\r\n tap((res: { appConfig: EnvOptions, scope: AccountScope, locale: string }) => {\r\n myconfig = res.appConfig;\r\n // Setup della source leggibile per l'embedding\r\n (window as any as {__esfaenza_module: string}).__esfaenza_module = myconfig.AppData.ModuleId;\r\n\r\n http.setAppConfig(myconfig);\r\n // L'account scope lo prendo dalla Query a backend solo se non uso il Fake token\r\n if (!bts.USE_FAKE_ACCESS_TOKEN)\r\n bts.accountScope = res.scope;\r\n\r\n console.log(\"%c[APP_INITIALIZER] appConfig and scope registered\", \"background-color: yellow\");\r\n\r\n if (bts.accountScope)\r\n aac.initializeIdentity(bts.getJaceIdentity());\r\n }),\r\n switchMap(_ => {\r\n if (!config.initializerFunction)\r\n return of();\r\n\r\n console.log(\"%c[APP_INITIALIZER] Loading custom application initialization\", \"background-color: yellow\");\r\n return config.initializerFunction(http, bts, aac)().pipe(tap(_ => {\r\n console.log(\"%c[APP_INITIALIZER] Initialization is over\", \"background-color: yellow\");\r\n }));\r\n })\r\n );\r\n }\r\n };\r\n\r\n return {\r\n ngModule: EsFaenzaCoreModule,\r\n providers: [\r\n // *************************** Provider statici ***************************\r\n\r\n ...PROVIDERS,\r\n\r\n // ************************ Provider customizzabili ************************\r\n ...(!config.redirectionMap ? [] : [{ provide: REDIRECT_MAP, useValue: config.redirectionMap }]),\r\n { provide: APP_INITIALIZER, useFactory: mergedAppInitializer, deps: [HTTPService, TokenService, AccessControlService, BaseLocalization], multi: true },\r\n { provide: ROUTES, useValue: baseAppRoutes, multi: true },\r\n { provide: LOC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Localizations) == DebugFlags.Localizations : false },\r\n { provide: EXT_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Extensions) == DebugFlags.Extensions : false },\r\n { provide: ACC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.AccessControl) == DebugFlags.AccessControl : false },\r\n { provide: HTTP_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Http) == DebugFlags.Http : false },\r\n { provide: HTTP_INVALIDATION, useValue: config?.httpInvalidationCache },\r\n { provide: TAB_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Tabber) == DebugFlags.Tabber : false },\r\n { provide: SGR_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.SignalR) == DebugFlags.SignalR : false },\r\n { provide: PREF_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Preferences) == DebugFlags.Preferences : false },\r\n { provide: ESC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Charts) == DebugFlags.Charts : false },\r\n { provide: LOGIN_URL_LEGACY, useValue: config.legacyLogin !== null && config.legacyLogin !== undefined ? config.legacyLogin : false },\r\n { provide: NAVBAR_EXTENSIONS, useValue: config.navbarExtensions ? config.navbarExtensions : [] },\r\n { provide: BaseAdapter, useClass: config?.chartsAdapter || BaseAdapter },\r\n { provide: BaseMessageService, useClass: config?.messageService || BaseMessageService },\r\n { provide: GlobalSearchService, useClass: config?.globalSearchService || GlobalSearchService },\r\n { provide: CompletedJobRedirectionService, useClass: config?.completedJobRedirectionService || CompletedJobRedirectionService },\r\n { provide: MenuFilteringService, useClass: config?.menuFilteringService || MenuFilteringService },\r\n { provide: UserPreferencesService, useClass: config?.userPreferencesProvider || UserPreferencesService },\r\n { provide: MENU_LOCALIZATION, useValue: config.menuLoc || null },\r\n { provide: MENU, useValue: config.menu },\r\n { provide: USE_FAKE_ACCESS_TOKEN, useValue: !!config.fakeAccessToken },\r\n { provide: PreferencesPersistor, useClass: config.fakeAccessToken ? LocalStoragePreferencesPersistor : ApplicationPreferencesPersistor },\r\n { provide: CachePersistor, useClass: config.fakeAccessToken ? LocalStorageCachePersistor : ApplicationCachePersistor }\r\n ]\r\n };\r\n }\r\n}\r\n\r\nexport class EsFaenzaCoreModuleConfig {\r\n /* Route applicative, solo quelle dentro a **pages** */\r\n routes!: Routes;\r\n /* Menù della sidebar dell'applicazione */\r\n menu: ApplicationMenu[];\r\n /* Indica se utilizzare l'access token finto */\r\n fakeAccessToken?: boolean;\r\n /* Tipo da usare per generare le localizzaizoni del menù */\r\n menuLoc?: Type<LocalizationService>;\r\n /* Redirect per la root dell'applicazione, di default è impostato a **dashboard**. Se all'interno delle **routes** non esiste la route **dashboard** è da impostare adeguatamente */\r\n emptyRouteRedirect?: string;\r\n /* Se non specificata viene impostata automaticamente ad \"All\" in fase di debug, \"None\" in produzione (quest'ultimo a prescindere, a meno che **forceDebugModeForProdBuilds** non sia true)*/\r\n debugMode?: DebugFlags;\r\n /* Permette di forzare la modalità di debug specificata anche per le build di produzione, **NON IMPOSTARE A TRUE** a meno di rarissimissimissimi casi */\r\n forceDebugModeForProdBuilds?: boolean;\r\n /* Cache di invalidazione per le chiamate http */\r\n httpInvalidationCache?: any;\r\n /* Funzione di inizializzazione APP_INITIALIZER-like che viene richiamata dopo alla funzione di inizializzazione di default */\r\n initializerFunction?: (http: HTTPService, bts: TokenService, aac: AccessControlService) => () => Observable<any>;\r\n /* Mappa di redirect per permettere al **RedirecterComponent** di sapere dove navigare in base a Oggetto-Parametri */\r\n redirectionMap?: { [index: string]: { url: string, params: string[] } };\r\n /* Adattatore dei grafici nel caso un progetto fosse vecchio (Rimuovibile quando tutti i progetti usano nativamente es-charts) */\r\n chartsAdapter?: Type<BaseAdapter>;\r\n /* Servizio che espone i messaggi disponibili su Signalr */\r\n messageService?: Type<BaseMessageService>;\r\n /* Servizio per la search globale del modulo */\r\n globalSearchService?: Type<GlobalSearchService>;\r\n /* Servizio per filtrare le voci di menù */\r\n menuFilteringService?: Type<MenuFilteringService>;\r\n /* Servizio di ridirezione per job completati */\r\n completedJobRedirectionService?: Type<CompletedJobRedirectionService>;\r\n /* Funzione di override per recuperare account scope e envoptions. Può anche essere utilizzata per fornire modelli finti fino ad implementazione */\r\n optionsAndScopeProvider?: Observable<{ appConfig: EnvOptions, scope: AccountScope, locale: string }>;\r\n /* Lista dei componenti con cui espandere la navbar */\r\n navbarExtensions?: Type<any>[];\r\n /* Servizio di recupero/modifica preferenze utente */\r\n userPreferencesProvider?: Type<UserPreferencesService>;\r\n /* identifica se utilizzare la versione vecchia dell'url di auth (${myconfig.AUTH_URL}/login/form?client=${myconfig.CLIENT_NAME}) invece che la nuova (${myconfig.AUTH_URL}/login;client=${myconfig.CLIENT_NAME}) */\r\n legacyLogin?: boolean;\r\n}\r\n\r\nexport enum DebugFlags {\r\n None = 0,\r\n Localizations = 1 << 0,\r\n Extensions = 1 << 1,\r\n AccessControl = 1 << 2,\r\n Http = 1 << 3,\r\n SignalR = 1 << 4,\r\n Preferences = 1 << 5,\r\n Charts = 1 << 6,\r\n Tabber = 1 << 7,\r\n All = ~(~0 << 8)\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3"],"mappings":"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"}
1
+ {"version":3,"file":"esfaenza-core.mjs","sources":["../../../projects/core/src/lib/app.component.ts","../../../projects/core/src/lib/app.component.html","../../../projects/core/src/lib/core.module.ts","../../../projects/core/src/esfaenza-core.ts"],"sourcesContent":["// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AppState, TokenService } from \"@esfaenza/core/services\";\r\n\r\n/* N.B: Questo componente non può diventare standalone. È il punto di ingresso per il bootstrap dei moduli di Frontend, che NON si basano sui componenti standalone a meno di rare funzionalità */\r\n@Component({\r\n selector: 'app-root',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: [\"./app.component.scss\"],\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n\r\n public snows: number[] = [];\r\n\r\n public snowTrackBy = (_: number, item: any) => item;\r\n\r\n constructor(private bts: TokenService, public _state: AppState, private router: Router) {\r\n\r\n if (this._state.christmasTime)\r\n for (let i = 0; i < 400; i++)\r\n this.snows.push(i);\r\n\r\n if (!this.bts.accountScope) {\r\n console.log(\"AppComponent - no account scope, redirecting to login\")\r\n this.router.navigate([\"login\", { fromUrl: this.router.url }]);\r\n }\r\n }\r\n}","<ng-container *ngIf=\"_state.christmasTime\">\r\n <div *ngFor=\"let i of snows; trackBy: snowTrackBy\" class=\"snow\"></div>\r\n</ng-container>\r\n<router-outlet></router-outlet>","// Angular\r\nimport { NgModule, ErrorHandler, LOCALE_ID, APP_INITIALIZER, ModuleWithProviders, Type, isDevMode } from \"@angular/core\";\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Routes, RouterModule, NoPreloading, ROUTES } from \"@angular/router\";\r\nimport { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { EVENT_MANAGER_PLUGINS } from \"@angular/platform-browser\";\r\nimport { ServiceWorkerModule } from \"@angular/service-worker\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport \"@angular/common/locales/global/it\";\r\n\r\n// Plugins\r\nimport { NgxMatDateAdapter, NGX_MAT_DATE_FORMATS } from \"@angular-material-components/datetime-picker\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport \"widgster/widgster.js\";\r\n\r\n// ES\r\nimport { PreferencesModule, PREF_DEBUG_MODE, PreferencesPersistor, LocalStoragePreferencesPersistor, CachePersistor, LocalStorageCachePersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationModule, LocalizationService, LocalizationMissingPolicy, LOC_DEBUG_MODE, BaseLocalization } from \"@esfaenza/localizations\";\r\nimport { HttpserviceModule, HttpServiceExtensions, HTTPService, HTTP_DEBUG_MODE, HTTP_INVALIDATION } from \"@esfaenza/httpservice\";\r\nimport { SignalrNotificationsModule, SGR_DEBUG_MODE, BaseMessageService } from \"@esfaenza/signalr-notifications\";\r\nimport { FormsAndValidationsModule, NgxExpandedDayJsDateAdapter } from \"@esfaenza/forms-and-validations\";\r\nimport { AccessControlModule, AccessControlService, ACC_DEBUG_MODE } from \"@esfaenza/access-control\";\r\nimport { BaseAdapter, EsChartsModule, ESC_DEBUG_MODE } from \"@esfaenza/es-charts\";\r\nimport { ExtensionsModule, EXT_DEBUG_MODE } from \"@esfaenza/extensions\";\r\nimport { ContextMenuModule } from \"@esfaenza/ngx-contextmenu\";\r\nimport { DragulaModule } from '@esfaenza/ngx-dragula';\r\nimport { EsTableModule } from \"@esfaenza/es-table\";\r\nimport { TAB_DEBUG_MODE } from \"@esfaenza/tabber\";\r\n\r\n// Core\r\nimport { APPErrorHandler, HTTPServiceExtensions, ApplicationPreferencesPersistor, ApplicationCachePersistor, SessionRetriever, OutZoneEventPlugin, TokenService, GlobalSearchService, CompletedJobRedirectionService, MenuFilteringService, UserPreferencesService } from \"@esfaenza/core/services\";\r\nimport { PageNotFoundComponent, ServerErrorComponent, AngularErrorComponent, ExternalPagesComponent, JaceLoginComponent, PagesComponent, RedirecterComponent, ComponentsModule, UserInfosComponent } from \"@esfaenza/core/components\";\r\nimport { ApplicationMenu, EnvOptions, AccountScope, MENU, MENU_LOCALIZATION, REDIRECT_MAP, USE_FAKE_ACCESS_TOKEN, NAVBAR_EXTENSIONS, LOGIN_URL_LEGACY } from \"@esfaenza/core/domain\"\r\nimport { ROUTE, EMBEDDED_ROUTE } from \"@esfaenza/core/domain\"\r\nimport { TemplateCommon } from \"@esfaenza/core/modules\";\r\n\r\n// RxJs\r\nimport { catchError, switchMap, take, tap } from \"rxjs/operators\";\r\nimport { forkJoin, Observable, of } from \"rxjs\";\r\n\r\n// Bootstrap\r\nimport { ProgressbarModule } from \"ngx-bootstrap/progressbar\";\r\nimport { TimepickerModule } from \"ngx-bootstrap/timepicker\";\r\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\r\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\n// Applicazione\r\nimport { AppComponent } from \"./app.component\";\r\n\r\n// Repositories\r\nconst GET_Jace_GetAccountScope: string = \"/api/Jace/GetAccountScope\";\r\nconst GET_AppConfig_GetAppConfig: string = \"/api/AppConfig/GetAppConfig\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\nconst baseAppRoutes: Routes = [\r\n { path: \"\", redirectTo: \"pages/{emptyRouteRedirect}\", pathMatch: \"full\" },\r\n { path: EMBEDDED_ROUTE + \"/:source\", component: ExternalPagesComponent },\r\n { path: ROUTE, component: PagesComponent },\r\n { path: \"rd\", component: RedirecterComponent },\r\n { path: \"rd/:tenant\", component: RedirecterComponent },\r\n { path: \"login\", component: JaceLoginComponent },\r\n { path: \"iserr\", component: ServerErrorComponent },\r\n { path: \"anerr\", component: AngularErrorComponent },\r\n { path: \"**\", component: PageNotFoundComponent },\r\n \r\n];\r\n\r\nconst MODULES = [\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n TemplateCommon,\r\n ComponentsModule,\r\n\r\n // Attenzione a lasciarlo attivo in ng serve: https://github.com/angular/angular/issues/47455\r\n ServiceWorkerModule.register('ngsw-worker.js', { enabled: !isDevMode() }),\r\n RouterModule.forRoot([], { useHash: true, preloadingStrategy: NoPreloading, onSameUrlNavigation: \"reload\" }),\r\n\r\n // ES\r\n EsTableModule.forRoot(),\r\n FormsAndValidationsModule.forRoot({ acocustom: \"O\", sliderMode: true }),\r\n ExtensionsModule.forRoot(),\r\n LocalizationModule.forRoot({ localizationMissingPolicy: LocalizationMissingPolicy.PrintSourceWithoutWarnings, defaultLocale: 'it-IT' }),\r\n AccessControlModule.forRoot({ contextAwareKey: \"O\", defaultCondition: '(R:Jace Admin || R:Jace Support)' }),\r\n HttpserviceModule.forRoot(),\r\n SignalrNotificationsModule.forRoot({ endpointUrl: 'notify', useMessagePack: true }),\r\n PreferencesModule.forRoot({ retrieveAllAtStart: true, sessionRetriever: SessionRetriever, preferencePersistor: ApplicationPreferencesPersistor, cachePersistor: ApplicationCachePersistor }),\r\n EsChartsModule.forRoot(),\r\n\r\n // Bootstrap\r\n TooltipModule.forRoot(),\r\n ModalModule.forRoot(),\r\n ProgressbarModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n ToastrModule.forRoot(),\r\n TimepickerModule.forRoot(),\r\n ContextMenuModule.forRoot(),\r\n DragulaModule.forRoot()\r\n];\r\n\r\n// Generatore dei formati data\r\nvar formats = (style: 'long' | 'short') => {\r\n return {\r\n parse: { dateInput: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : '') },\r\n display: {\r\n dateInput: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : ''),\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : ''),\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n };\r\n}\r\n\r\nconst localeFactory = (loc: LocalizationService) => loc.SmallLocale;\r\n\r\nconst PROVIDERS = [\r\n CookieService,\r\n\r\n // Providers applicativi\r\n { provide: ErrorHandler, useClass: APPErrorHandler },\r\n { provide: EVENT_MANAGER_PLUGINS, useExisting: OutZoneEventPlugin, multi: true },\r\n { provide: HttpServiceExtensions, useClass: HTTPServiceExtensions },\r\n\r\n // Locale e gestioni delle date\r\n { provide: LOCALE_ID, useFactory: localeFactory, deps: [LocalizationService] },\r\n { provide: MAT_DATE_LOCALE, useFactory: localeFactory, deps: [LocalizationService] },\r\n { provide: MAT_DATE_FORMATS, useValue: formats('short') },\r\n\r\n // Questi due sono providati dal FormsAndValidationModule stesso, però quest'ultimo è definito in forRoot solo lato componenti shared, \r\n // quindi per rendere questi provider disponibili anche a moduli esterni devo riprovidarli anche qui\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: formats('long') },\r\n { provide: NgxMatDateAdapter, useClass: NgxExpandedDayJsDateAdapter }\r\n];\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [...MODULES]\r\n})\r\nexport class EsFaenzaCoreModule {\r\n static forRoot(config?: EsFaenzaCoreModuleConfig): ModuleWithProviders<EsFaenzaCoreModule> {\r\n if (config.routes) {\r\n // Aggiunta della route di embedding se non dichiarata, lato aggiunta faccio in modo che l'embedding sia disponibile solo da route interne (pages OK, pages_ext NON OK)\r\n if (!config.routes.find(t => t.path.startsWith(\"embed\")))\r\n config.routes = [...config.routes, { path: \"embed/:module\", loadChildren: () => import('@esfaenza/core/modules').then(m => m.EmbeddingModule) }]\r\n\r\n baseAppRoutes[0].redirectTo = `pages/${config.emptyRouteRedirect || 'dashboard'}`;\r\n baseAppRoutes.filter(t => [\"pages\", \"pages_ext\"].includes(t.path.split(\"/\")[0])).forEach(path => { \r\n path.children = [\r\n { path: \"profile\", component: UserInfosComponent, data: { InternalNavigation: true, title: \"profilo\" } }, \r\n ...config.routes.filter(r => !path.path.includes(\"pages_ext\") || !r.path.startsWith(\"embed\"))\r\n ];\r\n });\r\n }\r\n config.debugMode = (!isDevMode() && !config.forceDebugModeForProdBuilds) ? DebugFlags.None : (config.debugMode || DebugFlags.All);\r\n\r\n let mergedAppInitializer = (http: HTTPService, bts: TokenService, aac: AccessControlService, loc: BaseLocalization) => {\r\n return () => {\r\n \r\n console.log(\"%c[APP_INITIALIZER] Loading AppConfig and Account Scope...\", \"background-color: yellow\");\r\n let realObservable = forkJoin(\r\n {\r\n appConfig: http.get<EnvOptions>(GET_AppConfig_GetAppConfig, null, null, false).pipe(catchError(_ => of({}))),\r\n scope: http.get<AccountScope>(GET_Jace_GetAccountScope, null, null, false).pipe(catchError(_ => of(null))),\r\n locale: loc.Locale.pipe(take(1), catchError(_ => of('it-IT'))),\r\n });\r\n\r\n let usedObservable = config.optionsAndScopeProvider || realObservable;\r\n\r\n return usedObservable.pipe(\r\n tap((res: { appConfig: EnvOptions, scope: AccountScope, locale: string }) => {\r\n myconfig = res.appConfig;\r\n // Setup della source leggibile per l'embedding\r\n (window as any as {__esfaenza_module: string}).__esfaenza_module = myconfig.AppData.ModuleId;\r\n\r\n http.setAppConfig(myconfig);\r\n // L'account scope lo prendo dalla Query a backend solo se non uso il Fake token\r\n if (!bts.USE_FAKE_ACCESS_TOKEN)\r\n bts.accountScope = res.scope;\r\n\r\n console.log(\"%c[APP_INITIALIZER] appConfig and scope registered\", \"background-color: yellow\");\r\n\r\n if (bts.accountScope)\r\n aac.initializeIdentity(bts.getJaceIdentity());\r\n }),\r\n switchMap(_ => {\r\n if (!config.initializerFunction)\r\n return of();\r\n\r\n console.log(\"%c[APP_INITIALIZER] Loading custom application initialization\", \"background-color: yellow\");\r\n return config.initializerFunction(http, bts, aac)().pipe(tap(_ => {\r\n console.log(\"%c[APP_INITIALIZER] Initialization is over\", \"background-color: yellow\");\r\n }));\r\n })\r\n );\r\n }\r\n };\r\n\r\n return {\r\n ngModule: EsFaenzaCoreModule,\r\n providers: [\r\n // *************************** Provider statici ***************************\r\n\r\n ...PROVIDERS,\r\n\r\n // ************************ Provider customizzabili ************************\r\n ...(!config.redirectionMap ? [] : [{ provide: REDIRECT_MAP, useValue: config.redirectionMap }]),\r\n { provide: APP_INITIALIZER, useFactory: mergedAppInitializer, deps: [HTTPService, TokenService, AccessControlService, BaseLocalization], multi: true },\r\n { provide: ROUTES, useValue: baseAppRoutes, multi: true },\r\n { provide: LOC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Localizations) == DebugFlags.Localizations : false },\r\n { provide: EXT_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Extensions) == DebugFlags.Extensions : false },\r\n { provide: ACC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.AccessControl) == DebugFlags.AccessControl : false },\r\n { provide: HTTP_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Http) == DebugFlags.Http : false },\r\n { provide: HTTP_INVALIDATION, useValue: config?.httpInvalidationCache },\r\n { provide: TAB_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Tabber) == DebugFlags.Tabber : false },\r\n { provide: SGR_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.SignalR) == DebugFlags.SignalR : false },\r\n { provide: PREF_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Preferences) == DebugFlags.Preferences : false },\r\n { provide: ESC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Charts) == DebugFlags.Charts : false },\r\n { provide: LOGIN_URL_LEGACY, useValue: config.legacyLogin !== null && config.legacyLogin !== undefined ? config.legacyLogin : false },\r\n { provide: NAVBAR_EXTENSIONS, useValue: config.navbarExtensions ? config.navbarExtensions : [] },\r\n { provide: BaseAdapter, useClass: config?.chartsAdapter || BaseAdapter },\r\n { provide: BaseMessageService, useClass: config?.messageService || BaseMessageService },\r\n { provide: GlobalSearchService, useClass: config?.globalSearchService || GlobalSearchService },\r\n { provide: CompletedJobRedirectionService, useClass: config?.completedJobRedirectionService || CompletedJobRedirectionService },\r\n { provide: MenuFilteringService, useClass: config?.menuFilteringService || MenuFilteringService },\r\n { provide: UserPreferencesService, useClass: config?.userPreferencesProvider || UserPreferencesService },\r\n { provide: MENU_LOCALIZATION, useValue: config.menuLoc || null },\r\n { provide: MENU, useValue: config.menu },\r\n { provide: USE_FAKE_ACCESS_TOKEN, useValue: !!config.fakeAccessToken },\r\n { provide: PreferencesPersistor, useClass: config.fakeAccessToken ? LocalStoragePreferencesPersistor : ApplicationPreferencesPersistor },\r\n { provide: CachePersistor, useClass: config.fakeAccessToken ? LocalStorageCachePersistor : ApplicationCachePersistor }\r\n ]\r\n };\r\n }\r\n}\r\n\r\nexport class EsFaenzaCoreModuleConfig {\r\n /* Route applicative, solo quelle dentro a **pages** */\r\n routes!: Routes;\r\n /* Menù della sidebar dell'applicazione */\r\n menu: ApplicationMenu[];\r\n /* Indica se utilizzare l'access token finto */\r\n fakeAccessToken?: boolean;\r\n /* Tipo da usare per generare le localizzaizoni del menù */\r\n menuLoc?: Type<LocalizationService>;\r\n /* Redirect per la root dell'applicazione, di default è impostato a **dashboard**. Se all'interno delle **routes** non esiste la route **dashboard** è da impostare adeguatamente */\r\n emptyRouteRedirect?: string;\r\n /* Se non specificata viene impostata automaticamente ad \"All\" in fase di debug, \"None\" in produzione (quest'ultimo a prescindere, a meno che **forceDebugModeForProdBuilds** non sia true)*/\r\n debugMode?: DebugFlags;\r\n /* Permette di forzare la modalità di debug specificata anche per le build di produzione, **NON IMPOSTARE A TRUE** a meno di rarissimissimissimi casi */\r\n forceDebugModeForProdBuilds?: boolean;\r\n /* Cache di invalidazione per le chiamate http */\r\n httpInvalidationCache?: any;\r\n /* Funzione di inizializzazione APP_INITIALIZER-like che viene richiamata dopo alla funzione di inizializzazione di default */\r\n initializerFunction?: (http: HTTPService, bts: TokenService, aac: AccessControlService) => () => Observable<any>;\r\n /* Mappa di redirect per permettere al **RedirecterComponent** di sapere dove navigare in base a Oggetto-Parametri */\r\n redirectionMap?: { [index: string]: { url: string, params: string[] } };\r\n /* Adattatore dei grafici nel caso un progetto fosse vecchio (Rimuovibile quando tutti i progetti usano nativamente es-charts) */\r\n chartsAdapter?: Type<BaseAdapter>;\r\n /* Servizio che espone i messaggi disponibili su Signalr */\r\n messageService?: Type<BaseMessageService>;\r\n /* Servizio per la search globale del modulo */\r\n globalSearchService?: Type<GlobalSearchService>;\r\n /* Servizio per filtrare le voci di menù */\r\n menuFilteringService?: Type<MenuFilteringService>;\r\n /* Servizio di ridirezione per job completati */\r\n completedJobRedirectionService?: Type<CompletedJobRedirectionService>;\r\n /* Funzione di override per recuperare account scope e envoptions. Può anche essere utilizzata per fornire modelli finti fino ad implementazione */\r\n optionsAndScopeProvider?: Observable<{ appConfig: EnvOptions, scope: AccountScope, locale: string }>;\r\n /* Lista dei componenti con cui espandere la navbar */\r\n navbarExtensions?: Type<any>[];\r\n /* Servizio di recupero/modifica preferenze utente */\r\n userPreferencesProvider?: Type<UserPreferencesService>;\r\n /* identifica se utilizzare la versione vecchia dell'url di auth (${myconfig.AUTH_URL}/login/form?client=${myconfig.CLIENT_NAME}) invece che la nuova (${myconfig.AUTH_URL}/login;client=${myconfig.CLIENT_NAME}) */\r\n legacyLogin?: boolean;\r\n}\r\n\r\nexport enum DebugFlags {\r\n None = 0,\r\n Localizations = 1 << 0,\r\n Extensions = 1 << 1,\r\n AccessControl = 1 << 2,\r\n Http = 1 << 3,\r\n SignalR = 1 << 4,\r\n Preferences = 1 << 5,\r\n Charts = 1 << 6,\r\n Tabber = 1 << 7,\r\n All = ~(~0 << 8)\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3"],"mappings":"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"}
@@ -14,7 +14,7 @@ import { AppEmbeddingExtensions, ExtensionsModule } from '@esfaenza/extensions';
14
14
  import * as i2$2 from '@esfaenza/httpservice';
15
15
  import * as i1$2 from '@esfaenza/localizations';
16
16
  import { LocalizationService, LocalizationModule } from '@esfaenza/localizations';
17
- import { MENU_LOCALIZATION, MENU, ActiveModuleView, NAVBAR_EXTENSIONS, LOGIN_URL_LEGACY, USE_FAKE_ACCESS_TOKEN, REDIRECT_MAP, EMBEDDED_ROUTE, ROUTE, UpdatePasswordDto } from '@esfaenza/core/domain';
17
+ import { MENU_LOCALIZATION, MENU, NAVBAR_EXTENSIONS, LOGIN_URL_LEGACY, REDIRECT_MAP, EMBEDDED_ROUTE, ROUTE, UpdatePasswordDto } from '@esfaenza/core/domain';
18
18
  import { SlimScroll, ComponentHostDirective, EsModalDirective, Draggable, DirectivesModule } from '@esfaenza/core/directives';
19
19
  import * as i7 from '@esfaenza/es-table';
20
20
  import { EsTableColumnsDefinition, EsTableModule } from '@esfaenza/es-table';
@@ -625,13 +625,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
625
625
  }] });
626
626
 
627
627
  // Angular
628
- // Chiamate ai Repository
629
- const GET_Jace_GetActiveJaceModules = "/api/Jace/GetActiveJaceModules";
630
628
  const GET_Cache_ClearAllCaches = "/api/Cache/ClearAllCaches";
631
629
  const GET_Cache_ClearAllClientsCaches = "/api/Cache/ClearAllClientsCaches";
632
630
  const GET_Cache_ClearAllClientsPreferences = "/api/Cache/ClearAllClientsPreferences";
633
631
  class Navbar extends ReactiveComponent {
634
- constructor(prefsService, cacheService, MessageDef, notifications, msgExts, lc, http, cdr, _state, sr, router, cjrService, extensionComponents, loginUrlLegacy, fakeToken) {
632
+ constructor(prefsService, cacheService, MessageDef, notifications, msgExts, lc, http, cdr, _state, sr, router, cjrService, extensionComponents, loginUrlLegacy) {
635
633
  super();
636
634
  this.prefsService = prefsService;
637
635
  this.cacheService = cacheService;
@@ -647,7 +645,6 @@ class Navbar extends ReactiveComponent {
647
645
  this.cjrService = cjrService;
648
646
  this.extensionComponents = extensionComponents;
649
647
  this.loginUrlLegacy = loginUrlLegacy;
650
- this.fakeToken = fakeToken;
651
648
  this.applicationVersion = myconfig.AppData.ComponentVersion;
652
649
  this.applicationEnvironment = myconfig.AppData.ComponentEnvironment;
653
650
  this.isMenuCollapsed = false;
@@ -661,7 +658,6 @@ class Navbar extends ReactiveComponent {
661
658
  this._state.subscribe("app.startedJob", (_) => { this.cdr.markForCheck(); });
662
659
  this._state.subscribe("app.progressJob", (_) => { this.cdr.markForCheck(); });
663
660
  this.handleBaseNotifications();
664
- this.getActiveJaceModules();
665
661
  // Appena la pagina parte, poi ogni secondo, controllo l'identity per verificare se rimane la stessa
666
662
  interval(1000).pipe(startWith(0), takeUntil(this.destroyed$), takeWhile(_ => !myconfig.redirectInProgress)).subscribe(t => {
667
663
  this.checkIdentity();
@@ -699,17 +695,6 @@ class Navbar extends ReactiveComponent {
699
695
  }
700
696
  this.CurrentIdentity = id;
701
697
  }
702
- getActiveJaceModules() {
703
- if (this.fakeToken) {
704
- this.Modules = [new ActiveModuleView("Modulo Esempio 1"), new ActiveModuleView("Modulo Esempio 2"), new ActiveModuleView("Modulo Esempio 3")];
705
- this._state.Modules = this.Modules;
706
- return;
707
- }
708
- this.http.get(GET_Jace_GetActiveJaceModules).subscribe(res => {
709
- this.Modules = res;
710
- this._state.Modules = this.Modules;
711
- });
712
- }
713
698
  checkSessionTimeout(identity) {
714
699
  if (dayjs() >= dayjs(identity.ExpirationTime).subtract(10, 'minutes') && !myconfig.redirectInProgress) {
715
700
  myconfig.redirectInProgress = true;
@@ -793,7 +778,7 @@ class Navbar extends ReactiveComponent {
793
778
  this.cjrService.redirect(job);
794
779
  }
795
780
  }
796
- Navbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Navbar, deps: [{ token: i1$3.PreferencesService }, { token: i1$3.CacheService }, { token: i2$3.BaseMessageService }, { token: i2$3.NotificationsService }, { token: i2.MessageService }, { token: i1$2.LocalizationService }, { token: i2$2.HTTPService }, { token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i1.TokenService }, { token: i1$1.Router }, { token: i1.CompletedJobRedirectionService }, { token: NAVBAR_EXTENSIONS }, { token: LOGIN_URL_LEGACY }, { token: USE_FAKE_ACCESS_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
781
+ Navbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Navbar, deps: [{ token: i1$3.PreferencesService }, { token: i1$3.CacheService }, { token: i2$3.BaseMessageService }, { token: i2$3.NotificationsService }, { token: i2.MessageService }, { token: i1$2.LocalizationService }, { token: i2$2.HTTPService }, { token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i1.TokenService }, { token: i1$1.Router }, { token: i1.CompletedJobRedirectionService }, { token: NAVBAR_EXTENSIONS }, { token: LOGIN_URL_LEGACY }], target: i0.ɵɵFactoryTarget.Component });
797
782
  Navbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav enuma-navbar\">\r\n <div class=\"d-flex\" style=\"width: 100%;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <div><a (click)=\"toggleMenu()\" class=\"far fa-bars nav-icon app-padding-left-15\" style=\"padding-top: 8px;\"></a></div>\r\n\r\n <!-- Breadcrumb -->\r\n <div class=\"app-padding-left-15\" style=\"padding-top: 8px;\"><ng-content></ng-content></div>\r\n\r\n <div style=\"margin-left: auto; display: flex;\">\r\n <!--Notifications (Jobs)-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <div *ngIf=\"_state.jobsInProgress > 0\" class=\"fa-beat-fade nav-jobs-icon-notification\"></div>\r\n <a [class.fa-shake]=\"_state.jobsInProgress > 0\" class=\"far fa-bell module-nav-menu-link dropdown-toggle app-pointer\" style=\"--fa-animation-duration: 3s; --fa-animation-iteration-count: 1;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span style=\"margin-right: auto;\">{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n <span class=\"m-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></span>\r\n </div>\r\n <div class=\"nav-jobs-menu-list\">\r\n <div *ngIf=\"_state.allJobs.length == 0\" class=\"nav-jobs-menu-list-empty\">\r\n <div>{{\"Al momento non c'\u00E8 nulla in esecuzione\" | localize : lc}}</div>\r\n </div>\r\n <div *ngFor=\"let job of _state.allJobs; let last = last\" [class.app-margin-bottom-5]=\"!last\">\r\n <span class=\"nav-jobs-menu-list-description\">\r\n <span *ngIf=\"!job.completed\" title=\"{{job.description}}\">{{job.smalldescription}}</span>\r\n <span *ngIf=\"job.completed\" title=\"{{job.description}}\" class=\"app-link app-no-selection app-inline app-pointer\" (click)=\"completedJobClicked(job); $event.stopPropagation();\">{{job.smalldescription}}</span>\r\n <strong class=\"pull-right\" *ngIf=\"!job.completed\">{{job.percentage}}%</strong>\r\n <strong class=\"pull-right\" *ngIf=\"job.completed\">{{'Completed' | localize : lc}}</strong>\r\n </span>\r\n <div class=\"progress progress-sm\">\r\n <progressbar *ngIf=\"!job.completed\" [max]=\"100\" [value]=\"job.percentage\" [striped]=\"true\" [animate]=\"true\"></progressbar>\r\n <progressbar *ngIf=\"job.completed\" type=\"success\" [max]=\"100\" [value]=\"100\" [striped]=\"false\" [animate]=\"false\"></progressbar>\r\n </div>\r\n </div>\r\n </div>\r\n </ul>\r\n </div>\r\n \r\n <!--Other Modules-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-cubes module-nav-menu-link dropdown-toggle app-pointer\" (click)=\"goToDashboard()\"></a>\r\n </div>\r\n\r\n <!--Quick Actions-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-folder-gear module-nav-menu-link dropdown-toggle app-pointer\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"d-flex dropdown-title-bg\">\r\n <div class=\"dropdown-title\">Gestisci Cache Utente</div>\r\n </li>\r\n <li class=\"dropdown-top\"></li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\">\r\n <i class=\"far fa-user-times app-margin-right-10\"></i>{{'Ripulisci le Preferenze Utente' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearAll()\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('cache')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache di tutti' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('preferences')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci le Preferenze di tutti' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-bot\"></li>\r\n </ul>\r\n </div>\r\n \r\n <!--Punti di estensione per Calendar, Chatroom e chi pi\u00F9 ne ha pi\u00F9 ne metta...-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n </div>\r\n\r\n <!--Ambiente-->\r\n <div>\r\n <div class=\"nav-environment app-no-selection\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n </div>\r\n\r\n <!--Debugging ruoli e permessi-->\r\n <div [hidden]=\"true\">\r\n <div>Permissions:</div>\r\n <div *ngFor=\"let p of CurrentIdentity.Permissions\">{{p}}</div>\r\n <div>Roles:</div>\r\n <div *ngFor=\"let r of CurrentIdentity.Roles\">{{r}}</div>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- Template per l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div hidden>{{applicationEnvironment}}</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n <div [hidden]=\"true\">\r\n <div>Permissions:</div>\r\n <div *ngFor=\"let p of CurrentIdentity.Permissions\">{{p}}</div>\r\n <div>Roles:</div>\r\n <div *ngFor=\"let r of CurrentIdentity.Roles\">{{r}}</div>\r\n </div>\r\n</ng-template>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-icon-notification{top:7px;left:-7px;position:absolute;background-color:#0056b3;border-radius:50%;height:8px;width:8px}.nav-jobs-menu{width:350px;height:250px;background:white;margin:2px 0 0;padding:5px;border:1px solid #3e4d64}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex}.nav-jobs-menu-header span{color:#fffc}.nav-jobs-menu-list{position:relative;overflow:auto;width:auto;height:203px;padding:5px}.nav-jobs-menu-list-description{font-size:13px;color:#666}.nav-jobs-menu-list-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:15px;text-align:center}.user-menu{font-size:14px}.user-menu .dropdown-toggle:after{display:none}.user-menu .dropdown-menu{right:0;top:auto!important;left:auto!important;margin-top:10px;padding-top:0;overflow:hidden;border-radius:0;font-size:14px;box-shadow:0 6px 12px #0003;transform:none!important}.user-menu .dropdown-menu a{color:#024a88}.user-menu .dropdown-menu a:hover{color:#fff8a9;background-color:red}.user-menu .dropdown-menu a i{margin-right:8px}.navbar-help{font-size:20px!important;color:#ffffff80!important;border:1px solid rgba(255,255,255,.1);margin-left:5px!important;padding:5px 10px 2px 11px!important;border-radius:50%;background-color:#ffffff0d;cursor:pointer;width:31px;height:31px}.navbar-fill{margin-top:-5px;margin-bottom:-5px;margin-left:10px;width:calc(100% - 530px)}.navbar-fillable{width:calc(100% - 231px)}.navbar-floating-label{position:absolute;top:-9px;left:-5px;background:#242D3A;padding-left:5px;padding-right:5px;color:#ffffffe6!important}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:8px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.dropdown-title-bg{background-color:#344154;border:1px solid #3e4d64;border-bottom:0px}.dropdown-title{color:#fff;margin:auto;padding:8px 0;font-size:18px}.dropdown-menu{background-color:#fff;border:none}.dropdown-divider{border-top:1px solid #eeeeee}.dropdown-item{background-color:#fff;color:#0056b3}.dropdown-item:hover{color:#004a9a!important;background-color:#eee}.dropdown-top{background-color:#fff;height:0;margin-bottom:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.dropdown-bot{background-color:#fff;height:0;margin-top:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.enuma-navbar{height:60px;align-items:center;background-color:#2a3544;box-shadow:0 8px 6px -6px #1313130a,0 12px 16px -16px #1313130d;margin-bottom:-1px;border-bottom:1px solid #191E29}.nav-environment{color:#fff;background-color:#3e4d64;text-align:center;padding:5px 10px;margin:2px 10px 0 0}.nav-icon{color:#fff!important;font-size:20px;cursor:pointer}.nav-right-section{position:absolute;right:10px;top:10px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i9.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i9.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i9.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i10.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ProgressbarModule }, { kind: "component", type: i11.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$2.LocalizePipe, name: "localize" }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
798
783
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Navbar, decorators: [{
799
784
  type: Component,
@@ -804,9 +789,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
804
789
  }] }, { type: undefined, decorators: [{
805
790
  type: Inject,
806
791
  args: [LOGIN_URL_LEGACY]
807
- }] }, { type: undefined, decorators: [{
808
- type: Inject,
809
- args: [USE_FAKE_ACCESS_TOKEN]
810
792
  }] }]; }, propDecorators: { navbar: [{
811
793
  type: ViewChild,
812
794
  args: ["navbar", { static: false }]