barsa-tiles 2.3.167 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/barsa-tiles.mjs +257 -57
- package/fesm2022/barsa-tiles.mjs.map +1 -1
- package/package.json +1 -1
- package/types/barsa-tiles.d.ts +67 -5
package/fesm2022/barsa-tiles.mjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, computed, inject, Injectable, DestroyRef, ChangeDetectionStrategy, Component, Input, Directive, ChangeDetectorRef, ViewContainerRef, HostListener,
|
|
2
|
+
import { signal, computed, inject, Injectable, DestroyRef, NgZone, ChangeDetectionStrategy, Component, EventEmitter, Output, Input, Directive, ChangeDetectorRef, ViewContainerRef, HostListener, ViewChild, ElementRef, Pipe, HostBinding, Injector, EnvironmentInjector, input, Renderer2, TemplateRef, DOCUMENT, NgModule, provideAppInitializer, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
3
3
|
import * as i5 from 'barsa-novin-ray-core';
|
|
4
|
-
import { BarsaApi, BbbTranslatePipe, PortalService, TilePropsComponent, BaseComponent, BaseDirective, IsDarkMode, LocalStorageService, PreventDefaulEvent, ScrollLayoutContextHolder, getDeviceIsMobile, BaseController, BaseDynamicComponent, SaveScrollPositionService, ExecuteDynamicCommand, ShellbarHeightService, ViewBase, GroupByService, APP_VERSION, bodyClick, getDeviceIsDesktop, getDeviceIsTablet, ApplicationCtrlrService, BreadcrumbService, NotificationService, SortDirection, LogService, RoutingService, EmptyPageComponent, ReportNavigatorComponent, TileGroupBreadcrumResolver, PortalPageResolver, AuthGuard, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule } from 'barsa-novin-ray-core';
|
|
4
|
+
import { BarsaApi, BbbTranslatePipe, PortalService, TilePropsComponent, BaseComponent, BaseDirective, IsDarkMode, LocalStorageService, PreventDefaulEvent, hhmmToMs, ScrollLayoutContextHolder, getDeviceIsMobile, BaseController, BaseDynamicComponent, SaveScrollPositionService, ExecuteDynamicCommand, ShellbarHeightService, ViewBase, ReportContainerComponent, GroupByService, APP_VERSION, bodyClick, getDeviceIsDesktop, getDeviceIsTablet, ApplicationCtrlrService, BreadcrumbService, NotificationService, SortDirection, LogService, RoutingService, EmptyPageComponent, ReportNavigatorComponent, TileGroupBreadcrumResolver, PortalPageResolver, AuthGuard, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule } from 'barsa-novin-ray-core';
|
|
5
5
|
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
-
import { map, from, Subject, of, firstValueFrom, takeUntil, filter as filter$1, finalize, BehaviorSubject, interval, combineLatest, fromEvent, forkJoin } from 'rxjs';
|
|
6
|
+
import { map, from, Subject, of, firstValueFrom, takeUntil, filter as filter$1, timer, finalize, BehaviorSubject, interval, combineLatest, fromEvent, forkJoin } from 'rxjs';
|
|
7
7
|
import { startWith, shareReplay, distinctUntilChanged, filter, tap, map as map$1, concatMap, takeUntil as takeUntil$1, debounceTime, withLatestFrom, exhaustMap, finalize as finalize$1 } from 'rxjs/operators';
|
|
8
8
|
import { ThemingService, RtlService, DialogRef, DialogService, CarouselComponent, ContentDensityService, ShellbarComponent as ShellbarComponent$1, ComboboxComponent, FundamentalNgxCoreModule, GridListModule, ShellbarUserMenuComponent } from '@fundamental-ngx/core';
|
|
9
|
+
import * as i1 from '@fundamental-ngx/core/icon';
|
|
10
|
+
import * as i1$1 from '@fundamental-ngx/core/tile';
|
|
11
|
+
import * as i3 from 'barsa-sap-ui';
|
|
12
|
+
import { MaskComponent, BarsaTreeItemComponent, BarsaSapUiModule } from 'barsa-sap-ui';
|
|
9
13
|
import * as i1$2 from '@angular/common';
|
|
10
14
|
import { CommonModule, LowerCasePipe } from '@angular/common';
|
|
11
15
|
import * as i2 from '@fundamental-ngx/core/button';
|
|
12
16
|
import * as i7 from '@fundamental-ngx/core/list';
|
|
13
17
|
import * as i4 from '@fundamental-ngx/core/menu';
|
|
14
|
-
import * as i1$1 from '@fundamental-ngx/core/tile';
|
|
15
|
-
import * as i1 from '@fundamental-ngx/core/icon';
|
|
16
|
-
import * as i3 from 'barsa-sap-ui';
|
|
17
|
-
import { MaskComponent, BarsaTreeItemComponent, BarsaSapUiModule } from 'barsa-sap-ui';
|
|
18
18
|
import * as i1$5 from '@angular/router';
|
|
19
19
|
import { Router, NavigationEnd, RouterEvent, ActivatedRoute, RouterModule } from '@angular/router';
|
|
20
20
|
import * as i2$1 from '@angular/cdk/drag-drop';
|
|
@@ -404,7 +404,12 @@ class TilesService {
|
|
|
404
404
|
...(ngDevMode ? [{ debugName: "componentSettingsSig" }] : /* istanbul ignore next */ []));
|
|
405
405
|
this._destroyRef = inject(DestroyRef);
|
|
406
406
|
this._pinTilesSource = new Subject();
|
|
407
|
+
// Per-tile refresh ping. A signal-backed stream (toObservable) coalesces multiple
|
|
408
|
+
// synchronous set() calls into one emission, so a refresh touching several tiles would
|
|
409
|
+
// only update the last one. A Subject emits synchronously for every tile.
|
|
410
|
+
this._componentSettingsSource = new Subject();
|
|
407
411
|
this._store = inject(TilesStore);
|
|
412
|
+
this._ngZone = inject(NgZone);
|
|
408
413
|
this._tilesApi = inject(TilesApiService);
|
|
409
414
|
this._themingService = inject(ThemingService);
|
|
410
415
|
this._portalService = inject(PortalService);
|
|
@@ -418,7 +423,7 @@ class TilesService {
|
|
|
418
423
|
this.shellbar$ = toObservable(this.shellbarSig).pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
419
424
|
this.appTileGroups$ = toObservable(this._store.appTileGroups).pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
420
425
|
this.edit$ = toObservable(this.editHomeSig).pipe(distinctUntilChanged());
|
|
421
|
-
this.componentSettings$ =
|
|
426
|
+
this.componentSettings$ = this._componentSettingsSource.asObservable().pipe(filter((c) => c != null), shareReplay({ bufferSize: 1, refCount: true }));
|
|
422
427
|
this.deviceSize$ = this._portalService.deviceSize$;
|
|
423
428
|
this._rtlService.rtl.set(BarsaApi.LoginFormData.IsRtl);
|
|
424
429
|
this.appTileGroups$
|
|
@@ -511,6 +516,17 @@ class TilesService {
|
|
|
511
516
|
}
|
|
512
517
|
}));
|
|
513
518
|
}
|
|
519
|
+
/**
|
|
520
|
+
* User-triggered per-tile refresh (the tile footer reload button). Reuses the same
|
|
521
|
+
* refresh mechanism as the server-side GlobalRefreshTile notification: re-fetch the
|
|
522
|
+
* tile from the server, then merge its settings into the store so it re-renders.
|
|
523
|
+
*/
|
|
524
|
+
refreshAppTile(appTile) {
|
|
525
|
+
if (!appTile) {
|
|
526
|
+
return;
|
|
527
|
+
}
|
|
528
|
+
this._updateAppTileFromNotification(this._store.entities().groupsById, [appTile]);
|
|
529
|
+
}
|
|
514
530
|
refreshTile(appTile) {
|
|
515
531
|
return firstValueFrom(this._tilesApi.refreshTile(appTile.Id).pipe(map$1((newAppTile) => {
|
|
516
532
|
if (newAppTile.MoDataList?.length) {
|
|
@@ -572,6 +588,9 @@ class TilesService {
|
|
|
572
588
|
if (selectedAppTile && selectedAppTile.A_App_Component) {
|
|
573
589
|
BarsaApi.Common.Merger.FastMerge(selectedAppTile.A_App_Component.Settings, appTile.A_App_Component.Settings);
|
|
574
590
|
this.componentSettingsSig.set(selectedAppTile.A_App_Component.Settings);
|
|
591
|
+
// Ping the specific tile so it refreshes. Use the Subject (not the signal stream)
|
|
592
|
+
// so refreshes touching multiple tiles notify every one, not just the last.
|
|
593
|
+
this._componentSettingsSource.next(selectedAppTile.A_App_Component.Settings);
|
|
575
594
|
}
|
|
576
595
|
}
|
|
577
596
|
updataAppTileSetting(selectedGroup, appGroupSetting) {
|
|
@@ -683,7 +702,12 @@ class TilesService {
|
|
|
683
702
|
}
|
|
684
703
|
this._tilesApi.refreshAppTiles(appTiles.map((c) => (c.AppTile?.Id ? c.AppTile?.Id : c.Id))).subscribe({
|
|
685
704
|
next: (result) => {
|
|
686
|
-
|
|
705
|
+
// The GlobalRefreshTile event (and this BL callback) fires outside the Angular zone,
|
|
706
|
+
// so signal updates wouldn't schedule change detection until the next DOM event
|
|
707
|
+
// (i.e. clicking a tile). Re-enter the zone so tiles refresh immediately.
|
|
708
|
+
this._ngZone.run(() => {
|
|
709
|
+
result.MoDataList.forEach((c) => this.updateAppTile({ MoDataList: Object.values(groupsById) }, c));
|
|
710
|
+
});
|
|
687
711
|
},
|
|
688
712
|
error: () => { }
|
|
689
713
|
});
|
|
@@ -850,18 +874,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
850
874
|
}] });
|
|
851
875
|
|
|
852
876
|
class FooterTileComponent extends BaseComponent {
|
|
877
|
+
constructor() {
|
|
878
|
+
super(...arguments);
|
|
879
|
+
this.reloadClick = new EventEmitter();
|
|
880
|
+
this.lastUpdateTime = signal(new Date(), /* @ts-ignore */
|
|
881
|
+
...(ngDevMode ? [{ debugName: "lastUpdateTime" }] : /* istanbul ignore next */ []));
|
|
882
|
+
}
|
|
883
|
+
onReloadClick(event) {
|
|
884
|
+
event.stopPropagation();
|
|
885
|
+
this.markUpdated();
|
|
886
|
+
this.reloadClick.emit();
|
|
887
|
+
}
|
|
888
|
+
/** زمان آخرین بروزرسانی را به الان ست میکند؛ برای رفرشهای برنامهای (مثل polling) هم قابل فراخوانی است. */
|
|
889
|
+
markUpdated() {
|
|
890
|
+
this.lastUpdateTime.set(new Date());
|
|
891
|
+
}
|
|
853
892
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FooterTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
854
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FooterTileComponent, isStandalone: false, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: { firstSection: "firstSection", secondSection: "secondSection", twoColumn: "twoColumn" }, usesInheritance: true, ngImport: i0, template: "@if (twoColumn) {\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} @else {\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}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileRefreshDirective, selector: "[fdTileRefresh], [fd-tile-refresh]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "directive", type: i1$1.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
893
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FooterTileComponent, isStandalone: false, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: { firstSection: "firstSection", secondSection: "secondSection", twoColumn: "twoColumn", canReload: "canReload", showUpdateTime: "showUpdateTime" }, outputs: { reloadClick: "reloadClick" }, usesInheritance: true, ngImport: i0, template: "@if(canReload){\r\n<div fd-tile-section class=\"tw-flex tw-justify-start tw-flex-1\">\r\n <i\r\n fd-tile-refresh\r\n glyph=\"refresh\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n aria-label=\"Refresh\"\r\n class=\"tw-cursor-pointer\"\r\n (click)=\"onReloadClick($event)\"\r\n ></i>\r\n @if (showUpdateTime) {\r\n <span fd-tile-footer-text>{{ lastUpdateTime() | relativeDate }}</span>\r\n }\r\n</div>\r\n}\r\n@else if (twoColumn) { \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} @else {\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}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileRefreshDirective, selector: "[fdTileRefresh], [fd-tile-refresh]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "directive", type: i1$1.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "pipe", type: i5.RelativeDatePipe, name: "relativeDate" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
855
894
|
}
|
|
856
895
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FooterTileComponent, decorators: [{
|
|
857
896
|
type: Component,
|
|
858
|
-
args: [{ selector: 'bt-footer-tile,div[bt-footer-tile]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (twoColumn) {\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} @else {\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}\r\n" }]
|
|
897
|
+
args: [{ selector: 'bt-footer-tile,div[bt-footer-tile]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if(canReload){\r\n<div fd-tile-section class=\"tw-flex tw-justify-start tw-flex-1\">\r\n <i\r\n fd-tile-refresh\r\n glyph=\"refresh\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n aria-label=\"Refresh\"\r\n class=\"tw-cursor-pointer\"\r\n (click)=\"onReloadClick($event)\"\r\n ></i>\r\n @if (showUpdateTime) {\r\n <span fd-tile-footer-text>{{ lastUpdateTime() | relativeDate }}</span>\r\n }\r\n</div>\r\n}\r\n@else if (twoColumn) { \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} @else {\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}\r\n" }]
|
|
859
898
|
}], propDecorators: { firstSection: [{
|
|
860
899
|
type: Input
|
|
861
900
|
}], secondSection: [{
|
|
862
901
|
type: Input
|
|
863
902
|
}], twoColumn: [{
|
|
864
903
|
type: Input
|
|
904
|
+
}], canReload: [{
|
|
905
|
+
type: Input
|
|
906
|
+
}], showUpdateTime: [{
|
|
907
|
+
type: Input
|
|
908
|
+
}], reloadClick: [{
|
|
909
|
+
type: Output
|
|
865
910
|
}] } });
|
|
866
911
|
|
|
867
912
|
class TileStyleDirective extends BaseDirective {
|
|
@@ -975,13 +1020,18 @@ class TileComponent extends TilePropsComponent {
|
|
|
975
1020
|
super(...arguments);
|
|
976
1021
|
/** Open "change group" (pin) dialog from tile menu */
|
|
977
1022
|
this.changeGroupClick = new EventEmitter();
|
|
1023
|
+
this.reloadClick = new EventEmitter();
|
|
1024
|
+
}
|
|
1025
|
+
/** بروزرسانی زمان آخرین رفرش در فوتر؛ برای رفرشهای برنامهای (polling) استفاده میشود. */
|
|
1026
|
+
markUpdated() {
|
|
1027
|
+
this._footer?.markUpdated();
|
|
978
1028
|
}
|
|
979
1029
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
980
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TileComponent, isStandalone: false, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", darkMode: "darkMode", disableClick: "disableClick", edit: "edit", dynamicCommand: "dynamicCommand", backColor: "backColor", hideHeader: "hideHeader", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, outputs: { changeGroupClick: "changeGroupClick" }, usesInheritance: true, ngImport: i0, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble === true\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); changeGroupClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Groups' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate", "scope"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "scrollStrategy", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]", inputs: ["truncate"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i1$1.TileComponent, selector: "fd-tile, [fd-tile]", inputs: ["size", "double", "type", "action", "clickable", "role", "ariaLabel", "ariaLabelledby", "id"], outputs: ["tileClick"] }, { kind: "directive", type: i1$1.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i1$1.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i1$1.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]" }, { kind: "directive", type: i1$1.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]" }, { kind: "directive", type: i5.OverflowTextDirective, selector: "[overflowText]", exportAs: ["overflowText"] }, { kind: "component", type: FooterTileComponent, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: ["firstSection", "secondSection", "twoColumn"] }, { kind: "directive", type: TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "directive", type: TileDynamicCommandDirective, selector: "[tileDynCommand]", inputs: ["disableClick", "edit", "dynamicCommand", "title", "setToStorage", "navigateBackOnClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1030
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TileComponent, isStandalone: false, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", canReload: "canReload", showUpdateTime: "showUpdateTime", darkMode: "darkMode", disableClick: "disableClick", edit: "edit", dynamicCommand: "dynamicCommand", backColor: "backColor", hideHeader: "hideHeader", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, outputs: { changeGroupClick: "changeGroupClick", reloadClick: "reloadClick" }, viewQueries: [{ propertyName: "_footer", first: true, predicate: FooterTileComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble === true\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [canReload]=\"canReload\"\r\n [showUpdateTime]=\"showUpdateTime\"\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n (reloadClick)=\"reloadClick.emit()\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); changeGroupClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Groups' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate", "scope"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "scrollStrategy", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]", inputs: ["truncate"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i1$1.TileComponent, selector: "fd-tile, [fd-tile]", inputs: ["size", "double", "type", "action", "clickable", "role", "ariaLabel", "ariaLabelledby", "id"], outputs: ["tileClick"] }, { kind: "directive", type: i1$1.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i1$1.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i1$1.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]" }, { kind: "directive", type: i1$1.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]" }, { kind: "directive", type: i5.OverflowTextDirective, selector: "[overflowText]", exportAs: ["overflowText"] }, { kind: "component", type: FooterTileComponent, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: ["firstSection", "secondSection", "twoColumn", "canReload", "showUpdateTime"], outputs: ["reloadClick"] }, { kind: "directive", type: TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "directive", type: TileDynamicCommandDirective, selector: "[tileDynCommand]", inputs: ["disableClick", "edit", "dynamicCommand", "title", "setToStorage", "navigateBackOnClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
981
1031
|
}
|
|
982
1032
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TileComponent, decorators: [{
|
|
983
1033
|
type: Component,
|
|
984
|
-
args: [{ selector: 'bt-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble === true\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); changeGroupClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Groups' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"] }]
|
|
1034
|
+
args: [{ selector: 'bt-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble === true\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [canReload]=\"canReload\"\r\n [showUpdateTime]=\"showUpdateTime\"\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n (reloadClick)=\"reloadClick.emit()\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); changeGroupClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Groups' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"] }]
|
|
985
1035
|
}], propDecorators: { type: [{
|
|
986
1036
|
type: Input
|
|
987
1037
|
}], footerTemplate: [{
|
|
@@ -996,6 +1046,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
996
1046
|
type: Input
|
|
997
1047
|
}], isDouble: [{
|
|
998
1048
|
type: Input
|
|
1049
|
+
}], canReload: [{
|
|
1050
|
+
type: Input
|
|
1051
|
+
}], showUpdateTime: [{
|
|
1052
|
+
type: Input
|
|
999
1053
|
}], darkMode: [{
|
|
1000
1054
|
type: Input
|
|
1001
1055
|
}], disableClick: [{
|
|
@@ -1016,12 +1070,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1016
1070
|
type: Input
|
|
1017
1071
|
}], changeGroupClick: [{
|
|
1018
1072
|
type: Output
|
|
1073
|
+
}], reloadClick: [{
|
|
1074
|
+
type: Output
|
|
1075
|
+
}], _footer: [{
|
|
1076
|
+
type: ViewChild,
|
|
1077
|
+
args: [FooterTileComponent]
|
|
1019
1078
|
}] } });
|
|
1020
1079
|
|
|
1021
1080
|
class BaseBtTileComponent extends BaseTileComponent {
|
|
1022
1081
|
constructor() {
|
|
1023
1082
|
super(...arguments);
|
|
1024
1083
|
this.isDark$ = this._tilesService.isDark$;
|
|
1084
|
+
this._isInView = false;
|
|
1025
1085
|
}
|
|
1026
1086
|
ngOnInit() {
|
|
1027
1087
|
super.ngOnInit();
|
|
@@ -1035,6 +1095,7 @@ class BaseBtTileComponent extends BaseTileComponent {
|
|
|
1035
1095
|
this._cdr.detectChanges();
|
|
1036
1096
|
});
|
|
1037
1097
|
this._renderer2.addClass(this.el.nativeElement, 'barsa-tile');
|
|
1098
|
+
this._startPolling();
|
|
1038
1099
|
}
|
|
1039
1100
|
ngOnChanges(changes) {
|
|
1040
1101
|
super.ngOnChanges(changes);
|
|
@@ -1049,8 +1110,50 @@ class BaseBtTileComponent extends BaseTileComponent {
|
|
|
1049
1110
|
this._cdr.detectChanges();
|
|
1050
1111
|
}
|
|
1051
1112
|
}
|
|
1113
|
+
reload() {
|
|
1114
|
+
this._tilesService.refreshAppTile(this.data);
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* بروزرسانی خودکار تایل در صورت تنظیم بودن PollingInterval (بر حسب میلیثانیه).
|
|
1118
|
+
* هر تایل با override کردن refreshTile میتواند رفتار رفرش مخصوص خودش را داشته باشد
|
|
1119
|
+
* (مثلاً ReportTile که علاوه بر رفرش تایل، گزارش داخلش را هم بازسازی میکند).
|
|
1120
|
+
*/
|
|
1121
|
+
_startPolling() {
|
|
1122
|
+
// مثل tileProp، اول روی TileSetting و بعد روی خودِ Settings دنبال مقدار میگردیم.
|
|
1123
|
+
const settings = this.settings;
|
|
1124
|
+
// PollingInterval از سرور بهصورت عددِ اعشاریِ ساعت.دقیقه (hh:mm) میآید؛ تبدیل به میلیثانیه.
|
|
1125
|
+
const pollingInterval = hhmmToMs(settings?.TileSetting?.PollingInterval ?? settings?.PollingInterval);
|
|
1126
|
+
if (!pollingInterval) {
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
this._observeInView();
|
|
1130
|
+
timer(pollingInterval, pollingInterval)
|
|
1131
|
+
.pipe(takeUntil(this._onDestroy$),
|
|
1132
|
+
// فقط وقتی تایل واقعاً در view دیده میشود رفرش کن؛ اگر در صفحهی دیگری هستیم اجرا نشود.
|
|
1133
|
+
filter$1(() => this._isInView))
|
|
1134
|
+
.subscribe(() => {
|
|
1135
|
+
this.refreshTile();
|
|
1136
|
+
// بروزرسانی زمان آخرین رفرش در فوتر (مسیر کلیک دستی خودش این کار را میکند).
|
|
1137
|
+
this._tileComponent?.markUpdated();
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
/** با IntersectionObserver دیدهشدن تایل در viewport را دنبال میکند. */
|
|
1141
|
+
_observeInView() {
|
|
1142
|
+
if (typeof IntersectionObserver === 'undefined') {
|
|
1143
|
+
this._isInView = true;
|
|
1144
|
+
return;
|
|
1145
|
+
}
|
|
1146
|
+
const observer = new IntersectionObserver((entries) => {
|
|
1147
|
+
this._isInView = entries.some((entry) => entry.isIntersecting);
|
|
1148
|
+
});
|
|
1149
|
+
observer.observe(this.el.nativeElement);
|
|
1150
|
+
this._onDestroy$.subscribe(() => observer.disconnect());
|
|
1151
|
+
}
|
|
1152
|
+
refreshTile() {
|
|
1153
|
+
this.reload();
|
|
1154
|
+
}
|
|
1052
1155
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BaseBtTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1053
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: BaseBtTileComponent, isStandalone: false, selector: "bt-base-bt-tile", viewQueries: [{ propertyName: "_btTitleElementRef", first: true, predicate: TileComponent, descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: BaseBtTileComponent, isStandalone: false, selector: "bt-base-bt-tile", viewQueries: [{ propertyName: "_btTitleElementRef", first: true, predicate: TileComponent, descendants: true, read: ElementRef, static: true }, { propertyName: "_tileComponent", first: true, predicate: TileComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1054
1157
|
}
|
|
1055
1158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BaseBtTileComponent, decorators: [{
|
|
1056
1159
|
type: Component,
|
|
@@ -1063,6 +1166,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1063
1166
|
}], propDecorators: { _btTitleElementRef: [{
|
|
1064
1167
|
type: ViewChild,
|
|
1065
1168
|
args: [TileComponent, { read: ElementRef, static: true }]
|
|
1169
|
+
}], _tileComponent: [{
|
|
1170
|
+
type: ViewChild,
|
|
1171
|
+
args: [TileComponent]
|
|
1066
1172
|
}] } });
|
|
1067
1173
|
|
|
1068
1174
|
;
|
|
@@ -1137,11 +1243,11 @@ class FormTileComponent extends BaseBtTileComponent {
|
|
|
1137
1243
|
BarsaApi.Bw.RunBlMethodAsync(options);
|
|
1138
1244
|
}
|
|
1139
1245
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FormTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FormTileComponent, isStandalone: false, selector: "bt-form-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i5.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1246
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FormTileComponent, isStandalone: false, selector: "bt-form-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i5.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1141
1247
|
}
|
|
1142
1248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FormTileComponent, decorators: [{
|
|
1143
1249
|
type: Component,
|
|
1144
|
-
args: [{ selector: 'bt-form-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"] }]
|
|
1250
|
+
args: [{ selector: 'bt-form-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"] }]
|
|
1145
1251
|
}] });
|
|
1146
1252
|
|
|
1147
1253
|
class TileGroupBaseComponent extends BaseComponent {
|
|
@@ -1396,6 +1502,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1396
1502
|
type: Output
|
|
1397
1503
|
}] } });
|
|
1398
1504
|
|
|
1505
|
+
/** حداقل/حداکثر ستون در گرید ۱۲تایی */
|
|
1506
|
+
function clampSpan(value, fallback) {
|
|
1507
|
+
const n = Number(value);
|
|
1508
|
+
if (!n || Number.isNaN(n)) {
|
|
1509
|
+
return fallback;
|
|
1510
|
+
}
|
|
1511
|
+
return Math.min(12, Math.max(1, Math.trunc(n)));
|
|
1512
|
+
}
|
|
1513
|
+
/** فقط وقتی نوع گروه AdvanceCardGroups باشد از چیدمان جدید استفاده میشود */
|
|
1514
|
+
function isAdvanceCardGroup(group) {
|
|
1515
|
+
return !!group && group.TileGroupType$Caption === 'AdvanceCardGroups';
|
|
1516
|
+
}
|
|
1399
1517
|
class TileClassDirective extends BaseDirective {
|
|
1400
1518
|
constructor() {
|
|
1401
1519
|
super(...arguments);
|
|
@@ -1419,6 +1537,14 @@ class TileClassDirective extends BaseDirective {
|
|
|
1419
1537
|
this._renderer2.addClass(this._el.nativeElement, 's');
|
|
1420
1538
|
}
|
|
1421
1539
|
const y = this.appTileGroup();
|
|
1540
|
+
// حالت جدید: نوع گروه AdvanceCardGroups → همیشه ۱۲ ستون، و هر AppTile فضای خودش را مشخص میکند
|
|
1541
|
+
if (isAdvanceCardGroup(y)) {
|
|
1542
|
+
const advanced = 'tw-w-full tw-grid tw-grid-cols-12 tw-gap-4 advance-cards-group';
|
|
1543
|
+
advanced.split(' ').forEach((c) => {
|
|
1544
|
+
this._renderer2.addClass(this._el.nativeElement, c);
|
|
1545
|
+
});
|
|
1546
|
+
return;
|
|
1547
|
+
}
|
|
1422
1548
|
const x = `tw-w-full tw-grid tw-grid-cols-${y?.ItemCountSM} md:tw-grid-cols-${y.ItemCountMD} lg:tw-grid-cols-${y.ItemCountL}` +
|
|
1423
1549
|
` xl:tw-grid-cols-${y.ItemCountXL} 2xl:tw-grid-cols-${y.ItemCount2XL} tw-gap-4`;
|
|
1424
1550
|
switch (y.TileGroupType$Caption) {
|
|
@@ -1446,6 +1572,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1446
1572
|
standalone: false
|
|
1447
1573
|
}]
|
|
1448
1574
|
}], propDecorators: { rtl: [{ type: i0.Input, args: [{ isSignal: true, alias: "rtl", required: false }] }], deviceSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "deviceSize", required: false }] }], appTileGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "appTileGroup", required: false }] }] } });
|
|
1575
|
+
/**
|
|
1576
|
+
* روی رَپر هر AppTile قرار میگیرد و در حالت گروه کارتی پیشرفته،
|
|
1577
|
+
* فضای اشغالی هر تایل را بر اساس تنظیمات خودش (ItemCount*) تعیین میکند.
|
|
1578
|
+
* در سایر حالتها هیچ کلاسی اضافه نمیکند تا رفتار قبلی حفظ شود.
|
|
1579
|
+
*/
|
|
1580
|
+
class AppTileClassDirective extends BaseDirective {
|
|
1581
|
+
constructor() {
|
|
1582
|
+
super(...arguments);
|
|
1583
|
+
this.appTile = input(/* @ts-ignore */
|
|
1584
|
+
...(ngDevMode ? [undefined, { debugName: "appTile" }] : /* istanbul ignore next */ []));
|
|
1585
|
+
this.appTileGroup = input(/* @ts-ignore */
|
|
1586
|
+
...(ngDevMode ? [undefined, { debugName: "appTileGroup" }] : /* istanbul ignore next */ []));
|
|
1587
|
+
this._renderer2 = inject(Renderer2);
|
|
1588
|
+
}
|
|
1589
|
+
ngOnInit() {
|
|
1590
|
+
super.ngOnInit();
|
|
1591
|
+
const group = this.appTileGroup();
|
|
1592
|
+
if (!isAdvanceCardGroup(group)) {
|
|
1593
|
+
return;
|
|
1594
|
+
}
|
|
1595
|
+
const tile = this.appTile();
|
|
1596
|
+
const sm = clampSpan(tile?.ColSpanSM, 12);
|
|
1597
|
+
const md = clampSpan(tile?.ColSpanMD, 12);
|
|
1598
|
+
const lg = clampSpan(tile?.ColSpanL, 12);
|
|
1599
|
+
const xl = clampSpan(tile?.ColSpanXL, 12);
|
|
1600
|
+
const xxl = clampSpan(tile?.ColSpan2XL, 12);
|
|
1601
|
+
const cls = `tw-col-span-${sm} md:tw-col-span-${md} lg:tw-col-span-${lg}` +
|
|
1602
|
+
` xl:tw-col-span-${xl} 2xl:tw-col-span-${xxl}`;
|
|
1603
|
+
cls.split(' ').forEach((c) => {
|
|
1604
|
+
this._renderer2.addClass(this._el.nativeElement, c);
|
|
1605
|
+
});
|
|
1606
|
+
}
|
|
1607
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AppTileClassDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1608
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: AppTileClassDirective, isStandalone: false, selector: "[appTileCls]", inputs: { appTile: { classPropertyName: "appTile", publicName: "appTile", isSignal: true, isRequired: false, transformFunction: null }, appTileGroup: { classPropertyName: "appTileGroup", publicName: "appTileGroup", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
1609
|
+
}
|
|
1610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AppTileClassDirective, decorators: [{
|
|
1611
|
+
type: Directive,
|
|
1612
|
+
args: [{
|
|
1613
|
+
selector: '[appTileCls]',
|
|
1614
|
+
standalone: false
|
|
1615
|
+
}]
|
|
1616
|
+
}], propDecorators: { appTile: [{ type: i0.Input, args: [{ isSignal: true, alias: "appTile", required: false }] }], appTileGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "appTileGroup", required: false }] }] } });
|
|
1449
1617
|
|
|
1450
1618
|
class TilesViewerGroupComponent extends TileGroupBaseComponent {
|
|
1451
1619
|
constructor() {
|
|
@@ -1460,11 +1628,11 @@ class TilesViewerGroupComponent extends TileGroupBaseComponent {
|
|
|
1460
1628
|
}
|
|
1461
1629
|
}
|
|
1462
1630
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TilesViewerGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1463
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TilesViewerGroupComponent, isStandalone: false, selector: "bt-tiles-viewer-group", providers: [ScrollLayoutContextHolder], usesInheritance: true, ngImport: i0, template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.!tw-mb-2]=\"edit\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!visible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (appTileGroup.CanDelete) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"isJustifyStart()\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n (changeGroupClick)=\"onAppTileChangeGroupClick(appTile)\"\r\n ></span>\r\n </div>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of childrenAppTileGroup; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [childrenAppTileGroup]=\"appTileSubGroup.$Children || []\"\r\n [visible]=\"appTileSubGroup.navigatorVisible\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n (changeGroupAppTileClick)=\"onAppTileChangeGroupClick($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .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}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;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}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive", "preventWheelEvents"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i5$1.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i5$1.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i5$1.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i5$1.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i5$1.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i5$1.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["twoLineClamp", "headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i7$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "ariaOrientation", "id"] }, { kind: "directive", type: i7$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i5.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit", "deviceSize"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group" }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "groupType", "edit", "deviceSize", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["hideClick", "renameClick", "changeGroupClick"] }, { kind: "directive", type: TileClassDirective, selector: "[tilesCls]", inputs: ["rtl", "deviceSize", "appTileGroup"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1631
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TilesViewerGroupComponent, isStandalone: false, selector: "bt-tiles-viewer-group", providers: [ScrollLayoutContextHolder], usesInheritance: true, ngImport: i0, template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.!tw-mb-2]=\"edit\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!visible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (appTileGroup.CanDelete) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"isJustifyStart()\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n appTileCls\r\n [appTile]=\"appTile\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n (changeGroupClick)=\"onAppTileChangeGroupClick(appTile)\"\r\n ></span>\r\n </div>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of childrenAppTileGroup; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [childrenAppTileGroup]=\"appTileSubGroup.$Children || []\"\r\n [visible]=\"appTileSubGroup.navigatorVisible\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n (changeGroupAppTileClick)=\"onAppTileChangeGroupClick($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .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}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;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}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive", "preventWheelEvents"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i5$1.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i5$1.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i5$1.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i5$1.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i5$1.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i5$1.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["twoLineClamp", "headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i7$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "ariaOrientation", "id"] }, { kind: "directive", type: i7$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i5.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit", "deviceSize"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group" }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "groupType", "edit", "deviceSize", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["hideClick", "renameClick", "changeGroupClick"] }, { kind: "directive", type: TileClassDirective, selector: "[tilesCls]", inputs: ["rtl", "deviceSize", "appTileGroup"] }, { kind: "directive", type: AppTileClassDirective, selector: "[appTileCls]", inputs: ["appTile", "appTileGroup"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1464
1632
|
}
|
|
1465
1633
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TilesViewerGroupComponent, decorators: [{
|
|
1466
1634
|
type: Component,
|
|
1467
|
-
args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [ScrollLayoutContextHolder], template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.!tw-mb-2]=\"edit\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!visible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (appTileGroup.CanDelete) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"isJustifyStart()\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n (changeGroupClick)=\"onAppTileChangeGroupClick(appTile)\"\r\n ></span>\r\n </div>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of childrenAppTileGroup; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [childrenAppTileGroup]=\"appTileSubGroup.$Children || []\"\r\n [visible]=\"appTileSubGroup.navigatorVisible\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n (changeGroupAppTileClick)=\"onAppTileChangeGroupClick($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .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}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;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}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"] }]
|
|
1635
|
+
args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [ScrollLayoutContextHolder], template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.!tw-mb-2]=\"edit\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!visible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (appTileGroup.CanDelete) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"isJustifyStart()\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n appTileCls\r\n [appTile]=\"appTile\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n (changeGroupClick)=\"onAppTileChangeGroupClick(appTile)\"\r\n ></span>\r\n </div>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of childrenAppTileGroup; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [childrenAppTileGroup]=\"appTileSubGroup.$Children || []\"\r\n [visible]=\"appTileSubGroup.navigatorVisible\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n (changeGroupAppTileClick)=\"onAppTileChangeGroupClick($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .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}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;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}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"] }]
|
|
1468
1636
|
}] });
|
|
1469
1637
|
|
|
1470
1638
|
class EmptyListDirective {
|
|
@@ -1578,11 +1746,11 @@ class AppFinderComponent extends BaseComponent {
|
|
|
1578
1746
|
this.searchTerm = this.searchTerm2;
|
|
1579
1747
|
}
|
|
1580
1748
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AppFinderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1581
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AppFinderComponent, isStandalone: false, selector: "bt-app-finder", inputs: { appGroups: "appGroups", deviceSize: "deviceSize", sideContentSize: "sideContentSize", selectedAppGroup: "selectedAppGroup", selectedAppGroupId: "selectedAppGroupId", mobile: "mobile", contentDensity: "contentDensity", contentHeight: "contentHeight", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", selectedAppGroupIdChange: "selectedAppGroupIdChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"
|
|
1749
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AppFinderComponent, isStandalone: false, selector: "bt-app-finder", inputs: { appGroups: "appGroups", deviceSize: "deviceSize", sideContentSize: "sideContentSize", selectedAppGroup: "selectedAppGroup", selectedAppGroupId: "selectedAppGroupId", mobile: "mobile", contentDensity: "contentDensity", contentHeight: "contentHeight", pinnedAppInAppTileGroups: "pinnedAppInAppTileGroups" }, outputs: { pinClick: "pinClick", selectedAppGroupIdChange: "selectedAppGroupIdChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"selectedAppGroup?.Title\"\r\n ></button>\r\n }\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fd-input-group\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm2\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto; height: calc(100svh - var(--shellbar-height) - 2.5rem)\">\r\n <div class=\"app-groups\">\r\n @if (deviceSize !== 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [listMode]=\"true\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </div>\r\n <bt-app-finder-app-list\r\n [appGroup]=\"selectedAppGroup\"\r\n [mobile]=\"mobile\"\r\n [searchTerm]=\"searchTerm\"\r\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\r\n (pinClick)=\"pinClick.emit($event)\"\r\n ></bt-app-finder-app-list>\r\n </div>\r\n <fd-menu\r\n #menu\r\n [mobile]=\"deviceSize === 's'\"\r\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n @if (deviceSize === 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </fd-menu>\r\n } @else {\r\n <bsu-mask></bsu-mask>\r\n }\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--sapBackgroundColor, #f7f7f7);color:var(--sapTextColor, #32363a)}:host ::ng-deep .fd-list__title{line-height:1.5rem}.wrapper{display:flex;flex-direction:column}fd-toolbar{width:100%}::ng-deep span.fd-toolbar__spacer{display:none}.app-groups{background-color:var(--sapBaseColor);height:100%}\n"], dependencies: [{ kind: "directive", type: i1$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: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$1.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "scrollStrategy", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i7$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "ariaOrientation", "id"] }, { kind: "directive", type: i7$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i7$1.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "directive", type: i5.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i3.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: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1582
1750
|
}
|
|
1583
1751
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AppFinderComponent, decorators: [{
|
|
1584
1752
|
type: Component,
|
|
1585
|
-
args: [{ selector: 'bt-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"
|
|
1753
|
+
args: [{ selector: 'bt-app-finder', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"selectedAppGroup?.Title\"\r\n ></button>\r\n }\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fd-input-group\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm2\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto; height: calc(100svh - var(--shellbar-height) - 2.5rem)\">\r\n <div class=\"app-groups\">\r\n @if (deviceSize !== 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [listMode]=\"true\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </div>\r\n <bt-app-finder-app-list\r\n [appGroup]=\"selectedAppGroup\"\r\n [mobile]=\"mobile\"\r\n [searchTerm]=\"searchTerm\"\r\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\r\n (pinClick)=\"pinClick.emit($event)\"\r\n ></bt-app-finder-app-list>\r\n </div>\r\n <fd-menu\r\n #menu\r\n [mobile]=\"deviceSize === 's'\"\r\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n @if (deviceSize === 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </fd-menu>\r\n } @else {\r\n <bsu-mask></bsu-mask>\r\n }\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--sapBackgroundColor, #f7f7f7);color:var(--sapTextColor, #32363a)}:host ::ng-deep .fd-list__title{line-height:1.5rem}.wrapper{display:flex;flex-direction:column}fd-toolbar{width:100%}::ng-deep span.fd-toolbar__spacer{display:none}.app-groups{background-color:var(--sapBaseColor);height:100%}\n"] }]
|
|
1586
1754
|
}], propDecorators: { appGroups: [{
|
|
1587
1755
|
type: Input
|
|
1588
1756
|
}], deviceSize: [{
|
|
@@ -1816,10 +1984,14 @@ class TilesViewerService {
|
|
|
1816
1984
|
});
|
|
1817
1985
|
}
|
|
1818
1986
|
loadAllAppTileGroups() {
|
|
1819
|
-
|
|
1987
|
+
// گاردِ کش را «قبل» از set کردنِ loading چک میکنیم؛ در غیر این صورت روی هر re-initِ
|
|
1988
|
+
// صفحهی launchpad (که دیگر route-reuse نمیشود)، loading روی true گیر میکرد چون بلافاصله
|
|
1989
|
+
// return میشود و set(false) اجرا نمیشود. (فعلاً بیاثر بود چون این سیگنال رندر نمیشود،
|
|
1990
|
+
// اما نگهداشتنِ state درست جلوی باگِ آینده را میگیرد.)
|
|
1820
1991
|
if (this.tilesStore.allAppsLoading()) {
|
|
1821
1992
|
return;
|
|
1822
1993
|
}
|
|
1994
|
+
this.tilesStore.loading.set(true);
|
|
1823
1995
|
this.tilesApi
|
|
1824
1996
|
.loadAllAppTileGroups()
|
|
1825
1997
|
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
@@ -1989,9 +2161,20 @@ class TilesViewerContainerController extends BaseController {
|
|
|
1989
2161
|
if (appTileGroup) {
|
|
1990
2162
|
const lastTab = tabPanels.find((c) => c.label() === appTileGroup?.navigatorTitle);
|
|
1991
2163
|
if (lastTab && selectedTabTitle !== lastTab.label()) {
|
|
2164
|
+
// تبِ ذخیرهشده با تبِ auto-selectشده فرق دارد → انتخابش کن؛ این خودش دوباره
|
|
2165
|
+
// onSelectedTabChange را (با firstSelected=false) صدا میزند و تایلهایش را لود میکند.
|
|
1992
2166
|
appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);
|
|
1993
2167
|
tabbarComponent.selectTab(lastTab.id());
|
|
1994
2168
|
}
|
|
2169
|
+
else {
|
|
2170
|
+
// تبِ ذخیرهشده همان تبِ اولِ auto-selectشده است (مثلاً «مورد علاقه» که تبِ اول است).
|
|
2171
|
+
// در این حالت onSelectedTabChangeِ دومی نمیآید، پس همینجا تایلهایش را لود کن؛
|
|
2172
|
+
// در غیر این صورت روی reload، این تب با اسپینرِ گیرکرده و بدونِ تایل میماند.
|
|
2173
|
+
this.setSelectedTab(appTileGroup);
|
|
2174
|
+
if (!this._tilesService.isAppTileGroupTilesLoaded(appTileGroup.Id)) {
|
|
2175
|
+
this.loadAppTileGroup(appTileGroup);
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
1995
2178
|
return;
|
|
1996
2179
|
}
|
|
1997
2180
|
}
|
|
@@ -2195,7 +2378,7 @@ class DynamicTileGroupComponent extends BaseDynamicComponent {
|
|
|
2195
2378
|
super.ngOnChanges(changes);
|
|
2196
2379
|
const { appTileGroup } = changes;
|
|
2197
2380
|
if (appTileGroup && !appTileGroup.firstChange) {
|
|
2198
|
-
this._renderComponentInstance();
|
|
2381
|
+
// this._renderComponentInstance();
|
|
2199
2382
|
}
|
|
2200
2383
|
else if (this._component) {
|
|
2201
2384
|
this._component.instance.ngOnChanges(changes);
|
|
@@ -2317,7 +2500,12 @@ class TilesViewerComponent extends BaseComponent {
|
|
|
2317
2500
|
}
|
|
2318
2501
|
}
|
|
2319
2502
|
onSelectedTabChange(selectedTab) {
|
|
2320
|
-
|
|
2503
|
+
// _firstSelected باید در «اولین» فراخوانیِ خودکارِ تب (بعد از هر init/re-init) true بماند تا
|
|
2504
|
+
// منطقِ restore (انتخابِ تبِ ذخیرهشده در localStorage توسطِ container) اجرا شود؛ فقط از
|
|
2505
|
+
// فراخوانیِ دوم به بعد — که selectedTabTitle قبلاً ست شده و یعنی تغییرِ واقعیِ کاربر — false شود.
|
|
2506
|
+
// پیشتر این شرط برعکس بود؛ وقتی صفحهی launchpad دیگر route-reuse نمیشود و روی بستنِ فرم/گزارش
|
|
2507
|
+
// دوباره init میشود، تبِ انتخابیِ کاربر گم و به تبِ اول ریست میشد.
|
|
2508
|
+
if (this.selectedTabTitle) {
|
|
2321
2509
|
this._firstSelected = false;
|
|
2322
2510
|
}
|
|
2323
2511
|
const selectedTabTitle = selectedTab.label || '';
|
|
@@ -2376,11 +2564,11 @@ class TilesViewerComponent extends BaseComponent {
|
|
|
2376
2564
|
}
|
|
2377
2565
|
}
|
|
2378
2566
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TilesViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2379
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TilesViewerComponent, isStandalone: false, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", defaultTab: "defaultTab", tabsBackColor: "tabsBackColor", stackContent: "stackContent", iconTabType: "iconTabType", 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", changeGroupAppTileClick: "changeGroupAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "class.tiles-viewer": "this._cls", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: IconTabBarComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @let group =\r\n groupById(appTileGroup.Id)(); @if (group && (edit || group.navigatorVisible)) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"group.Id\"\r\n [color]=\"$safeNavigationMigration(group.Color?.$Caption)\"\r\n [icon]=\"group.IconFont\"\r\n [iconFont]=\"$safeNavigationMigration(group.IconFontName?.$Caption)\"\r\n [label]=\"group.navigatorTitle | bbbTranslate\"\r\n [title]=\"group.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"group.Id\" cdkScrollable [scrollPersist]=\"group.Id\">\r\n <bt-dynamic-tile-group\r\n [component]=\"group.Component?.Selector ? group.Component : defaultTileGroupComponent\"\r\n [parameters]=\"$safeNavigationMigration(group.Component?.Settings)\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"group\"\r\n [visible]=\"group.navigatorVisible\"\r\n [childrenAppTileGroup]=\"groupChildrenById(group.Id)()\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"group.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"onHideAppTileClick($event)\"\r\n (changeGroupAppTileClick)=\"changeGroupAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media(min-width:1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media(max-width:599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i2$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i2$3.BarComponent, selector: "[fd-bar]", inputs: ["barDesign", "inPage", "inHomePage", "clear", "size", "initialSuggestionTitle", "initialSuggestionSubline", "role"] }, { kind: "directive", type: i2$3.BarRightDirective, selector: "[fd-bar-right]", inputs: ["stackContentsVertically"] }, { kind: "component", type: i2$3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$2.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i4$2.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "subtitleHeadingLevel", "titleId"] }, { kind: "component", type: i4$2.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i4$2.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i4$2.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i4$2.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i3$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id", "disabled", "unitDescription", "independent"] }, { kind: "component", type: i6$1.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "id", "required", "checked", "semantic", "ariaLabel", "ariaLabelledBy"], outputs: ["checkedChange"] }, { kind: "component", type: i7$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "ariaOrientation", "id"] }, { kind: "directive", type: i7$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8$1.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "tabHeadingLevel", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "settings", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i8$1.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "directive", type: i5.ScrollPersistDirective, selector: "[scrollPersist]", inputs: ["scrollPersist"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "component", type: DynamicTileGroupComponent, selector: "bt-dynamic-tile-group,[dynamictilegroup]", inputs: ["appTileGroup", "tabRef", "stackContent", "cssStyles", "edit", "visible", "rtl", "childrenAppTileGroup", "isAppTileSubGroup", "deviceSize", "isLast"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "changeGroupAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2567
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TilesViewerComponent, isStandalone: false, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", defaultTab: "defaultTab", tabsBackColor: "tabsBackColor", stackContent: "stackContent", iconTabType: "iconTabType", 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", changeGroupAppTileClick: "changeGroupAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "class.tiles-viewer": "this._cls", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: IconTabBarComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @let group =\r\n groupById(appTileGroup.Id)(); @if (group && (edit || group.navigatorVisible)) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"group.Id\"\r\n [color]=\"group.Color?.$Caption\"\r\n [icon]=\"group.IconFont\"\r\n [iconFont]=\"group.IconFontName?.$Caption\"\r\n [label]=\"group.navigatorTitle | bbbTranslate\"\r\n [title]=\"group.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"group.Id\" cdkScrollable [scrollPersist]=\"group.Id\">\r\n <bt-dynamic-tile-group\r\n [component]=\"group.Component?.Selector ? group.Component : defaultTileGroupComponent\"\r\n [parameters]=\"group.Component?.Settings\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"group\"\r\n [visible]=\"group.navigatorVisible\"\r\n [childrenAppTileGroup]=\"groupChildrenById(group.Id)()\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"group.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"onHideAppTileClick($event)\"\r\n (changeGroupAppTileClick)=\"changeGroupAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media(min-width:1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media(max-width:599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i2$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i2$3.BarComponent, selector: "[fd-bar]", inputs: ["barDesign", "inPage", "inHomePage", "clear", "size", "initialSuggestionTitle", "initialSuggestionSubline", "role"] }, { kind: "directive", type: i2$3.BarRightDirective, selector: "[fd-bar-right]", inputs: ["stackContentsVertically"] }, { kind: "component", type: i2$3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$2.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i4$2.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "subtitleHeadingLevel", "titleId"] }, { kind: "component", type: i4$2.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i4$2.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i4$2.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i4$2.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i3$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id", "disabled", "unitDescription", "independent"] }, { kind: "component", type: i6$1.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "id", "required", "checked", "semantic", "ariaLabel", "ariaLabelledBy"], outputs: ["checkedChange"] }, { kind: "component", type: i7$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "ariaOrientation", "id"] }, { kind: "directive", type: i7$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8$1.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "tabHeadingLevel", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "settings", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i8$1.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "directive", type: i5.ScrollPersistDirective, selector: "[scrollPersist]", inputs: ["scrollPersist"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "component", type: DynamicTileGroupComponent, selector: "bt-dynamic-tile-group,[dynamictilegroup]", inputs: ["appTileGroup", "tabRef", "stackContent", "cssStyles", "edit", "visible", "rtl", "childrenAppTileGroup", "isAppTileSubGroup", "deviceSize", "isLast"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "changeGroupAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2380
2568
|
}
|
|
2381
2569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TilesViewerComponent, decorators: [{
|
|
2382
2570
|
type: Component,
|
|
2383
|
-
args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @let group =\r\n groupById(appTileGroup.Id)(); @if (group && (edit || group.navigatorVisible)) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"group.Id\"\r\n [color]=\"
|
|
2571
|
+
args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @let group =\r\n groupById(appTileGroup.Id)(); @if (group && (edit || group.navigatorVisible)) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"group.Id\"\r\n [color]=\"group.Color?.$Caption\"\r\n [icon]=\"group.IconFont\"\r\n [iconFont]=\"group.IconFontName?.$Caption\"\r\n [label]=\"group.navigatorTitle | bbbTranslate\"\r\n [title]=\"group.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"group.Id\" cdkScrollable [scrollPersist]=\"group.Id\">\r\n <bt-dynamic-tile-group\r\n [component]=\"group.Component?.Selector ? group.Component : defaultTileGroupComponent\"\r\n [parameters]=\"group.Component?.Settings\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"group\"\r\n [visible]=\"group.navigatorVisible\"\r\n [childrenAppTileGroup]=\"groupChildrenById(group.Id)()\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"group.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"onHideAppTileClick($event)\"\r\n (changeGroupAppTileClick)=\"changeGroupAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media(min-width:1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media(max-width:599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"] }]
|
|
2384
2572
|
}], propDecorators: { tabListComponent: [{
|
|
2385
2573
|
type: ViewChild,
|
|
2386
2574
|
args: [IconTabBarComponent]
|
|
@@ -2636,11 +2824,11 @@ class TilesViewerContainerComponent extends ViewBase {
|
|
|
2636
2824
|
onRenameAppTile(appTile) { this.controller.onRenameAppTile(appTile); }
|
|
2637
2825
|
onChangeGroupAppTile(appTile) { this.controller.onChangeGroupAppTile(appTile); }
|
|
2638
2826
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TilesViewerContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2639
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TilesViewerContainerComponent, isStandalone: false, selector: "bt-tiles-viewer-container", usesInheritance: true, ngImport: i0, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async) === true\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"
|
|
2827
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TilesViewerContainerComponent, isStandalone: false, selector: "bt-tiles-viewer-container", usesInheritance: true, ngImport: i0, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async) === true\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"settings?.TabType?.$Caption\"\r\n [class.hideTabs]=\"settings?.HideTabs\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [class.boxShadow]=\"settings?.BoxShadow\"\r\n [class.tabsBackColor]=\"settings?.TabsBackColor\"\r\n cssRootVariable\r\n [cssVariableValue]=\"settings?.TabsBackColor\"\r\n [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n [edit]=\"(edit$ | async) === true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [stackContent]=\"(stackContent$ | async) === true\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [defaultTab]=\"selectedAppGroupId\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n (changeGroupAppTileClick)=\"onChangeGroupAppTile($event)\"\r\n ></bt-tiles-viewer>\r\n</ng-template>\r\n<ng-template #megamenu>\r\n <bt-tiles-viewer-megamenu\r\n darkClass\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n (loadAppTileGroup)=\"onLoadAppTileGroup($event)\"\r\n ></bt-tiles-viewer-megamenu>\r\n</ng-template>\r\n} @else {\r\n<bsu-no-data></bsu-no-data>\r\n} } @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DynamicRootVariableDirective, selector: "[cssRootVariable]", inputs: ["cssVariableName", "cssVariableValue", "disable"], exportAs: ["cssRootVariable"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i3.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "directive", type: i3.DarkClassDirective, selector: "[darkClass]" }, { kind: "component", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: ["appTileGroups", "loading", "edit", "rtl", "defaultTab", "tabsBackColor", "stackContent", "iconTabType", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["stackContentChange", "closeEditHome", "save", "listDropped", "tabChanged", "toggleGroup", "resetGroup", "deleteGroup", "hideAppTileClick", "renameAppTileClick", "changeGroupAppTileClick", "tilesDropped"] }, { kind: "component", type: TilesViewerMegamenuComponent, selector: "bt-tiles-viewer-megamenu", inputs: ["appTileGroups", "loading", "rtl", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["loadAppTileGroup"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2640
2828
|
}
|
|
2641
2829
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TilesViewerContainerComponent, decorators: [{
|
|
2642
2830
|
type: Component,
|
|
2643
|
-
args: [{ selector: 'bt-tiles-viewer-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async) === true\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"
|
|
2831
|
+
args: [{ selector: 'bt-tiles-viewer-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async) === true\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"settings?.TabType?.$Caption\"\r\n [class.hideTabs]=\"settings?.HideTabs\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [class.boxShadow]=\"settings?.BoxShadow\"\r\n [class.tabsBackColor]=\"settings?.TabsBackColor\"\r\n cssRootVariable\r\n [cssVariableValue]=\"settings?.TabsBackColor\"\r\n [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n [edit]=\"(edit$ | async) === true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [stackContent]=\"(stackContent$ | async) === true\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [defaultTab]=\"selectedAppGroupId\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n (changeGroupAppTileClick)=\"onChangeGroupAppTile($event)\"\r\n ></bt-tiles-viewer>\r\n</ng-template>\r\n<ng-template #megamenu>\r\n <bt-tiles-viewer-megamenu\r\n darkClass\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n (loadAppTileGroup)=\"onLoadAppTileGroup($event)\"\r\n ></bt-tiles-viewer-megamenu>\r\n</ng-template>\r\n} @else {\r\n<bsu-no-data></bsu-no-data>\r\n} } @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"] }]
|
|
2644
2832
|
}] });
|
|
2645
2833
|
|
|
2646
2834
|
class MicroTileChartBulletComponent extends BaseBtTileComponent {
|
|
@@ -2655,7 +2843,7 @@ class MicroTileChartBulletComponent extends BaseBtTileComponent {
|
|
|
2655
2843
|
this.isDelta = this.settings.IsDelta;
|
|
2656
2844
|
}
|
|
2657
2845
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartBulletComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2658
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: MicroTileChartBulletComponent, isStandalone: false, selector: "bt-micro-tile-chart-bullet", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (double) {\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n }\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host ::ng-deep .fd-tile__content{display:flex;column-gap:20px}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartBulletComponent, selector: "be-micro-chart-bullet", inputs: ["
|
|
2846
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: MicroTileChartBulletComponent, isStandalone: false, selector: "bt-micro-tile-chart-bullet", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (double) {\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n }\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host ::ng-deep .fd-tile__content{display:flex;column-gap:20px}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartBulletComponent, selector: "be-micro-chart-bullet", inputs: ["chartInstanceSettings", "parentMoId", "range", "value", "forecast", "target", "suffix", "separatorLines", "isDelta"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2659
2847
|
}
|
|
2660
2848
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartBulletComponent, decorators: [{
|
|
2661
2849
|
type: Component,
|
|
@@ -2693,11 +2881,11 @@ class NewsTileComponent extends BaseBtTileComponent {
|
|
|
2693
2881
|
this.activeNews = newsMo;
|
|
2694
2882
|
}
|
|
2695
2883
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NewsTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2696
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: NewsTileComponent, isStandalone: false, selector: "bt-news-tile", viewQueries: [{ propertyName: "carouselComponent", first: true, predicate: CarouselComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{
|
|
2884
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: NewsTileComponent, isStandalone: false, selector: "bt-news-tile", viewQueries: [{ propertyName: "carouselComponent", first: true, predicate: CarouselComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n loading=\"lazy\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$5.CarouselComponent, selector: "fd-carousel", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "pageIndicatorsOrientation", "height", "width", "loop", "navigation", "navigatorInPageIndicator", "numericIndicator", "pageIndicatorContainer", "pageIndicator", "resourceStrings", "slideTransitionDuration", "swipeEnabled", "vertical", "noPaginationContainerBorder", "contentBackground", "pageIndicatorBackground", "visibleSlidesCount"], outputs: ["slideChange"] }, { kind: "component", type: i2$5.CarouselItemComponent, selector: "fd-carousel-item", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "loading", "title", "initialHeight", "initialWidth", "value"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "directive", type: i5.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2697
2885
|
}
|
|
2698
2886
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NewsTileComponent, decorators: [{
|
|
2699
2887
|
type: Component,
|
|
2700
|
-
args: [{ selector: 'bt-news-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{
|
|
2888
|
+
args: [{ selector: 'bt-news-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n loading=\"lazy\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"] }]
|
|
2701
2889
|
}], propDecorators: { carouselComponent: [{
|
|
2702
2890
|
type: ViewChild,
|
|
2703
2891
|
args: [CarouselComponent]
|
|
@@ -2720,7 +2908,7 @@ class MicroTileChartComparisonComponent extends BaseBtTileComponent {
|
|
|
2720
2908
|
};
|
|
2721
2909
|
}
|
|
2722
2910
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartComparisonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2723
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartComparisonComponent, isStandalone: false, selector: "bt-micro-tile-chart-comparison", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartComparisonComponent, selector: "be-micro-chart-comparison", inputs: ["
|
|
2911
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartComparisonComponent, isStandalone: false, selector: "bt-micro-tile-chart-comparison", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartComparisonComponent, selector: "be-micro-chart-comparison", inputs: ["chartInstanceSettings", "parentMoId", "size"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2724
2912
|
}
|
|
2725
2913
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartComparisonComponent, decorators: [{
|
|
2726
2914
|
type: Component,
|
|
@@ -2740,7 +2928,7 @@ class MicroTileChartStackbarComponent extends BaseBtTileComponent {
|
|
|
2740
2928
|
};
|
|
2741
2929
|
}
|
|
2742
2930
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartStackbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2743
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartStackbarComponent, isStandalone: false, selector: "bt-micro-tile-chart-stackbar", 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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-stackbar [data]=\"charData\"></be-micro-chart-stackbar>\r\n </div>\r\n</bt-tile>\r\n", styles: [".chart{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartStackbarComponent, selector: "be-micro-chart-stackbar", inputs: ["
|
|
2931
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartStackbarComponent, isStandalone: false, selector: "bt-micro-tile-chart-stackbar", 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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-stackbar [data]=\"charData\"></be-micro-chart-stackbar>\r\n </div>\r\n</bt-tile>\r\n", styles: [".chart{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartStackbarComponent, selector: "be-micro-chart-stackbar", inputs: ["chartInstanceSettings", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2744
2932
|
}
|
|
2745
2933
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartStackbarComponent, decorators: [{
|
|
2746
2934
|
type: Component,
|
|
@@ -2765,7 +2953,7 @@ class MicroTileChartLineComponent extends BaseBtTileComponent {
|
|
|
2765
2953
|
};
|
|
2766
2954
|
}
|
|
2767
2955
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartLineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2768
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartLineComponent, isStandalone: false, selector: "bt-micro-tile-chart-line", 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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-line [line]=\"chartData\"></be-micro-chart-line>\r\n </div>\r\n</bt-tile>\r\n", styles: ["be-micro-chart-bar{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartLineComponent, selector: "be-micro-chart-line", inputs: ["
|
|
2956
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartLineComponent, isStandalone: false, selector: "bt-micro-tile-chart-line", 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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-line [line]=\"chartData\"></be-micro-chart-line>\r\n </div>\r\n</bt-tile>\r\n", styles: ["be-micro-chart-bar{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartLineComponent, selector: "be-micro-chart-line", inputs: ["chartInstanceSettings", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2769
2957
|
}
|
|
2770
2958
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartLineComponent, decorators: [{
|
|
2771
2959
|
type: Component,
|
|
@@ -2778,7 +2966,7 @@ class MicroTileChartCircularComponent extends BaseBtTileComponent {
|
|
|
2778
2966
|
this.chartData = 70;
|
|
2779
2967
|
}
|
|
2780
2968
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartCircularComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2781
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartCircularComponent, isStandalone: false, selector: "bt-micro-tile-chart-circular", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartCircularComponent, selector: "be-micro-chart-circular", inputs: ["
|
|
2969
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartCircularComponent, isStandalone: false, selector: "bt-micro-tile-chart-circular", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartCircularComponent, selector: "be-micro-chart-circular", inputs: ["chartInstanceSettings", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2782
2970
|
}
|
|
2783
2971
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartCircularComponent, decorators: [{
|
|
2784
2972
|
type: Component,
|
|
@@ -2811,20 +2999,20 @@ class MicroTileChartAreaComponent extends BaseBtTileComponent {
|
|
|
2811
2999
|
};
|
|
2812
3000
|
}
|
|
2813
3001
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2814
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartAreaComponent, isStandalone: false, selector: "bt-micro-tile-chart-area", 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 [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [
|
|
3002
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MicroTileChartAreaComponent, isStandalone: false, selector: "bt-micro-tile-chart-area", 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 [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartInstanceSettings]=\"settings\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}be-micro-chart-area{display:flex}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartAreaComponent, selector: "be-micro-chart-area", inputs: ["chartInstanceSettings", "parentMoId", "size", "chartData"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2815
3003
|
}
|
|
2816
3004
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartAreaComponent, decorators: [{
|
|
2817
3005
|
type: Component,
|
|
2818
|
-
args: [{ selector: 'bt-micro-tile-chart-area', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [
|
|
3006
|
+
args: [{ selector: 'bt-micro-tile-chart-area', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartInstanceSettings]=\"settings\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}be-micro-chart-area{display:flex}\n"] }]
|
|
2819
3007
|
}] });
|
|
2820
3008
|
|
|
2821
3009
|
class MicroTileChartBarComponent extends BaseBtTileComponent {
|
|
2822
3010
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2823
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: MicroTileChartBarComponent, isStandalone: false, selector: "bt-micro-tile-chart-bar", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [
|
|
3011
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: MicroTileChartBarComponent, isStandalone: false, selector: "bt-micro-tile-chart-bar", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [chartInstanceSettings]=\"settings\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-bar>\r\n }@else{\r\n <div>chart defined</div>\r\n }\r\n </div>\r\n</bt-tile>\r\n<ng-template #footerTpl></ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$4.MicroChartBarComponent, selector: "be-micro-chart-bar", inputs: ["chartInstanceSettings", "parentMoId", "size", "extraData"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2824
3012
|
}
|
|
2825
3013
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MicroTileChartBarComponent, decorators: [{
|
|
2826
3014
|
type: Component,
|
|
2827
|
-
args: [{ selector: 'bt-micro-tile-chart-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [
|
|
3015
|
+
args: [{ selector: 'bt-micro-tile-chart-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [chartInstanceSettings]=\"settings\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-bar>\r\n }@else{\r\n <div>chart defined</div>\r\n }\r\n </div>\r\n</bt-tile>\r\n<ng-template #footerTpl></ng-template>\r\n", styles: [":host{display:block}\n"] }]
|
|
2828
3016
|
}] });
|
|
2829
3017
|
|
|
2830
3018
|
class AppFinderService {
|
|
@@ -3086,11 +3274,11 @@ class NumericTileComponent extends BaseBtTileComponent {
|
|
|
3086
3274
|
return this.settings.ScaleArrowIcon;
|
|
3087
3275
|
}
|
|
3088
3276
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NumericTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3089
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: NumericTileComponent, isStandalone: false, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "glyph"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "directive", type: i1$1.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "directive", type: i1$1.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1$1.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state"] }, { kind: "directive", type: i1$1.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3277
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: NumericTileComponent, isStandalone: false, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [canReload]=\"data | tileProp: 'CanReload':parameters\"\r\n [showUpdateTime]=\"data | tileProp: 'ShowUpdateTime':parameters\" \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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"reload()\"\r\n\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "glyph"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "directive", type: i1$1.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "directive", type: i1$1.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1$1.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state"] }, { kind: "directive", type: i1$1.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3090
3278
|
}
|
|
3091
3279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NumericTileComponent, decorators: [{
|
|
3092
3280
|
type: Component,
|
|
3093
|
-
args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
|
|
3281
|
+
args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [canReload]=\"data | tileProp: 'CanReload':parameters\"\r\n [showUpdateTime]=\"data | tileProp: 'ShowUpdateTime':parameters\" \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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"reload()\"\r\n\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
|
|
3094
3282
|
}] });
|
|
3095
3283
|
|
|
3096
3284
|
class LogoTileComponent extends BaseBtTileComponent {
|
|
@@ -3102,7 +3290,7 @@ class LogoTileComponent extends BaseBtTileComponent {
|
|
|
3102
3290
|
return fileId;
|
|
3103
3291
|
}
|
|
3104
3292
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LogoTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: LogoTileComponent, isStandalone: false, selector: "bt-logo-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" loading=\"lazy\"/>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileLogoDirective, selector: "[fdTileLogo], [fd-tile-logo]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: LogoTileComponent, isStandalone: false, selector: "bt-logo-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" loading=\"lazy\"/>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileLogoDirective, selector: "[fdTileLogo], [fd-tile-logo]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3106
3294
|
}
|
|
3107
3295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LogoTileComponent, decorators: [{
|
|
3108
3296
|
type: Component,
|
|
@@ -3120,17 +3308,17 @@ class FeedTileComponent extends BaseBtTileComponent {
|
|
|
3120
3308
|
return this.settings.ContentByLine;
|
|
3121
3309
|
}
|
|
3122
3310
|
get kpi() {
|
|
3123
|
-
return this.settings.ContentKpi;
|
|
3311
|
+
return this.settings.ContentKpiTransformer || this.settings.ContentKpi;
|
|
3124
3312
|
}
|
|
3125
3313
|
get state() {
|
|
3126
3314
|
return this.settings.State;
|
|
3127
3315
|
}
|
|
3128
3316
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FeedTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FeedTileComponent, isStandalone: false, selector: "bt-feed-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'feed'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [twoColumn]=\"twoColumn\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\r\n <div fd-tile-content-byline>{{ byline }}</div>\r\n </div>\r\n <div fd-tile-section>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n } @else {\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileContentTextDirective, selector: "[fdTileContentText], [fd-tile-content-text]" }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "glyph"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FeedTileComponent, isStandalone: false, selector: "bt-feed-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'feed'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [canReload]=\"data | tileProp: 'CanReload':parameters\"\r\n [showUpdateTime]=\"data | tileProp: 'ShowUpdateTime':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 (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content [twoColumn]=\"twoColumn\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\r\n <div fd-tile-content-byline>{{ byline }}</div>\r\n </div>\r\n <div fd-tile-section>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n } @else {\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileContentTextDirective, selector: "[fdTileContentText], [fd-tile-content-text]" }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "glyph"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3130
3318
|
}
|
|
3131
3319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FeedTileComponent, decorators: [{
|
|
3132
3320
|
type: Component,
|
|
3133
|
-
args: [{ selector: 'bt-feed-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'feed'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [twoColumn]=\"twoColumn\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\r\n <div fd-tile-content-byline>{{ byline }}</div>\r\n </div>\r\n <div fd-tile-section>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n } @else {\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n" }]
|
|
3321
|
+
args: [{ selector: 'bt-feed-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'feed'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [canReload]=\"data | tileProp: 'CanReload':parameters\"\r\n [showUpdateTime]=\"data | tileProp: 'ShowUpdateTime':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 (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content [twoColumn]=\"twoColumn\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\r\n <div fd-tile-content-byline>{{ byline }}</div>\r\n </div>\r\n <div fd-tile-section>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n } @else {\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n" }]
|
|
3134
3322
|
}] });
|
|
3135
3323
|
|
|
3136
3324
|
class SimpleTileComponent extends BaseBtTileComponent {
|
|
@@ -3146,11 +3334,11 @@ class SimpleTileComponent extends BaseBtTileComponent {
|
|
|
3146
3334
|
this.iconColor = this.settings.IconColor;
|
|
3147
3335
|
}
|
|
3148
3336
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SimpleTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SimpleTileComponent, isStandalone: false, 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 [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3337
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SimpleTileComponent, isStandalone: false, 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 [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["glyph", "glyphFont", "ariaLabel"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3150
3338
|
}
|
|
3151
3339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SimpleTileComponent, decorators: [{
|
|
3152
3340
|
type: Component,
|
|
3153
|
-
args: [{ selector: 'bt-simple-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"] }]
|
|
3341
|
+
args: [{ selector: 'bt-simple-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"] }]
|
|
3154
3342
|
}] });
|
|
3155
3343
|
|
|
3156
3344
|
class ReportTileComponent extends BaseBtTileComponent {
|
|
@@ -3174,18 +3362,28 @@ class ReportTileComponent extends BaseBtTileComponent {
|
|
|
3174
3362
|
DataOnly: false
|
|
3175
3363
|
});
|
|
3176
3364
|
}
|
|
3365
|
+
onReloadClick() {
|
|
3366
|
+
this.refreshTile();
|
|
3367
|
+
}
|
|
3368
|
+
refreshTile() {
|
|
3369
|
+
this.reload();
|
|
3370
|
+
this.reportContainer.ReloadReport();
|
|
3371
|
+
}
|
|
3177
3372
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ReportTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3178
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ReportTileComponent, isStandalone: false, selector: "bt-report-tile", host: { properties: { "style.width": "this._width", "style.height": "this._height" } }, usesInheritance: true, ngImport: i0, template: "<bnrc-report-container [settings]=\"reportSettings()\"> </bnrc-report-container
|
|
3373
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ReportTileComponent, isStandalone: false, selector: "bt-report-tile", host: { properties: { "style.width": "this._width", "style.height": "this._height" } }, viewQueries: [{ propertyName: "reportContainer", first: true, predicate: ReportContainerComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [canReload]=\"data | tileProp: 'CanReload':parameters\"\r\n [showUpdateTime]=\"data | tileProp: 'ShowUpdateTime':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"onReloadClick()\"\r\n>\r\n <div fd-tile-content>\r\n <bnrc-report-container [settings]=\"reportSettings()\"> </bnrc-report-container>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}:host bt-tile ::ng-deep>fd-tile{max-width:100%!important;width:100%!important;height:auto;max-height:fit-content!important}:host bt-tile ::ng-deep>fd-tile .fd-tile__content{max-width:100%!important;width:100%!important;height:auto;max-height:fit-content!important}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i5.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3179
3374
|
}
|
|
3180
3375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ReportTileComponent, decorators: [{
|
|
3181
3376
|
type: Component,
|
|
3182
|
-
args: [{ selector: 'bt-report-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bnrc-report-container [settings]=\"reportSettings()\"> </bnrc-report-container
|
|
3377
|
+
args: [{ selector: 'bt-report-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [canReload]=\"data | tileProp: 'CanReload':parameters\"\r\n [showUpdateTime]=\"data | tileProp: 'ShowUpdateTime':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':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 (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"onReloadClick()\"\r\n>\r\n <div fd-tile-content>\r\n <bnrc-report-container [settings]=\"reportSettings()\"> </bnrc-report-container>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}:host bt-tile ::ng-deep>fd-tile{max-width:100%!important;width:100%!important;height:auto;max-height:fit-content!important}:host bt-tile ::ng-deep>fd-tile .fd-tile__content{max-width:100%!important;width:100%!important;height:auto;max-height:fit-content!important}\n"] }]
|
|
3183
3378
|
}], propDecorators: { _width: [{
|
|
3184
3379
|
type: HostBinding,
|
|
3185
3380
|
args: ['style.width']
|
|
3186
3381
|
}], _height: [{
|
|
3187
3382
|
type: HostBinding,
|
|
3188
3383
|
args: ['style.height']
|
|
3384
|
+
}], reportContainer: [{
|
|
3385
|
+
type: ViewChild,
|
|
3386
|
+
args: [ReportContainerComponent, { static: true }]
|
|
3189
3387
|
}] } });
|
|
3190
3388
|
|
|
3191
3389
|
class ProfileTileComponent extends BaseBtTileComponent {
|
|
@@ -3206,11 +3404,11 @@ class ProfileTileComponent extends BaseBtTileComponent {
|
|
|
3206
3404
|
}
|
|
3207
3405
|
}
|
|
3208
3406
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ProfileTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ProfileTileComponent, isStandalone: false, 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 [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3407
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ProfileTileComponent, isStandalone: false, 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 [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "canReload", "showUpdateTime", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick", "reloadClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3210
3408
|
}
|
|
3211
3409
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ProfileTileComponent, decorators: [{
|
|
3212
3410
|
type: Component,
|
|
3213
|
-
args: [{ selector: 'bt-profile-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"] }]
|
|
3411
|
+
args: [{ selector: 'bt-profile-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n (reloadClick)=\"reload()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"] }]
|
|
3214
3412
|
}] });
|
|
3215
3413
|
|
|
3216
3414
|
class NotificationGroupComponent extends BaseComponent {
|
|
@@ -3607,11 +3805,11 @@ class BarsaShellbarComponent extends BaseComponent {
|
|
|
3607
3805
|
this.cultureChanged.emit(culture);
|
|
3608
3806
|
}
|
|
3609
3807
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BarsaShellbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3610
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: BarsaShellbarComponent, isStandalone: false, selector: "bt-barsa-shellbar", inputs: { showSidebar: "showSidebar", multiLanguages: "multiLanguages", userLoggedIn: "userLoggedIn", settings: "settings", productMenuControl: "productMenuControl", dastoratSarasari: "dastoratSarasari", workflowMenuItems: "workflowMenuItems", groupedCommandMenus: "groupedCommandMenus", deviceSize: "deviceSize", cultures: "cultures", shellbarData: "shellbarData", notificationsUnreadCount: "notificationsUnreadCount", productMenuItems1: "productMenuItems1", bodyClick: "bodyClick", logo: "logo", actions: "actions", userMenu: "userMenu", footerButtons: "footerButtons", productSwitcher: "productSwitcher", subtitle: "subtitle", isMobile: "isMobile", hideShellbarActions: "hideShellbarActions", flatButtons: "flatButtons", isTablet: "isTablet", userInfo: "userInfo", isDesktop: "isDesktop", informativeText: "informativeText", informativeStatus: "informativeStatus", hideProductMenu: "hideProductMenu", enableSearch: "enableSearch", hideNotifications: "hideNotifications", isServiceDesk: "isServiceDesk", isOpenQuickAccess: "isOpenQuickAccess", sideMenuTemplate: "sideMenuTemplate", notificationReport: "notificationReport", profileDynamicCommand: "profileDynamicCommand", profileDynamicCommandText: "profileDynamicCommandText", profileDynamicCommandIcon: "profileDynamicCommandIcon", displayName: "displayName", hideBranding: "hideBranding", showSearchInSystem: "showSearchInSystem", rtl: "rtl", suggestions: "suggestions", date: "date" }, outputs: { appTileGroupChange: "appTileGroupChange", searchItemClick: "searchItemClick", searchInput: "searchInput", isOpenQuickAccessChanged: "isOpenQuickAccessChanged", openNotificationPanel: "openNotificationPanel", openQuickAccessPanel: "openQuickAccessPanel", cultureChanged: "cultureChanged", notifiationActionClick: "notifiationActionClick" }, viewQueries: [{ propertyName: "searchDialogContent", first: true, predicate: ["searchContent"], descendants: true, read: TemplateRef }, { propertyName: "searchDialogSubHeader", first: true, predicate: ["searchSubHeader"], descendants: true, read: TemplateRef }, { propertyName: "shellbar", first: true, predicate: ShellbarComponent$1, descendants: true, static: true }, { 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, usesOnChanges: true, ngImport: i0, template: "<fd-shellbar\r\n [ngClass]=\"deviceSize\"\r\n routeFormChange\r\n (stateChanged)=\"onRouteFormStateChange()\"\r\n [showNavigationButton]=\"sideMenuTemplate || showSidebar ? true : false\"\r\n (navigationButtonClicked)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\r\n [handleBodyClick]=\"true\"\r\n [size]=\"deviceSize === 's' && userLoggedIn ? 'm' : deviceSize\"\r\n>\r\n @if(!hideBranding){\r\n <fd-shellbar-branding [interactiveBranding]=\"true\">\r\n <fd-shellbar-logo>\r\n <a\r\n [style.backgroundImage]=\"\r\n 'url(' + ($safeNavigationMigration(logo?.FileId) | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\r\n \"\r\n href=\"/\"\r\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced tw-bg-center !tw-bg-auto\"\r\n [attr.aria-label]=\"subtitle | bbbTranslate\"\r\n ></a>\r\n </fd-shellbar-logo>\r\n @if(!brandingTitleHidden){\r\n <fd-shellbar-title> {{ subtitle | bbbTranslate }} {{ showVersion ? appVersion : '' }}</fd-shellbar-title>\r\n }\r\n </fd-shellbar-branding>\r\n }\r\n <fd-shellbar-context-area>\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"1\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n <fd-product-switch\r\n fdShellbarHidePriority=\"3\"\r\n [class.hide]=\"!productSwitcher?.length || deviceSize === 's'\"\r\n [restoreFocusOnClose]=\"false\"\r\n >\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\r\n <span\r\n [class.hide]=\"!showSearchInSystem\"\r\n fdShellbarHidePriority=\"4\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"search\"\r\n fdType=\"transparent\"\r\n (click)=\"onOpenSearchDialog()\"\r\n >\r\n </span>\r\n <fd-product-menu\r\n fdShellbarHidePriority=\"2\"\r\n [control]=\"productMenuControl\"\r\n [closePopoverOnSelect]=\"true\"\r\n [items]=\"productMenuItems1\"\r\n [class.hide]=\"!productMenuItems1?.length\"\r\n >\r\n </fd-product-menu>\r\n <fd-shellbar-separator fdshellbarhidepriority=\"5\" style=\"flex-shrink: 0\"></fd-shellbar-separator>\r\n @if(!isCompactShellbar){ @for(dastor of dastoratSarasari; track dastor.label){ @if(dastor.children?.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"dastor.glyph\"\r\n [label]=\"dastor.label | bbbTranslate\"\r\n [fdMenuTrigger]=\"globalCommandMenu\"\r\n ></button>\r\n <fd-menu #globalCommandMenu>\r\n @for(item of dastor.children; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: globalCommandMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #globalSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } @else {\r\n <span\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n [glyph]=\"dastor.glyph\"\r\n class=\"fd-shellbar__button\"\r\n [label]=\"dastor.useImageGlyph ? undefined : (dastor.label | bbbTranslate)\"\r\n [class.shellbar-command-action--image-glyph]=\"dastor.useImageGlyph\"\r\n (click)=\"dastor.callback?.()\"\r\n >\r\n @if(dastor.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"dastor.glyph\"\r\n [alt]=\"dastor.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n <span class=\"shellbar-command-action__label\">{{ dastor.label | bbbTranslate }}</span>\r\n }\r\n </span>\r\n } } @if(workflowMenuItems.length){\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"'Workflow' | bbbTranslate\"\r\n [fdMenu]=\"true\"\r\n [fdMenuTrigger]=\"workflowMenu\"\r\n ></button>\r\n <fd-menu #workflowMenu>\r\n @for(item of workflowMenuItems; track item.key) {\r\n <li fd-menu-item>\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n (click)=\"$event.preventDefault(); workflowMenu.close(); item.callback?.()\"\r\n >\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n }\r\n </fd-menu>\r\n } @for(group of groupedCommandMenus; track group.Caption){\r\n <button fd-button [label]=\"group.Caption | bbbTranslate\" [fdMenu]=\"true\" [fdMenuTrigger]=\"groupMenu\"></button>\r\n <fd-menu #groupMenu>\r\n @for(item of group.Commands; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: groupMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #groupSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n class=\"tw-gap-2\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } } @if(isCompactShellbar && mobileCommandNodes.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"overflow\"\r\n [attr.aria-label]=\"'Commands' | bbbTranslate\"\r\n [title]=\"'Commands' | bbbTranslate\"\r\n [fdMenuTrigger]=\"mobileCommandsMenu\"\r\n ></button>\r\n <fd-menu #mobileCommandsMenu [mobile]=\"true\">\r\n @for(node of mobileCommandNodes; track node.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: node, parentSubmenu: undefined, rootMenu: mobileCommandsMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #mobileCommandTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n }\r\n </fd-shellbar-context-area>\r\n\r\n @if(inputEnableSearch()){\r\n <fdp-search-field\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (inputChange)=\"onSearchInputChange($event)\"\r\n [suggestions]=\"suggestions\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n }\r\n <fd-shellbar-actions\r\n #shellbarActions\r\n (searchOpen)=\"onSearchOpen($event)\"\r\n [class.flat-buttons]=\"flatButtons?.length && !showSearch()\"\r\n >\r\n @if(deviceSize !== 's' && userLoggedIn && date){\r\n <span class=\"bt-shellbar-date\" [title]=\"date.full\">\r\n <fd-icon class=\"bt-shellbar-date__icon\" glyph=\"calendar\" [attr.aria-hidden]=\"true\"></fd-icon>\r\n <span class=\"bt-shellbar-date__text\">{{ date.compact }}</span>\r\n </span>\r\n }\r\n <fd-user-menu>\r\n <fd-user-menu-control>\r\n <fd-avatar\r\n size=\"xs\"\r\n [circle]=\"true\"\r\n [attr.ariaLabel]=\"displayName\"\r\n [image]=\"$safeNavigationMigration(userInfo?.Url)\"\r\n ></fd-avatar>\r\n </fd-user-menu-control>\r\n <fd-user-menu-body>\r\n <div fd-user-menu-header>\r\n <fd-avatar\r\n [circle]=\"true\"\r\n [size]=\"deviceSize\"\r\n [label]=\"userInfo?.Url ? '' : displayName\"\r\n zoomGlyph=\"\"\r\n title=\"Edit avatar\"\r\n [image]=\"$safeNavigationMigration(userInfo?.Url)\"\r\n ></fd-avatar>\r\n <div fd-user-menu-header-container>\r\n <div fd-user-menu-user-name>{{ displayName }}</div>\r\n @for(item of userInfo?.Sublines;track item){\r\n <div fd-user-menu-subline>{{ item }}</div>\r\n }\r\n </div>\r\n @if(profileDynamicCommandText){\r\n <button\r\n fd-button\r\n [label]=\"profileDynamicCommandText || 'Edit' | bbbTranslate\"\r\n [glyph]=\"profileDynamicCommandIcon || 'edit'\"\r\n [attr.ariaLabel]=\"'\u0648\u06CC\u0631\u0627\u06CC\u0634 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644'\"\r\n [dynCommand]=\"profileDynamicCommand\"\r\n bodyClick\r\n ></button>\r\n }\r\n </div>\r\n <div fd-user-menu-content-container>\r\n @if(userMenu?.length){\r\n <fd-panel transparent noRadius [fixed]=\"true\" class=\"hide-panel-header\"> </fd-panel>}\r\n\r\n <fd-user-menu-list>\r\n @for(item of userMenu;track item.text){\r\n <li fd-user-menu-list-item [icon]=\"item.icon\" [text]=\"item.text\" (click)=\"item.callback()\"></li>\r\n }\r\n </fd-user-menu-list>\r\n </div>\r\n </fd-user-menu-body>\r\n\r\n <fd-user-menu-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n @for(item of footerButtons;track item.text){\r\n <button\r\n fd-button\r\n [label]=\"item.text\"\r\n fdType=\"transparent\"\r\n [glyph]=\"item.icon\"\r\n [attr.ariaLabel]=\"item.text\"\r\n (click)=\"item.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n </div>\r\n </fd-user-menu-footer>\r\n </fd-user-menu>\r\n @for (action of actions; track action.label) {\r\n <fd-shellbar-action\r\n [glyph]=\"action.glyph\"\r\n [callback]=\"action.callback\"\r\n [label]=\"action.label\"\r\n [notificationLabel]=\"action.notificationLabel\"\r\n [notificationCount]=\"action.notificationCount\"\r\n >\r\n </fd-shellbar-action>\r\n\r\n } @if (!settings?.HideLanguage && multiLanguages && userLoggedIn) {\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @if (deviceSize !== 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if (deviceSize === 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notifications' | bbbTranslate\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\r\n [callback]=\"onBellNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if(flatButtons?.length){\r\n <div class=\"tw-flex tw-gap-1\">\r\n @if (!settings?.HideLanguage && multiLanguages){\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @for(btn of flatButtons;track btn.label){\r\n <button\r\n fd-button\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\r\n fdType=\"emphasized\"\r\n (click)=\"btn.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n </fd-shellbar-actions>\r\n <fd-popover\r\n [(isOpen)]=\"isOpenNotificatoin\"\r\n [noArrow]=\"true\"\r\n placement=\"top-end\"\r\n title=\"Notification Popover\"\r\n [appendTo]=\"el\"\r\n [mobile]=\"false\"\r\n #popoverComponent\r\n >\r\n <fd-popover-control>\r\n <!-- <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action> -->\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\r\n @if(isOpenNotificatoin){\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-shellbar>\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<div\r\n *ngIf=\"sideMenuTemplate\"\r\n class=\"sidemenu-h tw-fixed tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\r\n [class.tw-w-screen]=\"isMobile\"\r\n [class.-tw-right-full]=\"isMobile\"\r\n [class.tw-w-96]=\"!isMobile\"\r\n [class.-tw-right-96]=\"!isMobile && rtl\"\r\n [class.!tw-right-0]=\"rtl && isOpenQuickAccess\"\r\n [class.-tw-left-96]=\"!isMobile && !rtl\"\r\n [class.!tw-left-0]=\"!rtl && isOpenQuickAccess\"\r\n (click)=\"$event.stopPropagation()\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\r\n</div>\r\n\r\n<fd-menu #menu>\r\n <ul fd-list>\r\n @for (culture of cultures | keyvalue; track culture) {\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\r\n <span fd-list-title class=\"tw-flex tw-items-center tw-gap-1\">\r\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" loading=\"lazy\" />\r\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</fd-menu>\r\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\r\n <bt-notification-group\r\n [notificationReport]=\"notificationReport\"\r\n [notificationCount]=\"notificationCount\"\r\n (actionClick)=\"popoverComponent.close()\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bt-notification-group>\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"mobile\">\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n<ng-template #searchContent>\r\n <ul fd-list [byline]=\"true\">\r\n @for (item of (suggestions | suggestionsFilter:selectedSuggestionFiltertype) ; track item.data.path) {\r\n <li\r\n fd-list-item\r\n [interactive]=\"true\"\r\n (click)=\"onSearchItemClick(item)\"\r\n class=\"!tw-ps-1\"\r\n [class.!tw-bg-blue-600]=\"item.data.source === 'Report'\"\r\n [class.!tw-bg-green-600]=\"item.data.source === 'Command'\"\r\n [class.!tw-bg-gray-600]=\"item.data.source !== 'Command' && item.data.source !== 'Report'\"\r\n >\r\n <a fd-list-link [attr.href]=\"!item.data.url ? null : item.data.url\" (click)=\"onSearchLink(item, $event)\">\r\n <div fd-list-content>\r\n <div fd-list-title>{{ item.value }}</div>\r\n <div fd-list-byline>{{ item.data.path }}</div>\r\n </div>\r\n <span fd-list-secondary>\r\n @if(item.data.canPin){\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"'AddToFavorite' | bbbTranslate\"\r\n [title]=\"'Add To Favorite' | bbbTranslate\"\r\n fd-button\r\n glyph=\"shortcut\"\r\n (click)=\"oFavoriteLink(item, $event)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</ng-template>\r\n<ng-template #searchSubHeader>\r\n <div class=\"tw-flex tw-flex-col tw-w-full\">\r\n <fd-input-group\r\n glyph=\"search\"\r\n fdkInitialFocus\r\n glyphAriaLabel=\"Submit\"\r\n [button]=\"true\"\r\n (input)=\"onSearchInputChange($event)\"\r\n >\r\n </fd-input-group>\r\n @if(suggestions.length){\r\n <div class=\"tw-flex tw-gap-4 tw-overflow-x-auto suggestion-filters-cat tw-pb-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0647\u0645\u0647', count: (suggestions | suggestionsCountFilter: 'all'), type: '' }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645', count: (suggestions | suggestionsCountFilter: 'subsystem'), type: '' }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n count: (suggestions | suggestionsCountFilter: 'navgroup'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0632\u0627\u0631\u0634\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'report'),\r\n type: 'information'\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u062F\u0633\u062A\u0648\u0631\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'command'),\r\n type: 'success'\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template #catTag let-name=\"name\" let-count=\"count\" let-type=\"type\">\r\n @if(count && count!==' '){\r\n <div fd-generic-tag [name]=\"name\" [value]=\"count\" (click)=\"selectedSuggestionFiltertype = name\" [type]=\"type\"></div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative}:host fd-user-menu{background-color:transparent}:host fd-shellbar-actions.flat-buttons{flex-direction:row-reverse}:host.hide-user-menu fd-shellbar-actions ::ng-deep .fd-user-menu{display:none}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep .fd-shellbar--s .fd-shellbar__title{display:block;max-width:10rem;text-wrap:auto;font-size:.8rem}: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 ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem;margin:0!important}.extra-button-wrapper{display:flex;height:100%;align-items:center;position:absolute;left:10px;top:0;gap:.285rem}.bt-shellbar-date{display:inline-flex;align-items:center;gap:.285rem;flex-shrink:0;white-space:nowrap;padding:0 .5rem;font-size:.875rem;line-height:1;color:var(--sapShell_InteractiveTextColor, #d1e8ff);cursor:default;-webkit-user-select:none;user-select:none}.bt-shellbar-date__icon{font-size:1rem;opacity:.85}.bt-shellbar-date__text{font-variant-numeric:tabular-nums}.hide-panel-header ::ng-deep .fd-panel__header{min-height:auto;height:auto}:host ::ng-deep .shellbar-command-action--image-glyph{gap:.375rem}:host ::ng-deep .shellbar-command-action--image-glyph ::ng-deep fd-icon{display:none}.shellbar-command-action__image{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}:host ::ng-deep .fd-shellbar{height:var(--shellbar-height)}:host ::ng-deep fd-shellbar.s .fd-shellbar__product{max-width:120px}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area{justify-content:center!important}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area .fd-shellbar__action--shrink button{color:var(--fdButtonIconColor, var(--sapShell_InteractiveTextColor))}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1$3.AvatarComponent, selector: "fd-avatar", inputs: ["id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$3.BarComponent, selector: "[fd-bar]", inputs: ["barDesign", "inPage", "inHomePage", "clear", "size", "initialSuggestionTitle", "initialSuggestionSubline", "role"] }, { kind: "directive", type: i2$3.BarRightDirective, selector: "[fd-bar-right]", inputs: ["stackContentsVertically"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "component", type: i4$1.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter", "searchResultsList"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "counterRole", "counterAriaLabel", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl", "suggestion"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate", "scope"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i7.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i7.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "scrollStrategy", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.SubmenuComponent, selector: "fd-submenu", inputs: ["ariaLabel", "ariaLabelledby"], exportAs: ["fdSubmenu"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]", inputs: ["truncate"] }, { kind: "component", type: i4.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header", inputs: ["inShellbar"] }, { kind: "component", type: i5$2.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["twoLineClamp", "headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$2.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i12.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["status", "statusMessage", "glyph", "glyphFont", "label", "ariaLabel", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate", "ariaRoleDescription"] }, { kind: "component", type: i6$2.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded", "transparent", "noRadius"], outputs: ["expandedChange"] }, { kind: "component", type: i14.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "disabled", "closeOnEscapeKey", "closeOnOutsideClick", "noArrow", "disableScrollbar", "triggers", "focusTrapped", "focusAutoCapture", "isOpen"], outputs: ["isOpenChange", "beforeOpen"] }, { kind: "component", type: i14.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i15.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i15.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "component", type: i15.PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: i16.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "breakpoints", "sideNav", "groupFlex", "showNavigationButton", "navigationButtonTemplate", "showBackButton", "navigationButtonLabel", "backButtonLabel", "showSearchFieldOnSizeSmall"], outputs: ["navigationButtonClicked", "backButtonClicked"] }, { kind: "component", type: i16.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i16.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "assistiveTools", "assistiveToolsCallback"], outputs: ["searchOpen"] }, { kind: "component", type: i16.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "glyphFont", "callback", "label", "ariaLabel", "title", "notificationLabel", "notificationCount", "fdType", "toggled"] }, { kind: "component", type: i16.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "component", type: i16.ShellbarTitleComponent, selector: "fd-shellbar-title" }, { kind: "component", type: i16.ShellbarBrandingComponent, selector: "fd-shellbar-branding", inputs: ["interactiveBranding"] }, { kind: "component", type: i16.ShellbarContextAreaComponent, selector: "fd-shellbar-context-area", outputs: ["contentItemVisibilityChange"] }, { kind: "component", type: i16.ShellbarSeparatorComponent, selector: "fd-shellbar-separator" }, { kind: "directive", type: i16.ShellbarHidePriorityDirective, selector: "[fdShellbarHidePriority]", inputs: ["fdShellbarHidePriority"] }, { kind: "component", type: i17.GenericTagComponent, selector: "[fd-generic-tag]", inputs: ["type", "name", "value", "ariaRoleDescription"] }, { kind: "component", type: i8$1.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer", "showCategoryAllOption", "initialSuggestionTitle", "initialSuggestionSubline", "initialSuggestionEmptyTitle", "initialSuggestionEmptySubline", "suggestionFooter", "searchResultsEmptyTemplate", "searchResultsEmptyDefaultSuggestions", "showAdvancedFilter", "allowEmptySearch", "enableSelection", "suggestionsLoading", "busyIndicatorTitle", "busyIndicatorAriaValueText"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange", "advancedFilterButtonClick", "categoryModeChange", "appearanceChange", "disableRefreshChange", "inputTextChange", "forceSearchButtonChange"] }, { kind: "component", type: i19.UserMenuComponent, selector: "fd-user-menu", inputs: ["mobile"], outputs: ["isOpenChange"] }, { kind: "component", type: i19.UserMenuControlComponent, selector: "fd-user-menu-control", outputs: ["clicked"] }, { kind: "component", type: i19.UserMenuBodyComponent, selector: "fd-user-menu-body" }, { kind: "component", type: i19.UserMenuListComponent, selector: "fd-user-menu-list" }, { kind: "component", type: i19.UserMenuFooterComponent, selector: "fd-user-menu-footer" }, { kind: "directive", type: i19.UserMenuHeaderDirective, selector: "[fd-user-menu-header]" }, { kind: "directive", type: i19.UserMenuSublineDirective, selector: "[fd-user-menu-subline]", inputs: ["truncate"] }, { kind: "directive", type: i19.UserMenuUserNameDirective, selector: "[fd-user-menu-user-name]", inputs: ["truncate"] }, { kind: "directive", type: i19.UserMenuHeaderContainerDirective, selector: "[fd-user-menu-header-container]" }, { kind: "component", type: i19.UserMenuListItemComponent, selector: "[fd-user-menu-list-item]", inputs: ["uniqueId", "icon", "iconAfter", "iconAfterActive", "text", "textId", "truncateText", "subtitle", "subtitleId", "truncateSubtitle", "hasSubmenu", "submenu", "selected"], outputs: ["isOpenChange", "showSubmenu", "updateTitle", "keyDown"] }, { kind: "directive", type: i5.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i5.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i5.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i5.RouteFormChangeDirective, selector: "[routeFormChange]", inputs: ["handleBodyClick"], outputs: ["stateChanged"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount", "notificationReport"], outputs: ["viewed", "remove", "actionClick", "showEvent", "loadMore"] }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: SuggestionsFilterPipe, name: "suggestionsFilter" }, { kind: "pipe", type: SuggestionsCountFilterPipe, name: "suggestionsCountFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3808
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: BarsaShellbarComponent, isStandalone: false, selector: "bt-barsa-shellbar", inputs: { showSidebar: "showSidebar", multiLanguages: "multiLanguages", userLoggedIn: "userLoggedIn", settings: "settings", productMenuControl: "productMenuControl", dastoratSarasari: "dastoratSarasari", workflowMenuItems: "workflowMenuItems", groupedCommandMenus: "groupedCommandMenus", deviceSize: "deviceSize", cultures: "cultures", shellbarData: "shellbarData", notificationsUnreadCount: "notificationsUnreadCount", productMenuItems1: "productMenuItems1", bodyClick: "bodyClick", logo: "logo", actions: "actions", userMenu: "userMenu", footerButtons: "footerButtons", productSwitcher: "productSwitcher", subtitle: "subtitle", isMobile: "isMobile", hideShellbarActions: "hideShellbarActions", flatButtons: "flatButtons", isTablet: "isTablet", userInfo: "userInfo", isDesktop: "isDesktop", informativeText: "informativeText", informativeStatus: "informativeStatus", hideProductMenu: "hideProductMenu", enableSearch: "enableSearch", hideNotifications: "hideNotifications", isServiceDesk: "isServiceDesk", isOpenQuickAccess: "isOpenQuickAccess", sideMenuTemplate: "sideMenuTemplate", notificationReport: "notificationReport", profileDynamicCommand: "profileDynamicCommand", profileDynamicCommandText: "profileDynamicCommandText", profileDynamicCommandIcon: "profileDynamicCommandIcon", displayName: "displayName", hideBranding: "hideBranding", showSearchInSystem: "showSearchInSystem", rtl: "rtl", suggestions: "suggestions", date: "date" }, outputs: { appTileGroupChange: "appTileGroupChange", searchItemClick: "searchItemClick", searchInput: "searchInput", isOpenQuickAccessChanged: "isOpenQuickAccessChanged", openNotificationPanel: "openNotificationPanel", openQuickAccessPanel: "openQuickAccessPanel", cultureChanged: "cultureChanged", notifiationActionClick: "notifiationActionClick" }, viewQueries: [{ propertyName: "searchDialogContent", first: true, predicate: ["searchContent"], descendants: true, read: TemplateRef }, { propertyName: "searchDialogSubHeader", first: true, predicate: ["searchSubHeader"], descendants: true, read: TemplateRef }, { propertyName: "shellbar", first: true, predicate: ShellbarComponent$1, descendants: true, static: true }, { 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, usesOnChanges: true, ngImport: i0, template: "<fd-shellbar\r\n [ngClass]=\"deviceSize\"\r\n routeFormChange\r\n (stateChanged)=\"onRouteFormStateChange()\"\r\n [showNavigationButton]=\"sideMenuTemplate || showSidebar ? true : false\"\r\n (navigationButtonClicked)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\r\n [handleBodyClick]=\"true\"\r\n [size]=\"deviceSize === 's' && userLoggedIn ? 'm' : deviceSize\"\r\n>\r\n @if(!hideBranding){\r\n <fd-shellbar-branding [interactiveBranding]=\"true\">\r\n <fd-shellbar-logo>\r\n <a\r\n [style.backgroundImage]=\"\r\n 'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\r\n \"\r\n href=\"/\"\r\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced tw-bg-center !tw-bg-auto\"\r\n [attr.aria-label]=\"subtitle | bbbTranslate\"\r\n ></a>\r\n </fd-shellbar-logo>\r\n @if(!brandingTitleHidden){\r\n <fd-shellbar-title> {{ subtitle | bbbTranslate }} {{ showVersion ? appVersion : '' }}</fd-shellbar-title>\r\n }\r\n </fd-shellbar-branding>\r\n }\r\n <fd-shellbar-context-area>\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"1\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n <fd-product-switch\r\n fdShellbarHidePriority=\"3\"\r\n [class.hide]=\"!productSwitcher?.length || deviceSize === 's'\"\r\n [restoreFocusOnClose]=\"false\"\r\n >\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\r\n <span\r\n [class.hide]=\"!showSearchInSystem\"\r\n fdShellbarHidePriority=\"4\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"search\"\r\n fdType=\"transparent\"\r\n (click)=\"onOpenSearchDialog()\"\r\n >\r\n </span>\r\n <fd-product-menu\r\n fdShellbarHidePriority=\"2\"\r\n [control]=\"productMenuControl\"\r\n [closePopoverOnSelect]=\"true\"\r\n [items]=\"productMenuItems1\"\r\n [class.hide]=\"!productMenuItems1?.length\"\r\n >\r\n </fd-product-menu>\r\n <fd-shellbar-separator fdshellbarhidepriority=\"5\" style=\"flex-shrink: 0\"></fd-shellbar-separator>\r\n @if(!isCompactShellbar){ @for(dastor of dastoratSarasari; track dastor.label){ @if(dastor.children?.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"dastor.glyph\"\r\n [label]=\"dastor.label | bbbTranslate\"\r\n [fdMenuTrigger]=\"globalCommandMenu\"\r\n ></button>\r\n <fd-menu #globalCommandMenu>\r\n @for(item of dastor.children; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: globalCommandMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #globalSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } @else {\r\n <span\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n [glyph]=\"dastor.glyph\"\r\n class=\"fd-shellbar__button\"\r\n [label]=\"dastor.useImageGlyph ? undefined : (dastor.label | bbbTranslate)\"\r\n [class.shellbar-command-action--image-glyph]=\"dastor.useImageGlyph\"\r\n (click)=\"dastor.callback?.()\"\r\n >\r\n @if(dastor.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"dastor.glyph\"\r\n [alt]=\"dastor.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n <span class=\"shellbar-command-action__label\">{{ dastor.label | bbbTranslate }}</span>\r\n }\r\n </span>\r\n } } @if(workflowMenuItems.length){\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"'Workflow' | bbbTranslate\"\r\n [fdMenu]=\"true\"\r\n [fdMenuTrigger]=\"workflowMenu\"\r\n ></button>\r\n <fd-menu #workflowMenu>\r\n @for(item of workflowMenuItems; track item.key) {\r\n <li fd-menu-item>\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n (click)=\"$event.preventDefault(); workflowMenu.close(); item.callback?.()\"\r\n >\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n }\r\n </fd-menu>\r\n } @for(group of groupedCommandMenus; track group.Caption){\r\n <button fd-button [label]=\"group.Caption | bbbTranslate\" [fdMenu]=\"true\" [fdMenuTrigger]=\"groupMenu\"></button>\r\n <fd-menu #groupMenu>\r\n @for(item of group.Commands; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: groupMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #groupSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n class=\"tw-gap-2\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } } @if(isCompactShellbar && mobileCommandNodes.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"overflow\"\r\n [attr.aria-label]=\"'Commands' | bbbTranslate\"\r\n [title]=\"'Commands' | bbbTranslate\"\r\n [fdMenuTrigger]=\"mobileCommandsMenu\"\r\n ></button>\r\n <fd-menu #mobileCommandsMenu [mobile]=\"true\">\r\n @for(node of mobileCommandNodes; track node.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: node, parentSubmenu: undefined, rootMenu: mobileCommandsMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #mobileCommandTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n }\r\n </fd-shellbar-context-area>\r\n\r\n @if(inputEnableSearch()){\r\n <fdp-search-field\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (inputChange)=\"onSearchInputChange($event)\"\r\n [suggestions]=\"suggestions\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n }\r\n <fd-shellbar-actions\r\n #shellbarActions\r\n (searchOpen)=\"onSearchOpen($event)\"\r\n [class.flat-buttons]=\"flatButtons?.length && !showSearch()\"\r\n >\r\n @if(deviceSize !== 's' && userLoggedIn && date){\r\n <span class=\"bt-shellbar-date\" [title]=\"date.full\">\r\n <fd-icon class=\"bt-shellbar-date__icon\" glyph=\"calendar\" [attr.aria-hidden]=\"true\"></fd-icon>\r\n <span class=\"bt-shellbar-date__text\">{{ date.compact }}</span>\r\n </span>\r\n }\r\n <fd-user-menu>\r\n <fd-user-menu-control>\r\n <fd-avatar\r\n size=\"xs\"\r\n [circle]=\"true\"\r\n [attr.ariaLabel]=\"displayName\"\r\n [image]=\"userInfo?.Url\"\r\n ></fd-avatar>\r\n </fd-user-menu-control>\r\n <fd-user-menu-body>\r\n <div fd-user-menu-header>\r\n <fd-avatar\r\n [circle]=\"true\"\r\n [size]=\"deviceSize\"\r\n [label]=\"userInfo?.Url ? '' : displayName\"\r\n zoomGlyph=\"\"\r\n title=\"Edit avatar\"\r\n [image]=\"userInfo?.Url\"\r\n ></fd-avatar>\r\n <div fd-user-menu-header-container>\r\n <div fd-user-menu-user-name>{{ displayName }}</div>\r\n @for(item of userInfo?.Sublines;track item){\r\n <div fd-user-menu-subline>{{ item }}</div>\r\n }\r\n </div>\r\n @if(profileDynamicCommandText){\r\n <button\r\n fd-button\r\n [label]=\"profileDynamicCommandText || 'Edit' | bbbTranslate\"\r\n [glyph]=\"profileDynamicCommandIcon || 'edit'\"\r\n [attr.ariaLabel]=\"'\u0648\u06CC\u0631\u0627\u06CC\u0634 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644'\"\r\n [dynCommand]=\"profileDynamicCommand\"\r\n bodyClick\r\n ></button>\r\n }\r\n </div>\r\n <div fd-user-menu-content-container>\r\n @if(userMenu?.length){\r\n <fd-panel transparent noRadius [fixed]=\"true\" class=\"hide-panel-header\"> </fd-panel>}\r\n\r\n <fd-user-menu-list>\r\n @for(item of userMenu;track item.text){\r\n <li fd-user-menu-list-item [icon]=\"item.icon\" [text]=\"item.text\" (click)=\"item.callback()\"></li>\r\n }\r\n </fd-user-menu-list>\r\n </div>\r\n </fd-user-menu-body>\r\n\r\n <fd-user-menu-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n @for(item of footerButtons;track item.text){\r\n <button\r\n fd-button\r\n [label]=\"item.text\"\r\n fdType=\"transparent\"\r\n [glyph]=\"item.icon\"\r\n [attr.ariaLabel]=\"item.text\"\r\n (click)=\"item.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n </div>\r\n </fd-user-menu-footer>\r\n </fd-user-menu>\r\n @for (action of actions; track action.label) {\r\n <fd-shellbar-action\r\n [glyph]=\"action.glyph\"\r\n [callback]=\"action.callback\"\r\n [label]=\"action.label\"\r\n [notificationLabel]=\"action.notificationLabel\"\r\n [notificationCount]=\"action.notificationCount\"\r\n >\r\n </fd-shellbar-action>\r\n\r\n } @if (!settings?.HideLanguage && multiLanguages && userLoggedIn) {\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @if (deviceSize !== 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if (deviceSize === 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notifications' | bbbTranslate\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\r\n [callback]=\"onBellNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if(flatButtons?.length){\r\n <div class=\"tw-flex tw-gap-1\">\r\n @if (!settings?.HideLanguage && multiLanguages){\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @for(btn of flatButtons;track btn.label){\r\n <button\r\n fd-button\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\r\n fdType=\"emphasized\"\r\n (click)=\"btn.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n </fd-shellbar-actions>\r\n <fd-popover\r\n [(isOpen)]=\"isOpenNotificatoin\"\r\n [noArrow]=\"true\"\r\n placement=\"top-end\"\r\n title=\"Notification Popover\"\r\n [appendTo]=\"el\"\r\n [mobile]=\"false\"\r\n #popoverComponent\r\n >\r\n <fd-popover-control>\r\n <!-- <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action> -->\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\r\n @if(isOpenNotificatoin){\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-shellbar>\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<div\r\n *ngIf=\"sideMenuTemplate\"\r\n class=\"sidemenu-h tw-fixed tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\r\n [class.tw-w-screen]=\"isMobile\"\r\n [class.-tw-right-full]=\"isMobile\"\r\n [class.tw-w-96]=\"!isMobile\"\r\n [class.-tw-right-96]=\"!isMobile && rtl\"\r\n [class.!tw-right-0]=\"rtl && isOpenQuickAccess\"\r\n [class.-tw-left-96]=\"!isMobile && !rtl\"\r\n [class.!tw-left-0]=\"!rtl && isOpenQuickAccess\"\r\n (click)=\"$event.stopPropagation()\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\r\n</div>\r\n\r\n<fd-menu #menu>\r\n <ul fd-list>\r\n @for (culture of cultures | keyvalue; track culture) {\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\r\n <span fd-list-title class=\"tw-flex tw-items-center tw-gap-1\">\r\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" loading=\"lazy\" />\r\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</fd-menu>\r\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\r\n <bt-notification-group\r\n [notificationReport]=\"notificationReport\"\r\n [notificationCount]=\"notificationCount\"\r\n (actionClick)=\"popoverComponent.close()\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bt-notification-group>\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"mobile\">\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n<ng-template #searchContent>\r\n <ul fd-list [byline]=\"true\">\r\n @for (item of (suggestions | suggestionsFilter:selectedSuggestionFiltertype) ; track item.data.path) {\r\n <li\r\n fd-list-item\r\n [interactive]=\"true\"\r\n (click)=\"onSearchItemClick(item)\"\r\n class=\"!tw-ps-1\"\r\n [class.!tw-bg-blue-600]=\"item.data.source === 'Report'\"\r\n [class.!tw-bg-green-600]=\"item.data.source === 'Command'\"\r\n [class.!tw-bg-gray-600]=\"item.data.source !== 'Command' && item.data.source !== 'Report'\"\r\n >\r\n <a fd-list-link [attr.href]=\"!item.data.url ? null : item.data.url\" (click)=\"onSearchLink(item, $event)\">\r\n <div fd-list-content>\r\n <div fd-list-title>{{ item.value }}</div>\r\n <div fd-list-byline>{{ item.data.path }}</div>\r\n </div>\r\n <span fd-list-secondary>\r\n @if(item.data.canPin){\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"'AddToFavorite' | bbbTranslate\"\r\n [title]=\"'Add To Favorite' | bbbTranslate\"\r\n fd-button\r\n glyph=\"shortcut\"\r\n (click)=\"oFavoriteLink(item, $event)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</ng-template>\r\n<ng-template #searchSubHeader>\r\n <div class=\"tw-flex tw-flex-col tw-w-full\">\r\n <fd-input-group\r\n glyph=\"search\"\r\n fdkInitialFocus\r\n glyphAriaLabel=\"Submit\"\r\n [button]=\"true\"\r\n (input)=\"onSearchInputChange($event)\"\r\n >\r\n </fd-input-group>\r\n @if(suggestions.length){\r\n <div class=\"tw-flex tw-gap-4 tw-overflow-x-auto suggestion-filters-cat tw-pb-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0647\u0645\u0647', count: (suggestions | suggestionsCountFilter: 'all'), type: '' }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645', count: (suggestions | suggestionsCountFilter: 'subsystem'), type: '' }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n count: (suggestions | suggestionsCountFilter: 'navgroup'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0632\u0627\u0631\u0634\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'report'),\r\n type: 'information'\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u062F\u0633\u062A\u0648\u0631\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'command'),\r\n type: 'success'\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template #catTag let-name=\"name\" let-count=\"count\" let-type=\"type\">\r\n @if(count && count!==' '){\r\n <div fd-generic-tag [name]=\"name\" [value]=\"count\" (click)=\"selectedSuggestionFiltertype = name\" [type]=\"type\"></div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative}:host fd-user-menu{background-color:transparent}:host fd-shellbar-actions.flat-buttons{flex-direction:row-reverse}:host.hide-user-menu fd-shellbar-actions ::ng-deep .fd-user-menu{display:none}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep .fd-shellbar--s .fd-shellbar__title{display:block;max-width:10rem;text-wrap:auto;font-size:.8rem}: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 ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem;margin:0!important}.extra-button-wrapper{display:flex;height:100%;align-items:center;position:absolute;left:10px;top:0;gap:.285rem}.bt-shellbar-date{display:inline-flex;align-items:center;gap:.285rem;flex-shrink:0;white-space:nowrap;padding:0 .5rem;font-size:.875rem;line-height:1;color:var(--sapShell_InteractiveTextColor, #d1e8ff);cursor:default;-webkit-user-select:none;user-select:none}.bt-shellbar-date__icon{font-size:1rem;opacity:.85}.bt-shellbar-date__text{font-variant-numeric:tabular-nums}.hide-panel-header ::ng-deep .fd-panel__header{min-height:auto;height:auto}:host ::ng-deep .shellbar-command-action--image-glyph{gap:.375rem}:host ::ng-deep .shellbar-command-action--image-glyph ::ng-deep fd-icon{display:none}.shellbar-command-action__image{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}[fd-menu-title],.shellbar-command-action__label{white-space:nowrap!important}:host ::ng-deep .fd-shellbar{height:var(--shellbar-height)}:host ::ng-deep fd-shellbar.s .fd-shellbar__product{max-width:120px}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area{justify-content:center!important}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area .fd-shellbar__action--shrink button{color:var(--fdButtonIconColor, var(--sapShell_InteractiveTextColor))}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1$3.AvatarComponent, selector: "fd-avatar", inputs: ["id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$3.BarComponent, selector: "[fd-bar]", inputs: ["barDesign", "inPage", "inHomePage", "clear", "size", "initialSuggestionTitle", "initialSuggestionSubline", "role"] }, { kind: "directive", type: i2$3.BarRightDirective, selector: "[fd-bar-right]", inputs: ["stackContentsVertically"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "component", type: i4$1.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter", "searchResultsList"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "counterRole", "counterAriaLabel", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl", "suggestion"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate", "scope"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i7.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i7.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["openOnHoverTime", "ariaLabel", "ariaLabelledby", "id", "config", "mobile", "mobileConfig", "placement", "closeOnEscapeKey", "focusAutoCapture", "disabled", "disableScrollbar", "triggers", "fillControlMode", "closeOnOutsideClick", "noArrow", "focusTrapped", "additionalBodyClass", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "scrollStrategy", "isOpen"], outputs: ["isOpenChange", "activePath", "beforeOpen"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.SubmenuComponent, selector: "fd-submenu", inputs: ["ariaLabel", "ariaLabelledby"], exportAs: ["fdSubmenu"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]", inputs: ["truncate"] }, { kind: "component", type: i4.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header", inputs: ["inShellbar"] }, { kind: "component", type: i5$2.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["twoLineClamp", "headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$2.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i12.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["status", "statusMessage", "glyph", "glyphFont", "label", "ariaLabel", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate", "ariaRoleDescription"] }, { kind: "component", type: i6$2.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded", "transparent", "noRadius"], outputs: ["expandedChange"] }, { kind: "component", type: i14.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "disabled", "closeOnEscapeKey", "closeOnOutsideClick", "noArrow", "disableScrollbar", "triggers", "focusTrapped", "focusAutoCapture", "isOpen"], outputs: ["isOpenChange", "beforeOpen"] }, { kind: "component", type: i14.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i15.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i15.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "component", type: i15.PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: i16.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "breakpoints", "sideNav", "groupFlex", "showNavigationButton", "navigationButtonTemplate", "showBackButton", "navigationButtonLabel", "backButtonLabel", "showSearchFieldOnSizeSmall"], outputs: ["navigationButtonClicked", "backButtonClicked"] }, { kind: "component", type: i16.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i16.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "assistiveTools", "assistiveToolsCallback"], outputs: ["searchOpen"] }, { kind: "component", type: i16.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "glyphFont", "callback", "label", "ariaLabel", "title", "notificationLabel", "notificationCount", "fdType", "toggled"] }, { kind: "component", type: i16.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "component", type: i16.ShellbarTitleComponent, selector: "fd-shellbar-title" }, { kind: "component", type: i16.ShellbarBrandingComponent, selector: "fd-shellbar-branding", inputs: ["interactiveBranding"] }, { kind: "component", type: i16.ShellbarContextAreaComponent, selector: "fd-shellbar-context-area", outputs: ["contentItemVisibilityChange"] }, { kind: "component", type: i16.ShellbarSeparatorComponent, selector: "fd-shellbar-separator" }, { kind: "directive", type: i16.ShellbarHidePriorityDirective, selector: "[fdShellbarHidePriority]", inputs: ["fdShellbarHidePriority"] }, { kind: "component", type: i17.GenericTagComponent, selector: "[fd-generic-tag]", inputs: ["type", "name", "value", "ariaRoleDescription"] }, { kind: "component", type: i8$1.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer", "showCategoryAllOption", "initialSuggestionTitle", "initialSuggestionSubline", "initialSuggestionEmptyTitle", "initialSuggestionEmptySubline", "suggestionFooter", "searchResultsEmptyTemplate", "searchResultsEmptyDefaultSuggestions", "showAdvancedFilter", "allowEmptySearch", "enableSelection", "suggestionsLoading", "busyIndicatorTitle", "busyIndicatorAriaValueText"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange", "advancedFilterButtonClick", "categoryModeChange", "appearanceChange", "disableRefreshChange", "inputTextChange", "forceSearchButtonChange"] }, { kind: "component", type: i19.UserMenuComponent, selector: "fd-user-menu", inputs: ["mobile"], outputs: ["isOpenChange"] }, { kind: "component", type: i19.UserMenuControlComponent, selector: "fd-user-menu-control", outputs: ["clicked"] }, { kind: "component", type: i19.UserMenuBodyComponent, selector: "fd-user-menu-body" }, { kind: "component", type: i19.UserMenuListComponent, selector: "fd-user-menu-list" }, { kind: "component", type: i19.UserMenuFooterComponent, selector: "fd-user-menu-footer" }, { kind: "directive", type: i19.UserMenuHeaderDirective, selector: "[fd-user-menu-header]" }, { kind: "directive", type: i19.UserMenuSublineDirective, selector: "[fd-user-menu-subline]", inputs: ["truncate"] }, { kind: "directive", type: i19.UserMenuUserNameDirective, selector: "[fd-user-menu-user-name]", inputs: ["truncate"] }, { kind: "directive", type: i19.UserMenuHeaderContainerDirective, selector: "[fd-user-menu-header-container]" }, { kind: "component", type: i19.UserMenuListItemComponent, selector: "[fd-user-menu-list-item]", inputs: ["uniqueId", "icon", "iconAfter", "iconAfterActive", "text", "textId", "truncateText", "subtitle", "subtitleId", "truncateSubtitle", "hasSubmenu", "submenu", "selected"], outputs: ["isOpenChange", "showSubmenu", "updateTitle", "keyDown"] }, { kind: "directive", type: i5.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i5.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i5.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i5.RouteFormChangeDirective, selector: "[routeFormChange]", inputs: ["handleBodyClick"], outputs: ["stateChanged"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount", "notificationReport"], outputs: ["viewed", "remove", "actionClick", "showEvent", "loadMore"] }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: SuggestionsFilterPipe, name: "suggestionsFilter" }, { kind: "pipe", type: SuggestionsCountFilterPipe, name: "suggestionsCountFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3611
3809
|
}
|
|
3612
3810
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BarsaShellbarComponent, decorators: [{
|
|
3613
3811
|
type: Component,
|
|
3614
|
-
args: [{ selector: 'bt-barsa-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-shellbar\r\n [ngClass]=\"deviceSize\"\r\n routeFormChange\r\n (stateChanged)=\"onRouteFormStateChange()\"\r\n [showNavigationButton]=\"sideMenuTemplate || showSidebar ? true : false\"\r\n (navigationButtonClicked)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\r\n [handleBodyClick]=\"true\"\r\n [size]=\"deviceSize === 's' && userLoggedIn ? 'm' : deviceSize\"\r\n>\r\n @if(!hideBranding){\r\n <fd-shellbar-branding [interactiveBranding]=\"true\">\r\n <fd-shellbar-logo>\r\n <a\r\n [style.backgroundImage]=\"\r\n 'url(' + ($safeNavigationMigration(logo?.FileId) | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\r\n \"\r\n href=\"/\"\r\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced tw-bg-center !tw-bg-auto\"\r\n [attr.aria-label]=\"subtitle | bbbTranslate\"\r\n ></a>\r\n </fd-shellbar-logo>\r\n @if(!brandingTitleHidden){\r\n <fd-shellbar-title> {{ subtitle | bbbTranslate }} {{ showVersion ? appVersion : '' }}</fd-shellbar-title>\r\n }\r\n </fd-shellbar-branding>\r\n }\r\n <fd-shellbar-context-area>\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"1\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n <fd-product-switch\r\n fdShellbarHidePriority=\"3\"\r\n [class.hide]=\"!productSwitcher?.length || deviceSize === 's'\"\r\n [restoreFocusOnClose]=\"false\"\r\n >\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\r\n <span\r\n [class.hide]=\"!showSearchInSystem\"\r\n fdShellbarHidePriority=\"4\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"search\"\r\n fdType=\"transparent\"\r\n (click)=\"onOpenSearchDialog()\"\r\n >\r\n </span>\r\n <fd-product-menu\r\n fdShellbarHidePriority=\"2\"\r\n [control]=\"productMenuControl\"\r\n [closePopoverOnSelect]=\"true\"\r\n [items]=\"productMenuItems1\"\r\n [class.hide]=\"!productMenuItems1?.length\"\r\n >\r\n </fd-product-menu>\r\n <fd-shellbar-separator fdshellbarhidepriority=\"5\" style=\"flex-shrink: 0\"></fd-shellbar-separator>\r\n @if(!isCompactShellbar){ @for(dastor of dastoratSarasari; track dastor.label){ @if(dastor.children?.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"dastor.glyph\"\r\n [label]=\"dastor.label | bbbTranslate\"\r\n [fdMenuTrigger]=\"globalCommandMenu\"\r\n ></button>\r\n <fd-menu #globalCommandMenu>\r\n @for(item of dastor.children; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: globalCommandMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #globalSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } @else {\r\n <span\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n [glyph]=\"dastor.glyph\"\r\n class=\"fd-shellbar__button\"\r\n [label]=\"dastor.useImageGlyph ? undefined : (dastor.label | bbbTranslate)\"\r\n [class.shellbar-command-action--image-glyph]=\"dastor.useImageGlyph\"\r\n (click)=\"dastor.callback?.()\"\r\n >\r\n @if(dastor.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"dastor.glyph\"\r\n [alt]=\"dastor.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n <span class=\"shellbar-command-action__label\">{{ dastor.label | bbbTranslate }}</span>\r\n }\r\n </span>\r\n } } @if(workflowMenuItems.length){\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"'Workflow' | bbbTranslate\"\r\n [fdMenu]=\"true\"\r\n [fdMenuTrigger]=\"workflowMenu\"\r\n ></button>\r\n <fd-menu #workflowMenu>\r\n @for(item of workflowMenuItems; track item.key) {\r\n <li fd-menu-item>\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n (click)=\"$event.preventDefault(); workflowMenu.close(); item.callback?.()\"\r\n >\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n }\r\n </fd-menu>\r\n } @for(group of groupedCommandMenus; track group.Caption){\r\n <button fd-button [label]=\"group.Caption | bbbTranslate\" [fdMenu]=\"true\" [fdMenuTrigger]=\"groupMenu\"></button>\r\n <fd-menu #groupMenu>\r\n @for(item of group.Commands; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: groupMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #groupSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n class=\"tw-gap-2\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } } @if(isCompactShellbar && mobileCommandNodes.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"overflow\"\r\n [attr.aria-label]=\"'Commands' | bbbTranslate\"\r\n [title]=\"'Commands' | bbbTranslate\"\r\n [fdMenuTrigger]=\"mobileCommandsMenu\"\r\n ></button>\r\n <fd-menu #mobileCommandsMenu [mobile]=\"true\">\r\n @for(node of mobileCommandNodes; track node.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: node, parentSubmenu: undefined, rootMenu: mobileCommandsMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #mobileCommandTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n }\r\n </fd-shellbar-context-area>\r\n\r\n @if(inputEnableSearch()){\r\n <fdp-search-field\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (inputChange)=\"onSearchInputChange($event)\"\r\n [suggestions]=\"suggestions\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n }\r\n <fd-shellbar-actions\r\n #shellbarActions\r\n (searchOpen)=\"onSearchOpen($event)\"\r\n [class.flat-buttons]=\"flatButtons?.length && !showSearch()\"\r\n >\r\n @if(deviceSize !== 's' && userLoggedIn && date){\r\n <span class=\"bt-shellbar-date\" [title]=\"date.full\">\r\n <fd-icon class=\"bt-shellbar-date__icon\" glyph=\"calendar\" [attr.aria-hidden]=\"true\"></fd-icon>\r\n <span class=\"bt-shellbar-date__text\">{{ date.compact }}</span>\r\n </span>\r\n }\r\n <fd-user-menu>\r\n <fd-user-menu-control>\r\n <fd-avatar\r\n size=\"xs\"\r\n [circle]=\"true\"\r\n [attr.ariaLabel]=\"displayName\"\r\n [image]=\"$safeNavigationMigration(userInfo?.Url)\"\r\n ></fd-avatar>\r\n </fd-user-menu-control>\r\n <fd-user-menu-body>\r\n <div fd-user-menu-header>\r\n <fd-avatar\r\n [circle]=\"true\"\r\n [size]=\"deviceSize\"\r\n [label]=\"userInfo?.Url ? '' : displayName\"\r\n zoomGlyph=\"\"\r\n title=\"Edit avatar\"\r\n [image]=\"$safeNavigationMigration(userInfo?.Url)\"\r\n ></fd-avatar>\r\n <div fd-user-menu-header-container>\r\n <div fd-user-menu-user-name>{{ displayName }}</div>\r\n @for(item of userInfo?.Sublines;track item){\r\n <div fd-user-menu-subline>{{ item }}</div>\r\n }\r\n </div>\r\n @if(profileDynamicCommandText){\r\n <button\r\n fd-button\r\n [label]=\"profileDynamicCommandText || 'Edit' | bbbTranslate\"\r\n [glyph]=\"profileDynamicCommandIcon || 'edit'\"\r\n [attr.ariaLabel]=\"'\u0648\u06CC\u0631\u0627\u06CC\u0634 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644'\"\r\n [dynCommand]=\"profileDynamicCommand\"\r\n bodyClick\r\n ></button>\r\n }\r\n </div>\r\n <div fd-user-menu-content-container>\r\n @if(userMenu?.length){\r\n <fd-panel transparent noRadius [fixed]=\"true\" class=\"hide-panel-header\"> </fd-panel>}\r\n\r\n <fd-user-menu-list>\r\n @for(item of userMenu;track item.text){\r\n <li fd-user-menu-list-item [icon]=\"item.icon\" [text]=\"item.text\" (click)=\"item.callback()\"></li>\r\n }\r\n </fd-user-menu-list>\r\n </div>\r\n </fd-user-menu-body>\r\n\r\n <fd-user-menu-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n @for(item of footerButtons;track item.text){\r\n <button\r\n fd-button\r\n [label]=\"item.text\"\r\n fdType=\"transparent\"\r\n [glyph]=\"item.icon\"\r\n [attr.ariaLabel]=\"item.text\"\r\n (click)=\"item.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n </div>\r\n </fd-user-menu-footer>\r\n </fd-user-menu>\r\n @for (action of actions; track action.label) {\r\n <fd-shellbar-action\r\n [glyph]=\"action.glyph\"\r\n [callback]=\"action.callback\"\r\n [label]=\"action.label\"\r\n [notificationLabel]=\"action.notificationLabel\"\r\n [notificationCount]=\"action.notificationCount\"\r\n >\r\n </fd-shellbar-action>\r\n\r\n } @if (!settings?.HideLanguage && multiLanguages && userLoggedIn) {\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @if (deviceSize !== 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if (deviceSize === 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notifications' | bbbTranslate\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\r\n [callback]=\"onBellNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if(flatButtons?.length){\r\n <div class=\"tw-flex tw-gap-1\">\r\n @if (!settings?.HideLanguage && multiLanguages){\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @for(btn of flatButtons;track btn.label){\r\n <button\r\n fd-button\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\r\n fdType=\"emphasized\"\r\n (click)=\"btn.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n </fd-shellbar-actions>\r\n <fd-popover\r\n [(isOpen)]=\"isOpenNotificatoin\"\r\n [noArrow]=\"true\"\r\n placement=\"top-end\"\r\n title=\"Notification Popover\"\r\n [appendTo]=\"el\"\r\n [mobile]=\"false\"\r\n #popoverComponent\r\n >\r\n <fd-popover-control>\r\n <!-- <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action> -->\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\r\n @if(isOpenNotificatoin){\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-shellbar>\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<div\r\n *ngIf=\"sideMenuTemplate\"\r\n class=\"sidemenu-h tw-fixed tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\r\n [class.tw-w-screen]=\"isMobile\"\r\n [class.-tw-right-full]=\"isMobile\"\r\n [class.tw-w-96]=\"!isMobile\"\r\n [class.-tw-right-96]=\"!isMobile && rtl\"\r\n [class.!tw-right-0]=\"rtl && isOpenQuickAccess\"\r\n [class.-tw-left-96]=\"!isMobile && !rtl\"\r\n [class.!tw-left-0]=\"!rtl && isOpenQuickAccess\"\r\n (click)=\"$event.stopPropagation()\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\r\n</div>\r\n\r\n<fd-menu #menu>\r\n <ul fd-list>\r\n @for (culture of cultures | keyvalue; track culture) {\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\r\n <span fd-list-title class=\"tw-flex tw-items-center tw-gap-1\">\r\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" loading=\"lazy\" />\r\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</fd-menu>\r\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\r\n <bt-notification-group\r\n [notificationReport]=\"notificationReport\"\r\n [notificationCount]=\"notificationCount\"\r\n (actionClick)=\"popoverComponent.close()\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bt-notification-group>\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"mobile\">\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n<ng-template #searchContent>\r\n <ul fd-list [byline]=\"true\">\r\n @for (item of (suggestions | suggestionsFilter:selectedSuggestionFiltertype) ; track item.data.path) {\r\n <li\r\n fd-list-item\r\n [interactive]=\"true\"\r\n (click)=\"onSearchItemClick(item)\"\r\n class=\"!tw-ps-1\"\r\n [class.!tw-bg-blue-600]=\"item.data.source === 'Report'\"\r\n [class.!tw-bg-green-600]=\"item.data.source === 'Command'\"\r\n [class.!tw-bg-gray-600]=\"item.data.source !== 'Command' && item.data.source !== 'Report'\"\r\n >\r\n <a fd-list-link [attr.href]=\"!item.data.url ? null : item.data.url\" (click)=\"onSearchLink(item, $event)\">\r\n <div fd-list-content>\r\n <div fd-list-title>{{ item.value }}</div>\r\n <div fd-list-byline>{{ item.data.path }}</div>\r\n </div>\r\n <span fd-list-secondary>\r\n @if(item.data.canPin){\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"'AddToFavorite' | bbbTranslate\"\r\n [title]=\"'Add To Favorite' | bbbTranslate\"\r\n fd-button\r\n glyph=\"shortcut\"\r\n (click)=\"oFavoriteLink(item, $event)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</ng-template>\r\n<ng-template #searchSubHeader>\r\n <div class=\"tw-flex tw-flex-col tw-w-full\">\r\n <fd-input-group\r\n glyph=\"search\"\r\n fdkInitialFocus\r\n glyphAriaLabel=\"Submit\"\r\n [button]=\"true\"\r\n (input)=\"onSearchInputChange($event)\"\r\n >\r\n </fd-input-group>\r\n @if(suggestions.length){\r\n <div class=\"tw-flex tw-gap-4 tw-overflow-x-auto suggestion-filters-cat tw-pb-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0647\u0645\u0647', count: (suggestions | suggestionsCountFilter: 'all'), type: '' }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645', count: (suggestions | suggestionsCountFilter: 'subsystem'), type: '' }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n count: (suggestions | suggestionsCountFilter: 'navgroup'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0632\u0627\u0631\u0634\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'report'),\r\n type: 'information'\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u062F\u0633\u062A\u0648\u0631\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'command'),\r\n type: 'success'\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template #catTag let-name=\"name\" let-count=\"count\" let-type=\"type\">\r\n @if(count && count!==' '){\r\n <div fd-generic-tag [name]=\"name\" [value]=\"count\" (click)=\"selectedSuggestionFiltertype = name\" [type]=\"type\"></div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative}:host fd-user-menu{background-color:transparent}:host fd-shellbar-actions.flat-buttons{flex-direction:row-reverse}:host.hide-user-menu fd-shellbar-actions ::ng-deep .fd-user-menu{display:none}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep .fd-shellbar--s .fd-shellbar__title{display:block;max-width:10rem;text-wrap:auto;font-size:.8rem}: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 ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem;margin:0!important}.extra-button-wrapper{display:flex;height:100%;align-items:center;position:absolute;left:10px;top:0;gap:.285rem}.bt-shellbar-date{display:inline-flex;align-items:center;gap:.285rem;flex-shrink:0;white-space:nowrap;padding:0 .5rem;font-size:.875rem;line-height:1;color:var(--sapShell_InteractiveTextColor, #d1e8ff);cursor:default;-webkit-user-select:none;user-select:none}.bt-shellbar-date__icon{font-size:1rem;opacity:.85}.bt-shellbar-date__text{font-variant-numeric:tabular-nums}.hide-panel-header ::ng-deep .fd-panel__header{min-height:auto;height:auto}:host ::ng-deep .shellbar-command-action--image-glyph{gap:.375rem}:host ::ng-deep .shellbar-command-action--image-glyph ::ng-deep fd-icon{display:none}.shellbar-command-action__image{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}:host ::ng-deep .fd-shellbar{height:var(--shellbar-height)}:host ::ng-deep fd-shellbar.s .fd-shellbar__product{max-width:120px}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area{justify-content:center!important}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area .fd-shellbar__action--shrink button{color:var(--fdButtonIconColor, var(--sapShell_InteractiveTextColor))}\n"] }]
|
|
3812
|
+
args: [{ selector: 'bt-barsa-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-shellbar\r\n [ngClass]=\"deviceSize\"\r\n routeFormChange\r\n (stateChanged)=\"onRouteFormStateChange()\"\r\n [showNavigationButton]=\"sideMenuTemplate || showSidebar ? true : false\"\r\n (navigationButtonClicked)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\r\n [handleBodyClick]=\"true\"\r\n [size]=\"deviceSize === 's' && userLoggedIn ? 'm' : deviceSize\"\r\n>\r\n @if(!hideBranding){\r\n <fd-shellbar-branding [interactiveBranding]=\"true\">\r\n <fd-shellbar-logo>\r\n <a\r\n [style.backgroundImage]=\"\r\n 'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\r\n \"\r\n href=\"/\"\r\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced tw-bg-center !tw-bg-auto\"\r\n [attr.aria-label]=\"subtitle | bbbTranslate\"\r\n ></a>\r\n </fd-shellbar-logo>\r\n @if(!brandingTitleHidden){\r\n <fd-shellbar-title> {{ subtitle | bbbTranslate }} {{ showVersion ? appVersion : '' }}</fd-shellbar-title>\r\n }\r\n </fd-shellbar-branding>\r\n }\r\n <fd-shellbar-context-area>\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"1\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n <fd-product-switch\r\n fdShellbarHidePriority=\"3\"\r\n [class.hide]=\"!productSwitcher?.length || deviceSize === 's'\"\r\n [restoreFocusOnClose]=\"false\"\r\n >\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\r\n <span\r\n [class.hide]=\"!showSearchInSystem\"\r\n fdShellbarHidePriority=\"4\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"search\"\r\n fdType=\"transparent\"\r\n (click)=\"onOpenSearchDialog()\"\r\n >\r\n </span>\r\n <fd-product-menu\r\n fdShellbarHidePriority=\"2\"\r\n [control]=\"productMenuControl\"\r\n [closePopoverOnSelect]=\"true\"\r\n [items]=\"productMenuItems1\"\r\n [class.hide]=\"!productMenuItems1?.length\"\r\n >\r\n </fd-product-menu>\r\n <fd-shellbar-separator fdshellbarhidepriority=\"5\" style=\"flex-shrink: 0\"></fd-shellbar-separator>\r\n @if(!isCompactShellbar){ @for(dastor of dastoratSarasari; track dastor.label){ @if(dastor.children?.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"dastor.glyph\"\r\n [label]=\"dastor.label | bbbTranslate\"\r\n [fdMenuTrigger]=\"globalCommandMenu\"\r\n ></button>\r\n <fd-menu #globalCommandMenu>\r\n @for(item of dastor.children; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: globalCommandMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #globalSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n globalSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } @else {\r\n <span\r\n [fdShellbarHidePriority]=\"dastor.priority\"\r\n fd-button\r\n [glyph]=\"dastor.glyph\"\r\n class=\"fd-shellbar__button\"\r\n [label]=\"dastor.useImageGlyph ? undefined : (dastor.label | bbbTranslate)\"\r\n [class.shellbar-command-action--image-glyph]=\"dastor.useImageGlyph\"\r\n (click)=\"dastor.callback?.()\"\r\n >\r\n @if(dastor.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"dastor.glyph\"\r\n [alt]=\"dastor.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n <span class=\"shellbar-command-action__label\">{{ dastor.label | bbbTranslate }}</span>\r\n }\r\n </span>\r\n } } @if(workflowMenuItems.length){\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"'Workflow' | bbbTranslate\"\r\n [fdMenu]=\"true\"\r\n [fdMenuTrigger]=\"workflowMenu\"\r\n ></button>\r\n <fd-menu #workflowMenu>\r\n @for(item of workflowMenuItems; track item.key) {\r\n <li fd-menu-item>\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n (click)=\"$event.preventDefault(); workflowMenu.close(); item.callback?.()\"\r\n >\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n }\r\n </fd-menu>\r\n } @for(group of groupedCommandMenus; track group.Caption){\r\n <button fd-button [label]=\"group.Caption | bbbTranslate\" [fdMenu]=\"true\" [fdMenuTrigger]=\"groupMenu\"></button>\r\n <fd-menu #groupMenu>\r\n @for(item of group.Commands; track item.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: item, parentSubmenu: undefined, rootMenu: groupMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #groupSubmenuTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n class=\"tw-gap-2\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n groupSubmenuTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n } } @if(isCompactShellbar && mobileCommandNodes.length){\r\n <button\r\n type=\"button\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n fdType=\"transparent\"\r\n glyph=\"overflow\"\r\n [attr.aria-label]=\"'Commands' | bbbTranslate\"\r\n [title]=\"'Commands' | bbbTranslate\"\r\n [fdMenuTrigger]=\"mobileCommandsMenu\"\r\n ></button>\r\n <fd-menu #mobileCommandsMenu [mobile]=\"true\">\r\n @for(node of mobileCommandNodes; track node.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: node, parentSubmenu: undefined, rootMenu: mobileCommandsMenu }\r\n \"\r\n ></ng-container>\r\n }\r\n <ng-template\r\n #mobileCommandTemplate\r\n let-item=\"item\"\r\n let-parentSubmenu=\"parentSubmenu\"\r\n let-rootMenu=\"rootMenu\"\r\n >\r\n <li\r\n fd-menu-item\r\n [submenu]=\"item.children?.length ? submenu : undefined\"\r\n [parentSubmenu]=\"parentSubmenu\"\r\n >\r\n @if(item.children?.length){\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ item.label | bbbTranslate }}</span>\r\n <fd-menu-addon [submenuIndicator]=\"true\"></fd-menu-addon>\r\n </div>\r\n } @else {\r\n <a\r\n fd-menu-interactive\r\n href=\"\"\r\n [class.shellbar-command-action--image-glyph]=\"item.useImageGlyph\"\r\n (click)=\"$event.preventDefault(); rootMenu.close(); item.callback?.()\"\r\n >\r\n @if(item.useImageGlyph){\r\n <img\r\n class=\"shellbar-command-action__image\"\r\n [src]=\"item.glyph\"\r\n [alt]=\"item.label | bbbTranslate\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n <span fd-menu-title class=\"shellbar-command-action__label\">{{\r\n item.label | bbbTranslate\r\n }}</span>\r\n </a>\r\n }\r\n </li>\r\n <fd-submenu #submenu>\r\n @if(item.children?.length){ @for(subItem of item.children; track subItem.key) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mobileCommandTemplate;\r\n context: { item: subItem, parentSubmenu: submenu, rootMenu: rootMenu }\r\n \"\r\n ></ng-container>\r\n } }\r\n </fd-submenu>\r\n </ng-template>\r\n </fd-menu>\r\n }\r\n </fd-shellbar-context-area>\r\n\r\n @if(inputEnableSearch()){\r\n <fdp-search-field\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (inputChange)=\"onSearchInputChange($event)\"\r\n [suggestions]=\"suggestions\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n }\r\n <fd-shellbar-actions\r\n #shellbarActions\r\n (searchOpen)=\"onSearchOpen($event)\"\r\n [class.flat-buttons]=\"flatButtons?.length && !showSearch()\"\r\n >\r\n @if(deviceSize !== 's' && userLoggedIn && date){\r\n <span class=\"bt-shellbar-date\" [title]=\"date.full\">\r\n <fd-icon class=\"bt-shellbar-date__icon\" glyph=\"calendar\" [attr.aria-hidden]=\"true\"></fd-icon>\r\n <span class=\"bt-shellbar-date__text\">{{ date.compact }}</span>\r\n </span>\r\n }\r\n <fd-user-menu>\r\n <fd-user-menu-control>\r\n <fd-avatar\r\n size=\"xs\"\r\n [circle]=\"true\"\r\n [attr.ariaLabel]=\"displayName\"\r\n [image]=\"userInfo?.Url\"\r\n ></fd-avatar>\r\n </fd-user-menu-control>\r\n <fd-user-menu-body>\r\n <div fd-user-menu-header>\r\n <fd-avatar\r\n [circle]=\"true\"\r\n [size]=\"deviceSize\"\r\n [label]=\"userInfo?.Url ? '' : displayName\"\r\n zoomGlyph=\"\"\r\n title=\"Edit avatar\"\r\n [image]=\"userInfo?.Url\"\r\n ></fd-avatar>\r\n <div fd-user-menu-header-container>\r\n <div fd-user-menu-user-name>{{ displayName }}</div>\r\n @for(item of userInfo?.Sublines;track item){\r\n <div fd-user-menu-subline>{{ item }}</div>\r\n }\r\n </div>\r\n @if(profileDynamicCommandText){\r\n <button\r\n fd-button\r\n [label]=\"profileDynamicCommandText || 'Edit' | bbbTranslate\"\r\n [glyph]=\"profileDynamicCommandIcon || 'edit'\"\r\n [attr.ariaLabel]=\"'\u0648\u06CC\u0631\u0627\u06CC\u0634 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644'\"\r\n [dynCommand]=\"profileDynamicCommand\"\r\n bodyClick\r\n ></button>\r\n }\r\n </div>\r\n <div fd-user-menu-content-container>\r\n @if(userMenu?.length){\r\n <fd-panel transparent noRadius [fixed]=\"true\" class=\"hide-panel-header\"> </fd-panel>}\r\n\r\n <fd-user-menu-list>\r\n @for(item of userMenu;track item.text){\r\n <li fd-user-menu-list-item [icon]=\"item.icon\" [text]=\"item.text\" (click)=\"item.callback()\"></li>\r\n }\r\n </fd-user-menu-list>\r\n </div>\r\n </fd-user-menu-body>\r\n\r\n <fd-user-menu-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n @for(item of footerButtons;track item.text){\r\n <button\r\n fd-button\r\n [label]=\"item.text\"\r\n fdType=\"transparent\"\r\n [glyph]=\"item.icon\"\r\n [attr.ariaLabel]=\"item.text\"\r\n (click)=\"item.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n </div>\r\n </fd-user-menu-footer>\r\n </fd-user-menu>\r\n @for (action of actions; track action.label) {\r\n <fd-shellbar-action\r\n [glyph]=\"action.glyph\"\r\n [callback]=\"action.callback\"\r\n [label]=\"action.label\"\r\n [notificationLabel]=\"action.notificationLabel\"\r\n [notificationCount]=\"action.notificationCount\"\r\n >\r\n </fd-shellbar-action>\r\n\r\n } @if (!settings?.HideLanguage && multiLanguages && userLoggedIn) {\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @if (deviceSize !== 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if (deviceSize === 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notifications' | bbbTranslate\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\r\n [callback]=\"onBellNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if(flatButtons?.length){\r\n <div class=\"tw-flex tw-gap-1\">\r\n @if (!settings?.HideLanguage && multiLanguages){\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @for(btn of flatButtons;track btn.label){\r\n <button\r\n fd-button\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\r\n fdType=\"emphasized\"\r\n (click)=\"btn.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n </fd-shellbar-actions>\r\n <fd-popover\r\n [(isOpen)]=\"isOpenNotificatoin\"\r\n [noArrow]=\"true\"\r\n placement=\"top-end\"\r\n title=\"Notification Popover\"\r\n [appendTo]=\"el\"\r\n [mobile]=\"false\"\r\n #popoverComponent\r\n >\r\n <fd-popover-control>\r\n <!-- <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action> -->\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\r\n @if(isOpenNotificatoin){\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-shellbar>\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<div\r\n *ngIf=\"sideMenuTemplate\"\r\n class=\"sidemenu-h tw-fixed tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\r\n [class.tw-w-screen]=\"isMobile\"\r\n [class.-tw-right-full]=\"isMobile\"\r\n [class.tw-w-96]=\"!isMobile\"\r\n [class.-tw-right-96]=\"!isMobile && rtl\"\r\n [class.!tw-right-0]=\"rtl && isOpenQuickAccess\"\r\n [class.-tw-left-96]=\"!isMobile && !rtl\"\r\n [class.!tw-left-0]=\"!rtl && isOpenQuickAccess\"\r\n (click)=\"$event.stopPropagation()\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\r\n</div>\r\n\r\n<fd-menu #menu>\r\n <ul fd-list>\r\n @for (culture of cultures | keyvalue; track culture) {\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\r\n <span fd-list-title class=\"tw-flex tw-items-center tw-gap-1\">\r\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" loading=\"lazy\" />\r\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</fd-menu>\r\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\r\n <bt-notification-group\r\n [notificationReport]=\"notificationReport\"\r\n [notificationCount]=\"notificationCount\"\r\n (actionClick)=\"popoverComponent.close()\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bt-notification-group>\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"mobile\">\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n<ng-template #searchContent>\r\n <ul fd-list [byline]=\"true\">\r\n @for (item of (suggestions | suggestionsFilter:selectedSuggestionFiltertype) ; track item.data.path) {\r\n <li\r\n fd-list-item\r\n [interactive]=\"true\"\r\n (click)=\"onSearchItemClick(item)\"\r\n class=\"!tw-ps-1\"\r\n [class.!tw-bg-blue-600]=\"item.data.source === 'Report'\"\r\n [class.!tw-bg-green-600]=\"item.data.source === 'Command'\"\r\n [class.!tw-bg-gray-600]=\"item.data.source !== 'Command' && item.data.source !== 'Report'\"\r\n >\r\n <a fd-list-link [attr.href]=\"!item.data.url ? null : item.data.url\" (click)=\"onSearchLink(item, $event)\">\r\n <div fd-list-content>\r\n <div fd-list-title>{{ item.value }}</div>\r\n <div fd-list-byline>{{ item.data.path }}</div>\r\n </div>\r\n <span fd-list-secondary>\r\n @if(item.data.canPin){\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"'AddToFavorite' | bbbTranslate\"\r\n [title]=\"'Add To Favorite' | bbbTranslate\"\r\n fd-button\r\n glyph=\"shortcut\"\r\n (click)=\"oFavoriteLink(item, $event)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</ng-template>\r\n<ng-template #searchSubHeader>\r\n <div class=\"tw-flex tw-flex-col tw-w-full\">\r\n <fd-input-group\r\n glyph=\"search\"\r\n fdkInitialFocus\r\n glyphAriaLabel=\"Submit\"\r\n [button]=\"true\"\r\n (input)=\"onSearchInputChange($event)\"\r\n >\r\n </fd-input-group>\r\n @if(suggestions.length){\r\n <div class=\"tw-flex tw-gap-4 tw-overflow-x-auto suggestion-filters-cat tw-pb-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0647\u0645\u0647', count: (suggestions | suggestionsCountFilter: 'all'), type: '' }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645', count: (suggestions | suggestionsCountFilter: 'subsystem'), type: '' }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n count: (suggestions | suggestionsCountFilter: 'navgroup'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0632\u0627\u0631\u0634\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'report'),\r\n type: 'information'\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u062F\u0633\u062A\u0648\u0631\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'command'),\r\n type: 'success'\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template #catTag let-name=\"name\" let-count=\"count\" let-type=\"type\">\r\n @if(count && count!==' '){\r\n <div fd-generic-tag [name]=\"name\" [value]=\"count\" (click)=\"selectedSuggestionFiltertype = name\" [type]=\"type\"></div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative}:host fd-user-menu{background-color:transparent}:host fd-shellbar-actions.flat-buttons{flex-direction:row-reverse}:host.hide-user-menu fd-shellbar-actions ::ng-deep .fd-user-menu{display:none}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep .fd-shellbar--s .fd-shellbar__title{display:block;max-width:10rem;text-wrap:auto;font-size:.8rem}: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 ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem;margin:0!important}.extra-button-wrapper{display:flex;height:100%;align-items:center;position:absolute;left:10px;top:0;gap:.285rem}.bt-shellbar-date{display:inline-flex;align-items:center;gap:.285rem;flex-shrink:0;white-space:nowrap;padding:0 .5rem;font-size:.875rem;line-height:1;color:var(--sapShell_InteractiveTextColor, #d1e8ff);cursor:default;-webkit-user-select:none;user-select:none}.bt-shellbar-date__icon{font-size:1rem;opacity:.85}.bt-shellbar-date__text{font-variant-numeric:tabular-nums}.hide-panel-header ::ng-deep .fd-panel__header{min-height:auto;height:auto}:host ::ng-deep .shellbar-command-action--image-glyph{gap:.375rem}:host ::ng-deep .shellbar-command-action--image-glyph ::ng-deep fd-icon{display:none}.shellbar-command-action__image{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}[fd-menu-title],.shellbar-command-action__label{white-space:nowrap!important}:host ::ng-deep .fd-shellbar{height:var(--shellbar-height)}:host ::ng-deep fd-shellbar.s .fd-shellbar__product{max-width:120px}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area{justify-content:center!important}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area .fd-shellbar__action--shrink button{color:var(--fdButtonIconColor, var(--sapShell_InteractiveTextColor))}\n"] }]
|
|
3615
3813
|
}], ctorParameters: () => [], propDecorators: { searchDialogContent: [{
|
|
3616
3814
|
type: ViewChild,
|
|
3617
3815
|
args: ['searchContent', { read: TemplateRef }]
|
|
@@ -3964,11 +4162,11 @@ class ShellbarComponent extends BaseComponent {
|
|
|
3964
4162
|
BarsaApi.Bw.NavigateTo('/');
|
|
3965
4163
|
}
|
|
3966
4164
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ShellbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3967
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ShellbarComponent, isStandalone: false, selector: "bt-shellbar", host: { properties: { "class.isOpenQuickAccess": "this.isOpenQuickAccess" } }, 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: "@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n [class.service-desk]=\"isServiceDesk\"\r\n cssRootVariable\r\n [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n [notificationReport]=\"notificationReport\"\r\n [userInfo]=\"userInfo$ | async\"\r\n [userLoggedIn]=\"true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [deviceSize]=\"deviceSize\"\r\n [date]=\"date$ | async\"\r\n [shellbarData]=\"shellbarData\"\r\n [cssStyle]=\"cssStyles\"\r\n productMenuControl=\"\"\r\n [settings]=\"settings\"\r\n [suggestions]=\"suggestions\"\r\n [informativeText]=\"
|
|
4165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ShellbarComponent, isStandalone: false, selector: "bt-shellbar", host: { properties: { "class.isOpenQuickAccess": "this.isOpenQuickAccess" } }, 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: "@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n [class.service-desk]=\"isServiceDesk\"\r\n cssRootVariable\r\n [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n [notificationReport]=\"notificationReport\"\r\n [userInfo]=\"userInfo$ | async\"\r\n [userLoggedIn]=\"true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [deviceSize]=\"deviceSize\"\r\n [date]=\"date$ | async\"\r\n [shellbarData]=\"shellbarData\"\r\n [cssStyle]=\"cssStyles\"\r\n productMenuControl=\"\"\r\n [settings]=\"settings\"\r\n [suggestions]=\"suggestions\"\r\n [informativeText]=\"settings?.InformativeText\"\r\n [informativeStatus]=\"settings?.InformativeStatus\"\r\n [hideProductMenu]=\"settings?.HideProductMenu\"\r\n [hideNotifications]=\"settings?.HideNotifications\"\r\n [profileDynamicCommand]=\"shellbarData.ProfileDynamicCommand\"\r\n [profileDynamicCommandText]=\"shellbarData.ProfileDynamicCommandText\"\r\n [profileDynamicCommandIcon]=\"shellbarData.ProfileDynamicCommandIcon\"\r\n [isMobile]=\"isMobile\"\r\n [displayName]=\"displayName\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [notificationsUnreadCount]=\"notificationsUnreadCount > 0 ? notificationsUnreadCount : undefined\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [actions]=\"actions\"\r\n [footerButtons]=\"userMenu | filter: { inFooter: true }\"\r\n [userMenu]=\"userMenu | filter: { inFooter: false }\"\r\n [productSwitcher]=\"productSwitcherItems\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"shellbarData?.EnableSearch\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [sideMenuTemplate]=\"\r\n sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0' ? QuickAccessTemplate : null\r\n \"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\r\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n (notifiationActionClick)=\"onNotificationAction($event)\"\r\n (appTileGroupChange)=\"onAppTileGroupChange($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} } } } @else{ @if (settings?.AllowAnonymous) {\r\n<bt-barsa-shellbar\r\n class=\"hide-user-menu\"\r\n [notificationReport]=\"notificationReport\"\r\n [cssStyle]=\"cssStyles\"\r\n [userLoggedIn]=\"false\"\r\n [suggestions]=\"suggestions\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [userMenu]=\"userMenu\"\r\n [logo]=\"logo\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [shellbarData]=\"shellbarData\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [isMobile]=\"isMobile\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [actions]=\"actions\"\r\n [userMenu]=\"[]\"\r\n productMenuControl=\"\"\r\n [productSwitcher]=\"[]\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"shellbarData?.EnableSearch\"\r\n [settings]=\"settings\"\r\n [flatButtons]=\"userMenu\"\r\n [cultures]=\"cultures\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} }\r\n<ng-template #QuickAccessTemplate>\r\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\r\n <bnrc-report-container [settings]=\"sidebarSettings\"> </bnrc-report-container>\r\n</ng-template>\r\n@if(isOpenQuickAccess) { @if(sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0'){\r\n\r\n<div\r\n class=\"sidemenu-h tw-fixed rtl:tw-right-0 ltr:tw-left-0 !tw-z-[90] tw-w-screen\"\r\n (click)=\"isOpenQuickAccess = false\"\r\n></div>\r\n\r\n}\r\n\r\n<!-- <div class=\"tw-h-full\" [class.s]=\"(deviceSize$ | async) === 's'\">\r\n \r\n </div> -->\r\n}\r\n", styles: [":host{display:block;position:relative}:host #menu_btn{background-color:transparent;border-color:transparent}:host ::ng-deep .sidemenu-h{top:var(--shellbar-height)}:host ::ng-deep .sidemenu-h>div.s{z-index:100!important}:host ::ng-deep .sidemenu-h{height:calc(100vh - var(--shellbar-height))}:host ::ng-deep .sidemenu-h ::ng-deep bsu-barsa-ulv-main{background-color:var(--sapBaseColor)}\n"], dependencies: [{ kind: "component", type: i5.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "directive", type: i5.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "directive", type: i5.DynamicRootVariableDirective, selector: "[cssRootVariable]", inputs: ["cssVariableName", "cssVariableValue", "disable"], exportAs: ["cssRootVariable"] }, { kind: "component", type: BarsaShellbarComponent, selector: "bt-barsa-shellbar", inputs: ["showSidebar", "multiLanguages", "userLoggedIn", "settings", "productMenuControl", "dastoratSarasari", "workflowMenuItems", "groupedCommandMenus", "deviceSize", "cultures", "shellbarData", "notificationsUnreadCount", "productMenuItems1", "bodyClick", "logo", "actions", "userMenu", "footerButtons", "productSwitcher", "subtitle", "isMobile", "hideShellbarActions", "flatButtons", "isTablet", "userInfo", "isDesktop", "informativeText", "informativeStatus", "hideProductMenu", "enableSearch", "hideNotifications", "isServiceDesk", "isOpenQuickAccess", "sideMenuTemplate", "notificationReport", "profileDynamicCommand", "profileDynamicCommandText", "profileDynamicCommandIcon", "displayName", "hideBranding", "showSearchInSystem", "rtl", "suggestions", "date"], outputs: ["appTileGroupChange", "searchItemClick", "searchInput", "isOpenQuickAccessChanged", "openNotificationPanel", "openQuickAccessPanel", "cultureChanged", "notifiationActionClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.FilterPipe, name: "filter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3968
4166
|
}
|
|
3969
4167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ShellbarComponent, decorators: [{
|
|
3970
4168
|
type: Component,
|
|
3971
|
-
args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n [class.service-desk]=\"isServiceDesk\"\r\n cssRootVariable\r\n [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n [notificationReport]=\"notificationReport\"\r\n [userInfo]=\"userInfo$ | async\"\r\n [userLoggedIn]=\"true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [deviceSize]=\"deviceSize\"\r\n [date]=\"date$ | async\"\r\n [shellbarData]=\"shellbarData\"\r\n [cssStyle]=\"cssStyles\"\r\n productMenuControl=\"\"\r\n [settings]=\"settings\"\r\n [suggestions]=\"suggestions\"\r\n [informativeText]=\"
|
|
4169
|
+
args: [{ selector: 'bt-shellbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n [class.service-desk]=\"isServiceDesk\"\r\n cssRootVariable\r\n [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n [notificationReport]=\"notificationReport\"\r\n [userInfo]=\"userInfo$ | async\"\r\n [userLoggedIn]=\"true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [deviceSize]=\"deviceSize\"\r\n [date]=\"date$ | async\"\r\n [shellbarData]=\"shellbarData\"\r\n [cssStyle]=\"cssStyles\"\r\n productMenuControl=\"\"\r\n [settings]=\"settings\"\r\n [suggestions]=\"suggestions\"\r\n [informativeText]=\"settings?.InformativeText\"\r\n [informativeStatus]=\"settings?.InformativeStatus\"\r\n [hideProductMenu]=\"settings?.HideProductMenu\"\r\n [hideNotifications]=\"settings?.HideNotifications\"\r\n [profileDynamicCommand]=\"shellbarData.ProfileDynamicCommand\"\r\n [profileDynamicCommandText]=\"shellbarData.ProfileDynamicCommandText\"\r\n [profileDynamicCommandIcon]=\"shellbarData.ProfileDynamicCommandIcon\"\r\n [isMobile]=\"isMobile\"\r\n [displayName]=\"displayName\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [notificationsUnreadCount]=\"notificationsUnreadCount > 0 ? notificationsUnreadCount : undefined\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [actions]=\"actions\"\r\n [footerButtons]=\"userMenu | filter: { inFooter: true }\"\r\n [userMenu]=\"userMenu | filter: { inFooter: false }\"\r\n [productSwitcher]=\"productSwitcherItems\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"shellbarData?.EnableSearch\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [sideMenuTemplate]=\"\r\n sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0' ? QuickAccessTemplate : null\r\n \"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\r\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n (notifiationActionClick)=\"onNotificationAction($event)\"\r\n (appTileGroupChange)=\"onAppTileGroupChange($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} } } } @else{ @if (settings?.AllowAnonymous) {\r\n<bt-barsa-shellbar\r\n class=\"hide-user-menu\"\r\n [notificationReport]=\"notificationReport\"\r\n [cssStyle]=\"cssStyles\"\r\n [userLoggedIn]=\"false\"\r\n [suggestions]=\"suggestions\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [userMenu]=\"userMenu\"\r\n [logo]=\"logo\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [shellbarData]=\"shellbarData\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [isMobile]=\"isMobile\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [actions]=\"actions\"\r\n [userMenu]=\"[]\"\r\n productMenuControl=\"\"\r\n [productSwitcher]=\"[]\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"shellbarData?.EnableSearch\"\r\n [settings]=\"settings\"\r\n [flatButtons]=\"userMenu\"\r\n [cultures]=\"cultures\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} }\r\n<ng-template #QuickAccessTemplate>\r\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\r\n <bnrc-report-container [settings]=\"sidebarSettings\"> </bnrc-report-container>\r\n</ng-template>\r\n@if(isOpenQuickAccess) { @if(sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0'){\r\n\r\n<div\r\n class=\"sidemenu-h tw-fixed rtl:tw-right-0 ltr:tw-left-0 !tw-z-[90] tw-w-screen\"\r\n (click)=\"isOpenQuickAccess = false\"\r\n></div>\r\n\r\n}\r\n\r\n<!-- <div class=\"tw-h-full\" [class.s]=\"(deviceSize$ | async) === 's'\">\r\n \r\n </div> -->\r\n}\r\n", styles: [":host{display:block;position:relative}:host #menu_btn{background-color:transparent;border-color:transparent}:host ::ng-deep .sidemenu-h{top:var(--shellbar-height)}:host ::ng-deep .sidemenu-h>div.s{z-index:100!important}:host ::ng-deep .sidemenu-h{height:calc(100vh - var(--shellbar-height))}:host ::ng-deep .sidemenu-h ::ng-deep bsu-barsa-ulv-main{background-color:var(--sapBaseColor)}\n"] }]
|
|
3972
4170
|
}], ctorParameters: () => [], propDecorators: { comboboxComponent: [{
|
|
3973
4171
|
type: ViewChild,
|
|
3974
4172
|
args: [ComboboxComponent]
|
|
@@ -4523,7 +4721,8 @@ const directives = [
|
|
|
4523
4721
|
TileStyleDirective,
|
|
4524
4722
|
TileSizeDirective,
|
|
4525
4723
|
TileDynamicCommandDirective,
|
|
4526
|
-
TileClassDirective
|
|
4724
|
+
TileClassDirective,
|
|
4725
|
+
AppTileClassDirective
|
|
4527
4726
|
];
|
|
4528
4727
|
function addTilesPageSidebar(_router) {
|
|
4529
4728
|
const config = _router.config;
|
|
@@ -4592,7 +4791,8 @@ class BarsaTilesModule extends BaseModule {
|
|
|
4592
4791
|
TileStyleDirective,
|
|
4593
4792
|
TileSizeDirective,
|
|
4594
4793
|
TileDynamicCommandDirective,
|
|
4595
|
-
TileClassDirective,
|
|
4794
|
+
TileClassDirective,
|
|
4795
|
+
AppTileClassDirective, NotificationGroupComponent,
|
|
4596
4796
|
NotificationGroupHeaderComponent,
|
|
4597
4797
|
DynamicTileGroupComponent], imports: [CommonModule,
|
|
4598
4798
|
FormsModule,
|
|
@@ -4763,5 +4963,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
4763
4963
|
* Generated bundle index. Do not edit.
|
|
4764
4964
|
*/
|
|
4765
4965
|
|
|
4766
|
-
export { ActionItemComponent, ActionsLinkComponent, AppFinderAppListComponent, AppFinderComponent, AppFinderGroupComponent, BarsaPinAppComponent, BarsaShellbarComponent, BarsaTileGroupPageComponent, BarsaTileSidebarPageComponent, BarsaTilesModule, BaseBtTileComponent, BaseTileComponent, CardTileComponent, ChangeAppTileComponent, CreateAppGroupComponent, DynamicTileGroupComponent, FeedTileComponent, FooterEditTileComponent, FooterTileComponent, FormAppFinderComponent, FormTileComponent, GroupTilesPipe, LogoTileComponent, MegamenuPipe, MicroTileChartAreaComponent, MicroTileChartBarComponent, MicroTileChartBulletComponent, MicroTileChartCircularComponent, MicroTileChartComparisonComponent, MicroTileChartLineComponent, MicroTileChartStackbarComponent, NewsTileComponent, NumericTileComponent, PinTileComponent, PopoverAppFinderComponent, ProfileTileComponent, ReportTileComponent, SemantiToButtonColorPipe, ShellbarComponent, SimpleTileComponent, SuggestionsCountFilterPipe, SuggestionsFilterPipe, TileClassDirective, TileComponent, TileHomeFilterPipe, TilePropPipe, TilesService, TilesViewerComponent, TilesViewerContainerComponent, TilesViewerGroupComponent, TilesViewerMegamenuComponent, TilesViewerService, addTilesPageSidebar };
|
|
4966
|
+
export { ActionItemComponent, ActionsLinkComponent, AppFinderAppListComponent, AppFinderComponent, AppFinderGroupComponent, AppTileClassDirective, BarsaPinAppComponent, BarsaShellbarComponent, BarsaTileGroupPageComponent, BarsaTileSidebarPageComponent, BarsaTilesModule, BaseBtTileComponent, BaseTileComponent, CardTileComponent, ChangeAppTileComponent, CreateAppGroupComponent, DynamicTileGroupComponent, FeedTileComponent, FooterEditTileComponent, FooterTileComponent, FormAppFinderComponent, FormTileComponent, GroupTilesPipe, LogoTileComponent, MegamenuPipe, MicroTileChartAreaComponent, MicroTileChartBarComponent, MicroTileChartBulletComponent, MicroTileChartCircularComponent, MicroTileChartComparisonComponent, MicroTileChartLineComponent, MicroTileChartStackbarComponent, NewsTileComponent, NumericTileComponent, PinTileComponent, PopoverAppFinderComponent, ProfileTileComponent, ReportTileComponent, SemantiToButtonColorPipe, ShellbarComponent, SimpleTileComponent, SuggestionsCountFilterPipe, SuggestionsFilterPipe, TileClassDirective, TileComponent, TileHomeFilterPipe, TilePropPipe, TilesService, TilesViewerComponent, TilesViewerContainerComponent, TilesViewerGroupComponent, TilesViewerMegamenuComponent, TilesViewerService, addTilesPageSidebar };
|
|
4767
4967
|
//# sourceMappingURL=barsa-tiles.mjs.map
|