@retalia/sidebar-navigation 13.4.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 +43 -0
- package/esm2020/lib/data/support-routes.mjs +55 -0
- package/esm2020/lib/data/test-data.mjs +621 -0
- package/esm2020/lib/models/cookie-names.mjs +14 -0
- package/esm2020/lib/models/environment.mjs +2 -0
- package/esm2020/lib/models/http-response.mjs +2 -0
- package/esm2020/lib/models/module.mjs +2 -0
- package/esm2020/lib/navigation-lib.component.mjs +28 -0
- package/esm2020/lib/navigation-lib.module.mjs +50 -0
- package/esm2020/lib/navigation-lib.service.mjs +14 -0
- package/esm2020/lib/services/auth.service.mjs +43 -0
- package/esm2020/lib/services/cookie.service.mjs +34 -0
- package/esm2020/lib/services/http.service.mjs +19 -0
- package/esm2020/lib/services/module.service.mjs +133 -0
- package/esm2020/lib/services/sub-item.service.mjs +47 -0
- package/esm2020/lib/sidebar/shop-modal/shop-modal.component.mjs +40 -0
- package/esm2020/lib/sidebar/sidebar.component.mjs +182 -0
- package/esm2020/lib/sidebar/sub-item/sub-item.component.mjs +52 -0
- package/esm2020/lib/topbar/topbar.component.mjs +68 -0
- package/esm2020/public-api.mjs +12 -0
- package/esm2020/retalia-sidebar-navigation.mjs +5 -0
- package/fesm2015/retalia-sidebar-navigation.mjs +1367 -0
- package/fesm2015/retalia-sidebar-navigation.mjs.map +1 -0
- package/fesm2020/retalia-sidebar-navigation.mjs +1358 -0
- package/fesm2020/retalia-sidebar-navigation.mjs.map +1 -0
- package/lib/data/support-routes.d.ts +2 -0
- package/lib/data/test-data.d.ts +2 -0
- package/lib/models/cookie-names.d.ts +12 -0
- package/lib/models/environment.d.ts +4 -0
- package/lib/models/http-response.d.ts +3 -0
- package/lib/models/module.d.ts +32 -0
- package/lib/navigation-lib.component.d.ts +12 -0
- package/lib/navigation-lib.module.d.ts +14 -0
- package/lib/navigation-lib.service.d.ts +6 -0
- package/lib/services/auth.service.d.ts +12 -0
- package/lib/services/cookie.service.d.ts +12 -0
- package/lib/services/http.service.d.ts +2 -0
- package/lib/services/module.service.d.ts +20 -0
- package/lib/services/sub-item.service.d.ts +12 -0
- package/lib/sidebar/shop-modal/shop-modal.component.d.ts +17 -0
- package/lib/sidebar/sidebar.component.d.ts +47 -0
- package/lib/sidebar/sub-item/sub-item.component.d.ts +16 -0
- package/lib/topbar/topbar.component.d.ts +20 -0
- package/package.json +44 -0
- package/public-api.d.ts +8 -0
- package/retalia-sidebar-navigation.d.ts +5 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
4
|
+
import { NgxSmartModalModule } from 'ngx-smart-modal';
|
|
5
|
+
import { NavigationLibComponent } from './navigation-lib.component';
|
|
6
|
+
import { SidebarComponent } from './sidebar/sidebar.component';
|
|
7
|
+
import { TopbarComponent } from './topbar/topbar.component';
|
|
8
|
+
import { SubItemComponent } from './sidebar/sub-item/sub-item.component';
|
|
9
|
+
import { SubItemService } from './services/sub-item.service';
|
|
10
|
+
import { ShopModalComponent } from './sidebar/shop-modal/shop-modal.component';
|
|
11
|
+
import { ModuleService } from './services/module.service';
|
|
12
|
+
import { AuthService } from './services/auth.service';
|
|
13
|
+
import { CookieService } from './services/cookie.service';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "ngx-smart-modal";
|
|
16
|
+
export class NavigationLibModule {
|
|
17
|
+
}
|
|
18
|
+
NavigationLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
NavigationLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibModule, declarations: [SidebarComponent,
|
|
20
|
+
SubItemComponent,
|
|
21
|
+
TopbarComponent,
|
|
22
|
+
NavigationLibComponent,
|
|
23
|
+
ShopModalComponent], imports: [CommonModule,
|
|
24
|
+
HttpClientModule, i1.NgxSmartModalModule], exports: [NavigationLibComponent] });
|
|
25
|
+
NavigationLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibModule, providers: [SubItemService, ModuleService, AuthService, CookieService], imports: [[
|
|
26
|
+
CommonModule,
|
|
27
|
+
HttpClientModule,
|
|
28
|
+
NgxSmartModalModule.forRoot(),
|
|
29
|
+
]] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibModule, decorators: [{
|
|
31
|
+
type: NgModule,
|
|
32
|
+
args: [{
|
|
33
|
+
declarations: [
|
|
34
|
+
SidebarComponent,
|
|
35
|
+
SubItemComponent,
|
|
36
|
+
TopbarComponent,
|
|
37
|
+
NavigationLibComponent,
|
|
38
|
+
ShopModalComponent,
|
|
39
|
+
],
|
|
40
|
+
imports: [
|
|
41
|
+
CommonModule,
|
|
42
|
+
HttpClientModule,
|
|
43
|
+
NgxSmartModalModule.forRoot(),
|
|
44
|
+
],
|
|
45
|
+
providers: [SubItemService, ModuleService, AuthService, CookieService],
|
|
46
|
+
entryComponents: [NavigationLibComponent],
|
|
47
|
+
exports: [NavigationLibComponent],
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZWJhci1uYXZpZ2F0aW9uL3NyYy9saWIvbmF2aWdhdGlvbi1saWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQW1CMUQsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQWY1QixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsa0JBQWtCLGFBR2xCLFlBQVk7UUFDWixnQkFBZ0IscUNBS1Isc0JBQXNCO2lIQUVyQixtQkFBbUIsYUFKbkIsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsWUFMN0Q7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLG1CQUFtQixDQUFDLE9BQU8sRUFBRTtTQUM5QjsyRkFLVSxtQkFBbUI7a0JBakIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixtQkFBbUIsQ0FBQyxPQUFPLEVBQUU7cUJBQzlCO29CQUNELFNBQVMsRUFBRSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQztvQkFDdEUsZUFBZSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE5neFNtYXJ0TW9kYWxNb2R1bGUgfSBmcm9tICduZ3gtc21hcnQtbW9kYWwnO1xyXG5cclxuaW1wb3J0IHsgTmF2aWdhdGlvbkxpYkNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1saWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvcGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9wYmFyL3RvcGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3N1Yi1pdGVtL3N1Yi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1Ykl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdWItaXRlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2hvcE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3Nob3AtbW9kYWwvc2hvcC1tb2RhbC5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTW9kdWxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbW9kdWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29va2llLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNpZGViYXJDb21wb25lbnQsXHJcbiAgICBTdWJJdGVtQ29tcG9uZW50LFxyXG4gICAgVG9wYmFyQ29tcG9uZW50LFxyXG4gICAgTmF2aWdhdGlvbkxpYkNvbXBvbmVudCxcclxuICAgIFNob3BNb2RhbENvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBOZ3hTbWFydE1vZGFsTW9kdWxlLmZvclJvb3QoKSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1N1Ykl0ZW1TZXJ2aWNlLCBNb2R1bGVTZXJ2aWNlLCBBdXRoU2VydmljZSwgQ29va2llU2VydmljZV0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbTmF2aWdhdGlvbkxpYkNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW05hdmlnYXRpb25MaWJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpYk1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NavigationLibService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
NavigationLibService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7
|
+
NavigationLibService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibService, providedIn: 'root' });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NavigationLibService, decorators: [{
|
|
9
|
+
type: Injectable,
|
|
10
|
+
args: [{
|
|
11
|
+
providedIn: 'root'
|
|
12
|
+
}]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saWIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGViYXItbmF2aWdhdGlvbi9zcmMvbGliL25hdmlnYXRpb24tbGliLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixnQkFBZ0IsQ0FBQzs7aUhBRk4sb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpYlNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
// @dynamic
|
|
5
|
+
export class AuthService {
|
|
6
|
+
constructor(document) {
|
|
7
|
+
this.document = document;
|
|
8
|
+
}
|
|
9
|
+
logout() {
|
|
10
|
+
this.clearCookies();
|
|
11
|
+
}
|
|
12
|
+
clearCookies() {
|
|
13
|
+
let cookies = document.cookie.split('; ');
|
|
14
|
+
for (let c = 0; c < cookies.length; c++) {
|
|
15
|
+
let domain = window.location.hostname.split('.');
|
|
16
|
+
while (domain.length > 0) {
|
|
17
|
+
let cookieBase = encodeURIComponent(cookies[c].split(';')[0].split('=')[0]) +
|
|
18
|
+
'=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' +
|
|
19
|
+
domain.join('.') +
|
|
20
|
+
' ;path=';
|
|
21
|
+
let p = location.pathname.split('/');
|
|
22
|
+
document.cookie = cookieBase + '/';
|
|
23
|
+
while (p.length > 0) {
|
|
24
|
+
document.cookie = cookieBase + p.join('/');
|
|
25
|
+
p.pop();
|
|
26
|
+
}
|
|
27
|
+
domain.shift();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AuthService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AuthService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{
|
|
37
|
+
providedIn: 'root',
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
40
|
+
type: Inject,
|
|
41
|
+
args: [DOCUMENT]
|
|
42
|
+
}] }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZWJhci1uYXZpZ2F0aW9uL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFM0MsV0FBVztBQUlYLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQXNDLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRXJELE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxVQUFVLEdBQ1osa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzFELG1EQUFtRDtvQkFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ2hCLFNBQVMsQ0FBQztnQkFDWixJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckMsUUFBUSxDQUFDLE1BQU0sR0FBRyxVQUFVLEdBQUcsR0FBRyxDQUFDO2dCQUNuQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNuQixRQUFRLENBQUMsTUFBTSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMzQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2hCO1NBQ0Y7SUFDSCxDQUFDOzt3R0E5QlUsV0FBVyxrQkFLRixRQUFROzRHQUxqQixXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjswREFNaUQsUUFBUTswQkFBM0MsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbi8vIEBkeW5hbWljXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgZW52aXJvbm1lbnRVcmw6IHN0cmluZztcclxuICBfcmVmcmVzaFRva2VuU3RvcmU6IHN0cmluZztcclxuICBfdG9rZW5TdG9yZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cclxuXHJcbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJDb29raWVzKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckNvb2tpZXMoKTogdm9pZCB7XHJcbiAgICBsZXQgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKTtcclxuICAgIGZvciAobGV0IGMgPSAwOyBjIDwgY29va2llcy5sZW5ndGg7IGMrKykge1xyXG4gICAgICBsZXQgZG9tYWluID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCcuJyk7XHJcbiAgICAgIHdoaWxlIChkb21haW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBjb29raWVCYXNlID1cclxuICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChjb29raWVzW2NdLnNwbGl0KCc7JylbMF0uc3BsaXQoJz0nKVswXSkgK1xyXG4gICAgICAgICAgJz07IGV4cGlyZXM9VGh1LCAwMS1KYW4tMTk3MCAwMDowMDowMSBHTVQ7IGRvbWFpbj0nICtcclxuICAgICAgICAgIGRvbWFpbi5qb2luKCcuJykgK1xyXG4gICAgICAgICAgJyA7cGF0aD0nO1xyXG4gICAgICAgIGxldCBwID0gbG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKTtcclxuICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWVCYXNlICsgJy8nO1xyXG4gICAgICAgIHdoaWxlIChwLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZUJhc2UgKyBwLmpvaW4oJy8nKTtcclxuICAgICAgICAgIHAucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRvbWFpbi5zaGlmdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Injectable, Inject } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { set as setCookie, get as getCookie, remove as removeCookie, } from 'es-cookie';
|
|
4
|
+
import { getDomain } from 'tldjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
// @dynamic
|
|
7
|
+
export class CookieService {
|
|
8
|
+
constructor(document) {
|
|
9
|
+
this.document = document;
|
|
10
|
+
}
|
|
11
|
+
getDomain() {
|
|
12
|
+
let tld = getDomain(this.document.location.href);
|
|
13
|
+
tld = tld != null ? '.' + tld : '';
|
|
14
|
+
return tld;
|
|
15
|
+
}
|
|
16
|
+
getCookie(cookieName) {
|
|
17
|
+
return getCookie(cookieName);
|
|
18
|
+
}
|
|
19
|
+
setCookie(cookieName, value) {
|
|
20
|
+
setCookie(cookieName, value, { path: '/', domain: this.getDomain(), sameSite: 'none', secure: true });
|
|
21
|
+
}
|
|
22
|
+
removeCookie(cookieName) {
|
|
23
|
+
removeCookie(cookieName, { path: '/', domain: this.getDomain() });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
CookieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CookieService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
CookieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CookieService });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CookieService, decorators: [{
|
|
29
|
+
type: Injectable
|
|
30
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
31
|
+
type: Inject,
|
|
32
|
+
args: [DOCUMENT]
|
|
33
|
+
}] }]; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlYmFyLW5hdmlnYXRpb24vc3JjL2xpYi9zZXJ2aWNlcy9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLEdBQUcsSUFBSSxTQUFTLEVBQ2hCLEdBQUcsSUFBSSxTQUFTLEVBQ2hCLE1BQU0sSUFBSSxZQUFZLEdBQ3ZCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRWxDLFdBQVc7QUFFWCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUVwRCxTQUFTO1FBQ2YsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQXVCO1FBQy9CLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxTQUFTLENBQUMsVUFBdUIsRUFBRSxLQUFVO1FBQzNDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRyxNQUFNLEVBQUcsTUFBTSxFQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELFlBQVksQ0FBQyxVQUF1QjtRQUNsQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDOzswR0FuQlUsYUFBYSxrQkFDSixRQUFROzhHQURqQixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7MERBRXVDLFFBQVE7MEJBQTNDLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgc2V0IGFzIHNldENvb2tpZSxcclxuICBnZXQgYXMgZ2V0Q29va2llLFxyXG4gIHJlbW92ZSBhcyByZW1vdmVDb29raWUsXHJcbn0gZnJvbSAnZXMtY29va2llJztcclxuaW1wb3J0IHsgQ29va2llTmFtZXMgfSBmcm9tICcuLi9tb2RlbHMvY29va2llLW5hbWVzJztcclxuaW1wb3J0IHsgZ2V0RG9tYWluIH0gZnJvbSAndGxkanMnO1xyXG5cclxuLy8gQGR5bmFtaWNcclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHt9XHJcblxyXG4gIHByaXZhdGUgZ2V0RG9tYWluKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgdGxkID0gZ2V0RG9tYWluKHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZik7XHJcbiAgICB0bGQgPSB0bGQgIT0gbnVsbCA/ICcuJyArIHRsZCA6ICcnO1xyXG4gICAgcmV0dXJuIHRsZDtcclxuICB9XHJcblxyXG4gIGdldENvb2tpZShjb29raWVOYW1lOiBDb29raWVOYW1lcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gZ2V0Q29va2llKGNvb2tpZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29va2llKGNvb2tpZU5hbWU6IENvb2tpZU5hbWVzLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBzZXRDb29raWUoY29va2llTmFtZSwgdmFsdWUsIHsgcGF0aDogJy8nLCBkb21haW46IHRoaXMuZ2V0RG9tYWluKCksIHNhbWVTaXRlIDogJ25vbmUnICwgc2VjdXJlIDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNvb2tpZShjb29raWVOYW1lOiBDb29raWVOYW1lcyk6IHZvaWQge1xyXG4gICAgcmVtb3ZlQ29va2llKGNvb2tpZU5hbWUsIHsgcGF0aDogJy8nLCBkb21haW46IHRoaXMuZ2V0RG9tYWluKCkgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export async function httpGet(requestUrl, tokenIn) {
|
|
2
|
+
const token = getCookieValue('portalApiToken');
|
|
3
|
+
const response = await fetch(requestUrl, {
|
|
4
|
+
method: 'get',
|
|
5
|
+
headers: new Headers({
|
|
6
|
+
Authorization: 'Bearer ' + token,
|
|
7
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
8
|
+
}),
|
|
9
|
+
});
|
|
10
|
+
response.parsedBody = response.ok
|
|
11
|
+
? (response.parsedBody = await response.json())
|
|
12
|
+
: [];
|
|
13
|
+
return response;
|
|
14
|
+
}
|
|
15
|
+
function getCookieValue(cookieName) {
|
|
16
|
+
const b = document.cookie.match('(^|[^;]+)\\s*' + cookieName + '\\s*=\\s*([^;]+)');
|
|
17
|
+
return b ? b.pop() : '';
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZWJhci1uYXZpZ2F0aW9uL3NyYy9saWIvc2VydmljZXMvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUMzQixVQUFrQixFQUNsQixPQUFlO0lBRWYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0MsTUFBTSxRQUFRLEdBQW9CLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUN4RCxNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRSxJQUFJLE9BQU8sQ0FBQztZQUNuQixhQUFhLEVBQUUsU0FBUyxHQUFHLEtBQUs7WUFDaEMsY0FBYyxFQUFFLG1DQUFtQztTQUNwRCxDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsRUFBRTtRQUMvQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9DLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDUCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsVUFBa0I7SUFDeEMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQzdCLGVBQWUsR0FBRyxVQUFVLEdBQUcsa0JBQWtCLENBQ2xELENBQUM7SUFDRixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscy9odHRwLXJlc3BvbnNlJztcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBodHRwR2V0PFQ+KFxyXG4gIHJlcXVlc3RVcmw6IHN0cmluZyxcclxuICB0b2tlbkluOiBzdHJpbmdcclxuKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8VD4+IHtcclxuICBjb25zdCB0b2tlbiA9IGdldENvb2tpZVZhbHVlKCdwb3J0YWxBcGlUb2tlbicpO1xyXG4gIGNvbnN0IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8VD4gPSBhd2FpdCBmZXRjaChyZXF1ZXN0VXJsLCB7XHJcbiAgICBtZXRob2Q6ICdnZXQnLFxyXG4gICAgaGVhZGVyczogbmV3IEhlYWRlcnMoe1xyXG4gICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0b2tlbixcclxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxyXG4gICAgfSksXHJcbiAgfSk7XHJcbiAgcmVzcG9uc2UucGFyc2VkQm9keSA9IHJlc3BvbnNlLm9rXHJcbiAgICA/IChyZXNwb25zZS5wYXJzZWRCb2R5ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpKVxyXG4gICAgOiBbXTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldENvb2tpZVZhbHVlKGNvb2tpZU5hbWU6IHN0cmluZykge1xyXG4gIGNvbnN0IGIgPSBkb2N1bWVudC5jb29raWUubWF0Y2goXHJcbiAgICAnKF58W147XSspXFxcXHMqJyArIGNvb2tpZU5hbWUgKyAnXFxcXHMqPVxcXFxzKihbXjtdKyknXHJcbiAgKTtcclxuICByZXR1cm4gYiA/IGIucG9wKCkgOiAnJztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { httpGet } from './http.service';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { testModuleDetails } from '../data/test-data';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ModuleService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.storedModuleFlags = [];
|
|
9
|
+
this.storedModuleFlagsChange = new Subject();
|
|
10
|
+
this.currentRouteName = new Subject();
|
|
11
|
+
this.storedModuleFlagsChange.subscribe((value) => {
|
|
12
|
+
this.storedModuleFlags = value;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async getUserModules(gatewayUrl, token) {
|
|
16
|
+
if (gatewayUrl === 'TEST') {
|
|
17
|
+
this.storedModuleFlagsChange.next(testModuleDetails.flags);
|
|
18
|
+
return Promise.resolve(testModuleDetails);
|
|
19
|
+
}
|
|
20
|
+
const requestUrl = gatewayUrl + '/Module';
|
|
21
|
+
const response = await httpGet(requestUrl, token);
|
|
22
|
+
this.storedModuleFlagsChange.next(response.parsedBody.flags);
|
|
23
|
+
return Promise.resolve(response.parsedBody);
|
|
24
|
+
}
|
|
25
|
+
setNavigationTitle(selectedItem) {
|
|
26
|
+
var pathArray = window.location.pathname.split('/');
|
|
27
|
+
let translatedModuleName = '';
|
|
28
|
+
let item = selectedItem;
|
|
29
|
+
if (pathArray.length > 1 && !item) {
|
|
30
|
+
let currentPath = window.location.pathname;
|
|
31
|
+
item = this.findNestedUrlMatch(this.modules, currentPath);
|
|
32
|
+
item
|
|
33
|
+
? (translatedModuleName = item.translatedName || item.name)
|
|
34
|
+
: (translatedModuleName = pathArray[pathArray.length - 1]);
|
|
35
|
+
}
|
|
36
|
+
else if (item) {
|
|
37
|
+
translatedModuleName = item.translatedName || item.name;
|
|
38
|
+
}
|
|
39
|
+
translatedModuleName === 'main' ? (translatedModuleName = '') : '';
|
|
40
|
+
this.currentRouteName.next(translatedModuleName);
|
|
41
|
+
if (item) {
|
|
42
|
+
this.setItemVisbility(item);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.currentModule = this.modules.find((m) => m.url.toLowerCase().replace(/\//g, '') ===
|
|
46
|
+
pathArray[1].toLowerCase().replace(/\//g, ''));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
findNestedUrlMatch(subItems, urlPath) {
|
|
50
|
+
let nameMatch;
|
|
51
|
+
subItems.forEach((i) => {
|
|
52
|
+
if (i.url &&
|
|
53
|
+
i.url.replace(/\//g, '') &&
|
|
54
|
+
i.url.toLowerCase().replace(/\//g, '') ===
|
|
55
|
+
urlPath.toLowerCase().replace(/\//g, '')) {
|
|
56
|
+
nameMatch = i;
|
|
57
|
+
i.active = true;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
i.active = false;
|
|
61
|
+
const childMatch = this.findNestedUrlMatch(i.children, urlPath);
|
|
62
|
+
if (childMatch) {
|
|
63
|
+
nameMatch = childMatch;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return nameMatch;
|
|
68
|
+
}
|
|
69
|
+
setItemVisbility(item) {
|
|
70
|
+
let activeModule = this.modules.find((m) => m.authorizationId ===
|
|
71
|
+
(item.authorizationId || item.moduleAuthorizationId));
|
|
72
|
+
this.currentModule ? '' : (this.currentModule = activeModule);
|
|
73
|
+
activeModule.children.map((se) => {
|
|
74
|
+
se.visible = true;
|
|
75
|
+
if (item.name !== se.name) {
|
|
76
|
+
let isCurrent = se.children.some((sec) => sec.name === item.name);
|
|
77
|
+
se.children.map((sec) => {
|
|
78
|
+
sec.visible = isCurrent;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
mapModuleItems(modules) {
|
|
84
|
+
modules.sort((a, b) => a.displayOrder - b.displayOrder || a.name.localeCompare(b.name)); // Alphabetically if modules share a displayOrder
|
|
85
|
+
const isSupportAdmin = this.storedModuleFlags.includes('SupportAdmin');
|
|
86
|
+
const isTenantAdmin = this.storedModuleFlags.includes('TenantAdmin');
|
|
87
|
+
let portalModule = modules.find((m) => m.authorizationId === 'portal');
|
|
88
|
+
isTenantAdmin ? '' : (modules = modules.filter((m) => m !== portalModule));
|
|
89
|
+
// modules = this.mapAdminItems(modules, isSupportAdmin); // Pending support for individual item flags
|
|
90
|
+
this.modules = modules.map((m) => {
|
|
91
|
+
if (m && m.sidebarEntries) {
|
|
92
|
+
m.children = JSON.parse(JSON.stringify(m.sidebarEntries));
|
|
93
|
+
m.sidebarEntries = [];
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
m.children = [];
|
|
97
|
+
}
|
|
98
|
+
m.visible = true;
|
|
99
|
+
m.sidebarEntries ? `` : (m.children = []);
|
|
100
|
+
m.url ? `` : (m.url = '/');
|
|
101
|
+
return m;
|
|
102
|
+
});
|
|
103
|
+
this.setNavigationTitle();
|
|
104
|
+
return this.modules;
|
|
105
|
+
}
|
|
106
|
+
mapAdminItems(modules, isSupportAdmin) {
|
|
107
|
+
modules.forEach((m) => {
|
|
108
|
+
if (!isSupportAdmin && m.isAdminOnly) {
|
|
109
|
+
modules = modules.filter((i) => i.name !== m.name);
|
|
110
|
+
}
|
|
111
|
+
if (m.children) {
|
|
112
|
+
m.children = this.mapAdminItems(m.children, isSupportAdmin);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return modules;
|
|
116
|
+
}
|
|
117
|
+
getCurrentModule(selectedItem) {
|
|
118
|
+
var moduleRoute = window.location.pathname.split('/')[1];
|
|
119
|
+
if (!moduleRoute)
|
|
120
|
+
return null;
|
|
121
|
+
this.setNavigationTitle(selectedItem);
|
|
122
|
+
return this.modules.filter(m => m.url.indexOf(moduleRoute) > 0)[0];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
ModuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ModuleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
126
|
+
ModuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ModuleService, providedIn: 'root' });
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ModuleService, decorators: [{
|
|
128
|
+
type: Injectable,
|
|
129
|
+
args: [{
|
|
130
|
+
providedIn: 'root',
|
|
131
|
+
}]
|
|
132
|
+
}], ctorParameters: function () { return []; } });
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlYmFyLW5hdmlnYXRpb24vc3JjL2xpYi9zZXJ2aWNlcy9tb2R1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUt0RCxNQUFNLE9BQU8sYUFBYTtJQU94QjtRQU5BLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztRQUNqQyw0QkFBdUIsR0FBc0IsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUNyRSxxQkFBZ0IsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUt4RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYyxDQUN6QixVQUFrQixFQUNsQixLQUFhO1FBRWIsSUFBSSxVQUFVLEtBQUssTUFBTSxFQUFFO1lBQ3pCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDM0M7UUFFRCxNQUFNLFVBQVUsR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFjLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxJ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QWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb2R1bGVJdGVtLCBNb2R1bGVzSW5mbywgU2lkZWJhckVudHJ5IH0gZnJvbSAnLi4vbW9kZWxzL21vZHVsZSc7XHJcbmltcG9ydCB7IGh0dHBHZXQgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGVzdE1vZHVsZURldGFpbHMgfSBmcm9tICcuLi9kYXRhL3Rlc3QtZGF0YSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kdWxlU2VydmljZSB7XHJcbiAgc3RvcmVkTW9kdWxlRmxhZ3M6IHN0cmluZ1tdID0gW107XHJcbiAgc3RvcmVkTW9kdWxlRmxhZ3NDaGFuZ2U6IFN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IFN1YmplY3Q8c3RyaW5nW10+KCk7XHJcbiAgY3VycmVudFJvdXRlTmFtZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIGN1cnJlbnRNb2R1bGU7XHJcbiAgbW9kdWxlczogTW9kdWxlSXRlbVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuc3RvcmVkTW9kdWxlRmxhZ3NDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlZE1vZHVsZUZsYWdzID0gdmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRVc2VyTW9kdWxlcyhcclxuICAgIGdhdGV3YXlVcmw6IHN0cmluZyxcclxuICAgIHRva2VuOiBzdHJpbmdcclxuICApOiBQcm9taXNlPE1vZHVsZXNJbmZvPiB7XHJcbiAgICBpZiAoZ2F0ZXdheVVybCA9PT0gJ1RFU1QnKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVkTW9kdWxlRmxhZ3NDaGFuZ2UubmV4dCh0ZXN0TW9kdWxlRGV0YWlscy5mbGFncyk7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGVzdE1vZHVsZURldGFpbHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RVcmwgPSBnYXRld2F5VXJsICsgJy9Nb2R1bGUnO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBodHRwR2V0PE1vZHVsZXNJbmZvPihyZXF1ZXN0VXJsLCB0b2tlbik7XHJcbiAgICB0aGlzLnN0b3JlZE1vZHVsZUZsYWdzQ2hhbmdlLm5leHQocmVzcG9uc2UucGFyc2VkQm9keS5mbGFncyk7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3BvbnNlLnBhcnNlZEJvZHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE5hdmlnYXRpb25UaXRsZShzZWxlY3RlZEl0ZW0/OiBNb2R1bGVJdGVtIHwgU2lkZWJhckVudHJ5KSB7XHJcbiAgICB2YXIgcGF0aEFycmF5ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNwbGl0KCcvJyk7XHJcbiAgICBsZXQgdHJhbnNsYXRlZE1vZHVsZU5hbWUgPSAnJztcclxuICAgIGxldCBpdGVtID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgaWYgKHBhdGhBcnJheS5sZW5ndGggPiAxICYmICFpdGVtKSB7XHJcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcclxuICAgICAgaXRlbSA9IHRoaXMuZmluZE5lc3RlZFVybE1hdGNoKHRoaXMubW9kdWxlcywgY3VycmVudFBhdGgpO1xyXG4gICAgICBpdGVtXHJcbiAgICAgICAgPyAodHJhbnNsYXRlZE1vZHVsZU5hbWUgPSBpdGVtLnRyYW5zbGF0ZWROYW1lIHx8IGl0ZW0ubmFtZSlcclxuICAgICAgICA6ICh0cmFuc2xhdGVkTW9kdWxlTmFtZSA9IHBhdGhBcnJheVtwYXRoQXJyYXkubGVuZ3RoIC0gMV0pO1xyXG4gICAgfSBlbHNlIGlmIChpdGVtKSB7XHJcbiAgICAgIHRyYW5zbGF0ZWRNb2R1bGVOYW1lID0gaXRlbS50cmFuc2xhdGVkTmFtZSB8fCBpdGVtLm5hbWU7XHJcbiAgICB9XHJcbiAgICB0cmFuc2xhdGVkTW9kdWxlTmFtZSA9PT0gJ21haW4nID8gKHRyYW5zbGF0ZWRNb2R1bGVOYW1lID0gJycpIDogJyc7XHJcbiAgICB0aGlzLmN1cnJlbnRSb3V0ZU5hbWUubmV4dCh0cmFuc2xhdGVkTW9kdWxlTmFtZSk7XHJcblxyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgdGhpcy5zZXRJdGVtVmlzYmlsaXR5KGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50TW9kdWxlID0gdGhpcy5tb2R1bGVzLmZpbmQoXHJcbiAgICAgICAgKG0pID0+XHJcbiAgICAgICAgICBtLnVybC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcLy9nLCAnJykgPT09XHJcbiAgICAgICAgICBwYXRoQXJyYXlbMV0udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC8vZywgJycpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmluZE5lc3RlZFVybE1hdGNoKHN1Ykl0ZW1zLCB1cmxQYXRoOiBzdHJpbmcpIHtcclxuICAgIGxldCBuYW1lTWF0Y2g7XHJcbiAgICBzdWJJdGVtcy5mb3JFYWNoKChpOiBNb2R1bGVJdGVtIHwgU2lkZWJhckVudHJ5KSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBpLnVybCAmJlxyXG4gICAgICAgIGkudXJsLnJlcGxhY2UoL1xcLy9nLCAnJykgJiZcclxuICAgICAgICBpLnVybC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcLy9nLCAnJykgPT09XHJcbiAgICAgICAgICB1cmxQYXRoLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFwvL2csICcnKVxyXG4gICAgICApIHtcclxuICAgICAgICBuYW1lTWF0Y2ggPSBpO1xyXG4gICAgICAgIGkuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGNoaWxkTWF0Y2ggPSB0aGlzLmZpbmROZXN0ZWRVcmxNYXRjaChpLmNoaWxkcmVuLCB1cmxQYXRoKTtcclxuICAgICAgICBpZiAoY2hpbGRNYXRjaCkge1xyXG4gICAgICAgICAgbmFtZU1hdGNoID0gY2hpbGRNYXRjaDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBuYW1lTWF0Y2g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SXRlbVZpc2JpbGl0eShpdGVtKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlTW9kdWxlOiBNb2R1bGVJdGVtID0gdGhpcy5tb2R1bGVzLmZpbmQoXHJcbiAgICAgIChtOiBNb2R1bGVJdGVtKSA9PlxyXG4gICAgICAgIG0uYXV0aG9yaXphdGlvbklkID09PVxyXG4gICAgICAgIChpdGVtLmF1dGhvcml6YXRpb25JZCB8fCBpdGVtLm1vZHVsZUF1dGhvcml6YXRpb25JZClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50TW9kdWxlID8gJycgOiAodGhpcy5jdXJyZW50TW9kdWxlID0gYWN0aXZlTW9kdWxlKTtcclxuICAgIGFjdGl2ZU1vZHVsZS5jaGlsZHJlbi5tYXAoKHNlOiBTaWRlYmFyRW50cnkpID0+IHtcclxuICAgICAgc2UudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIGlmIChpdGVtLm5hbWUgIT09IHNlLm5hbWUpIHtcclxuICAgICAgICBsZXQgaXNDdXJyZW50ID0gc2UuY2hpbGRyZW4uc29tZSgoc2VjKSA9PiBzZWMubmFtZSA9PT0gaXRlbS5uYW1lKTtcclxuICAgICAgICBzZS5jaGlsZHJlbi5tYXAoKHNlYykgPT4ge1xyXG4gICAgICAgICAgc2VjLnZpc2libGUgPSBpc0N1cnJlbnQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1hcE1vZHVsZUl0ZW1zKG1vZHVsZXM6IE1vZHVsZUl0ZW1bXSk6IE1vZHVsZUl0ZW1bXSB7XHJcbiAgICBtb2R1bGVzLnNvcnQoXHJcbiAgICAgIChhLCBiKSA9PiBhLmRpc3BsYXlPcmRlciAtIGIuZGlzcGxheU9yZGVyIHx8IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSlcclxuICAgICk7IC8vIEFscGhhYmV0aWNhbGx5IGlmIG1vZHVsZXMgc2hhcmUgYSBkaXNwbGF5T3JkZXJcclxuICAgIGNvbnN0IGlzU3VwcG9ydEFkbWluID0gdGhpcy5zdG9yZWRNb2R1bGVGbGFncy5pbmNsdWRlcygnU3VwcG9ydEFkbWluJyk7XHJcbiAgICBjb25zdCBpc1RlbmFudEFkbWluID0gdGhpcy5zdG9yZWRNb2R1bGVGbGFncy5pbmNsdWRlcygnVGVuYW50QWRtaW4nKTtcclxuICAgIGxldCBwb3J0YWxNb2R1bGUgPSBtb2R1bGVzLmZpbmQoKG0pID0+IG0uYXV0aG9yaXphdGlvbklkID09PSAncG9ydGFsJyk7XHJcbiAgICBpc1RlbmFudEFkbWluID8gJycgOiAobW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKChtKSA9PiBtICE9PSBwb3J0YWxNb2R1bGUpKTtcclxuXHJcbiAgICAvLyBtb2R1bGVzID0gdGhpcy5tYXBBZG1pbkl0ZW1zKG1vZHVsZXMsIGlzU3VwcG9ydEFkbWluKTsgLy8gUGVuZGluZyBzdXBwb3J0IGZvciBpbmRpdmlkdWFsIGl0ZW0gZmxhZ3NcclxuICAgIHRoaXMubW9kdWxlcyA9IG1vZHVsZXMubWFwKChtKSA9PiB7XHJcbiAgICAgIGlmIChtICYmIG0uc2lkZWJhckVudHJpZXMpIHtcclxuICAgICAgICBtLmNoaWxkcmVuID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtLnNpZGViYXJFbnRyaWVzKSk7XHJcbiAgICAgICAgbS5zaWRlYmFyRW50cmllcyA9IFtdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG0uY2hpbGRyZW4gPSBbXTtcclxuICAgICAgfVxyXG4gICAgICBtLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICBtLnNpZGViYXJFbnRyaWVzID8gYGAgOiAobS5jaGlsZHJlbiA9IFtdKTtcclxuICAgICAgbS51cmwgPyBgYCA6IChtLnVybCA9ICcvJyk7XHJcbiAgICAgIHJldHVybiBtO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldE5hdmlnYXRpb25UaXRsZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLm1vZHVsZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFwQWRtaW5JdGVtcyhtb2R1bGVzLCBpc1N1cHBvcnRBZG1pbjogYm9vbGVhbik6IE1vZHVsZUl0ZW1bXSB7XHJcbiAgICBtb2R1bGVzLmZvckVhY2goKG0pID0+IHtcclxuICAgICAgaWYgKCFpc1N1cHBvcnRBZG1pbiAmJiBtLmlzQWRtaW5Pbmx5KSB7XHJcbiAgICAgICAgbW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKChpKSA9PiBpLm5hbWUgIT09IG0ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG0uY2hpbGRyZW4pIHtcclxuICAgICAgICBtLmNoaWxkcmVuID0gdGhpcy5tYXBBZG1pbkl0ZW1zKG0uY2hpbGRyZW4sIGlzU3VwcG9ydEFkbWluKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG1vZHVsZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q3VycmVudE1vZHVsZShzZWxlY3RlZEl0ZW06IE1vZHVsZUl0ZW0gfCBTaWRlYmFyRW50cnkpOiBNb2R1bGVJdGVtIHtcclxuICAgIHZhciBtb2R1bGVSb3V0ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zcGxpdCgnLycpWzFdO1xyXG4gICAgaWYgKCFtb2R1bGVSb3V0ZSkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLnNldE5hdmlnYXRpb25UaXRsZShzZWxlY3RlZEl0ZW0pO1xyXG4gICAgcmV0dXJuIHRoaXMubW9kdWxlcy5maWx0ZXIobSA9PiBtLnVybC5pbmRleE9mKG1vZHVsZVJvdXRlKSA+IDApWzBdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import { getDomain } from 'tldjs';
|
|
3
|
+
import { set as setCookie } from 'es-cookie';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SubItemService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.subItemClickEvent = new EventEmitter();
|
|
8
|
+
this._storage = window.localStorage;
|
|
9
|
+
}
|
|
10
|
+
saveItemInfo(selectedModule, shopId) {
|
|
11
|
+
let moduleKey = `context${selectedModule.relationName}Id`;
|
|
12
|
+
let entity = selectedModule;
|
|
13
|
+
// The POS module is a special case and we dont want to change the shopId context when
|
|
14
|
+
// changing for the other modules. We only change the shopId context for the POS when
|
|
15
|
+
// explicitly clicking a new shopId on the POS module.
|
|
16
|
+
// For legacy reasons the POS uses the generic key 'shopId' and modules use 'contextShopId'.
|
|
17
|
+
if (selectedModule.authorizationId === 'pos') {
|
|
18
|
+
moduleKey = 'shopId';
|
|
19
|
+
entity = shopId;
|
|
20
|
+
}
|
|
21
|
+
if ((selectedModule.authorizationId !== 'pos' &&
|
|
22
|
+
selectedModule.entityAccess.length > 0) ||
|
|
23
|
+
selectedModule.name === 'orb') {
|
|
24
|
+
entity = shopId;
|
|
25
|
+
}
|
|
26
|
+
let tld = getDomain(window.location.href);
|
|
27
|
+
tld = tld !== null ? `.${tld}` : '';
|
|
28
|
+
// ? Sets the new data into storage, with a formatted domain
|
|
29
|
+
this._storage.setItem(moduleKey, entity.toString());
|
|
30
|
+
// ? TEMP: Sets the new cookie, with a formatted domain
|
|
31
|
+
setCookie(moduleKey, entity.toString(), {
|
|
32
|
+
path: '/',
|
|
33
|
+
domain: tld,
|
|
34
|
+
sameSite: 'none',
|
|
35
|
+
secure: true
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
subItemclicked(item) {
|
|
39
|
+
this.subItemClickEvent.emit(item);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
SubItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SubItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
SubItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SubItemService });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SubItemService, decorators: [{
|
|
45
|
+
type: Injectable
|
|
46
|
+
}], ctorParameters: function () { return []; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGViYXItbmF2aWdhdGlvbi9zcmMvbGliL3NlcnZpY2VzL3N1Yi1pdGVtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLGNBQWM7SUFJekI7UUFIQSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXJDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLGNBQTBCLEVBQUUsTUFBYztRQUM1RCxJQUFJLFNBQVMsR0FBRyxVQUFVLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQztRQUMxRCxJQUFJLE1BQU0sR0FBUSxjQUFjLENBQUM7UUFFakMsc0ZBQXNGO1FBQ3RGLHFGQUFxRjtRQUNyRixzREFBc0Q7UUFDdEQsNEZBQTRGO1FBQzVGLElBQUksY0FBYyxDQUFDLGVBQWUsS0FBSyxLQUFLLEVBQUU7WUFDNUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUNyQixNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ2pCO1FBRUQsSUFDRSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEtBQUssS0FBSztZQUN2QyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDekMsY0FBYyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQzdCO1lBQ0EsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUNqQjtRQUVELElBQUksR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLEdBQUcsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFcEMsNERBQTREO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVwRCx1REFBdUQ7UUFDdkQsU0FBUyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxFQUFFLEdBQUc7WUFDVCxNQUFNLEVBQUUsR0FBRztZQUNYLFFBQVEsRUFBRyxNQUFNO1lBQ2pCLE1BQU0sRUFBRyxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7MkdBOUNVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vZHVsZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvbW9kdWxlJztcclxuaW1wb3J0IHsgZ2V0RG9tYWluIH0gZnJvbSAndGxkanMnO1xyXG5pbXBvcnQgeyBzZXQgYXMgc2V0Q29va2llIH0gZnJvbSAnZXMtY29va2llJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN1Ykl0ZW1TZXJ2aWNlIHtcclxuICBzdWJJdGVtQ2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBfc3RvcmFnZTogU3RvcmFnZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9zdG9yYWdlID0gd2luZG93LmxvY2FsU3RvcmFnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlSXRlbUluZm8oc2VsZWN0ZWRNb2R1bGU6IE1vZHVsZUl0ZW0sIHNob3BJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgbW9kdWxlS2V5ID0gYGNvbnRleHQke3NlbGVjdGVkTW9kdWxlLnJlbGF0aW9uTmFtZX1JZGA7XHJcbiAgICBsZXQgZW50aXR5OiBhbnkgPSBzZWxlY3RlZE1vZHVsZTtcclxuXHJcbiAgICAvLyBUaGUgUE9TIG1vZHVsZSBpcyBhIHNwZWNpYWwgY2FzZSBhbmQgd2UgZG9udCB3YW50IHRvIGNoYW5nZSB0aGUgc2hvcElkIGNvbnRleHQgd2hlblxyXG4gICAgLy8gY2hhbmdpbmcgZm9yIHRoZSBvdGhlciBtb2R1bGVzLiBXZSBvbmx5IGNoYW5nZSB0aGUgc2hvcElkIGNvbnRleHQgZm9yIHRoZSBQT1Mgd2hlblxyXG4gICAgLy8gZXhwbGljaXRseSBjbGlja2luZyBhIG5ldyBzaG9wSWQgb24gdGhlIFBPUyBtb2R1bGUuXHJcbiAgICAvLyBGb3IgbGVnYWN5IHJlYXNvbnMgdGhlIFBPUyB1c2VzIHRoZSBnZW5lcmljIGtleSAnc2hvcElkJyBhbmQgbW9kdWxlcyB1c2UgJ2NvbnRleHRTaG9wSWQnLlxyXG4gICAgaWYgKHNlbGVjdGVkTW9kdWxlLmF1dGhvcml6YXRpb25JZCA9PT0gJ3BvcycpIHtcclxuICAgICAgbW9kdWxlS2V5ID0gJ3Nob3BJZCc7XHJcbiAgICAgIGVudGl0eSA9IHNob3BJZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIChzZWxlY3RlZE1vZHVsZS5hdXRob3JpemF0aW9uSWQgIT09ICdwb3MnICYmXHJcbiAgICAgICAgc2VsZWN0ZWRNb2R1bGUuZW50aXR5QWNjZXNzLmxlbmd0aCA+IDApIHx8XHJcbiAgICAgIHNlbGVjdGVkTW9kdWxlLm5hbWUgPT09ICdvcmInXHJcbiAgICApIHtcclxuICAgICAgZW50aXR5ID0gc2hvcElkO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB0bGQgPSBnZXREb21haW4od2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG4gICAgdGxkID0gdGxkICE9PSBudWxsID8gYC4ke3RsZH1gIDogJyc7XHJcblxyXG4gICAgLy8gPyBTZXRzIHRoZSBuZXcgZGF0YSBpbnRvIHN0b3JhZ2UsIHdpdGggYSBmb3JtYXR0ZWQgZG9tYWluXHJcbiAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0obW9kdWxlS2V5LCBlbnRpdHkudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgLy8gPyBURU1QOiBTZXRzIHRoZSBuZXcgY29va2llLCB3aXRoIGEgZm9ybWF0dGVkIGRvbWFpblxyXG4gICAgc2V0Q29va2llKG1vZHVsZUtleSwgZW50aXR5LnRvU3RyaW5nKCksIHtcclxuICAgICAgcGF0aDogJy8nLFxyXG4gICAgICBkb21haW46IHRsZCxcclxuICAgICAgc2FtZVNpdGUgOiAnbm9uZScsIFxyXG4gICAgICBzZWN1cmUgOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN1Ykl0ZW1jbGlja2VkKGl0ZW0pIHtcclxuICAgIHRoaXMuc3ViSXRlbUNsaWNrRXZlbnQuZW1pdChpdGVtKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgc2VydmljZSBleGlzdHMgdG8gYWxsb3cgdGhlIEV2ZW50RW1pdHRlciB0byBidWJibGUgdXAgZnJvbSB0aGUgcmVjdXJzaXZlIHN1Ykl0ZW0gY29tcG9uZW50IHRvIHRoZSBwYXJlbnQgc2lkZWJhciBjb21wb25lbnQuXHJcbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-smart-modal";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class ShopModalComponent {
|
|
6
|
+
constructor(ngxSmartModalService) {
|
|
7
|
+
this.ngxSmartModalService = ngxSmartModalService;
|
|
8
|
+
this.availableShops = [];
|
|
9
|
+
this.copyAvailableShops = [];
|
|
10
|
+
this.selectedShop = new EventEmitter();
|
|
11
|
+
this.shopSearchValue = '';
|
|
12
|
+
this.shopSearchPlaceholder = 'Search for a Shop ...';
|
|
13
|
+
}
|
|
14
|
+
shopSelected(shop) {
|
|
15
|
+
this.selectedShop.emit(shop);
|
|
16
|
+
this.ngxSmartModalService.getModal('shopModal').close();
|
|
17
|
+
}
|
|
18
|
+
handleShopSearch(e) {
|
|
19
|
+
if (this.copyAvailableShops.length < 1) {
|
|
20
|
+
this.copyAvailableShops = [...this.availableShops];
|
|
21
|
+
}
|
|
22
|
+
this.shopSearchValue = e && e.target ? e.target.value : '';
|
|
23
|
+
this.availableShops = this.copyAvailableShops.filter((shop) => shop.description
|
|
24
|
+
.toLowerCase()
|
|
25
|
+
.includes(this.shopSearchValue.toLowerCase()));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ShopModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ShopModalComponent, deps: [{ token: i1.NgxSmartModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ShopModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ShopModalComponent, selector: "shop-modal", inputs: { availableShops: "availableShops", shopSearchValue: "shopSearchValue" }, outputs: { selectedShop: "selectedShop" }, ngImport: i0, template: "<ngx-smart-modal #shopModal identifier=\"shopModal\">\r\n <h1 class=\"shopSelect\">Shop Select</h1>\r\n <ng-container *ngIf=\"availableShops\">\r\n <ng-container *ngIf=\"availableShops.length > 8 || copyAvailableShops.length > 8\">\r\n <input class=\"shopSearchInput\" type=\"search\" autocomplete=\"off\" id=\"search\" [value]=\"shopSearchValue\"\r\n required=\"false\" [placeholder]=\"shopSearchPlaceholder\" (keyup)=\"handleShopSearch($event)\"\r\n (click)=\"handleShopSearch($event)\" />\r\n </ng-container>\r\n <div class=\"shopButtons\">\r\n <button class=\"shopButton\" *ngFor=\"let shop of availableShops\"\r\n [attr.data-testid]=\"'nav-shop' + shop.id\"\r\n (click)=\"shopSelected(shop)\">{{shop.description}}</button>\r\n </div>\r\n </ng-container>\r\n</ngx-smart-modal>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;1,300;1,400;1,600&display=swap\";body.dialog-open{overflow:hidden}.nsm-dialog-btn-close{border:0;background:none;position:absolute;top:8px;right:8px;font-size:1.2em;cursor:pointer}.overlay{position:fixed;inset:0;overflow-x:hidden;overflow-y:auto;transition:background-color .5s;background-color:transparent;z-index:999}.overlay.nsm-overlay-open{background-color:#00000080}.overlay.transparent{background-color:transparent}.nsm-dialog{position:relative;opacity:1;visibility:visible;min-height:200px;width:100%;max-width:520px;margin:0 auto;pointer-events:none;outline:none}.nsm-dialog.nsm-dialog-close{opacity:0}.nsm-dialog.nsm-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}.nsm-content{position:relative;display:flex;flex-direction:column;pointer-events:auto;background-clip:padding-box;background-color:#fff;border-radius:2px;padding:1rem;margin:1.75rem;box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f;outline:0;transform:translate(0)}.nsm-body{position:relative;flex:1 1 auto}.nsm-dialog[class*=nsm-dialog-animation-]{transition:transform .5s ease-in-out,opacity .5s}.nsm-dialog-animation-ltr{transform:translate(-50%)}.nsm-dialog-animation-ltr.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-ltr.nsm-dialog-close{transform:translate(-50%)}.nsm-dialog-animation-rtl{transform:translate(50%)}.nsm-dialog-animation-rtl.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-rtl.nsm-dialog-close{transform:translate(50%)}.nsm-dialog-animation-ttb{transform:translateY(-50%)}.nsm-dialog-animation-ttb.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-ttb.nsm-dialog-close{transform:translateY(-50%)}.nsm-dialog-animation-btt{transform:translateY(50%)}.nsm-dialog-animation-btt.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-btt.nsm-dialog-close{transform:translateY(50%)}.imagine-body{background-color:#fafbfc}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-SemiBold.ttf) format(\"truetype\");font-weight:600;font-style:normal}#shopModal{direction:ltr}.shopButtons{display:block;padding:10px 0;margin:auto;width:100%;text-align:center}.shopButton{cursor:pointer;min-width:90px;border-radius:5px;border:none;outline:none;padding:5px 10px}.shopButton+.shopButton{margin-left:10px;margin-bottom:10px}.shopSearchInput{display:block;direction:ltr;width:90%;height:inherit;margin:auto}input:invalid{box-shadow:none}.shopSelect{font-size:18px;font-family:Poppins,sans-serif;text-align:center}\n"], components: [{ type: i1.NgxSmartModalComponent, selector: "ngx-smart-modal", inputs: ["closable", "escapable", "dismissable", "identifier", "customClass", "visible", "backdrop", "force", "hideDelay", "autostart", "target", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "refocus"], outputs: ["visibleChange", "onClose", "onCloseFinished", "onDismiss", "onDismissFinished", "onAnyCloseEvent", "onAnyCloseEventFinished", "onOpen", "onOpenFinished", "onEscape", "onDataAdded", "onDataRemoved"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ShopModalComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ selector: 'shop-modal', template: "<ngx-smart-modal #shopModal identifier=\"shopModal\">\r\n <h1 class=\"shopSelect\">Shop Select</h1>\r\n <ng-container *ngIf=\"availableShops\">\r\n <ng-container *ngIf=\"availableShops.length > 8 || copyAvailableShops.length > 8\">\r\n <input class=\"shopSearchInput\" type=\"search\" autocomplete=\"off\" id=\"search\" [value]=\"shopSearchValue\"\r\n required=\"false\" [placeholder]=\"shopSearchPlaceholder\" (keyup)=\"handleShopSearch($event)\"\r\n (click)=\"handleShopSearch($event)\" />\r\n </ng-container>\r\n <div class=\"shopButtons\">\r\n <button class=\"shopButton\" *ngFor=\"let shop of availableShops\"\r\n [attr.data-testid]=\"'nav-shop' + shop.id\"\r\n (click)=\"shopSelected(shop)\">{{shop.description}}</button>\r\n </div>\r\n </ng-container>\r\n</ngx-smart-modal>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;1,300;1,400;1,600&display=swap\";body.dialog-open{overflow:hidden}.nsm-dialog-btn-close{border:0;background:none;position:absolute;top:8px;right:8px;font-size:1.2em;cursor:pointer}.overlay{position:fixed;inset:0;overflow-x:hidden;overflow-y:auto;transition:background-color .5s;background-color:transparent;z-index:999}.overlay.nsm-overlay-open{background-color:#00000080}.overlay.transparent{background-color:transparent}.nsm-dialog{position:relative;opacity:1;visibility:visible;min-height:200px;width:100%;max-width:520px;margin:0 auto;pointer-events:none;outline:none}.nsm-dialog.nsm-dialog-close{opacity:0}.nsm-dialog.nsm-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}.nsm-content{position:relative;display:flex;flex-direction:column;pointer-events:auto;background-clip:padding-box;background-color:#fff;border-radius:2px;padding:1rem;margin:1.75rem;box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f;outline:0;transform:translate(0)}.nsm-body{position:relative;flex:1 1 auto}.nsm-dialog[class*=nsm-dialog-animation-]{transition:transform .5s ease-in-out,opacity .5s}.nsm-dialog-animation-ltr{transform:translate(-50%)}.nsm-dialog-animation-ltr.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-ltr.nsm-dialog-close{transform:translate(-50%)}.nsm-dialog-animation-rtl{transform:translate(50%)}.nsm-dialog-animation-rtl.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-rtl.nsm-dialog-close{transform:translate(50%)}.nsm-dialog-animation-ttb{transform:translateY(-50%)}.nsm-dialog-animation-ttb.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-ttb.nsm-dialog-close{transform:translateY(-50%)}.nsm-dialog-animation-btt{transform:translateY(50%)}.nsm-dialog-animation-btt.nsm-dialog-open{transform:translate(0)}.nsm-dialog-animation-btt.nsm-dialog-close{transform:translateY(50%)}.imagine-body{background-color:#fafbfc}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic}@font-face{font-family:Poppins;src:url(../assets/fonts/Poppins-SemiBold.ttf) format(\"truetype\");font-weight:600;font-style:normal}#shopModal{direction:ltr}.shopButtons{display:block;padding:10px 0;margin:auto;width:100%;text-align:center}.shopButton{cursor:pointer;min-width:90px;border-radius:5px;border:none;outline:none;padding:5px 10px}.shopButton+.shopButton{margin-left:10px;margin-bottom:10px}.shopSearchInput{display:block;direction:ltr;width:90%;height:inherit;margin:auto}input:invalid{box-shadow:none}.shopSelect{font-size:18px;font-family:Poppins,sans-serif;text-align:center}\n"] }]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.NgxSmartModalService }]; }, propDecorators: { availableShops: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], selectedShop: [{
|
|
36
|
+
type: Output
|
|
37
|
+
}], shopSearchValue: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlYmFyLW5hdmlnYXRpb24vc3JjL2xpYi9zaWRlYmFyL3Nob3AtbW9kYWwvc2hvcC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlYmFyLW5hdmlnYXRpb24vc3JjL2xpYi9zaWRlYmFyL3Nob3AtbW9kYWwvc2hvcC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFBbUIsb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFOcEQsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDckMsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDbkMsMEJBQXFCLEdBQUcsdUJBQXVCLENBQUM7SUFFZ0IsQ0FBQztJQUVqRSxZQUFZLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLFdBQVc7YUFDYixXQUFXLEVBQUU7YUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNoRCxDQUFDO0lBQ0osQ0FBQzs7K0dBeEJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtLQ1QvQixxNEJBY2tCOzJGRExMLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxZQUFZOzJHQUtiLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4U21hcnRNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtc21hcnQtbW9kYWwnO1xyXG5pbXBvcnQgeyBTaG9wIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Nob3AtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaG9wLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaG9wLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaG9wTW9kYWxDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGF2YWlsYWJsZVNob3BzOiBTaG9wW10gPSBbXTtcclxuICBjb3B5QXZhaWxhYmxlU2hvcHM6IFNob3BbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFNob3A6IEV2ZW50RW1pdHRlcjxTaG9wPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzaG9wU2VhcmNoVmFsdWU6IGFueSA9ICcnO1xyXG4gIHNob3BTZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2ggZm9yIGEgU2hvcCAuLi4nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmd4U21hcnRNb2RhbFNlcnZpY2U6IE5neFNtYXJ0TW9kYWxTZXJ2aWNlKSB7fVxyXG5cclxuICBzaG9wU2VsZWN0ZWQoc2hvcCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNob3AuZW1pdChzaG9wKTtcclxuICAgIHRoaXMubmd4U21hcnRNb2RhbFNlcnZpY2UuZ2V0TW9kYWwoJ3Nob3BNb2RhbCcpLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTaG9wU2VhcmNoKGUpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvcHlBdmFpbGFibGVTaG9wcy5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuY29weUF2YWlsYWJsZVNob3BzID0gWy4uLnRoaXMuYXZhaWxhYmxlU2hvcHNdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG9wU2VhcmNoVmFsdWUgPSBlICYmIGUudGFyZ2V0ID8gZS50YXJnZXQudmFsdWUgOiAnJztcclxuICAgIHRoaXMuYXZhaWxhYmxlU2hvcHMgPSB0aGlzLmNvcHlBdmFpbGFibGVTaG9wcy5maWx0ZXIoKHNob3ApID0+XHJcbiAgICAgIHNob3AuZGVzY3JpcHRpb25cclxuICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgIC5pbmNsdWRlcyh0aGlzLnNob3BTZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPG5neC1zbWFydC1tb2RhbCAjc2hvcE1vZGFsIGlkZW50aWZpZXI9XCJzaG9wTW9kYWxcIj5cclxuICAgIDxoMSBjbGFzcz1cInNob3BTZWxlY3RcIj5TaG9wIFNlbGVjdDwvaDE+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXZhaWxhYmxlU2hvcHNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXZhaWxhYmxlU2hvcHMubGVuZ3RoID4gOCB8fCBjb3B5QXZhaWxhYmxlU2hvcHMubGVuZ3RoID4gOFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzaG9wU2VhcmNoSW5wdXRcIiB0eXBlPVwic2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgaWQ9XCJzZWFyY2hcIiBbdmFsdWVdPVwic2hvcFNlYXJjaFZhbHVlXCJcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkPVwiZmFsc2VcIiBbcGxhY2Vob2xkZXJdPVwic2hvcFNlYXJjaFBsYWNlaG9sZGVyXCIgKGtleXVwKT1cImhhbmRsZVNob3BTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2hvcFNlYXJjaCgkZXZlbnQpXCIgLz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hvcEJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNob3BCdXR0b25cIiAqbmdGb3I9XCJsZXQgc2hvcCBvZiBhdmFpbGFibGVTaG9wc1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCInbmF2LXNob3AnICsgc2hvcC5pZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvcFNlbGVjdGVkKHNob3ApXCI+e3tzaG9wLmRlc2NyaXB0aW9ufX08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25neC1zbWFydC1tb2RhbD4iXX0=
|