barsa-sap-ui 2.3.153 → 2.3.155

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.
@@ -5445,7 +5445,7 @@ class UiReportContainerComponent extends SapUiReportBaseComponent {
5445
5445
  this._subscribeReportLayoutPolicy();
5446
5446
  }
5447
5447
  _subscribeReportLayoutPolicy() {
5448
- return;
5448
+ this._scrollLayoutContext?.setMode(this._parentFormpanelService ? 'nested' : 'isolated');
5449
5449
  combineLatest([this.selectedView$, this._scrollMode$])
5450
5450
  .pipe(takeUntil$1(this._onDestroy$))
5451
5451
  .subscribe(([view, mode]) => {
@@ -5698,11 +5698,11 @@ class ListItemComponent extends BaseViewItemPropsComponent {
5698
5698
  PreventDefaulEvent(e);
5699
5699
  }
5700
5700
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5701
- 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 [subline]=\"true\"\r\n >\r\n \r\n <fd-checkbox [class.tw-hidden]=\"!isCheckList\" [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\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 [moLinker]=\"mo\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n >\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 [class.tw-hidden]=\"!setting.SubtitleField\">\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\r\n <div fd-list-byline class=\"tw-flex-wrap tw-flex tw-gap-4\">\r\n @for (column of setting.FieldListMapped; track column) { @if (column) {\r\n @if(column.$CustomComponent?.HideColumnCaption===false) {\r\n <span class=\"\"> {{ column.Caption | bbbTranslate }} </span>}\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: column,\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 } }\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 (overflowClick)=\"onRowCheck()\"\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 [moLinker]=\"mo\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\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 loading=\"lazy\"\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 (overflowClick)=\"onRowCheck()\"\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-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 </div>\r\n }\r\n</ng-template>\r\n", styles: [":host ::ng-deep .conditional-format *{font-weight:inherit!important;background-color:inherit!important;color:inherit!important}: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: "directive", type: i2.MoLinkerDirective, selector: "[moLinker]", inputs: ["moLinker", "alternateEditObjectColumn", "disableHyperLink"] }, { kind: "component", type: i4$4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$3.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"], exportAs: ["fdListItem"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { 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$8.ɵɵ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", "overflowClick"] }, { 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 }); }
5701
+ 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 [subline]=\"true\"\r\n >\r\n \r\n <fd-checkbox [class.tw-hidden]=\"!isCheckList\" [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\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 [moLinker]=\"mo\"\r\n [disableHyperLink]=\"disableHyperLink || inlineEditMode || !canView\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n >\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 [class.tw-hidden]=\"!setting.SubtitleField\">\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\r\n <div fd-list-byline class=\"tw-flex-wrap tw-flex tw-gap-4\">\r\n @for (column of setting.FieldListMapped; track column) { @if (column) {\r\n @if(column.$CustomComponent?.HideColumnCaption===false) {\r\n <span class=\"\"> {{ column.Caption | bbbTranslate }} </span>}\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: column,\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 } }\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 (overflowClick)=\"onRowCheck()\"\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 [moLinker]=\"mo\"\r\n [disableHyperLink]=\"disableHyperLink || inlineEditMode || !canView\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\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 loading=\"lazy\"\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 (overflowClick)=\"onRowCheck()\"\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-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 </div>\r\n }\r\n</ng-template>\r\n", styles: [":host ::ng-deep .conditional-format *{font-weight:inherit!important;background-color:inherit!important;color:inherit!important}: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: "directive", type: i2.MoLinkerDirective, selector: "[moLinker]", inputs: ["moLinker", "alternateEditObjectColumn", "disableHyperLink"] }, { kind: "component", type: i4$4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$3.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"], exportAs: ["fdListItem"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { 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$8.ɵɵ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", "overflowClick"] }, { 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 }); }
5702
5702
  }
5703
5703
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListItemComponent, decorators: [{
5704
5704
  type: Component,
5705
- args: [{ selector: 'bsu-list-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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 [subline]=\"true\"\r\n >\r\n \r\n <fd-checkbox [class.tw-hidden]=\"!isCheckList\" [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\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 [moLinker]=\"mo\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n >\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 [class.tw-hidden]=\"!setting.SubtitleField\">\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\r\n <div fd-list-byline class=\"tw-flex-wrap tw-flex tw-gap-4\">\r\n @for (column of setting.FieldListMapped; track column) { @if (column) {\r\n @if(column.$CustomComponent?.HideColumnCaption===false) {\r\n <span class=\"\"> {{ column.Caption | bbbTranslate }} </span>}\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: column,\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 } }\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 (overflowClick)=\"onRowCheck()\"\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 [moLinker]=\"mo\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\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 loading=\"lazy\"\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 (overflowClick)=\"onRowCheck()\"\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-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 </div>\r\n }\r\n</ng-template>\r\n", styles: [":host ::ng-deep .conditional-format *{font-weight:inherit!important;background-color:inherit!important;color:inherit!important}:host li.s{height:auto}:host .flex1{flex:1;display:flex;justify-content:start;flex-direction:row-reverse}\n"] }]
5705
+ args: [{ selector: 'bsu-list-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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 [subline]=\"true\"\r\n >\r\n \r\n <fd-checkbox [class.tw-hidden]=\"!isCheckList\" [name]=\"mo.$Caption\" [ngModel]=\"isChecked\" (change)=\"onRowCheck2($event)\"></fd-checkbox>\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 [moLinker]=\"mo\"\r\n [disableHyperLink]=\"disableHyperLink || inlineEditMode || !canView\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n >\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 [class.tw-hidden]=\"!setting.SubtitleField\">\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\r\n <div fd-list-byline class=\"tw-flex-wrap tw-flex tw-gap-4\">\r\n @for (column of setting.FieldListMapped; track column) { @if (column) {\r\n @if(column.$CustomComponent?.HideColumnCaption===false) {\r\n <span class=\"\"> {{ column.Caption | bbbTranslate }} </span>}\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderColumn;\r\n context: {\r\n $implicit: column,\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 } }\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 (overflowClick)=\"onRowCheck()\"\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 [moLinker]=\"mo\"\r\n [disableHyperLink]=\"disableHyperLink || inlineEditMode || !canView\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\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 loading=\"lazy\"\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 (overflowClick)=\"onRowCheck()\"\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-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 </div>\r\n }\r\n</ng-template>\r\n", styles: [":host ::ng-deep .conditional-format *{font-weight:inherit!important;background-color:inherit!important;color:inherit!important}:host li.s{height:auto}:host .flex1{flex:1;display:flex;justify-content:start;flex-direction:row-reverse}\n"] }]
5706
5706
  }], propDecorators: { setting: [{
5707
5707
  type: Input
5708
5708
  }], isDisplayType: [{
@@ -6175,11 +6175,11 @@ class BarsaTableRowComponent extends BaseViewItemPropsComponent {
6175
6175
  this.activeColumn.set(column);
6176
6176
  }
6177
6177
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6178
- 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", 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]=\"secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded)\"\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 (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') {\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 @if(disableHyperLink!==true || (columnsHyperLink | existsColumns:column )?.length) {\r\n <a [moLinker]=\"mo\" [alternateEditObjectColumn]=\"alternateEditObjectColumn\" [disableHyperLink]=\"inlineEditMode\">\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 </a>\r\n } @else{\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\r\n }\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 (overflowClick)=\"onRowCheck(true)\"\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 <td fd-table-cell></td>\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 2 +\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 2 +\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 2 +\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); max-width: 420px\"\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 <td fd-table-cell></td>\r\n</tr>\r\n} @if (bruleActionMessage() && hasError && allowInlineEdit) {\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 2 +\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 noIcon\r\n >\r\n @if(bruleActionMessage()?.MessageExpressionHtml){\r\n <span [innerHtml]=\"bruleActionMessage()?.MessageExpressionHtml\"></span>\r\n }@else{\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n }\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 2 +\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 @if(detailsColumns?.length){\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 }\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 tr.preview-column td{border-left-style:solid;border-right-style:solid}: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,tr.showdetails-on 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", "maxHeightHeader", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "directive", type: i2.MoLinkerDirective, selector: "[moLinker]", inputs: ["moLinker", "alternateEditObjectColumn", "disableHyperLink"] }, { 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", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$3.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$9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "ariaLabelledBy", "dismissBtnTitle", "noIcon", "type", "id", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "directive", type: i3$3.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3$3.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i3$3.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", "overflowClick"] }, { 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" }, { kind: "pipe", type: i2.ExistsColumnsPipe, name: "existsColumns" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6178
+ 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", 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]=\"secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded)\"\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 (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') {\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 @if(disableHyperLink!==true || (columnsHyperLink | existsColumns:column )?.length) {\r\n <a [moLinker]=\"mo\" [alternateEditObjectColumn]=\"alternateEditObjectColumn\" [disableHyperLink]=\"inlineEditMode || !canView\">\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 </a>\r\n } @else{\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\r\n }\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 (overflowClick)=\"onRowCheck(true)\"\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 <td fd-table-cell></td>\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 2 +\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 2 +\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 2 +\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); max-width: 420px\"\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 <td fd-table-cell></td>\r\n</tr>\r\n} @if (bruleActionMessage() && hasError && allowInlineEdit) {\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 2 +\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 noIcon\r\n >\r\n @if(bruleActionMessage()?.MessageExpressionHtml){\r\n <span [innerHtml]=\"bruleActionMessage()?.MessageExpressionHtml\"></span>\r\n }@else{\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n }\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 2 +\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 @if(detailsColumns?.length){\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 }\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 tr.preview-column td{border-left-style:solid;border-right-style:solid}: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,tr.showdetails-on 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", "maxHeightHeader", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "directive", type: i2.MoLinkerDirective, selector: "[moLinker]", inputs: ["moLinker", "alternateEditObjectColumn", "disableHyperLink"] }, { 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", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$3.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$9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "ariaLabelledBy", "dismissBtnTitle", "noIcon", "type", "id", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "directive", type: i3$3.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3$3.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i3$3.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", "overflowClick"] }, { 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" }, { kind: "pipe", type: i2.ExistsColumnsPipe, name: "existsColumns" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6179
6179
  }
6180
6180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTableRowComponent, decorators: [{
6181
6181
  type: Component,
6182
- 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]=\"secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded)\"\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 (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') {\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 @if(disableHyperLink!==true || (columnsHyperLink | existsColumns:column )?.length) {\r\n <a [moLinker]=\"mo\" [alternateEditObjectColumn]=\"alternateEditObjectColumn\" [disableHyperLink]=\"inlineEditMode\">\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 </a>\r\n } @else{\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\r\n }\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 (overflowClick)=\"onRowCheck(true)\"\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 <td fd-table-cell></td>\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 2 +\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 2 +\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 2 +\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); max-width: 420px\"\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 <td fd-table-cell></td>\r\n</tr>\r\n} @if (bruleActionMessage() && hasError && allowInlineEdit) {\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 2 +\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 noIcon\r\n >\r\n @if(bruleActionMessage()?.MessageExpressionHtml){\r\n <span [innerHtml]=\"bruleActionMessage()?.MessageExpressionHtml\"></span>\r\n }@else{\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n }\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 2 +\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 @if(detailsColumns?.length){\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 }\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 tr.preview-column td{border-left-style:solid;border-right-style:solid}: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,tr.showdetails-on td{border-bottom:none}\n"] }]
6182
+ 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]=\"secondaryColumns?.length && !mo.$Group && (!mo.$Parent || parentExpanded)\"\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 (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') {\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 @if(disableHyperLink!==true || (columnsHyperLink | existsColumns:column )?.length) {\r\n <a [moLinker]=\"mo\" [alternateEditObjectColumn]=\"alternateEditObjectColumn\" [disableHyperLink]=\"inlineEditMode || !canView\">\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 </a>\r\n } @else{\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\r\n }\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 (overflowClick)=\"onRowCheck(true)\"\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 <td fd-table-cell></td>\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 2 +\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 2 +\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 2 +\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); max-width: 420px\"\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 <td fd-table-cell></td>\r\n</tr>\r\n} @if (bruleActionMessage() && hasError && allowInlineEdit) {\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 2 +\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 noIcon\r\n >\r\n @if(bruleActionMessage()?.MessageExpressionHtml){\r\n <span [innerHtml]=\"bruleActionMessage()?.MessageExpressionHtml\"></span>\r\n }@else{\r\n {{ bruleActionMessage()?.MessageExpression }}\r\n }\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 2 +\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 @if(detailsColumns?.length){\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 }\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 tr.preview-column td{border-left-style:solid;border-right-style:solid}: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,tr.showdetails-on td{border-bottom:none}\n"] }]
6183
6183
  }], propDecorators: { showDetailsInRow: [{
6184
6184
  type: Input
6185
6185
  }], previewColumn: [{