barsa-tiles 3.0.11 → 3.0.12
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 +48 -10
- package/fesm2022/barsa-tiles.mjs.map +1 -1
- package/package.json +1 -1
- package/types/barsa-tiles.d.ts +15 -2
package/fesm2022/barsa-tiles.mjs
CHANGED
|
@@ -3422,6 +3422,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3422
3422
|
class NotificationGroupComponent extends BaseComponent {
|
|
3423
3423
|
constructor() {
|
|
3424
3424
|
super();
|
|
3425
|
+
/** از تنظیمات شلبار سرور؛ وقتی true است فقط تب «By Date» نمایش داده میشود */
|
|
3426
|
+
this.dateGroupOnly = false;
|
|
3425
3427
|
this._deviceSize = '';
|
|
3426
3428
|
this.viewed = new EventEmitter();
|
|
3427
3429
|
this.remove = new EventEmitter();
|
|
@@ -3434,6 +3436,7 @@ class NotificationGroupComponent extends BaseComponent {
|
|
|
3434
3436
|
{ label: 'By Type', title: 'Subject' },
|
|
3435
3437
|
{ label: 'By Priority', title: 'Priority' }
|
|
3436
3438
|
];
|
|
3439
|
+
this.visibleTabs = this.tabList;
|
|
3437
3440
|
this.viewedNotifications = [];
|
|
3438
3441
|
this.reportSetting = signal({
|
|
3439
3442
|
RelatedReport: { Id: '0', $Caption: '' },
|
|
@@ -3464,7 +3467,10 @@ class NotificationGroupComponent extends BaseComponent {
|
|
|
3464
3467
|
}
|
|
3465
3468
|
ngOnChanges(changes) {
|
|
3466
3469
|
super.ngOnChanges(changes);
|
|
3467
|
-
const { notifications } = changes;
|
|
3470
|
+
const { notifications, dateGroupOnly } = changes;
|
|
3471
|
+
if (dateGroupOnly) {
|
|
3472
|
+
this._updateVisibleTabs();
|
|
3473
|
+
}
|
|
3468
3474
|
if (notifications && !notifications.firstChange) {
|
|
3469
3475
|
this._cdr.detectChanges();
|
|
3470
3476
|
}
|
|
@@ -3495,12 +3501,24 @@ class NotificationGroupComponent extends BaseComponent {
|
|
|
3495
3501
|
_trackByTitle(_index, _) {
|
|
3496
3502
|
return _index;
|
|
3497
3503
|
}
|
|
3504
|
+
_updateVisibleTabs() {
|
|
3505
|
+
const dateTab = this.tabList.find((tab) => tab.title === 'CreationDateOnly');
|
|
3506
|
+
if (this.dateGroupOnly === true && dateTab) {
|
|
3507
|
+
this.visibleTabs = [dateTab];
|
|
3508
|
+
if (this._selectedTab !== dateTab.title) {
|
|
3509
|
+
this._selectedTab = dateTab.title;
|
|
3510
|
+
this._setGroupBy();
|
|
3511
|
+
}
|
|
3512
|
+
return;
|
|
3513
|
+
}
|
|
3514
|
+
this.visibleTabs = this.tabList;
|
|
3515
|
+
}
|
|
3498
3516
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NotificationGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3499
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: NotificationGroupComponent, isStandalone: false, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount", notificationReport: "notificationReport" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", showEvent: "showEvent", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, providers: [GroupByService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fdp-icon-tab-bar\r\n size=\"s\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n>\r\n @for (tab of
|
|
3517
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: NotificationGroupComponent, isStandalone: false, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount", notificationReport: "notificationReport", dateGroupOnly: "dateGroupOnly" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", showEvent: "showEvent", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, providers: [GroupByService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fdp-icon-tab-bar\r\n size=\"s\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n>\r\n @for (tab of visibleTabs; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: 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: "component", type: i5.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3500
3518
|
}
|
|
3501
3519
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NotificationGroupComponent, decorators: [{
|
|
3502
3520
|
type: Component,
|
|
3503
|
-
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [GroupByService], template: "<fdp-icon-tab-bar\r\n size=\"s\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n>\r\n @for (tab of
|
|
3521
|
+
args: [{ selector: 'bt-notification-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [GroupByService], template: "<fdp-icon-tab-bar\r\n size=\"s\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n>\r\n @for (tab of visibleTabs; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"] }]
|
|
3504
3522
|
}], ctorParameters: () => [], propDecorators: { notifications: [{
|
|
3505
3523
|
type: Input
|
|
3506
3524
|
}], loading: [{
|
|
@@ -3511,6 +3529,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3511
3529
|
type: Input
|
|
3512
3530
|
}], notificationReport: [{
|
|
3513
3531
|
type: Input
|
|
3532
|
+
}], dateGroupOnly: [{
|
|
3533
|
+
type: Input
|
|
3514
3534
|
}], _deviceSize: [{
|
|
3515
3535
|
type: HostBinding,
|
|
3516
3536
|
args: ['class']
|
|
@@ -3535,17 +3555,19 @@ class SuggestionsFilterPipe {
|
|
|
3535
3555
|
if (!suggestions || !suggestions.length) {
|
|
3536
3556
|
return [];
|
|
3537
3557
|
}
|
|
3558
|
+
// نتایج hidden (گرههای عمق ۱ ناوبر) در همهی شاخهها کنار گذاشته میشوند تا طول فهرست با عدد chip یکی باشد.
|
|
3559
|
+
const visible = suggestions.filter((c) => !c.data.hidden);
|
|
3538
3560
|
switch (filterType) {
|
|
3539
3561
|
case 'subsystem':
|
|
3540
|
-
return
|
|
3562
|
+
return visible.filter((c) => c.data.original.IsRoot);
|
|
3541
3563
|
case 'navgroup':
|
|
3542
|
-
return
|
|
3564
|
+
return visible.filter((c) => !c.data.original.IsRoot && c.data.source === 'Navigator');
|
|
3543
3565
|
case 'report':
|
|
3544
|
-
return
|
|
3566
|
+
return visible.filter((c) => !c.data.original.IsRoot && c.data.source === 'Report');
|
|
3545
3567
|
case 'command':
|
|
3546
|
-
return
|
|
3568
|
+
return visible.filter((c) => c.data.source === 'Command');
|
|
3547
3569
|
}
|
|
3548
|
-
return
|
|
3570
|
+
return visible;
|
|
3549
3571
|
}
|
|
3550
3572
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SuggestionsFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3551
3573
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SuggestionsFilterPipe, isStandalone: false, name: "suggestionsFilter" }); }
|
|
@@ -3619,6 +3641,9 @@ class BarsaShellbarComponent extends BaseComponent {
|
|
|
3619
3641
|
this.openQuickAccessPanel = new EventEmitter();
|
|
3620
3642
|
this.cultureChanged = new EventEmitter();
|
|
3621
3643
|
this.notifiationActionClick = new EventEmitter();
|
|
3644
|
+
/** گروه فعال فیلتر نتایج جستجو؛ `null` یعنی «همه». signal است تا view داخل dialog (OnPush) رفرش شود. */
|
|
3645
|
+
this.selectedSuggestionFilter = signal(null, /* @ts-ignore */
|
|
3646
|
+
...(ngDevMode ? [{ debugName: "selectedSuggestionFilter" }] : /* istanbul ignore next */ []));
|
|
3622
3647
|
this.isOpenNotificatoin = false;
|
|
3623
3648
|
this.expanded = false;
|
|
3624
3649
|
this.searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];
|
|
@@ -3703,7 +3728,20 @@ class BarsaShellbarComponent extends BaseComponent {
|
|
|
3703
3728
|
const x = this._portalService.DefaultPage;
|
|
3704
3729
|
this._router.navigateByUrl(`${x?.Route ?? ''}/search?term=` + e.text);
|
|
3705
3730
|
}
|
|
3731
|
+
/**
|
|
3732
|
+
* کلیک روی chip گروه: `'all'` فیلتر را پاک میکند، کلیک دوباره روی گروه فعال هم همینطور،
|
|
3733
|
+
* و گروه دیگر جای گروه فعلی را میگیرد (تکانتخابی).
|
|
3734
|
+
*/
|
|
3735
|
+
onSuggestionFilterClick(filter) {
|
|
3736
|
+
if (filter === 'all' || this.selectedSuggestionFilter() === filter) {
|
|
3737
|
+
this.selectedSuggestionFilter.set(null);
|
|
3738
|
+
return;
|
|
3739
|
+
}
|
|
3740
|
+
this.selectedSuggestionFilter.set(filter);
|
|
3741
|
+
}
|
|
3706
3742
|
onOpenSearchDialog() {
|
|
3743
|
+
// باز کردن دوبارهی دیالوگ یک جستجوی تازه است؛ فیلتر به «همه» برمیگردد.
|
|
3744
|
+
this.selectedSuggestionFilter.set(null);
|
|
3707
3745
|
if (this.userLoggedIn) {
|
|
3708
3746
|
this._favoriteItems.load();
|
|
3709
3747
|
}
|
|
@@ -3821,11 +3859,11 @@ class BarsaShellbarComponent extends BaseComponent {
|
|
|
3821
3859
|
this.cultureChanged.emit(culture);
|
|
3822
3860
|
}
|
|
3823
3861
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BarsaShellbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3824
|
-
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){ @let favorite = isFavorite(item);\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [title]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [attr.aria-pressed]=\"favorite\"\r\n fd-button\r\n [glyph]=\"favorite ? 'favorite' : 'unfavorite'\"\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", "notification", "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", "role", "ariaDescription"] }, { 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", "busy", "isOpen"], outputs: ["productsChange", "itemClicked", "isOpenChange"] }, { kind: "component", type: i15.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i15.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight", "ariaModal"], 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 }); }
|
|
3862
|
+
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 [dateGroupOnly]=\"shellbarData?.NotificationGroupByDateOnly === true\"\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:(selectedSuggestionFilter() ?? 'all')) ; 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){ @let favorite = isFavorite(item);\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [title]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [attr.aria-pressed]=\"favorite\"\r\n fd-button\r\n [glyph]=\"favorite ? 'favorite' : 'unfavorite'\"\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 || selectedSuggestionFilter()){\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: {\r\n name: '\u0647\u0645\u0647',\r\n filter: 'all',\r\n active: selectedSuggestionFilter() === null,\r\n count: (suggestions | suggestionsCountFilter: 'all'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645',\r\n filter: 'subsystem',\r\n active: selectedSuggestionFilter() === 'subsystem',\r\n count: (suggestions | suggestionsCountFilter: 'subsystem'),\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\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n filter: 'navgroup',\r\n active: selectedSuggestionFilter() === 'navgroup',\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 filter: 'report',\r\n active: selectedSuggestionFilter() === 'report',\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 filter: 'command',\r\n active: selectedSuggestionFilter() === 'command',\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-filter=\"filter\" let-active=\"active\" let-count=\"count\" let-type=\"type\">\r\n <!-- \u00AB\u0647\u0645\u0647\u00BB \u0648 \u06AF\u0631\u0648\u0647 \u0641\u0639\u0627\u0644 \u0647\u0645\u06CC\u0634\u0647 \u062F\u06CC\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F (\u0641\u0639\u0627\u0644 \u0628\u0627 \u0635\u0641\u0631 \u0646\u062A\u06CC\u062C\u0647 \u00AB\u06F0\u00BB \u0646\u0634\u0627\u0646 \u0645\u06CC\u200C\u062F\u0647\u062F)\u061B \u06AF\u0631\u0648\u0647 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0641\u0642\u0637 \u0628\u0627 \u0646\u062A\u06CC\u062C\u0647 -->\r\n @if(filter === 'all' || active || (count && count!==' ')){\r\n <div\r\n fd-generic-tag\r\n class=\"bt-suggestion-filter\"\r\n [class.bt-suggestion-filter--active]=\"active\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-pressed]=\"active\"\r\n [name]=\"name\"\r\n [value]=\"count || '0'\"\r\n [type]=\"type\"\r\n (click)=\"onSuggestionFilterClick(filter)\"\r\n (keydown.enter)=\"onSuggestionFilterClick(filter); $event.preventDefault()\"\r\n (keydown.space)=\"onSuggestionFilterClick(filter); $event.preventDefault()\"\r\n ></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}.bt-suggestion-filter{cursor:pointer;flex-shrink:0}.bt-suggestion-filter--active{outline:.125rem solid var(--sapSelectedColor, var(--sapContent_FocusColor, currentColor));outline-offset:.0625rem;font-weight:700}.bt-suggestion-filter:focus-visible{box-shadow:0 0 0 .25rem var(--sapContent_FocusColor, currentColor)}: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", "notification", "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", "role", "ariaDescription"] }, { 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", "busy", "isOpen"], outputs: ["productsChange", "itemClicked", "isOpenChange"] }, { kind: "component", type: i15.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i15.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight", "ariaModal"], 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", "dateGroupOnly"], 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 }); }
|
|
3825
3863
|
}
|
|
3826
3864
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BarsaShellbarComponent, decorators: [{
|
|
3827
3865
|
type: Component,
|
|
3828
|
-
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){ @let favorite = isFavorite(item);\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [title]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [attr.aria-pressed]=\"favorite\"\r\n fd-button\r\n [glyph]=\"favorite ? 'favorite' : 'unfavorite'\"\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"] }]
|
|
3866
|
+
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 [dateGroupOnly]=\"shellbarData?.NotificationGroupByDateOnly === true\"\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:(selectedSuggestionFilter() ?? 'all')) ; 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){ @let favorite = isFavorite(item);\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n [ariaLabel]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [title]=\"(favorite ? '\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627' : '\u0627\u0641\u0632\u0648\u062F\u0646 \u0628\u0647 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627') | bbbTranslate\"\r\n [attr.aria-pressed]=\"favorite\"\r\n fd-button\r\n [glyph]=\"favorite ? 'favorite' : 'unfavorite'\"\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 || selectedSuggestionFilter()){\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: {\r\n name: '\u0647\u0645\u0647',\r\n filter: 'all',\r\n active: selectedSuggestionFilter() === null,\r\n count: (suggestions | suggestionsCountFilter: 'all'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645',\r\n filter: 'subsystem',\r\n active: selectedSuggestionFilter() === 'subsystem',\r\n count: (suggestions | suggestionsCountFilter: 'subsystem'),\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\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n filter: 'navgroup',\r\n active: selectedSuggestionFilter() === 'navgroup',\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 filter: 'report',\r\n active: selectedSuggestionFilter() === 'report',\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 filter: 'command',\r\n active: selectedSuggestionFilter() === 'command',\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-filter=\"filter\" let-active=\"active\" let-count=\"count\" let-type=\"type\">\r\n <!-- \u00AB\u0647\u0645\u0647\u00BB \u0648 \u06AF\u0631\u0648\u0647 \u0641\u0639\u0627\u0644 \u0647\u0645\u06CC\u0634\u0647 \u062F\u06CC\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F (\u0641\u0639\u0627\u0644 \u0628\u0627 \u0635\u0641\u0631 \u0646\u062A\u06CC\u062C\u0647 \u00AB\u06F0\u00BB \u0646\u0634\u0627\u0646 \u0645\u06CC\u200C\u062F\u0647\u062F)\u061B \u06AF\u0631\u0648\u0647 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0641\u0642\u0637 \u0628\u0627 \u0646\u062A\u06CC\u062C\u0647 -->\r\n @if(filter === 'all' || active || (count && count!==' ')){\r\n <div\r\n fd-generic-tag\r\n class=\"bt-suggestion-filter\"\r\n [class.bt-suggestion-filter--active]=\"active\"\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [attr.aria-pressed]=\"active\"\r\n [name]=\"name\"\r\n [value]=\"count || '0'\"\r\n [type]=\"type\"\r\n (click)=\"onSuggestionFilterClick(filter)\"\r\n (keydown.enter)=\"onSuggestionFilterClick(filter); $event.preventDefault()\"\r\n (keydown.space)=\"onSuggestionFilterClick(filter); $event.preventDefault()\"\r\n ></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}.bt-suggestion-filter{cursor:pointer;flex-shrink:0}.bt-suggestion-filter--active{outline:.125rem solid var(--sapSelectedColor, var(--sapContent_FocusColor, currentColor));outline-offset:.0625rem;font-weight:700}.bt-suggestion-filter:focus-visible{box-shadow:0 0 0 .25rem var(--sapContent_FocusColor, currentColor)}: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"] }]
|
|
3829
3867
|
}], ctorParameters: () => [], propDecorators: { searchDialogContent: [{
|
|
3830
3868
|
type: ViewChild,
|
|
3831
3869
|
args: ['searchContent', { read: TemplateRef }]
|