barsa-tiles 2.1.1 → 2.1.2

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 (72) hide show
  1. package/fesm2022/barsa-tiles.mjs +59 -48
  2. package/fesm2022/barsa-tiles.mjs.map +1 -1
  3. package/package.json +3 -5
  4. package/esm2022/barsa-tiles.mjs +0 -5
  5. package/esm2022/lib/action-item/action-item.component.mjs +0 -17
  6. package/esm2022/lib/action-links.pipe.mjs +0 -16
  7. package/esm2022/lib/actions-link/actions-link.component.mjs +0 -49
  8. package/esm2022/lib/app-finder/app-finder.component.mjs +0 -52
  9. package/esm2022/lib/app-finder-app-list/app-finder-app-list.component.mjs +0 -39
  10. package/esm2022/lib/app-finder-group/app-finder-group.component.mjs +0 -41
  11. package/esm2022/lib/app-finder.service.mjs +0 -121
  12. package/esm2022/lib/barsa-pin-app/barsa-pin-app.component.mjs +0 -34
  13. package/esm2022/lib/barsa-shellbar/barsa-shellbar.component.mjs +0 -213
  14. package/esm2022/lib/barsa-tile-group-page/barsa-tile-group-page.component.mjs +0 -71
  15. package/esm2022/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.mjs +0 -45
  16. package/esm2022/lib/barsa-tiles-routing.module.mjs +0 -58
  17. package/esm2022/lib/barsa-tiles.module.mjs +0 -278
  18. package/esm2022/lib/change-app-tile/change-app-tile.component.mjs +0 -46
  19. package/esm2022/lib/create-app-group/create-app-group.component.mjs +0 -43
  20. package/esm2022/lib/directives/emptylist.directive.mjs +0 -36
  21. package/esm2022/lib/feed-tile/feed-tile.component.mjs +0 -31
  22. package/esm2022/lib/footer-edit-tile/footer-edit-tile.component.mjs +0 -13
  23. package/esm2022/lib/footer-tile/footer-tile.component.mjs +0 -22
  24. package/esm2022/lib/form-app-finder/form-app-finder.component.mjs +0 -95
  25. package/esm2022/lib/form-tile/form-tile.component.mjs +0 -34
  26. package/esm2022/lib/logo-tile/logo-tile.component.mjs +0 -23
  27. package/esm2022/lib/micro-tile-chart-area/micro-tile-chart-area.component.mjs +0 -40
  28. package/esm2022/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.mjs +0 -16
  29. package/esm2022/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +0 -26
  30. package/esm2022/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.mjs +0 -20
  31. package/esm2022/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.mjs +0 -31
  32. package/esm2022/lib/micro-tile-chart-line/micro-tile-chart-line.component.mjs +0 -32
  33. package/esm2022/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.mjs +0 -27
  34. package/esm2022/lib/models/app-tile-footer-section.mjs +0 -2
  35. package/esm2022/lib/models/app-tile-footer.mjs +0 -2
  36. package/esm2022/lib/models/app-tile-group-pin.mjs +0 -2
  37. package/esm2022/lib/models/base-bt-tile-component.mjs +0 -26
  38. package/esm2022/lib/models/base-tile-component.mjs +0 -58
  39. package/esm2022/lib/models/base-tile-setting.mjs +0 -2
  40. package/esm2022/lib/models/feed-tile-setting.mjs +0 -2
  41. package/esm2022/lib/models/index.mjs +0 -14
  42. package/esm2022/lib/models/logo-tile-setting.mjs +0 -2
  43. package/esm2022/lib/models/micro-tile-chart-bullet-setting.mjs +0 -2
  44. package/esm2022/lib/models/news-tile-setting.mjs +0 -2
  45. package/esm2022/lib/models/numeric-tile-setting.mjs +0 -2
  46. package/esm2022/lib/models/profile-tile-setting.mjs +0 -2
  47. package/esm2022/lib/models/tile-setting.mjs +0 -2
  48. package/esm2022/lib/models/user-portal-settings.mjs +0 -2
  49. package/esm2022/lib/news-tile/news-tile.component.mjs +0 -53
  50. package/esm2022/lib/notification-group/notification-group.component.mjs +0 -116
  51. package/esm2022/lib/notification-group-header/notification-group-header.component.mjs +0 -38
  52. package/esm2022/lib/numeric-tile/numeric-tile.component.mjs +0 -64
  53. package/esm2022/lib/pin-tile/pin-tile.component.mjs +0 -110
  54. package/esm2022/lib/pipes/group-tiles.pipe.mjs +0 -31
  55. package/esm2022/lib/pipes/home-group.pipe.mjs +0 -17
  56. package/esm2022/lib/pipes/tile-home-filter.pipe.mjs +0 -28
  57. package/esm2022/lib/pipes/tile-prop.pipe.mjs +0 -50
  58. package/esm2022/lib/popover-app-finder/filter-apps-grouped.pipe.mjs +0 -36
  59. package/esm2022/lib/popover-app-finder/popover-app-finder.component.mjs +0 -102
  60. package/esm2022/lib/profile-tile/profile-tile.component.mjs +0 -34
  61. package/esm2022/lib/shellbar/shellbar.component.mjs +0 -235
  62. package/esm2022/lib/simple-tile/simple-tile.component.mjs +0 -27
  63. package/esm2022/lib/tile/tile.component.mjs +0 -95
  64. package/esm2022/lib/tile-renderer.directive.mjs +0 -82
  65. package/esm2022/lib/tile-size.directive.mjs +0 -30
  66. package/esm2022/lib/tile-style.directive.mjs +0 -29
  67. package/esm2022/lib/tiles-viewer/tiles-viewer.component.mjs +0 -188
  68. package/esm2022/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +0 -173
  69. package/esm2022/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +0 -89
  70. package/esm2022/lib/tiles-viewer.service.mjs +0 -130
  71. package/esm2022/lib/tiles.service.mjs +0 -614
  72. package/esm2022/public-api.mjs +0 -49
@@ -1,235 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject, TemplateRef, ViewChild } from '@angular/core';
2
- import { forkJoin, of, Subject } from 'rxjs';
3
- import { debounceTime, map, takeUntil, tap } from 'rxjs/operators';
4
- import { ComboboxComponent } from '@fundamental-ngx/core';
5
- import { BaseComponent, BarsaApi, APP_VERSION, getDeviceIsMobile, getDeviceIsDesktop, getDeviceIsTablet } from 'barsa-novin-ray-core';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "barsa-novin-ray-core";
8
- import * as i2 from "../tiles.service";
9
- import * as i3 from "@angular/platform-browser";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@fundamental-ngx/core/button";
12
- import * as i6 from "barsa-sap-ui";
13
- import * as i7 from "../barsa-shellbar/barsa-shellbar.component";
14
- export class ShellbarComponent extends BaseComponent {
15
- get repIdProfileImage() {
16
- return this.shellbarData?.ProfileImageReport?.Id;
17
- }
18
- get subtitle() {
19
- if (!this.shellbarData) {
20
- return '';
21
- }
22
- if (this._portalService.deviceSize === 's' && this.shellbarData.MobileSubtitle) {
23
- return this.shellbarData.MobileSubtitle
24
- ? `${this.shellbarData.MobileSubtitle} ${typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''}`
25
- : '';
26
- }
27
- return this.shellbarData.Subtitle
28
- ? `${this.shellbarData?.Subtitle} ${typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''}`
29
- : '';
30
- }
31
- get logo() {
32
- return this.shellbarData?.Logo;
33
- }
34
- get cssStyles() {
35
- return this.shellbarData?.CssStyles;
36
- }
37
- get actions() {
38
- return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];
39
- }
40
- get sidebarSettings() {
41
- if (!this.shellbarData?.SidebarReport?.Id) {
42
- return null;
43
- }
44
- return {
45
- RelatedReport: { Id: this.shellbarData?.SidebarReport?.Id, $Caption: '' },
46
- RowClick: '',
47
- DataOnly: false
48
- };
49
- }
50
- get userMenu() {
51
- const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');
52
- const items = moDataList ? [...moDataList] : [];
53
- if (!items.length) {
54
- return [];
55
- }
56
- items.forEach((c) => {
57
- c.text = this._bbbTranslatePipe.transform(c.text);
58
- c.callback = new Function(c.Code + this.bodyClick);
59
- });
60
- if (!this.IsUserAnonymous && this.IsUserLoggedIn) {
61
- items.splice(0, 0, { Id: '-1', $Caption: '', text: BarsaApi.LoginFormData.UserDisplayName });
62
- }
63
- return this.settings?.HideUserMenu ? [] : items;
64
- }
65
- get productSwitcher() {
66
- return (this.shellbarData?.ProductSwitchItems?.MoDataList ?? []);
67
- }
68
- get multiLanguages() {
69
- return this.shellbarData?.MultiLanguages;
70
- }
71
- get productMenuItems() {
72
- const items = this.shellbarData?.ProductMenuItems?.MoDataList ?? [];
73
- items.forEach((c) => (c.callback = new Function(c.Code + this.bodyClick)));
74
- return items;
75
- }
76
- get IsUserLoggedIn() {
77
- return BarsaApi.LoginFormData.IsUserLoggedIn;
78
- }
79
- get IsUserAnonymous() {
80
- return BarsaApi.LoginFormData.IsAnonymous;
81
- }
82
- constructor(_bbbTranslatePipe, _portalService, _breadCrumbService, _tilesService, _cdr, _domSanitizer, _notificationService, appVersion) {
83
- super();
84
- this._bbbTranslatePipe = _bbbTranslatePipe;
85
- this._portalService = _portalService;
86
- this._breadCrumbService = _breadCrumbService;
87
- this._tilesService = _tilesService;
88
- this._cdr = _cdr;
89
- this._domSanitizer = _domSanitizer;
90
- this._notificationService = _notificationService;
91
- this.appVersion = appVersion;
92
- this.isOpenNotificatoin = false;
93
- this.user = {
94
- initials: 'WW',
95
- colorAccent: 1
96
- };
97
- this.notifcationLoaded = false;
98
- this._viewedNotifications$ = new Subject();
99
- this._viewedNotifications = [];
100
- this.bodyClick = ';$("body").click()';
101
- this.isMobile = getDeviceIsMobile();
102
- this.isDesktop = getDeviceIsDesktop();
103
- this.isTablet = getDeviceIsTablet();
104
- this.isServiceDesk = false;
105
- this.isOpenQuickAccess = false;
106
- this.onOpenNotification = () => {
107
- this.isOpenNotificatoin = true;
108
- this._handleOpenNotificationPanel();
109
- };
110
- this.onCultureChanged = (culture) => {
111
- this._changeCulture(culture);
112
- };
113
- this.userLoggedIn$ = this._portalService.userLoggedIn$;
114
- this.notifiationCountLoaded$ = this._notificationService.notificationCountLoaded$;
115
- this._viewedNotifications$
116
- .pipe(takeUntil(this._onDestroy$), tap((item) => this._viewedNotifications.push(item)), map((item) => this._viewedNotifications), debounceTime(2000), map((items) => items.map((item) => item.Tag)))
117
- .subscribe((tags) => {
118
- this._viewedNotifications = [];
119
- this._notificationService.setNotificationViewed(tags);
120
- });
121
- }
122
- ngOnInit() {
123
- super.ngOnInit();
124
- this.isServiceDesk = BarsaApi.LoginFormData.IsServiceDesk;
125
- this.cultures = BarsaApi.LoginFormData.Cultures;
126
- this.cssUrl$ = this._portalService.cssUrl$;
127
- this.cssVariableUrl$ = this._portalService.cssVariableUrl$;
128
- this.cssCustomUrl$ = this._portalService.cssCustomUrl$;
129
- this.loginRouterLink$ = this._portalService.loginRoute$;
130
- this.notificationsCount$ = this._notificationService.notificationCount$;
131
- this._notificationService.notificationCount$.subscribe(() => this._cdr.detectChanges());
132
- this.notificationLoading$ = this._notificationService.notificationLoading$;
133
- this.notifications$ = this._notificationService.notifications$.pipe(takeUntil(this._onDestroy$), map((notifications) => this._mapNotifications(notifications)));
134
- BarsaApi.Bw.SetUserPortalSettings = (userPortalSettings) => {
135
- this._portalService.setUserPortalSettings(userPortalSettings);
136
- };
137
- BarsaApi.Bw.SetShellbarSubtitle = (calcSubtitle) => {
138
- this.shellbarData.calcSubtitle = calcSubtitle;
139
- this._cdr.detectChanges();
140
- };
141
- this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$));
142
- this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {
143
- if (breadCrumbs.length > 0) {
144
- this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;
145
- }
146
- this._cdr.detectChanges();
147
- });
148
- this.userProfileImageUrl$ = this._tilesService.userProfileImageUrl$;
149
- this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {
150
- this.shellbarData = mo;
151
- if (this.IsUserLoggedIn) {
152
- this._tilesService.loadUserProfileImage(this.repIdProfileImage);
153
- }
154
- // this._cdr.detectChanges();
155
- forkJoin([of(this.productMenuItems), of([])]) // to append user defined
156
- .pipe(takeUntil(this._onDestroy$), map(([s1, s2]) => [...s1, ...s2]))
157
- .subscribe((c) => {
158
- this.productMenuItems1 = c;
159
- this._cdr.detectChanges();
160
- });
161
- });
162
- if (this.settings?.AllowAnonymous) {
163
- this._tilesService.loadShellbar();
164
- }
165
- this._portalService.userLoggedIn$.pipe(takeUntil(this._onDestroy$)).subscribe((loggedIn) => {
166
- if (!loggedIn) {
167
- return;
168
- }
169
- this._tilesService.loadShellbar();
170
- this._notificationService.loadUnreadNotificationCount();
171
- });
172
- }
173
- onCultureChange(culture) {
174
- this._changeCulture(culture);
175
- }
176
- onShowNotification(e) {
177
- this.isOpenNotificatoin = false;
178
- this._notificationService.ShowNotificationRelatedMo(e);
179
- }
180
- onNotificationItemViewed(viewedMo) {
181
- this._viewedNotifications$.next(viewedMo);
182
- }
183
- onRemoveNotifications(e) {
184
- this._notificationService.removeNotification(e.items);
185
- }
186
- onNotificationAction(e) {
187
- this._portalService.ExecuteNotificationAction(e.item.Tag, e.btn.Title);
188
- }
189
- onNotificationLoadMore() {
190
- this._notificationService.loadMore();
191
- }
192
- onNotificationWorkflowChoiceSuccess(result) { }
193
- onNotificationWorkflowChoiceFailed(err) { }
194
- onHandleOpenNotificationPanel() {
195
- this._handleOpenNotificationPanel();
196
- }
197
- _handleOpenNotificationPanel() {
198
- if (this.notifcationLoaded) {
199
- return;
200
- }
201
- this.notifcationLoaded = true;
202
- this._notificationService.loadNotifications();
203
- }
204
- _mapNotifications(notifications) {
205
- return notifications.map((notification) => ({
206
- ...notification,
207
- contentSafeHtml: notification.Content
208
- ? this._domSanitizer.bypassSecurityTrustHtml(notification.Content)
209
- : ''
210
- }));
211
- }
212
- _changeCulture(culture /* culture sample :English */) {
213
- BarsaApi.Bw.SetCultureByDisplayName(culture);
214
- BarsaApi.Bw.NavigateTo('/');
215
- }
216
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellbarComponent, deps: [{ token: i1.BbbTranslatePipe }, { token: i1.PortalService }, { token: i1.BreadcrumbService }, { token: i2.TilesService }, { token: i0.ChangeDetectorRef }, { token: i3.DomSanitizer }, { token: i1.NotificationService }, { token: APP_VERSION }], target: i0.ɵɵFactoryTarget.Component }); }
217
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssVariableUrl]=\"cssVariableUrl$ | async\"\n [userProfileImageUrl]=\"userProfileImageUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [cssStyle]=\"cssStyles\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssStyle]=\"cssStyles\"\n [cssVariableUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [showExtraButton]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n @for(btn of userMenu;track btn){\n <button\n class=\"extra_btn\"\n fd-button\n [label]=\"btn.text\"\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\n fdType=\"emphasized\"\n (click)=\"btn.callback()\"\n ></button>\n }\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bnrc-report-container *ngIf=\"sidebarSettings\" [settings]=\"sidebarSettings\"> </bnrc-report-container>\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\n</ng-template>\n", styles: [":host{display:block;position:relative}:host .extra_btn{background-color:transparent;border-color:transparent}:host #menu_btn{background-color:transparent;border-color:transparent}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "directive", type: i1.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i7.BarsaShellbarComponent, selector: "bt-barsa-shellbar", inputs: ["cssCustomUrl", "cssUrl", "cssVariableUrl", "multiLanguages", "userLoggedIn", "settings", "productMenuControl", "deviceSize", "cultures", "shellbarData", "notificationCount", "notifcationLoaded", "notificationLoading", "notifications", "productMenuItems1", "bodyClick", "logo", "actions", "userMenu", "productSwitcher", "subtitle", "isMobile", "hideShellbarActions", "showExtraButton", "isTablet", "userProfileImageUrl", "isDesktop", "isServiceDesk", "isOpenQuickAccess", "sideMenuTemplate"], outputs: ["isOpenQuickAccessChanged", "openNotificationPanel", "openQuickAccessPanel", "cultureChanged", "notificationLoadMore", "removeNotification", "notifiationActionClick", "notificationViewed"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
218
- }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellbarComponent, decorators: [{
220
- type: Component,
221
- args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssVariableUrl]=\"cssVariableUrl$ | async\"\n [userProfileImageUrl]=\"userProfileImageUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [cssStyle]=\"cssStyles\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssStyle]=\"cssStyles\"\n [cssVariableUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [showExtraButton]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n @for(btn of userMenu;track btn){\n <button\n class=\"extra_btn\"\n fd-button\n [label]=\"btn.text\"\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\n fdType=\"emphasized\"\n (click)=\"btn.callback()\"\n ></button>\n }\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bnrc-report-container *ngIf=\"sidebarSettings\" [settings]=\"sidebarSettings\"> </bnrc-report-container>\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\n</ng-template>\n", styles: [":host{display:block;position:relative}:host .extra_btn{background-color:transparent;border-color:transparent}:host #menu_btn{background-color:transparent;border-color:transparent}\n"] }]
222
- }], ctorParameters: () => [{ type: i1.BbbTranslatePipe }, { type: i1.PortalService }, { type: i1.BreadcrumbService }, { type: i2.TilesService }, { type: i0.ChangeDetectorRef }, { type: i3.DomSanitizer }, { type: i1.NotificationService }, { type: undefined, decorators: [{
223
- type: Inject,
224
- args: [APP_VERSION]
225
- }] }], propDecorators: { comboboxComponent: [{
226
- type: ViewChild,
227
- args: [ComboboxComponent]
228
- }], popoverComponent: [{
229
- type: ViewChild,
230
- args: ['popoverComponent', { static: false }]
231
- }], _notificationsDialog: [{
232
- type: ViewChild,
233
- args: ['notificationsDialog', { static: true, read: TemplateRef }]
234
- }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9zaGVsbGJhci9zaGVsbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlCQUFpQixFQUtwQixNQUFNLHVCQUF1QixDQUFDO0FBRy9CLE9BQU8sRUFDSCxhQUFhLEVBQ2IsUUFBUSxFQU1SLFdBQVcsRUFNWCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNwQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUF1QjlCLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBbUNoRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsY0FB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c0JBQWpFLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUN1QixvQkFBb0I7c0JBQTFGLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBDb21ib2JveENvbXBvbmVudCxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTd2l0Y2hJdGVtLFxuICAgIFNoZWxsYmFyTWVudUl0ZW0sXG4gICAgU2hlbGxiYXJVc2VyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgQmFyc2FBcGksXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBGaWxlUGljdHVyZUluZm9Nb2RlbCxcbiAgICBNb0ZvclJlcG9ydE1vZGVsLFxuICAgIFBvcnRhbFNlcnZpY2UsXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgQVBQX1ZFUlNJT04sXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25JdGVtLFxuICAgIE5vdGlmaWNhdGlvbkFjdGlvbixcbiAgICBCYmJUcmFuc2xhdGVQaXBlLFxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBnZXREZXZpY2VJc01vYmlsZSxcbiAgICBnZXREZXZpY2VJc0Rlc2t0b3AsXG4gICAgZ2V0RGV2aWNlSXNUYWJsZXRcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5pbXBvcnQgeyBUaWxlc1NlcnZpY2UgfSBmcm9tICcuLi90aWxlcy5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFNoZWxsYmFyU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENzc1N0eWxlczogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgY2FsY1N1YnRpdGxlOiBzdHJpbmc7XG4gICAgbG9nbzogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XG4gICAgUHJvZHVjdFN3aXRjaEl0ZW1zOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIFByb2R1Y3RNZW51SXRlbXM6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgVXNlck1lbnVJdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBBY3Rpb25JdGVtczogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBTaWRlYmFyUmVwb3J0OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIFByb2ZpbGVJbWFnZVJlcG9ydDogTWV0YW9iamVjdERhdGFNb2RlbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC1zaGVsbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaGVsbGJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZChDb21ib2JveENvbXBvbmVudCkgY29tYm9ib3hDb21wb25lbnQ6IENvbWJvYm94Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb21wb25lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wb3ZlckNvbXBvbmVudDogUG9wb3ZlckNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdub3RpZmljYXRpb25zRGlhbG9nJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9ub3RpZmljYXRpb25zRGlhbG9nOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHNoZWxsYmFyRGF0YTogU2hlbGxiYXJTZXR0aW5nO1xuICAgIHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XG4gICAgcHJvZHVjdE1lbnVDb250cm9sOiBzdHJpbmc7XG4gICAgdXNlcjogU2hlbGxiYXJVc2VyID0ge1xuICAgICAgICBpbml0aWFsczogJ1dXJyxcbiAgICAgICAgY29sb3JBY2NlbnQ6IDFcbiAgICB9O1xuXG4gICAgcHJvZHVjdE1lbnVJdGVtczE6IFNoZWxsYmFyTWVudUl0ZW1bXTtcbiAgICB1c2VyTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGNzc1VybCQ6IE9ic2VydmFibGU8U2FmZVJlc291cmNlVXJsIHwgbnVsbD47XG4gICAgY3NzVmFyaWFibGVVcmwkOiBPYnNlcnZhYmxlPFNhZmVSZXNvdXJjZVVybCB8IG51bGw+O1xuICAgIGNzc0N1c3RvbVVybCQ6IE9ic2VydmFibGU8U2FmZVJlc291cmNlVXJsIHwgbnVsbD47XG4gICAgY3VsdHVyZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgbm90aWZpY2F0aW9uc0NvdW50JDogT2JzZXJ2YWJsZTx7IHVucmVhZDogbnVtYmVyOyBhbGw6IG51bWJlciB9PjtcbiAgICBub3RpZmljYXRpb25zJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25JdGVtW10+O1xuICAgIG5vdGlmaWNhdGlvbkxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIG5vdGlmY2F0aW9uTG9hZGVkID0gZmFsc2U7XG4gICAgbm90aWZpYXRpb25Db3VudExvYWRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgX3ZpZXdlZE5vdGlmaWNhdGlvbnMkID0gbmV3IFN1YmplY3Q8Tm90aWZpY2F0aW9uSXRlbT4oKTtcbiAgICBfdmlld2VkTm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdID0gW107XG4gICAgYm9keUNsaWNrID0gJzskKFwiYm9keVwiKS5jbGljaygpJztcbiAgICBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XG4gICAgaXNEZXNrdG9wID0gZ2V0RGV2aWNlSXNEZXNrdG9wKCk7XG4gICAgaXNUYWJsZXQgPSBnZXREZXZpY2VJc1RhYmxldCgpO1xuICAgIGxvZ2luUm91dGVyTGluayQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBpc1NlcnZpY2VEZXNrID0gZmFsc2U7XG4gICAgaXNPcGVuUXVpY2tBY2Nlc3MgPSBmYWxzZTtcbiAgICB1c2VyUHJvZmlsZUltYWdlVXJsJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcbiAgICBnZXQgcmVwSWRQcm9maWxlSW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5Qcm9maWxlSW1hZ2VSZXBvcnQ/LklkO1xuICAgIH1cbiAgICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLnNoZWxsYmFyRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUgPT09ICdzJyAmJiB0aGlzLnNoZWxsYmFyRGF0YS5Nb2JpbGVTdWJ0aXRsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhLk1vYmlsZVN1YnRpdGxlXG4gICAgICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YS5Nb2JpbGVTdWJ0aXRsZX0gJHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LmNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWxsYmFyRGF0YS5TdWJ0aXRsZVxuICAgICAgICAgICAgPyBgJHt0aGlzLnNoZWxsYmFyRGF0YT8uU3VidGl0bGV9ICR7XG4gICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaGVsbGJhckRhdGE/LmNhbGNTdWJ0aXRsZSA9PT0gJ3N0cmluZycgPyB0aGlzLnNoZWxsYmFyRGF0YS5jYWxjU3VidGl0bGUgOiAnJ1xuICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG4gICAgZ2V0IGxvZ28oKTogeyBGaWxlSWQ6IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hlbGxiYXJEYXRhPy5Mb2dvO1xuICAgIH1cbiAgICBnZXQgY3NzU3R5bGVzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWxsYmFyRGF0YT8uQ3NzU3R5bGVzO1xuICAgIH1cbiAgICBnZXQgYWN0aW9ucygpOiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5IaWRlVXNlck1lbnUgPyBbXSA6IHRoaXMuc2hlbGxiYXJEYXRhPy5BY3Rpb25JdGVtcz8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICB9XG4gICAgZ2V0IHNpZGViYXJTZXR0aW5ncygpOiBudWxsIHwgYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLnNoZWxsYmFyRGF0YT8uU2lkZWJhclJlcG9ydD8uSWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBSZWxhdGVkUmVwb3J0OiB7IElkOiB0aGlzLnNoZWxsYmFyRGF0YT8uU2lkZWJhclJlcG9ydD8uSWQsICRDYXB0aW9uOiAnJyB9LFxuICAgICAgICAgICAgUm93Q2xpY2s6ICcnLFxuICAgICAgICAgICAgRGF0YU9ubHk6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldCB1c2VyTWVudSgpOiB7IHRleHQ6IHN0cmluZzsgY2FsbGJhY2s6ICgpID0+IHZvaWQgfVtdIHtcbiAgICAgICAgY29uc3QgbW9EYXRhTGlzdCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuc2hlbGxiYXJEYXRhLCAnVXNlck1lbnVJdGVtcy5Nb0RhdGFMaXN0Jyk7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gbW9EYXRhTGlzdCA/IFsuLi5tb0RhdGFMaXN0XSA6IFtdO1xuICAgICAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgIGMudGV4dCA9IHRoaXMuX2JiYlRyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKGMudGV4dCk7XG4gICAgICAgICAgICBjLmNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKGMuQ29kZSArIHRoaXMuYm9keUNsaWNrKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghdGhpcy5Jc1VzZXJBbm9ueW1vdXMgJiYgdGhpcy5Jc1VzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgaXRlbXMuc3BsaWNlKDAsIDAsIHsgSWQ6ICctMScsICRDYXB0aW9uOiAnJywgdGV4dDogQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Vc2VyRGlzcGxheU5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M/LkhpZGVVc2VyTWVudSA/IFtdIDogKGl0ZW1zIGFzIGFueSk7XG4gICAgfVxuICAgIGdldCBwcm9kdWN0U3dpdGNoZXIoKTogUHJvZHVjdFN3aXRjaEl0ZW1bXSB7XG4gICAgICAgIHJldHVybiAodGhpcy5zaGVsbGJhckRhdGE/LlByb2R1Y3RTd2l0Y2hJdGVtcz8uTW9EYXRhTGlzdCA/PyBbXSkgYXMgdW5rbm93biBhcyBQcm9kdWN0U3dpdGNoSXRlbVtdO1xuICAgIH1cbiAgICBnZXQgbXVsdGlMYW5ndWFnZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoZWxsYmFyRGF0YT8uTXVsdGlMYW5ndWFnZXM7XG4gICAgfVxuICAgIGdldCBwcm9kdWN0TWVudUl0ZW1zKCk6IFNoZWxsYmFyTWVudUl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zaGVsbGJhckRhdGE/LlByb2R1Y3RNZW51SXRlbXM/Lk1vRGF0YUxpc3QgPz8gW107XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGMpID0+IChjLmNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKGMuQ29kZSArIHRoaXMuYm9keUNsaWNrKSkpO1xuICAgICAgICByZXR1cm4gaXRlbXMgYXMgdW5rbm93biBhcyBTaGVsbGJhck1lbnVJdGVtW107XG4gICAgfVxuICAgIGdldCBJc1VzZXJMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW47XG4gICAgfVxuICAgIGdldCBJc1VzZXJBbm9ueW1vdXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9iYmJUcmFuc2xhdGVQaXBlOiBCYmJUcmFuc2xhdGVQaXBlLFxuICAgICAgICBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9icmVhZENydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChBUFBfVkVSU0lPTikgcHVibGljIGFwcFZlcnNpb246IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMudXNlckxvZ2dlZEluJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UudXNlckxvZ2dlZEluJDtcbiAgICAgICAgdGhpcy5ub3RpZmlhdGlvbkNvdW50TG9hZGVkJCA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9uQ291bnRMb2FkZWQkO1xuICAgICAgICB0aGlzLl92aWV3ZWROb3RpZmljYXRpb25zJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIHRhcCgoaXRlbSkgPT4gdGhpcy5fdmlld2VkTm90aWZpY2F0aW9ucy5wdXNoKGl0ZW0pKSxcbiAgICAgICAgICAgICAgICBtYXAoKGl0ZW0pID0+IHRoaXMuX3ZpZXdlZE5vdGlmaWNhdGlvbnMpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDAwKSxcbiAgICAgICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uVGFnKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRhZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3ZWROb3RpZmljYXRpb25zID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5zZXROb3RpZmljYXRpb25WaWV3ZWQodGFncyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmlzU2VydmljZURlc2sgPSBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzU2VydmljZURlc2s7XG5cbiAgICAgICAgdGhpcy5jdWx0dXJlcyA9IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZXM7XG4gICAgICAgIHRoaXMuY3NzVXJsJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuY3NzVXJsJDtcbiAgICAgICAgdGhpcy5jc3NWYXJpYWJsZVVybCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmNzc1ZhcmlhYmxlVXJsJDtcbiAgICAgICAgdGhpcy5jc3NDdXN0b21VcmwkID0gdGhpcy5fcG9ydGFsU2VydmljZS5jc3NDdXN0b21VcmwkO1xuICAgICAgICB0aGlzLmxvZ2luUm91dGVyTGluayQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxvZ2luUm91dGUkO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDb3VudCQgPSB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLm5vdGlmaWNhdGlvbkNvdW50JDtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25Db3VudCQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkxvYWRpbmckID0gdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25Mb2FkaW5nJDtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zJCA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uubm90aWZpY2F0aW9ucyQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgIG1hcCgobm90aWZpY2F0aW9ucykgPT4gdGhpcy5fbWFwTm90aWZpY2F0aW9ucyhub3RpZmljYXRpb25zKSlcbiAgICAgICAgKTtcbiAgICAgICAgQmFyc2FBcGkuQncuU2V0VXNlclBvcnRhbFNldHRpbmdzID0gKHVzZXJQb3J0YWxTZXR0aW5nczogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5zZXRVc2VyUG9ydGFsU2V0dGluZ3ModXNlclBvcnRhbFNldHRpbmdzKTtcbiAgICAgICAgfTtcbiAgICAgICAgQmFyc2FBcGkuQncuU2V0U2hlbGxiYXJTdWJ0aXRsZSA9IChjYWxjU3VidGl0bGU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaGVsbGJhckRhdGEuY2FsY1N1YnRpdGxlID0gY2FsY1N1YnRpdGxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMuX2JyZWFkQ3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChicmVhZENydW1icykgPT4ge1xuICAgICAgICAgICAgaWYgKGJyZWFkQ3J1bWJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RNZW51Q29udHJvbCA9IGJyZWFkQ3J1bWJzW2JyZWFkQ3J1bWJzLmxlbmd0aCAtIDFdLmxhYmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudXNlclByb2ZpbGVJbWFnZVVybCQgPSB0aGlzLl90aWxlc1NlcnZpY2UudXNlclByb2ZpbGVJbWFnZVVybCQ7XG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zaGVsbGJhciQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hlbGxiYXJEYXRhID0gbW8gYXMgU2hlbGxiYXJTZXR0aW5nO1xuICAgICAgICAgICAgaWYgKHRoaXMuSXNVc2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2UubG9hZFVzZXJQcm9maWxlSW1hZ2UodGhpcy5yZXBJZFByb2ZpbGVJbWFnZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICBmb3JrSm9pbihbb2YodGhpcy5wcm9kdWN0TWVudUl0ZW1zKSwgb2YoW10pXSkgLy8gdG8gYXBwZW5kIHVzZXIgZGVmaW5lZFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW3MxLCBzMl0pID0+IFsuLi5zMSwgLi4uczJdKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdE1lbnVJdGVtczEgPSBjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3M/LkFsbG93QW5vbnltb3VzKSB7XG4gICAgICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2UubG9hZFNoZWxsYmFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS51c2VyTG9nZ2VkSW4kLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGxvZ2dlZEluKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLmxvYWRTaGVsbGJhcigpO1xuICAgICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5sb2FkVW5yZWFkTm90aWZpY2F0aW9uQ291bnQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DdWx0dXJlQ2hhbmdlKGN1bHR1cmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlQ3VsdHVyZShjdWx0dXJlKTtcbiAgICB9XG4gICAgb25TaG93Tm90aWZpY2F0aW9uKGU6IHsgdGFnOiBzdHJpbmc7IG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsOyBuYW1hOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3Blbk5vdGlmaWNhdG9pbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLlNob3dOb3RpZmljYXRpb25SZWxhdGVkTW8oZSk7XG4gICAgfVxuICAgIG9uTm90aWZpY2F0aW9uSXRlbVZpZXdlZCh2aWV3ZWRNbzogTm90aWZpY2F0aW9uSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3ZWROb3RpZmljYXRpb25zJC5uZXh0KHZpZXdlZE1vKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZU5vdGlmaWNhdGlvbnMoZTogeyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdOyBzaWxlbnQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLnJlbW92ZU5vdGlmaWNhdGlvbihlLml0ZW1zKTtcbiAgICB9XG4gICAgb25PcGVuTm90aWZpY2F0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzT3Blbk5vdGlmaWNhdG9pbiA9IHRydWU7XG4gICAgICAgIHRoaXMuX2hhbmRsZU9wZW5Ob3RpZmljYXRpb25QYW5lbCgpO1xuICAgIH07XG4gICAgb25Ob3RpZmljYXRpb25BY3Rpb24oZTogeyBpdGVtOiBOb3RpZmljYXRpb25JdGVtOyBidG46IE5vdGlmaWNhdGlvbkFjdGlvbiB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UuRXhlY3V0ZU5vdGlmaWNhdGlvbkFjdGlvbihlLml0ZW0uVGFnLCBlLmJ0bi5UaXRsZSk7XG4gICAgfVxuICAgIG9uQ3VsdHVyZUNoYW5nZWQgPSAoY3VsdHVyZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuX2NoYW5nZUN1bHR1cmUoY3VsdHVyZSk7XG4gICAgfTtcbiAgICBvbk5vdGlmaWNhdGlvbkxvYWRNb3JlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLmxvYWRNb3JlKCk7XG4gICAgfVxuICAgIG9uTm90aWZpY2F0aW9uV29ya2Zsb3dDaG9pY2VTdWNjZXNzKHJlc3VsdCk6IHZvaWQge31cbiAgICBvbk5vdGlmaWNhdGlvbldvcmtmbG93Q2hvaWNlRmFpbGVkKGVycik6IHZvaWQge31cblxuICAgIG9uSGFuZGxlT3Blbk5vdGlmaWNhdGlvblBhbmVsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuTm90aWZpY2F0aW9uUGFuZWwoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oYW5kbGVPcGVuTm90aWZpY2F0aW9uUGFuZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5vdGlmY2F0aW9uTG9hZGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub3RpZmNhdGlvbkxvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2UubG9hZE5vdGlmaWNhdGlvbnMoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfbWFwTm90aWZpY2F0aW9ucyhub3RpZmljYXRpb25zKTogTm90aWZpY2F0aW9uSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbnMubWFwKChub3RpZmljYXRpb24pID0+ICh7XG4gICAgICAgICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICAgICAgICBjb250ZW50U2FmZUh0bWw6IG5vdGlmaWNhdGlvbi5Db250ZW50XG4gICAgICAgICAgICAgICAgPyB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm90aWZpY2F0aW9uLkNvbnRlbnQpXG4gICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoYW5nZUN1bHR1cmUoY3VsdHVyZTogc3RyaW5nIC8qIGN1bHR1cmUgc2FtcGxlIDpFbmdsaXNoICovKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3LlNldEN1bHR1cmVCeURpc3BsYXlOYW1lKGN1bHR1cmUpO1xuICAgICAgICBCYXJzYUFwaS5Cdy5OYXZpZ2F0ZVRvKCcvJyk7XG4gICAgfVxufVxuIiwiQGlmICh1c2VyTG9nZ2VkSW4kIHwgYXN5bmM7IGFzIHVzZXJsb2dnZW5kKSB7IEBpZiAobm90aWZpYXRpb25Db3VudExvYWRlZCQgfCBhc3luYzsgYXMgbm90aWZpYXRpb25Db3VudExvYWRlZCkgeyBAaWZcbihkZXZpY2VTaXplJCB8IGFzeW5jOyBhcyBkZXZpY2VTaXplKSB7IEBpZiAoc2hlbGxiYXJEYXRhKSB7XG48YnQtYmFyc2Etc2hlbGxiYXJcbiAgICBbY2xhc3Muc2VydmljZS1kZXNrXT1cImlzU2VydmljZURlc2tcIlxuICAgIFtjc3NVcmxdPVwiY3NzVXJsJCB8IGFzeW5jXCJcbiAgICBbY3NzVmFyaWFibGVVcmxdPVwiY3NzVmFyaWFibGVVcmwkIHwgYXN5bmNcIlxuICAgIFt1c2VyUHJvZmlsZUltYWdlVXJsXT1cInVzZXJQcm9maWxlSW1hZ2VVcmwkIHwgYXN5bmNcIlxuICAgIFtjc3NDdXN0b21VcmxdPVwiY3NzQ3VzdG9tVXJsJCB8IGFzeW5jXCJcbiAgICBbdXNlckxvZ2dlZEluXT1cInRydWVcIlxuICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgIFtzaGVsbGJhckRhdGFdPVwic2hlbGxiYXJEYXRhXCJcbiAgICBbY3NzU3R5bGVdPVwiY3NzU3R5bGVzXCJcbiAgICBbcHJvZHVjdE1lbnVDb250cm9sXT1cInByb2R1Y3RNZW51Q29udHJvbFwiXG4gICAgW3NldHRpbmdzXT1cInNldHRpbmdzXCJcbiAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgIFtpc1RhYmxldF09XCJpc1RhYmxldFwiXG4gICAgW2lzRGVza3RvcF09XCJpc0Rlc2t0b3BcIlxuICAgIFttdWx0aUxhbmd1YWdlc109XCJtdWx0aUxhbmd1YWdlc1wiXG4gICAgW25vdGlmaWNhdGlvbkNvdW50XT1cIihub3RpZmljYXRpb25zQ291bnQkIHwgYXN5bmMpISFcIlxuICAgIFtub3RpZmljYXRpb25zXT1cIihub3RpZmljYXRpb25zJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgW25vdGlmY2F0aW9uTG9hZGVkXT1cIm5vdGlmY2F0aW9uTG9hZGVkXCJcbiAgICBbbm90aWZpY2F0aW9uTG9hZGluZ109XCIobm90aWZpY2F0aW9uTG9hZGluZyQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIFtjdWx0dXJlc109XCJjdWx0dXJlc1wiXG4gICAgW2xvZ29dPVwibG9nb1wiXG4gICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAgW3VzZXJNZW51XT1cInVzZXJNZW51XCJcbiAgICBbcHJvZHVjdFN3aXRjaGVyXT1cInByb2R1Y3RTd2l0Y2hlclwiXG4gICAgW3N1YnRpdGxlXT1cInN1YnRpdGxlXCJcbiAgICBbaXNTZXJ2aWNlRGVza109XCJpc1NlcnZpY2VEZXNrXCJcbiAgICBbc2lkZU1lbnVUZW1wbGF0ZV09XCJRdWlja0FjY2Vzc1RlbXBsYXRlXCJcbiAgICBbcHJvZHVjdE1lbnVJdGVtczFdPVwicHJvZHVjdE1lbnVJdGVtczFcIlxuICAgIFtpc09wZW5RdWlja0FjY2Vzc109XCJpc09wZW5RdWlja0FjY2Vzc1wiXG4gICAgKGlzT3BlblF1aWNrQWNjZXNzQ2hhbmdlZCk9XCJpc09wZW5RdWlja0FjY2VzcyA9ICRldmVudFwiXG4gICAgKGN1bHR1cmVDaGFuZ2VkKT1cIm9uQ3VsdHVyZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgKG5vdGlmaWNhdGlvblZpZXdlZCk9XCJvbk5vdGlmaWNhdGlvbkl0ZW1WaWV3ZWQoJGV2ZW50KVwiXG4gICAgKG5vdGlmaWF0aW9uQWN0aW9uQ2xpY2spPVwib25Ob3RpZmljYXRpb25BY3Rpb24oJGV2ZW50KVwiXG4gICAgKHJlbW92ZU5vdGlmaWNhdGlvbik9XCJvblJlbW92ZU5vdGlmaWNhdGlvbnMoJGV2ZW50KVwiXG4gICAgKG5vdGlmaWNhdGlvbkxvYWRNb3JlKT1cIm9uTm90aWZpY2F0aW9uTG9hZE1vcmUoKVwiXG4gICAgKG9wZW5Ob3RpZmljYXRpb25QYW5lbCk9XCJvbkhhbmRsZU9wZW5Ob3RpZmljYXRpb25QYW5lbCgpXCJcbj5cbjwvYnQtYmFyc2Etc2hlbGxiYXI+XG59IH0gfSB9IEBlbHNlIHsgQGlmIChub3RpZmljYXRpb25zQ291bnQkIHwgYXN5bmM7IGFzIG5vdGlmaWNhdGlvbkNvdW50KSB7XG48YnQtYmFyc2Etc2hlbGxiYXJcbiAgICBbY2xhc3Muc2VydmljZS1kZXNrXT1cImlzU2VydmljZURlc2tcIlxuICAgIFtjc3NVcmxdPVwiJydcIlxuICAgIFtjc3NTdHlsZV09XCJjc3NTdHlsZXNcIlxuICAgIFtjc3NWYXJpYWJsZVVybF09XCInJ1wiXG4gICAgW2Nzc0N1c3RvbVVyXT1cIicnXCJcbiAgICBbdXNlckxvZ2dlZEluXT1cImZhbHNlXCJcbiAgICBbbXVsdGlMYW5ndWFnZXNdPVwibXVsdGlMYW5ndWFnZXNcIlxuICAgIFt1c2VyTWVudV09XCJ1c2VyTWVudVwiXG4gICAgW2xvZ29dPVwibG9nb1wiXG4gICAgW3Byb2R1Y3RNZW51SXRlbXMxXT1cInByb2R1Y3RNZW51SXRlbXMxXCJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXG4gICAgW3NoZWxsYmFyRGF0YV09XCJzaGVsbGJhckRhdGFcIlxuICAgIFtjdWx0dXJlc109XCJjdWx0dXJlc1wiXG4gICAgW2xvZ29dPVwibG9nb1wiXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICBbaXNUYWJsZXRdPVwiaXNUYWJsZXRcIlxuICAgIFtpc0Rlc2t0b3BdPVwiaXNEZXNrdG9wXCJcbiAgICBbaXNTZXJ2aWNlRGVza109XCJpc1NlcnZpY2VEZXNrXCJcbiAgICBbYWN0aW9uc109XCJhY3Rpb25zXCJcbiAgICBbdXNlck1lbnVdPVwidXNlck1lbnVcIlxuICAgIFtwcm9kdWN0TWVudUNvbnRyb2xdPVwicHJvZHVjdE1lbnVDb250cm9sXCJcbiAgICBbcHJvZHVjdFN3aXRjaGVyXT1cInByb2R1Y3RTd2l0Y2hlclwiXG4gICAgW3N1YnRpdGxlXT1cInN1YnRpdGxlXCJcbiAgICBbc2V0dGluZ3NdPVwic2V0dGluZ3NcIlxuICAgIFtub3RpZmljYXRpb25Db3VudF09XCJ7IHVucmVhZDogMCwgYWxsOiAwIH1cIlxuICAgIFtub3RpZmljYXRpb25zXT1cIltdXCJcbiAgICBbbm90aWZjYXRpb25Mb2FkZWRdPVwidHJ1ZVwiXG4gICAgW25vdGlmaWNhdGlvbkxvYWRpbmddPVwiZmFsc2VcIlxuICAgIFtoaWRlU2hlbGxiYXJBY3Rpb25zXT1cInRydWVcIlxuICAgIFtzaG93RXh0cmFCdXR0b25dPVwidHJ1ZVwiXG4gICAgW2N1bHR1cmVzXT1cImN1bHR1cmVzXCJcbiAgICBbcHJvZHVjdE1lbnVJdGVtczFdPVwicHJvZHVjdE1lbnVJdGVtczFcIlxuICAgIChjdWx0dXJlQ2hhbmdlZCk9XCJvbkN1bHR1cmVDaGFuZ2VkKCRldmVudClcIlxuPlxuICAgIEBmb3IoYnRuIG9mIHVzZXJNZW51O3RyYWNrIGJ0bil7XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImV4dHJhX2J0blwiXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBbbGFiZWxdPVwiYnRuLnRleHRcIlxuICAgICAgICBbZ2x5cGhdPVwiYnRuLnRleHQgPT09ICgnTG9naW4nIHwgYmJiVHJhbnNsYXRlKSA/ICdwZXJzb24tcGxhY2Vob2xkZXInIDogbnVsbFwiXG4gICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAoY2xpY2spPVwiYnRuLmNhbGxiYWNrKClcIlxuICAgID48L2J1dHRvbj5cbiAgICB9XG48L2J0LWJhcnNhLXNoZWxsYmFyPlxufSB9XG48bmctdGVtcGxhdGUgI1F1aWNrQWNjZXNzVGVtcGxhdGU+XG4gICAgQGlmICgobm90aWZpY2F0aW9uTG9hZGluZyQgfCBhc3luYykgPT09IHRydWUpIHtcbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMHB4XCI+XG4gICAgICAgIDxic3UtbWFzayBzaXplPVwic1wiPjwvYnN1LW1hc2s+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIDxibnJjLXJlcG9ydC1jb250YWluZXIgKm5nSWY9XCJzaWRlYmFyU2V0dGluZ3NcIiBbc2V0dGluZ3NdPVwic2lkZWJhclNldHRpbmdzXCI+IDwvYm5yYy1yZXBvcnQtY29udGFpbmVyPlxuICAgIDwhLS0gPGJ0LXBvcG92ZXItYXBwLWZpbmRlciAoY2xvc2VNZW51KT1cImlzT3BlblF1aWNrQWNjZXNzID0gZmFsc2VcIj48L2J0LXBvcG92ZXItYXBwLWZpbmRlcj4gLS0+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseBtTileComponent } from '../models';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@fundamental-ngx/core/icon";
5
- import * as i2 from "@fundamental-ngx/core/tile";
6
- import * as i3 from "../tile/tile.component";
7
- import * as i4 from "barsa-novin-ray-core";
8
- import * as i5 from "barsa-sap-ui";
9
- import * as i6 from "../pipes/tile-prop.pipe";
10
- export class SimpleTileComponent extends BaseBtTileComponent {
11
- ngOnInit() {
12
- super.ngOnInit();
13
- this.icon = this.settings.Icon;
14
- this.pictureIcon = this.settings.PictureIcon;
15
- if (this.icon && this.icon.toLowerCase().startsWith('ih')) {
16
- this.iconCalc = this.icon;
17
- }
18
- this.iconColor = this.settings.IconColor;
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SimpleTileComponent, selector: "bt-simple-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [backColor]=\"backColor\"\n [deviceSize]=\"deviceSize\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\n @if(pictureIcon || iconCalc){\n <span\n class=\"tile-picture-icon\"\n fd-tile-profile-img\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if (icon) {\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\n <fd-icon\n class=\"fd-numeric-content__launch-icon\"\n fd-numeric-content-launch-icon\n [glyph]=\"icon\"\n [font]=\"icon | sapFont\"\n [style.color]=\"iconColor\"\n ></fd-icon>\n </div>\n }\n </div>\n</bt-tile>\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;max-width:5rem;width:100%;max-height:5rem;height:100%}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: i2.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i2.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "directive", type: i2.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "component", type: i3.TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "icon", "subtitle", "isDouble", "edit", "backColor", "dynamicCommand", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i4.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: i6.TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleTileComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: 'bt-simple-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [backColor]=\"backColor\"\n [deviceSize]=\"deviceSize\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\n @if(pictureIcon || iconCalc){\n <span\n class=\"tile-picture-icon\"\n fd-tile-profile-img\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if (icon) {\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\n <fd-icon\n class=\"fd-numeric-content__launch-icon\"\n fd-numeric-content-launch-icon\n [glyph]=\"icon\"\n [font]=\"icon | sapFont\"\n [style.color]=\"iconColor\"\n ></fd-icon>\n </div>\n }\n </div>\n</bt-tile>\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;max-width:5rem;width:100%;max-height:5rem;height:100%}\n"] }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9zaW1wbGUtdGlsZS9zaW1wbGUtdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3NpbXBsZS10aWxlL3NpbXBsZS10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7QUFRakUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFvQztJQUt6RSxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDN0MsQ0FBQzsrR0FiUSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2RUNWaEMsdTdDQXNDQTs7NEZENUJhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQnRUaWxlQ29tcG9uZW50LCBCYXNlVGlsZVNldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRmlsZVBpY3R1cmVJbmZvTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LXNpbXBsZS10aWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2ltcGxlLXRpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpbXBsZS10aWxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlVGlsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VCdFRpbGVDb21wb25lbnQ8QmFzZVRpbGVTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIGljb25DYWxjOiBzdHJpbmc7XG4gICAgaWNvbkNvbG9yOiBzdHJpbmc7XG4gICAgcGljdHVyZUljb246IEZpbGVQaWN0dXJlSW5mb01vZGVsO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmljb24gPSB0aGlzLnNldHRpbmdzLkljb247XG4gICAgICAgIHRoaXMucGljdHVyZUljb24gPSB0aGlzLnNldHRpbmdzLlBpY3R1cmVJY29uO1xuICAgICAgICBpZiAodGhpcy5pY29uICYmIHRoaXMuaWNvbi50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2loJykpIHtcbiAgICAgICAgICAgIHRoaXMuaWNvbkNhbGMgPSB0aGlzLmljb247XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pY29uQ29sb3IgPSB0aGlzLnNldHRpbmdzLkljb25Db2xvcjtcbiAgICB9XG59XG4iLCI8YnQtdGlsZVxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIFt0eXBlXT1cIidsYXVuY2gnXCJcbiAgICBbZWRpdF09XCJlZGl0XCJcbiAgICBbc2V0VG9TdG9yYWdlXT1cInNldFRvU3RvcmFnZVwiXG4gICAgW2xpc3RNb2RlXT1cImxpc3RNb2RlXCJcbiAgICBbbmF2aWdhdGVCYWNrT25DbGlja109XCJuYXZpZ2F0ZUJhY2tPbkNsaWNrXCJcbiAgICBbdGl0bGVdPVwiZGF0YSB8IHRpbGVQcm9wOiAnVGl0bGUnOnBhcmFtZXRlcnNcIlxuICAgIFtiYWNrQ29sb3JdPVwiYmFja0NvbG9yXCJcbiAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICBbc3VidGl0bGVdPVwiZGF0YSB8IHRpbGVQcm9wOiAnU3VidGl0bGUnOnBhcmFtZXRlcnNcIlxuICAgIFtkeW5hbWljQ29tbWFuZF09XCJkYXRhIHwgdGlsZVByb3A6ICdEeW5hbWljQ29tbWFuZCc6cGFyYW1ldGVyc1wiXG4gICAgW2lzRG91YmxlXT1cImRhdGEgfCB0aWxlUHJvcDogJ0lzRG91YmxlJzpwYXJhbWV0ZXJzXCJcbiAgICBbZm9vdGVyXT1cImRhdGEgfCB0aWxlUHJvcDogJ0Zvb3Rlcic6cGFyYW1ldGVyc1wiXG4gICAgKGhpZGVDbGljayk9XCJoaWRlQ2xpY2suZW1pdCgpXCJcbiAgICAocmVuYW1lQ2xpY2spPVwicmVuYW1lQ2xpY2suZW1pdCgpXCJcbiAgICAoY2xpY2spPVwib25UaWxlQ2xpY2soKVwiXG4+XG4gICAgPGRpdiBmZC10aWxlLWNvbnRlbnQgW2NsYXNzLnBpY3R1cmUtaWNvbl09XCJwaWN0dXJlSWNvbiB8fCBpY29uQ2FsY1wiPlxuICAgICAgICBAaWYocGljdHVyZUljb24gfHwgaWNvbkNhbGMpe1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0aWxlLXBpY3R1cmUtaWNvblwiXG4gICAgICAgICAgICBmZC10aWxlLXByb2ZpbGUtaW1nXG4gICAgICAgICAgICBbYmFja2dyb3VuZEltYWdlXT1cImljb25DYWxjIHx8IChwaWN0dXJlSWNvbi5GaWxlSWQgfCBwaWNGaWVsZFNyYzogJ0dldFBpY3R1cmVGcm9tRmlsZUluZm8nOm51bGwpXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSBpZiAoaWNvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtbnVtZXJpYy1jb250ZW50X19sYXVuY2gtaWNvbi1jb250YWluZXJcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogY2VudGVyXCI+XG4gICAgICAgICAgICA8ZmQtaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbnVtZXJpYy1jb250ZW50X19sYXVuY2gtaWNvblwiXG4gICAgICAgICAgICAgICAgZmQtbnVtZXJpYy1jb250ZW50LWxhdW5jaC1pY29uXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cImljb25cIlxuICAgICAgICAgICAgICAgIFtmb250XT1cImljb24gfCBzYXBGb250XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgICAgICAgICAgID48L2ZkLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2J0LXRpbGU+XG4iXX0=
@@ -1,95 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, inject, Input } from '@angular/core';
2
- import { BarsaApi, PreventDefaulEvent, TilePropsComponent, LocalStorageService } from 'barsa-novin-ray-core';
3
- import { Router } from '@angular/router';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@fundamental-ngx/core/button";
7
- import * as i3 from "@fundamental-ngx/core/list";
8
- import * as i4 from "@fundamental-ngx/core/menu";
9
- import * as i5 from "@fundamental-ngx/core/tile";
10
- import * as i6 from "barsa-sap-ui";
11
- import * as i7 from "../footer-tile/footer-tile.component";
12
- import * as i8 from "../tile-style.directive";
13
- import * as i9 from "barsa-novin-ray-core";
14
- export class TileComponent extends TilePropsComponent {
15
- constructor() {
16
- super(...arguments);
17
- this._localStorage = inject(LocalStorageService);
18
- this._router = inject(Router);
19
- this.runningCommand = false;
20
- }
21
- onClick(ev) {
22
- if (this.edit || this.disableClick || this.runningCommand || !this.dynamicCommand) {
23
- return false;
24
- }
25
- PreventDefaulEvent(ev);
26
- if (this.setToStorage) {
27
- this._localStorage.setItem('ActiveTile', this.title);
28
- }
29
- const command = this.dynamicCommand;
30
- const e = { command, DynamicSetting: null };
31
- this.runningCommand = true;
32
- if (this.navigateBackOnClick) {
33
- this._router.navigate(['../']);
34
- setTimeout(() => {
35
- this.executeCommand(command, e);
36
- });
37
- return true;
38
- }
39
- return this.executeCommand(command, e);
40
- }
41
- executeCommand(command, e) {
42
- this._cdr.detectChanges();
43
- BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e, (res) => {
44
- this.runningCommand = false;
45
- if (res && typeof res.Detail !== 'undefined') {
46
- BarsaApi.Bw.Msg.Error(res.message || res.Text);
47
- }
48
- this._cdr.detectChanges();
49
- });
50
- return false;
51
- }
52
- ngOnInit() {
53
- super.ngOnInit();
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileComponent, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", disableClick: "disableClick", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", edit: "edit", backColor: "backColor", dynamicCommand: "dynamicCommand", hideHeader: "hideHeader", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0, template: "@if(!listMode) {\n<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\" tileStyle [backColor]=\"backColor\" [size]=\"'s'\">\n @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n } @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n } @if(!hideHeader){\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n }\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n}@else{\n<span fd-list-title> {{ title | bbbTranslate }} </span>\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\n<ng-template #defaultFooter>\n @if (footer) {\n <div\n fd-tile-footer\n bt-footer-tile\n [secondSection]=\"footer.SecondSection\"\n [twoColumn]=\"footer.twoColumn\"\n [firstSection]=\"footer.FirstSection\"\n ></div>\n\n }\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n@if (runningCommand) {\n<bsu-mask></bsu-mask>\n}\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i3.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i3.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i3.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i5.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i5.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i5.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i5.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i5.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i5.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i7.FooterTileComponent, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: ["firstSection", "secondSection", "twoColumn"] }, { kind: "directive", type: i8.TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "pipe", type: i9.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'bt-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if(!listMode) {\n<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\" tileStyle [backColor]=\"backColor\" [size]=\"'s'\">\n @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n } @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n } @if(!hideHeader){\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n }\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n}@else{\n<span fd-list-title> {{ title | bbbTranslate }} </span>\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\n<ng-template #defaultFooter>\n @if (footer) {\n <div\n fd-tile-footer\n bt-footer-tile\n [secondSection]=\"footer.SecondSection\"\n [twoColumn]=\"footer.twoColumn\"\n [firstSection]=\"footer.FirstSection\"\n ></div>\n\n }\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n@if (runningCommand) {\n<bsu-mask></bsu-mask>\n}\n", styles: [":host,fd-tile{display:block}\n"] }]
61
- }], propDecorators: { type: [{
62
- type: Input
63
- }], footerTemplate: [{
64
- type: Input
65
- }], footer: [{
66
- type: Input
67
- }], disableClick: [{
68
- type: Input
69
- }], title: [{
70
- type: Input
71
- }], icon: [{
72
- type: Input
73
- }], subtitle: [{
74
- type: Input
75
- }], isDouble: [{
76
- type: Input
77
- }], edit: [{
78
- type: Input
79
- }], backColor: [{
80
- type: Input
81
- }], dynamicCommand: [{
82
- type: Input
83
- }], hideHeader: [{
84
- type: Input
85
- }], setToStorage: [{
86
- type: Input
87
- }], listMode: [{
88
- type: Input
89
- }], navigateBackOnClick: [{
90
- type: Input
91
- }], onClick: [{
92
- type: HostListener,
93
- args: ['click', ['$event']]
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGUvdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGUvdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBUXpDLE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0lBTnJEOztRQXNCSSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsbUJBQWMsR0FBRyxLQUFLLENBQUM7S0FzQzFCO0lBcENHLE9BQU8sQ0FBQyxFQUFFO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNoRixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0Qsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDTyxjQUFjLENBQUMsT0FBWSxFQUFFLENBQXlDO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzsrR0F2RFEsYUFBYTttR0FBYixhQUFhLG1mQ1gxQixtaERBNkNBOzs0RkRsQ2EsYUFBYTtrQkFOekIsU0FBUzsrQkFDSSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUtOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXJzYUFwaSwgUHJldmVudERlZmF1bEV2ZW50LCBUaWxlUHJvcHNDb21wb25lbnQsIExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBBcHBUaWxlRm9vdGVyIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtdGlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlQ29tcG9uZW50IGV4dGVuZHMgVGlsZVByb3BzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSB0eXBlOiAnZmVlZCcgfCAnbGF1bmNoJyB8ICdrcGknO1xuICAgIEBJbnB1dCgpIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIGZvb3RlcjogQXBwVGlsZUZvb3RlcjtcbiAgICBASW5wdXQoKSBkaXNhYmxlQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc0RvdWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBlZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGJhY2tDb2xvcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGR5bmFtaWNDb21tYW5kOiBhbnk7XG4gICAgQElucHV0KCkgaGlkZUhlYWRlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXRUb1N0b3JhZ2U6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbGlzdE1vZGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbmF2aWdhdGVCYWNrT25DbGljazogYm9vbGVhbjtcbiAgICBfbG9jYWxTdG9yYWdlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xuICAgIF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBydW5uaW5nQ29tbWFuZCA9IGZhbHNlO1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmVkaXQgfHwgdGhpcy5kaXNhYmxlQ2xpY2sgfHwgdGhpcy5ydW5uaW5nQ29tbWFuZCB8fCAhdGhpcy5keW5hbWljQ29tbWFuZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFByZXZlbnREZWZhdWxFdmVudChldik7XG4gICAgICAgIGlmICh0aGlzLnNldFRvU3RvcmFnZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0FjdGl2ZVRpbGUnLCB0aGlzLnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21tYW5kID0gdGhpcy5keW5hbWljQ29tbWFuZDtcbiAgICAgICAgY29uc3QgZSA9IHsgY29tbWFuZCwgRHluYW1pY1NldHRpbmc6IG51bGwgfTtcbiAgICAgICAgdGhpcy5ydW5uaW5nQ29tbWFuZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLm5hdmlnYXRlQmFja09uQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLyddKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCwgZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCwgZSk7XG4gICAgfVxuICAgIHByaXZhdGUgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZDogYW55LCBlOiB7IGNvbW1hbmQ6IGFueTsgRHluYW1pY1NldHRpbmc6IG51bGwgfSk6IGJvb2xlYW4ge1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBCYXJzYUFwaS5Db21tb24uQ3VzdG9tQ29kZU1hbmFnZXIuUnVuRHluYW1pY0NvbW1hbmQoY29tbWFuZC5JZCwgZSwgKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5ydW5uaW5nQ29tbWFuZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHJlcyAmJiB0eXBlb2YgcmVzLkRldGFpbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuRXJyb3IocmVzLm1lc3NhZ2UgfHwgcmVzLlRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG59XG4iLCJAaWYoIWxpc3RNb2RlKSB7XG48ZmQtdGlsZSBbdHlwZV09XCJ0eXBlXCIgW2RvdWJsZV09XCJpc0RvdWJsZVwiIFthY3Rpb25dPVwiZWRpdFwiIHRpbGVTdHlsZSBbYmFja0NvbG9yXT1cImJhY2tDb2xvclwiIFtzaXplXT1cIidzJ1wiPlxuICAgIEBpZiAoZWRpdCAmJiAhZGF0YS5Mb2NrZWQpIHtcbiAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZC10aWxlLWFjdGlvbi1jbG9zZSBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIChjbGljayk9XCJoaWRlQ2xpY2suZW1pdCgpXCI+PC9idXR0b24+XG4gICAgfSBAaWYgKGVkaXQgJiYgIWRhdGEuTG9ja2VkKSB7XG4gICAgPGJ1dHRvbiBmZC1idXR0b24gZmQtdGlsZS1hY3Rpb24taW5kaWNhdG9yIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPjwvYnV0dG9uPlxuICAgIH0gQGlmKCFoaWRlSGVhZGVyKXtcbiAgICA8ZGl2IGZkLXRpbGUtaGVhZGVyPlxuICAgICAgICA8aDEgZmQtdGlsZS10aXRsZT5cbiAgICAgICAgICAgIHt7IHRpdGxlIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxoMiBmZC10aWxlLXN1YnRpdGxlPlxuICAgICAgICAgICAge3sgc3VidGl0bGUgfCBiYmJUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9oMj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGUgPyBmb290ZXJUZW1wbGF0ZSA6IGRlZmF1bHRGb290ZXJcIj48L25nLWNvbnRhaW5lcj5cbjwvZmQtdGlsZT5cbn1AZWxzZXtcbjxzcGFuIGZkLWxpc3QtdGl0bGU+IHt7IHRpdGxlIHwgYmJiVHJhbnNsYXRlIH19IDwvc3Bhbj5cbjxzcGFuIGZkLWxpc3Qtc2Vjb25kYXJ5PiB7eyBzdWJ0aXRsZSB8IGJiYlRyYW5zbGF0ZSB9fSA8L3NwYW4+XG5AaWYoaWNvbil7IDxpIGZkLWxpc3QtaWNvbiBbZ2x5cGhdPVwiaWNvblwiPjwvaT59IH1cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEZvb3Rlcj5cbiAgICBAaWYgKGZvb3Rlcikge1xuICAgIDxkaXZcbiAgICAgICAgZmQtdGlsZS1mb290ZXJcbiAgICAgICAgYnQtZm9vdGVyLXRpbGVcbiAgICAgICAgW3NlY29uZFNlY3Rpb25dPVwiZm9vdGVyLlNlY29uZFNlY3Rpb25cIlxuICAgICAgICBbdHdvQ29sdW1uXT1cImZvb3Rlci50d29Db2x1bW5cIlxuICAgICAgICBbZmlyc3RTZWN0aW9uXT1cImZvb3Rlci5GaXJzdFNlY3Rpb25cIlxuICAgID48L2Rpdj5cblxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48ZmQtbWVudSAjbWVudT5cbiAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICA8YSAoY2xpY2spPVwibWVudS5jbG9zZSgpOyByZW5hbWVDbGljay5lbWl0KClcIiBmZC1tZW51LWludGVyYWN0aXZlPlxuICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAnUmVuYW1lJyB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L2ZkLW1lbnU+XG5AaWYgKHJ1bm5pbmdDb21tYW5kKSB7XG48YnN1LW1hc2s+PC9ic3UtbWFzaz5cbn1cbiJdfQ==
@@ -1,82 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import { BaseDirective } from 'barsa-novin-ray-core';
3
- import { takeUntil } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "barsa-novin-ray-core";
6
- export class TileRendererDirective extends BaseDirective {
7
- constructor(_cdr, _portalService, _vcr, _injector, _el) {
8
- super(_el);
9
- this._cdr = _cdr;
10
- this._portalService = _portalService;
11
- this._vcr = _vcr;
12
- this._injector = _injector;
13
- this._el = _el;
14
- this.hideClick = new EventEmitter();
15
- this.renameClick = new EventEmitter();
16
- }
17
- ngOnInit() {
18
- super.ngOnInit();
19
- if (!this.component) {
20
- return;
21
- }
22
- const { Module, ModuleFileName, Name, Selector } = this.component;
23
- this._portalService
24
- .getComponent(Module, ModuleFileName, Name, Selector, this._injector)
25
- .pipe(takeUntil(this._onDestroy$))
26
- .subscribe((componentRef) => {
27
- const instance = componentRef.instance;
28
- instance.data = this.data;
29
- instance.edit = this.edit;
30
- instance.deviceSize = this.deviceSize;
31
- instance.setToStorage = this.setToStorage;
32
- instance.listMode = this.listMode;
33
- instance.navigateBackOnClick = this.navigateBackOnClick;
34
- instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {
35
- this.hideClick.emit();
36
- });
37
- instance.renameClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.renameClick.emit());
38
- this._vcr.insert(componentRef.hostView);
39
- this._tileRef = componentRef;
40
- // this._cdr.detectChanges();
41
- });
42
- }
43
- ngOnChanges(changes) {
44
- const { edit } = changes;
45
- if (edit && !edit.firstChange) {
46
- this._tileRef.instance.setEditHome(edit.currentValue);
47
- }
48
- }
49
- ngOnDestroy() {
50
- super.ngOnDestroy();
51
- if (this._tileRef) {
52
- this._tileRef.destroy();
53
- }
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileRendererDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PortalService }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
56
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TileRendererDirective, selector: "[tileRenderer]", inputs: { component: "component", data: "data", edit: "edit", deviceSize: "deviceSize", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, outputs: { hideClick: "hideClick", renameClick: "renameClick" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileRendererDirective, decorators: [{
59
- type: Directive,
60
- args: [{
61
- selector: '[tileRenderer]'
62
- }]
63
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.PortalService }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { component: [{
64
- type: Input
65
- }], data: [{
66
- type: Input
67
- }], edit: [{
68
- type: Input
69
- }], deviceSize: [{
70
- type: Input
71
- }], setToStorage: [{
72
- type: Input
73
- }], listMode: [{
74
- type: Input
75
- }], navigateBackOnClick: [{
76
- type: Input
77
- }], hideClick: [{
78
- type: Output
79
- }], renameClick: [{
80
- type: Output
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1yZW5kZXJlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGUtcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU8zQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQWdCcEQsWUFDWSxJQUF1QixFQUN2QixjQUE2QixFQUM3QixJQUFzQixFQUN0QixTQUFtQixFQUNqQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQU5ILFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQVJuQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFVM0MsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxjQUFjO2FBQ2QsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLFlBQThELEVBQUUsRUFBRTtZQUMxRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3ZDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMxQixRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDMUIsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEMsUUFBUSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUN4RCxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztZQUM3Qiw2QkFBNkI7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQzsrR0EvRFEscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7aU1BRVksU0FBUztzQkFBakIsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUsIFBvcnRhbFNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlVGlsZUNvbXBvbmVudCwgQmFzZVRpbGVTZXR0aW5nIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWJicmV2YXRpb25EZXZpY2VTaXplIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aWxlUmVuZGVyZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBUaWxlUmVuZGVyZXJEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgY29tcG9uZW50OiB7XG4gICAgICAgIE1vZHVsZTogc3RyaW5nO1xuICAgICAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICBOYW1lOiBzdHJpbmc7XG4gICAgICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgfTtcbiAgICBASW5wdXQoKSBkYXRhOiBCYXNlVGlsZVNldHRpbmc7XG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgc2V0VG9TdG9yYWdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxpc3RNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5hdmlnYXRlQmFja09uQ2xpY2s6IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIGhpZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcmVuYW1lQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgcHJpdmF0ZSBfdGlsZVJlZjogQ29tcG9uZW50UmVmPEJhc2VUaWxlQ29tcG9uZW50PEJhc2VUaWxlU2V0dGluZz4+O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF92Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihfZWwpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAoIXRoaXMuY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBNb2R1bGUsIE1vZHVsZUZpbGVOYW1lLCBOYW1lLCBTZWxlY3RvciB9ID0gdGhpcy5jb21wb25lbnQ7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoTW9kdWxlLCBNb2R1bGVGaWxlTmFtZSwgTmFtZSwgU2VsZWN0b3IsIHRoaXMuX2luamVjdG9yKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QmFzZVRpbGVDb21wb25lbnQ8QmFzZVRpbGVTZXR0aW5nPj4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmVkaXQgPSB0aGlzLmVkaXQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGV2aWNlU2l6ZSA9IHRoaXMuZGV2aWNlU2l6ZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZXRUb1N0b3JhZ2UgPSB0aGlzLnNldFRvU3RvcmFnZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5saXN0TW9kZSA9IHRoaXMubGlzdE1vZGU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UubmF2aWdhdGVCYWNrT25DbGljayA9IHRoaXMubmF2aWdhdGVCYWNrT25DbGljaztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVDbGljay5lbWl0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucmVuYW1lQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW5hbWVDbGljay5lbWl0KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zjci5pbnNlcnQoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWxlUmVmID0gY29tcG9uZW50UmVmO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGVkaXQgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChlZGl0ICYmICFlZGl0LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWxlUmVmLmluc3RhbmNlLnNldEVkaXRIb21lKGVkaXQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuX3RpbGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19