barsa-sap-ui 2.3.150 → 2.3.151

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ChangeDetectionStrategy, Component, Input, Pipe, EventEmitter, inject, NgZone, Renderer2, ElementRef, Output, HostBinding, ViewChild, ViewEncapsulation, ChangeDetectorRef, ViewChildren, signal, DOCUMENT, TemplateRef, HostListener, Directive, input, effect, ViewContainerRef, Injector, computed, ComponentFactoryResolver, NgModule, Injectable, provideAppInitializer, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
3
  import * as i2 from 'barsa-novin-ray-core';
4
- import { BaseComponent, ReportViewBaseComponent, getUniqueId, BarsaApi, LayoutItemBaseComponent, getDeviceIsMobile, BbbTranslatePipe, LayoutService, measureText, getLabelWidth, searchEx, multilevelSort, SortDirection, sortEx, BaseUlvSettingComponent, getResetGridSettings, FormComponent, createFormPanelMetaConditions, ReportBaseComponent, SelectionMode, DEFAULT_REPORT_LAYOUT_POLICY, ScrollLayoutContextHolder, EntitySettingsStore, FormPanelService, LayoutMainContentService, GetAllColumnsSorted, getParentHeight, getControlSizeMode, getDeviceIsDesktop, getDeviceIsTablet, getGridSettings, FieldBaseComponent, PortalService, getDateService as getDateService$1, DateService, DateMiladiService, DateHijriService, DateShamsiService, BaseDirective, DynamicDarkColorPipe, EllipsifyDirective, createGridEditorFormPanel, TabpageService, LocalStorageService, CalendarSettingsStore, getAllItemsPerChildren, setOneDepthLevel, BaseViewItemPropsComponent, MoReportValuePipe, ExecuteDynamicCommand, PictureFieldSourcePipe, RotateImage, isImage, getIcon, GetViewableExtensions, UploadService, ColumnRendererBase, LayoutPanelBaseComponent, UlvMainService, scrollLayoutModeToContextEnvironment, getReportTypeDefaultPolicy, extractLayoutPolicyFromView, resolveReportLayoutPolicy, BaseColumnPropsComponent, ColumnService, BaseViewContentPropsComponent, CardViewService, enumValueToStringSize, PreventDefaulEvent, setTableThWidth, TableHeaderWidthMode, calcContextMenuWidth, setColumnWidthByMaxMoContentWidth, calculateColumnWidth, calculateColumnContent, calculateColumnWidthFitToContainer, calculateFreeColumnSize, UlvHeightSizeType, NotificationService, DateRanges, LogService, BreadcrumbService, isFirefox, IsDarkMode, isFunction, FilesValidationHelper, getValidExtension, getImagePath, LinearListHelper, FormToolbarBaseComponent, FormBaseComponent, BaseController, TEMPLATE_ENGINE, getFieldValue, FindColumnsPipe, FieldViewBase, ContainerComponent, DialogParams, ContainerService, FindToolbarItem, FindLayoutSettingFromLayout94, FormPropsBaseComponent, UiService, measureText2, NumberBaseComponent, ImageMimeType, BaseFormToolbaritemPropsComponent, NetworkStatusService, isInLocalMode, executeUlvCommandHandler, FillAllLayoutControls, ApplicationCtrlrService, ReportNavigatorComponent, DeviceWidth, FORM_DIALOG_COMPONENT, NOTIFICATAION_POPUP_SERVER, TOAST_SERVICE, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule, ResizableModule, DIALOG_SERVICE } from 'barsa-novin-ray-core';
4
+ import { BaseComponent, ReportViewBaseComponent, getUniqueId, BarsaApi, LayoutItemBaseComponent, getDeviceIsMobile, BbbTranslatePipe, LayoutService, measureText, getLabelWidth, searchEx, multilevelSort, SortDirection, sortEx, BaseUlvSettingComponent, getResetGridSettings, FormComponent, createFormPanelMetaConditions, ReportBaseComponent, SelectionMode, DEFAULT_REPORT_LAYOUT_POLICY, ScrollLayoutContextHolder, EntitySettingsStore, FormPanelService, LayoutMainContentService, GetAllColumnsSorted, getParentHeight, getControlSizeMode, getDeviceIsDesktop, getDeviceIsTablet, getGridSettings, FieldBaseComponent, PortalService, getDateService as getDateService$1, DateService, DateMiladiService, DateHijriService, DateShamsiService, BaseDirective, DynamicDarkColorPipe, EllipsifyDirective, createGridEditorFormPanel, executeUlvCommandHandler, TabpageService, LocalStorageService, CalendarSettingsStore, getAllItemsPerChildren, setOneDepthLevel, BaseViewItemPropsComponent, MoReportValuePipe, ExecuteDynamicCommand, PictureFieldSourcePipe, RotateImage, isImage, getIcon, GetViewableExtensions, UploadService, ColumnRendererBase, LayoutPanelBaseComponent, UlvMainService, scrollLayoutModeToContextEnvironment, getReportTypeDefaultPolicy, extractLayoutPolicyFromView, resolveReportLayoutPolicy, BaseColumnPropsComponent, ColumnService, BaseViewContentPropsComponent, CardViewService, enumValueToStringSize, PreventDefaulEvent, setTableThWidth, TableHeaderWidthMode, calcContextMenuWidth, setColumnWidthByMaxMoContentWidth, calculateColumnWidth, calculateColumnContent, calculateColumnWidthFitToContainer, calculateFreeColumnSize, UlvHeightSizeType, NotificationService, DateRanges, LogService, BreadcrumbService, isFirefox, IsDarkMode, isFunction, FilesValidationHelper, getValidExtension, getImagePath, LinearListHelper, FormToolbarBaseComponent, FormBaseComponent, BaseController, TEMPLATE_ENGINE, getFieldValue, FindColumnsPipe, FieldViewBase, ContainerComponent, DialogParams, ContainerService, FindToolbarItem, FindLayoutSettingFromLayout94, FormPropsBaseComponent, UiService, measureText2, NumberBaseComponent, ImageMimeType, BaseFormToolbaritemPropsComponent, NetworkStatusService, isInLocalMode, FillAllLayoutControls, ApplicationCtrlrService, ReportNavigatorComponent, DeviceWidth, FORM_DIALOG_COMPONENT, NOTIFICATAION_POPUP_SERVER, TOAST_SERVICE, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule, ResizableModule, DIALOG_SERVICE } from 'barsa-novin-ray-core';
5
5
  import moment from 'moment';
6
6
  import jmoment from 'moment-jalaali';
7
7
  import { combineLatest, of, BehaviorSubject, Subject, takeUntil as takeUntil$1, debounceTime as debounceTime$1, from, concatMap, delay, tap as tap$1, Observable, fromEvent, first as first$1, skip, map as map$1 } from 'rxjs';
@@ -3296,12 +3296,7 @@ class UlvContextMenuComponent extends BaseComponent {
3296
3296
  }
3297
3297
  onCommandSplitButtonClick(e, btn) {
3298
3298
  this.onCommandClick(e);
3299
- if (btn.Command && btn.Command.Handler) {
3300
- btn.Command.Handler(btn);
3301
- }
3302
- else if (btn.handler) {
3303
- btn.handler.bind(btn.scope)(btn);
3304
- }
3299
+ executeUlvCommandHandler(btn, e);
3305
3300
  }
3306
3301
  OpenPopover() {
3307
3302
  this._popoverCmp.open();
@@ -4913,11 +4908,11 @@ class FileViewerPopoverComponent extends BaseComponent {
4913
4908
  this.popoverOpened = false;
4914
4909
  }
4915
4910
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FileViewerPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4916
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FileViewerPopoverComponent, isStandalone: false, selector: "bsu-file-viewer-popover", inputs: { files: "files", file: "file", index: "index", deviceSize: "deviceSize", canDownload: "canDownload", disableRemove: "disableRemove", fdType: "fdType", attachmentViewType: "attachmentViewType" }, outputs: { remove: "remove" }, usesInheritance: true, ngImport: i0, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\r\n <button\r\n fd-button\r\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\r\n [label]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [title]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [glyph]=\"attachmentViewType === 1 ? '' : 'attachment'\"\r\n [fdMenu]=\"deviceSize === 's' || attachmentViewType === 1 ? false : true\"\r\n [fdType]=\"fdType\"\r\n class=\"btn-actionsheet\"\r\n (click)=\"popoverOpened = true\"\r\n ></button>\r\n <fd-popover\r\n #popoverMobile\r\n [mobile]=\"true\"\r\n [mobileConfig]=\"{ title: file?.FileName || 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n <ng-template #popoverBodyContent>\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </fd-popover>\r\n <fd-popover #popoverLarge>\r\n <fd-popover-body class=\"file-viewer-popover-body\">\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n\r\n @if (!disableRemove) {\r\n <button fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\r\n }\r\n</div>\r\n\r\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\r\n <!-- <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div> -->\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"mobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n (cantView)=\"hideFullScreen = true\"\r\n [class.mobile]=\"mobile\"\r\n ></bsu-file-viewer-content>\r\n @if (canDownload) {\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"mobile\"\r\n [popover]=\"popover\"\r\n [files]=\"files?.length ? files : [file]\"\r\n [file]=\"file\"\r\n [selectedId]=\"file.Id\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n [hideFullScreen]=\"hideFullScreen\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block}.btn-actionsheet{width:100%!important;max-width:100%!important}.box{display:flex;flex-direction:column;width:175px;height:120px;position:relative;border:1px solid #ccc}.box .box-content{height:85px;text-align:center;display:flex;align-items:center;justify-content:center}.box .box-content fd-icon{font-size:1.825rem;color:#e5e5e5}.box .box-file-download{background-color:#f5f5f5;border-top:1px solid #e5e5e5;display:flex;gap:.285rem}.box .box-file-download .icon{align-items:center;float:left;display:-webkit-box;display:-webkit-flex;display:flex;height:32px;-webkit-justify-content:center;justify-content:center;width:32px}.box .box-file-download .filename-wrapper{display:flex;overflow:hidden}.box .box-file-download .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777;font-size:12px;font-weight:700;line-height:16px;margin-top:8px;word-wrap:normal}.box .download-wrapper{display:none}.box.onside{background:#f5f5f5}.box.onside .box-content{display:none}.box.onside .box-file-download{border-top:none;height:85px}.box.onside .download-wrapper{display:flex;gap:.285rem;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { 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: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i6.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i6.PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: BarsaBarDownloadFileComponent, selector: "bsu-barsa-bar-download-file", inputs: ["popover", "file", "files", "selectedId", "hideFullScreen", "isMobile", "canPrint", "selectedIndex", "deviceSize"] }, { kind: "component", type: FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: ["fillWidth", "imageOnly", "isImageGallery", "cardMode", "showFooter", "showContent", "selected", "width", "deviceSize", "cardContentHeight", "file", "isThumbnail"], outputs: ["cantView", "imageLoaded"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4911
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FileViewerPopoverComponent, isStandalone: false, selector: "bsu-file-viewer-popover", inputs: { files: "files", file: "file", index: "index", deviceSize: "deviceSize", canDownload: "canDownload", disableRemove: "disableRemove", fdType: "fdType", attachmentViewType: "attachmentViewType" }, outputs: { remove: "remove" }, usesInheritance: true, ngImport: i0, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\r\n <button\r\n fd-button\r\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\r\n [label]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [title]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [glyph]=\"attachmentViewType === 1 ? '' : 'attachment'\"\r\n [fdMenu]=\"deviceSize === 's' || attachmentViewType === 1 ? false : true\"\r\n [fdType]=\"fdType\"\r\n class=\"btn-actionsheet\"\r\n (click)=\"popoverOpened = true\"\r\n >\r\n <button fd-button glyph=\"download\" fdType=\"transparent\" downloadFiles stopPropagation [files]=\"file ? [file] : files\" ></button>\r\n </button>\r\n\r\n <fd-popover\r\n #popoverMobile\r\n [mobile]=\"true\"\r\n [mobileConfig]=\"{ title: file?.FileName || 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n <ng-template #popoverBodyContent>\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </fd-popover>\r\n <fd-popover #popoverLarge>\r\n <fd-popover-body class=\"file-viewer-popover-body\">\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n\r\n @if (!disableRemove) {\r\n <button fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\r\n }\r\n</div>\r\n\r\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\r\n <!-- <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div> -->\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"mobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n (cantView)=\"hideFullScreen = true\"\r\n [class.mobile]=\"mobile\"\r\n ></bsu-file-viewer-content>\r\n @if (canDownload) {\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"mobile\"\r\n [popover]=\"popover\"\r\n [files]=\"files?.length ? files : [file]\"\r\n [file]=\"file\"\r\n [selectedId]=\"file.Id\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n [hideFullScreen]=\"hideFullScreen\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block}:host button ::ng-deep fd-icon.sap-icon--slim-arrow-down{display:none!important}.btn-actionsheet{width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[stopPropagation]" }, { 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: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i6.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i6.PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: BarsaBarDownloadFileComponent, selector: "bsu-barsa-bar-download-file", inputs: ["popover", "file", "files", "selectedId", "hideFullScreen", "isMobile", "canPrint", "selectedIndex", "deviceSize"] }, { kind: "component", type: FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: ["fillWidth", "imageOnly", "isImageGallery", "cardMode", "showFooter", "showContent", "selected", "width", "deviceSize", "cardContentHeight", "file", "isThumbnail"], outputs: ["cantView", "imageLoaded"] }, { kind: "directive", type: DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files", "nozip"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4917
4912
  }
4918
4913
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FileViewerPopoverComponent, decorators: [{
4919
4914
  type: Component,
4920
- args: [{ selector: 'bsu-file-viewer-popover', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\r\n <button\r\n fd-button\r\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\r\n [label]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [title]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [glyph]=\"attachmentViewType === 1 ? '' : 'attachment'\"\r\n [fdMenu]=\"deviceSize === 's' || attachmentViewType === 1 ? false : true\"\r\n [fdType]=\"fdType\"\r\n class=\"btn-actionsheet\"\r\n (click)=\"popoverOpened = true\"\r\n ></button>\r\n <fd-popover\r\n #popoverMobile\r\n [mobile]=\"true\"\r\n [mobileConfig]=\"{ title: file?.FileName || 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n <ng-template #popoverBodyContent>\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </fd-popover>\r\n <fd-popover #popoverLarge>\r\n <fd-popover-body class=\"file-viewer-popover-body\">\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n\r\n @if (!disableRemove) {\r\n <button fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\r\n }\r\n</div>\r\n\r\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\r\n <!-- <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div> -->\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"mobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n (cantView)=\"hideFullScreen = true\"\r\n [class.mobile]=\"mobile\"\r\n ></bsu-file-viewer-content>\r\n @if (canDownload) {\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"mobile\"\r\n [popover]=\"popover\"\r\n [files]=\"files?.length ? files : [file]\"\r\n [file]=\"file\"\r\n [selectedId]=\"file.Id\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n [hideFullScreen]=\"hideFullScreen\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block}.btn-actionsheet{width:100%!important;max-width:100%!important}.box{display:flex;flex-direction:column;width:175px;height:120px;position:relative;border:1px solid #ccc}.box .box-content{height:85px;text-align:center;display:flex;align-items:center;justify-content:center}.box .box-content fd-icon{font-size:1.825rem;color:#e5e5e5}.box .box-file-download{background-color:#f5f5f5;border-top:1px solid #e5e5e5;display:flex;gap:.285rem}.box .box-file-download .icon{align-items:center;float:left;display:-webkit-box;display:-webkit-flex;display:flex;height:32px;-webkit-justify-content:center;justify-content:center;width:32px}.box .box-file-download .filename-wrapper{display:flex;overflow:hidden}.box .box-file-download .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777;font-size:12px;font-weight:700;line-height:16px;margin-top:8px;word-wrap:normal}.box .download-wrapper{display:none}.box.onside{background:#f5f5f5}.box.onside .box-content{display:none}.box.onside .box-file-download{border-top:none;height:85px}.box.onside .download-wrapper{display:flex;gap:.285rem;justify-content:center}\n"] }]
4915
+ args: [{ selector: 'bsu-file-viewer-popover', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\r\n <button\r\n fd-button\r\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\r\n [label]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [title]=\"attachmentViewType === 1 ? ('\u0645\u0634\u0627\u0647\u062F\u0647' | bbbTranslate) : file.FileName || ''\"\r\n [glyph]=\"attachmentViewType === 1 ? '' : 'attachment'\"\r\n [fdMenu]=\"deviceSize === 's' || attachmentViewType === 1 ? false : true\"\r\n [fdType]=\"fdType\"\r\n class=\"btn-actionsheet\"\r\n (click)=\"popoverOpened = true\"\r\n >\r\n <button fd-button glyph=\"download\" fdType=\"transparent\" downloadFiles stopPropagation [files]=\"file ? [file] : files\" ></button>\r\n </button>\r\n\r\n <fd-popover\r\n #popoverMobile\r\n [mobile]=\"true\"\r\n [mobileConfig]=\"{ title: file?.FileName || 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n <ng-template #popoverBodyContent>\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </fd-popover>\r\n <fd-popover #popoverLarge>\r\n <fd-popover-body class=\"file-viewer-popover-body\">\r\n @if(popoverOpened){\r\n <ng-container\r\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n\r\n @if (!disableRemove) {\r\n <button fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\r\n }\r\n</div>\r\n\r\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\r\n <!-- <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\r\n <div fd-bar-left>\r\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\r\n </div>\r\n </div>\r\n </div> -->\r\n <bsu-file-viewer-content\r\n [file]=\"file\"\r\n [width]=\"mobile ? '100vw' : '30vw'\"\r\n [cardMode]=\"true\"\r\n [showContent]=\"true\"\r\n [showFooter]=\"true\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n (cantView)=\"hideFullScreen = true\"\r\n [class.mobile]=\"mobile\"\r\n ></bsu-file-viewer-content>\r\n @if (canDownload) {\r\n <div fd-popover-body-footer>\r\n <bsu-barsa-bar-download-file\r\n [isMobile]=\"mobile\"\r\n [popover]=\"popover\"\r\n [files]=\"files?.length ? files : [file]\"\r\n [file]=\"file\"\r\n [selectedId]=\"file.Id\"\r\n [deviceSize]=\"deviceSize || 's'\"\r\n [hideFullScreen]=\"hideFullScreen\"\r\n ></bsu-barsa-bar-download-file>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block}:host button ::ng-deep fd-icon.sap-icon--slim-arrow-down{display:none!important}.btn-actionsheet{width:100%!important;max-width:100%!important}\n"] }]
4921
4916
  }], propDecorators: { files: [{
4922
4917
  type: Input
4923
4918
  }], file: [{
@@ -4940,11 +4935,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
4940
4935
 
4941
4936
  class BarsaColumnRendererComponent extends ColumnRendererBase {
4942
4937
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaColumnRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4943
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaColumnRendererComponent, isStandalone: false, selector: "bsu-column-renderer,[colRenderer]", usesInheritance: true, ngImport: i0, template: "@if (column) {\r\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\r\n}\r\n<ng-template #renderCellTemplate>\r\n @switch (column.FieldTypeId) { @case (42) {\r\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\r\n } @case (33) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\r\n } @case (31) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\r\n } @case (11) {\r\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\r\n } @case (5) {\r\n <ng-container\r\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\r\n ></ng-container>\r\n } @default {\r\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\r\n } }\r\n</ng-template>\r\n<ng-template #renderGeneral>\r\n <div\r\n class=\"renderGeneral\"\r\n [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\"\r\n [style.width]=\"\"\r\n [attr.title]=\"value\"\r\n >\r\n @if (icon) {\r\n <img loading=\"lazy\" [attr.rtl]=\"rtl\" [src]=\"icon\" />\r\n }\r\n <!-- <fd-text\r\n #fdText\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [maxLines]=\"1\"\r\n [text]=\"value\"\r\n [fd-inline-help]=\"value\"\r\n [disabled]=\"!fdText._hasMore\"\r\n ></fd-text> -->\r\n\r\n <!-- <bsu-barsa-text-ellipsis\r\n [style.width]=\"column.$Width\"\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [text]=\"value\"\r\n></bsu-barsa-text-ellipsis> -->\r\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\r\n{{ value }}\r\n</div> -->\r\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') { @if(!isMobile && !fdTextMode){\r\n <div \r\n [ellapsisText]=\"value\"\r\n [disableEllapsis]=\"editMode\"\r\n [class.ellapsis]=\"!disableEllapsis\"\r\n [columnValue]=\"value\"\r\n (ellapsised)=\"onElapsised($event)\"\r\n ></div>\r\n } @else{\r\n <fd-text [attr.title]=\"value\" class=\"col-value\" [text]=\"value\" [maxLines]=\"2\"></fd-text>\r\n } }\r\n </div>\r\n</ng-template>\r\n<ng-template #formControlTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\r\n ? renderCellTemplate\r\n : layoutControlTemplate\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #layoutControlTemplate>\r\n @if (controlUi) {\r\n <bsu-layout-control\r\n [inlineEdit]=\"true\"\r\n [caption]=\"column.Caption\"\r\n [cellEdit]=\"cellEdit\"\r\n [config]=\"controlUi\"\r\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\r\n [showLabel]=\"formLayoutShowLabel\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellListTasavir>\r\n @if (mo[column.Name] && mo[column.Name].Images) {\r\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\r\n @for (pic of mo[column.Name].Images; track pic) {\r\n <img\r\n fullscreen\r\n fullscreenFiles\r\n [files]=\"mo[column.Name].Images\"\r\n [isImageGallery]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\r\n style=\"width: 3rem; height: 3rem\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileListKhati>\r\n @if (mo[column.Name]) {\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of mo[column.Name].Files; track file;let index=$index) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n #fileviewerPopover\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"$event === 'Visible' && onSetMaxWidth()\"\r\n [file]=\"file\"\r\n [index]=\"index\"\r\n [attachmentViewType]=\"+attachmentViewType\"\r\n [files]=\"mo[column.Name].Files\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n [fdType]=\"'transparent'\"\r\n preventDefault\r\n stopPropagation\r\n ></bsu-file-viewer-popover>\r\n }\r\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileInfo>\r\n @if (mo[column.Name]) {\r\n <fd-avatar\r\n [transparent]=\"true\"\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellChecbox>\r\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\r\n</ng-template>\r\n<ng-template #renderChecboxImage>\r\n @if (column.Extra?.TrueImage === '') {\r\n {{ value }}\r\n } @if (column.Extra?.TrueImage !== '') {\r\n <img loading=\"lazy\" [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\r\n }\r\n</ng-template>\r\n<ng-template #renderCellImage>\r\n @if (mo[column.Name] && mo[column.Name]['Url']) {\r\n <fd-avatar\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [transparent]=\"true\"\r\n [image]=\"mo[column.Name]['Url']\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}fd-text.col-value ::ng-deep p{color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i2.EllapsisTextDirective, selector: "[ellapsisText]", inputs: ["ellapsisText", "fontSize", "disableEllapsis"], outputs: ["ellapsised"] }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[stopPropagation]" }, { kind: "directive", type: i2.PreventDefaultDirective, selector: "[preventDefault]" }, { kind: "directive", type: i2.ColumnValueDirective, selector: "[columnValue]", inputs: ["columnValue"] }, { 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: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5$3.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "component", type: LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "cellEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "index", "deviceSize", "canDownload", "disableRemove", "fdType", "attachmentViewType"], outputs: ["remove"] }, { kind: "directive", type: FullscreenFilesDirective, selector: "[fullscreenFiles]", inputs: ["files", "selectedId", "title", "deviceSize", "isImageGallery", "component"] }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4938
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaColumnRendererComponent, isStandalone: false, selector: "bsu-column-renderer,[colRenderer]", usesInheritance: true, ngImport: i0, template: "@if (column) {\r\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\r\n}\r\n<ng-template #renderCellTemplate>\r\n @switch (column.FieldTypeId) { @case (42) {\r\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\r\n } @case (33) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\r\n } @case (31) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\r\n } @case (11) {\r\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\r\n } @case (5) {\r\n <ng-container\r\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\r\n ></ng-container>\r\n } @default {\r\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\r\n } }\r\n</ng-template>\r\n<ng-template #renderGeneral>\r\n <div\r\n class=\"renderGeneral\"\r\n [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\"\r\n [style.width]=\"\"\r\n [attr.title]=\"value\"\r\n >\r\n @if (icon) {\r\n <img loading=\"lazy\" [attr.rtl]=\"rtl\" [src]=\"icon\" />\r\n }\r\n <!-- <fd-text\r\n #fdText\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [maxLines]=\"1\"\r\n [text]=\"value\"\r\n [fd-inline-help]=\"value\"\r\n [disabled]=\"!fdText._hasMore\"\r\n ></fd-text> -->\r\n\r\n <!-- <bsu-barsa-text-ellipsis\r\n [style.width]=\"column.$Width\"\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [text]=\"value\"\r\n></bsu-barsa-text-ellipsis> -->\r\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\r\n{{ value }}\r\n</div> -->\r\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') { @if(!isMobile && !fdTextMode){\r\n <div\r\n [ellapsisText]=\"value\"\r\n [disableEllapsis]=\"editMode\"\r\n [class.ellapsis]=\"!disableEllapsis\"\r\n [columnValue]=\"value\"\r\n (ellapsised)=\"onElapsised($event)\"\r\n ></div>\r\n } @else{\r\n <fd-text [attr.title]=\"value\" class=\"col-value\" [text]=\"value\" [maxLines]=\"2\"></fd-text>\r\n } }\r\n </div>\r\n</ng-template>\r\n<ng-template #formControlTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\r\n ? renderCellTemplate\r\n : layoutControlTemplate\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #layoutControlTemplate>\r\n @if (controlUi) {\r\n <bsu-layout-control\r\n [inlineEdit]=\"true\"\r\n [caption]=\"column.Caption\"\r\n [cellEdit]=\"cellEdit\"\r\n [config]=\"controlUi\"\r\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\r\n [showLabel]=\"formLayoutShowLabel\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellListTasavir>\r\n @if (mo[column.Name] && mo[column.Name].Images) {\r\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\r\n @for (pic of mo[column.Name].Images; track pic) {\r\n <img\r\n fullscreen\r\n fullscreenFiles\r\n [files]=\"mo[column.Name].Images\"\r\n [isImageGallery]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\r\n style=\"width: 3rem; height: 3rem\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileListKhati>\r\n @if (mo[column.Name]) {\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of mo[column.Name].Files; track file;let index=$index) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n #fileviewerPopover\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"$event === 'Visible' && onSetMaxWidth()\"\r\n [file]=\"file\"\r\n [index]=\"index\"\r\n [attachmentViewType]=\"+attachmentViewType\"\r\n [files]=\"mo[column.Name].Files\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n [fdType]=\"'transparent'\"\r\n preventDefault\r\n stopPropagation\r\n ></bsu-file-viewer-popover>\r\n }\r\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileInfo>\r\n @if (mo[column.Name]) {\r\n <fd-avatar\r\n [transparent]=\"true\"\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellChecbox>\r\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\r\n</ng-template>\r\n<ng-template #renderChecboxImage>\r\n @if (column.Extra?.TrueImage === '') { @if(value ===true || value==='true'){\r\n {{ column.Extra.TrueDisplayString | bbbTranslate }}\r\n }@else if(value===false || value==='false'){\r\n {{ column.Extra.FalseDisplayString | bbbTranslate }}\r\n }@else {\r\n {{value | bbbTranslate}}\r\n } } @if (column.Extra?.TrueImage !== '') {\r\n <img loading=\"lazy\" [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" class=\"tw-h-fit tw-m-auto\" />\r\n }\r\n</ng-template>\r\n<ng-template #renderCellImage>\r\n @if (mo[column.Name] && mo[column.Name]['Url']) {\r\n <fd-avatar\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [transparent]=\"true\"\r\n [image]=\"mo[column.Name]['Url']\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}fd-text.col-value ::ng-deep p{color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i2.EllapsisTextDirective, selector: "[ellapsisText]", inputs: ["ellapsisText", "fontSize", "disableEllapsis"], outputs: ["ellapsised"] }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[stopPropagation]" }, { kind: "directive", type: i2.PreventDefaultDirective, selector: "[preventDefault]" }, { kind: "directive", type: i2.ColumnValueDirective, selector: "[columnValue]", inputs: ["columnValue"] }, { 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: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5$3.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "component", type: LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "cellEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "index", "deviceSize", "canDownload", "disableRemove", "fdType", "attachmentViewType"], outputs: ["remove"] }, { kind: "directive", type: FullscreenFilesDirective, selector: "[fullscreenFiles]", inputs: ["files", "selectedId", "title", "deviceSize", "isImageGallery", "component"] }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4944
4939
  }
4945
4940
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaColumnRendererComponent, decorators: [{
4946
4941
  type: Component,
4947
- args: [{ selector: 'bsu-column-renderer,[colRenderer]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (column) {\r\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\r\n}\r\n<ng-template #renderCellTemplate>\r\n @switch (column.FieldTypeId) { @case (42) {\r\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\r\n } @case (33) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\r\n } @case (31) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\r\n } @case (11) {\r\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\r\n } @case (5) {\r\n <ng-container\r\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\r\n ></ng-container>\r\n } @default {\r\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\r\n } }\r\n</ng-template>\r\n<ng-template #renderGeneral>\r\n <div\r\n class=\"renderGeneral\"\r\n [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\"\r\n [style.width]=\"\"\r\n [attr.title]=\"value\"\r\n >\r\n @if (icon) {\r\n <img loading=\"lazy\" [attr.rtl]=\"rtl\" [src]=\"icon\" />\r\n }\r\n <!-- <fd-text\r\n #fdText\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [maxLines]=\"1\"\r\n [text]=\"value\"\r\n [fd-inline-help]=\"value\"\r\n [disabled]=\"!fdText._hasMore\"\r\n ></fd-text> -->\r\n\r\n <!-- <bsu-barsa-text-ellipsis\r\n [style.width]=\"column.$Width\"\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [text]=\"value\"\r\n></bsu-barsa-text-ellipsis> -->\r\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\r\n{{ value }}\r\n</div> -->\r\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') { @if(!isMobile && !fdTextMode){\r\n <div \r\n [ellapsisText]=\"value\"\r\n [disableEllapsis]=\"editMode\"\r\n [class.ellapsis]=\"!disableEllapsis\"\r\n [columnValue]=\"value\"\r\n (ellapsised)=\"onElapsised($event)\"\r\n ></div>\r\n } @else{\r\n <fd-text [attr.title]=\"value\" class=\"col-value\" [text]=\"value\" [maxLines]=\"2\"></fd-text>\r\n } }\r\n </div>\r\n</ng-template>\r\n<ng-template #formControlTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\r\n ? renderCellTemplate\r\n : layoutControlTemplate\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #layoutControlTemplate>\r\n @if (controlUi) {\r\n <bsu-layout-control\r\n [inlineEdit]=\"true\"\r\n [caption]=\"column.Caption\"\r\n [cellEdit]=\"cellEdit\"\r\n [config]=\"controlUi\"\r\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\r\n [showLabel]=\"formLayoutShowLabel\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellListTasavir>\r\n @if (mo[column.Name] && mo[column.Name].Images) {\r\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\r\n @for (pic of mo[column.Name].Images; track pic) {\r\n <img\r\n fullscreen\r\n fullscreenFiles\r\n [files]=\"mo[column.Name].Images\"\r\n [isImageGallery]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\r\n style=\"width: 3rem; height: 3rem\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileListKhati>\r\n @if (mo[column.Name]) {\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of mo[column.Name].Files; track file;let index=$index) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n #fileviewerPopover\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"$event === 'Visible' && onSetMaxWidth()\"\r\n [file]=\"file\"\r\n [index]=\"index\"\r\n [attachmentViewType]=\"+attachmentViewType\"\r\n [files]=\"mo[column.Name].Files\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n [fdType]=\"'transparent'\"\r\n preventDefault\r\n stopPropagation\r\n ></bsu-file-viewer-popover>\r\n }\r\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileInfo>\r\n @if (mo[column.Name]) {\r\n <fd-avatar\r\n [transparent]=\"true\"\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellChecbox>\r\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\r\n</ng-template>\r\n<ng-template #renderChecboxImage>\r\n @if (column.Extra?.TrueImage === '') {\r\n {{ value }}\r\n } @if (column.Extra?.TrueImage !== '') {\r\n <img loading=\"lazy\" [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" aling=\"middle\" />\r\n }\r\n</ng-template>\r\n<ng-template #renderCellImage>\r\n @if (mo[column.Name] && mo[column.Name]['Url']) {\r\n <fd-avatar\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [transparent]=\"true\"\r\n [image]=\"mo[column.Name]['Url']\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}fd-text.col-value ::ng-deep p{color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit}\n"] }]
4942
+ args: [{ selector: 'bsu-column-renderer,[colRenderer]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (column) {\r\n<ng-container *ngTemplateOutlet=\"editMode ? formControlTemplate : renderCellTemplate\"> </ng-container>\r\n}\r\n<ng-template #renderCellTemplate>\r\n @switch (column.FieldTypeId) { @case (42) {\r\n <ng-container *ngTemplateOutlet=\"renderCellImage\"></ng-container>\r\n } @case (33) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileInfo\"></ng-container>\r\n } @case (31) {\r\n <ng-container *ngTemplateOutlet=\"renderCellFileListKhati\"></ng-container>\r\n } @case (11) {\r\n <ng-container *ngTemplateOutlet=\"renderCellListTasavir\"></ng-container>\r\n } @case (5) {\r\n <ng-container\r\n *ngTemplateOutlet=\"column.Extra?.ShowCheckInGrid ? renderCellChecbox : renderChecboxImage\"\r\n ></ng-container>\r\n } @default {\r\n <ng-container *ngTemplateOutlet=\"renderGeneral\"></ng-container>\r\n } }\r\n</ng-template>\r\n<ng-template #renderGeneral>\r\n <div\r\n class=\"renderGeneral\"\r\n [class.onlyIcon]=\"column.Extra?.IconDisplayTypeEnum === 'Image'\"\r\n [style.width]=\"\"\r\n [attr.title]=\"value\"\r\n >\r\n @if (icon) {\r\n <img loading=\"lazy\" [attr.rtl]=\"rtl\" [src]=\"icon\" />\r\n }\r\n <!-- <fd-text\r\n #fdText\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [maxLines]=\"1\"\r\n [text]=\"value\"\r\n [fd-inline-help]=\"value\"\r\n [disabled]=\"!fdText._hasMore\"\r\n ></fd-text> -->\r\n\r\n <!-- <bsu-barsa-text-ellipsis\r\n [style.width]=\"column.$Width\"\r\n *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\"\r\n [text]=\"value\"\r\n></bsu-barsa-text-ellipsis> -->\r\n <!-- <div *ngIf=\"column.Extra?.IconDisplayTypeEnum !== 'Image'\" style=\"word-break:break-word\">\r\n{{ value }}\r\n</div> -->\r\n @if (column.Extra?.IconDisplayTypeEnum !== 'Image') { @if(!isMobile && !fdTextMode){\r\n <div\r\n [ellapsisText]=\"value\"\r\n [disableEllapsis]=\"editMode\"\r\n [class.ellapsis]=\"!disableEllapsis\"\r\n [columnValue]=\"value\"\r\n (ellapsised)=\"onElapsised($event)\"\r\n ></div>\r\n } @else{\r\n <fd-text [attr.title]=\"value\" class=\"col-value\" [text]=\"value\" [maxLines]=\"2\"></fd-text>\r\n } }\r\n </div>\r\n</ng-template>\r\n<ng-template #formControlTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n !controlUi || controlUi.FieldUi.originalXtype === 'Ui.ReadOnlyField'\r\n ? renderCellTemplate\r\n : layoutControlTemplate\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n<ng-template #layoutControlTemplate>\r\n @if (controlUi) {\r\n <bsu-layout-control\r\n [inlineEdit]=\"true\"\r\n [caption]=\"column.Caption\"\r\n [cellEdit]=\"cellEdit\"\r\n [config]=\"controlUi\"\r\n [focusControl]=\"index === 0 && (isChecked || isNewInlineMo)\"\r\n [showLabel]=\"formLayoutShowLabel\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellListTasavir>\r\n @if (mo[column.Name] && mo[column.Name].Images) {\r\n <div style=\"display: flex; flex-wrap: wrap; gap: 0.15rem\">\r\n @for (pic of mo[column.Name].Images; track pic) {\r\n <img\r\n fullscreen\r\n fullscreenFiles\r\n [files]=\"mo[column.Name].Images\"\r\n [isImageGallery]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [src]=\"pic.FileId | picFieldSrc: 'BarsaPicture.Thumbnail':null:'':32:32\"\r\n style=\"width: 3rem; height: 3rem\"\r\n loading=\"lazy\"\r\n />\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileListKhati>\r\n @if (mo[column.Name]) {\r\n <div class=\"file-viewer-attachments\">\r\n @for (file of mo[column.Name].Files; track file;let index=$index) { @if (!file.IsDeleted) {\r\n <bsu-file-viewer-popover\r\n #fileviewerPopover\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.1\"\r\n (visibilityChange)=\"$event === 'Visible' && onSetMaxWidth()\"\r\n [file]=\"file\"\r\n [index]=\"index\"\r\n [attachmentViewType]=\"+attachmentViewType\"\r\n [files]=\"mo[column.Name].Files\"\r\n [deviceSize]=\"deviceSize\"\r\n [canDownload]=\"true\"\r\n [disableRemove]=\"true\"\r\n [fdType]=\"'transparent'\"\r\n preventDefault\r\n stopPropagation\r\n ></bsu-file-viewer-popover>\r\n }\r\n <!-- <fd-token *ngIf=\"!file.IsDeleted\" [readOnly]=\"true\">{{ file.FileName }}</fd-token> -->\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellFileInfo>\r\n @if (mo[column.Name]) {\r\n <fd-avatar\r\n [transparent]=\"true\"\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [image]=\"mo[column.Name] | picFieldSrc: 'PictureFileInfo':null:column.FieldDefId\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n<ng-template #renderCellChecbox>\r\n <fd-icon [glyph]=\"mo[column.Name] === true ? 'accept' : 'less'\"></fd-icon>\r\n</ng-template>\r\n<ng-template #renderChecboxImage>\r\n @if (column.Extra?.TrueImage === '') { @if(value ===true || value==='true'){\r\n {{ column.Extra.TrueDisplayString | bbbTranslate }}\r\n }@else if(value===false || value==='false'){\r\n {{ column.Extra.FalseDisplayString | bbbTranslate }}\r\n }@else {\r\n {{value | bbbTranslate}}\r\n } } @if (column.Extra?.TrueImage !== '') {\r\n <img loading=\"lazy\" [src]=\"mo[column.Name] ? column.Extra?.TrueImage : column.Extra?.FalseImage\" class=\"tw-h-fit tw-m-auto\" />\r\n }\r\n</ng-template>\r\n<ng-template #renderCellImage>\r\n @if (mo[column.Name] && mo[column.Name]['Url']) {\r\n <fd-avatar\r\n [size]=\"column.FieldTypeId === '42' || column.FieldTypeId === 42 ? 'xs' : deviceSize === 's' ? 's' : 'm'\"\r\n [transparent]=\"true\"\r\n [image]=\"mo[column.Name]['Url']\"\r\n ></fd-avatar>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:contents;overflow:hidden;padding:0}:host.isMobile span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap}.renderGeneral{display:flex;width:100%;height:100%;align-items:center;justify-content:start}.renderGeneral.onlyIcon{justify-content:center}fd-text.col-value ::ng-deep p{color:inherit;font-size:inherit;font-family:inherit;font-weight:inherit}\n"] }]
4948
4943
  }] });
4949
4944
 
4950
4945
  class LyLayoutContainerOfRootComponent extends LayoutPanelBaseComponent {
@@ -5620,11 +5615,11 @@ class CardViewContentComponent extends BaseViewContentPropsComponent {
5620
5615
  this.expandClick.emit(mo);
5621
5616
  }
5622
5617
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CardViewContentComponent, isStandalone: false, selector: "bsu-card-view-content", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"setting.IsSlider ? slideModeTpl : simpleModeTpl\"> </ng-container>\r\n<ng-template #slideModeTpl>\r\n <div\r\n class=\"splide\"\r\n splideSlider\r\n [moDataList]=\"moDataList\"\r\n [breakpoint991]=\"setting.Breakpoint991\"\r\n [breakpoint768]=\"setting.Breakpoint768\"\r\n [breakpoint480]=\"setting.Breakpoint480\"\r\n [breakpoint1279]=\"setting.Breakpoint1279\"\r\n [sliderPerPage]=\"setting.SliderPerPage\"\r\n [sliderGap]=\"setting.SliderGap\"\r\n [sliderPadding]=\"setting.SliderPadding\"\r\n >\r\n <div class=\"splide__track\">\r\n <ul class=\"splide__list\">\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first\r\n = $first) {\r\n <li class=\"splide__slide tw-py-1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: mo, index: index, hideAvatar: true, isslider: true }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #simpleModeTpl>\r\n <ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\r\n</ng-template>\r\n<ng-template #gridTemplate>\r\n @if (moDataList && moDataList.length > 0) {\r\n <fd-layout-grid class=\"card-list\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\r\n </fd-layout-grid>\r\n } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<ng-template #flexTemplate>\r\n <div class=\"card-view-flex-container\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #containerTemplate let-isGrid>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\r\n context: { $implicit: mo, index: index }\r\n \"\r\n ></ng-container>\r\n <ng-template #group>\r\n <div\r\n class=\"group-label row-group\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.$Level\"\r\n [class.root-group]=\"mo.$Level === 0\"\r\n ellipsify\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.$Group }}</span>\r\n </div>\r\n </ng-template>\r\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"ulvCommand.emit({mo,index})\"\r\n (overflowClick)=\"rowCheck.emit({mo,index})\"\r\n ></div>\r\n } }\r\n</ng-template>\r\n<ng-template #cardTemplate let-mo let-index=\"index\" let-hideAvatar=\"hideAvatar\" let-isslider=\"isslider\">\r\n <bsu-card-item\r\n [mo]=\"mo\"\r\n [maxHeightHeader]=\"maxHeightHeader\"\r\n [columnsHyperLink]=\"columnsHyperLink\"\r\n [disableHyperLink]=\"disableHyperLink\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n [openOnClick]=\"openOnClick\"\r\n [isslider]=\"isslider\"\r\n [hideAvatar]=\"hideAvatar\"\r\n [contextMenuOverflowText]=\"setting.ContextMenuOverflowText\"\r\n [extraFooterComponent]=\"setting.ExtraFooterComponent\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [setting]=\"setting\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [rowIndicatorColor]=\"!allColumns.length ? '' : (allColumns[0].Caption | rval: mo:allColumns)\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"detailsText\"\r\n [detailsTextFunction]=\"detailsTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [setting]=\"setting\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"rowCheck.emit($event)\"\r\n (rowClick)=\"rowClick.emit($event)\"\r\n (ulvCommand)=\"ulvCommand.emit($event)\"\r\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\r\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </bsu-card-item>\r\n</ng-template>\r\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\r\n <div\r\n [fdLayoutGridCol]=\"sizeS\"\r\n [colMd]=\"sizeM\"\r\n [colLg]=\"sizeL\"\r\n [colXl]=\"sizeXl\"\r\n [class.selected]=\"mo.$IsChecked ? true : false\"\r\n class=\"card-container\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".card-list{flex-wrap:wrap;padding-bottom:2rem;margin-left:0;row-gap:.25rem}.card-list .group-label{width:100%;display:flex;align-items:center;border-right:none;padding-top:.25rem;padding-bottom:.25rem;column-gap:10px}::ng-deep .card-list .unread .fd-form-item,::ng-deep .card-list .unread .fd-title,::ng-deep .card-list .unread .fd-quick-view__subtitle{font-weight:700}::ng-deep .card-list .group-item-content{background-color:transparent}::ng-deep .card-list .selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0);border-style:solid;border-width:thin}::ng-deep .card-list fd-card fd-icon .avatar{font-size:.75rem!important}::ng-deep .card-list fd-card .fd-quick-view__content{height:100%}::ng-deep .card-list fd-card fd-icon .avatar{font-size:1rem!important}.card-view-flex-container{width:100%;display:flex;flex-wrap:wrap;row-gap:10px;column-gap:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.SplideSliderDirective, selector: "[splideSlider]", inputs: ["moDataList", "type", "breakpoint991", "breakpoint768", "breakpoint480", "breakpoint1279", "sliderPerPage", "sliderGap", "sliderPadding", "width"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i10.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i10.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { 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: NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: CardItemComponent, selector: "bsu-card-item", inputs: ["setting", "extraFooterComponent"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5618
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CardViewContentComponent, isStandalone: false, selector: "bsu-card-view-content", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"setting.IsSlider ? slideModeTpl : simpleModeTpl\"> </ng-container>\r\n<ng-template #slideModeTpl>\r\n <div\r\n class=\"splide\"\r\n splideSlider\r\n [moDataList]=\"moDataList\"\r\n [breakpoint991]=\"setting.Breakpoint991\"\r\n [breakpoint768]=\"setting.Breakpoint768\"\r\n [breakpoint480]=\"setting.Breakpoint480\"\r\n [breakpoint1279]=\"setting.Breakpoint1279\"\r\n [sliderPerPage]=\"setting.SliderPerPage\"\r\n [sliderGap]=\"setting.SliderGap\"\r\n [autoPlay]=\"setting.AutoPlay\"\r\n [interval]=\"+setting.Interval\"\r\n [sliderPadding]=\"setting.SliderPadding\"\r\n >\r\n <div class=\"splide__track\">\r\n <ul class=\"splide__list\">\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first\r\n = $first) {\r\n <li class=\"splide__slide tw-py-1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: mo, index: index, hideAvatar: true, isslider: true }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #simpleModeTpl>\r\n <ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\r\n</ng-template>\r\n<ng-template #gridTemplate>\r\n @if (moDataList && moDataList.length > 0) {\r\n <fd-layout-grid class=\"card-list\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\r\n </fd-layout-grid>\r\n } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<ng-template #flexTemplate>\r\n <div class=\"card-view-flex-container\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #containerTemplate let-isGrid>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\r\n context: { $implicit: mo, index: index }\r\n \"\r\n ></ng-container>\r\n <ng-template #group>\r\n <div\r\n class=\"group-label row-group\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.$Level\"\r\n [class.root-group]=\"mo.$Level === 0\"\r\n ellipsify\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.$Group }}</span>\r\n </div>\r\n </ng-template>\r\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"ulvCommand.emit({mo,index})\"\r\n (overflowClick)=\"rowCheck.emit({mo,index})\"\r\n ></div>\r\n } }\r\n</ng-template>\r\n<ng-template #cardTemplate let-mo let-index=\"index\" let-hideAvatar=\"hideAvatar\" let-isslider=\"isslider\">\r\n <bsu-card-item\r\n [mo]=\"mo\"\r\n [maxHeightHeader]=\"maxHeightHeader\"\r\n [columnsHyperLink]=\"columnsHyperLink\"\r\n [disableHyperLink]=\"disableHyperLink\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n [openOnClick]=\"openOnClick\"\r\n [isslider]=\"isslider\"\r\n [hideAvatar]=\"hideAvatar\"\r\n [contextMenuOverflowText]=\"setting.ContextMenuOverflowText\"\r\n [extraFooterComponent]=\"setting.ExtraFooterComponent\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [setting]=\"setting\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [rowIndicatorColor]=\"!allColumns.length ? '' : (allColumns[0].Caption | rval: mo:allColumns)\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"detailsText\"\r\n [detailsTextFunction]=\"detailsTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [setting]=\"setting\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"rowCheck.emit($event)\"\r\n (rowClick)=\"rowClick.emit($event)\"\r\n (ulvCommand)=\"ulvCommand.emit($event)\"\r\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\r\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </bsu-card-item>\r\n</ng-template>\r\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\r\n <div\r\n [fdLayoutGridCol]=\"sizeS\"\r\n [colMd]=\"sizeM\"\r\n [colLg]=\"sizeL\"\r\n [colXl]=\"sizeXl\"\r\n [class.selected]=\"mo.$IsChecked ? true : false\"\r\n class=\"card-container\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".card-list{flex-wrap:wrap;padding-bottom:2rem;margin-left:0;row-gap:.25rem}.card-list .group-label{width:100%;display:flex;align-items:center;border-right:none;padding-top:.25rem;padding-bottom:.25rem;column-gap:10px}::ng-deep .card-list .unread .fd-form-item,::ng-deep .card-list .unread .fd-title,::ng-deep .card-list .unread .fd-quick-view__subtitle{font-weight:700}::ng-deep .card-list .group-item-content{background-color:transparent}::ng-deep .card-list .selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0);border-style:solid;border-width:thin}::ng-deep .card-list fd-card fd-icon .avatar{font-size:.75rem!important}::ng-deep .card-list fd-card .fd-quick-view__content{height:100%}::ng-deep .card-list fd-card fd-icon .avatar{font-size:1rem!important}.card-view-flex-container{width:100%;display:flex;flex-wrap:wrap;row-gap:10px;column-gap:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.SplideSliderDirective, selector: "[splideSlider]", inputs: ["moDataList", "type", "breakpoint991", "breakpoint768", "breakpoint480", "breakpoint1279", "sliderPerPage", "sliderGap", "sliderPadding", "interval", "autoPlay", "width"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i10.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i10.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { 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: NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: CardItemComponent, selector: "bsu-card-item", inputs: ["setting", "extraFooterComponent"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5624
5619
  }
5625
5620
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewContentComponent, decorators: [{
5626
5621
  type: Component,
5627
- args: [{ selector: 'bsu-card-view-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *ngTemplateOutlet=\"setting.IsSlider ? slideModeTpl : simpleModeTpl\"> </ng-container>\r\n<ng-template #slideModeTpl>\r\n <div\r\n class=\"splide\"\r\n splideSlider\r\n [moDataList]=\"moDataList\"\r\n [breakpoint991]=\"setting.Breakpoint991\"\r\n [breakpoint768]=\"setting.Breakpoint768\"\r\n [breakpoint480]=\"setting.Breakpoint480\"\r\n [breakpoint1279]=\"setting.Breakpoint1279\"\r\n [sliderPerPage]=\"setting.SliderPerPage\"\r\n [sliderGap]=\"setting.SliderGap\"\r\n [sliderPadding]=\"setting.SliderPadding\"\r\n >\r\n <div class=\"splide__track\">\r\n <ul class=\"splide__list\">\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first\r\n = $first) {\r\n <li class=\"splide__slide tw-py-1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: mo, index: index, hideAvatar: true, isslider: true }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #simpleModeTpl>\r\n <ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\r\n</ng-template>\r\n<ng-template #gridTemplate>\r\n @if (moDataList && moDataList.length > 0) {\r\n <fd-layout-grid class=\"card-list\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\r\n </fd-layout-grid>\r\n } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<ng-template #flexTemplate>\r\n <div class=\"card-view-flex-container\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #containerTemplate let-isGrid>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\r\n context: { $implicit: mo, index: index }\r\n \"\r\n ></ng-container>\r\n <ng-template #group>\r\n <div\r\n class=\"group-label row-group\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.$Level\"\r\n [class.root-group]=\"mo.$Level === 0\"\r\n ellipsify\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.$Group }}</span>\r\n </div>\r\n </ng-template>\r\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"ulvCommand.emit({mo,index})\"\r\n (overflowClick)=\"rowCheck.emit({mo,index})\"\r\n ></div>\r\n } }\r\n</ng-template>\r\n<ng-template #cardTemplate let-mo let-index=\"index\" let-hideAvatar=\"hideAvatar\" let-isslider=\"isslider\">\r\n <bsu-card-item\r\n [mo]=\"mo\"\r\n [maxHeightHeader]=\"maxHeightHeader\"\r\n [columnsHyperLink]=\"columnsHyperLink\"\r\n [disableHyperLink]=\"disableHyperLink\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n [openOnClick]=\"openOnClick\"\r\n [isslider]=\"isslider\"\r\n [hideAvatar]=\"hideAvatar\"\r\n [contextMenuOverflowText]=\"setting.ContextMenuOverflowText\"\r\n [extraFooterComponent]=\"setting.ExtraFooterComponent\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [setting]=\"setting\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [rowIndicatorColor]=\"!allColumns.length ? '' : (allColumns[0].Caption | rval: mo:allColumns)\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"detailsText\"\r\n [detailsTextFunction]=\"detailsTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [setting]=\"setting\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"rowCheck.emit($event)\"\r\n (rowClick)=\"rowClick.emit($event)\"\r\n (ulvCommand)=\"ulvCommand.emit($event)\"\r\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\r\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </bsu-card-item>\r\n</ng-template>\r\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\r\n <div\r\n [fdLayoutGridCol]=\"sizeS\"\r\n [colMd]=\"sizeM\"\r\n [colLg]=\"sizeL\"\r\n [colXl]=\"sizeXl\"\r\n [class.selected]=\"mo.$IsChecked ? true : false\"\r\n class=\"card-container\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".card-list{flex-wrap:wrap;padding-bottom:2rem;margin-left:0;row-gap:.25rem}.card-list .group-label{width:100%;display:flex;align-items:center;border-right:none;padding-top:.25rem;padding-bottom:.25rem;column-gap:10px}::ng-deep .card-list .unread .fd-form-item,::ng-deep .card-list .unread .fd-title,::ng-deep .card-list .unread .fd-quick-view__subtitle{font-weight:700}::ng-deep .card-list .group-item-content{background-color:transparent}::ng-deep .card-list .selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0);border-style:solid;border-width:thin}::ng-deep .card-list fd-card fd-icon .avatar{font-size:.75rem!important}::ng-deep .card-list fd-card .fd-quick-view__content{height:100%}::ng-deep .card-list fd-card fd-icon .avatar{font-size:1rem!important}.card-view-flex-container{width:100%;display:flex;flex-wrap:wrap;row-gap:10px;column-gap:10px}\n"] }]
5622
+ args: [{ selector: 'bsu-card-view-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container *ngTemplateOutlet=\"setting.IsSlider ? slideModeTpl : simpleModeTpl\"> </ng-container>\r\n<ng-template #slideModeTpl>\r\n <div\r\n class=\"splide\"\r\n splideSlider\r\n [moDataList]=\"moDataList\"\r\n [breakpoint991]=\"setting.Breakpoint991\"\r\n [breakpoint768]=\"setting.Breakpoint768\"\r\n [breakpoint480]=\"setting.Breakpoint480\"\r\n [breakpoint1279]=\"setting.Breakpoint1279\"\r\n [sliderPerPage]=\"setting.SliderPerPage\"\r\n [sliderGap]=\"setting.SliderGap\"\r\n [autoPlay]=\"setting.AutoPlay\"\r\n [interval]=\"+setting.Interval\"\r\n [sliderPadding]=\"setting.SliderPadding\"\r\n >\r\n <div class=\"splide__track\">\r\n <ul class=\"splide__list\">\r\n @for ( mo of moDataList ; track _trackByRow(index, mo); let index = $index; let last = $last; let first\r\n = $first) {\r\n <li class=\"splide__slide tw-py-1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: mo, index: index, hideAvatar: true, isslider: true }\r\n \"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #simpleModeTpl>\r\n <ng-container *ngTemplateOutlet=\"setting.CardWidth ? flexTemplate : gridTemplate\"></ng-container>\r\n</ng-template>\r\n<ng-template #gridTemplate>\r\n @if (moDataList && moDataList.length > 0) {\r\n <fd-layout-grid class=\"card-list\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate; context: { $implicit: true }\"></ng-container>\r\n </fd-layout-grid>\r\n } @else {\r\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<ng-template #flexTemplate>\r\n <div class=\"card-view-flex-container\">\r\n <ng-container *ngTemplateOutlet=\"containerTemplate\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #containerTemplate let-isGrid>\r\n @for ( mo of moDataList | multipleGroupBy: groupby; track _trackByRow(index, mo); let index = $index; let last =\r\n $last; let first = $first) { @if (!mo.$Parent || mo.$Parent?.$Expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n mo.$Group || mo.$Group === '' ? group : isGrid ? cardTemplateGrid : cardTemplate;\r\n context: { $implicit: mo, index: index }\r\n \"\r\n ></ng-container>\r\n <ng-template #group>\r\n <div\r\n class=\"group-label row-group\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.$Level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.$Level\"\r\n [class.root-group]=\"mo.$Level === 0\"\r\n ellipsify\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.$Expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.$Group }}</span>\r\n </div>\r\n </ng-template>\r\n } @if (setting.contextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n (commandClick)=\"ulvCommand.emit({mo,index})\"\r\n (overflowClick)=\"rowCheck.emit({mo,index})\"\r\n ></div>\r\n } }\r\n</ng-template>\r\n<ng-template #cardTemplate let-mo let-index=\"index\" let-hideAvatar=\"hideAvatar\" let-isslider=\"isslider\">\r\n <bsu-card-item\r\n [mo]=\"mo\"\r\n [maxHeightHeader]=\"maxHeightHeader\"\r\n [columnsHyperLink]=\"columnsHyperLink\"\r\n [disableHyperLink]=\"disableHyperLink\"\r\n [alternateEditObjectColumn]=\"alternateEditObjectColumn\"\r\n [openOnClick]=\"openOnClick\"\r\n [isslider]=\"isslider\"\r\n [hideAvatar]=\"hideAvatar\"\r\n [contextMenuOverflowText]=\"setting.ContextMenuOverflowText\"\r\n [extraFooterComponent]=\"setting.ExtraFooterComponent\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [setting]=\"setting\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [rowIndicatorColor]=\"!allColumns.length ? '' : (allColumns[0].Caption | rval: mo:allColumns)\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [detailsText]=\"detailsText\"\r\n [detailsTextFunction]=\"detailsTextFunction\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [setting]=\"setting\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [formSetting]=\"formSetting\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"rowCheck.emit($event)\"\r\n (rowClick)=\"rowClick.emit($event)\"\r\n (ulvCommand)=\"ulvCommand.emit($event)\"\r\n (editFormPanelSave)=\"editFormPanelSave.emit($event)\"\r\n (editFormPanelCancel)=\"editFormPanelCancel.emit($event)\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </bsu-card-item>\r\n</ng-template>\r\n<ng-template #cardTemplateGrid let-mo let-index=\"index\">\r\n <div\r\n [fdLayoutGridCol]=\"sizeS\"\r\n [colMd]=\"sizeM\"\r\n [colLg]=\"sizeL\"\r\n [colXl]=\"sizeXl\"\r\n [class.selected]=\"mo.$IsChecked ? true : false\"\r\n class=\"card-container\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".card-list{flex-wrap:wrap;padding-bottom:2rem;margin-left:0;row-gap:.25rem}.card-list .group-label{width:100%;display:flex;align-items:center;border-right:none;padding-top:.25rem;padding-bottom:.25rem;column-gap:10px}::ng-deep .card-list .unread .fd-form-item,::ng-deep .card-list .unread .fd-title,::ng-deep .card-list .unread .fd-quick-view__subtitle{font-weight:700}::ng-deep .card-list .group-item-content{background-color:transparent}::ng-deep .card-list .selected fd-card{border-color:var(--sapList_SelectionBorderColor, #0854a0);border-style:solid;border-width:thin}::ng-deep .card-list fd-card fd-icon .avatar{font-size:.75rem!important}::ng-deep .card-list fd-card .fd-quick-view__content{height:100%}::ng-deep .card-list fd-card fd-icon .avatar{font-size:1rem!important}.card-view-flex-container{width:100%;display:flex;flex-wrap:wrap;row-gap:10px;column-gap:10px}\n"] }]
5628
5623
  }] });
5629
5624
 
5630
5625
  class StringToArrayPipe {