@esfaenza/core 15.2.4 → 15.2.6

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.
Files changed (119) hide show
  1. package/components/base/navigable.component.d.ts +17 -0
  2. package/components/base/reactive.component.d.ts +9 -0
  3. package/components/breadcrumb/breadcrumb.component.d.ts +4 -0
  4. package/components/components.module.d.ts +11 -9
  5. package/components/jace-resource/jace-resource.component.d.ts +22 -0
  6. package/components/navbar/navbar.component.d.ts +22 -17
  7. package/components/public-api.d.ts +3 -0
  8. package/components/sidebar/sidebar.component.d.ts +13 -8
  9. package/domain/models/core/ApplicationJob.d.ts +12 -0
  10. package/domain/models/core/GenericItem.d.ts +10 -0
  11. package/domain/models/core/KeyValue.d.ts +5 -0
  12. package/domain/models/global_search/SaerchResultContainer.d.ts +5 -0
  13. package/domain/models/global_search/SearchResult.d.ts +10 -0
  14. package/domain/models/jace/{classes/ActiveModuleView.d.ts → ActiveModuleView.d.ts} +0 -5
  15. package/domain/models/jace/CategoriesWithModules.d.ts +6 -0
  16. package/domain/models/jace/{classes/JaceAccount.d.ts → JaceAccount.d.ts} +0 -9
  17. package/domain/models/jace/{classes/JaceIdentity.d.ts → JaceIdentity.d.ts} +1 -3
  18. package/domain/models/jace/JaceUser.d.ts +9 -0
  19. package/domain/public-api.d.ts +16 -10
  20. package/domain/tokens.d.ts +1 -1
  21. package/esm2020/components/base/navigable.component.mjs +43 -0
  22. package/esm2020/components/base/reactive.component.mjs +26 -0
  23. package/esm2020/components/breadcrumb/breadcrumb.component.mjs +34 -29
  24. package/esm2020/components/components.module.mjs +15 -8
  25. package/esm2020/components/error/Angular/angularerror.component.mjs +7 -5
  26. package/esm2020/components/external-page/external_pages.component.mjs +1 -2
  27. package/esm2020/components/jace-resource/jace-resource.component.mjs +65 -0
  28. package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +1 -1
  29. package/esm2020/components/navbar/navbar.component.mjs +85 -68
  30. package/esm2020/components/public-api.mjs +4 -1
  31. package/esm2020/components/sidebar/sidebar.component.mjs +67 -39
  32. package/esm2020/domain/models/core/ApplicationJob.mjs +3 -0
  33. package/esm2020/domain/models/core/ApplicationMenu.mjs +26 -0
  34. package/esm2020/domain/models/core/EnvOptions.mjs +13 -0
  35. package/esm2020/domain/models/core/GenericItem.mjs +12 -0
  36. package/esm2020/domain/models/core/KeyValue.mjs +15 -0
  37. package/esm2020/domain/models/global_search/SaerchResultContainer.mjs +6 -0
  38. package/esm2020/domain/models/global_search/SearchResult.mjs +8 -0
  39. package/esm2020/domain/models/jace/AccountScope.mjs +8 -0
  40. package/esm2020/domain/models/jace/ActiveModuleView.mjs +3 -0
  41. package/esm2020/domain/models/jace/CategoriesWithModules.mjs +7 -0
  42. package/esm2020/domain/models/jace/JaceAccount.mjs +3 -0
  43. package/esm2020/domain/models/jace/JaceIdentity.mjs +13 -0
  44. package/esm2020/domain/models/jace/JaceModule.mjs +3 -0
  45. package/esm2020/domain/models/jace/JacePermission.mjs +3 -0
  46. package/esm2020/domain/models/jace/JaceRole.mjs +8 -0
  47. package/esm2020/domain/models/jace/JaceUser.mjs +3 -0
  48. package/esm2020/domain/public-api.mjs +17 -11
  49. package/esm2020/domain/tokens.mjs +1 -1
  50. package/esm2020/lib/app.component.mjs +2 -2
  51. package/esm2020/lib/core.module.mjs +8 -7
  52. package/esm2020/pipes/classes/included_in.pipe.mjs +17 -0
  53. package/esm2020/pipes/{safe_html → classes}/safe_html.pipe.mjs +1 -1
  54. package/esm2020/pipes/{safe_script → classes}/safe_script.pipe.mjs +1 -1
  55. package/esm2020/pipes/{safe_style → classes}/safe_style.pipe.mjs +1 -1
  56. package/esm2020/pipes/classes/safe_url.pipe.mjs +18 -0
  57. package/esm2020/pipes/pipes.module.mjs +6 -6
  58. package/esm2020/pipes/public-api.mjs +6 -6
  59. package/esm2020/services/classes/app.completedjobredirection.mjs +18 -0
  60. package/esm2020/services/classes/app.globalsearch.mjs +34 -0
  61. package/esm2020/services/classes/app.menufilter.mjs +21 -0
  62. package/esm2020/services/classes/app.state.mjs +101 -9
  63. package/esm2020/services/public-api.mjs +4 -1
  64. package/fesm2015/esfaenza-core-components.mjs +336 -216
  65. package/fesm2015/esfaenza-core-components.mjs.map +1 -1
  66. package/fesm2015/esfaenza-core-domain.mjs +55 -15
  67. package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
  68. package/fesm2015/esfaenza-core-pipes.mjs +2 -2
  69. package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
  70. package/fesm2015/esfaenza-core-services.mjs +168 -10
  71. package/fesm2015/esfaenza-core-services.mjs.map +1 -1
  72. package/fesm2015/esfaenza-core.mjs +11 -10
  73. package/fesm2015/esfaenza-core.mjs.map +1 -1
  74. package/fesm2020/esfaenza-core-components.mjs +328 -209
  75. package/fesm2020/esfaenza-core-components.mjs.map +1 -1
  76. package/fesm2020/esfaenza-core-domain.mjs +54 -14
  77. package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
  78. package/fesm2020/esfaenza-core-pipes.mjs +2 -2
  79. package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
  80. package/fesm2020/esfaenza-core-services.mjs +167 -10
  81. package/fesm2020/esfaenza-core-services.mjs.map +1 -1
  82. package/fesm2020/esfaenza-core.mjs +11 -10
  83. package/fesm2020/esfaenza-core.mjs.map +1 -1
  84. package/lib/core.module.d.ts +6 -8
  85. package/package.json +1 -1
  86. package/pipes/{safe_url → classes}/safe_url.pipe.d.ts +1 -1
  87. package/pipes/pipes.module.d.ts +5 -5
  88. package/pipes/public-api.d.ts +5 -5
  89. package/services/classes/app.completedjobredirection.d.ts +12 -0
  90. package/services/classes/app.globalsearch.d.ts +25 -0
  91. package/services/classes/app.menufilter.d.ts +14 -0
  92. package/services/classes/app.state.d.ts +10 -17
  93. package/services/public-api.d.ts +3 -0
  94. package/theme/initial.scss +0 -8
  95. package/components/sidebar/sidebar.component.service.d.ts +0 -27
  96. package/domain/models/jace/classes/User.d.ts +0 -4
  97. package/esm2020/components/sidebar/sidebar.component.service.mjs +0 -58
  98. package/esm2020/domain/models/core/classes/ApplicationMenu.mjs +0 -26
  99. package/esm2020/domain/models/core/classes/EnvOptions.mjs +0 -13
  100. package/esm2020/domain/models/jace/classes/AccountScope.mjs +0 -8
  101. package/esm2020/domain/models/jace/classes/ActiveModuleView.mjs +0 -9
  102. package/esm2020/domain/models/jace/classes/JaceAccount.mjs +0 -5
  103. package/esm2020/domain/models/jace/classes/JaceIdentity.mjs +0 -16
  104. package/esm2020/domain/models/jace/classes/JaceModule.mjs +0 -3
  105. package/esm2020/domain/models/jace/classes/JacePermission.mjs +0 -3
  106. package/esm2020/domain/models/jace/classes/JaceRole.mjs +0 -8
  107. package/esm2020/domain/models/jace/classes/User.mjs +0 -3
  108. package/esm2020/pipes/included_in/included_in.pipe.mjs +0 -17
  109. package/esm2020/pipes/safe_url/safe_url.pipe.mjs +0 -18
  110. /package/domain/models/core/{classes/ApplicationMenu.d.ts → ApplicationMenu.d.ts} +0 -0
  111. /package/domain/models/core/{classes/EnvOptions.d.ts → EnvOptions.d.ts} +0 -0
  112. /package/domain/models/jace/{classes/AccountScope.d.ts → AccountScope.d.ts} +0 -0
  113. /package/domain/models/jace/{classes/JaceModule.d.ts → JaceModule.d.ts} +0 -0
  114. /package/domain/models/jace/{classes/JacePermission.d.ts → JacePermission.d.ts} +0 -0
  115. /package/domain/models/jace/{classes/JaceRole.d.ts → JaceRole.d.ts} +0 -0
  116. /package/pipes/{included_in → classes}/included_in.pipe.d.ts +0 -0
  117. /package/pipes/{safe_html → classes}/safe_html.pipe.d.ts +0 -0
  118. /package/pipes/{safe_script → classes}/safe_script.pipe.d.ts +0 -0
  119. /package/pipes/{safe_style → classes}/safe_style.pipe.d.ts +0 -0
@@ -0,0 +1,17 @@
1
+ import { Injector } from "@angular/core";
2
+ import { ReactiveComponent } from "./reactive.component";
3
+ import * as i0 from "@angular/core";
4
+ export declare abstract class NavigableComponent extends ReactiveComponent {
5
+ config: any;
6
+ protected CompletePath: string;
7
+ protected ComponentPath: string;
8
+ BasePath: string;
9
+ protected Parameters: {
10
+ [name: string]: string;
11
+ };
12
+ protected InternalNavigation: boolean;
13
+ protected Title: string;
14
+ constructor(injector: Injector);
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigableComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavigableComponent, "ng-component", never, {}, {}, never, never, false, never>;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { ReplaySubject, Subscription } from "rxjs";
2
+ import * as i0 from "@angular/core";
3
+ export declare abstract class ReactiveComponent {
4
+ protected Subscriptions: Subscription[];
5
+ protected destroyed$: ReplaySubject<boolean>;
6
+ ngOnDestroy(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReactiveComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<ReactiveComponent, "ng-component", never, {}, {}, never, never, false, never>;
9
+ }
@@ -9,6 +9,10 @@ export declare class Breadcrumb {
9
9
  activePageTitle: string;
10
10
  subActiveLinks: string[];
11
11
  constructor(_state: AppState, _activatedRoute: ActivatedRoute, _titleService: Title);
12
+ private adjustNavigationTo;
13
+ private adjustSubNavigationTo;
14
+ private removeLastSubNavigation;
15
+ private cleanupSubNavigation;
12
16
  ngOnInit(): void;
13
17
  static ɵfac: i0.ɵɵFactoryDeclaration<Breadcrumb, never>;
14
18
  static ɵcmp: i0.ɵɵComponentDeclaration<Breadcrumb, "breadcrumb", never, {}, {}, never, never, false, never>;
@@ -11,16 +11,18 @@ import * as i9 from "./navbar/modules-board/jace-modules-board.component";
11
11
  import * as i10 from "./navbar/navbar.component";
12
12
  import * as i11 from "./redirecter/redirecter.component";
13
13
  import * as i12 from "./sidebar/sidebar.component";
14
- import * as i13 from "@angular/common";
15
- import * as i14 from "@angular/router";
16
- import * as i15 from "@angular/forms";
17
- import * as i16 from "@esfaenza/core/directives";
18
- import * as i17 from "@esfaenza/localizations";
19
- import * as i18 from "ngx-bootstrap/progressbar";
20
- import * as i19 from "@angular/material/slide-toggle";
21
- import * as i20 from "ngx-bootstrap/dropdown";
14
+ import * as i13 from "./jace-resource/jace-resource.component";
15
+ import * as i14 from "@angular/common";
16
+ import * as i15 from "@angular/router";
17
+ import * as i16 from "@angular/forms";
18
+ import * as i17 from "@esfaenza/core/directives";
19
+ import * as i18 from "@esfaenza/localizations";
20
+ import * as i19 from "ngx-bootstrap/progressbar";
21
+ import * as i20 from "@angular/material/slide-toggle";
22
+ import * as i21 from "ngx-bootstrap/dropdown";
23
+ import * as i22 from "@esfaenza/es-table";
22
24
  export declare class ComponentsModule {
23
25
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
24
- static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.BackTop, typeof i2.Breadcrumb, typeof i3.PageNotFoundComponent, typeof i4.ServerErrorComponent, typeof i5.AngularErrorComponent, typeof i6.PagesComponent, typeof i7.ExternalPagesComponent, typeof i8.JaceLoginComponent, typeof i9.JaceModulesBoardComponent, typeof i10.Navbar, typeof i11.RedirecterComponent, typeof i12.Sidebar], [typeof i13.CommonModule, typeof i14.RouterModule, typeof i15.FormsModule, typeof i16.DirectivesModule, typeof i17.LocalizationModule, typeof i18.ProgressbarModule, typeof i19.MatSlideToggleModule, typeof i20.BsDropdownModule], [typeof i1.BackTop, typeof i2.Breadcrumb, typeof i3.PageNotFoundComponent, typeof i4.ServerErrorComponent, typeof i5.AngularErrorComponent, typeof i6.PagesComponent, typeof i7.ExternalPagesComponent, typeof i8.JaceLoginComponent, typeof i9.JaceModulesBoardComponent, typeof i10.Navbar, typeof i11.RedirecterComponent, typeof i12.Sidebar]>;
26
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.BackTop, typeof i2.Breadcrumb, typeof i3.PageNotFoundComponent, typeof i4.ServerErrorComponent, typeof i5.AngularErrorComponent, typeof i6.PagesComponent, typeof i7.ExternalPagesComponent, typeof i8.JaceLoginComponent, typeof i9.JaceModulesBoardComponent, typeof i10.Navbar, typeof i11.RedirecterComponent, typeof i12.Sidebar, typeof i13.JaceResourceComponent], [typeof i14.CommonModule, typeof i15.RouterModule, typeof i16.FormsModule, typeof i17.DirectivesModule, typeof i18.LocalizationModule, typeof i19.ProgressbarModule, typeof i20.MatSlideToggleModule, typeof i21.BsDropdownModule, typeof i22.EsTableModule], [typeof i1.BackTop, typeof i2.Breadcrumb, typeof i3.PageNotFoundComponent, typeof i4.ServerErrorComponent, typeof i5.AngularErrorComponent, typeof i6.PagesComponent, typeof i7.ExternalPagesComponent, typeof i8.JaceLoginComponent, typeof i9.JaceModulesBoardComponent, typeof i10.Navbar, typeof i11.RedirecterComponent, typeof i12.Sidebar, typeof i13.JaceResourceComponent]>;
25
27
  static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
26
28
  }
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectorRef } from "@angular/core";
2
+ import { DomSanitizer, SafeResourceUrl } from "@angular/platform-browser";
3
+ import { AppState } from "@esfaenza/core/services";
4
+ import { ActiveModuleView } from "@esfaenza/core/domain";
5
+ import * as i0 from "@angular/core";
6
+ export declare class JaceResourceComponent {
7
+ private cdr;
8
+ private _state;
9
+ private sanitizer;
10
+ Module: string;
11
+ ModuleKeyType: 'altid' | 'id';
12
+ Page: string;
13
+ Localhost: string;
14
+ Height: number;
15
+ sanitizedSourceResource: SafeResourceUrl;
16
+ constructor(cdr: ChangeDetectorRef, _state: AppState, sanitizer: DomSanitizer);
17
+ ngOnInit(): void;
18
+ ngAfterViewInit(): void;
19
+ afterModulesRetrieve(modules: ActiveModuleView[]): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<JaceResourceComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<JaceResourceComponent, "jace-resource", never, { "Module": "Module"; "ModuleKeyType": "ModuleKeyType"; "Page": "Page"; "Localhost": "Localhost"; }, {}, never, never, false, never>;
22
+ }
@@ -5,12 +5,14 @@ import { CacheService, PreferencesService } from "@esfaenza/preferences";
5
5
  import { LocalizationService } from "@esfaenza/localizations";
6
6
  import { MessageService } from "@esfaenza/extensions";
7
7
  import { HTTPService } from "@esfaenza/httpservice";
8
- import { AppState, ApplicationJob, TokenService } from "@esfaenza/core/services";
9
- import { JaceIdentity, ActiveModuleView, EnvOptions } from "@esfaenza/core/domain";
8
+ import { JaceIdentity, ActiveModuleView, ApplicationJob, SearchResult, SearchResultContainer } from "@esfaenza/core/domain";
9
+ import { AppState, CompletedJobRedirectionService, GlobalSearchService, TokenService } from "@esfaenza/core/services";
10
+ import { ReactiveComponent } from "../base/reactive.component";
10
11
  import * as i0 from "@angular/core";
11
- export declare class Navbar {
12
+ export declare class Navbar extends ReactiveComponent {
12
13
  private prefsService;
13
14
  private cacheService;
15
+ globalSearchService: GlobalSearchService;
14
16
  private MessageDef;
15
17
  private notifications;
16
18
  private msgExts;
@@ -20,27 +22,21 @@ export declare class Navbar {
20
22
  _state: AppState;
21
23
  sr: TokenService;
22
24
  private router;
23
- private destroyed$;
24
- isMenuCollapsed: boolean;
25
+ private cjrService;
25
26
  applicationVersion: string;
26
- myconfig: EnvOptions;
27
+ applicationEnvironment: number;
28
+ isMenuCollapsed: boolean;
27
29
  anomaliesProcessing: boolean;
28
- LastIdentity: JaceIdentity;
29
- IsJaceAdmin: boolean;
30
+ CurrentIdentity: JaceIdentity;
30
31
  private newVersionWarned;
31
- thisLoc: string;
32
32
  navbar: ElementRef;
33
- Permissions: string[];
34
- Roles: string[];
35
33
  Modules: ActiveModuleView[];
36
- private notificationsSubs;
37
- constructor(prefsService: PreferencesService, cacheService: CacheService, MessageDef: BaseMessageService, notifications: NotificationsService, msgExts: MessageService, lc: LocalizationService, http: HTTPService, cdr: ChangeDetectorRef, _state: AppState, sr: TokenService, router: Router);
34
+ constructor(prefsService: PreferencesService, cacheService: CacheService, globalSearchService: GlobalSearchService, MessageDef: BaseMessageService, notifications: NotificationsService, msgExts: MessageService, lc: LocalizationService, http: HTTPService, cdr: ChangeDetectorRef, _state: AppState, sr: TokenService, router: Router, cjrService: CompletedJobRedirectionService);
38
35
  ngOnDestroy(): void;
39
- startSignalRListening(): void;
40
- stopSignalRListening(): void;
41
- checkIdentity(): void;
36
+ private handleBaseNotifications;
37
+ private checkIdentity;
42
38
  getActiveJaceModules(): void;
43
- private checkSession;
39
+ private checkSessionTimeout;
44
40
  ngAfterViewInit(): void;
45
41
  toggleMenu(): void;
46
42
  logout(): void;
@@ -52,6 +48,15 @@ export declare class Navbar {
52
48
  clearAll(): void;
53
49
  clearMessages(): void;
54
50
  completedJobClicked(job: ApplicationJob): void;
51
+ SelectedResult: SearchResult;
52
+ ShowSingleTable: boolean;
53
+ searchTerm: string;
54
+ searchingTerm: boolean;
55
+ searchResult: SearchResultContainer;
56
+ searchRequest(): void;
57
+ searchModelChanged(): void;
58
+ closeSearch(): void;
59
+ FilterSearchResults(item?: SearchResult): void;
55
60
  static ɵfac: i0.ɵɵFactoryDeclaration<Navbar, never>;
56
61
  static ɵcmp: i0.ɵɵComponentDeclaration<Navbar, "navbar", never, {}, {}, never, never, false, never>;
57
62
  }
@@ -10,4 +10,7 @@ export * from './navbar/navbar.component';
10
10
  export * from './navbar/modules-board/jace-modules-board.component';
11
11
  export * from './redirecter/redirecter.component';
12
12
  export * from './sidebar/sidebar.component';
13
+ export * from './base/navigable.component';
14
+ export * from './base/reactive.component';
15
+ export * from './jace-resource/jace-resource.component';
13
16
  export * from './components.module';
@@ -1,8 +1,10 @@
1
1
  import { ChangeDetectorRef, ElementRef, NgZone, Type } from "@angular/core";
2
2
  import { Router } from "@angular/router";
3
3
  import { LocalizationService } from "@esfaenza/localizations";
4
- import { SidebarService } from "./sidebar.component.service";
5
- import { AppState } from "@esfaenza/core/services";
4
+ import { ApplicationMenu } from "@esfaenza/core/domain";
5
+ import { AppState, MenuFilteringService } from "@esfaenza/core/services";
6
+ import { UtilityService } from "@esfaenza/extensions";
7
+ import { AccessControlService } from "@esfaenza/access-control";
6
8
  import * as i0 from "@angular/core";
7
9
  export declare class Sidebar {
8
10
  lc: LocalizationService;
@@ -10,8 +12,11 @@ export declare class Sidebar {
10
12
  private _elementRef;
11
13
  private _router;
12
14
  _state: AppState;
13
- private _sidebarService;
14
15
  private zone;
16
+ private utiExts;
17
+ private aac;
18
+ private menuItemsRaw;
19
+ private menuFilteringService;
15
20
  menuItems: Array<any>;
16
21
  menuHeight: number;
17
22
  isMenuCollapsed: boolean;
@@ -20,10 +25,10 @@ export declare class Sidebar {
20
25
  hoverElemHeight: number;
21
26
  hoverElemTop: number;
22
27
  sidebar: ElementRef;
23
- constructor(lc: LocalizationService, lcMenu: Type<LocalizationService>, cdr: ChangeDetectorRef, _elementRef: ElementRef, _router: Router, _state: AppState, _sidebarService: SidebarService, zone: NgZone);
24
- ngOnInit(): void;
25
- init(): void;
26
- assignLevel(menuItem: any, level: any): void;
28
+ constructor(lc: LocalizationService, lcMenu: Type<LocalizationService>, cdr: ChangeDetectorRef, _elementRef: ElementRef, _router: Router, _state: AppState, zone: NgZone, utiExts: UtilityService, aac: AccessControlService, menuItemsRaw: ApplicationMenu[], menuFilteringService: MenuFilteringService);
29
+ ngOnInit(): Promise<void>;
30
+ private getMenuItems;
31
+ private checkSubMenuOverClaims;
27
32
  onWindowResize(): void;
28
33
  private _shouldMenuCollapse;
29
34
  menuCollapse(): void;
@@ -34,6 +39,6 @@ export declare class Sidebar {
34
39
  updateSidebarHeight(): void;
35
40
  collapseMenu($event: any, item: any): boolean;
36
41
  private outsideAngularClickHandler;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<Sidebar, [null, { optional: true; }, null, null, null, null, null, null]>;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<Sidebar, [null, { optional: true; }, null, null, null, null, null, null, null, null, null]>;
38
43
  static ɵcmp: i0.ɵɵComponentDeclaration<Sidebar, "sidebar", never, {}, {}, never, never, false, never>;
39
44
  }
@@ -0,0 +1,12 @@
1
+ import { ReportParam } from "@esfaenza/es-table";
2
+ export declare class ApplicationJob {
3
+ id: string;
4
+ description: string;
5
+ smalldescription: string;
6
+ percentage: number;
7
+ completed: boolean;
8
+ fileid: string;
9
+ reportid: string;
10
+ complexreportid: string;
11
+ reportpars: ReportParam[];
12
+ }
@@ -0,0 +1,10 @@
1
+ /** Rappresentazione di un oggetto generico */
2
+ export declare class GenericItem {
3
+ properties: Record<string, string>;
4
+ /**
5
+ * Costruttore
6
+ *
7
+ * @param properties Dizionario Chiave - Valore delle proprietà di questo oggetto generico
8
+ */
9
+ constructor(properties: Record<string, string>);
10
+ }
@@ -0,0 +1,5 @@
1
+ export declare class KeyValue {
2
+ constructor(id: string, description: string);
3
+ id: string;
4
+ description: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { SearchResult } from "./SearchResult";
2
+ export declare class SearchResultContainer {
3
+ results: SearchResult[];
4
+ constructor(results: SearchResult[]);
5
+ }
@@ -0,0 +1,10 @@
1
+ import { GenericItem } from "../core/GenericItem";
2
+ import { KeyValue } from "../core/KeyValue";
3
+ import { EsTableColumnsDefinition } from "@esfaenza/es-table";
4
+ export declare class SearchResult {
5
+ description: string;
6
+ columns: KeyValue[];
7
+ items: GenericItem[];
8
+ constructor(description: string, columns: KeyValue[], items: GenericItem[]);
9
+ est_cols: EsTableColumnsDefinition[];
10
+ }
@@ -8,8 +8,3 @@ export declare class ActiveModuleView {
8
8
  environment: string;
9
9
  href: string;
10
10
  }
11
- export declare class CategoriesWithModules {
12
- constructor(module: ActiveModuleView);
13
- category: string;
14
- module_rows: ActiveModuleView[][];
15
- }
@@ -0,0 +1,6 @@
1
+ import { ActiveModuleView } from "./ActiveModuleView";
2
+ export declare class CategoriesWithModules {
3
+ constructor(module: ActiveModuleView);
4
+ category: string;
5
+ module_rows: ActiveModuleView[][];
6
+ }
@@ -15,12 +15,3 @@ export declare class JaceAccount {
15
15
  cnattempts: number;
16
16
  description: string;
17
17
  }
18
- export declare class JaceUser {
19
- iduser: number;
20
- dsnome: string;
21
- dscognome: string;
22
- sydatains: Date;
23
- syuserins: string;
24
- sydataupd: Date;
25
- syuserupd: string;
26
- }
@@ -1,5 +1,5 @@
1
1
  import { AccountScope } from "./AccountScope";
2
- export declare class BaseIdentity {
2
+ export declare class JaceIdentity {
3
3
  Expired: boolean;
4
4
  IdAccount: number;
5
5
  IdUser: number;
@@ -8,8 +8,6 @@ export declare class BaseIdentity {
8
8
  Idtenant: string;
9
9
  TenantName: string;
10
10
  ExpirationTime: Date;
11
- }
12
- export declare class JaceIdentity extends BaseIdentity {
13
11
  constructor(scope?: AccountScope);
14
12
  Roles: string[];
15
13
  Modules: number[];
@@ -0,0 +1,9 @@
1
+ export declare class JaceUser {
2
+ iduser: number;
3
+ dsnome: string;
4
+ dscognome: string;
5
+ sydatains: Date;
6
+ syuserins: string;
7
+ sydataupd: Date;
8
+ syuserupd: string;
9
+ }
@@ -1,11 +1,17 @@
1
- export * from './models/core/classes/ApplicationMenu';
2
- export * from './models/core/classes/EnvOptions';
3
- export * from './models/jace/classes/AccountScope';
4
- export * from './models/jace/classes/ActiveModuleView';
5
- export * from './models/jace/classes/JaceAccount';
6
- export * from './models/jace/classes/JaceIdentity';
7
- export * from './models/jace/classes/JaceModule';
8
- export * from './models/jace/classes/JacePermission';
9
- export * from './models/jace/classes/JaceRole';
10
- export * from './models/jace/classes/User';
1
+ export * from './models/core/ApplicationMenu';
2
+ export * from './models/core/ApplicationJob';
3
+ export * from './models/core/EnvOptions';
4
+ export * from './models/core/KeyValue';
5
+ export * from './models/core/GenericItem';
6
+ export * from './models/jace/CategoriesWithModules';
7
+ export * from './models/jace/AccountScope';
8
+ export * from './models/jace/ActiveModuleView';
9
+ export * from './models/jace/JaceAccount';
10
+ export * from './models/jace/JaceIdentity';
11
+ export * from './models/jace/JaceModule';
12
+ export * from './models/jace/JacePermission';
13
+ export * from './models/jace/JaceRole';
14
+ export * from './models/jace/JaceUser';
15
+ export * from './models/global_search/SaerchResultContainer';
16
+ export * from './models/global_search/SearchResult';
11
17
  export * from './tokens';
@@ -1,6 +1,6 @@
1
1
  import { InjectionToken, Type } from "@angular/core";
2
2
  import { LocalizationService } from "@esfaenza/localizations";
3
- import { ApplicationMenu } from "./models/core/classes/ApplicationMenu";
3
+ import { ApplicationMenu } from "./models/core/ApplicationMenu";
4
4
  /** Token che indica i default da assegnare agli Input */
5
5
  export declare const REDIRECT_MAP: InjectionToken<{
6
6
  [index: string]: {
@@ -0,0 +1,43 @@
1
+ // Angular
2
+ import { Component } from "@angular/core";
3
+ import { ActivatedRoute } from "@angular/router";
4
+ // Direttive, Componenti, Librerie
5
+ import { takeUntil } from "rxjs/operators";
6
+ // Core
7
+ import { AppState } from "@esfaenza/core/services";
8
+ import { ReactiveComponent } from "./reactive.component";
9
+ import * as i0 from "@angular/core";
10
+ export class NavigableComponent extends ReactiveComponent {
11
+ constructor(injector) {
12
+ super();
13
+ this.Parameters = null;
14
+ let _activatedRoute = injector.get(ActivatedRoute);
15
+ let _state = injector.get(AppState);
16
+ _state.registerNavigationIfMeaningful(_activatedRoute.snapshot);
17
+ // Parametri in maniera "dinamica"
18
+ _activatedRoute.params.pipe(takeUntil(this.destroyed$)).subscribe(t => { this.Parameters = t; });
19
+ // Tutto il resto in maniera statica tanto non cambia
20
+ let segs = _activatedRoute.snapshot._urlSegment.segments;
21
+ this.CompletePath = "/" + segs.map(t => t.path).join('/');
22
+ this.ComponentPath = "/" + segs.filter((t, i) => i != 0).map(t => t.path).join('/');
23
+ this.BasePath = "/" + segs[0].path;
24
+ this.InternalNavigation = _activatedRoute.snapshot.data["internalNavigation"] || false;
25
+ this.Title = _activatedRoute.snapshot.data["title"] || "";
26
+ // Per i componenti navigabili non embeddati è inutile mandare il messaggio di navigazione
27
+ if (!_state.Embedded)
28
+ return;
29
+ // Se sono dentro un iframe risalgo a quello di livello più alto in assoluto
30
+ let tmpWindow = window;
31
+ // Quando il parent non esiste window. parent è un riferimento a se stesso
32
+ while (tmpWindow.parent != tmpWindow)
33
+ tmpWindow = tmpWindow.parent;
34
+ tmpWindow.postMessage({ type: "navigation", url: this.CompletePath, internalNavigation: this.InternalNavigation, title: this.Title }, "*");
35
+ }
36
+ }
37
+ NavigableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
38
+ NavigableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NavigableComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigableComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ template: '' }]
42
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvYmFzZS9uYXZpZ2FibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0saUJBQWlCLENBQUM7QUFFbEUsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPO0FBQ1AsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUd6RCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGlCQUFpQjtJQXFCOUQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLEVBQUUsQ0FBQztRQVBGLGVBQVUsR0FBK0IsSUFBSSxDQUFDO1FBU3BELElBQUksZUFBZSxHQUFtQixRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25FLElBQUksTUFBTSxHQUFhLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRSxrQ0FBa0M7UUFDbEMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFaEcscURBQXFEO1FBQ3JELElBQUksSUFBSSxHQUEyQixlQUFlLENBQUMsUUFBUyxDQUFDLFdBQVksQ0FBQyxRQUFRLENBQUM7UUFDbkYsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksS0FBSyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTFELDBGQUEwRjtRQUMxRixJQUFHLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDZixPQUFPO1FBRVgsNEVBQTRFO1FBQzVFLElBQUksU0FBUyxHQUEyQyxNQUFNLENBQUM7UUFDL0QsMEVBQTBFO1FBQzFFLE9BQU8sU0FBUyxDQUFDLE1BQU0sSUFBSSxTQUFTO1lBQ2hDLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBRWpDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9JLENBQUM7OytHQXBEaUIsa0JBQWtCO21HQUFsQixrQkFBa0IsMkVBRGpCLEVBQUU7MkZBQ0gsa0JBQWtCO2tCQUR2QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBVcmxTZWdtZW50R3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBBcHBTdGF0ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5cclxuaW1wb3J0IHsgUmVhY3RpdmVDb21wb25lbnQgfSBmcm9tIFwiLi9yZWFjdGl2ZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYWJsZUNvbXBvbmVudCBleHRlbmRzIFJlYWN0aXZlQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBjb25maWc6IGFueTtcclxuXHJcbiAgICAvKlxyXG4gICAgICogQmxvY2NvIGRpIGluZm9ybWF6aW9uaSBzdWxsYSByb3V0ZSBhdHR1YWxlXHJcbiAgICAgKiAgICAgIFJvdXRlOiAvcGFnZXMvbW9kdWxlL2NvbXBvbmVudDtpZE1vZGVsPTEyM1xyXG4gICAgICogICAgICBcclxuICAgICAqICAgICAgQ29tcGxldGVQYXRoOiAvcGFnZXMvbW9kdWxlL2NvbXBvbmVudFxyXG4gICAgICogICAgICBDb21wb25lbnRQYXRoOiBtb2R1bGUvY29tcG9uZW50XHJcbiAgICAgKiAgICAgIEJhc2VQYXRoOiAvcGFnZXMgKHVuaWNhIHByb3ByaWV0w6AgcHViYmxpY2EgcGVyIGZhcmUgcmVkaXJlY3QgYmFzYW5kb21pIHN1bGxhIHJvdXRlIGJhc2UgYXR0dWFsZSBhbmNoZSBkYSBIVE1MKVxyXG4gICAgICogICAgICBQYXJhbWV0ZXJzOiB7IFwiaWRNb2RlbFwiIDogXCIxMjNcIiB9XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBDb21wbGV0ZVBhdGg6IHN0cmluZztcclxuICAgIHByb3RlY3RlZCBDb21wb25lbnRQYXRoOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgQmFzZVBhdGg6IHN0cmluZztcclxuICAgIHByb3RlY3RlZCBQYXJhbWV0ZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IG51bGw7XHJcblxyXG4gICAgLy8gSW5mb3JtYXppb25pIHByZXNlIGRhaSBkYXRpIGV4dHJhIGRlbGxhIHJvdXRlXHJcbiAgICBwcm90ZWN0ZWQgSW50ZXJuYWxOYXZpZ2F0aW9uOiBib29sZWFuO1xyXG4gICAgcHJvdGVjdGVkIFRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgbGV0IF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUgPSBpbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgICAgIGxldCBfc3RhdGU6IEFwcFN0YXRlID0gaW5qZWN0b3IuZ2V0KEFwcFN0YXRlKTtcclxuXHJcbiAgICAgICAgX3N0YXRlLnJlZ2lzdGVyTmF2aWdhdGlvbklmTWVhbmluZ2Z1bChfYWN0aXZhdGVkUm91dGUuc25hcHNob3QpO1xyXG5cclxuICAgICAgICAvLyBQYXJhbWV0cmkgaW4gbWFuaWVyYSBcImRpbmFtaWNhXCJcclxuICAgICAgICBfYWN0aXZhdGVkUm91dGUucGFyYW1zLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSh0ID0+IHsgdGhpcy5QYXJhbWV0ZXJzID0gdDsgfSlcclxuXHJcbiAgICAgICAgLy8gVHV0dG8gaWwgcmVzdG8gaW4gbWFuaWVyYSBzdGF0aWNhIHRhbnRvIG5vbiBjYW1iaWFcclxuICAgICAgICBsZXQgc2VncyA9ICg8VXJsU2VnbWVudEdyb3VwPig8YW55Pl9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdCkuX3VybFNlZ21lbnQpLnNlZ21lbnRzO1xyXG4gICAgICAgIHRoaXMuQ29tcGxldGVQYXRoID0gXCIvXCIgKyBzZWdzLm1hcCh0ID0+IHQucGF0aCkuam9pbignLycpO1xyXG4gICAgICAgIHRoaXMuQ29tcG9uZW50UGF0aCA9IFwiL1wiICsgc2Vncy5maWx0ZXIoKHQsIGkpID0+IGkgIT0gMCkubWFwKHQgPT4gdC5wYXRoKS5qb2luKCcvJyk7XHJcbiAgICAgICAgdGhpcy5CYXNlUGF0aCA9IFwiL1wiICsgc2Vnc1swXS5wYXRoO1xyXG5cclxuICAgICAgICB0aGlzLkludGVybmFsTmF2aWdhdGlvbiA9IF9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5kYXRhW1wiaW50ZXJuYWxOYXZpZ2F0aW9uXCJdIHx8IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuVGl0bGUgPSBfYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtcInRpdGxlXCJdIHx8IFwiXCI7XHJcblxyXG4gICAgICAgIC8vIFBlciBpIGNvbXBvbmVudGkgbmF2aWdhYmlsaSBub24gZW1iZWRkYXRpIMOoIGludXRpbGUgbWFuZGFyZSBpbCBtZXNzYWdnaW8gZGkgbmF2aWdhemlvbmVcclxuICAgICAgICBpZighX3N0YXRlLkVtYmVkZGVkKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vIFNlIHNvbm8gZGVudHJvIHVuIGlmcmFtZSByaXNhbGdvIGEgcXVlbGxvIGRpIGxpdmVsbG8gcGnDuSBhbHRvIGluIGFzc29sdXRvXHJcbiAgICAgICAgbGV0IHRtcFdpbmRvdyA9IDx7IHBhcmVudDogYW55LCBwb3N0TWVzc2FnZTogRnVuY3Rpb24gfT53aW5kb3c7XHJcbiAgICAgICAgLy8gUXVhbmRvIGlsIHBhcmVudCBub24gZXNpc3RlIHdpbmRvdy4gcGFyZW50IMOoIHVuIHJpZmVyaW1lbnRvIGEgc2Ugc3Rlc3NvXHJcbiAgICAgICAgd2hpbGUgKHRtcFdpbmRvdy5wYXJlbnQgIT0gdG1wV2luZG93KVxyXG4gICAgICAgICAgICB0bXBXaW5kb3cgPSB0bXBXaW5kb3cucGFyZW50O1xyXG5cclxuICAgICAgICB0bXBXaW5kb3cucG9zdE1lc3NhZ2UoeyB0eXBlOiBcIm5hdmlnYXRpb25cIiwgdXJsOiB0aGlzLkNvbXBsZXRlUGF0aCwgaW50ZXJuYWxOYXZpZ2F0aW9uOiB0aGlzLkludGVybmFsTmF2aWdhdGlvbiwgdGl0bGU6IHRoaXMuVGl0bGUgfSwgXCIqXCIpO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,26 @@
1
+ // Angular
2
+ import { Component } from "@angular/core";
3
+ // Direttive, Componenti, Librerie
4
+ import { ReplaySubject } from "rxjs";
5
+ import * as i0 from "@angular/core";
6
+ export class ReactiveComponent {
7
+ constructor() {
8
+ this.Subscriptions = [];
9
+ this.destroyed$ = new ReplaySubject(1);
10
+ }
11
+ ngOnDestroy() {
12
+ this.destroyed$.next(true);
13
+ this.destroyed$.complete();
14
+ if (!this.Subscriptions)
15
+ return;
16
+ for (let i = 0; i < this.Subscriptions.length; i++)
17
+ this.Subscriptions[i].unsubscribe();
18
+ }
19
+ }
20
+ ReactiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReactiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ ReactiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ReactiveComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReactiveComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ template: '' }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9iYXNlL3JlYWN0aXZlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBR25ELE1BQU0sT0FBZ0IsaUJBQWlCO0lBRHZDO1FBR2Msa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGVBQVUsR0FBMkIsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FZdkU7SUFWRyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDbkIsT0FBTztRQUVYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs4R0FkaUIsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RBRGhCLEVBQUU7MkZBQ0gsaUJBQWlCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlYWN0aXZlQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBkZXN0cm95ZWQkOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5TdWJzY3JpcHRpb25zKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5TdWJzY3JpcHRpb25zLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICB0aGlzLlN1YnNjcmlwdGlvbnNbaV0udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -12,38 +12,43 @@ export class Breadcrumb {
12
12
  this._titleService = _titleService;
13
13
  this.activePageTitle = "";
14
14
  this.subActiveLinks = [];
15
- this._state.subscribe("menu.adjustNavigationTo", (activeLink) => {
16
- if (activeLink) {
17
- this.subActiveLinks = [];
18
- this.activePageTitle = activeLink;
19
- this._titleService.setTitle(myconfig.AppData.ModuleDescription + " > " + activeLink);
20
- }
21
- });
22
- /*Gestione della navigazione interna:
23
- Essenzialmente controllo se la lista di subnavigation gi� contiene l'elemento in cui sono ora,
24
- se lo contiene gi� significa che ci sono tornato sopra premendo back(browser o pagina), quindi
25
- elimino l'ultimo elemento della lista per ristabilire la situazione, se invece l'elemento non esiste
26
- vuol dire che ci ho navigato sopra, quindi lo aggiungo.*/
27
- this._state.subscribe("menu.adjustSubNavigationTo", (activeLink) => {
28
- if (activeLink) {
29
- var index = this.subActiveLinks.indexOf(activeLink);
30
- if (index != -1 && (index + 1) != this.subActiveLinks.length)
31
- this.subActiveLinks.pop();
32
- if (index == -1 && this.activePageTitle != activeLink)
33
- this.subActiveLinks.push(activeLink);
34
- this._titleService.setTitle(myconfig.AppData.ModuleDescription + " > " + activeLink);
35
- }
36
- });
37
- this._state.subscribe("menu.removeLastSubNavigation", () => {
38
- this.subActiveLinks.pop();
39
- });
40
- this._state.subscribe("menu.cleanupSubNavigation", () => {
15
+ this._state.subscribe("menu.adjustNavigationTo", (activeLink) => this.adjustNavigationTo(activeLink));
16
+ this._state.subscribe("menu.adjustSubNavigationTo", (activeLink) => this.adjustSubNavigationTo(activeLink));
17
+ this._state.subscribe("menu.removeLastSubNavigation", () => this.removeLastSubNavigation());
18
+ this._state.subscribe("menu.cleanupSubNavigation", () => this.cleanupSubNavigation());
19
+ }
20
+ adjustNavigationTo(activeLink) {
21
+ if (activeLink) {
41
22
  this.subActiveLinks = [];
42
- });
23
+ this.activePageTitle = activeLink;
24
+ this._titleService.setTitle(myconfig.AppData.ModuleDescription + " > " + activeLink);
25
+ }
26
+ }
27
+ /*Gestione della navigazione interna:
28
+ Essenzialmente controllo se la lista di subnavigation già contiene l'elemento in cui sono ora,
29
+ se lo contiene già significa che ci sono tornato sopra premendo back(browser o pagina), quindi
30
+ elimino l'ultimo elemento della lista per ristabilire la situazione, se invece l'elemento non esiste
31
+ vuol dire che ci ho navigato sopra, quindi lo aggiungo.*/
32
+ adjustSubNavigationTo(activeLink) {
33
+ if (activeLink) {
34
+ var index = this.subActiveLinks.indexOf(activeLink);
35
+ if (index != -1 && (index + 1) != this.subActiveLinks.length)
36
+ this.subActiveLinks.pop();
37
+ if (index == -1 && this.activePageTitle != activeLink)
38
+ this.subActiveLinks.push(activeLink);
39
+ this._titleService.setTitle(myconfig.AppData.ModuleDescription + " > " + activeLink);
40
+ }
41
+ }
42
+ removeLastSubNavigation() {
43
+ this.subActiveLinks.pop();
44
+ }
45
+ cleanupSubNavigation() {
46
+ this.subActiveLinks = [];
43
47
  }
44
48
  ngOnInit() {
45
- if (!this.activePageTitle)
49
+ if (!this.activePageTitle) {
46
50
  this.activePageTitle = this._activatedRoute.snapshot.firstChild.data["title"];
51
+ }
47
52
  }
48
53
  }
49
54
  Breadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.AppState }, { token: i2.ActivatedRoute }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
@@ -52,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
52
57
  type: Component,
53
58
  args: [{ selector: "breadcrumb", encapsulation: ViewEncapsulation.None, template: "<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>", styles: [".breadcrumb{padding:0;background:transparent;color:#242424;font-size:14px;margin-bottom:15px}.breadcrumb-item+.breadcrumb-item:before{color:#242424;content:\">\"}.breadcrumb-item{float:left}.breadcrumb-item.active{color:#242424;font-weight:700}\n"] }]
54
59
  }], ctorParameters: function () { return [{ type: i1.AppState }, { type: i2.ActivatedRoute }, { type: i3.Title }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBZ0I3RCxNQUFNLE9BQU8sVUFBVTtJQUtuQixZQUFtQixNQUFnQixFQUFVLGVBQStCLEVBQVUsYUFBb0I7UUFBdkYsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFPO1FBSG5HLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBSWpDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLHlCQUF5QixFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDNUQsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQzthQUN4RjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUg7Ozs7bUVBSTJEO1FBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BELElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTTtvQkFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxVQUFVO29CQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUM7YUFDeEY7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtZQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO1lBQ3BELElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RGLENBQUM7O3VHQTNDUSxVQUFVOzJGQUFWLFVBQVUsa0RDakJ2Qiw2V0FNTTsyRkRXTyxVQUFVO2tCQU50QixTQUFTOytCQUNJLFlBQVksaUJBQ1AsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBcHBTdGF0ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBFbnZPcHRpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuZGVjbGFyZSB2YXIgbXljb25maWc6IEVudk9wdGlvbnM7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImJyZWFkY3J1bWJcIixcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iIHtcclxuXHJcbiAgICBwdWJsaWMgYWN0aXZlUGFnZVRpdGxlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcHVibGljIHN1YkFjdGl2ZUxpbmtzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfc3RhdGU6IEFwcFN0YXRlLCBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgX3RpdGxlU2VydmljZTogVGl0bGUpIHtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc3Vic2NyaWJlKFwibWVudS5hZGp1c3ROYXZpZ2F0aW9uVG9cIiwgKGFjdGl2ZUxpbmspID0+IHtcclxuICAgICAgICAgICAgaWYgKGFjdGl2ZUxpbmspIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3ViQWN0aXZlTGlua3MgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlUGFnZVRpdGxlID0gYWN0aXZlTGluaztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RpdGxlU2VydmljZS5zZXRUaXRsZShteWNvbmZpZy5BcHBEYXRhLk1vZHVsZURlc2NyaXB0aW9uICsgXCIgPiBcIiArIGFjdGl2ZUxpbmspO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8qR2VzdGlvbmUgZGVsbGEgbmF2aWdhemlvbmUgaW50ZXJuYTpcclxuICAgICAgICAgIEVzc2VuemlhbG1lbnRlIGNvbnRyb2xsbyBzZSBsYSBsaXN0YSBkaSBzdWJuYXZpZ2F0aW9uIGdp77+9IGNvbnRpZW5lIGwnZWxlbWVudG8gaW4gY3VpIHNvbm8gb3JhLFxyXG4gICAgICAgICAgc2UgbG8gY29udGllbmUgZ2nvv70gc2lnbmlmaWNhIGNoZSBjaSBzb25vIHRvcm5hdG8gc29wcmEgcHJlbWVuZG8gYmFjayhicm93c2VyIG8gcGFnaW5hKSwgcXVpbmRpXHJcbiAgICAgICAgICBlbGltaW5vIGwndWx0aW1vIGVsZW1lbnRvIGRlbGxhIGxpc3RhIHBlciByaXN0YWJpbGlyZSBsYSBzaXR1YXppb25lLCBzZSBpbnZlY2UgbCdlbGVtZW50byBub24gZXNpc3RlXHJcbiAgICAgICAgICB2dW9sIGRpcmUgY2hlIGNpIGhvIG5hdmlnYXRvIHNvcHJhLCBxdWluZGkgbG8gYWdnaXVuZ28uKi9cclxuICAgICAgICB0aGlzLl9zdGF0ZS5zdWJzY3JpYmUoXCJtZW51LmFkanVzdFN1Yk5hdmlnYXRpb25Ub1wiLCAoYWN0aXZlTGluaykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYWN0aXZlTGluaykge1xyXG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5zdWJBY3RpdmVMaW5rcy5pbmRleE9mKGFjdGl2ZUxpbmspO1xyXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9IC0xICYmIChpbmRleCArIDEpICE9IHRoaXMuc3ViQWN0aXZlTGlua3MubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3ViQWN0aXZlTGlua3MucG9wKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gLTEgJiYgdGhpcy5hY3RpdmVQYWdlVGl0bGUgIT0gYWN0aXZlTGluaylcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YkFjdGl2ZUxpbmtzLnB1c2goYWN0aXZlTGluayk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aXRsZVNlcnZpY2Uuc2V0VGl0bGUobXljb25maWcuQXBwRGF0YS5Nb2R1bGVEZXNjcmlwdGlvbiArIFwiID4gXCIgKyBhY3RpdmVMaW5rKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLl9zdGF0ZS5zdWJzY3JpYmUoXCJtZW51LnJlbW92ZUxhc3RTdWJOYXZpZ2F0aW9uXCIsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdWJBY3RpdmVMaW5rcy5wb3AoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc3Vic2NyaWJlKFwibWVudS5jbGVhbnVwU3ViTmF2aWdhdGlvblwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc3ViQWN0aXZlTGlua3MgPSBbXTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVBhZ2VUaXRsZSlcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQYWdlVGl0bGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5maXJzdENoaWxkLmRhdGFbXCJ0aXRsZVwiXTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPlxyXG4gICAgPG9sIGNsYXNzPVwiYnJlYWRjcnVtYlwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbSBmYSBmYS1ob21lIG0tdC0zXCI+PC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlIHRleHQtdXBwZXJjYXNlXCI+e3sgYWN0aXZlUGFnZVRpdGxlIH19PC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlIHRleHQtdXBwZXJjYXNlIGUyZUxlYWZQYWdlXCIgKm5nRm9yPVwibGV0IGxpbmsgb2Ygc3ViQWN0aXZlTGlua3NcIj57eyBsaW5rIH19PC9saT5cclxuICAgIDwvb2w+XHJcbjwvZGl2PiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBZ0I3RCxNQUFNLE9BQU8sVUFBVTtJQUtuQixZQUFtQixNQUFnQixFQUFVLGVBQStCLEVBQVUsYUFBb0I7UUFBdkYsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFPO1FBSG5HLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBR2pDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLHlCQUF5QixFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxVQUFVO1FBQ2pDLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUM7U0FDeEY7SUFDTCxDQUFDO0lBRUQ7Ozs7a0VBSThEO0lBQ3RELHFCQUFxQixDQUFDLFVBQVU7UUFDcEMsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRCxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU07Z0JBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDOUIsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxVQUFVO2dCQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQztTQUN4RjtJQUNMLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pGO0lBQ0wsQ0FBQzs7dUdBaERRLFVBQVU7MkZBQVYsVUFBVSxrRENqQnZCLDZXQU1NOzJGRFdPLFVBQVU7a0JBTnRCLFNBQVM7K0JBQ0ksWUFBWSxpQkFDUCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEVudk9wdGlvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9ucztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYnJlYWRjcnVtYlwiLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHN0eWxlVXJsczogW1wiLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWIge1xyXG5cclxuICAgIHB1YmxpYyBhY3RpdmVQYWdlVGl0bGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBwdWJsaWMgc3ViQWN0aXZlTGlua3M6IHN0cmluZ1tdID0gW107XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfc3RhdGU6IEFwcFN0YXRlLCBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgX3RpdGxlU2VydmljZTogVGl0bGUpIHtcclxuICAgICAgICB0aGlzLl9zdGF0ZS5zdWJzY3JpYmUoXCJtZW51LmFkanVzdE5hdmlnYXRpb25Ub1wiLCAoYWN0aXZlTGluaykgPT4gdGhpcy5hZGp1c3ROYXZpZ2F0aW9uVG8oYWN0aXZlTGluaykpO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnN1YnNjcmliZShcIm1lbnUuYWRqdXN0U3ViTmF2aWdhdGlvblRvXCIsIChhY3RpdmVMaW5rKSA9PiB0aGlzLmFkanVzdFN1Yk5hdmlnYXRpb25UbyhhY3RpdmVMaW5rKSk7XHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc3Vic2NyaWJlKFwibWVudS5yZW1vdmVMYXN0U3ViTmF2aWdhdGlvblwiLCAoKSA9PiB0aGlzLnJlbW92ZUxhc3RTdWJOYXZpZ2F0aW9uKCkpO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnN1YnNjcmliZShcIm1lbnUuY2xlYW51cFN1Yk5hdmlnYXRpb25cIiwgKCkgPT4gdGhpcy5jbGVhbnVwU3ViTmF2aWdhdGlvbigpKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJpdmF0ZSBhZGp1c3ROYXZpZ2F0aW9uVG8oYWN0aXZlTGluaykge1xyXG4gICAgICAgIGlmIChhY3RpdmVMaW5rKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3ViQWN0aXZlTGlua3MgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQYWdlVGl0bGUgPSBhY3RpdmVMaW5rO1xyXG4gICAgICAgICAgICB0aGlzLl90aXRsZVNlcnZpY2Uuc2V0VGl0bGUobXljb25maWcuQXBwRGF0YS5Nb2R1bGVEZXNjcmlwdGlvbiArIFwiID4gXCIgKyBhY3RpdmVMaW5rKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qR2VzdGlvbmUgZGVsbGEgbmF2aWdhemlvbmUgaW50ZXJuYTpcclxuICAgICAgICAgRXNzZW56aWFsbWVudGUgY29udHJvbGxvIHNlIGxhIGxpc3RhIGRpIHN1Ym5hdmlnYXRpb24gZ2nDoCBjb250aWVuZSBsJ2VsZW1lbnRvIGluIGN1aSBzb25vIG9yYSxcclxuICAgICAgICAgc2UgbG8gY29udGllbmUgZ2nDoCBzaWduaWZpY2EgY2hlIGNpIHNvbm8gdG9ybmF0byBzb3ByYSBwcmVtZW5kbyBiYWNrKGJyb3dzZXIgbyBwYWdpbmEpLCBxdWluZGlcclxuICAgICAgICAgZWxpbWlubyBsJ3VsdGltbyBlbGVtZW50byBkZWxsYSBsaXN0YSBwZXIgcmlzdGFiaWxpcmUgbGEgc2l0dWF6aW9uZSwgc2UgaW52ZWNlIGwnZWxlbWVudG8gbm9uIGVzaXN0ZVxyXG4gICAgICAgICB2dW9sIGRpcmUgY2hlIGNpIGhvIG5hdmlnYXRvIHNvcHJhLCBxdWluZGkgbG8gYWdnaXVuZ28uKi9cclxuICAgIHByaXZhdGUgYWRqdXN0U3ViTmF2aWdhdGlvblRvKGFjdGl2ZUxpbmspIHtcclxuICAgICAgICBpZiAoYWN0aXZlTGluaykge1xyXG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLnN1YkFjdGl2ZUxpbmtzLmluZGV4T2YoYWN0aXZlTGluayk7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCAhPSAtMSAmJiAoaW5kZXggKyAxKSAhPSB0aGlzLnN1YkFjdGl2ZUxpbmtzLmxlbmd0aClcclxuICAgICAgICAgICAgICAgIHRoaXMuc3ViQWN0aXZlTGlua3MucG9wKCk7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA9PSAtMSAmJiB0aGlzLmFjdGl2ZVBhZ2VUaXRsZSAhPSBhY3RpdmVMaW5rKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJBY3RpdmVMaW5rcy5wdXNoKGFjdGl2ZUxpbmspO1xyXG4gICAgICAgICAgICB0aGlzLl90aXRsZVNlcnZpY2Uuc2V0VGl0bGUobXljb25maWcuQXBwRGF0YS5Nb2R1bGVEZXNjcmlwdGlvbiArIFwiID4gXCIgKyBhY3RpdmVMaW5rKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByaXZhdGUgcmVtb3ZlTGFzdFN1Yk5hdmlnYXRpb24oKSB7XHJcbiAgICAgICAgdGhpcy5zdWJBY3RpdmVMaW5rcy5wb3AoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJpdmF0ZSBjbGVhbnVwU3ViTmF2aWdhdGlvbigpIHtcclxuICAgICAgICB0aGlzLnN1YkFjdGl2ZUxpbmtzID0gW107XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUGFnZVRpdGxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUGFnZVRpdGxlID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZmlyc3RDaGlsZC5kYXRhW1widGl0bGVcIl07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+XHJcbiAgICA8b2wgY2xhc3M9XCJicmVhZGNydW1iXCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIGZhIGZhLWhvbWUgbS10LTNcIj48L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbSBhY3RpdmUgdGV4dC11cHBlcmNhc2VcIj57eyBhY3RpdmVQYWdlVGl0bGUgfX08L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbSBhY3RpdmUgdGV4dC11cHBlcmNhc2UgZTJlTGVhZlBhZ2VcIiAqbmdGb3I9XCJsZXQgbGluayBvZiBzdWJBY3RpdmVMaW5rc1wiPnt7IGxpbmsgfX08L2xpPlxyXG4gICAgPC9vbD5cclxuPC9kaXY+Il19