barsa-sap-ui 2.3.35 → 2.3.37
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-sap-ui.mjs +158 -80
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/index.d.ts +56 -26
- package/package.json +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, Input, Pipe, EventEmitter, inject, NgZone, Renderer2, ElementRef, Output, HostBinding, ViewChild, ViewEncapsulation, ChangeDetectorRef, ViewChildren, DOCUMENT, Directive, TemplateRef, HostListener, signal, ViewContainerRef, Injector, ComponentFactoryResolver, NgModule, Injectable, provideAppInitializer, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import * as i2 from 'barsa-novin-ray-core';
|
|
4
|
-
import { BaseComponent, ReportViewBaseComponent, getUniqueId, BarsaApi, LayoutItemBaseComponent, getDeviceIsMobile, BbbTranslatePipe, LayoutService, measureText, getLabelWidth, SortDirection, BaseUlvSettingComponent, getResetGridSettings, FormComponent, createFormPanelMetaConditions, ReportBaseComponent, SelectionMode, FormPanelService, LayoutMainContentService, GetAllColumnsSorted, getParentHeight, getControlSizeMode, getDeviceIsDesktop, getDeviceIsTablet, getGridSettings, BaseDirective, PortalService, FieldBaseComponent, getDateService as getDateService$1, DateService, DateMiladiService, DateHijriService, DateShamsiService, DynamicDarkColorPipe, EllipsifyDirective, createGridEditorFormPanel, TabpageService, LocalStorageService, getAllItemsPerChildren, setOneDepthLevel, BaseViewItemPropsComponent, MoReportValuePipe, ExecuteDynamicCommand, PictureFieldSourcePipe, isImage, getIcon, UploadService, LayoutPanelBaseComponent, UlvMainService, BaseColumnPropsComponent, ColumnService, BaseViewContentPropsComponent, enumValueToStringSize, PreventDefaulEvent, setTableThWidth, TableHeaderWidthMode, calcContextMenuWidth, setColumnWidthByMaxMoContentWidth, calculateColumnWidth, calculateColumnContent, calculateColumnWidthFitToContainer, calculateFreeColumnSize, NotificationService, DateRanges, LogService, BreadcrumbService, IsDarkMode, isFunction, FilesValidationHelper, getValidExtension, getImagePath, LinearListHelper, FormToolbarBaseComponent, isFirefox, FormBaseComponent, getFieldValue, ContainerComponent, DialogParams, ContainerService, FindToolbarItem, FindLayoutSettingFromLayout94, FormPropsBaseComponent, UiService, NumberBaseComponent, ImageMimeType, BaseFormToolbaritemPropsComponent, NetworkStatusService, isInLocalMode, executeUlvCommandHandler, FillAllLayoutControls, IntersectionStatus, FORM_DIALOG_COMPONENT, NOTIFICATAION_POPUP_SERVER, TOAST_SERVICE, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule, ResizableModule, DIALOG_SERVICE } from 'barsa-novin-ray-core';
|
|
4
|
+
import { BaseComponent, ReportViewBaseComponent, getUniqueId, BarsaApi, LayoutItemBaseComponent, getDeviceIsMobile, BbbTranslatePipe, LayoutService, measureText, getLabelWidth, SortDirection, BaseUlvSettingComponent, getResetGridSettings, FormComponent, createFormPanelMetaConditions, ReportBaseComponent, SelectionMode, FormPanelService, LayoutMainContentService, GetAllColumnsSorted, getParentHeight, getControlSizeMode, getDeviceIsDesktop, getDeviceIsTablet, getGridSettings, BaseDirective, PortalService, FieldBaseComponent, getDateService as getDateService$1, DateService, DateMiladiService, DateHijriService, DateShamsiService, DynamicDarkColorPipe, EllipsifyDirective, createGridEditorFormPanel, TabpageService, LocalStorageService, getAllItemsPerChildren, setOneDepthLevel, BaseViewItemPropsComponent, MoReportValuePipe, ExecuteDynamicCommand, PictureFieldSourcePipe, isImage, getIcon, UploadService, LayoutPanelBaseComponent, UlvMainService, BaseColumnPropsComponent, ColumnService, BaseViewContentPropsComponent, enumValueToStringSize, PreventDefaulEvent, setTableThWidth, TableHeaderWidthMode, calcContextMenuWidth, setColumnWidthByMaxMoContentWidth, calculateColumnWidth, calculateColumnContent, calculateColumnWidthFitToContainer, calculateFreeColumnSize, NotificationService, DateRanges, LogService, ApplicationCtrlrService, BreadcrumbService, IsDarkMode, isFunction, FilesValidationHelper, getValidExtension, getImagePath, LinearListHelper, FormToolbarBaseComponent, isFirefox, FormBaseComponent, getFieldValue, ContainerComponent, DialogParams, ContainerService, FindToolbarItem, FindLayoutSettingFromLayout94, FormPropsBaseComponent, UiService, NumberBaseComponent, ImageMimeType, BaseFormToolbaritemPropsComponent, NetworkStatusService, isInLocalMode, executeUlvCommandHandler, FillAllLayoutControls, IntersectionStatus, FORM_DIALOG_COMPONENT, NOTIFICATAION_POPUP_SERVER, TOAST_SERVICE, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule, ResizableModule, DIALOG_SERVICE } from 'barsa-novin-ray-core';
|
|
5
5
|
import moment from 'moment';
|
|
6
6
|
import jmoment from 'moment-jalaali';
|
|
7
|
-
import { combineLatest, of, BehaviorSubject, Subject, takeUntil as takeUntil$1, debounceTime as debounceTime$1,
|
|
7
|
+
import { combineLatest, of, BehaviorSubject, Subject, takeUntil as takeUntil$1, debounceTime as debounceTime$1, concatMap, tap as tap$1, Observable, fromEvent, first as first$1, filter as filter$1, skip, map as map$1, from } from 'rxjs';
|
|
8
8
|
import { tap, filter, map, distinctUntilChanged, debounceTime, withLatestFrom, takeUntil, exhaustMap, finalize, switchMap, catchError, first, delay, concatMap as concatMap$1 } from 'rxjs/operators';
|
|
9
9
|
import { Overlay } from '@angular/cdk/overlay';
|
|
10
|
-
import * as
|
|
10
|
+
import * as i237 from '@fundamental-ngx/core';
|
|
11
11
|
import { DialogRef, ContentDensityService, DialogService, TableComponent, ToolbarComponent, GlobalContentDensityService, PopoverComponent, RadioButtonComponent, DynamicPageComponent, FileUploaderComponent, MultiInputComponent, MessageStripAlertService, TabPanelComponent, WizardComponent, WizardStepComponent, ComboboxComponent, InlineHelpDirective, SliderComponent, ContentDensityMode, ThemingService as ThemingService$1, RtlService, NotificationService as NotificationService$1, NotificationRef as NotificationRef$1, MessageToastService, FundamentalNgxCoreModule, SideNavigationModule, FacetModule, WizardModule, RatingStarLabelPipe, ListGroupPipe, DateTimeFormatPipe, DateFromNowPipe, DateFormatPipe, AvatarIconPipe, ContentDensityModule } from '@fundamental-ngx/core';
|
|
12
12
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
13
13
|
import * as i2$1 from '@fundamental-ngx/core/form';
|
|
@@ -1797,7 +1797,7 @@ class SapUiReportBaseComponent extends ReportBaseComponent {
|
|
|
1797
1797
|
this.deviceName$ = this._deviceNameSource.asObservable();
|
|
1798
1798
|
this.disableResponsive$ = this.deviceName$.pipe(map((c) => c === 'desktop'));
|
|
1799
1799
|
this.mobileOrTablet$ = this.deviceName$.pipe(map((device) => device === 'mobile' || device === 'tablet'));
|
|
1800
|
-
this._oldContainer = BarsaApi.
|
|
1800
|
+
this._oldContainer = BarsaApi.Bw.FormHandler;
|
|
1801
1801
|
this.closeScrollStrategy = this._overlay.scrollStrategies.close();
|
|
1802
1802
|
this.contentDensity$ = this._contentDensityService.contentDensity;
|
|
1803
1803
|
this.secondaryColumnsCount$ = this.secondaryColumns$.pipe(map((columns) => columns.length));
|
|
@@ -2577,11 +2577,6 @@ class UlvToolbarComponent extends BaseComponent {
|
|
|
2577
2577
|
ngOnChanges(changes) {
|
|
2578
2578
|
super.ngOnChanges(changes);
|
|
2579
2579
|
const { toolbarButtons } = changes;
|
|
2580
|
-
const x = this._el.nativeElement.parentNode?.offsetWidth;
|
|
2581
|
-
if (this.parentWidth === 0) {
|
|
2582
|
-
this.parentWidth = x;
|
|
2583
|
-
this._setWidthByElementWidth(x);
|
|
2584
|
-
}
|
|
2585
2580
|
if (toolbarButtons) {
|
|
2586
2581
|
if (toolbarButtons.firstChange) {
|
|
2587
2582
|
setTimeout(() => {
|
|
@@ -2627,6 +2622,12 @@ class UlvToolbarComponent extends BaseComponent {
|
|
|
2627
2622
|
return item.text;
|
|
2628
2623
|
}
|
|
2629
2624
|
_setWidth() {
|
|
2625
|
+
const x = this._el.nativeElement.parentNode?.offsetWidth;
|
|
2626
|
+
if (this.parentWidth !== x) {
|
|
2627
|
+
this.parentWidth = x;
|
|
2628
|
+
this._setWidthByElementWidth(x);
|
|
2629
|
+
this.visibled = false;
|
|
2630
|
+
}
|
|
2630
2631
|
if (this.visibled || this.hideToolbar) {
|
|
2631
2632
|
return;
|
|
2632
2633
|
}
|
|
@@ -3547,11 +3548,11 @@ class UlvContextMenuComponent extends BaseComponent {
|
|
|
3547
3548
|
this._popoverCmp.close();
|
|
3548
3549
|
}
|
|
3549
3550
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UlvContextMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3550
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UlvContextMenuComponent, isStandalone: false, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: { onlyOverflow: "onlyOverflow", rightClickEnable: "rightClickEnable", deviceName: "deviceName", menuItems: "menuItems", allColumns: "allColumns", index: "index", mo: "mo", styleIndex: "styleIndex", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", footerMode: "footerMode", contextMenuOverflowText: "contextMenuOverflowText", appendTo: "appendTo" }, outputs: { commandClick: "commandClick" }, host: { properties: { "class.disableOverflow": "this._disableOverflow" } }, viewQueries: [{ propertyName: "_popoverCmp", first: true, predicate: PopoverComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n [focusAutoCapture]=\"true\"\r\n [focusTrapped]=\"true\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n class=\"!tw-border-none\"\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "directive", type: i2.UlvCommandDirective, selector: "[ulvCommandHandler]", inputs: ["ulvCommandHandler", "disable"], outputs: ["commandClick"] }, { kind: "component", type: i3$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "role"] }, { kind: "directive", type: i3$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "component", type: i5$2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i5$2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i5$2.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i5$2.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i7$1.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "glyphFont", "disabled", "fdType", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "component", type: i8.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3551
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UlvContextMenuComponent, isStandalone: false, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: { onlyOverflow: "onlyOverflow", rightClickEnable: "rightClickEnable", closeOnOutsideClick: "closeOnOutsideClick", deviceName: "deviceName", menuItems: "menuItems", allColumns: "allColumns", index: "index", mo: "mo", styleIndex: "styleIndex", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", footerMode: "footerMode", contextMenuOverflowText: "contextMenuOverflowText", appendTo: "appendTo" }, outputs: { commandClick: "commandClick" }, host: { properties: { "class.disableOverflow": "this._disableOverflow" } }, viewQueries: [{ propertyName: "_popoverCmp", first: true, predicate: PopoverComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"closeOnOutsideClick === false ? false : true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n [focusAutoCapture]=\"true\"\r\n [focusTrapped]=\"true\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n class=\"!tw-border-none\"\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "directive", type: i2.UlvCommandDirective, selector: "[ulvCommandHandler]", inputs: ["ulvCommandHandler", "disable"], outputs: ["commandClick"] }, { kind: "component", type: i3$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "role"] }, { kind: "directive", type: i3$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "component", type: i5$2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i5$2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i5$2.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i5$2.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i7$1.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "glyphFont", "disabled", "fdType", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "component", type: i8.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3551
3552
|
}
|
|
3552
3553
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UlvContextMenuComponent, decorators: [{
|
|
3553
3554
|
type: Component,
|
|
3554
|
-
args: [{ selector: 'bsu-ulv-context-menu,[ulvContextMenu]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n [focusAutoCapture]=\"true\"\r\n [focusTrapped]=\"true\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n class=\"!tw-border-none\"\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"] }]
|
|
3555
|
+
args: [{ selector: 'bsu-ulv-context-menu,[ulvContextMenu]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (footerMode) {\r\n<div fd-bar barDesign=\"footer\" [cozy]=\"false\" style=\"width: 100%\">\r\n <div fd-bar-right>\r\n <ng-container *ngTemplateOutlet=\"footerToolbarTpl\"></ng-container>\r\n </div>\r\n <ng-template #footerToolbarTpl>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\" [shouldOverflow]=\"true\">\r\n @for (cmd of menuItems; track cmd) {\r\n <span fd-toolbar-item>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </span>\r\n }\r\n </fd-toolbar>\r\n </ng-template>\r\n</div>\r\n} @else if(rightClickEnable){\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowCommands;\r\n context: { $implicit: menuItems, index: index, hideBtn: true, appendTo: appendTo, showText: true }\r\n \"\r\n></ng-container>\r\n}@else{\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n overflowMode && !disableOverflowContextMenu ? overflowCommands : simpleCommands;\r\n context: { $implicit: menuItems, index: index }\r\n \"\r\n></ng-container>\r\n}\r\n\r\n<ng-template #simpleCommands let-commands let-index=\"index\">\r\n @for (cmd of commands; track cmd) {\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #overflowCommands\r\n let-commands\r\n let-index=\"index\"\r\n let-hideBtn=\"hideBtn\"\r\n let-appendTo=\"appendTo\"\r\n let-showText=\"showText\"\r\n>\r\n <fd-popover\r\n placement=\"bottom\"\r\n [(isOpen)]=\"isOpenOverflow\"\r\n [closeOnOutsideClick]=\"closeOnOutsideClick === false ? false : true\"\r\n [noArrow]=\"true\"\r\n [appendTo]=\"appendTo\"\r\n [focusAutoCapture]=\"true\"\r\n [focusTrapped]=\"true\"\r\n >\r\n <fd-popover-control #popover>\r\n @if(!hideBtn){\r\n <button\r\n fd-button\r\n (click)=\"onOpenOverflow($event)\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"!contextMenuOverflowText ? 'overflow' : null\"\r\n [title]=\"contextMenuOverflowText\"\r\n [label]=\"contextMenuOverflowText\"\r\n ></button>\r\n }\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list class=\"ulv-overflow-buttons\">\r\n @for (cmd of commands; track cmd) {\r\n <li fd-list-item>\r\n <ng-container *ngTemplateOutlet=\"menuButtonTemplate; context: { $implicit: cmd }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n\r\n<ng-template #menuButtonTemplate let-cmd>\r\n <ng-container\r\n *ngTemplateOutlet=\"cmd.menu ? menuTemplate : buttonTemplate; context: { $implicit: cmd, showLabel: true }\"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #menuTemplate let-cmd>\r\n <fd-split-button fd-toolbar-item [mainAction]=\"{ mainActionTitle: cmd.text, keepMainAction: true }\">\r\n <fd-menu>\r\n @for (btnCommand of cmd.menu.items; track btnCommand) {\r\n <li\r\n fd-menu-item\r\n #liEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"liEl\"\r\n (click)=\"onCommandSplitButtonClick($event, btnCommand)\"\r\n >\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btnCommand.text | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n </fd-split-button>\r\n</ng-template>\r\n<ng-template #buttonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cmd?.Command?.CustomUi ? customButtonTemplate : defaultButtonTemplate;\r\n context: { $implicit: cmd, showLabel: showLabel }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #defaultButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <button\r\n fd-button\r\n #btnEl\r\n class=\"!tw-border-none\"\r\n [fdType]=\"cmd.Command?.JsonExtraProp?.Design ? cmd.Command?.JsonExtraProp.Design : 'transparent'\"\r\n [glyph]=\"cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon || ''\"\r\n [ulvCommandHandler]=\"cmd\"\r\n [label]=\"cmd.Command?.NewIcon && cmd.Command?.JsonExtraProp?.Icon ? (cmd.text | bbbTranslate) : ''\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"cmd.text\"\r\n [hostEl]=\"btnEl\"\r\n [disabled]=\"cmd.Command?._isEnable === false\"\r\n (commandClick)=\"onCommandClick($event)\"\r\n >\r\n <!-- \u0686\u0648\u0646 \u0639\u06A9\u0633 \u062F\u0631 \u0633\u0645\u062A \u0631\u0627\u0633\u062A \u0642\u0631\u0627\u0631 \u0628\u06AF\u06CC\u0631\u062F \u0627\u0632 \u0644\u06CC\u0628\u0644 \u062F\u06A9\u0645\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0646\u06A9\u0631\u062F\u0645 -->\r\n @if (!cmd.Command?.NewIcon && !cmd.Command?.JsonExtraProp?.Icon) {\r\n <img [src]=\"cmd.icon\" />\r\n }\r\n <span *ngIf=\"true || !(cmd.Command?.NewIcon || cmd.Command?.JsonExtraProp?.Icon)\">{{\r\n cmd.text | bbbTranslate\r\n }}</span>\r\n </button>\r\n</ng-template>\r\n<ng-template #customButtonTemplate let-cmd let-showLabel=\"showLabel\">\r\n <div\r\n #hostEl\r\n [dbName]=\"cmd.text\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"hostEl\"\r\n [styleIndex]=\"styleIndex\"\r\n >\r\n <bnrc-dynamic-form-toolbaritem\r\n fd-toolbar-item\r\n [ulvCommandHandler]=\"cmd\"\r\n [component]=\"cmd.Command?.CustomUi\"\r\n [mo]=\"mo\"\r\n [context]=\"cmd\"\r\n [showText]=\"showLabel || disableOverflowContextMenu === false\"\r\n [deviceName]=\"deviceName\"\r\n [index]=\"index\"\r\n [isEnable]=\"cmd.Command?._isEnable || cmd.Command?.UseForSingle\"\r\n [allColumns]=\"allColumns\"\r\n (btnClick)=\"onCommandClick($event)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}:host ::ng-deep button{margin-top:0!important}:host ::ng-deep .fd-popover-custom{max-width:none}:host.disableOverflow{column-gap:5px}button{align-items:center}button div{display:flex}button ::ng-deep span{height:auto!important}\n"] }]
|
|
3555
3556
|
}], propDecorators: { _popoverCmp: [{
|
|
3556
3557
|
type: ViewChild,
|
|
3557
3558
|
args: [PopoverComponent]
|
|
@@ -3559,6 +3560,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
3559
3560
|
type: Input
|
|
3560
3561
|
}], rightClickEnable: [{
|
|
3561
3562
|
type: Input
|
|
3563
|
+
}], closeOnOutsideClick: [{
|
|
3564
|
+
type: Input
|
|
3562
3565
|
}], deviceName: [{
|
|
3563
3566
|
type: Input
|
|
3564
3567
|
}], menuItems: [{
|
|
@@ -3633,7 +3636,7 @@ class UiMapComponent extends SapUiReportBaseComponent {
|
|
|
3633
3636
|
this._renderer.setStyle(this.el.nativeElement, 'height', this.parentHeight + 'px');
|
|
3634
3637
|
}
|
|
3635
3638
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UiMapComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3636
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UiMapComponent, isStandalone: false, selector: "bsu-ui-map", viewQueries: [{ propertyName: "_mapContainer", first: true, predicate: ["mapContainer"], descendants: true, read: ElementRef }, { propertyName: "_popoverExt", first: true, predicate: ["popoverExt"], descendants: true }, { propertyName: "_ulvContextMenuCmp", first: true, predicate: UlvContextMenuComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #mapContainer\r\n absDiv\r\n (elemCreated)=\"onElemCreated($event)\"\r\n [x]=\"popoverX\"\r\n [y]=\"popoverY\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n></div>\r\n@if(elemPopover){\r\n<div\r\n ulvContextMenu\r\n [menuItems]=\"(toolbarButtons$ | async)!! | seperatorFix: true\"\r\n [rightClickEnable]=\"true\"\r\n [appendTo]=\"elemPopover\"\r\n [showText]=\"true\"\r\n></div>\r\n}\r\n", styles: [":host{display:block}:host>div:first-child{height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i2.AbsoluteDivBodyDirective, selector: "[absDiv]", outputs: ["elemCreated"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3639
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UiMapComponent, isStandalone: false, selector: "bsu-ui-map", viewQueries: [{ propertyName: "_mapContainer", first: true, predicate: ["mapContainer"], descendants: true, read: ElementRef }, { propertyName: "_popoverExt", first: true, predicate: ["popoverExt"], descendants: true }, { propertyName: "_ulvContextMenuCmp", first: true, predicate: UlvContextMenuComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #mapContainer\r\n absDiv\r\n (elemCreated)=\"onElemCreated($event)\"\r\n [x]=\"popoverX\"\r\n [y]=\"popoverY\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n></div>\r\n@if(elemPopover){\r\n<div\r\n ulvContextMenu\r\n [menuItems]=\"(toolbarButtons$ | async)!! | seperatorFix: true\"\r\n [rightClickEnable]=\"true\"\r\n [appendTo]=\"elemPopover\"\r\n [showText]=\"true\"\r\n></div>\r\n}\r\n", styles: [":host{display:block}:host>div:first-child{height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i2.AbsoluteDivBodyDirective, selector: "[absDiv]", outputs: ["elemCreated"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3637
3640
|
}
|
|
3638
3641
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UiMapComponent, decorators: [{
|
|
3639
3642
|
type: Component,
|
|
@@ -4253,7 +4256,7 @@ class BarsaTreeItemComponent extends BaseViewItemPropsComponent {
|
|
|
4253
4256
|
this.dragMoved.emit($event);
|
|
4254
4257
|
}
|
|
4255
4258
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTreeItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4256
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTreeItemComponent, isStandalone: false, selector: "bsu-barsa-tree-item", inputs: { node: "node", selectedNode: "selectedNode", relationList: "relationList", hideOpenIcon: "hideOpenIcon", hasArrowIcon: "hasArrowIcon", collapseIcon: "collapseIcon", loading: "loading", hasChildren: "hasChildren", leafCursorPointer: "leafCursorPointer", isExpand: "isExpand", children: "children", parentNode: "parentNode", text: "text", icon: "icon", color: "color", isHetro: "isHetro", enableNodeReordering: "enableNodeReordering", hideIcon: "hideIcon" }, outputs: { createNew: "createNew", select: "select", checkChange: "checkChange", viewClick: "viewClick", loadChildren: "loadChildren", dragMoved: "dragMoved" }, usesInheritance: true, ngImport: i0, template: "<li\r\n fd-list-item\r\n #liEl\r\n [class.!tw-cursor-pointer]=\"leafCursorPointer\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"liEl\"\r\n [focusable]=\"true\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 1\"\r\n [interactive]=\"true\"\r\n [selected]=\"isChecked\"\r\n (dblclick)=\"onNodeViewClick()\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!enableNodeReordering\"\r\n [cdkDragData]=\"node.Data.Id\"\r\n [class.isdirty]=\"isdirty\"\r\n (cdkDragMoved)=\"onDragMoved($event)\"\r\n (click)=\"openOnClick ? onNodeViewClick() : onListItemClick(liEl, $event)\"\r\n>\r\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\r\n @if (enableNodeReordering && !isHetro) {\r\n <fd-icon glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\r\n } @if (inDialog && isMultiSelect) {\r\n <fd-checkbox [name]=\"node.Data.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onCheckbox($event)\"></fd-checkbox>\r\n }\r\n\r\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\r\n <div style=\"display: flex; flex: 1; gap: 3px\">\r\n @if (hasArrowIcon) { @if (hasChildren) {\r\n <div class=\"arrow-container\">\r\n <button\r\n [attr.rtl]=\"rtl\"\r\n fd-button\r\n fdType=\"transparent\"\r\n class=\"arrow-children\"\r\n [fdCompact]\r\n [glyph]=\"hasChildren ? (isExpand ? 'slim-arrow-down' : collapseIcon) : ''\"\r\n (click)=\"onLoadChildren($event)\"\r\n (dblclick)=\"onExpandDblClick($event)\"\r\n ></button>\r\n </div>\r\n } @else { @if (!parentNode?.hasOneDepthLevel) {\r\n <div class=\"empty-container\" (click)=\"onRowCheck()\">\r\n <button fd-button></button>\r\n </div>\r\n } } @if (loading) {\r\n <fd-busy-indicator\r\n style=\"display: flex; align-items: center; width: 2rem\"\r\n size=\"s\"\r\n [loading]=\"true\"\r\n ></fd-busy-indicator>\r\n } @if(!hideIcon || appComponentIcon){ @if(icon || appComponentIcon){\r\n <i\r\n [style.color]=\"appComponentIconColor || color\"\r\n class=\"icon-item\"\r\n fd-list-icon\r\n [glyph]=\"appComponentIcon || icon\"\r\n ></i>\r\n }@else {\r\n <i fd-list-icon class=\"icon-item\" style=\"display: flex; align-items: center; justify-content: center\">\r\n <img [src]=\"node.icon\" width=\"16px\" />\r\n </i>\r\n } } }\r\n <div\r\n style=\"display: flex; flex: unset; align-items: center\"\r\n fd-list-title\r\n [focusable]=\"true\"\r\n #divEl\r\n [style.color]=\"styleIndex ? 'inherit' : color\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange(divEl, spanEl, $event)\"\r\n >\r\n <span\r\n class=\"ellapsis\"\r\n #spanEl\r\n [style.color]=\"styleIndex ? 'inherit' : color\"\r\n [class.haschildren]=\"hasChildren\"\r\n >{{ text }}</span\r\n >\r\n @if (children) {\r\n <span>{{ ' ( ' + children.length + ' )' }}</span>\r\n }\r\n </div>\r\n </div>\r\n @if (contextMenuItems && contextMenuItems.length > 0) {\r\n <i\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"node.Data\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n ></i>\r\n } @if (access?.Add !== false && !inDialog) {\r\n <bsu-htree-create-new\r\n [node]=\"node\"\r\n [relationList]=\"relationList\"\r\n (createNew)=\"onCreateNew($event)\"\r\n ></bsu-htree-create-new>\r\n }\r\n </div>\r\n @if (access?.View && !showOkCancelButtons && deviceName !== 'desktop' && !hideOpenIcon) {\r\n <button fd-button [glyph]=\"navigationArrow\" fdType=\"transparent\" (click)=\"onNodeViewClick()\"></button>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n }\r\n\r\n <bsu-barsa-tree-item\r\n *cdkDragPreview\r\n [node]=\"node\"\r\n [rtl]=\"rtl\"\r\n [selectedNode]=\"selectedNode\"\r\n [hasArrowIcon]=\"false\"\r\n ></bsu-barsa-tree-item>\r\n</li>\r\n", styles: [":host{display:contents}li.isdirty{background:url(/Lib/ui/resources/images/default/grid/dirty.gif);background-repeat:no-repeat}li .cdk-drag-handle{opacity:.5;cursor:move}li .spacer{height:100%}li .arrow-children{border:none!important;background:transparent!important;color:var(--sapButton_Lite_TextColor)!important}li .arrow-container,li .empty-container{display:flex;width:28px;align-items:center;justify-content:center}li .arrow-container fd-icon,li .empty-container fd-icon{cursor:pointer;width:100%;height:100%;text-align:center}li .empty-container{visibility:hidden!important}.cdk-drag{cursor:default}.tree-icon-children{cursor:pointer}.icon-item{width:1rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i3$1.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i3$5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: ["node", "selectedNode", "relationList", "hideOpenIcon", "hasArrowIcon", "collapseIcon", "loading", "hasChildren", "leafCursorPointer", "isExpand", "children", "parentNode", "text", "icon", "color", "isHetro", "enableNodeReordering", "hideIcon"], outputs: ["createNew", "select", "checkChange", "viewClick", "loadChildren", "dragMoved"] }, { kind: "component", type: HtreeCreateNewComponent, selector: "bsu-htree-create-new", inputs: ["relationList", "node"], outputs: ["createNew"] }, { kind: "component", type: BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTreeItemComponent, isStandalone: false, selector: "bsu-barsa-tree-item", inputs: { node: "node", selectedNode: "selectedNode", relationList: "relationList", hideOpenIcon: "hideOpenIcon", hasArrowIcon: "hasArrowIcon", collapseIcon: "collapseIcon", loading: "loading", hasChildren: "hasChildren", leafCursorPointer: "leafCursorPointer", isExpand: "isExpand", children: "children", parentNode: "parentNode", text: "text", icon: "icon", color: "color", isHetro: "isHetro", enableNodeReordering: "enableNodeReordering", hideIcon: "hideIcon" }, outputs: { createNew: "createNew", select: "select", checkChange: "checkChange", viewClick: "viewClick", loadChildren: "loadChildren", dragMoved: "dragMoved" }, usesInheritance: true, ngImport: i0, template: "<li\r\n fd-list-item\r\n #liEl\r\n [class.!tw-cursor-pointer]=\"leafCursorPointer\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"liEl\"\r\n [focusable]=\"true\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 1\"\r\n [interactive]=\"true\"\r\n [selected]=\"isChecked\"\r\n (dblclick)=\"onNodeViewClick()\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!enableNodeReordering\"\r\n [cdkDragData]=\"node.Data.Id\"\r\n [class.isdirty]=\"isdirty\"\r\n (cdkDragMoved)=\"onDragMoved($event)\"\r\n (click)=\"openOnClick ? onNodeViewClick() : onListItemClick(liEl, $event)\"\r\n>\r\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\r\n @if (enableNodeReordering && !isHetro) {\r\n <fd-icon glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\r\n } @if (inDialog && isMultiSelect) {\r\n <fd-checkbox [name]=\"node.Data.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onCheckbox($event)\"></fd-checkbox>\r\n }\r\n\r\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\r\n <div style=\"display: flex; flex: 1; gap: 3px\">\r\n @if (hasArrowIcon) { @if (hasChildren) {\r\n <div class=\"arrow-container\">\r\n <button\r\n [attr.rtl]=\"rtl\"\r\n fd-button\r\n fdType=\"transparent\"\r\n class=\"arrow-children\"\r\n [fdCompact]\r\n [glyph]=\"hasChildren ? (isExpand ? 'slim-arrow-down' : collapseIcon) : ''\"\r\n (click)=\"onLoadChildren($event)\"\r\n (dblclick)=\"onExpandDblClick($event)\"\r\n ></button>\r\n </div>\r\n } @else { @if (!parentNode?.hasOneDepthLevel) {\r\n <div class=\"empty-container\" (click)=\"onRowCheck()\">\r\n <button fd-button></button>\r\n </div>\r\n } } @if (loading) {\r\n <fd-busy-indicator\r\n style=\"display: flex; align-items: center; width: 2rem\"\r\n size=\"s\"\r\n [loading]=\"true\"\r\n ></fd-busy-indicator>\r\n } @if(!hideIcon || appComponentIcon){ @if(icon || appComponentIcon){\r\n <i\r\n [style.color]=\"appComponentIconColor || color\"\r\n class=\"icon-item\"\r\n fd-list-icon\r\n [glyph]=\"appComponentIcon || icon\"\r\n ></i>\r\n }@else {\r\n <i fd-list-icon class=\"icon-item\" style=\"display: flex; align-items: center; justify-content: center\">\r\n <img [src]=\"node.icon\" width=\"16px\" />\r\n </i>\r\n } } }\r\n <div\r\n style=\"display: flex; flex: unset; align-items: center\"\r\n fd-list-title\r\n [focusable]=\"true\"\r\n #divEl\r\n [style.color]=\"styleIndex ? 'inherit' : color\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange(divEl, spanEl, $event)\"\r\n >\r\n <span\r\n class=\"ellapsis\"\r\n #spanEl\r\n [style.color]=\"styleIndex ? 'inherit' : color\"\r\n [class.haschildren]=\"hasChildren\"\r\n >{{ text }}</span\r\n >\r\n @if (children) {\r\n <span>{{ ' ( ' + children.length + ' )' }}</span>\r\n }\r\n </div>\r\n </div>\r\n @if (contextMenuItems && contextMenuItems.length > 0) {\r\n <i\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"node.Data\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n ></i>\r\n } @if (access?.Add !== false && !inDialog) {\r\n <bsu-htree-create-new\r\n [node]=\"node\"\r\n [relationList]=\"relationList\"\r\n (createNew)=\"onCreateNew($event)\"\r\n ></bsu-htree-create-new>\r\n }\r\n </div>\r\n @if (access?.View && !showOkCancelButtons && deviceName !== 'desktop' && !hideOpenIcon) {\r\n <button fd-button [glyph]=\"navigationArrow\" fdType=\"transparent\" (click)=\"onNodeViewClick()\"></button>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n }\r\n\r\n <bsu-barsa-tree-item\r\n *cdkDragPreview\r\n [node]=\"node\"\r\n [rtl]=\"rtl\"\r\n [selectedNode]=\"selectedNode\"\r\n [hasArrowIcon]=\"false\"\r\n ></bsu-barsa-tree-item>\r\n</li>\r\n", styles: [":host{display:contents}li.isdirty{background:url(/Lib/ui/resources/images/default/grid/dirty.gif);background-repeat:no-repeat}li .cdk-drag-handle{opacity:.5;cursor:move}li .spacer{height:100%}li .arrow-children{border:none!important;background:transparent!important;color:var(--sapButton_Lite_TextColor)!important}li .arrow-container,li .empty-container{display:flex;width:28px;align-items:center;justify-content:center}li .arrow-container fd-icon,li .empty-container fd-icon{cursor:pointer;width:100%;height:100%;text-align:center}li .empty-container{visibility:hidden!important}.cdk-drag{cursor:default}.tree-icon-children{cursor:pointer}.icon-item{width:1rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i3$1.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i3$5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: ["node", "selectedNode", "relationList", "hideOpenIcon", "hasArrowIcon", "collapseIcon", "loading", "hasChildren", "leafCursorPointer", "isExpand", "children", "parentNode", "text", "icon", "color", "isHetro", "enableNodeReordering", "hideIcon"], outputs: ["createNew", "select", "checkChange", "viewClick", "loadChildren", "dragMoved"] }, { kind: "component", type: HtreeCreateNewComponent, selector: "bsu-htree-create-new", inputs: ["relationList", "node"], outputs: ["createNew"] }, { kind: "component", type: BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4257
4260
|
}
|
|
4258
4261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTreeItemComponent, decorators: [{
|
|
4259
4262
|
type: Component,
|
|
@@ -5573,7 +5576,7 @@ class CardItemComponent extends BaseViewItemPropsComponent {
|
|
|
5573
5576
|
}
|
|
5574
5577
|
}
|
|
5575
5578
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5576
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CardItemComponent, isStandalone: false, selector: "bsu-card-item", inputs: { setting: "setting", extraFooterComponent: "extraFooterComponent" }, providers: [FormPanelService], viewQueries: [{ propertyName: "_quickViewTemplate", first: true, predicate: ["quickViewTemplate"], descendants: true, static: true }, { propertyName: "_contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-card\r\n [cardType]=\"setting.CardType$Caption\"\r\n [interactive]=\"true\"\r\n class=\"docs-flex-item-margin\"\r\n [class.openOnClick]=\"setting.openOnClick\"\r\n [class.hide-header-border]=\"setting.HideHeaderBorder\"\r\n [style.width]=\"cardWidth\"\r\n [style.min-width]=\"minWidth\"\r\n [style.max-width]=\"maxWidth\"\r\n [class.card-media]=\"cardMedia\"\r\n (click)=\"onRowCheck()\"\r\n (dblclick)=\"onRowClick()\"\r\n>\r\n @if(cardMedia){\r\n <fd-card-media>\r\n @if(isCardTypeBanner){\r\n <div\r\n fd-card-media-content-container\r\n [legendColor]=\"setting.CustomColor ? null : 13\"\r\n [style.background]=\"setting.CustomColor ? setting.CustomColor : null\"\r\n >\r\n <div fd-card-media-heading [level]=\"2\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <p fd-card-media-text>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n @if (contextMenuItems.length ) {\r\n\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n }\r\n </div>\r\n }\r\n <div fd-card-media-image-container #container>\r\n <img\r\n fd-card-media-image\r\n [src]=\"\r\n setting.MediaField\r\n ? (mo[setting.MediaField.Name]?.FileId | picFieldSrc: 'ID':setting.MediaField.FieldDefId)\r\n : ''\r\n \"\r\n alt=\"pic not loaded\"\r\n [style.max-height.px]=\"isCardTypeBanner ? setting?.SliderHeight || 300 : null\"\r\n />\r\n </div>\r\n </fd-card-media>\r\n } @if(!isCardTypeBanner){\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n } @if (!noContent || contextMenuItems) {\r\n <fd-card-content ellipsify>\r\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.ContentComponent ? contentTemplateComponent : contentTemplateRef;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-card-content>\r\n } @if(detailsText || contextMenuEnabled && !isCardTypeBanner){\r\n <fd-card-footer \r\n [class.extra-footer]=\"extraFooterComponent?.Selector\"\r\n [class.hasDetailsAndContextMenu]=\"detailsText && contextMenuEnabled && contextMenuInFooter\"\r\n >\r\n @if(extraFooterComponent?.Selector){\r\n <bnrc-dynamic-item-component\r\n style=\"display: block; flex: 1\"\r\n [component]=\"extraFooterComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"extraFooterComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n ></bnrc-dynamic-item-component>\r\n } @if(detailsText){<button *fdCardFooterActionItem fd-button fdType=\"transparent\" [fdPopoverTrigger]=\"popover\">\r\n {{ detailsText }}\r\n </button>\r\n } @if(contextMenuInFooter){\r\n <div\r\n *fdCardFooterActionItem\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"false\"\r\n [menuItems]=\"contextMenuItems\"\r\n [contextMenuOverflowText]=\"contextMenuOverflowText\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n }\r\n <fd-popover #popover>\r\n @if (detailsColumns?.length) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n }\r\n </fd-popover>\r\n </fd-card-footer>\r\n }\r\n</fd-card>\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\" class=\"tw-p-2\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div\r\n fd-form-item\r\n class=\"!tw-flex-row\"\r\n [dynCommand]=\"column.$CustomComponent?.DynamicCommand\"\r\n [mo]=\"mo\"\r\n [enableCommand]=\"!!column.$CustomComponent?.DynamicCommand\"\r\n bodyClick\r\n [class.tw-cursor-pointer]=\"!!column.$CustomComponent?.DynamicCommand\"\r\n >\r\n @if(!column.$CustomComponent?.HideColumnCaption) {<label fd-form-label for=\"input-2\"\r\n >{{ column.Caption }}<span>:</span></label\r\n >}\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-layout94=\"layout94\"\r\n let-disableEllapsis=\"disableEllapsis\"\r\n let-fdTextMode=\"fdTextMode\"\r\n>\r\n @if (column) {\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [isdirty]=\"false\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"disableEllapsis === false ? false : true\"\r\n [fdTextMode]=\"fdTextMode\"\r\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n\r\n }\r\n</ng-template>\r\n<ng-template #quickViewTemplate let-mo let-index=\"index\">\r\n @if (!noContent) {\r\n <fd-quick-view [id]=\"'id'\">\r\n <fd-quick-view-group>\r\n @for (column of setting.FieldListMapped; track column) {\r\n <fd-quick-view-group-item [class.rowDirection]=\"column?.$CustomComponent?.IsRowDirection\">\r\n @if (column) { @if(!column.$CustomComponent?.HideColumnCaption) {<fd-quick-view-group-item-label>\r\n {{ column.Caption | bbbTranslate }} </fd-quick-view-group-item-label\r\n >}\r\n <fd-quick-view-group-item-content>\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n }\r\n </fd-quick-view-group-item>\r\n } @if (setting.DescriptionField) {\r\n <fd-quick-view-group-item>\r\n <fd-quick-view-group-item-content>\r\n @if (inlineEditMode && allowInlineEdit) {\r\n <fd-quick-view-group-item-label>\r\n {{ setting.DescriptionField?.Alias | bbbTranslate }}\r\n </fd-quick-view-group-item-label>\r\n }\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.DescriptionField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n @if (setting.ActionFieldNameField) {\r\n <fd-quick-view-group-item-content\r\n class=\"action\"\r\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\r\n >\r\n <a fd-link>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.ActionFieldNameField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </a>\r\n </fd-quick-view-group-item-content>\r\n }\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n }\r\n</ng-template>\r\n<ng-template #contentTemplate let-mo let-index=\"index\">\r\n <fd-layout-grid>\r\n <div fdLayoutGridRow style=\"align-items: center\">\r\n <div [fdLayoutGridCol]=\"12\">\r\n @for (column of setting.FieldListMapped; track column) {\r\n <div style=\"display: flex\">\r\n <label fd-form-label [colon]=\"true\">{{ column.Caption | bbbTranslate }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (setting.DescriptionField) {\r\n <div [fdLayoutGridCol]=\"12\">\r\n @if (inlineEditMode && allowInlineEdit) {\r\n <label>\r\n {{ setting.DescriptionField?.Alias | bbbTranslate }}\r\n </label>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.DescriptionField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n </fd-layout-grid>\r\n</ng-template>\r\n<ng-template #avatar let-avatar let-visible=\"visible\" let-circle=\"circle\" let-avatarField=\"avatarField\">\r\n @if (visible) {\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"circle\"\r\n [image]=\"avatarField ? (mo[avatarField.Name]?.FileId | picFieldSrc: 'ID':avatarField.FieldDefId) : ''\"\r\n [size]=\"\r\n deviceSize === 'xl' || deviceSize === 'l' ? setting.AvatarSizeDesktop$Caption : setting.AvatarSize$Caption\r\n \"\r\n [glyph]=\"avatar || (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\"\r\n >\r\n </fd-avatar>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component\r\n [component]=\"setting.ContentComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.ContentComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n\r\n<ng-template #renderHeader let-mo let-index=\"index\">\r\n @if(!hideOpenIcon && (openOnClick || (canView && deviceName !== 'desktop'))){\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderHeaderMobileCanView;\r\n context: {\r\n $implicit: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n }@else{\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderHeaderDesktop;\r\n context: {\r\n $implicit: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template #renderHeaderDesktop let-mo let-index=\"index\">\r\n <fd-card-header class=\"HeaderDesktop\">\r\n <div>\r\n @if(isCheckList){\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\" stopPropagation></fd-checkbox>\r\n }\r\n </div>\r\n <fd-card-main-header>\r\n @if (setting.AvatarField || setting.Avatar) {\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"setting.CircleAvatar\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"\r\n deviceSize === 'xl' || deviceSize === 'l'\r\n ? setting.AvatarSizeDesktop$Caption\r\n : setting.AvatarSize$Caption\r\n \"\r\n [glyph]=\"\r\n setting.Avatar ||\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n ></fd-avatar>\r\n }\r\n <h2 fd-card-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index,\r\n disableEllapsis: false,\r\n fdTextMode: true\r\n }\r\n \"\r\n ></ng-container>\r\n </h2>\r\n <h3 fd-card-subtitle>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index,\r\n disableEllapsis: false\r\n }\r\n \"\r\n ></ng-container>\r\n </h3>\r\n @if (!contextMenuInFooter && (contextMenuItems && contextMenuItems.length > 0)) {\r\n <div\r\n ulvContextMenu\r\n fd-card-header-action\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"false\"\r\n [menuItems]=\"contextMenuItems\"\r\n [contextMenuOverflowText]=\"contextMenuOverflowText\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</ng-template>\r\n<ng-template #renderHeaderMobileCanView let-mo let-index=\"index\">\r\n <fd-card-header class=\"HeaderMobileCanView\">\r\n <div>\r\n @if(isCheckList){\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\" stopPropagation></fd-checkbox>\r\n }\r\n </div>\r\n <fd-card-main-header>\r\n @if ( setting.AvatarField || setting.Avatar) {\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"setting.CircleAvatar\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"\r\n deviceSize === 'xl' || deviceSize === 'l'\r\n ? setting.AvatarSizeDesktop$Caption\r\n : setting.AvatarSize$Caption\r\n \"\r\n [glyph]=\"\r\n setting.Avatar ||\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n ></fd-avatar>\r\n }\r\n <h2 fd-card-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index,\r\n fdTextMode: true\r\n }\r\n \"\r\n ></ng-container>\r\n </h2>\r\n <h3 fd-card-subtitle>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </h3>\r\n\r\n @if (!contextMenuInFooter && (contextMenuItems && contextMenuItems.length > 0)) {\r\n <div\r\n ulvContextMenu\r\n fd-card-header-action\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"false\"\r\n [menuItems]=\"contextMenuItems\"\r\n [contextMenuOverflowText]=\"contextMenuOverflowText\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n }@else {\r\n <button\r\n fd-button\r\n fd-card-header-action\r\n class=\"view-btn\"\r\n stopPropagation\r\n (click)=\"onRowClick()\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</ng-template>\r\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component \r\n [component]=\"setting.HeaderComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.HeaderComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (events)=\"onDynamicComponentEvents($event)\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n", styles: ["fd-card.fd-card--banner>fd-card-media{border-radius:inherit}fd-card.fd-card--banner>fd-card-media .fd-card__media-image-container{z-index:4}fd-card div[ulvcontextmenu] ::ng-deep .fd-bar{background-color:transparent}fd-card fd-card-content ::ng-deep bsu-column-renderer div.renderGeneral{font-family:IranYekanDigits}fd-card fd-card-footer.extra-footer{flex-wrap:wrap}fd-card fd-card-footer.hasDetailsAndContextMenu ::ng-deep .fd-card__footer-actions{justify-content:space-between!important}fd-card fd-card-content{padding:0!important}fd-card fd-card-content>div>fd-quick-view ::ng-deep .fd-quick-view__content{padding-top:0}fd-card fd-card-content>div>fd-quick-view fd-quick-view-group-item.rowDirection ::ng-deep .fd-form-item{flex-direction:row}fd-card.hide-header-border ::ng-deep fd-card-header fd-card-main-header>.fd-card__header-main{border:none}fd-card fd-card-header{padding:.5rem}fd-card fd-card-header:hover{background:var(--fdCard_Background_Color)}fd-card fd-card-header .fd-card__title{display:flex;justify-content:space-between;align-items:center;width:100%}fd-card fd-card-header button,fd-card fd-card-header div[ulvcontextmenu]{z-index:6}fd-card fd-card-header:hover{background:inherit}fd-card.card-media:not(.banner) ::ng-deep .fd-card__header-main{padding:0;--fdCard_Title_Font_Size: .725rem;--sapFontSize: .625rem}fd-quick-view-subheader ::ng-deep div{background:inherit}.action{cursor:pointer;margin-top:6px;flex:1;display:flex;justify-content:end;flex-direction:column}.openOnClick{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[stopPropagation]" }, { kind: "component", type: i3$7.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$6.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i7$3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "directive", type: i7$3.CardHeaderActionDirective, selector: "[fd-card-header-action]" }, { kind: "component", type: i7$3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7$3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i7$3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i7$3.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i7$3.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i7$3.CardMediaComponent, selector: "fd-card-media", inputs: ["ariaRoleDescription", "hasPadding", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaImageDirective, selector: "[fd-card-media-image]" }, { kind: "directive", type: i7$3.CardMediaImageContainerDirective, selector: "[fd-card-media-image-container]" }, { kind: "directive", type: i7$3.CardMediaContentContainerDirective, selector: "[fd-card-media-content-container]", inputs: ["isOverlay", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaHeadingDirective, selector: "[fd-card-media-heading]", inputs: ["id", "level"] }, { kind: "directive", type: i7$3.CardMediaTextDirective, selector: "[fd-card-media-text]" }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i2$1.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2$1.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i4$3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i4$3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i4$3.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7$2.PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: i12.QuickViewComponent, selector: "fd-quick-view", inputs: ["id"] }, { kind: "component", type: i12.QuickViewGroupComponent, selector: "fd-quick-view-group" }, { kind: "component", type: i12.QuickViewGroupItemComponent, selector: "fd-quick-view-group-item", inputs: ["id"] }, { kind: "component", type: i12.QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label" }, { kind: "component", type: i12.QuickViewGroupItemContentComponent, selector: "fd-quick-view-group-item-content" }, { kind: "directive", type: i12.QuickViewGroupItemContentElementDirective, selector: "[fd-quick-view-group-item-content-element]" }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTableColumnComponent, selector: "bsu-barsa-table-column", inputs: ["disableEllapsis", "fdTextMode"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i2.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5579
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CardItemComponent, isStandalone: false, selector: "bsu-card-item", inputs: { setting: "setting", extraFooterComponent: "extraFooterComponent" }, providers: [FormPanelService], viewQueries: [{ propertyName: "_quickViewTemplate", first: true, predicate: ["quickViewTemplate"], descendants: true, static: true }, { propertyName: "_contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-card\r\n [cardType]=\"setting.CardType$Caption\"\r\n [interactive]=\"true\"\r\n class=\"docs-flex-item-margin\"\r\n [class.openOnClick]=\"setting.openOnClick\"\r\n [class.hide-header-border]=\"setting.HideHeaderBorder\"\r\n [style.width]=\"cardWidth\"\r\n [style.min-width]=\"minWidth\"\r\n [style.max-width]=\"maxWidth\"\r\n [class.card-media]=\"cardMedia\"\r\n (click)=\"onRowCheck()\"\r\n (dblclick)=\"onRowClick()\"\r\n>\r\n @if(cardMedia){\r\n <fd-card-media>\r\n @if(isCardTypeBanner){\r\n <div\r\n fd-card-media-content-container\r\n [legendColor]=\"setting.CustomColor ? null : 13\"\r\n [style.background]=\"setting.CustomColor ? setting.CustomColor : null\"\r\n >\r\n <div fd-card-media-heading [level]=\"2\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <p fd-card-media-text>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n @if (contextMenuItems.length ) {\r\n\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n }\r\n </div>\r\n }\r\n <div fd-card-media-image-container #container>\r\n <img\r\n fd-card-media-image\r\n [src]=\"\r\n setting.MediaField\r\n ? (mo[setting.MediaField.Name]?.FileId | picFieldSrc: 'ID':setting.MediaField.FieldDefId)\r\n : ''\r\n \"\r\n alt=\"pic not loaded\"\r\n [style.max-height.px]=\"isCardTypeBanner ? setting?.SliderHeight || 300 : null\"\r\n />\r\n </div>\r\n </fd-card-media>\r\n } @if(!isCardTypeBanner){\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.HeaderComponent ? renderHeaderComponent : renderHeader;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n } @if (!noContent || contextMenuItems) {\r\n <fd-card-content ellipsify>\r\n <div #divEl [applyConditionalFormats]=\"conditionalFormats\" [styleIndex]=\"styleIndex\" [hostEl]=\"divEl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n setting.ContentComponent ? contentTemplateComponent : contentTemplateRef;\r\n context: {\r\n $implicit: mo,\r\n index: this.index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-card-content>\r\n } @if(detailsText || contextMenuEnabled && !isCardTypeBanner){\r\n <fd-card-footer \r\n [class.extra-footer]=\"extraFooterComponent?.Selector\"\r\n [class.hasDetailsAndContextMenu]=\"detailsText && contextMenuEnabled && contextMenuInFooter\"\r\n >\r\n @if(extraFooterComponent?.Selector){\r\n <bnrc-dynamic-item-component\r\n style=\"display: block; flex: 1\"\r\n [component]=\"extraFooterComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"extraFooterComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n ></bnrc-dynamic-item-component>\r\n } @if(detailsText){<button *fdCardFooterActionItem fd-button fdType=\"transparent\" [fdPopoverTrigger]=\"popover\">\r\n {{ detailsText }}\r\n </button>\r\n } @if(contextMenuInFooter){\r\n <div\r\n *fdCardFooterActionItem\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"false\"\r\n [menuItems]=\"contextMenuItems\"\r\n [contextMenuOverflowText]=\"contextMenuOverflowText\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n }\r\n <fd-popover #popover>\r\n @if (detailsColumns?.length) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n }\r\n </fd-popover>\r\n </fd-card-footer>\r\n }\r\n</fd-card>\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\" class=\"tw-p-2\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div\r\n fd-form-item\r\n class=\"!tw-flex-row\"\r\n [dynCommand]=\"column.$CustomComponent?.DynamicCommand\"\r\n [mo]=\"mo\"\r\n [enableCommand]=\"!!column.$CustomComponent?.DynamicCommand\"\r\n bodyClick\r\n [class.tw-cursor-pointer]=\"!!column.$CustomComponent?.DynamicCommand\"\r\n >\r\n @if(!column.$CustomComponent?.HideColumnCaption) {<label fd-form-label for=\"input-2\"\r\n >{{ column.Caption }}<span>:</span></label\r\n >}\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-layout94=\"layout94\"\r\n let-disableEllapsis=\"disableEllapsis\"\r\n let-fdTextMode=\"fdTextMode\"\r\n>\r\n @if (column) {\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [isdirty]=\"false\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"disableEllapsis === false ? false : true\"\r\n [fdTextMode]=\"fdTextMode\"\r\n [editMode]=\"isChecked && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n\r\n }\r\n</ng-template>\r\n<ng-template #quickViewTemplate let-mo let-index=\"index\">\r\n @if (!noContent) {\r\n <fd-quick-view [id]=\"'id'\">\r\n <fd-quick-view-group>\r\n @for (column of setting.FieldListMapped; track column) {\r\n <fd-quick-view-group-item [class.rowDirection]=\"column?.$CustomComponent?.IsRowDirection\">\r\n @if (column) { @if(!column.$CustomComponent?.HideColumnCaption) {<fd-quick-view-group-item-label>\r\n {{ column.Caption | bbbTranslate }} </fd-quick-view-group-item-label\r\n >}\r\n <fd-quick-view-group-item-content>\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n }\r\n </fd-quick-view-group-item>\r\n } @if (setting.DescriptionField) {\r\n <fd-quick-view-group-item>\r\n <fd-quick-view-group-item-content>\r\n @if (inlineEditMode && allowInlineEdit) {\r\n <fd-quick-view-group-item-label>\r\n {{ setting.DescriptionField?.Alias | bbbTranslate }}\r\n </fd-quick-view-group-item-label>\r\n }\r\n <div fd-quick-view-group-item-content-element class=\"group-item-content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.DescriptionField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </fd-quick-view-group-item-content>\r\n @if (setting.ActionFieldNameField) {\r\n <fd-quick-view-group-item-content\r\n class=\"action\"\r\n (click)=\"onAction(setting.ActionFieldCommandField || '')\"\r\n >\r\n <a fd-link>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.ActionFieldNameField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </a>\r\n </fd-quick-view-group-item-content>\r\n }\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n }\r\n</ng-template>\r\n<ng-template #contentTemplate let-mo let-index=\"index\">\r\n <fd-layout-grid>\r\n <div fdLayoutGridRow style=\"align-items: center\">\r\n <div [fdLayoutGridCol]=\"12\">\r\n @for (column of setting.FieldListMapped; track column) {\r\n <div style=\"display: flex\">\r\n <label fd-form-label [colon]=\"true\">{{ column.Caption | bbbTranslate }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (setting.DescriptionField) {\r\n <div [fdLayoutGridCol]=\"12\">\r\n @if (inlineEditMode && allowInlineEdit) {\r\n <label>\r\n {{ setting.DescriptionField?.Alias | bbbTranslate }}\r\n </label>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.DescriptionField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n </fd-layout-grid>\r\n</ng-template>\r\n<ng-template #avatar let-avatar let-visible=\"visible\" let-circle=\"circle\" let-avatarField=\"avatarField\">\r\n @if (visible) {\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"circle\"\r\n [image]=\"avatarField ? (mo[avatarField.Name]?.FileId | picFieldSrc: 'ID':avatarField.FieldDefId) : ''\"\r\n [size]=\"\r\n deviceSize === 'xl' || deviceSize === 'l' ? setting.AvatarSizeDesktop$Caption : setting.AvatarSize$Caption\r\n \"\r\n [glyph]=\"avatar || (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\"\r\n >\r\n </fd-avatar>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #contentTemplateComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component\r\n [component]=\"setting.ContentComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.ContentComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n\r\n<ng-template #renderHeader let-mo let-index=\"index\">\r\n @if(!hideOpenIcon && (openOnClick || (canView && deviceName !== 'desktop'))){\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderHeaderMobileCanView;\r\n context: {\r\n $implicit: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n }@else{\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderHeaderDesktop;\r\n context: {\r\n $implicit: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template #renderHeaderDesktop let-mo let-index=\"index\">\r\n <fd-card-header class=\"HeaderDesktop\">\r\n <div>\r\n @if(isCheckList){\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\" stopPropagation></fd-checkbox>\r\n }\r\n </div>\r\n <fd-card-main-header>\r\n @if (setting.AvatarField || setting.Avatar) {\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"setting.CircleAvatar\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"\r\n deviceSize === 'xl' || deviceSize === 'l'\r\n ? setting.AvatarSizeDesktop$Caption\r\n : setting.AvatarSize$Caption\r\n \"\r\n [glyph]=\"\r\n setting.Avatar ||\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n ></fd-avatar>\r\n }\r\n <h2 fd-card-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index,\r\n disableEllapsis: false,\r\n fdTextMode: true\r\n }\r\n \"\r\n ></ng-container>\r\n </h2>\r\n <h3 fd-card-subtitle>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index,\r\n disableEllapsis: false\r\n }\r\n \"\r\n ></ng-container>\r\n </h3>\r\n @if (!contextMenuInFooter && (contextMenuItems && contextMenuItems.length > 0)) {\r\n <div\r\n ulvContextMenu\r\n fd-card-header-action\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"false\"\r\n [menuItems]=\"contextMenuItems\"\r\n [contextMenuOverflowText]=\"contextMenuOverflowText\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</ng-template>\r\n<ng-template #renderHeaderMobileCanView let-mo let-index=\"index\">\r\n <fd-card-header class=\"HeaderMobileCanView\">\r\n <div>\r\n @if(isCheckList){\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\" stopPropagation></fd-checkbox>\r\n }\r\n </div>\r\n <fd-card-main-header>\r\n @if ( setting.AvatarField || setting.Avatar) {\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [circle]=\"setting.CircleAvatar\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"\r\n deviceSize === 'xl' || deviceSize === 'l'\r\n ? setting.AvatarSizeDesktop$Caption\r\n : setting.AvatarSize$Caption\r\n \"\r\n [glyph]=\"\r\n setting.Avatar ||\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n ></fd-avatar>\r\n }\r\n <h2 fd-card-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index,\r\n fdTextMode: true\r\n }\r\n \"\r\n ></ng-container>\r\n </h2>\r\n <h3 fd-card-subtitle>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n </h3>\r\n\r\n @if (!contextMenuInFooter && (contextMenuItems && contextMenuItems.length > 0)) {\r\n <div\r\n ulvContextMenu\r\n fd-card-header-action\r\n [allColumns]=\"allColumns\"\r\n [footerMode]=\"false\"\r\n [menuItems]=\"contextMenuItems\"\r\n [contextMenuOverflowText]=\"contextMenuOverflowText\"\r\n [styleIndex]=\"styleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></div>\r\n }@else {\r\n <button\r\n fd-button\r\n fd-card-header-action\r\n class=\"view-btn\"\r\n stopPropagation\r\n (click)=\"onRowClick()\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</ng-template>\r\n<ng-template #renderHeaderComponent let-mo let-index=\"index\">\r\n <bnrc-dynamic-item-component \r\n [component]=\"setting.HeaderComponent\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isChecked]=\"isChecked\"\r\n [setting]=\"setting\"\r\n [parameters]=\"setting.HeaderComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (events)=\"onDynamicComponentEvents($event)\"\r\n ></bnrc-dynamic-item-component>\r\n</ng-template>\r\n", styles: ["fd-card.fd-card--banner>fd-card-media{border-radius:inherit}fd-card.fd-card--banner>fd-card-media .fd-card__media-image-container{z-index:4}fd-card div[ulvcontextmenu] ::ng-deep .fd-bar{background-color:transparent}fd-card fd-card-content ::ng-deep bsu-column-renderer div.renderGeneral{font-family:IranYekanDigits}fd-card fd-card-footer.extra-footer{flex-wrap:wrap}fd-card fd-card-footer.hasDetailsAndContextMenu ::ng-deep .fd-card__footer-actions{justify-content:space-between!important}fd-card fd-card-content{padding:0!important}fd-card fd-card-content>div>fd-quick-view ::ng-deep .fd-quick-view__content{padding-top:0}fd-card fd-card-content>div>fd-quick-view fd-quick-view-group-item.rowDirection ::ng-deep .fd-form-item{flex-direction:row}fd-card.hide-header-border ::ng-deep fd-card-header fd-card-main-header>.fd-card__header-main{border:none}fd-card fd-card-header{padding:.5rem}fd-card fd-card-header:hover{background:var(--fdCard_Background_Color)}fd-card fd-card-header .fd-card__title{display:flex;justify-content:space-between;align-items:center;width:100%}fd-card fd-card-header button,fd-card fd-card-header div[ulvcontextmenu]{z-index:6}fd-card fd-card-header:hover{background:inherit}fd-card.card-media:not(.banner) ::ng-deep .fd-card__header-main{padding:0;--fdCard_Title_Font_Size: .725rem;--sapFontSize: .625rem}fd-quick-view-subheader ::ng-deep div{background:inherit}.action{cursor:pointer;margin-top:6px;flex:1;display:flex;justify-content:end;flex-direction:column}.openOnClick{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[stopPropagation]" }, { kind: "component", type: i3$7.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$6.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i7$3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "directive", type: i7$3.CardHeaderActionDirective, selector: "[fd-card-header-action]" }, { kind: "component", type: i7$3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7$3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i7$3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i7$3.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i7$3.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i7$3.CardMediaComponent, selector: "fd-card-media", inputs: ["ariaRoleDescription", "hasPadding", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaImageDirective, selector: "[fd-card-media-image]" }, { kind: "directive", type: i7$3.CardMediaImageContainerDirective, selector: "[fd-card-media-image-container]" }, { kind: "directive", type: i7$3.CardMediaContentContainerDirective, selector: "[fd-card-media-content-container]", inputs: ["isOverlay", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaHeadingDirective, selector: "[fd-card-media-heading]", inputs: ["id", "level"] }, { kind: "directive", type: i7$3.CardMediaTextDirective, selector: "[fd-card-media-text]" }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i2$1.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2$1.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i4$3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i4$3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i4$3.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7$2.PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: i12.QuickViewComponent, selector: "fd-quick-view", inputs: ["id"] }, { kind: "component", type: i12.QuickViewGroupComponent, selector: "fd-quick-view-group" }, { kind: "component", type: i12.QuickViewGroupItemComponent, selector: "fd-quick-view-group-item", inputs: ["id"] }, { kind: "component", type: i12.QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label" }, { kind: "component", type: i12.QuickViewGroupItemContentComponent, selector: "fd-quick-view-group-item-content" }, { kind: "directive", type: i12.QuickViewGroupItemContentElementDirective, selector: "[fd-quick-view-group-item-content-element]" }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTableColumnComponent, selector: "bsu-barsa-table-column", inputs: ["disableEllapsis", "fdTextMode"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i2.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5577
5580
|
}
|
|
5578
5581
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardItemComponent, decorators: [{
|
|
5579
5582
|
type: Component,
|
|
@@ -5618,7 +5621,7 @@ class CardViewContentComponent extends BaseViewContentPropsComponent {
|
|
|
5618
5621
|
this.expandClick.emit(mo);
|
|
5619
5622
|
}
|
|
5620
5623
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5621
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CardViewContentComponent, isStandalone: false, selector: "bsu-card-view-content", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"setting.IsSlider ? slideModeTpl : simpleModeTpl\"> </ng-container>\r\n<ng-template #slideModeTpl>\r\n <div\r\n class=\"splide\"\r\n splideSlider\r\n [moDataList]=\"moDataList\"\r\n [breakpoint991]=\"setting.Breakpoint991\"\r\n [breakpoint768]=\"setting.Breakpoint768\"\r\n [breakpoint480]=\"setting.Breakpoint480\"\r\n [breakpoint1279]=\"setting.Breakpoint1279\"\r\n [sliderPerPage]=\"setting.SliderPerPage\"\r\n [sliderGap]=\"setting.SliderGap\"\r\n [sliderPadding]=\"setting.SliderPadding\"\r\n >\r\n <div class=\"splide__track\">\r\n <ul class=\"splide__list\">\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first\r\n = $first) {\r\n <li class=\"splide__slide tw-py-1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: mo, index: index, hideAvatar: true, isslider: true }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #simpleModeTpl>\r\n <ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\r\n</ng-template>\r\n<ng-template #gridTemplate>\r\n @if (moDataList && moDataList.length > 0) {\r\n <fd-layout-grid class=\"card-list\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\r\n </fd-layout-grid>\r\n } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<ng-template #flexTemplate>\r\n <div class=\"card-view-flex-container\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #containerTemplate let-isGrid>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\r\n context: { $implicit: mo, index: index }\r\n \"\r\n ></ng-container>\r\n <ng-template #group>\r\n <div\r\n class=\"group-label row-group\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.$Level\"\r\n [class.root-group]=\"mo.$Level === 0\"\r\n ellipsify\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.$Group }}</span>\r\n </div>\r\n </ng-template>\r\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"ulvCommand.emit({mo,index})\"\r\n ></div>\r\n } }\r\n</ng-template>\r\n<ng-template #cardTemplate let-mo let-index=\"index\" let-hideAvatar=\"hideAvatar\" let-isslider=\"isslider\">\r\n <bsu-card-item\r\n [mo]=\"mo\"\r\n [openOnClick]=\"openOnClick\"\r\n [isslider]=\"isslider\"\r\n [hideAvatar]=\"hideAvatar\"\r\n [contextMenuOverflowText]=\"setting.ContextMenuOverflowText\"\r\n [extraFooterComponent]=\"setting.ExtraFooterComponent\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [setting]=\"setting\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [rowIndicatorColor]=\"!allColumns.length ? '' : (allColumns[0].Caption | rval: mo:allColumns)\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"detailsText\"\r\n [detailsTextFunction]=\"detailsTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [setting]=\"setting\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"rowCheck.emit($event)\"\r\n (rowClick)=\"rowClick.emit($event)\"\r\n (ulvCommand)=\"ulvCommand.emit($event)\"\r\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\r\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </bsu-card-item>\r\n</ng-template>\r\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\r\n <div\r\n [fdLayoutGridCol]=\"sizeS\"\r\n [colMd]=\"sizeM\"\r\n [colLg]=\"sizeL\"\r\n [colXl]=\"sizeXl\"\r\n [class.selected]=\"mo.$IsChecked ? true : false\"\r\n class=\"card-container\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".card-list{flex-wrap:wrap;padding-bottom:2rem;margin-left:0;row-gap:.25rem}.card-list .group-label{width:100%;display:flex;align-items:center;border-right:none;padding-top:.25rem;padding-bottom:.25rem;column-gap:10px}::ng-deep .card-list .unread .fd-form-item,::ng-deep .card-list .unread .fd-title,::ng-deep .card-list .unread .fd-quick-view__subtitle{font-weight:700}::ng-deep .card-list .group-item-content{background-color:transparent}::ng-deep .card-list .selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0);border-style:solid;border-width:thin}::ng-deep .card-list fd-card fd-icon .avatar{font-size:.75rem!important}::ng-deep .card-list fd-card .fd-quick-view__content{height:100%}::ng-deep .card-list fd-card fd-icon .avatar{font-size:1rem!important}.card-view-flex-container{width:100%;display:flex;flex-wrap:wrap;row-gap:10px;column-gap:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.SplideSliderDirective, selector: "[splideSlider]", inputs: ["moDataList", "type", "breakpoint991", "breakpoint768", "breakpoint480", "breakpoint1279", "sliderPerPage", "sliderGap", "sliderPadding", "width"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i4$3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i4$3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: CardItemComponent, selector: "bsu-card-item", inputs: ["setting", "extraFooterComponent"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5624
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CardViewContentComponent, isStandalone: false, selector: "bsu-card-view-content", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"setting.IsSlider ? slideModeTpl : simpleModeTpl\"> </ng-container>\r\n<ng-template #slideModeTpl>\r\n <div\r\n class=\"splide\"\r\n splideSlider\r\n [moDataList]=\"moDataList\"\r\n [breakpoint991]=\"setting.Breakpoint991\"\r\n [breakpoint768]=\"setting.Breakpoint768\"\r\n [breakpoint480]=\"setting.Breakpoint480\"\r\n [breakpoint1279]=\"setting.Breakpoint1279\"\r\n [sliderPerPage]=\"setting.SliderPerPage\"\r\n [sliderGap]=\"setting.SliderGap\"\r\n [sliderPadding]=\"setting.SliderPadding\"\r\n >\r\n <div class=\"splide__track\">\r\n <ul class=\"splide__list\">\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first\r\n = $first) {\r\n <li class=\"splide__slide tw-py-1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: mo, index: index, hideAvatar: true, isslider: true }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #simpleModeTpl>\r\n <ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\r\n</ng-template>\r\n<ng-template #gridTemplate>\r\n @if (moDataList && moDataList.length > 0) {\r\n <fd-layout-grid class=\"card-list\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\r\n </fd-layout-grid>\r\n } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<ng-template #flexTemplate>\r\n <div class=\"card-view-flex-container\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #containerTemplate let-isGrid>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\r\n context: { $implicit: mo, index: index }\r\n \"\r\n ></ng-container>\r\n <ng-template #group>\r\n <div\r\n class=\"group-label row-group\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.$Level\"\r\n [class.root-group]=\"mo.$Level === 0\"\r\n ellipsify\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.$Group }}</span>\r\n </div>\r\n </ng-template>\r\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"ulvCommand.emit({mo,index})\"\r\n ></div>\r\n } }\r\n</ng-template>\r\n<ng-template #cardTemplate let-mo let-index=\"index\" let-hideAvatar=\"hideAvatar\" let-isslider=\"isslider\">\r\n <bsu-card-item\r\n [mo]=\"mo\"\r\n [openOnClick]=\"openOnClick\"\r\n [isslider]=\"isslider\"\r\n [hideAvatar]=\"hideAvatar\"\r\n [contextMenuOverflowText]=\"setting.ContextMenuOverflowText\"\r\n [extraFooterComponent]=\"setting.ExtraFooterComponent\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [setting]=\"setting\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [rowIndicatorColor]=\"!allColumns.length ? '' : (allColumns[0].Caption | rval: mo:allColumns)\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"detailsText\"\r\n [detailsTextFunction]=\"detailsTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [setting]=\"setting\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"rowCheck.emit($event)\"\r\n (rowClick)=\"rowClick.emit($event)\"\r\n (ulvCommand)=\"ulvCommand.emit($event)\"\r\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\r\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </bsu-card-item>\r\n</ng-template>\r\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\r\n <div\r\n [fdLayoutGridCol]=\"sizeS\"\r\n [colMd]=\"sizeM\"\r\n [colLg]=\"sizeL\"\r\n [colXl]=\"sizeXl\"\r\n [class.selected]=\"mo.$IsChecked ? true : false\"\r\n class=\"card-container\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".card-list{flex-wrap:wrap;padding-bottom:2rem;margin-left:0;row-gap:.25rem}.card-list .group-label{width:100%;display:flex;align-items:center;border-right:none;padding-top:.25rem;padding-bottom:.25rem;column-gap:10px}::ng-deep .card-list .unread .fd-form-item,::ng-deep .card-list .unread .fd-title,::ng-deep .card-list .unread .fd-quick-view__subtitle{font-weight:700}::ng-deep .card-list .group-item-content{background-color:transparent}::ng-deep .card-list .selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0);border-style:solid;border-width:thin}::ng-deep .card-list fd-card fd-icon .avatar{font-size:.75rem!important}::ng-deep .card-list fd-card .fd-quick-view__content{height:100%}::ng-deep .card-list fd-card fd-icon .avatar{font-size:1rem!important}.card-view-flex-container{width:100%;display:flex;flex-wrap:wrap;row-gap:10px;column-gap:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.SplideSliderDirective, selector: "[splideSlider]", inputs: ["moDataList", "type", "breakpoint991", "breakpoint768", "breakpoint480", "breakpoint1279", "sliderPerPage", "sliderGap", "sliderPadding", "width"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i4$3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i4$3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: CardItemComponent, selector: "bsu-card-item", inputs: ["setting", "extraFooterComponent"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5622
5625
|
}
|
|
5623
5626
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewContentComponent, decorators: [{
|
|
5624
5627
|
type: Component,
|
|
@@ -5690,7 +5693,7 @@ class ListItemComponent extends BaseViewItemPropsComponent {
|
|
|
5690
5693
|
PreventDefaulEvent(e);
|
|
5691
5694
|
}
|
|
5692
5695
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5693
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ListItemComponent, isStandalone: false, selector: "bsu-list-item", inputs: { setting: "setting", isDisplayType: "isDisplayType" }, usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"isDisplayType ? displayTemplate : standardTemplate; context: { $implicit: mo }\"\r\n></ng-container>\r\n<ng-template #standardTemplate let-mo>\r\n <li\r\n fd-list-item\r\n class=\"standard-list-row\"\r\n [ngClass]=\"deviceSize\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n [class.selected]=\"isChecked === true\"\r\n [selected]=\"isChecked === true\"\r\n (dblclick)=\"onRowClick()\"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <a\r\n fd-list-link\r\n [attr.rtl]=\"rtl\"\r\n class=\"li-link\"\r\n [class.checklist]=\"isCheckList\"\r\n #aEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"aEl\"\r\n >\r\n @if (isCheckList) {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\r\n } @if (setting.IconFont || setting.AvatarField) {\r\n <span fd-list-thumbnail>\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [style.color]=\"setting.IconColor ? setting.IconColor : null\"\r\n [circle]=\"true\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"avatarSize\"\r\n [transparent]=\"true\"\r\n [glyph]=\"\r\n setting.IconFont ??\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n >\r\n </fd-avatar>\r\n </span>\r\n }\r\n <div fd-list-content>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n conditionalFormats: conditionalFormats,\r\n index: 0\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div fd-list-byline [style.padding-left]=\"canView && deviceName === 'desktop' ? '.9rem' : '0'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.StatusField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n conditionalFormats: conditionalFormats\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div fd-list-byline>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n conditionalFormats: conditionalFormats\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n @if (contextMenuItems.length) {\r\n <bsu-ulv-context-menu\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></bsu-ulv-context-menu>\r\n } @if (canView && !hideOpenIcon) {\r\n <button (click)=\"onRowClick()\" fdType=\"transparent\" [glyph]=\"navigationArrow\" fd-button></button>\r\n }\r\n </a>\r\n </li>\r\n</ng-template>\r\n<ng-template #displayTemplate let-mo>\r\n @if (!mo.parent || mo.parent?.expanded) {\r\n <li\r\n class=\"display\"\r\n [ngClass]=\"deviceSize\"\r\n fd-list-item\r\n [interactive]=\"false\"\r\n (dblclick)=\"onRowClick()\"\r\n (click)=\"onRowCheck()\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n >\r\n <a\r\n fd-list-link\r\n [attr.rtl]=\"rtl\"\r\n class=\"li-link\"\r\n style=\"cursor: default\"\r\n [class.checklist]=\"isCheckList\"\r\n #aEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"aEl\"\r\n style=\"column-gap: 3px\"\r\n >\r\n @if (setting.AvatarField) {\r\n <img\r\n [src]=\"mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId\"\r\n style=\"width: 24px; height: 24px\"\r\n />\r\n } @if (setting.IconFont) {\r\n <i fd-list-icon [glyph]=\"setting.IconFont\" [style.color]=\"setting.IconColor ? setting.IconColor : null\">\r\n </i>\r\n } @if (!setting.IconFont && mo.$State === 'New' && !isChecked) {\r\n <i fd-list-icon glyph=\"favorite\"></i>\r\n } @if (!setting.IconFont && inlineEditMode && isChecked) {\r\n <i fd-list-icon glyph=\"edit\"></i>\r\n } @if (isCheckList) {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\r\n }\r\n <span fd-list-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.TitleField,\r\n conditionalFormats: conditionalFormats,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: 0\r\n }\r\n \"\r\n ></ng-container>\r\n </span>\r\n <span fd-list-secondary [dir]=\"rtl ? 'ltr' : 'rtl'\" [class.flex1]=\"contextMenuItems.length === 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.CounterField,\r\n conditionalFormats: conditionalFormats,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n @if (canView && !hideOpenIcon) {\r\n <button fd-button (click)=\"onRowClick()\" [glyph]=\"navigationArrow\" fdType=\"transparent\"></button>\r\n } @if (contextMenuItems.length) {\r\n <bsu-ulv-context-menu\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></bsu-ulv-context-menu>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n</ng-template>\r\n<ng-template\r\n #renderColumn\r\n let-column\r\n let-mo=\"mo\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-index=\"index\"\r\n let-layout94=\"layout94\"\r\n>\r\n @if (column) {\r\n <div\r\n #divEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"divEl\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"true\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"inlineEditMode && allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [controlUi]=\"column.Caption | controlUi: layout94:column.Name\"\r\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\r\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\r\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\r\n [formLayoutShowLabel]=\"true\"\r\n ></bsu-column-renderer>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [":host li.s{height:auto}:host .flex1{flex:1;display:flex;justify-content:start;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$7.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "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: "directive", type: i7.ListThumbnailDirective, selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "directive", type: i2$7.ɵɵDir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["cellEdit", "column", "allColumns", "mo", "index", "editMode", "attachmentViewType", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "isMobile", "fdTextMode", "deviceName", "deviceSize", "value", "icon"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ControlUiPipe, name: "controlUi" }, { kind: "pipe", type: i2.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i2.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5696
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ListItemComponent, isStandalone: false, selector: "bsu-list-item", inputs: { setting: "setting", isDisplayType: "isDisplayType" }, usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"isDisplayType ? displayTemplate : standardTemplate; context: { $implicit: mo }\"\r\n></ng-container>\r\n<ng-template #standardTemplate let-mo>\r\n <li\r\n fd-list-item\r\n class=\"standard-list-row\"\r\n [ngClass]=\"deviceSize\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n [class.selected]=\"isChecked === true\"\r\n [selected]=\"isChecked === true\"\r\n (dblclick)=\"onRowClick()\"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <a\r\n fd-list-link\r\n [attr.rtl]=\"rtl\"\r\n class=\"li-link\"\r\n [class.checklist]=\"isCheckList\"\r\n #aEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"aEl\"\r\n >\r\n @if (isCheckList) {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\r\n } @if (setting.IconFont || setting.AvatarField) {\r\n <span fd-list-thumbnail>\r\n <fd-avatar\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n [style.color]=\"setting.IconColor ? setting.IconColor : null\"\r\n [circle]=\"true\"\r\n [image]=\"\r\n setting.AvatarField\r\n ? (mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId)\r\n : ''\r\n \"\r\n [size]=\"avatarSize\"\r\n [transparent]=\"true\"\r\n [glyph]=\"\r\n setting.IconFont ??\r\n (mo.$State === 'New' && !isChecked ? 'favorite' : inlineEditMode && isChecked ? 'edit' : '')\r\n \"\r\n >\r\n </fd-avatar>\r\n </span>\r\n }\r\n <div fd-list-content>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.TitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n conditionalFormats: conditionalFormats,\r\n index: 0\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div fd-list-byline [style.padding-left]=\"canView && deviceName === 'desktop' ? '.9rem' : '0'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.StatusField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n conditionalFormats: conditionalFormats\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div fd-list-byline>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.SubtitleField,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n conditionalFormats: conditionalFormats\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n @if (contextMenuItems.length) {\r\n <bsu-ulv-context-menu\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></bsu-ulv-context-menu>\r\n } @if (canView && !hideOpenIcon) {\r\n <button (click)=\"onRowClick()\" fdType=\"transparent\" [glyph]=\"navigationArrow\" fd-button></button>\r\n }\r\n </a>\r\n </li>\r\n</ng-template>\r\n<ng-template #displayTemplate let-mo>\r\n @if (!mo.parent || mo.parent?.expanded) {\r\n <li\r\n class=\"display\"\r\n [ngClass]=\"deviceSize\"\r\n fd-list-item\r\n [interactive]=\"false\"\r\n (dblclick)=\"onRowClick()\"\r\n (click)=\"onRowCheck()\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n >\r\n <a\r\n fd-list-link\r\n [attr.rtl]=\"rtl\"\r\n class=\"li-link\"\r\n style=\"cursor: default\"\r\n [class.checklist]=\"isCheckList\"\r\n #aEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"aEl\"\r\n style=\"column-gap: 3px\"\r\n >\r\n @if (setting.AvatarField) {\r\n <img\r\n [src]=\"mo[setting.AvatarField.Name]?.FileId | picFieldSrc: 'ID':setting.AvatarField.FieldDefId\"\r\n style=\"width: 24px; height: 24px\"\r\n />\r\n } @if (setting.IconFont) {\r\n <i fd-list-icon [glyph]=\"setting.IconFont\" [style.color]=\"setting.IconColor ? setting.IconColor : null\">\r\n </i>\r\n } @if (!setting.IconFont && mo.$State === 'New' && !isChecked) {\r\n <i fd-list-icon glyph=\"favorite\"></i>\r\n } @if (!setting.IconFont && inlineEditMode && isChecked) {\r\n <i fd-list-icon glyph=\"edit\"></i>\r\n } @if (isCheckList) {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\r\n }\r\n <span fd-list-title>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.TitleField,\r\n conditionalFormats: conditionalFormats,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: 0\r\n }\r\n \"\r\n ></ng-container>\r\n </span>\r\n <span fd-list-secondary [dir]=\"rtl ? 'ltr' : 'rtl'\" [class.flex1]=\"contextMenuItems.length === 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: setting.CounterField,\r\n conditionalFormats: conditionalFormats,\r\n layout94: layout$ | async,\r\n mo: mo,\r\n index: index\r\n }\r\n \"\r\n ></ng-container>\r\n @if (canView && !hideOpenIcon) {\r\n <button fd-button (click)=\"onRowClick()\" [glyph]=\"navigationArrow\" fdType=\"transparent\"></button>\r\n } @if (contextMenuItems.length) {\r\n <bsu-ulv-context-menu\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"onUlvCommand()\"\r\n ></bsu-ulv-context-menu>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n</ng-template>\r\n<ng-template\r\n #renderColumn\r\n let-column\r\n let-mo=\"mo\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-index=\"index\"\r\n let-layout94=\"layout94\"\r\n>\r\n @if (column) {\r\n <div\r\n #divEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"divEl\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"true\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"inlineEditMode && allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [controlUi]=\"column.Caption | controlUi: layout94:column.Name\"\r\n (keyup.control.enter)=\"onEditFormPanelSave($event)\"\r\n (keyup.esc)=\"onEditFormPanelCancel($event)\"\r\n (keydown.Tab)=\"onTabKeyDown($event, index)\"\r\n [formLayoutShowLabel]=\"true\"\r\n ></bsu-column-renderer>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [":host li.s{height:auto}:host .flex1{flex:1;display:flex;justify-content:start;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$7.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "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: "directive", type: i7.ListThumbnailDirective, selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "directive", type: i2$7.ɵɵDir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["cellEdit", "column", "allColumns", "mo", "index", "editMode", "attachmentViewType", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "isMobile", "fdTextMode", "deviceName", "deviceSize", "value", "icon"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ControlUiPipe, name: "controlUi" }, { kind: "pipe", type: i2.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i2.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5694
5697
|
}
|
|
5695
5698
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListItemComponent, decorators: [{
|
|
5696
5699
|
type: Component,
|
|
@@ -5792,6 +5795,10 @@ class TableThDirective extends BaseDirective {
|
|
|
5792
5795
|
this._setWidth();
|
|
5793
5796
|
}
|
|
5794
5797
|
_setWidth() {
|
|
5798
|
+
if (this.hasSecondaryColumns) {
|
|
5799
|
+
this._renderer2.setStyle(this._el.nativeElement, 'width', '50%');
|
|
5800
|
+
return;
|
|
5801
|
+
}
|
|
5795
5802
|
this._renderer2.setStyle(this._el.nativeElement, 'width', this.column.$FitContainerWidth);
|
|
5796
5803
|
if (this.columnsLength === 1 && this.last) {
|
|
5797
5804
|
this._renderer2.setStyle(this._el.nativeElement, 'width', `100%`);
|
|
@@ -5803,7 +5810,7 @@ class TableThDirective extends BaseDirective {
|
|
|
5803
5810
|
}
|
|
5804
5811
|
}
|
|
5805
5812
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TableThDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5806
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TableThDirective, isStandalone: false, selector: "[tableth]", inputs: { fieldTypeId: "fieldTypeId", caption: "caption", icon: "icon", inlineEditMode: "inlineEditMode", isImageOrIcon: "isImageOrIcon", columnsLength: "columnsLength", tableWidth: "tableWidth", last: "last", rtl: "rtl", column: "column", disableResponsive: "disableResponsive", disableResize: "disableResize", disableHeaderContextMenu: "disableHeaderContextMenu", tableHeaderMode: "tableHeaderMode", colClass: "colClass", displayType: "displayType", name: "name", index: "index" }, usesInheritance: true, ngImport: i0 }); }
|
|
5813
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TableThDirective, isStandalone: false, selector: "[tableth]", inputs: { fieldTypeId: "fieldTypeId", caption: "caption", icon: "icon", inlineEditMode: "inlineEditMode", isImageOrIcon: "isImageOrIcon", columnsLength: "columnsLength", tableWidth: "tableWidth", last: "last", rtl: "rtl", column: "column", disableResponsive: "disableResponsive", disableResize: "disableResize", disableHeaderContextMenu: "disableHeaderContextMenu", hasSecondaryColumns: "hasSecondaryColumns", tableHeaderMode: "tableHeaderMode", colClass: "colClass", displayType: "displayType", name: "name", index: "index" }, usesInheritance: true, ngImport: i0 }); }
|
|
5807
5814
|
}
|
|
5808
5815
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TableThDirective, decorators: [{
|
|
5809
5816
|
type: Directive,
|
|
@@ -5837,6 +5844,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
5837
5844
|
type: Input
|
|
5838
5845
|
}], disableHeaderContextMenu: [{
|
|
5839
5846
|
type: Input
|
|
5847
|
+
}], hasSecondaryColumns: [{
|
|
5848
|
+
type: Input
|
|
5840
5849
|
}], tableHeaderMode: [{
|
|
5841
5850
|
type: Input
|
|
5842
5851
|
}], colClass: [{
|
|
@@ -5962,6 +5971,9 @@ class BarsaTableHeaderComponent extends BaseComponent {
|
|
|
5962
5971
|
});
|
|
5963
5972
|
}
|
|
5964
5973
|
RefreshTableThWidth() {
|
|
5974
|
+
if (this.hasSecondaryColumns) {
|
|
5975
|
+
return;
|
|
5976
|
+
}
|
|
5965
5977
|
setTableThWidth(this.tableHeaderMode, this.columns, this.thArr, this._renderer2);
|
|
5966
5978
|
}
|
|
5967
5979
|
TableThFitToCaption() {
|
|
@@ -5971,11 +5983,11 @@ class BarsaTableHeaderComponent extends BaseComponent {
|
|
|
5971
5983
|
return `${column.Name}${index}`;
|
|
5972
5984
|
}
|
|
5973
5985
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTableHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5974
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTableHeaderComponent, isStandalone: false, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", attachmentViewType: "attachmentViewType", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", actionList: "actionList", rowIndicator: "rowIndicator", rtl: "rtl", sticky: "sticky", showRowNumber: "showRowNumber", hasSecondaryColumns: "hasSecondaryColumns", disableResize: "disableResize", disableHeaderContextMenu: "disableHeaderContextMenu", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", columnResizing: "columnResizing", fitToContent: "fitToContent", fitToContainer: "fitToContainer", freeColumnSize: "freeColumnSize", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter", resetGridSettings: "resetGridSettings", headerRender: "headerRender" }, viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\r\n fd-table-header\r\n [class.inline-edit]=\"inlineEditMode\"\r\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\r\n [style.position]=\"sticky ? 'sticky' : null\"\r\n #theadRef\r\n>\r\n <tr fd-table-row>\r\n @if (!hideHeader) { @if (rowIndicator) {\r\n <th fd-table-cell fd-table-status-indicator #rowIndicator></th>\r\n } @if (showRowNumber) {\r\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\r\n } @if (isCheckList) {\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n ></fd-checkbox>\r\n </th>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <th fd-table-cell class=\"single-select\"></th>\r\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) {\r\n <th\r\n #thRef\r\n tableth\r\n fd-table-cell\r\n resizable\r\n [index]=\"i\"\r\n [last]=\"last\"\r\n [columnsLength]=\"columns.length\"\r\n [column]=\"column\"\r\n [tableHeaderMode]=\"tableHeaderMode\"\r\n [fieldTypeId]=\"+column.FieldTypeId\"\r\n [rtl]=\"rtl\"\r\n [caption]=\"column.Caption | bbbTranslate\"\r\n [name]=\"column.Name\"\r\n [icon]=\"column.Icon\"\r\n [colClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\r\n [displayType]=\"column.Extra?.IconDisplayTypeEnum\"\r\n [isImageOrIcon]=\"(column | thImageOrIcon) === true\"\r\n [disableResize]=\"\r\n hasSecondaryColumns ||\r\n disableResize ||\r\n (tableHeaderMode === 2 && last) ||\r\n (column | thImageOrIcon) === true\r\n \"\r\n [disableHeaderContextMenu]=\"disableHeaderContextMenu\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (sortAscending)=\"sortAscending.emit(column)\"\r\n (sortDescending)=\"sortDescending.emit(column)\"\r\n (filter)=\"filter.emit(column)\"\r\n (resetGridSettings)=\"resetGridSettings.emit()\"\r\n (widthChange)=\"onColumnWidthChange(column)\"\r\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\r\n [style.width]=\"hasSecondaryColumns && last ? '100% !important' : null\"\r\n >\r\n @if(!disableHeaderContextMenu){\r\n <fd-popover #menu>\r\n <fd-popover-control>\r\n <ng-container *ngTemplateOutlet=\"headerValue; context: { $implicit: column }\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\r\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title\r\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\r\n >\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onSortDescending(column, menu)\" bodyClick>\r\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title\r\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\r\n >\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onFitToContent(column, i)\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"fitToContainer.emit()\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"freeColumnSize.emit()\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onResetColumnsSettings()\" bodyClick>\r\n <fd-menu-addon position=\"before\" glyph=\"reset\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ 'GridSettingBase' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @else{\r\n <ng-container *ngTemplateOutlet=\"headerValue; context: { $implicit: column }\"></ng-container>\r\n }\r\n </th>\r\n } @if (contextMenuItems && contextMenuItems.length > 0) {\r\n <th\r\n class=\"col-header col-context-menu\"\r\n fd-table-cell\r\n [fitContent]=\"disableOverflowContextMenu\"\r\n [style.width.px]=\"contextMenuWidth\"\r\n ></th>\r\n } @if (showDetailsInRow && !inlineEditMode) {\r\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? '44px' : '120px'\" fd-table-cell></th>\r\n } @if (showViewButton) {\r\n <th class=\"col-header col-view\" [style.width.px]=\"36 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\r\n } }\r\n </tr>\r\n</thead>\r\n<ng-template #headerValue let-column>\r\n <div style=\"display: flex\" [attr.title]=\"column.Caption | bbbTranslate\">\r\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) && column.Icon) {\r\n <img [src]=\"column.Icon\" />\r\n } @else if(column.FieldTypeId!==38) {\r\n {{ column.Caption | bbbTranslate }}\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i5$2.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i3$4.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY", "nonInteractive"] }, { kind: "directive", type: i3$4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3$4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i3$4.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i2.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "directive", type: TableThDirective, selector: "[tableth]", inputs: ["fieldTypeId", "caption", "icon", "inlineEditMode", "isImageOrIcon", "columnsLength", "tableWidth", "last", "rtl", "column", "disableResponsive", "disableResize", "disableHeaderContextMenu", "tableHeaderMode", "colClass", "displayType", "name", "index"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ThImageOrIconePipe, name: "thImageOrIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5986
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTableHeaderComponent, isStandalone: false, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", attachmentViewType: "attachmentViewType", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", actionList: "actionList", rowIndicator: "rowIndicator", rtl: "rtl", sticky: "sticky", showRowNumber: "showRowNumber", hasSecondaryColumns: "hasSecondaryColumns", disableResize: "disableResize", disableHeaderContextMenu: "disableHeaderContextMenu", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", columnResizing: "columnResizing", fitToContent: "fitToContent", fitToContainer: "fitToContainer", freeColumnSize: "freeColumnSize", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter", resetGridSettings: "resetGridSettings", headerRender: "headerRender" }, viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\r\n fd-table-header\r\n [class.inline-edit]=\"inlineEditMode\"\r\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\r\n [style.position]=\"sticky ? 'sticky' : null\"\r\n #theadRef\r\n>\r\n <tr fd-table-row>\r\n @if (!hideHeader) { @if (rowIndicator) {\r\n <th fd-table-cell fd-table-status-indicator #rowIndicator></th>\r\n } @if (showRowNumber) {\r\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\r\n } @if (isCheckList) {\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n ></fd-checkbox>\r\n </th>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <th fd-table-cell class=\"single-select\"></th>\r\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) {\r\n <th\r\n #thRef\r\n tableth\r\n [hasSecondaryColumns]=\"hasSecondaryColumns\"\r\n fd-table-cell\r\n resizable\r\n [index]=\"i\"\r\n [last]=\"last\"\r\n [columnsLength]=\"columns.length\"\r\n [column]=\"column\"\r\n [tableHeaderMode]=\"tableHeaderMode\"\r\n [fieldTypeId]=\"+column.FieldTypeId\"\r\n [rtl]=\"rtl\"\r\n [caption]=\"column.Caption | bbbTranslate\"\r\n [name]=\"column.Name\"\r\n [icon]=\"column.Icon\"\r\n [colClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\r\n [displayType]=\"column.Extra?.IconDisplayTypeEnum\"\r\n [isImageOrIcon]=\"(column | thImageOrIcon) === true\"\r\n [disableResize]=\"\r\n hasSecondaryColumns ||\r\n disableResize ||\r\n (tableHeaderMode === 2 && last) ||\r\n (column | thImageOrIcon) === true\r\n \"\r\n [disableHeaderContextMenu]=\"disableHeaderContextMenu\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (sortAscending)=\"sortAscending.emit(column)\"\r\n (sortDescending)=\"sortDescending.emit(column)\"\r\n (filter)=\"filter.emit(column)\"\r\n (resetGridSettings)=\"resetGridSettings.emit()\"\r\n (widthChange)=\"!hasSecondaryColumns && onColumnWidthChange(column)\"\r\n (widthChanging)=\"!hasSecondaryColumns && onColumnWidthChanging(i, column, $event)\"\r\n [style.width]=\"hasSecondaryColumns ? (columns.length===1 ? '100% !important':'50% !important') : null\"\r\n >\r\n @if(!disableHeaderContextMenu){\r\n <fd-popover #menu>\r\n <fd-popover-control>\r\n <ng-container *ngTemplateOutlet=\"headerValue; context: { $implicit: column }\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\r\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title\r\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\r\n >\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onSortDescending(column, menu)\" bodyClick>\r\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title\r\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\r\n >\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onFitToContent(column, i)\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"fitToContainer.emit()\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"freeColumnSize.emit()\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onResetColumnsSettings()\" bodyClick>\r\n <fd-menu-addon position=\"before\" glyph=\"reset\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ 'GridSettingBase' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @else{\r\n <ng-container *ngTemplateOutlet=\"headerValue; context: { $implicit: column }\"></ng-container>\r\n }\r\n </th>\r\n } @if (contextMenuItems && contextMenuItems.length > 0) {\r\n <th\r\n class=\"col-header col-context-menu\"\r\n fd-table-cell\r\n [fitContent]=\"disableOverflowContextMenu\"\r\n [style.width.px]=\"contextMenuWidth\"\r\n ></th>\r\n } @if (showDetailsInRow && !inlineEditMode) {\r\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? '44px' : '120px'\" fd-table-cell></th>\r\n } @if (showViewButton) {\r\n <th class=\"col-header col-view\" [style.width.px]=\"36 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\r\n } }\r\n </tr>\r\n</thead>\r\n<ng-template #headerValue let-column>\r\n <div style=\"display: flex\" [attr.title]=\"column.Caption | bbbTranslate\">\r\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) && column.Icon) {\r\n <img [src]=\"column.Icon\" />\r\n } @else if(column.FieldTypeId!==38) {\r\n {{ column.Caption | bbbTranslate }}\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i5$2.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i3$4.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY", "nonInteractive"] }, { kind: "directive", type: i3$4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3$4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i3$4.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i2.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "directive", type: TableThDirective, selector: "[tableth]", inputs: ["fieldTypeId", "caption", "icon", "inlineEditMode", "isImageOrIcon", "columnsLength", "tableWidth", "last", "rtl", "column", "disableResponsive", "disableResize", "disableHeaderContextMenu", "hasSecondaryColumns", "tableHeaderMode", "colClass", "displayType", "name", "index"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ThImageOrIconePipe, name: "thImageOrIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5975
5987
|
}
|
|
5976
5988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTableHeaderComponent, decorators: [{
|
|
5977
5989
|
type: Component,
|
|
5978
|
-
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<thead\r\n fd-table-header\r\n [class.inline-edit]=\"inlineEditMode\"\r\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\r\n [style.position]=\"sticky ? 'sticky' : null\"\r\n #theadRef\r\n>\r\n <tr fd-table-row>\r\n @if (!hideHeader) { @if (rowIndicator) {\r\n <th fd-table-cell fd-table-status-indicator #rowIndicator></th>\r\n } @if (showRowNumber) {\r\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\r\n } @if (isCheckList) {\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n ></fd-checkbox>\r\n </th>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <th fd-table-cell class=\"single-select\"></th>\r\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) {\r\n <th\r\n #thRef\r\n tableth\r\n fd-table-cell\r\n resizable\r\n [index]=\"i\"\r\n [last]=\"last\"\r\n [columnsLength]=\"columns.length\"\r\n [column]=\"column\"\r\n [tableHeaderMode]=\"tableHeaderMode\"\r\n [fieldTypeId]=\"+column.FieldTypeId\"\r\n [rtl]=\"rtl\"\r\n [caption]=\"column.Caption | bbbTranslate\"\r\n [name]=\"column.Name\"\r\n [icon]=\"column.Icon\"\r\n [colClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\r\n [displayType]=\"column.Extra?.IconDisplayTypeEnum\"\r\n [isImageOrIcon]=\"(column | thImageOrIcon) === true\"\r\n [disableResize]=\"\r\n hasSecondaryColumns ||\r\n disableResize ||\r\n (tableHeaderMode === 2 && last) ||\r\n (column | thImageOrIcon) === true\r\n \"\r\n [disableHeaderContextMenu]=\"disableHeaderContextMenu\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (sortAscending)=\"sortAscending.emit(column)\"\r\n (sortDescending)=\"sortDescending.emit(column)\"\r\n (filter)=\"filter.emit(column)\"\r\n (resetGridSettings)=\"resetGridSettings.emit()\"\r\n (widthChange)=\"onColumnWidthChange(column)\"\r\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\r\n [style.width]=\"hasSecondaryColumns
|
|
5990
|
+
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<thead\r\n fd-table-header\r\n [class.inline-edit]=\"inlineEditMode\"\r\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\r\n [style.position]=\"sticky ? 'sticky' : null\"\r\n #theadRef\r\n>\r\n <tr fd-table-row>\r\n @if (!hideHeader) { @if (rowIndicator) {\r\n <th fd-table-cell fd-table-status-indicator #rowIndicator></th>\r\n } @if (showRowNumber) {\r\n <th fd-table-cell style=\"width: 40px; max-width: 40px\"></th>\r\n } @if (isCheckList) {\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n ></fd-checkbox>\r\n </th>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <th fd-table-cell class=\"single-select\"></th>\r\n } @for (column of columns; track _trackByColumn(i, column); let i = $index; let last = $last) {\r\n <th\r\n #thRef\r\n tableth\r\n [hasSecondaryColumns]=\"hasSecondaryColumns\"\r\n fd-table-cell\r\n resizable\r\n [index]=\"i\"\r\n [last]=\"last\"\r\n [columnsLength]=\"columns.length\"\r\n [column]=\"column\"\r\n [tableHeaderMode]=\"tableHeaderMode\"\r\n [fieldTypeId]=\"+column.FieldTypeId\"\r\n [rtl]=\"rtl\"\r\n [caption]=\"column.Caption | bbbTranslate\"\r\n [name]=\"column.Name\"\r\n [icon]=\"column.Icon\"\r\n [colClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\r\n [displayType]=\"column.Extra?.IconDisplayTypeEnum\"\r\n [isImageOrIcon]=\"(column | thImageOrIcon) === true\"\r\n [disableResize]=\"\r\n hasSecondaryColumns ||\r\n disableResize ||\r\n (tableHeaderMode === 2 && last) ||\r\n (column | thImageOrIcon) === true\r\n \"\r\n [disableHeaderContextMenu]=\"disableHeaderContextMenu\"\r\n [disableResponsive]=\"disableResponsive\"\r\n (sortAscending)=\"sortAscending.emit(column)\"\r\n (sortDescending)=\"sortDescending.emit(column)\"\r\n (filter)=\"filter.emit(column)\"\r\n (resetGridSettings)=\"resetGridSettings.emit()\"\r\n (widthChange)=\"!hasSecondaryColumns && onColumnWidthChange(column)\"\r\n (widthChanging)=\"!hasSecondaryColumns && onColumnWidthChanging(i, column, $event)\"\r\n [style.width]=\"hasSecondaryColumns ? (columns.length===1 ? '100% !important':'50% !important') : null\"\r\n >\r\n @if(!disableHeaderContextMenu){\r\n <fd-popover #menu>\r\n <fd-popover-control>\r\n <ng-container *ngTemplateOutlet=\"headerValue; context: { $implicit: column }\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\r\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title\r\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\r\n >\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onSortDescending(column, menu)\" bodyClick>\r\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title\r\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\r\n >\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onFitToContent(column, i)\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"fitToContainer.emit()\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"freeColumnSize.emit()\" bodyClick>\r\n <fd-menu-addon position=\"before\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\r\n </a>\r\n </li>\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onResetColumnsSettings()\" bodyClick>\r\n <fd-menu-addon position=\"before\" glyph=\"reset\" fd-list-icon></fd-menu-addon>\r\n <span fd-list-title>{{ 'GridSettingBase' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @else{\r\n <ng-container *ngTemplateOutlet=\"headerValue; context: { $implicit: column }\"></ng-container>\r\n }\r\n </th>\r\n } @if (contextMenuItems && contextMenuItems.length > 0) {\r\n <th\r\n class=\"col-header col-context-menu\"\r\n fd-table-cell\r\n [fitContent]=\"disableOverflowContextMenu\"\r\n [style.width.px]=\"contextMenuWidth\"\r\n ></th>\r\n } @if (showDetailsInRow && !inlineEditMode) {\r\n <th class=\"col-header col-details\" [style.width]=\"deviceSize === 's' ? '44px' : '120px'\" fd-table-cell></th>\r\n } @if (showViewButton) {\r\n <th class=\"col-header col-view\" [style.width.px]=\"36 * (actionList?.length ?? 0) + 8\" fd-table-cell></th>\r\n } }\r\n </tr>\r\n</thead>\r\n<ng-template #headerValue let-column>\r\n <div style=\"display: flex\" [attr.title]=\"column.Caption | bbbTranslate\">\r\n @if ( (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) && column.Icon) {\r\n <img [src]=\"column.Icon\" />\r\n } @else if(column.FieldTypeId!==38) {\r\n {{ column.Caption | bbbTranslate }}\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"] }]
|
|
5979
5991
|
}], propDecorators: { thList: [{
|
|
5980
5992
|
type: ViewChildren,
|
|
5981
5993
|
args: ['thRef', { read: ElementRef }]
|
|
@@ -6151,11 +6163,11 @@ class BarsaTableRowComponent extends BaseViewItemPropsComponent {
|
|
|
6151
6163
|
this.activeColumn.set(column);
|
|
6152
6164
|
}
|
|
6153
6165
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTableRowComponent, isStandalone: false, selector: "bsu-barsa-table-row", inputs: { showDetailsInRow: "showDetailsInRow", previewColumn: "previewColumn", columnComponents: "columnComponents", dirtyColumns: "dirtyColumns", detailsCollapsed: "detailsCollapsed" }, outputs: { columnSummary: "columnSummary" }, providers: [FormPanelService], viewQueries: [{ propertyName: "detailsFormItems", first: true, predicate: ["detailsFormItems"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n [class.row-error]=\"hasError\"\r\n [class.showdetails-on]=\"!detailsCollapsed && (detailsComponent?.Selector || detailsColumns?.length)\"\r\n [class.hasForm]=\"formSetting\"\r\n [class.hasCartable]=\"!!cartableParams\"\r\n #trEl\r\n fd-table-row\r\n [activable]=\"false\"\r\n [hoverable]=\"true\"\r\n [main]=\"true\"\r\n [focusable]=\"!(inlineEditMode && allowInlineEdit)\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [class.brule-message]=\"bruleActionMessage() || workflowState()?.error\"\r\n [class.workflow-pending]=\"workflowState()?.state === 'Pending'\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n (keydown.enter)=\"onRowCheck(true)\"\r\n>\r\n @if (mo.$Group || mo.$Group === '') {\r\n <td\r\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n fd-table-cell\r\n style=\"font-weight: bold; font-size: 1rem\"\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n class=\"row-group\"\r\n [class.mobile-mode]=\"secondaryColumns?.length\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 0\"\r\n >\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick()\"\r\n ></button>\r\n {{ mo.$Group === 'undefined' ? '' : mo.$Group }}\r\n </td>\r\n } @else {\r\n\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (isCheckList) {\r\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\r\n @if (workflowState()?.state === 'Pending') {\r\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\r\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\r\n </div>\r\n } @if (checkboxComponent?.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"checkboxComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"setting\"\r\n [parameters]=\"checkboxComponent.Parameters\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [value]=\"isChecked\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n (events)=\"onRowCheck()\"\r\n ></bnrc-dynamic-item-component>\r\n } @else {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\r\n }\r\n </td>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <td\r\n fd-table-cell\r\n class=\"single-select\"\r\n (click)=\"!isCheckList && onRowCheck()\"\r\n style=\"padding: 0; text-align: center\"\r\n >\r\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\r\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\r\n } @if (saving) {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\r\n } @if (saved) {\r\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\r\n } } @else { @if (mo.$State === 'New' && !isChecked) {\r\n <fd-icon glyph=\"favorite\"></fd-icon>\r\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\r\n <fd-icon glyph=\"edit\"></fd-icon>\r\n } }\r\n </td>\r\n }\r\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\r\n @for (column of columns; track column.Name; let columnIndex = $index) {\r\n <td\r\n class=\"rep-column\"\r\n [attr.dbName]=\"column.Name\"\r\n #tdEl\r\n fd-table-cell\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n [focusable]=\"false\"\r\n (click)=\"onColumnClick(column)\"\r\n (keydown.enter)=\"onColumnKeyEnter(column)\"\r\n (dblclick)=\"onRowClick()\"\r\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\r\n [class.control-readonly]=\"column.IsReadonly\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </td>\r\n } @if (contextMenuItems.length ) {\r\n <td class=\"col-context-menu\" fd-table-cell>\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n </td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\r\n @if ((detailsComponent?.Selector || detailsColumns?.length || cartableParams?.moId ) && !hideDetailsText) {\r\n <div class=\"tw-flex tw-justify-end tw-w-full\">\r\n <button\r\n fd-button\r\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onRowDetails()\"\r\n ></button>\r\n </div>\r\n }\r\n </td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </td>\r\n } }\r\n</tr>\r\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"secondary-row\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\r\n }\r\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\r\n <div style=\"display: flex; flex-direction: column\">\r\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n style=\"font-family: 'B-Font Medium'\"\r\n >\r\n <label fd-form-label>{{ column.Caption }} :</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n }\r\n </div>\r\n </td>\r\n</tr>\r\n} @if (cartableParams?.moId) {\r\n<tr\r\n [class.detailCollapsed]=\"detailsCollapsed\"\r\n fd-table-row\r\n class=\"showdetails cartable\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? 1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container>\r\n <bnrc-form\r\n #cartableFormRef\r\n class=\"cartable-template\"\r\n [inlineEditInReport]=\"true\"\r\n [params]=\"cartableParams\"\r\n (beforeTransition)=\"onCartableBeforeTansition()\"\r\n (afterTransition)=\"onCartableAfterTansition($event)\"\r\n (bruleAction)=\"onCartableBruleAction($event)\"\r\n (click)=\"OnCartableFormClick($event)\"\r\n (formClose)=\"onCartableFormClosed()\"\r\n ></bnrc-form>\r\n </ng-container>\r\n </td>\r\n</tr>\r\n} @if (!detailsCollapsed && (detailsComponent?.Selector|| detailsColumns?.length)) {\r\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\" [class.has-preview-column]=\"!!previewColumn\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n @if (detailsComponent && detailsComponent.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"detailsComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"detailsComponentSetting\"\r\n [parameters]=\"detailsComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n ></bnrc-dynamic-item-component>\r\n }\r\n </td>\r\n</tr>\r\n} @if(previewColumn){\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"preview-column\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <div style=\"display: flex; flex-direction: column\">\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"previewColumn.Name\"\r\n style=\"color: var(--sapAccentColor6)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: previewColumn,\r\n mo: mo,\r\n index: columns.length,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n </div>\r\n </td>\r\n</tr>\r\n} @if(isLastChildGroup && groupSummary){\r\n<tr #trEl fd-table-row class=\"group-summary-row\" [class.no-edit-mode]=\"true\" [attr.aria-selected]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\"></td>\r\n } @for (column of columns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <td fd-table-cell>\r\n <label #summaryRef>{{ reCalculateColumnSummary(summaryRef, column) }}</label>\r\n </td>\r\n } @if (contextMenuItems.length) {\r\n <td class=\"col-context-menu\" fd-table-cell></td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\"></td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" fd-table-cell [fitContent]=\"true\"></td>\r\n }\r\n</tr>\r\n} @if (bruleActionMessage() && inlineEditMode) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n @if (bruleActionMessage()?.MessageType === 2) {\r\n <fd-message-strip\r\n [type]=\"bruleActionMessage()?.MessageType === 2 ? 'error' : 'information'\"\r\n [dismissible]=\"false\"\r\n >\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n </fd-message-strip>\r\n }\r\n </td>\r\n</tr>\r\n} @if (workflowState()?.state === 'Finish' && workflowState()?.error) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\r\n {{ workflowState()?.error?.Text || workflowState()?.error?.MessageExpression }}\r\n </fd-message-strip>\r\n </td>\r\n</tr>\r\n}\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [attachmentViewType]=\"attachmentViewType\"\r\n [isdirty]=\"dirtyColumns && dirtyColumns[column.Name]\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"secondaryColumns?.length || disableEllapsis\"\r\n [editMode]=\"(isChecked || inlineEditWithoutSelection) && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked === true\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [isMobile]=\"isMobile\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n [cellEdit]=\"activeColumn() === column && isChecked\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n</ng-template>\r\n<ng-template #statusIndicator>\r\n @if (rowIndicator) {\r\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\r\n </bsu-barsa-column-indicator>\r\n }\r\n</ng-template>\r\n<ng-template #rowNumberTemplate>\r\n @if (showRowNumber) {\r\n <td fd-table-cell bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\"></td>\r\n }\r\n</ng-template>\r\n<tr fd-table-row style=\"pointer-events: none\"></tr>\r\n", styles: [":host{display:contents;width:100%}:host bnrc-form.cartable-template ::ng-deep bsu-ly-layout-container-of-root{padding-bottom:1rem}:host.has-preview-column .secondary-row td{border-bottom:none}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .inlineEditMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .inlineEditMode bsu-ui-simple-combo{margin:0!important}:host ::ng-deep .secondary.p-wrapper p{display:flex;align-items:center}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}tr.group-summary-row td{border:none;background-color:#dde5f0;border-right:none!important;font-weight:700}tr.group-summary-row td label{font-weight:700}tr.group-summary-row td label.NaN{display:none}td{vertical-align:middle}td.control-readonly{background-color:var(--sapList_HeaderBackground)}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}.workflow-pending{opacity:.5;pointer-events:none;position:relative}.detailCollapsed{height:0;display:none}tr td.rep-column:first-child{position:sticky;right:0}tr:not([aria-selected=true]).preview-column td{border-bottom:var(--sapList_BorderWidth) var(--fdTable_Cell_Horizontal_Border_Style, solid) var(--sapList_BorderColor)}tr[aria-selected=true].has-preview-column td,tr.showdetails-on.hasCartable td,tr.showdetails-on.hasForm td{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "component", type: i5$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i2$1.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2$1.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i2$8.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "dismissBtnTitle", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "directive", type: i3$4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3$4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i3$4.TableTextDirective, selector: "[fdTableText], [fd-table-text]", inputs: ["fdTableTextClass", "noWrap", "title", "maxWidth"] }, { kind: "component", type: MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTableColumnComponent, selector: "bsu-barsa-table-column", inputs: ["disableEllapsis", "fdTextMode"] }, { kind: "component", type: BarsaColumnIndicatorComponent, selector: "bsu-barsa-column-indicator", inputs: ["backColor", "hideBorderBottom"] }, { kind: "component", type: BarsaColumnRowNumberComponent, selector: "td[bsu-barsa-column-rownumber],bsu-barsa-column-rownumber", inputs: ["rowNumber"] }, { kind: "component", type: BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i2.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTableRowComponent, isStandalone: false, selector: "bsu-barsa-table-row", inputs: { showDetailsInRow: "showDetailsInRow", previewColumn: "previewColumn", columnComponents: "columnComponents", dirtyColumns: "dirtyColumns", detailsCollapsed: "detailsCollapsed" }, outputs: { columnSummary: "columnSummary" }, providers: [FormPanelService], viewQueries: [{ propertyName: "detailsFormItems", first: true, predicate: ["detailsFormItems"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n [class.row-error]=\"hasError\"\r\n [class.showdetails-on]=\"!detailsCollapsed && (detailsComponent?.Selector || detailsColumns?.length)\"\r\n [class.has-secondary-row]=\"\r\n secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded)\r\n \"\r\n [class.hasForm]=\"formSetting\"\r\n [class.hasCartable]=\"!!cartableParams\"\r\n #trEl\r\n fd-table-row\r\n [activable]=\"false\"\r\n [hoverable]=\"true\"\r\n [main]=\"true\"\r\n [focusable]=\"!(inlineEditMode && allowInlineEdit)\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [class.brule-message]=\"bruleActionMessage() || workflowState()?.error\"\r\n [class.workflow-pending]=\"workflowState()?.state === 'Pending'\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n (keydown.enter)=\"onRowCheck(true)\"\r\n>\r\n @if (mo.$Group || mo.$Group === '') {\r\n <td\r\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n fd-table-cell\r\n style=\"font-weight: bold; font-size: 1rem\"\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n class=\"row-group\"\r\n [class.mobile-mode]=\"secondaryColumns?.length\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 0\"\r\n >\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick()\"\r\n ></button>\r\n {{ mo.$Group === 'undefined' ? '' : mo.$Group }}\r\n </td>\r\n } @else {\r\n\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (isCheckList) {\r\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\r\n @if (workflowState()?.state === 'Pending') {\r\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\r\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\r\n </div>\r\n } @if (checkboxComponent?.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"checkboxComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"setting\"\r\n [parameters]=\"checkboxComponent.Parameters\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [value]=\"isChecked\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n (events)=\"onRowCheck()\"\r\n ></bnrc-dynamic-item-component>\r\n } @else {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\r\n }\r\n </td>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <td\r\n fd-table-cell\r\n class=\"single-select\"\r\n (click)=\"!isCheckList && onRowCheck()\"\r\n style=\"padding: 0; text-align: center\"\r\n >\r\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\r\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\r\n } @if (saving) {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\r\n } @if (saved) {\r\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\r\n } } @else { @if (mo.$State === 'New' && !isChecked) {\r\n <fd-icon glyph=\"favorite\"></fd-icon>\r\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\r\n <fd-icon glyph=\"edit\"></fd-icon>\r\n } }\r\n </td>\r\n }\r\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\r\n @for (column of columns; track column.Name; let columnIndex = $index) {\r\n <td\r\n class=\"rep-column\"\r\n [attr.dbName]=\"column.Name\"\r\n #tdEl\r\n fd-table-cell\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n [focusable]=\"false\"\r\n (click)=\"onColumnClick(column)\"\r\n (keydown.enter)=\"onColumnKeyEnter(column)\"\r\n (dblclick)=\"onRowClick()\"\r\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\r\n [class.control-readonly]=\"column.IsReadonly\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </td>\r\n } @if (contextMenuItems.length ) {\r\n <td class=\"col-context-menu\" fd-table-cell>\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n </td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\r\n @if ((detailsComponent?.Selector || detailsColumns?.length || cartableParams?.moId ) && !hideDetailsText) {\r\n <div class=\"tw-flex tw-justify-end tw-w-full\">\r\n <button\r\n fd-button\r\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onRowDetails()\"\r\n ></button>\r\n </div>\r\n }\r\n </td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </td>\r\n } }\r\n</tr>\r\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) ) {\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"secondary-row\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\r\n }\r\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\r\n <div style=\"display: flex; flex-direction: column\">\r\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n style=\"font-family: 'B-Font Medium'\"\r\n >\r\n <label fd-form-label>{{ column.Caption }} :</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n }\r\n </div>\r\n </td>\r\n</tr>\r\n} @if (cartableParams?.moId) {\r\n<tr\r\n [class.detailCollapsed]=\"detailsCollapsed\"\r\n fd-table-row\r\n class=\"showdetails cartable\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? 1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container>\r\n <bnrc-form\r\n #cartableFormRef\r\n class=\"cartable-template\"\r\n [inlineEditInReport]=\"true\"\r\n [params]=\"cartableParams\"\r\n (beforeTransition)=\"onCartableBeforeTansition()\"\r\n (afterTransition)=\"onCartableAfterTansition($event)\"\r\n (bruleAction)=\"onCartableBruleAction($event)\"\r\n (click)=\"OnCartableFormClick($event)\"\r\n (formClose)=\"onCartableFormClosed()\"\r\n ></bnrc-form>\r\n </ng-container>\r\n </td>\r\n</tr>\r\n} @if (!detailsCollapsed && (detailsComponent?.Selector|| detailsColumns?.length)) {\r\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\" [class.has-preview-column]=\"!!previewColumn\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n @if (detailsComponent && detailsComponent.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"detailsComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"detailsComponentSetting\"\r\n [parameters]=\"detailsComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n ></bnrc-dynamic-item-component>\r\n }\r\n </td>\r\n</tr>\r\n} @if(previewColumn){\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"preview-column\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <div style=\"display: flex; flex-direction: column\">\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"previewColumn.Name\"\r\n style=\"color: var(--sapAccentColor6)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: previewColumn,\r\n mo: mo,\r\n index: columns.length,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n </div>\r\n </td>\r\n</tr>\r\n} @if(isLastChildGroup && groupSummary){\r\n<tr #trEl fd-table-row class=\"group-summary-row\" [class.no-edit-mode]=\"true\" [attr.aria-selected]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\"></td>\r\n } @for (column of columns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <td fd-table-cell>\r\n <label #summaryRef>{{ reCalculateColumnSummary(summaryRef, column) }}</label>\r\n </td>\r\n } @if (contextMenuItems.length) {\r\n <td class=\"col-context-menu\" fd-table-cell></td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\"></td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" fd-table-cell [fitContent]=\"true\"></td>\r\n }\r\n</tr>\r\n} @if (bruleActionMessage() && inlineEditMode) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n @if (bruleActionMessage()?.MessageType === 2) {\r\n <fd-message-strip\r\n [type]=\"bruleActionMessage()?.MessageType === 2 ? 'error' : 'information'\"\r\n [dismissible]=\"false\"\r\n >\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n </fd-message-strip>\r\n }\r\n </td>\r\n</tr>\r\n} @if (workflowState()?.state === 'Finish' && workflowState()?.error) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\r\n {{ workflowState()?.error?.Text || workflowState()?.error?.MessageExpression }}\r\n </fd-message-strip>\r\n </td>\r\n</tr>\r\n}\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [attachmentViewType]=\"attachmentViewType\"\r\n [isdirty]=\"dirtyColumns && dirtyColumns[column.Name]\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"secondaryColumns?.length || disableEllapsis\"\r\n [editMode]=\"(isChecked || inlineEditWithoutSelection) && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked === true\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [isMobile]=\"isMobile\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n [cellEdit]=\"activeColumn() === column && isChecked\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n</ng-template>\r\n<ng-template #statusIndicator>\r\n @if (rowIndicator) {\r\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\r\n </bsu-barsa-column-indicator>\r\n }\r\n</ng-template>\r\n<ng-template #rowNumberTemplate>\r\n @if (showRowNumber) {\r\n <td fd-table-cell bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\"></td>\r\n }\r\n</ng-template>\r\n<tr fd-table-row style=\"pointer-events: none\"></tr>\r\n", styles: [":host{display:contents;width:100%}:host bnrc-form.cartable-template ::ng-deep bsu-ly-layout-container-of-root{padding-bottom:1rem}:host.has-preview-column .secondary-row td{border-bottom:none}:host tr.has-secondary-row td{border-bottom:none}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .inlineEditMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .inlineEditMode bsu-ui-simple-combo{margin:0!important}:host ::ng-deep .secondary.p-wrapper p{display:flex;align-items:center}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}tr.group-summary-row td{border:none;background-color:#dde5f0;border-right:none!important;font-weight:700}tr.group-summary-row td label{font-weight:700}tr.group-summary-row td label.NaN{display:none}td{vertical-align:middle}td.control-readonly{background-color:var(--sapList_HeaderBackground)}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}.workflow-pending{opacity:.5;pointer-events:none;position:relative}.detailCollapsed{height:0;display:none}tr td.rep-column:first-child{position:sticky;right:0}tr:not([aria-selected=true]).preview-column td{border-bottom:var(--sapList_BorderWidth) var(--fdTable_Cell_Horizontal_Border_Style, solid) var(--sapList_BorderColor)}tr[aria-selected=true].has-preview-column td,tr.showdetails-on.hasCartable td,tr.showdetails-on.hasForm td{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "component", type: i5$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i2$2.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i2$1.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2$1.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i2$8.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "dismissBtnTitle", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "directive", type: i3$4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3$4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i3$4.TableTextDirective, selector: "[fdTableText], [fd-table-text]", inputs: ["fdTableTextClass", "noWrap", "title", "maxWidth"] }, { kind: "component", type: MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTableColumnComponent, selector: "bsu-barsa-table-column", inputs: ["disableEllapsis", "fdTextMode"] }, { kind: "component", type: BarsaColumnIndicatorComponent, selector: "bsu-barsa-column-indicator", inputs: ["backColor", "hideBorderBottom"] }, { kind: "component", type: BarsaColumnRowNumberComponent, selector: "td[bsu-barsa-column-rownumber],bsu-barsa-column-rownumber", inputs: ["rowNumber"] }, { kind: "component", type: BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "directive", type: ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i2.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6155
6167
|
}
|
|
6156
6168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTableRowComponent, decorators: [{
|
|
6157
6169
|
type: Component,
|
|
6158
|
-
args: [{ selector: 'bsu-barsa-table-row', providers: [FormPanelService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n [class.row-error]=\"hasError\"\r\n [class.showdetails-on]=\"!detailsCollapsed && (detailsComponent?.Selector || detailsColumns?.length)\"\r\n [class.hasForm]=\"formSetting\"\r\n [class.hasCartable]=\"!!cartableParams\"\r\n #trEl\r\n fd-table-row\r\n [activable]=\"false\"\r\n [hoverable]=\"true\"\r\n [main]=\"true\"\r\n [focusable]=\"!(inlineEditMode && allowInlineEdit)\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [class.brule-message]=\"bruleActionMessage() || workflowState()?.error\"\r\n [class.workflow-pending]=\"workflowState()?.state === 'Pending'\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n (keydown.enter)=\"onRowCheck(true)\"\r\n>\r\n @if (mo.$Group || mo.$Group === '') {\r\n <td\r\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n fd-table-cell\r\n style=\"font-weight: bold; font-size: 1rem\"\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n class=\"row-group\"\r\n [class.mobile-mode]=\"secondaryColumns?.length\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 0\"\r\n >\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick()\"\r\n ></button>\r\n {{ mo.$Group === 'undefined' ? '' : mo.$Group }}\r\n </td>\r\n } @else {\r\n\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (isCheckList) {\r\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\r\n @if (workflowState()?.state === 'Pending') {\r\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\r\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\r\n </div>\r\n } @if (checkboxComponent?.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"checkboxComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"setting\"\r\n [parameters]=\"checkboxComponent.Parameters\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [value]=\"isChecked\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n (events)=\"onRowCheck()\"\r\n ></bnrc-dynamic-item-component>\r\n } @else {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\r\n }\r\n </td>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <td\r\n fd-table-cell\r\n class=\"single-select\"\r\n (click)=\"!isCheckList && onRowCheck()\"\r\n style=\"padding: 0; text-align: center\"\r\n >\r\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\r\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\r\n } @if (saving) {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\r\n } @if (saved) {\r\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\r\n } } @else { @if (mo.$State === 'New' && !isChecked) {\r\n <fd-icon glyph=\"favorite\"></fd-icon>\r\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\r\n <fd-icon glyph=\"edit\"></fd-icon>\r\n } }\r\n </td>\r\n }\r\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\r\n @for (column of columns; track column.Name; let columnIndex = $index) {\r\n <td\r\n class=\"rep-column\"\r\n [attr.dbName]=\"column.Name\"\r\n #tdEl\r\n fd-table-cell\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n [focusable]=\"false\"\r\n (click)=\"onColumnClick(column)\"\r\n (keydown.enter)=\"onColumnKeyEnter(column)\"\r\n (dblclick)=\"onRowClick()\"\r\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\r\n [class.control-readonly]=\"column.IsReadonly\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </td>\r\n } @if (contextMenuItems.length ) {\r\n <td class=\"col-context-menu\" fd-table-cell>\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n </td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\r\n @if ((detailsComponent?.Selector || detailsColumns?.length || cartableParams?.moId ) && !hideDetailsText) {\r\n <div class=\"tw-flex tw-justify-end tw-w-full\">\r\n <button\r\n fd-button\r\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onRowDetails()\"\r\n ></button>\r\n </div>\r\n }\r\n </td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </td>\r\n } }\r\n</tr>\r\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"secondary-row\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\r\n }\r\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\r\n <div style=\"display: flex; flex-direction: column\">\r\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n style=\"font-family: 'B-Font Medium'\"\r\n >\r\n <label fd-form-label>{{ column.Caption }} :</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n }\r\n </div>\r\n </td>\r\n</tr>\r\n} @if (cartableParams?.moId) {\r\n<tr\r\n [class.detailCollapsed]=\"detailsCollapsed\"\r\n fd-table-row\r\n class=\"showdetails cartable\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? 1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container>\r\n <bnrc-form\r\n #cartableFormRef\r\n class=\"cartable-template\"\r\n [inlineEditInReport]=\"true\"\r\n [params]=\"cartableParams\"\r\n (beforeTransition)=\"onCartableBeforeTansition()\"\r\n (afterTransition)=\"onCartableAfterTansition($event)\"\r\n (bruleAction)=\"onCartableBruleAction($event)\"\r\n (click)=\"OnCartableFormClick($event)\"\r\n (formClose)=\"onCartableFormClosed()\"\r\n ></bnrc-form>\r\n </ng-container>\r\n </td>\r\n</tr>\r\n} @if (!detailsCollapsed && (detailsComponent?.Selector|| detailsColumns?.length)) {\r\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\" [class.has-preview-column]=\"!!previewColumn\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n @if (detailsComponent && detailsComponent.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"detailsComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"detailsComponentSetting\"\r\n [parameters]=\"detailsComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n ></bnrc-dynamic-item-component>\r\n }\r\n </td>\r\n</tr>\r\n} @if(previewColumn){\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"preview-column\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <div style=\"display: flex; flex-direction: column\">\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"previewColumn.Name\"\r\n style=\"color: var(--sapAccentColor6)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: previewColumn,\r\n mo: mo,\r\n index: columns.length,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n </div>\r\n </td>\r\n</tr>\r\n} @if(isLastChildGroup && groupSummary){\r\n<tr #trEl fd-table-row class=\"group-summary-row\" [class.no-edit-mode]=\"true\" [attr.aria-selected]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\"></td>\r\n } @for (column of columns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <td fd-table-cell>\r\n <label #summaryRef>{{ reCalculateColumnSummary(summaryRef, column) }}</label>\r\n </td>\r\n } @if (contextMenuItems.length) {\r\n <td class=\"col-context-menu\" fd-table-cell></td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\"></td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" fd-table-cell [fitContent]=\"true\"></td>\r\n }\r\n</tr>\r\n} @if (bruleActionMessage() && inlineEditMode) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n @if (bruleActionMessage()?.MessageType === 2) {\r\n <fd-message-strip\r\n [type]=\"bruleActionMessage()?.MessageType === 2 ? 'error' : 'information'\"\r\n [dismissible]=\"false\"\r\n >\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n </fd-message-strip>\r\n }\r\n </td>\r\n</tr>\r\n} @if (workflowState()?.state === 'Finish' && workflowState()?.error) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\r\n {{ workflowState()?.error?.Text || workflowState()?.error?.MessageExpression }}\r\n </fd-message-strip>\r\n </td>\r\n</tr>\r\n}\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [attachmentViewType]=\"attachmentViewType\"\r\n [isdirty]=\"dirtyColumns && dirtyColumns[column.Name]\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"secondaryColumns?.length || disableEllapsis\"\r\n [editMode]=\"(isChecked || inlineEditWithoutSelection) && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked === true\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [isMobile]=\"isMobile\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n [cellEdit]=\"activeColumn() === column && isChecked\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n</ng-template>\r\n<ng-template #statusIndicator>\r\n @if (rowIndicator) {\r\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\r\n </bsu-barsa-column-indicator>\r\n }\r\n</ng-template>\r\n<ng-template #rowNumberTemplate>\r\n @if (showRowNumber) {\r\n <td fd-table-cell bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\"></td>\r\n }\r\n</ng-template>\r\n<tr fd-table-row style=\"pointer-events: none\"></tr>\r\n", styles: [":host{display:contents;width:100%}:host bnrc-form.cartable-template ::ng-deep bsu-ly-layout-container-of-root{padding-bottom:1rem}:host.has-preview-column .secondary-row td{border-bottom:none}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .inlineEditMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .inlineEditMode bsu-ui-simple-combo{margin:0!important}:host ::ng-deep .secondary.p-wrapper p{display:flex;align-items:center}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}tr.group-summary-row td{border:none;background-color:#dde5f0;border-right:none!important;font-weight:700}tr.group-summary-row td label{font-weight:700}tr.group-summary-row td label.NaN{display:none}td{vertical-align:middle}td.control-readonly{background-color:var(--sapList_HeaderBackground)}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}.workflow-pending{opacity:.5;pointer-events:none;position:relative}.detailCollapsed{height:0;display:none}tr td.rep-column:first-child{position:sticky;right:0}tr:not([aria-selected=true]).preview-column td{border-bottom:var(--sapList_BorderWidth) var(--fdTable_Cell_Horizontal_Border_Style, solid) var(--sapList_BorderColor)}tr[aria-selected=true].has-preview-column td,tr.showdetails-on.hasCartable td,tr.showdetails-on.hasForm td{border-bottom:none}\n"] }]
|
|
6170
|
+
args: [{ selector: 'bsu-barsa-table-row', providers: [FormPanelService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if ((!mo.$Parent || parentExpanded) && visibility !== false) {\r\n<tr\r\n [class.row-error]=\"hasError\"\r\n [class.showdetails-on]=\"!detailsCollapsed && (detailsComponent?.Selector || detailsColumns?.length)\"\r\n [class.has-secondary-row]=\"\r\n secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded)\r\n \"\r\n [class.hasForm]=\"formSetting\"\r\n [class.hasCartable]=\"!!cartableParams\"\r\n #trEl\r\n fd-table-row\r\n [activable]=\"false\"\r\n [hoverable]=\"true\"\r\n [main]=\"true\"\r\n [focusable]=\"!(inlineEditMode && allowInlineEdit)\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [class.brule-message]=\"bruleActionMessage() || workflowState()?.error\"\r\n [class.workflow-pending]=\"workflowState()?.state === 'Pending'\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n (keydown.enter)=\"onRowCheck(true)\"\r\n>\r\n @if (mo.$Group || mo.$Group === '') {\r\n <td\r\n [style.padding-right]=\"rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n [style.padding-left]=\"!rtl ? 'calc( 1rem + ' + level * 12 + 'px' + ' )' : 'inherit'\"\r\n fd-table-cell\r\n style=\"font-weight: bold; font-size: 1rem\"\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n class=\"row-group\"\r\n [class.mobile-mode]=\"secondaryColumns?.length\"\r\n [attr.level]=\"level\"\r\n [class.root-group]=\"level === 0\"\r\n >\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"expanded !== false ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick()\"\r\n ></button>\r\n {{ mo.$Group === 'undefined' ? '' : mo.$Group }}\r\n </td>\r\n } @else {\r\n\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (isCheckList) {\r\n <td fd-table-cell [style.width]=\"checkboxComponent ? '60px' : null\">\r\n @if (workflowState()?.state === 'Pending') {\r\n <div style=\"position: absolute; left: 0; right: 0; bottom: 0; top: 0\">\r\n <bsu-mask [top]=\"'20px'\" [size]=\"'s'\"></bsu-mask>\r\n </div>\r\n } @if (checkboxComponent?.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"checkboxComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"setting\"\r\n [parameters]=\"checkboxComponent.Parameters\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [value]=\"isChecked\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n (events)=\"onRowCheck()\"\r\n ></bnrc-dynamic-item-component>\r\n } @else {\r\n <fd-checkbox [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onRowCheck()\"></fd-checkbox>\r\n }\r\n </td>\r\n } @if (!isCheckList && !showRowNumber) {\r\n <td\r\n fd-table-cell\r\n class=\"single-select\"\r\n (click)=\"!isCheckList && onRowCheck()\"\r\n style=\"padding: 0; text-align: center\"\r\n >\r\n @if (inlineEditMode && allowInlineEdit && (hasError || saving || saved)) { @if (hasError) {\r\n <fd-icon class=\"save-error\" glyph=\"error\"></fd-icon>\r\n } @if (saving) {\r\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\" title=\"record saving\"></fd-busy-indicator>\r\n } @if (saved) {\r\n <fd-icon class=\"save-success\" glyph=\"accept\"></fd-icon>\r\n } } @else { @if (mo.$State === 'New' && !isChecked) {\r\n <fd-icon glyph=\"favorite\"></fd-icon>\r\n } @if (inlineEditMode && allowInlineEdit && isChecked) {\r\n <fd-icon glyph=\"edit\"></fd-icon>\r\n } }\r\n </td>\r\n }\r\n <ng-container *ngTemplateOutlet=\"rowNumberTemplate\"></ng-container>\r\n @for (column of columns; track column.Name; let columnIndex = $index) {\r\n <td\r\n class=\"rep-column\"\r\n [attr.dbName]=\"column.Name\"\r\n #tdEl\r\n fd-table-cell\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n [focusable]=\"false\"\r\n (click)=\"onColumnClick(column)\"\r\n (keydown.enter)=\"onColumnKeyEnter(column)\"\r\n (dblclick)=\"onRowClick()\"\r\n [hoverable]=\"inlineEditMode && allowInlineEdit\"\r\n [class.control-readonly]=\"column.IsReadonly\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </td>\r\n } @if (contextMenuItems.length ) {\r\n <td class=\"col-context-menu\" fd-table-cell>\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n (commandClick)=\"onUlvCommand()\"\r\n [deviceName]=\"deviceName\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n ></bsu-ulv-context-menu>\r\n </td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\">\r\n @if ((detailsComponent?.Selector || detailsColumns?.length || cartableParams?.moId ) && !hideDetailsText) {\r\n <div class=\"tw-flex tw-justify-end tw-w-full\">\r\n <button\r\n fd-button\r\n [label]=\"(detailsCollapsed ? detailsText : 'Hide') | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"onRowDetails()\"\r\n ></button>\r\n </div>\r\n }\r\n </td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" [class.rtl]=\"rtl\" fd-table-cell [fitContent]=\"true\">\r\n <bsu-barsa-row-inline-actionlist\r\n [actionList]=\"actionList\"\r\n (btnClick)=\"actionListClick.emit($event)\"\r\n ></bsu-barsa-row-inline-actionlist>\r\n </td>\r\n } }\r\n</tr>\r\n} @if (secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded) ) {\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"secondary-row\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\" (click)=\"onRowCheck()\"></td>\r\n }\r\n <td fd-table-cell colspan=\"100%\" (click)=\"onRowCheck()\" class=\"secondary p-wrapper\">\r\n <div style=\"display: flex; flex-direction: column\">\r\n @for (column of secondaryColumns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"column.Name\"\r\n style=\"font-family: 'B-Font Medium'\"\r\n >\r\n <label fd-form-label>{{ column.Caption }} :</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n }\r\n </div>\r\n </td>\r\n</tr>\r\n} @if (cartableParams?.moId) {\r\n<tr\r\n [class.detailCollapsed]=\"detailsCollapsed\"\r\n fd-table-row\r\n class=\"showdetails cartable\"\r\n [attr.aria-selected]=\"isChecked\"\r\n [class.has-preview-column]=\"!!previewColumn\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? 1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container>\r\n <bnrc-form\r\n #cartableFormRef\r\n class=\"cartable-template\"\r\n [inlineEditInReport]=\"true\"\r\n [params]=\"cartableParams\"\r\n (beforeTransition)=\"onCartableBeforeTansition()\"\r\n (afterTransition)=\"onCartableAfterTansition($event)\"\r\n (bruleAction)=\"onCartableBruleAction($event)\"\r\n (click)=\"OnCartableFormClick($event)\"\r\n (formClose)=\"onCartableFormClosed()\"\r\n ></bnrc-form>\r\n </ng-container>\r\n </td>\r\n</tr>\r\n} @if (!detailsCollapsed && (detailsComponent?.Selector|| detailsColumns?.length)) {\r\n<tr fd-table-row class=\"showdetails\" [attr.aria-selected]=\"isChecked\" [class.has-preview-column]=\"!!previewColumn\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n (click)=\"onRowCheck()\"\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsColumnsTemplate;\r\n context: { mo: mo, inlineEditMode: inlineEditMode, layout94: layout$ | async }\r\n \"\r\n ></ng-container>\r\n @if (detailsComponent && detailsComponent.Selector) {\r\n <bnrc-dynamic-item-component\r\n [component]=\"detailsComponent\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"isChecked\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [setting]=\"detailsComponentSetting\"\r\n [parameters]=\"detailsComponent.Settings\"\r\n [editMode]=\"inlineEditMode\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [typeDefId]=\"typeDefId\"\r\n ></bnrc-dynamic-item-component>\r\n }\r\n </td>\r\n</tr>\r\n} @if(previewColumn){\r\n<tr\r\n #trEl\r\n fd-table-row\r\n [secondary]=\"true\"\r\n class=\"preview-column\"\r\n [class.no-edit-mode]=\"!inlineEditMode\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [styleIndex]=\"styleIndex\"\r\n [hostEl]=\"trEl\"\r\n [attr.aria-selected]=\"isChecked && !inlineEditMode ? true : false\"\r\n [style.background-color]=\"isOdd && !isChecked ? 'var(--sapList_Hover_Background)' : null\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n (click)=\"onRowCheck()\"\r\n >\r\n <div style=\"display: flex; flex-direction: column\">\r\n <p\r\n #pEl\r\n fd-table-text\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"pEl\"\r\n [styleIndex]=\"styleIndex\"\r\n [dbName]=\"previewColumn.Name\"\r\n style=\"color: var(--sapAccentColor6)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: previewColumn,\r\n mo: mo,\r\n index: columns.length,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n </p>\r\n </div>\r\n </td>\r\n</tr>\r\n} @if(isLastChildGroup && groupSummary){\r\n<tr #trEl fd-table-row class=\"group-summary-row\" [class.no-edit-mode]=\"true\" [attr.aria-selected]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n @if (!isCheckList) {\r\n <td fd-table-cell class=\"single-select\"></td>\r\n } @for (column of columns; track _trackByColumn(columnIndex, column); let columnIndex = $index) {\r\n <td fd-table-cell>\r\n <label #summaryRef>{{ reCalculateColumnSummary(summaryRef, column) }}</label>\r\n </td>\r\n } @if (contextMenuItems.length) {\r\n <td class=\"col-context-menu\" fd-table-cell></td>\r\n } @if (showDetailsInRow && (!inlineEditMode || !allowInlineEdit)) {\r\n <td class=\"col-details\" fd-table-cell [fitContent]=\"true\"></td>\r\n } @if (actionList?.length && !inlineEditMode) {\r\n <td class=\"col-view\" fd-table-cell [fitContent]=\"true\"></td>\r\n }\r\n</tr>\r\n} @if (bruleActionMessage() && inlineEditMode) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n @if (bruleActionMessage()?.MessageType === 2) {\r\n <fd-message-strip\r\n [type]=\"bruleActionMessage()?.MessageType === 2 ? 'error' : 'information'\"\r\n [dismissible]=\"false\"\r\n >\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n </fd-message-strip>\r\n }\r\n </td>\r\n</tr>\r\n} @if (workflowState()?.state === 'Finish' && workflowState()?.error) {\r\n<tr fd-table-row>\r\n <ng-container *ngTemplateOutlet=\"statusIndicator\"></ng-container>\r\n <td\r\n fd-table-cell\r\n [attr.colspan]=\"\r\n columns.length +\r\n 1 +\r\n (rowIndicator ? -1 : 0) +\r\n (contextMenuItems && contextMenuItems.length > 0 ? 1 : 0) +\r\n (showViewButton ? 1 : 0) +\r\n (showDetailsInRow && !inlineEditMode ? 1 : 0)\r\n \"\r\n >\r\n <fd-message-strip type=\"error\" [dismissible]=\"true\" (onDismiss)=\"onResetWorkflowState()\">\r\n {{ workflowState()?.error?.Text || workflowState()?.error?.MessageExpression }}\r\n </fd-message-strip>\r\n </td>\r\n</tr>\r\n}\r\n<ng-template #detailsColumnsTemplate let-mo=\"mo\" let-inlineEditMode=\"inlineEditMode\" let-layout94=\"layout94\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n detailsFormItems;\r\n context: {\r\n $implicit: detailsColumns,\r\n mo: this.mo,\r\n inlineEditMode: this.inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template\r\n #detailsFormItems\r\n let-detailsColumns\r\n let-mo=\"mo\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <div class=\"form-items\">\r\n @for (column of detailsColumns; track column; let columnIndex = $index) {\r\n <div fd-form-item>\r\n <label fd-form-label for=\"input-2\">{{ column.Caption }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplate;\r\n context: {\r\n $implicit: column,\r\n mo: mo,\r\n index: columnIndex,\r\n inlineEditMode: inlineEditMode,\r\n layout94: layout94\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #columnTemplate\r\n let-column\r\n let-mo=\"mo\"\r\n let-index=\"index\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-layout94=\"layout94\"\r\n>\r\n <bsu-barsa-table-column\r\n [mo]=\"mo\"\r\n [allColumns]=\"allColumns\"\r\n [column]=\"column\"\r\n [attachmentViewType]=\"attachmentViewType\"\r\n [isdirty]=\"dirtyColumns && dirtyColumns[column.Name]\"\r\n [value]=\"column | columnValue: mo\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [customComponent]=\"column.$CustomComponent\"\r\n [column]=\"column\"\r\n [disableEllapsis]=\"secondaryColumns?.length || disableEllapsis\"\r\n [editMode]=\"(isChecked || inlineEditWithoutSelection) && inlineEditMode && allowInlineEdit\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [isChecked]=\"isChecked === true\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [isMobile]=\"isMobile\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [layout94]=\"layout94\"\r\n [cellEdit]=\"activeColumn() === column && isChecked\"\r\n (save)=\"onEditFormPanelSave(null)\"\r\n (cancel)=\"onEditFormPanelCancel(null)\"\r\n (tab)=\"onTabKeyDown($event, index)\"\r\n (changeToEditMode)=\"onColumnChangeToEditMode($event, index)\"\r\n >\r\n </bsu-barsa-table-column>\r\n</ng-template>\r\n<ng-template #statusIndicator>\r\n @if (rowIndicator) {\r\n <bsu-barsa-column-indicator [hideBorderBottom]=\"!detailsCollapsed\" [backColor]=\"rowIndicatorColor\">\r\n </bsu-barsa-column-indicator>\r\n }\r\n</ng-template>\r\n<ng-template #rowNumberTemplate>\r\n @if (showRowNumber) {\r\n <td fd-table-cell bsu-barsa-column-rownumber [rowNumber]=\"rowNumber\" (click)=\"!isCheckList && onRowCheck()\"></td>\r\n }\r\n</ng-template>\r\n<tr fd-table-row style=\"pointer-events: none\"></tr>\r\n", styles: [":host{display:contents;width:100%}:host bnrc-form.cartable-template ::ng-deep bsu-ly-layout-container-of-root{padding-bottom:1rem}:host.has-preview-column .secondary-row td{border-bottom:none}:host tr.has-secondary-row td{border-bottom:none}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .inlineEditMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .inlineEditMode bsu-ui-simple-combo{margin:0!important}:host ::ng-deep .secondary.p-wrapper p{display:flex;align-items:center}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}tr.group-summary-row td{border:none;background-color:#dde5f0;border-right:none!important;font-weight:700}tr.group-summary-row td label{font-weight:700}tr.group-summary-row td label.NaN{display:none}td{vertical-align:middle}td.control-readonly{background-color:var(--sapList_HeaderBackground)}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}.workflow-pending{opacity:.5;pointer-events:none;position:relative}.detailCollapsed{height:0;display:none}tr td.rep-column:first-child{position:sticky;right:0}tr:not([aria-selected=true]).preview-column td{border-bottom:var(--sapList_BorderWidth) var(--fdTable_Cell_Horizontal_Border_Style, solid) var(--sapList_BorderColor)}tr[aria-selected=true].has-preview-column td,tr.showdetails-on.hasCartable td,tr.showdetails-on.hasForm td{border-bottom:none}\n"] }]
|
|
6159
6171
|
}], propDecorators: { showDetailsInRow: [{
|
|
6160
6172
|
type: Input
|
|
6161
6173
|
}], previewColumn: [{
|
|
@@ -7003,6 +7015,7 @@ class ReportNavigatorComponent extends BaseComponent {
|
|
|
7003
7015
|
this.minheight = '100svh';
|
|
7004
7016
|
this._activatedRoute = inject(ActivatedRoute);
|
|
7005
7017
|
this._portalService = inject(PortalService);
|
|
7018
|
+
this._applicationCtrlService = inject(ApplicationCtrlrService);
|
|
7006
7019
|
this._injector = inject(Injector);
|
|
7007
7020
|
this._cdr = inject(ChangeDetectorRef);
|
|
7008
7021
|
this._loadingSource = new BehaviorSubject(false);
|
|
@@ -7016,11 +7029,13 @@ class ReportNavigatorComponent extends BaseComponent {
|
|
|
7016
7029
|
Id: params.id.split('__')[0],
|
|
7017
7030
|
ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
|
|
7018
7031
|
isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
|
|
7019
|
-
})), tap((c) => (c.isReportPage ? (this.minheight = 'auto') : '100vh')), tap((_c) => this.containerRef.clear()),
|
|
7032
|
+
})), tap((c) => (c.isReportPage ? (this.minheight = 'auto') : '100vh')), tap((_c) => this.containerRef.clear()), tap((navItem) => this._applicationCtrlService.selectNavGroupItem(navItem.Id)), switchMap((navItem) => this._portalService
|
|
7033
|
+
.renderUlvMainUi(navItem, this.containerRef, this._injector, navItem.isReportPage ? false : true)
|
|
7034
|
+
.pipe(catchError((_err) =>
|
|
7035
|
+
// this._location.back();
|
|
7036
|
+
// return throwError(() => new Error(err));
|
|
7037
|
+
of(true)))), tap((ulv) => this._setActiveReport(ulv)), finalize(() => {
|
|
7020
7038
|
this._setLoading(false);
|
|
7021
|
-
}), catchError((err) => {
|
|
7022
|
-
this._location.back();
|
|
7023
|
-
return throwError(() => new Error(err));
|
|
7024
7039
|
}))
|
|
7025
7040
|
.subscribe(() => {
|
|
7026
7041
|
this._setLoading(false);
|
|
@@ -7028,6 +7043,7 @@ class ReportNavigatorComponent extends BaseComponent {
|
|
|
7028
7043
|
}
|
|
7029
7044
|
ngOnDestroy() {
|
|
7030
7045
|
super.ngOnDestroy();
|
|
7046
|
+
this._applicationCtrlService.selectNavGroupItem('');
|
|
7031
7047
|
this._setActiveReport(null);
|
|
7032
7048
|
}
|
|
7033
7049
|
_setLoading(val) {
|
|
@@ -7326,11 +7342,11 @@ class BarsaUlvMainComponent extends BaseComponent {
|
|
|
7326
7342
|
this._customBackground = true;
|
|
7327
7343
|
}
|
|
7328
7344
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaUlvMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7329
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaUlvMainComponent, isStandalone: false, selector: "bsu-barsa-ulv-main", inputs: { viewerControl: "viewerControl", loading: "loading", hidePaging: "hidePaging", viewerLoading: "viewerLoading", isReportPage: "isReportPage", cssBackground: "cssBackground", deviceSize: "deviceSize", shortcuts: "shortcuts", title: "title", searchPanelUi: "searchPanelUi", breadCrumbs: "breadCrumbs", allSearchPanelSettings: "allSearchPanelSettings", isAnonymous: "isAnonymous", canSaveGridSetting: "canSaveGridSetting", rtl: "rtl", hideUlvPageTitle: "hideUlvPageTitle", selectedSearchPanelSettings: "selectedSearchPanelSettings", searchPanelMoChanged: "searchPanelMoChanged", selectedSearchPanelSettingsId: "selectedSearchPanelSettingsId", hideSearchPanel: "hideSearchPanel", pagingSetting: "pagingSetting", contentDensity: "contentDensity", context: "context", isMobile: "isMobile", standalone: "standalone", landscape: "landscape", simpleSearchPanel: "simpleSearchPanel", layoutInfo: "layoutInfo" }, outputs: { closeEvent: "closeEvent", searchPanelMoChange: "searchPanelMoChange", openManageFilters: "openManageFilters", collapsedChange: "collapsedChange", hideSearchPanelClick: "hideSearchPanelClick", filterSave: "filterSave", filterSaveAs: "filterSaveAs", pageChange: "pageChange", showFilterFieldsSetting: "showFilterFieldsSetting", manageFilters: "manageFilters", clearSearch: "clearSearch", search: "search", selectSearchPanelSettings: "selectSearchPanelSettings" }, host: { properties: { "style.background-color": "this._backgroundColor", "style.background-image": "this._backgroundUrl", "style.background-repeat": "this._backgroundRepeat", "class.custom-background": "this._customBackground" } }, viewQueries: [{ propertyName: "_dynamicPageComponent", first: true, predicate: DynamicPageComponent, descendants: true }, { propertyName: "dialogTemplate", first: true, predicate: ["searchpanelDialog"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n isReportPage ? reportPageTemplate : reportTemplate;\r\n context: {\r\n $implicit: viewerControl,\r\n tabMode: viewerControl?.Setting?.ClassNames?.CustomUi?.Parameters?.TabMode\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n@if (loading) {\r\n<bsu-mask size=\"m\"></bsu-mask>\r\n}\r\n<ng-template #reportPageTemplate let-viewerControl let-tabMode=\"tabMode\">\r\n <fd-dynamic-page\r\n darkClass\r\n formClose\r\n mobile\r\n [attr.isMobile]=\"isMobile ? true : null\"\r\n [isMobile]=\"isMobile\"\r\n [size]=\"deviceSize | dynamicPageSize\"\r\n [attr.tabMode]=\"tabMode\"\r\n [autoResponsive]=\"false\"\r\n [class.notitle]=\"title.length < 2 || hideUlvPageTitle\"\r\n [class.nosearchpanel]=\"!searchPanelUi\"\r\n [class.hideSearchPanel]=\"hideSearchPanel\"\r\n [class.sideContentMode]=\"sideContentMode\"\r\n >\r\n <fd-dynamic-page-header\r\n [title]=\"\r\n (title | bbbTranslate) && !hideUlvPageTitle\r\n ? (title | bbbTranslate)\r\n : isMobile && breadCrumbs.length\r\n ? breadCrumbs[breadCrumbs.length - 1].label\r\n : ''\r\n \"\r\n class=\"p-b0\"\r\n >\r\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\r\n <fd-breadcrumb>\r\n @for ( breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track breadCrumb.url; let i =\r\n $index; let last = $last) {\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n }\r\n </fd-breadcrumb>\r\n </fd-dynamic-page-breadcrumb>\r\n <!-- <fd-dynamic-page-title-content>\u06AF\u0632\u0627\u0631\u0634 </fd-dynamic-page-title-content> -->\r\n\r\n <fd-dynamic-page-global-actions *untilInView=\"el\" style=\"min-width: auto\">\r\n <fd-toolbar [shouldOverflow]=\"true\" style=\"display: none\"> </fd-toolbar>\r\n <!-- added this because in mobile landscape toolbar disapper -->\r\n @if (!hideSearchPanel ||( searchPanelUi && !sideContentMode)) {\r\n <fd-toolbar\r\n class=\"global-actions\"\r\n fdType=\"transparent\"\r\n [clearBorder]=\"true\"\r\n [shouldOverflow]=\"deviceSize === 's'\"\r\n >\r\n @if (isAnonymous === false && canSaveGridSetting) {\r\n <fd-popover fd-toolbar-item #popover fdOverflowPriority=\"never\">\r\n <fd-popover-control>\r\n <div style=\"display: flex; align-items: center\">\r\n <h3 class=\"header-search\" [attr.rtl]=\"rtl\" fd-title>\r\n {{\r\n selectedSearchPanelSettings?.IsStandard\r\n ? ''\r\n : selectedSearchPanelSettings?.Title\r\n }}\r\n @if (searchPanelMoChanged) {\r\n <strong>*</strong>\r\n }\r\n </h3>\r\n <button\r\n fd-button\r\n glyph=\"slim-arrow-down\"\r\n fdType=\"transparent\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body mobile>\r\n <div fd-popover-body-header>\r\n <div fd-bar [fdCozy]>\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ 'Filters' | bbbTranslate }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <ul fd-list style=\"min-height: 200px; background-color: var(--sapBackgroundColor, #f7f7f7)\">\r\n @for (option of allSearchPanelSettings; track option) {\r\n <li\r\n fd-list-item\r\n [selected]=\"option.Id === selectedSearchPanelSettingsId\"\r\n (click)=\"onSelectSearchPanelSettings(option.Id, popover)\"\r\n >\r\n <span fd-list-title>{{ option.Title }}</span>\r\n </li>\r\n }\r\n </ul>\r\n <div fd-popover-body-footer>\r\n <div fd-bar [barDesign]=\"'footer'\" [fdCozy]>\r\n @if (selectedSearchPanelSettings) {\r\n <div fd-bar-right>\r\n @if (!selectedSearchPanelSettings.IsPrimary && searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'Save' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onFilterSave(popover)\"\r\n >\r\n </fd-button-bar>\r\n } @if (searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'SaveAs' | bbbTranslate\"\r\n [fdType]=\"\r\n selectedSearchPanelSettings.IsDefault ? 'emphasized' : 'transparent'\r\n \"\r\n (click)=\"onFilterSaveAs(popover)\"\r\n >\r\n </fd-button-bar>\r\n }\r\n <fd-button-bar\r\n [label]=\"'Manage' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"onManageFilters(popover)\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (deviceSize !== 's') {\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n } @if (isMobile && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n (click)=\"onShowSearchpanelDialog()\"\r\n [glyph]=\"'filter'\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && !simpleSearchPanel && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Filters' | bbbTranslate\"\r\n (click)=\"onShowFilterFieldsSetting()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Clear' | bbbTranslate\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n [label]=\"hideSearchPanel ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onHideSearchPanelClick()\"\r\n fdOverflowPriority=\"low\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n }\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"closeEvent.emit()\" title=\"Close\">\r\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <fd-dynamic-page-subheader [pinnable]=\"true\" [collapsible]=\"false\">\r\n @if (!isMobile) {\r\n <bsu-search-panel\r\n [hideButtons]=\"!simpleSearchPanel\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-dynamic-page-subheader>\r\n } @if (!tabMode) {\r\n\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { noRenderPageing: true }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n\r\n } @if (pagingSetting?.TotalPages) {\r\n <fd-dynamic-page-footer>\r\n <!-- page footer content goes here -->\r\n <div fd-bar [barDesign]=\"'footer'\">\r\n <div fd-bar-middle>\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n }\r\n </fd-dynamic-page>\r\n @if (tabMode) {\r\n <ng-container\r\n *ngTemplateOutlet=\"sideContentMode ? sideContentTemplate : viewerTemplate; context: { noRenderPageing: true }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template #reportTemplate>\r\n @if (loading) {\r\n <bsu-mask size=\"s\"></bsu-mask>\r\n } @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <ng-container *ngTemplateOutlet=\"searchpanelTemplate; context: { hideButtons: false }\"></ng-container>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { simpleReport: 'simpleReport' }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #sideContentTemplate let-simpleReport=\"simpleReport\">\r\n <fd-dynamic-side-content\r\n [class.rtl]=\"rtl\"\r\n [size]=\"deviceSize | sapSize\"\r\n fillEmptySpace\r\n [decrement]=\"'2rem'\"\r\n [disable]=\"isReportPage\"\r\n [setMinHeight]=\"true\"\r\n *untilInView=\"el\"\r\n >\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"searchpanelTemplate; context: { isSearcPanelInSideContent: true }\"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main [style.width]=\"deviceSize !== 's' ? mainContentWidth : null\">\r\n <fd-card>\r\n <fd-card-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"viewerTemplate; context: { noRenderPageing: isReportPage ? true : false }\"\r\n ></ng-container>\r\n </fd-card-content>\r\n </fd-card>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n</ng-template>\r\n<ng-template\r\n #searchpanelTemplate\r\n let-isSearcPanelInSideContent=\"isSearcPanelInSideContent\"\r\n let-hideButtons=\"hideButtons\"\r\n>\r\n @if (!isSearcPanelInSideContent) { @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n darkClass\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n [hideButtons]=\"hideButtons\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n } } @else {\r\n <fd-card class=\"searchpanel-card\" darkClass>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <h2 fd-card-title>\r\n <fd-icon glyph=\"filter\"></fd-icon><span>{{ 'Filter' | bbbTranslate }}</span>\r\n </h2>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content style=\"flex-grow: 0\">\r\n @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [hideButtons]=\"true\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-card-content>\r\n <fd-card-footer style=\"border-bottom: none\">\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"('Delete' | bbbTranslate) + ' ' + ('Filters' | bbbTranslate)\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </fd-card-footer>\r\n </fd-card>\r\n }\r\n</ng-template>\r\n<ng-template #viewerTemplate let-noRenderPageing=\"noRenderPageing\">\r\n <div\r\n darkClass\r\n class=\"viewer-container\"\r\n fillEmptySpace\r\n [shortcutHandler]=\"shortcuts\"\r\n [disable]=\"!isReportPage || !fillPage\"\r\n [decrement]=\"deviceSize !== 's' ? '100px' : '75px'\"\r\n [style.height]=\"viewerLoading ? '100%' : 'auto'\"\r\n [style.min-height]=\"isReportPage ? '100%' : null\"\r\n [style.position]=\"viewerLoading ? 'relative' : null\"\r\n >\r\n @if (viewerLoading) {\r\n <bsu-mask size=\"m\"></bsu-mask>\r\n } @if (viewerControl) {\r\n <ng-container\r\n [renderUlvViewer]=\"viewerControl\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [isReportPage]=\"isReportPage\"\r\n ></ng-container>\r\n }\r\n </div>\r\n @if (!noRenderPageing && pagingSetting?.TotalPages && !hidePageing && !hidePaging) {\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #searchpanelDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Filters' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <bsu-search-panel\r\n [hideButtons]=\"true\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdkInitialFocus\r\n fdType=\"emphasized\"\r\n (click)=\"dialog.dismiss(); onSearch()\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button [label]=\"'Clear' | bbbTranslate\" (click)=\"onClearSearch()\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n (click)=\"dialog.dismiss('Close button')\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:block;height:100%;flex-grow:1}:host .searchpanel-card fd-card-header{pointer-events:none;cursor:default;padding:.5rem}:host .searchpanel-card h2[fd-card-title]{font-size:1rem;display:flex;align-items:center;gap:.5rem}:host .searchpanel-card h2[fd-card-title] fd-icon{font-size:1.2rem}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content{border:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-side{border-right:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content.rtl fd-dynamic-side-content-side{border-right:none;border-left:1px solid #ccc!important}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-main fd-card{transition:.25s background-color!important;background-color:var(--sapBackgroundColor, #f7f7f7)}:host.custom-background ::ng-deep article.fd-dynamic-page,:host.custom-background ::ng-deep fd-dynamic-page-content,:host.custom-background ::ng-deep .report-view,:host.custom-background ::ng-deep fd-dynamic-side-content-main>fd-card{background-color:transparent!important}:host>fd-dynamic-page>fd-dynamic-page-header.hide-container ::ng-deep .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile).notitle.sideContentMode ::ng-deep>article>header .fd-dynamic-page__title-container,fd-dynamic-page:not(.mobile).notitle.nosearchpanel ::ng-deep>article>header .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile) ::ng-deep>article>div{display:flex;flex:1}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded{min-height:100%;display:flex}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded>fd-dynamic-page-content{min-height:100%}fd-dynamic-page[tabmode=true] ::ng-deep>article{height:auto!important}fd-dynamic-side-content{min-height:100%;height:auto}fd-dynamic-side-content-main ::ng-deep fd-toolbar{border:none!important}fd-dynamic-side-content-main ::ng-deep bsu-ui-table-view{padding-bottom:0!important;overflow-y:hidden}fd-dynamic-side-content-side fd-card-content{padding:.5rem}fd-dynamic-page-global-actions{flex:1;width:100%}h3[rtl=true]{margin-left:5px}h3[rtl=false]{margin-right:5px}.header-search{color:var(--sapButton_TextColor, #0854a0)!important}.filter-wrapper{border-bottom:1px solid var(--sapObjectHeader_BorderColor, #d9d9d9)}.report-toolbar-container{display:flex}.report-toolbar-container .global-actions{flex-grow:1}fd-popover-body{min-width:380px}fd-popover-body.mobile{min-width:80vw}@media (max-width: 599px){.report-toolbar-container{flex-direction:column-reverse}.report-toolbar-container .layout-actions{flex-grow:1}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RenderUlvViewerDirective, selector: "[renderUlvViewer]", inputs: ["mask", "isReportPage", "layoutInfo", "renderUlvViewer"] }, { kind: "directive", type: i2.RenderUlvPaginDirective, selector: "[renderUlvPaging]", inputs: ["mask", "pagingSetting", "renderUlvPaging"], outputs: ["pageChange"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i2.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], outputs: ["heightChanged"], exportAs: ["fillEmptySpace"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i2.ShortcutHandlerDirective, selector: "[shortcutHandler]", inputs: ["shortcutHandler"], outputs: ["shortCutCommand"] }, { kind: "component", type: i3$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "role"] }, { kind: "directive", type: i3$2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3$2.BarMiddleDirective, selector: "[fd-bar-middle]" }, { kind: "directive", type: i3$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3$2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4$5.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i4$5.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "directive", type: i3$5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i7$3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i7$3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7$3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "component", type: i7$3.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i7$3.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i8$1.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i8$1.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i8$1.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i8$1.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i8$1.DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: i8$1.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i8$1.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i8$1.DynamicPageBreadcrumbComponent, selector: "fd-dynamic-page-breadcrumb" }, { kind: "component", type: i9.DynamicSideContentComponent, selector: "fd-dynamic-side-content", inputs: ["position", "size", "id"] }, { kind: "component", type: i9.DynamicSideContentSideComponent, selector: "fd-dynamic-side-content-side", inputs: ["id"] }, { kind: "component", type: i9.DynamicSideContentMainComponent, selector: "fd-dynamic-side-content-main", inputs: ["id"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i3$3.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i3$3.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i3$3.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i3$3.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i3$3.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i5.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i4$2.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7$2.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7$2.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i8.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i8.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: SearchPanelComponent, selector: "bsu-search-panel", inputs: ["searchPanelUi", "hideButtons", "isSearcPanelInSideContent"], outputs: ["moChanged"] }, { kind: "component", type: BreadcrumbComponent, selector: "bsu-breadcrumb", inputs: ["breadCrumb", "allBreadCrumb", "isLast", "index"] }, { kind: "directive", type: DarkClassDirective, selector: "[darkClass]" }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: DynamicPageSizePipe, name: "dynamicPageSize" }, { kind: "pipe", type: SapSizePipe, name: "sapSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaUlvMainComponent, isStandalone: false, selector: "bsu-barsa-ulv-main", inputs: { viewerControl: "viewerControl", loading: "loading", hidePaging: "hidePaging", viewerLoading: "viewerLoading", isReportPage: "isReportPage", cssBackground: "cssBackground", deviceSize: "deviceSize", shortcuts: "shortcuts", title: "title", searchPanelUi: "searchPanelUi", breadCrumbs: "breadCrumbs", allSearchPanelSettings: "allSearchPanelSettings", isAnonymous: "isAnonymous", canSaveGridSetting: "canSaveGridSetting", rtl: "rtl", hideUlvPageTitle: "hideUlvPageTitle", selectedSearchPanelSettings: "selectedSearchPanelSettings", searchPanelMoChanged: "searchPanelMoChanged", selectedSearchPanelSettingsId: "selectedSearchPanelSettingsId", hideSearchPanel: "hideSearchPanel", pagingSetting: "pagingSetting", contentDensity: "contentDensity", context: "context", isMobile: "isMobile", standalone: "standalone", landscape: "landscape", simpleSearchPanel: "simpleSearchPanel", layoutInfo: "layoutInfo" }, outputs: { closeEvent: "closeEvent", searchPanelMoChange: "searchPanelMoChange", openManageFilters: "openManageFilters", collapsedChange: "collapsedChange", hideSearchPanelClick: "hideSearchPanelClick", filterSave: "filterSave", filterSaveAs: "filterSaveAs", pageChange: "pageChange", showFilterFieldsSetting: "showFilterFieldsSetting", manageFilters: "manageFilters", clearSearch: "clearSearch", search: "search", selectSearchPanelSettings: "selectSearchPanelSettings" }, host: { properties: { "style.background-color": "this._backgroundColor", "style.background-image": "this._backgroundUrl", "style.background-repeat": "this._backgroundRepeat", "class.custom-background": "this._customBackground" } }, viewQueries: [{ propertyName: "_dynamicPageComponent", first: true, predicate: DynamicPageComponent, descendants: true }, { propertyName: "dialogTemplate", first: true, predicate: ["searchpanelDialog"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n isReportPage ? reportPageTemplate : reportTemplate;\r\n context: {\r\n $implicit: viewerControl,\r\n tabMode: viewerControl?.Setting?.ClassNames?.CustomUi?.Parameters?.TabMode\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n@if (loading) {\r\n<bsu-mask size=\"m\"></bsu-mask>\r\n}\r\n<ng-template #reportPageTemplate let-viewerControl let-tabMode=\"tabMode\">\r\n <fd-dynamic-page\r\n darkClass\r\n formClose\r\n mobile\r\n [attr.isMobile]=\"isMobile ? true : null\"\r\n [isMobile]=\"isMobile\"\r\n [size]=\"deviceSize | dynamicPageSize\"\r\n [attr.tabMode]=\"tabMode\"\r\n [autoResponsive]=\"false\"\r\n [class.notitle]=\"title.length < 2 || hideUlvPageTitle\"\r\n [class.nosearchpanel]=\"!searchPanelUi\"\r\n [class.hideSearchPanel]=\"hideSearchPanel\"\r\n [class.sideContentMode]=\"sideContentMode\"\r\n >\r\n <fd-dynamic-page-header\r\n [title]=\"\r\n (title | bbbTranslate) && !hideUlvPageTitle\r\n ? (title | bbbTranslate)\r\n : isMobile && breadCrumbs.length\r\n ? breadCrumbs[breadCrumbs.length - 1].label\r\n : ''\r\n \"\r\n class=\"p-b0\"\r\n >\r\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\r\n <fd-breadcrumb>\r\n @for ( breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track breadCrumb.url; let i =\r\n $index; let last = $last) {\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n }\r\n </fd-breadcrumb>\r\n </fd-dynamic-page-breadcrumb>\r\n <!-- <fd-dynamic-page-title-content>\u06AF\u0632\u0627\u0631\u0634 </fd-dynamic-page-title-content> -->\r\n\r\n <fd-dynamic-page-global-actions *untilInView=\"el\" style=\"min-width: auto\">\r\n <fd-toolbar [shouldOverflow]=\"true\" style=\"display: none\"> </fd-toolbar>\r\n <!-- added this because in mobile landscape toolbar disapper -->\r\n @if (!hideSearchPanel ||( searchPanelUi && !sideContentMode)) {\r\n <fd-toolbar\r\n class=\"global-actions\"\r\n fdType=\"transparent\"\r\n [clearBorder]=\"true\"\r\n [shouldOverflow]=\"deviceSize === 's'\"\r\n >\r\n @if (isAnonymous === false && canSaveGridSetting) {\r\n <fd-popover fd-toolbar-item #popover fdOverflowPriority=\"never\">\r\n <fd-popover-control>\r\n <div style=\"display: flex; align-items: center\">\r\n <h3 class=\"header-search\" [attr.rtl]=\"rtl\" fd-title>\r\n {{\r\n selectedSearchPanelSettings?.IsStandard\r\n ? ''\r\n : selectedSearchPanelSettings?.Title\r\n }}\r\n @if (searchPanelMoChanged) {\r\n <strong>*</strong>\r\n }\r\n </h3>\r\n <button\r\n fd-button\r\n glyph=\"slim-arrow-down\"\r\n fdType=\"transparent\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body mobile>\r\n <div fd-popover-body-header>\r\n <div fd-bar [fdCozy]>\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ 'Filters' | bbbTranslate }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <ul fd-list style=\"min-height: 200px; background-color: var(--sapBackgroundColor, #f7f7f7)\">\r\n @for (option of allSearchPanelSettings; track option) {\r\n <li\r\n fd-list-item\r\n [selected]=\"option.Id === selectedSearchPanelSettingsId\"\r\n (click)=\"onSelectSearchPanelSettings(option.Id, popover)\"\r\n >\r\n <span fd-list-title>{{ option.Title }}</span>\r\n </li>\r\n }\r\n </ul>\r\n <div fd-popover-body-footer>\r\n <div fd-bar [barDesign]=\"'footer'\" [fdCozy]>\r\n @if (selectedSearchPanelSettings) {\r\n <div fd-bar-right>\r\n @if (!selectedSearchPanelSettings.IsPrimary && searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'Save' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onFilterSave(popover)\"\r\n >\r\n </fd-button-bar>\r\n } @if (searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'SaveAs' | bbbTranslate\"\r\n [fdType]=\"\r\n selectedSearchPanelSettings.IsDefault ? 'emphasized' : 'transparent'\r\n \"\r\n (click)=\"onFilterSaveAs(popover)\"\r\n >\r\n </fd-button-bar>\r\n }\r\n <fd-button-bar\r\n [label]=\"'Manage' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"onManageFilters(popover)\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (deviceSize !== 's') {\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n } @if (isMobile && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n (click)=\"onShowSearchpanelDialog()\"\r\n [glyph]=\"'filter'\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && !simpleSearchPanel && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Filters' | bbbTranslate\"\r\n (click)=\"onShowFilterFieldsSetting()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Clear' | bbbTranslate\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n [label]=\"hideSearchPanel ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onHideSearchPanelClick()\"\r\n fdOverflowPriority=\"low\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n }\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"closeEvent.emit()\" title=\"Close\">\r\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <fd-dynamic-page-subheader [pinnable]=\"true\" [collapsible]=\"false\">\r\n @if (!isMobile) {\r\n <bsu-search-panel\r\n [hideButtons]=\"!simpleSearchPanel\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-dynamic-page-subheader>\r\n } @if (!tabMode) {\r\n\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { noRenderPageing: true }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n\r\n } @if (pagingSetting?.TotalPages) {\r\n <fd-dynamic-page-footer>\r\n <!-- page footer content goes here -->\r\n <div fd-bar [barDesign]=\"'footer'\">\r\n <div fd-bar-middle>\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n }\r\n </fd-dynamic-page>\r\n @if (tabMode) {\r\n <ng-container\r\n *ngTemplateOutlet=\"sideContentMode ? sideContentTemplate : viewerTemplate; context: { noRenderPageing: true }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template #reportTemplate>\r\n @if (loading) {\r\n <bsu-mask size=\"s\"></bsu-mask>\r\n } @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <ng-container *ngTemplateOutlet=\"searchpanelTemplate; context: { hideButtons: false }\"></ng-container>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { simpleReport: 'simpleReport' }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #sideContentTemplate let-simpleReport=\"simpleReport\">\r\n <fd-dynamic-side-content\r\n [class.rtl]=\"rtl\"\r\n [size]=\"deviceSize | sapSize\"\r\n fillEmptySpace\r\n [decrement]=\"'2rem'\"\r\n [disable]=\"isReportPage\"\r\n [setMinHeight]=\"true\"\r\n *untilInView=\"el\"\r\n >\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"searchpanelTemplate; context: { isSearcPanelInSideContent: true }\"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main [style.width]=\"deviceSize !== 's' ? mainContentWidth : null\">\r\n <fd-card>\r\n <fd-card-content class=\"tw-flex\"> \r\n <ng-container\r\n *ngTemplateOutlet=\"viewerTemplate; context: { noRenderPageing: isReportPage ? true : false }\"\r\n ></ng-container>\r\n </fd-card-content>\r\n </fd-card>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n</ng-template>\r\n<ng-template\r\n #searchpanelTemplate\r\n let-isSearcPanelInSideContent=\"isSearcPanelInSideContent\"\r\n let-hideButtons=\"hideButtons\"\r\n>\r\n @if (!isSearcPanelInSideContent) { @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n darkClass\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n [hideButtons]=\"hideButtons\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n } } @else {\r\n <fd-card class=\"searchpanel-card\" darkClass>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <h2 fd-card-title>\r\n <fd-icon glyph=\"filter\"></fd-icon><span>{{ 'Filter' | bbbTranslate }}</span>\r\n </h2>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content style=\"flex-grow: 0\">\r\n @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [hideButtons]=\"true\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-card-content>\r\n <fd-card-footer style=\"border-bottom: none\">\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"('Delete' | bbbTranslate) + ' ' + ('Filters' | bbbTranslate)\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </fd-card-footer>\r\n </fd-card>\r\n }\r\n</ng-template>\r\n<ng-template #viewerTemplate let-noRenderPageing=\"noRenderPageing\">\r\n <div\r\n darkClass\r\n class=\"viewer-container\"\r\n fillEmptySpace\r\n [shortcutHandler]=\"shortcuts\"\r\n [disable]=\"!isReportPage || !fillPage\"\r\n [decrement]=\"deviceSize !== 's' ? '100px' : '75px'\"\r\n [style.height]=\"viewerLoading ? '100%' : 'auto'\"\r\n [style.min-height]=\"isReportPage ? '100%' : null\"\r\n [style.position]=\"viewerLoading ? 'relative' : null\"\r\n >\r\n @if (viewerLoading) {\r\n <bsu-mask size=\"m\"></bsu-mask>\r\n } @if (viewerControl) {\r\n <ng-container\r\n [renderUlvViewer]=\"viewerControl\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [isReportPage]=\"isReportPage\"\r\n ></ng-container>\r\n }\r\n </div>\r\n @if (!noRenderPageing && pagingSetting?.TotalPages && !hidePageing && !hidePaging) {\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #searchpanelDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Filters' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <bsu-search-panel\r\n [hideButtons]=\"true\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdkInitialFocus\r\n fdType=\"emphasized\"\r\n (click)=\"dialog.dismiss(); onSearch()\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button [label]=\"'Clear' | bbbTranslate\" (click)=\"onClearSearch()\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n (click)=\"dialog.dismiss('Close button')\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:block;height:100%;flex-grow:1}:host .searchpanel-card fd-card-header{pointer-events:none;cursor:default;padding:.5rem}:host .searchpanel-card h2[fd-card-title]{font-size:1rem;display:flex;align-items:center;gap:.5rem}:host .searchpanel-card h2[fd-card-title] fd-icon{font-size:1.2rem}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content{border:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-side{border-right:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content.rtl fd-dynamic-side-content-side{border-right:none;border-left:1px solid #ccc!important}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-main fd-card{transition:.25s background-color!important;background-color:var(--sapBackgroundColor, #f7f7f7)}:host.custom-background ::ng-deep article.fd-dynamic-page,:host.custom-background ::ng-deep fd-dynamic-page-content,:host.custom-background ::ng-deep .report-view,:host.custom-background ::ng-deep fd-dynamic-side-content-main>fd-card{background-color:transparent!important}:host>fd-dynamic-page>fd-dynamic-page-header.hide-container ::ng-deep .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile).notitle.sideContentMode ::ng-deep>article>header .fd-dynamic-page__title-container,fd-dynamic-page:not(.mobile).notitle.nosearchpanel ::ng-deep>article>header .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile) ::ng-deep>article>div{display:flex;flex:1}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded{min-height:100%;display:flex}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded>fd-dynamic-page-content{min-height:100%}fd-dynamic-page[tabmode=true] ::ng-deep>article{height:auto!important}fd-dynamic-side-content{min-height:100%;height:auto}fd-dynamic-side-content-main fd-card-content ::ng-deep>div{flex:1}fd-dynamic-side-content-main ::ng-deep fd-toolbar{border:none!important}fd-dynamic-side-content-main ::ng-deep bsu-ui-table-view{padding-bottom:0!important;overflow-y:hidden}fd-dynamic-side-content-side fd-card-content{padding:.5rem}fd-dynamic-page-global-actions{flex:1;width:100%}h3[rtl=true]{margin-left:5px}h3[rtl=false]{margin-right:5px}.header-search{color:var(--sapButton_TextColor, #0854a0)!important}.filter-wrapper{border-bottom:1px solid var(--sapObjectHeader_BorderColor, #d9d9d9)}.report-toolbar-container{display:flex}.report-toolbar-container .global-actions{flex-grow:1}fd-popover-body{min-width:380px}fd-popover-body.mobile{min-width:80vw}@media (max-width: 599px){.report-toolbar-container{flex-direction:column-reverse}.report-toolbar-container .layout-actions{flex-grow:1}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RenderUlvViewerDirective, selector: "[renderUlvViewer]", inputs: ["mask", "isReportPage", "layoutInfo", "renderUlvViewer"] }, { kind: "directive", type: i2.RenderUlvPaginDirective, selector: "[renderUlvPaging]", inputs: ["mask", "pagingSetting", "renderUlvPaging"], outputs: ["pageChange"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i2.FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], outputs: ["heightChanged"], exportAs: ["fillEmptySpace"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i2.ShortcutHandlerDirective, selector: "[shortcutHandler]", inputs: ["shortcutHandler"], outputs: ["shortCutCommand"] }, { kind: "component", type: i3$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "role"] }, { kind: "directive", type: i3$2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3$2.BarMiddleDirective, selector: "[fd-bar-middle]" }, { kind: "directive", type: i3$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3$2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4$5.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i4$5.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "directive", type: i3$5.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i7$3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i7$3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7$3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "component", type: i7$3.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i7$3.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i8$1.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i8$1.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i8$1.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i8$1.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i8$1.DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: i8$1.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i8$1.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i8$1.DynamicPageBreadcrumbComponent, selector: "fd-dynamic-page-breadcrumb" }, { kind: "component", type: i9.DynamicSideContentComponent, selector: "fd-dynamic-side-content", inputs: ["position", "size", "id"] }, { kind: "component", type: i9.DynamicSideContentSideComponent, selector: "fd-dynamic-side-content-side", inputs: ["id"] }, { kind: "component", type: i9.DynamicSideContentMainComponent, selector: "fd-dynamic-side-content-main", inputs: ["id"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i3$3.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i3$3.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i3$3.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i3$3.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i3$3.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i5.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i4$2.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7$2.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7$2.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i8.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i8.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: SearchPanelComponent, selector: "bsu-search-panel", inputs: ["searchPanelUi", "hideButtons", "isSearcPanelInSideContent"], outputs: ["moChanged"] }, { kind: "component", type: BreadcrumbComponent, selector: "bsu-breadcrumb", inputs: ["breadCrumb", "allBreadCrumb", "isLast", "index"] }, { kind: "directive", type: DarkClassDirective, selector: "[darkClass]" }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: DynamicPageSizePipe, name: "dynamicPageSize" }, { kind: "pipe", type: SapSizePipe, name: "sapSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7330
7346
|
}
|
|
7331
7347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaUlvMainComponent, decorators: [{
|
|
7332
7348
|
type: Component,
|
|
7333
|
-
args: [{ selector: 'bsu-barsa-ulv-main', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n isReportPage ? reportPageTemplate : reportTemplate;\r\n context: {\r\n $implicit: viewerControl,\r\n tabMode: viewerControl?.Setting?.ClassNames?.CustomUi?.Parameters?.TabMode\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n@if (loading) {\r\n<bsu-mask size=\"m\"></bsu-mask>\r\n}\r\n<ng-template #reportPageTemplate let-viewerControl let-tabMode=\"tabMode\">\r\n <fd-dynamic-page\r\n darkClass\r\n formClose\r\n mobile\r\n [attr.isMobile]=\"isMobile ? true : null\"\r\n [isMobile]=\"isMobile\"\r\n [size]=\"deviceSize | dynamicPageSize\"\r\n [attr.tabMode]=\"tabMode\"\r\n [autoResponsive]=\"false\"\r\n [class.notitle]=\"title.length < 2 || hideUlvPageTitle\"\r\n [class.nosearchpanel]=\"!searchPanelUi\"\r\n [class.hideSearchPanel]=\"hideSearchPanel\"\r\n [class.sideContentMode]=\"sideContentMode\"\r\n >\r\n <fd-dynamic-page-header\r\n [title]=\"\r\n (title | bbbTranslate) && !hideUlvPageTitle\r\n ? (title | bbbTranslate)\r\n : isMobile && breadCrumbs.length\r\n ? breadCrumbs[breadCrumbs.length - 1].label\r\n : ''\r\n \"\r\n class=\"p-b0\"\r\n >\r\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\r\n <fd-breadcrumb>\r\n @for ( breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track breadCrumb.url; let i =\r\n $index; let last = $last) {\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n }\r\n </fd-breadcrumb>\r\n </fd-dynamic-page-breadcrumb>\r\n <!-- <fd-dynamic-page-title-content>\u06AF\u0632\u0627\u0631\u0634 </fd-dynamic-page-title-content> -->\r\n\r\n <fd-dynamic-page-global-actions *untilInView=\"el\" style=\"min-width: auto\">\r\n <fd-toolbar [shouldOverflow]=\"true\" style=\"display: none\"> </fd-toolbar>\r\n <!-- added this because in mobile landscape toolbar disapper -->\r\n @if (!hideSearchPanel ||( searchPanelUi && !sideContentMode)) {\r\n <fd-toolbar\r\n class=\"global-actions\"\r\n fdType=\"transparent\"\r\n [clearBorder]=\"true\"\r\n [shouldOverflow]=\"deviceSize === 's'\"\r\n >\r\n @if (isAnonymous === false && canSaveGridSetting) {\r\n <fd-popover fd-toolbar-item #popover fdOverflowPriority=\"never\">\r\n <fd-popover-control>\r\n <div style=\"display: flex; align-items: center\">\r\n <h3 class=\"header-search\" [attr.rtl]=\"rtl\" fd-title>\r\n {{\r\n selectedSearchPanelSettings?.IsStandard\r\n ? ''\r\n : selectedSearchPanelSettings?.Title\r\n }}\r\n @if (searchPanelMoChanged) {\r\n <strong>*</strong>\r\n }\r\n </h3>\r\n <button\r\n fd-button\r\n glyph=\"slim-arrow-down\"\r\n fdType=\"transparent\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body mobile>\r\n <div fd-popover-body-header>\r\n <div fd-bar [fdCozy]>\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ 'Filters' | bbbTranslate }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <ul fd-list style=\"min-height: 200px; background-color: var(--sapBackgroundColor, #f7f7f7)\">\r\n @for (option of allSearchPanelSettings; track option) {\r\n <li\r\n fd-list-item\r\n [selected]=\"option.Id === selectedSearchPanelSettingsId\"\r\n (click)=\"onSelectSearchPanelSettings(option.Id, popover)\"\r\n >\r\n <span fd-list-title>{{ option.Title }}</span>\r\n </li>\r\n }\r\n </ul>\r\n <div fd-popover-body-footer>\r\n <div fd-bar [barDesign]=\"'footer'\" [fdCozy]>\r\n @if (selectedSearchPanelSettings) {\r\n <div fd-bar-right>\r\n @if (!selectedSearchPanelSettings.IsPrimary && searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'Save' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onFilterSave(popover)\"\r\n >\r\n </fd-button-bar>\r\n } @if (searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'SaveAs' | bbbTranslate\"\r\n [fdType]=\"\r\n selectedSearchPanelSettings.IsDefault ? 'emphasized' : 'transparent'\r\n \"\r\n (click)=\"onFilterSaveAs(popover)\"\r\n >\r\n </fd-button-bar>\r\n }\r\n <fd-button-bar\r\n [label]=\"'Manage' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"onManageFilters(popover)\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (deviceSize !== 's') {\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n } @if (isMobile && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n (click)=\"onShowSearchpanelDialog()\"\r\n [glyph]=\"'filter'\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && !simpleSearchPanel && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Filters' | bbbTranslate\"\r\n (click)=\"onShowFilterFieldsSetting()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Clear' | bbbTranslate\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n [label]=\"hideSearchPanel ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onHideSearchPanelClick()\"\r\n fdOverflowPriority=\"low\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n }\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"closeEvent.emit()\" title=\"Close\">\r\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <fd-dynamic-page-subheader [pinnable]=\"true\" [collapsible]=\"false\">\r\n @if (!isMobile) {\r\n <bsu-search-panel\r\n [hideButtons]=\"!simpleSearchPanel\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-dynamic-page-subheader>\r\n } @if (!tabMode) {\r\n\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { noRenderPageing: true }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n\r\n } @if (pagingSetting?.TotalPages) {\r\n <fd-dynamic-page-footer>\r\n <!-- page footer content goes here -->\r\n <div fd-bar [barDesign]=\"'footer'\">\r\n <div fd-bar-middle>\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n }\r\n </fd-dynamic-page>\r\n @if (tabMode) {\r\n <ng-container\r\n *ngTemplateOutlet=\"sideContentMode ? sideContentTemplate : viewerTemplate; context: { noRenderPageing: true }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template #reportTemplate>\r\n @if (loading) {\r\n <bsu-mask size=\"s\"></bsu-mask>\r\n } @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <ng-container *ngTemplateOutlet=\"searchpanelTemplate; context: { hideButtons: false }\"></ng-container>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { simpleReport: 'simpleReport' }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #sideContentTemplate let-simpleReport=\"simpleReport\">\r\n <fd-dynamic-side-content\r\n [class.rtl]=\"rtl\"\r\n [size]=\"deviceSize | sapSize\"\r\n fillEmptySpace\r\n [decrement]=\"'2rem'\"\r\n [disable]=\"isReportPage\"\r\n [setMinHeight]=\"true\"\r\n *untilInView=\"el\"\r\n >\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"searchpanelTemplate; context: { isSearcPanelInSideContent: true }\"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main [style.width]=\"deviceSize !== 's' ? mainContentWidth : null\">\r\n <fd-card>\r\n <fd-card-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"viewerTemplate; context: { noRenderPageing: isReportPage ? true : false }\"\r\n ></ng-container>\r\n </fd-card-content>\r\n </fd-card>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n</ng-template>\r\n<ng-template\r\n #searchpanelTemplate\r\n let-isSearcPanelInSideContent=\"isSearcPanelInSideContent\"\r\n let-hideButtons=\"hideButtons\"\r\n>\r\n @if (!isSearcPanelInSideContent) { @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n darkClass\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n [hideButtons]=\"hideButtons\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n } } @else {\r\n <fd-card class=\"searchpanel-card\" darkClass>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <h2 fd-card-title>\r\n <fd-icon glyph=\"filter\"></fd-icon><span>{{ 'Filter' | bbbTranslate }}</span>\r\n </h2>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content style=\"flex-grow: 0\">\r\n @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [hideButtons]=\"true\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-card-content>\r\n <fd-card-footer style=\"border-bottom: none\">\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"('Delete' | bbbTranslate) + ' ' + ('Filters' | bbbTranslate)\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </fd-card-footer>\r\n </fd-card>\r\n }\r\n</ng-template>\r\n<ng-template #viewerTemplate let-noRenderPageing=\"noRenderPageing\">\r\n <div\r\n darkClass\r\n class=\"viewer-container\"\r\n fillEmptySpace\r\n [shortcutHandler]=\"shortcuts\"\r\n [disable]=\"!isReportPage || !fillPage\"\r\n [decrement]=\"deviceSize !== 's' ? '100px' : '75px'\"\r\n [style.height]=\"viewerLoading ? '100%' : 'auto'\"\r\n [style.min-height]=\"isReportPage ? '100%' : null\"\r\n [style.position]=\"viewerLoading ? 'relative' : null\"\r\n >\r\n @if (viewerLoading) {\r\n <bsu-mask size=\"m\"></bsu-mask>\r\n } @if (viewerControl) {\r\n <ng-container\r\n [renderUlvViewer]=\"viewerControl\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [isReportPage]=\"isReportPage\"\r\n ></ng-container>\r\n }\r\n </div>\r\n @if (!noRenderPageing && pagingSetting?.TotalPages && !hidePageing && !hidePaging) {\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #searchpanelDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Filters' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <bsu-search-panel\r\n [hideButtons]=\"true\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdkInitialFocus\r\n fdType=\"emphasized\"\r\n (click)=\"dialog.dismiss(); onSearch()\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button [label]=\"'Clear' | bbbTranslate\" (click)=\"onClearSearch()\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n (click)=\"dialog.dismiss('Close button')\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:block;height:100%;flex-grow:1}:host .searchpanel-card fd-card-header{pointer-events:none;cursor:default;padding:.5rem}:host .searchpanel-card h2[fd-card-title]{font-size:1rem;display:flex;align-items:center;gap:.5rem}:host .searchpanel-card h2[fd-card-title] fd-icon{font-size:1.2rem}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content{border:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-side{border-right:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content.rtl fd-dynamic-side-content-side{border-right:none;border-left:1px solid #ccc!important}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-main fd-card{transition:.25s background-color!important;background-color:var(--sapBackgroundColor, #f7f7f7)}:host.custom-background ::ng-deep article.fd-dynamic-page,:host.custom-background ::ng-deep fd-dynamic-page-content,:host.custom-background ::ng-deep .report-view,:host.custom-background ::ng-deep fd-dynamic-side-content-main>fd-card{background-color:transparent!important}:host>fd-dynamic-page>fd-dynamic-page-header.hide-container ::ng-deep .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile).notitle.sideContentMode ::ng-deep>article>header .fd-dynamic-page__title-container,fd-dynamic-page:not(.mobile).notitle.nosearchpanel ::ng-deep>article>header .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile) ::ng-deep>article>div{display:flex;flex:1}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded{min-height:100%;display:flex}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded>fd-dynamic-page-content{min-height:100%}fd-dynamic-page[tabmode=true] ::ng-deep>article{height:auto!important}fd-dynamic-side-content{min-height:100%;height:auto}fd-dynamic-side-content-main ::ng-deep fd-toolbar{border:none!important}fd-dynamic-side-content-main ::ng-deep bsu-ui-table-view{padding-bottom:0!important;overflow-y:hidden}fd-dynamic-side-content-side fd-card-content{padding:.5rem}fd-dynamic-page-global-actions{flex:1;width:100%}h3[rtl=true]{margin-left:5px}h3[rtl=false]{margin-right:5px}.header-search{color:var(--sapButton_TextColor, #0854a0)!important}.filter-wrapper{border-bottom:1px solid var(--sapObjectHeader_BorderColor, #d9d9d9)}.report-toolbar-container{display:flex}.report-toolbar-container .global-actions{flex-grow:1}fd-popover-body{min-width:380px}fd-popover-body.mobile{min-width:80vw}@media (max-width: 599px){.report-toolbar-container{flex-direction:column-reverse}.report-toolbar-container .layout-actions{flex-grow:1}}\n"] }]
|
|
7349
|
+
args: [{ selector: 'bsu-barsa-ulv-main', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n isReportPage ? reportPageTemplate : reportTemplate;\r\n context: {\r\n $implicit: viewerControl,\r\n tabMode: viewerControl?.Setting?.ClassNames?.CustomUi?.Parameters?.TabMode\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n@if (loading) {\r\n<bsu-mask size=\"m\"></bsu-mask>\r\n}\r\n<ng-template #reportPageTemplate let-viewerControl let-tabMode=\"tabMode\">\r\n <fd-dynamic-page\r\n darkClass\r\n formClose\r\n mobile\r\n [attr.isMobile]=\"isMobile ? true : null\"\r\n [isMobile]=\"isMobile\"\r\n [size]=\"deviceSize | dynamicPageSize\"\r\n [attr.tabMode]=\"tabMode\"\r\n [autoResponsive]=\"false\"\r\n [class.notitle]=\"title.length < 2 || hideUlvPageTitle\"\r\n [class.nosearchpanel]=\"!searchPanelUi\"\r\n [class.hideSearchPanel]=\"hideSearchPanel\"\r\n [class.sideContentMode]=\"sideContentMode\"\r\n >\r\n <fd-dynamic-page-header\r\n [title]=\"\r\n (title | bbbTranslate) && !hideUlvPageTitle\r\n ? (title | bbbTranslate)\r\n : isMobile && breadCrumbs.length\r\n ? breadCrumbs[breadCrumbs.length - 1].label\r\n : ''\r\n \"\r\n class=\"p-b0\"\r\n >\r\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\r\n <fd-breadcrumb>\r\n @for ( breadCrumb of breadCrumbs | slice: 0:breadCrumbs.length; track breadCrumb.url; let i =\r\n $index; let last = $last) {\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n }\r\n </fd-breadcrumb>\r\n </fd-dynamic-page-breadcrumb>\r\n <!-- <fd-dynamic-page-title-content>\u06AF\u0632\u0627\u0631\u0634 </fd-dynamic-page-title-content> -->\r\n\r\n <fd-dynamic-page-global-actions *untilInView=\"el\" style=\"min-width: auto\">\r\n <fd-toolbar [shouldOverflow]=\"true\" style=\"display: none\"> </fd-toolbar>\r\n <!-- added this because in mobile landscape toolbar disapper -->\r\n @if (!hideSearchPanel ||( searchPanelUi && !sideContentMode)) {\r\n <fd-toolbar\r\n class=\"global-actions\"\r\n fdType=\"transparent\"\r\n [clearBorder]=\"true\"\r\n [shouldOverflow]=\"deviceSize === 's'\"\r\n >\r\n @if (isAnonymous === false && canSaveGridSetting) {\r\n <fd-popover fd-toolbar-item #popover fdOverflowPriority=\"never\">\r\n <fd-popover-control>\r\n <div style=\"display: flex; align-items: center\">\r\n <h3 class=\"header-search\" [attr.rtl]=\"rtl\" fd-title>\r\n {{\r\n selectedSearchPanelSettings?.IsStandard\r\n ? ''\r\n : selectedSearchPanelSettings?.Title\r\n }}\r\n @if (searchPanelMoChanged) {\r\n <strong>*</strong>\r\n }\r\n </h3>\r\n <button\r\n fd-button\r\n glyph=\"slim-arrow-down\"\r\n fdType=\"transparent\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </div>\r\n </fd-popover-control>\r\n <fd-popover-body mobile>\r\n <div fd-popover-body-header>\r\n <div fd-bar [fdCozy]>\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ 'Filters' | bbbTranslate }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <ul fd-list style=\"min-height: 200px; background-color: var(--sapBackgroundColor, #f7f7f7)\">\r\n @for (option of allSearchPanelSettings; track option) {\r\n <li\r\n fd-list-item\r\n [selected]=\"option.Id === selectedSearchPanelSettingsId\"\r\n (click)=\"onSelectSearchPanelSettings(option.Id, popover)\"\r\n >\r\n <span fd-list-title>{{ option.Title }}</span>\r\n </li>\r\n }\r\n </ul>\r\n <div fd-popover-body-footer>\r\n <div fd-bar [barDesign]=\"'footer'\" [fdCozy]>\r\n @if (selectedSearchPanelSettings) {\r\n <div fd-bar-right>\r\n @if (!selectedSearchPanelSettings.IsPrimary && searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'Save' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onFilterSave(popover)\"\r\n >\r\n </fd-button-bar>\r\n } @if (searchPanelMoChanged) {\r\n <fd-button-bar\r\n [label]=\"'SaveAs' | bbbTranslate\"\r\n [fdType]=\"\r\n selectedSearchPanelSettings.IsDefault ? 'emphasized' : 'transparent'\r\n \"\r\n (click)=\"onFilterSaveAs(popover)\"\r\n >\r\n </fd-button-bar>\r\n }\r\n <fd-button-bar\r\n [label]=\"'Manage' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"onManageFilters(popover)\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n } @if (deviceSize !== 's') {\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n } @if (isMobile && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n (click)=\"onShowSearchpanelDialog()\"\r\n [glyph]=\"'filter'\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && !simpleSearchPanel && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdOverflowPriority=\"never\"\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Filters' | bbbTranslate\"\r\n (click)=\"onShowFilterFieldsSetting()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n fdOverflowPriority=\"low\"\r\n [label]=\"'Clear' | bbbTranslate\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n } @if (!isMobile && !sideContentMode && searchPanelUi) {\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n fdType=\"transparent\"\r\n [label]=\"hideSearchPanel ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onHideSearchPanelClick()\"\r\n fdOverflowPriority=\"low\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n }\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"closeEvent.emit()\" title=\"Close\">\r\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <fd-dynamic-page-subheader [pinnable]=\"true\" [collapsible]=\"false\">\r\n @if (!isMobile) {\r\n <bsu-search-panel\r\n [hideButtons]=\"!simpleSearchPanel\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-dynamic-page-subheader>\r\n } @if (!tabMode) {\r\n\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { noRenderPageing: true }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n\r\n } @if (pagingSetting?.TotalPages) {\r\n <fd-dynamic-page-footer>\r\n <!-- page footer content goes here -->\r\n <div fd-bar [barDesign]=\"'footer'\">\r\n <div fd-bar-middle>\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n }\r\n </fd-dynamic-page>\r\n @if (tabMode) {\r\n <ng-container\r\n *ngTemplateOutlet=\"sideContentMode ? sideContentTemplate : viewerTemplate; context: { noRenderPageing: true }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template #reportTemplate>\r\n @if (loading) {\r\n <bsu-mask size=\"s\"></bsu-mask>\r\n } @if (!hideSearchPanel && searchPanelUi && !sideContentMode) {\r\n <ng-container *ngTemplateOutlet=\"searchpanelTemplate; context: { hideButtons: false }\"></ng-container>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n sideContentMode ? sideContentTemplate : viewerTemplate;\r\n context: { simpleReport: 'simpleReport' }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #sideContentTemplate let-simpleReport=\"simpleReport\">\r\n <fd-dynamic-side-content\r\n [class.rtl]=\"rtl\"\r\n [size]=\"deviceSize | sapSize\"\r\n fillEmptySpace\r\n [decrement]=\"'2rem'\"\r\n [disable]=\"isReportPage\"\r\n [setMinHeight]=\"true\"\r\n *untilInView=\"el\"\r\n >\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"searchpanelTemplate; context: { isSearcPanelInSideContent: true }\"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main [style.width]=\"deviceSize !== 's' ? mainContentWidth : null\">\r\n <fd-card>\r\n <fd-card-content class=\"tw-flex\"> \r\n <ng-container\r\n *ngTemplateOutlet=\"viewerTemplate; context: { noRenderPageing: isReportPage ? true : false }\"\r\n ></ng-container>\r\n </fd-card-content>\r\n </fd-card>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n</ng-template>\r\n<ng-template\r\n #searchpanelTemplate\r\n let-isSearcPanelInSideContent=\"isSearcPanelInSideContent\"\r\n let-hideButtons=\"hideButtons\"\r\n>\r\n @if (!isSearcPanelInSideContent) { @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n darkClass\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n [hideButtons]=\"hideButtons\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n } } @else {\r\n <fd-card class=\"searchpanel-card\" darkClass>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <h2 fd-card-title>\r\n <fd-icon glyph=\"filter\"></fd-icon><span>{{ 'Filter' | bbbTranslate }}</span>\r\n </h2>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content style=\"flex-grow: 0\">\r\n @if (!hideSearchPanel && searchPanelUi) {\r\n <bsu-search-panel\r\n [searchPanelUi]=\"searchPanelUi\"\r\n [hideButtons]=\"true\"\r\n [isSearcPanelInSideContent]=\"isSearcPanelInSideContent\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n }\r\n </fd-card-content>\r\n <fd-card-footer style=\"border-bottom: none\">\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"emphasized\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n (click)=\"onSearch()\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n <button\r\n *fdCardFooterActionItem\r\n fd-button\r\n fdType=\"transparent\"\r\n [label]=\"('Delete' | bbbTranslate) + ' ' + ('Filters' | bbbTranslate)\"\r\n (click)=\"onClearSearch()\"\r\n [fdOverflowGroup]=\"1\"\r\n [fdContentDensity]=\"contentDensity\"\r\n ></button>\r\n </fd-card-footer>\r\n </fd-card>\r\n }\r\n</ng-template>\r\n<ng-template #viewerTemplate let-noRenderPageing=\"noRenderPageing\">\r\n <div\r\n darkClass\r\n class=\"viewer-container\"\r\n fillEmptySpace\r\n [shortcutHandler]=\"shortcuts\"\r\n [disable]=\"!isReportPage || !fillPage\"\r\n [decrement]=\"deviceSize !== 's' ? '100px' : '75px'\"\r\n [style.height]=\"viewerLoading ? '100%' : 'auto'\"\r\n [style.min-height]=\"isReportPage ? '100%' : null\"\r\n [style.position]=\"viewerLoading ? 'relative' : null\"\r\n >\r\n @if (viewerLoading) {\r\n <bsu-mask size=\"m\"></bsu-mask>\r\n } @if (viewerControl) {\r\n <ng-container\r\n [renderUlvViewer]=\"viewerControl\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [isReportPage]=\"isReportPage\"\r\n ></ng-container>\r\n }\r\n </div>\r\n @if (!noRenderPageing && pagingSetting?.TotalPages && !hidePageing && !hidePaging) {\r\n <ng-container\r\n [renderUlvPaging]=\"context\"\r\n [pagingSetting]=\"pagingSetting\"\r\n (pageChange)=\"onPageChange($event)\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #searchpanelDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Filters' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <bsu-search-panel\r\n [hideButtons]=\"true\"\r\n [searchPanelUi]=\"searchPanelUi\"\r\n (moChanged)=\"onSearchPanelMoChanged()\"\r\n ></bsu-search-panel>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdkInitialFocus\r\n fdType=\"emphasized\"\r\n (click)=\"dialog.dismiss(); onSearch()\"\r\n [label]=\"'Search' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button fd-button [label]=\"'Clear' | bbbTranslate\" (click)=\"onClearSearch()\"></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n (click)=\"dialog.dismiss('Close button')\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:block;height:100%;flex-grow:1}:host .searchpanel-card fd-card-header{pointer-events:none;cursor:default;padding:.5rem}:host .searchpanel-card h2[fd-card-title]{font-size:1rem;display:flex;align-items:center;gap:.5rem}:host .searchpanel-card h2[fd-card-title] fd-icon{font-size:1.2rem}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content{border:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-side{border-right:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content.rtl fd-dynamic-side-content-side{border-right:none;border-left:1px solid #ccc!important}:host[uiviewer=bsu-ui-card-view]>fd-dynamic-side-content fd-dynamic-side-content-main fd-card{transition:.25s background-color!important;background-color:var(--sapBackgroundColor, #f7f7f7)}:host.custom-background ::ng-deep article.fd-dynamic-page,:host.custom-background ::ng-deep fd-dynamic-page-content,:host.custom-background ::ng-deep .report-view,:host.custom-background ::ng-deep fd-dynamic-side-content-main>fd-card{background-color:transparent!important}:host>fd-dynamic-page>fd-dynamic-page-header.hide-container ::ng-deep .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile).notitle.sideContentMode ::ng-deep>article>header .fd-dynamic-page__title-container,fd-dynamic-page:not(.mobile).notitle.nosearchpanel ::ng-deep>article>header .fd-dynamic-page__title-container{display:none}fd-dynamic-page:not(.mobile) ::ng-deep>article>div{display:flex;flex:1}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded{min-height:100%;display:flex}fd-dynamic-page:not(.mobile) ::ng-deep>article>fd-tab-list>.fd-tabs__content fd-tab.is-expanded>fd-dynamic-page-content{min-height:100%}fd-dynamic-page[tabmode=true] ::ng-deep>article{height:auto!important}fd-dynamic-side-content{min-height:100%;height:auto}fd-dynamic-side-content-main fd-card-content ::ng-deep>div{flex:1}fd-dynamic-side-content-main ::ng-deep fd-toolbar{border:none!important}fd-dynamic-side-content-main ::ng-deep bsu-ui-table-view{padding-bottom:0!important;overflow-y:hidden}fd-dynamic-side-content-side fd-card-content{padding:.5rem}fd-dynamic-page-global-actions{flex:1;width:100%}h3[rtl=true]{margin-left:5px}h3[rtl=false]{margin-right:5px}.header-search{color:var(--sapButton_TextColor, #0854a0)!important}.filter-wrapper{border-bottom:1px solid var(--sapObjectHeader_BorderColor, #d9d9d9)}.report-toolbar-container{display:flex}.report-toolbar-container .global-actions{flex-grow:1}fd-popover-body{min-width:380px}fd-popover-body.mobile{min-width:80vw}@media (max-width: 599px){.report-toolbar-container{flex-direction:column-reverse}.report-toolbar-container .layout-actions{flex-grow:1}}\n"] }]
|
|
7334
7350
|
}], ctorParameters: () => [], propDecorators: { _dynamicPageComponent: [{
|
|
7335
7351
|
type: ViewChild,
|
|
7336
7352
|
args: [DynamicPageComponent]
|
|
@@ -9138,11 +9154,11 @@ class LayoutActionsComponent extends FormToolbarBaseComponent {
|
|
|
9138
9154
|
this.workflowChoiceSelect.emit(workflowButton.Data);
|
|
9139
9155
|
}
|
|
9140
9156
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutActionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: LayoutActionsComponent, isStandalone: false, selector: "bsu-layout-actions", inputs: { workflowButtons: "workflowButtons", workflowButtonsComboMode: "workflowButtonsComboMode", canSend: "canSend", simple: "simple", footerDesign: "footerDesign" }, outputs: { workflowChoiceSelect: "workflowChoiceSelect" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\r\n<ng-template #defaultTemplate>\r\n @if (visible) { @if (hasButtons) {\r\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\r\n @if (canSend && false) {\r\n <div fd-bar-left>\r\n <fd-bar-element class=\"forward\">\r\n <fd-popover\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n [scrollStrategy]=\"repositionScrollStrategy\"\r\n #forwardPopover\r\n >\r\n <fd-popover-control class=\"forward\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-bar-element\r\n ><button\r\n fd-button\r\n (click)=\"forwardPopover.close()\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'decline'\"\r\n ></button>\r\n </fd-bar-element>\r\n <div fd-bar-left>\r\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <bnrc-form-new\r\n class=\"form-erja\"\r\n [settings]=\"{\r\n MetaTypeDef: { Id: '', $Caption: '' },\r\n MetaView: { Id: '', $Caption: '' },\r\n DisableGenerateId: true\r\n }\"\r\n ></bnrc-form-new>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"forwardPopover.close()\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </fd-bar-element>\r\n </div>\r\n }\r\n <div fd-bar-right>\r\n @if (workflowButtonsComboMode && workflowButtons.length) { @if(workflowButtons.length === 1){\r\n <fd-button-bar\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"workflowButtons[0].text | bbbTranslate\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onWorkflowButtonSelected(workflowButtons[0]); onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } @else{\r\n <button\r\n fd-button\r\n [fdMenu]=\"true\"\r\n fdType=\"emphasized\"\r\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n <fd-menu #menu>\r\n @for (btn of workflowButtons; track btn) {\r\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btn.text }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n <fd-button-bar\r\n [fdType]=\"'positive'\"\r\n [label]=\"'Send' | bbbTranslate\"\r\n [disabled]=\"!selectedWorkflowButton\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } }@for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\r\n <bnrc-dynamic-form-toolbaritem\r\n class=\"fd-bar__element\"\r\n [component]=\"btn.Data.CustomUi\"\r\n [context]=\"btn\"\r\n [isEnable]=\"btn.Command?._isEnable\"\r\n (btnClick)=\"onToolClick(btn)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\r\n <fd-button-bar\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text | bbbTranslate\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n } }\r\n </div>\r\n </div>\r\n } }
|
|
9157
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: LayoutActionsComponent, isStandalone: false, selector: "bsu-layout-actions", inputs: { workflowButtons: "workflowButtons", workflowButtonsComboMode: "workflowButtonsComboMode", canSend: "canSend", simple: "simple", footerDesign: "footerDesign" }, outputs: { workflowChoiceSelect: "workflowChoiceSelect" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\r\n<ng-template #defaultTemplate>\r\n @if (visible) { @if (hasButtons) {\r\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\r\n @if (canSend && false) {\r\n <div fd-bar-left>\r\n <fd-bar-element class=\"forward\">\r\n <fd-popover\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n [scrollStrategy]=\"repositionScrollStrategy\"\r\n #forwardPopover\r\n >\r\n <fd-popover-control class=\"forward\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-bar-element\r\n ><button\r\n fd-button\r\n (click)=\"forwardPopover.close()\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'decline'\"\r\n ></button>\r\n </fd-bar-element>\r\n <div fd-bar-left>\r\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <bnrc-form-new\r\n class=\"form-erja\"\r\n [settings]=\"{\r\n MetaTypeDef: { Id: '', $Caption: '' },\r\n MetaView: { Id: '', $Caption: '' },\r\n DisableGenerateId: true\r\n }\"\r\n ></bnrc-form-new>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"forwardPopover.close()\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </fd-bar-element>\r\n </div>\r\n }\r\n <div fd-bar-right>\r\n @if (workflowButtonsComboMode && workflowButtons.length) { @if(workflowButtons.length === 1){\r\n <fd-button-bar\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"workflowButtons[0].text | bbbTranslate\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onWorkflowButtonSelected(workflowButtons[0]); onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } @else{\r\n <button\r\n fd-button\r\n [fdMenu]=\"true\"\r\n fdType=\"emphasized\"\r\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n <fd-menu #menu>\r\n @for (btn of workflowButtons; track btn) {\r\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btn.text }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n <fd-button-bar\r\n [fdType]=\"'positive'\"\r\n [label]=\"'Send' | bbbTranslate\"\r\n [disabled]=\"!selectedWorkflowButton\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } }@for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\r\n <bnrc-dynamic-form-toolbaritem\r\n class=\"fd-bar__element\"\r\n [component]=\"btn.Data.CustomUi\"\r\n [context]=\"btn\"\r\n [isEnable]=\"btn.Command?._isEnable\"\r\n (btnClick)=\"onToolClick(btn)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\r\n <fd-button-bar\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text | bbbTranslate\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n } }\r\n </div>\r\n </div>\r\n } } \r\n</ng-template>\r\n<ng-template #buttonsMode>\r\n @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\r\n <fd-button-bar\r\n [attr.workflowButton]=\"true\"\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text | bbbTranslate\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n } }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{padding-bottom:env(safe-area-inset-bottom);padding-bottom:constant(safe-area-inset-bottom)}:host[rtl=true] fd-split-button{margin-left:.5rem}:host[rtl=false] fd-split-button{margin-right:.5rem}.forward button{min-width:6rem}.form-erja{padding-top:1rem;padding-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FormNewComponent, selector: "bnrc-form-new", inputs: ["settings"] }, { kind: "component", type: i2.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "component", type: i3$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "role"] }, { kind: "directive", type: i3$2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3$2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5$2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i5$2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i5$2.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i5$2.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i5$2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7$2.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7$2.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9142
9158
|
}
|
|
9143
9159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutActionsComponent, decorators: [{
|
|
9144
9160
|
type: Component,
|
|
9145
|
-
args: [{ selector: 'bsu-layout-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\r\n<ng-template #defaultTemplate>\r\n @if (visible) { @if (hasButtons) {\r\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\r\n @if (canSend && false) {\r\n <div fd-bar-left>\r\n <fd-bar-element class=\"forward\">\r\n <fd-popover\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n [scrollStrategy]=\"repositionScrollStrategy\"\r\n #forwardPopover\r\n >\r\n <fd-popover-control class=\"forward\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-bar-element\r\n ><button\r\n fd-button\r\n (click)=\"forwardPopover.close()\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'decline'\"\r\n ></button>\r\n </fd-bar-element>\r\n <div fd-bar-left>\r\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <bnrc-form-new\r\n class=\"form-erja\"\r\n [settings]=\"{\r\n MetaTypeDef: { Id: '', $Caption: '' },\r\n MetaView: { Id: '', $Caption: '' },\r\n DisableGenerateId: true\r\n }\"\r\n ></bnrc-form-new>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"forwardPopover.close()\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </fd-bar-element>\r\n </div>\r\n }\r\n <div fd-bar-right>\r\n @if (workflowButtonsComboMode && workflowButtons.length) { @if(workflowButtons.length === 1){\r\n <fd-button-bar\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"workflowButtons[0].text | bbbTranslate\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onWorkflowButtonSelected(workflowButtons[0]); onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } @else{\r\n <button\r\n fd-button\r\n [fdMenu]=\"true\"\r\n fdType=\"emphasized\"\r\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n <fd-menu #menu>\r\n @for (btn of workflowButtons; track btn) {\r\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btn.text }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n <fd-button-bar\r\n [fdType]=\"'positive'\"\r\n [label]=\"'Send' | bbbTranslate\"\r\n [disabled]=\"!selectedWorkflowButton\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } }@for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\r\n <bnrc-dynamic-form-toolbaritem\r\n class=\"fd-bar__element\"\r\n [component]=\"btn.Data.CustomUi\"\r\n [context]=\"btn\"\r\n [isEnable]=\"btn.Command?._isEnable\"\r\n (btnClick)=\"onToolClick(btn)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\r\n <fd-button-bar\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text | bbbTranslate\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n } }\r\n </div>\r\n </div>\r\n } }
|
|
9161
|
+
args: [{ selector: 'bsu-layout-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\r\n<ng-template #defaultTemplate>\r\n @if (visible) { @if (hasButtons) {\r\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\r\n @if (canSend && false) {\r\n <div fd-bar-left>\r\n <fd-bar-element class=\"forward\">\r\n <fd-popover\r\n [focusTrapped]=\"true\"\r\n [focusAutoCapture]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n [scrollStrategy]=\"repositionScrollStrategy\"\r\n #forwardPopover\r\n >\r\n <fd-popover-control class=\"forward\">\r\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\r\n <div fd-popover-body-header>\r\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-bar-element\r\n ><button\r\n fd-button\r\n (click)=\"forwardPopover.close()\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'decline'\"\r\n ></button>\r\n </fd-bar-element>\r\n <div fd-bar-left>\r\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <bnrc-form-new\r\n class=\"form-erja\"\r\n [settings]=\"{\r\n MetaTypeDef: { Id: '', $Caption: '' },\r\n MetaView: { Id: '', $Caption: '' },\r\n DisableGenerateId: true\r\n }\"\r\n ></bnrc-form-new>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\r\n <div fd-bar-right>\r\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [fdType]=\"'transparent'\"\r\n (click)=\"forwardPopover.close()\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n </fd-bar-element>\r\n </div>\r\n }\r\n <div fd-bar-right>\r\n @if (workflowButtonsComboMode && workflowButtons.length) { @if(workflowButtons.length === 1){\r\n <fd-button-bar\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"workflowButtons[0].text | bbbTranslate\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onWorkflowButtonSelected(workflowButtons[0]); onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } @else{\r\n <button\r\n fd-button\r\n [fdMenu]=\"true\"\r\n fdType=\"emphasized\"\r\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n <fd-menu #menu>\r\n @for (btn of workflowButtons; track btn) {\r\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\r\n <div fd-menu-interactive>\r\n <span fd-menu-title>{{ btn.text }}</span>\r\n </div>\r\n </li>\r\n }\r\n </fd-menu>\r\n <fd-button-bar\r\n [fdType]=\"'positive'\"\r\n [label]=\"'Send' | bbbTranslate\"\r\n [disabled]=\"!selectedWorkflowButton\"\r\n [glyph]=\"'accept'\"\r\n (click)=\"onAcceptWorkflow()\"\r\n ></fd-button-bar>\r\n } }@for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\r\n <bnrc-dynamic-form-toolbaritem\r\n class=\"fd-bar__element\"\r\n [component]=\"btn.Data.CustomUi\"\r\n [context]=\"btn\"\r\n [isEnable]=\"btn.Command?._isEnable\"\r\n (btnClick)=\"onToolClick(btn)\"\r\n ></bnrc-dynamic-form-toolbaritem>\r\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\r\n <fd-button-bar\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text | bbbTranslate\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n } }\r\n </div>\r\n </div>\r\n } } \r\n</ng-template>\r\n<ng-template #buttonsMode>\r\n @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\r\n <fd-button-bar\r\n [attr.workflowButton]=\"true\"\r\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\r\n [label]=\"btn.text | bbbTranslate\"\r\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\r\n (click)=\"onToolClick(btn)\"\r\n ></fd-button-bar>\r\n } }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{padding-bottom:env(safe-area-inset-bottom);padding-bottom:constant(safe-area-inset-bottom)}:host[rtl=true] fd-split-button{margin-left:.5rem}:host[rtl=false] fd-split-button{margin-right:.5rem}.forward button{min-width:6rem}.form-erja{padding-top:1rem;padding-bottom:1rem}\n"] }]
|
|
9146
9162
|
}], propDecorators: { workflowButtons: [{
|
|
9147
9163
|
type: Input
|
|
9148
9164
|
}], workflowButtonsComboMode: [{
|
|
@@ -10174,6 +10190,10 @@ class UlLoadingMaskUiComponent extends BaseComponent {
|
|
|
10174
10190
|
.subscribe((c) => {
|
|
10175
10191
|
c.close();
|
|
10176
10192
|
this._dialogRefList = this._dialogRefList.filter((c) => c.__id !== containerId);
|
|
10193
|
+
containerRef.maskSubject.complete();
|
|
10194
|
+
containerRef.unmaskSubject.next();
|
|
10195
|
+
containerRef.unmaskSubject = null;
|
|
10196
|
+
containerRef.maskSubject = null;
|
|
10177
10197
|
});
|
|
10178
10198
|
containerRef.maskSubject.next();
|
|
10179
10199
|
}
|
|
@@ -13341,11 +13361,11 @@ class UiTextFieldComponent extends FieldBaseComponent {
|
|
|
13341
13361
|
return false;
|
|
13342
13362
|
}
|
|
13343
13363
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UiTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13344
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UiTextFieldComponent, isStandalone: false, selector: "bsu-ui-text-field", inputs: { value: "value", MinSize: "MinSize" }, usesInheritance: true, ngImport: i0, template: "@if (!isEmbedHtml) {\r\n<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.title]=\"value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n} @else {\r\n<div [innerHTML]=\"safeHtml\"></div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: i2$1.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13364
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UiTextFieldComponent, isStandalone: false, selector: "bsu-ui-text-field", inputs: { value: "value", MinSize: "MinSize" }, usesInheritance: true, ngImport: i0, template: "@if (!isEmbedHtml) {\r\n<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.title]=\"Setting.IsPassword ? '' : value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n} @else {\r\n<div [innerHTML]=\"safeHtml\"></div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: i2$1.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13345
13365
|
}
|
|
13346
13366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UiTextFieldComponent, decorators: [{
|
|
13347
13367
|
type: Component,
|
|
13348
|
-
args: [{ selector: 'bsu-ui-text-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (!isEmbedHtml) {\r\n<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.title]=\"value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n} @else {\r\n<div [innerHTML]=\"safeHtml\"></div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
|
|
13368
|
+
args: [{ selector: 'bsu-ui-text-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (!isEmbedHtml) {\r\n<input\r\n fd-form-control\r\n [placeholder]=\"Setting.NullText || ''\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [disabled]=\"(disable$ | async) === true ? true : null\"\r\n [type]=\"Setting.IsPassword ? 'password' : 'text'\"\r\n [value]=\"!value ? '' : value\"\r\n [attr.title]=\"Setting.IsPassword ? '' : value\"\r\n [attr.maxLength]=\"Setting.MaxLength !== undefined ? Setting.MaxLength : null\"\r\n [id]=\"id\"\r\n [style.direction]=\"Setting.IsLtr === true ? 'ltr' : null\"\r\n [style.text-align]=\"Setting.IsLtr === true ? 'left' : null\"\r\n (input)=\"onValueChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n/>\r\n} @else {\r\n<div [innerHTML]=\"safeHtml\"></div>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
|
|
13349
13369
|
}], propDecorators: { value: [{
|
|
13350
13370
|
type: Input
|
|
13351
13371
|
}], MinSize: [{
|
|
@@ -14710,7 +14730,7 @@ class BarsaCardRowPayamComponent extends BaseViewItemPropsComponent {
|
|
|
14710
14730
|
this.content = this._domSanitizer.bypassSecurityTrustHtml(`<div style="color:black;font-size:12pt;font-family:Calibri,Helvetica,sans-serif;">okkkk</div>`);
|
|
14711
14731
|
}
|
|
14712
14732
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaCardRowPayamComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
14713
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaCardRowPayamComponent, isStandalone: false, selector: "bsu-barsa-card-row-payam", usesInheritance: true, ngImport: i0, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\r\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\r\n <fd-card-main-header>\r\n <fd-avatar\r\n image=\"http://picsum.photos/id/1018/400\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n ></fd-avatar>\r\n <h2 fd-card-title>\r\n <div style=\"display: flex; column-gap: 1.275rem\">\r\n <span>\u0631\u0627\u0647\u0628\u0631 \u0633\u06CC\u0633\u062A\u0645</span>\r\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\r\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\r\n </div>\r\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\r\n </h2>\r\n\r\n <h3 fd-card-subtitle>\r\n @if (hideContent) {\r\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\r\n } @if (!hideContent) {\r\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\r\n }\r\n </h3>\r\n @if (hideContent) {\r\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\r\n } @if (!hideContent) {\r\n <span\r\n fd-card-counter\r\n ulvContextMenu\r\n [menuItems]=\"contextMenuItems\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n ></span>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n @if (!hideContent) {\r\n <fd-card-content>\r\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\r\n </fd-card-content>\r\n }\r\n</fd-card>\r\n\r\n<ng-template #contentTpl>\r\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\r\n</ng-template>\r\n\r\n<ng-template #toTpl>\r\n <div>To: \u0645\u0646</div>\r\n <div>Cc: \u0645\u0646</div>\r\n</ng-template>\r\n<ng-template #attachmentsTpl>\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n [file]=\"file\"\r\n [files]=\"mo.F5.Files\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n [fdType]=\"'transparent'\"\r\n ></bsu-file-viewer-popover>\r\n } }\r\n </div>\r\n @if (mo.F5.Files.length > 1) {\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'Download' | bbbTranslate: 'All'\"\r\n [glyph]=\"'download'\"\r\n downloadFiles\r\n [files]=\"mo.F5.Files\"\r\n ></button>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i3$7.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i7$3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i7$3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7$3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i7$3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "directive", type: i7$3.CardCounterDirective, selector: "[fd-card-counter]", inputs: ["statusInput"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i10.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i8$4.ObjectAttributeComponent, selector: "fd-object-attribute", inputs: ["label", "linkText", "islink", "disabled"], outputs: ["objectAttributeclick"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType", "attachmentViewType"], outputs: ["remove"] }, { kind: "directive", type: DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14733
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaCardRowPayamComponent, isStandalone: false, selector: "bsu-barsa-card-row-payam", usesInheritance: true, ngImport: i0, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\r\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\r\n <fd-card-main-header>\r\n <fd-avatar\r\n image=\"http://picsum.photos/id/1018/400\"\r\n [circle]=\"true\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n ></fd-avatar>\r\n <h2 fd-card-title>\r\n <div style=\"display: flex; column-gap: 1.275rem\">\r\n <span>\u0631\u0627\u0647\u0628\u0631 \u0633\u06CC\u0633\u062A\u0645</span>\r\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\r\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\r\n </div>\r\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\r\n </h2>\r\n\r\n <h3 fd-card-subtitle>\r\n @if (hideContent) {\r\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\r\n } @if (!hideContent) {\r\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\r\n }\r\n </h3>\r\n @if (hideContent) {\r\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\r\n } @if (!hideContent) {\r\n <span\r\n fd-card-counter\r\n ulvContextMenu\r\n [menuItems]=\"contextMenuItems\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n ></span>\r\n }\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n @if (!hideContent) {\r\n <fd-card-content>\r\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\r\n </fd-card-content>\r\n }\r\n</fd-card>\r\n\r\n<ng-template #contentTpl>\r\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\r\n</ng-template>\r\n\r\n<ng-template #toTpl>\r\n <div>To: \u0645\u0646</div>\r\n <div>Cc: \u0645\u0646</div>\r\n</ng-template>\r\n<ng-template #attachmentsTpl>\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n [file]=\"file\"\r\n [files]=\"mo.F5.Files\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n [fdType]=\"'transparent'\"\r\n ></bsu-file-viewer-popover>\r\n } }\r\n </div>\r\n @if (mo.F5.Files.length > 1) {\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [label]=\"'Download' | bbbTranslate: 'All'\"\r\n [glyph]=\"'download'\"\r\n downloadFiles\r\n [files]=\"mo.F5.Files\"\r\n ></button>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i3$7.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i7$3.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i7$3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i7$3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i7$3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "directive", type: i7$3.CardCounterDirective, selector: "[fd-card-counter]", inputs: ["statusInput"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i10.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i8$4.ObjectAttributeComponent, selector: "fd-object-attribute", inputs: ["label", "linkText", "islink", "disabled"], outputs: ["objectAttributeclick"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType", "attachmentViewType"], outputs: ["remove"] }, { kind: "directive", type: DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14714
14734
|
}
|
|
14715
14735
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaCardRowPayamComponent, decorators: [{
|
|
14716
14736
|
type: Component,
|
|
@@ -15939,7 +15959,7 @@ class BarsaCardBannerComponent extends BaseViewItemPropsComponent {
|
|
|
15939
15959
|
this.events.emit({ title: 'ulvCommandClick', data: { mo: this.mo, index: this.index } });
|
|
15940
15960
|
}
|
|
15941
15961
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaCardBannerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15942
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaCardBannerComponent, isStandalone: false, selector: "bsu-barsa-card-banner", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-card\n cardType=\"banner\"\n [style.height.px]=\"deviceSize === 's' ? null : parameters.Height || 300\"\n (click)=\"rowChecked()\"\n>\n <fd-card-media>\n <div\n fd-card-media-content-container \n [legendColor]=\"parameters.LegendColor || 13\"\n [style.background]=\"parameters.ColorColumn | rval: mo:allColumns:true | bbbTranslate\"\n [style.background]=\"\n parameters.ColorColumn\n ? (parameters.ColorColumn | rval: mo:allColumns:true | bbbTranslate)\n : parameters.CustomColor\n ? parameters.CustomColor\n : null\n \"\n >\n <div fd-card-media-heading [level]=\"2\">\n {{ parameters.TitleColumn | rval: mo:allColumns:true | bbbTranslate }}\n </div>\n <p fd-card-media-text>\n {{ parameters.SubtitleColumn | rval: mo:allColumns:true | bbbTranslate }}\n </p>\n @if (contextMenuItems.length ) {\n\n <bsu-ulv-context-menu\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [mo]=\"mo\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand2()\"\n [deviceName]=\"deviceName\"\n [menuItems]=\"contextMenuItems\"\n [allColumns]=\"allColumns\"\n ></bsu-ulv-context-menu>\n }\n </div>\n <div fd-card-media-image-container>\n <!-- <bsu-barsa-img-skeleton\n fd-card-media-image\n [title]=\"parameters.TitleColumn | rval: mo:allColumns:true | bbbTranslate\"\n [imageUrl]=\"\n (parameters.PictureColumn | rval: mo:allColumns)?.FileId\n | picFieldSrc: 'GetPictureFromFileInfo':null\n \"\n [size]=\"[parameters?.Height || 300, 0]\"\n [widthFull]=\"true\"\n ></bsu-barsa-img-skeleton> -->\n <img\n fd-card-media-image\n [src]=\"\n (parameters.PictureColumn | rval: mo:allColumns)?.FileId\n | picFieldSrc: 'GetPictureFromFileInfo':null\n \"\n [alt]=\"parameters.TitleColumn | rval: mo:allColumns:true | bbbTranslate\"\n [style.height.px]=\"parameters?.Height || 300\"\n />\n </div>\n </fd-card-media>\n</fd-card>\n\n", styles: [""], dependencies: [{ kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardMediaComponent, selector: "fd-card-media", inputs: ["ariaRoleDescription", "hasPadding", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaImageDirective, selector: "[fd-card-media-image]" }, { kind: "directive", type: i7$3.CardMediaImageContainerDirective, selector: "[fd-card-media-image-container]" }, { kind: "directive", type: i7$3.CardMediaContentContainerDirective, selector: "[fd-card-media-content-container]", inputs: ["isOverlay", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaHeadingDirective, selector: "[fd-card-media-heading]", inputs: ["id", "level"] }, { kind: "directive", type: i7$3.CardMediaTextDirective, selector: "[fd-card-media-text]" }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15962
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaCardBannerComponent, isStandalone: false, selector: "bsu-barsa-card-banner", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-card\n cardType=\"banner\"\n [style.height.px]=\"deviceSize === 's' ? null : parameters.Height || 300\"\n (click)=\"rowChecked()\"\n>\n <fd-card-media>\n <div\n fd-card-media-content-container \n [legendColor]=\"parameters.LegendColor || 13\"\n [style.background]=\"parameters.ColorColumn | rval: mo:allColumns:true | bbbTranslate\"\n [style.background]=\"\n parameters.ColorColumn\n ? (parameters.ColorColumn | rval: mo:allColumns:true | bbbTranslate)\n : parameters.CustomColor\n ? parameters.CustomColor\n : null\n \"\n >\n <div fd-card-media-heading [level]=\"2\">\n {{ parameters.TitleColumn | rval: mo:allColumns:true | bbbTranslate }}\n </div>\n <p fd-card-media-text>\n {{ parameters.SubtitleColumn | rval: mo:allColumns:true | bbbTranslate }}\n </p>\n @if (contextMenuItems.length ) {\n\n <bsu-ulv-context-menu\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [mo]=\"mo\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand2()\"\n [deviceName]=\"deviceName\"\n [menuItems]=\"contextMenuItems\"\n [allColumns]=\"allColumns\"\n ></bsu-ulv-context-menu>\n }\n </div>\n <div fd-card-media-image-container>\n <!-- <bsu-barsa-img-skeleton\n fd-card-media-image\n [title]=\"parameters.TitleColumn | rval: mo:allColumns:true | bbbTranslate\"\n [imageUrl]=\"\n (parameters.PictureColumn | rval: mo:allColumns)?.FileId\n | picFieldSrc: 'GetPictureFromFileInfo':null\n \"\n [size]=\"[parameters?.Height || 300, 0]\"\n [widthFull]=\"true\"\n ></bsu-barsa-img-skeleton> -->\n <img\n fd-card-media-image\n [src]=\"\n (parameters.PictureColumn | rval: mo:allColumns)?.FileId\n | picFieldSrc: 'GetPictureFromFileInfo':null\n \"\n [alt]=\"parameters.TitleColumn | rval: mo:allColumns:true | bbbTranslate\"\n [style.height.px]=\"parameters?.Height || 300\"\n />\n </div>\n </fd-card-media>\n</fd-card>\n\n", styles: [""], dependencies: [{ kind: "component", type: i7$3.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i7$3.CardMediaComponent, selector: "fd-card-media", inputs: ["ariaRoleDescription", "hasPadding", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaImageDirective, selector: "[fd-card-media-image]" }, { kind: "directive", type: i7$3.CardMediaImageContainerDirective, selector: "[fd-card-media-image-container]" }, { kind: "directive", type: i7$3.CardMediaContentContainerDirective, selector: "[fd-card-media-content-container]", inputs: ["isOverlay", "shellColor", "legendColor"] }, { kind: "directive", type: i7$3.CardMediaHeadingDirective, selector: "[fd-card-media-heading]", inputs: ["id", "level"] }, { kind: "directive", type: i7$3.CardMediaTextDirective, selector: "[fd-card-media-text]" }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15943
15963
|
}
|
|
15944
15964
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaCardBannerComponent, decorators: [{
|
|
15945
15965
|
type: Component,
|
|
@@ -15966,7 +15986,7 @@ class BarsaThemeComponent extends BaseComponent {
|
|
|
15966
15986
|
ngOnInit() {
|
|
15967
15987
|
super.ngOnInit();
|
|
15968
15988
|
this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
|
|
15969
|
-
if (!this.
|
|
15989
|
+
if (!this._applySettingsFromLocalStorage()) {
|
|
15970
15990
|
this._setDefaultTheme();
|
|
15971
15991
|
}
|
|
15972
15992
|
this._themingService.currentTheme.subscribe((theme) => {
|
|
@@ -15991,13 +16011,16 @@ class BarsaThemeComponent extends BaseComponent {
|
|
|
15991
16011
|
this._setTheme(contentDensity, theme);
|
|
15992
16012
|
}
|
|
15993
16013
|
}
|
|
16014
|
+
else {
|
|
16015
|
+
this._setDefaultTheme();
|
|
16016
|
+
}
|
|
15994
16017
|
});
|
|
15995
16018
|
}
|
|
15996
16019
|
_setUserSettings(contentDensity, theme) {
|
|
15997
16020
|
this._localStorage.setItem('sap_theme', theme);
|
|
15998
16021
|
this._localStorage.setItem('contentDensity', contentDensity);
|
|
15999
16022
|
}
|
|
16000
|
-
|
|
16023
|
+
_applySettingsFromLocalStorage() {
|
|
16001
16024
|
const theme = this._localStorage.getItem('sap_theme');
|
|
16002
16025
|
const contentDensity = this._localStorage.getItem('contentDensity');
|
|
16003
16026
|
if (!theme) {
|
|
@@ -16245,11 +16268,14 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16245
16268
|
constructor() {
|
|
16246
16269
|
super(...arguments);
|
|
16247
16270
|
this.renderedMap = false;
|
|
16271
|
+
this.signalMap = signal(null);
|
|
16272
|
+
this._picfieldSrc = inject(PictureFieldSourcePipe);
|
|
16248
16273
|
}
|
|
16249
16274
|
ngOnInit() {
|
|
16250
16275
|
super.ngOnInit();
|
|
16251
16276
|
const x = this.layoutInfo?.ControlBounds?.height || 1;
|
|
16252
|
-
this._renderer2.setStyle(this._mapContainer.nativeElement, 'min-height', `${x < 2
|
|
16277
|
+
this._renderer2.setStyle(this._mapContainer.nativeElement, 'min-height', `${x < 2 ? 400 : x}px`);
|
|
16278
|
+
this._renderer2.setStyle(this._mapContainer.nativeElement, 'height', '100%');
|
|
16253
16279
|
this._ulvMainService.prepareMoForNewForm$.pipe(takeUntil$1(this._onDestroy$)).subscribe((mo) => {
|
|
16254
16280
|
if (mo && this._lastOnContextEventLoc) {
|
|
16255
16281
|
mo[this.viewSetting.FieldLng] = this._lastOnContextEventLoc.lng;
|
|
@@ -16258,12 +16284,7 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16258
16284
|
});
|
|
16259
16285
|
this._leafletWrapper = new LeafletWrapper(this.viewSetting);
|
|
16260
16286
|
this._leafletWrapper.on('MapReady', (_e) => {
|
|
16261
|
-
this._leafletWrapper.
|
|
16262
|
-
this._click(e);
|
|
16263
|
-
});
|
|
16264
|
-
this._leafletWrapper.Map.on('click', (e) => {
|
|
16265
|
-
this._click(e);
|
|
16266
|
-
});
|
|
16287
|
+
this.signalMap.set(this._leafletWrapper.Map);
|
|
16267
16288
|
this._leafletWrapper.Map.on('keypress', (e) => {
|
|
16268
16289
|
this._keypress(e);
|
|
16269
16290
|
});
|
|
@@ -16276,9 +16297,24 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16276
16297
|
this._leafletWrapper.on('contextmenu', (e) => {
|
|
16277
16298
|
this._contextmenu(e);
|
|
16278
16299
|
});
|
|
16279
|
-
|
|
16280
|
-
|
|
16281
|
-
|
|
16300
|
+
this._leafletWrapper.Map.on('mousedown', (e) => {
|
|
16301
|
+
let clickedMarker = null;
|
|
16302
|
+
this._ulvContextMenuCmp.ClosePopover();
|
|
16303
|
+
this._leafletWrapper.Map.eachLayer((layer) => {
|
|
16304
|
+
if (layer instanceof L.Marker) {
|
|
16305
|
+
const iconEl = layer.getElement();
|
|
16306
|
+
if (iconEl && iconEl.contains(e.originalEvent.target)) {
|
|
16307
|
+
clickedMarker = layer;
|
|
16308
|
+
}
|
|
16309
|
+
}
|
|
16310
|
+
});
|
|
16311
|
+
if (clickedMarker) {
|
|
16312
|
+
this._markerClick(clickedMarker?.options?.Data);
|
|
16313
|
+
}
|
|
16314
|
+
else {
|
|
16315
|
+
this.onDeselectAll();
|
|
16316
|
+
}
|
|
16317
|
+
});
|
|
16282
16318
|
this._leafletWrapper.Map.on('popupopen', (e) => {
|
|
16283
16319
|
this._popupopen(e);
|
|
16284
16320
|
});
|
|
@@ -16298,6 +16334,17 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16298
16334
|
this._drawMarkerOrPolygon();
|
|
16299
16335
|
}
|
|
16300
16336
|
}
|
|
16337
|
+
// {
|
|
16338
|
+
// latlng,
|
|
16339
|
+
// point,
|
|
16340
|
+
// x,
|
|
16341
|
+
// y,
|
|
16342
|
+
// marker,
|
|
16343
|
+
// data
|
|
16344
|
+
// }
|
|
16345
|
+
onLongPress({ latlng, x, y }) {
|
|
16346
|
+
this._showContextMenu(latlng, x, y);
|
|
16347
|
+
}
|
|
16301
16348
|
onElemCreated(e) {
|
|
16302
16349
|
this.elemPopover = e;
|
|
16303
16350
|
}
|
|
@@ -16331,9 +16378,15 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16331
16378
|
const lat = mo[this.viewSetting.FieldLat];
|
|
16332
16379
|
const lng = mo[this.viewSetting.FieldLng];
|
|
16333
16380
|
const text = mo[this.viewSetting.TitleField] || mo.$Caption;
|
|
16334
|
-
const
|
|
16381
|
+
const iconMarker = this.viewSetting.IconMarker?.Url
|
|
16382
|
+
? this.viewSetting.IconMarker.Url
|
|
16383
|
+
: 'assets/svg/location-sign.svg';
|
|
16384
|
+
let iconPicture;
|
|
16385
|
+
this.viewSetting.FieldMarkerPicture &&
|
|
16386
|
+
mo[this.viewSetting.FieldMarkerPicture] &&
|
|
16387
|
+
(iconPicture = this._picfieldSrc.transform(mo[this.viewSetting.FieldMarkerPicture].FileId, 'ID', mo.Id, undefined));
|
|
16335
16388
|
const draggable = this.viewSetting.Draggable || false;
|
|
16336
|
-
return this._createMarker(mo.Id, mo, lat, lng, text,
|
|
16389
|
+
return this._createMarker(mo.Id, mo, lat, lng, text, iconPicture || iconMarker, draggable);
|
|
16337
16390
|
}
|
|
16338
16391
|
_clearMarker() {
|
|
16339
16392
|
this._leafletWrapper.ClearMarker();
|
|
@@ -16347,20 +16400,20 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16347
16400
|
_addMarker(marker) {
|
|
16348
16401
|
this._leafletWrapper.AddMarker(marker);
|
|
16349
16402
|
}
|
|
16350
|
-
_popupClose(
|
|
16351
|
-
console.log(e);
|
|
16403
|
+
_popupClose(_e) {
|
|
16404
|
+
// console.log(e);
|
|
16352
16405
|
}
|
|
16353
|
-
_popupopen(
|
|
16354
|
-
console.log(e);
|
|
16406
|
+
_popupopen(_e) {
|
|
16407
|
+
// console.log(e);
|
|
16355
16408
|
}
|
|
16356
|
-
_contextmenu(
|
|
16357
|
-
console.log(e);
|
|
16409
|
+
_contextmenu(_e) {
|
|
16410
|
+
// console.log(e);
|
|
16358
16411
|
}
|
|
16359
|
-
_preClick(
|
|
16360
|
-
console.log(e);
|
|
16412
|
+
_preClick(_e) {
|
|
16413
|
+
// console.log(e);
|
|
16361
16414
|
}
|
|
16362
|
-
_dblclick(
|
|
16363
|
-
const mapData =
|
|
16415
|
+
_dblclick(_e) {
|
|
16416
|
+
const mapData = _e.target?.options?.Data;
|
|
16364
16417
|
if (mapData) {
|
|
16365
16418
|
const index = this.moDataList.findIndex((c) => c.Id === mapData.Id);
|
|
16366
16419
|
if (index > -1) {
|
|
@@ -16368,24 +16421,17 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16368
16421
|
}
|
|
16369
16422
|
}
|
|
16370
16423
|
}
|
|
16371
|
-
|
|
16372
|
-
console.log(e);
|
|
16373
|
-
const mapData = e.target?.options?.Data;
|
|
16424
|
+
_markerClick(mapData) {
|
|
16425
|
+
// console.log(e);
|
|
16374
16426
|
if (mapData) {
|
|
16375
16427
|
const index = this.moDataList.findIndex((c) => c.Id === mapData.Id);
|
|
16376
16428
|
if (index > -1) {
|
|
16377
16429
|
this.onRowCheck({ mo: this.moDataList[index], index });
|
|
16378
16430
|
}
|
|
16379
16431
|
}
|
|
16380
|
-
else {
|
|
16381
|
-
this.onDeselectAll();
|
|
16382
|
-
}
|
|
16383
|
-
this._showContextMenu(e);
|
|
16384
16432
|
}
|
|
16385
|
-
_showContextMenu(
|
|
16433
|
+
_showContextMenu(latlng, x, y) {
|
|
16386
16434
|
const x1 = this._ulvContextMenuCmp;
|
|
16387
|
-
const x = e.originalEvent.pageX;
|
|
16388
|
-
const y = e.originalEvent.pageY;
|
|
16389
16435
|
this.popoverX = x;
|
|
16390
16436
|
this.popoverY = y;
|
|
16391
16437
|
const el = this.elemPopover;
|
|
@@ -16393,18 +16439,18 @@ class UiMapReportComponent extends ReportViewBaseComponent {
|
|
|
16393
16439
|
el.style.left = x + 'px';
|
|
16394
16440
|
el.style.top = y + 'px';
|
|
16395
16441
|
}
|
|
16396
|
-
this._lastOnContextEventLoc =
|
|
16442
|
+
this._lastOnContextEventLoc = latlng;
|
|
16397
16443
|
x1.OpenPopover();
|
|
16398
16444
|
}
|
|
16399
|
-
_keypress(
|
|
16400
|
-
console.log(e);
|
|
16445
|
+
_keypress(_e) {
|
|
16446
|
+
// console.log(e);
|
|
16401
16447
|
}
|
|
16402
16448
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UiMapReportComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16403
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UiMapReportComponent, isStandalone: false, selector: "bsu-ui-map-report", viewQueries: [{ propertyName: "_mapContainer", first: true, predicate: ["mapContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "_popoverExt", first: true, predicate: ["popoverExt"], descendants: true }, { propertyName: "_ulvContextMenuCmp", first: true, predicate: UlvContextMenuComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #mapContainer\r\n absDiv\r\n (elemCreated)=\"onElemCreated($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n></div>\r\n@if(elemPopover){\r\n<div\r\n ulvContextMenu\r\n [menuItems]=\"toolbarButtons | seperatorFix: true\"\r\n [rightClickEnable]=\"true\"\r\n [appendTo]=\"elemPopover\"\r\n [showText]=\"true\"\r\n></div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i2.AbsoluteDivBodyDirective, selector: "[absDiv]", outputs: ["elemCreated"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }] }); }
|
|
16449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: UiMapReportComponent, isStandalone: false, selector: "bsu-ui-map-report", viewQueries: [{ propertyName: "_mapContainer", first: true, predicate: ["mapContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "_popoverExt", first: true, predicate: ["popoverExt"], descendants: true }, { propertyName: "_ulvContextMenuCmp", first: true, predicate: UlvContextMenuComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #mapContainer\r\n absDiv\r\n (elemCreated)=\"onElemCreated($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n [leafletLongPress]=\"signalMap()\"\r\n (longPress)=\"onLongPress($event)\"\r\n></div>\r\n@if(elemPopover){\r\n<div\r\n ulvContextMenu\r\n [menuItems]=\"toolbarButtons | seperatorFix: true\"\r\n [rightClickEnable]=\"true\"\r\n [appendTo]=\"elemPopover\"\r\n [showText]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n></div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i2.AbsoluteDivBodyDirective, selector: "[absDiv]", outputs: ["elemCreated"] }, { kind: "directive", type: i2.LeafletLongPressDirective, selector: "[leafletLongPress]", inputs: ["leafletLongPress", "longPressDuration"], outputs: ["longPress"] }, { kind: "component", type: UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "closeOnOutsideClick", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "pipe", type: i2.SeperatorFixPipe, name: "seperatorFix" }] }); }
|
|
16404
16450
|
}
|
|
16405
16451
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UiMapReportComponent, decorators: [{
|
|
16406
16452
|
type: Component,
|
|
16407
|
-
args: [{ selector: 'bsu-ui-map-report', standalone: false, template: "<div\r\n #mapContainer\r\n absDiv\r\n (elemCreated)=\"onElemCreated($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n></div>\r\n@if(elemPopover){\r\n<div\r\n ulvContextMenu\r\n [menuItems]=\"toolbarButtons | seperatorFix: true\"\r\n [rightClickEnable]=\"true\"\r\n [appendTo]=\"elemPopover\"\r\n [showText]=\"true\"\r\n></div>\r\n}\r\n" }]
|
|
16453
|
+
args: [{ selector: 'bsu-ui-map-report', standalone: false, template: "<div\r\n #mapContainer\r\n absDiv\r\n (elemCreated)=\"onElemCreated($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"onVisibilityChange($event)\"\r\n [leafletLongPress]=\"signalMap()\"\r\n (longPress)=\"onLongPress($event)\"\r\n></div>\r\n@if(elemPopover){\r\n<div\r\n ulvContextMenu\r\n [menuItems]=\"toolbarButtons | seperatorFix: true\"\r\n [rightClickEnable]=\"true\"\r\n [appendTo]=\"elemPopover\"\r\n [showText]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n></div>\r\n}\r\n" }]
|
|
16408
16454
|
}], propDecorators: { _mapContainer: [{
|
|
16409
16455
|
type: ViewChild,
|
|
16410
16456
|
args: ['mapContainer', { read: ElementRef, static: true }]
|
|
@@ -16416,6 +16462,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
16416
16462
|
args: [UlvContextMenuComponent]
|
|
16417
16463
|
}] } });
|
|
16418
16464
|
|
|
16465
|
+
class DynamicCommandComponent extends BaseComponent {
|
|
16466
|
+
constructor() {
|
|
16467
|
+
super(...arguments);
|
|
16468
|
+
this.minheight = '100svh';
|
|
16469
|
+
// @HostBinding('class.section') sectionClass = true;
|
|
16470
|
+
// @HostBinding('class.absolute-page') absolutePageClass = true;
|
|
16471
|
+
this.loading$ = signal(false);
|
|
16472
|
+
this._activatedRoute = inject(ActivatedRoute);
|
|
16473
|
+
this._applicationCtrlService = inject(ApplicationCtrlrService);
|
|
16474
|
+
}
|
|
16475
|
+
ngOnInit() {
|
|
16476
|
+
super.ngOnInit();
|
|
16477
|
+
this._activatedRoute.params
|
|
16478
|
+
.pipe(takeUntil(this._onDestroy$), tap(() => this.loading$.set(true)), map((params) => params.id),
|
|
16479
|
+
// tap((id: string) => this._applicationCtrlService.selectSystemCommand(id)),
|
|
16480
|
+
tap((_id) => this._applicationCtrlService.setCommandGroupsSelected(true)), switchMap((id) => from(new Promise((resolve, _reject) => BarsaApi.Common.CustomCodeManager.RunDynamicCommand(id, {}, resolve))).pipe(catchError((_err) => of(true)))), finalize(() => {
|
|
16481
|
+
this.loading$.set(false);
|
|
16482
|
+
}))
|
|
16483
|
+
.subscribe(() => {
|
|
16484
|
+
this.loading$.set(false);
|
|
16485
|
+
});
|
|
16486
|
+
}
|
|
16487
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16488
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: DynamicCommandComponent, isStandalone: false, selector: "bsu-dynamic-command", host: { properties: { "style.min-height": "this.minheight" } }, usesInheritance: true, ngImport: i0, template: "<p>dar hale ejra ...</p>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16489
|
+
}
|
|
16490
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicCommandComponent, decorators: [{
|
|
16491
|
+
type: Component,
|
|
16492
|
+
args: [{ selector: 'bsu-dynamic-command', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>dar hale ejra ...</p>\r\n" }]
|
|
16493
|
+
}], propDecorators: { minheight: [{
|
|
16494
|
+
type: HostBinding,
|
|
16495
|
+
args: ['style.min-height']
|
|
16496
|
+
}] } });
|
|
16497
|
+
|
|
16419
16498
|
const components = [
|
|
16420
16499
|
BarsaBarDownloadFileComponent,
|
|
16421
16500
|
UiTextFieldComponent,
|
|
@@ -16633,7 +16712,8 @@ const components = [
|
|
|
16633
16712
|
UiSignatureComponent,
|
|
16634
16713
|
BarsaMegamenuComponent,
|
|
16635
16714
|
UiMapReportComponent,
|
|
16636
|
-
BarsaInfobarsComponent
|
|
16715
|
+
BarsaInfobarsComponent,
|
|
16716
|
+
DynamicCommandComponent
|
|
16637
16717
|
];
|
|
16638
16718
|
const pipes = [
|
|
16639
16719
|
UploadFileStatusPipe,
|
|
@@ -16793,7 +16873,7 @@ class BarsaSapUiModule extends BaseModule {
|
|
|
16793
16873
|
};
|
|
16794
16874
|
}
|
|
16795
16875
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaSapUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16796
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: BarsaSapUiModule, declarations: [BarsaBarDownloadFileComponent, UiTextFieldComponent, LyLayoutFieldLabelComponent, UiCheckBoxComponent, UiSimpleComboComponent, UiRadioGroupComponent, UiGridComponent, UiMapComponent, LyLayoutContainerOfRootComponent, LyLayoutPanelComponent, UiReadOnlyFieldComponent, UiContainerWithButtonComponent, UiPictureFileComponent, UiMoInfoUlvComboComponent, UiMultiSelectComboComponent, UiNumDecimalUiComponent, UiNumIntUiComponent, UiTimeSpanComponent, UiFileLinearListBoxComponent, LyEmptySpaceComponent, UiSinglePictureComponent, UlvSelectionComponent, UlvToolbarComponent, UlvPagingComponent, UiGridSortSettingComponent, UiGridSortItemComponent, UiGridColumnsComponent, MaskComponent, UiInfoBarPanelComponent, UiFormPanelComponent, UiSearchCommandInfoUiComponent, UlvSettingsComponent, UiTinymceComponent, UiButtonComponent, UiDateTimeComponent, FormDialogComponent, UiMoInfoSubFormUiComponent, ResponsiveToolbarComponent, ResponsiveToolbarRendererComponent, UiTextAreaComponent, LayoutControlComponent, LayoutWizardComponent, FormWizardComponent, FormDialogLessComponent, RichTextStaticComponent, UiPicturesInfoComponent, LyHorizontalLayoutComponent, LyVerticalLayoutComponent, LyTabContainerComponent, LyTabPageComponent, LyLabelComponent, UiMoInfoComboViewerComponent, UlMsgBoxAdapterComponent, UiTreeComponent, HeaderAvatarComponent, UiWorkflowPanelUiComponent, UlvContextMenuComponent, UlLoadingMaskUiComponent, UiTextFieldAutoCompleteComponent, CaptchaFieldComponent, LySimpleLabelComponent, GlobalSearchPanelComponent, GlobalSearchModuleComponent, GlobalSearchComponent, HyperlinkComponent, StaticTextComponent, UlToastAdapterComponent, MessageStripComponent, UiLinearListContainerWithButtonComponent, FundamentalDynamicFormComponent, LayoutActionsComponent, LyLayoutContainerComponent, UiUlvFormMultiSelectUiComponent, UlvFormMultiSelectComponent, UlvColumnSettingsComponent, UlvFilterSettingsComponent, UlvSortSettingsComponent, UlvGroupbySettingsComponent, BarsaListFileLinearComponent, UiPdfViewerComponent, BarsaTinyemceComponent, UiMonacoEditorComponent, BarsaMonacoEditorComponent, BarsaDateTimePickerComponent, BarsaTreeItemComponent, UiSwitchButtonComponent, UiColorUiComponent, LyLineComponent, UiUlvMainUiComponent, ReportNavigatorComponent, ManageFiltersReportComponent, ReportSearchFieldsManageComponent, ReportSearchFieldsHiddenSettingsComponent, SearchPanelComponent, ReportSearchPanelSaveComponent, UiGridFilterSettingsComponent, UiGridFilterItemComponent, UiDateRangeExComponent, UlNotifyPopupComponent, UiTableViewComponent, UiListViewComponent, UiCardViewComponent, UiReportContainerComponent, NoDataComponent, ColumnRendererComponent, InlineSaveAndCancelComponent, UiTreeViewComponent, InlineSaveAndCancelComponent, UiCalendarComponent, UiAspReportViewerComponent, UiGraphComponent, UiExceptionFormComponent, UiEditableGridComponent, ColumnMatrixRendererComponent, UiMatrixViewComponent, CustomDateTimeComponent, BarsaAspViewerComponent, FileInDialogComponent, UiMoInfoGeneralObjectUiComponent, UiGanttChartComponent, GanttDhtmlChartViewComponent, ProgressIndicatorComponent, CardViewContentComponent, CardItemComponent, UiCardViewHorizontalGroupComponent, TitleComponent, BarsaUlvMainComponent, ListItemComponent, HtreeCreateNewComponent, BarsaTableHeaderComponent, BarsaTableRowComponent, BarsaTableColumnComponent, BreadcrumbComponent, UiLabelComponent, FormToolbarButtonComponent, BarsaSearchFormComponent, ReportNewTopFormComponent, BarsaNetworkOfflineComponent, FileViewerContentComponent, FileViewerPopoverComponent, FileViewerComponent, BlobViewerComponent, NotificationItemComponent, BarsaCartableTemplateComponent, BarsaCartableGroupComponent, BarsaCartableFormComponent, BarsaColumnIndicatorComponent, BarsaFieldKeyValueComponent, BarsaToolbaritemSearchComponent, UiHtmlViewerComponent, BarsaPishnamayeshPayamComponent, BarsaTextEllipsisComponent, BarsaListFileLinearGmailComponent, BarsaLinkableItemsPanelComponent, BarsaEnumMenuButtonComponent, BarsaCardLayoutPanelComponent, BarsaHorizontalFlexPanelComponent, BarsaBaseLayoutPanelComponent, BarsaBarPanelComponent, BarsaFormSideContentComponent, BarsaSimpleFormComponent, FormToolbarComponent, BarsaListLayoutPanelComponent, BarsaGridLayoutPanelComponent, BarsaDynamicFieldComponent, UiMultiSelectRadioComponent, UiMultiSelectCheckboxComponent, UiNumIntSliderComponent, UiMultiSelectSliderComponent, UiMultiSelectCardComponent, UiMultiSelectSmileComponent, BarsaReportCheckboxSwitchButtonComponent, BarsaColumnRowNumberComponent, BarsaCardRowPayamComponent, BarsaColumnRowNumberComponent, BarsaQuestionPostComponent, BarsaQuestionAnswerFormComponent, BarsaQuestionAnswerFormAddCommentComponent, BarsaAnswerCardComponent, BarsaQuestionAnswerContentActionsSectionComponent, BarsaQuestionAnswerVoteSectionComponent, BarsaQuestionAnswerCreatorTimeSectionComponent, BarsaQuestionAnswerCommentsSectionComponent, BarsaChipComponent, BarsaTagChipComponent, BarsaReportCardFlexViewComponent, BarsaTagsCategoryRowComponent, BarsaTagCategoriesComponent, BarsaReportOneOfListComponent, BarsaCardRowPayamComponent, BarsaCustomInlineEditComponent, BarsaCustomInlineEditRowComponent, BarsaChatComponent, BarsaChatContentComponent, BarsaChatMessageComponent, BarsaChatThreadComponent, BarsaChatThreadsListComponent, BarsaChatThreadsListToolbarComponent, BarsaChatContentToolbarComponent, BarsaChatListComponent, BarsaModalComponent, BarsaTabRouteManagerComponent, BarsaBreadcrumbsComponent, BarsaRowInlineActionlistComponent, UiBpmnViewerComponent, UiNotificationViewComponent, NotificationItemActionsComponent, BarsaFormLayoutPanelComponent, UiReportCarouselViewComponent, BarsaCardBannerComponent, BarsaThemeComponent, BarsaImgSkeletonComponent, BarsaBottomMenuViewComponent, UiSignatureComponent, BarsaMegamenuComponent, UiMapReportComponent, BarsaInfobarsComponent, UploadFileStatusPipe, SapFontPipe, SapFontClassPipe, StringToArrayPipe, NodeHasOneDepthLevelPipe, MatrixValuePipe, DynamicPageSizePipe, SapSizePipe, AvatarGridColPipe, ObjectStatusIconPipe, WizardLayoutDirective, ColRendererDirective, ApplyConditionalFormatsDirective, ReportViewRendererDirective, FullscreenDialogDirective, FullscreenFilesDirective, DownloadFilesDirective, DialogHandlerDirective, TableThDirective, ContentDensityDirective, DarkClassDirective, FixTabMoreDirective
|
|
16876
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: BarsaSapUiModule, declarations: [BarsaBarDownloadFileComponent, UiTextFieldComponent, LyLayoutFieldLabelComponent, UiCheckBoxComponent, UiSimpleComboComponent, UiRadioGroupComponent, UiGridComponent, UiMapComponent, LyLayoutContainerOfRootComponent, LyLayoutPanelComponent, UiReadOnlyFieldComponent, UiContainerWithButtonComponent, UiPictureFileComponent, UiMoInfoUlvComboComponent, UiMultiSelectComboComponent, UiNumDecimalUiComponent, UiNumIntUiComponent, UiTimeSpanComponent, UiFileLinearListBoxComponent, LyEmptySpaceComponent, UiSinglePictureComponent, UlvSelectionComponent, UlvToolbarComponent, UlvPagingComponent, UiGridSortSettingComponent, UiGridSortItemComponent, UiGridColumnsComponent, MaskComponent, UiInfoBarPanelComponent, UiFormPanelComponent, UiSearchCommandInfoUiComponent, UlvSettingsComponent, UiTinymceComponent, UiButtonComponent, UiDateTimeComponent, FormDialogComponent, UiMoInfoSubFormUiComponent, ResponsiveToolbarComponent, ResponsiveToolbarRendererComponent, UiTextAreaComponent, LayoutControlComponent, LayoutWizardComponent, FormWizardComponent, FormDialogLessComponent, RichTextStaticComponent, UiPicturesInfoComponent, LyHorizontalLayoutComponent, LyVerticalLayoutComponent, LyTabContainerComponent, LyTabPageComponent, LyLabelComponent, UiMoInfoComboViewerComponent, UlMsgBoxAdapterComponent, UiTreeComponent, HeaderAvatarComponent, UiWorkflowPanelUiComponent, UlvContextMenuComponent, UlLoadingMaskUiComponent, UiTextFieldAutoCompleteComponent, CaptchaFieldComponent, LySimpleLabelComponent, GlobalSearchPanelComponent, GlobalSearchModuleComponent, GlobalSearchComponent, HyperlinkComponent, StaticTextComponent, UlToastAdapterComponent, MessageStripComponent, UiLinearListContainerWithButtonComponent, FundamentalDynamicFormComponent, LayoutActionsComponent, LyLayoutContainerComponent, UiUlvFormMultiSelectUiComponent, UlvFormMultiSelectComponent, UlvColumnSettingsComponent, UlvFilterSettingsComponent, UlvSortSettingsComponent, UlvGroupbySettingsComponent, BarsaListFileLinearComponent, UiPdfViewerComponent, BarsaTinyemceComponent, UiMonacoEditorComponent, BarsaMonacoEditorComponent, BarsaDateTimePickerComponent, BarsaTreeItemComponent, UiSwitchButtonComponent, UiColorUiComponent, LyLineComponent, UiUlvMainUiComponent, ReportNavigatorComponent, ManageFiltersReportComponent, ReportSearchFieldsManageComponent, ReportSearchFieldsHiddenSettingsComponent, SearchPanelComponent, ReportSearchPanelSaveComponent, UiGridFilterSettingsComponent, UiGridFilterItemComponent, UiDateRangeExComponent, UlNotifyPopupComponent, UiTableViewComponent, UiListViewComponent, UiCardViewComponent, UiReportContainerComponent, NoDataComponent, ColumnRendererComponent, InlineSaveAndCancelComponent, UiTreeViewComponent, InlineSaveAndCancelComponent, UiCalendarComponent, UiAspReportViewerComponent, UiGraphComponent, UiExceptionFormComponent, UiEditableGridComponent, ColumnMatrixRendererComponent, UiMatrixViewComponent, CustomDateTimeComponent, BarsaAspViewerComponent, FileInDialogComponent, UiMoInfoGeneralObjectUiComponent, UiGanttChartComponent, GanttDhtmlChartViewComponent, ProgressIndicatorComponent, CardViewContentComponent, CardItemComponent, UiCardViewHorizontalGroupComponent, TitleComponent, BarsaUlvMainComponent, ListItemComponent, HtreeCreateNewComponent, BarsaTableHeaderComponent, BarsaTableRowComponent, BarsaTableColumnComponent, BreadcrumbComponent, UiLabelComponent, FormToolbarButtonComponent, BarsaSearchFormComponent, ReportNewTopFormComponent, BarsaNetworkOfflineComponent, FileViewerContentComponent, FileViewerPopoverComponent, FileViewerComponent, BlobViewerComponent, NotificationItemComponent, BarsaCartableTemplateComponent, BarsaCartableGroupComponent, BarsaCartableFormComponent, BarsaColumnIndicatorComponent, BarsaFieldKeyValueComponent, BarsaToolbaritemSearchComponent, UiHtmlViewerComponent, BarsaPishnamayeshPayamComponent, BarsaTextEllipsisComponent, BarsaListFileLinearGmailComponent, BarsaLinkableItemsPanelComponent, BarsaEnumMenuButtonComponent, BarsaCardLayoutPanelComponent, BarsaHorizontalFlexPanelComponent, BarsaBaseLayoutPanelComponent, BarsaBarPanelComponent, BarsaFormSideContentComponent, BarsaSimpleFormComponent, FormToolbarComponent, BarsaListLayoutPanelComponent, BarsaGridLayoutPanelComponent, BarsaDynamicFieldComponent, UiMultiSelectRadioComponent, UiMultiSelectCheckboxComponent, UiNumIntSliderComponent, UiMultiSelectSliderComponent, UiMultiSelectCardComponent, UiMultiSelectSmileComponent, BarsaReportCheckboxSwitchButtonComponent, BarsaColumnRowNumberComponent, BarsaCardRowPayamComponent, BarsaColumnRowNumberComponent, BarsaQuestionPostComponent, BarsaQuestionAnswerFormComponent, BarsaQuestionAnswerFormAddCommentComponent, BarsaAnswerCardComponent, BarsaQuestionAnswerContentActionsSectionComponent, BarsaQuestionAnswerVoteSectionComponent, BarsaQuestionAnswerCreatorTimeSectionComponent, BarsaQuestionAnswerCommentsSectionComponent, BarsaChipComponent, BarsaTagChipComponent, BarsaReportCardFlexViewComponent, BarsaTagsCategoryRowComponent, BarsaTagCategoriesComponent, BarsaReportOneOfListComponent, BarsaCardRowPayamComponent, BarsaCustomInlineEditComponent, BarsaCustomInlineEditRowComponent, BarsaChatComponent, BarsaChatContentComponent, BarsaChatMessageComponent, BarsaChatThreadComponent, BarsaChatThreadsListComponent, BarsaChatThreadsListToolbarComponent, BarsaChatContentToolbarComponent, BarsaChatListComponent, BarsaModalComponent, BarsaTabRouteManagerComponent, BarsaBreadcrumbsComponent, BarsaRowInlineActionlistComponent, UiBpmnViewerComponent, UiNotificationViewComponent, NotificationItemActionsComponent, BarsaFormLayoutPanelComponent, UiReportCarouselViewComponent, BarsaCardBannerComponent, BarsaThemeComponent, BarsaImgSkeletonComponent, BarsaBottomMenuViewComponent, UiSignatureComponent, BarsaMegamenuComponent, UiMapReportComponent, BarsaInfobarsComponent, DynamicCommandComponent, UploadFileStatusPipe, SapFontPipe, SapFontClassPipe, StringToArrayPipe, NodeHasOneDepthLevelPipe, MatrixValuePipe, DynamicPageSizePipe, SapSizePipe, AvatarGridColPipe, ObjectStatusIconPipe, WizardLayoutDirective, ColRendererDirective, ApplyConditionalFormatsDirective, ReportViewRendererDirective, FullscreenDialogDirective, FullscreenFilesDirective, DownloadFilesDirective, DialogHandlerDirective, TableThDirective, ContentDensityDirective, DarkClassDirective, FixTabMoreDirective], imports: [CommonModule,
|
|
16797
16877
|
FormsModule,
|
|
16798
16878
|
ReactiveFormsModule,
|
|
16799
16879
|
BarsaNovinRayCoreModule,
|
|
@@ -16816,14 +16896,13 @@ class BarsaSapUiModule extends BaseModule {
|
|
|
16816
16896
|
BarsaSapUiRoutingModule,
|
|
16817
16897
|
PdfJsViewerModule,
|
|
16818
16898
|
ResizableModule,
|
|
16819
|
-
PlatformIconTabBarModule,
|
|
16899
|
+
PlatformIconTabBarModule, i237.ContentDensityModule, ScrollingModule,
|
|
16820
16900
|
UtilDateToHhMmPipe,
|
|
16821
|
-
UtilChatTimeBadgePipe], exports: [BarsaBarDownloadFileComponent, UiTextFieldComponent, LyLayoutFieldLabelComponent, UiCheckBoxComponent, UiSimpleComboComponent, UiRadioGroupComponent, UiGridComponent, UiMapComponent, LyLayoutContainerOfRootComponent, LyLayoutPanelComponent, UiReadOnlyFieldComponent, UiContainerWithButtonComponent, UiPictureFileComponent, UiMoInfoUlvComboComponent, UiMultiSelectComboComponent, UiNumDecimalUiComponent, UiNumIntUiComponent, UiTimeSpanComponent, UiFileLinearListBoxComponent, LyEmptySpaceComponent, UiSinglePictureComponent, UlvSelectionComponent, UlvToolbarComponent, UlvPagingComponent, UiGridSortSettingComponent, UiGridSortItemComponent, UiGridColumnsComponent, MaskComponent, UiInfoBarPanelComponent, UiFormPanelComponent, UiSearchCommandInfoUiComponent, UlvSettingsComponent, UiTinymceComponent, UiButtonComponent, UiDateTimeComponent, FormDialogComponent, UiMoInfoSubFormUiComponent, ResponsiveToolbarComponent, ResponsiveToolbarRendererComponent, UiTextAreaComponent, LayoutControlComponent, LayoutWizardComponent, FormWizardComponent, FormDialogLessComponent, RichTextStaticComponent, UiPicturesInfoComponent, LyHorizontalLayoutComponent, LyVerticalLayoutComponent, LyTabContainerComponent, LyTabPageComponent, LyLabelComponent, UiMoInfoComboViewerComponent, UlMsgBoxAdapterComponent, UiTreeComponent, HeaderAvatarComponent, UiWorkflowPanelUiComponent, UlvContextMenuComponent, UlLoadingMaskUiComponent, UiTextFieldAutoCompleteComponent, CaptchaFieldComponent, LySimpleLabelComponent, GlobalSearchPanelComponent, GlobalSearchModuleComponent, GlobalSearchComponent, HyperlinkComponent, StaticTextComponent, UlToastAdapterComponent, MessageStripComponent, UiLinearListContainerWithButtonComponent, FundamentalDynamicFormComponent, LayoutActionsComponent, LyLayoutContainerComponent, UiUlvFormMultiSelectUiComponent, UlvFormMultiSelectComponent, UlvColumnSettingsComponent, UlvFilterSettingsComponent, UlvSortSettingsComponent, UlvGroupbySettingsComponent, BarsaListFileLinearComponent, UiPdfViewerComponent, BarsaTinyemceComponent, UiMonacoEditorComponent, BarsaMonacoEditorComponent, BarsaDateTimePickerComponent, BarsaTreeItemComponent, UiSwitchButtonComponent, UiColorUiComponent, LyLineComponent, UiUlvMainUiComponent, ReportNavigatorComponent, ManageFiltersReportComponent, ReportSearchFieldsManageComponent, ReportSearchFieldsHiddenSettingsComponent, SearchPanelComponent, ReportSearchPanelSaveComponent, UiGridFilterSettingsComponent, UiGridFilterItemComponent, UiDateRangeExComponent, UlNotifyPopupComponent, UiTableViewComponent, UiListViewComponent, UiCardViewComponent, UiReportContainerComponent, NoDataComponent, ColumnRendererComponent, InlineSaveAndCancelComponent, UiTreeViewComponent, InlineSaveAndCancelComponent, UiCalendarComponent, UiAspReportViewerComponent, UiGraphComponent, UiExceptionFormComponent, UiEditableGridComponent, ColumnMatrixRendererComponent, UiMatrixViewComponent, CustomDateTimeComponent, BarsaAspViewerComponent, FileInDialogComponent, UiMoInfoGeneralObjectUiComponent, UiGanttChartComponent, GanttDhtmlChartViewComponent, ProgressIndicatorComponent, CardViewContentComponent, CardItemComponent, UiCardViewHorizontalGroupComponent, TitleComponent, BarsaUlvMainComponent, ListItemComponent, HtreeCreateNewComponent, BarsaTableHeaderComponent, BarsaTableRowComponent, BarsaTableColumnComponent, BreadcrumbComponent, UiLabelComponent, FormToolbarButtonComponent, BarsaSearchFormComponent, ReportNewTopFormComponent, BarsaNetworkOfflineComponent, FileViewerContentComponent, FileViewerPopoverComponent, FileViewerComponent, BlobViewerComponent, NotificationItemComponent, BarsaCartableTemplateComponent, BarsaCartableGroupComponent, BarsaCartableFormComponent, BarsaColumnIndicatorComponent, BarsaFieldKeyValueComponent, BarsaToolbaritemSearchComponent, UiHtmlViewerComponent, BarsaPishnamayeshPayamComponent, BarsaTextEllipsisComponent, BarsaListFileLinearGmailComponent, BarsaLinkableItemsPanelComponent, BarsaEnumMenuButtonComponent, BarsaCardLayoutPanelComponent, BarsaHorizontalFlexPanelComponent, BarsaBaseLayoutPanelComponent, BarsaBarPanelComponent, BarsaFormSideContentComponent, BarsaSimpleFormComponent, FormToolbarComponent, BarsaListLayoutPanelComponent, BarsaGridLayoutPanelComponent, BarsaDynamicFieldComponent, UiMultiSelectRadioComponent, UiMultiSelectCheckboxComponent, UiNumIntSliderComponent, UiMultiSelectSliderComponent, UiMultiSelectCardComponent, UiMultiSelectSmileComponent, BarsaReportCheckboxSwitchButtonComponent, BarsaColumnRowNumberComponent, BarsaCardRowPayamComponent, BarsaColumnRowNumberComponent, BarsaQuestionPostComponent, BarsaQuestionAnswerFormComponent, BarsaQuestionAnswerFormAddCommentComponent, BarsaAnswerCardComponent, BarsaQuestionAnswerContentActionsSectionComponent, BarsaQuestionAnswerVoteSectionComponent, BarsaQuestionAnswerCreatorTimeSectionComponent, BarsaQuestionAnswerCommentsSectionComponent, BarsaChipComponent, BarsaTagChipComponent, BarsaReportCardFlexViewComponent, BarsaTagsCategoryRowComponent, BarsaTagCategoriesComponent, BarsaReportOneOfListComponent, BarsaCardRowPayamComponent, BarsaCustomInlineEditComponent, BarsaCustomInlineEditRowComponent, BarsaChatComponent, BarsaChatContentComponent, BarsaChatMessageComponent, BarsaChatThreadComponent, BarsaChatThreadsListComponent, BarsaChatThreadsListToolbarComponent, BarsaChatContentToolbarComponent, BarsaChatListComponent, BarsaModalComponent, BarsaTabRouteManagerComponent, BarsaBreadcrumbsComponent, BarsaRowInlineActionlistComponent, UiBpmnViewerComponent, UiNotificationViewComponent, NotificationItemActionsComponent, BarsaFormLayoutPanelComponent, UiReportCarouselViewComponent, BarsaCardBannerComponent, BarsaThemeComponent, BarsaImgSkeletonComponent, BarsaBottomMenuViewComponent, UiSignatureComponent, BarsaMegamenuComponent, UiMapReportComponent, BarsaInfobarsComponent, WizardLayoutDirective, ColRendererDirective, ApplyConditionalFormatsDirective, ReportViewRendererDirective, FullscreenDialogDirective, FullscreenFilesDirective, DownloadFilesDirective, DialogHandlerDirective, TableThDirective, ContentDensityDirective, DarkClassDirective, FixTabMoreDirective, UploadFileStatusPipe, SapFontPipe, SapFontClassPipe, StringToArrayPipe, NodeHasOneDepthLevelPipe, MatrixValuePipe, DynamicPageSizePipe, SapSizePipe, AvatarGridColPipe, ObjectStatusIconPipe] }); }
|
|
16901
|
+
UtilChatTimeBadgePipe], exports: [BarsaBarDownloadFileComponent, UiTextFieldComponent, LyLayoutFieldLabelComponent, UiCheckBoxComponent, UiSimpleComboComponent, UiRadioGroupComponent, UiGridComponent, UiMapComponent, LyLayoutContainerOfRootComponent, LyLayoutPanelComponent, UiReadOnlyFieldComponent, UiContainerWithButtonComponent, UiPictureFileComponent, UiMoInfoUlvComboComponent, UiMultiSelectComboComponent, UiNumDecimalUiComponent, UiNumIntUiComponent, UiTimeSpanComponent, UiFileLinearListBoxComponent, LyEmptySpaceComponent, UiSinglePictureComponent, UlvSelectionComponent, UlvToolbarComponent, UlvPagingComponent, UiGridSortSettingComponent, UiGridSortItemComponent, UiGridColumnsComponent, MaskComponent, UiInfoBarPanelComponent, UiFormPanelComponent, UiSearchCommandInfoUiComponent, UlvSettingsComponent, UiTinymceComponent, UiButtonComponent, UiDateTimeComponent, FormDialogComponent, UiMoInfoSubFormUiComponent, ResponsiveToolbarComponent, ResponsiveToolbarRendererComponent, UiTextAreaComponent, LayoutControlComponent, LayoutWizardComponent, FormWizardComponent, FormDialogLessComponent, RichTextStaticComponent, UiPicturesInfoComponent, LyHorizontalLayoutComponent, LyVerticalLayoutComponent, LyTabContainerComponent, LyTabPageComponent, LyLabelComponent, UiMoInfoComboViewerComponent, UlMsgBoxAdapterComponent, UiTreeComponent, HeaderAvatarComponent, UiWorkflowPanelUiComponent, UlvContextMenuComponent, UlLoadingMaskUiComponent, UiTextFieldAutoCompleteComponent, CaptchaFieldComponent, LySimpleLabelComponent, GlobalSearchPanelComponent, GlobalSearchModuleComponent, GlobalSearchComponent, HyperlinkComponent, StaticTextComponent, UlToastAdapterComponent, MessageStripComponent, UiLinearListContainerWithButtonComponent, FundamentalDynamicFormComponent, LayoutActionsComponent, LyLayoutContainerComponent, UiUlvFormMultiSelectUiComponent, UlvFormMultiSelectComponent, UlvColumnSettingsComponent, UlvFilterSettingsComponent, UlvSortSettingsComponent, UlvGroupbySettingsComponent, BarsaListFileLinearComponent, UiPdfViewerComponent, BarsaTinyemceComponent, UiMonacoEditorComponent, BarsaMonacoEditorComponent, BarsaDateTimePickerComponent, BarsaTreeItemComponent, UiSwitchButtonComponent, UiColorUiComponent, LyLineComponent, UiUlvMainUiComponent, ReportNavigatorComponent, ManageFiltersReportComponent, ReportSearchFieldsManageComponent, ReportSearchFieldsHiddenSettingsComponent, SearchPanelComponent, ReportSearchPanelSaveComponent, UiGridFilterSettingsComponent, UiGridFilterItemComponent, UiDateRangeExComponent, UlNotifyPopupComponent, UiTableViewComponent, UiListViewComponent, UiCardViewComponent, UiReportContainerComponent, NoDataComponent, ColumnRendererComponent, InlineSaveAndCancelComponent, UiTreeViewComponent, InlineSaveAndCancelComponent, UiCalendarComponent, UiAspReportViewerComponent, UiGraphComponent, UiExceptionFormComponent, UiEditableGridComponent, ColumnMatrixRendererComponent, UiMatrixViewComponent, CustomDateTimeComponent, BarsaAspViewerComponent, FileInDialogComponent, UiMoInfoGeneralObjectUiComponent, UiGanttChartComponent, GanttDhtmlChartViewComponent, ProgressIndicatorComponent, CardViewContentComponent, CardItemComponent, UiCardViewHorizontalGroupComponent, TitleComponent, BarsaUlvMainComponent, ListItemComponent, HtreeCreateNewComponent, BarsaTableHeaderComponent, BarsaTableRowComponent, BarsaTableColumnComponent, BreadcrumbComponent, UiLabelComponent, FormToolbarButtonComponent, BarsaSearchFormComponent, ReportNewTopFormComponent, BarsaNetworkOfflineComponent, FileViewerContentComponent, FileViewerPopoverComponent, FileViewerComponent, BlobViewerComponent, NotificationItemComponent, BarsaCartableTemplateComponent, BarsaCartableGroupComponent, BarsaCartableFormComponent, BarsaColumnIndicatorComponent, BarsaFieldKeyValueComponent, BarsaToolbaritemSearchComponent, UiHtmlViewerComponent, BarsaPishnamayeshPayamComponent, BarsaTextEllipsisComponent, BarsaListFileLinearGmailComponent, BarsaLinkableItemsPanelComponent, BarsaEnumMenuButtonComponent, BarsaCardLayoutPanelComponent, BarsaHorizontalFlexPanelComponent, BarsaBaseLayoutPanelComponent, BarsaBarPanelComponent, BarsaFormSideContentComponent, BarsaSimpleFormComponent, FormToolbarComponent, BarsaListLayoutPanelComponent, BarsaGridLayoutPanelComponent, BarsaDynamicFieldComponent, UiMultiSelectRadioComponent, UiMultiSelectCheckboxComponent, UiNumIntSliderComponent, UiMultiSelectSliderComponent, UiMultiSelectCardComponent, UiMultiSelectSmileComponent, BarsaReportCheckboxSwitchButtonComponent, BarsaColumnRowNumberComponent, BarsaCardRowPayamComponent, BarsaColumnRowNumberComponent, BarsaQuestionPostComponent, BarsaQuestionAnswerFormComponent, BarsaQuestionAnswerFormAddCommentComponent, BarsaAnswerCardComponent, BarsaQuestionAnswerContentActionsSectionComponent, BarsaQuestionAnswerVoteSectionComponent, BarsaQuestionAnswerCreatorTimeSectionComponent, BarsaQuestionAnswerCommentsSectionComponent, BarsaChipComponent, BarsaTagChipComponent, BarsaReportCardFlexViewComponent, BarsaTagsCategoryRowComponent, BarsaTagCategoriesComponent, BarsaReportOneOfListComponent, BarsaCardRowPayamComponent, BarsaCustomInlineEditComponent, BarsaCustomInlineEditRowComponent, BarsaChatComponent, BarsaChatContentComponent, BarsaChatMessageComponent, BarsaChatThreadComponent, BarsaChatThreadsListComponent, BarsaChatThreadsListToolbarComponent, BarsaChatContentToolbarComponent, BarsaChatListComponent, BarsaModalComponent, BarsaTabRouteManagerComponent, BarsaBreadcrumbsComponent, BarsaRowInlineActionlistComponent, UiBpmnViewerComponent, UiNotificationViewComponent, NotificationItemActionsComponent, BarsaFormLayoutPanelComponent, UiReportCarouselViewComponent, BarsaCardBannerComponent, BarsaThemeComponent, BarsaImgSkeletonComponent, BarsaBottomMenuViewComponent, UiSignatureComponent, BarsaMegamenuComponent, UiMapReportComponent, BarsaInfobarsComponent, DynamicCommandComponent, WizardLayoutDirective, ColRendererDirective, ApplyConditionalFormatsDirective, ReportViewRendererDirective, FullscreenDialogDirective, FullscreenFilesDirective, DownloadFilesDirective, DialogHandlerDirective, TableThDirective, ContentDensityDirective, DarkClassDirective, FixTabMoreDirective, UploadFileStatusPipe, SapFontPipe, SapFontClassPipe, StringToArrayPipe, NodeHasOneDepthLevelPipe, MatrixValuePipe, DynamicPageSizePipe, SapSizePipe, AvatarGridColPipe, ObjectStatusIconPipe] }); }
|
|
16822
16902
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaSapUiModule, providers: [
|
|
16823
16903
|
{ provide: DIALOG_SERVICE, useClass: DialogService },
|
|
16824
16904
|
provideAppInitializer(() => {
|
|
16825
16905
|
const initializerFn = ((dynamicComponentService) => () => dynamicComponentService.addDynamicModuleResolver({
|
|
16826
|
-
BarsaNavigator: () => import('barsa-navigator'),
|
|
16827
16906
|
BarsaAuth: () => import('barsa-auth'),
|
|
16828
16907
|
BarsaKanban: () => import('barsa-kanban'),
|
|
16829
16908
|
BarsaDevelopComponents: () => import('barsa-develop-components'),
|
|
@@ -16859,7 +16938,7 @@ class BarsaSapUiModule extends BaseModule {
|
|
|
16859
16938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaSapUiModule, decorators: [{
|
|
16860
16939
|
type: NgModule,
|
|
16861
16940
|
args: [{
|
|
16862
|
-
declarations: [...components, ...pipes, ...directives
|
|
16941
|
+
declarations: [...components, ...pipes, ...directives],
|
|
16863
16942
|
schemas: [NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA],
|
|
16864
16943
|
imports: [
|
|
16865
16944
|
CommonModule,
|
|
@@ -16900,7 +16979,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
16900
16979
|
{ provide: DIALOG_SERVICE, useClass: DialogService },
|
|
16901
16980
|
provideAppInitializer(() => {
|
|
16902
16981
|
const initializerFn = ((dynamicComponentService) => () => dynamicComponentService.addDynamicModuleResolver({
|
|
16903
|
-
BarsaNavigator: () => import('barsa-navigator'),
|
|
16904
16982
|
BarsaAuth: () => import('barsa-auth'),
|
|
16905
16983
|
BarsaKanban: () => import('barsa-kanban'),
|
|
16906
16984
|
BarsaDevelopComponents: () => import('barsa-develop-components'),
|
|
@@ -16916,5 +16994,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
16916
16994
|
* Generated bundle index. Do not edit.
|
|
16917
16995
|
*/
|
|
16918
16996
|
|
|
16919
|
-
export { ApplyConditionalFormatsDirective, AvatarGridColPipe, BarsaAnswerCardComponent, BarsaAspViewerComponent, BarsaBarDownloadFileComponent, BarsaBarPanelComponent, BarsaBaseLayoutPanelComponent, BarsaBottomMenuViewComponent, BarsaBreadcrumbsComponent, BarsaCardBannerComponent, BarsaCardLayoutPanelComponent, BarsaCardRowPayamComponent, BarsaCartableFormComponent, BarsaCartableGroupComponent, BarsaCartableTemplateComponent, BarsaChatComponent, BarsaChatContentComponent, BarsaChatContentToolbarComponent, BarsaChatListComponent, BarsaChatMessageComponent, BarsaChatThreadComponent, BarsaChatThreadsListComponent, BarsaChatThreadsListToolbarComponent, BarsaChipComponent, BarsaColumnIndicatorComponent, BarsaColumnRowNumberComponent, BarsaCustomInlineEditComponent, BarsaCustomInlineEditRowComponent, BarsaDateTimePickerComponent, BarsaDynamicFieldComponent, BarsaEnumMenuButtonComponent, BarsaFieldKeyValueComponent, BarsaFormLayoutPanelComponent, BarsaFormSideContentComponent, BarsaGridLayoutPanelComponent, BarsaHorizontalFlexPanelComponent, BarsaImgSkeletonComponent, BarsaInfobarsComponent, BarsaLinkableItemsPanelComponent, BarsaListFileLinearComponent, BarsaListFileLinearGmailComponent, BarsaListLayoutPanelComponent, BarsaMegamenuComponent, BarsaModalComponent, BarsaMonacoEditorComponent, BarsaNetworkOfflineComponent, BarsaPishnamayeshPayamComponent, BarsaQuestionAnswerCommentsSectionComponent, BarsaQuestionAnswerContentActionsSectionComponent, BarsaQuestionAnswerCreatorTimeSectionComponent, BarsaQuestionAnswerFormAddCommentComponent, BarsaQuestionAnswerFormComponent, BarsaQuestionAnswerVoteSectionComponent, BarsaQuestionPostComponent, BarsaReportCardFlexViewComponent, BarsaReportCheckboxSwitchButtonComponent, BarsaReportOneOfListComponent, BarsaRowInlineActionlistComponent, BarsaSapUiModule, BarsaSapUiRoutingModule, BarsaSearchFormComponent, BarsaSimpleFormComponent, BarsaTabRouteManagerComponent, BarsaTableColumnComponent, BarsaTableHeaderComponent, BarsaTableRowComponent, BarsaTagCategoriesComponent, BarsaTagChipComponent, BarsaTagsCategoryRowComponent, BarsaTextEllipsisComponent, BarsaThemeComponent, BarsaTinyemceComponent, BarsaToolbaritemSearchComponent, BarsaTreeItemComponent, BarsaUlvMainComponent, BlobViewerComponent, BreadcrumbComponent, CaptchaFieldComponent, CardItemComponent, CardViewContentComponent, ColRendererDirective, ColumnMatrixRendererComponent, ColumnRendererComponent, ContentDensityDirective, CustomDateTimeComponent, DarkClassDirective, DeviceInfoFieldBaseComponent, DialogHandlerDirective, DownloadFilesDirective, DynamicPageSizePipe, FileInDialogComponent, FileViewerComponent, FileViewerContentComponent, FileViewerPopoverComponent, FixTabMoreDirective, FormDialogComponent, FormDialogLessComponent, FormToolbarButtonComponent, FormToolbarComponent, FormWizardComponent, FullscreenDialogDirective, FullscreenFilesDirective, FundamentalDynamicFormComponent, GanttDhtmlChartViewComponent, GetFormLayoutGrid, GlobalSearchComponent, GlobalSearchModuleComponent, GlobalSearchPanelComponent, HeaderAvatarComponent, HtreeCreateNewComponent, HyperlinkComponent, IconBusinessSuite, IconTNT, InlineSaveAndCancelComponent, LayoutActionsComponent, LayoutControlComponent, LayoutWizardComponent, ListItemComponent, LyEmptySpaceComponent, LyHorizontalLayoutComponent, LyLabelComponent, LyLayoutContainerComponent, LyLayoutContainerOfRootComponent, LyLayoutFieldLabelComponent, LyLayoutPanelComponent, LyLineComponent, LySimpleLabelComponent, LyTabContainerComponent, LyTabPageComponent, LyVerticalLayoutComponent, ManageFiltersReportComponent, MaskComponent, MatrixValuePipe, MessageStripComponent, NoDataComponent, NodeHasOneDepthLevelPipe, NotificationItemActionsComponent, NotificationItemComponent, ObjectStatusIconPipe, ProgressIndicatorComponent, ReportNavigatorComponent, ReportNewTopFormComponent, ReportSearchFieldsHiddenSettingsComponent, ReportSearchFieldsManageComponent, ReportSearchPanelSaveComponent, ReportViewRendererDirective, ResponsiveToolbarComponent, ResponsiveToolbarRendererComponent, RichTextStaticComponent, SapFontClassPipe, SapFontPipe, SapSizePipe, SapUiReportBaseComponent, SearchPanelComponent, StaticTextComponent, StringToArrayPipe, TableThDirective, TitleComponent, UiAspReportViewerComponent, UiBpmnViewerComponent, UiButtonComponent, UiCalendarComponent, UiCardViewComponent, UiCardViewHorizontalGroupComponent, UiCheckBoxComponent, UiColorUiComponent, UiContainerWithButtonComponent, UiDateRangeExComponent, UiDateTimeComponent, UiEditableGridComponent, UiExceptionFormComponent, UiFileLinearListBoxComponent, UiFormPanelComponent, UiGanttChartComponent, UiGraphComponent, UiGridColumnsComponent, UiGridComponent, UiGridFilterItemComponent, UiGridFilterSettingsComponent, UiGridSortItemComponent, UiGridSortSettingComponent, UiHtmlViewerComponent, UiInfoBarPanelComponent, UiLabelComponent, UiLinearListContainerWithButtonComponent, UiListViewComponent, UiMapComponent, UiMapReportComponent, UiMatrixViewComponent, UiMoInfoComboViewerComponent, UiMoInfoGeneralObjectUiComponent, UiMoInfoSubFormUiComponent, UiMoInfoUlvComboComponent, UiMonacoEditorComponent, UiMultiSelectCardComponent, UiMultiSelectCheckboxComponent, UiMultiSelectComboComponent, UiMultiSelectRadioComponent, UiMultiSelectSliderComponent, UiMultiSelectSmileComponent, UiNotificationViewComponent, UiNumDecimalUiComponent, UiNumIntSliderComponent, UiNumIntUiComponent, UiPdfViewerComponent, UiPictureFileComponent, UiPicturesInfoComponent, UiRadioGroupComponent, UiReadOnlyFieldComponent, UiReportCarouselViewComponent, UiReportContainerComponent, UiSearchCommandInfoUiComponent, UiSignatureComponent, UiSimpleComboComponent, UiSinglePictureComponent, UiSwitchButtonComponent, UiTableViewComponent, UiTextAreaComponent, UiTextFieldAutoCompleteComponent, UiTextFieldComponent, UiTimeSpanComponent, UiTinymceComponent, UiTreeComponent, UiTreeViewComponent, UiUlvFormMultiSelectUiComponent, UiUlvMainUiComponent, UiWorkflowPanelUiComponent, UlLoadingMaskUiComponent, UlMsgBoxAdapterComponent, UlNotifyPopupComponent, UlToastAdapterComponent, UlvColumnSettingsComponent, UlvContextMenuComponent, UlvFilterSettingsComponent, UlvFormMultiSelectComponent, UlvGroupbySettingsComponent, UlvPagingComponent, UlvSelectionComponent, UlvSettingsComponent, UlvSortSettingsComponent, UlvToolbarComponent, UploadFileStatusPipe, WidthTypeEnum, WizardLayoutDirective, _trimEnd, getNestedValue, insertAvatar, sort$1 as sort };
|
|
16997
|
+
export { ApplyConditionalFormatsDirective, AvatarGridColPipe, BarsaAnswerCardComponent, BarsaAspViewerComponent, BarsaBarDownloadFileComponent, BarsaBarPanelComponent, BarsaBaseLayoutPanelComponent, BarsaBottomMenuViewComponent, BarsaBreadcrumbsComponent, BarsaCardBannerComponent, BarsaCardLayoutPanelComponent, BarsaCardRowPayamComponent, BarsaCartableFormComponent, BarsaCartableGroupComponent, BarsaCartableTemplateComponent, BarsaChatComponent, BarsaChatContentComponent, BarsaChatContentToolbarComponent, BarsaChatListComponent, BarsaChatMessageComponent, BarsaChatThreadComponent, BarsaChatThreadsListComponent, BarsaChatThreadsListToolbarComponent, BarsaChipComponent, BarsaColumnIndicatorComponent, BarsaColumnRowNumberComponent, BarsaCustomInlineEditComponent, BarsaCustomInlineEditRowComponent, BarsaDateTimePickerComponent, BarsaDynamicFieldComponent, BarsaEnumMenuButtonComponent, BarsaFieldKeyValueComponent, BarsaFormLayoutPanelComponent, BarsaFormSideContentComponent, BarsaGridLayoutPanelComponent, BarsaHorizontalFlexPanelComponent, BarsaImgSkeletonComponent, BarsaInfobarsComponent, BarsaLinkableItemsPanelComponent, BarsaListFileLinearComponent, BarsaListFileLinearGmailComponent, BarsaListLayoutPanelComponent, BarsaMegamenuComponent, BarsaModalComponent, BarsaMonacoEditorComponent, BarsaNetworkOfflineComponent, BarsaPishnamayeshPayamComponent, BarsaQuestionAnswerCommentsSectionComponent, BarsaQuestionAnswerContentActionsSectionComponent, BarsaQuestionAnswerCreatorTimeSectionComponent, BarsaQuestionAnswerFormAddCommentComponent, BarsaQuestionAnswerFormComponent, BarsaQuestionAnswerVoteSectionComponent, BarsaQuestionPostComponent, BarsaReportCardFlexViewComponent, BarsaReportCheckboxSwitchButtonComponent, BarsaReportOneOfListComponent, BarsaRowInlineActionlistComponent, BarsaSapUiModule, BarsaSapUiRoutingModule, BarsaSearchFormComponent, BarsaSimpleFormComponent, BarsaTabRouteManagerComponent, BarsaTableColumnComponent, BarsaTableHeaderComponent, BarsaTableRowComponent, BarsaTagCategoriesComponent, BarsaTagChipComponent, BarsaTagsCategoryRowComponent, BarsaTextEllipsisComponent, BarsaThemeComponent, BarsaTinyemceComponent, BarsaToolbaritemSearchComponent, BarsaTreeItemComponent, BarsaUlvMainComponent, BlobViewerComponent, BreadcrumbComponent, CaptchaFieldComponent, CardItemComponent, CardViewContentComponent, ColRendererDirective, ColumnMatrixRendererComponent, ColumnRendererComponent, ContentDensityDirective, CustomDateTimeComponent, DarkClassDirective, DeviceInfoFieldBaseComponent, DialogHandlerDirective, DownloadFilesDirective, DynamicCommandComponent, DynamicPageSizePipe, FileInDialogComponent, FileViewerComponent, FileViewerContentComponent, FileViewerPopoverComponent, FixTabMoreDirective, FormDialogComponent, FormDialogLessComponent, FormToolbarButtonComponent, FormToolbarComponent, FormWizardComponent, FullscreenDialogDirective, FullscreenFilesDirective, FundamentalDynamicFormComponent, GanttDhtmlChartViewComponent, GetFormLayoutGrid, GlobalSearchComponent, GlobalSearchModuleComponent, GlobalSearchPanelComponent, HeaderAvatarComponent, HtreeCreateNewComponent, HyperlinkComponent, IconBusinessSuite, IconTNT, InlineSaveAndCancelComponent, LayoutActionsComponent, LayoutControlComponent, LayoutWizardComponent, ListItemComponent, LyEmptySpaceComponent, LyHorizontalLayoutComponent, LyLabelComponent, LyLayoutContainerComponent, LyLayoutContainerOfRootComponent, LyLayoutFieldLabelComponent, LyLayoutPanelComponent, LyLineComponent, LySimpleLabelComponent, LyTabContainerComponent, LyTabPageComponent, LyVerticalLayoutComponent, ManageFiltersReportComponent, MaskComponent, MatrixValuePipe, MessageStripComponent, NoDataComponent, NodeHasOneDepthLevelPipe, NotificationItemActionsComponent, NotificationItemComponent, ObjectStatusIconPipe, ProgressIndicatorComponent, ReportNavigatorComponent, ReportNewTopFormComponent, ReportSearchFieldsHiddenSettingsComponent, ReportSearchFieldsManageComponent, ReportSearchPanelSaveComponent, ReportViewRendererDirective, ResponsiveToolbarComponent, ResponsiveToolbarRendererComponent, RichTextStaticComponent, SapFontClassPipe, SapFontPipe, SapSizePipe, SapUiReportBaseComponent, SearchPanelComponent, StaticTextComponent, StringToArrayPipe, TableThDirective, TitleComponent, UiAspReportViewerComponent, UiBpmnViewerComponent, UiButtonComponent, UiCalendarComponent, UiCardViewComponent, UiCardViewHorizontalGroupComponent, UiCheckBoxComponent, UiColorUiComponent, UiContainerWithButtonComponent, UiDateRangeExComponent, UiDateTimeComponent, UiEditableGridComponent, UiExceptionFormComponent, UiFileLinearListBoxComponent, UiFormPanelComponent, UiGanttChartComponent, UiGraphComponent, UiGridColumnsComponent, UiGridComponent, UiGridFilterItemComponent, UiGridFilterSettingsComponent, UiGridSortItemComponent, UiGridSortSettingComponent, UiHtmlViewerComponent, UiInfoBarPanelComponent, UiLabelComponent, UiLinearListContainerWithButtonComponent, UiListViewComponent, UiMapComponent, UiMapReportComponent, UiMatrixViewComponent, UiMoInfoComboViewerComponent, UiMoInfoGeneralObjectUiComponent, UiMoInfoSubFormUiComponent, UiMoInfoUlvComboComponent, UiMonacoEditorComponent, UiMultiSelectCardComponent, UiMultiSelectCheckboxComponent, UiMultiSelectComboComponent, UiMultiSelectRadioComponent, UiMultiSelectSliderComponent, UiMultiSelectSmileComponent, UiNotificationViewComponent, UiNumDecimalUiComponent, UiNumIntSliderComponent, UiNumIntUiComponent, UiPdfViewerComponent, UiPictureFileComponent, UiPicturesInfoComponent, UiRadioGroupComponent, UiReadOnlyFieldComponent, UiReportCarouselViewComponent, UiReportContainerComponent, UiSearchCommandInfoUiComponent, UiSignatureComponent, UiSimpleComboComponent, UiSinglePictureComponent, UiSwitchButtonComponent, UiTableViewComponent, UiTextAreaComponent, UiTextFieldAutoCompleteComponent, UiTextFieldComponent, UiTimeSpanComponent, UiTinymceComponent, UiTreeComponent, UiTreeViewComponent, UiUlvFormMultiSelectUiComponent, UiUlvMainUiComponent, UiWorkflowPanelUiComponent, UlLoadingMaskUiComponent, UlMsgBoxAdapterComponent, UlNotifyPopupComponent, UlToastAdapterComponent, UlvColumnSettingsComponent, UlvContextMenuComponent, UlvFilterSettingsComponent, UlvFormMultiSelectComponent, UlvGroupbySettingsComponent, UlvPagingComponent, UlvSelectionComponent, UlvSettingsComponent, UlvSortSettingsComponent, UlvToolbarComponent, UploadFileStatusPipe, WidthTypeEnum, WizardLayoutDirective, _trimEnd, getNestedValue, insertAvatar, sort$1 as sort };
|
|
16920
16998
|
//# sourceMappingURL=barsa-sap-ui.mjs.map
|