barsa-sap-ui 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barsa-sap-ui",
3
- "version": "3.0.6",
3
+ "version": "3.0.7",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^22.0.8",
6
6
  "@angular/common": "^22.0.8"
@@ -7,7 +7,7 @@ import { ComboboxComponent, ComboboxSelectionChangeEvent, IconTabBarItem, IconTa
7
7
  import { ComboBoxDataSource, DataProvider } from '@fundamental-ngx/platform/shared';
8
8
  import * as i237 from 'barsa-novin-ray-core';
9
9
  import { BaseComponent, ReportViewBaseComponent, UiReportViewBaseSetting, LayoutItemBaseComponent, BbbTranslatePipe, LayoutService, MetaobjectDataModel, GridSetting, ReportViewColumn, CollectionSort, SortDirection, ReportBaseComponent, DeviceSize, SelectionMode, LayoutSetting, ScrollLayoutContextHolder, ScrollLayoutMode, EntitySettingsStore, PortalService, UlvMainService, FormPanelService, LayoutMainContentService, DefaultCommandsAccess, ColumnSummaryType, columnsResizedEventArgs, ShareButtonsChoiceDef, SortSetting, FieldBaseComponent, EllipsifyDirective, AbbrevationDeviceSize, FillEmptySpaceDirective, RelationItemType, TreeNodeObj, ColumnRendererBase, UiReportViewBase, MoForReportModel, EjrayOlgo, TableHeaderWidthMode, ColumnResizedArgs, NotificationItem, NotificationAction, CultureTypes, DateService, FormComponent, FormSetting, GeneralControlInfoModel, ColumnInfoType, SearchPanelSettings, GridView, ToolbarButtonReportViewType, PagingSetting, CssBackground, ShortCuts, BreadCrumbInfo, UlvHeightSizeType, ShortCutData, BaseViewItemPropsComponent, UploadService, IUploadingState, FilesValidationHelper, FileAttachmentInfo, LinearListHelper, BaseUlvSettingComponent, LayoutPanelBaseComponent, FormToolbarBaseComponent, InfoBarType, ReportModel, FilePictureInfoModel, FormBaseComponent, PictureGroupItem, Media, BaseController, IViewBase, IBaseController, ITemplateEngine, MoReportValuePipe, FindColumnsPipe, FieldViewBase, ContainerComponent, DialogParams, BarsaDialogService, ContainerService, UiResponsiveSettings, FormPropsBaseComponent, BaseDirective, NumberBaseComponent, ViewTypes, ClassNamesModel, ReportExtraInfo, MenuItem, TypeUlvMainCtrlr, EffectiveReportLayoutPolicy, BaseViewContentPropsComponent, ResponsiveColsConfig, BaseColumnPropsComponent, BaseFormToolbaritemPropsComponent, FormComponentParams, BreadcrumbService, PictureFieldSourcePipe, ResponsiveBreakpoints, ReportNavigatorComponent, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';
10
- import { ScrollStrategy, Overlay } from '@angular/cdk/overlay';
10
+ import { ScrollStrategy, Overlay, ConnectedPosition } from '@angular/cdk/overlay';
11
11
  import * as i240 from '@fundamental-ngx/core';
12
12
  import { ContentDensity, TableComponent, ToolbarComponent, DialogConfig, ContentDensityService, DialogService, PopoverComponent, DynamicPageResponsiveSize, SvgConfig, CardType, MenuComponent, Size, DialogRef, RadioButtonComponent, DynamicPageComponent, FileUploaderComponent, DialogComponent, BarDesignType, MultiInputComponent, MessageStripType, MessageStripIndicationColor, MessageStripAlertService, TabPanelComponent, WizardStepComponent, WizardStepStatus, WizardSize, BusyIndicatorSize, ObjectStatus, IconFont, InlineHelpDirective, ButtonType, SliderComponent, InputGroupComponent, ContentDensityMode } from '@fundamental-ngx/core';
13
13
  import { SafeHtml, DomSanitizer, SafeResourceUrl, SafeStyle } from '@angular/platform-browser';
@@ -74,6 +74,11 @@ declare class FundamentalComboComponent implements AfterViewInit, OnDestroy {
74
74
  fillControlMode: 'at-least' | 'equal';
75
75
  tabOutStrategy: string;
76
76
  closeOnOutsideClick: boolean;
77
+ /**
78
+ * typeahead داخلی Platform را فقط برای صفحه‌کلید لمسی متوقف می‌کند. این guard برای
79
+ * جستجوی ناهمگام ULV است؛ مصرف‌کننده‌های دیگر و ورودی دسکتاپ رفتار پیش‌فرض را دارند.
80
+ */
81
+ suppressTypeaheadOnCoarsePointer: boolean;
77
82
  /** انتخابِ نهایی: آبجکتِ رکورد، یا (در حالتِ allowFreeText) رشته‌ی متنِ آزاد. */
78
83
  selectionChange: EventEmitter<any>;
79
84
  /** درخواستِ پاک‌کردنِ مقدار (payload خالی از سمتِ کمبو). */
@@ -87,6 +92,14 @@ declare class FundamentalComboComponent implements AfterViewInit, OnDestroy {
87
92
  private _pendingNavigationSelection;
88
93
  private _commitPendingNavigationSelection;
89
94
  private _pointerSelectionInProgress;
95
+ /**
96
+ * آیتمِ زیرِ mousedown (اگر روی یک option بوده). وقتی فیلد نزدیکِ لبه‌ی صفحه است، CDK popover
97
+ * ممکن است بینِ mousedown و click جابه‌جا شود (flip بالا/پایین)؛ در آن حالت click واقعیِ کاربر
98
+ * به مکانِ قبلی می‌خورد و هیچ‌چیز انتخاب نمی‌شود. نگه‌داشتنِ همین رفرنس اجازه می‌دهد در
99
+ * _trackComboListInteraction کلیک را روی همان المان (که فقط جابه‌جا شده، نه از بین رفته) دوباره
100
+ * شبیه‌سازی کنیم؛ نیازی به دانستنِ value یا data-model نیست.
101
+ */
102
+ private _pendingMouseDownOptionEl;
90
103
  ngAfterViewInit(): void;
91
104
  ngOnDestroy(): void;
92
105
  onSelectionChange(event: ComboboxSelectionChangeEvent): void;
@@ -100,15 +113,25 @@ declare class FundamentalComboComponent implements AfterViewInit, OnDestroy {
100
113
  /** بازنویسیِ متنِ نمایشِ کمبو با مقدارِ فعلی (بدون انتشارِ رویداد). */
101
114
  restoreDisplay(value?: any): void;
102
115
  protected _handleComboInputKeyboard(event: KeyboardEvent): void;
116
+ protected _hasCoarsePointer(input: HTMLInputElement | null): boolean;
103
117
  protected _trackComboListInteraction(event: KeyboardEvent | MouseEvent): void;
104
118
  protected _shouldDeferComboSelection(): boolean;
105
119
  protected _finalizePendingNavigationSelection(): void;
106
120
  protected _resetPendingNavigationSelection(): void;
107
121
  protected _isComboOptionTarget(target: EventTarget | null): boolean;
122
+ protected _closestComboOption(target: EventTarget | null): HTMLElement | null;
123
+ /**
124
+ * true وقتی: mousedown روی یک option افتاده، آن option هنوز در DOM و داخلِ لیستِ بازِ همین
125
+ * کمبو است، ولی click واقعی به جای دیگری خورده (چون popover جابه‌جا شده و آن مکانِ قبلی
126
+ * دیگر چیزی نیست).
127
+ */
128
+ protected _shouldRetryStaleOptionClick(event: MouseEvent): boolean;
129
+ /** کلیکِ گم‌شده را روی همان المانِ mousedown-شده (که فقط جابه‌جا شده) دوباره شبیه‌سازی می‌کند. */
130
+ protected _retryStaleOptionClick(): void;
108
131
  protected _isComboListTarget(target: Element | null): boolean;
109
132
  protected _isComboListVisible(input: HTMLInputElement | null): boolean;
110
133
  static ɵfac: i0.ɵɵFactoryDeclaration<FundamentalComboComponent, never>;
111
- static ɵcmp: i0.ɵɵComponentDeclaration<FundamentalComboComponent, "bsu-fundamental-combo", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "value": { "alias": "value"; "required": false; }; "displayKey": { "alias": "displayKey"; "required": false; }; "lookupKey": { "alias": "lookupKey"; "required": false; }; "byline": { "alias": "byline"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; }; "isLtr": { "alias": "isLtr"; "required": false; }; "id": { "alias": "id"; "required": false; }; "showDropdownButton": { "alias": "showDropdownButton"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "allowFreeText": { "alias": "allowFreeText"; "required": false; }; "width": { "alias": "width"; "required": false; }; "comboClass": { "alias": "comboClass"; "required": false; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; }; "tabOutStrategy": { "alias": "tabOutStrategy"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; }, { "selectionChange": "selectionChange"; "cleared": "cleared"; "openChange": "openChange"; "dataRequested": "dataRequested"; "dataReceived": "dataReceived"; }, never, ["*"], false, never>;
134
+ static ɵcmp: i0.ɵɵComponentDeclaration<FundamentalComboComponent, "bsu-fundamental-combo", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "value": { "alias": "value"; "required": false; }; "displayKey": { "alias": "displayKey"; "required": false; }; "lookupKey": { "alias": "lookupKey"; "required": false; }; "byline": { "alias": "byline"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; }; "isLtr": { "alias": "isLtr"; "required": false; }; "id": { "alias": "id"; "required": false; }; "showDropdownButton": { "alias": "showDropdownButton"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "allowFreeText": { "alias": "allowFreeText"; "required": false; }; "width": { "alias": "width"; "required": false; }; "comboClass": { "alias": "comboClass"; "required": false; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; }; "tabOutStrategy": { "alias": "tabOutStrategy"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "suppressTypeaheadOnCoarsePointer": { "alias": "suppressTypeaheadOnCoarsePointer"; "required": false; }; }, { "selectionChange": "selectionChange"; "cleared": "cleared"; "openChange": "openChange"; "dataRequested": "dataRequested"; "dataReceived": "dataReceived"; }, never, ["*"], false, never>;
112
135
  }
113
136
 
114
137
  /**
@@ -966,6 +989,8 @@ interface UiCardListViewSetting extends UiReportViewBaseSetting {
966
989
  CardWidth: string;
967
990
  ContentComponent: EjrayOlgo;
968
991
  CardType$Caption: CardType;
992
+ /** فقط برای CardType$Caption === 'banner': نمایشِ لایه‌ی نیمه‌شفافِ عنوان/زیرعنوان روی عکسِ بنر. پیش‌فرض false است. */
993
+ IsOverlay?: boolean;
969
994
  }
970
995
  interface UiNotificationViewSettings extends UiReportViewBaseSetting {
971
996
  TitleField: string;
@@ -2842,6 +2867,7 @@ declare class FileViewerContentComponent extends BaseComponent {
2842
2867
  private _picFieldSrc;
2843
2868
  private _renderer2;
2844
2869
  private _imageLoadingTimer;
2870
+ get effectiveCardContentHeight(): string | null;
2845
2871
  ngOnInit(): void;
2846
2872
  ngOnChanges(changes: SimpleChanges): void;
2847
2873
  ngOnDestroy(): void;
@@ -4163,6 +4189,13 @@ declare class CardItemComponent extends BaseViewItemPropsComponent implements On
4163
4189
  contextMenuEnabled: boolean;
4164
4190
  cardMedia: boolean;
4165
4191
  isCardTypeBanner: boolean;
4192
+ /**
4193
+ * بنر بدون IsOverlay: دقیقاً رفتارِ قبلی (کانتینرِ عنوان/زیرعنوان همیشه رندر می‌شود).
4194
+ * بنر با IsOverlay=true: حالتِ overlay فاندامنتال (`[isOverlay]` روی
4195
+ * fd-card-media-content-container) اعمال می‌شود، ولی اگر نه عنوان و نه زیرعنوان تنظیم
4196
+ * نشده باشند، کلِ کانتینر رندر نمی‌شود و فقط عکسِ بنر می‌ماند.
4197
+ */
4198
+ showBannerContentContainer: boolean;
4166
4199
  contentTemplateRef: TemplateRef<any>;
4167
4200
  ngOnInit(): void;
4168
4201
  static ɵfac: i0.ɵɵFactoryDeclaration<CardItemComponent, never>;
@@ -4345,6 +4378,8 @@ interface FilePreviewSizeConfig {
4345
4378
  maxWidth: string | null;
4346
4379
  /** روی `fd-popover-body`؛ با قاعده‌ی scss به اسکرولِ داخلی تبدیل می‌شود */
4347
4380
  maxHeight: string | null;
4381
+ /** ارتفاعِ محتوای سند با رزرو فضای footer؛ برای تصویر مصرف نمی‌شود */
4382
+ documentContentHeight: string | null;
4348
4383
  }
4349
4384
  declare class FileViewerPopoverComponent extends BaseComponent {
4350
4385
  files: FileAttachmentInfo[];
@@ -4360,7 +4395,9 @@ declare class FileViewerPopoverComponent extends BaseComponent {
4360
4395
  remove: EventEmitter<void>;
4361
4396
  hideFullScreen: boolean;
4362
4397
  popoverOpened: boolean;
4398
+ readonly viewportCenteredPositions: ConnectedPosition[];
4363
4399
  get sizeConfig(): FilePreviewSizeConfig;
4400
+ get isViewportBounded(): boolean;
4364
4401
  static ɵfac: i0.ɵɵFactoryDeclaration<FileViewerPopoverComponent, never>;
4365
4402
  static ɵcmp: i0.ɵɵComponentDeclaration<FileViewerPopoverComponent, "bsu-file-viewer-popover", never, { "files": { "alias": "files"; "required": false; }; "file": { "alias": "file"; "required": false; }; "index": { "alias": "index"; "required": false; }; "deviceSize": { "alias": "deviceSize"; "required": false; }; "canDownload": { "alias": "canDownload"; "required": false; }; "disableRemove": { "alias": "disableRemove"; "required": false; }; "fdType": { "alias": "fdType"; "required": false; }; "attachmentViewType": { "alias": "attachmentViewType"; "required": false; }; "previewSize": { "alias": "previewSize"; "required": false; }; }, { "remove": "remove"; }, never, never, false, never>;
4366
4403
  }