@esfaenza/core 15.2.26 → 15.2.28
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.
- package/domain/models/jace/JaceModule.d.ts +4 -3
- package/domain/models/jace/JacePermission.d.ts +6 -6
- package/domain/models/jace/JaceRole.d.ts +6 -6
- package/esm2020/components/navbar/navbar.component.mjs +2 -1
- package/esm2020/domain/models/jace/JaceModule.mjs +7 -1
- package/esm2020/domain/models/jace/JacePermission.mjs +1 -1
- package/esm2020/domain/models/jace/JaceRole.mjs +1 -1
- package/esm2020/lib/app.component.mjs +7 -7
- package/esm2020/lib/core.module.mjs +4 -2
- package/esm2020/services/classes/app.accesstoken.mjs +981 -2
- package/esm2020/services/classes/app.httpextensions.mjs +2 -2
- package/esm2020/services/classes/app.session.mjs +2 -2
- package/fesm2015/esfaenza-core-components.mjs +1 -0
- package/fesm2015/esfaenza-core-components.mjs.map +1 -1
- package/fesm2015/esfaenza-core-domain.mjs +6 -0
- package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2015/esfaenza-core-services.mjs +982 -3
- package/fesm2015/esfaenza-core-services.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +9 -7
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +1 -0
- package/fesm2020/esfaenza-core-components.mjs.map +1 -1
- package/fesm2020/esfaenza-core-domain.mjs +6 -0
- package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2020/esfaenza-core-services.mjs +982 -3
- package/fesm2020/esfaenza-core-services.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +9 -7
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/package.json +1 -1
- package/services/classes/app.accesstoken.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esfaenza-core-services.mjs","sources":["../../../projects/core/services/src/classes/app.accesstoken.ts","../../../projects/core/services/src/classes/app.globalsearch.ts","../../../projects/core/services/src/classes/app.errorhandler.ts","../../../projects/core/services/src/classes/app.event.ts","../../../projects/core/services/src/classes/app.httpextensions.loc.ts","../../../projects/core/services/src/classes/app.state.ts","../../../projects/core/services/src/classes/app.httpextensions.ts","../../../projects/core/services/src/classes/app.menufilter.ts","../../../projects/core/services/src/classes/app.completedjobredirection.ts","../../../projects/core/services/src/classes/app.session.ts","../../../projects/core/services/src/classes/preferences/app.cache.persistor.ts","../../../projects/core/services/src/classes/preferences/app.preference.persistor.ts","../../../projects/core/services/src/classes/app.routeguard.ts","../../../projects/core/services/src/esfaenza-core-services.ts"],"sourcesContent":["// Angular\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\n// Applicazione\r\nimport { AccountScope, JaceIdentity, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TokenService {\r\n \r\n public accountScope: AccountScope;\r\n\r\n constructor(public cs: CookieService, @Optional() @Inject(USE_FAKE_ACCESS_TOKEN) private USE_FAKE_ACCESS_TOKEN: boolean) { }\r\n\r\n clearTokens(): void {\r\n this.cs.delete(\"access_token\");\r\n }\r\n\r\n getAccessToken(): String {\r\n return this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n }\r\n\r\n getJaceIdentity(): JaceIdentity {\r\n let token = this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n if (!token)\r\n return null;\r\n\r\n let base64Url = token.split(\".\")[1];\r\n let base64 = base64Url.replace(\"-\", \"+\").replace(\"_\", \"/\");\r\n let tokenData = JSON.parse(decodeURIComponent(window.atob(base64).split(\"\").map(c => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2)).join(\"\")));\r\n\r\n let identity: JaceIdentity = new JaceIdentity(this.accountScope);\r\n identity.IdAccount = tokenData.ACCOUNTID;\r\n identity.IdUser = tokenData.USERID;\r\n identity.DsUser = tokenData.USERNAME;\r\n identity.FullName = tokenData.USERDESCRIPTION;\r\n identity.Idtenant = tokenData.TENANT;\r\n identity.TenantName = tokenData.TENANTNAME;\r\n identity.ExpirationTime = new Date(tokenData.exp * 1000);//unix-epoch in secondi -> millisecondi\r\n\r\n return identity;\r\n }\r\n\r\n //Accesstoken fittizio ma valido, per simulare la connession corretta col backend\r\n private getFakeToken(): string {\r\n return \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE1OTA0MTU4NDYsImV4cCI6MTk5MDQyMDA2NSwiaXNzIjoiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYiLCJhdWQiOlsiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYvcmVzb3VyY2VzIiwiYXV0aGVudGljYXRpbyJdLCJjbGllbnRfaWQiOiJtZXRlcmluZ3N0YWdpbmciLCJzdWIiOiIxMDAzIiwiYXV0aF90aW1lIjoxNTkwNDE1ODQ2LCJpZHAiOiJsb2NhbCIsIkFDQ09VTlRJRCI6IjEwMDMiLCJVU0VSSUQiOiIyNTkiLCJVU0VSREVTQ1JJUFRJT04iOiJUZXN0IFVzZXIiLCJVU0VSTkFNRSI6IlRFU1QiLCJURU5BTlQiOiJGWCIsIlRFTkFOVE5BTUUiOiJGZW5peCBTcmwiLCJyb2xlIjpbIkJhY2tvZmZpY2UiLCJEYXRhIE1hbmFnZXIiLCJUcmFkaW5nIiwiUmVtaXQgTWFuYWdlciIsIlRlbmFudCBSZWFkZXIiLCJDb21wbC4gQVJFUkEgUmVhZGVyIiwiQ29tcGwuIEFSRVJBIFdyaXRlciBMMSIsIkNvbXBsLiBBUkVSQSBXcml0ZXIgTDIiLCJKYWNlIEFkbWluIl0sIk1PRFVMRSI6WyIzNiIsIjM3IiwiMTQiLCI1IiwiMzIiLCIxNSIsIjQyIiwiOCIsIjE3IiwiMTEiLCIyMSIsIjkiLCIzOCIsIjE4IiwiNyIsIjM0IiwiMTYiLCIyMCIsIjE5IiwiMSIsIjIiLCIzMSIsIjEyIiwiMTAiLCIzMyIsIjQwIiwiMjIiLCIxMyIsIjYiXSwiUEVSTUlTU0lPTiI6WyJleHRyYWN0X2RhdGEiLCJtZG1fcmVhZCIsIm1kbV9hZHZfb3AiLCJtZG1fY2ZnX2Jhc2UiLCJjcmVhdGVfdHJhZGUiLCJtZG1fbWFzc19kZWwiLCJzZW5kX2NvbW0iLCJtZG1fZmN0IiwibWRtX2NmZ19hZHYiLCJtZG1fY2ZnX3JlYWQiLCJtYW5hZ2VfZWxlIiwibWFuYWdlX2dhcyIsImNvbmZpcm1fdHJhZGUiLCJtZG1fY3VzdG9taXplIiwibmV3X2NvbW0iLCJtZG1fbWFzc19mY3QiLCJtZG1fb3AiLCJ2aWV3X2JpbGxpbmciLCJtZG1fbWFzc19vcCIsIm1kbV9hZHZfcmVhZCJdLCJqdGkiOiIwZTUzMDc1NjE2MDZlNDQ0ZTI4ODViMTFhMzE0NDQyMSIsInNjb3BlIjpbImF1dGgiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicGFzc3dvcmQiXSwiaWF0IjoxNTkwNDE2NDY1fQ.MNcphwkIwvLFDDpLaFDN3GK11lgT2aqvXa8s7bQJgdE\";\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { KeyValue, SearchResultContainer } from \"@esfaenza/core/domain\";\r\n\r\n// Rxjs\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class GlobalSearchService {\r\n public Enabled: boolean = false;\r\n\r\n /**\r\n * Effettua una ricerca in base a un termine generico\r\n * \r\n * @param term Termine da cercare\r\n * @returns {SearchResultContainer} Contenitore della ricerca\r\n */\r\n public search(term: string): Observable<SearchResultContainer> {\r\n return of(null);\r\n }\r\n\r\n /**\r\n * Data la definizione semplice di una colonna restituisce un oggetto che indica se bisogna presentere un link su di essa\r\n * \r\n * @param column Colonna per cui verificare la presentazione di un link. Esempio: {id: \"IDPARTY\", description: \"Cod. Controparte\"}\r\n * @returns {{ routePath: string, routeProperties: string[] }} Oggetto che indica un link con i propri binding. Ad esempio: {routePath: \"['/pages/parties/parties_details', { 'idModel': '{0}' }]\", routeProperties: [\"IDPARTY\"]}\r\n */\r\n public generateColumnLink(column: KeyValue): { routePath: string, routeProperties: string[] } {\r\n return null;\r\n }\r\n}","// Angular\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions\r\n\r\n@Injectable()\r\nexport class APPErrorHandler implements ErrorHandler {\r\n private router;\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error) {\r\n if (this.router == null)\r\n this.router = this.injector.get(Router);\r\n\r\n //Ignoro eventuali errori di javascript quando il redirect è attivo\r\n if (myconfig && myconfig.redirectInProgress) {\r\n console.log(\"Javascript error on redirect in progress, ignoring this event\");\r\n return;\r\n }\r\n\r\n //In caso io abbia impostato succesresultmandatory nell'httprequest e questa abbia dato errore tiro fuori un exception che dev'essere mostrata come si deve\r\n var newError = \"\";\r\n if (!error.message && !error.stack)\r\n newError = error\r\n else if (error instanceof HttpErrorResponse)\r\n newError = error.message;\r\n else\r\n newError = error.stack && error.stack.length > 1000 ? error.stack.substring(0, 999) + \"[...]\" : error.stack;\r\n\r\n var pars = { errorMessage: this.b64EncodeUnicode(newError), fromUrl: this.router.url };\r\n this.router.navigate([\"/anerr\", pars]);\r\n }\r\n\r\n b64EncodeUnicode(str) {\r\n // first we use encodeURIComponent to get percent-encoded UTF-8,\r\n // then we convert the percent encodings into raw bytes which\r\n // can be fed into btoa.\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n }\r\n}","// Angular\r\nimport { Injectable, NgZone } from \"@angular/core\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OutZoneEventPlugin {\r\n\r\n constructor(private zone: NgZone) { }\r\n\r\n supports(eventName: string): boolean {\r\n return eventName.endsWith('out-zone');\r\n }\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n let eventOriginalName = eventName.split('.')[0];\r\n let standardHandler = (event: Event) => originalHandler(event)\r\n if (eventName.endsWith('out-zone'))\r\n this.zone.runOutsideAngular(() => { element.addEventListener(eventOriginalName, standardHandler); });\r\n else\r\n element.addEventListener(eventOriginalName, standardHandler)\r\n\r\n return () => element.removeEventListener(eventOriginalName, standardHandler);\r\n }\r\n}","import { Injectable, Injector } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensionsLoc extends LocalizationService {\r\n constructor(injector: Injector) {\r\n super(injector);\r\n super.set(\"it->en\", \"Il Server sembra essere offline, prova a ricaricare la pagina\", [\"Server seems to be offline, try to reload this page\"]);\r\n }\r\n}","// Angular\r\nimport { ActivatedRouteSnapshot, Router } from \"@angular/router\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseMessageService, NotificationsService, JobProgressDto } from \"@esfaenza/signalr-notifications\";\r\nimport { InboundMessageTypes, InterComMessage, InterComService } from \"@esfaenza/extensions\";\r\nimport { AdmMessageTypes, MK_ADM } from \"@esfaenza/admin-module\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n// Core\r\nimport { ActiveModuleView, ApplicationJob, JaceIdentity } from \"@esfaenza/core/domain\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport * as customParseFormat from 'dayjs/plugin/customParseFormat';\r\nimport * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\r\nimport * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\r\nimport * as isBetween from 'dayjs/plugin/isBetween';\r\nimport * as duration from 'dayjs/plugin/duration';\r\nimport * as minMax from 'dayjs/plugin/minMax';\r\nimport * as utc from 'dayjs/plugin/utc';\r\nimport { Subject } from \"rxjs\";\r\n\r\ndeclare var dayjs: any;\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class AppState {\r\n\r\n public sidebarWidth: number;\r\n public headerHeight: number;\r\n public redirectingToLogin: boolean = false;\r\n public handlingError: boolean = false;\r\n public christmasTime: boolean = false;\r\n public halloweenTime: boolean = false;\r\n\r\n private JaceIdentity: JaceIdentity;\r\n\r\n public jobsInProgress: number = 0;\r\n public allJobs: ApplicationJob[] = [];\r\n private jobWithIdsCache: { [index: string]: ApplicationJob } = {};\r\n public notifyOnCompletedJobs: boolean = true;\r\n\r\n private _data = new Subject<Object>();\r\n private _dataStream$ = this._data.asObservable();\r\n\r\n private _subscriptions: Map<string, Array<Function>> = new Map<string, Array<Function>>();\r\n\r\n public ModulesLocalizations: { [id: string]: LocalizationService } = {};\r\n\r\n public Embedded: boolean = false;\r\n public EmbeddingLevel: number = 0;\r\n public MainWindow: any;\r\n\r\n private _modules: ActiveModuleView[];\r\n public set Modules(modules: ActiveModuleView[]) {\r\n this._modules = modules;\r\n this.notifyDataChanged(\"modules.Retrieved\", this._modules);\r\n }\r\n public get Modules(): ActiveModuleView[] { return this._modules; }\r\n\r\n constructor(private lc: LocalizationService, private bts: TokenService, private notifications: NotificationsService, private MessageDef: BaseMessageService, private intercom: InterComService, private router: Router) {\r\n this.setupEmbeddability();\r\n this.setupDayjs();\r\n this.setupSignalRJobListening();\r\n\r\n this.JaceIdentity = null;\r\n this._dataStream$.subscribe((data) => this._onEvent(data));\r\n\r\n //Decide se siamo attorno a natale\r\n var today = dayjs();\r\n var lowerBound = dayjs(\"18/12/\" + today.year(), \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"07/01/\" + (today.year() + 1), \"DD/MM/YYYY\");\r\n this.christmasTime = today > lowerBound && today < upperBound;\r\n\r\n //Decide se siamo attorno ad halloween\r\n var lowerBound = dayjs(\"28/10/\" + today.year(), \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"05/11/\" + today.year(), \"DD/MM/YYYY\");\r\n this.halloweenTime = today > lowerBound && today < upperBound;\r\n\r\n this.intercom.inbounds.subscribe((t: InterComMessage) => { this.handleInboundMessage(t); });\r\n }\r\n\r\n setupEmbeddability() {\r\n window.onmessage = (event: MessageEvent) => {\r\n // Ignoro i miei messaggi dato che mi interessano solo quelli degli altri iframe\r\n if (event.source == window && event?.data?.type != \"modal-open\")\r\n return;\r\n \r\n if (event?.data?.type == \"navigate\") {\r\n console.log(`Window message - navigate -> ${event?.data?.url}`);\r\n \r\n this.router.navigate([event?.data?.url]);\r\n }\r\n\r\n if (event?.data?.type == \"navigation\") {\r\n console.log(`Window message - Navigation -> ${event?.data?.internalNavigation ? \"[internal]\" : \"\"} ${event?.data?.title}`);\r\n \r\n if (event?.data?.internalNavigation)\r\n this.notifyDataChanged(\"menu.adjustSubNavigationTo\", event?.data?.title);\r\n else\r\n this.notifyDataChanged(\"menu.adjustNavigationTo\", event?.data?.title);\r\n }\r\n \r\n if (event?.data?.type == \"modal-open\") {\r\n const wrapper = document.body.getElementsByClassName(\"main-wrapper\")[0] as HTMLElement;\r\n let wrapperStyles = window.getComputedStyle(wrapper);\r\n const wrapperPaddingLeft = parseInt(wrapperStyles.getPropertyValue(\"padding-left\"));\r\n const wrapperPaddingRight = parseInt(wrapperStyles.getPropertyValue(\"padding-right\"));\r\n \r\n console.log(`Window message - Modal Open -> Backdrop Height: ${event?.data?.backdropHeight}`);\r\n \r\n var topHeight: number = 116; // valore fisso, distanza fra il top e l'inizio dell'iframe, non sarà mai diverso\r\n var rightSpace: number = wrapperPaddingRight; // valore fisso, distanza fra la fine dell'iframe e il lato sinistro dello schermo, non sarà mai diverso\r\n var leftSpace: number = this.sidebarWidth + wrapperPaddingLeft;\r\n \r\n let commonStyles = \"position: absolute; z-index: 9999; background-color: #000; opacity: 0.5; \";\r\n \r\n wrapper.style.setProperty(\"overflow\", \"hidden\", \"important\");\r\n \r\n const top = document.createElement(\"div\");\r\n top.className = \"embedded-modal-top\";\r\n top.style.cssText = commonStyles + `height: ${topHeight}px; top: 0; width: calc(100% - ${leftSpace}px); left: ${leftSpace}px`;\r\n top.id = \"top\";\r\n \r\n const left = document.createElement(\"div\");\r\n left.className = \"embedded-modal-left\";\r\n left.style.cssText = commonStyles + `height: 100%; top: 0; width: ${leftSpace}px;`;\r\n left.id = \"left\";\r\n \r\n const right = document.createElement(\"div\");\r\n right.className = \"embedded-modal-right\";\r\n right.style.cssText = commonStyles + `height: calc(100% - ${topHeight}px); top: ${topHeight}px; right: 0; width: ${rightSpace}px;`;\r\n right.id = \"right\";\r\n \r\n document.body.appendChild(top);\r\n document.body.appendChild(left);\r\n document.body.appendChild(right);\r\n }\r\n \r\n if (event?.data?.type == \"modal-close\") {\r\n console.log(`Window message - Modal Close`);\r\n \r\n let wrapper = document.body.getElementsByClassName(\"main-wrapper\")[0] as HTMLElement;\r\n wrapper.style.removeProperty(\"overflow\");\r\n \r\n const top = document.getElementById(\"top\");\r\n const left = document.getElementById(\"left\");\r\n const right = document.getElementById(\"right\");\r\n \r\n if (top)\r\n document.body.removeChild(top);\r\n if (left)\r\n document.body.removeChild(left);\r\n if (right)\r\n document.body.removeChild(right);\r\n }\r\n };\r\n \r\n this.subscribe(\"menu.isCollapsed\", () => {\r\n const wrapper = document.body.getElementsByClassName(\"main-wrapper\")[0] as HTMLElement;\r\n let wrapperStyles = window.getComputedStyle(wrapper);\r\n const wrapperPaddingLeft = parseInt(wrapperStyles.getPropertyValue(\"padding-left\"));\r\n var leftSpace: number = this.sidebarWidth + wrapperPaddingLeft;\r\n \r\n const left = document.getElementById(\"left\");\r\n const top = document.getElementById(\"top\");\r\n \r\n if (top) {\r\n top.style.setProperty(\"left\", (leftSpace) + \"px\");\r\n top.style.setProperty(\"width\", `calc(100% - ${leftSpace}px)`);\r\n }\r\n \r\n if (left)\r\n left.style.setProperty(\"width\", leftSpace + \"px\");\r\n });\r\n \r\n this.MainWindow = <{ parent: any, postMessage: Function }>window;\r\n while (this.MainWindow.parent != this.MainWindow) {\r\n this.MainWindow = this.MainWindow.parent;\r\n this.EmbeddingLevel++;\r\n this.Embedded = true;\r\n }\r\n \r\n if (this.Embedded)\r\n document.body.style.setProperty(\"overflow-y\", \"auto\", \"important\");\r\n }\r\n\r\n registerNavigationIfMeaningful(route?: ActivatedRouteSnapshot) {\r\n let title = route.data[\"title\"];\r\n let internal = route.data[\"internalNavigation\"]\r\n\r\n // Permette di chiamare sto registerNavigation a prescindere e fare opt out se non è una route navigabile\r\n if(!title) return;\r\n\r\n /*\r\n * Parent ({url: [{path: \"{module}\"}]})\r\n * Parent ({url: [{path: \"\"}]}) (Root del modulo lazy)\r\n * -> Navigazione attuale <-\r\n */\r\n let module = route.parent?.parent?.url[0]?.path;\r\n let loc = module ? this.ModulesLocalizations[module] : null;\r\n\r\n if (!module)\r\n console.error(\"Impossibile estrapolare il modulo dalla navigazione (Atteso Modulo al secondo livello di parentela partendo dal componente attuale): \" + route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'));\r\n\r\n this.notifyDataChanged(internal ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", loc ? loc.loc(title) : title);\r\n }\r\n\r\n handleInboundMessage(t: InterComMessage) {\r\n switch (t.type) {\r\n case InboundMessageTypes.Navigation:\r\n {\r\n this.notifyDataChanged(t.message.sub ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", t.message.routeTitle);\r\n this.intercom.send(AdmMessageTypes.Message, \"Navigation Message Received\", MK_ADM);\r\n }\r\n }\r\n }\r\n\r\n setupDayjs() {\r\n dayjs.extend((<any>customParseFormat).default || customParseFormat);\r\n dayjs.extend((<any>minMax).default || minMax);\r\n dayjs.extend((<any>isBetween).default || isBetween);\r\n dayjs.extend((<any>isSameOrBefore).default || isSameOrBefore);\r\n dayjs.extend((<any>isSameOrAfter).default || isSameOrAfter);\r\n dayjs.extend((<any>duration).default || duration);\r\n dayjs.extend((<any>utc).default || utc);\r\n\r\n // Require e collegamento con la localizzazione per dayjs\r\n import(\"dayjs/locale/\" + this.lc.SmallLocale + \".js\").then(locale => { dayjs.locale(locale); });\r\n }\r\n\r\n setupSignalRJobListening() {\r\n this.notifications.observe(this.MessageDef.IN_JobProgressNotification).subscribe((ev: JobProgressDto) => {\r\n var desc = ev.description + \" (\" + ev.user + \")\";\r\n let job: ApplicationJob = {\r\n id: ev.instance,\r\n description: desc,\r\n smalldescription: desc.length > 35 ? desc.substring(0, 30) + \"...\" : desc,\r\n percentage: this.roundToTwo(ev.progress),\r\n completed: ev.type == 'Completed',\r\n fileid: ev.resultfile,\r\n reportid: ev.resultreport,\r\n reportpars: ev.resultreportparams,\r\n complexreportid: ev.resultcomplexreport\r\n };\r\n\r\n switch (ev.type) {\r\n case \"Started\":\r\n if (this.jobWithIdsCache[ev.instance]) {\r\n console.warn(\"Job already registered on the 'Started' callback\");\r\n return;\r\n }\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n break;\r\n case \"Progress\":\r\n // Se mi arriva un progress di un job che non ho significa che mi sono loggato ora con dei Job in corso\r\n // quindi per prima cosa devo metterlo in lista\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n this.jobWithIdsCache[ev.instance].percentage = this.roundToTwo(ev.progress);\r\n break;\r\n case \"Completed\":\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n var jobToUpdate = this.jobWithIdsCache[ev.instance];\r\n jobToUpdate.percentage = 100;\r\n jobToUpdate.fileid = ev.resultfile;\r\n jobToUpdate.reportid = ev.resultreport;\r\n jobToUpdate.reportpars = ev.resultreportparams;\r\n jobToUpdate.completed = true;\r\n\r\n if (this.notifyOnCompletedJobs)\r\n this.notifyDataChanged(\"app.completedJob\", jobToUpdate.description);\r\n\r\n break;\r\n }\r\n\r\n this.jobsInProgress = this.allJobs.filter(t => !t.completed).length;\r\n });\r\n }\r\n\r\n roundToTwo(num) {\r\n return Math.round(num * 100) / 100;\r\n }\r\n\r\n getJaceIDentity(): JaceIdentity {\r\n if (this.JaceIdentity)\r\n return this.JaceIdentity;\r\n this.JaceIdentity = this.bts.getJaceIdentity();\r\n return this.JaceIdentity;\r\n }\r\n\r\n notifyDataChanged(event, value) {\r\n this._data[event] = value;\r\n this._data.next({\r\n event: event,\r\n data: this._data[event]\r\n });\r\n }\r\n\r\n subscribe(event: string, callback: Function) {\r\n var subscribers = this._subscriptions.get(event) || [];\r\n subscribers.push(callback);\r\n\r\n this._subscriptions.set(event, subscribers);\r\n }\r\n\r\n _onEvent(data: any) {\r\n var subscribers = this._subscriptions.get(data[\"event\"]) || [];\r\n\r\n subscribers.forEach((callback) => {\r\n callback.call(null, data[\"data\"]);\r\n });\r\n }\r\n\r\n public setSidebarWidth(width: number) {\r\n this.sidebarWidth = width;\r\n }\r\n\r\n public setHeaderHeight(height: number) {\r\n this.headerHeight = height;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlService } from \"@esfaenza/access-control\";\r\nimport { HttpServiceExtensions } from \"@esfaenza/httpservice\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { HTTPServiceExtensionsLoc } from \"./app.httpextensions.loc\";\r\nimport { AppState } from \"./app.state\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensions implements HttpServiceExtensions {\r\n\r\n constructor(private lc: LocalizationService, private tks: TokenService, private as: AppState, private router: Router, private ac: AccessControlService, private msgs: MessageService) {\r\n this.lc = this.lc.generateFromType(HTTPServiceExtensionsLoc)\r\n }\r\n\r\n //Gestione Auth\r\n retrieveAccessToken(): string {\r\n return this.tks.getAccessToken().toString();\r\n }\r\n\r\n retrieveIdentity(): { IdUser: string; Idtenant: string; } {\r\n return <any>this.tks.getJaceIdentity();\r\n }\r\n\r\n //Gestione ridirezione al login / altre pagine\r\n readRedirectingToLogin(): boolean {\r\n return this.as.redirectingToLogin;\r\n }\r\n\r\n writeRedirectingToLogin(status: boolean) {\r\n this.as.redirectingToLogin = status;\r\n }\r\n\r\n redirectToLogin(): void {\r\n console.log(\"httpextensions: redirecting to login\");\r\n this.router.navigate([\"login\", { fromUrl: this.router.url }]);\r\n }\r\n\r\n readRedirectionStatus(): boolean {\r\n return myconfig?.redirectInProgress;\r\n }\r\n\r\n writeRedirectionStatus(status: boolean): void {\r\n myconfig.redirectInProgress = status;\r\n }\r\n\r\n //Gestione error handling flag\r\n readHandlingErrorStatus(): boolean {\r\n return this.as.handlingError;\r\n }\r\n\r\n writeHandlingErrorStatus(status: boolean) {\r\n this.as.handlingError = status;\r\n }\r\n\r\n // 444, se false passa a handleBlockingException\r\n handleNotConfiguredException(): boolean {\r\n if (this.ac.has(\"P:mdm_customize\")) {\r\n myconfig.redirectInProgress = true;\r\n this.as.handlingError = false;\r\n this.router.navigate([\"pages/adm/tenantconfig\"]);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // 400, 403, 404, 444\r\n handleBlockingException(status: number, text: string) {\r\n this.msgs.simpleError(status + \": \" + text)\r\n this.as.handlingError = false;\r\n }\r\n\r\n // Tutto quello che non è gestito da handleBlockingException\r\n handleException(status: number, text: string) {\r\n if (status == 503) {\r\n this.msgs.simpleError(this.lc.loc(\"Il Server sembra essere offline, prova a ricaricare la pagina\"));\r\n this.as.handlingError = false;\r\n }\r\n else if (status == 542) {\r\n this.msgs.simpleError(text);\r\n this.as.handlingError = false;\r\n }\r\n else {\r\n var st = btoa(encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n var pars = { statusCode: status, statusText: st, fromUrl: this.router.url };\r\n this.router.navigate([\"iserr\", pars]);\r\n }\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationMenu } from \"@esfaenza/core/domain\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MenuFilteringService {\r\n /**\r\n * Applica un filtro agli elementi di menù in modo da poterli filtrare in base a condizioni arbitrarie (inclusi check lato BE)\r\n * \r\n * @param rawMenus Menù originali, non filtrati\r\n * @returns {Observable<ApplicationMenu[]>} Menù filtrati\r\n */\r\n public filter(rawMenus: ApplicationMenu[]): Observable<ApplicationMenu[]> {\r\n return of(rawMenus);\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationJob } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable()\r\nexport class CompletedJobRedirectionService {\r\n /**\r\n * Effettua un'operazione di redirect basata sul Job Completato\r\n * \r\n * @param completedJob Job appena completato per cui effettuare un redirect\r\n */\r\n public redirect(completedJob: ApplicationJob): void {\r\n\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever } from \"@esfaenza/preferences\";\r\n\r\n// Applicazione\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n// Core\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SessionRetriever implements BaseSessionRetriever {\r\n\r\n private SessionIdentity: string;\r\n\r\n constructor(private bts: TokenService, private router: Router) { }\r\n\r\n /** Tenant§Account§User§ModuleId */\r\n getSessionKey(): string {\r\n if (this.SessionIdentity)\r\n return this.SessionIdentity;\r\n\r\n // Se non ho un id mi manca il login, quindi via di qua\r\n var id = this.bts.getJaceIdentity();\r\n if (!id) {\r\n console.log(\"no identity, redirecting to login\")\r\n this.router.navigate([\"login\"]);\r\n return \"\";\r\n }\r\n\r\n this.SessionIdentity = \"\" + id.Idtenant + \"§\" + id.IdAccount + \"§\" + id.IdUser + \"§\" + myconfig?.AppData?.ModuleId;\r\n return this.SessionIdentity;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, CachePersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Cache_Sessions: string = \"/api/Cache/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationCachePersistor extends CachePersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Cache_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, PreferencesPersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Preferences_Sessions: string = \"/api/Preferences/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationPreferencesPersistor extends PreferencesPersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Preferences_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlRouteGuard, AccessControlService } from \"@esfaenza/access-control\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n@Injectable()\r\nexport class BaseRouterGuard extends AccessControlRouteGuard {\r\n constructor(ms: MessageService, acc: AccessControlService, router: Router, ts: TokenService) {\r\n super(ms, acc, router);\r\n\r\n if (!acc.Initialized)\r\n acc.initializeIdentity(ts.getJaceIdentity());\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.TokenService","i3.AppState","i4","i5","i6","i1.TokenService","i2","i3.TokenService","i3","i4.TokenService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"esfaenza-core-services.mjs","sources":["../../../projects/core/services/src/classes/app.accesstoken.ts","../../../projects/core/services/src/classes/app.globalsearch.ts","../../../projects/core/services/src/classes/app.errorhandler.ts","../../../projects/core/services/src/classes/app.event.ts","../../../projects/core/services/src/classes/app.httpextensions.loc.ts","../../../projects/core/services/src/classes/app.state.ts","../../../projects/core/services/src/classes/app.httpextensions.ts","../../../projects/core/services/src/classes/app.menufilter.ts","../../../projects/core/services/src/classes/app.completedjobredirection.ts","../../../projects/core/services/src/classes/app.session.ts","../../../projects/core/services/src/classes/preferences/app.cache.persistor.ts","../../../projects/core/services/src/classes/preferences/app.preference.persistor.ts","../../../projects/core/services/src/classes/app.routeguard.ts","../../../projects/core/services/src/esfaenza-core-services.ts"],"sourcesContent":["// Angular\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\n// Applicazione\r\nimport { AccountScope, JaceIdentity, JaceModule, USE_FAKE_ACCESS_TOKEN } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TokenService {\r\n\r\n public accountScope: AccountScope;\r\n\r\n constructor(public cs: CookieService, @Optional() @Inject(USE_FAKE_ACCESS_TOKEN) public USE_FAKE_ACCESS_TOKEN: boolean) {\r\n if (this.USE_FAKE_ACCESS_TOKEN)\r\n this.accountScope = this.getFakeAccountScope();\r\n }\r\n\r\n clearTokens(): void {\r\n this.cs.delete(\"access_token\");\r\n }\r\n\r\n getAccessToken(): String {\r\n return this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n }\r\n\r\n getJaceIdentity(): JaceIdentity {\r\n let token = this.USE_FAKE_ACCESS_TOKEN ? this.getFakeToken() : this.cs.get(\"accessToken\");\r\n if (!token)\r\n return null;\r\n\r\n let base64Url = token.split(\".\")[1];\r\n let base64 = base64Url.replace(\"-\", \"+\").replace(\"_\", \"/\");\r\n let tokenData = JSON.parse(decodeURIComponent(window.atob(base64).split(\"\").map(c => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2)).join(\"\")));\r\n\r\n let identity: JaceIdentity = new JaceIdentity(this.accountScope);\r\n identity.IdAccount = tokenData.ACCOUNTID;\r\n identity.IdUser = tokenData.USERID;\r\n identity.DsUser = tokenData.USERNAME;\r\n identity.FullName = tokenData.USERDESCRIPTION;\r\n identity.Idtenant = tokenData.TENANT;\r\n identity.TenantName = tokenData.TENANTNAME;\r\n identity.ExpirationTime = new Date(tokenData.exp * 1000);//unix-epoch in secondi -> millisecondi\r\n\r\n return identity;\r\n }\r\n\r\n //Accesstoken fittizio ma valido, per simulare la connession corretta col backend\r\n private getFakeToken(): string {\r\n\r\n /* Il Token generato è il seguente:\r\n\r\n {\r\n \"nbf\": 1590415846,\r\n \"exp\": 1990420065,\r\n \"iss\": \"http://authapi.jace.energysoftware.priv\",\r\n \"aud\": [ \"http://authapi.jace.energysoftware.priv/resources\", \"authentication\" ],\r\n \"client_id\": \"application\",\r\n \"sub\": \"1003\",\r\n \"auth_time\": 1590415846,\r\n \"idp\": \"local\",\r\n \"ACCOUNTID\": \"1003\",\r\n \"USERID\": \"259\",\r\n \"USERDESCRIPTION\": \"Test User\",\r\n \"USERNAME\": \"TEST\",\r\n \"TENANT\": \"FX\",\r\n \"TENANTNAME\": \"Fenix Srl\",\r\n \"jti\": \"0e5307561606e444e2885b11a3144421\",\r\n \"scope\": [ \"auth\", \"offline_access\" ],\r\n \"amr\": [\"password\" ],\r\n \"iat\": 1590416465\r\n }\r\n */\r\n return \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYmYiOjE1OTA0MTU4NDYsImV4cCI6MTk5MDQyMDA2NSwiaXNzIjoiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYiLCJhdWQiOlsiaHR0cDovL2F1dGhhcGlzdGFnaW5nYS5qYWNlLmVuZXJneXNvZnR3YXJlLnByaXYvcmVzb3VyY2VzIiwiYXV0aGVudGljYXRpbyJdLCJjbGllbnRfaWQiOiJtZXRlcmluZ3N0YWdpbmciLCJzdWIiOiIxMDAzIiwiYXV0aF90aW1lIjoxNTkwNDE1ODQ2LCJpZHAiOiJsb2NhbCIsIkFDQ09VTlRJRCI6IjEwMDMiLCJVU0VSSUQiOiIyNTkiLCJVU0VSREVTQ1JJUFRJT04iOiJUZXN0IFVzZXIiLCJVU0VSTkFNRSI6IlRFU1QiLCJURU5BTlQiOiJGWCIsIlRFTkFOVE5BTUUiOiJGZW5peCBTcmwiLCJqdGkiOiIwZTUzMDc1NjE2MDZlNDQ0ZTI4ODViMTFhMzE0NDQyMSIsInNjb3BlIjpbImF1dGgiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicGFzc3dvcmQiXSwiaWF0IjoxNTkwNDE2NDY1fQ.aev_Txa9tIaEZvZ_KWDqb2Ob95Nf-3rqsNyJX4BPKXE\";\r\n }\r\n\r\n private getFakeAccountScope(): AccountScope {\r\n let accountScope = {\r\n \"modules\": [\r\n {\r\n \"idmodule\": 36,\r\n \"dsname\": \"Auth\",\r\n \"dscategory\": \"Infrastructure\",\r\n \"idmodulealt\": \"auth\"\r\n },\r\n {\r\n \"idmodule\": 14,\r\n \"dsname\": \"Compliance Dati Catastali\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"complianceade\"\r\n },\r\n {\r\n \"idmodule\": 2,\r\n \"dsname\": \"Forecasting & Metering\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"mdm\"\r\n },\r\n {\r\n \"idmodule\": 48,\r\n \"dsname\": \"Sales Management\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"sales\"\r\n },\r\n {\r\n \"idmodule\": 42,\r\n \"dsname\": \"SII Connector\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"sii\"\r\n },\r\n {\r\n \"idmodule\": 5,\r\n \"dsname\": \"Billing\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"billing\"\r\n },\r\n {\r\n \"idmodule\": 7,\r\n \"dsname\": \"Cost checking & Reconciliation\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"ccr\"\r\n },\r\n {\r\n \"idmodule\": 8,\r\n \"dsname\": \"Compliance REMIT\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"remit\"\r\n },\r\n {\r\n \"idmodule\": 51,\r\n \"dsname\": \"CRM\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"crm\"\r\n },\r\n {\r\n \"idmodule\": 11,\r\n \"dsname\": \"Compliance ARERA\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"compliance\"\r\n },\r\n {\r\n \"idmodule\": 54,\r\n \"dsname\": \"Partner Portal\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"pp\"\r\n },\r\n {\r\n \"idmodule\": 35,\r\n \"dsname\": \"Scheduler\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"scheduler\"\r\n },\r\n {\r\n \"idmodule\": 34,\r\n \"dsname\": \"Jace Dashboard\",\r\n \"dscategory\": \"Infrastructure\",\r\n \"idmodulealt\": \"jace\"\r\n },\r\n {\r\n \"idmodule\": 1,\r\n \"dsname\": \"Market Data\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"marketdata\"\r\n },\r\n {\r\n \"idmodule\": 31,\r\n \"dsname\": \"Toolset\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"toolset\"\r\n },\r\n {\r\n \"idmodule\": 32,\r\n \"dsname\": \"Customer Portal Admin\",\r\n \"dscategory\": \"Administration\",\r\n \"idmodulealt\": \"customerportal\"\r\n },\r\n {\r\n \"idmodule\": 10,\r\n \"dsname\": \"Compliance Dogane\",\r\n \"dscategory\": \"Compliance\",\r\n \"idmodulealt\": \"dogane\"\r\n },\r\n {\r\n \"idmodule\": 40,\r\n \"dsname\": \"Data Manager\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"dmg\"\r\n },\r\n {\r\n \"idmodule\": 12,\r\n \"dsname\": \"Credit Management\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"credit\"\r\n },\r\n {\r\n \"idmodule\": 52,\r\n \"dsname\": \"Business Process Manager\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"BPM\"\r\n },\r\n {\r\n \"idmodule\": 46,\r\n \"dsname\": \"Logistic\",\r\n \"dscategory\": \"Data Treatment\",\r\n \"idmodulealt\": \"lgs\"\r\n }\r\n ],\r\n \"roles\": [\r\n {\r\n \"idrole\": 1,\r\n \"idrolealt\": \"Tenant Admin\",\r\n \"dsrole\": \"Tenant Admin\",\r\n \"dsnote\": \"Per generici permessi di amministrazione/configurazione di un modulo: Es. Billi\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-05-02T11:03:35+02:00\"),\r\n \"syuserins\": \"AUTH\"\r\n },\r\n {\r\n \"idrole\": 9,\r\n \"idrolealt\": \"Tenant Reader\",\r\n \"dsrole\": \"Tenant Reader\",\r\n \"dsnote\": \"Per generico permesso di lettura su tutti i moduli abilitati del Tenant\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:13:38+02:00\"),\r\n \"syuserins\": \"FRANCEM\",\r\n \"sydataupd\": new Date(\"2018-12-03T19:42:41+01:00\"),\r\n \"syuserupd\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 11,\r\n \"idrolealt\": \"Compl. ARERA Reader\",\r\n \"dsrole\": \"Compl. ARERA Reader\",\r\n \"dsnote\": \"Permesso di lettura al solo modulo Compl. ARERA\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:22:56+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 13,\r\n \"idrolealt\": \"Compl. ARERA Writer L1\",\r\n \"dsrole\": \"Compl. ARERA Writer L1\",\r\n \"dsnote\": \"Responsabile business del modulo Compl. ARERA: può chiudere indagini\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:23:15+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 15,\r\n \"idrolealt\": \"Compl. ARERA Writer L2\",\r\n \"dsrole\": \"Compl. ARERA Writer L2\",\r\n \"dsnote\": \"Operatore business del modulo Compl. ARERA: può elaborare, ma non chiudere indagini\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-23T16:23:27+02:00\"),\r\n \"syuserins\": \"FRANCEM\"\r\n },\r\n {\r\n \"idrole\": 28,\r\n \"idrolealt\": \"Jace Admin\",\r\n \"dsrole\": \"Jace Admin\",\r\n \"dsnote\": \"Amministratore generico per l'intera suite.\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2018-07-25T17:20:41+02:00\"),\r\n \"syuserins\": \"RIVOLAM\"\r\n },\r\n {\r\n \"idrole\": 88,\r\n \"idrolealt\": \"Metering: Reader\",\r\n \"dsrole\": \"Metering: Reader\",\r\n \"dsnote\": \"Sola lettura\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:12+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 89,\r\n \"idrolealt\": \"Metering: Writer L1\",\r\n \"dsrole\": \"Metering: Writer L1\",\r\n \"dsnote\": \"Gestione entità semplici\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:17+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 90,\r\n \"idrolealt\": \"Metering: Writer L2\",\r\n \"dsrole\": \"Metering: Writer L2\",\r\n \"dsnote\": \"Gestione entità complesse\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:21+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 91,\r\n \"idrolealt\": \"Metering: Admin\",\r\n \"dsrole\": \"Metering: Admin\",\r\n \"dsnote\": \"Customizzazione\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2019-04-30T12:29:29+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 269,\r\n \"idrolealt\": \"dgn_op\",\r\n \"dsrole\": \"Dogane Operator\",\r\n \"dsnote\": \"Consente di fare operazioni come ad esempio generare un pagamento massivo, una comunicazione massiva o modificare le posizioni / comunicaizoni\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-07-01T12:31:32+02:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 349,\r\n \"idrolealt\": \"cost_admin\",\r\n \"dsrole\": \"Costchecking Writer L2\",\r\n \"dsnote\": \"Ruolo di admin per il costchecking che consente di utilizzare qualunque funzionalità del modulo\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-11-17T09:44:48+01:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 370,\r\n \"idrolealt\": \"toolset_reader\",\r\n \"dsrole\": \"Toolset Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2020-11-24T10:48:33+01:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 489,\r\n \"idrolealt\": \"lgs_read\",\r\n \"dsrole\": \"Logistica Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:50:54+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 491,\r\n \"idrolealt\": \"lgs_md_write\",\r\n \"dsrole\": \"Logistica Writer Ana\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:51:09+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 492,\r\n \"idrolealt\": \"lgs_eap_write\",\r\n \"dsrole\": \"Logistica Writer Aggr\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:52:46+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 493,\r\n \"idrolealt\": \"lgs_pce\",\r\n \"dsrole\": \"Logistica Writer PCE\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:09+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 494,\r\n \"idrolealt\": \"lgs_ipex\",\r\n \"dsrole\": \"Logistica Writer IPEX\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:18+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 495,\r\n \"idrolealt\": \"lgs_invauth\",\r\n \"dsrole\": \"Logistica Writer Benestari GME\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:30+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 496,\r\n \"idrolealt\": \"lgs_terna\",\r\n \"dsrole\": \"Logistica Writer Settlement Terna\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:44+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 497,\r\n \"idrolealt\": \"lgs_writer_full\",\r\n \"dsrole\": \"Logistica Full Writer\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2021-03-30T16:53:56+02:00\"),\r\n \"syuserins\": \"FERNIAA\"\r\n },\r\n {\r\n \"idrole\": 688,\r\n \"idrolealt\": \"blg_business\",\r\n \"dsrole\": \"Billing Business\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2022-09-20T09:26:42+02:00\"),\r\n \"syuserins\": \"RONDINC\"\r\n },\r\n {\r\n \"idrole\": 708,\r\n \"idrolealt\": \"cus_admin\",\r\n \"dsrole\": \"CustomerPortal Admin\",\r\n \"dsnote\": \"Amministrazione utenti CustomerPortal\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2022-11-16T10:17:01+01:00\"),\r\n \"syuserins\": \"TURCHII\"\r\n },\r\n {\r\n \"idrole\": 808,\r\n \"idrolealt\": \"crm_fo_rd\",\r\n \"dsrole\": \"CRM FrontOffice Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:34+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 809,\r\n \"idrolealt\": \"crm_bo_rd\",\r\n \"dsrole\": \"CRM BackOffice Reader\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:45+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 810,\r\n \"idrolealt\": \"crm_bo_wr_l1\",\r\n \"dsrole\": \"CRM BackOffice Writer L1\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:52+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 811,\r\n \"idrolealt\": \"crm_bo_wr_l2\",\r\n \"dsrole\": \"CRM BackOffice Writer L2\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:18:59+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 812,\r\n \"idrolealt\": \"crm_fo_wr_l1\",\r\n \"dsrole\": \"CRM FrontOffice Writer L1\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:19:04+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n },\r\n {\r\n \"idrole\": 813,\r\n \"idrolealt\": \"crm_fo_wr_l2\",\r\n \"dsrole\": \"CRM FrontOffice Writer L2\",\r\n \"idparent\": 0,\r\n \"sydatains\": new Date(\"2023-07-19T13:19:09+02:00\"),\r\n \"syuserins\": \"GHETTIE\"\r\n }\r\n ],\r\n \"permissions\": [\r\n {\r\n \"idpermission\": 51,\r\n \"dspermission\": \"Operazioni massive forecasting su metering\",\r\n \"idpermissionalt\": \"mdm_mass_fct\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 134,\r\n \"dspermission\": \"Dogane apri / chiudi posizioni\",\r\n \"idpermissionalt\": \"dgn_pos_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 211,\r\n \"dspermission\": \"Scarico dati sistemi AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_dl\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 271,\r\n \"dspermission\": \"Dogane Elimina Importazione\",\r\n \"idpermissionalt\": \"dgn_flow_delete\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 131,\r\n \"dspermission\": \"Dogane Read\",\r\n \"idpermissionalt\": \"dgn_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 133,\r\n \"dspermission\": \"Dogane operazioni su rate e pagamenti \",\r\n \"idpermissionalt\": \"dgn_payments_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 291,\r\n \"dspermission\": \"Logistica - modifica dati anagrafica\",\r\n \"idpermissionalt\": \"lgs_md_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 292,\r\n \"dspermission\": \"Logistica - lettura dati PCE\",\r\n \"idpermissionalt\": \"lgs_pce_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 293,\r\n \"dspermission\": \"Logistica - scrittura dati PCE\",\r\n \"idpermissionalt\": \"lgs_pce_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 294,\r\n \"dspermission\": \"Logistica - lettura dati IPEX\",\r\n \"idpermissionalt\": \"lgs_ipex_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 296,\r\n \"dspermission\": \"Logistica - scrittura dati IPEX\",\r\n \"idpermissionalt\": \"lgs_ipex_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 297,\r\n \"dspermission\": \"Logistica - lettura dati benestari\",\r\n \"idpermissionalt\": \"lgs_invauth_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 298,\r\n \"dspermission\": \"Logistica - scrittura dati benestari\",\r\n \"idpermissionalt\": \"lgs_invauth_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 299,\r\n \"dspermission\": \"Logistica - lettura settlement terna\",\r\n \"idpermissionalt\": \"lgs_terna_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 300,\r\n \"dspermission\": \"Logistica - scrittura settlement terna\",\r\n \"idpermissionalt\": \"lgs_terna_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 301,\r\n \"dspermission\": \"Logistica - Gestione servizi\",\r\n \"idpermissionalt\": \"lgs_gme_services\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 302,\r\n \"dspermission\": \"Logistica - Lettura\",\r\n \"idpermissionalt\": \"lgs_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 303,\r\n \"dspermission\": \"Logistica - Gestione Programmi aggregati/chiusure\",\r\n \"idpermissionalt\": \"lgs_eap_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 304,\r\n \"dspermission\": \"Logistica - Gestione Programmi aggregati - riaperture\",\r\n \"idpermissionalt\": \"lgs_eap_reopen\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 411,\r\n \"dspermission\": \"Billing - Lettura dati 'Lotti di fatturazione'\",\r\n \"idpermissionalt\": \"blg_elblot_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 511,\r\n \"dspermission\": \"CRM Cap/Floor\",\r\n \"idpermissionalt\": \"crm_capfloor\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 611,\r\n \"dspermission\": \"Crm - Mandati SEDA lettura\",\r\n \"idpermissionalt\": \"crm_back_seda_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 613,\r\n \"dspermission\": \"Crm - Mandati SEDA scrittura\",\r\n \"idpermissionalt\": \"crm_back_seda_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 172,\r\n \"dspermission\": \"Costchecking Writer L1\",\r\n \"idpermissionalt\": \"ccc_writer_l1\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 173,\r\n \"dspermission\": \"Costchecking Writer L2\",\r\n \"idpermissionalt\": \"ccc_writer_l2\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 171,\r\n \"dspermission\": \"Costchecking Reader\",\r\n \"idpermissionalt\": \"ccc_reader\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 471,\r\n \"dspermission\": \"Crm - Lead lettura\",\r\n \"idpermissionalt\": \"crm_lead_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 472,\r\n \"dspermission\": \"Crm - Lead scrittura\",\r\n \"idpermissionalt\": \"crm_lead_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 473,\r\n \"dspermission\": \"Crm - Opportunity lettura\",\r\n \"idpermissionalt\": \"crm_opp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 474,\r\n \"dspermission\": \"Crm - Opportunity scrittura\",\r\n \"idpermissionalt\": \"crm_opp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 475,\r\n \"dspermission\": \"Crm - Controparti lettura\",\r\n \"idpermissionalt\": \"crm_prt_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 476,\r\n \"dspermission\": \"Crm - Controparti scrittura\",\r\n \"idpermissionalt\": \"crm_prt_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 477,\r\n \"dspermission\": \"Crm - Punti lettura\",\r\n \"idpermissionalt\": \"crm_sp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 478,\r\n \"dspermission\": \"Crm - Punti scrittura\",\r\n \"idpermissionalt\": \"crm_sp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 479,\r\n \"dspermission\": \"Crm - Contatti lettura\",\r\n \"idpermissionalt\": \"crm_cnt_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 480,\r\n \"dspermission\": \"Crm - Contatti scrittura\",\r\n \"idpermissionalt\": \"crm_cnt_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 481,\r\n \"dspermission\": \"Crm - Case lettura\",\r\n \"idpermissionalt\": \"crm_cas_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 482,\r\n \"dspermission\": \"Crm - Case scrittura\",\r\n \"idpermissionalt\": \"crm_cas_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 483,\r\n \"dspermission\": \"Crm - Richieste lettura\",\r\n \"idpermissionalt\": \"crm_bpm_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 484,\r\n \"dspermission\": \"Crm - Richieste scrittura\",\r\n \"idpermissionalt\": \"crm_bpm_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 485,\r\n \"dspermission\": \"Crm - Prodotti lettura\",\r\n \"idpermissionalt\": \"crm_prd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 486,\r\n \"dspermission\": \"Crm - Prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_prd_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 487,\r\n \"dspermission\": \"Crm - Tipi prodotti lettura\",\r\n \"idpermissionalt\": \"crm_tprd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 488,\r\n \"dspermission\": \"Crm - Tipi prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_tprd_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 489,\r\n \"dspermission\": \"Crm - Contratti lettura\",\r\n \"idpermissionalt\": \"crm_ctr_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 490,\r\n \"dspermission\": \"Crm - Contratti scrittura\",\r\n \"idpermissionalt\": \"crm_ctr_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 491,\r\n \"dspermission\": \"Crm - Campagne lettura\",\r\n \"idpermissionalt\": \"crm_cmp_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 492,\r\n \"dspermission\": \"Crm - Campagne scrittura\",\r\n \"idpermissionalt\": \"crm_cmp_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 493,\r\n \"dspermission\": \"Crm - Email services lettura\",\r\n \"idpermissionalt\": \"crm_email_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 494,\r\n \"dspermission\": \"Crm - Email services scrittura\",\r\n \"idpermissionalt\": \"crm_email_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 495,\r\n \"dspermission\": \"Crm - Backoffice lettura\",\r\n \"idpermissionalt\": \"crm_back_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 496,\r\n \"dspermission\": \"Crm - Backoffice scrittura\",\r\n \"idpermissionalt\": \"crm_back_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 497,\r\n \"dspermission\": \"Crm - Backoffice amministrazione lettura\",\r\n \"idpermissionalt\": \"crm_back_adm_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 499,\r\n \"dspermission\": \"Crm - Backoffice amministrazione scrittura\",\r\n \"idpermissionalt\": \"crm_back_adm_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 500,\r\n \"dspermission\": \"Crm - File import\",\r\n \"idpermissionalt\": \"crm_import\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 571,\r\n \"dspermission\": \"Crm - Backoffice Banche scrittura\",\r\n \"idpermissionalt\": \"crm_back_banks_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 572,\r\n \"dspermission\": \"Crm - Backoffice Banche lettura\",\r\n \"idpermissionalt\": \"crm_back_banks_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 573,\r\n \"dspermission\": \"Crm - Backoffice Termini di Pagamento scrittura\",\r\n \"idpermissionalt\": \"crm_back_paymentterms_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 574,\r\n \"dspermission\": \"Crm - Backoffice Termini di Pagamento lettura\",\r\n \"idpermissionalt\": \"crm_back_paymentterms_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 575,\r\n \"dspermission\": \"Crm - Backoffice Prodotti scrittura\",\r\n \"idpermissionalt\": \"crm_back_products_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 576,\r\n \"dspermission\": \"Crm - Backoffice Prodotti lettura\",\r\n \"idpermissionalt\": \"crm_back_products_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 591,\r\n \"dspermission\": \"Crm - Backend Aggiungi/Modifica CAB\",\r\n \"idpermissionalt\": \"crm_back_cab_wr\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 14,\r\n \"dspermission\": \"Operazioni base metering\",\r\n \"idpermissionalt\": \"mdm_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 15,\r\n \"dspermission\": \"Operazioni massive metering\",\r\n \"idpermissionalt\": \"mdm_mass_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 16,\r\n \"dspermission\": \"Operazioni avanzate metering\",\r\n \"idpermissionalt\": \"mdm_adv_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 17,\r\n \"dspermission\": \"Operazioni forecasting su metering\",\r\n \"idpermissionalt\": \"mdm_fct\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 18,\r\n \"dspermission\": \"Operazioni configurazione base metering\",\r\n \"idpermissionalt\": \"mdm_cfg_base\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 19,\r\n \"dspermission\": \"Operazioni configurazione avanzata metering\",\r\n \"idpermissionalt\": \"mdm_cfg_adv\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 21,\r\n \"dspermission\": \"Operazioni customizzazione metering\",\r\n \"idpermissionalt\": \"mdm_customize\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 22,\r\n \"dspermission\": \"Visualizzazione dati metering\",\r\n \"idpermissionalt\": \"mdm_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 151,\r\n \"dspermission\": \"Dogane Operazioni Comunicazioni\",\r\n \"idpermissionalt\": \"dgn_comm_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 153,\r\n \"dspermission\": \"Dogane Admin Comunicazioni\",\r\n \"idpermissionalt\": \"dgn_comm_adm\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 154,\r\n \"dspermission\": \"Dogane Operazioni Pagamenti Massivi\",\r\n \"idpermissionalt\": \"dgn_pag_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 155,\r\n \"dspermission\": \"Dogane Pagamenti Retro\",\r\n \"idpermissionalt\": \"dgn_pag_rt\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 156,\r\n \"dspermission\": \"Dogane Pagamenti Admin\",\r\n \"idpermissionalt\": \"dgn_pag_adm\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 157,\r\n \"dspermission\": \"Dogane Dichiarazioni di consumo Read\",\r\n \"idpermissionalt\": \"dgn_dich_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 158,\r\n \"dspermission\": \"Dogane Operazioni Dichiarazioni di consumo\",\r\n \"idpermissionalt\": \"dgn_dich_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 159,\r\n \"dspermission\": \"Dogane Cod. Ditta Read\",\r\n \"idpermissionalt\": \"dgn_codditta_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 161,\r\n \"dspermission\": \"Dogane modifica template\",\r\n \"idpermissionalt\": \"dgn_templ_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 162,\r\n \"dspermission\": \"Dogane gestione credito\",\r\n \"idpermissionalt\": \"dgn_pos_credit_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 231,\r\n \"dspermission\": \"Dogane Import Read\",\r\n \"idpermissionalt\": \"dgn_import_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 232,\r\n \"dspermission\": \"Dogane Import Writer\",\r\n \"idpermissionalt\": \"dgn_import_writer\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 305,\r\n \"dspermission\": \"Logistica - Scrittura generica (es: import file, ecc.)\",\r\n \"idpermissionalt\": \"lgs_write\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 306,\r\n \"dspermission\": \"Logistica - permessi admin\",\r\n \"idpermissionalt\": \"lgs_admin\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 431,\r\n \"dspermission\": \"Billing - Riesegui 'Lotti di fatturazione'\",\r\n \"idpermissionalt\": \"blg_elblot_exec\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 501,\r\n \"dspermission\": \"AutoConsumo Diffuso - lettura\",\r\n \"idpermissionalt\": \"acd_rd\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 1,\r\n \"dspermission\": \"Gestione utenti tenant\",\r\n \"idpermissionalt\": \"manage_user\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 2,\r\n \"dspermission\": \"View moduli tenant\",\r\n \"idpermissionalt\": \"manage_modules\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 192,\r\n \"dspermission\": \"Modifica configurazione sistemi AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_customize\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 132,\r\n \"dspermission\": \"Dogane esegui data checks\",\r\n \"idpermissionalt\": \"dgn_datachecks_op\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 191,\r\n \"dspermission\": \"Lettura info AMI metering\",\r\n \"idpermissionalt\": \"mdm_ami_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 31,\r\n \"dspermission\": \"Visualizzazione dati avanzati metering\",\r\n \"idpermissionalt\": \"mdm_adv_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 32,\r\n \"dspermission\": \"Visualizzazione configurazione metering\",\r\n \"idpermissionalt\": \"mdm_cfg_read\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 33,\r\n \"dspermission\": \"Operazioni massive eliminazione metering\",\r\n \"idpermissionalt\": \"mdm_mass_del\",\r\n \"sydatains\": null\r\n },\r\n {\r\n \"idpermission\": 135,\r\n \"dspermission\": \"Dogane Operazioni su Forniture\",\r\n \"idpermissionalt\": \"dgn_for_op\",\r\n \"sydatains\": null\r\n }\r\n ]\r\n }\r\n return accountScope;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { KeyValue, SearchResultContainer } from \"@esfaenza/core/domain\";\r\n\r\n// Rxjs\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class GlobalSearchService {\r\n public Enabled: boolean = false;\r\n\r\n /**\r\n * Effettua una ricerca in base a un termine generico\r\n * \r\n * @param term Termine da cercare\r\n * @returns {SearchResultContainer} Contenitore della ricerca\r\n */\r\n public search(term: string): Observable<SearchResultContainer> {\r\n return of(null);\r\n }\r\n\r\n /**\r\n * Data la definizione semplice di una colonna restituisce un oggetto che indica se bisogna presentere un link su di essa\r\n * \r\n * @param column Colonna per cui verificare la presentazione di un link. Esempio: {id: \"IDPARTY\", description: \"Cod. Controparte\"}\r\n * @returns {{ routePath: string, routeProperties: string[] }} Oggetto che indica un link con i propri binding. Ad esempio: {routePath: \"['/pages/parties/parties_details', { 'idModel': '{0}' }]\", routeProperties: [\"IDPARTY\"]}\r\n */\r\n public generateColumnLink(column: KeyValue): { routePath: string, routeProperties: string[] } {\r\n return null;\r\n }\r\n}","// Angular\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions\r\n\r\n@Injectable()\r\nexport class APPErrorHandler implements ErrorHandler {\r\n private router;\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error) {\r\n if (this.router == null)\r\n this.router = this.injector.get(Router);\r\n\r\n //Ignoro eventuali errori di javascript quando il redirect è attivo\r\n if (myconfig && myconfig.redirectInProgress) {\r\n console.log(\"Javascript error on redirect in progress, ignoring this event\");\r\n return;\r\n }\r\n\r\n //In caso io abbia impostato succesresultmandatory nell'httprequest e questa abbia dato errore tiro fuori un exception che dev'essere mostrata come si deve\r\n var newError = \"\";\r\n if (!error.message && !error.stack)\r\n newError = error\r\n else if (error instanceof HttpErrorResponse)\r\n newError = error.message;\r\n else\r\n newError = error.stack && error.stack.length > 1000 ? error.stack.substring(0, 999) + \"[...]\" : error.stack;\r\n\r\n var pars = { errorMessage: this.b64EncodeUnicode(newError), fromUrl: this.router.url };\r\n this.router.navigate([\"/anerr\", pars]);\r\n }\r\n\r\n b64EncodeUnicode(str) {\r\n // first we use encodeURIComponent to get percent-encoded UTF-8,\r\n // then we convert the percent encodings into raw bytes which\r\n // can be fed into btoa.\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n }\r\n}","// Angular\r\nimport { Injectable, NgZone } from \"@angular/core\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OutZoneEventPlugin {\r\n\r\n constructor(private zone: NgZone) { }\r\n\r\n supports(eventName: string): boolean {\r\n return eventName.endsWith('out-zone');\r\n }\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n let eventOriginalName = eventName.split('.')[0];\r\n let standardHandler = (event: Event) => originalHandler(event)\r\n if (eventName.endsWith('out-zone'))\r\n this.zone.runOutsideAngular(() => { element.addEventListener(eventOriginalName, standardHandler); });\r\n else\r\n element.addEventListener(eventOriginalName, standardHandler)\r\n\r\n return () => element.removeEventListener(eventOriginalName, standardHandler);\r\n }\r\n}","import { Injectable, Injector } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensionsLoc extends LocalizationService {\r\n constructor(injector: Injector) {\r\n super(injector);\r\n super.set(\"it->en\", \"Il Server sembra essere offline, prova a ricaricare la pagina\", [\"Server seems to be offline, try to reload this page\"]);\r\n }\r\n}","// Angular\r\nimport { ActivatedRouteSnapshot, Router } from \"@angular/router\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseMessageService, NotificationsService, JobProgressDto } from \"@esfaenza/signalr-notifications\";\r\nimport { InboundMessageTypes, InterComMessage, InterComService } from \"@esfaenza/extensions\";\r\nimport { AdmMessageTypes, MK_ADM } from \"@esfaenza/admin-module\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n// Core\r\nimport { ActiveModuleView, ApplicationJob, JaceIdentity } from \"@esfaenza/core/domain\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport * as customParseFormat from 'dayjs/plugin/customParseFormat';\r\nimport * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\r\nimport * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\r\nimport * as isBetween from 'dayjs/plugin/isBetween';\r\nimport * as duration from 'dayjs/plugin/duration';\r\nimport * as minMax from 'dayjs/plugin/minMax';\r\nimport * as utc from 'dayjs/plugin/utc';\r\nimport { Subject } from \"rxjs\";\r\n\r\ndeclare var dayjs: any;\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class AppState {\r\n\r\n public sidebarWidth: number;\r\n public headerHeight: number;\r\n public redirectingToLogin: boolean = false;\r\n public handlingError: boolean = false;\r\n public christmasTime: boolean = false;\r\n public halloweenTime: boolean = false;\r\n\r\n private JaceIdentity: JaceIdentity;\r\n\r\n public jobsInProgress: number = 0;\r\n public allJobs: ApplicationJob[] = [];\r\n private jobWithIdsCache: { [index: string]: ApplicationJob } = {};\r\n public notifyOnCompletedJobs: boolean = true;\r\n\r\n private _data = new Subject<Object>();\r\n private _dataStream$ = this._data.asObservable();\r\n\r\n private _subscriptions: Map<string, Array<Function>> = new Map<string, Array<Function>>();\r\n\r\n public ModulesLocalizations: { [id: string]: LocalizationService } = {};\r\n\r\n public Embedded: boolean = false;\r\n public EmbeddingLevel: number = 0;\r\n public MainWindow: any;\r\n\r\n private _modules: ActiveModuleView[];\r\n public set Modules(modules: ActiveModuleView[]) {\r\n this._modules = modules;\r\n this.notifyDataChanged(\"modules.Retrieved\", this._modules);\r\n }\r\n public get Modules(): ActiveModuleView[] { return this._modules; }\r\n\r\n constructor(private lc: LocalizationService, private bts: TokenService, private notifications: NotificationsService, private MessageDef: BaseMessageService, private intercom: InterComService, private router: Router) {\r\n this.setupEmbeddability();\r\n this.setupDayjs();\r\n this.setupSignalRJobListening();\r\n\r\n this.JaceIdentity = null;\r\n this._dataStream$.subscribe((data) => this._onEvent(data));\r\n\r\n //Decide se siamo attorno a natale\r\n var today = dayjs();\r\n var lowerBound = dayjs(\"18/12/\" + today.year(), \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"07/01/\" + (today.year() + 1), \"DD/MM/YYYY\");\r\n this.christmasTime = today > lowerBound && today < upperBound;\r\n\r\n //Decide se siamo attorno ad halloween\r\n var lowerBound = dayjs(\"28/10/\" + today.year(), \"DD/MM/YYYY\");\r\n var upperBound = dayjs(\"05/11/\" + today.year(), \"DD/MM/YYYY\");\r\n this.halloweenTime = today > lowerBound && today < upperBound;\r\n\r\n this.intercom.inbounds.subscribe((t: InterComMessage) => { this.handleInboundMessage(t); });\r\n }\r\n\r\n setupEmbeddability() {\r\n window.onmessage = (event: MessageEvent) => {\r\n // Ignoro i miei messaggi dato che mi interessano solo quelli degli altri iframe\r\n if (event.source == window && event?.data?.type != \"modal-open\")\r\n return;\r\n \r\n if (event?.data?.type == \"navigate\") {\r\n console.log(`Window message - navigate -> ${event?.data?.url}`);\r\n \r\n this.router.navigate([event?.data?.url]);\r\n }\r\n\r\n if (event?.data?.type == \"navigation\") {\r\n console.log(`Window message - Navigation -> ${event?.data?.internalNavigation ? \"[internal]\" : \"\"} ${event?.data?.title}`);\r\n \r\n if (event?.data?.internalNavigation)\r\n this.notifyDataChanged(\"menu.adjustSubNavigationTo\", event?.data?.title);\r\n else\r\n this.notifyDataChanged(\"menu.adjustNavigationTo\", event?.data?.title);\r\n }\r\n \r\n if (event?.data?.type == \"modal-open\") {\r\n const wrapper = document.body.getElementsByClassName(\"main-wrapper\")[0] as HTMLElement;\r\n let wrapperStyles = window.getComputedStyle(wrapper);\r\n const wrapperPaddingLeft = parseInt(wrapperStyles.getPropertyValue(\"padding-left\"));\r\n const wrapperPaddingRight = parseInt(wrapperStyles.getPropertyValue(\"padding-right\"));\r\n \r\n console.log(`Window message - Modal Open -> Backdrop Height: ${event?.data?.backdropHeight}`);\r\n \r\n var topHeight: number = 116; // valore fisso, distanza fra il top e l'inizio dell'iframe, non sarà mai diverso\r\n var rightSpace: number = wrapperPaddingRight; // valore fisso, distanza fra la fine dell'iframe e il lato sinistro dello schermo, non sarà mai diverso\r\n var leftSpace: number = this.sidebarWidth + wrapperPaddingLeft;\r\n \r\n let commonStyles = \"position: absolute; z-index: 9999; background-color: #000; opacity: 0.5; \";\r\n \r\n wrapper.style.setProperty(\"overflow\", \"hidden\", \"important\");\r\n \r\n const top = document.createElement(\"div\");\r\n top.className = \"embedded-modal-top\";\r\n top.style.cssText = commonStyles + `height: ${topHeight}px; top: 0; width: calc(100% - ${leftSpace}px); left: ${leftSpace}px`;\r\n top.id = \"top\";\r\n \r\n const left = document.createElement(\"div\");\r\n left.className = \"embedded-modal-left\";\r\n left.style.cssText = commonStyles + `height: 100%; top: 0; width: ${leftSpace}px;`;\r\n left.id = \"left\";\r\n \r\n const right = document.createElement(\"div\");\r\n right.className = \"embedded-modal-right\";\r\n right.style.cssText = commonStyles + `height: calc(100% - ${topHeight}px); top: ${topHeight}px; right: 0; width: ${rightSpace}px;`;\r\n right.id = \"right\";\r\n \r\n document.body.appendChild(top);\r\n document.body.appendChild(left);\r\n document.body.appendChild(right);\r\n }\r\n \r\n if (event?.data?.type == \"modal-close\") {\r\n console.log(`Window message - Modal Close`);\r\n \r\n let wrapper = document.body.getElementsByClassName(\"main-wrapper\")[0] as HTMLElement;\r\n wrapper.style.removeProperty(\"overflow\");\r\n \r\n const top = document.getElementById(\"top\");\r\n const left = document.getElementById(\"left\");\r\n const right = document.getElementById(\"right\");\r\n \r\n if (top)\r\n document.body.removeChild(top);\r\n if (left)\r\n document.body.removeChild(left);\r\n if (right)\r\n document.body.removeChild(right);\r\n }\r\n };\r\n \r\n this.subscribe(\"menu.isCollapsed\", () => {\r\n const wrapper = document.body.getElementsByClassName(\"main-wrapper\")[0] as HTMLElement;\r\n let wrapperStyles = window.getComputedStyle(wrapper);\r\n const wrapperPaddingLeft = parseInt(wrapperStyles.getPropertyValue(\"padding-left\"));\r\n var leftSpace: number = this.sidebarWidth + wrapperPaddingLeft;\r\n \r\n const left = document.getElementById(\"left\");\r\n const top = document.getElementById(\"top\");\r\n \r\n if (top) {\r\n top.style.setProperty(\"left\", (leftSpace) + \"px\");\r\n top.style.setProperty(\"width\", `calc(100% - ${leftSpace}px)`);\r\n }\r\n \r\n if (left)\r\n left.style.setProperty(\"width\", leftSpace + \"px\");\r\n });\r\n \r\n this.MainWindow = <{ parent: any, postMessage: Function }>window;\r\n while (this.MainWindow.parent != this.MainWindow) {\r\n this.MainWindow = this.MainWindow.parent;\r\n this.EmbeddingLevel++;\r\n this.Embedded = true;\r\n }\r\n \r\n if (this.Embedded)\r\n document.body.style.setProperty(\"overflow-y\", \"auto\", \"important\");\r\n }\r\n\r\n registerNavigationIfMeaningful(route?: ActivatedRouteSnapshot) {\r\n let title = route.data[\"title\"];\r\n let internal = route.data[\"internalNavigation\"]\r\n\r\n // Permette di chiamare sto registerNavigation a prescindere e fare opt out se non è una route navigabile\r\n if(!title) return;\r\n\r\n /*\r\n * Parent ({url: [{path: \"{module}\"}]})\r\n * Parent ({url: [{path: \"\"}]}) (Root del modulo lazy)\r\n * -> Navigazione attuale <-\r\n */\r\n let module = route.parent?.parent?.url[0]?.path;\r\n let loc = module ? this.ModulesLocalizations[module] : null;\r\n\r\n if (!module)\r\n console.error(\"Impossibile estrapolare il modulo dalla navigazione (Atteso Modulo al secondo livello di parentela partendo dal componente attuale): \" + route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'));\r\n\r\n this.notifyDataChanged(internal ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", loc ? loc.loc(title) : title);\r\n }\r\n\r\n handleInboundMessage(t: InterComMessage) {\r\n switch (t.type) {\r\n case InboundMessageTypes.Navigation:\r\n {\r\n this.notifyDataChanged(t.message.sub ? \"menu.adjustSubNavigationTo\" : \"menu.adjustNavigationTo\", t.message.routeTitle);\r\n this.intercom.send(AdmMessageTypes.Message, \"Navigation Message Received\", MK_ADM);\r\n }\r\n }\r\n }\r\n\r\n setupDayjs() {\r\n dayjs.extend((<any>customParseFormat).default || customParseFormat);\r\n dayjs.extend((<any>minMax).default || minMax);\r\n dayjs.extend((<any>isBetween).default || isBetween);\r\n dayjs.extend((<any>isSameOrBefore).default || isSameOrBefore);\r\n dayjs.extend((<any>isSameOrAfter).default || isSameOrAfter);\r\n dayjs.extend((<any>duration).default || duration);\r\n dayjs.extend((<any>utc).default || utc);\r\n\r\n // Require e collegamento con la localizzazione per dayjs\r\n import(\"dayjs/locale/\" + this.lc.SmallLocale + \".js\").then(locale => { dayjs.locale(locale); });\r\n }\r\n\r\n setupSignalRJobListening() {\r\n this.notifications.observe(this.MessageDef.IN_JobProgressNotification).subscribe((ev: JobProgressDto) => {\r\n var desc = ev.description + \" (\" + ev.user + \")\";\r\n let job: ApplicationJob = {\r\n id: ev.instance,\r\n description: desc,\r\n smalldescription: desc.length > 35 ? desc.substring(0, 30) + \"...\" : desc,\r\n percentage: this.roundToTwo(ev.progress),\r\n completed: ev.type == 'Completed',\r\n fileid: ev.resultfile,\r\n reportid: ev.resultreport,\r\n reportpars: ev.resultreportparams,\r\n complexreportid: ev.resultcomplexreport\r\n };\r\n\r\n switch (ev.type) {\r\n case \"Started\":\r\n if (this.jobWithIdsCache[ev.instance]) {\r\n console.warn(\"Job already registered on the 'Started' callback\");\r\n return;\r\n }\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n break;\r\n case \"Progress\":\r\n // Se mi arriva un progress di un job che non ho significa che mi sono loggato ora con dei Job in corso\r\n // quindi per prima cosa devo metterlo in lista\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n this.jobWithIdsCache[ev.instance].percentage = this.roundToTwo(ev.progress);\r\n break;\r\n case \"Completed\":\r\n if (!this.jobWithIdsCache[ev.instance]) {\r\n this.jobWithIdsCache[ev.instance] = job;\r\n this.allJobs.splice(0, 0, job);\r\n }\r\n var jobToUpdate = this.jobWithIdsCache[ev.instance];\r\n jobToUpdate.percentage = 100;\r\n jobToUpdate.fileid = ev.resultfile;\r\n jobToUpdate.reportid = ev.resultreport;\r\n jobToUpdate.reportpars = ev.resultreportparams;\r\n jobToUpdate.completed = true;\r\n\r\n if (this.notifyOnCompletedJobs)\r\n this.notifyDataChanged(\"app.completedJob\", jobToUpdate.description);\r\n\r\n break;\r\n }\r\n\r\n this.jobsInProgress = this.allJobs.filter(t => !t.completed).length;\r\n });\r\n }\r\n\r\n roundToTwo(num) {\r\n return Math.round(num * 100) / 100;\r\n }\r\n\r\n getJaceIDentity(): JaceIdentity {\r\n if (this.JaceIdentity)\r\n return this.JaceIdentity;\r\n this.JaceIdentity = this.bts.getJaceIdentity();\r\n return this.JaceIdentity;\r\n }\r\n\r\n notifyDataChanged(event, value) {\r\n this._data[event] = value;\r\n this._data.next({\r\n event: event,\r\n data: this._data[event]\r\n });\r\n }\r\n\r\n subscribe(event: string, callback: Function) {\r\n var subscribers = this._subscriptions.get(event) || [];\r\n subscribers.push(callback);\r\n\r\n this._subscriptions.set(event, subscribers);\r\n }\r\n\r\n _onEvent(data: any) {\r\n var subscribers = this._subscriptions.get(data[\"event\"]) || [];\r\n\r\n subscribers.forEach((callback) => {\r\n callback.call(null, data[\"data\"]);\r\n });\r\n }\r\n\r\n public setSidebarWidth(width: number) {\r\n this.sidebarWidth = width;\r\n }\r\n\r\n public setHeaderHeight(height: number) {\r\n this.headerHeight = height;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlService } from \"@esfaenza/access-control\";\r\nimport { HttpServiceExtensions } from \"@esfaenza/httpservice\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { HTTPServiceExtensionsLoc } from \"./app.httpextensions.loc\";\r\nimport { AppState } from \"./app.state\";\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable()\r\nexport class HTTPServiceExtensions implements HttpServiceExtensions {\r\n\r\n constructor(private lc: LocalizationService, private tks: TokenService, private as: AppState, private router: Router, private ac: AccessControlService, private msgs: MessageService) {\r\n this.lc = this.lc.generateFromType(HTTPServiceExtensionsLoc)\r\n }\r\n\r\n //Gestione Auth\r\n retrieveAccessToken(): string {\r\n return this.tks.getAccessToken().toString();\r\n }\r\n\r\n retrieveIdentity(): { IdUser: string; Idtenant: string; } {\r\n return <any>this.tks.getJaceIdentity();\r\n }\r\n\r\n //Gestione ridirezione al login / altre pagine\r\n readRedirectingToLogin(): boolean {\r\n return this.as.redirectingToLogin;\r\n }\r\n\r\n writeRedirectingToLogin(status: boolean) {\r\n this.as.redirectingToLogin = status;\r\n }\r\n\r\n redirectToLogin(): void {\r\n console.log(\"HTTPServiceExtensions - redirecting to login\");\r\n this.router.navigate([\"login\", { fromUrl: this.router.url }]);\r\n }\r\n\r\n readRedirectionStatus(): boolean {\r\n return myconfig?.redirectInProgress;\r\n }\r\n\r\n writeRedirectionStatus(status: boolean): void {\r\n myconfig.redirectInProgress = status;\r\n }\r\n\r\n //Gestione error handling flag\r\n readHandlingErrorStatus(): boolean {\r\n return this.as.handlingError;\r\n }\r\n\r\n writeHandlingErrorStatus(status: boolean) {\r\n this.as.handlingError = status;\r\n }\r\n\r\n // 444, se false passa a handleBlockingException\r\n handleNotConfiguredException(): boolean {\r\n if (this.ac.has(\"P:mdm_customize\")) {\r\n myconfig.redirectInProgress = true;\r\n this.as.handlingError = false;\r\n this.router.navigate([\"pages/adm/tenantconfig\"]);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // 400, 403, 404, 444\r\n handleBlockingException(status: number, text: string) {\r\n this.msgs.simpleError(status + \": \" + text)\r\n this.as.handlingError = false;\r\n }\r\n\r\n // Tutto quello che non è gestito da handleBlockingException\r\n handleException(status: number, text: string) {\r\n if (status == 503) {\r\n this.msgs.simpleError(this.lc.loc(\"Il Server sembra essere offline, prova a ricaricare la pagina\"));\r\n this.as.handlingError = false;\r\n }\r\n else if (status == 542) {\r\n this.msgs.simpleError(text);\r\n this.as.handlingError = false;\r\n }\r\n else {\r\n var st = btoa(encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(<any>(\"0x\" + p1))));\r\n var pars = { statusCode: status, statusText: st, fromUrl: this.router.url };\r\n this.router.navigate([\"iserr\", pars]);\r\n }\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationMenu } from \"@esfaenza/core/domain\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MenuFilteringService {\r\n /**\r\n * Applica un filtro agli elementi di menù in modo da poterli filtrare in base a condizioni arbitrarie (inclusi check lato BE)\r\n * \r\n * @param rawMenus Menù originali, non filtrati\r\n * @returns {Observable<ApplicationMenu[]>} Menù filtrati\r\n */\r\n public filter(rawMenus: ApplicationMenu[]): Observable<ApplicationMenu[]> {\r\n return of(rawMenus);\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Core\r\nimport { ApplicationJob } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable()\r\nexport class CompletedJobRedirectionService {\r\n /**\r\n * Effettua un'operazione di redirect basata sul Job Completato\r\n * \r\n * @param completedJob Job appena completato per cui effettuare un redirect\r\n */\r\n public redirect(completedJob: ApplicationJob): void {\r\n\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever } from \"@esfaenza/preferences\";\r\n\r\n// Applicazione\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n// Core\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SessionRetriever implements BaseSessionRetriever {\r\n\r\n private SessionIdentity: string;\r\n\r\n constructor(private bts: TokenService, private router: Router) { }\r\n\r\n /** Tenant§Account§User§ModuleId */\r\n getSessionKey(): string {\r\n if (this.SessionIdentity)\r\n return this.SessionIdentity;\r\n\r\n // Se non ho un id mi manca il login, quindi via di qua\r\n var id = this.bts.getJaceIdentity();\r\n if (!id) {\r\n console.log(\"SessionRetriever - no identity, redirecting to login\")\r\n this.router.navigate([\"login\"]);\r\n return \"\";\r\n }\r\n\r\n this.SessionIdentity = \"\" + id.Idtenant + \"§\" + id.IdAccount + \"§\" + id.IdUser + \"§\" + myconfig?.AppData?.ModuleId;\r\n return this.SessionIdentity;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, CachePersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Cache_Sessions: string = \"/api/Cache/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationCachePersistor extends CachePersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Cache_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { BaseSessionRetriever, PreferencesPersistor } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { TokenService } from \"../app.accesstoken\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n// Chiamate ai Repository\r\nconst BASE_Preferences_Sessions: string = \"/api/Preferences/sessions\";\r\n\r\n@Injectable()\r\nexport class ApplicationPreferencesPersistor extends PreferencesPersistor {\r\n\r\n // Passo direttamente dall'HttpClient nativo in quanto non posso passare dall'HttpService dato che \r\n // lui richiede il PreferencesService che richiede questa classe che richiede l'HttpService ecc ecc...\r\n constructor(private lc: LocalizationService, private http: HttpClient, private tks: TokenService, session: BaseSessionRetriever) { super(session); }\r\n\r\n public persist<T>(key: string, item: T): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.post<boolean>(this.getItemUrl(sk, key), JSON.stringify(item), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public recover<T>(key?: string): Observable<T> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<string>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(map((res) => {\r\n var resProp = null;\r\n try { resProp = <T>JSON.parse(res); }\r\n catch { }\r\n return resProp;\r\n }));\r\n }\r\n\r\n public recoverAll(): Observable<{ [index: string]: any; }> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(null);\r\n\r\n return this.http.get<{ [index: string]: any; }>(this.getSessionUrl(sk), { headers: this.getHeaders() }).pipe(\r\n catchError(e => of(null)),\r\n map((res) => {\r\n for (var prop in res) {\r\n var resProp = null;\r\n try { resProp = JSON.parse(res[prop]); }\r\n catch { }\r\n res[prop] = resProp;\r\n }\r\n return res\r\n }));\r\n }\r\n\r\n public remove(key?: string): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemUrl(sk, key), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n public clear(): Observable<boolean> {\r\n let sk = this.session.getSessionKey();\r\n if (!sk) return of(false);\r\n\r\n return this.http.delete<boolean>(this.getItemsUrl(sk), { headers: this.getHeaders() }).pipe(catchError(e => of(false)));\r\n }\r\n\r\n private getHeaders(contentType: string = 'application/json'): HttpHeaders {\r\n return new HttpHeaders()\r\n .append(\"Content-Type\", contentType)\r\n .append(\"Accept\", \"application/json\")\r\n .append(\"Authorization\", \"Bearer \" + this.tks.getAccessToken())\r\n .append(\"Accept-Language\", this.lc.Locale);\r\n }\r\n\r\n private getSessionUrl(sessionKey: string): string {\r\n return `${BASE_Preferences_Sessions}/${sessionKey}`;\r\n }\r\n\r\n private getItemsUrl(sessionKey: string): string {\r\n return `${this.getSessionUrl(sessionKey)}/items`;\r\n }\r\n\r\n private getItemUrl(sessionKey: string, itemKey: string): string {\r\n return `${this.getItemsUrl(sessionKey)}/${itemKey}`;\r\n }\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AccessControlRouteGuard, AccessControlService } from \"@esfaenza/access-control\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\n\r\nimport { TokenService } from \"./app.accesstoken\";\r\n\r\n@Injectable()\r\nexport class BaseRouterGuard extends AccessControlRouteGuard {\r\n constructor(ms: MessageService, acc: AccessControlService, router: Router, ts: TokenService) {\r\n super(ms, acc, router);\r\n\r\n if (!acc.Initialized)\r\n acc.initializeIdentity(ts.getJaceIdentity());\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.TokenService","i3.AppState","i4","i5","i6","i1.TokenService","i2","i3.TokenService","i3","i4.TokenService"],"mappings":"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"}
|