barsa-tiles 2.2.73 → 2.2.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/barsa-tiles.mjs +213 -204
- package/fesm2022/barsa-tiles.mjs.map +1 -1
- package/lib/shellbar/shellbar.component.d.ts +2 -2
- package/lib/tiles.service.d.ts +1 -1
- package/package.json +3 -5
- package/esm2022/barsa-tiles.mjs +0 -5
- package/esm2022/lib/action-item/action-item.component.mjs +0 -17
- package/esm2022/lib/action-links.pipe.mjs +0 -17
- package/esm2022/lib/actions-link/actions-link.component.mjs +0 -50
- package/esm2022/lib/app-finder/app-finder.component.mjs +0 -52
- package/esm2022/lib/app-finder-app-list/app-finder-app-list.component.mjs +0 -38
- package/esm2022/lib/app-finder-group/app-finder-group.component.mjs +0 -41
- package/esm2022/lib/app-finder.service.mjs +0 -121
- package/esm2022/lib/barsa-pin-app/barsa-pin-app.component.mjs +0 -34
- package/esm2022/lib/barsa-shellbar/barsa-shellbar.component.mjs +0 -183
- package/esm2022/lib/barsa-tile-group-page/barsa-tile-group-page.component.mjs +0 -85
- package/esm2022/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.mjs +0 -45
- package/esm2022/lib/barsa-tiles-routing.module.mjs +0 -58
- package/esm2022/lib/barsa-tiles.module.mjs +0 -288
- package/esm2022/lib/card-tile/card-tile.component.mjs +0 -34
- package/esm2022/lib/change-app-tile/change-app-tile.component.mjs +0 -46
- package/esm2022/lib/create-app-group/create-app-group.component.mjs +0 -43
- package/esm2022/lib/directives/emptylist.directive.mjs +0 -37
- package/esm2022/lib/directives/tile-class.directive.mjs +0 -51
- package/esm2022/lib/directives/tile-dynamic-command.directive.mjs +0 -77
- package/esm2022/lib/feed-tile/feed-tile.component.mjs +0 -31
- package/esm2022/lib/footer-edit-tile/footer-edit-tile.component.mjs +0 -13
- package/esm2022/lib/footer-tile/footer-tile.component.mjs +0 -22
- package/esm2022/lib/form-app-finder/form-app-finder.component.mjs +0 -96
- package/esm2022/lib/form-tile/form-tile.component.mjs +0 -34
- package/esm2022/lib/logo-tile/logo-tile.component.mjs +0 -23
- package/esm2022/lib/micro-tile-chart-area/micro-tile-chart-area.component.mjs +0 -40
- package/esm2022/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.mjs +0 -16
- package/esm2022/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +0 -26
- package/esm2022/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.mjs +0 -20
- package/esm2022/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.mjs +0 -31
- package/esm2022/lib/micro-tile-chart-line/micro-tile-chart-line.component.mjs +0 -32
- package/esm2022/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.mjs +0 -27
- package/esm2022/lib/models/app-tile-footer-section.mjs +0 -2
- package/esm2022/lib/models/app-tile-footer.mjs +0 -2
- package/esm2022/lib/models/app-tile-group-pin.mjs +0 -2
- package/esm2022/lib/models/base-bt-tile-component.mjs +0 -27
- package/esm2022/lib/models/base-tile-component.mjs +0 -59
- package/esm2022/lib/models/base-tile-setting.mjs +0 -2
- package/esm2022/lib/models/feed-tile-setting.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -14
- package/esm2022/lib/models/logo-tile-setting.mjs +0 -2
- package/esm2022/lib/models/micro-tile-chart-bullet-setting.mjs +0 -2
- package/esm2022/lib/models/news-tile-setting.mjs +0 -2
- package/esm2022/lib/models/numeric-tile-setting.mjs +0 -2
- package/esm2022/lib/models/profile-tile-setting.mjs +0 -2
- package/esm2022/lib/models/tile-setting.mjs +0 -2
- package/esm2022/lib/models/user-portal-settings.mjs +0 -2
- package/esm2022/lib/news-tile/news-tile.component.mjs +0 -53
- package/esm2022/lib/notification-group/notification-group.component.mjs +0 -111
- package/esm2022/lib/notification-group-header/notification-group-header.component.mjs +0 -38
- package/esm2022/lib/numeric-tile/numeric-tile.component.mjs +0 -64
- package/esm2022/lib/pin-tile/pin-tile.component.mjs +0 -110
- package/esm2022/lib/pipes/group-tiles.pipe.mjs +0 -32
- package/esm2022/lib/pipes/home-group.pipe.mjs +0 -18
- package/esm2022/lib/pipes/tile-home-filter.pipe.mjs +0 -29
- package/esm2022/lib/pipes/tile-prop.pipe.mjs +0 -51
- package/esm2022/lib/popover-app-finder/filter-apps-grouped.pipe.mjs +0 -36
- package/esm2022/lib/popover-app-finder/popover-app-finder.component.mjs +0 -102
- package/esm2022/lib/profile-tile/profile-tile.component.mjs +0 -34
- package/esm2022/lib/report-tile/report-tile.component.mjs +0 -38
- package/esm2022/lib/shellbar/shellbar.component.mjs +0 -234
- package/esm2022/lib/simple-tile/simple-tile.component.mjs +0 -28
- package/esm2022/lib/tile/tile.component.mjs +0 -51
- package/esm2022/lib/tile-renderer.directive.mjs +0 -86
- package/esm2022/lib/tile-size.directive.mjs +0 -31
- package/esm2022/lib/tile-style.directive.mjs +0 -30
- package/esm2022/lib/tiles-viewer/tiles-viewer.component.mjs +0 -188
- package/esm2022/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +0 -173
- package/esm2022/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +0 -91
- package/esm2022/lib/tiles-viewer.service.mjs +0 -130
- package/esm2022/lib/tiles.service.mjs +0 -614
- package/esm2022/public-api.mjs +0 -52
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output, signal } from '@angular/core';
|
|
2
|
-
import { BaseComponent, BarsaApi, GroupByService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/platform";
|
|
6
|
-
export class NotificationGroupComponent extends BaseComponent {
|
|
7
|
-
constructor(_cdr) {
|
|
8
|
-
super();
|
|
9
|
-
this._cdr = _cdr;
|
|
10
|
-
this._deviceSize = '';
|
|
11
|
-
this.viewed = new EventEmitter();
|
|
12
|
-
this.remove = new EventEmitter();
|
|
13
|
-
this.actionClick = new EventEmitter();
|
|
14
|
-
this.showEvent = new EventEmitter();
|
|
15
|
-
this.loadMore = new EventEmitter();
|
|
16
|
-
this.expanded = {};
|
|
17
|
-
this.tabList = [
|
|
18
|
-
{ label: 'By Date', title: 'CreationDateOnly' },
|
|
19
|
-
{ label: 'By Type', title: 'Subject' },
|
|
20
|
-
{ label: 'By Priority', title: 'Priority' }
|
|
21
|
-
];
|
|
22
|
-
this.viewedNotifications = [];
|
|
23
|
-
this.reportSetting = signal({
|
|
24
|
-
RelatedReport: { Id: '0', $Caption: '' },
|
|
25
|
-
RowClick: '',
|
|
26
|
-
DataOnly: false
|
|
27
|
-
});
|
|
28
|
-
this._groupByServcie = inject(GroupByService);
|
|
29
|
-
this._selectedTab = this.tabList[0].title;
|
|
30
|
-
this._selectedTab = this.tabList[0].title;
|
|
31
|
-
this._setGroupBy();
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
super.ngOnInit();
|
|
35
|
-
this._deviceSize = this.deviceSize;
|
|
36
|
-
this.reportSetting.set({
|
|
37
|
-
RelatedReport: { Id: this.notificationReport.Id, $Caption: '' },
|
|
38
|
-
RowClick: '',
|
|
39
|
-
DataOnly: false
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
onSelectedTabChange(selectedTab) {
|
|
43
|
-
if (this._selectedTab !== selectedTab.id) {
|
|
44
|
-
this._selectedTab = selectedTab.id;
|
|
45
|
-
this._setGroupBy();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
ngOnChanges(changes) {
|
|
49
|
-
super.ngOnChanges(changes);
|
|
50
|
-
const { notifications } = changes;
|
|
51
|
-
if (notifications && !notifications.firstChange) {
|
|
52
|
-
this._cdr.detectChanges();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
onWorkflowExecuteChoiceStatusChanged(e, mo) {
|
|
56
|
-
if (e.result && !e.error) {
|
|
57
|
-
this.remove.emit({ items: [mo], silent: true });
|
|
58
|
-
BarsaApi.Bw.Toast.Success(`${e.choice?.Title} ${BarsaApi.BBB.Action}`);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
mo.$ChoiceDefStatus = e;
|
|
62
|
-
this._cdr.detectChanges();
|
|
63
|
-
}
|
|
64
|
-
_setGroupBy() {
|
|
65
|
-
this._groupByServcie.setGroupBy([
|
|
66
|
-
{
|
|
67
|
-
IsGrouped: true,
|
|
68
|
-
Name: this._selectedTab,
|
|
69
|
-
SortDirection: 'desc'
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
IsGrouped: false,
|
|
73
|
-
Name: 'CreationDate',
|
|
74
|
-
SortDirection: 'desc'
|
|
75
|
-
}
|
|
76
|
-
]);
|
|
77
|
-
}
|
|
78
|
-
_trackByTitle(_index, _) {
|
|
79
|
-
return _index;
|
|
80
|
-
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount", notificationReport: "notificationReport" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", showEvent: "showEvent", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, providers: [GroupByService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fdp-icon-tab-bar size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\" (iconTabSelected)=\"onSelectedTabChange($event)\">\r\n @for (tab of tabList; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}\r\n\r\n<!-- \r\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\r\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\r\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\r\n <bsu-notification-item\r\n [notificationItem]=\"mo\"\r\n (viewed)=\"viewed.emit($event)\"\r\n (remove)=\"remove.emit($event)\"\r\n (showEvent)=\"showEvent.emit($event)\"\r\n (actionClick)=\"actionClick.emit($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n [deviceSize]=\"deviceSize\"\r\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\r\n ></bsu-notification-item>\r\n } @if (loading) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n }\r\n </div>\r\n</ng-template> -->\r\n<!-- @for (groupItem of tab.groupByItems; track _trackByKey(index2, groupItem); let index2 = $index) {\r\n <ul fd-notification-list>\r\n <fd-notification-group [expanded]=\"expanded[groupItem.Id]\" (click)=\"onExpanded(index2, groupItem)\">\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n @switch(index){ @case (0){\r\n {{ groupItem.CreationDate$Caption }}\r\n } @case(1){\r\n {{ groupItem.Subject }}\r\n\r\n } @case(2){\r\n {{ groupItem.Priority$Caption }}\r\n\r\n }}</span\r\n >\r\n </fd-notification-group-header>\r\n <fd-notification-group-list>\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar size=\"xs\" glyph=\"batch-payments\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <fd-icon glyph=\"error\" color=\"negative\"></fd-icon>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n Notification Title (unread) lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n </h4>\r\n </fd-notification-header>\r\n <p fd-notification-paragraph>\r\n Description of notification topic lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua.\r\n </p>\r\n <fd-notification-footer>\r\n <span fd-notification-footer-content>Product Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>Feature Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>11:11 AM</span>\r\n </fd-notification-footer>\r\n <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span>\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n ariaLabel=\"Close\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n </ul>\r\n\r\n } -->\r\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: i1.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "component", type: i2.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i2.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
83
|
-
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupComponent, decorators: [{
|
|
85
|
-
type: Component,
|
|
86
|
-
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [GroupByService], template: "<fdp-icon-tab-bar size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\" (iconTabSelected)=\"onSelectedTabChange($event)\">\r\n @for (tab of tabList; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}\r\n\r\n<!-- \r\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\r\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\r\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\r\n <bsu-notification-item\r\n [notificationItem]=\"mo\"\r\n (viewed)=\"viewed.emit($event)\"\r\n (remove)=\"remove.emit($event)\"\r\n (showEvent)=\"showEvent.emit($event)\"\r\n (actionClick)=\"actionClick.emit($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n [deviceSize]=\"deviceSize\"\r\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\r\n ></bsu-notification-item>\r\n } @if (loading) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n }\r\n </div>\r\n</ng-template> -->\r\n<!-- @for (groupItem of tab.groupByItems; track _trackByKey(index2, groupItem); let index2 = $index) {\r\n <ul fd-notification-list>\r\n <fd-notification-group [expanded]=\"expanded[groupItem.Id]\" (click)=\"onExpanded(index2, groupItem)\">\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n @switch(index){ @case (0){\r\n {{ groupItem.CreationDate$Caption }}\r\n } @case(1){\r\n {{ groupItem.Subject }}\r\n\r\n } @case(2){\r\n {{ groupItem.Priority$Caption }}\r\n\r\n }}</span\r\n >\r\n </fd-notification-group-header>\r\n <fd-notification-group-list>\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar size=\"xs\" glyph=\"batch-payments\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <fd-icon glyph=\"error\" color=\"negative\"></fd-icon>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n Notification Title (unread) lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n </h4>\r\n </fd-notification-header>\r\n <p fd-notification-paragraph>\r\n Description of notification topic lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua.\r\n </p>\r\n <fd-notification-footer>\r\n <span fd-notification-footer-content>Product Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>Feature Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>11:11 AM</span>\r\n </fd-notification-footer>\r\n <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span>\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n ariaLabel=\"Close\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n </ul>\r\n\r\n } -->\r\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"] }]
|
|
87
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { notifications: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], loading: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], deviceSize: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], notificationCount: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], notificationReport: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], _deviceSize: [{
|
|
98
|
-
type: HostBinding,
|
|
99
|
-
args: ['class']
|
|
100
|
-
}], viewed: [{
|
|
101
|
-
type: Output
|
|
102
|
-
}], remove: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}], actionClick: [{
|
|
105
|
-
type: Output
|
|
106
|
-
}], showEvent: [{
|
|
107
|
-
type: Output
|
|
108
|
-
}], loadMore: [{
|
|
109
|
-
type: Output
|
|
110
|
-
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbm90aWZpY2F0aW9uLWdyb3VwL25vdGlmaWNhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFFTixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILGFBQWEsRUFHYixRQUFRLEVBS1IsY0FBYyxFQUNqQixNQUFNLHNCQUFzQixDQUFDOzs7O0FBVTlCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxhQUFhO0lBNkJ6RCxZQUFvQixJQUF1QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQW1CO1FBdEJyQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUU3QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFrRCxDQUFDO1FBQzVFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVELENBQUM7UUFDdEYsY0FBUyxHQUFHLElBQUksWUFBWSxFQUEwRCxDQUFDO1FBQ3ZGLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlDLGFBQVEsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLFlBQU8sR0FBVTtZQUNiLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7WUFDL0MsRUFBRSxL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Q0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBYyxFQUFFLENBQVM7UUFDbkMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzsrR0FuRlEsMEJBQTBCO21HQUExQiwwQkFBMEIsOFlBRnhCLENBQUMsY0FBYyxDQUFDLHNFQ2xDL0IsK3dLQW1HQTs7NEZEL0RhLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyxhQUNOLENBQUMsY0FBYyxDQUFDO3NGQUdsQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRWdCLFdBQVc7c0JBQWhDLFdBQVc7dUJBQUMsT0FBTztnQkFFVixNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIGluamVjdCxcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIHNpZ25hbCxcclxuICAgIFdyaXRhYmxlU2lnbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25UYWJCYXJJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cyxcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgTm90aWZpY2F0aW9uSXRlbSxcclxuICAgIE5vdGlmaWNhdGlvbkFjdGlvbixcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIENvbnRhaW5lclJlcG9ydFNldHRpbmcsXHJcbiAgICBHcm91cEJ5U2VydmljZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1ub3RpZmljYXRpb24tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgICBwcm92aWRlcnM6IFtHcm91cEJ5U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkdyb3VwQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbkl0ZW1bXSB8IG51bGw7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uQ291bnQ6IHsgdW5yZWFkOiBudW1iZXI7IGFsbDogbnVtYmVyIH07XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25SZXBvcnQ6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIF9kZXZpY2VTaXplID0gJyc7XHJcblxyXG4gICAgQE91dHB1dCgpIHZpZXdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90aWZpY2F0aW9uSXRlbT4oKTtcclxuICAgIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbXM6IE5vdGlmaWNhdGlvbkl0ZW1bXTsgc2lsZW50OiBib29sZWFuIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogTm90aWZpY2F0aW9uSXRlbTsgYnRuOiBOb3RpZmljYXRpb25BY3Rpb24gfT4oKTtcclxuICAgIEBPdXRwdXQoKSBzaG93RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGFnOiBzdHJpbmc7IG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsOyBuYW1hOiBzdHJpbmcgfT4oKTtcclxuICAgIEBPdXRwdXQoKSBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBleHBhbmRlZDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcclxuICAgIHRhYkxpc3Q6IGFueVtdID0gW1xyXG4gICAgICAgIHsgbGFiZWw6ICdCeSBEYXRlJywgdGl0bGU6ICdDcmVhdGlvbkRhdGVPbmx5JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdCeSBUeXBlJywgdGl0bGU6ICdTdWJqZWN0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdCeSBQcmlvcml0eScsIHRpdGxlOiAnUHJpb3JpdHknIH1cclxuICAgIF07XHJcbiAgICB2aWV3ZWROb3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25JdGVtW10gPSBbXTtcclxuICAgIHJlcG9ydFNldHRpbmc6IFdyaXRhYmxlU2lnbmFsPENvbnRhaW5lclJlcG9ydFNldHRpbmc+ID0gc2lnbmFsKHtcclxuICAgICAgICBSZWxhdGVkUmVwb3J0OiB7IElkOiAnMCcsICRDYXB0aW9uOiAnJyB9LFxyXG4gICAgICAgIFJvd0NsaWNrOiAnJyxcclxuICAgICAgICBEYXRhT25seTogZmFsc2VcclxuICAgIH0pO1xyXG4gICAgcHJpdmF0ZSBfZ3JvdXBCeVNlcnZjaWUgPSBpbmplY3QoR3JvdXBCeVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3RbMF0udGl0bGU7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYiA9IHRoaXMudGFiTGlzdFswXS50aXRsZTtcclxuICAgICAgICB0aGlzLl9zZXRHcm91cEJ5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9kZXZpY2VTaXplID0gdGhpcy5kZXZpY2VTaXplO1xyXG4gICAgICAgIHRoaXMucmVwb3J0U2V0dGluZy5zZXQoe1xyXG4gICAgICAgICAgICBSZWxhdGVkUmVwb3J0OiB7IElkOiB0aGlzLm5vdGlmaWNhdGlvblJlcG9ydC5JZCwgJENhcHRpb246ICcnIH0sXHJcbiAgICAgICAgICAgIFJvd0NsaWNrOiAnJyxcclxuICAgICAgICAgICAgRGF0YU9ubHk6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlKHNlbGVjdGVkVGFiOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFRhYiAhPT0gc2VsZWN0ZWRUYWIuaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRUYWIgPSBzZWxlY3RlZFRhYi5pZDtcclxuICAgICAgICAgICAgdGhpcy5fc2V0R3JvdXBCeSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbnMgJiYgIW5vdGlmaWNhdGlvbnMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbldvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1c0NoYW5nZWQoZTogV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzLCBtbzogTm90aWZpY2F0aW9uSXRlbSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChlLnJlc3VsdCAmJiAhZS5lcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KHsgaXRlbXM6IFttb10sIHNpbGVudDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQncuVG9hc3QuU3VjY2VzcyhgJHtlLmNob2ljZT8uVGl0bGV9ICR7QmFyc2FBcGkuQkJCLkFjdGlvbn1gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtby4kQ2hvaWNlRGVmU3RhdHVzID0gZTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgX3NldEdyb3VwQnkoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZ3JvdXBCeVNlcnZjaWUuc2V0R3JvdXBCeShbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIElzR3JvdXBlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuX3NlbGVjdGVkVGFiLFxyXG4gICAgICAgICAgICAgICAgU29ydERpcmVjdGlvbjogJ2Rlc2MnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIElzR3JvdXBlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBOYW1lOiAnQ3JlYXRpb25EYXRlJyxcclxuICAgICAgICAgICAgICAgIFNvcnREaXJlY3Rpb246ICdkZXNjJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgX3RyYWNrQnlUaXRsZShfaW5kZXg6IG51bWJlciwgXzogc3RyaW5nKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gX2luZGV4O1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZHAtaWNvbi10YWItYmFyIHNpemU9XCJzXCIgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIiAoaWNvblRhYlNlbGVjdGVkKT1cIm9uU2VsZWN0ZWRUYWJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgQGZvciAodGFiIG9mIHRhYkxpc3Q7IHRyYWNrIHRhYi5sYWJlbDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XHJcbiAgICA8ZmRwLWljb24tdGFiLWJhci10YWIgW2xhYmVsXT1cInRhYi5sYWJlbCB8IGJiYlRyYW5zbGF0ZVwiIFt0aXRsZV09XCJ0YWIubGFiZWwgfCBiYmJUcmFuc2xhdGVcIiBbaWRdPVwidGFiLnRpdGxlXCI+XHJcbiAgICA8L2ZkcC1pY29uLXRhYi1iYXItdGFiPlxyXG4gICAgfVxyXG48L2ZkcC1pY29uLXRhYi1iYXI+XHJcbkBpZihyZXBvcnRTZXR0aW5nKCkgIT09bnVsbCl7XHJcbjxibnJjLXJlcG9ydC1jb250YWluZXIgW3NldHRpbmdzXT1cInJlcG9ydFNldHRpbmcoKVwiPiA8L2JucmMtcmVwb3J0LWNvbnRhaW5lcj5cclxufVxyXG5cclxuPCEtLSBcclxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25Cb2R5IGxldC1ub3RpZmljYXRpb25zIGxldC1leGFwYW5kZWQ9XCJleHBhbmRlZFwiPlxyXG4gICAgPGRpdiBzdHlsZT1cIm1heC1oZWlnaHQ6IDM0NnB4OyBvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW5cIj5cclxuICAgICAgICBAZm9yIChtbyBvZiBub3RpZmljYXRpb25zOyB0cmFjayBfdHJhY2tNb0J5SWQoJGluZGV4LCBtbyk7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgICAgIDxic3Utbm90aWZpY2F0aW9uLWl0ZW1cclxuICAgICAgICAgICAgW25vdGlmaWNhdGlvbkl0ZW1dPVwibW9cIlxyXG4gICAgICAgICAgICAodmlld2VkKT1cInZpZXdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoc2hvd0V2ZW50KT1cInNob3dFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwiYWN0aW9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJcclxuICAgICAgICAgICAgW2ludGVyc2VjdGlvblRocmVzaG9sZF09XCIwLjVcIlxyXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgKHZpc2liaWxpdHlDaGFuZ2UpPVwib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudCwgbW8sIGxhc3QpXCJcclxuICAgICAgICA+PC9ic3Utbm90aWZpY2F0aW9uLWl0ZW0+XHJcbiAgICAgICAgfSBAaWYgKGxvYWRpbmcpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiAtLT5cclxuPCEtLSBAZm9yIChncm91cEl0ZW0gb2YgdGFiLmdyb3VwQnlJdGVtczsgdHJhY2sgX3RyYWNrQnlLZXkoaW5kZXgyLCBncm91cEl0ZW0pOyBsZXQgaW5kZXgyID0gJGluZGV4KSB7XHJcbiAgICA8dWwgZmQtbm90aWZpY2F0aW9uLWxpc3Q+XHJcbiAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1ncm91cCBbZXhwYW5kZWRdPVwiZXhwYW5kZWRbZ3JvdXBJdGVtLklkXVwiIChjbGljayk9XCJvbkV4cGFuZGVkKGluZGV4MiwgZ3JvdXBJdGVtKVwiPlxyXG4gICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXItdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgQHN3aXRjaChpbmRleCl7IEBjYXNlICgwKXtcclxuICAgICAgICAgICAgICAgICAgICB7eyBncm91cEl0ZW0uQ3JlYXRpb25EYXRlJENhcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICB9IEBjYXNlKDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIHt7IGdyb3VwSXRlbS5TdWJqZWN0IH19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGNhc2UoMil7XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ3JvdXBJdGVtLlByaW9yaXR5JENhcHRpb24gfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyPlxyXG4gICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWdyb3VwLWxpc3Q+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tYm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWF2YXRhciBzaXplPVwieHNcIiBnbHlwaD1cImJhdGNoLXBheW1lbnRzXCI+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwiZXJyb3JcIiBjb2xvcj1cIm5lZ2F0aXZlXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBmZC1ub3RpZmljYXRpb24tdGl0bGUgW3VucmVhZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbiBUaXRsZSAodW5yZWFkKSBsb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaXF1YS4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGZkLW5vdGlmaWNhdGlvbi1wYXJhZ3JhcGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gb2Ygbm90aWZpY2F0aW9uIHRvcGljIGxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1clxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaXF1YS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tZm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5vdGlmaWNhdGlvbi1mb290ZXItY29udGVudD5Qcm9kdWN0IE5hbWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLXNlcGFyYXRvcj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbm90aWZpY2F0aW9uLWZvb3Rlci1jb250ZW50PkZlYXR1cmUgTmFtZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tc2VwYXJhdG9yPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1ub3RpZmljYXRpb24tZm9vdGVyLWNvbnRlbnQ+MTE6MTEgQU08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNhdGlvbkNvbG9yXT1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlJbmRpY2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnZlcnRlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIk5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIk5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImhpZ2gtcHJpb3JpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJPYmplY3Qgc3RhdHVzIE5lZ2F0aXZlIEludmVydGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJjbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWFjdGlvbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tYm9keT5cclxuICAgICAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uPlxyXG4gICAgICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1ncm91cC1saXN0PlxyXG4gICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWdyb3VwPlxyXG4gICAgPC91bD5cclxuXHJcbiAgICB9IC0tPlxyXG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core/notification";
|
|
5
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
-
export class NotificationGroupHeaderComponent extends BaseComponent {
|
|
7
|
-
constructor(_cdr) {
|
|
8
|
-
super();
|
|
9
|
-
this._cdr = _cdr;
|
|
10
|
-
this.unreadCount = 0;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
super.ngOnInit();
|
|
14
|
-
this.setUnreadCount(this.notifications);
|
|
15
|
-
}
|
|
16
|
-
ngOnChanges(changes) {
|
|
17
|
-
super.ngOnChanges(changes);
|
|
18
|
-
const { notifications } = changes;
|
|
19
|
-
if (notifications && !notifications.firstChange) {
|
|
20
|
-
this.setUnreadCount(notifications.currentValue);
|
|
21
|
-
this._cdr.detectChanges();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
setUnreadCount(notifications) {
|
|
25
|
-
this.unreadCount = notifications.filter((c) => c.Unread).length;
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: { notifications: "notifications", title: "title" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }}) @if (unreadCount !== 0) {\r\n <strong>{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n }\r\n</h2>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread", "id"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationGroupHeaderComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{ selector: 'bt-notification-group-header', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }}) @if (unreadCount !== 0) {\r\n <strong>{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n }\r\n</h2>\r\n" }]
|
|
33
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { notifications: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], title: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXIvbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL25vdGlmaWNhdGlvbi1ncm91cC1oZWFkZXIvbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBSVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVN2RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsYUFBYTtJQUkvRCxZQUFvQixJQUF1QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQW1CO1FBRDNDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0lBR2hCLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLElBQUksYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFDTyxjQUFjLENBQUMsYUFBaUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BFLENBQUM7K0dBdEJRLGdDQUFnQzttR0FBaEMsZ0NBQWdDLDRLQ2xCN0MscU9BS0E7OzRGRGFhLGdDQUFnQztrQkFQNUMsU0FBUzsrQkFDSSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSztzRkFHUixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIE5vdGlmaWNhdGlvbkl0ZW0gfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWdyb3VwLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Hcm91cEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25JdGVtW107XHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gICAgdW5yZWFkQ291bnQgPSAwO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldFVucmVhZENvdW50KHRoaXMubm90aWZpY2F0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBub3RpZmljYXRpb25zIH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChub3RpZmljYXRpb25zICYmICFub3RpZmljYXRpb25zLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VW5yZWFkQ291bnQobm90aWZpY2F0aW9ucy5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgc2V0VW5yZWFkQ291bnQobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uSXRlbVtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51bnJlYWRDb3VudCA9IG5vdGlmaWNhdGlvbnMuZmlsdGVyKChjKSA9PiBjLlVucmVhZCkubGVuZ3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIjxoMiBmZC1ub3RpZmljYXRpb24tdGl0bGUgW3VucmVhZF09XCJmYWxzZVwiPlxyXG4gICAge3sgdGl0bGUgfCBiYmJUcmFuc2xhdGUgfX0gKHt7IG5vdGlmaWNhdGlvbnMubGVuZ3RoIH19KSBAaWYgKHVucmVhZENvdW50ICE9PSAwKSB7XHJcbiAgICA8c3Ryb25nPnt7ICdOZXcnIHwgYmJiVHJhbnNsYXRlIH19ICh7eyB1bnJlYWRDb3VudCB9fSk8L3N0cm9uZz5cclxuICAgIH1cclxuPC9oMj5cclxuIl19
|
|
@@ -1,64 +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/tile";
|
|
5
|
-
import * as i2 from "../tile/tile.component";
|
|
6
|
-
import * as i3 from "barsa-sap-ui";
|
|
7
|
-
import * as i4 from "../pipes/tile-prop.pipe";
|
|
8
|
-
export class NumericTileComponent extends BaseBtTileComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.kpiStateIsColor = false;
|
|
12
|
-
this.scalseStateIsColor = false;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
super.ngOnInit();
|
|
16
|
-
switch (this.kpiState) {
|
|
17
|
-
case 'positive':
|
|
18
|
-
case 'negative':
|
|
19
|
-
case 'informative':
|
|
20
|
-
case 'critical':
|
|
21
|
-
case 'neutral':
|
|
22
|
-
break;
|
|
23
|
-
default:
|
|
24
|
-
this.kpiStateIsColor = this.kpiState !== '';
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
switch (this.scaleState) {
|
|
28
|
-
case 'positive':
|
|
29
|
-
case 'negative':
|
|
30
|
-
case 'informative':
|
|
31
|
-
case 'critical':
|
|
32
|
-
case 'neutral':
|
|
33
|
-
break;
|
|
34
|
-
default:
|
|
35
|
-
this.scalseStateIsColor = this.scaleState !== '';
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
get launchIcon() {
|
|
40
|
-
return this.settings.LaunchIcon;
|
|
41
|
-
}
|
|
42
|
-
get kpiState() {
|
|
43
|
-
return this.settings.ContentKpiState;
|
|
44
|
-
}
|
|
45
|
-
get kpi() {
|
|
46
|
-
return this.settings.ContentKpi;
|
|
47
|
-
}
|
|
48
|
-
get scaleState() {
|
|
49
|
-
return this.settings.ScaleState;
|
|
50
|
-
}
|
|
51
|
-
get scaleText() {
|
|
52
|
-
return this.settings.ScaleText;
|
|
53
|
-
}
|
|
54
|
-
get scaleArrowIcon() {
|
|
55
|
-
return this.settings.ScaleArrowIcon;
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumericTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NumericTileComponent, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "directive", type: i1.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state", "class"] }, { kind: "directive", type: i1.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: i2.TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i3.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: i4.TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumericTileComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
|
|
63
|
-
}] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvbnVtZXJpYy10aWxlL251bWVyaWMtdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL251bWVyaWMtdGlsZS9udW1lcmljLXRpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFTcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUF1QztJQVBqRjs7UUFRSSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7S0E0QzlCO0lBM0NHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxhQUFhLENBQUM7WUFDbkIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxTQUFTO2dCQUNWLE1BQU07WUFDVjtnQkFDSSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDO2dCQUM1QyxNQUFNO1FBQ2QsQ0FBQztRQUNELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssYUFBYSxDQUFDO1lBQ25CLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssU0FBUztnQkFDVixNQUFNO1lBQ1Y7Z0JBQ0ksSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDO2dCQUNqRCxNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQ3hDLENBQUM7K0dBN0NRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDhFQ1ZqQyxpbUVBZ0RBOzs0RkR0Q2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VCdFRpbGVDb21wb25lbnQsIE51bWVyaWNUaWxlU2V0dGluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE51bWVyaWNDb250ZW50U3RhdGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtbnVtZXJpYy10aWxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9udW1lcmljLXRpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtZXJpYy10aWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1lcmljVGlsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VCdFRpbGVDb21wb25lbnQ8TnVtZXJpY1RpbGVTZXR0aW5nPiB7XHJcbiAgICBrcGlTdGF0ZUlzQ29sb3IgPSBmYWxzZTtcclxuICAgIHNjYWxzZVN0YXRlSXNDb2xvciA9IGZhbHNlO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMua3BpU3RhdGUpIHtcclxuICAgICAgICAgICAgY2FzZSAncG9zaXRpdmUnOlxyXG4gICAgICAgICAgICBjYXNlICduZWdhdGl2ZSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ2luZm9ybWF0aXZlJzpcclxuICAgICAgICAgICAgY2FzZSAnY3JpdGljYWwnOlxyXG4gICAgICAgICAgICBjYXNlICduZXV0cmFsJzpcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdGhpcy5rcGlTdGF0ZUlzQ29sb3IgPSB0aGlzLmtwaVN0YXRlICE9PSAnJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzd2l0Y2ggKHRoaXMuc2NhbGVTdGF0ZSkge1xyXG4gICAgICAgICAgICBjYXNlICdwb3NpdGl2ZSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ25lZ2F0aXZlJzpcclxuICAgICAgICAgICAgY2FzZSAnaW5mb3JtYXRpdmUnOlxyXG4gICAgICAgICAgICBjYXNlICdjcml0aWNhbCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ25ldXRyYWwnOlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjYWxzZVN0YXRlSXNDb2xvciA9IHRoaXMuc2NhbGVTdGF0ZSAhPT0gJyc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgbGF1bmNoSWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLkxhdW5jaEljb247XHJcbiAgICB9XHJcbiAgICBnZXQga3BpU3RhdGUoKTogTnVtZXJpY0NvbnRlbnRTdGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuQ29udGVudEtwaVN0YXRlO1xyXG4gICAgfVxyXG4gICAgZ2V0IGtwaSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLkNvbnRlbnRLcGk7XHJcbiAgICB9XHJcbiAgICBnZXQgc2NhbGVTdGF0ZSgpOiBOdW1lcmljQ29udGVudFN0YXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5TY2FsZVN0YXRlO1xyXG4gICAgfVxyXG4gICAgZ2V0IHNjYWxlVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLlNjYWxlVGV4dDtcclxuICAgIH1cclxuICAgIGdldCBzY2FsZUFycm93SWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLlNjYWxlQXJyb3dJY29uO1xyXG4gICAgfVxyXG59XHJcbiIsIjxidC10aWxlXHJcbiAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgIFt0eXBlXT1cIidsYXVuY2gnXCJcclxuICAgIFtlZGl0XT1cImVkaXRcIlxyXG4gICAgW2JhY2tDb2xvcl09XCJiYWNrQ29sb3JcIlxyXG4gICAgW3NldFRvU3RvcmFnZV09XCJzZXRUb1N0b3JhZ2VcIlxyXG4gICAgW2xpc3RNb2RlXT1cImxpc3RNb2RlXCJcclxuICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgW25hdmlnYXRlQmFja09uQ2xpY2tdPVwibmF2aWdhdGVCYWNrT25DbGlja1wiXHJcbiAgICBbdGl0bGVdPVwiZGF0YSB8IHRpbGVQcm9wOiAnVGl0bGUnOnBhcmFtZXRlcnNcIlxyXG4gICAgW3N1YnRpdGxlXT1cImRhdGEgfCB0aWxlUHJvcDogJ1N1YnRpdGxlJzpwYXJhbWV0ZXJzXCJcclxuICAgIFtkeW5hbWljQ29tbWFuZF09XCJkYXRhIHwgdGlsZVByb3A6ICdEeW5hbWljQ29tbWFuZCc6cGFyYW1ldGVyc1wiXHJcbiAgICBbaXNEb3VibGVdPVwiZGF0YSB8IHRpbGVQcm9wOiAnSXNEb3VibGUnOnBhcmFtZXRlcnNcIlxyXG4gICAgW2Zvb3Rlcl09XCJkYXRhIHwgdGlsZVByb3A6ICdGb290ZXInOnBhcmFtZXRlcnNcIlxyXG4gICAgKGhpZGVDbGljayk9XCJoaWRlQ2xpY2suZW1pdCgpXCJcclxuICAgIChyZW5hbWVDbGljayk9XCJyZW5hbWVDbGljay5lbWl0KClcIlxyXG4gICAgKGNsaWNrKT1cIm9uVGlsZUNsaWNrKClcIlxyXG4+XHJcbiAgICA8ZGl2IGZkLXRpbGUtY29udGVudD5cclxuICAgICAgICA8ZGl2IGZkLW51bWVyaWMtY29udGVudD5cclxuICAgICAgICAgICAgPGRpdiBmZC1udW1lcmljLWNvbnRlbnQtbGF1bmNoLWljb24tY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGkgZmQtbnVtZXJpYy1jb250ZW50LWxhdW5jaC1pY29uIFtnbHlwaF09XCJsYXVuY2hJY29uXCIgW2NsYXNzXT1cImxhdW5jaEljb24gfCBzYXBGb250Q2xhc3NcIj48L2k+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLW51bWVyaWMtY29udGVudC1rcGktY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1udW1lcmljLWNvbnRlbnQta3BpIFtzdGF0ZV09XCJrcGlTdGF0ZVwiIFtzdHlsZS5jb2xvcl09XCJrcGlTdGF0ZUlzQ29sb3IgPyBrcGlTdGF0ZSA6IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBrcGkgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBmZC1udW1lcmljLWNvbnRlbnQtc2NhbGUtY29udGFpbmVyIHN0eWxlPVwicGFkZGluZy10b3A6IDAuMnJlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGZkLW51bWVyaWMtY29udGVudC1zY2FsZVxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJzY2FsZVN0YXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwic2NhbHNlU3RhdGVJc0NvbG9yID8gc2NhbGVTdGF0ZSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW51bWVyaWMtY29udGVudC1zY2FsZS1hcnJvd1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwic2NhbGVBcnJvd0ljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwic2NhbGVBcnJvd0ljb24gfCBzYXBGb250Q2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwic2NhbHNlU3RhdGVJc0NvbG9yID8gc2NhbGVTdGF0ZSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbnVtZXJpYy1jb250ZW50LXNjYWxlLXRleHQgW3N0eWxlLmNvbG9yXT1cInNjYWxzZVN0YXRlSXNDb2xvciA/IHNjYWxlU3RhdGUgOiBudWxsXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9idC10aWxlPlxyXG4iXX0=
|
|
@@ -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", "preventClick"], 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, standalone: false, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9waW4tdGlsZS9waW4tdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3Bpbi10aWxlL3Bpbi10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBRXRHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7Ozs7Ozs7QUFVekYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFhL0MsWUFBbUIsY0FBNkIsRUFBUyxVQUFxQixFQUFVLE9BQXlCO1FBQzdHLEtBQUssRUFBRSxDQUFDO1FBRE8sbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFOakgsaUJBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDeEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU16RSxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJ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LEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxJQUFJLFlBQVksQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6RSxTQUFTO1lBQ1QsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTztRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7K0dBdkZRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGdLQ2Y3QixtNkRBd0NBOzs0RkR6QmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLO3lJQUdSLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ1JlZiwgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBCYXJzYUFwaSwgTWV0YW9iamVjdERhdGFNb2RlbCwgQmJiVHJhbnNsYXRlUGlwZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmltcG9ydCB7IENyZWF0ZUFwcEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vY3JlYXRlLWFwcC1ncm91cC9jcmVhdGUtYXBwLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcFRpbGVHcm91cFBpbiB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtcGluLXRpbGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bpbi10aWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Bpbi10aWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaW5UaWxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBhcHA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcblxyXG4gICAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcGluOiBib29sZWFuO1xyXG4gICAgbmV3R3JvdXBEaWFsb2dSZWY6IERpYWxvZ1JlZjtcclxuICAgIG5ld0dyb3VwVGV4dCA9IEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNSdGxcclxuICAgICAgICA/IHRoaXMuYmJiUGlwZS50cmFuc2Zvcm0oJ0dyb3VwcycpICsgJyAnICsgdGhpcy5iYmJQaXBlLnRyYW5zZm9ybSgnTmV3JylcclxuICAgICAgICA6IHRoaXMuYmJiUGlwZS50cmFuc2Zvcm0oJ05ldycpICsgJyAnICsgdGhpcy5iYmJQaXBlLnRyYW5zZm9ybSgnR3JvdXBzJyk7XHJcbiAgICBwaW5uZWRBcHBJblRpbGVHcm91cHM6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdbXTtcclxuICAgIH07XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsIHB1YmxpYyBfZGlhbG9nUmVmOiBEaWFsb2dSZWYsIHByaXZhdGUgYmJiUGlwZTogQmJiVHJhbnNsYXRlUGlwZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5hcHAgPSBfZGlhbG9nUmVmLmRhdGEuYXBwO1xyXG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3VwcyA9IF9kaWFsb2dSZWYuZGF0YS5hcHBUaWxlR3JvdXBzO1xyXG4gICAgICAgIHRoaXMucGlubmVkQXBwSW5UaWxlR3JvdXBzID0gX2RpYWxvZ1JlZi5kYXRhLnBpbm5lZEFwcEluVGlsZUdyb3VwcztcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldExvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgY29uc3QgdGlsZUdyb3Vwc0lkID0gdGhpcy5waW5uZWRBcHBJblRpbGVHcm91cHNbdGhpcy5hcHAuSWRdO1xyXG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChhcHBHcm91cCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXREZWZhdWx0UGluVGlsZShhcHBHcm91cCwgdGlsZUdyb3Vwc0lkKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgIH1cclxuICAgIG9uQWNjZXB0KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFwcFRpbGVHcm91cHNQaW46IEFwcFRpbGVHcm91cFBpbltdID0gW107XHJcbiAgICAgICAgdGhpcy5hcHBUaWxlR3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2dldENoYW5nZWRQaW5UaWxlR3JvdXBzKGdyb3VwLCBhcHBUaWxlR3JvdXBzUGluKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9jbG9zZSh7IGFwcFRpbGVHcm91cHNQaW4sIGFwcDogdGhpcy5hcHAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTmV3R3JvdXAoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZXdHcm91cERpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihDcmVhdGVBcHBHcm91cENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBkYXRhOiB7IHRpdGxlOiB0aGlzLm5ld0dyb3VwVGV4dCB9LFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIG1vYmlsZTogdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubmV3R3JvdXBEaWFsb2dSZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgLy8gaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAvLyAgIHRoaXMuZGlhbG9nUmVmLmxvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vICAgdGhpcy50aWxlc1NlcnZpY2VcclxuICAgICAgICAgICAgLy8gICAgIC5jcmVhdGVBcHBHcm91cChyZXN1bHQpXHJcbiAgICAgICAgICAgIC8vICAgICAucGlwZShcclxuICAgICAgICAgICAgLy8gICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAvLyAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5kaWFsb2dSZWYubG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vICAgICAgIH0pXHJcbiAgICAgICAgICAgIC8vICAgICApXHJcbiAgICAgICAgICAgIC8vICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIF9zZXRMb2FkaW5nKGxvYWRpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYubG9hZGluZyhsb2FkaW5nKTtcclxuICAgIH1cclxuICAgIF9zZXREZWZhdWx0UGluVGlsZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIHRpbGVHcm91cHNJZDogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgICAgICBhcHBUaWxlR3JvdXAuJFBpblRpbGUgPSBhcHBUaWxlR3JvdXAuJERlZmF1bHRQaW5UaWxlID1cclxuICAgICAgICAgICAgdGlsZUdyb3Vwc0lkLmluY2x1ZGVzKGFwcFRpbGVHcm91cC5JZCkgfHwgdGlsZUdyb3Vwc0lkLmluY2x1ZGVzKGFwcFRpbGVHcm91cC5Vc2VyQXBwVGlsZUdyb3VwU2V0dGluZz8uSWQpO1xyXG4gICAgICAgIGFwcFRpbGVHcm91cC4kQ2hpbGRyZW4/LmZvckVhY2goKHN1Ykdyb3VwKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldERlZmF1bHRQaW5UaWxlKHN1Ykdyb3VwLCB0aWxlR3JvdXBzSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFwcFRpbGVHcm91cC4kRGlzYWJsZWRwaW4gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIF9nZXRDaGFuZ2VkUGluVGlsZUdyb3VwcyhhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIGFwcFRpbGVHcm91cHNQaW46IEFwcFRpbGVHcm91cFBpbltdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGFwcFRpbGVHcm91cC4kUGluVGlsZSAmJiAhYXBwVGlsZUdyb3VwLiREZWZhdWx0UGluVGlsZSkge1xyXG4gICAgICAgICAgICAvLyBBZGRcclxuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwc1Bpbi5wdXNoKHsgYXBwVGlsZUdyb3VwLCB2aXNpYmxlOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYXBwVGlsZUdyb3VwLiRQaW5UaWxlID09PSBmYWxzZSAmJiBhcHBUaWxlR3JvdXAuJERlZmF1bHRQaW5UaWxlKSB7XHJcbiAgICAgICAgICAgIC8vIFJlbW92ZVxyXG4gICAgICAgICAgICBhcHBUaWxlR3JvdXBzUGluLnB1c2goeyBhcHBUaWxlR3JvdXAsIHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhcHBUaWxlR3JvdXAuJENoaWxkcmVuPy5mb3JFYWNoKChzdWJHcm91cCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9nZXRDaGFuZ2VkUGluVGlsZUdyb3VwcyhzdWJHcm91cCwgYXBwVGlsZUdyb3Vwc1Bpbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBfY2xvc2UocmVzdWx0Pyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1kaWFsb2c+XHJcbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgICAgICA8aDEgZmQtdGl0bGU+e3sgJ0FkZFRvTGlzdCcgfCBiYmJUcmFuc2xhdGUgfX08L2gxPlxyXG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgPGZkLWRpYWxvZy1ib2R5PlxyXG4gICAgICAgIDx1bCBmZC1saXN0IFtuYXZpZ2F0aW9uSW5kaWNhdG9yXT1cInRydWVcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDFyZW1cIj5cclxuICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbSBbbmF2aWdhdGlvbkluZGljYXRvcl09XCJ0cnVlXCIgKGNsaWNrKT1cIm9uTmV3R3JvdXAoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJhZGRcIj48L2ZkLWljb24+PHNwYW4gZmQtbGlzdC10aXRsZT57eyBuZXdHcm91cFRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIEBmb3IgKGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyB0cmFjayBhcHBUaWxlR3JvdXApIHsgQGlmICghYXBwVGlsZUdyb3VwLiREaXNhYmxlZHBpbikge1xyXG4gICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtIFtzZWxlY3RlZF09XCJhcHBUaWxlR3JvdXAuJFBpblRpbGVcIj5cclxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImFwcFRpbGVHcm91cC4kUGluVGlsZVwiPjwvZmQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB8fCBhcHBUaWxlR3JvdXAuVGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH0gQGZvciAoc3ViR3JvdXAgb2YgYXBwVGlsZUdyb3VwLiRDaGlsZHJlbjsgdHJhY2sgc3ViR3JvdXApIHsgQGlmICghc3ViR3JvdXAuJERpc2FibGVkcGluKSB7XHJcbiAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0gW3NlbGVjdGVkXT1cInN1Ykdyb3VwLiRQaW5UaWxlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJzdWJHcm91cC4kUGluVGlsZVwiPjwvZmQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IHN1Ykdyb3VwLm5hdmlnYXRvclRpdGxlIHx8IHN1Ykdyb3VwLlRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICB9IH0gfVxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG5cclxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZka0luaXRpYWxGb2N1cyBmZFR5cGU9XCJlbXBoYXNpemVkXCIgW2xhYmVsXT1cIidPSycgfCBiYmJUcmFuc2xhdGVcIiAoY2xpY2spPVwib25BY2NlcHQoKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICBmZGtJbml0aWFsRm9jdXNcclxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cclxuPC9mZC1kaWFsb2c+XHJcbiJdfQ==
|
|
@@ -1,32 +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
|
-
standalone: false
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdGlsZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvcGlwZXMvZ3JvdXAtdGlsZXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7O0FBVXJFLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFNBQVMsQ0FBQyxRQUE2QjtRQUNuQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3pDLElBQUksY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFMUYsT0FBTyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFDakMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RyxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDOUIsS0FBSyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLCtCQUErQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDOUMsS0FBSyxFQUNMLG1DQUFtQyxFQUNuQyxLQUFLLENBQUMsU0FBUyxDQUNsQixDQUFDO1lBRUYsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQzsrR0F6QlEsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFyc2FBcGksIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5pbnRlcmZhY2UgQXBwVGlsZU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBDb21wb25lbnQ6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBTZWxlY3Rvcjogc3RyaW5nO1xyXG59XHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdncm91cFRpbGVzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cFRpbGVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGFwcEdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogT2JzZXJ2YWJsZTxBcHBUaWxlTW9kZWxbXT4ge1xyXG4gICAgICAgIGNvbnN0IHByZWRlZmluZVRpbGVzID0gYXBwR3JvdXAuQXBwVGlsZXM7XHJcbiAgICAgICAgaWYgKHByZWRlZmluZVRpbGVzPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcHJlZGVmaW5lJCA9IG9mKHByZWRlZmluZVRpbGVzKTtcclxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lJCA9IG9mKGFwcEdyb3VwLlVzZXJBcHBUaWxlR3JvdXBTZXR0aW5nPy5Vc2VyQXBwVGlsZXNTZXR0aW5nPy5Nb0RhdGFMaXN0KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKFtwcmVkZWZpbmUkLCB1c2VyRGVmaW5lJF0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW3MxLCBzMl0pID0+IFsuLi5zMSwgLi4uczJdKSxcclxuICAgICAgICAgICAgbWFwKChhcnJUaWxlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcFRpbGVzID0gYXJyVGlsZXMuZmlsdGVyKChjKSA9PiBjLlZpc2libGUpLnNvcnQoKGEsIGIpID0+IChhLk9yZGVySXRlbSA+IGIuT3JkZXJJdGVtID8gMSA6IDApKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0geyAuLi5hcHBHcm91cCB9O1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuVGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShncm91cCwgJ1VzZXJBcHBUaWxlR3JvdXBTZXR0aW5nLlRpdGxlJywgZ3JvdXAuVGl0bGUpO1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuT3JkZXJJdGVtID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ1VzZXJBcHBUaWxlR3JvdXBTZXR0aW5nLk9yZGVySXRlbScsXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuT3JkZXJJdGVtXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0ZW1wVGlsZXM7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,18 +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
|
-
standalone: false
|
|
16
|
-
}]
|
|
17
|
-
}], ctorParameters: () => [] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1ncm91cC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9waXBlcy9ob21lLWdyb3VwLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLGdCQUFlLENBQUM7SUFDaEIsU0FBUyxDQUFDLFNBQWdDO1FBQ3RDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDOytHQUpRLGFBQWE7NkdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsV0FBVztvQkFDakIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ2hvbWVHcm91cCcsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUdyb3VwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG4gICAgdHJhbnNmb3JtKGFwcEdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gYXBwR3JvdXBzLmZpbHRlcigoYykgPT4gYy5uYXZpZ2F0b3JUaWxlcyAmJiBjLm5hdmlnYXRvclRpbGVzLmxlbmd0aCA+IDApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,29 +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
|
-
standalone: false
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1ob21lLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9waXBlcy90aWxlLWhvbWUtZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU1oRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFNBQVMsQ0FBQyxVQUFpQjtRQUN2QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQUs7UUFDYixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBZFEsa0JBQWtCOzZHQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAndGlsZUhvbWVGaWx0ZXInLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbGVIb21lRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLmZpbHRlcigodmFsKSA9PiB0aGlzLm1hdGNoRmlsdGVyKHZhbCkpO1xyXG4gICAgfVxyXG4gICAgbWF0Y2hGaWx0ZXIodmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBtYXRjaCA9IE9iamVjdC5rZXlzKHZhbHVlLkRhdGEpLnNvbWUoKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJyQnKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnYycpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmFsdWUsICdEYXRhLicgKyBrZXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|