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,110 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';
3
- import { CreateAppGroupComponent } from '../create-app-group/create-app-group.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@fundamental-ngx/core";
6
- import * as i2 from "barsa-novin-ray-core";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "@fundamental-ngx/core/bar";
9
- import * as i5 from "@fundamental-ngx/core/checkbox";
10
- import * as i6 from "@fundamental-ngx/core/icon";
11
- import * as i7 from "@fundamental-ngx/core/list";
12
- import * as i8 from "@fundamental-ngx/core/dialog";
13
- import * as i9 from "@fundamental-ngx/cdk/utils";
14
- import * as i10 from "@fundamental-ngx/core/title";
15
- export class PinTileComponent extends BaseComponent {
16
- constructor(_dialogService, _dialogRef, bbbPipe) {
17
- super();
18
- this._dialogService = _dialogService;
19
- this._dialogRef = _dialogRef;
20
- this.bbbPipe = bbbPipe;
21
- this.newGroupText = BarsaApi.LoginFormData.IsRtl
22
- ? this.bbbPipe.transform('Groups') + ' ' + this.bbbPipe.transform('New')
23
- : this.bbbPipe.transform('New') + ' ' + this.bbbPipe.transform('Groups');
24
- this.app = _dialogRef.data.app;
25
- this.appTileGroups = _dialogRef.data.appTileGroups;
26
- this.pinnedAppInTileGroups = _dialogRef.data.pinnedAppInTileGroups;
27
- }
28
- ngOnInit() {
29
- this._setLoading(true);
30
- const tileGroupsId = this.pinnedAppInTileGroups[this.app.Id];
31
- this.appTileGroups.forEach((appGroup) => {
32
- this._setDefaultPinTile(appGroup, tileGroupsId);
33
- });
34
- this._setLoading(false);
35
- }
36
- onAccept() {
37
- const appTileGroupsPin = [];
38
- this.appTileGroups.forEach((group) => {
39
- this._getChangedPinTileGroups(group, appTileGroupsPin);
40
- });
41
- this._close({ appTileGroupsPin, app: this.app });
42
- }
43
- onClose() {
44
- this._close();
45
- }
46
- onNewGroup() {
47
- this.newGroupDialogRef = this._dialogService.open(CreateAppGroupComponent, {
48
- data: { title: this.newGroupText },
49
- verticalPadding: true,
50
- mobile: this.mobile,
51
- responsivePadding: true
52
- });
53
- this.newGroupDialogRef.afterClosed.subscribe(() => {
54
- // if (result) {
55
- // this.dialogRef.loading(true);
56
- // this.tilesService
57
- // .createAppGroup(result)
58
- // .pipe(
59
- // takeUntil(this._onDestroy$),
60
- // finalize(() => {
61
- // this.dialogRef.loading(false);
62
- // })
63
- // )
64
- // .subscribe();
65
- // }
66
- });
67
- }
68
- _setLoading(loading) {
69
- this._dialogRef.loading(loading);
70
- }
71
- _setDefaultPinTile(appTileGroup, tileGroupsId) {
72
- appTileGroup.$PinTile = appTileGroup.$DefaultPinTile =
73
- tileGroupsId.includes(appTileGroup.Id) || tileGroupsId.includes(appTileGroup.UserAppTileGroupSetting?.Id);
74
- appTileGroup.$Children?.forEach((subGroup) => {
75
- this._setDefaultPinTile(subGroup, tileGroupsId);
76
- });
77
- appTileGroup.$Disabledpin = false;
78
- }
79
- _getChangedPinTileGroups(appTileGroup, appTileGroupsPin) {
80
- if (appTileGroup.$PinTile && !appTileGroup.$DefaultPinTile) {
81
- // Add
82
- appTileGroupsPin.push({ appTileGroup, visible: true });
83
- }
84
- else if (appTileGroup.$PinTile === false && appTileGroup.$DefaultPinTile) {
85
- // Remove
86
- appTileGroupsPin.push({ appTileGroup, visible: false });
87
- }
88
- appTileGroup.$Children?.forEach((subGroup) => {
89
- this._getChangedPinTileGroups(subGroup, appTileGroupsPin);
90
- });
91
- }
92
- _close(result) {
93
- this._dialogRef.close(result);
94
- }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PinTileComponent, deps: [{ token: i1.DialogService }, { token: i1.DialogRef }, { token: i2.BbbTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PinTileComponent, selector: "bt-pin-tile", inputs: { app: "app", appTileGroups: "appTileGroups", mobile: "mobile", pin: "pin" }, usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n @for (appTileGroup of appTileGroups; track appTileGroup) { @if (!appTileGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n </li>\r\n } @for (subGroup of appTileGroup.$Children; track subGroup) { @if (!subGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n </li>\r\n } } }\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"], dependencies: [{ kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i8.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i8.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i10.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PinTileComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'bt-pin-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n @for (appTileGroup of appTileGroups; track appTileGroup) { @if (!appTileGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n </li>\r\n } @for (subGroup of appTileGroup.$Children; track subGroup) { @if (!subGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n </li>\r\n } } }\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"] }]
101
- }], ctorParameters: () => [{ type: i1.DialogService }, { type: i1.DialogRef }, { type: i2.BbbTranslatePipe }], propDecorators: { app: [{
102
- type: Input
103
- }], appTileGroups: [{
104
- type: Input
105
- }], mobile: [{
106
- type: Input
107
- }], pin: [{
108
- type: Input
109
- }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9waW4tdGlsZS9waW4tdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3Bpbi10aWxlL3Bpbi10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBRXRHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7Ozs7Ozs7QUFTekYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFhL0MsWUFBbUIsY0FBNkIsRUFBUyxVQUFxQixFQUFVLE9BQXlCO1FBQzdHLEtBQUssRUFBRSxDQUFDO1FBRE8sbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFOakgsaUJBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDeEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU16RSxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJ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LEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxJQUFJLFlBQVksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6RSxTQUFTO1lBQ1QsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTztRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7K0dBdkZRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGdLQ2Q3QixtNkRBd0NBOzs0RkQxQmEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTt5SUFHdEMsR0FBRztzQkFBWCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nUmVmLCBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIEJhcnNhQXBpLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBCYmJUcmFuc2xhdGVQaXBlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ3JlYXRlQXBwR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGUtYXBwLWdyb3VwL2NyZWF0ZS1hcHAtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwVGlsZUdyb3VwUGluIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1waW4tdGlsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGluLXRpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcGluLXRpbGUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaW5UaWxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBhcHA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcblxyXG4gICAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcGluOiBib29sZWFuO1xyXG4gICAgbmV3R3JvdXBEaWFsb2dSZWY6IERpYWxvZ1JlZjtcclxuICAgIG5ld0dyb3VwVGV4dCA9IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNSdGxcclxuICAgICAgICA/IHRoaXMuYmJiUGlwZS50cmFuc2Zvcm0oJ0dyb3VwcycpICsgJyAnICsgdGhpcy5iYmJQaXBlLnRyYW5zZm9ybSgnTmV3JylcclxuICAgICAgICA6IHRoaXMuYmJiUGlwZS50cmFuc2Zvcm0oJ05ldycpICsgJyAnICsgdGhpcy5iYmJQaXBlLnRyYW5zZm9ybSgnR3JvdXBzJyk7XHJcbiAgICBwaW5uZWRBcHBJblRpbGVHcm91cHM6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdbXTtcclxuICAgIH07XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsIHB1YmxpYyBfZGlhbG9nUmVmOiBEaWFsb2dSZWYsIHByaXZhdGUgYmJiUGlwZTogQmJiVHJhbnNsYXRlUGlwZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5hcHAgPSBfZGlhbG9nUmVmLmRhdGEuYXBwO1xyXG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3VwcyA9IF9kaWFsb2dSZWYuZGF0YS5hcHBUaWxlR3JvdXBzO1xyXG4gICAgICAgIHRoaXMucGlubmVkQXBwSW5UaWxlR3JvdXBzID0gX2RpYWxvZ1JlZi5kYXRhLnBpbm5lZEFwcEluVGlsZUdyb3VwcztcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldExvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgY29uc3QgdGlsZUdyb3Vwc0lkID0gdGhpcy5waW5uZWRBcHBJblRpbGVHcm91cHNbdGhpcy5hcHAuSWRdO1xyXG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChhcHBHcm91cCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXREZWZhdWx0UGluVGlsZShhcHBHcm91cCwgdGlsZUdyb3Vwc0lkKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgIH1cclxuICAgIG9uQWNjZXB0KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFwcFRpbGVHcm91cHNQaW46IEFwcFRpbGVHcm91cFBpbltdID0gW107XHJcbiAgICAgICAgdGhpcy5hcHBUaWxlR3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2dldENoYW5nZWRQaW5UaWxlR3JvdXBzKGdyb3VwLCBhcHBUaWxlR3JvdXBzUGluKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9jbG9zZSh7IGFwcFRpbGVHcm91cHNQaW4sIGFwcDogdGhpcy5hcHAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTmV3R3JvdXAoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZXdHcm91cERpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihDcmVhdGVBcHBHcm91cENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBkYXRhOiB7IHRpdGxlOiB0aGlzLm5ld0dyb3VwVGV4dCB9LFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIG1vYmlsZTogdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubmV3R3JvdXBEaWFsb2dSZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgLy8gaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAvLyAgIHRoaXMuZGlhbG9nUmVmLmxvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vICAgdGhpcy50aWxlc1NlcnZpY2VcclxuICAgICAgICAgICAgLy8gICAgIC5jcmVhdGVBcHBHcm91cChyZXN1bHQpXHJcbiAgICAgICAgICAgIC8vICAgICAucGlwZShcclxuICAgICAgICAgICAgLy8gICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAvLyAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5kaWFsb2dSZWYubG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vICAgICAgIH0pXHJcbiAgICAgICAgICAgIC8vICAgICApXHJcbiAgICAgICAgICAgIC8vICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIF9zZXRMb2FkaW5nKGxvYWRpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYubG9hZGluZyhsb2FkaW5nKTtcclxuICAgIH1cclxuICAgIF9zZXREZWZhdWx0UGluVGlsZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIHRpbGVHcm91cHNJZDogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgICAgICBhcHBUaWxlR3JvdXAuJFBpblRpbGUgPSBhcHBUaWxlR3JvdXAuJERlZmF1bHRQaW5UaWxlID1cclxuICAgICAgICAgICAgdGlsZUdyb3Vwc0lkLmluY2x1ZGVzKGFwcFRpbGVHcm91cC5JZCkgfHwgdGlsZUdyb3Vwc0lkLmluY2x1ZGVzKGFwcFRpbGVHcm91cC5Vc2VyQXBwVGlsZUdyb3VwU2V0dGluZz8uSWQpO1xyXG4gICAgICAgIGFwcFRpbGVHcm91cC4kQ2hpbGRyZW4/LmZvckVhY2goKHN1Ykdyb3VwKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldERlZmF1bHRQaW5UaWxlKHN1Ykdyb3VwLCB0aWxlR3JvdXBzSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFwcFRpbGVHcm91cC4kRGlzYWJsZWRwaW4gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIF9nZXRDaGFuZ2VkUGluVGlsZUdyb3VwcyhhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIGFwcFRpbGVHcm91cHNQaW46IEFwcFRpbGVHcm91cFBpbltdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGFwcFRpbGVHcm91cC4kUGluVGlsZSAmJiAhYXBwVGlsZUdyb3VwLiREZWZhdWx0UGluVGlsZSkge1xyXG4gICAgICAgICAgICAvLyBBZGRcclxuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwc1Bpbi5wdXNoKHsgYXBwVGlsZUdyb3VwLCB2aXNpYmxlOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYXBwVGlsZUdyb3VwLiRQaW5UaWxlID09PSBmYWxzZSAmJiBhcHBUaWxlR3JvdXAuJERlZmF1bHRQaW5UaWxlKSB7XHJcbiAgICAgICAgICAgIC8vIFJlbW92ZVxyXG4gICAgICAgICAgICBhcHBUaWxlR3JvdXBzUGluLnB1c2goeyBhcHBUaWxlR3JvdXAsIHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhcHBUaWxlR3JvdXAuJENoaWxkcmVuPy5mb3JFYWNoKChzdWJHcm91cCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9nZXRDaGFuZ2VkUGluVGlsZUdyb3VwcyhzdWJHcm91cCwgYXBwVGlsZUdyb3Vwc1Bpbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBfY2xvc2UocmVzdWx0Pyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1kaWFsb2c+XHJcbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgICAgICA8aDEgZmQtdGl0bGU+e3sgJ0FkZFRvTGlzdCcgfCBiYmJUcmFuc2xhdGUgfX08L2gxPlxyXG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgPGZkLWRpYWxvZy1ib2R5PlxyXG4gICAgICAgIDx1bCBmZC1saXN0IFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cInRydWVcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDFyZW1cIj5cclxuICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbSBbbmF2aWdhdGlvbkluZGljYXRvcl09XCJ0cnVlXCIgKGNsaWNrKT1cIm9uTmV3R3JvdXAoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhZGRcIj48L2ZkLWljb24+PHNwYW4gZmQtbGlzdC10aXRsZT57eyBuZXdHcm91cFRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIEBmb3IgKGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyB0cmFjayBhcHBUaWxlR3JvdXApIHsgQGlmICghYXBwVGlsZUdyb3VwLiREaXNhYmxlZHBpbikge1xyXG4gICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtIFtzZWxlY3RlZF09XCJhcHBUaWxlR3JvdXAuJFBpblRpbGVcIj5cclxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImFwcFRpbGVHcm91cC4kUGluVGlsZVwiPjwvZmQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB8fCBhcHBUaWxlR3JvdXAuVGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH0gQGZvciAoc3ViR3JvdXAgb2YgYXBwVGlsZUdyb3VwLiRDaGlsZHJlbjsgdHJhY2sgc3ViR3JvdXApIHsgQGlmICghc3ViR3JvdXAuJERpc2FibGVkcGluKSB7XHJcbiAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0gW3NlbGVjdGVkXT1cInN1Ykdyb3VwLiRQaW5UaWxlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJzdWJHcm91cC4kUGluVGlsZVwiPjwvZmQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IHN1Ykdyb3VwLm5hdmlnYXRvclRpdGxlIHx8IHN1Ykdyb3VwLlRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICB9IH0gfVxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG5cclxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZka0luaXRpYWxGb2N1cyBmZFR5cGU9XCJlbXBoYXNpemVkXCIgW2xhYmVsXT1cIidPSycgfCBiYmJUcmFuc2xhdGVcIiAoY2xpY2spPVwib25BY2NlcHQoKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICBmZGtJbml0aWFsRm9jdXNcclxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cclxuPC9mZC1kaWFsb2c+XHJcbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { forkJoin, of } from 'rxjs';
3
- import { map, shareReplay } from 'rxjs/operators';
4
- import { BarsaApi } from 'barsa-novin-ray-core';
5
- import * as i0 from "@angular/core";
6
- export class GroupTilesPipe {
7
- transform(appGroup) {
8
- const predefineTiles = appGroup.AppTiles;
9
- if (predefineTiles?.length === 0) {
10
- return of([]);
11
- }
12
- const predefine$ = of(predefineTiles);
13
- const userDefine$ = of(appGroup.UserAppTileGroupSetting?.UserAppTilesSetting?.MoDataList);
14
- return forkJoin([predefine$, userDefine$]).pipe(map(([s1, s2]) => [...s1, ...s2]), map((arrTiles) => {
15
- const tempTiles = arrTiles.filter((c) => c.Visible).sort((a, b) => (a.OrderItem > b.OrderItem ? 1 : 0));
16
- const group = { ...appGroup };
17
- group.Title = BarsaApi.Common.Util.TryGetValue(group, 'UserAppTileGroupSetting.Title', group.Title);
18
- group.OrderItem = BarsaApi.Common.Util.TryGetValue(group, 'UserAppTileGroupSetting.OrderItem', group.OrderItem);
19
- return tempTiles;
20
- }), shareReplay(1));
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GroupTilesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GroupTilesPipe, name: "groupTiles" }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GroupTilesPipe, decorators: [{
26
- type: Pipe,
27
- args: [{
28
- name: 'groupTiles'
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdGlsZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvcGlwZXMvZ3JvdXAtdGlsZXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7O0FBU3JFLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFNBQVMsQ0FBQyxRQUE2QjtRQUNuQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3pDLElBQUksY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFMUYsT0FBTyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFDakMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RyxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDOUIsS0FBSyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLCtCQUErQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDOUMsS0FBSyxFQUNMLG1DQUFtQyxFQUNuQyxLQUFLLENBQUMsU0FBUyxDQUNsQixDQUFDO1lBRUYsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQzsrR0F6QlEsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBCYXJzYUFwaSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmludGVyZmFjZSBBcHBUaWxlTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIENvbXBvbmVudDogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbn1cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ2dyb3VwVGlsZXMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cFRpbGVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGFwcEdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogT2JzZXJ2YWJsZTxBcHBUaWxlTW9kZWxbXT4ge1xyXG4gICAgICAgIGNvbnN0IHByZWRlZmluZVRpbGVzID0gYXBwR3JvdXAuQXBwVGlsZXM7XHJcbiAgICAgICAgaWYgKHByZWRlZmluZVRpbGVzPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcHJlZGVmaW5lJCA9IG9mKHByZWRlZmluZVRpbGVzKTtcclxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lJCA9IG9mKGFwcEdyb3VwLlVzZXJBcHBUaWxlR3JvdXBTZXR0aW5nPy5Vc2VyQXBwVGlsZXNTZXR0aW5nPy5Nb0RhdGFMaXN0KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKFtwcmVkZWZpbmUkLCB1c2VyRGVmaW5lJF0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW3MxLCBzMl0pID0+IFsuLi5zMSwgLi4uczJdKSxcclxuICAgICAgICAgICAgbWFwKChhcnJUaWxlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcFRpbGVzID0gYXJyVGlsZXMuZmlsdGVyKChjKSA9PiBjLlZpc2libGUpLnNvcnQoKGEsIGIpID0+IChhLk9yZGVySXRlbSA+IGIuT3JkZXJJdGVtID8gMSA6IDApKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0geyAuLi5hcHBHcm91cCB9O1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuVGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShncm91cCwgJ1VzZXJBcHBUaWxlR3JvdXBTZXR0aW5nLlRpdGxlJywgZ3JvdXAuVGl0bGUpO1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuT3JkZXJJdGVtID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ1VzZXJBcHBUaWxlR3JvdXBTZXR0aW5nLk9yZGVySXRlbScsXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuT3JkZXJJdGVtXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0ZW1wVGlsZXM7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,17 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HomeGroupPipe {
4
- constructor() { }
5
- transform(appGroups) {
6
- return appGroups.filter((c) => c.navigatorTiles && c.navigatorTiles.length > 0);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: HomeGroupPipe, name: "homeGroup" }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeGroupPipe, decorators: [{
12
- type: Pipe,
13
- args: [{
14
- name: 'homeGroup'
15
- }]
16
- }], ctorParameters: () => [] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1ncm91cC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9waXBlcy9ob21lLWdyb3VwLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLGdCQUFlLENBQUM7SUFDaEIsU0FBUyxDQUFDLFNBQWdDO1FBQ3RDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDOytHQUpRLGFBQWE7NkdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsV0FBVztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnaG9tZUdyb3VwJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUdyb3VwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG4gICAgdHJhbnNmb3JtKGFwcEdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gYXBwR3JvdXBzLmZpbHRlcigoYykgPT4gYy5uYXZpZ2F0b3JUaWxlcyAmJiBjLm5hdmlnYXRvclRpbGVzLmxlbmd0aCA+IDApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { BarsaApi } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- export class TileHomeFilterPipe {
5
- transform(collection) {
6
- return collection.filter((val) => this.matchFilter(val));
7
- }
8
- matchFilter(value) {
9
- const match = Object.keys(value.Data).some((key) => {
10
- if (key.startsWith('$')) {
11
- return false;
12
- }
13
- if (key.startsWith('c')) {
14
- return BarsaApi.Common.Util.TryGetValue(value, 'Data.' + key);
15
- }
16
- });
17
- return match;
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileHomeFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TileHomeFilterPipe, name: "tileHomeFilter" }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileHomeFilterPipe, decorators: [{
23
- type: Pipe,
24
- args: [{
25
- name: 'tileHomeFilter'
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1ob21lLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9waXBlcy90aWxlLWhvbWUtZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUtoRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFNBQVMsQ0FBQyxVQUFpQjtRQUN2QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQUs7UUFDYixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBZFEsa0JBQWtCOzZHQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSDlCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICd0aWxlSG9tZUZpbHRlcidcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbGVIb21lRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLmZpbHRlcigodmFsKSA9PiB0aGlzLm1hdGNoRmlsdGVyKHZhbCkpO1xyXG4gICAgfVxyXG4gICAgbWF0Y2hGaWx0ZXIodmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBtYXRjaCA9IE9iamVjdC5rZXlzKHZhbHVlLkRhdGEpLnNvbWUoKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJyQnKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnYycpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmFsdWUsICdEYXRhLicgKyBrZXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { BarsaApi } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- export class TilePropPipe {
5
- transform(data, prop, parameters) {
6
- if (data) {
7
- if (prop === 'Title') {
8
- let val = data.TileTitle;
9
- if (!val) {
10
- val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Title', '');
11
- }
12
- if (!val) {
13
- val = BarsaApi.Common.Util.TryGetValue(data, 'Title', '');
14
- }
15
- return val;
16
- }
17
- if (prop === 'Subtitle') {
18
- let val = data.Subtitle;
19
- if (!val) {
20
- val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Subtitle', '');
21
- }
22
- if (!val) {
23
- val = BarsaApi.Common.Util.TryGetValue(data, 'Subtitle', '');
24
- }
25
- return val;
26
- }
27
- if (prop === 'DynamicCommand') {
28
- return data['DynamicCommand'];
29
- }
30
- if (data.Component && data.Component.Settings) {
31
- const val = data.Component.Settings.TileSetting[prop];
32
- if (typeof val === 'undefined') {
33
- return data.Component.Settings[prop];
34
- }
35
- return val;
36
- }
37
- return '';
38
- }
39
- return parameters ? parameters.TileSetting[prop] : '';
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TilePropPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
42
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TilePropPipe, name: "tileProp" }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TilePropPipe, decorators: [{
45
- type: Pipe,
46
- args: [{
47
- name: 'tileProp'
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1wcm9wLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3BpcGVzL3RpbGUtcHJvcC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsSUFBWSxFQUFFLFVBQWdDO1FBQy9ELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNQLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHNDQUFzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RixDQUFDO2dCQUNELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDUCxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDZixDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDUCxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSx5Q0FBeUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDaEcsQ0FBQztnQkFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ1AsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO2dCQUNELE9BQU8sR0FBRyxDQUFDO1lBQ2YsQ0FBQztZQUNELElBQUksSUFBSSxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7b0JBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDZixDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxRCxDQUFDOytHQXBDUSxZQUFZOzZHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgQmFyc2FBcGkgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndGlsZVByb3AnXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVQcm9wUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShkYXRhOiBhbnksIHByb3A6IHN0cmluZywgcGFyYW1ldGVycz86IE1ldGFvYmplY3REYXRhTW9kZWwpOiBzdHJpbmcgfCBhbnkge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgaWYgKHByb3AgPT09ICdUaXRsZScpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsID0gZGF0YS5UaWxlVGl0bGU7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoZGF0YSwgJ0NvbXBvbmVudC5TZXR0aW5ncy5UaWxlU2V0dGluZy5UaXRsZScsICcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF2YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoZGF0YSwgJ1RpdGxlJywgJycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHByb3AgPT09ICdTdWJ0aXRsZScpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsID0gZGF0YS5TdWJ0aXRsZTtcbiAgICAgICAgICAgICAgICBpZiAoIXZhbCkge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShkYXRhLCAnQ29tcG9uZW50LlNldHRpbmdzLlRpbGVTZXR0aW5nLlN1YnRpdGxlJywgJycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXZhbCkge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShkYXRhLCAnU3VidGl0bGUnLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvcCA9PT0gJ0R5bmFtaWNDb21tYW5kJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhWydEeW5hbWljQ29tbWFuZCddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEuQ29tcG9uZW50ICYmIGRhdGEuQ29tcG9uZW50LlNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gZGF0YS5Db21wb25lbnQuU2V0dGluZ3MuVGlsZVNldHRpbmdbcHJvcF07XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLkNvbXBvbmVudC5TZXR0aW5nc1twcm9wXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyYW1ldGVycyA/IHBhcmFtZXRlcnMuVGlsZVNldHRpbmdbcHJvcF0gOiAnJztcbiAgICB9XG59XG4iXX0=
@@ -1,36 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FilterAppsGroupedPipe {
4
- transform(value, term) {
5
- return value?.filter((cat) => !!cat.Apps.filter((app) => app.$Caption.includes(term ?? ''))?.length);
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAppsGroupedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterAppsGroupedPipe, isStandalone: true, name: "filterAppsGrouped", pure: false }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAppsGroupedPipe, decorators: [{
11
- type: Pipe,
12
- args: [{
13
- name: 'filterAppsGrouped',
14
- standalone: true,
15
- pure: false
16
- }]
17
- }] });
18
- export class FilterAppsPipe {
19
- transform(value, term) {
20
- if (!Array.isArray(value) || !term) {
21
- return value;
22
- }
23
- return value?.filter((app) => app.$Caption.includes(term));
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAppsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
26
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterAppsPipe, isStandalone: true, name: "filterApps", pure: false }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAppsPipe, decorators: [{
29
- type: Pipe,
30
- args: [{
31
- name: 'filterApps',
32
- standalone: true,
33
- pure: false
34
- }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWFwcHMtZ3JvdXBlZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9wb3BvdmVyLWFwcC1maW5kZXIvZmlsdGVyLWFwcHMtZ3JvdXBlZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFNBQVMsQ0FBQyxLQUErQyxFQUFFLElBQVk7UUFDbkUsT0FBTyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pHLENBQUM7K0dBSFEscUJBQXFCOzZHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBTGpDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxLQUFLO2lCQUNkOztBQVlELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFNBQVMsQ0FBQyxLQUErQyxFQUFFLElBQVk7UUFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7K0dBTlEsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUwxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLEtBQUs7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ZpbHRlckFwcHNHcm91cGVkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckFwcHNHcm91cGVkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHwgdW5kZWZpbmVkIHwgbnVsbCwgdGVybTogc3RyaW5nKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB2YWx1ZT8uZmlsdGVyKChjYXQpID0+ICEhY2F0LkFwcHMuZmlsdGVyKChhcHApID0+IGFwcC4kQ2FwdGlvbi5pbmNsdWRlcyh0ZXJtID8/ICcnKSk/Lmxlbmd0aCk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ZpbHRlckFwcHMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQXBwc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB8IHVuZGVmaW5lZCB8IG51bGwsIHRlcm06IHN0cmluZyk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF0ZXJtKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlPy5maWx0ZXIoKGFwcCkgPT4gYXBwLiRDYXB0aW9uLmluY2x1ZGVzKHRlcm0pKTtcbiAgICB9XG59XG4iXX0=
@@ -1,102 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
- import { map, takeUntil } from 'rxjs/operators';
3
- import { BaseComponent } from 'barsa-novin-ray-core';
4
- import { PinTileComponent } from '../pin-tile/pin-tile.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@fundamental-ngx/core";
7
- import * as i2 from "../app-finder.service";
8
- export class PopoverAppFinderComponent extends BaseComponent {
9
- constructor(_cdr, _dialogService, _appFinderService, _el, _contentDensityService) {
10
- super();
11
- this._cdr = _cdr;
12
- this._dialogService = _dialogService;
13
- this._appFinderService = _appFinderService;
14
- this._el = _el;
15
- this.closeMenu = new EventEmitter();
16
- this.isAllSelected = true;
17
- this.contentDensity$ = _contentDensityService.contentDensity.asObservable();
18
- this.appGroups$ = this._appFinderService.appGroups$.pipe(map((appGroups) => {
19
- appGroups.forEach((cat) => {
20
- this._appFinderService.loadAppsByAppGroup(appGroups, cat);
21
- });
22
- return appGroups;
23
- }));
24
- this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;
25
- this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;
26
- this.deviceSize$ = this._appFinderService.deviceSize$;
27
- this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;
28
- this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));
29
- }
30
- ngOnInit() {
31
- super.ngOnInit();
32
- this.contentHeight = 'calc(' + this._el.nativeElement.offsetHeight + 'px - 2.75rem)';
33
- this.sideContentSize$ = this.deviceSize$.pipe(takeUntil(this._onDestroy$), map((deviceSize) => {
34
- switch (deviceSize) {
35
- case 's':
36
- return 'sm';
37
- case 'm':
38
- return 'md';
39
- case 'l':
40
- return 'lg';
41
- case 'xl':
42
- return 'xl';
43
- default:
44
- return 'l';
45
- }
46
- }));
47
- }
48
- onSelectedAppGroupChange(appGroupId) {
49
- this._changeGroup(appGroupId);
50
- }
51
- onPinClick(app) {
52
- const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);
53
- const appTileGroups = this._appFinderService.appTileGroups;
54
- const deviceSize = this._appFinderService.deviceSize;
55
- const mobile = deviceSize === 's';
56
- this._dialogService
57
- .open(PinTileComponent, {
58
- data: { app, pinnedAppInTileGroups, appTileGroups },
59
- minWidth: '350px',
60
- minHeight: '420px',
61
- draggable: false,
62
- mobile,
63
- resizable: false,
64
- verticalPadding: false,
65
- backdropClickCloseable: false
66
- })
67
- .afterClosed.subscribe((result) => {
68
- this._appTileGroupsPinChange(result);
69
- });
70
- }
71
- onRefresh() { }
72
- async _appTileGroupsPinChange(result) {
73
- try {
74
- // Will try to ask for permission
75
- this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {
76
- this._cdr.detectChanges();
77
- });
78
- }
79
- catch (err) {
80
- // show msg error
81
- }
82
- finally {
83
- // show toast successful
84
- }
85
- }
86
- _changeGroup(appGroupId) {
87
- this.isAllSelected = false;
88
- this._appFinderService.selectAppGroup(appGroupId);
89
- this._cdr.detectChanges();
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverAppFinderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.AppFinderService }, { token: i0.ElementRef }, { token: i1.ContentDensityService }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PopoverAppFinderComponent, selector: "bt-popover-app-finder", outputs: { closeMenu: "closeMenu" }, host: { classAttribute: "!tw-min-h-min" }, usesInheritance: true, ngImport: i0, template: "<!-- \n<div>\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\n <fd-input-group\n glyph=\"decline\"\n glyphAriaLabel=\"Clear\"\n placeholder=\"\u062C\u0633\u062A\u062C\u0648\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"searchTerm = ''\"\n >\n </fd-input-group>\n </div>\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\n <fd-panel\n fdCompact\n expandAriaLabel=\"Panel Expand\"\n expandAriaLabelledBy=\"panel-compact-1\"\n [expanded]=\"!!searchTerm?.length\"\n >\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\n <ul fd-list [noBorder]=\"false\">\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\n <li fd-list-item>\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\n <i fd-list-icon glyph=\"history\"></i>\n <span fd-list-title>{{ app.Title }}</span>\n <span fd-list-secondary>\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\n <button\n ariaLabel=\"Bookmark\"\n fdType=\"transparent\"\n title=\"Bookmark\"\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'transparent'\n : app.$HasPinned\n ? 'emphasized'\n : 'transparent'\n \"\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\n ></button>\n }\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </fd-panel>\n }\n</div> -->\n", styles: [":host{display:block;min-height:100vh}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverAppFinderComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'bt-popover-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, host: {
97
- class: '!tw-min-h-min'
98
- }, template: "<!-- \n<div>\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\n <fd-input-group\n glyph=\"decline\"\n glyphAriaLabel=\"Clear\"\n placeholder=\"\u062C\u0633\u062A\u062C\u0648\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"searchTerm = ''\"\n >\n </fd-input-group>\n </div>\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\n <fd-panel\n fdCompact\n expandAriaLabel=\"Panel Expand\"\n expandAriaLabelledBy=\"panel-compact-1\"\n [expanded]=\"!!searchTerm?.length\"\n >\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\n <ul fd-list [noBorder]=\"false\">\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\n <li fd-list-item>\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\n <i fd-list-icon glyph=\"history\"></i>\n <span fd-list-title>{{ app.Title }}</span>\n <span fd-list-secondary>\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\n <button\n ariaLabel=\"Bookmark\"\n fdType=\"transparent\"\n title=\"Bookmark\"\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'transparent'\n : app.$HasPinned\n ? 'emphasized'\n : 'transparent'\n \"\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\n ></button>\n }\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </fd-panel>\n }\n</div> -->\n", styles: [":host{display:block;min-height:100vh}\n"] }]
99
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DialogService }, { type: i2.AppFinderService }, { type: i0.ElementRef }, { type: i1.ContentDensityService }], propDecorators: { closeMenu: [{
100
- type: Output
101
- }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hcHAtZmluZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvcG9wb3Zlci1hcHAtZmluZGVyL3BvcG92ZXItYXBwLWZpbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3BvcG92ZXItYXBwLWZpbmRlci9wb3BvdmVyLWFwcC1maW5kZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sc0JBQXNCLENBQUM7QUFHakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFXbEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFnQnhELFlBQ1ksSUFBdUIsRUFDdkIsY0FBNkIsRUFDN0IsaUJBQW1DLEVBQ25DLEdBQWUsRUFDdkIsc0JBQTZDO1FBRTdDLEtBQUssRUFBRSxDQUFDO1FBTkEsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBbkJqQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQXFCakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUUsSUFBSSxDQUFDLFVBQVUs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QyxDQUFDO0lBQ1gsQ0FBQztJQUNELFNBQVMsS0FBVSxDQUFDO0lBQ3BCLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxNQUc3QjtRQUNHLElBQUksQ0FBQztZQUNELGlDQUFpQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtnQkFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsaUJBQWlCO1FBQ3JCLENBQUM7Z0JBQVMsQ0FBQztZQUNQLHdCQUF3QjtRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUNPLFlBQVksQ0FBQyxVQUFrQjtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0E1R1EseUJBQXlCO21HQUF6Qix5QkFBeUIsb0tDM0J0Qyw4aEZBMERBOzs0RkQvQmEseUJBQXlCO2tCQVRyQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsZUFBZTtxQkFDekI7OE1BR1MsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBDb250ZW50RGVuc2l0eVNlcnZpY2UsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBBcHBGaW5kZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWZpbmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFRpbGVHcm91cFBpbiB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBQaW5UaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGluLXRpbGUvcGluLXRpbGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC1wb3BvdmVyLWFwcC1maW5kZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWFwcC1maW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BvcG92ZXItYXBwLWZpbmRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICchdHctbWluLWgtbWluJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckFwcEZpbmRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBjbG9zZU1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgc2VsZWN0ZWRHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBpc0FsbFNlbGVjdGVkID0gdHJ1ZTtcbiAgICBhcHBHcm91cHMkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXSB8IHVuZGVmaW5lZD47XG4gICAgYXBwVGlsZUdyb3VwcyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcbiAgICBzaWRlQ29udGVudFNpemUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcbiAgICBzZWxlY3RlZEFwcEdyb3VwJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsIHwgdW5kZWZpbmVkPjtcbiAgICBzZWxlY3RlZEFwcEdyb3VwSWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbW9iaWxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjb250ZW50SGVpZ2h0OiBzdHJpbmc7XG4gICAgcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2FwcEZpbmRlclNlcnZpY2U6IEFwcEZpbmRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSQgPSBfY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5LmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLmFwcEdyb3VwcyQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmFwcEdyb3VwcyQucGlwZShcbiAgICAgICAgICAgIG1hcCgoYXBwR3JvdXBzKSA9PiB7XG4gICAgICAgICAgICAgICAgYXBwR3JvdXBzLmZvckVhY2goKGNhdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmxvYWRBcHBzQnlBcHBHcm91cChhcHBHcm91cHMsIGNhdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcEdyb3VwcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBcHBHcm91cCQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnNlbGVjdGVkQXBwR3JvdXAkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXBwR3JvdXBJZCQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnNlbGVjdGVkQXBwR3JvdXBJZCQ7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmRldmljZVNpemUkO1xuICAgICAgICB0aGlzLnBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQ7XG4gICAgICAgIHRoaXMubW9iaWxlJCA9IHRoaXMuZGV2aWNlU2l6ZSQucGlwZShtYXAoKGMpID0+IGMgPT09ICdzJykpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuY29udGVudEhlaWdodCA9ICdjYWxjKCcgKyB0aGlzLl9lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArICdweCAtIDIuNzVyZW0pJztcblxuICAgICAgICB0aGlzLnNpZGVDb250ZW50U2l6ZSQgPSB0aGlzLmRldmljZVNpemUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRldmljZVNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3NtJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ21kJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2xnJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAneGwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd4bCc7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2wnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RlZEFwcEdyb3VwQ2hhbmdlKGFwcEdyb3VwSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VHcm91cChhcHBHcm91cElkKTtcbiAgICB9XG5cbiAgICBvblBpbkNsaWNrKGFwcDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaW5uZWRBcHBJblRpbGVHcm91cHMgPSB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLmxvYWRQaW5uZWRBcHBJblRpbGVHcm91cHMoYXBwKTtcbiAgICAgICAgY29uc3QgYXBwVGlsZUdyb3VwcyA9IHRoaXMuX2FwcEZpbmRlclNlcnZpY2UuYXBwVGlsZUdyb3VwcztcbiAgICAgICAgY29uc3QgZGV2aWNlU2l6ZSA9IHRoaXMuX2FwcEZpbmRlclNlcnZpY2UuZGV2aWNlU2l6ZTtcbiAgICAgICAgY29uc3QgbW9iaWxlID0gZGV2aWNlU2l6ZSA9PT0gJ3MnO1xuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3BlbihQaW5UaWxlQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgZGF0YTogeyBhcHAsIHBpbm5lZEFwcEluVGlsZUdyb3VwcywgYXBwVGlsZUdyb3VwcyB9LFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMzUwcHgnLFxuICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQyMHB4JyxcbiAgICAgICAgICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1vYmlsZSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2VcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBUaWxlR3JvdXBzUGluQ2hhbmdlKHJlc3VsdCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgb25SZWZyZXNoKCk6IHZvaWQge31cbiAgICBhc3luYyBfYXBwVGlsZUdyb3Vwc1BpbkNoYW5nZShyZXN1bHQ6IHtcbiAgICAgICAgYXBwVGlsZUdyb3Vwc1BpbjogQXBwVGlsZUdyb3VwUGluW107XG4gICAgICAgIGFwcDogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaWxsIHRyeSB0byBhc2sgZm9yIHBlcm1pc3Npb25cbiAgICAgICAgICAgIHRoaXMuX2FwcEZpbmRlclNlcnZpY2UucGluVGlsZUNoYW5nZWQocmVzdWx0LmFwcFRpbGVHcm91cHNQaW4sIHJlc3VsdC5hcHAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgLy8gc2hvdyBtc2cgZXJyb3JcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIC8vIHNob3cgdG9hc3Qgc3VjY2Vzc2Z1bFxuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX2NoYW5nZUdyb3VwKGFwcEdyb3VwSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fYXBwRmluZGVyU2VydmljZS5zZWxlY3RBcHBHcm91cChhcHBHcm91cElkKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8IS0tIFxuPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiIXR3LXB4LTQgIXR3LXB0LTJcIiBmZC1mb3JtLWl0ZW0+XG4gICAgICAgIDxmZC1pbnB1dC1ncm91cFxuICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgIGdseXBoQXJpYUxhYmVsPVwiQ2xlYXJcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLYrNiz2KrYrNmIXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwic2VhcmNoVGVybSA9ICcnXCJcbiAgICAgICAgPlxuICAgICAgICA8L2ZkLWlucHV0LWdyb3VwPlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKGNhdCBvZiBhcHBHcm91cHMkIHwgYXN5bmMgfCBmaWx0ZXJBcHBzR3JvdXBlZDpzZWFyY2hUZXJtOyB0cmFjayBjYXQuSWQpIHtcbiAgICA8ZmQtcGFuZWxcbiAgICAgICAgZmRDb21wYWN0XG4gICAgICAgIGV4cGFuZEFyaWFMYWJlbD1cIlBhbmVsIEV4cGFuZFwiXG4gICAgICAgIGV4cGFuZEFyaWFMYWJlbGxlZEJ5PVwicGFuZWwtY29tcGFjdC0xXCJcbiAgICAgICAgW2V4cGFuZGVkXT1cIiEhc2VhcmNoVGVybT8ubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxoNSBmZC1wYW5lbC10aXRsZSBpZD1cInBhbmVsLWNvbXBhY3QtMVwiPnt7IGNhdC5UaXRsZSB9fTwvaDU+XG4gICAgICAgIDxkaXYgZmQtcGFuZWwtY29udGVudCBhcmlhTGFiZWw9XCJQYW5lbCBDb250ZW50XCIgaWQ9XCJwYW5lbC1jb250ZW50LTNcIiBjbGFzcz1cIiFwLTBcIj5cbiAgICAgICAgICAgIDx1bCBmZC1saXN0IFtub0JvcmRlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGFwcCBvZiBjYXQuQXBwcyB8IGZpbHRlckFwcHM6c2VhcmNoVGVybTsgdHJhY2sgYXBwLklkKSB7XG4gICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIFtuYXZpZ2F0ZWRdPVwidHJ1ZVwiIFtkeW5Db21tYW5kXT1cImFwcC5EeW5hbWljQ29tbWFuZFwiIChjbGljayk9XCJjbG9zZU1lbnUuZW1pdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBmZC1saXN0LWljb24gZ2x5cGg9XCJoaXN0b3J5XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBhcHAuVGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXNlY29uZGFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYocGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJCB8IGFzeW5jOyBhcyBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIkJvb2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkJvb2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIncHVzaHBpbi1vZmYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1thcHAuSWRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHNbYXBwLklkXS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZW1waGFzaXplZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAndHJhbnNwYXJlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhcHAuJEhhc1Bpbm5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2VtcGhhc2l6ZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAndHJhbnNwYXJlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IG9uUGluQ2xpY2soYXBwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1wYW5lbD5cbiAgICB9XG48L2Rpdj4gLS0+XG4iXX0=
@@ -1,34 +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 ProfileTileComponent extends BaseBtTileComponent {
11
- get fileId() {
12
- let fileId = this.settings?.Image?.FileId;
13
- if (!fileId) {
14
- fileId = this.settings?.CalcImage;
15
- }
16
- return fileId;
17
- }
18
- ngOnInit() {
19
- super.ngOnInit();
20
- this.icon = this.settings?.Icon;
21
- this.fileId2 = this.fileId;
22
- this.calcImage = this.settings?.CalcImage;
23
- if (this.calcImage && this.calcImage.toLowerCase().startsWith('ih')) {
24
- this.iconCalc = this.calcImage;
25
- }
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ProfileTileComponent, selector: "bt-profile-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\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>\n @if (fileId2 || calcImage) {\n <span\n class=\"profile\"\n fd-tile-profile-img\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if(icon){\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\n } @else {\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\n }\n </div>\n</bt-tile>\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\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: "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 }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileTileComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'bt-profile-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\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>\n @if (fileId2 || calcImage) {\n <span\n class=\"profile\"\n fd-tile-profile-img\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if(icon){\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\n } @else {\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\n }\n </div>\n</bt-tile>\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"] }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvcHJvZmlsZS10aWxlL3Byb2ZpbGUtdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3Byb2ZpbGUtdGlsZS9wcm9maWxlLXRpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQVFwRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQXVDO0lBTzdFLElBQUksTUFBTTtRQUNOLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDVixNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDOytHQXRCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4RUNWakMsZ3VDQWdDQTs7NEZEdEJhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUJ0VGlsZUNvbXBvbmVudCwgUHJvZmlsZVRpbGVTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbGVQaWN0dXJlSW5mb01vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidC1wcm9maWxlLXRpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLXRpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2ZpbGUtdGlsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVUaWxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUJ0VGlsZUNvbXBvbmVudDxQcm9maWxlVGlsZVNldHRpbmc+IHtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgaWNvbkNhbGM6IHN0cmluZztcbiAgICBpY29uQ29sb3I6IHN0cmluZztcbiAgICBjYWxjSW1hZ2U6IHN0cmluZztcbiAgICBpbWFnZTogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XG4gICAgZmlsZUlkMjogc3RyaW5nO1xuICAgIGdldCBmaWxlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGZpbGVJZCA9IHRoaXMuc2V0dGluZ3M/LkltYWdlPy5GaWxlSWQ7XG4gICAgICAgIGlmICghZmlsZUlkKSB7XG4gICAgICAgICAgICBmaWxlSWQgPSB0aGlzLnNldHRpbmdzPy5DYWxjSW1hZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGVJZDtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaWNvbiA9IHRoaXMuc2V0dGluZ3M/Lkljb247XG4gICAgICAgIHRoaXMuZmlsZUlkMiA9IHRoaXMuZmlsZUlkO1xuICAgICAgICB0aGlzLmNhbGNJbWFnZSA9IHRoaXMuc2V0dGluZ3M/LkNhbGNJbWFnZTtcbiAgICAgICAgaWYgKHRoaXMuY2FsY0ltYWdlICYmIHRoaXMuY2FsY0ltYWdlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnaWgnKSkge1xuICAgICAgICAgICAgdGhpcy5pY29uQ2FsYyA9IHRoaXMuY2FsY0ltYWdlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ0LXRpbGVcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICBbdHlwZV09XCInbGF1bmNoJ1wiXG4gICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgW2JhY2tDb2xvcl09XCJiYWNrQ29sb3JcIlxuICAgIFtzZXRUb1N0b3JhZ2VdPVwic2V0VG9TdG9yYWdlXCJcbiAgICBbbGlzdE1vZGVdPVwibGlzdE1vZGVcIlxuICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgIFtuYXZpZ2F0ZUJhY2tPbkNsaWNrXT1cIm5hdmlnYXRlQmFja09uQ2xpY2tcIlxuICAgIFt0aXRsZV09XCJkYXRhIHwgdGlsZVByb3A6ICdUaXRsZSc6cGFyYW1ldGVyc1wiXG4gICAgW3N1YnRpdGxlXT1cImRhdGEgfCB0aWxlUHJvcDogJ1N1YnRpdGxlJzpwYXJhbWV0ZXJzXCJcbiAgICBbZHluYW1pY0NvbW1hbmRdPVwiZGF0YSB8IHRpbGVQcm9wOiAnRHluYW1pY0NvbW1hbmQnOnBhcmFtZXRlcnNcIlxuICAgIFtpc0RvdWJsZV09XCJkYXRhIHwgdGlsZVByb3A6ICdJc0RvdWJsZSc6cGFyYW1ldGVyc1wiXG4gICAgW2Zvb3Rlcl09XCJkYXRhIHwgdGlsZVByb3A6ICdGb290ZXInOnBhcmFtZXRlcnNcIlxuICAgIChoaWRlQ2xpY2spPVwiaGlkZUNsaWNrLmVtaXQoKVwiXG4gICAgKHJlbmFtZUNsaWNrKT1cInJlbmFtZUNsaWNrLmVtaXQoKVwiXG4gICAgKGNsaWNrKT1cIm9uVGlsZUNsaWNrKClcIlxuPlxuICAgIDxkaXYgZmQtdGlsZS1jb250ZW50PlxuICAgICAgICBAaWYgKGZpbGVJZDIgfHwgY2FsY0ltYWdlKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInByb2ZpbGVcIlxuICAgICAgICAgICAgZmQtdGlsZS1wcm9maWxlLWltZ1xuICAgICAgICAgICAgW2JhY2tncm91bmRJbWFnZV09XCJjYWxjSW1hZ2UgfHwgKGZpbGVJZDIgfCBwaWNGaWVsZFNyYzogJ0dldFBpY3R1cmVGcm9tRmlsZUluZm8nOm51bGwpXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSBpZihpY29uKXtcbiAgICAgICAgPGZkLWljb24gW2ZvbnRdPVwiaWNvbiB8IHNhcEZvbnRcIiBmZC10aWxlLXByb2ZpbGUtaW1nIHN0eWxlPVwiZm9udC1zaXplOiAycmVtXCIgW2dseXBoXT1cImljb25cIj48L2ZkLWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZmQtaWNvbiBmb250PVwiU0FQLWljb25zLVROVFwiIGZkLXRpbGUtcHJvZmlsZS1pbWcgc3R5bGU9XCJmb250LXNpemU6IDJyZW1cIiBnbHlwaD1cInVzZXJcIj48L2ZkLWljb24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvYnQtdGlsZT5cbiJdfQ==