@esfaenza/core 15.2.0
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/README.md +24 -0
- package/components/back-top/back-top.component.d.ts +12 -0
- package/components/breadcrumb/breadcrumb.component.d.ts +15 -0
- package/components/components.module.d.ts +25 -0
- package/components/error/404/pagenotfound.component.d.ts +13 -0
- package/components/error/500/servererror.component.d.ts +17 -0
- package/components/error/Angular/angularerror.component.d.ts +24 -0
- package/components/external-page/external_pages.component.d.ts +21 -0
- package/components/index.d.ts +5 -0
- package/components/jace-login/jace-login.component.d.ts +7 -0
- package/components/navbar/modules-board/jace-modules-board.component.d.ts +13 -0
- package/components/navbar/navbar.component.d.ts +60 -0
- package/components/navbar/navbar.component.loc.d.ts +8 -0
- package/components/page/pages.component.d.ts +23 -0
- package/components/public-api.d.ts +13 -0
- package/components/redirecter/redirecter.component.d.ts +19 -0
- package/components/sidebar/sidebar.component.d.ts +39 -0
- package/components/sidebar/sidebar.component.service.d.ts +27 -0
- package/directives/directives.module.d.ts +9 -0
- package/directives/draggable/draggable.directive.d.ts +13 -0
- package/directives/index.d.ts +5 -0
- package/directives/public-api.d.ts +4 -0
- package/directives/slim-scroll/slim-scroll.directive.d.ts +15 -0
- package/directives/widget/widget.directive.d.ts +9 -0
- package/domain/index.d.ts +5 -0
- package/domain/models/core/classes/ApplicationMenu.d.ts +16 -0
- package/domain/models/core/classes/EnvOptions.d.ts +14 -0
- package/domain/models/jace/classes/AccountScope.d.ts +9 -0
- package/domain/models/jace/classes/ActiveModuleView.d.ts +15 -0
- package/domain/models/jace/classes/JaceAccount.d.ts +26 -0
- package/domain/models/jace/classes/JaceIdentity.d.ts +17 -0
- package/domain/models/jace/classes/JaceModule.d.ts +6 -0
- package/domain/models/jace/classes/JacePermission.d.ts +9 -0
- package/domain/models/jace/classes/JaceRole.d.ts +11 -0
- package/domain/models/jace/classes/User.d.ts +4 -0
- package/domain/public-api.d.ts +11 -0
- package/domain/tokens.d.ts +16 -0
- package/esm2020/components/back-top/back-top.component.mjs +43 -0
- package/esm2020/components/breadcrumb/breadcrumb.component.mjs +55 -0
- package/esm2020/components/components.module.mjs +74 -0
- package/esm2020/components/error/404/pagenotfound.component.mjs +27 -0
- package/esm2020/components/error/500/servererror.component.mjs +35 -0
- package/esm2020/components/error/Angular/angularerror.component.mjs +50 -0
- package/esm2020/components/esfaenza-core-components.mjs +5 -0
- package/esm2020/components/external-page/external_pages.component.mjs +46 -0
- package/esm2020/components/jace-login/jace-login.component.mjs +17 -0
- package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +40 -0
- package/esm2020/components/navbar/navbar.component.loc.mjs +36 -0
- package/esm2020/components/navbar/navbar.component.mjs +179 -0
- package/esm2020/components/page/pages.component.mjs +57 -0
- package/esm2020/components/public-api.mjs +14 -0
- package/esm2020/components/redirecter/redirecter.component.mjs +53 -0
- package/esm2020/components/sidebar/sidebar.component.mjs +179 -0
- package/esm2020/components/sidebar/sidebar.component.service.mjs +58 -0
- package/esm2020/directives/directives.module.mjs +18 -0
- package/esm2020/directives/draggable/draggable.directive.mjs +48 -0
- package/esm2020/directives/esfaenza-core-directives.mjs +5 -0
- package/esm2020/directives/public-api.mjs +5 -0
- package/esm2020/directives/slim-scroll/slim-scroll.directive.mjs +40 -0
- package/esm2020/directives/widget/widget.directive.mjs +36 -0
- package/esm2020/domain/esfaenza-core-domain.mjs +5 -0
- package/esm2020/domain/models/core/classes/ApplicationMenu.mjs +26 -0
- package/esm2020/domain/models/core/classes/EnvOptions.mjs +4 -0
- package/esm2020/domain/models/jace/classes/AccountScope.mjs +8 -0
- package/esm2020/domain/models/jace/classes/ActiveModuleView.mjs +9 -0
- package/esm2020/domain/models/jace/classes/JaceAccount.mjs +5 -0
- package/esm2020/domain/models/jace/classes/JaceIdentity.mjs +16 -0
- package/esm2020/domain/models/jace/classes/JaceModule.mjs +3 -0
- package/esm2020/domain/models/jace/classes/JacePermission.mjs +3 -0
- package/esm2020/domain/models/jace/classes/JaceRole.mjs +3 -0
- package/esm2020/domain/models/jace/classes/User.mjs +3 -0
- package/esm2020/domain/public-api.mjs +12 -0
- package/esm2020/domain/tokens.mjs +11 -0
- package/esm2020/esfaenza-core.mjs +5 -0
- package/esm2020/helpers/classes/ResizeListener.mjs +38 -0
- package/esm2020/helpers/esfaenza-core-helpers.mjs +5 -0
- package/esm2020/helpers/public-api.mjs +2 -0
- package/esm2020/lib/app.component.mjs +26 -0
- package/esm2020/lib/core.module.mjs +227 -0
- package/esm2020/modules/classes/_base.module.mjs +27 -0
- package/esm2020/modules/classes/t_c.module.mjs +85 -0
- package/esm2020/modules/esfaenza-core-modules.mjs +5 -0
- package/esm2020/modules/public-api.mjs +3 -0
- package/esm2020/pipes/esfaenza-core-pipes.mjs +5 -0
- package/esm2020/pipes/included_in/included_in.pipe.mjs +17 -0
- package/esm2020/pipes/pipes.module.mjs +20 -0
- package/esm2020/pipes/public-api.mjs +7 -0
- package/esm2020/pipes/safe_html/safe_html.pipe.mjs +18 -0
- package/esm2020/pipes/safe_script/safe_script.pipe.mjs +18 -0
- package/esm2020/pipes/safe_style/safe_style.pipe.mjs +18 -0
- package/esm2020/pipes/safe_url/safe_url.pipe.mjs +18 -0
- package/esm2020/public-api.mjs +4 -0
- package/esm2020/services/classes/app.accesstoken.mjs +51 -0
- package/esm2020/services/classes/app.errorhandler.mjs +41 -0
- package/esm2020/services/classes/app.event.mjs +27 -0
- package/esm2020/services/classes/app.httpextensions.loc.mjs +15 -0
- package/esm2020/services/classes/app.httpextensions.mjs +90 -0
- package/esm2020/services/classes/app.routeguard.mjs +22 -0
- package/esm2020/services/classes/app.session.mjs +33 -0
- package/esm2020/services/classes/app.state.mjs +172 -0
- package/esm2020/services/classes/preferences/app.cache.persistor.mjs +94 -0
- package/esm2020/services/classes/preferences/app.preference.persistor.mjs +94 -0
- package/esm2020/services/esfaenza-core-services.mjs +5 -0
- package/esm2020/services/public-api.mjs +10 -0
- package/fesm2015/esfaenza-core-components.mjs +870 -0
- package/fesm2015/esfaenza-core-components.mjs.map +1 -0
- package/fesm2015/esfaenza-core-directives.mjs +138 -0
- package/fesm2015/esfaenza-core-directives.mjs.map +1 -0
- package/fesm2015/esfaenza-core-domain.mjs +99 -0
- package/fesm2015/esfaenza-core-domain.mjs.map +1 -0
- package/fesm2015/esfaenza-core-helpers.mjs +44 -0
- package/fesm2015/esfaenza-core-helpers.mjs.map +1 -0
- package/fesm2015/esfaenza-core-modules.mjs +112 -0
- package/fesm2015/esfaenza-core-modules.mjs.map +1 -0
- package/fesm2015/esfaenza-core-pipes.mjs +97 -0
- package/fesm2015/esfaenza-core-pipes.mjs.map +1 -0
- package/fesm2015/esfaenza-core-services.mjs +598 -0
- package/fesm2015/esfaenza-core-services.mjs.map +1 -0
- package/fesm2015/esfaenza-core.mjs +251 -0
- package/fesm2015/esfaenza-core.mjs.map +1 -0
- package/fesm2020/esfaenza-core-components.mjs +863 -0
- package/fesm2020/esfaenza-core-components.mjs.map +1 -0
- package/fesm2020/esfaenza-core-directives.mjs +138 -0
- package/fesm2020/esfaenza-core-directives.mjs.map +1 -0
- package/fesm2020/esfaenza-core-domain.mjs +98 -0
- package/fesm2020/esfaenza-core-domain.mjs.map +1 -0
- package/fesm2020/esfaenza-core-helpers.mjs +44 -0
- package/fesm2020/esfaenza-core-helpers.mjs.map +1 -0
- package/fesm2020/esfaenza-core-modules.mjs +112 -0
- package/fesm2020/esfaenza-core-modules.mjs.map +1 -0
- package/fesm2020/esfaenza-core-pipes.mjs +97 -0
- package/fesm2020/esfaenza-core-pipes.mjs.map +1 -0
- package/fesm2020/esfaenza-core-services.mjs +595 -0
- package/fesm2020/esfaenza-core-services.mjs.map +1 -0
- package/fesm2020/esfaenza-core.mjs +251 -0
- package/fesm2020/esfaenza-core.mjs.map +1 -0
- package/helpers/classes/ResizeListener.d.ts +12 -0
- package/helpers/index.d.ts +5 -0
- package/helpers/public-api.d.ts +1 -0
- package/index.d.ts +5 -0
- package/lib/app.component.d.ts +12 -0
- package/lib/core.module.d.ts +82 -0
- package/modules/classes/_base.module.d.ts +4 -0
- package/modules/classes/t_c.module.d.ts +19 -0
- package/modules/index.d.ts +5 -0
- package/modules/public-api.d.ts +2 -0
- package/package.json +115 -0
- package/pipes/included_in/included_in.pipe.d.ts +7 -0
- package/pipes/index.d.ts +5 -0
- package/pipes/pipes.module.d.ts +11 -0
- package/pipes/public-api.d.ts +6 -0
- package/pipes/safe_html/safe_html.pipe.d.ts +10 -0
- package/pipes/safe_script/safe_script.pipe.d.ts +10 -0
- package/pipes/safe_style/safe_style.pipe.d.ts +10 -0
- package/pipes/safe_url/safe_url.pipe.d.ts +10 -0
- package/public-api.d.ts +3 -0
- package/services/classes/app.accesstoken.d.ts +15 -0
- package/services/classes/app.errorhandler.d.ts +11 -0
- package/services/classes/app.event.d.ts +10 -0
- package/services/classes/app.httpextensions.d.ts +34 -0
- package/services/classes/app.httpextensions.loc.d.ts +8 -0
- package/services/classes/app.routeguard.d.ts +10 -0
- package/services/classes/app.session.d.ts +14 -0
- package/services/classes/app.state.d.ts +59 -0
- package/services/classes/preferences/app.cache.persistor.d.ts +25 -0
- package/services/classes/preferences/app.preference.persistor.d.ts +25 -0
- package/services/index.d.ts +5 -0
- package/services/public-api.d.ts +9 -0
- package/theme/initial.scss +48 -0
- package/theme/styles/_base.scss +257 -0
- package/theme/styles/_bootstrap-override.scss +1624 -0
- package/theme/styles/_font.scss +86 -0
- package/theme/styles/_fullcalendar-override.scss +86 -0
- package/theme/styles/_libs-override.scss +97 -0
- package/theme/styles/_material-override.scss +231 -0
- package/theme/styles/_mixins.scss +50 -0
- package/theme/styles/_preloader.scss +119 -0
- package/theme/styles/_project-override.scss +2383 -0
- package/theme/styles/_variables.scss +52 -0
- package/theme/styles/skins/_blue.scss +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esfaenza-core-components.mjs","sources":["../../../projects/core/components/src/back-top/back-top.component.ts","../../../projects/core/components/src/back-top/back-top.component.html","../../../projects/core/components/src/breadcrumb/breadcrumb.component.ts","../../../projects/core/components/src/breadcrumb/breadcrumb.component.html","../../../projects/core/components/src/error/404/pagenotfound.component.ts","../../../projects/core/components/src/error/404/pagenotfound.component.html","../../../projects/core/components/src/error/500/servererror.component.ts","../../../projects/core/components/src/error/500/servererror.component.html","../../../projects/core/components/src/error/Angular/angularerror.component.ts","../../../projects/core/components/src/error/Angular/angularerror.component.html","../../../projects/core/components/src/navbar/navbar.component.loc.ts","../../../projects/core/components/src/navbar/modules-board/jace-modules-board.component.ts","../../../projects/core/components/src/navbar/modules-board/jace-modules-board.component.html","../../../projects/core/components/src/navbar/navbar.component.ts","../../../projects/core/components/src/navbar/navbar.component.html","../../../projects/core/components/src/sidebar/sidebar.component.service.ts","../../../projects/core/components/src/sidebar/sidebar.component.ts","../../../projects/core/components/src/sidebar/sidebar.component.html","../../../projects/core/components/src/page/pages.component.ts","../../../projects/core/components/src/page/pages.component.html","../../../projects/core/components/src/external-page/external_pages.component.ts","../../../projects/core/components/src/external-page/external_pages.component.html","../../../projects/core/components/src/jace-login/jace-login.component.ts","../../../projects/core/components/src/jace-login/jace-login.component.html","../../../projects/core/components/src/redirecter/redirecter.component.ts","../../../projects/core/components/src/redirecter/redirecter.component.html","../../../projects/core/components/src/components.module.ts","../../../projects/core/components/src/esfaenza-core-components.ts"],"sourcesContent":["// Angular\r\nimport { Component, ElementRef, HostListener, Input, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\n\r\ndeclare var $;\r\n\r\n@Component({\r\n selector: \"back-top\",\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: [\"./back-top.component.scss\"],\r\n templateUrl: \"./back-top.component.html\"\r\n})\r\nexport class BackTop {\r\n @Input() position: number = 400;\r\n @Input() showSpeed: number = 500;\r\n @Input() moveSpeed: number = 1000;\r\n\r\n @ViewChild(\"backTop\", { static: false }) private _selector: ElementRef;\r\n\r\n ngAfterViewInit() {\r\n this._onWindowScroll();\r\n }\r\n\r\n @HostListener(\"click\")\r\n _onClick(): boolean {\r\n $(\"html, body\").animate({ scrollTop: 0 }, { duration: this.moveSpeed });\r\n return false;\r\n }\r\n\r\n @HostListener(\"window:scroll.out-zone\")\r\n _onWindowScroll(): void {\r\n let el = this._selector.nativeElement;\r\n window.scrollY > this.position ? $(el).fadeIn(this.showSpeed) : $(el).fadeOut(this.showSpeed);\r\n }\r\n}","<i #backTop class=\"fa fa-angle-up back-to-top\" title=\"Back to Top\"></i>","// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AppState } from \"@esfaenza/core/services\";\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Component({\r\n selector: \"breadcrumb\",\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: [\"./breadcrumb.component.scss\"],\r\n templateUrl: \"./breadcrumb.component.html\"\r\n})\r\nexport class Breadcrumb {\r\n\r\n public activePageTitle: string = \"\";\r\n public subActiveLinks: string[] = [];\r\n\r\n constructor(public _state: AppState, private _activatedRoute: ActivatedRoute, private _titleService: Title) {\r\n\r\n this._state.subscribe(\"menu.adjustNavigationTo\", (activeLink) => {\r\n if (activeLink) {\r\n this.subActiveLinks = [];\r\n this.activePageTitle = activeLink;\r\n this._titleService.setTitle(myconfig.AppData.ModuleDescription + \" > \" + activeLink);\r\n }\r\n });\r\n\r\n /*Gestione della navigazione interna:\r\n Essenzialmente controllo se la lista di subnavigation gi� contiene l'elemento in cui sono ora,\r\n se lo contiene gi� significa che ci sono tornato sopra premendo back(browser o pagina), quindi\r\n elimino l'ultimo elemento della lista per ristabilire la situazione, se invece l'elemento non esiste\r\n vuol dire che ci ho navigato sopra, quindi lo aggiungo.*/\r\n this._state.subscribe(\"menu.adjustSubNavigationTo\", (activeLink) => {\r\n if (activeLink) {\r\n var index = this.subActiveLinks.indexOf(activeLink);\r\n if (index != -1 && (index + 1) != this.subActiveLinks.length)\r\n this.subActiveLinks.pop();\r\n if (index == -1 && this.activePageTitle != activeLink)\r\n this.subActiveLinks.push(activeLink);\r\n this._titleService.setTitle(myconfig.AppData.ModuleDescription + \" > \" + activeLink);\r\n }\r\n });\r\n\r\n this._state.subscribe(\"menu.removeLastSubNavigation\", () => {\r\n this.subActiveLinks.pop();\r\n });\r\n\r\n this._state.subscribe(\"menu.cleanupSubNavigation\", () => {\r\n this.subActiveLinks = [];\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (!this.activePageTitle)\r\n this.activePageTitle = this._activatedRoute.snapshot.firstChild.data[\"title\"];\r\n }\r\n}","<div class=\"clearfix\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item fa fa-home m-t-3\"></li>\r\n <li class=\"breadcrumb-item active text-uppercase\">{{ activePageTitle }}</li>\r\n <li class=\"breadcrumb-item active text-uppercase e2eLeafPage\" *ngFor=\"let link of subActiveLinks\">{{ link }}</li>\r\n </ol>\r\n</div>","// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"pagenotfound\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./pagenotfound.component.html\"\r\n})\r\nexport class PageNotFoundComponent {\r\n router: Router;\r\n\r\n constructor(router: Router, private _location: Location) {\r\n this.router = router;\r\n }\r\n\r\n searchResult(): void {\r\n this.router.navigate([\"pages/search\"]);\r\n }\r\n\r\n goPreviousPage() {\r\n this._location.back();\r\n }\r\n\r\n goDashboard() {\r\n this.router.navigate([\"/pages/dashboard\"]);\r\n }\r\n}","<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 col-md-6 col-10 offset-xl-3 offset-md-3 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-1\">404</h1>\r\n <h6 class=\"card-title\">La risorsa richiesta non è stata trovata ma in futuro potrebbe essere disponibile.</h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-left\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AppState } from \"@esfaenza/core/services\";\r\n\r\n@Component({\r\n selector: \"servererror\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./servererror.component.html\"\r\n})\r\nexport class ServerErrorComponent {\r\n statusCode: string;\r\n statusText: string;\r\n previousUrl: string;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private as: AppState) {\r\n this.statusCode = this.route.snapshot.params[\"statusCode\"];\r\n this.statusText = this.b64DecodeUnicode(this.route.snapshot.params[\"statusText\"]);\r\n this.previousUrl = this.route.snapshot.params[\"fromUrl\"];\r\n\r\n //Dopo 1 secondo considero la sfilza di errori finita\r\n setTimeout(() => { this.as.handlingError = false; }, 1000);\r\n }\r\n\r\n b64DecodeUnicode(str) {\r\n // Going backwards: from bytestream, to percent-encoding, to original string.\r\n return decodeURIComponent(atob(str).split(\"\").map(c => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2)).join(\"\"));\r\n }\r\n\r\n goPreviousPage() {\r\n this.router.navigateByUrl(this.previousUrl);\r\n }\r\n\r\n goDashboard() {\r\n this.router.navigate([\"/pages/dashboard\"]);\r\n }\r\n}","<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 col-md-6 col-10 offset-xl-3 offset-md-3 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-1\" *ngIf=\"!statusCode\"> </h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\"> </h6>\r\n <h6 class=\"card-title\" style=\"word-wrap:break-word; max-height: 500px; overflow: auto\" *ngIf=\"statusText\">{{statusText}}</h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-left\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { CacheService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { TokenService } from \"@esfaenza/core/services\";\r\n\r\n@Component({\r\n selector: \"angularerror\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./angularerror.component.html\"\r\n})\r\nexport class AngularErrorComponent {\r\n\r\n errorMessage: string;\r\n errorFrom: string;\r\n errorLastCalls: string;\r\n previousUrl: string;\r\n identityInfos: string;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private store: CacheService, private http: HTTPService, private bts: TokenService) {\r\n let identity = this.bts.getJaceIdentity();\r\n this.previousUrl = this.route.snapshot.params[\"fromUrl\"];\r\n let calls = (this.http.LastThreeCompletedCalls[0] || \"<empty>\") + \", \" + (this.http.LastThreeCompletedCalls[1] || \"<empty>\") + \", \" + (this.http.LastThreeCompletedCalls[2] || \"<empty>\");\r\n this.errorFrom = \"From page: \" + (this.previousUrl || \"<missing>\");\r\n this.errorLastCalls = \"Last three calls: \" + calls;\r\n this.identityInfos = \"Logged user: \" + (identity?.Idtenant || '??') + \"-\" + (identity?.DsUser || '???????');\r\n this.errorMessage = this.b64DecodeUnicode(this.route.snapshot.params[\"errorMessage\"]);\r\n\r\n console.error(this.errorMessage);\r\n }\r\n\r\n ngOnInit() {\r\n var item = this.store.getLocalItem(\"Reload\");\r\n if (item) {\r\n this.store.removeItem(\"Reload\");\r\n this.router.navigate([item]);\r\n }\r\n }\r\n\r\n b64DecodeUnicode(str) {\r\n // Going backwards: from bytestream, to percent-encoding, to original string.\r\n return decodeURIComponent(atob(str).split(\"\").map(c => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2)).join(\"\"));\r\n }\r\n\r\n goPreviousPage() {\r\n this.store.setLocalItem(\"Reload\", this.previousUrl);\r\n location.reload();\r\n }\r\n\r\n goDashboard() {\r\n this.router.navigate([\"/pages/dashboard\"]);\r\n }\r\n}","<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-8 col-md-10 col-10 offset-xl-2 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-4\">Qualcosa è andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si è verificato un errore interno all'applicazione. Questo non dovrebbe accadere. Prova a ricaricare la pagina precedente e rieffettuare le stesse operazioni, se il problema persiste contatta il service desk allegando una breve descrizione delle operazioni che stavi eseguendo e questo messaggio d'errore:\r\n </small>\r\n </h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"identityInfos\"><em>{{identityInfos}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorFrom\"><em>{{errorFrom}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorLastCalls\"><em>{{errorLastCalls}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorMessage\"><em>{{errorMessage}}</em></h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right app-margin-right-10\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Injectable, Injector } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n@Injectable()\r\nexport class NavBarLoc extends LocalizationService {\r\n constructor(injector: Injector) {\r\n super(injector);\r\n super.set(\"it->en\", \"Sessione Scaduta\", [\"Expired session\"]);\r\n super.set(\"it->en\", \"Backend Offline\", [\"Backend Offline\"]);\r\n super.set(\"it->en\", \"Sembra che il Backend sia momentaneamente offline. Questa pagina si aggiornera' automaticamente non appena la situazione tornera' alla normalita'. Ci scusiamo per il disagio\", [\"Backend seems to be currently offline. This page will reset itself when the situation goes back to normal. Sorry for the inconvenience\"]);\r\n super.set(\"it->en\", \"Ripulisci la Cache\", [\"Clear Caches\"]);\r\n super.set(\"it->en\", \"Cache Ripulita\", [\"Cache Cleared\"]);\r\n super.set(\"it->en\", \"Ambiente di Produzione\", [\"Production Environment\"]);\r\n super.set(\"it->en\", \"È disponibile una nuova versione per l'applicazione corrente. Si suggerisce di ricaricare la pagina (CTRL + F5)\", [\"A new version is available for this application. It is suggested to reload this page (CTRL + F5)\"])\r\n super.set(\"it->en\", \"Le informazioni di Sessione (Tenant/Account) sono cambiate a seguito di un login su modulo diverso utilizzando diverso Tenant/Utente sullo stesso browser. Si suggerisce di ricaricare la pagina (CTRL + F5)\", [\"Session informations (Tenant/Account) has changed after a login to a different module with the same Tenant/Username using the same browser. It is suggested to reload this page (CTRL + F5)\"]);\r\n super.set(\"it->en\", \"Cambia Modulo\", [\"Change module\"]);\r\n super.set(\"it->en\", \"Cambia Tenant\", [\"Change tenant\"]);\r\n super.set(\"it->en\", \"Usa notifiche semplici\", [\"Use simple alerts\"]);\r\n super.set(\"it->en\", \"Consenti notifiche eleganti\", [\"Allow fancy alerts\"]);\r\n super.set(\"it->en\", \"Ambiente di Sviluppo\", [\"Development Environment\"]);\r\n super.set(\"it->en\", \"Ripulisci le Preferenze Utente\", [\"Clear User Preferences\"]);\r\n super.set(\"it->en\", \"Preferenze utente ripulite\", [\"User preferences has been cleared\"]);\r\n super.set(\"it->en\", \"Ambiente di Staging\", [\"Staging Environment\"]);\r\n super.set(\"it->en\", \"Ambiente di Staging A\", [\"Staging A Environment\"]);\r\n super.set(\"it->en\", \"L'attuale sessione di lavoro non è più valida.<br>Si prega di eseguire nuovamente il login.\", [\"Current session has expired.<br>Please login back into the application.\"]);\r\n super.set(\"it->en\", \"Notifiche\", [\"Notifications\"]);\r\n super.set(\"it->en\", \"Job Applicativi\", [\"Application Jobs\"]);\r\n super.set(\"it->en\", \"Al momento non c'è nulla in esecuzione\", [\"Nothing being executed at the moment\"]);\r\n super.set(\"it->en\", \"Job Completato\", [\"Job Completed\"]);\r\n }\r\n}","// Angular\r\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { TokenService } from \"@esfaenza/core/services\";\r\n\r\n// Applicazione\r\nimport { ActiveModuleView, CategoriesWithModules } from \"@esfaenza/core/domain\";\r\n\r\n@Component({\r\n selector: \"jace-modules-board\",\r\n templateUrl: \"jace-modules-board.component.html\",\r\n styleUrls: [\"jace-modules-board.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class JaceModulesBoardComponent {\r\n\r\n @Input() Modules : ActiveModuleView[];\r\n public Categories: CategoriesWithModules[] = [];\r\n private Tenant: string;\r\n\r\n constructor(private bts: TokenService) { \r\n this.Tenant = this.bts.getJaceIdentity().Idtenant;\r\n }\r\n\r\n ngOnInit() {\r\n if(!this.Modules)\r\n return;\r\n\r\n this.Modules.forEach(m => {\r\n //Fixo href\r\n m.href = m.uiurl?.replace(\"{tenant}\", this.Tenant)\r\n\r\n //Aggiungo il modulo alla categoria giusta. In ogni \"fila\" di moduli non ce ne possono essere pi� di 6\r\n var prev = this.Categories.find(c => c.category.toUpperCase() == m.category.toUpperCase());\r\n var lastRow = prev?.module_rows[prev.module_rows.length - 1];\r\n\r\n if (prev && lastRow.length < 6)\r\n lastRow.push(m);\r\n else if (prev && lastRow.length == 6)\r\n prev.module_rows.push([m]);\r\n else\r\n this.Categories.push(new CategoriesWithModules(m))\r\n });\r\n }\r\n}","<div *ngIf=\"Categories\">\r\n <div *ngFor=\"let cat of Categories\">\r\n <div class=\"row\">\r\n <div class=\"section-title app-padding-left-0 app-padding-top-0\">\r\n {{cat.category}}\r\n </div>\r\n </div>\r\n <div *ngFor=\"let modRow of cat.module_rows\" class=\"row app-padding-left-10 app-padding-right-15\">\r\n <div class=\"module\" [class.module-available]=\"module.href\" [class.module-unavailable]=\"!module.href\" *ngFor=\"let module of modRow\">\r\n <a [href]=\"module.href\">\r\n <div class=\"module-name\"><span>{{module.name}}</span></div>\r\n <div class=\"module-footer\">\r\n <span class=\"fa-stack\"><i class=\"fa fa-circle-thin fa-stack-2x\"></i><i class=\"fa fa-chevron-right fa-stack-1x\"></i></span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","// Angular\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { BaseMessageService, NotificationsService } from \"@esfaenza/signalr-notifications\";\r\nimport { CacheService, PreferencesService } from \"@esfaenza/preferences\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { MessageService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\nimport { AppState, ApplicationJob, TokenService } from \"@esfaenza/core/services\";\r\n\r\nimport { JaceIdentity, ActiveModuleView, EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { Subscription } from \"rxjs\";\r\n\r\n// Applicazione\r\nimport { NavBarLoc } from \"./navbar.component.loc\";\r\n\r\n// Chiamate ai Repository\r\nconst GET_Jace_GetActiveJaceModules: string = \"/api/Jace/GetActiveJaceModules\";\r\nconst GET_Adm_ClearAllCaches: string = \"/api/Adm/ClearAllCaches\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\ndeclare var dayjs;\r\n\r\n@Component({\r\n selector: \"navbar\",\r\n viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styleUrls: [\"./navbar.component.scss\"],\r\n templateUrl: \"./navbar.component.html\"\r\n})\r\nexport class Navbar {\r\n public isMenuCollapsed: boolean = false;\r\n public applicationVersion = myconfig.AppData.ComponentVersion;\r\n public myconfig = myconfig;\r\n public anomaliesProcessing: boolean = false;\r\n public intervals: any[] = [];\r\n\r\n public user = \"\";\r\n public tenant = \"\";\r\n public idtenant = \"\";\r\n public groupName = \"\";\r\n public IsJaceAdmin: boolean = false;\r\n private newVersionWarned: boolean = false;\r\n public thisLoc: string;\r\n @ViewChild(\"navbar\", { static: false }) navbar: ElementRef;\r\n public Permissions: string[];\r\n public Roles: string[];\r\n public Modules: ActiveModuleView[];\r\n\r\n private notificationsSubs: Subscription[] = [];\r\n\r\n constructor(private prefsService: PreferencesService,\r\n private cacheService: CacheService,\r\n private MessageDef: BaseMessageService,\r\n private notifications: NotificationsService,\r\n private msgExts: MessageService,\r\n public lc: LocalizationService,\r\n private http: HTTPService,\r\n public cdr: ChangeDetectorRef,\r\n public _state: AppState,\r\n public sr: TokenService,\r\n private router: Router) {\r\n this._state.subscribe(\"menu.isCollapsed\", (isCollapsed) => { this.isMenuCollapsed = isCollapsed; });\r\n\r\n this.thisLoc = lc.Locale;\r\n\r\n this.checkIdentity();\r\n this.getActiveJaceModules();\r\n\r\n var i = setInterval(() => {\r\n if (!myconfig.redirectInProgress) {\r\n this.checkIdentity();\r\n this.cdr.markForCheck();\r\n }\r\n }, 1000);\r\n\r\n this.intervals.push(i);\r\n this.startSignalRListening();\r\n\r\n this._state.subscribe(\"app.completedJob\", (jobDescription) => {\r\n this.msgExts.simpleSuccess(this.lc.loc(\"Job Completato\") + \": \" + jobDescription);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.intervals.forEach(i => { clearInterval(i); });\r\n this.stopSignalRListening();\r\n }\r\n\r\n startSignalRListening() {\r\n\r\n this.notificationsSubs.push(this.notifications.observe(this.MessageDef.IN_SendVersion).subscribe((message) => {\r\n if (message != myconfig.AppData.ComponentVersion && !this.newVersionWarned) {\r\n this.msgExts.simpleWarning(this.lc.loc(\"È disponibile una nuova versione per l'applicazione corrente. Si suggerisce di ricaricare la pagina (CTRL + F5)\"));\r\n this.newVersionWarned = true;\r\n }\r\n }));\r\n\r\n }\r\n\r\n stopSignalRListening() {\r\n //Quando viene distrutta la navbar devo distruggere anche il client di signalr perch� vuol dire che ho chiuso la pagina\r\n this.notificationsSubs.forEach(i => { i.unsubscribe(); });\r\n this.notifications.disconnect();\r\n }\r\n\r\n checkIdentity() {\r\n // Controllo identity\r\n var identity = this.sr.getJaceIdentity();\r\n if (identity) {\r\n this.checkSession(identity);\r\n\r\n if ((this.user != identity.FullName || this.idtenant != identity.Idtenant) && this.user) {\r\n this.msgExts.simpleWarning(this.lc.loc(\"Le informazioni di Sessione (Tenant/Account) sono cambiate a seguito di un login su modulo diverso utilizzando diverso Tenant/Utente sullo stesso browser. Si suggerisce di ricaricare la pagina (CTRL + F5)\"));\r\n }\r\n\r\n this.user = identity.FullName;\r\n this.tenant = identity.TenantName;\r\n this.idtenant = identity.Idtenant;\r\n this.Permissions = identity.Permissions;\r\n this.Roles = identity.Roles;\r\n this.IsJaceAdmin = identity.Roles.some(t => t == \"Jace Admin\") && !identity.Permissions.some(t => t == \"alg_custom\");\r\n }\r\n }\r\n\r\n getActiveJaceModules() {\r\n this.http.get<ActiveModuleView[]>(GET_Jace_GetActiveJaceModules).subscribe(res => {\r\n this.Modules = res;\r\n });\r\n }\r\n\r\n private checkSession(identity: JaceIdentity) {\r\n //10 minuti prima\r\n if (dayjs() >= dayjs(identity.ExpirationTime).subtract(10, 'minutes') && !myconfig.redirectInProgress) {\r\n myconfig.redirectInProgress = true;\r\n //popup\r\n this.msgExts.expiredSessionMessage(\r\n this.lc.loc('Expired session'),\r\n this.lc.loc(\"L'attuale sessione di lavoro non è più valida.<br>Si prega di eseguire nuovamente il login.\"),\r\n () => {\r\n myconfig.redirectInProgress = false;\r\n this.router.navigate([\"login\"]);\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._state.setHeaderHeight(this.navbar.nativeElement.offsetHeight);\r\n }\r\n\r\n public toggleMenu() {\r\n this.isMenuCollapsed = !this.isMenuCollapsed;\r\n this._state.notifyDataChanged(\"menu.isCollapsed\", this.isMenuCollapsed);\r\n }\r\n\r\n public logout() {\r\n window.location.href = `${myconfig.AuthUrl}/logout?client=${myconfig.Client}`;\r\n }\r\n\r\n public changeModule() {\r\n window.location.href = myconfig.JaceDashboardUrl;\r\n }\r\n\r\n public changeTenant() {\r\n window.location.href = `${myconfig.AuthUrl}/login/tenant?client=${myconfig.Client}`;\r\n }\r\n\r\n clearUserPreferences() {\r\n this.prefsService.clear().subscribe();\r\n this.msgExts.simpleSuccess(this.lc.loc(\"Preferenze utente ripulite\"));\r\n }\r\n\r\n clearCacheClient() {\r\n this.cacheService.clear().subscribe();\r\n this.http.resetHttpUntimedCacheStorage();\r\n this.http.resetHttpTimedCacheStorage();\r\n this.msgExts.simpleSuccess(this.lc.loc(\"Cache Ripulita\"));\r\n }\r\n\r\n clearCacheServer() {\r\n this.http.get(GET_Adm_ClearAllCaches).subscribe(_ => {\r\n this.msgExts.simpleSuccess(this.lc.loc(\"Cache Ripulita\"));\r\n });\r\n }\r\n\r\n clearAll() {\r\n this.cacheService.clear().subscribe();\r\n this.http.resetHttpUntimedCacheStorage();\r\n this.http.resetHttpTimedCacheStorage();\r\n this.http.get(GET_Adm_ClearAllCaches).subscribe(_ => {\r\n this.msgExts.simpleSuccess(this.lc.loc(\"Cache Ripulita\"));\r\n });\r\n }\r\n\r\n clearMessages() {\r\n this.msgExts.clearMessages();\r\n }\r\n\r\n completedJobClicked(job: ApplicationJob) {\r\n if (job.reportid) {\r\n localStorage.setItem(\"JOB_RPT_PARS\", JSON.stringify(job.reportpars));\r\n this.router.navigate([\"pages/rpt/rpt_details\", { 'idRpt': job.reportid, 'searchOnOpen': true }]);\r\n }\r\n else if (job.id) {\r\n this.router.navigate([\"pages/job/job_details\", { 'idJob': job.id }]);\r\n }\r\n else if (job.fileid) {\r\n // Scaricare il file\r\n }\r\n else if (job.complexreportid) {\r\n // Navigare al complex report (?)\r\n }\r\n }\r\n}","<nav #navbar class=\"nav az-navbar fixed-top\">\r\n <a class=\"navbar-brand\" routerLink=\"/pages/dashboard\">\r\n <img src=\"../assets/img/logo/logo.png\" alt=\"\" class=\"d-md-block d-none\"\r\n style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-v d-md-block d-none\">{{ applicationVersion }}</div>\r\n\r\n <img src=\"../assets/img/logo/logo_sm.png\" alt=\"\" class=\"d-md-none\"\r\n style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-sm-v d-md-none\">{{ applicationVersion }}</div>\r\n </a>\r\n\r\n <ul class=\"nav navbar-nav navbar-fillable\">\r\n <li>\r\n <a (click)=\"toggleMenu()\" class=\"collapse-menu-link fa fa-navicon\"></a>\r\n </li>\r\n <li class=\"d-none d-md-block\">\r\n <form role=\"search\" class=\"app-search\">\r\n <input type=\"text\" placeholder=\"Search...\" class=\"form-control\">\r\n <a><i class=\"fa fa-search\" style=\"color: #aaa\"></i></a>\r\n </form>\r\n </li>\r\n\r\n <ul class=\"nav right-section\">\r\n\r\n <!--Dropdown job in esecuzione-->\r\n <div class=\"pull-right user-menu app-no-selection app-margin-right-10\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a [class.fa-spin]=\"_state.jobsInProgress > 0\" class=\"fa fa-cog dropdown-toggle app-pointer nav-jobs-icon\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span>{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"pull-right m-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></span>\r\n <span class=\"pull-right app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n </div>\r\n <div class=\"nav-jobs-menu-list\">\r\n <div *ngIf=\"_state.allJobs.length == 0\" class=\"nav-jobs-menu-list-empty\">\r\n <div>{{\"Al momento non c'è nulla in esecuzione\" | localize : lc}}</div>\r\n </div>\r\n <div *ngFor=\"let job of _state.allJobs; let last = last\" [class.app-margin-bottom-5]=\"!last\">\r\n <span class=\"nav-jobs-menu-list-description\">\r\n <span *ngIf=\"!job.completed\" title=\"{{job.description}}\">{{job.smalldescription}}</span>\r\n <span *ngIf=\"job.completed\" title=\"{{job.description}}\" class=\"app-link app-no-selection app-inline app-pointer\" (click)=\"completedJobClicked(job); $event.stopPropagation();\">{{job.smalldescription}}</span>\r\n <strong class=\"pull-right\" *ngIf=\"!job.completed\">{{job.percentage}}%</strong>\r\n <strong class=\"pull-right\" *ngIf=\"job.completed\">{{ 'Completed' | localize : lc }}</strong>\r\n </span>\r\n <div class=\"progress progress-sm\">\r\n <progressbar *ngIf=\"!job.completed\" [max]=\"100\" [value]=\"job.percentage\" [striped]=\"true\" [animate]=\"true\"></progressbar>\r\n <progressbar *ngIf=\"job.completed\" type=\"success\" [max]=\"100\" [value]=\"100\" [striped]=\"false\" [animate]=\"false\"></progressbar>\r\n </div>\r\n </div>\r\n </div>\r\n </ul>\r\n </div>\r\n\r\n <!--Dropdown moduli-->\r\n <div class=\"pull-right user-menu app-no-selection app-margin-right-10\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"fa fa-th module-nav-menu-link dropdown-toggle app-pointer\" dropdownToggle>\r\n </a>\r\n <ul *dropdownMenu class=\"module-board-menu container\" role=\"menu\">\r\n <div class=\"app-relative\">\r\n <jace-modules-board [Modules]=\"Modules\"></jace-modules-board>\r\n </div>\r\n </ul>\r\n </div>\r\n\r\n <!-- USER MENU -->\r\n <div class=\"pull-right user-menu app-no-selection\" dropdown container=\"body\" placement=\"bottom right\" style=\"height:50px;\">\r\n <a class=\"dropdown-toggle user-link app-pointer\" dropdownToggle>\r\n <div class=\"pull-left app-margin-right-10 app-relative\">\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" *ngIf=\"_state.halloweenTime\">\r\n </div>\r\n <div class=\"pull-right d-none d-sm-block\">\r\n <div class=\"app-white-text\">\r\n {{user}} - ({{tenant}})\r\n </div>\r\n <div class=\"app-white-text text-sm-center\">\r\n <ng-container *ngIf=\"myconfig.AppData.ComponentEnvironment == 2\">\r\n {{'Ambiente di Sviluppo' | localize : lc}}\r\n </ng-container>\r\n <ng-container *ngIf=\"myconfig.AppData.ComponentEnvironment == 5\">\r\n {{'Ambiente di Staging' | localize : lc}}\r\n </ng-container>\r\n <ng-container *ngIf=\"myconfig.AppData.ComponentEnvironment == 6\">\r\n {{'Ambiente di Staging A' | localize : lc}}\r\n </ng-container>\r\n <ng-container *ngIf=\"myconfig.AppData.ComponentEnvironment == 1\">\r\n {{'Ambiente di Produzione' | localize : lc}}\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </a>\r\n\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"user-info\">\r\n <div class=\"app-relative\">\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" style=\"right:62px;\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" style=\"right:62px;\" *ngIf=\"_state.halloweenTime\">\r\n </div>\r\n <div class=\"app-white-text app-margin-top-10 app-margin-bottom-10\">\r\n <div>\r\n {{user}} - {{tenant}}\r\n </div>\r\n <div *ngIf=\"myconfig.AppData.ComponentEnvironment == 2\">\r\n {{'Ambiente di Sviluppo' | localize : lc}}\r\n </div>\r\n <div *ngIf=\"myconfig.AppData.ComponentEnvironment == 5\">\r\n {{'Ambiente di Staging' | localize : lc}}\r\n </div>\r\n <div *ngIf=\"myconfig.AppData.ComponentEnvironment == 6\">\r\n {{'Ambiente di Staging A' | localize : lc}}\r\n </div>\r\n <div [hidden]=\"true\">\r\n <div>Permissions:</div>\r\n <div *ngFor=\"let p of Permissions\">{{p}}</div>\r\n <div>Roles:</div>\r\n <div *ngFor=\"let r of Roles\">{{r}}</div>\r\n </div>\r\n </div>\r\n </li>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"thisLoc == 'en-US'\" (click)=\"lc.changeLocale('it-IT')\"><i class=\"fa fa-globe\"> </i>Switch to Italian Site</a>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"thisLoc == 'it-IT'\" (click)=\"lc.changeLocale('en-US')\"><i class=\"fa fa-globe\"> </i>Passa al Sito in Inglese</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeModule()\"><i class=\"fa fa-th\"> </i>{{'Cambia Modulo' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeTenant()\"><i class=\"fa fa-building\"> </i>{{'Cambia Tenant' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\"><i class=\"fa fa-user-times\"> </i>{{'Ripulisci le Preferenze Utente' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearAll()\"><i class=\"fa fa-recycle \"> </i>{{'Ripulisci la Cache' | localize : lc}}</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"logout()\"><i class=\"fa fa-power-off\"> </i>Log out</a>\r\n </ul>\r\n </div>\r\n </ul>\r\n </ul>\r\n</nav>","// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { AccessControlService } from \"@esfaenza/access-control\";\r\nimport { UtilityService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { MENU, ApplicationMenu } from \"@esfaenza/core/domain\";\r\n\r\n@Injectable()\r\nexport class SidebarService {\r\n custom_permissions: any = [];\r\n constructor(private utiExts: UtilityService, private aac: AccessControlService, @Inject(MENU) private menuItems: ApplicationMenu[]) { }\r\n\r\n public getMenuItems(): Array<Object> {\r\n var items: MenuItem[] = [];\r\n var itemsTMP: MenuItem[] = this.utiExts.deepClone(this.menuItems);\r\n\r\n itemsTMP.forEach(t => {\r\n if (!t.ac || this.aac.has(t.ac)) {\r\n if (!t.subMenu || t.subMenu.length == 0)\r\n items.push(t);\r\n else {\r\n var toPush = this.checkSubMenuOverClaims(t);\r\n items.push(toPush);\r\n }\r\n }\r\n\r\n // Calcolo qui per non doverlo calcolare lato HTML\r\n (<any>t).padding_left = t.level > 2 ? (65 + ((t.level - 3) * 15) + 'px !important') : null;\r\n });\r\n\r\n return items;\r\n }\r\n\r\n checkSubMenuOverClaims(menuItem: MenuItem): MenuItem {\r\n var menuTMP: MenuItem = this.utiExts.deepClone(menuItem);\r\n menuTMP.subMenu = [];\r\n\r\n menuItem.subMenu.forEach(t => {\r\n if (!t.ac || this.aac.has(t.ac)) {\r\n if (!t.subMenu || t.subMenu.length == 0)\r\n menuTMP.subMenu.push(t);\r\n else {\r\n var toPush = this.checkSubMenuOverClaims(t);\r\n menuTMP.subMenu.push(toPush);\r\n }\r\n }\r\n });\r\n\r\n return menuTMP;\r\n }\r\n}\r\n\r\nclass MenuItem {\r\n title: string;\r\n ac: string;\r\n routerLink: string;\r\n icon: string;\r\n selected: boolean;\r\n expanded: boolean;\r\n level: number;\r\n queryParams: any;\r\n subMenu: MenuItem[];\r\n}","// Angular\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, Inject, Injector, NgZone, Optional, Type, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n// Applicazione\r\nimport { SidebarService } from \"./sidebar.component.service\";\r\nimport { MENU_LOCALIZATION } from \"@esfaenza/core/domain\";\r\nimport { AppState } from \"@esfaenza/core/services\";\r\n\r\ndeclare var jQuery;\r\ndeclare var $;\r\n\r\n@Component({\r\n selector: \"sidebar\",\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [SidebarService],\r\n styleUrls: [\"./sidebar.component.scss\"],\r\n templateUrl: \"./sidebar.component.html\"\r\n})\r\nexport class Sidebar {\r\n public menuItems: Array<any>;\r\n public menuHeight: number;\r\n public isMenuCollapsed: boolean = false;\r\n public isMenuShouldCollapsed: boolean = false;\r\n\r\n public showHoverElem: boolean;\r\n public hoverElemHeight: number;\r\n public hoverElemTop: number;\r\n\r\n @ViewChild(\"sidebar\", { static: true }) sidebar: ElementRef;\r\n\r\n constructor(public lc: LocalizationService, @Optional() @Inject(MENU_LOCALIZATION) lcMenu: Type<LocalizationService>, private cdr: ChangeDetectorRef, private _elementRef: ElementRef, private _router: Router, public _state: AppState, private _sidebarService: SidebarService, private zone: NgZone) {\r\n this._state.subscribe(\"menu.isCollapsed\", (isCollapsed) => {\r\n this.isMenuCollapsed = isCollapsed;\r\n this.cdr.markForCheck();\r\n });\r\n\r\n this._state.subscribe(\"application.DeployAvailable\", (available: boolean) => {\r\n if (available)\r\n this.ngOnInit();\r\n });\r\n\r\n this._router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n let width = (window.innerWidth > 0) ? window.innerWidth : screen.width;\r\n if (width <= 768) {\r\n this._state.notifyDataChanged(\"menu.isCollapsed\", true);\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n });\r\n\r\n this.lc = this.lc.generateFromType(lcMenu);\r\n }\r\n\r\n public ngOnInit(): void {\r\n // Ivnentarsi una sorta di refresh\r\n this.init();\r\n }\r\n\r\n init() {\r\n var mi = this._sidebarService.getMenuItems();;\r\n for (let i = 0; i < mi.length; i++)\r\n this.assignLevel(mi[i], 1);\r\n\r\n this.menuItems = mi;\r\n\r\n if (this._shouldMenuCollapse())\r\n this.menuCollapse();\r\n\r\n this.updateSidebarHeight();\r\n this._state.setSidebarWidth(this.sidebar.nativeElement.offsetWidth);\r\n }\r\n\r\n assignLevel(menuItem: any, level) {\r\n menuItem.level = level;\r\n\r\n if (!menuItem.subMenu)\r\n return;\r\n\r\n for (let i = 0; i < menuItem.subMenu.length; i++)\r\n this.assignLevel(menuItem.subMenu[i], level + 1);\r\n }\r\n\r\n @HostListener(\"window:resize\")\r\n public onWindowResize(): void {\r\n var isMenuShouldCollapsed = this._shouldMenuCollapse();\r\n\r\n if (this.isMenuShouldCollapsed !== isMenuShouldCollapsed) {\r\n this.menuCollapseStateChange(isMenuShouldCollapsed);\r\n }\r\n this.isMenuShouldCollapsed = isMenuShouldCollapsed;\r\n this.updateSidebarHeight();\r\n }\r\n\r\n private _shouldMenuCollapse(): boolean {\r\n return window.innerWidth <= 768;\r\n }\r\n\r\n public menuCollapse(): void {\r\n this.menuCollapseStateChange(true);\r\n this._state.setSidebarWidth(this.sidebar.nativeElement.offsetWidth);\r\n }\r\n\r\n public menuCollapseStateChange(isCollapsed: boolean): void {\r\n this.isMenuCollapsed = isCollapsed;\r\n this._state.notifyDataChanged(\"menu.isCollapsed\", this.isMenuCollapsed);\r\n }\r\n\r\n public menuExpand(): void {\r\n this.menuCollapseStateChange(false);\r\n this._state.setSidebarWidth(this.sidebar.nativeElement.offsetWidth);\r\n }\r\n\r\n public hoverItem($event): void {\r\n this.showHoverElem = true;\r\n this.hoverElemHeight = $event.currentTarget.clientHeight;\r\n this.hoverElemTop = $event.currentTarget.getBoundingClientRect().top - 60;\r\n\r\n $(\".sidebar-hover-elem\").css(\"top\", this.hoverElemTop + \"px\");\r\n $(\".sidebar-hover-elem\").css(\"height\", this.hoverElemHeight + \"px\");\r\n $(\".sidebar-hover-elem\").addClass(\"show-hover-elem\");\r\n }\r\n\r\n public sendAwayHoverElement() {\r\n this.hoverElemTop = -200;\r\n\r\n $(\".sidebar-hover-elem\").css(\"top\", this.hoverElemTop + \"px\");\r\n }\r\n\r\n public updateSidebarHeight(): void {\r\n this.menuHeight = this._elementRef.nativeElement.children[0].clientHeight - 60;\r\n }\r\n\r\n //Nonostante questa funzione sia collegata con (click.out-zone) per qualche motivo angular le esegue comunque nella sua zone\r\n //generando un po' di irresponsivit� iniziale... succede solo col click... boh\r\n public collapseMenu($event, item): boolean {\r\n if (this.isMenuCollapsed)\r\n this.menuExpand();\r\n\r\n if (!item.level)\r\n console.warn(\"Livello non presente in un oggetto del menu!\");\r\n\r\n //N.B: Tutte le funzioni di JQuery le esguo fuori da Angular dato che c'� una buona probabilit� che siano eventi asincroni\r\n this.zone.runOutsideAngular(() => { this.outsideAngularClickHandler($event, item); });\r\n\r\n return false;\r\n }\r\n\r\n private outsideAngularClickHandler($event, item) {\r\n let levelClass = item.level ? \"level-\" + (item.level) : \"\";\r\n let levelClassPlusOne = item.level ? \"level-\" + (item.level + 1) : \"\";\r\n let slidePeriod = 400;\r\n\r\n var link = jQuery($event.currentTarget);\r\n\r\n //Se l'elemento non � espanso\r\n if (!link.closest(\".sidebar-item-expanded\" + \"_\" + levelClass).length) {\r\n //Tiro su tutti gli elementi dello stesso livello espansi e li chiudo\r\n\r\n //Se ho compresso un menu vado a vedere se c'� anche un altro menu di livello pi� basso da richiudere\r\n jQuery(\"ul.nav-sidebar li\" + \".\" + (levelClassPlusOne)).each(function () {\r\n let closestLi = jQuery(this).closest(\"li\");\r\n if (closestLi.children(\"ul\").length && closestLi.hasClass(\"sidebar-item-expanded\")) {\r\n closestLi.children(\"ul\").slideUp(slidePeriod);\r\n //Le uso sempre entrambe insieme. La prima � la classe per la logica, la seconda per le animazioni\r\n closestLi.removeClass(\"sidebar-item-expanded\" + \"_\" + (levelClassPlusOne));\r\n closestLi.removeClass(\"sidebar-item-expanded\");\r\n }\r\n });\r\n\r\n //Dopodich� richiudo tutti quelli del mio livello attuale\r\n jQuery(\"ul.nav-sidebar li\" + \".\" + levelClass).each(function () {\r\n let closestLi = jQuery(this).closest(\"li\");\r\n if (closestLi.children(\"ul\").length && closestLi.hasClass(\"sidebar-item-expanded\")) {\r\n closestLi.children(\"ul\").slideUp(slidePeriod);\r\n //Le uso sempre entrambe insieme. La prima � la classe per la logica, la seconda per le animazioni\r\n closestLi.removeClass(\"sidebar-item-expanded\" + \"_\" + levelClass);\r\n closestLi.removeClass(\"sidebar-item-expanded\");\r\n }\r\n });\r\n\r\n //Dopodich� espando quello attuale\r\n link.next().slideDown(slidePeriod);\r\n\r\n if (item.subMenu) {\r\n //Le uso sempre entrambe insieme. La prima � la classe per la logica, la seconda per le animazioni\r\n link.closest(\"li\").addClass(\"sidebar-item-expanded\" + \"_\" + levelClass);\r\n link.closest(\"li\").addClass(\"sidebar-item-expanded\");\r\n }\r\n } else {\r\n //Altrimenti, se l'elemento � gi� espanso lo chiudo\r\n if (item.subMenu) {\r\n //Le uso sempre entrambe insieme. La prima � la classe per la logica, la seconda per le animazioni\r\n link.closest(\"li\").removeClass(\"sidebar-item-expanded\" + \"_\" + levelClass);\r\n link.closest(\"li\").removeClass(\"sidebar-item-expanded\");\r\n }\r\n\r\n link.next().slideUp(slidePeriod);\r\n }\r\n }\r\n}","<div class=\"app-sidebar\" #sidebar [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" slim-scroll [slimScrollOptions]=\"{height: menuHeight}\" style=\"position:relative; zoom:1\">\r\n\r\n <li *ngFor=\"let item of menuItems\" class=\"sidebar-list-item level-{{item.level}}\" [ngClass]=\"{'has-sub-menu': item.subMenu, 'sidebar-item-expanded': item.expanded}\" [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"sidebar-hover-elem\"></div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"item.link ? item.link : '#'\" (click)=\"item.wip && $event.preventDefault()\" target=\"_blank\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.routerLink && !item.subMenu && !item.wip\" class=\"sidebar-list-link {{item.cssClass || ''}}\" [routerLink]=\"[item.routerLink]\" [queryParams]=\"item.queryParams\" routerLinkActive=\"active-link\" (click.out-zone)=\"collapseMenu($event, item)\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.subMenu && !item.wip\" (click.out-zone)=\"collapseMenu($event, item)\" [attr.href]=\"''\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n <b class=\"fa fa-angle-down\"></b>\r\n </a>\r\n\r\n <ul *ngIf=\"item.subMenu\" class=\"sidebar-sublist\">\r\n <li *ngFor=\"let subitem of item.subMenu\" class=\"sidebar-sublist-item level-{{subitem.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ul>\r\n</ng-template>","// Angular\r\nimport { Component, HostListener, ViewEncapsulation } from \"@angular/core\";\r\nimport { DomSanitizer, SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { Location } from \"@angular/common\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AppState } from \"@esfaenza/core/services\";\r\n\r\ndeclare var jQuery;\r\n\r\n@Component({\r\n selector: \"pages\",\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: [\"./pages.component.scss\"],\r\n templateUrl: \"./pages.component.html\"\r\n})\r\nexport class PagesComponent {\r\n public isMenuCollapsed: boolean = false;\r\n public maxHeight: number = 0;\r\n public dynamicCSSUrl: SafeResourceUrl = null;\r\n public loadedModuleCss: string = \"\";\r\n\r\n constructor(public sanitizer: DomSanitizer, public _state: AppState, private _location: Location, public router: Router) {\r\n this._state.subscribe(\"menu.isCollapsed\", (isCollapsed) => {\r\n this.isMenuCollapsed = isCollapsed;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getCurrentPageName();\r\n this.getHeight();\r\n }\r\n\r\n getCurrentPageName(): void {\r\n var url = this._location.path();\r\n setTimeout(function () {\r\n window.scrollTo(0, 0);\r\n jQuery('a[href=\"#' + url + '\"]').closest(\"li\").closest(\"ul\").closest(\"li\").addClass(\"sidebar-item-expanded\");\r\n });\r\n }\r\n\r\n public hideMenu(): void {\r\n this._state.notifyDataChanged(\"menu.isCollapsed\", true);\r\n }\r\n\r\n public getHeight() {\r\n var html = document.documentElement;\r\n this.maxHeight = html.clientHeight - 60;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.getHeight();\r\n }\r\n}","<navbar></navbar>\r\n<div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <sidebar></sidebar>\r\n <div class=\"main-wrapper\" [style.max-height.px]=\"maxHeight\" [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\">\r\n <div class=\"az-overlay\" *ngIf=\"!isMenuCollapsed\" (click)=\"hideMenu()\"></div>\r\n\r\n <div class=\"main\">\r\n <breadcrumb></breadcrumb>\r\n <router-outlet></router-outlet>\r\n </div>\r\n\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>","// Angular\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Component } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { AccessControlService } from \"@esfaenza/access-control\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\nimport { AppState, TokenService } from \"@esfaenza/core/services\";\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Component({\r\n selector: \"external-pages\",\r\n templateUrl: \"./external_pages.component.html\"\r\n})\r\nexport class ExternalPagesComponent {\r\n private Username: string = \"\";\r\n private Password: string = \"\";\r\n private Tenant: string = \"\";\r\n\r\n constructor(private aac: AccessControlService, public lc: LocalizationService, private http: HTTPService, private _state: AppState, private route: ActivatedRoute, private bts: TokenService) {\r\n this._state.registerNavigation(this.route.snapshot);\r\n\r\n this.Username = this.route.snapshot.params[\"user\"];\r\n this.Password = this.route.snapshot.params[\"pswd\"];\r\n this.Tenant = this.route.snapshot.params[\"tnt\"];\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"Caricamento pagina nell'IFRAME completato!\");\r\n console.log(\"[\" + this.Tenant + \"]\" + this.Username + \" - \" + this.Password);\r\n\r\n // Le info di login che ho passato sono le stesse delle info di login salvate nel token --> È un redirect da un sito esterno ma il token c'è già. Esco\r\n // Ho un token di login e non ho nessuna info sull'utente da usare --> È un redirect da Jace, quindi sono a posto. Esco\r\n let currentIdentity = this.bts.getJaceIdentity();\r\n if (currentIdentity && (!(this.Tenant + this.Username + this.Password) || currentIdentity.Idtenant == this.Tenant && currentIdentity.DsUser == this.Username)) {\r\n this.aac.initializeIdentity(currentIdentity);\r\n return;\r\n }\r\n\r\n // Altrimenti devo effettuare il login\r\n let LoginDTO = { tenant: \"FX\", username: this.Username, password: this.Password, client_id: \"jacedev\" };\r\n this.http.post(`${myconfig.AuthUrl}/api/login/dologin`, LoginDTO).subscribe(t => {\r\n });\r\n }\r\n}","<router-outlet></router-outlet>","// Angular\r\nimport { Component, ViewEncapsulation } from \"@angular/core\";\r\n\r\nimport { EnvOptions } from \"@esfaenza/core/domain\";\r\n\r\ndeclare var myconfig: EnvOptions;\r\n\r\n@Component({\r\n selector: \"login\",\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: [\"./jace-login.component.scss\"],\r\n templateUrl: \"./jace-login.component.html\",\r\n})\r\nexport class JaceLoginComponent {\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n window.location.href = `${myconfig.AuthUrl}/login/form?client=${myconfig.Client}`;\r\n }\r\n}\r\n","<div class=\"login-container\">\r\n <div class=\"redirecting-div\">\r\n <div class=\"redirecting-message\"><h1>Redirecting to login...</h1></div>\r\n <div class=\"signal\"></div>\r\n </div>\r\n</div>\r\n","// Angular\r\nimport { Component, Inject, Optional, ViewEncapsulation } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { AppState } from \"@esfaenza/core/services\";\r\n\r\n// Applicazione\r\nimport { REDIRECT_MAP } from \"@esfaenza/core/domain\";\r\n\r\n// TODO: loc.ts\r\n@Component({\r\n selector: \"redirecter\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./redirecter.component.html\"\r\n})\r\nexport class RedirecterComponent {\r\n\r\n public Error: string = \"\";\r\n\r\n constructor(public _state: AppState, private route: ActivatedRoute, public router: Router, @Optional() @Inject(REDIRECT_MAP) private redirectMap: { [index: string]: { url: string, params: string[] } }) { }\r\n\r\n ngOnInit() {\r\n let url: string = this.route.snapshot.params[\"url\"];\r\n //§ = 167... non so perché ma scrivendolo esplicitamente non funziona\r\n let parts = url.split(String.fromCharCode(167)).filter(s => !!s);\r\n\r\n if (parts.length < 2) {\r\n this.Error = \"L'url passato è incompleto. Impossibile riconoscerlo\";\r\n return;\r\n }\r\n else {\r\n var redirect = this.redirectMap[parts[0]];\r\n if (!redirect) {\r\n this.Error = \"L'url passato fa riferimento a un oggetto non navigabile. Impossibile procedere\";\r\n return;\r\n }\r\n\r\n if (redirect.params.length != parts.length - 1) {\r\n this.Error = \"Il numero di parametri richiesti per navigare all'entità richiesta è diverso dal numero di parametri passato\";\r\n return;\r\n }\r\n\r\n let parObject = {};\r\n redirect.params.forEach((t, i) => parObject[t] = parts[i + 1]);\r\n this.router.navigate([\"pages/\" + redirect.url, parObject]);\r\n }\r\n }\r\n}","<div *ngIf=\"Error\">{{Error}}</div>","// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatSlideToggleModule } from \"@angular/material/slide-toggle\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n\r\n// Altro \r\nimport { LocalizationModule } from \"@esfaenza/localizations\";\r\nimport { ProgressbarModule } from \"ngx-bootstrap/progressbar\";\r\n\r\n// Componenti\r\nimport { BackTop } from \"./back-top/back-top.component\";\r\nimport { Breadcrumb } from \"./breadcrumb/breadcrumb.component\";\r\nimport { PageNotFoundComponent } from \"./error/404/pagenotfound.component\";\r\nimport { ServerErrorComponent } from \"./error/500/servererror.component\";\r\nimport { AngularErrorComponent } from \"./error/Angular/angularerror.component\";\r\nimport { PagesComponent } from \"./page/pages.component\";\r\nimport { ExternalPagesComponent } from \"./external-page/external_pages.component\";\r\nimport { JaceLoginComponent } from \"./jace-login/jace-login.component\";\r\nimport { JaceModulesBoardComponent } from \"./navbar/modules-board/jace-modules-board.component\";\r\nimport { Navbar } from \"./navbar/navbar.component\";\r\n\r\nimport { RedirecterComponent } from \"./redirecter/redirecter.component\";\r\nimport { Sidebar } from \"./sidebar/sidebar.component\";\r\n\r\nimport { DirectivesModule } from \"@esfaenza/core/directives\";\r\n\r\nconst COMPONENTS = [\r\n BackTop,\r\n Breadcrumb,\r\n PageNotFoundComponent,\r\n ServerErrorComponent,\r\n AngularErrorComponent,\r\n PagesComponent,\r\n ExternalPagesComponent,\r\n JaceLoginComponent,\r\n JaceModulesBoardComponent,\r\n Navbar,\r\n RedirecterComponent,\r\n Sidebar\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, MatSlideToggleModule],\r\n declarations: [...COMPONENTS],\r\n exports: [...COMPONENTS]\r\n})\r\nexport class ComponentsModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i4","i3","i5","i6","i7","i8","i12.JaceModulesBoardComponent","i4.SidebarService","i5.BackTop","i6.Breadcrumb","i7.Navbar","i8.Sidebar"],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, Input, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@esfaenza/core/services';
|
|
4
|
+
import 'jquery-slimscroll';
|
|
5
|
+
|
|
6
|
+
// Angular
|
|
7
|
+
class Draggable {
|
|
8
|
+
constructor(_elementRef, zone, _state) {
|
|
9
|
+
this._elementRef = _elementRef;
|
|
10
|
+
this.zone = zone;
|
|
11
|
+
this._state = _state;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.zone.runOutsideAngular(() => {
|
|
15
|
+
var handle = this.handlerSelector || '.modal-header';
|
|
16
|
+
jQuery(this._elementRef.nativeElement).children(':first-child').draggable({
|
|
17
|
+
handle,
|
|
18
|
+
helper: function (event, ui) {
|
|
19
|
+
var oBody = $(document).find('body');
|
|
20
|
+
var containmentDiv = $('<div id="div_containment"></div>');
|
|
21
|
+
containmentDiv
|
|
22
|
+
.css('z-index', "-99999")
|
|
23
|
+
.css('top', "0")
|
|
24
|
+
.css('left', "0")
|
|
25
|
+
.css('width', "100%")
|
|
26
|
+
.css('height', "100%")
|
|
27
|
+
.css('position', 'absolute');
|
|
28
|
+
containmentDiv.appendTo(oBody);
|
|
29
|
+
return this;
|
|
30
|
+
},
|
|
31
|
+
stop: function (event, ui) {
|
|
32
|
+
$(document).filter('body').find('#div_containment').remove();
|
|
33
|
+
},
|
|
34
|
+
containment: this._state.Embedded ? "#div_containment" : null
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
Draggable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Draggable, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.AppState }], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
Draggable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: Draggable, selector: "[emaDraggable]", inputs: { handlerSelector: ["emaDraggable", "handlerSelector"] }, ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Draggable, decorators: [{
|
|
42
|
+
type: Directive,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: "[emaDraggable]"
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.AppState }]; }, propDecorators: { handlerSelector: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: ['emaDraggable']
|
|
49
|
+
}] } });
|
|
50
|
+
|
|
51
|
+
// Angular
|
|
52
|
+
class SlimScroll {
|
|
53
|
+
constructor(_elementRef, zone) {
|
|
54
|
+
this._elementRef = _elementRef;
|
|
55
|
+
this.zone = zone;
|
|
56
|
+
}
|
|
57
|
+
ngOnChanges(changes) {
|
|
58
|
+
this._scroll();
|
|
59
|
+
}
|
|
60
|
+
_scroll() {
|
|
61
|
+
this._destroy();
|
|
62
|
+
this._init();
|
|
63
|
+
}
|
|
64
|
+
//Stacco slimscroll da Angular dato che registra dei listener sull'oggetto in cui viene creato che spammerebbero la change detection
|
|
65
|
+
_init() {
|
|
66
|
+
this.zone.runOutsideAngular(() => {
|
|
67
|
+
jQuery(this._elementRef.nativeElement).slimScroll(this.slimScrollOptions);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
_destroy() {
|
|
71
|
+
this.zone.runOutsideAngular(() => {
|
|
72
|
+
jQuery(this._elementRef.nativeElement).slimScroll({ destroy: true });
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
SlimScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SlimScroll, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
SlimScroll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SlimScroll, selector: "[slim-scroll]", inputs: { slimScrollOptions: "slimScrollOptions" }, usesOnChanges: true, ngImport: i0 });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SlimScroll, decorators: [{
|
|
79
|
+
type: Directive,
|
|
80
|
+
args: [{
|
|
81
|
+
selector: "[slim-scroll]"
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { slimScrollOptions: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}] } });
|
|
86
|
+
|
|
87
|
+
// Angular
|
|
88
|
+
class Widget {
|
|
89
|
+
constructor(el) {
|
|
90
|
+
this.$el = jQuery(el.nativeElement);
|
|
91
|
+
jQuery.fn.widgster.Constructor.DEFAULTS.bodySelector = ".widget-body";
|
|
92
|
+
/*
|
|
93
|
+
When widget is closed remove its parent if it is .col-*
|
|
94
|
+
*/
|
|
95
|
+
jQuery(document).on("close.widgster", (e) => {
|
|
96
|
+
let $colWrap = jQuery(e.target).closest(' [class*="col-"]:not(.widget-container)');
|
|
97
|
+
// remove colWrap only if there are no more widgets inside
|
|
98
|
+
if (!$colWrap.find(".widget").not(e.target).length) {
|
|
99
|
+
$colWrap.remove();
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
jQuery(document).on("fullscreened.widgster", (e) => {
|
|
103
|
+
jQuery(e.target).find("div.widget-body").addClass("scrolling");
|
|
104
|
+
}).on("restored.widgster", (e) => {
|
|
105
|
+
jQuery(e.target).find("div.widget-body").removeClass("scrolling");
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
ngOnInit() {
|
|
109
|
+
this.$el.widgster();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
Widget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Widget, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
113
|
+
Widget.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: Widget, selector: "[widget]", ngImport: i0 });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Widget, decorators: [{
|
|
115
|
+
type: Directive,
|
|
116
|
+
args: [{
|
|
117
|
+
selector: "[widget]"
|
|
118
|
+
}]
|
|
119
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
120
|
+
|
|
121
|
+
// Angular
|
|
122
|
+
const DIRECTIVES = [Draggable, SlimScroll, Widget];
|
|
123
|
+
class DirectivesModule {
|
|
124
|
+
}
|
|
125
|
+
DirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
126
|
+
DirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DirectivesModule, declarations: [Draggable, SlimScroll, Widget], exports: [Draggable, SlimScroll, Widget] });
|
|
127
|
+
DirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DirectivesModule });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DirectivesModule, decorators: [{
|
|
129
|
+
type: NgModule,
|
|
130
|
+
args: [{ imports: [], declarations: [...DIRECTIVES], exports: [...DIRECTIVES] }]
|
|
131
|
+
}] });
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Generated bundle index. Do not edit.
|
|
135
|
+
*/
|
|
136
|
+
|
|
137
|
+
export { DirectivesModule, Draggable, SlimScroll, Widget };
|
|
138
|
+
//# sourceMappingURL=esfaenza-core-directives.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esfaenza-core-directives.mjs","sources":["../../../projects/core/directives/src/draggable/draggable.directive.ts","../../../projects/core/directives/src/slim-scroll/slim-scroll.directive.ts","../../../projects/core/directives/src/widget/widget.directive.ts","../../../projects/core/directives/src/directives.module.ts","../../../projects/core/directives/src/esfaenza-core-directives.ts"],"sourcesContent":["// Angular\r\nimport { Directive, ElementRef, Input, NgZone } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { AppState } from \"@esfaenza/core/services\";\r\n\r\ndeclare var jQuery;\r\ndeclare var $;\r\n\r\n@Directive({\r\n selector: \"[emaDraggable]\"\r\n})\r\nexport class Draggable {\r\n @Input('emaDraggable') handlerSelector: string;\r\n\r\n constructor(private _elementRef: ElementRef, private zone: NgZone, private _state: AppState) { }\r\n\r\n ngOnInit() {\r\n this.zone.runOutsideAngular(() => {\r\n var handle = this.handlerSelector || '.modal-header';\r\n jQuery(this._elementRef.nativeElement).children(':first-child').draggable({\r\n handle,\r\n helper: function (event, ui) {\r\n var oBody = $(document).find('body');\r\n var containmentDiv = $('<div id=\"div_containment\"></div>');\r\n containmentDiv\r\n .css('z-index', \"-99999\")\r\n .css('top', \"0\")\r\n .css('left', \"0\")\r\n .css('width', \"100%\")\r\n .css('height', \"100%\")\r\n .css('position', 'absolute');\r\n containmentDiv.appendTo(oBody);\r\n return this;\r\n },\r\n stop: function (event, ui) {\r\n $(document).filter('body').find('#div_containment').remove();\r\n },\r\n containment: this._state.Embedded ? \"#div_containment\" : null\r\n });\r\n });\r\n }\r\n}","// Angular\r\nimport { Directive, ElementRef, Input, NgZone } from \"@angular/core\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport \"jquery-slimscroll\";\r\n\r\ndeclare var jQuery;\r\n\r\n@Directive({\r\n selector: \"[slim-scroll]\"\r\n})\r\nexport class SlimScroll {\r\n @Input() public slimScrollOptions: Object;\r\n\r\n constructor(private _elementRef: ElementRef, private zone: NgZone) {\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this._scroll();\r\n }\r\n\r\n private _scroll() {\r\n this._destroy();\r\n this._init();\r\n }\r\n\r\n //Stacco slimscroll da Angular dato che registra dei listener sull'oggetto in cui viene creato che spammerebbero la change detection\r\n private _init() {\r\n this.zone.runOutsideAngular(() => {\r\n jQuery(this._elementRef.nativeElement).slimScroll(this.slimScrollOptions);\r\n });\r\n }\r\n\r\n private _destroy() {\r\n this.zone.runOutsideAngular(() => {\r\n jQuery(this._elementRef.nativeElement).slimScroll({ destroy: true });\r\n });\r\n }\r\n}","// Angular\r\nimport { Directive, ElementRef, OnInit } from \"@angular/core\";\r\n\r\ndeclare var jQuery;\r\n\r\n@Directive({\r\n selector: \"[widget]\"\r\n})\r\nexport class Widget implements OnInit {\r\n $el: any;\r\n\r\n constructor(el: ElementRef) {\r\n this.$el = jQuery(el.nativeElement);\r\n jQuery.fn.widgster.Constructor.DEFAULTS.bodySelector = \".widget-body\";\r\n\r\n /*\r\n When widget is closed remove its parent if it is .col-*\r\n */\r\n jQuery(document).on(\"close.widgster\", (e) => {\r\n let $colWrap = jQuery(e.target).closest(' [class*=\"col-\"]:not(.widget-container)');\r\n\r\n // remove colWrap only if there are no more widgets inside\r\n if (!$colWrap.find(\".widget\").not(e.target).length) {\r\n $colWrap.remove();\r\n }\r\n });\r\n\r\n jQuery(document).on(\"fullscreened.widgster\", (e) => {\r\n jQuery(e.target).find(\"div.widget-body\").addClass(\"scrolling\");\r\n }).on(\"restored.widgster\", (e) => {\r\n jQuery(e.target).find(\"div.widget-body\").removeClass(\"scrolling\");\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.$el.widgster();\r\n }\r\n}","// Angular\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n// Pipe\r\nimport { Draggable } from \"./draggable/draggable.directive\";\r\nimport { SlimScroll } from \"./slim-scroll/slim-scroll.directive\";\r\nimport { Widget } from \"./widget/widget.directive\";\r\n\r\nconst DIRECTIVES = [Draggable, SlimScroll, Widget];\r\n\r\n@NgModule({ imports: [], declarations: [...DIRECTIVES], exports: [...DIRECTIVES] })\r\nexport class DirectivesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
class ApplicationMenu {
|
|
4
|
+
constructor(title, link, routerLink, icon, ac, wip, subMenu, queryParams) {
|
|
5
|
+
this.title = title;
|
|
6
|
+
this.link = link;
|
|
7
|
+
this.routerLink = routerLink;
|
|
8
|
+
this.icon = icon;
|
|
9
|
+
this.ac = ac;
|
|
10
|
+
this.wip = wip;
|
|
11
|
+
this.subMenu = subMenu;
|
|
12
|
+
this.queryParams = queryParams;
|
|
13
|
+
}
|
|
14
|
+
static Group(title, icon, ac, wip, subMenu) {
|
|
15
|
+
return new ApplicationMenu(title, null, null, icon, ac, wip, subMenu);
|
|
16
|
+
}
|
|
17
|
+
static TopItem(title, icon, routerLink, ac, queryParams, wip) {
|
|
18
|
+
return new ApplicationMenu(title, null, routerLink, icon, ac, wip, null, queryParams);
|
|
19
|
+
}
|
|
20
|
+
static Item(title, routerLink, ac, queryParams, wip) {
|
|
21
|
+
return new ApplicationMenu(title, null, routerLink, null, ac, !routerLink && !ac && !queryParams ? true : wip, null, queryParams);
|
|
22
|
+
}
|
|
23
|
+
static Link(title, link) {
|
|
24
|
+
return new ApplicationMenu(title, link);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
ApplicationMenu.ignoreStorage = { ignoreStorage: true };
|
|
28
|
+
|
|
29
|
+
class EnvOptions {
|
|
30
|
+
}
|
|
31
|
+
;
|
|
32
|
+
|
|
33
|
+
class AccountScope {
|
|
34
|
+
constructor(modules = [], roles = [], permissions = []) {
|
|
35
|
+
this.modules = modules;
|
|
36
|
+
this.roles = roles;
|
|
37
|
+
this.permissions = permissions;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
class ActiveModuleView {
|
|
42
|
+
}
|
|
43
|
+
class CategoriesWithModules {
|
|
44
|
+
constructor(module) {
|
|
45
|
+
var _a;
|
|
46
|
+
this.category = (_a = module === null || module === void 0 ? void 0 : module.category) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
47
|
+
this.module_rows = [[module]];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
class JaceAccount {
|
|
52
|
+
}
|
|
53
|
+
class JaceUser {
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
class BaseIdentity {
|
|
57
|
+
}
|
|
58
|
+
class JaceIdentity extends BaseIdentity {
|
|
59
|
+
constructor(scope = null) {
|
|
60
|
+
super();
|
|
61
|
+
this.Roles = [];
|
|
62
|
+
this.Modules = [];
|
|
63
|
+
this.Permissions = [];
|
|
64
|
+
if (scope) {
|
|
65
|
+
this.Roles = scope.roles.map(x => x.idrolealt);
|
|
66
|
+
this.Permissions = scope.permissions.map(x => x.idpermissionalt);
|
|
67
|
+
this.Modules = scope.modules.map(x => x.idmodule);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
class JaceModule {
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
class JacePermission {
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
class JaceRole {
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
class User {
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Angular
|
|
85
|
+
/** Token che indica i default da assegnare agli Input */
|
|
86
|
+
const REDIRECT_MAP = new InjectionToken('REDIRECT_MAP');
|
|
87
|
+
/** Token che indica il servizio di localizzazione utilizzato per i menù */
|
|
88
|
+
const MENU_LOCALIZATION = new InjectionToken('MENU_LOCALIZATION');
|
|
89
|
+
/** Token che indica i menù dell'applicazione, da quello vegano fino a quello celiaco */
|
|
90
|
+
const MENU = new InjectionToken('MENU');
|
|
91
|
+
/** Token che indica se il servizio di autenticazione deve utilizzare un token finto */
|
|
92
|
+
const USE_FAKE_ACCESS_TOKEN = new InjectionToken('USE_FAKE_ACCESS_TOKEN');
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Generated bundle index. Do not edit.
|
|
96
|
+
*/
|
|
97
|
+
|
|
98
|
+
export { AccountScope, ActiveModuleView, ApplicationMenu, BaseIdentity, CategoriesWithModules, EnvOptions, JaceAccount, JaceIdentity, JaceModule, JacePermission, JaceRole, JaceUser, MENU, MENU_LOCALIZATION, REDIRECT_MAP, USE_FAKE_ACCESS_TOKEN, User };
|
|
99
|
+
//# sourceMappingURL=esfaenza-core-domain.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esfaenza-core-domain.mjs","sources":["../../../projects/core/domain/src/models/core/classes/ApplicationMenu.ts","../../../projects/core/domain/src/models/core/classes/EnvOptions.ts","../../../projects/core/domain/src/models/jace/classes/AccountScope.ts","../../../projects/core/domain/src/models/jace/classes/ActiveModuleView.ts","../../../projects/core/domain/src/models/jace/classes/JaceAccount.ts","../../../projects/core/domain/src/models/jace/classes/JaceIdentity.ts","../../../projects/core/domain/src/models/jace/classes/JaceModule.ts","../../../projects/core/domain/src/models/jace/classes/JacePermission.ts","../../../projects/core/domain/src/models/jace/classes/JaceRole.ts","../../../projects/core/domain/src/models/jace/classes/User.ts","../../../projects/core/domain/src/tokens.ts","../../../projects/core/domain/src/esfaenza-core-domain.ts"],"sourcesContent":["export class ApplicationMenu {\r\n constructor(\r\n public title: string,\r\n public link?: string,\r\n public routerLink?: string,\r\n public icon?: string,\r\n public ac?: string,\r\n public wip?: boolean,\r\n public subMenu?: ApplicationMenu[],\r\n public queryParams?: {}) { }\r\n\r\n static Group(title: string, icon: string, ac: string, wip: boolean, subMenu: ApplicationMenu[]): ApplicationMenu {\r\n return new ApplicationMenu(title, null, null, icon, ac, wip, subMenu);\r\n }\r\n\r\n static TopItem(title: string, icon: string, routerLink?: string, ac?: string, queryParams?: {}, wip?: boolean): ApplicationMenu {\r\n return new ApplicationMenu(title, null, routerLink, icon, ac, wip, null, queryParams);\r\n }\r\n\r\n static Item(title: string, routerLink?: string, ac?: string, queryParams?: {}, wip?: boolean): ApplicationMenu {\r\n return new ApplicationMenu(title, null, routerLink, null, ac, !routerLink && !ac && !queryParams ? true : wip, null, queryParams);\r\n }\r\n\r\n static Link(title: string, link?: string) {\r\n return new ApplicationMenu(title, link);\r\n }\r\n\r\n static ignoreStorage: any = { ignoreStorage: true };\r\n}\r\n","export class EnvOptions {\r\n //Proprietà di configurazione\r\n AppData: { ModuleId: string, ModuleDefId: number, ComponentEnvironment: number, ComponentVersion: string, ModuleDescription: string };\r\n AuthUrl?: string;\r\n Client?: string;\r\n JaceDashboardUrl?: string;\r\n TransactionTimeoutSeconds: number;\r\n\r\n //Proprietà di sistema\r\n redirectInProgress?: boolean;\r\n};","import { JaceModule } from \"./JaceModule\";\r\nimport { JacePermission } from \"./JacePermission\";\r\nimport { JaceRole } from \"./JaceRole\";\r\n\r\nexport class AccountScope {\r\n constructor(public modules: JaceModule[] = [], public roles: JaceRole[] = [], public permissions: JacePermission[] = []) { }\r\n}","export class ActiveModuleView\r\n{\r\n idmodule: number;\r\n name: string;\r\n altname: string;\r\n category: string;\r\n tenant: string;\r\n uiurl: string;\r\n environment: string;\r\n href: string;\r\n}\r\n\r\nexport class CategoriesWithModules {\r\n constructor(module: ActiveModuleView) {\r\n this.category = module?.category?.toUpperCase();\r\n this.module_rows = [[module]];\r\n }\r\n category: string;\r\n module_rows: ActiveModuleView[][];\r\n}","export class JaceAccount {\r\n idaccount: number;\r\n iduser: number;\r\n idtenant: string;\r\n dsusername: string;\r\n dspassword: string;\r\n dtvalidfrom: Date;\r\n dtvalidto: Date;\r\n sydatains: Date;\r\n sydataupd: Date;\r\n dtlockdown: Date;\r\n syuserupd: string;\r\n syuserins: string;\r\n dsreasonlockdown: string;\r\n cnattempts: number;\r\n\r\n //Solo UI\r\n description: string;\r\n}\r\n\r\nexport class JaceUser {\r\n iduser: number;\r\n dsnome: string;\r\n dscognome: string;\r\n sydatains: Date;\r\n syuserins: string;\r\n sydataupd: Date;\r\n syuserupd: string;\r\n}","import { AccountScope } from \"./AccountScope\";\r\n\r\nexport class BaseIdentity{\r\n Expired: boolean;\r\n IdAccount: number;\r\n IdUser: number;\r\n DsUser: string;\r\n FullName: string;\r\n Idtenant: string;\r\n TenantName: string;\r\n ExpirationTime: Date;\r\n}\r\nexport class JaceIdentity extends BaseIdentity {\r\n constructor(scope : AccountScope = null){\r\n super();\r\n this.Roles = [];\r\n this.Modules = [];\r\n this.Permissions = [];\r\n if(scope){\r\n this.Roles = scope.roles.map(x=>x.idrolealt);\r\n this.Permissions = scope.permissions.map(x=>x.idpermissionalt);\r\n this.Modules = scope.modules.map(x=>x.idmodule);\r\n }\r\n }\r\n Roles: string[];\r\n Modules: number[];\r\n Permissions: string[];\r\n}\r\n","export class JaceModule\r\n{\r\n idmodule: number;\r\n dsname: string;\r\n dscategory: string;\r\n idmodulealt: string;\r\n}\r\n","export class JacePermission\r\n{\r\n idpermission: number;\r\n dspermission: string;\r\n idpermissionalt: string;\r\n sydatains: Date;\r\n syuserins: string;\r\n sydataupd: Date;\r\n syuserupd: string;\r\n}\r\n","export class JaceRole\r\n{\r\n idrole: number;\r\n idrolealt: string;\r\n dsrole: string;\r\n dsnote: string;\r\n idparent: number;\r\n sydatains: Date;\r\n syuserins: string;\r\n sydataupd: Date | null;\r\n syuserupd: string;\r\n}","export class User {\r\n id: string;\r\n description: string;\r\n}","// Angular\r\nimport { InjectionToken, Type } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n// Applicazione\r\nimport { ApplicationMenu } from \"./models/core/classes/ApplicationMenu\";\r\n\r\n/** Token che indica i default da assegnare agli Input */\r\nexport const REDIRECT_MAP: InjectionToken<{ [index: string]: { url: string, params: string[] } }> = new InjectionToken<{ [index: string]: { url: string, params: string[] } }>('REDIRECT_MAP');\r\n\r\n/** Token che indica il servizio di localizzazione utilizzato per i menù */\r\nexport const MENU_LOCALIZATION: InjectionToken<Type<LocalizationService>> = new InjectionToken<Type<LocalizationService>>('MENU_LOCALIZATION');\r\n\r\n/** Token che indica i menù dell'applicazione, da quello vegano fino a quello celiaco */\r\nexport const MENU: InjectionToken<ApplicationMenu[]> = new InjectionToken<ApplicationMenu[]>('MENU');\r\n\r\n/** Token che indica se il servizio di autenticazione deve utilizzare un token finto */\r\nexport const USE_FAKE_ACCESS_TOKEN: InjectionToken<boolean> = new InjectionToken<boolean>('USE_FAKE_ACCESS_TOKEN');","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
class ResizeListener {
|
|
2
|
+
constructor(element, callback) {
|
|
3
|
+
this.observer = null;
|
|
4
|
+
this._disposed = false;
|
|
5
|
+
this._targets = [];
|
|
6
|
+
this.makeListener();
|
|
7
|
+
this._element = element;
|
|
8
|
+
this.add(element, callback);
|
|
9
|
+
}
|
|
10
|
+
isDisposed() {
|
|
11
|
+
return this._disposed;
|
|
12
|
+
}
|
|
13
|
+
dispose() {
|
|
14
|
+
if (!this._disposed) {
|
|
15
|
+
this._disposed = true;
|
|
16
|
+
this.remove(this._element);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
makeListener() {
|
|
20
|
+
if (typeof ResizeObserver == "undefined")
|
|
21
|
+
throw "Resize Observer non è definito. Si prega di utilizzare un browser vero";
|
|
22
|
+
this.observer = new ResizeObserver((entries) => {
|
|
23
|
+
for (let i = 0; i < entries.length; ++i)
|
|
24
|
+
for (let t = 0; t < this._targets.length; ++t)
|
|
25
|
+
if (this._targets[t].target === entries[i].target)
|
|
26
|
+
this._targets[t].callback();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
add(target, callback) {
|
|
30
|
+
this.observer.observe(target, { box: "content-box" });
|
|
31
|
+
this._targets.push({ target, callback });
|
|
32
|
+
}
|
|
33
|
+
remove(target) {
|
|
34
|
+
this.observer.unobserve(target);
|
|
35
|
+
this._targets.splice(this._targets.findIndex(t => t.target === target), 1);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { ResizeListener };
|
|
44
|
+
//# sourceMappingURL=esfaenza-core-helpers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esfaenza-core-helpers.mjs","sources":["../../../projects/core/helpers/src/classes/ResizeListener.ts","../../../projects/core/helpers/src/esfaenza-core-helpers.ts"],"sourcesContent":["export class ResizeListener {\r\n private observer: any = null;\r\n private _element: Element;\r\n private _disposed: boolean = false;\r\n\r\n private _targets: Array<{ target: Element, callback: () => void }> = [];\r\n\r\n constructor(element: Element, callback: () => void) {\r\n this.makeListener();\r\n this._element = element;\r\n this.add(element, callback);\r\n }\r\n\r\n public isDisposed() {\r\n return this._disposed;\r\n }\r\n\r\n public dispose() {\r\n if (!this._disposed) {\r\n this._disposed = true;\r\n this.remove(this._element);\r\n }\r\n }\r\n\r\n private makeListener(): void {\r\n if (typeof ResizeObserver == \"undefined\")\r\n throw \"Resize Observer non è definito. Si prega di utilizzare un browser vero\";\r\n\r\n this.observer = new ResizeObserver((entries: Array<any>) => {\r\n for (let i = 0; i < entries.length; ++i)\r\n for (let t = 0; t < this._targets.length; ++t)\r\n if (this._targets[t].target === entries[i].target)\r\n this._targets[t].callback();\r\n });\r\n }\r\n\r\n public add(target: Element, callback: () => void) {\r\n this.observer.observe(target, { box: \"content-box\" });\r\n this._targets.push({ target, callback });\r\n }\r\n\r\n public remove(target: Element) {\r\n this.observer.unobserve(target);\r\n this._targets.splice(this._targets.findIndex(t => t.target === target), 1);\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"MAAa,cAAc,CAAA;IAOvB,WAAY,CAAA,OAAgB,EAAE,QAAoB,EAAA;AAN1C,QAAA,IAAQ,CAAA,QAAA,GAAQ,IAAI,CAAC;AAErB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAE3B,QAAA,IAAQ,CAAA,QAAA,GAAqD,EAAE,CAAC;QAGpE,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC/B;IAEM,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,SAAA;KACJ;IAEO,YAAY,GAAA;QAChB,IAAI,OAAO,cAAc,IAAI,WAAW;AACpC,YAAA,MAAM,wEAAwE,CAAC;QAEnF,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAmB,KAAI;AACvD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACnC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;AACzC,oBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;wBAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5C,SAAC,CAAC,CAAC;KACN;IAEM,GAAG,CAAC,MAAe,EAAE,QAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC5C;AAEM,IAAA,MAAM,CAAC,MAAe,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9E;AACJ;;AC7CD;;AAEG;;;;"}
|