barsa-novin-ray-core 2.3.145 → 2.3.149

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,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, ElementRef, Input, ChangeDetectionStrategy, Component, Pipe, ComponentFactoryResolver, Injector, ApplicationRef, Compiler, DOCUMENT, NgModuleFactory, InjectionToken, NgZone, signal, ViewContainerRef, isDevMode, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewChild, Directive, TemplateRef, input, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer, ErrorHandler } from '@angular/core';
2
+ import { Injectable, inject, ElementRef, Input, ChangeDetectionStrategy, Component, Pipe, ComponentFactoryResolver, Injector, ApplicationRef, Compiler, DOCUMENT, NgModuleFactory, InjectionToken, NgZone, signal, ViewContainerRef, isDevMode, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewChild, effect, Directive, TemplateRef, input, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer, ErrorHandler } from '@angular/core';
3
3
  import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, timer, combineLatest, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, switchMap, forkJoin, shareReplay, withLatestFrom as withLatestFrom$1, fromEvent, throwError, merge, interval, filter as filter$1, lastValueFrom, timeout, catchError as catchError$1, takeUntil as takeUntil$1, take, skip, Observable, tap as tap$1, mergeWith, Subscription } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
5
  import { Router, NavigationEnd, ActivatedRoute, RouterEvent, NavigationStart, RouterModule, RouteReuseStrategy } from '@angular/router';
@@ -2131,6 +2131,110 @@ function isImage(type) {
2131
2131
  type = type.toLowerCase();
2132
2132
  return ['img', 'png', 'jpeg', 'jpg', 'gif', 'bmp', 'tiff', 'image', 'jfif'].indexOf(type) > -1;
2133
2133
  }
2134
+ function getNestedValue(key, object) {
2135
+ return key.split('.').reduce((a, b) => (typeof a === 'undefined' ? a : a[b]), object);
2136
+ }
2137
+ const sort = (a, b, key, isNumber) => {
2138
+ if (key) {
2139
+ if (typeof a === 'object' && !(a instanceof Date)) {
2140
+ a = getNestedValue(key, a);
2141
+ }
2142
+ if (typeof b === 'object' && !(b instanceof Date)) {
2143
+ b = getNestedValue(key, b);
2144
+ }
2145
+ }
2146
+ if (key === 'Rownumber' || isNumber) {
2147
+ return Number(a) === Number(b) ? 0 : Number(a) > Number(b) ? 1 : -1;
2148
+ }
2149
+ else if (typeof a === 'string' && typeof b === 'string') {
2150
+ return a.localeCompare(b);
2151
+ }
2152
+ else if (a instanceof Date || b instanceof Date) {
2153
+ if (!a && b) {
2154
+ return -1;
2155
+ }
2156
+ if (!b && a) {
2157
+ return 1;
2158
+ }
2159
+ if (a instanceof Date && b instanceof Date) {
2160
+ const msDateA = Date.UTC(a.getFullYear(), a.getMonth() + 1, a.getDate());
2161
+ const msDateB = Date.UTC(b.getFullYear(), b.getMonth() + 1, b.getDate());
2162
+ if (msDateA < msDateB) {
2163
+ return -1;
2164
+ }
2165
+ else if (msDateA === msDateB) {
2166
+ return 0;
2167
+ }
2168
+ else if (msDateA > msDateB) {
2169
+ return 1;
2170
+ }
2171
+ return a.getTime() > b?.getTime() ? 1 : a.getTime() === b.getTime() ? 0 : -1;
2172
+ }
2173
+ else {
2174
+ return 0;
2175
+ }
2176
+ }
2177
+ return a > b ? 1 : a === b ? 0 : -1;
2178
+ };
2179
+ const sortEx = (sortBy, moDataList) => {
2180
+ const items = moDataList.slice();
2181
+ const newSortBy = sortBy.filter(({ field }) => !!field);
2182
+ if (newSortBy.length === 0) {
2183
+ return items;
2184
+ }
2185
+ return items.sort((a, b) =>
2186
+ /* eslint-disable */
2187
+ newSortBy
2188
+ .map(({ field, direction, isNumber }) => {
2189
+ const ascModifier = direction === SortDirection.ASC ? 1 : -1;
2190
+ return sort(a, b, field, isNumber) * ascModifier;
2191
+ })
2192
+ .find((result, index, list) => result !== 0 || index === list.length - 1));
2193
+ };
2194
+ function multilevelSort(criteria) {
2195
+ const compareFunctions = criteria.map((x) => {
2196
+ const { field, direction, isNumber } = x;
2197
+ return (a, b) => {
2198
+ let aValue = a[field || '$_x_']; // optionally transform the property value
2199
+ let bValue = b[field || '$_x_']; // we use an identity function as default
2200
+ if (aValue instanceof Date) {
2201
+ aValue = aValue.getTime();
2202
+ }
2203
+ if (bValue instanceof Date) {
2204
+ bValue = bValue.getTime();
2205
+ }
2206
+ const ascModifier = direction === SortDirection.ASC ? 1 : -1;
2207
+ const res = sort(aValue, bValue, field, isNumber);
2208
+ // console.log('sort res=', res * ascModifier, 'on field', field, aValue, bValue);
2209
+ return res * ascModifier;
2210
+ };
2211
+ });
2212
+ return combineComparisonFunctions(compareFunctions);
2213
+ }
2214
+ function combineComparisonFunctions(compareFunctions) {
2215
+ return (a, b) => {
2216
+ return compareFunctions.reduce((result, compareFunction) => {
2217
+ // Proceeds to the next comparison function if the previous one returned 0
2218
+ // console.log('before ', result);
2219
+ // console.log('next a ,b ', a, b);
2220
+ return result || compareFunction(a, b);
2221
+ }, 0);
2222
+ };
2223
+ }
2224
+ const searchEx = (searchTerm, columns, items) => {
2225
+ const searchText = searchTerm || '';
2226
+ const keysToSearchBy = columns;
2227
+ if (searchText.trim() === '' || keysToSearchBy.length === 0) {
2228
+ return items;
2229
+ }
2230
+ return items.filter((item) => {
2231
+ const valuesForSearch = keysToSearchBy.map((key) => getNestedValue(key, item));
2232
+ return valuesForSearch
2233
+ .filter((value) => !!value)
2234
+ .map((value) => value.toString())
2235
+ .some((value) => value.toLocaleLowerCase().includes(searchText.toLocaleLowerCase()));
2236
+ });
2237
+ };
2134
2238
  function GetAllColumnsSorted(context) {
2135
2239
  const allColumns = BarsaApi.Common.Util.TryGetValue(context, 'Setting.View.Columns', []).filter((c) => c.Name !== 'Id' && c.Name !== '$StyleIndex' && !c.Hidden);
2136
2240
  const colList = BarsaApi.Common.Util.TryGetValue(context, 'Setting.View.GridSetting.ColSettingList', []);
@@ -3291,45 +3395,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
3291
3395
  }] });
3292
3396
 
3293
3397
  class SortPipe {
3294
- transform(value, sortOrder = 'asc', sortKey) {
3295
- sortOrder = sortOrder && sortOrder.toLowerCase();
3296
- if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) {
3297
- return value;
3298
- }
3299
- let numberArray = [];
3300
- let stringArray = [];
3301
- if (!sortKey) {
3302
- numberArray = value.filter((item) => typeof item === 'number').sort();
3303
- stringArray = value.filter((item) => typeof item === 'string').sort();
3398
+ transform(items, criteria) {
3399
+ if (!items?.length || !criteria?.length) {
3400
+ return items;
3304
3401
  }
3305
- else {
3306
- numberArray = value
3307
- .filter((item) => typeof item[sortKey] === 'number')
3308
- .sort((a, b) => a[sortKey] - b[sortKey]);
3309
- stringArray = value
3310
- .filter((item) => typeof item[sortKey] === 'string')
3311
- .sort((a, b) => {
3312
- if (a[sortKey] < b[sortKey]) {
3313
- return -1;
3314
- }
3315
- else if (a[sortKey] > b[sortKey]) {
3316
- return 1;
3317
- }
3318
- else {
3319
- return 0;
3320
- }
3321
- });
3322
- }
3323
- const sorted = numberArray.concat(stringArray);
3324
- return sortOrder === 'asc' ? sorted : sorted.reverse();
3402
+ return [...items].sort(multilevelSort(criteria));
3325
3403
  }
3326
3404
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3327
3405
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SortPipe, isStandalone: false, name: "sort" }); }
3328
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SortPipe }); }
3329
3406
  }
3330
3407
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SortPipe, decorators: [{
3331
- type: Injectable
3332
- }, {
3333
3408
  type: Pipe,
3334
3409
  args: [{
3335
3410
  name: 'sort',
@@ -4689,6 +4764,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
4689
4764
  }]
4690
4765
  }] });
4691
4766
 
4767
+ class FindColumnsPipe {
4768
+ transform(columns, columnsToFind) {
4769
+ if (!columns?.length || !columnsToFind) {
4770
+ return columns;
4771
+ }
4772
+ const arrOfColumns = columnsToFind.split(',');
4773
+ const x = columns.filter((column, _i) => arrOfColumns.indexOf(column.Caption) !== -1 || arrOfColumns.indexOf(column.Name) !== -1);
4774
+ return x;
4775
+ }
4776
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FindColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4777
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: FindColumnsPipe, isStandalone: false, name: "findColumns" }); }
4778
+ }
4779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FindColumnsPipe, decorators: [{
4780
+ type: Pipe,
4781
+ args: [{
4782
+ name: 'findColumns',
4783
+ standalone: false
4784
+ }]
4785
+ }] });
4786
+
4787
+ class ExistsColumnsPipe {
4788
+ transform(columns, column) {
4789
+ if (!columns?.length || !column) {
4790
+ return columns;
4791
+ }
4792
+ return columns.filter((col) => col.Name === column.Name || col.Caption === column.Caption);
4793
+ }
4794
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ExistsColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4795
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: ExistsColumnsPipe, isStandalone: false, name: "existsColumns" }); }
4796
+ }
4797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ExistsColumnsPipe, decorators: [{
4798
+ type: Pipe,
4799
+ args: [{
4800
+ name: 'existsColumns',
4801
+ standalone: false
4802
+ }]
4803
+ }] });
4804
+
4692
4805
  class ApiService {
4693
4806
  constructor() {
4694
4807
  this.portalLoginUrl = `/api/auth/portal/login`;
@@ -6317,7 +6430,7 @@ function reportRoutes(authGuard = false) {
6317
6430
  return {
6318
6431
  path: 'report/:id',
6319
6432
  canActivate: authGuard ? [AuthGuard] : [],
6320
- loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-7QOR1HJT.mjs').then((m) => m.BarsaReportPageModule),
6433
+ loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-2Plo4BPj.mjs').then((m) => m.BarsaReportPageModule),
6321
6434
  resolve: {
6322
6435
  breadcrumb: ReportBreadcrumbResolver
6323
6436
  }
@@ -7077,6 +7190,24 @@ class PortalService {
7077
7190
  reject('error in get server startup data.');
7078
7191
  }, null);
7079
7192
  }
7193
+ buildNavigationParams(formpanelCtrlr, mo, headerLayout, id, isPage) {
7194
+ const breadCrumb = getHeaderValue(headerLayout?.BreadCrumb);
7195
+ const params = {
7196
+ id: mo.$State === 'New' ? '0' : mo.Id,
7197
+ tyid: mo.$TypeDefId,
7198
+ tycp: mo.$Caption ? mo.$Caption : null,
7199
+ repid: mo.$ReportId,
7200
+ vid: formpanelCtrlr?.Setting?.View?.TypeViewId,
7201
+ bc: breadCrumb ? breadCrumb : mo.$State === 'New' ? mo.$TypeDefName : mo.$Caption,
7202
+ formPanelCtrlrId: id,
7203
+ mo: mo
7204
+ };
7205
+ // اگر کامپوننت به صورت Page باز شود، فلگ isFirst هم اضافه می‌شود
7206
+ if (isPage) {
7207
+ params.isFirst = true;
7208
+ }
7209
+ return params;
7210
+ }
7080
7211
  ShowFormPanelControl(formpanelCtrlr, router, activatedRoute, dialogComponent, isPage, vcr, isReload = false) {
7081
7212
  if (!formpanelCtrlr) {
7082
7213
  console.warn('form panel controler is undefined!');
@@ -7106,10 +7237,11 @@ class PortalService {
7106
7237
  const id = getUniqueId(4);
7107
7238
  this.addFormPanelCtrlr(id, formpanelCtrlr);
7108
7239
  this.openForm$.next(); // event emit for other components to know form open
7240
+ const navigationParams = this.buildNavigationParams(formpanelCtrlr, mo, headerLayout, id, isPage);
7109
7241
  if (isModal) {
7110
7242
  if (dialogComponent) {
7111
7243
  this.dialogService.showForm(dialogComponent, {
7112
- ...queryParams,
7244
+ ...navigationParams,
7113
7245
  formpanelCtrlr
7114
7246
  }, vcr);
7115
7247
  }
@@ -7124,7 +7256,7 @@ class PortalService {
7124
7256
  'form',
7125
7257
  {
7126
7258
  outlets: {
7127
- main: ['show', { ...queryParams, formPanelCtrlrId: id, isFirst: true }]
7259
+ main: ['show', { ...navigationParams }]
7128
7260
  }
7129
7261
  }
7130
7262
  ], {
@@ -7138,7 +7270,7 @@ class PortalService {
7138
7270
  'popup',
7139
7271
  {
7140
7272
  outlets: {
7141
- main: ['show', { ...queryParams, formPanelCtrlrId: id }]
7273
+ main: ['show', { ...navigationParams }]
7142
7274
  }
7143
7275
  }
7144
7276
  ], {
@@ -7414,6 +7546,7 @@ class UlvMainService {
7414
7546
  this._ulvHeightSizeTypeSource = new BehaviorSubject(UlvHeightSizeType.Default);
7415
7547
  this._ulvHeightSizeSource = new BehaviorSubject(0);
7416
7548
  this._toolbarSettingsSource = new BehaviorSubject(null);
7549
+ this._showToolbarBorderSource = new BehaviorSubject(false);
7417
7550
  this._viewSettingsSource = new BehaviorSubject({});
7418
7551
  this.context$ = this._contextSource
7419
7552
  .asObservable()
@@ -7669,6 +7802,12 @@ class UlvMainService {
7669
7802
  get shortCuts$() {
7670
7803
  return this._shortCutsSource.asObservable();
7671
7804
  }
7805
+ get showToolbarBorder$() {
7806
+ return this._showToolbarBorderSource.asObservable();
7807
+ }
7808
+ setToolbarBorder(showBorder) {
7809
+ this._showToolbarBorderSource.next(showBorder);
7810
+ }
7672
7811
  setToolbarSettings(toolbarSettings) {
7673
7812
  this._toolbarSettingsSource.next(toolbarSettings);
7674
7813
  }
@@ -9178,12 +9317,14 @@ class NotificationService {
9178
9317
  Notification.permission === 'granted');
9179
9318
  }
9180
9319
  showNotification(notificationItem, mo, uiOptions, otherOptions) {
9181
- if (notificationItem.Title && notificationItem.Title.startsWith('[') && notificationItem.Title.endsWith(']')) {
9182
- return;
9183
- }
9184
- if (notificationItem.Title && notificationItem.Title.startsWith('{') && notificationItem.Title.endsWith('}')) {
9185
- return;
9186
- }
9320
+ // if (notificationItem.Title && notificationItem.Title.startsWith('[') && notificationItem.Title.endsWith(']')) {
9321
+ // return;
9322
+ // }
9323
+ // if (notificationItem.Title && notificationItem.Title.startsWith('{') && notificationItem.Title.endsWith('}')) {
9324
+ // return;
9325
+ // } زمانی که سیستم مدیریت کارتابل جدید نباشد نوتفیکشن های قدیمی نمایش داده نمیشدند
9326
+ // فعلا کامنت شد و جایی که سیستم مدیریت کارتابل جدید دارد و کار میکند
9327
+ // باعث نمایش دوتا پاپ اپ میشود
9187
9328
  if (mo && !mo.ShowPopup) {
9188
9329
  return;
9189
9330
  }
@@ -10665,6 +10806,9 @@ class ReportBaseComponent extends BaseComponent {
10665
10806
  get moDataList() {
10666
10807
  return this._ulvMainService.moDataListSource.getValue();
10667
10808
  }
10809
+ get isCheckList() {
10810
+ return this._ulvMainService.isMultiSelect;
10811
+ }
10668
10812
  ngOnInit() {
10669
10813
  super.ngOnInit();
10670
10814
  this.rendered = true;
@@ -10680,6 +10824,7 @@ class ReportBaseComponent extends BaseComponent {
10680
10824
  this.conditionalFormats$ = this._ulvMainService.conditionalFormats$;
10681
10825
  this.cartableTemplates$ = this._ulvMainService.cartableTemplates$;
10682
10826
  this.cartableChildsMo$ = this._ulvMainService.cartableChildsMo$;
10827
+ this.isCheckList$ = this._ulvMainService.isMultiSelect$;
10683
10828
  this.title$ = this._ulvMainService.title$.pipe(pluck('text'));
10684
10829
  this.menuItems$ = this._ulvMainService.menuItems$;
10685
10830
  this.pagingSetting$ = this._ulvMainService.pagingSetting$;
@@ -10833,7 +10978,7 @@ class ReportBaseComponent extends BaseComponent {
10833
10978
  this.context.fireEvent('UserSettingChange', this.context, gridSetting);
10834
10979
  }
10835
10980
  _ulvCommandClicked(mo, index) {
10836
- this._removeCheckedAll();
10981
+ !this.isCheckList && this._removeCheckedAll();
10837
10982
  this._select(mo, index);
10838
10983
  }
10839
10984
  _checkedAll() {
@@ -11572,8 +11717,18 @@ class FilesValidationHelper {
11572
11717
  }
11573
11718
 
11574
11719
  class ReportViewBaseComponent extends BaseComponent {
11720
+ set containerWidth(val) {
11721
+ this._containerWidth = val;
11722
+ this._containerWidthChanged(val);
11723
+ }
11724
+ get showViewButton() {
11725
+ return this.canView && !this.inlineEditMode && !this.hideOpenIcon;
11726
+ }
11727
+ /**
11728
+ *
11729
+ */
11575
11730
  constructor() {
11576
- super(...arguments);
11731
+ super();
11577
11732
  this._reportView = true;
11578
11733
  this._visibility = 'hidden';
11579
11734
  this.rowActivable = true;
@@ -11604,6 +11759,7 @@ class ReportViewBaseComponent extends BaseComponent {
11604
11759
  this.mandatory = new EventEmitter();
11605
11760
  this.columnResized = new EventEmitter();
11606
11761
  this.hasDetailsInRow = new EventEmitter();
11762
+ this.isMobile = getDeviceIsMobile();
11607
11763
  this.canView = false;
11608
11764
  this.contextMenuWidth = 0;
11609
11765
  this.detailsColumns = [];
@@ -11622,13 +11778,14 @@ class ReportViewBaseComponent extends BaseComponent {
11622
11778
  this._firstVisible = false;
11623
11779
  this._onVisible$ = new Subject();
11624
11780
  this.$resize = new Subject();
11625
- }
11626
- set containerWidth(val) {
11627
- this._containerWidth = val;
11628
- this._containerWidthChanged(val);
11629
- }
11630
- get showViewButton() {
11631
- return this.canView && !this.inlineEditMode && !this.hideOpenIcon;
11781
+ this._scrollLayoutContext = inject(ScrollLayoutContextHolder, { optional: true });
11782
+ if (this._scrollLayoutContext) {
11783
+ effect(() => {
11784
+ this._scrollLayoutContext.mode();
11785
+ this._applyScrollLayoutForContextMode();
11786
+ this._cdr.markForCheck();
11787
+ });
11788
+ }
11632
11789
  }
11633
11790
  ngOnInit() {
11634
11791
  super.ngOnInit();
@@ -11663,6 +11820,10 @@ class ReportViewBaseComponent extends BaseComponent {
11663
11820
  .pipe(takeUntil$1(this._onDestroy$), skip(1), debounceTime$1(50))
11664
11821
  .subscribe(() => this.onResize());
11665
11822
  }
11823
+ ngAfterViewInit() {
11824
+ super.ngAfterViewInit();
11825
+ this._setHeight(this.parentHeight);
11826
+ }
11666
11827
  ngOnDestroy() {
11667
11828
  super.ngOnDestroy();
11668
11829
  this._ro?.disconnect();
@@ -11670,6 +11831,17 @@ class ReportViewBaseComponent extends BaseComponent {
11670
11831
  ngOnChanges(changes) {
11671
11832
  super.ngOnChanges(changes);
11672
11833
  let detectChanges = false;
11834
+ const { parentHeight, contentHeight, effectiveReportLayout } = changes;
11835
+ if (effectiveReportLayout) {
11836
+ this._applyScrollLayoutForContextMode();
11837
+ this._setHeight(this.parentHeight);
11838
+ }
11839
+ if (contentHeight && contentHeight.currentValue) {
11840
+ this._setHeight(contentHeight.currentValue, false);
11841
+ }
11842
+ if (parentHeight && !parentHeight.firstChange) {
11843
+ this._setHeight(parentHeight.currentValue);
11844
+ }
11673
11845
  Object.keys(changes).forEach((key) => {
11674
11846
  if (!changes[key].firstChange) {
11675
11847
  this[key] = changes[key].currentValue;
@@ -11772,12 +11944,35 @@ class ReportViewBaseComponent extends BaseComponent {
11772
11944
  _trackByRow(index, row) {
11773
11945
  return `${row.$Group ? row.$Group : row.Id}${index}`;
11774
11946
  }
11947
+ _setHeight(parentHeight, checkDialog = true) {
11948
+ if (this._effectiveScrollInheritsFromParent()) {
11949
+ this.height = 'auto';
11950
+ this._renderer2.setStyle(this._el.nativeElement, 'height', 'auto');
11951
+ return;
11952
+ }
11953
+ if (!this.isMobile && ((checkDialog && !this.inDialog) || !checkDialog)) {
11954
+ this.height = parentHeight ? `${parentHeight}px` : 'auto';
11955
+ this._renderer2.setStyle(this._el.nativeElement, 'height', this.height);
11956
+ this._ulvMainService.setHiddenOverflowContent(true);
11957
+ }
11958
+ }
11959
+ _scrollLayoutMode() {
11960
+ return this._scrollLayoutContext?.mode() ?? 'root';
11961
+ }
11962
+ /** Parent chain owns vertical scroll (nested form shell), or policy says `scroll: 'inherit'`. */
11963
+ _effectiveScrollInheritsFromParent() {
11964
+ if (this.effectiveReportLayout) {
11965
+ return this.effectiveReportLayout.scroll === 'inherit';
11966
+ }
11967
+ return this._scrollLayoutMode() === 'nested';
11968
+ }
11775
11969
  onVisible() {
11776
11970
  this._visibility = 'visible';
11777
11971
  this._renderer2.setStyle(this._el.nativeElement, 'visibility', 'visible');
11778
11972
  this._onVisible$.next();
11779
11973
  }
11780
11974
  onResize() { }
11975
+ _applyScrollLayoutForContextMode() { }
11781
11976
  _handleResize() {
11782
11977
  fromEvent(window, 'resize')
11783
11978
  .pipe(takeUntil$1(this._onDestroy$))
@@ -11819,8 +12014,8 @@ class ReportViewBaseComponent extends BaseComponent {
11819
12014
  }
11820
12015
  this.rowIndicator = Number(columns[0].MetaFieldTypeId) === 41;
11821
12016
  }
11822
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportViewBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11823
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ReportViewBaseComponent, isStandalone: false, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", inlineEditWithoutSelection: "inlineEditWithoutSelection", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", layoutInfo: "layoutInfo", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", isReportPage: "isReportPage", ulvHeightSizeType: "ulvHeightSizeType", contentHeight: "contentHeight", effectiveReportLayout: "effectiveReportLayout", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", sortSettingsChange: "sortSettingsChange", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, host: { properties: { "class.report-view": "this._reportView", "style.visibility": "this._visibility" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12017
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportViewBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12018
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ReportViewBaseComponent, isStandalone: false, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", inlineEditWithoutSelection: "inlineEditWithoutSelection", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", layoutInfo: "layoutInfo", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", isReportPage: "isReportPage", ulvHeightSizeType: "ulvHeightSizeType", contentHeight: "contentHeight", alternateEditObjectColumn: "alternateEditObjectColumn", disableHyperLink: "disableHyperLink", columnsHyperLink: "columnsHyperLink", effectiveReportLayout: "effectiveReportLayout", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", sortSettingsChange: "sortSettingsChange", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, host: { properties: { "class.report-view": "this._reportView", "style.visibility": "this._visibility" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11824
12019
  }
11825
12020
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportViewBaseComponent, decorators: [{
11826
12021
  type: Component,
@@ -11830,7 +12025,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11830
12025
  changeDetection: ChangeDetectionStrategy.OnPush,
11831
12026
  standalone: false
11832
12027
  }]
11833
- }], propDecorators: { _reportView: [{
12028
+ }], ctorParameters: () => [], propDecorators: { _reportView: [{
11834
12029
  type: HostBinding,
11835
12030
  args: ['class.report-view']
11836
12031
  }], _visibility: [{
@@ -11952,6 +12147,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11952
12147
  type: Input
11953
12148
  }], contentHeight: [{
11954
12149
  type: Input
12150
+ }], alternateEditObjectColumn: [{
12151
+ type: Input
12152
+ }], disableHyperLink: [{
12153
+ type: Input
12154
+ }], columnsHyperLink: [{
12155
+ type: Input
11955
12156
  }], effectiveReportLayout: [{
11956
12157
  type: Input
11957
12158
  }], contentDensity: [{
@@ -13477,6 +13678,7 @@ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
13477
13678
  this.sectionClass = true;
13478
13679
  this.ismodal = false;
13479
13680
  this.isinsideview = false;
13681
+ this.isMobile = getDeviceIsMobile();
13480
13682
  this._scrollLayoutContext = inject(ScrollLayoutContextHolder);
13481
13683
  }
13482
13684
  ngOnInit() {
@@ -13516,6 +13718,7 @@ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
13516
13718
  <div
13517
13719
  class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row tw-p-2"
13518
13720
  fillEmptySpace
13721
+ [disable]="isMobile"
13519
13722
  style="box-sizing: border-box;"
13520
13723
  >
13521
13724
  <!-- لیست -->
@@ -13541,6 +13744,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
13541
13744
  <div
13542
13745
  class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row tw-p-2"
13543
13746
  fillEmptySpace
13747
+ [disable]="isMobile"
13544
13748
  style="box-sizing: border-box;"
13545
13749
  >
13546
13750
  <!-- لیست -->
@@ -13911,7 +14115,7 @@ class BaseViewPropsComponent extends BaseComponent {
13911
14115
  return `${row.$Group ? row.$Group : row.Id}${index}`;
13912
14116
  }
13913
14117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13914
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseViewPropsComponent, isStandalone: false, selector: "bnrc-base-view-props", inputs: { detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", detailsTextFunction: "detailsTextFunction", moDataList: "moDataList", reportId: "reportId", allColumns: "allColumns", hideOpenIcon: "hideOpenIcon", isCheckList: "isCheckList", allChecked: "allChecked", canView: "canView", visibility: "visibility", level: "level", expanded: "expanded", styleIndex: "styleIndex", parentExpanded: "parentExpanded", access: "access", groupby: "groupby", UlvMainCtrlr: "UlvMainCtrlr", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", typeDefId: "typeDefId", columnsCount: "columnsCount", mobileOrTablet: "mobileOrTablet", containerWidth: "containerWidth", newInlineEditMo: "newInlineEditMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", openOnClick: "openOnClick", tlbButtons: "tlbButtons", setting: "setting", parameters: "parameters", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", isChecked: "isChecked", navigationArrow: "navigationArrow" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", escapeKey: "escapeKey", rowCheck: "rowCheck", workflowShareButtons: "workflowShareButtons", rowClick: "rowClick", ulvCommand: "ulvCommand", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", action: "action", expandClick: "expandClick", editFormPanelValueChange: "editFormPanelValueChange", cartableFormClosed: "cartableFormClosed" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseViewPropsComponent, isStandalone: false, selector: "bnrc-base-view-props", inputs: { detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", detailsTextFunction: "detailsTextFunction", moDataList: "moDataList", reportId: "reportId", allColumns: "allColumns", hideOpenIcon: "hideOpenIcon", isCheckList: "isCheckList", allChecked: "allChecked", canView: "canView", visibility: "visibility", level: "level", expanded: "expanded", styleIndex: "styleIndex", parentExpanded: "parentExpanded", access: "access", groupby: "groupby", UlvMainCtrlr: "UlvMainCtrlr", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", typeDefId: "typeDefId", columnsCount: "columnsCount", mobileOrTablet: "mobileOrTablet", containerWidth: "containerWidth", newInlineEditMo: "newInlineEditMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", openOnClick: "openOnClick", tlbButtons: "tlbButtons", setting: "setting", parameters: "parameters", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", isChecked: "isChecked", navigationArrow: "navigationArrow", alternateEditObjectColumn: "alternateEditObjectColumn", disableHyperLink: "disableHyperLink", columnsHyperLink: "columnsHyperLink" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", escapeKey: "escapeKey", rowCheck: "rowCheck", workflowShareButtons: "workflowShareButtons", rowClick: "rowClick", ulvCommand: "ulvCommand", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", action: "action", expandClick: "expandClick", editFormPanelValueChange: "editFormPanelValueChange", cartableFormClosed: "cartableFormClosed" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13915
14119
  }
13916
14120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewPropsComponent, decorators: [{
13917
14121
  type: Component,
@@ -14017,6 +14221,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
14017
14221
  type: Input
14018
14222
  }], navigationArrow: [{
14019
14223
  type: Input
14224
+ }], alternateEditObjectColumn: [{
14225
+ type: Input
14226
+ }], disableHyperLink: [{
14227
+ type: Input
14228
+ }], columnsHyperLink: [{
14229
+ type: Input
14020
14230
  }], resetWorkflowState: [{
14021
14231
  type: Output
14022
14232
  }], deselectAll: [{
@@ -14528,7 +14738,7 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
14528
14738
  });
14529
14739
  }
14530
14740
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewItemPropsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14531
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseViewItemPropsComponent, isStandalone: false, selector: "bnrc-base-view-item-props", inputs: { checkboxComponent: "checkboxComponent", disableEllapsis: "disableEllapsis", isslider: "isslider", attachmentViewType: "attachmentViewType", dirtyColumns: "dirtyColumns", contextMenuOverflowText: "contextMenuOverflowText", detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", hideHeader: "hideHeader", isdirty: "isdirty", isChecked: "isChecked", hideDetailsText: "hideDetailsText", showViewButton: "showViewButton", isNewInlineMo: "isNewInlineMo", extraRelation: "extraRelation", hideOpenIcon: "hideOpenIcon", inlineEditWithoutSelection: "inlineEditWithoutSelection", inDialog: "inDialog", isMobile: "isMobile", isMultiSelect: "isMultiSelect", rowIndicator: "rowIndicator", groupSummary: "groupSummary", isLastChildGroup: "isLastChildGroup", showRowNumber: "showRowNumber", rowNumber: "rowNumber", coloringRow: "coloringRow", noSaveInlineEditInServer: "noSaveInlineEditInServer", rowIndicatorColor: "rowIndicatorColor", maxHeightHeader: "maxHeightHeader", UlvMainCtrlr: "UlvMainCtrlr", fieldDict: "fieldDict", actionList: "actionList", serializedRelatedMo: "serializedRelatedMo", cartableTemplate: "cartableTemplate", cartableMo: "cartableMo", cartableWorkflowData: "cartableWorkflowData" }, outputs: { actionListClick: "actionListClick", events: "events" }, viewQueries: [{ propertyName: "_cartableFormRef", first: true, predicate: ["cartableFormRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14741
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseViewItemPropsComponent, isStandalone: false, selector: "bnrc-base-view-item-props", inputs: { checkboxComponent: "checkboxComponent", disableEllapsis: "disableEllapsis", isslider: "isslider", attachmentViewType: "attachmentViewType", dirtyColumns: "dirtyColumns", contextMenuOverflowText: "contextMenuOverflowText", detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", hideHeader: "hideHeader", isdirty: "isdirty", isChecked: "isChecked", hideDetailsText: "hideDetailsText", showViewButton: "showViewButton", isNewInlineMo: "isNewInlineMo", extraRelation: "extraRelation", hideOpenIcon: "hideOpenIcon", inlineEditWithoutSelection: "inlineEditWithoutSelection", inDialog: "inDialog", isMobile: "isMobile", isMultiSelect: "isMultiSelect", rowIndicator: "rowIndicator", groupSummary: "groupSummary", isLastChildGroup: "isLastChildGroup", showRowNumber: "showRowNumber", rowNumber: "rowNumber", coloringRow: "coloringRow", noSaveInlineEditInServer: "noSaveInlineEditInServer", disableHyperLink: "disableHyperLink", columnsHyperLink: "columnsHyperLink", rowIndicatorColor: "rowIndicatorColor", alternateEditObjectColumn: "alternateEditObjectColumn", maxHeightHeader: "maxHeightHeader", UlvMainCtrlr: "UlvMainCtrlr", fieldDict: "fieldDict", actionList: "actionList", serializedRelatedMo: "serializedRelatedMo", cartableTemplate: "cartableTemplate", cartableMo: "cartableMo", cartableWorkflowData: "cartableWorkflowData" }, outputs: { actionListClick: "actionListClick", events: "events" }, viewQueries: [{ propertyName: "_cartableFormRef", first: true, predicate: ["cartableFormRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14532
14742
  }
14533
14743
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewItemPropsComponent, decorators: [{
14534
14744
  type: Component,
@@ -14609,8 +14819,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
14609
14819
  type: Input
14610
14820
  }], noSaveInlineEditInServer: [{
14611
14821
  type: Input
14822
+ }], disableHyperLink: [{
14823
+ type: Input
14824
+ }], columnsHyperLink: [{
14825
+ type: Input
14612
14826
  }], rowIndicatorColor: [{
14613
14827
  type: Input
14828
+ }], alternateEditObjectColumn: [{
14829
+ type: Input
14614
14830
  }], maxHeightHeader: [{
14615
14831
  type: Input
14616
14832
  }], UlvMainCtrlr: [{
@@ -14909,7 +15125,7 @@ class DynamicUlvToolbarComponent extends BaseDynamicComponent {
14909
15125
  }
14910
15126
  }
14911
15127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicUlvToolbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14912
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: DynamicUlvToolbarComponent, isStandalone: false, selector: "bnrc-dynamic-ulv-toolbar-component", inputs: { viewSettings: "viewSettings", allowGridColumnSort: "allowGridColumnSort", useLayoutItemTextForControl: "useLayoutItemTextForControl", enableSearch: "enableSearch", hideTitle: "hideTitle", title: "title", icon: "icon", deviceName: "deviceName", deviceSize: "deviceSize", access: "access", hideToolbar: "hideToolbar", toolbarButtons: "toolbarButtons", contentDensity: "contentDensity", inlineEditMode: "inlineEditMode", allowInlineEdit: "allowInlineEdit", gridSetting: "gridSetting", viewCollection: "viewCollection", toolbarButtonsReportView: "toolbarButtonsReportView", reportView: "reportView", inDialog: "inDialog", isMultiSelect: "isMultiSelect", cls: "cls", hasSelected: "hasSelected", config: "config", hidden: "hidden", buttons: "buttons", moDataListCount: "moDataListCount" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<ng-container #componentContainer></ng-container>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: DynamicUlvToolbarComponent, isStandalone: false, selector: "bnrc-dynamic-ulv-toolbar-component", inputs: { viewSettings: "viewSettings", allowGridColumnSort: "allowGridColumnSort", useLayoutItemTextForControl: "useLayoutItemTextForControl", enableSearch: "enableSearch", hideTitle: "hideTitle", title: "title", icon: "icon", deviceName: "deviceName", deviceSize: "deviceSize", access: "access", hideToolbar: "hideToolbar", toolbarButtons: "toolbarButtons", contentDensity: "contentDensity", inlineEditMode: "inlineEditMode", allowInlineEdit: "allowInlineEdit", gridSetting: "gridSetting", viewCollection: "viewCollection", toolbarButtonsReportView: "toolbarButtonsReportView", reportView: "reportView", inDialog: "inDialog", isMultiSelect: "isMultiSelect", cls: "cls", hasSelected: "hasSelected", config: "config", hidden: "hidden", buttons: "buttons", moDataListCount: "moDataListCount", showToolbarBorder: "showToolbarBorder" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<ng-container #componentContainer></ng-container>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14913
15129
  }
14914
15130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicUlvToolbarComponent, decorators: [{
14915
15131
  type: Component,
@@ -14973,6 +15189,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
14973
15189
  type: Input
14974
15190
  }], moDataListCount: [{
14975
15191
  type: Input
15192
+ }], showToolbarBorder: [{
15193
+ type: Input
14976
15194
  }] } });
14977
15195
 
14978
15196
  class DynamicUlvPagingComponent extends BaseDynamicComponent {
@@ -16276,15 +16494,15 @@ class UlvCommandDirective extends BaseDirective {
16276
16494
  setTimeout(() => {
16277
16495
  // add settimeout because we need select row before execute row
16278
16496
  // executeUlvCommandHandler(button);
16279
- this.$execute.next();
16497
+ this.$execute.next(event);
16280
16498
  });
16281
16499
  return false;
16282
16500
  }
16283
16501
  ngOnInit() {
16284
16502
  super.ngOnInit();
16285
16503
  this.$execute
16286
- .pipe(exhaustMap(() => {
16287
- executeUlvCommandHandler(this.ulvCommandHandler);
16504
+ .pipe(exhaustMap((e) => {
16505
+ executeUlvCommandHandler(this.ulvCommandHandler, e);
16288
16506
  return timer(1000); // ۱ ثانیه بلاک می‌شود
16289
16507
  }))
16290
16508
  .subscribe();
@@ -17808,6 +18026,111 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
17808
18026
  type: Input
17809
18027
  }] } });
17810
18028
 
18029
+ class MoLinkerDirective extends BaseDirective {
18030
+ constructor() {
18031
+ super(...arguments);
18032
+ this.moLinker = input.required();
18033
+ this.alternateEditObjectColumn = input.required();
18034
+ this.disableHyperLink = input(false);
18035
+ this._routingService = inject(RoutingService, { optional: true });
18036
+ this._activatedRoute = inject(ActivatedRoute);
18037
+ this._moVal = inject(MoValuePipe);
18038
+ this._router = inject(Router);
18039
+ // ذخیره درخت روت محلی برای کلیک معمولی در همین صفحه
18040
+ this._localUrlTree = null;
18041
+ }
18042
+ ngOnInit() {
18043
+ super.ngOnInit();
18044
+ if (!this._routingService) {
18045
+ return;
18046
+ }
18047
+ if (!this.disableHyperLink()) {
18048
+ this._renderer2.addClass(this._el.nativeElement, 'mo-linker');
18049
+ // ۱. ساختن روت محلی (وابسته به روت فعلی) برای کلیک‌های معمولی
18050
+ this._localUrlTree = this.buildLocalUrlTree(this._routingService.isFirstPage, this.alternateEditObjectColumn());
18051
+ // ۲. ساختن روت تب جدید (از ریشه اصلی / بدون ActivatedRoute) و ست کردن روی href
18052
+ const newTabUrl = this.buildNewTabUrl();
18053
+ if (newTabUrl) {
18054
+ // فرض بر HashLocationStrategy (دارای #) است؛ اگر پراجکت شما بدون هشتگ است، '#' + را پاک کنید
18055
+ this._renderer2.setAttribute(this._el.nativeElement, 'href', '#' + newTabUrl);
18056
+ }
18057
+ }
18058
+ }
18059
+ // گوش دادن به رویداد کلیک
18060
+ onClick(event) {
18061
+ if (this.disableHyperLink() || !this._routingService) {
18062
+ return;
18063
+ }
18064
+ // تشخیص کلیک برای تب جدید (Ctrl, Cmd, Shift یا کلیک وسط)
18065
+ const isNewTabModifier = event.ctrlKey || event.metaKey || event.shiftKey || event.button === 1;
18066
+ if (isNewTabModifier) {
18067
+ // هیچ کاری نکن! بگذار مرورگر به طور طبیعی آدرس href (یعنی روت ریشه /landingpage) را در تب جدید باز کند
18068
+ return;
18069
+ }
18070
+ // اگر کلیک معمولی بود، جلوی رفتار مرورگر (باز کردن href) را می‌گیریم
18071
+ event.preventDefault();
18072
+ // و روت محلی و داخلی خودمان را اجرا می‌کنیم
18073
+ if (this._localUrlTree) {
18074
+ this._router.navigateByUrl(this._localUrlTree);
18075
+ }
18076
+ }
18077
+ /**
18078
+ * ساخت آدرس برای تب جدید: کاملاً مستقل از ریشه اصلی سایت (بدون relativeTo)
18079
+ */
18080
+ buildNewTabUrl() {
18081
+ const mo = this.moLinker();
18082
+ const x = {
18083
+ MoId: mo.$State === 'New' ? '0' : mo.Id,
18084
+ TypeDefId: mo.$TypeDefId,
18085
+ ReportId: mo.$ReportId,
18086
+ ActionType: 'ShowForm'
18087
+ };
18088
+ // ساخت درخت روت از ریشه اصلی (مطلق)
18089
+ const tree = this._router.createUrlTree(['/landingpage/query'], {
18090
+ // اگر نیاز دارید کوئری‌پارامترهای خاصی هم به تب جدید بفرستید:
18091
+ queryParams: { actionList: JSON.stringify([x]) }
18092
+ });
18093
+ return this._router.serializeUrl(tree);
18094
+ }
18095
+ /**
18096
+ * همان متد قبلی شما که روت را بر اساس ActivatedRoute فعلی می‌سازد
18097
+ */
18098
+ buildLocalUrlTree(isPage, alternateEditObjectColumn) {
18099
+ let alternateMo;
18100
+ if (alternateEditObjectColumn) {
18101
+ alternateMo = this._moVal.transform(alternateEditObjectColumn, this.moLinker(), false);
18102
+ if (!alternateMo) {
18103
+ return null;
18104
+ }
18105
+ }
18106
+ const mo = alternateMo ?? this.moLinker();
18107
+ const navigationParams = this._portalService.buildNavigationParams(null, mo, null, '', this._routingService?.isFirstPage ?? true);
18108
+ const primarySegment = isPage ? 'form' : 'popup';
18109
+ return this._router.createUrlTree([
18110
+ primarySegment,
18111
+ {
18112
+ outlets: {
18113
+ main: ['show', navigationParams]
18114
+ }
18115
+ }
18116
+ ], {
18117
+ relativeTo: this._activatedRoute // وابستگی به روت فعلی فقط برای کلیک معمولی
18118
+ });
18119
+ }
18120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MoLinkerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
18121
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: MoLinkerDirective, isStandalone: false, selector: "[moLinker]", inputs: { moLinker: { classPropertyName: "moLinker", publicName: "moLinker", isSignal: true, isRequired: true, transformFunction: null }, alternateEditObjectColumn: { classPropertyName: "alternateEditObjectColumn", publicName: "alternateEditObjectColumn", isSignal: true, isRequired: true, transformFunction: null }, disableHyperLink: { classPropertyName: "disableHyperLink", publicName: "disableHyperLink", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
18122
+ }
18123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MoLinkerDirective, decorators: [{
18124
+ type: Directive,
18125
+ args: [{
18126
+ selector: '[moLinker]',
18127
+ standalone: false
18128
+ }]
18129
+ }], propDecorators: { onClick: [{
18130
+ type: HostListener,
18131
+ args: ['click', ['$event']]
18132
+ }] } });
18133
+
17811
18134
  class PortalDynamicPageResolver {
17812
18135
  /** Inserted by Angular inject() migration for backwards compatibility */
17813
18136
  constructor() {
@@ -19387,7 +19710,8 @@ const directives = [
19387
19710
  SimplebarDirective,
19388
19711
  LeafletLongPressDirective,
19389
19712
  ResizeHandlerDirective,
19390
- SafeBottomDirective
19713
+ SafeBottomDirective,
19714
+ MoLinkerDirective
19391
19715
  ];
19392
19716
  const stores = [CalendarSettingsStore];
19393
19717
  const services = [
@@ -19481,7 +19805,9 @@ const pipes = [
19481
19805
  PicturesByGroupIdPipe,
19482
19806
  ScopedCssPipe,
19483
19807
  ReportActionListPipe,
19484
- GetCssVariableValuePipe
19808
+ GetCssVariableValuePipe,
19809
+ FindColumnsPipe,
19810
+ ExistsColumnsPipe
19485
19811
  ];
19486
19812
  const functionL1 = async function () {
19487
19813
  if (BarsaApi.LoginFormData.Culture === 'fa-IR') {
@@ -19673,7 +19999,9 @@ class BarsaNovinRayCoreModule extends BaseModule {
19673
19999
  PicturesByGroupIdPipe,
19674
20000
  ScopedCssPipe,
19675
20001
  ReportActionListPipe,
19676
- GetCssVariableValuePipe, PlaceHolderDirective,
20002
+ GetCssVariableValuePipe,
20003
+ FindColumnsPipe,
20004
+ ExistsColumnsPipe, PlaceHolderDirective,
19677
20005
  NumbersOnlyInputDirective,
19678
20006
  RenderUlvViewerDirective,
19679
20007
  RenderUlvPaginDirective,
@@ -19724,7 +20052,8 @@ class BarsaNovinRayCoreModule extends BaseModule {
19724
20052
  SimplebarDirective,
19725
20053
  LeafletLongPressDirective,
19726
20054
  ResizeHandlerDirective,
19727
- SafeBottomDirective], imports: [CommonModule,
20055
+ SafeBottomDirective,
20056
+ MoLinkerDirective], imports: [CommonModule,
19728
20057
  BarsaNovinRayCoreRoutingModule,
19729
20058
  BarsaSapUiFormPageModule,
19730
20059
  ResizableModule,
@@ -19818,7 +20147,9 @@ class BarsaNovinRayCoreModule extends BaseModule {
19818
20147
  PicturesByGroupIdPipe,
19819
20148
  ScopedCssPipe,
19820
20149
  ReportActionListPipe,
19821
- GetCssVariableValuePipe, PlaceHolderDirective,
20150
+ GetCssVariableValuePipe,
20151
+ FindColumnsPipe,
20152
+ ExistsColumnsPipe, PlaceHolderDirective,
19822
20153
  NumbersOnlyInputDirective,
19823
20154
  RenderUlvViewerDirective,
19824
20155
  RenderUlvPaginDirective,
@@ -19869,7 +20200,8 @@ class BarsaNovinRayCoreModule extends BaseModule {
19869
20200
  SimplebarDirective,
19870
20201
  LeafletLongPressDirective,
19871
20202
  ResizeHandlerDirective,
19872
- SafeBottomDirective] }); }
20203
+ SafeBottomDirective,
20204
+ MoLinkerDirective] }); }
19873
20205
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaNovinRayCoreModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
19874
20206
  BarsaNovinRayCoreRoutingModule,
19875
20207
  BarsaSapUiFormPageModule,
@@ -19899,5 +20231,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
19899
20231
  * Generated bundle index. Do not edit.
19900
20232
  */
19901
20233
 
19902
- export { StopPropagationDirective as $, AnchorScrollDirective as A, BaseModule as B, CardDynamicItemComponent as C, DynamicComponentService as D, EmptyPageWithRouterAndRouterOutletComponent as E, FieldDirective as F, ItemsRendererDirective as G, NumbersOnlyInputDirective as H, ImageLazyDirective as I, PlaceHolderDirective as J, RenderUlvViewerDirective as K, RenderUlvPaginDirective as L, MasterDetailsPageComponent as M, NotFoundComponent as N, UntilInViewDirective as O, PortalPageComponent as P, CopyDirective as Q, ReportEmptyPageComponent as R, EllapsisTextDirective as S, TableResizerDirective as T, UlvCommandDirective as U, FillEmptySpaceDirective as V, WorfkflowwChoiceCommandDirective as W, FormCloseDirective as X, MobileDirective as Y, BodyClickDirective as Z, PreventDefaultDirective as _, EmptyPageComponent as a, ColumnCustomComponentPipe as a$, CountDownDirective as a0, RouteFormChangeDirective as a1, DynamicStyleDirective as a2, NowraptextDirective as a3, LabelmandatoryDirective as a4, AbsoluteDivBodyDirective as a5, LoadExternalFilesDirective as a6, RenderUlvDirective as a7, PrintFilesDirective as a8, SaveImageDirective as a9, RemoveNewlinePipe as aA, MoValuePipe as aB, FilterPipe as aC, FilterTabPipe as aD, MoReportValueConcatPipe as aE, FilterStringPipe as aF, SortPipe as aG, BbbTranslatePipe as aH, BarsaIconDictPipe as aI, FileInfoCountPipe as aJ, ControlUiPipe as aK, VisibleValuePipe as aL, FilterToolbarControlPipe as aM, MultipleGroupByPipe as aN, PictureFieldSourcePipe as aO, FioriIconPipe as aP, CanUploadFilePipe as aQ, ListCountPipe as aR, TotalSummaryPipe as aS, MergeFieldsToColumnsPipe as aT, FindColumnByDbNamePipe as aU, FilterColumnsByDetailsPipe as aV, MoInfoUlvMoListPipe as aW, ReversePipe as aX, ColumnCustomUiPipe as aY, SanitizeTextPipe as aZ, MoInfoUlvPagingPipe as a_, WebOtpDirective as aa, SplideSliderDirective as ab, DynamicRootVariableDirective as ac, HorizontalResponsiveDirective as ad, MeasureFormTitleWidthDirective as ae, OverflowTextDirective as af, ShortcutRegisterDirective as ag, ShortcutHandlerDirective as ah, BarsaReadonlyDirective as ai, ResizeObserverDirective as aj, ColumnValueDirective as ak, ScrollToSelectedDirective as al, ScrollPersistDirective as am, TooltipDirective as an, SimplebarDirective as ao, LeafletLongPressDirective as ap, ResizeHandlerDirective as aq, SafeBottomDirective as ar, MoReportValuePipe as as, NumeralPipe as at, GroupByPipe as au, ContextMenuPipe as av, HeaderFacetValuePipe as aw, SeperatorFixPipe as ax, ConvertToStylePipe as ay, TlbButtonsPipe as az, PortalPageSidebarComponent as b, RUNTIME_NAV_STATE_SCHEMA_V1 as b$, ColumnValuePipe as b0, ColumnIconPipe as b1, RowNumberPipe as b2, ComboRowImagePipe as b3, IsExpandedNodePipe as b4, ThImageOrIconePipe as b5, FindPreviewColumnPipe as b6, ReplacePipe as b7, FilterWorkflowInMobilePipe as b8, HideColumnsInmobilePipe as b9, LogService as bA, PortalService as bB, UiService as bC, UlvMainService as bD, UploadService as bE, NetworkStatusService as bF, AudioRecordingService as bG, VideoRecordingService as bH, LocalStorageService as bI, IndexedDbService as bJ, BarsaStorageService as bK, PromptUpdateService as bL, NotificationService as bM, ServiceWorkerNotificationService as bN, ColumnService as bO, ServiceWorkerCommuncationService as bP, SaveScrollPositionService as bQ, RoutingService as bR, GroupByService as bS, LayoutMainContentService as bT, TabpageService as bU, InMemoryStorageService as bV, ScrollLayoutContextHolder as bW, ShellbarHeightService as bX, ApplicationCtrlrService as bY, PushCheckService as bZ, IdbService as b_, StringToNumberPipe as ba, ColumnValueOfParametersPipe as bb, HideAcceptCancelButtonsPipe as bc, FilterInlineActionListPipe as bd, IsImagePipe as be, ToolbarSettingsPipe as bf, CardMediaSizePipe as bg, LabelStarTrimPipe as bh, SplitPipe as bi, DynamicDarkColorPipe as bj, ChunkArrayPipe as bk, MapToChatMessagePipe as bl, PicturesByGroupIdPipe as bm, ScopedCssPipe as bn, ReportActionListPipe as bo, GetCssVariableValuePipe as bp, ApiService as bq, BreadcrumbService as br, CustomInjector as bs, DialogParams as bt, BarsaDialogService as bu, FormPanelService as bv, FormService as bw, ContainerService as bx, HorizontalLayoutService as by, LayoutService as bz, BaseDynamicComponent as c, MetaobjectDataModel as c$, buildRuntimeNavStateCacheKey as c0, RuntimeNavStateCacheService as c1, PushNotificationService as c2, CardViewService as c3, BaseSettingsService as c4, SimpleTemplateEngine as c5, TEMPLATE_ENGINE as c6, PortalDynamicPageResolver as c7, PortalFormPageResolver as c8, PortalPageResolver as c9, NOTIFICATAION_POPUP_SERVER as cA, TOAST_SERVICE as cB, NOTIFICATION_WEBWORKER_FACTORY as cC, GeneralControlInfoModel as cD, StringControlInfoModel as cE, RichStringControlInfoModel as cF, NumberControlInfoModel as cG, FilePictureInfoModel as cH, FileControlInfoModel as cI, CommandControlInfoModel as cJ, IconControlInfoModel as cK, PictureFileControlInfoModel as cL, GaugeControlInfoModel as cM, RelationListControlInfoModel as cN, HistoryControlInfoModel as cO, RabetehAkseTakiListiControlInfoModel as cP, RelatedReportControlInfoModel as cQ, CodeEditorControlInfoModel as cR, EnumControlInfoModel as cS, RowDataOption as cT, DateTimeControlInfoModel as cU, BoolControlInfoModel as cV, CalculateControlInfoModel as cW, SubformControlInfoModel as cX, LinearListControlInfoModel as cY, ListRelationModel as cZ, SingleRelationControlInfoModel as c_, PortalReportPageResolver as ca, TileGroupBreadcrumResolver as cb, LoginSettingsResolver as cc, ReportBreadcrumbResolver as cd, DateService as ce, DateHijriService as cf, DateMiladiService as cg, DateShamsiService as ch, EntitySettingsStore as ci, CalendarSettingsStore as cj, FormNewComponent as ck, ReportContainerComponent as cl, FormComponent as cm, FieldUiComponent as cn, BarsaSapUiFormPageModule as co, ReportNavigatorComponent as cp, BaseController as cq, FieldBaseController as cr, ViewBase as cs, ModalRootComponent as ct, ButtonLoadingComponent as cu, UnlimitSessionComponent as cv, SplitterComponent as cw, APP_VERSION as cx, DIALOG_SERVICE as cy, FORM_DIALOG_COMPONENT as cz, DynamicFormComponent as d, getLabelWidth as d$, MoForReportModelBase as d0, MoForReportModel as d1, ReportBaseInfo as d2, FormToolbarButton as d3, ReportExtraInfo as d4, MetaobjectRelationModel as d5, FieldInfoTypeEnum as d6, BaseReportModel as d7, DefaultCommandsAccessValue as d8, CustomCommand as d9, PageBaseComponent as dA, NumberBaseComponent as dB, FilesValidationHelper as dC, BarsaApi as dD, ReportViewBaseComponent as dE, FormPropsBaseComponent as dF, LinearListHelper as dG, PageWithFormHandlerBaseComponent as dH, FormPageBaseComponent as dI, FormPageComponent as dJ, BaseColumnPropsComponent as dK, TilePropsComponent as dL, FormFieldReportPageComponent as dM, ColumnRendererBase as dN, ColumnRendererViewBase as dO, BaseUlvSettingComponent as dP, TableHeaderWidthMode as dQ, setTableThWidth as dR, calculateColumnContent as dS, calculateColumnWidth as dT, setColumnWidthByMaxMoContentWidth as dU, calculateMoDataListContentWidthByColumnName as dV, calculateFreeColumnSize as dW, calculateColumnWidthFitToContainer as dX, calcContextMenuWidth as dY, RotateImage as dZ, isInLocalMode as d_, ReportModel as da, ReportListModel as db, ReportFormModel as dc, ReportCalendarModel as dd, ReportTreeModel as de, ReportViewColumn as df, DefaultGridSetting as dg, GridSetting as dh, ColSetting as di, SortSetting as dj, ReportField as dk, DateRanges as dl, SortDirection as dm, SelectionMode as dn, UlvHeightSizeType as dp, FieldBaseComponent as dq, FieldViewBase as dr, FormBaseComponent as ds, FormToolbarBaseComponent as dt, SystemBaseComponent as du, ReportBaseComponent as dv, ReportItemBaseComponent as dw, ApplicationBaseComponent as dx, LayoutItemBaseComponent as dy, LayoutPanelBaseComponent as dz, DynamicItemComponent as e, availablePrefixes as e$, getColumnValueOfMoDataList as e0, throwIfAlreadyLoaded as e1, measureText2 as e2, measureText as e3, measureTextBy as e4, genrateInlineMoId as e5, enumValueToStringSize as e6, isVersionBiggerThan as e7, compareVersions as e8, scrollToElement as e9, getIcon as eA, isImage as eB, GetAllColumnsSorted as eC, GetVisibleValue as eD, GroupBy as eE, FindGroup as eF, FillAllLayoutControls as eG, FindToolbarItem as eH, FindLayoutSettingFromLayout94 as eI, GetAllHorizontalFromLayout94 as eJ, getGridSettings as eK, getResetGridSettings as eL, GetDefaultMoObjectInfo as eM, getLayout94ObjectInfo as eN, getFormSettings as eO, createFormPanelMetaConditions as eP, getNewMoGridEditor as eQ, createGridEditorFormPanel as eR, getLayoutControl as eS, getControlList as eT, shallowEqual as eU, toNumber as eV, InputNumber as eW, AffixRespondEvents as eX, isTargetWindow as eY, getTargetRect as eZ, getFieldValue as e_, executeUlvCommandHandler as ea, getUniqueId as eb, getDateService as ec, getAllItemsPerChildren as ed, setOneDepthLevel as ee, isFirefox as ef, getImagePath as eg, checkPermission as eh, fixUnclosedParentheses as ei, isFunction as ej, DeviceWidth as ek, getHeaderValue as el, elementInViewport2 as em, PreventDefaulEvent as en, stopPropagation as eo, getParentHeight as ep, getComponentDefined as eq, isSafari as er, isFF as es, getDeviceIsPhone as et, getDeviceIsDesktop as eu, getDeviceIsTablet as ev, getDeviceIsMobile as ew, getControlSizeMode as ex, formatBytes as ey, getValidExtension as ez, formRoutes as f, requestAnimationFramePolyfill as f0, ExecuteDynamicCommand as f1, ExecuteWorkflowChoiceDef as f2, getRequestAnimationFrame as f3, cancelRequestAnimationFrame as f4, easeInOutCubic as f5, WordMimeType as f6, ImageMimeType as f7, PdfMimeType as f8, AllFilesMimeType as f9, IntersectionStatus as fA, fromIntersectionObserver as fB, CustomRouteReuseStrategy as fC, AuthGuard as fD, RedirectHomeGuard as fE, RootPageComponent as fF, ResizableComponent as fG, ResizableDirective as fH, ResizableModule as fI, PushBannerComponent as fJ, REPORT_GRID_VIEWPORT_CLASS as fK, DEFAULT_REPORT_LAYOUT_POLICY as fL, REPORT_TYPE_DEFAULT_POLICIES as fM, scrollLayoutModeToContextEnvironment as fN, contextDefaultsFromEnvironment as fO, resolveFinalScroll as fP, resolveReportLayoutPolicy as fQ, getReportTypeDefaultPolicy as fR, extractLayoutPolicyFromView as fS, BarsaNovinRayCoreModule as fT, VideoMimeType as fa, AudioMimeType as fb, MimeTypes as fc, GetContentType as fd, GetViewableExtensions as fe, ChangeLayoutInfoCustomUi as ff, mobile_regex as fg, number_only as fh, forbiddenValidator as fi, GetImgTags as fj, ImagetoPrint as fk, PrintImage as fl, SaveImageToFile as fm, validateAllFormFields as fn, getFocusableTagNames as fo, addCssVariableToRoot as fp, flattenTree as fq, IsDarkMode as fr, nullOrUndefinedString as fs, fromEntries as ft, bodyClick as fu, removeDynamicStyle as fv, addDynamicVariableTo as fw, AddDynamicFormStyles as fx, RemoveDynamicFormStyles as fy, ContainerComponent as fz, BaseViewPropsComponent as g, BaseViewContentPropsComponent as h, BaseViewItemPropsComponent as i, RowState as j, BaseItemContentPropsComponent as k, CardBaseItemContentPropsComponent as l, BaseFormToolbaritemPropsComponent as m, DynamicFormToolbaritemComponent as n, DynamicLayoutComponent as o, DynamicUlvToolbarComponent as p, DynamicUlvPagingComponent as q, reportRoutes as r, RootPortalComponent as s, BaseComponent as t, AttrRtlDirective as u, BaseDirective as v, ColumnResizerDirective as w, DynamicCommandDirective as x, EllipsifyDirective as y, IntersectionObserverDirective as z };
19903
- //# sourceMappingURL=barsa-novin-ray-core-barsa-novin-ray-core-D50KRKKo.mjs.map
20234
+ export { StopPropagationDirective as $, AnchorScrollDirective as A, BaseModule as B, CardDynamicItemComponent as C, DynamicComponentService as D, EmptyPageWithRouterAndRouterOutletComponent as E, FieldDirective as F, ItemsRendererDirective as G, NumbersOnlyInputDirective as H, ImageLazyDirective as I, PlaceHolderDirective as J, RenderUlvViewerDirective as K, RenderUlvPaginDirective as L, MasterDetailsPageComponent as M, NotFoundComponent as N, UntilInViewDirective as O, PortalPageComponent as P, CopyDirective as Q, ReportEmptyPageComponent as R, EllapsisTextDirective as S, TableResizerDirective as T, UlvCommandDirective as U, FillEmptySpaceDirective as V, WorfkflowwChoiceCommandDirective as W, FormCloseDirective as X, MobileDirective as Y, BodyClickDirective as Z, PreventDefaultDirective as _, EmptyPageComponent as a, MoInfoUlvPagingPipe as a$, CountDownDirective as a0, RouteFormChangeDirective as a1, DynamicStyleDirective as a2, NowraptextDirective as a3, LabelmandatoryDirective as a4, AbsoluteDivBodyDirective as a5, LoadExternalFilesDirective as a6, RenderUlvDirective as a7, PrintFilesDirective as a8, SaveImageDirective as a9, TlbButtonsPipe as aA, RemoveNewlinePipe as aB, MoValuePipe as aC, FilterPipe as aD, FilterTabPipe as aE, MoReportValueConcatPipe as aF, FilterStringPipe as aG, SortPipe as aH, BbbTranslatePipe as aI, BarsaIconDictPipe as aJ, FileInfoCountPipe as aK, ControlUiPipe as aL, VisibleValuePipe as aM, FilterToolbarControlPipe as aN, MultipleGroupByPipe as aO, PictureFieldSourcePipe as aP, FioriIconPipe as aQ, CanUploadFilePipe as aR, ListCountPipe as aS, TotalSummaryPipe as aT, MergeFieldsToColumnsPipe as aU, FindColumnByDbNamePipe as aV, FilterColumnsByDetailsPipe as aW, MoInfoUlvMoListPipe as aX, ReversePipe as aY, ColumnCustomUiPipe as aZ, SanitizeTextPipe as a_, WebOtpDirective as aa, SplideSliderDirective as ab, DynamicRootVariableDirective as ac, HorizontalResponsiveDirective as ad, MeasureFormTitleWidthDirective as ae, OverflowTextDirective as af, ShortcutRegisterDirective as ag, ShortcutHandlerDirective as ah, BarsaReadonlyDirective as ai, ResizeObserverDirective as aj, ColumnValueDirective as ak, ScrollToSelectedDirective as al, ScrollPersistDirective as am, TooltipDirective as an, SimplebarDirective as ao, LeafletLongPressDirective as ap, ResizeHandlerDirective as aq, SafeBottomDirective as ar, MoLinkerDirective as as, MoReportValuePipe as at, NumeralPipe as au, GroupByPipe as av, ContextMenuPipe as aw, HeaderFacetValuePipe as ax, SeperatorFixPipe as ay, ConvertToStylePipe as az, PortalPageSidebarComponent as b, ApplicationCtrlrService as b$, ColumnCustomComponentPipe as b0, ColumnValuePipe as b1, ColumnIconPipe as b2, RowNumberPipe as b3, ComboRowImagePipe as b4, IsExpandedNodePipe as b5, ThImageOrIconePipe as b6, FindPreviewColumnPipe as b7, ReplacePipe as b8, FilterWorkflowInMobilePipe as b9, ContainerService as bA, HorizontalLayoutService as bB, LayoutService as bC, LogService as bD, PortalService as bE, UiService as bF, UlvMainService as bG, UploadService as bH, NetworkStatusService as bI, AudioRecordingService as bJ, VideoRecordingService as bK, LocalStorageService as bL, IndexedDbService as bM, BarsaStorageService as bN, PromptUpdateService as bO, NotificationService as bP, ServiceWorkerNotificationService as bQ, ColumnService as bR, ServiceWorkerCommuncationService as bS, SaveScrollPositionService as bT, RoutingService as bU, GroupByService as bV, LayoutMainContentService as bW, TabpageService as bX, InMemoryStorageService as bY, ScrollLayoutContextHolder as bZ, ShellbarHeightService as b_, HideColumnsInmobilePipe as ba, StringToNumberPipe as bb, ColumnValueOfParametersPipe as bc, HideAcceptCancelButtonsPipe as bd, FilterInlineActionListPipe as be, IsImagePipe as bf, ToolbarSettingsPipe as bg, CardMediaSizePipe as bh, LabelStarTrimPipe as bi, SplitPipe as bj, DynamicDarkColorPipe as bk, ChunkArrayPipe as bl, MapToChatMessagePipe as bm, PicturesByGroupIdPipe as bn, ScopedCssPipe as bo, ReportActionListPipe as bp, GetCssVariableValuePipe as bq, FindColumnsPipe as br, ExistsColumnsPipe as bs, ApiService as bt, BreadcrumbService as bu, CustomInjector as bv, DialogParams as bw, BarsaDialogService as bx, FormPanelService as by, FormService as bz, BaseDynamicComponent as c, LinearListControlInfoModel as c$, PushCheckService as c0, IdbService as c1, RUNTIME_NAV_STATE_SCHEMA_V1 as c2, buildRuntimeNavStateCacheKey as c3, RuntimeNavStateCacheService as c4, PushNotificationService as c5, CardViewService as c6, BaseSettingsService as c7, SimpleTemplateEngine as c8, TEMPLATE_ENGINE as c9, APP_VERSION as cA, DIALOG_SERVICE as cB, FORM_DIALOG_COMPONENT as cC, NOTIFICATAION_POPUP_SERVER as cD, TOAST_SERVICE as cE, NOTIFICATION_WEBWORKER_FACTORY as cF, GeneralControlInfoModel as cG, StringControlInfoModel as cH, RichStringControlInfoModel as cI, NumberControlInfoModel as cJ, FilePictureInfoModel as cK, FileControlInfoModel as cL, CommandControlInfoModel as cM, IconControlInfoModel as cN, PictureFileControlInfoModel as cO, GaugeControlInfoModel as cP, RelationListControlInfoModel as cQ, HistoryControlInfoModel as cR, RabetehAkseTakiListiControlInfoModel as cS, RelatedReportControlInfoModel as cT, CodeEditorControlInfoModel as cU, EnumControlInfoModel as cV, RowDataOption as cW, DateTimeControlInfoModel as cX, BoolControlInfoModel as cY, CalculateControlInfoModel as cZ, SubformControlInfoModel as c_, PortalDynamicPageResolver as ca, PortalFormPageResolver as cb, PortalPageResolver as cc, PortalReportPageResolver as cd, TileGroupBreadcrumResolver as ce, LoginSettingsResolver as cf, ReportBreadcrumbResolver as cg, DateService as ch, DateHijriService as ci, DateMiladiService as cj, DateShamsiService as ck, EntitySettingsStore as cl, CalendarSettingsStore as cm, FormNewComponent as cn, ReportContainerComponent as co, FormComponent as cp, FieldUiComponent as cq, BarsaSapUiFormPageModule as cr, ReportNavigatorComponent as cs, BaseController as ct, FieldBaseController as cu, ViewBase as cv, ModalRootComponent as cw, ButtonLoadingComponent as cx, UnlimitSessionComponent as cy, SplitterComponent as cz, DynamicFormComponent as d, calcContextMenuWidth as d$, ListRelationModel as d0, SingleRelationControlInfoModel as d1, MetaobjectDataModel as d2, MoForReportModelBase as d3, MoForReportModel as d4, ReportBaseInfo as d5, FormToolbarButton as d6, ReportExtraInfo as d7, MetaobjectRelationModel as d8, FieldInfoTypeEnum as d9, ApplicationBaseComponent as dA, LayoutItemBaseComponent as dB, LayoutPanelBaseComponent as dC, PageBaseComponent as dD, NumberBaseComponent as dE, FilesValidationHelper as dF, BarsaApi as dG, ReportViewBaseComponent as dH, FormPropsBaseComponent as dI, LinearListHelper as dJ, PageWithFormHandlerBaseComponent as dK, FormPageBaseComponent as dL, FormPageComponent as dM, BaseColumnPropsComponent as dN, TilePropsComponent as dO, FormFieldReportPageComponent as dP, ColumnRendererBase as dQ, ColumnRendererViewBase as dR, BaseUlvSettingComponent as dS, TableHeaderWidthMode as dT, setTableThWidth as dU, calculateColumnContent as dV, calculateColumnWidth as dW, setColumnWidthByMaxMoContentWidth as dX, calculateMoDataListContentWidthByColumnName as dY, calculateFreeColumnSize as dZ, calculateColumnWidthFitToContainer as d_, BaseReportModel as da, DefaultCommandsAccessValue as db, CustomCommand as dc, ReportModel as dd, ReportListModel as de, ReportFormModel as df, ReportCalendarModel as dg, ReportTreeModel as dh, ReportViewColumn as di, DefaultGridSetting as dj, GridSetting as dk, ColSetting as dl, SortSetting as dm, ReportField as dn, DateRanges as dp, SortDirection as dq, SelectionMode as dr, UlvHeightSizeType as ds, FieldBaseComponent as dt, FieldViewBase as du, FormBaseComponent as dv, FormToolbarBaseComponent as dw, SystemBaseComponent as dx, ReportBaseComponent as dy, ReportItemBaseComponent as dz, DynamicItemComponent as e, getControlList as e$, RotateImage as e0, isInLocalMode as e1, getLabelWidth as e2, getColumnValueOfMoDataList as e3, throwIfAlreadyLoaded as e4, measureText2 as e5, measureText as e6, measureTextBy as e7, genrateInlineMoId as e8, enumValueToStringSize as e9, getControlSizeMode as eA, formatBytes as eB, getValidExtension as eC, getIcon as eD, isImage as eE, getNestedValue as eF, sort as eG, sortEx as eH, multilevelSort as eI, searchEx as eJ, GetAllColumnsSorted as eK, GetVisibleValue as eL, GroupBy as eM, FindGroup as eN, FillAllLayoutControls as eO, FindToolbarItem as eP, FindLayoutSettingFromLayout94 as eQ, GetAllHorizontalFromLayout94 as eR, getGridSettings as eS, getResetGridSettings as eT, GetDefaultMoObjectInfo as eU, getLayout94ObjectInfo as eV, getFormSettings as eW, createFormPanelMetaConditions as eX, getNewMoGridEditor as eY, createGridEditorFormPanel as eZ, getLayoutControl as e_, isVersionBiggerThan as ea, compareVersions as eb, scrollToElement as ec, executeUlvCommandHandler as ed, getUniqueId as ee, getDateService as ef, getAllItemsPerChildren as eg, setOneDepthLevel as eh, isFirefox as ei, getImagePath as ej, checkPermission as ek, fixUnclosedParentheses as el, isFunction as em, DeviceWidth as en, getHeaderValue as eo, elementInViewport2 as ep, PreventDefaulEvent as eq, stopPropagation as er, getParentHeight as es, getComponentDefined as et, isSafari as eu, isFF as ev, getDeviceIsPhone as ew, getDeviceIsDesktop as ex, getDeviceIsTablet as ey, getDeviceIsMobile as ez, formRoutes as f, BarsaNovinRayCoreModule as f$, shallowEqual as f0, toNumber as f1, InputNumber as f2, AffixRespondEvents as f3, isTargetWindow as f4, getTargetRect as f5, getFieldValue as f6, availablePrefixes as f7, requestAnimationFramePolyfill as f8, ExecuteDynamicCommand as f9, nullOrUndefinedString as fA, fromEntries as fB, bodyClick as fC, removeDynamicStyle as fD, addDynamicVariableTo as fE, AddDynamicFormStyles as fF, RemoveDynamicFormStyles as fG, ContainerComponent as fH, IntersectionStatus as fI, fromIntersectionObserver as fJ, CustomRouteReuseStrategy as fK, AuthGuard as fL, RedirectHomeGuard as fM, RootPageComponent as fN, ResizableComponent as fO, ResizableDirective as fP, ResizableModule as fQ, PushBannerComponent as fR, REPORT_GRID_VIEWPORT_CLASS as fS, DEFAULT_REPORT_LAYOUT_POLICY as fT, REPORT_TYPE_DEFAULT_POLICIES as fU, scrollLayoutModeToContextEnvironment as fV, contextDefaultsFromEnvironment as fW, resolveFinalScroll as fX, resolveReportLayoutPolicy as fY, getReportTypeDefaultPolicy as fZ, extractLayoutPolicyFromView as f_, ExecuteWorkflowChoiceDef as fa, getRequestAnimationFrame as fb, cancelRequestAnimationFrame as fc, easeInOutCubic as fd, WordMimeType as fe, ImageMimeType as ff, PdfMimeType as fg, AllFilesMimeType as fh, VideoMimeType as fi, AudioMimeType as fj, MimeTypes as fk, GetContentType as fl, GetViewableExtensions as fm, ChangeLayoutInfoCustomUi as fn, mobile_regex as fo, number_only as fp, forbiddenValidator as fq, GetImgTags as fr, ImagetoPrint as fs, PrintImage as ft, SaveImageToFile as fu, validateAllFormFields as fv, getFocusableTagNames as fw, addCssVariableToRoot as fx, flattenTree as fy, IsDarkMode as fz, BaseViewPropsComponent as g, BaseViewContentPropsComponent as h, BaseViewItemPropsComponent as i, RowState as j, BaseItemContentPropsComponent as k, CardBaseItemContentPropsComponent as l, BaseFormToolbaritemPropsComponent as m, DynamicFormToolbaritemComponent as n, DynamicLayoutComponent as o, DynamicUlvToolbarComponent as p, DynamicUlvPagingComponent as q, reportRoutes as r, RootPortalComponent as s, BaseComponent as t, AttrRtlDirective as u, BaseDirective as v, ColumnResizerDirective as w, DynamicCommandDirective as x, EllipsifyDirective as y, IntersectionObserverDirective as z };
20235
+ //# sourceMappingURL=barsa-novin-ray-core-barsa-novin-ray-core-D0tt2ECR.mjs.map