barsa-tiles 2.2.73 → 2.2.75
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 +215 -206
- 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
|
@@ -87,8 +87,8 @@ export declare class ShellbarComponent extends BaseComponent implements OnInit {
|
|
|
87
87
|
}): void;
|
|
88
88
|
onOpenNotification: () => void;
|
|
89
89
|
onCultureChanged: (culture: string) => void;
|
|
90
|
-
onNotificationWorkflowChoiceSuccess(
|
|
91
|
-
onNotificationWorkflowChoiceFailed(
|
|
90
|
+
onNotificationWorkflowChoiceSuccess(_result: any): void;
|
|
91
|
+
onNotificationWorkflowChoiceFailed(_err: any): void;
|
|
92
92
|
onHandleOpenNotificationPanel(): void;
|
|
93
93
|
private _addClass;
|
|
94
94
|
private _removeClass;
|
package/lib/tiles.service.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare class TilesService implements OnDestroy {
|
|
|
27
27
|
get componentSettings$(): Observable<MetaobjectDataModel>;
|
|
28
28
|
get appTileGroups(): MoForReportModel | null;
|
|
29
29
|
ngOnDestroy(): void;
|
|
30
|
-
protected _onApplication_GlobalRefreshTile(
|
|
30
|
+
protected _onApplication_GlobalRefreshTile(_sender: any, appTilesTitle: string[]): void;
|
|
31
31
|
protected _updateAppTileFromNotification(allApps: MoForReportModel, appTiles: MetaobjectDataModel[]): void;
|
|
32
32
|
loadUserProfileImage(repIdProfileImage: string): void;
|
|
33
33
|
loadAppTileGroups(appTileGroup: MetaobjectDataModel): void;
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "barsa-tiles",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.75",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/core": "^
|
|
6
|
-
"@angular/common": "^
|
|
5
|
+
"@angular/core": "^19.2.10",
|
|
6
|
+
"@angular/common": "^19.2.10"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0"
|
|
@@ -16,8 +16,6 @@
|
|
|
16
16
|
},
|
|
17
17
|
".": {
|
|
18
18
|
"types": "./index.d.ts",
|
|
19
|
-
"esm2022": "./esm2022/barsa-tiles.mjs",
|
|
20
|
-
"esm": "./esm2022/barsa-tiles.mjs",
|
|
21
19
|
"default": "./fesm2022/barsa-tiles.mjs"
|
|
22
20
|
}
|
|
23
21
|
},
|
package/esm2022/barsa-tiles.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvYmFyc2EtdGlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { TileComponent } from '../tile/tile.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core/button";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/icon";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/menu";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/tile";
|
|
8
|
-
import * as i5 from "barsa-novin-ray-core";
|
|
9
|
-
export class ActionItemComponent extends TileComponent {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionItemComponent, selector: "bt-action-item", usesInheritance: true, ngImport: i0, template: "<div [class.action-item-edit-mode]=\"edit\" class=\"action-item s\">\r\n @if (icon) {\r\n <fd-icon [glyph]=\"icon\"></fd-icon>\r\n }\r\n <h1 fd-tile-title>{{ title }}</h1>\r\n\r\n @if (subtitle) {\r\n <h2 fd-tile-subtitle>{{ subtitle }}</h2>\r\n } @if (edit && !data.Locked) {\r\n <div class=\"buttons\">\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n </div>\r\n }\r\n <fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </fd-menu>\r\n</div>\r\n", styles: [".action-item{display:flex;justify-content:space-between;height:100%;align-items:center;column-gap:10px;padding:7px;background-color:var(--sapTile_Background, #fff);cursor:pointer;box-shadow:var(--sapContent_Shadow0, 0 0 0 .0625rem rgba(0, 0, 0, .1), 0 .125rem .5rem 0 rgba(0, 0, 0, .1));border-radius:var(--sapElement_BorderCornerRadius, .25rem);border:.0625rem solid var(--sapTile_BorderColor, transparent)}.action-item:hover{background-color:var(--sapBackgroundColor);border-color:var(--sapTile_Interactive_BorderColor)}.action-item fd-icon{color:var(--sapLinkColor, #0a6ed1);font-size:1.3rem;line-height:0}.action-item.s .fd-tile__title{font-size:var(--sapFontHeader6Size)}.action-item.s .fd-tile__subtitle{font-size:var(--sapFontSmallSize)}.action-item-edit-mode h1,.action-item-edit-mode h2{opacity:.3}.action-item-edit-mode .buttons{display:flex;column-gap:2px}.action-item-edit-mode .buttons button{display:flex}h1{text-decoration:none;color:var(--sapLinkColor, #0a6ed1);text-shadow:var(--sapContent_TextShadow, 0 0 .125rem #fff)}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i3.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "directive", type: i4.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i4.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i4.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i4.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionItemComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{ selector: 'bt-action-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div [class.action-item-edit-mode]=\"edit\" class=\"action-item s\">\r\n @if (icon) {\r\n <fd-icon [glyph]=\"icon\"></fd-icon>\r\n }\r\n <h1 fd-tile-title>{{ title }}</h1>\r\n\r\n @if (subtitle) {\r\n <h2 fd-tile-subtitle>{{ subtitle }}</h2>\r\n } @if (edit && !data.Locked) {\r\n <div class=\"buttons\">\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n </div>\r\n }\r\n <fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </fd-menu>\r\n</div>\r\n", styles: [".action-item{display:flex;justify-content:space-between;height:100%;align-items:center;column-gap:10px;padding:7px;background-color:var(--sapTile_Background, #fff);cursor:pointer;box-shadow:var(--sapContent_Shadow0, 0 0 0 .0625rem rgba(0, 0, 0, .1), 0 .125rem .5rem 0 rgba(0, 0, 0, .1));border-radius:var(--sapElement_BorderCornerRadius, .25rem);border:.0625rem solid var(--sapTile_BorderColor, transparent)}.action-item:hover{background-color:var(--sapBackgroundColor);border-color:var(--sapTile_Interactive_BorderColor)}.action-item fd-icon{color:var(--sapLinkColor, #0a6ed1);font-size:1.3rem;line-height:0}.action-item.s .fd-tile__title{font-size:var(--sapFontHeader6Size)}.action-item.s .fd-tile__subtitle{font-size:var(--sapFontSmallSize)}.action-item-edit-mode h1,.action-item-edit-mode h2{opacity:.3}.action-item-edit-mode .buttons{display:flex;column-gap:2px}.action-item-edit-mode .buttons button{display:flex}h1{text-decoration:none;color:var(--sapLinkColor, #0a6ed1);text-shadow:var(--sapContent_TextShadow, 0 0 .125rem #fff)}\n"] }]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9hY3Rpb24taXRlbS9hY3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FjdGlvbi1pdGVtL2FjdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBUXZELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhOytHQUF6QyxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2RUNWaEMsMDFCQXNCQTs7NEZEWmEsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGlsZS90aWxlLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1hY3Rpb24taXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaWxlQ29tcG9uZW50IHt9XHJcbiIsIjxkaXYgW2NsYXNzLmFjdGlvbi1pdGVtLWVkaXQtbW9kZV09XCJlZGl0XCIgY2xhc3M9XCJhY3Rpb24taXRlbSBzXCI+XHJcbiAgICBAaWYgKGljb24pIHtcclxuICAgIDxmZC1pY29uIFtnbHlwaF09XCJpY29uXCI+PC9mZC1pY29uPlxyXG4gICAgfVxyXG4gICAgPGgxIGZkLXRpbGUtdGl0bGU+e3sgdGl0bGUgfX08L2gxPlxyXG5cclxuICAgIEBpZiAoc3VidGl0bGUpIHtcclxuICAgIDxoMiBmZC10aWxlLXN1YnRpdGxlPnt7IHN1YnRpdGxlIH19PC9oMj5cclxuICAgIH0gQGlmIChlZGl0ICYmICFkYXRhLkxvY2tlZCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZC10aWxlLWFjdGlvbi1jbG9zZSBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIChjbGljayk9XCJoaWRlQ2xpY2suZW1pdCgpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gZmQtdGlsZS1hY3Rpb24taW5kaWNhdG9yIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8ZmQtbWVudSAjbWVudT5cclxuICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwibWVudS5jbG9zZSgpOyByZW5hbWVDbGljay5lbWl0KClcIiBmZC1tZW51LWludGVyYWN0aXZlPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAnUmVuYW1lJyB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L2ZkLW1lbnU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ActionLinksPipe {
|
|
4
|
-
transform(tiles) {
|
|
5
|
-
return tiles.filter((tile) => tile.IsActionLink);
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionLinksPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ActionLinksPipe, name: "actionLinks" }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionLinksPipe, decorators: [{
|
|
11
|
-
type: Pipe,
|
|
12
|
-
args: [{
|
|
13
|
-
name: 'actionLinks',
|
|
14
|
-
standalone: false
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxpbmtzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FjdGlvbi1saW5rcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBVTtRQUNoQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQUhRLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ2FjdGlvbkxpbmtzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25MaW5rc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh0aWxlczogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGlsZXMuZmlsdGVyKCh0aWxlKSA9PiB0aWxlLklzQWN0aW9uTGluayk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import { getDeviceIsMobile, BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/cdk/drag-drop";
|
|
5
|
-
import * as i2 from "../action-item/action-item.component";
|
|
6
|
-
import * as i3 from "../directives/tile-dynamic-command.directive";
|
|
7
|
-
import * as i4 from "../pipes/tile-prop.pipe";
|
|
8
|
-
export class ActionsLinkComponent extends BaseComponent {
|
|
9
|
-
constructor(_cdr) {
|
|
10
|
-
super();
|
|
11
|
-
this._cdr = _cdr;
|
|
12
|
-
this._class = '';
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
|
-
this.isMobile = getDeviceIsMobile();
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
super.ngOnInit();
|
|
20
|
-
this.hide = this.actionsLink?.length === 0;
|
|
21
|
-
this._class = 's';
|
|
22
|
-
}
|
|
23
|
-
ngOnChanges(changes) {
|
|
24
|
-
super.ngOnChanges(changes);
|
|
25
|
-
const { actionsLink } = changes;
|
|
26
|
-
if (actionsLink && !actionsLink.firstChange) {
|
|
27
|
-
this.hide = actionsLink.currentValue?.length === 0;
|
|
28
|
-
this._cdr.detectChanges();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsLinkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: { actionsLink: "actionsLink", edit: "edit", deviceSize: "deviceSize" }, host: { properties: { "class.hide": "this.hide", "class": "this._class" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@for (actionItem of actionsLink; track actionItem) {\r\n<bt-action-item\r\n cdkDrag\r\n [data]=\"actionItem\" \r\n [title]=\"actionItem | tileProp: 'Title'\"\r\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\r\n [footer]=\"actionItem | tileProp: 'Footer'\"\r\n [icon]=\"actionItem | tileProp: 'Icon'\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n [class.isMobile]=\"isMobile\"\r\n tileDynCommand\r\n [edit]=\"edit\" \r\n [title]=\"actionItem | tileProp: 'Title'\" \r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n>\r\n</bt-action-item>\r\n}\r\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}:host.isMobile{padding:0 1.3rem}bt-action-item{margin-top:auto;margin-bottom:auto}\n"], dependencies: [{ kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i2.ActionItemComponent, selector: "bt-action-item" }, { kind: "directive", type: i3.TileDynamicCommandDirective, selector: "[tileDynCommand]", inputs: ["disableClick", "edit", "dynamicCommand", "title", "setToStorage", "navigateBackOnClick"] }, { kind: "pipe", type: i4.TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsLinkComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'bt-actions-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@for (actionItem of actionsLink; track actionItem) {\r\n<bt-action-item\r\n cdkDrag\r\n [data]=\"actionItem\" \r\n [title]=\"actionItem | tileProp: 'Title'\"\r\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\r\n [footer]=\"actionItem | tileProp: 'Footer'\"\r\n [icon]=\"actionItem | tileProp: 'Icon'\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n [class.isMobile]=\"isMobile\"\r\n tileDynCommand\r\n [edit]=\"edit\" \r\n [title]=\"actionItem | tileProp: 'Title'\" \r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n>\r\n</bt-action-item>\r\n}\r\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}:host.isMobile{padding:0 1.3rem}bt-action-item{margin-top:auto;margin-bottom:auto}\n"] }]
|
|
37
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hide: [{
|
|
38
|
-
type: HostBinding,
|
|
39
|
-
args: ['class.hide']
|
|
40
|
-
}], actionsLink: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], edit: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], deviceSize: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], _class: [{
|
|
47
|
-
type: HostBinding,
|
|
48
|
-
args: ['class']
|
|
49
|
-
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvYWN0aW9ucy1saW5rL2FjdGlvbnMtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FjdGlvbnMtbGluay9hY3Rpb25zLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQXlCLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTL0YsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFXbkQsWUFBc0IsSUFBdUI7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUx2QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xDOztXQUVHO1FBQ0gsYUFBUSxHQUFHLGlCQUFpQixFQUFFLENBQUM7SUFHL0IsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzsrR0ExQlEsb0JBQW9CO21HQUFwQixvQkFBb0IsZ1FDbkJqQywrd0JBb0JBOzs0RkREYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSztzRkFHVSxJQUFJO3NCQUE5QixXQUFXO3VCQUFDLFlBQVk7Z0JBQ2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWdCLE1BQU07c0JBQTNCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFiYnJldmF0aW9uRGV2aWNlU2l6ZSwgZ2V0RGV2aWNlSXNNb2JpbGUsIEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtYWN0aW9ucy1saW5rJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLWxpbmsuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWN0aW9ucy1saW5rLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25zTGlua0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlJykgaGlkZTtcclxuICAgIEBJbnB1dCgpIGFjdGlvbnNMaW5rO1xyXG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgX2NsYXNzID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqXHJcbiAgICAgKi9cclxuICAgIGlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuaGlkZSA9IHRoaXMuYWN0aW9uc0xpbms/Lmxlbmd0aCA9PT0gMDtcclxuICAgICAgICB0aGlzLl9jbGFzcyA9ICdzJztcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IGFjdGlvbnNMaW5rIH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChhY3Rpb25zTGluayAmJiAhYWN0aW9uc0xpbmsuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlID0gYWN0aW9uc0xpbmsuY3VycmVudFZhbHVlPy5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBmb3IgKGFjdGlvbkl0ZW0gb2YgYWN0aW9uc0xpbms7IHRyYWNrIGFjdGlvbkl0ZW0pIHtcclxuPGJ0LWFjdGlvbi1pdGVtXHJcbiAgICBjZGtEcmFnXHJcbiAgICBbZGF0YV09XCJhY3Rpb25JdGVtXCIgICAgXHJcbiAgICBbdGl0bGVdPVwiYWN0aW9uSXRlbSB8IHRpbGVQcm9wOiAnVGl0bGUnXCJcclxuICAgIFtzdWJ0aXRsZV09XCJhY3Rpb25JdGVtIHwgdGlsZVByb3A6ICdTdWJ0aXRsZSdcIlxyXG4gICAgW2R5bmFtaWNDb21tYW5kXT1cImFjdGlvbkl0ZW0gfCB0aWxlUHJvcDogJ0R5bmFtaWNDb21tYW5kJ1wiXHJcbiAgICBbaXNEb3VibGVdPVwiYWN0aW9uSXRlbSB8IHRpbGVQcm9wOiAnSXNEb3VibGUnXCJcclxuICAgIFtmb290ZXJdPVwiYWN0aW9uSXRlbSB8IHRpbGVQcm9wOiAnRm9vdGVyJ1wiXHJcbiAgICBbaWNvbl09XCJhY3Rpb25JdGVtIHwgdGlsZVByb3A6ICdJY29uJ1wiXHJcbiAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFhY3Rpb25JdGVtIHx8IGFjdGlvbkl0ZW0uTG9ja2VkXCJcclxuICAgIFttb109XCJhY3Rpb25JdGVtXCJcclxuICAgIFtjbGFzcy5pc01vYmlsZV09XCJpc01vYmlsZVwiXHJcbiAgICB0aWxlRHluQ29tbWFuZFxyXG4gICAgW2VkaXRdPVwiZWRpdFwiICAgIFxyXG4gICAgW3RpdGxlXT1cImFjdGlvbkl0ZW0gfCB0aWxlUHJvcDogJ1RpdGxlJ1wiICAgIFxyXG4gICAgW2R5bmFtaWNDb21tYW5kXT1cImFjdGlvbkl0ZW0gfCB0aWxlUHJvcDogJ0R5bmFtaWNDb21tYW5kJ1wiXHJcbj5cclxuPC9idC1hY3Rpb24taXRlbT5cclxufVxyXG4iXX0=
|
|
@@ -1,52 +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/forms";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/input-group";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/menu";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/toolbar";
|
|
9
|
-
import * as i6 from "barsa-novin-ray-core";
|
|
10
|
-
import * as i7 from "barsa-sap-ui";
|
|
11
|
-
import * as i8 from "../app-finder-group/app-finder-group.component";
|
|
12
|
-
import * as i9 from "../app-finder-app-list/app-finder-app-list.component";
|
|
13
|
-
export class AppFinderComponent extends BaseComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.contentDensity = 'compact';
|
|
17
|
-
this.pinClick = new EventEmitter();
|
|
18
|
-
this.selectedAppGroupIdChange = new EventEmitter();
|
|
19
|
-
}
|
|
20
|
-
onSearchSubmit() {
|
|
21
|
-
this.searchTerm = this.searchTerm2;
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"selectedAppGroup?.Title\"\r\n ></button>\r\n }\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fd-input-group\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm2\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\r\n <div class=\"app-groups\">\r\n @if (deviceSize !== 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [listMode]=\"true\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </div>\r\n <bt-app-finder-app-list\r\n [appGroup]=\"selectedAppGroup\"\r\n [mobile]=\"mobile\"\r\n [searchTerm]=\"searchTerm\"\r\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\r\n (pinClick)=\"pinClick.emit($event)\"\r\n ></bt-app-finder-app-list>\r\n </div>\r\n <fd-menu\r\n #menu\r\n [mobile]=\"deviceSize === 's'\"\r\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n @if (deviceSize === 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </fd-menu>\r\n } @else {\r\n <bsu-mask></bsu-mask>\r\n }\r\n</div>\r\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}.app-groups{background-color:var(--sapBaseColor);height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i5.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i5.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i6.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i7.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i8.AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: ["appGroups", "selectedId", "listMode"], outputs: ["selectedIdChange"] }, { kind: "component", type: i9.AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: ["appGroup", "mobile", "searchTerm", "pinnedAppInAppTileGroups"], outputs: ["pinClick", "appTileGroupsPinChange"] }, { kind: "pipe", type: i6.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: 'bt-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"selectedAppGroup?.Title\"\r\n ></button>\r\n }\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fd-input-group\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm2\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\r\n <div class=\"app-groups\">\r\n @if (deviceSize !== 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [listMode]=\"true\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </div>\r\n <bt-app-finder-app-list\r\n [appGroup]=\"selectedAppGroup\"\r\n [mobile]=\"mobile\"\r\n [searchTerm]=\"searchTerm\"\r\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\r\n (pinClick)=\"pinClick.emit($event)\"\r\n ></bt-app-finder-app-list>\r\n </div>\r\n <fd-menu\r\n #menu\r\n [mobile]=\"deviceSize === 's'\"\r\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n @if (deviceSize === 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </fd-menu>\r\n } @else {\r\n <bsu-mask></bsu-mask>\r\n }\r\n</div>\r\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}.app-groups{background-color:var(--sapBaseColor);height:100%}\n"] }]
|
|
29
|
-
}], propDecorators: { appGroups: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], deviceSize: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], sideContentSize: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], selectedAppGroup: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], selectedAppGroupId: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], mobile: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], contentDensity: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], contentHeight: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], pinnedAppInAppTileGroups: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], pinClick: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}], selectedAppGroupIdChange: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXIvYXBwLWZpbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXIvYXBwLWZpbmRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hHLE9BQU8sRUFBRSxhQUFhLEVBQThDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7O0FBUWpHLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUFhO0lBUHJEOztRQWNhLG1CQUFjLEdBQW1CLFNBQVMsQ0FBQztRQUcxQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDbkQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQU9uRTtJQUhHLGNBQWM7UUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkMsQ0FBQzsrR0FqQlEsa0JBQWtCO21HQUFsQixrQkFBa0IsaWVDWC9CLGc0RUFtRUE7OzRGRHhEYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0ksZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR1IsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLHdCQUF3QjtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1hcHAtZmluZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtZmluZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FwcC1maW5kZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEZpbmRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XHJcbiAgICBASW5wdXQoKSBzaWRlQ29udGVudFNpemU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkQXBwR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEFwcEdyb3VwSWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIG1vYmlsZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eSA9ICdjb21wYWN0JztcclxuICAgIEBJbnB1dCgpIGNvbnRlbnRIZWlnaHQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHBpbm5lZEFwcEluQXBwVGlsZUdyb3VwczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9O1xyXG4gICAgQE91dHB1dCgpIHBpbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkQXBwR3JvdXBJZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgc2VhcmNoVGVybTogc3RyaW5nO1xyXG4gICAgc2VhcmNoVGVybTI6IHN0cmluZztcclxuXHJcbiAgICBvblNlYXJjaFN1Ym1pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0yO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICBAaWYgKGFwcEdyb3Vwcykge1xyXG4gICAgPGZkLXRvb2xiYXIgW2ZkVHlwZV09XCInc29saWQnXCI+XHJcbiAgICAgICAgQGlmIChkZXZpY2VTaXplID09PSAncycpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cIidtZW51MidcIlxyXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cInNlbGVjdGVkQXBwR3JvdXA/LlRpdGxlXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxyXG4gICAgICAgIDxmZC1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgIGdseXBoPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgW2dseXBoQXJpYUxhYmVsXT1cIidTZWFyY2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtMlwiXHJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25TZWFyY2hTdWJtaXQoKVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU2VhcmNoU3VibWl0KClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2ZkLWlucHV0LWdyb3VwPlxyXG4gICAgPC9mZC10b29sYmFyPlxyXG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IG92ZXJmbG93LXk6IGF1dG9cIiBbc3R5bGUuaGVpZ2h0XT1cImNvbnRlbnRIZWlnaHRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdyb3Vwc1wiPlxyXG4gICAgICAgICAgICBAaWYgKGRldmljZVNpemUgIT09ICdzJykge1xyXG4gICAgICAgICAgICA8YnQtYXBwLWZpbmRlci1ncm91cFxyXG4gICAgICAgICAgICAgICAgW2FwcEdyb3Vwc109XCJhcHBHcm91cHNcIlxyXG4gICAgICAgICAgICAgICAgW2xpc3RNb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkSWRdPVwic2VsZWN0ZWRBcHBHcm91cElkXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZElkQ2hhbmdlKT1cInNlbGVjdGVkQXBwR3JvdXBJZENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvYnQtYXBwLWZpbmRlci1ncm91cD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidC1hcHAtZmluZGVyLWFwcC1saXN0XHJcbiAgICAgICAgICAgIFthcHBHcm91cF09XCJzZWxlY3RlZEFwcEdyb3VwXCJcclxuICAgICAgICAgICAgW21vYmlsZV09XCJtb2JpbGVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoVGVybV09XCJzZWFyY2hUZXJtXCJcclxuICAgICAgICAgICAgW3Bpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc109XCJwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHNcIlxyXG4gICAgICAgICAgICAocGluQ2xpY2spPVwicGluQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9idC1hcHAtZmluZGVyLWFwcC1saXN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZmQtbWVudVxyXG4gICAgICAgICNtZW51XHJcbiAgICAgICAgW21vYmlsZV09XCJkZXZpY2VTaXplID09PSAncydcIlxyXG4gICAgICAgIFttb2JpbGVDb25maWddPVwieyB0aXRsZTogJ0dyb3VwcycgfCBiYmJUcmFuc2xhdGUsIGhhc0Nsb3NlQnV0dG9uOiB0cnVlIH1cIlxyXG4gICAgPlxyXG4gICAgICAgIEBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XHJcbiAgICAgICAgPGJ0LWFwcC1maW5kZXItZ3JvdXBcclxuICAgICAgICAgICAgW2FwcEdyb3Vwc109XCJhcHBHcm91cHNcIlxyXG4gICAgICAgICAgICBbc2VsZWN0ZWRJZF09XCJzZWxlY3RlZEFwcEdyb3VwSWRcIlxyXG4gICAgICAgICAgICAoc2VsZWN0ZWRJZENoYW5nZSk9XCJtZW51LmNsb3NlKCk7IHNlbGVjdGVkQXBwR3JvdXBJZENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2J0LWFwcC1maW5kZXItZ3JvdXA+XHJcbiAgICAgICAgfVxyXG4gICAgPC9mZC1tZW51PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cclxuICAgIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,38 +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 "@fundamental-ngx/core/avatar";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/card";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/title";
|
|
8
|
-
import * as i5 from "barsa-novin-ray-core";
|
|
9
|
-
import * as i6 from "../directives/emptylist.directive";
|
|
10
|
-
export class AppFinderAppListComponent extends BaseComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.pinClick = new EventEmitter();
|
|
14
|
-
this.appTileGroupsPinChange = new EventEmitter();
|
|
15
|
-
}
|
|
16
|
-
onPinTap(app) {
|
|
17
|
-
this.pinClick.emit(app);
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderAppListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "@if (appGroup) {\r\n<h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n@if ((appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0) {\r\n<div class=\"tw-flex tw-gap-3 tw-flex-wrap tw-grid tw-grid-cols-1 md:tw-grid-cols-2 lg:tw-grid-cols-3 xl:tw-grid-cols-4 2xl:tw-grid-cols-5\">\r\n @for (app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; track app; let i = $index) {\r\n <fd-card >\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-card-main-header>\r\n @if (app.Icon) {\r\n <fd-avatar [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n }\r\n <h2 fd-card-title class=\"header-title ellapsis\" [attr.title]=\"app.Title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-main-header>\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 }\r\n</div>\r\n} }\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: "component", type: i1.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i4.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i5.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i6.EmptyListDirective, selector: "[emptyList]", inputs: ["emptyList"] }, { kind: "pipe", type: i5.FilterStringPipe, name: "filterStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderAppListComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'bt-app-finder-app-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (appGroup) {\r\n<h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n@if ((appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0) {\r\n<div class=\"tw-flex tw-gap-3 tw-flex-wrap tw-grid tw-grid-cols-1 md:tw-grid-cols-2 lg:tw-grid-cols-3 xl:tw-grid-cols-4 2xl:tw-grid-cols-5\">\r\n @for (app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; track app; let i = $index) {\r\n <fd-card >\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-card-main-header>\r\n @if (app.Icon) {\r\n <fd-avatar [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n }\r\n <h2 fd-card-title class=\"header-title ellapsis\" [attr.title]=\"app.Title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-main-header>\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 }\r\n</div>\r\n} }\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"] }]
|
|
25
|
-
}], propDecorators: { appGroup: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}], mobile: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], searchTerm: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], pinnedAppInAppTileGroups: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], pinClick: [{
|
|
34
|
-
type: Output
|
|
35
|
-
}], appTileGroupsPinChange: [{
|
|
36
|
-
type: Output
|
|
37
|
-
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItYXBwLWxpc3QvYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItYXBwLWxpc3QvYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBUzFFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBUDVEOztRQWFjLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFHL0MsQ0FBQztLQUlSO0lBSEcsUUFBUSxDQUFDLEdBQXdCO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7K0dBYlEseUJBQXlCO21HQUF6Qix5QkFBeUIsOFNDVnRDLG1uREFxQ0E7OzRGRDNCYSx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR1IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgQXBwVGlsZUdyb3VwUGluIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2J0LWFwcC1maW5kZXItYXBwLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcC1maW5kZXItYXBwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXBwLWZpbmRlci1hcHAtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwRmluZGVyQXBwTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBtb2JpbGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWFyY2hUZXJtOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfTtcclxuXHJcbiAgICBAT3V0cHV0KCkgcGluQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgYXBwVGlsZUdyb3Vwc1BpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIGFwcFRpbGVHcm91cHNQaW46IEFwcFRpbGVHcm91cFBpbltdO1xyXG4gICAgICAgIGFwcDogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIH0+KCk7XHJcbiAgICBvblBpblRhcChhcHA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBpbkNsaWNrLmVtaXQoYXBwKTtcclxuICAgIH1cclxufVxyXG4iLCJAaWYgKGFwcEdyb3VwKSB7XHJcbjxoNSBmZC10aXRsZSAqZW1wdHlMaXN0PVwiYXBwR3JvdXAuQXBwc1wiPjwvaDU+XHJcbkBpZiAoKGFwcEdyb3VwLkFwcHMgfCBmaWx0ZXJTdHI6IHsgVGl0bGU6IHNlYXJjaFRlcm0sIG1vZGU6ICdjb250YWlucycgfSkubGVuZ3RoID4gMCkge1xyXG48ZGl2IGNsYXNzPVwidHctZmxleCB0dy1nYXAtMyB0dy1mbGV4LXdyYXAgdHctZ3JpZCB0dy1ncmlkLWNvbHMtMSBtZDp0dy1ncmlkLWNvbHMtMiBsZzp0dy1ncmlkLWNvbHMtMyB4bDp0dy1ncmlkLWNvbHMtNCAyeGw6dHctZ3JpZC1jb2xzLTVcIj5cclxuICAgIEBmb3IgKGFwcCBvZiBhcHBHcm91cC5BcHBzIHwgZmlsdGVyU3RyOiB7IFRpdGxlOiBzZWFyY2hUZXJtLCBtb2RlOiAnY29udGFpbnMnIH07IHRyYWNrIGFwcDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgIDxmZC1jYXJkID5cclxuICAgICAgICA8ZmQtY2FyZC1oZWFkZXIgW2R5bkNvbW1hbmRdPVwiYXBwLkR5bmFtaWNDb21tYW5kXCIgW21vXT1cImFwcFwiPlxyXG4gICAgICAgICAgICA8ZmQtY2FyZC1tYWluLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIEBpZiAoYXBwLkljb24pIHtcclxuICAgICAgICAgICAgICAgIDxmZC1hdmF0YXIgW2dseXBoXT1cImFwcC5JY29uXCIgc2l6ZT1cInNcIiBbdGl0bGVdPVwiYXBwLlRpdGxlXCI+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8aDIgZmQtY2FyZC10aXRsZSBjbGFzcz1cImhlYWRlci10aXRsZSBlbGxhcHNpc1wiIFthdHRyLnRpdGxlXT1cImFwcC5UaXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGFwcC5UaXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgIDxoMyBmZC1jYXJkLXN1YnRpdGxlPjwvaDM+XHJcbiAgICAgICAgICAgIDwvZmQtY2FyZC1tYWluLWhlYWRlcj5cclxuICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cIidwdXNocGluLW9mZidcIlxyXG4gICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJcclxuICAgICAgICAgICAgICAgICAgICBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHNbYXBwLklkXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHBpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1thcHAuSWRdLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZW1waGFzaXplZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3N0YW5kYXJkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGFwcC4kSGFzUGlubmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ2VtcGhhc2l6ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ3N0YW5kYXJkJ1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBpblRhcChhcHApXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxyXG4gICAgPC9mZC1jYXJkPlxyXG4gICAgfVxyXG48L2Rpdj5cclxufSB9XHJcbiJdfQ==
|
|
@@ -1,41 +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 "@fundamental-ngx/core/list";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/menu";
|
|
6
|
-
export class AppFinderGroupComponent extends BaseComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.selectedIdChange = new EventEmitter();
|
|
10
|
-
}
|
|
11
|
-
ngOnChanges(changes) {
|
|
12
|
-
super.ngOnChanges(changes);
|
|
13
|
-
if (changes.appGroups && !changes.appGroups.firstChange) {
|
|
14
|
-
const appGroups = changes.appGroups.currentValue;
|
|
15
|
-
if (appGroups && appGroups.length > 0 && !this.selectedId) {
|
|
16
|
-
this.selectedIdChange.emit(appGroups[0].Id);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
OnMenuGroupClick(group) {
|
|
21
|
-
this.selectedIdChange.emit(group.Id);
|
|
22
|
-
}
|
|
23
|
-
OnGroupClick(group) {
|
|
24
|
-
this.selectedIdChange.emit(group.Id);
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: { appGroups: "appGroups", selectedId: "selectedId", listMode: "listMode" }, outputs: { selectedIdChange: "selectedIdChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (listMode) {\r\n<div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n @for (group of appGroups; track group; let i = $index) {\r\n <li fd-list-item [selected]=\"group.Id === selectedId\" (click)=\"OnGroupClick(group)\">\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n} @else { @for (group of appGroups; track group; let i = $index) {\r\n<li 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} }\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);height:100%}\n"], dependencies: [{ kind: "component", type: i1.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i1.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i1.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i2.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderGroupComponent, decorators: [{
|
|
30
|
-
type: Component,
|
|
31
|
-
args: [{ selector: 'bt-app-finder-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (listMode) {\r\n<div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n @for (group of appGroups; track group; let i = $index) {\r\n <li fd-list-item [selected]=\"group.Id === selectedId\" (click)=\"OnGroupClick(group)\">\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n} @else { @for (group of appGroups; track group; let i = $index) {\r\n<li 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} }\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);height:100%}\n"] }]
|
|
32
|
-
}], propDecorators: { appGroups: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], selectedId: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], listMode: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], selectedIdChange: [{
|
|
39
|
-
type: Output
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItZ3JvdXAvYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2FwcC1maW5kZXItZ3JvdXAvYXBwLWZpbmRlci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7O0FBUTFFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBUDFEOztRQVdjLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FpQjNEO0lBaEJHLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDakQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTBCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBMEI7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0FwQlEsdUJBQXVCO21HQUF2Qix1QkFBdUIsOE9DbEJwQywrc0JBcUJBOzs0RkRIYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHUixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1hcHAtZmluZGVyLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtZmluZGVyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FwcC1maW5kZXItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEZpbmRlckdyb3VwQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBhcHBHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxpc3RNb2RlOiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkSWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5hcHBHcm91cHMgJiYgIWNoYW5nZXMuYXBwR3JvdXBzLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFwcEdyb3VwcyA9IGNoYW5nZXMuYXBwR3JvdXBzLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICAgICAgaWYgKGFwcEdyb3VwcyAmJiBhcHBHcm91cHMubGVuZ3RoID4gMCAmJiAhdGhpcy5zZWxlY3RlZElkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRDaGFuZ2UuZW1pdChhcHBHcm91cHNbMF0uSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIE9uTWVudUdyb3VwQ2xpY2soZ3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRDaGFuZ2UuZW1pdChncm91cC5JZCk7XHJcbiAgICB9XHJcbiAgICBPbkdyb3VwQ2xpY2soZ3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRDaGFuZ2UuZW1pdChncm91cC5JZCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmIChsaXN0TW9kZSkge1xyXG48ZGl2IGNsYXNzPVwiYXBwLWdyb3Vwc1wiPlxyXG4gICAgPHVsIGZkLWxpc3QgW3NlbGVjdGlvbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgQGZvciAoZ3JvdXAgb2YgYXBwR3JvdXBzOyB0cmFjayBncm91cDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICA8bGkgZmQtbGlzdC1pdGVtIFtzZWxlY3RlZF09XCJncm91cC5JZCA9PT0gc2VsZWN0ZWRJZFwiIChjbGljayk9XCJPbkdyb3VwQ2xpY2soZ3JvdXApXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICB7eyBncm91cC5UaXRsZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICB9XHJcbiAgICA8L3VsPlxyXG48L2Rpdj5cclxufSBAZWxzZSB7IEBmb3IgKGdyb3VwIG9mIGFwcEdyb3VwczsgdHJhY2sgZ3JvdXA7IGxldCBpID0gJGluZGV4KSB7XHJcbjxsaSBmZC1tZW51LWl0ZW0gW3NlbGVjdGVkXT1cImdyb3VwLklkID09PSBzZWxlY3RlZElkXCI+XHJcbiAgICA8YSBmZC1tZW51LWludGVyYWN0aXZlIChjbGljayk9XCJPbk1lbnVHcm91cENsaWNrKGdyb3VwKVwiPlxyXG4gICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XHJcbiAgICAgICAgICAgIHt7IGdyb3VwLlRpdGxlIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9hPlxyXG48L2xpPlxyXG59IH1cclxuIl19
|
|
@@ -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
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderService, deps: [{ token: i1.PortalService }, { token: i2.TilesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
113
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderService, providedIn: 'root' }); }
|
|
114
|
-
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFinderService, decorators: [{
|
|
116
|
-
type: Injectable,
|
|
117
|
-
args: [{
|
|
118
|
-
providedIn: 'root'
|
|
119
|
-
}]
|
|
120
|
-
}], ctorParameters: () => [{ type: i1.PortalService }, { type: i2.TilesService }] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpbmRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtdGlsZXMvc3JjL2xpYi9hcHAtZmluZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUVILFFBQVEsRUFJWCxNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUszRCxNQUFNLE9BQU8sZ0JBQWdCO0lBY3pCLFlBQW9CLGNBQTZCLEVBQVUsWUFBMEI7UUFBakUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVA3RSxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBd0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWxDLDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBRTFELEVBQUUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDakQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BGLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQ2xGLENBQUM7SUFDTixDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLGNBQWM7YUFDZCxhQUFhLENBQUMsZUFBZSxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsY0FBYyxDQUFDLFVBQWtCO1FBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxTQUFnQyxFQUFFLFFBQTZCO1FBQzlFLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sV0FBVyxHQUFxQixhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0QsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwQyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUzRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2pCLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDN0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hGLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELHlCQUF5QixDQUFDLEdBQXdCO1FBRzlDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVELElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDYixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RSxNQUFNLFdBQVcsR0FBcUIsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRTdELEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTlCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxVQUFVLEdBQUksT0FBTyxDQUFDLEVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUM7Z0JBQ3hELElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzdDLENBQUM7Z0JBQ0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDZCxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDOUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBQ0QsY0FBYyxDQUFDLGFBQWdDLEVBQUUsR0FBd0IsRUFBRSxRQUFRO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLHlCQUF5QixDQUFDO2dCQUN2RSxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDO2dCQUNyRCxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDM0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3hFLENBQUM7cUJBQU0sQ0FBQztvQkFDSixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLHFCQUFxQixJQUFJLENBQUMsS0FBSyxjQUFjLENBQUMsQ0FBQztnQkFDL0YsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ08sWUFBWSxDQUFDLFNBQWlDO1FBQ2xELE1BQU0sWUFBWSxHQUFHLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQXRIUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxyXG4gICAgQmFyc2FBcGksXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgTW9Gb3JSZXBvcnRNb2RlbCxcclxuICAgIFBvcnRhbFNlcnZpY2VcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFRpbGVzU2VydmljZSB9IGZyb20gJy4vdGlsZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFRpbGVHcm91cFBpbiB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwRmluZGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwaW5uZWRBcHBJbkFwcFRpbGVHcm91cHMkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj47XHJcbiAgICBhcHBHcm91cHMkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcblxyXG4gICAgc2VsZWN0ZWRBcHBHcm91cElkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgc2VsZWN0ZWRBcHBHcm91cCQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XHJcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTwncycgfCAnbScgfCAnbCcgfCAneGwnPjtcclxuICAgIHByaXZhdGUgX2FwcEdyb3Vwc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWV0YW9iamVjdERhdGFNb2RlbFtdPihbXSk7XHJcbiAgICBwcml2YXRlIF9PbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZEFwcEdyb3VwSWRTb3VyY2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBwcml2YXRlIF9waW5uZWRBcHBJbkFwcFRpbGVHcm91cHNTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdbXTtcclxuICAgIH0+KHt9KTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsIHByaXZhdGUgX3RpbGVTZXJ2aWNlOiBUaWxlc1NlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmxvYWRBcHBHcm91cHMoKTtcclxuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fdGlsZVNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5waW5uZWRBcHBJbkFwcFRpbGVHcm91cHMkID0gdGhpcy5fcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIHRoaXMuYXBwR3JvdXBzJCA9IHRoaXMuX2FwcEdyb3Vwc1NvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQXBwR3JvdXBJZCQgPSB0aGlzLl9zZWxlY3RlZEFwcEdyb3VwSWRTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQXBwR3JvdXAkID0gY29tYmluZUxhdGVzdChbdGhpcy5hcHBHcm91cHMkLCB0aGlzLnNlbGVjdGVkQXBwR3JvdXBJZCRdKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFttb0RhdGFMaXN0LCBzZWxlY3RlZElkXSkgPT4gbW9EYXRhTGlzdD8uZmluZCgoYykgPT4gYy5JZCA9PT0gc2VsZWN0ZWRJZCkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIGdldCBkZXZpY2VTaXplKCk6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZTtcclxuICAgIH1cclxuICAgIGdldCBhcHBUaWxlR3JvdXBzKCk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpbGVTZXJ2aWNlLmFwcFRpbGVHcm91cHM/Lk1vRGF0YUxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fT25EZXN0cm95JC5uZXh0KCk7XHJcbiAgICB9XHJcbiAgICBsb2FkQXBwR3JvdXBzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2VcclxuICAgICAgICAgICAgLlJlcG9ydEV4ZWN1dGUoJ1VzZXJBcHBHcm91cHMnKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhbGxBcHBzKSA9PiB0aGlzLl9uZXh0QWxsQXBwcyhhbGxBcHBzLk1vRGF0YUxpc3QpKTtcclxuICAgIH1cclxuICAgIHNlbGVjdEFwcEdyb3VwKGFwcEdyb3VwSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFwcEdyb3VwcyA9IHRoaXMuX2FwcEdyb3Vwc1NvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIGNvbnN0IGdyb3VwID0gYXBwR3JvdXBzLmZpbmQoKGMpID0+IGMuSWQgPT09IGFwcEdyb3VwSWQpO1xyXG4gICAgICAgIGlmIChncm91cCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEFwcEdyb3VwSWRTb3VyY2UubmV4dChhcHBHcm91cElkKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkQXBwc0J5QXBwR3JvdXAoYXBwR3JvdXBzLCBncm91cCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbG9hZEFwcHNCeUFwcEdyb3VwKGFwcEdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdLCBhcHBHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChhcHBHcm91cC5BcHBzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcmVwb3J0V3JhcHBlciA9IEJhcnNhQXBpLkJ3LlJ1bkJsTWV0aG9kKCdMb2FkQXBwc0J5QXBwR3JvdXAnLCBhcHBHcm91cC5JZCk7XHJcbiAgICAgICAgY29uc3QgbW9Gb3JSZXBvcnQ6IE1vRm9yUmVwb3J0TW9kZWwgPSByZXBvcnRXcmFwcGVyLlVud3JhcCgpO1xyXG4gICAgICAgIGFwcEdyb3VwLkFwcHMgPSBhcHBHcm91cC5BcHBzID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IGFwcHMgPSBtb0ZvclJlcG9ydC5Nb0RhdGFMaXN0O1xyXG4gICAgICAgIGlmIChhcHBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgY3VzdG9tQ29sdW1ucyA9IE9iamVjdC5rZXlzKGFwcHNbMF0pLmZpbHRlcigoYykgPT4gYy5pbmRleE9mKCckQ2FwdGlvbicpID4gLTEgJiYgIWMuc3RhcnRzV2l0aCgnJCcpKTtcclxuXHJcbiAgICAgICAgICAgIGFwcHMuZm9yRWFjaCgoYXBwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjdXN0b21Db2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGFwcC4kSGFzUGlubmVkID0gYXBwLiRIYXNQaW5uZWQgfHwgTnVtYmVyKGFwcFtjb2x1bW4uc3BsaXQoJyRDYXB0aW9uJylbMF1dKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXBwR3JvdXAuQXBwcyA9IFsuLi5hcHBHcm91cC5BcHBzLCAuLi5hcHBzXTtcclxuICAgICAgICB0aGlzLl9uZXh0QWxsQXBwcyhhcHBHcm91cHMpO1xyXG4gICAgfVxyXG4gICAgbG9hZFBpbm5lZEFwcEluVGlsZUdyb3VwcyhhcHA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB7XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nW107XHJcbiAgICB9IHtcclxuICAgICAgICBjb25zdCBhcHBJZCA9IGFwcC5JZDtcclxuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLl9waW5uZWRBcHBJbkFwcFRpbGVHcm91cHNTb3VyY2UuZ2V0VmFsdWUoKTtcclxuICAgICAgICBpZiAodmFsW2FwcElkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByZXBvcnRXcmFwcGVyID0gQmFyc2FBcGkuQncuUnVuQmxNZXRob2QoJ1Bpbm5lZEFwcEluVGlsZUdyb3VwcycsIGFwcElkKTtcclxuICAgICAgICBjb25zdCBtb0ZvclJlcG9ydDogTW9Gb3JSZXBvcnRNb2RlbCA9IHJlcG9ydFdyYXBwZXIuVW53cmFwKCk7XHJcblxyXG4gICAgICAgIHZhbFthcHBJZF0gPSB2YWxbYXBwSWRdID8/IFtdO1xyXG5cclxuICAgICAgICBjb25zdCBhcHBzID0gbW9Gb3JSZXBvcnQuTW9EYXRhTGlzdDtcclxuICAgICAgICBpZiAoYXBwcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGFwcHMuZm9yRWFjaCgoaXRlbUFwcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJlZGVmaW5lZCA9IChpdGVtQXBwLklkIGFzIGFueSkuSWQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyU2V0dGluZyA9IGl0ZW1BcHAuVXNlckFwcFRpbGVHcm91cFNldHRpbmc/LklkO1xyXG4gICAgICAgICAgICAgICAgaWYgKHByZWRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWxbYXBwSWRdID0gWy4uLnZhbFthcHBJZF0sIHByZWRlZmluZWRdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHVzZXJTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsW2FwcElkXSA9IFsuLi52YWxbYXBwSWRdLCB1c2VyU2V0dGluZ107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9waW5uZWRBcHBJbkFwcFRpbGVHcm91cHNTb3VyY2UubmV4dCh2YWwpO1xyXG4gICAgICAgIHJldHVybiB2YWw7XHJcbiAgICB9XHJcbiAgICBwaW5UaWxlQ2hhbmdlZChhcHBUaWxlR3JvdXBzOiBBcHBUaWxlR3JvdXBQaW5bXSwgYXBwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBjYWxsYmFjayk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3RpbGVTZXJ2aWNlLnBpblRpbGVDaGFuZ2VkKGFwcFRpbGVHcm91cHMsIGFwcCwgKHNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuX3Bpbm5lZEFwcEluQXBwVGlsZUdyb3Vwc1NvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBhcHBJZCA9IGFwcC5JZDtcclxuXHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXBwVGlsZUdyb3Vwcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXBwVGlsZVNldHRpbmcgPSBzZXR0aW5nc1tpXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFwcFRpbGVHcm91cFNldHRpbmdJZCA9IGFwcFRpbGVTZXR0aW5nLlVzZXJBcHBUaWxlR3JvdXBTZXR0aW5nSWQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcHBUaWxlR3JvdXBJZCA9IGFwcFRpbGVTZXR0aW5nLkFwcFRpbGVHcm91cElkO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFwcFRpbGVHcm91cHNbaV0udmlzaWJsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbFthcHBJZF0gPSBbLi4udmFsW2FwcElkXSwgYXBwVGlsZUdyb3VwU2V0dGluZ0lkLCBhcHBUaWxlR3JvdXBJZF07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbFthcHBJZF0gPSB2YWxbYXBwSWRdLmZpbHRlcigoYykgPT4gYyAhPT0gYXBwVGlsZUdyb3VwU2V0dGluZ0lkICYmIGMgIT09IGFwcFRpbGVHcm91cElkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9waW5uZWRBcHBJbkFwcFRpbGVHcm91cHNTb3VyY2UubmV4dCh7IC4uLnZhbCB9KTtcclxuICAgICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX25leHRBbGxBcHBzKGFwcEdyb3Vwcz86IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5ld0FwcEdyb3VwcyA9IGFwcEdyb3VwcyA/PyB0aGlzLl9hcHBHcm91cHNTb3VyY2UuZ2V0VmFsdWUoKTtcclxuICAgICAgICB0aGlzLl9hcHBHcm91cHNTb3VyY2UubmV4dChbLi4ubmV3QXBwR3JvdXBzXSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, Input, signal } from '@angular/core';
|
|
2
|
-
import { BarsaTreeItemComponent } from 'barsa-sap-ui';
|
|
3
|
-
import { takeUntil } from 'rxjs';
|
|
4
|
-
import { AppFinderService } from '../app-finder.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
8
|
-
export class BarsaPinAppComponent extends BarsaTreeItemComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this._appFinderService = inject(AppFinderService);
|
|
12
|
-
this.appGroups$ = signal([]);
|
|
13
|
-
this.pinnedAppInAppTileGroups$ = signal({});
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
super.ngOnInit();
|
|
17
|
-
this._appFinderService.appGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
|
|
18
|
-
this.appGroups$.set(c);
|
|
19
|
-
});
|
|
20
|
-
this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
|
|
21
|
-
this.pinnedAppInAppTileGroups$.set(c);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
onPinTap() { }
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaPinAppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaPinAppComponent, selector: "bt-barsa-pin-app", inputs: { titleTemplateRef: "titleTemplateRef" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"titleTemplateRef\">\r\n <ng-container *ngTemplateOutlet=\"titleTemplateRef\"></ng-container>\r\n</ng-container>\r\n<button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups$()[node.Data.Id]\r\n ? pinnedAppInAppTileGroups$()[node.Data.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : node.Data.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap()\"\r\n></button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaPinAppComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'bt-barsa-pin-app', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *ngIf=\"titleTemplateRef\">\r\n <ng-container *ngTemplateOutlet=\"titleTemplateRef\"></ng-container>\r\n</ng-container>\r\n<button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups$()[node.Data.Id]\r\n ? pinnedAppInAppTileGroups$()[node.Data.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : node.Data.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap()\"\r\n></button>\r\n" }]
|
|
31
|
-
}], propDecorators: { titleTemplateRef: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtcGluLWFwcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2JhcnNhLXBpbi1hcHAvYmFyc2EtcGluLWFwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL2JhcnNhLXBpbi1hcHAvYmFyc2EtcGluLWFwcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVN6RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBUGhFOztRQVNZLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELGVBQVUsR0FBMEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9ELDhCQUF5QixHQUE2QyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7S0FZcEY7SUFWRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9GLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7K0dBaEJWLG9CQUFvQjttR0FBcEIsb0JBQW9CLGlJQ2RqQyw2aUJBaUJBOzs0RkRIYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHUixnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXJzYVRyZWVJdGVtQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etc2FwLXVpJztcclxuXHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBBcHBGaW5kZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWZpbmRlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdidC1iYXJzYS1waW4tYXBwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1waW4tYXBwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXBpbi1hcHAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhUGluQXBwQ29tcG9uZW50IGV4dGVuZHMgQmFyc2FUcmVlSXRlbUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSB0aXRsZVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgcHJpdmF0ZSBfYXBwRmluZGVyU2VydmljZSA9IGluamVjdChBcHBGaW5kZXJTZXJ2aWNlKTtcclxuICAgIGFwcEdyb3VwcyQ6IFdyaXRhYmxlU2lnbmFsPE1ldGFvYmplY3REYXRhTW9kZWxbXT4gPSBzaWduYWwoW10pO1xyXG5cclxuICAgIHBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQ6IFdyaXRhYmxlU2lnbmFsPFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4gPSBzaWduYWwoe30pO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fYXBwRmluZGVyU2VydmljZS5hcHBHcm91cHMkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hcHBHcm91cHMkLnNldChjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9hcHBGaW5kZXJTZXJ2aWNlLnBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQuc2V0KGMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25QaW5UYXAoKTogdm9pZCB7fVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVRlbXBsYXRlUmVmXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGJ1dHRvblxyXG4gICAgZmQtYnV0dG9uXHJcbiAgICBbZ2x5cGhdPVwiJ3B1c2hwaW4tb2ZmJ1wiXHJcbiAgICBbZmRUeXBlXT1cIlxyXG4gICAgICAgIHBpbm5lZEFwcEluQXBwVGlsZUdyb3VwcyQoKVtub2RlLkRhdGEuSWRdXHJcbiAgICAgICAgICAgID8gcGlubmVkQXBwSW5BcHBUaWxlR3JvdXBzJCgpW25vZGUuRGF0YS5JZF0ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICA/ICdlbXBoYXNpemVkJ1xyXG4gICAgICAgICAgICAgICAgOiAnc3RhbmRhcmQnXHJcbiAgICAgICAgICAgIDogbm9kZS5EYXRhLiRIYXNQaW5uZWRcclxuICAgICAgICAgICAgPyAnZW1waGFzaXplZCdcclxuICAgICAgICAgICAgOiAnc3RhbmRhcmQnXHJcbiAgICBcIlxyXG4gICAgKGNsaWNrKT1cIm9uUGluVGFwKClcIlxyXG4+PC9idXR0b24+XHJcbiJdfQ==
|