barsa-tiles 1.0.338 → 1.0.340

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.
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ChangeDetectionStrategy, Input, HostListener, Pipe, HostBinding, EventEmitter, Directive, Output, ViewChild, TemplateRef, Inject, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
+ import { Injectable, Component, ChangeDetectionStrategy, Input, HostListener, Pipe, HostBinding, EventEmitter, Directive, Output, ElementRef, ViewChild, TemplateRef, Inject, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
3
3
  import * as i1 from 'barsa-novin-ray-core';
4
- import { BarsaApi, TilePropsComponent, BaseComponent, PreventDefaulEvent, BaseDirective, IntersectionStatus, APP_VERSION, BaseModule, BarsaNovinRayCoreModule } from 'barsa-novin-ray-core';
4
+ import { BarsaApi, TilePropsComponent, BaseComponent, PreventDefaulEvent, BaseDirective, getUniqueId, fromIntersectionObserver, IntersectionStatus, APP_VERSION, BaseModule, BarsaNovinRayCoreModule } from 'barsa-novin-ray-core';
5
5
  import { Subject, BehaviorSubject, of, from, takeUntil as takeUntil$1, filter as filter$1, interval, combineLatest, forkJoin } from 'rxjs';
6
6
  import { startWith, shareReplay, takeUntil, distinctUntilChanged, filter, tap, concatMap, debounceTime, exhaustMap, finalize, map, withLatestFrom } from 'rxjs/operators';
7
7
  import * as i1$1 from '@fundamental-ngx/core';
@@ -11,41 +11,41 @@ import { DOCUMENT, CommonModule, LowerCasePipe } from '@angular/common';
11
11
  import * as i1$3 from '@fundamental-ngx/core/tile';
12
12
  import * as i2$1 from '@fundamental-ngx/core/button';
13
13
  import * as i3 from '@fundamental-ngx/core/menu';
14
- import * as i6 from 'barsa-sap-ui';
14
+ import * as i5 from 'barsa-sap-ui';
15
15
  import { BarsaSapUiModule } from 'barsa-sap-ui';
16
16
  import * as i2 from '@fundamental-ngx/core/icon';
17
17
  import * as i2$2 from '@angular/cdk/drag-drop';
18
18
  import { moveItemInArray, transferArrayItem, DragDropModule } from '@angular/cdk/drag-drop';
19
19
  import * as i3$1 from '@fundamental-ngx/core/busy-indicator';
20
- import * as i6$1 from '@fundamental-ngx/core/layout-panel';
20
+ import * as i6 from '@fundamental-ngx/core/layout-panel';
21
21
  import * as i9 from '@fundamental-ngx/core/title';
22
22
  import * as i8 from '@fundamental-ngx/core/panel';
23
- import * as i4 from '@fundamental-ngx/core/toolbar';
23
+ import * as i10 from '@fundamental-ngx/core/toolbar';
24
24
  import * as i2$3 from '@fundamental-ngx/core/avatar';
25
- import * as i4$1 from '@fundamental-ngx/core/card';
26
- import * as i5 from '@fundamental-ngx/core/fixed-card-layout';
27
- import * as i6$2 from '@fundamental-ngx/core/list';
28
- import * as i5$1 from '@fundamental-ngx/platform/shared';
29
- import * as i6$3 from '@fundamental-ngx/platform/search-field';
25
+ import * as i4 from '@fundamental-ngx/core/card';
26
+ import * as i5$1 from '@fundamental-ngx/core/fixed-card-layout';
27
+ import * as i6$1 from '@fundamental-ngx/core/list';
28
+ import * as i5$2 from '@fundamental-ngx/platform/shared';
29
+ import * as i6$2 from '@fundamental-ngx/platform/search-field';
30
30
  import * as i1$4 from '@angular/forms';
31
31
  import { UntypedFormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
32
- import * as i5$2 from '@fundamental-ngx/core/bar';
33
- import * as i6$4 from '@fundamental-ngx/core/form';
32
+ import * as i5$3 from '@fundamental-ngx/core/bar';
33
+ import * as i6$3 from '@fundamental-ngx/core/form';
34
34
  import * as i7 from '@fundamental-ngx/core/input-group';
35
35
  import * as i8$1 from '@fundamental-ngx/core/dialog';
36
- import * as i10 from '@fundamental-ngx/core/utils';
37
- import * as i5$3 from '@fundamental-ngx/core/dynamic-page';
38
- import * as i7$1 from '@fundamental-ngx/core/switch';
39
- import * as i8$2 from '@fundamental-ngx/core/tabs';
36
+ import * as i10$1 from '@fundamental-ngx/core/utils';
37
+ import * as i6$4 from '@fundamental-ngx/core/dynamic-page';
38
+ import * as i8$2 from '@fundamental-ngx/core/switch';
39
+ import * as i9$1 from '@fundamental-ngx/core/tabs';
40
40
  import * as i2$4 from 'barsa-echarts';
41
41
  import { BarsaEchartsModule } from 'barsa-echarts';
42
42
  import * as i3$2 from '@fundamental-ngx/core/carousel';
43
43
  import * as i6$5 from '@fundamental-ngx/core/checkbox';
44
44
  import * as i3$3 from '@angular/platform-browser';
45
- import * as i10$1 from '@fundamental-ngx/core/product-switch';
45
+ import * as i10$2 from '@fundamental-ngx/core/product-switch';
46
46
  import * as i11 from '@fundamental-ngx/core/popover';
47
47
  import * as i12 from '@fundamental-ngx/core/shellbar';
48
- import * as i4$2 from '@fundamental-ngx/core/notification';
48
+ import * as i4$1 from '@fundamental-ngx/core/notification';
49
49
  import { CdkTableModule } from '@angular/cdk/table';
50
50
  import { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';
51
51
 
@@ -94,7 +94,7 @@ class TilesService {
94
94
  const appTiles = [];
95
95
  if (allApps) {
96
96
  appTilesTitle.forEach((c) => {
97
- const selectedTile = this.findAppTileWithKey(allApps, 'AppTile.$Caption', c);
97
+ const selectedTile = this.findAppTileWithKey(allApps, 'A_App_AppKey', c);
98
98
  if (selectedTile) {
99
99
  appTiles.push(selectedTile);
100
100
  }
@@ -108,7 +108,7 @@ class TilesService {
108
108
  return;
109
109
  }
110
110
  BarsaApi.Bw.RunBlMethodAsync({
111
- Parameters: [appTiles.map((c) => c.AppTile.Id)],
111
+ Parameters: [appTiles.map((c) => (c.AppTile?.Id ? c.AppTile?.Id : c.Id))],
112
112
  Method: 'RefreshAppTiles',
113
113
  SuccessFn: (result) => {
114
114
  result.MoDataList.forEach((c) => this.updateAppTile(allApps, c));
@@ -518,14 +518,11 @@ class TilesService {
518
518
  return;
519
519
  }
520
520
  selectedTile = appGroup.navigatorTiles.find((c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value);
521
- if (selectedTile) {
522
- return;
523
- }
524
521
  appGroup.$Children?.forEach((subGroup) => {
525
- selectedTile = subGroup.navigatorTiles.find((c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value);
526
522
  if (selectedTile) {
527
523
  return;
528
524
  }
525
+ selectedTile = subGroup.navigatorTiles.find((c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value);
529
526
  });
530
527
  });
531
528
  return selectedTile;
@@ -716,7 +713,7 @@ class FooterTileComponent extends BaseComponent {
716
713
  }
717
714
  }
718
715
  FooterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FooterTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
719
- FooterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FooterTileComponent, selector: "bt-footer-tile", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: "<div fd-tile-footer [twoColumn]=\"twoColumn\">\r\n <ng-container *ngIf=\"twoColumn; else oneColumn\">\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\r\n </div>\r\n </ng-container>\r\n <ng-template #oneColumn>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </ng-template>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$3.TileRefreshDirective, selector: "[fdTileRefresh], [fd-tile-refresh]", inputs: ["glyph", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i6.SapFontPipe, name: "sapFont" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
716
+ FooterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FooterTileComponent, selector: "bt-footer-tile", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: "<div fd-tile-footer [twoColumn]=\"twoColumn\">\r\n <ng-container *ngIf=\"twoColumn; else oneColumn\">\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\r\n </div>\r\n </ng-container>\r\n <ng-template #oneColumn>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </ng-template>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$3.TileRefreshDirective, selector: "[fdTileRefresh], [fd-tile-refresh]", inputs: ["glyph", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i5.SapFontPipe, name: "sapFont" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
720
717
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FooterTileComponent, decorators: [{
721
718
  type: Component,
722
719
  args: [{ selector: 'bt-footer-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div fd-tile-footer [twoColumn]=\"twoColumn\">\r\n <ng-container *ngIf=\"twoColumn; else oneColumn\">\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\r\n </div>\r\n </ng-container>\r\n <ng-template #oneColumn>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </ng-template>\r\n</div>\r\n" }]
@@ -746,7 +743,7 @@ class TileComponent extends TilePropsComponent {
746
743
  }
747
744
  }
748
745
  TileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
749
- TileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TileComponent, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", disableClick: "disableClick", title: "title", subtitle: "subtitle", isDouble: "isDouble", edit: "edit", dynamicCommand: "dynamicCommand" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0, template: "<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\">\n <ng-container *ngIf=\"edit && !data.Locked\">\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n </ng-container>\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n<ng-template #defaultFooter>\n <bt-footer-tile *ngIf=\"footer\" [settings]=\"footer\"></bt-footer-tile>\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n<bsu-mask *ngIf=\"runningCommand\"></bsu-mask>\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i1$3.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i1$3.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i1$3.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i1$3.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i1$3.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: FooterTileComponent, selector: "bt-footer-tile", inputs: ["settings"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
746
+ TileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TileComponent, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", disableClick: "disableClick", title: "title", subtitle: "subtitle", isDouble: "isDouble", edit: "edit", dynamicCommand: "dynamicCommand" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0, template: "<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\">\n <ng-container *ngIf=\"edit && !data.Locked\">\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n </ng-container>\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n<ng-template #defaultFooter>\n <bt-footer-tile *ngIf=\"footer\" [settings]=\"footer\"></bt-footer-tile>\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n<bsu-mask *ngIf=\"runningCommand\"></bsu-mask>\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i1$3.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i1$3.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i1$3.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i1$3.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i1$3.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: FooterTileComponent, selector: "bt-footer-tile", inputs: ["settings"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
750
747
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TileComponent, decorators: [{
751
748
  type: Component,
752
749
  args: [{ selector: 'bt-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\">\n <ng-container *ngIf=\"edit && !data.Locked\">\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n </ng-container>\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n<ng-template #defaultFooter>\n <bt-footer-tile *ngIf=\"footer\" [settings]=\"footer\"></bt-footer-tile>\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n<bsu-mask *ngIf=\"runningCommand\"></bsu-mask>\n", styles: [":host,fd-tile{display:block}\n"] }]
@@ -952,7 +949,7 @@ class TilesViewerGroupComponent extends BaseComponent {
952
949
  }
953
950
  }
954
951
  TilesViewerGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
955
- TilesViewerGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: { appTileGroup: "appTileGroup", stackContent: "stackContent", edit: "edit", rtl: "rtl", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"edit\" cdkDrag [cdkDragDisabled]=\"!edit || !stackContent\">\n <fd-layout-panel-header *ngIf=\"edit || stackContent || isAppTileSubGroup\">\n <fd-layout-panel-head>\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\n </fd-layout-panel-head>\n <fd-layout-panel-actions *ngIf=\"edit\" class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n <button\n fd-button\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\n [label]=\"'Refresh' | bbbTranslate\"\n (click)=\"onReset(appTileGroup)\"\n ></button>\n <button\n *ngIf=\"!appTileGroup.Predefined\"\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n </fd-toolbar>\n </fd-layout-panel-actions>\n </fd-layout-panel-header>\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n <ng-container *ngIf=\"!edit\">\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\n\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\n </ng-container>\n <div\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\n [class.edit-home]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n <fd-tile class=\"add-tile\" *ngIf=\"edit\" [routerLink]=\"['/home/appfinder']\">\n <div>\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-container>\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:.5rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}.tile-wrapper.s{width:100%}.tile-wrapper.s.rtl ::ng-deep .cdk-drag{margin-left:auto}.tile-wrapper.s.ltr ::ng-deep .cdk-drag{margin-right:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6$1.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i6$1.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i6$1.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i6$1.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i6$1.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i6$1.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: i1$3.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "edit"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
952
+ TilesViewerGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: { appTileGroup: "appTileGroup", stackContent: "stackContent", edit: "edit", rtl: "rtl", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"edit\" cdkDrag [cdkDragDisabled]=\"!edit || !stackContent\">\n <fd-layout-panel-header *ngIf=\"edit || stackContent || isAppTileSubGroup\">\n <fd-layout-panel-head>\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\n </fd-layout-panel-head>\n <fd-layout-panel-actions *ngIf=\"edit\" class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n <button\n fd-button\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\n [label]=\"'Refresh' | bbbTranslate\"\n (click)=\"onReset(appTileGroup)\"\n ></button>\n <button\n *ngIf=\"!appTileGroup.Predefined\"\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n </fd-toolbar>\n </fd-layout-panel-actions>\n </fd-layout-panel-header>\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n <ng-container *ngIf=\"!edit\">\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\n\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\n </ng-container>\n <div\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\n [class.edit-home]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n <fd-tile class=\"add-tile\" *ngIf=\"edit\" [routerLink]=\"['/home/appfinder']\">\n <div>\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-container>\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:.5rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}.tile-wrapper.s{width:100%}.tile-wrapper.s.rtl ::ng-deep .cdk-drag{margin-left:auto}.tile-wrapper.s.ltr ::ng-deep .cdk-drag{margin-right:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i6.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i6.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i6.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i6.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i6.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: i1$3.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "edit"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
956
953
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerGroupComponent, decorators: [{
957
954
  type: Component,
958
955
  args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel [fixed]=\"true\" [attr.editHome]=\"edit\" cdkDrag [cdkDragDisabled]=\"!edit || !stackContent\">\n <fd-layout-panel-header *ngIf=\"edit || stackContent || isAppTileSubGroup\">\n <fd-layout-panel-head>\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\n </fd-layout-panel-head>\n <fd-layout-panel-actions *ngIf=\"edit\" class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n <button\n fd-button\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\n [label]=\"'Refresh' | bbbTranslate\"\n (click)=\"onReset(appTileGroup)\"\n ></button>\n <button\n *ngIf=\"!appTileGroup.Predefined\"\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n </fd-toolbar>\n </fd-layout-panel-actions>\n </fd-layout-panel-header>\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n <ng-container *ngIf=\"!edit\">\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\n\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\n </ng-container>\n <div\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\n [class.edit-home]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n <fd-tile class=\"add-tile\" *ngIf=\"edit\" [routerLink]=\"['/home/appfinder']\">\n <div>\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-container>\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:.5rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}.tile-wrapper.s{width:100%}.tile-wrapper.s.rtl ::ng-deep .cdk-drag{margin-left:auto}.tile-wrapper.s.ltr ::ng-deep .cdk-drag{margin-right:auto}\n"] }]
@@ -1026,7 +1023,7 @@ class AppFinderAppListComponent extends BaseComponent {
1026
1023
  }
1027
1024
  }
1028
1025
  AppFinderAppListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderAppListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1029
- AppFinderAppListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: { appGroup: "appGroup", mobile: "mobile", searchTerm: "searchTerm", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", appTileGroupsPinChange: "appTileGroupsPinChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appGroup\">\r\n <h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n <ng-container *ngIf=\"(appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0\">\r\n <fd-fixed-card-layout [disableDragDrop]=\"true\">\r\n <ng-container\r\n *ngFor=\"let app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; let i = index\"\r\n >\r\n <fd-card *fdCardDef=\"i\">\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-avatar *ngIf=\"app.Icon\" [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n <h2 fd-card-title class=\"header-title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n </ng-container>\r\n </fd-fixed-card-layout>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;flex-grow:1;padding:1rem}button{cursor:pointer}h3{padding-bottom:.5rem}fd-fixed-card-layout,h5{padding-bottom:2rem;display:block}.header-title{padding-bottom:30px}fd-card-content{padding:10px;cursor:default}@media (max-width: 767px){:host{padding:0 1rem}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4$1.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i4$1.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "component", type: i4$1.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i4$1.CardTitleDirective, selector: "[fd-card-title]" }, { kind: "directive", type: i4$1.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i5.FixedCardLayoutComponent, selector: "fd-fixed-card-layout", inputs: ["disableDragDrop", "dragStartDelay", "cardMinimumWidth", "columnsWidthConfig", "maxColumns"], outputs: ["layoutChange", "cardDraggedDropped"] }, { kind: "directive", type: i5.CardDefinitionDirective, selector: "[fdCardDef]", inputs: ["fdCardDef"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i1.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: EmptyListDirective, selector: "[emptyList]", inputs: ["emptyList"] }, { kind: "pipe", type: i1.FilterStringPipe, name: "filterStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1026
+ AppFinderAppListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: { appGroup: "appGroup", mobile: "mobile", searchTerm: "searchTerm", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", appTileGroupsPinChange: "appTileGroupsPinChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appGroup\">\r\n <h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n <ng-container *ngIf=\"(appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0\">\r\n <fd-fixed-card-layout [disableDragDrop]=\"true\">\r\n <ng-container\r\n *ngFor=\"let app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; let i = index\"\r\n >\r\n <fd-card *fdCardDef=\"i\">\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-avatar *ngIf=\"app.Icon\" [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n <h2 fd-card-title class=\"header-title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n </ng-container>\r\n </fd-fixed-card-layout>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;flex-grow:1;padding:1rem}button{cursor:pointer}h3{padding-bottom:.5rem}fd-fixed-card-layout,h5{padding-bottom:2rem;display:block}.header-title{padding-bottom:30px}fd-card-content{padding:10px;cursor:default}@media (max-width: 767px){:host{padding:0 1rem}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i4.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "component", type: i4.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i4.CardTitleDirective, selector: "[fd-card-title]" }, { kind: "directive", type: i4.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i5$1.FixedCardLayoutComponent, selector: "fd-fixed-card-layout", inputs: ["disableDragDrop", "dragStartDelay", "cardMinimumWidth", "columnsWidthConfig", "maxColumns"], outputs: ["layoutChange", "cardDraggedDropped"] }, { kind: "directive", type: i5$1.CardDefinitionDirective, selector: "[fdCardDef]", inputs: ["fdCardDef"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i1.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: EmptyListDirective, selector: "[emptyList]", inputs: ["emptyList"] }, { kind: "pipe", type: i1.FilterStringPipe, name: "filterStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1030
1027
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderAppListComponent, decorators: [{
1031
1028
  type: Component,
1032
1029
  args: [{ selector: 'bt-app-finder-app-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"appGroup\">\r\n <h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n <ng-container *ngIf=\"(appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0\">\r\n <fd-fixed-card-layout [disableDragDrop]=\"true\">\r\n <ng-container\r\n *ngFor=\"let app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; let i = index\"\r\n >\r\n <fd-card *fdCardDef=\"i\">\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-avatar *ngIf=\"app.Icon\" [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n <h2 fd-card-title class=\"header-title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n </ng-container>\r\n </fd-fixed-card-layout>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;flex-grow:1;padding:1rem}button{cursor:pointer}h3{padding-bottom:.5rem}fd-fixed-card-layout,h5{padding-bottom:2rem;display:block}.header-title{padding-bottom:30px}fd-card-content{padding:10px;cursor:default}@media (max-width: 767px){:host{padding:0 1rem}}\n"] }]
@@ -1066,7 +1063,7 @@ class AppFinderGroupComponent extends BaseComponent {
1066
1063
  }
1067
1064
  }
1068
1065
  AppFinderGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1069
- AppFinderGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: { appGroups: "appGroups", selectedId: "selectedId", listMode: "listMode" }, outputs: { selectedIdChange: "selectedIdChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"listMode; else menuTpl\">\r\n <div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n <li\r\n fd-list-item\r\n *ngFor=\"let group of appGroups; let i = index\"\r\n [selected]=\"group.Id === selectedId\"\r\n (click)=\"OnGroupClick(group)\"\r\n >\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n<ng-template #menuTpl>\r\n <li *ngFor=\"let group of appGroups; let i = index\" fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n </li>\r\n</ng-template>\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6$2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6$2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1066
+ AppFinderGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: { appGroups: "appGroups", selectedId: "selectedId", listMode: "listMode" }, outputs: { selectedIdChange: "selectedIdChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"listMode; else menuTpl\">\r\n <div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n <li\r\n fd-list-item\r\n *ngFor=\"let group of appGroups; let i = index\"\r\n [selected]=\"group.Id === selectedId\"\r\n (click)=\"OnGroupClick(group)\"\r\n >\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n<ng-template #menuTpl>\r\n <li *ngFor=\"let group of appGroups; let i = index\" fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n </li>\r\n</ng-template>\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6$1.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6$1.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1070
1067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderGroupComponent, decorators: [{
1071
1068
  type: Component,
1072
1069
  args: [{ selector: 'bt-app-finder-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"listMode; else menuTpl\">\r\n <div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n <li\r\n fd-list-item\r\n *ngFor=\"let group of appGroups; let i = index\"\r\n [selected]=\"group.Id === selectedId\"\r\n (click)=\"OnGroupClick(group)\"\r\n >\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n</ng-container>\r\n<ng-template #menuTpl>\r\n <li *ngFor=\"let group of appGroups; let i = index\" fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n </li>\r\n</ng-template>\r\n", styles: [".app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}\n"] }]
@@ -1092,7 +1089,7 @@ class AppFinderComponent extends BaseComponent {
1092
1089
  }
1093
1090
  }
1094
1091
  AppFinderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1095
- AppFinderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderComponent, selector: "bt-app-finder", inputs: { appGroups: "appGroups", deviceSize: "deviceSize", sideContentSize: "sideContentSize", selectedAppGroup: "selectedAppGroup", selectedAppGroupId: "selectedAppGroupId", mobile: "mobile", contentDensity: "contentDensity", contentHeight: "contentHeight", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", selectedAppGroupIdChange: "selectedAppGroupIdChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\r\n <ng-container *ngIf=\"appGroups; else loading\">\r\n <fd-toolbar [fdType]=\"'solid'\">\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 *ngIf=\"deviceSize === 's'\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fdp-search-field\r\n fd-toolbar-item\r\n [contentDensity]=\"contentDensity\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n [suggestions]=\"[]\"\r\n ></fdp-search-field>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\r\n <div class=\"app-groups\">\r\n <bt-app-finder-group\r\n *ngIf=\"deviceSize !== 's'\"\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 </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 <bt-app-finder-group\r\n *ngIf=\"deviceSize === 's'\"\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 </fd-menu>\r\n </ng-container>\r\n <ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n </ng-template>\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}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i4.ToolbarSpacerComponent, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i5$1.PlatformContentDensityDeprecationDirective, selector: " fdp-action-bar[contentDensity], fdp-button[contentDensity], fdp-object-list-item[contentDensity], fdp-standard-list-item[contentDensity], fdp-menu[contentDensity], fdp-menu-button[contentDensity], fdp-panel[contentDensity], fdp-search-field[contentDensity], fdp-split-menu-button[contentDensity], fdp-file-uploader[contentDensity], fdp-upload-collection[contentDensity], fdp-table[contentDensity], fdp-multi-input[contentDensity], fdp-list[contentDensity], fdp-slider[contentDensity], fdp-time-picker[contentDensity], fdp-textarea[contentDensity], fdp-switch[contentDensity], fdp-number-step-input[contentDensity], fdp-select[contentDensity], fdp-date-picker[contentDensity], fdp-checkbox[contentDensity], fdp-checkbox-group[contentDensity], fdp-combobox[contentDensity], fdp-datetime-picker[contentDensity], fdp-input[contentDensity], fdp-radio-group[contentDensity], fdp-radio-button[contentDensity], fdp-multi-combobox[contentDensity], fdp-input-group-addon-body[contentDensity], fdp-input-group[contentDensity], fdp-value-help-dialog[contentDensity], fdp-filter-single-select[contentDensity], fdp-filter-multi-select[contentDensity], fdp-filter-custom[contentDensity] " }, { kind: "component", type: i6$3.SearchFieldComponent, selector: "fdp-search-field", inputs: ["placeholder", "mobile", "mobileConfig", "disableRefresh", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: ["appGroups", "selectedId", "listMode"], outputs: ["selectedIdChange"] }, { kind: "component", type: AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: ["appGroup", "mobile", "searchTerm", "pinnedAppInAppTileGroups"], outputs: ["pinClick", "appTileGroupsPinChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1092
+ AppFinderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AppFinderComponent, selector: "bt-app-finder", inputs: { appGroups: "appGroups", deviceSize: "deviceSize", sideContentSize: "sideContentSize", selectedAppGroup: "selectedAppGroup", selectedAppGroupId: "selectedAppGroupId", mobile: "mobile", contentDensity: "contentDensity", contentHeight: "contentHeight", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", selectedAppGroupIdChange: "selectedAppGroupIdChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\r\n <ng-container *ngIf=\"appGroups; else loading\">\r\n <fd-toolbar [fdType]=\"'solid'\">\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 *ngIf=\"deviceSize === 's'\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fdp-search-field\r\n fd-toolbar-item\r\n [contentDensity]=\"contentDensity\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n [suggestions]=\"[]\"\r\n ></fdp-search-field>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\r\n <div class=\"app-groups\">\r\n <bt-app-finder-group\r\n *ngIf=\"deviceSize !== 's'\"\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 </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 <bt-app-finder-group\r\n *ngIf=\"deviceSize === 's'\"\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 </fd-menu>\r\n </ng-container>\r\n <ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n </ng-template>\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}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i10.ToolbarSpacerComponent, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i5$2.PlatformContentDensityDeprecationDirective, selector: " fdp-action-bar[contentDensity], fdp-button[contentDensity], fdp-object-list-item[contentDensity], fdp-standard-list-item[contentDensity], fdp-menu[contentDensity], fdp-menu-button[contentDensity], fdp-panel[contentDensity], fdp-search-field[contentDensity], fdp-split-menu-button[contentDensity], fdp-file-uploader[contentDensity], fdp-upload-collection[contentDensity], fdp-table[contentDensity], fdp-multi-input[contentDensity], fdp-list[contentDensity], fdp-slider[contentDensity], fdp-time-picker[contentDensity], fdp-textarea[contentDensity], fdp-switch[contentDensity], fdp-number-step-input[contentDensity], fdp-select[contentDensity], fdp-date-picker[contentDensity], fdp-checkbox[contentDensity], fdp-checkbox-group[contentDensity], fdp-combobox[contentDensity], fdp-datetime-picker[contentDensity], fdp-input[contentDensity], fdp-radio-group[contentDensity], fdp-radio-button[contentDensity], fdp-multi-combobox[contentDensity], fdp-input-group-addon-body[contentDensity], fdp-input-group[contentDensity], fdp-value-help-dialog[contentDensity], fdp-filter-single-select[contentDensity], fdp-filter-multi-select[contentDensity], fdp-filter-custom[contentDensity] " }, { kind: "component", type: i6$2.SearchFieldComponent, selector: "fdp-search-field", inputs: ["placeholder", "mobile", "mobileConfig", "disableRefresh", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: AppFinderGroupComponent, selector: "bt-app-finder-group", inputs: ["appGroups", "selectedId", "listMode"], outputs: ["selectedIdChange"] }, { kind: "component", type: AppFinderAppListComponent, selector: "bt-app-finder-app-list", inputs: ["appGroup", "mobile", "searchTerm", "pinnedAppInAppTileGroups"], outputs: ["pinClick", "appTileGroupsPinChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1096
1093
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AppFinderComponent, decorators: [{
1097
1094
  type: Component,
1098
1095
  args: [{ selector: 'bt-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wrapper\">\r\n <ng-container *ngIf=\"appGroups; else loading\">\r\n <fd-toolbar [fdType]=\"'solid'\">\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 *ngIf=\"deviceSize === 's'\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fdp-search-field\r\n fd-toolbar-item\r\n [contentDensity]=\"contentDensity\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n [suggestions]=\"[]\"\r\n ></fdp-search-field>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\r\n <div class=\"app-groups\">\r\n <bt-app-finder-group\r\n *ngIf=\"deviceSize !== 's'\"\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 </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 <bt-app-finder-group\r\n *ngIf=\"deviceSize === 's'\"\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 </fd-menu>\r\n </ng-container>\r\n <ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n </ng-template>\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}\n"] }]
@@ -1147,7 +1144,7 @@ class ChangeAppTileComponent extends BaseComponent {
1147
1144
  }
1148
1145
  }
1149
1146
  ChangeAppTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ChangeAppTileComponent, deps: [{ token: i1$4.UntypedFormBuilder }, { token: i1$1.DialogRef }, { token: i1.BbbTranslatePipe }], target: i0.ɵɵFactoryTarget.Component });
1150
- ChangeAppTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ChangeAppTileComponent, selector: "bt-change-app-tile", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.$Caption }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body [formGroup]=\"appGroupForm\">\r\n <div fd-form-item>\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n <br />\r\n <div fd-form-item>\r\n <label fd-form-label>{{ 'Subtitle' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group formControlName=\"subtitle\" form-control [button]=\"true\" [(ngModel)]=\"subtitle\">\r\n </fd-input-group>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i5$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6$4.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6$4.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i6$4.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i6$4.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i7.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8$1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1147
+ ChangeAppTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ChangeAppTileComponent, selector: "bt-change-app-tile", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.$Caption }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body [formGroup]=\"appGroupForm\">\r\n <div fd-form-item>\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n <br />\r\n <div fd-form-item>\r\n <label fd-form-label>{{ 'Subtitle' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group formControlName=\"subtitle\" form-control [button]=\"true\" [(ngModel)]=\"subtitle\">\r\n </fd-input-group>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i5$3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6$3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6$3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i6$3.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i6$3.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i7.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8$1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10$1.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1151
1148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ChangeAppTileComponent, decorators: [{
1152
1149
  type: Component,
1153
1150
  args: [{ selector: 'bt-change-app-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.$Caption }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body [formGroup]=\"appGroupForm\">\r\n <div fd-form-item>\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n <br />\r\n <div fd-form-item>\r\n <label fd-form-label>{{ 'Subtitle' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group formControlName=\"subtitle\" form-control [button]=\"true\" [(ngModel)]=\"subtitle\">\r\n </fd-input-group>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
@@ -1277,8 +1274,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
1277
1274
  }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: TilesService }]; } });
1278
1275
 
1279
1276
  class TilesViewerComponent extends BaseComponent {
1280
- constructor() {
1281
- super(...arguments);
1277
+ constructor(_cdr, _saveScrollPosition) {
1278
+ super();
1279
+ this._cdr = _cdr;
1280
+ this._saveScrollPosition = _saveScrollPosition;
1282
1281
  this.pageContentClass = true;
1283
1282
  this.stackContentChange = new EventEmitter();
1284
1283
  this.closeEditHome = new EventEmitter();
@@ -1292,6 +1291,23 @@ class TilesViewerComponent extends BaseComponent {
1292
1291
  this.renameAppTileClick = new EventEmitter();
1293
1292
  this.tilesDropped = new EventEmitter();
1294
1293
  this._rtl = BarsaApi.LoginFormData.IsRtl;
1294
+ this.id = getUniqueId(4);
1295
+ }
1296
+ ngOnInit() {
1297
+ super.ngOnInit();
1298
+ const elDom = this.contentPageRef.nativeElement;
1299
+ elDom.addEventListener('scroll', () => {
1300
+ this._saveScrollPosition.setScrollPosition(this.id, elDom.scrollTop);
1301
+ });
1302
+ this._tilesIntersection = fromIntersectionObserver(elDom, {
1303
+ root: null,
1304
+ rootMargin: '0px',
1305
+ threshold: 0
1306
+ }, 0, false)
1307
+ .pipe(takeUntil$1(this._onDestroy$))
1308
+ .subscribe((e) => {
1309
+ this._onInView(e);
1310
+ });
1295
1311
  }
1296
1312
  onSelectedTabChange(selectedTab, appTileGroups) {
1297
1313
  let firstSelected = false;
@@ -1330,15 +1346,28 @@ class TilesViewerComponent extends BaseComponent {
1330
1346
  _trackById(item, index) {
1331
1347
  return item ? item.Id : index;
1332
1348
  }
1349
+ _onInView(e) {
1350
+ this.formVisibilityStatus = e;
1351
+ if (this.formVisibilityStatus === IntersectionStatus.Visible) {
1352
+ const scrollTop = this._saveScrollPosition.getScrollPosition(this.id);
1353
+ console.log(scrollTop);
1354
+ // window.scrollTo({ top: scrollTop, behavior: 'smooth' });
1355
+ this.contentPageRef.nativeElement.scrollTop = scrollTop;
1356
+ // this._cdr.detectChanges();
1357
+ }
1358
+ }
1333
1359
  }
1334
- TilesViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1335
- TilesViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", stackContent: "stackContent", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appTileGroups; else loadingTpl\">\n <bsu-mask *ngIf=\"loading\"></bsu-mask>\n <fd-dynamic-page\n size=\"large\"\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\n [autoResponsive]=\"true\"\n [class.stack-mode]=\"stackContent\"\n >\n <fd-dynamic-page-header *ngIf=\"edit\" [title]=\"'HomeEdit' | bbbTranslate\">\n <fd-dynamic-page-global-actions>\n <fd-toolbar *ngIf=\"edit\" fdType=\"transparent\" [clearBorder]=\"true\">\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\n <fd-switch\n fd-toolbar-item\n [checked]=\"stackContent\"\n (checkedChange)=\"onStackContentChanged($event)\"\n ></fd-switch>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n <fd-dynamic-page-content>\n <ng-container\n *ngTemplateOutlet=\"\n stackContent ? renderTabsStacked : renderTabs;\n context: {\n $implicit: appTileGroups,\n stackContent: stackContent,\n edit: edit\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n <fd-dynamic-page-footer>\n <div fd-bar barDesign=\"footer\" *ngIf=\"edit\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"'SaveAndClose' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onExitEditHome(appTileGroups)\"\n ></fd-button-bar>\n </div>\n </div>\n </fd-dynamic-page-footer>\n </fd-dynamic-page>\n</ng-container>\n\n<ng-template #loadingTpl>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n [stackContent]=\"true\"\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [count]=\"appTileGroup.$Children?.length\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template\n #renderGroup\n let-appTileGroup\n let-stackContent=\"stackContent\"\n let-edit=\"edit\"\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\n>\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [deviceSize]=\"deviceSize\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\n (tilesDropped)=\"onDrop($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i5$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i5$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i5$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5$3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i5$3.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "subtitle"] }, { kind: "component", type: i5$3.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i5$3.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i5$3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i5$3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i6$4.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i7$1.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "disabled", "id", "name", "required", "checked", "semantic", "ariaLabel", "ariaLabelledby", "ariaLabelledBy", "semanticAcceptLabel", "semanticDeclineLabel"], outputs: ["checkedChange"] }, { kind: "component", type: i8$2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i8$2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1360
+ TilesViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SaveScrollPositionService }], target: i0.ɵɵFactoryTarget.Component });
1361
+ TilesViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", stackContent: "stackContent", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "contentPageRef", first: true, predicate: ["contentPage"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n size=\"large\"\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\n [autoResponsive]=\"true\"\n [class.stack-mode]=\"stackContent\"\n>\n <fd-dynamic-page-header *ngIf=\"edit\" [title]=\"'HomeEdit' | bbbTranslate\">\n <fd-dynamic-page-global-actions>\n <fd-toolbar *ngIf=\"edit\" fdType=\"transparent\" [clearBorder]=\"true\">\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\n <fd-switch\n fd-toolbar-item\n [checked]=\"stackContent\"\n (checkedChange)=\"onStackContentChanged($event)\"\n ></fd-switch>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n <fd-dynamic-page-content #contentPage>\n <ng-container\n *ngTemplateOutlet=\"\n stackContent ? renderTabsStacked : renderTabs;\n context: {\n $implicit: appTileGroups,\n stackContent: stackContent,\n edit: edit\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n <fd-dynamic-page-footer>\n <div fd-bar barDesign=\"footer\" *ngIf=\"edit\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"'SaveAndClose' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onExitEditHome(appTileGroups)\"\n ></fd-button-bar>\n </div>\n </div>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n\n<ng-template #loadingTpl>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n [stackContent]=\"true\"\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [count]=\"appTileGroup.$Children?.length\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template\n #renderGroup\n let-appTileGroup\n let-stackContent=\"stackContent\"\n let-edit=\"edit\"\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\n>\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [deviceSize]=\"deviceSize\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\n (tilesDropped)=\"onDrop($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i5$3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i5$3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i5$3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6$4.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i6$4.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "subtitle"] }, { kind: "component", type: i6$4.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i6$4.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i6$4.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i6$4.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i6$3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i8$2.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "disabled", "id", "name", "required", "checked", "semantic", "ariaLabel", "ariaLabelledby", "ariaLabelledBy", "semanticAcceptLabel", "semanticDeclineLabel"], outputs: ["checkedChange"] }, { kind: "component", type: i9$1.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i9$1.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1336
1362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerComponent, decorators: [{
1337
1363
  type: Component,
1338
- args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"appTileGroups; else loadingTpl\">\n <bsu-mask *ngIf=\"loading\"></bsu-mask>\n <fd-dynamic-page\n size=\"large\"\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\n [autoResponsive]=\"true\"\n [class.stack-mode]=\"stackContent\"\n >\n <fd-dynamic-page-header *ngIf=\"edit\" [title]=\"'HomeEdit' | bbbTranslate\">\n <fd-dynamic-page-global-actions>\n <fd-toolbar *ngIf=\"edit\" fdType=\"transparent\" [clearBorder]=\"true\">\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\n <fd-switch\n fd-toolbar-item\n [checked]=\"stackContent\"\n (checkedChange)=\"onStackContentChanged($event)\"\n ></fd-switch>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n <fd-dynamic-page-content>\n <ng-container\n *ngTemplateOutlet=\"\n stackContent ? renderTabsStacked : renderTabs;\n context: {\n $implicit: appTileGroups,\n stackContent: stackContent,\n edit: edit\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n <fd-dynamic-page-footer>\n <div fd-bar barDesign=\"footer\" *ngIf=\"edit\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"'SaveAndClose' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onExitEditHome(appTileGroups)\"\n ></fd-button-bar>\n </div>\n </div>\n </fd-dynamic-page-footer>\n </fd-dynamic-page>\n</ng-container>\n\n<ng-template #loadingTpl>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n [stackContent]=\"true\"\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [count]=\"appTileGroup.$Children?.length\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template\n #renderGroup\n let-appTileGroup\n let-stackContent=\"stackContent\"\n let-edit=\"edit\"\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\n>\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [deviceSize]=\"deviceSize\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\n (tilesDropped)=\"onDrop($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"] }]
1339
- }], propDecorators: { tabListComponent: [{
1364
+ args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dynamic-page\n size=\"large\"\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\n [autoResponsive]=\"true\"\n [class.stack-mode]=\"stackContent\"\n>\n <fd-dynamic-page-header *ngIf=\"edit\" [title]=\"'HomeEdit' | bbbTranslate\">\n <fd-dynamic-page-global-actions>\n <fd-toolbar *ngIf=\"edit\" fdType=\"transparent\" [clearBorder]=\"true\">\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\n <fd-switch\n fd-toolbar-item\n [checked]=\"stackContent\"\n (checkedChange)=\"onStackContentChanged($event)\"\n ></fd-switch>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n <fd-dynamic-page-content #contentPage>\n <ng-container\n *ngTemplateOutlet=\"\n stackContent ? renderTabsStacked : renderTabs;\n context: {\n $implicit: appTileGroups,\n stackContent: stackContent,\n edit: edit\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n <fd-dynamic-page-footer>\n <div fd-bar barDesign=\"footer\" *ngIf=\"edit\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"'SaveAndClose' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onExitEditHome(appTileGroups)\"\n ></fd-button-bar>\n </div>\n </div>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n\n<ng-template #loadingTpl>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-edit=\"edit\">\n <fd-tab-list\n class=\"tile-tabs\"\n [size]=\"deviceSize\"\n [collapseOverflow]=\"true\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n [stackContent]=\"true\"\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\n cdkDropList\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\n >\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\n <fd-tab\n *ngIf=\"edit || appTileGroup.navigatorVisible\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [ngClass]=\"'fd-tabs--' + deviceSize\"\n [count]=\"appTileGroup.$Children?.length\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\n <ng-container\n *ngTemplateOutlet=\"\n renderGroup;\n context: {\n $implicit: appTileGroup,\n stackContent: stackContent,\n edit: edit,\n isAppTileSubGroup: false\n }\n \"\n ></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n</ng-template>\n<ng-template\n #renderGroup\n let-appTileGroup\n let-stackContent=\"stackContent\"\n let-edit=\"edit\"\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\n>\n <bt-tiles-viewer-group\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [deviceSize]=\"deviceSize\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\n (tilesDropped)=\"onDrop($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page section{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"] }]
1365
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SaveScrollPositionService }]; }, propDecorators: { tabListComponent: [{
1340
1366
  type: ViewChild,
1341
1367
  args: [TabListComponent]
1368
+ }], contentPageRef: [{
1369
+ type: ViewChild,
1370
+ args: ['contentPage', { static: true, read: ElementRef }]
1342
1371
  }], pageContentClass: [{
1343
1372
  type: HostBinding,
1344
1373
  args: ['class.page-content']
@@ -1525,10 +1554,10 @@ class TilesViewerContainerComponent extends BaseComponent {
1525
1554
  }
1526
1555
  }
1527
1556
  TilesViewerContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerContainerComponent, deps: [{ token: i1.PortalService }, { token: TilesService }, { token: TilesViewerService }], target: i0.ɵɵFactoryTarget.Component });
1528
- TilesViewerContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerContainerComponent, selector: "bt-tiles-viewer-container", providers: [TilesViewerService], usesInheritance: true, ngImport: i0, template: "<bt-tiles-viewer\n [appTileGroups]=\"(appTileGroups$ | async)!!\"\n [loading]=\"(viewLoading$ | async)!!\"\n [edit]=\"(edit$ | async)!!\"\n [rtl]=\"(rtl$ | async)!!\"\n [stackContent]=\"(stackContent$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n (stackContentChange)=\"onStackContentChanged($event)\"\n (closeEditHome)=\"onCloseEditHome()\"\n (save)=\"onExitEditHome($event)\"\n (listDropped)=\"onDropGroup($event)\"\n (tabChanged)=\"onSelectedTabChange($event)\"\n (toggleGroup)=\"onToggleShowHide($event)\"\n (resetGroup)=\"onReset($event)\"\n (deleteGroup)=\"onDelete($event)\"\n (tilesDropped)=\"onDrop($event)\"\n (hideAppTileClick)=\"onHideAppTile($event)\"\n (renameAppTileClick)=\"onRenameAppTile($event)\"\n></bt-tiles-viewer>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: ["appTileGroups", "loading", "edit", "rtl", "stackContent", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["stackContentChange", "closeEditHome", "save", "listDropped", "tabChanged", "toggleGroup", "resetGroup", "deleteGroup", "hideAppTileClick", "renameAppTileClick", "tilesDropped"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1557
+ TilesViewerContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TilesViewerContainerComponent, selector: "bt-tiles-viewer-container", providers: [TilesViewerService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appTileGroups$ | async as appTileGroups; else loading\">\n <bt-tiles-viewer\n *ngIf=\"appTileGroups; else empty\"\n [appTileGroups]=\"appTileGroups\"\n [loading]=\"(viewLoading$ | async)!!\"\n [edit]=\"(edit$ | async)!!\"\n [rtl]=\"(rtl$ | async)!!\"\n [stackContent]=\"(stackContent$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n (stackContentChange)=\"onStackContentChanged($event)\"\n (closeEditHome)=\"onCloseEditHome()\"\n (save)=\"onExitEditHome($event)\"\n (listDropped)=\"onDropGroup($event)\"\n (tabChanged)=\"onSelectedTabChange($event)\"\n (toggleGroup)=\"onToggleShowHide($event)\"\n (resetGroup)=\"onReset($event)\"\n (deleteGroup)=\"onDelete($event)\"\n (tilesDropped)=\"onDrop($event)\"\n (hideAppTileClick)=\"onHideAppTile($event)\"\n (renameAppTileClick)=\"onRenameAppTile($event)\"\n ></bt-tiles-viewer>\n</ng-container>\n<ng-template #empty>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i5.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: ["appTileGroups", "loading", "edit", "rtl", "stackContent", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["stackContentChange", "closeEditHome", "save", "listDropped", "tabChanged", "toggleGroup", "resetGroup", "deleteGroup", "hideAppTileClick", "renameAppTileClick", "tilesDropped"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1529
1558
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TilesViewerContainerComponent, decorators: [{
1530
1559
  type: Component,
1531
- args: [{ selector: 'bt-tiles-viewer-container', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tiles-viewer\n [appTileGroups]=\"(appTileGroups$ | async)!!\"\n [loading]=\"(viewLoading$ | async)!!\"\n [edit]=\"(edit$ | async)!!\"\n [rtl]=\"(rtl$ | async)!!\"\n [stackContent]=\"(stackContent$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n (stackContentChange)=\"onStackContentChanged($event)\"\n (closeEditHome)=\"onCloseEditHome()\"\n (save)=\"onExitEditHome($event)\"\n (listDropped)=\"onDropGroup($event)\"\n (tabChanged)=\"onSelectedTabChange($event)\"\n (toggleGroup)=\"onToggleShowHide($event)\"\n (resetGroup)=\"onReset($event)\"\n (deleteGroup)=\"onDelete($event)\"\n (tilesDropped)=\"onDrop($event)\"\n (hideAppTileClick)=\"onHideAppTile($event)\"\n (renameAppTileClick)=\"onRenameAppTile($event)\"\n></bt-tiles-viewer>\n", styles: [":host{display:block}\n"] }]
1560
+ args: [{ selector: 'bt-tiles-viewer-container', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"appTileGroups$ | async as appTileGroups; else loading\">\n <bt-tiles-viewer\n *ngIf=\"appTileGroups; else empty\"\n [appTileGroups]=\"appTileGroups\"\n [loading]=\"(viewLoading$ | async)!!\"\n [edit]=\"(edit$ | async)!!\"\n [rtl]=\"(rtl$ | async)!!\"\n [stackContent]=\"(stackContent$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n (stackContentChange)=\"onStackContentChanged($event)\"\n (closeEditHome)=\"onCloseEditHome()\"\n (save)=\"onExitEditHome($event)\"\n (listDropped)=\"onDropGroup($event)\"\n (tabChanged)=\"onSelectedTabChange($event)\"\n (toggleGroup)=\"onToggleShowHide($event)\"\n (resetGroup)=\"onReset($event)\"\n (deleteGroup)=\"onDelete($event)\"\n (tilesDropped)=\"onDrop($event)\"\n (hideAppTileClick)=\"onHideAppTile($event)\"\n (renameAppTileClick)=\"onRenameAppTile($event)\"\n ></bt-tiles-viewer>\n</ng-container>\n<ng-template #empty>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
1532
1561
  }], ctorParameters: function () { return [{ type: i1.PortalService }, { type: TilesService }, { type: TilesViewerService }]; } });
1533
1562
 
1534
1563
  class MicroTileChartBulletComponent extends BaseBtTileComponent {
@@ -1752,7 +1781,7 @@ class CreateAppGroupComponent extends BaseComponent {
1752
1781
  }
1753
1782
  }
1754
1783
  CreateAppGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CreateAppGroupComponent, deps: [{ token: i1$4.UntypedFormBuilder }, { token: i1$1.DialogRef }, { token: i1.BbbTranslatePipe }], target: i0.ɵɵFactoryTarget.Component });
1755
- CreateAppGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CreateAppGroupComponent, selector: "bt-create-app-group", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i5$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6$4.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6$4.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i6$4.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i6$4.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i7.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8$1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1784
+ CreateAppGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CreateAppGroupComponent, selector: "bt-create-app-group", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i5$3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6$3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6$3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i6$3.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i6$3.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i7.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8$1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10$1.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1756
1785
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CreateAppGroupComponent, decorators: [{
1757
1786
  type: Component,
1758
1787
  args: [{ selector: 'bt-create-app-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
@@ -1840,7 +1869,7 @@ class PinTileComponent extends BaseComponent {
1840
1869
  }
1841
1870
  }
1842
1871
  PinTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PinTileComponent, deps: [{ token: i1$1.DialogService }, { token: i1$1.DialogRef }, { token: i1.BbbTranslatePipe }], target: i0.ɵɵFactoryTarget.Component });
1843
- PinTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PinTileComponent, selector: "bt-pin-tile", inputs: { app: "app", appTileGroups: "appTileGroups", mobile: "mobile", pin: "pin" }, usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups\">\r\n <li *ngIf=\"!appTileGroup.$Disabledpin\" fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n </li>\r\n <ng-container *ngFor=\"let subGroup of appTileGroup.$Children\">\r\n <li *ngIf=\"!subGroup.$Disabledpin\" fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fd-initial-focus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fd-initial-focus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i5$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i5$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6$5.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6$2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6$2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6$2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdTemplate]", inputs: ["fdTemplate"] }, { kind: "directive", type: i10.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1872
+ PinTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PinTileComponent, selector: "bt-pin-tile", inputs: { app: "app", appTileGroups: "appTileGroups", mobile: "mobile", pin: "pin" }, usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups\">\r\n <li *ngIf=\"!appTileGroup.$Disabledpin\" fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n </li>\r\n <ng-container *ngFor=\"let subGroup of appTileGroup.$Children\">\r\n <li *ngIf=\"!subGroup.$Disabledpin\" fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fd-initial-focus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fd-initial-focus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i5$3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i5$3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6$5.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6$1.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6$1.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6$1.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10$1.TemplateDirective, selector: "[fdTemplate]", inputs: ["fdTemplate"] }, { kind: "directive", type: i10$1.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1844
1873
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PinTileComponent, decorators: [{
1845
1874
  type: Component,
1846
1875
  args: [{ selector: 'bt-pin-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups\">\r\n <li *ngIf=\"!appTileGroup.$Disabledpin\" fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n </li>\r\n <ng-container *ngFor=\"let subGroup of appTileGroup.$Children\">\r\n <li *ngIf=\"!subGroup.$Disabledpin\" fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fd-initial-focus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fd-initial-focus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"] }]
@@ -2083,7 +2112,7 @@ class NumericTileComponent extends BaseBtTileComponent {
2083
2112
  }
2084
2113
  }
2085
2114
  NumericTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumericTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2086
- NumericTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NumericTileComponent, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\">{{ kpi }}</div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div fd-numeric-content-scale [state]=\"scaleState\">\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n ></span>\r\n <span fd-numeric-content-scale-text>{{ scaleText }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1$3.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$3.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "directive", type: i1$3.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1$3.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph"] }, { kind: "directive", type: i1$3.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["class", "glyph"] }, { kind: "directive", type: i1$3.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1$3.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state", "class"] }, { kind: "directive", type: i1$3.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "subtitle", "isDouble", "edit", "dynamicCommand"] }, { kind: "pipe", type: i6.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2115
+ NumericTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NumericTileComponent, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\">{{ kpi }}</div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div fd-numeric-content-scale [state]=\"scaleState\">\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n ></span>\r\n <span fd-numeric-content-scale-text>{{ scaleText }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1$3.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$3.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "directive", type: i1$3.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1$3.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph"] }, { kind: "directive", type: i1$3.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["class", "glyph"] }, { kind: "directive", type: i1$3.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1$3.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state", "class"] }, { kind: "directive", type: i1$3.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "subtitle", "isDouble", "edit", "dynamicCommand"] }, { kind: "pipe", type: i5.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2087
2116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumericTileComponent, decorators: [{
2088
2117
  type: Component,
2089
2118
  args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\">{{ kpi }}</div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div fd-numeric-content-scale [state]=\"scaleState\">\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n ></span>\r\n <span fd-numeric-content-scale-text>{{ scaleText }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
@@ -2137,7 +2166,7 @@ class SimpleTileComponent extends BaseBtTileComponent {
2137
2166
  }
2138
2167
  }
2139
2168
  SimpleTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SimpleTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2140
- SimpleTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SimpleTileComponent, selector: "bt-simple-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <fd-icon *ngIf=\"icon\" [glyph]=\"icon\" [font]=\"icon | sapFont\" [style.color]=\"iconColor\"></fd-icon>\r\n </div>\r\n</bt-tile>\r\n", styles: ["::ng-deep .fd-tile--launch .fd-tile__content{align-items:normal!important}fd-icon{font-size:3rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "subtitle", "isDouble", "edit", "dynamicCommand"] }, { kind: "pipe", type: i6.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2169
+ SimpleTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SimpleTileComponent, selector: "bt-simple-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <fd-icon *ngIf=\"icon\" [glyph]=\"icon\" [font]=\"icon | sapFont\" [style.color]=\"iconColor\"></fd-icon>\r\n </div>\r\n</bt-tile>\r\n", styles: ["::ng-deep .fd-tile--launch .fd-tile__content{align-items:normal!important}fd-icon{font-size:3rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "subtitle", "isDouble", "edit", "dynamicCommand"] }, { kind: "pipe", type: i5.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2141
2170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SimpleTileComponent, decorators: [{
2142
2171
  type: Component,
2143
2172
  args: [{ selector: 'bt-simple-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <fd-icon *ngIf=\"icon\" [glyph]=\"icon\" [font]=\"icon | sapFont\" [style.color]=\"iconColor\"></fd-icon>\r\n </div>\r\n</bt-tile>\r\n", styles: ["::ng-deep .fd-tile--launch .fd-tile__content{align-items:normal!important}fd-icon{font-size:3rem}\n"] }]
@@ -2153,7 +2182,7 @@ class ProfileTileComponent extends BaseBtTileComponent {
2153
2182
  }
2154
2183
  }
2155
2184
  ProfileTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ProfileTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2156
- ProfileTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ProfileTileComponent, selector: "bt-profile-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <span\r\n *ngIf=\"fileId; else showIcon\"\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n ></span>\r\n <ng-template #showIcon>\r\n <fd-icon\r\n *ngIf=\"settings.Icon; else avatar\"\r\n [font]=\"settings.Icon | sapFont\"\r\n fd-tile-profile-img\r\n style=\"font-size: 2rem\"\r\n [glyph]=\"settings.Icon\"\r\n ></fd-icon>\r\n </ng-template>\r\n <ng-template #avatar>\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n </ng-template>\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "subtitle", "isDouble", "edit", "dynamicCommand"] }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i6.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2185
+ ProfileTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ProfileTileComponent, selector: "bt-profile-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <span\r\n *ngIf=\"fileId; else showIcon\"\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n ></span>\r\n <ng-template #showIcon>\r\n <fd-icon\r\n *ngIf=\"settings.Icon; else avatar\"\r\n [font]=\"settings.Icon | sapFont\"\r\n fd-tile-profile-img\r\n style=\"font-size: 2rem\"\r\n [glyph]=\"settings.Icon\"\r\n ></fd-icon>\r\n </ng-template>\r\n <ng-template #avatar>\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n </ng-template>\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i1$3.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$3.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "disableClick", "title", "subtitle", "isDouble", "edit", "dynamicCommand"] }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2157
2186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ProfileTileComponent, decorators: [{
2158
2187
  type: Component,
2159
2188
  args: [{ selector: 'bt-profile-tile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <span\r\n *ngIf=\"fileId; else showIcon\"\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n ></span>\r\n <ng-template #showIcon>\r\n <fd-icon\r\n *ngIf=\"settings.Icon; else avatar\"\r\n [font]=\"settings.Icon | sapFont\"\r\n fd-tile-profile-img\r\n style=\"font-size: 2rem\"\r\n [glyph]=\"settings.Icon\"\r\n ></fd-icon>\r\n </ng-template>\r\n <ng-template #avatar>\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n </ng-template>\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"] }]
@@ -2182,7 +2211,7 @@ class NotificationGroupHeaderComponent extends BaseComponent {
2182
2211
  }
2183
2212
  }
2184
2213
  NotificationGroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2185
- NotificationGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: { notifications: "notifications", title: "title" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }})\r\n <strong *ngIf=\"unreadCount !== 0\">{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n</h2>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$2.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2214
+ NotificationGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: { notifications: "notifications", title: "title" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }})\r\n <strong *ngIf=\"unreadCount !== 0\">{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n</h2>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NotificationTitleDirective, selector: "[fdNotificationTitle], [fd-notification-title]", inputs: ["unread"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2186
2215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupHeaderComponent, decorators: [{
2187
2216
  type: Component,
2188
2217
  args: [{ selector: 'bt-notification-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }})\r\n <strong *ngIf=\"unreadCount !== 0\">{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n</h2>\r\n" }]
@@ -2271,7 +2300,7 @@ class NotificationGroupComponent extends BaseComponent {
2271
2300
  }
2272
2301
  }
2273
2302
  NotificationGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupComponent, deps: [{ token: i1.GroupByPipe }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2274
- NotificationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", show: "show", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n [deviceSize]=\"deviceSize\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4$2.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i4$2.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i4$2.NotificationGroupHeaderComponent, selector: "fd-notification-group-header", inputs: ["expandCompact", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: i4$2.NotificationGroupComponent, selector: "fd-notification-group", inputs: ["class", "mobile", "width"] }, { kind: "component", type: i4$2.NotificationGroupListComponent, selector: "fd-notification-group-list" }, { kind: "component", type: i8$2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i8$2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: i6.NotificationItemComponent, selector: "bsu-notification-item", inputs: ["option", "notificationItem", "showCloseButton", "deviceSize"], outputs: ["viewed", "remove", "actionClick", "show", "close"] }, { kind: "component", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: ["notifications", "title"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2303
+ NotificationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", show: "show", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n [deviceSize]=\"deviceSize\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4$1.NotificationHeaderComponent, selector: "fd-notification-header", inputs: ["uniqueId"] }, { kind: "component", type: i4$1.NotificationActionsComponent, selector: "fd-notification-actions" }, { kind: "component", type: i4$1.NotificationGroupHeaderComponent, selector: "fd-notification-group-header", inputs: ["expandCompact", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: i4$1.NotificationGroupComponent, selector: "fd-notification-group", inputs: ["class", "mobile", "width"] }, { kind: "component", type: i4$1.NotificationGroupListComponent, selector: "fd-notification-group-list" }, { kind: "component", type: i9$1.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i9$1.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i5.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: i5.NotificationItemComponent, selector: "bsu-notification-item", inputs: ["option", "notificationItem", "showCloseButton", "deviceSize"], outputs: ["viewed", "remove", "actionClick", "show", "close"] }, { kind: "component", type: NotificationGroupHeaderComponent, selector: "bt-notification-group-header", inputs: ["notifications", "title"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2275
2304
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NotificationGroupComponent, decorators: [{
2276
2305
  type: Component,
2277
2306
  args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"notifications && notifications.length > 0; else noData\">\n <ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\">\n <fd-tab\n [title]=\"tab.title | bbbTranslate\"\n *ngFor=\"let tab of tabList; let index = index; trackBy: _trackByTitle\"\n >\n <fd-notification-group-list\n *ngFor=\"let groupItem of tab.groupByItems; let index = index; trackBy: _trackByKey\"\n >\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n </fd-tab>\n </fd-tab-list>\n </fd-notification-group>\n </ng-container>\n</ng-container>\n<ng-template #noData>\n <bsu-no-data *ngIf=\"!loading; else loadingTpl\"></bsu-no-data>\n</ng-template>\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\n <ng-container *ngFor=\"let mo of notifications; trackBy: _trackMoById; let first = first; let last = last\">\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (show)=\"show.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n [deviceSize]=\"deviceSize\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}\n"] }]
@@ -2497,7 +2526,7 @@ class ShellbarComponent extends BaseComponent {
2497
2526
  }
2498
2527
  }
2499
2528
  ShellbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ShellbarComponent, deps: [{ token: i1.PortalService }, { token: i1.BreadcrumbService }, { token: TilesService }, { token: i0.ChangeDetectorRef }, { token: i1.BbbTranslatePipe }, { token: i3$3.DomSanitizer }, { token: i1.NotificationService }, { token: i1$1.DialogService }, { token: DOCUMENT }, { token: APP_VERSION }], target: i0.ɵɵFactoryTarget.Component });
2500
- ShellbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\" [ngClass]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n <fd-shellbar-action\n *ngIf=\"deviceSize === 's'\"\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"(notificationsCount$ | async)?.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n <fd-popover\n *ngIf=\"!settings?.HideNotifications && (notificationsCount$ | async) as notificationCount\"\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [ngClass]=\"culture.key\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n {{ culture.value }}\n </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n <div\n style=\"position: relative; height: 100px\"\n *ngIf=\"!notifcationLoaded && (notificationLoading$ | async) === true\"\n >\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n <bt-notification-group\n [notifications]=\"notifications$ | async\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"(notificationLoading$ | async) === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (show)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsCount$ | async }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}.fd-shellbar--s{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6$2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6$2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6$2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i6$2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8$1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i10$1.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "ariaLabel", "disabled"] }, { kind: "component", type: i10$1.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i11.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i11.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i11.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i12.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "sideNav"] }, { kind: "component", type: i12.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i12.ShellbarSubtitleComponent, selector: "fd-shellbar-subtitle" }, { kind: "component", type: i12.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "collapsedItemMenuLabel"] }, { kind: "component", type: i12.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i12.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i6.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount"], outputs: ["viewed", "remove", "actionClick", "show", "loadMore"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2529
+ ShellbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ShellbarComponent, selector: "bt-shellbar", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\" [ngClass]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n <fd-shellbar-action\n *ngIf=\"deviceSize === 's'\"\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"(notificationsCount$ | async)?.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n <fd-popover\n *ngIf=\"!settings?.HideNotifications && (notificationsCount$ | async) as notificationCount\"\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [ngClass]=\"culture.key\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n {{ culture.value }}\n </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n <div\n style=\"position: relative; height: 100px\"\n *ngIf=\"!notifcationLoaded && (notificationLoading$ | async) === true\"\n >\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n <bt-notification-group\n [notifications]=\"notifications$ | async\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"(notificationLoading$ | async) === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (show)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsCount$ | async }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}.fd-shellbar--s{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6$1.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6$1.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6$1.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i6$1.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i8$1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8$1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8$1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8$1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i10$2.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "ariaLabel", "disabled"] }, { kind: "component", type: i10$2.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i11.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i11.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i11.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i12.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "sideNav"] }, { kind: "component", type: i12.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i12.ShellbarSubtitleComponent, selector: "fd-shellbar-subtitle" }, { kind: "component", type: i12.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "collapsedItemMenuLabel"] }, { kind: "component", type: i12.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i12.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount"], outputs: ["viewed", "remove", "actionClick", "show", "loadMore"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2501
2530
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ShellbarComponent, decorators: [{
2502
2531
  type: Component,
2503
2532
  args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\" [ngClass]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"logo\">\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n <fd-shellbar-action\n *ngIf=\"deviceSize === 's'\"\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"(notificationsCount$ | async)?.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n <fd-popover\n *ngIf=\"!settings?.HideNotifications && (notificationsCount$ | async) as notificationCount\"\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [ngClass]=\"culture.key\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n {{ culture.value }}\n </span>\n </a>\n </li>\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n <div\n style=\"position: relative; height: 100px\"\n *ngIf=\"!notifcationLoaded && (notificationLoading$ | async) === true\"\n >\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n <bt-notification-group\n [notifications]=\"notifications$ | async\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"(notificationLoading$ | async) === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (show)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsCount$ | async }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:block}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s .fd-shellbar__subtitle{display:block}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}.fd-shellbar--s{padding:0}\n"] }]