@retalia/sidebar-navigation 13.4.0 → 16.2.12

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 (49) hide show
  1. package/{esm2020 → esm2022}/lib/data/support-routes.mjs +54 -54
  2. package/{esm2020 → esm2022}/lib/data/test-data.mjs +620 -620
  3. package/{esm2020 → esm2022}/lib/models/cookie-names.mjs +13 -13
  4. package/{esm2020 → esm2022}/lib/models/environment.mjs +1 -1
  5. package/{esm2020 → esm2022}/lib/models/http-response.mjs +1 -1
  6. package/{esm2020 → esm2022}/lib/models/module.mjs +1 -1
  7. package/esm2022/lib/navigation-lib.component.mjs +28 -0
  8. package/esm2022/lib/navigation-lib.module.mjs +47 -0
  9. package/{esm2020 → esm2022}/lib/navigation-lib.service.mjs +14 -14
  10. package/{esm2020 → esm2022}/lib/services/auth.service.mjs +43 -43
  11. package/{esm2020 → esm2022}/lib/services/cookie.service.mjs +34 -34
  12. package/{esm2020 → esm2022}/lib/services/http.service.mjs +18 -18
  13. package/{esm2020 → esm2022}/lib/services/module.service.mjs +133 -133
  14. package/{esm2020 → esm2022}/lib/services/sub-item.service.mjs +47 -47
  15. package/{esm2020 → esm2022}/lib/sidebar/shop-modal/shop-modal.component.mjs +40 -40
  16. package/{esm2020 → esm2022}/lib/sidebar/sidebar.component.mjs +182 -182
  17. package/esm2022/lib/sidebar/sub-item/sub-item.component.mjs +52 -0
  18. package/{esm2020 → esm2022}/lib/topbar/topbar.component.mjs +68 -68
  19. package/{esm2020 → esm2022}/public-api.mjs +11 -11
  20. package/{esm2020 → esm2022}/retalia-sidebar-navigation.mjs +4 -4
  21. package/fesm2022/retalia-sidebar-navigation.mjs +1355 -0
  22. package/{fesm2020 → fesm2022}/retalia-sidebar-navigation.mjs.map +1 -1
  23. package/{retalia-sidebar-navigation.d.ts → index.d.ts} +5 -5
  24. package/lib/data/support-routes.d.ts +2 -2
  25. package/lib/data/test-data.d.ts +2 -2
  26. package/lib/models/cookie-names.d.ts +12 -12
  27. package/lib/models/environment.d.ts +4 -4
  28. package/lib/models/http-response.d.ts +3 -3
  29. package/lib/models/module.d.ts +32 -32
  30. package/lib/navigation-lib.component.d.ts +12 -12
  31. package/lib/navigation-lib.module.d.ts +14 -14
  32. package/lib/navigation-lib.service.d.ts +6 -6
  33. package/lib/services/auth.service.d.ts +12 -12
  34. package/lib/services/cookie.service.d.ts +12 -12
  35. package/lib/services/http.service.d.ts +2 -2
  36. package/lib/services/module.service.d.ts +20 -20
  37. package/lib/services/sub-item.service.d.ts +12 -12
  38. package/lib/sidebar/shop-modal/shop-modal.component.d.ts +17 -17
  39. package/lib/sidebar/sidebar.component.d.ts +47 -47
  40. package/lib/sidebar/sub-item/sub-item.component.d.ts +16 -16
  41. package/lib/topbar/topbar.component.d.ts +20 -20
  42. package/package.json +13 -29
  43. package/public-api.d.ts +8 -8
  44. package/esm2020/lib/navigation-lib.component.mjs +0 -28
  45. package/esm2020/lib/navigation-lib.module.mjs +0 -50
  46. package/esm2020/lib/sidebar/sub-item/sub-item.component.mjs +0 -52
  47. package/fesm2015/retalia-sidebar-navigation.mjs +0 -1367
  48. package/fesm2015/retalia-sidebar-navigation.mjs.map +0 -1
  49. package/fesm2020/retalia-sidebar-navigation.mjs +0 -1358
@@ -1,133 +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
- ModuleServicefac = 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=
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
125
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleService, providedIn: 'root' }); }
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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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YSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb2R1bGVJdGVtLCBNb2R1bGVzSW5mbywgU2lkZWJhckVudHJ5IH0gZnJvbSAnLi4vbW9kZWxzL21vZHVsZSc7XHJcbmltcG9ydCB7IGh0dHBHZXQgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGVzdE1vZHVsZURldGFpbHMgfSBmcm9tICcuLi9kYXRhL3Rlc3QtZGF0YSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kdWxlU2VydmljZSB7XHJcbiAgc3RvcmVkTW9kdWxlRmxhZ3M6IHN0cmluZ1tdID0gW107XHJcbiAgc3RvcmVkTW9kdWxlRmxhZ3NDaGFuZ2U6IFN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IFN1YmplY3Q8c3RyaW5nW10+KCk7XHJcbiAgY3VycmVudFJvdXRlTmFtZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIGN1cnJlbnRNb2R1bGU7XHJcbiAgbW9kdWxlczogTW9kdWxlSXRlbVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuc3RvcmVkTW9kdWxlRmxhZ3NDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlZE1vZHVsZUZsYWdzID0gdmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRVc2VyTW9kdWxlcyhcclxuICAgIGdhdGV3YXlVcmw6IHN0cmluZyxcclxuICAgIHRva2VuOiBzdHJpbmdcclxuICApOiBQcm9taXNlPE1vZHVsZXNJbmZvPiB7XHJcbiAgICBpZiAoZ2F0ZXdheVVybCA9PT0gJ1RFU1QnKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVkTW9kdWxlRmxhZ3NDaGFuZ2UubmV4dCh0ZXN0TW9kdWxlRGV0YWlscy5mbGFncyk7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGVzdE1vZHVsZURldGFpbHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RVcmwgPSBnYXRld2F5VXJsICsgJy9Nb2R1bGUnO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBodHRwR2V0PE1vZHVsZXNJbmZvPihyZXF1ZXN0VXJsLCB0b2tlbik7XHJcbiAgICB0aGlzLnN0b3JlZE1vZHVsZUZsYWdzQ2hhbmdlLm5leHQocmVzcG9uc2UucGFyc2VkQm9keS5mbGFncyk7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3BvbnNlLnBhcnNlZEJvZHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE5hdmlnYXRpb25UaXRsZShzZWxlY3RlZEl0ZW0/OiBNb2R1bGVJdGVtIHwgU2lkZWJhckVudHJ5KSB7XHJcbiAgICB2YXIgcGF0aEFycmF5ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNwbGl0KCcvJyk7XHJcbiAgICBsZXQgdHJhbnNsYXRlZE1vZHVsZU5hbWUgPSAnJztcclxuICAgIGxldCBpdGVtID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgaWYgKHBhdGhBcnJheS5sZW5ndGggPiAxICYmICFpdGVtKSB7XHJcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcclxuICAgICAgaXRlbSA9IHRoaXMuZmluZE5lc3RlZFVybE1hdGNoKHRoaXMubW9kdWxlcywgY3VycmVudFBhdGgpO1xyXG4gICAgICBpdGVtXHJcbiAgICAgICAgPyAodHJhbnNsYXRlZE1vZHVsZU5hbWUgPSBpdGVtLnRyYW5zbGF0ZWROYW1lIHx8IGl0ZW0ubmFtZSlcclxuICAgICAgICA6ICh0cmFuc2xhdGVkTW9kdWxlTmFtZSA9IHBhdGhBcnJheVtwYXRoQXJyYXkubGVuZ3RoIC0gMV0pO1xyXG4gICAgfSBlbHNlIGlmIChpdGVtKSB7XHJcbiAgICAgIHRyYW5zbGF0ZWRNb2R1bGVOYW1lID0gaXRlbS50cmFuc2xhdGVkTmFtZSB8fCBpdGVtLm5hbWU7XHJcbiAgICB9XHJcbiAgICB0cmFuc2xhdGVkTW9kdWxlTmFtZSA9PT0gJ21haW4nID8gKHRyYW5zbGF0ZWRNb2R1bGVOYW1lID0gJycpIDogJyc7XHJcbiAgICB0aGlzLmN1cnJlbnRSb3V0ZU5hbWUubmV4dCh0cmFuc2xhdGVkTW9kdWxlTmFtZSk7XHJcblxyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgdGhpcy5zZXRJdGVtVmlzYmlsaXR5KGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50TW9kdWxlID0gdGhpcy5tb2R1bGVzLmZpbmQoXHJcbiAgICAgICAgKG0pID0+XHJcbiAgICAgICAgICBtLnVybC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcLy9nLCAnJykgPT09XHJcbiAgICAgICAgICBwYXRoQXJyYXlbMV0udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC8vZywgJycpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmluZE5lc3RlZFVybE1hdGNoKHN1Ykl0ZW1zLCB1cmxQYXRoOiBzdHJpbmcpIHtcclxuICAgIGxldCBuYW1lTWF0Y2g7XHJcbiAgICBzdWJJdGVtcy5mb3JFYWNoKChpOiBNb2R1bGVJdGVtIHwgU2lkZWJhckVudHJ5KSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBpLnVybCAmJlxyXG4gICAgICAgIGkudXJsLnJlcGxhY2UoL1xcLy9nLCAnJykgJiZcclxuICAgICAgICBpLnVybC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcLy9nLCAnJykgPT09XHJcbiAgICAgICAgICB1cmxQYXRoLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFwvL2csICcnKVxyXG4gICAgICApIHtcclxuICAgICAgICBuYW1lTWF0Y2ggPSBpO1xyXG4gICAgICAgIGkuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGNoaWxkTWF0Y2ggPSB0aGlzLmZpbmROZXN0ZWRVcmxNYXRjaChpLmNoaWxkcmVuLCB1cmxQYXRoKTtcclxuICAgICAgICBpZiAoY2hpbGRNYXRjaCkge1xyXG4gICAgICAgICAgbmFtZU1hdGNoID0gY2hpbGRNYXRjaDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBuYW1lTWF0Y2g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SXRlbVZpc2JpbGl0eShpdGVtKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlTW9kdWxlOiBNb2R1bGVJdGVtID0gdGhpcy5tb2R1bGVzLmZpbmQoXHJcbiAgICAgIChtOiBNb2R1bGVJdGVtKSA9PlxyXG4gICAgICAgIG0uYXV0aG9yaXphdGlvbklkID09PVxyXG4gICAgICAgIChpdGVtLmF1dGhvcml6YXRpb25JZCB8fCBpdGVtLm1vZHVsZUF1dGhvcml6YXRpb25JZClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50TW9kdWxlID8gJycgOiAodGhpcy5jdXJyZW50TW9kdWxlID0gYWN0aXZlTW9kdWxlKTtcclxuICAgIGFjdGl2ZU1vZHVsZS5jaGlsZHJlbi5tYXAoKHNlOiBTaWRlYmFyRW50cnkpID0+IHtcclxuICAgICAgc2UudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIGlmIChpdGVtLm5hbWUgIT09IHNlLm5hbWUpIHtcclxuICAgICAgICBsZXQgaXNDdXJyZW50ID0gc2UuY2hpbGRyZW4uc29tZSgoc2VjKSA9PiBzZWMubmFtZSA9PT0gaXRlbS5uYW1lKTtcclxuICAgICAgICBzZS5jaGlsZHJlbi5tYXAoKHNlYykgPT4ge1xyXG4gICAgICAgICAgc2VjLnZpc2libGUgPSBpc0N1cnJlbnQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1hcE1vZHVsZUl0ZW1zKG1vZHVsZXM6IE1vZHVsZUl0ZW1bXSk6IE1vZHVsZUl0ZW1bXSB7XHJcbiAgICBtb2R1bGVzLnNvcnQoXHJcbiAgICAgIChhLCBiKSA9PiBhLmRpc3BsYXlPcmRlciAtIGIuZGlzcGxheU9yZGVyIHx8IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSlcclxuICAgICk7IC8vIEFscGhhYmV0aWNhbGx5IGlmIG1vZHVsZXMgc2hhcmUgYSBkaXNwbGF5T3JkZXJcclxuICAgIGNvbnN0IGlzU3VwcG9ydEFkbWluID0gdGhpcy5zdG9yZWRNb2R1bGVGbGFncy5pbmNsdWRlcygnU3VwcG9ydEFkbWluJyk7XHJcbiAgICBjb25zdCBpc1RlbmFudEFkbWluID0gdGhpcy5zdG9yZWRNb2R1bGVGbGFncy5pbmNsdWRlcygnVGVuYW50QWRtaW4nKTtcclxuICAgIGxldCBwb3J0YWxNb2R1bGUgPSBtb2R1bGVzLmZpbmQoKG0pID0+IG0uYXV0aG9yaXphdGlvbklkID09PSAncG9ydGFsJyk7XHJcbiAgICBpc1RlbmFudEFkbWluID8gJycgOiAobW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKChtKSA9PiBtICE9PSBwb3J0YWxNb2R1bGUpKTtcclxuXHJcbiAgICAvLyBtb2R1bGVzID0gdGhpcy5tYXBBZG1pbkl0ZW1zKG1vZHVsZXMsIGlzU3VwcG9ydEFkbWluKTsgLy8gUGVuZGluZyBzdXBwb3J0IGZvciBpbmRpdmlkdWFsIGl0ZW0gZmxhZ3NcclxuICAgIHRoaXMubW9kdWxlcyA9IG1vZHVsZXMubWFwKChtKSA9PiB7XHJcbiAgICAgIGlmIChtICYmIG0uc2lkZWJhckVudHJpZXMpIHtcclxuICAgICAgICBtLmNoaWxkcmVuID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtLnNpZGViYXJFbnRyaWVzKSk7XHJcbiAgICAgICAgbS5zaWRlYmFyRW50cmllcyA9IFtdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG0uY2hpbGRyZW4gPSBbXTtcclxuICAgICAgfVxyXG4gICAgICBtLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICBtLnNpZGViYXJFbnRyaWVzID8gYGAgOiAobS5jaGlsZHJlbiA9IFtdKTtcclxuICAgICAgbS51cmwgPyBgYCA6IChtLnVybCA9ICcvJyk7XHJcbiAgICAgIHJldHVybiBtO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldE5hdmlnYXRpb25UaXRsZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLm1vZHVsZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFwQWRtaW5JdGVtcyhtb2R1bGVzLCBpc1N1cHBvcnRBZG1pbjogYm9vbGVhbik6IE1vZHVsZUl0ZW1bXSB7XHJcbiAgICBtb2R1bGVzLmZvckVhY2goKG0pID0+IHtcclxuICAgICAgaWYgKCFpc1N1cHBvcnRBZG1pbiAmJiBtLmlzQWRtaW5Pbmx5KSB7XHJcbiAgICAgICAgbW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKChpKSA9PiBpLm5hbWUgIT09IG0ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG0uY2hpbGRyZW4pIHtcclxuICAgICAgICBtLmNoaWxkcmVuID0gdGhpcy5tYXBBZG1pbkl0ZW1zKG0uY2hpbGRyZW4sIGlzU3VwcG9ydEFkbWluKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG1vZHVsZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q3VycmVudE1vZHVsZShzZWxlY3RlZEl0ZW06IE1vZHVsZUl0ZW0gfCBTaWRlYmFyRW50cnkpOiBNb2R1bGVJdGVtIHtcclxuICAgIHZhciBtb2R1bGVSb3V0ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zcGxpdCgnLycpWzFdO1xyXG4gICAgaWYgKCFtb2R1bGVSb3V0ZSkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLnNldE5hdmlnYXRpb25UaXRsZShzZWxlY3RlZEl0ZW0pO1xyXG4gICAgcmV0dXJuIHRoaXMubW9kdWxlcy5maWx0ZXIobSA9PiBtLnVybC5pbmRleE9mKG1vZHVsZVJvdXRlKSA+IDApWzBdO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,47 +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
- SubItemServicefac = 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==
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubItemService }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubItemService, decorators: [{
45
+ type: Injectable
46
+ }], ctorParameters: function () { return []; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGViYXItbmF2aWdhdGlvbi9zcmMvbGliL3NlcnZpY2VzL3N1Yi1pdGVtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLGNBQWM7SUFJekI7UUFIQSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXJDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLGNBQTBCLEVBQUUsTUFBYztRQUM1RCxJQUFJLFNBQVMsR0FBRyxVQUFVLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQztRQUMxRCxJQUFJLE1BQU0sR0FBUSxjQUFjLENBQUM7UUFFakMsc0ZBQXNGO1FBQ3RGLHFGQUFxRjtRQUNyRixzREFBc0Q7UUFDdEQsNEZBQTRGO1FBQzVGLElBQUksY0FBYyxDQUFDLGVBQWUsS0FBSyxLQUFLLEVBQUU7WUFDNUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUNyQixNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ2pCO1FBRUQsSUFDRSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEtBQUssS0FBSztZQUN2QyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDekMsY0FBYyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQzdCO1lBQ0EsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUNqQjtRQUVELElBQUksR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLEdBQUcsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFcEMsNERBQTREO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVwRCx1REFBdUQ7UUFDdkQsU0FBUyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxFQUFFLEdBQUc7WUFDVCxNQUFNLEVBQUUsR0FBRztZQUNYLFFBQVEsRUFBRyxNQUFNO1lBQ2pCLE1BQU0sRUFBRyxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0E5Q1UsY0FBYzttSEFBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vZHVsZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvbW9kdWxlJztcclxuaW1wb3J0IHsgZ2V0RG9tYWluIH0gZnJvbSAndGxkanMnO1xyXG5pbXBvcnQgeyBzZXQgYXMgc2V0Q29va2llIH0gZnJvbSAnZXMtY29va2llJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN1Ykl0ZW1TZXJ2aWNlIHtcclxuICBzdWJJdGVtQ2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBfc3RvcmFnZTogU3RvcmFnZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9zdG9yYWdlID0gd2luZG93LmxvY2FsU3RvcmFnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlSXRlbUluZm8oc2VsZWN0ZWRNb2R1bGU6IE1vZHVsZUl0ZW0sIHNob3BJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgbW9kdWxlS2V5ID0gYGNvbnRleHQke3NlbGVjdGVkTW9kdWxlLnJlbGF0aW9uTmFtZX1JZGA7XHJcbiAgICBsZXQgZW50aXR5OiBhbnkgPSBzZWxlY3RlZE1vZHVsZTtcclxuXHJcbiAgICAvLyBUaGUgUE9TIG1vZHVsZSBpcyBhIHNwZWNpYWwgY2FzZSBhbmQgd2UgZG9udCB3YW50IHRvIGNoYW5nZSB0aGUgc2hvcElkIGNvbnRleHQgd2hlblxyXG4gICAgLy8gY2hhbmdpbmcgZm9yIHRoZSBvdGhlciBtb2R1bGVzLiBXZSBvbmx5IGNoYW5nZSB0aGUgc2hvcElkIGNvbnRleHQgZm9yIHRoZSBQT1Mgd2hlblxyXG4gICAgLy8gZXhwbGljaXRseSBjbGlja2luZyBhIG5ldyBzaG9wSWQgb24gdGhlIFBPUyBtb2R1bGUuXHJcbiAgICAvLyBGb3IgbGVnYWN5IHJlYXNvbnMgdGhlIFBPUyB1c2VzIHRoZSBnZW5lcmljIGtleSAnc2hvcElkJyBhbmQgbW9kdWxlcyB1c2UgJ2NvbnRleHRTaG9wSWQnLlxyXG4gICAgaWYgKHNlbGVjdGVkTW9kdWxlLmF1dGhvcml6YXRpb25JZCA9PT0gJ3BvcycpIHtcclxuICAgICAgbW9kdWxlS2V5ID0gJ3Nob3BJZCc7XHJcbiAgICAgIGVudGl0eSA9IHNob3BJZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIChzZWxlY3RlZE1vZHVsZS5hdXRob3JpemF0aW9uSWQgIT09ICdwb3MnICYmXHJcbiAgICAgICAgc2VsZWN0ZWRNb2R1bGUuZW50aXR5QWNjZXNzLmxlbmd0aCA+IDApIHx8XHJcbiAgICAgIHNlbGVjdGVkTW9kdWxlLm5hbWUgPT09ICdvcmInXHJcbiAgICApIHtcclxuICAgICAgZW50aXR5ID0gc2hvcElkO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB0bGQgPSBnZXREb21haW4od2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG4gICAgdGxkID0gdGxkICE9PSBudWxsID8gYC4ke3RsZH1gIDogJyc7XHJcblxyXG4gICAgLy8gPyBTZXRzIHRoZSBuZXcgZGF0YSBpbnRvIHN0b3JhZ2UsIHdpdGggYSBmb3JtYXR0ZWQgZG9tYWluXHJcbiAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0obW9kdWxlS2V5LCBlbnRpdHkudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgLy8gPyBURU1QOiBTZXRzIHRoZSBuZXcgY29va2llLCB3aXRoIGEgZm9ybWF0dGVkIGRvbWFpblxyXG4gICAgc2V0Q29va2llKG1vZHVsZUtleSwgZW50aXR5LnRvU3RyaW5nKCksIHtcclxuICAgICAgcGF0aDogJy8nLFxyXG4gICAgICBkb21haW46IHRsZCxcclxuICAgICAgc2FtZVNpdGUgOiAnbm9uZScsIFxyXG4gICAgICBzZWN1cmUgOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN1Ykl0ZW1jbGlja2VkKGl0ZW0pIHtcclxuICAgIHRoaXMuc3ViSXRlbUNsaWNrRXZlbnQuZW1pdChpdGVtKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgc2VydmljZSBleGlzdHMgdG8gYWxsb3cgdGhlIEV2ZW50RW1pdHRlciB0byBidWJibGUgdXAgZnJvbSB0aGUgcmVjdXJzaXZlIHN1Ykl0ZW0gY29tcG9uZW50IHRvIHRoZSBwYXJlbnQgc2lkZWJhciBjb21wb25lbnQuXHJcbiJdfQ==
@@ -1,40 +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
- ShopModalComponentfac = 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=
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ShopModalComponent, deps: [{ token: i1.NgxSmartModalService }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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\";.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"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", 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"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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\";.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlYmFyLW5hdmlnYXRpb24vc3JjL2xpYi9zaWRlYmFyL3Nob3AtbW9kYWwvc2hvcC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlYmFyLW5hdmlnYXRpb24vc3JjL2xpYi9zaWRlYmFyL3Nob3AtbW9kYWwvc2hvcC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFBbUIsb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFOcEQsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDckMsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDbkMsMEJBQXFCLEdBQUcsdUJBQXVCLENBQUM7SUFFZ0IsQ0FBQztJQUVqRSxZQUFZLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLFdBQVc7YUFDYixXQUFXLEVBQUU7YUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNoRCxDQUFDO0lBQ0osQ0FBQzsrR0F4QlUsa0JBQWtCO21HQUFsQixrQkFBa0IsK0tDVC9CLHE0QkFja0I7OzRGRExMLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxZQUFZOzJHQUtiLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4U21hcnRNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtc21hcnQtbW9kYWwnO1xyXG5pbXBvcnQgeyBTaG9wIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Nob3AtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaG9wLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaG9wLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaG9wTW9kYWxDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGF2YWlsYWJsZVNob3BzOiBTaG9wW10gPSBbXTtcclxuICBjb3B5QXZhaWxhYmxlU2hvcHM6IFNob3BbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFNob3A6IEV2ZW50RW1pdHRlcjxTaG9wPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzaG9wU2VhcmNoVmFsdWU6IGFueSA9ICcnO1xyXG4gIHNob3BTZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2ggZm9yIGEgU2hvcCAuLi4nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmd4U21hcnRNb2RhbFNlcnZpY2U6IE5neFNtYXJ0TW9kYWxTZXJ2aWNlKSB7fVxyXG5cclxuICBzaG9wU2VsZWN0ZWQoc2hvcCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNob3AuZW1pdChzaG9wKTtcclxuICAgIHRoaXMubmd4U21hcnRNb2RhbFNlcnZpY2UuZ2V0TW9kYWwoJ3Nob3BNb2RhbCcpLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTaG9wU2VhcmNoKGUpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvcHlBdmFpbGFibGVTaG9wcy5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuY29weUF2YWlsYWJsZVNob3BzID0gWy4uLnRoaXMuYXZhaWxhYmxlU2hvcHNdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG9wU2VhcmNoVmFsdWUgPSBlICYmIGUudGFyZ2V0ID8gZS50YXJnZXQudmFsdWUgOiAnJztcclxuICAgIHRoaXMuYXZhaWxhYmxlU2hvcHMgPSB0aGlzLmNvcHlBdmFpbGFibGVTaG9wcy5maWx0ZXIoKHNob3ApID0+XHJcbiAgICAgIHNob3AuZGVzY3JpcHRpb25cclxuICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgIC5pbmNsdWRlcyh0aGlzLnNob3BTZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPG5neC1zbWFydC1tb2RhbCAjc2hvcE1vZGFsIGlkZW50aWZpZXI9XCJzaG9wTW9kYWxcIj5cclxuICAgIDxoMSBjbGFzcz1cInNob3BTZWxlY3RcIj5TaG9wIFNlbGVjdDwvaDE+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXZhaWxhYmxlU2hvcHNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXZhaWxhYmxlU2hvcHMubGVuZ3RoID4gOCB8fCBjb3B5QXZhaWxhYmxlU2hvcHMubGVuZ3RoID4gOFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzaG9wU2VhcmNoSW5wdXRcIiB0eXBlPVwic2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgaWQ9XCJzZWFyY2hcIiBbdmFsdWVdPVwic2hvcFNlYXJjaFZhbHVlXCJcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkPVwiZmFsc2VcIiBbcGxhY2Vob2xkZXJdPVwic2hvcFNlYXJjaFBsYWNlaG9sZGVyXCIgKGtleXVwKT1cImhhbmRsZVNob3BTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2hvcFNlYXJjaCgkZXZlbnQpXCIgLz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hvcEJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNob3BCdXR0b25cIiAqbmdGb3I9XCJsZXQgc2hvcCBvZiBhdmFpbGFibGVTaG9wc1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCInbmF2LXNob3AnICsgc2hvcC5pZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvcFNlbGVjdGVkKHNob3ApXCI+e3tzaG9wLmRlc2NyaXB0aW9ufX08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25neC1zbWFydC1tb2RhbD4iXX0=