barsa-tiles 1.0.456 → 2.0.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.
- package/{esm2020 → esm2022}/barsa-tiles.mjs +4 -4
- package/esm2022/lib/action-item/action-item.component.mjs +17 -0
- package/{esm2020 → esm2022}/lib/action-links.pipe.mjs +16 -16
- package/esm2022/lib/actions-link/actions-link.component.mjs +41 -0
- package/esm2022/lib/app-finder/app-finder.component.mjs +52 -0
- package/esm2022/lib/app-finder-app-list/app-finder-app-list.component.mjs +39 -0
- package/esm2022/lib/app-finder-group/app-finder-group.component.mjs +41 -0
- package/esm2022/lib/app-finder.service.mjs +121 -0
- package/esm2022/lib/barsa-shellbar/barsa-shellbar.component.mjs +183 -0
- package/esm2022/lib/barsa-tiles.module.mjs +225 -0
- package/esm2022/lib/change-app-tile/change-app-tile.component.mjs +46 -0
- package/esm2022/lib/create-app-group/create-app-group.component.mjs +43 -0
- package/esm2022/lib/directives/emptylist.directive.mjs +36 -0
- package/esm2022/lib/feed-tile/feed-tile.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/footer-edit-tile/footer-edit-tile.component.mjs +13 -13
- package/esm2022/lib/footer-tile/footer-tile.component.mjs +27 -0
- package/esm2022/lib/form-app-finder/form-app-finder.component.mjs +95 -0
- package/esm2022/lib/form-tile/form-tile.component.mjs +34 -0
- package/esm2022/lib/logo-tile/logo-tile.component.mjs +23 -0
- package/{esm2020 → esm2022}/lib/micro-tile-chart-area/micro-tile-chart-area.component.mjs +40 -40
- package/{esm2020 → esm2022}/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.mjs +29 -29
- package/esm2022/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +26 -0
- package/{esm2020 → esm2022}/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/micro-tile-chart-line/micro-tile-chart-line.component.mjs +32 -32
- package/{esm2020 → esm2022}/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.mjs +27 -27
- package/{esm2020 → esm2022}/lib/models/app-tile-footer-section.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/app-tile-footer.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/app-tile-group-pin.mjs +1 -1
- package/esm2022/lib/models/base-bt-tile-component.mjs +26 -0
- package/{esm2020 → esm2022}/lib/models/base-tile-component.mjs +58 -58
- package/{esm2020 → esm2022}/lib/models/base-tile-setting.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/feed-tile-setting.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +13 -13
- package/{esm2020 → esm2022}/lib/models/logo-tile-setting.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/micro-tile-chart-bullet-setting.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/news-tile-setting.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/numeric-tile-setting.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/profile-tile-setting.mjs +1 -1
- package/esm2022/lib/models/tile-setting.mjs +2 -0
- package/{esm2020 → esm2022}/lib/models/user-portal-settings.mjs +1 -1
- package/esm2022/lib/news-tile/news-tile.component.mjs +53 -0
- package/esm2022/lib/notification-group/notification-group.component.mjs +116 -0
- package/esm2022/lib/notification-group-header/notification-group-header.component.mjs +38 -0
- package/esm2022/lib/numeric-tile/numeric-tile.component.mjs +64 -0
- package/esm2022/lib/pin-tile/pin-tile.component.mjs +110 -0
- package/esm2022/lib/pipes/group-tiles.pipe.mjs +31 -0
- package/{esm2020 → esm2022}/lib/pipes/home-group.pipe.mjs +17 -17
- package/esm2022/lib/pipes/tile-home-filter.pipe.mjs +28 -0
- package/esm2022/lib/pipes/tile-prop.pipe.mjs +32 -0
- package/esm2022/lib/popover-app-finder/filter-apps-grouped.pipe.mjs +36 -0
- package/esm2022/lib/popover-app-finder/popover-app-finder.component.mjs +112 -0
- package/esm2022/lib/profile-tile/profile-tile.component.mjs +25 -0
- package/esm2022/lib/shellbar/shellbar.component.mjs +201 -0
- package/esm2022/lib/simple-tile/simple-tile.component.mjs +22 -0
- package/esm2022/lib/tile/tile.component.mjs +70 -0
- package/esm2022/lib/tile-renderer.directive.mjs +70 -0
- package/esm2022/lib/tile-style.directive.mjs +29 -0
- package/esm2022/lib/tiles-viewer/tiles-viewer.component.mjs +167 -0
- package/esm2022/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +164 -0
- package/esm2022/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +88 -0
- package/esm2022/lib/tiles-viewer.service.mjs +130 -0
- package/esm2022/lib/tiles.service.mjs +589 -0
- package/{esm2020 → esm2022}/public-api.mjs +46 -45
- package/fesm2022/barsa-tiles.mjs +3179 -0
- package/fesm2022/barsa-tiles.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/action-item/action-item.component.d.ts +6 -6
- package/lib/action-links.pipe.d.ts +7 -7
- package/lib/actions-link/actions-link.component.d.ts +17 -17
- package/lib/app-finder/app-finder.component.d.ts +24 -24
- package/lib/app-finder-app-list/app-finder-app-list.component.d.ts +20 -20
- package/lib/app-finder-group/app-finder-group.component.d.ts +14 -14
- package/lib/app-finder.service.d.ts +33 -33
- package/lib/barsa-shellbar/barsa-shellbar.component.d.ts +104 -97
- package/lib/barsa-tiles.module.d.ts +91 -86
- package/lib/change-app-tile/change-app-tile.component.d.ts +20 -20
- package/lib/create-app-group/create-app-group.component.d.ts +19 -19
- package/lib/directives/emptylist.directive.d.ts +14 -14
- package/lib/feed-tile/feed-tile.component.d.ts +11 -11
- package/lib/footer-edit-tile/footer-edit-tile.component.d.ts +6 -6
- package/lib/footer-tile/footer-tile.component.d.ts +11 -11
- package/lib/form-app-finder/form-app-finder.component.d.ts +38 -38
- package/lib/form-tile/form-tile.component.d.ts +24 -24
- package/lib/logo-tile/logo-tile.component.d.ts +7 -7
- package/lib/micro-tile-chart-area/micro-tile-chart-area.component.d.ts +8 -8
- package/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.d.ts +12 -12
- package/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.d.ts +16 -16
- package/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.d.ts +7 -7
- package/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.d.ts +8 -8
- package/lib/micro-tile-chart-line/micro-tile-chart-line.component.d.ts +8 -8
- package/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.d.ts +8 -8
- package/lib/models/app-tile-footer-section.d.ts +6 -6
- package/lib/models/app-tile-footer.d.ts +8 -8
- package/lib/models/app-tile-group-pin.d.ts +5 -5
- package/lib/models/base-bt-tile-component.d.ts +9 -9
- package/lib/models/base-tile-component.d.ts +26 -26
- package/lib/models/base-tile-setting.d.ts +5 -5
- package/lib/models/feed-tile-setting.d.ts +7 -7
- package/lib/models/index.d.ts +13 -13
- package/lib/models/logo-tile-setting.d.ts +6 -6
- package/lib/models/micro-tile-chart-bullet-setting.d.ts +10 -10
- package/lib/models/news-tile-setting.d.ts +4 -4
- package/lib/models/numeric-tile-setting.d.ts +9 -9
- package/lib/models/profile-tile-setting.d.ts +7 -7
- package/lib/models/tile-setting.d.ts +10 -10
- package/lib/models/user-portal-settings.d.ts +9 -9
- package/lib/news-tile/news-tile.component.d.ts +19 -19
- package/lib/notification-group/notification-group.component.d.ts +54 -55
- package/lib/notification-group-header/notification-group-header.component.d.ts +15 -15
- package/lib/numeric-tile/numeric-tile.component.d.ts +16 -12
- package/lib/pin-tile/pin-tile.component.d.ts +30 -30
- package/lib/pipes/group-tiles.pipe.d.ts +14 -14
- package/lib/pipes/home-group.pipe.d.ts +9 -9
- package/lib/pipes/tile-home-filter.pipe.d.ts +8 -8
- package/lib/pipes/tile-prop.pipe.d.ts +8 -8
- package/lib/popover-app-finder/filter-apps-grouped.pipe.d.ts +13 -0
- package/lib/popover-app-finder/popover-app-finder.component.d.ts +39 -0
- package/lib/profile-tile/profile-tile.component.d.ts +7 -7
- package/lib/shellbar/shellbar.component.d.ts +94 -94
- package/lib/simple-tile/simple-tile.component.d.ts +10 -10
- package/lib/tile/tile.component.d.ts +22 -20
- package/lib/tile-renderer.directive.d.ts +28 -28
- package/lib/tile-style.directive.d.ts +12 -0
- package/lib/tiles-viewer/tiles-viewer.component.d.ts +65 -63
- package/lib/tiles-viewer-container/tiles-viewer-container.component.d.ts +59 -57
- package/lib/tiles-viewer-group/tiles-viewer-group.component.d.ts +39 -39
- package/lib/tiles-viewer.service.d.ts +42 -42
- package/lib/tiles.service.d.ts +75 -75
- package/package.json +7 -13
- package/public-api.d.ts +42 -41
- package/esm2020/lib/action-item/action-item.component.mjs +0 -18
- package/esm2020/lib/actions-link/actions-link.component.mjs +0 -42
- package/esm2020/lib/app-finder/app-finder.component.mjs +0 -53
- package/esm2020/lib/app-finder-app-list/app-finder-app-list.component.mjs +0 -40
- package/esm2020/lib/app-finder-group/app-finder-group.component.mjs +0 -42
- package/esm2020/lib/app-finder.service.mjs +0 -121
- package/esm2020/lib/barsa-shellbar/barsa-shellbar.component.mjs +0 -166
- package/esm2020/lib/barsa-tiles.module.mjs +0 -206
- package/esm2020/lib/change-app-tile/change-app-tile.component.mjs +0 -47
- package/esm2020/lib/create-app-group/create-app-group.component.mjs +0 -44
- package/esm2020/lib/directives/emptylist.directive.mjs +0 -36
- package/esm2020/lib/feed-tile/feed-tile.component.mjs +0 -32
- package/esm2020/lib/footer-tile/footer-tile.component.mjs +0 -28
- package/esm2020/lib/form-app-finder/form-app-finder.component.mjs +0 -95
- package/esm2020/lib/form-tile/form-tile.component.mjs +0 -35
- package/esm2020/lib/logo-tile/logo-tile.component.mjs +0 -23
- package/esm2020/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +0 -27
- package/esm2020/lib/models/base-bt-tile-component.mjs +0 -30
- package/esm2020/lib/models/tile-setting.mjs +0 -2
- package/esm2020/lib/news-tile/news-tile.component.mjs +0 -54
- package/esm2020/lib/notification-group/notification-group.component.mjs +0 -116
- package/esm2020/lib/notification-group-header/notification-group-header.component.mjs +0 -39
- package/esm2020/lib/numeric-tile/numeric-tile.component.mjs +0 -34
- package/esm2020/lib/pin-tile/pin-tile.component.mjs +0 -111
- package/esm2020/lib/pipes/group-tiles.pipe.mjs +0 -31
- package/esm2020/lib/pipes/tile-home-filter.pipe.mjs +0 -28
- package/esm2020/lib/pipes/tile-prop.pipe.mjs +0 -32
- package/esm2020/lib/profile-tile/profile-tile.component.mjs +0 -26
- package/esm2020/lib/shellbar/shellbar.component.mjs +0 -200
- package/esm2020/lib/simple-tile/simple-tile.component.mjs +0 -23
- package/esm2020/lib/tile/tile.component.mjs +0 -61
- package/esm2020/lib/tile-renderer.directive.mjs +0 -70
- package/esm2020/lib/tiles-viewer/tiles-viewer.component.mjs +0 -157
- package/esm2020/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +0 -158
- package/esm2020/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +0 -88
- package/esm2020/lib/tiles-viewer.service.mjs +0 -130
- package/esm2020/lib/tiles.service.mjs +0 -589
- package/fesm2015/barsa-tiles.mjs +0 -2977
- package/fesm2015/barsa-tiles.mjs.map +0 -1
- package/fesm2020/barsa-tiles.mjs +0 -2941
- package/fesm2020/barsa-tiles.mjs.map +0 -1
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/cdk/drag-drop";
|
|
6
|
-
import * as i3 from "../action-item/action-item.component";
|
|
7
|
-
import * as i4 from "../pipes/tile-prop.pipe";
|
|
8
|
-
export class ActionsLinkComponent extends BaseComponent {
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
constructor(_cdr) {
|
|
13
|
-
super();
|
|
14
|
-
this._cdr = _cdr;
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
super.ngOnInit();
|
|
18
|
-
this.hide = this.actionsLink?.length === 0;
|
|
19
|
-
}
|
|
20
|
-
ngOnChanges(changes) {
|
|
21
|
-
super.ngOnChanges(changes);
|
|
22
|
-
const { actionsLink } = changes;
|
|
23
|
-
if (!actionsLink.firstChange) {
|
|
24
|
-
this.hide = actionsLink.currentValue?.length === 0;
|
|
25
|
-
this._cdr.detectChanges();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
ActionsLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ActionsLinkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
ActionsLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: { actionsLink: "actionsLink", edit: "edit" }, host: { properties: { "class.hide": "this.hide" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<bt-action-item\n *ngFor=\"let actionItem of actionsLink\"\n cdkDrag\n [data]=\"actionItem\"\n [edit]=\"edit\"\n [title]=\"actionItem | tileProp: 'Title'\"\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\n [footer]=\"actionItem | tileProp: 'Footer'\"\n [icon]=\"actionItem | tileProp: 'Icon'\"\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\n [mo]=\"actionItem\"\n>\n</bt-action-item>\n", styles: [":host{display:flex;width:100%;row-gap:3px;flex-wrap:wrap;border-radius:var(--sapElement_BorderCornerRadius, .25rem);column-gap:3px;padding:1rem 0}bt-action-item{margin-top:auto;margin-bottom:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.ActionItemComponent, selector: "bt-action-item" }, { kind: "pipe", type: i4.TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ActionsLinkComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: 'bt-actions-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-action-item\n *ngFor=\"let actionItem of actionsLink\"\n cdkDrag\n [data]=\"actionItem\"\n [edit]=\"edit\"\n [title]=\"actionItem | tileProp: 'Title'\"\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\n [footer]=\"actionItem | tileProp: 'Footer'\"\n [icon]=\"actionItem | tileProp: 'Icon'\"\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\n [mo]=\"actionItem\"\n>\n</bt-action-item>\n", styles: [":host{display:flex;width:100%;row-gap:3px;flex-wrap:wrap;border-radius:var(--sapElement_BorderCornerRadius, .25rem);column-gap:3px;padding:1rem 0}bt-action-item{margin-top:auto;margin-bottom:auto}\n"] }]
|
|
34
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { hide: [{
|
|
35
|
-
type: HostBinding,
|
|
36
|
-
args: ['class.hide']
|
|
37
|
-
}], actionsLink: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], edit: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvYWN0aW9ucy1saW5rL2FjdGlvbnMtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FjdGlvbnMtbGluay9hY3Rpb25zLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQU9yRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQUluRDs7T0FFRztJQUNILFlBQXNCLElBQXVCO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFFN0MsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7O2lIQXJCUSxvQkFBb0I7cUdBQXBCLG9CQUFvQiw4TUNqQmpDLHVpQkFlQTsyRkRFYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07d0dBR3BCLElBQUk7c0JBQTlCLFdBQVc7dUJBQUMsWUFBWTtnQkFDaEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtYWN0aW9ucy1saW5rJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9ucy1saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hY3Rpb25zLWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25zTGlua0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZScpIGhpZGU7XG4gICAgQElucHV0KCkgYWN0aW9uc0xpbms7XG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5oaWRlID0gdGhpcy5hY3Rpb25zTGluaz8ubGVuZ3RoID09PSAwO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGFjdGlvbnNMaW5rIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAoIWFjdGlvbnNMaW5rLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUgPSBhY3Rpb25zTGluay5jdXJyZW50VmFsdWU/Lmxlbmd0aCA9PT0gMDtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YnQtYWN0aW9uLWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgYWN0aW9uSXRlbSBvZiBhY3Rpb25zTGlua1wiXG4gICAgY2RrRHJhZ1xuICAgIFtkYXRhXT1cImFjdGlvbkl0ZW1cIlxuICAgIFtlZGl0XT1cImVkaXRcIlxuICAgIFt0aXRsZV09XCJhY3Rpb25JdGVtIHwgdGlsZVByb3A6ICdUaXRsZSdcIlxuICAgIFtzdWJ0aXRsZV09XCJhY3Rpb25JdGVtIHwgdGlsZVByb3A6ICdTdWJ0aXRsZSdcIlxuICAgIFtkeW5hbWljQ29tbWFuZF09XCJhY3Rpb25JdGVtIHwgdGlsZVByb3A6ICdEeW5hbWljQ29tbWFuZCdcIlxuICAgIFtpc0RvdWJsZV09XCJhY3Rpb25JdGVtIHwgdGlsZVByb3A6ICdJc0RvdWJsZSdcIlxuICAgIFtmb290ZXJdPVwiYWN0aW9uSXRlbSB8IHRpbGVQcm9wOiAnRm9vdGVyJ1wiXG4gICAgW2ljb25dPVwiYWN0aW9uSXRlbSB8IHRpbGVQcm9wOiAnSWNvbidcIlxuICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWFjdGlvbkl0ZW0gfHwgYWN0aW9uSXRlbS5Mb2NrZWRcIlxuICAgIFttb109XCJhY3Rpb25JdGVtXCJcbj5cbjwvYnQtYWN0aW9uLWl0ZW0+XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/button";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/input-group";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/menu";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/toolbar";
|
|
10
|
-
import * as i7 from "barsa-novin-ray-core";
|
|
11
|
-
import * as i8 from "barsa-sap-ui";
|
|
12
|
-
import * as i9 from "../app-finder-group/app-finder-group.component";
|
|
13
|
-
import * as i10 from "../app-finder-app-list/app-finder-app-list.component";
|
|
14
|
-
export class AppFinderComponent extends BaseComponent {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
this.contentDensity = 'compact';
|
|
18
|
-
this.pinClick = new EventEmitter();
|
|
19
|
-
this.selectedAppGroupIdChange = new EventEmitter();
|
|
20
|
-
}
|
|
21
|
-
onSearchSubmit() {
|
|
22
|
-
this.searchTerm = this.searchTerm2;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
AppFinderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
AppFinderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderComponent, selector: "bt-app-finder", inputs: { appGroups: "appGroups", deviceSize: "deviceSize", sideContentSize: "sideContentSize", selectedAppGroup: "selectedAppGroup", selectedAppGroupId: "selectedAppGroupId", mobile: "mobile", contentDensity: "contentDensity", contentHeight: "contentHeight", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", selectedAppGroupIdChange: "selectedAppGroupIdChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\n <ng-container *ngIf=\"appGroups; else loading\">\n <fd-toolbar [fdType]=\"'solid'\">\n <button\n fd-toolbar-item\n fd-button\n [fdMenu]=\"true\"\n [glyph]=\"'menu2'\"\n [fdType]=\"'transparent'\"\n [fdMenuTrigger]=\"menu\"\n [label]=\"selectedAppGroup?.Title\"\n *ngIf=\"deviceSize === 's'\"\n ></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-input-group\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm2\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n (keydown.enter)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </fd-toolbar>\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\n <div class=\"app-groups\">\n <bt-app-finder-group\n *ngIf=\"deviceSize !== 's'\"\n [appGroups]=\"appGroups\"\n [listMode]=\"true\"\n [selectedId]=\"selectedAppGroupId\"\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\n >\n </bt-app-finder-group>\n </div>\n <bt-app-finder-app-list\n [appGroup]=\"selectedAppGroup\"\n [mobile]=\"mobile\"\n [searchTerm]=\"searchTerm\"\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\n (pinClick)=\"pinClick.emit($event)\"\n ></bt-app-finder-app-list>\n </div>\n <fd-menu\n #menu\n [mobile]=\"deviceSize === 's'\"\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\n >\n <bt-app-finder-group\n *ngIf=\"deviceSize === 's'\"\n [appGroups]=\"appGroups\"\n [selectedId]=\"selectedAppGroupId\"\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\n >\n </bt-app-finder-group>\n </fd-menu>\n </ng-container>\n <ng-template #loading>\n <bsu-mask></bsu-mask>\n </ng-template>\n</div>\n", styles: [":host{display:block;background-color:var(--sapBackgroundColor, #f7f7f7);color:var(--sapTextColor, #32363a)}:host ::ng-deep .fd-list__title{line-height:1.5rem}.wrapper{display:flex;flex-direction:column}fd-toolbar{width:100%}::ng-deep span.fd-toolbar__spacer{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i5.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i5.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i6.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i6.ToolbarSpacerComponent, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i7.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i8.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i9.AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: ["appGroups", "selectedId", "listMode"], outputs: ["selectedIdChange"] }, { kind: "component", type: i10.AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: ["appGroup", "mobile", "searchTerm", "pinnedAppInAppTileGroups"], outputs: ["pinClick", "appTileGroupsPinChange"] }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'bt-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wrapper\">\n <ng-container *ngIf=\"appGroups; else loading\">\n <fd-toolbar [fdType]=\"'solid'\">\n <button\n fd-toolbar-item\n fd-button\n [fdMenu]=\"true\"\n [glyph]=\"'menu2'\"\n [fdType]=\"'transparent'\"\n [fdMenuTrigger]=\"menu\"\n [label]=\"selectedAppGroup?.Title\"\n *ngIf=\"deviceSize === 's'\"\n ></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-input-group\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm2\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n (keydown.enter)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </fd-toolbar>\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\n <div class=\"app-groups\">\n <bt-app-finder-group\n *ngIf=\"deviceSize !== 's'\"\n [appGroups]=\"appGroups\"\n [listMode]=\"true\"\n [selectedId]=\"selectedAppGroupId\"\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\n >\n </bt-app-finder-group>\n </div>\n <bt-app-finder-app-list\n [appGroup]=\"selectedAppGroup\"\n [mobile]=\"mobile\"\n [searchTerm]=\"searchTerm\"\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\n (pinClick)=\"pinClick.emit($event)\"\n ></bt-app-finder-app-list>\n </div>\n <fd-menu\n #menu\n [mobile]=\"deviceSize === 's'\"\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\n >\n <bt-app-finder-group\n *ngIf=\"deviceSize === 's'\"\n [appGroups]=\"appGroups\"\n [selectedId]=\"selectedAppGroupId\"\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\n >\n </bt-app-finder-group>\n </fd-menu>\n </ng-container>\n <ng-template #loading>\n <bsu-mask></bsu-mask>\n </ng-template>\n</div>\n", styles: [":host{display:block;background-color:var(--sapBackgroundColor, #f7f7f7);color:var(--sapTextColor, #32363a)}:host ::ng-deep .fd-list__title{line-height:1.5rem}.wrapper{display:flex;flex-direction:column}fd-toolbar{width:100%}::ng-deep span.fd-toolbar__spacer{display:none}\n"] }]
|
|
30
|
-
}], propDecorators: { appGroups: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], deviceSize: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], sideContentSize: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], selectedAppGroup: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], selectedAppGroupId: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], mobile: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], contentDensity: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], contentHeight: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], pinnedAppInAppTileGroups: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], pinClick: [{
|
|
49
|
-
type: Output
|
|
50
|
-
}], selectedAppGroupIdChange: [{
|
|
51
|
-
type: Output
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXIvYXBwLWZpbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXIvYXBwLWZpbmRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hHLE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7OztBQU9qRyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQU5yRDs7UUFhYSxtQkFBYyxHQUFtQixTQUFTLENBQUM7UUFHMUMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ25ELDZCQUF3QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FPbkU7SUFIRyxjQUFjO1FBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7OytHQWpCUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpZUNWL0IsaWlGQWlFQTsyRkR2RGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLHdCQUF3QjtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHkgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2J0LWFwcC1maW5kZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtZmluZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcHAtZmluZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXBwRmluZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgYXBwR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIHNpZGVDb250ZW50U2l6ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkQXBwR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRBcHBHcm91cElkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eSA9ICdjb21wYWN0JztcbiAgICBASW5wdXQoKSBjb250ZW50SGVpZ2h0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gICAgQE91dHB1dCgpIHBpbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3RlZEFwcEdyb3VwSWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG4gICAgc2VhcmNoVGVybTI6IHN0cmluZztcblxuICAgIG9uU2VhcmNoU3VibWl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0yO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcEdyb3VwczsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgIDxmZC10b29sYmFyIFtmZFR5cGVdPVwiJ3NvbGlkJ1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cIidtZW51MidcIlxuICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNlbGVjdGVkQXBwR3JvdXA/LlRpdGxlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImRldmljZVNpemUgPT09ICdzJ1wiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8ZmQtdG9vbGJhci1zcGFjZXI+PC9mZC10b29sYmFyLXNwYWNlcj5cbiAgICAgICAgICAgIDxmZC1pbnB1dC1ncm91cFxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhBcmlhTGFiZWxdPVwiJ1NlYXJjaCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGVybTJcIlxuICAgICAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25TZWFyY2hTdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZWFyY2hTdWJtaXQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2ZkLWlucHV0LWdyb3VwPlxuICAgICAgICA8L2ZkLXRvb2xiYXI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBvdmVyZmxvdy15OiBhdXRvXCIgW3N0eWxlLmhlaWdodF09XCJjb250ZW50SGVpZ2h0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdyb3Vwc1wiPlxuICAgICAgICAgICAgICAgIDxidC1hcHAtZmluZGVyLWdyb3VwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGV2aWNlU2l6ZSAhPT0gJ3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2FwcEdyb3Vwc109XCJhcHBHcm91cHNcIlxuICAgICAgICAgICAgICAgICAgICBbbGlzdE1vZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZElkXT1cInNlbGVjdGVkQXBwR3JvdXBJZFwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZElkQ2hhbmdlKT1cInNlbGVjdGVkQXBwR3JvdXBJZENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2J0LWFwcC1maW5kZXItZ3JvdXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidC1hcHAtZmluZGVyLWFwcC1saXN0XG4gICAgICAgICAgICAgICAgW2FwcEdyb3VwXT1cInNlbGVjdGVkQXBwR3JvdXBcIlxuICAgICAgICAgICAgICAgIFttb2JpbGVdPVwibW9iaWxlXCJcbiAgICAgICAgICAgICAgICBbc2VhcmNoVGVybV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgICAgICBbcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzXT1cInBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1wiXG4gICAgICAgICAgICAgICAgKHBpbkNsaWNrKT1cInBpbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9idC1hcHAtZmluZGVyLWFwcC1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZkLW1lbnVcbiAgICAgICAgICAgICNtZW51XG4gICAgICAgICAgICBbbW9iaWxlXT1cImRldmljZVNpemUgPT09ICdzJ1wiXG4gICAgICAgICAgICBbbW9iaWxlQ29uZmlnXT1cInsgdGl0bGU6ICdHcm91cHMnIHwgYmJiVHJhbnNsYXRlLCBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSB9XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ0LWFwcC1maW5kZXItZ3JvdXBcbiAgICAgICAgICAgICAgICAqbmdJZj1cImRldmljZVNpemUgPT09ICdzJ1wiXG4gICAgICAgICAgICAgICAgW2FwcEdyb3Vwc109XCJhcHBHcm91cHNcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZElkXT1cInNlbGVjdGVkQXBwR3JvdXBJZFwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkSWRDaGFuZ2UpPVwibWVudS5jbG9zZSgpOyBzZWxlY3RlZEFwcEdyb3VwSWRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYnQtYXBwLWZpbmRlci1ncm91cD5cbiAgICAgICAgPC9mZC1tZW51PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICAgICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/avatar";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/button";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/card";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/fixed-card-layout";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/title";
|
|
10
|
-
import * as i7 from "barsa-novin-ray-core";
|
|
11
|
-
import * as i8 from "../directives/emptylist.directive";
|
|
12
|
-
export class AppFinderAppListComponent extends BaseComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.pinClick = new EventEmitter();
|
|
16
|
-
this.appTileGroupsPinChange = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
onPinTap(app) {
|
|
19
|
-
this.pinClick.emit(app);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
AppFinderAppListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderAppListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
AppFinderAppListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: { appGroup: "appGroup", mobile: "mobile", searchTerm: "searchTerm", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", appTileGroupsPinChange: "appTileGroupsPinChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appGroup\">\r\n <h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n <ng-container *ngIf=\"(appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0\">\r\n <fd-fixed-card-layout [disableDragDrop]=\"true\">\r\n <ng-container\r\n *ngFor=\"let app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; let i = index\"\r\n >\r\n <fd-card *fdCardDef=\"i\">\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-avatar *ngIf=\"app.Icon\" [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n <h2 fd-card-title class=\"header-title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n </ng-container>\r\n </fd-fixed-card-layout>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;flex-grow:1;padding:1rem}button{cursor:pointer}h3{padding-bottom:.5rem}fd-fixed-card-layout,h5{padding-bottom:2rem;display:block}.header-title{padding-bottom:30px}fd-card-content{padding:10px;cursor:default}@media (max-width: 767px){:host{padding:0 1rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i4.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "component", type: i4.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i4.CardTitleDirective, selector: "[fd-card-title]" }, { kind: "directive", type: i4.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i5.FixedCardLayoutComponent, selector: "fd-fixed-card-layout", inputs: ["disableDragDrop", "dragStartDelay", "cardMinimumWidth", "columnsWidthConfig", "maxColumns"], outputs: ["layoutChange", "cardDraggedDropped"] }, { kind: "directive", type: i5.CardDefinitionDirective, selector: "[fdCardDef]", inputs: ["fdCardDef"] }, { kind: "component", type: i6.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i8.EmptyListDirective, selector: "[emptyList]", inputs: ["emptyList"] }, { kind: "pipe", type: i7.FilterStringPipe, name: "filterStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderAppListComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{ selector: 'bt-app-finder-app-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"appGroup\">\r\n <h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n <ng-container *ngIf=\"(appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0\">\r\n <fd-fixed-card-layout [disableDragDrop]=\"true\">\r\n <ng-container\r\n *ngFor=\"let app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; let i = index\"\r\n >\r\n <fd-card *fdCardDef=\"i\">\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-avatar *ngIf=\"app.Icon\" [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n <h2 fd-card-title class=\"header-title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n </ng-container>\r\n </fd-fixed-card-layout>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;flex-grow:1;padding:1rem}button{cursor:pointer}h3{padding-bottom:.5rem}fd-fixed-card-layout,h5{padding-bottom:2rem;display:block}.header-title{padding-bottom:30px}fd-card-content{padding:10px;cursor:default}@media (max-width: 767px){:host{padding:0 1rem}}\n"] }]
|
|
27
|
-
}], propDecorators: { appGroup: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], mobile: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], searchTerm: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], pinnedAppInAppTileGroups: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], pinClick: [{
|
|
36
|
-
type: Output
|
|
37
|
-
}], appTileGroupsPinChange: [{
|
|
38
|
-
type: Output
|
|
39
|
-
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItYXBwLWxpc3QvYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItYXBwLWxpc3QvYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFRMUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFONUQ7O1FBWWMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ25ELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUcvQyxDQUFDO0tBSVI7SUFIRyxRQUFRLENBQUMsR0FBd0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7c0hBYlEseUJBQXlCOzBHQUF6Qix5QkFBeUIsOFNDVHRDLGsyREFvQ0E7MkZEM0JhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEFwcFRpbGVHcm91cFBpbiB9IGZyb20gJy4uL21vZGVscyc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1hcHAtZmluZGVyLWFwcC1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtZmluZGVyLWFwcC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FwcC1maW5kZXItYXBwLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBGaW5kZXJBcHBMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBhcHBHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIEBJbnB1dCgpIG1vYmlsZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNlYXJjaFRlcm06IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHBpbm5lZEFwcEluQXBwVGlsZUdyb3VwczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9O1xyXG5cclxuICAgIEBPdXRwdXQoKSBwaW5DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBhcHBUaWxlR3JvdXBzUGluQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICAgICAgYXBwVGlsZUdyb3Vwc1BpbjogQXBwVGlsZUdyb3VwUGluW107XHJcbiAgICAgICAgYXBwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgfT4oKTtcclxuICAgIG9uUGluVGFwKGFwcDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGluQ2xpY2suZW1pdChhcHApO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBHcm91cFwiPlxyXG4gICAgPGg1IGZkLXRpdGxlICplbXB0eUxpc3Q9XCJhcHBHcm91cC5BcHBzXCI+PC9oNT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoYXBwR3JvdXAuQXBwcyB8IGZpbHRlclN0cjogeyBUaXRsZTogc2VhcmNoVGVybSwgbW9kZTogJ2NvbnRhaW5zJyB9KS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGZkLWZpeGVkLWNhcmQtbGF5b3V0IFtkaXNhYmxlRHJhZ0Ryb3BdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYXBwIG9mIGFwcEdyb3VwLkFwcHMgfCBmaWx0ZXJTdHI6IHsgVGl0bGU6IHNlYXJjaFRlcm0sIG1vZGU6ICdjb250YWlucycgfTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxmZC1jYXJkICpmZENhcmREZWY9XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWNhcmQtaGVhZGVyIFtkeW5Db21tYW5kXT1cImFwcC5EeW5hbWljQ29tbWFuZFwiIFttb109XCJhcHBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWF2YXRhciAqbmdJZj1cImFwcC5JY29uXCIgW2dseXBoXT1cImFwcC5JY29uXCIgc2l6ZT1cInNcIiBbdGl0bGVdPVwiYXBwLlRpdGxlXCI+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBmZC1jYXJkLXRpdGxlIGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhcHAuVGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGZkLWNhcmQtc3VidGl0bGU+PC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidwdXNocGluLW9mZidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHNbYXBwLklkXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1thcHAuSWRdLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZW1waGFzaXplZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3N0YW5kYXJkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFwcC4kSGFzUGlubmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2VtcGhhc2l6ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3N0YW5kYXJkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBpblRhcChhcHApXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9mZC1jYXJkPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2ZkLWZpeGVkLWNhcmQtbGF5b3V0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/list";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/menu";
|
|
7
|
-
export class AppFinderGroupComponent extends BaseComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.selectedIdChange = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
ngOnChanges(changes) {
|
|
13
|
-
super.ngOnChanges(changes);
|
|
14
|
-
if (changes.appGroups && !changes.appGroups.firstChange) {
|
|
15
|
-
const appGroups = changes.appGroups.currentValue;
|
|
16
|
-
if (appGroups && appGroups.length > 0 && !this.selectedId) {
|
|
17
|
-
this.selectedIdChange.emit(appGroups[0].Id);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
OnMenuGroupClick(group) {
|
|
22
|
-
this.selectedIdChange.emit(group.Id);
|
|
23
|
-
}
|
|
24
|
-
OnGroupClick(group) {
|
|
25
|
-
this.selectedIdChange.emit(group.Id);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
AppFinderGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
AppFinderGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: { appGroups: "appGroups", selectedId: "selectedId", listMode: "listMode" }, outputs: { selectedIdChange: "selectedIdChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"listMode; else menuTpl\">\r\n <div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n <li\r\n fd-list-item\r\n *ngFor=\"let group of appGroups; let i = index\"\r\n [selected]=\"group.Id === selectedId\"\r\n (click)=\"OnGroupClick(group)\"\r\n >\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n<ng-template #menuTpl>\r\n <li *ngFor=\"let group of appGroups; let i = index\" fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n </li>\r\n</ng-template>\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderGroupComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{ selector: 'bt-app-finder-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"listMode; else menuTpl\">\r\n <div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n <li\r\n fd-list-item\r\n *ngFor=\"let group of appGroups; let i = index\"\r\n [selected]=\"group.Id === selectedId\"\r\n (click)=\"OnGroupClick(group)\"\r\n >\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n<ng-template #menuTpl>\r\n <li *ngFor=\"let group of appGroups; let i = index\" fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n </li>\r\n</ng-template>\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}\n"] }]
|
|
33
|
-
}], propDecorators: { appGroups: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], selectedId: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], listMode: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], selectedIdChange: [{
|
|
40
|
-
type: Output
|
|
41
|
-
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItZ3JvdXAvYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItZ3JvdXAvYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7OztBQU8xRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBYTtJQU4xRDs7UUFVYyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBaUIzRDtJQWhCRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtZQUNyRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUNqRCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0o7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBMEI7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUEwQjtRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDOztvSEFwQlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsOE9DakJwQyw2NEJBeUJBOzJGRFJhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtYXBwLWZpbmRlci1ncm91cCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hcHAtZmluZGVyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwRmluZGVyR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIGFwcEdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRJZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbGlzdE1vZGU6IGJvb2xlYW47XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRJZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmFwcEdyb3VwcyAmJiAhY2hhbmdlcy5hcHBHcm91cHMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgY29uc3QgYXBwR3JvdXBzID0gY2hhbmdlcy5hcHBHcm91cHMuY3VycmVudFZhbHVlO1xyXG4gICAgICAgICAgICBpZiAoYXBwR3JvdXBzICYmIGFwcEdyb3Vwcy5sZW5ndGggPiAwICYmICF0aGlzLnNlbGVjdGVkSWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZENoYW5nZS5lbWl0KGFwcEdyb3Vwc1swXS5JZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgT25NZW51R3JvdXBDbGljayhncm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZENoYW5nZS5lbWl0KGdyb3VwLklkKTtcclxuICAgIH1cclxuICAgIE9uR3JvdXBDbGljayhncm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZENoYW5nZS5lbWl0KGdyb3VwLklkKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdE1vZGU7IGVsc2UgbWVudVRwbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFwcC1ncm91cHNcIj5cclxuICAgICAgICA8dWwgZmQtbGlzdCBbc2VsZWN0aW9uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICBmZC1saXN0LWl0ZW1cclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBhcHBHcm91cHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImdyb3VwLklkID09PSBzZWxlY3RlZElkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJPbkdyb3VwQ2xpY2soZ3JvdXApXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICB7eyBncm91cC5UaXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjbWVudVRwbD5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgYXBwR3JvdXBzOyBsZXQgaSA9IGluZGV4XCIgZmQtbWVudS1pdGVtIFtzZWxlY3RlZF09XCJncm91cC5JZCA9PT0gc2VsZWN0ZWRJZFwiPlxyXG4gICAgICAgIDxhIGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cIk9uTWVudUdyb3VwQ2xpY2soZ3JvdXApXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICB7eyBncm91cC5UaXRsZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
|
-
import { BarsaApi } from 'barsa-novin-ray-core';
|
|
4
|
-
import { distinctUntilChanged, map } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
7
|
-
import * as i2 from "./tiles.service";
|
|
8
|
-
export class AppFinderService {
|
|
9
|
-
constructor(_portalService, _tileService) {
|
|
10
|
-
this._portalService = _portalService;
|
|
11
|
-
this._tileService = _tileService;
|
|
12
|
-
this._appGroupsSource = new BehaviorSubject([]);
|
|
13
|
-
this._OnDestroy$ = new Subject();
|
|
14
|
-
this._selectedAppGroupIdSource = new Subject();
|
|
15
|
-
this._pinnedAppInAppTileGroupsSource = new BehaviorSubject({});
|
|
16
|
-
this.loadAppGroups();
|
|
17
|
-
this.deviceSize$ = this._tileService.deviceSize$;
|
|
18
|
-
this.pinnedAppInAppTileGroups$ = this._pinnedAppInAppTileGroupsSource.asObservable();
|
|
19
|
-
this.appGroups$ = this._appGroupsSource.asObservable();
|
|
20
|
-
this.selectedAppGroupId$ = this._selectedAppGroupIdSource.asObservable().pipe(distinctUntilChanged());
|
|
21
|
-
this.selectedAppGroup$ = combineLatest([this.appGroups$, this.selectedAppGroupId$]).pipe(map(([moDataList, selectedId]) => moDataList?.find((c) => c.Id === selectedId)));
|
|
22
|
-
}
|
|
23
|
-
get deviceSize() {
|
|
24
|
-
return this._portalService.deviceSize;
|
|
25
|
-
}
|
|
26
|
-
get appTileGroups() {
|
|
27
|
-
return this._tileService.appTileGroups?.MoDataList;
|
|
28
|
-
}
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
this._OnDestroy$.next();
|
|
31
|
-
}
|
|
32
|
-
loadAppGroups() {
|
|
33
|
-
this._portalService
|
|
34
|
-
.ReportExecute('UserAppGroups')
|
|
35
|
-
.subscribe((allApps) => this._nextAllApps(allApps.MoDataList));
|
|
36
|
-
}
|
|
37
|
-
selectAppGroup(appGroupId) {
|
|
38
|
-
const appGroups = this._appGroupsSource.getValue();
|
|
39
|
-
const group = appGroups.find((c) => c.Id === appGroupId);
|
|
40
|
-
if (group) {
|
|
41
|
-
this._selectedAppGroupIdSource.next(appGroupId);
|
|
42
|
-
this.loadAppsByAppGroup(appGroups, group);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
loadAppsByAppGroup(appGroups, appGroup) {
|
|
46
|
-
if (appGroup.Apps) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
const reportWrapper = BarsaApi.Bw.RunBlMethod('LoadAppsByAppGroup', appGroup.Id);
|
|
50
|
-
const moForReport = reportWrapper.Unwrap();
|
|
51
|
-
appGroup.Apps = appGroup.Apps ?? [];
|
|
52
|
-
const apps = moForReport.MoDataList;
|
|
53
|
-
if (apps.length > 0) {
|
|
54
|
-
const customColumns = Object.keys(apps[0]).filter((c) => c.indexOf('$Caption') > -1 && !c.startsWith('$'));
|
|
55
|
-
apps.forEach((app) => {
|
|
56
|
-
customColumns.forEach((column) => {
|
|
57
|
-
app.$HasPinned = app.$HasPinned || Number(app[column.split('$Caption')[0]]);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
appGroup.Apps = [...appGroup.Apps, ...apps];
|
|
62
|
-
this._nextAllApps(appGroups);
|
|
63
|
-
}
|
|
64
|
-
loadPinnedAppInTileGroups(app) {
|
|
65
|
-
const appId = app.Id;
|
|
66
|
-
const val = this._pinnedAppInAppTileGroupsSource.getValue();
|
|
67
|
-
if (val[appId]) {
|
|
68
|
-
return val;
|
|
69
|
-
}
|
|
70
|
-
const reportWrapper = BarsaApi.Bw.RunBlMethod('PinnedAppInTileGroups', appId);
|
|
71
|
-
const moForReport = reportWrapper.Unwrap();
|
|
72
|
-
val[appId] = val[appId] ?? [];
|
|
73
|
-
const apps = moForReport.MoDataList;
|
|
74
|
-
if (apps.length > 0) {
|
|
75
|
-
apps.forEach((itemApp) => {
|
|
76
|
-
const predefined = itemApp.Id.Id;
|
|
77
|
-
const userSetting = itemApp.UserAppTileGroupSetting?.Id;
|
|
78
|
-
if (predefined) {
|
|
79
|
-
val[appId] = [...val[appId], predefined];
|
|
80
|
-
}
|
|
81
|
-
if (userSetting) {
|
|
82
|
-
val[appId] = [...val[appId], userSetting];
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
this._pinnedAppInAppTileGroupsSource.next(val);
|
|
87
|
-
return val;
|
|
88
|
-
}
|
|
89
|
-
pinTileChanged(appTileGroups, app, callback) {
|
|
90
|
-
this._tileService.pinTileChanged(appTileGroups, app, (settings) => {
|
|
91
|
-
const val = this._pinnedAppInAppTileGroupsSource.getValue();
|
|
92
|
-
const appId = app.Id;
|
|
93
|
-
for (let i = 0; i < appTileGroups.length; i++) {
|
|
94
|
-
const appTileSetting = settings[i];
|
|
95
|
-
const appTileGroupSettingId = appTileSetting.UserAppTileGroupSettingId;
|
|
96
|
-
const appTileGroupId = appTileSetting.AppTileGroupId;
|
|
97
|
-
if (appTileGroups[i].visible) {
|
|
98
|
-
val[appId] = [...val[appId], appTileGroupSettingId, appTileGroupId];
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
val[appId] = val[appId].filter((c) => c !== appTileGroupSettingId && c !== appTileGroupId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
this._pinnedAppInAppTileGroupsSource.next({ ...val });
|
|
105
|
-
callback();
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
_nextAllApps(appGroups) {
|
|
109
|
-
const newAppGroups = appGroups ?? this._appGroupsSource.getValue();
|
|
110
|
-
this._appGroupsSource.next([...newAppGroups]);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
AppFinderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderService, deps: [{ token: i1.PortalService }, { token: i2.TilesService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
114
|
-
AppFinderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderService, providedIn: 'root' });
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderService, decorators: [{
|
|
116
|
-
type: Injectable,
|
|
117
|
-
args: [{
|
|
118
|
-
providedIn: 'root'
|
|
119
|
-
}]
|
|
120
|
-
}], ctorParameters: function () { return [{ type: i1.PortalService }, { type: i2.TilesService }]; } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9hcHAtZmluZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUVILFFBQVEsRUFJWCxNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUszRCxNQUFNLE9BQU8sZ0JBQWdCO0lBY3pCLFlBQW9CLGNBQTZCLEVBQVUsWUFBMEI7UUFBakUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVA3RSxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBd0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWxDLDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBRTFELEVBQUUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDakQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixD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O2lCQUM5RjthQUNKO1lBQ0QsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN0RCxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNPLFlBQVksQ0FBQyxTQUFpQztRQUNsRCxNQUFNLFlBQVksR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7NkdBdEhRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIE1vRm9yUmVwb3J0TW9kZWwsXHJcbiAgICBQb3J0YWxTZXJ2aWNlXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBUaWxlc1NlcnZpY2UgfSBmcm9tICcuL3RpbGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBUaWxlR3JvdXBQaW4gfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEZpbmRlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+O1xyXG4gICAgYXBwR3JvdXBzJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xyXG5cclxuICAgIHNlbGVjdGVkQXBwR3JvdXBJZCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHNlbGVjdGVkQXBwR3JvdXAkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWwgfCB1bmRlZmluZWQ+O1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8J3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJz47XHJcbiAgICBwcml2YXRlIF9hcHBHcm91cHNTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1ldGFvYmplY3REYXRhTW9kZWxbXT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfT25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRBcHBHcm91cElkU291cmNlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgcHJpdmF0ZSBfcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nW107XHJcbiAgICB9Pih7fSk7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLCBwcml2YXRlIF90aWxlU2VydmljZTogVGlsZXNTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkQXBwR3JvdXBzKCk7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3RpbGVTZXJ2aWNlLmRldmljZVNpemUkO1xyXG4gICAgICAgIHRoaXMucGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJCA9IHRoaXMuX3Bpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1NvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmFwcEdyb3VwcyQgPSB0aGlzLl9hcHBHcm91cHNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFwcEdyb3VwSWQkID0gdGhpcy5fc2VsZWN0ZWRBcHBHcm91cElkU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFwcEdyb3VwJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuYXBwR3JvdXBzJCwgdGhpcy5zZWxlY3RlZEFwcEdyb3VwSWQkXSkucGlwZShcclxuICAgICAgICAgICAgbWFwKChbbW9EYXRhTGlzdCwgc2VsZWN0ZWRJZF0pID0+IG1vRGF0YUxpc3Q/LmZpbmQoKGMpID0+IGMuSWQgPT09IHNlbGVjdGVkSWQpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICBnZXQgZGV2aWNlU2l6ZSgpOiBBYmJyZXZhdGlvbkRldmljZVNpemUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemU7XHJcbiAgICB9XHJcbiAgICBnZXQgYXBwVGlsZUdyb3VwcygpOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90aWxlU2VydmljZS5hcHBUaWxlR3JvdXBzPy5Nb0RhdGFMaXN0O1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX09uRGVzdHJveSQubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgbG9hZEFwcEdyb3VwcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5SZXBvcnRFeGVjdXRlKCdVc2VyQXBwR3JvdXBzJylcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoYWxsQXBwcykgPT4gdGhpcy5fbmV4dEFsbEFwcHMoYWxsQXBwcy5Nb0RhdGFMaXN0KSk7XHJcbiAgICB9XHJcbiAgICBzZWxlY3RBcHBHcm91cChhcHBHcm91cElkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBhcHBHcm91cHMgPSB0aGlzLl9hcHBHcm91cHNTb3VyY2UuZ2V0VmFsdWUoKTtcclxuICAgICAgICBjb25zdCBncm91cCA9IGFwcEdyb3Vwcy5maW5kKChjKSA9PiBjLklkID09PSBhcHBHcm91cElkKTtcclxuICAgICAgICBpZiAoZ3JvdXApIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRBcHBHcm91cElkU291cmNlLm5leHQoYXBwR3JvdXBJZCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZEFwcHNCeUFwcEdyb3VwKGFwcEdyb3VwcywgZ3JvdXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxvYWRBcHBzQnlBcHBHcm91cChhcHBHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSwgYXBwR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoYXBwR3JvdXAuQXBwcykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJlcG9ydFdyYXBwZXIgPSBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZCgnTG9hZEFwcHNCeUFwcEdyb3VwJywgYXBwR3JvdXAuSWQpO1xyXG4gICAgICAgIGNvbnN0IG1vRm9yUmVwb3J0OiBNb0ZvclJlcG9ydE1vZGVsID0gcmVwb3J0V3JhcHBlci5VbndyYXAoKTtcclxuICAgICAgICBhcHBHcm91cC5BcHBzID0gYXBwR3JvdXAuQXBwcyA/PyBbXTtcclxuICAgICAgICBjb25zdCBhcHBzID0gbW9Gb3JSZXBvcnQuTW9EYXRhTGlzdDtcclxuICAgICAgICBpZiAoYXBwcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUNvbHVtbnMgPSBPYmplY3Qua2V5cyhhcHBzWzBdKS5maWx0ZXIoKGMpID0+IGMuaW5kZXhPZignJENhcHRpb24nKSA+IC0xICYmICFjLnN0YXJ0c1dpdGgoJyQnKSk7XHJcblxyXG4gICAgICAgICAgICBhcHBzLmZvckVhY2goKGFwcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY3VzdG9tQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBhcHAuJEhhc1Bpbm5lZCA9IGFwcC4kSGFzUGlubmVkIHx8IE51bWJlcihhcHBbY29sdW1uLnNwbGl0KCckQ2FwdGlvbicpWzBdXSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFwcEdyb3VwLkFwcHMgPSBbLi4uYXBwR3JvdXAuQXBwcywgLi4uYXBwc107XHJcbiAgICAgICAgdGhpcy5fbmV4dEFsbEFwcHMoYXBwR3JvdXBzKTtcclxuICAgIH1cclxuICAgIGxvYWRQaW5uZWRBcHBJblRpbGVHcm91cHMoYXBwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKToge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xyXG4gICAgfSB7XHJcbiAgICAgICAgY29uc3QgYXBwSWQgPSBhcHAuSWQ7XHJcbiAgICAgICAgY29uc3QgdmFsID0gdGhpcy5fcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzU291cmNlLmdldFZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHZhbFthcHBJZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcmVwb3J0V3JhcHBlciA9IEJhcnNhQXBpLkJ3LlJ1bkJsTWV0aG9kKCdQaW5uZWRBcHBJblRpbGVHcm91cHMnLCBhcHBJZCk7XHJcbiAgICAgICAgY29uc3QgbW9Gb3JSZXBvcnQ6IE1vRm9yUmVwb3J0TW9kZWwgPSByZXBvcnRXcmFwcGVyLlVud3JhcCgpO1xyXG5cclxuICAgICAgICB2YWxbYXBwSWRdID0gdmFsW2FwcElkXSA/PyBbXTtcclxuXHJcbiAgICAgICAgY29uc3QgYXBwcyA9IG1vRm9yUmVwb3J0Lk1vRGF0YUxpc3Q7XHJcbiAgICAgICAgaWYgKGFwcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBhcHBzLmZvckVhY2goKGl0ZW1BcHApID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHByZWRlZmluZWQgPSAoaXRlbUFwcC5JZCBhcyBhbnkpLklkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXNlclNldHRpbmcgPSBpdGVtQXBwLlVzZXJBcHBUaWxlR3JvdXBTZXR0aW5nPy5JZDtcclxuICAgICAgICAgICAgICAgIGlmIChwcmVkZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsW2FwcElkXSA9IFsuLi52YWxbYXBwSWRdLCBwcmVkZWZpbmVkXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh1c2VyU2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbFthcHBJZF0gPSBbLi4udmFsW2FwcElkXSwgdXNlclNldHRpbmddO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzU291cmNlLm5leHQodmFsKTtcclxuICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgfVxyXG4gICAgcGluVGlsZUNoYW5nZWQoYXBwVGlsZUdyb3VwczogQXBwVGlsZUdyb3VwUGluW10sIGFwcDogTWV0YW9iamVjdERhdGFNb2RlbCwgY2FsbGJhY2spOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl90aWxlU2VydmljZS5waW5UaWxlQ2hhbmdlZChhcHBUaWxlR3JvdXBzLCBhcHAsIChzZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLl9waW5uZWRBcHBJbkFwcFRpbGVHcm91cHNTb3VyY2UuZ2V0VmFsdWUoKTtcclxuICAgICAgICAgICAgY29uc3QgYXBwSWQgPSBhcHAuSWQ7XHJcblxyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFwcFRpbGVHcm91cHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFwcFRpbGVTZXR0aW5nID0gc2V0dGluZ3NbaV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcHBUaWxlR3JvdXBTZXR0aW5nSWQgPSBhcHBUaWxlU2V0dGluZy5Vc2VyQXBwVGlsZUdyb3VwU2V0dGluZ0lkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXBwVGlsZUdyb3VwSWQgPSBhcHBUaWxlU2V0dGluZy5BcHBUaWxlR3JvdXBJZDtcclxuICAgICAgICAgICAgICAgIGlmIChhcHBUaWxlR3JvdXBzW2ldLnZpc2libGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWxbYXBwSWRdID0gWy4uLnZhbFthcHBJZF0sIGFwcFRpbGVHcm91cFNldHRpbmdJZCwgYXBwVGlsZUdyb3VwSWRdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWxbYXBwSWRdID0gdmFsW2FwcElkXS5maWx0ZXIoKGMpID0+IGMgIT09IGFwcFRpbGVHcm91cFNldHRpbmdJZCAmJiBjICE9PSBhcHBUaWxlR3JvdXBJZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzU291cmNlLm5leHQoeyAuLi52YWwgfSk7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9uZXh0QWxsQXBwcyhhcHBHcm91cHM/OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBuZXdBcHBHcm91cHMgPSBhcHBHcm91cHMgPz8gdGhpcy5fYXBwR3JvdXBzU291cmNlLmdldFZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5fYXBwR3JvdXBzU291cmNlLm5leHQoWy4uLm5ld0FwcEdyb3Vwc10pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|