barsa-novin-ray-core 2.3.102 → 2.3.103

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,8 +1,8 @@
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, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewContainerRef, ViewChild, Directive, TemplateRef, input, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer, ErrorHandler } from '@angular/core';
3
- import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, withLatestFrom as withLatestFrom$1, fromEvent, forkJoin, takeUntil as takeUntil$1, filter as filter$1, throwError, merge, interval, lastValueFrom, timeout, catchError as catchError$1, take, debounceTime as debounceTime$1, skip, Observable, tap as tap$1, timer, mergeWith, Subscription } from 'rxjs';
2
+ import { Injectable, inject, ElementRef, Input, ChangeDetectionStrategy, Component, Pipe, ComponentFactoryResolver, Injector, ApplicationRef, Compiler, DOCUMENT, NgModuleFactory, InjectionToken, NgZone, signal, ViewContainerRef, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewChild, Directive, TemplateRef, input, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer, ErrorHandler } from '@angular/core';
3
+ import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, withLatestFrom as withLatestFrom$1, fromEvent, forkJoin, throwError, merge, interval, filter as filter$1, lastValueFrom, timeout, catchError as catchError$1, takeUntil as takeUntil$1, take, debounceTime as debounceTime$1, skip, Observable, tap as tap$1, timer, mergeWith, Subscription } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
- import { Router, NavigationEnd, ActivatedRoute, RouterEvent, NavigationStart, RouterModule } from '@angular/router';
5
+ import { Router, NavigationEnd, ActivatedRoute, RouterEvent, NavigationStart, RouterModule, RouteReuseStrategy } from '@angular/router';
6
6
  import { DomSanitizer, Title } from '@angular/platform-browser';
7
7
  import { filter, startWith, map, tap, takeUntil, withLatestFrom, delay, debounceTime, distinctUntilChanged, exhaustMap as exhaustMap$1, concatMap, finalize, publishReplay, refCount, shareReplay, switchMap, catchError, merge as merge$1, pluck, mergeWith as mergeWith$1 } from 'rxjs/operators';
8
8
  import moment from 'moment';
@@ -1344,6 +1344,7 @@ const _getSystem = () => {
1344
1344
  oSystem.desktop = !!((!oSystem.tablet && !oSystem.phone) || isWin8Upwards);
1345
1345
  oSystem.combi = oSystem.desktop && oSystem.tablet;
1346
1346
  oSystem.SYSTEMTYPE = SYSTEMTYPE;
1347
+ oSystem.phone = oSystem.phone && window.innerWidth < 768;
1347
1348
  return oSystem;
1348
1349
  };
1349
1350
  const _setSystem = () => {
@@ -4904,6 +4905,128 @@ class FormService {
4904
4905
  }
4905
4906
  }
4906
4907
 
4908
+ class ContainerService {
4909
+ constructor() {
4910
+ this.detachParent = true;
4911
+ this.state = 'attach';
4912
+ this.addModules = new Subject();
4913
+ this._onDestroy$ = new Subject();
4914
+ this._parentService = inject(ContainerService, { skipSelf: true, optional: true });
4915
+ this._scrollTop = 0;
4916
+ this._el = inject(ElementRef);
4917
+ }
4918
+ /** Inserted by Angular inject() migration for backwards compatibility */
4919
+ ngOnDestroy() {
4920
+ this._onDestroy$.next();
4921
+ this._onDestroy$.complete();
4922
+ if (this._parentService && this.detachParent) {
4923
+ this._parentService.insert();
4924
+ }
4925
+ }
4926
+ setViewContainerRef(viewContainerRef) {
4927
+ this._viewContainerRef = viewContainerRef;
4928
+ this.state = 'attach';
4929
+ if (this._parentService && this.detachParent) {
4930
+ this._parentService.detach();
4931
+ }
4932
+ }
4933
+ detach() {
4934
+ this._setScrollPosition();
4935
+ this.state = 'detach';
4936
+ this._viewRef = this._viewContainerRef.detach();
4937
+ }
4938
+ _setScrollPosition() {
4939
+ const elDom = this._el.nativeElement;
4940
+ if (elDom) {
4941
+ const x1 = elDom.querySelector('fd-dynamic-page-content');
4942
+ const x2 = elDom.querySelector('.fd-scrollbar[fd-scrollbar]');
4943
+ const scrollTopPage = x1?.scrollTop;
4944
+ const scrollTopScrollbar = x2?.scrollTop;
4945
+ if (scrollTopPage && scrollTopPage > 0) {
4946
+ this._scrollTop = scrollTopPage;
4947
+ this._elDomScrollbar = x1;
4948
+ }
4949
+ else if (scrollTopScrollbar && scrollTopScrollbar > 0) {
4950
+ this._scrollTop = scrollTopScrollbar;
4951
+ this._elDomScrollbar = x2;
4952
+ }
4953
+ }
4954
+ }
4955
+ _restoreScrollPostion() {
4956
+ if (this._scrollTop && this._scrollTop > 0) {
4957
+ if (this._elDomScrollbar) {
4958
+ this._elDomScrollbar.scrollTop = this._scrollTop;
4959
+ }
4960
+ }
4961
+ }
4962
+ insert() {
4963
+ if (this._viewRef) {
4964
+ this._viewContainerRef.insert(this._viewRef);
4965
+ this._restoreScrollPostion();
4966
+ }
4967
+ else {
4968
+ this.addModules.next();
4969
+ }
4970
+ }
4971
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4972
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService }); }
4973
+ }
4974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, decorators: [{
4975
+ type: Injectable
4976
+ }] });
4977
+
4978
+ class HorizontalLayoutService {
4979
+ constructor() {
4980
+ this.controlFlexColumnSource = new BehaviorSubject({});
4981
+ this.displayTextFlexColumn$ = this.controlFlexColumnSource
4982
+ .asObservable()
4983
+ .pipe(map((controlFlexColumn) => Object.keys(controlFlexColumn).some((c) => controlFlexColumn[c])));
4984
+ }
4985
+ setFlexColumn(id, val) {
4986
+ const flexColumn = this.controlFlexColumnSource.getValue();
4987
+ flexColumn[id] = val;
4988
+ this.controlFlexColumnSource.next(flexColumn);
4989
+ }
4990
+ }
4991
+
4992
+ class LayoutService {
4993
+ constructor() {
4994
+ this.rendered = new BehaviorSubject(false);
4995
+ this.maxWidth = new BehaviorSubject(0);
4996
+ this.refreshLayoutSource = new Subject();
4997
+ this.horizontalSource = new Subject();
4998
+ this._listOfHorizontal = [];
4999
+ this.rootRendered$ = this.rendered.asObservable();
5000
+ this.maxWidth$ = this.maxWidth.asObservable();
5001
+ this.refreshLayout$ = this.refreshLayoutSource.asObservable();
5002
+ this.horizontal$ = this.horizontalSource.asObservable().pipe(distinctUntilChanged((a, b) => a === b));
5003
+ }
5004
+ setRendered(val) {
5005
+ this.rendered.next(val);
5006
+ }
5007
+ setMaxWidth(val) {
5008
+ if (this.maxWidth.value < val) {
5009
+ this.maxWidth.next(val);
5010
+ }
5011
+ }
5012
+ refreshLayout() {
5013
+ this.refreshLayoutSource.next();
5014
+ }
5015
+ addHorizontal(id) {
5016
+ this._listOfHorizontal = [...this._listOfHorizontal, id];
5017
+ this.horizontalSource.next(this._listOfHorizontal);
5018
+ }
5019
+ removeHorizontal(id) {
5020
+ this._listOfHorizontal = this._listOfHorizontal.filter((c) => c !== id);
5021
+ this.horizontalSource.next(this._listOfHorizontal);
5022
+ }
5023
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5024
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService }); }
5025
+ }
5026
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, decorators: [{
5027
+ type: Injectable
5028
+ }], ctorParameters: () => [] });
5029
+
4907
5030
  class PortalPageResolver {
4908
5031
  /** Inserted by Angular inject() migration for backwards compatibility */
4909
5032
  constructor() {
@@ -5319,6 +5442,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
5319
5442
  type: Injectable
5320
5443
  }] });
5321
5444
 
5445
+ function reportRoutes(authGuard = false) {
5446
+ return {
5447
+ path: 'report/:id',
5448
+ canActivate: authGuard ? [AuthGuard] : [],
5449
+ loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-Bml7rVqA.mjs').then((m) => m.BarsaReportPageModule)
5450
+ };
5451
+ }
5452
+
5322
5453
  class PortalService {
5323
5454
  constructor() {
5324
5455
  this.offsetTop = 0;
@@ -5883,7 +6014,7 @@ class PortalService {
5883
6014
  ...cpage
5884
6015
  }
5885
6016
  },
5886
- children: cpage.ComponentName !== 'PortalPage' ? [formRoutes()] : []
6017
+ children: [reportRoutes(), formRoutes()]
5887
6018
  };
5888
6019
  children.push(newRoute);
5889
6020
  // Recursively process each MetaObjectModel inside MoDataList
@@ -6309,169 +6440,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
6309
6440
  }]
6310
6441
  }], ctorParameters: () => [] });
6311
6442
 
6312
- class ContainerService {
6313
- constructor() {
6314
- this.oldActiveSystem = null;
6315
- this.detachParent = true;
6316
- this.masterDetails = false;
6317
- this.state = 'attach';
6318
- this.isMobile = getDeviceIsMobile();
6319
- this.addModules = new Subject();
6320
- this._activatedRoute = inject(ActivatedRoute);
6321
- this._router = inject(Router);
6322
- this._portalService = inject(PortalService);
6323
- this._onDestroy$ = new Subject();
6324
- this._parentService = inject(ContainerService, { skipSelf: true, optional: true });
6325
- this._scrollTop = 0;
6326
- this._el = inject(ElementRef);
6327
- this.paramId$ = this._activatedRoute.paramMap.pipe(takeUntil$1(this._onDestroy$));
6328
- this.routeEvents$ = this._router.events.pipe(takeUntil$1(this._onDestroy$), filter$1((event) => event instanceof NavigationEnd && event instanceof RouterEvent));
6329
- }
6330
- /** Inserted by Angular inject() migration for backwards compatibility */
6331
- ngOnDestroy() {
6332
- this._onDestroy$.next();
6333
- this._onDestroy$.complete();
6334
- if (this._parentService && this.detachParent) {
6335
- this._parentService.insert();
6336
- }
6337
- }
6338
- setViewContainerRef(viewContainerRef) {
6339
- this._viewContainerRef = viewContainerRef;
6340
- this.state = 'attach';
6341
- if (this._parentService && this.detachParent) {
6342
- this._parentService.detach();
6343
- }
6344
- }
6345
- hideFormPage() {
6346
- const pageEl = this._el.nativeElement;
6347
- pageEl.classList.remove('absolute-page');
6348
- pageEl.classList.add('absolute-page-removed');
6349
- }
6350
- showFormPage() {
6351
- const pageEl = this._el.nativeElement;
6352
- pageEl.classList.remove('absolute-page-removed');
6353
- pageEl.classList.add('absolute-page');
6354
- }
6355
- navigate(navigation, isRelative, queryParams, state) {
6356
- if (this.masterDetails && !this.isMobile) {
6357
- this.navigateMasterDetails(navigation, isRelative, queryParams, state);
6358
- return;
6359
- }
6360
- this._router.navigate(navigation, {
6361
- relativeTo: isRelative ? this._activatedRoute : null,
6362
- queryParams,
6363
- preserveFragment: true,
6364
- state
6365
- });
6366
- }
6367
- navigateMasterDetails(navigation, isRelative, queryParams, data) {
6368
- if (this._portalService.deviceSize !== 's') {
6369
- navigation = [{ outlets: { details: [...navigation.filter((_c, index) => index > 0)] } }];
6370
- }
6371
- this._router.navigate(navigation, {
6372
- relativeTo: isRelative ? this._activatedRoute : null,
6373
- queryParams,
6374
- preserveFragment: true,
6375
- state: { ...data }
6376
- });
6377
- }
6378
- detach() {
6379
- this._setScrollPosition();
6380
- this.state = 'detach';
6381
- this._viewRef = this._viewContainerRef.detach();
6382
- }
6383
- _setScrollPosition() {
6384
- const elDom = this._el.nativeElement;
6385
- if (elDom) {
6386
- const x1 = elDom.querySelector('fd-dynamic-page-content');
6387
- const x2 = elDom.querySelector('.fd-scrollbar[fd-scrollbar]');
6388
- const scrollTopPage = x1?.scrollTop;
6389
- const scrollTopScrollbar = x2?.scrollTop;
6390
- if (scrollTopPage && scrollTopPage > 0) {
6391
- this._scrollTop = scrollTopPage;
6392
- this._elDomScrollbar = x1;
6393
- }
6394
- else if (scrollTopScrollbar && scrollTopScrollbar > 0) {
6395
- this._scrollTop = scrollTopScrollbar;
6396
- this._elDomScrollbar = x2;
6397
- }
6398
- }
6399
- }
6400
- _restoreScrollPostion() {
6401
- if (this._scrollTop && this._scrollTop > 0) {
6402
- if (this._elDomScrollbar) {
6403
- this._elDomScrollbar.scrollTop = this._scrollTop;
6404
- }
6405
- }
6406
- }
6407
- insert() {
6408
- if (this._viewRef) {
6409
- this._viewContainerRef.insert(this._viewRef);
6410
- this._restoreScrollPostion();
6411
- }
6412
- else {
6413
- this.addModules.next();
6414
- }
6415
- }
6416
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6417
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService }); }
6418
- }
6419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, decorators: [{
6420
- type: Injectable
6421
- }], ctorParameters: () => [] });
6422
-
6423
- class HorizontalLayoutService {
6424
- constructor() {
6425
- this.controlFlexColumnSource = new BehaviorSubject({});
6426
- this.displayTextFlexColumn$ = this.controlFlexColumnSource
6427
- .asObservable()
6428
- .pipe(map((controlFlexColumn) => Object.keys(controlFlexColumn).some((c) => controlFlexColumn[c])));
6429
- }
6430
- setFlexColumn(id, val) {
6431
- const flexColumn = this.controlFlexColumnSource.getValue();
6432
- flexColumn[id] = val;
6433
- this.controlFlexColumnSource.next(flexColumn);
6434
- }
6435
- }
6436
-
6437
- class LayoutService {
6438
- constructor() {
6439
- this.rendered = new BehaviorSubject(false);
6440
- this.maxWidth = new BehaviorSubject(0);
6441
- this.refreshLayoutSource = new Subject();
6442
- this.horizontalSource = new Subject();
6443
- this._listOfHorizontal = [];
6444
- this.rootRendered$ = this.rendered.asObservable();
6445
- this.maxWidth$ = this.maxWidth.asObservable();
6446
- this.refreshLayout$ = this.refreshLayoutSource.asObservable();
6447
- this.horizontal$ = this.horizontalSource.asObservable().pipe(distinctUntilChanged((a, b) => a === b));
6448
- }
6449
- setRendered(val) {
6450
- this.rendered.next(val);
6451
- }
6452
- setMaxWidth(val) {
6453
- if (this.maxWidth.value < val) {
6454
- this.maxWidth.next(val);
6455
- }
6456
- }
6457
- refreshLayout() {
6458
- this.refreshLayoutSource.next();
6459
- }
6460
- addHorizontal(id) {
6461
- this._listOfHorizontal = [...this._listOfHorizontal, id];
6462
- this.horizontalSource.next(this._listOfHorizontal);
6463
- }
6464
- removeHorizontal(id) {
6465
- this._listOfHorizontal = this._listOfHorizontal.filter((c) => c !== id);
6466
- this.horizontalSource.next(this._listOfHorizontal);
6467
- }
6468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6469
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService }); }
6470
- }
6471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, decorators: [{
6472
- type: Injectable
6473
- }], ctorParameters: () => [] });
6474
-
6475
6443
  class UiService {
6476
6444
  constructor() {
6477
6445
  this.tabSelected = new Subject();
@@ -8513,10 +8481,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
8513
8481
  }] });
8514
8482
 
8515
8483
  class RoutingService {
8516
- /** Inserted by Angular inject() migration for backwards compatibility */
8517
8484
  constructor() {
8518
8485
  this.oldActiveSystem = null;
8519
- this._activatedRoute = inject(ActivatedRoute);
8520
8486
  this.router = inject(Router);
8521
8487
  this.isSidebar = false;
8522
8488
  this._Object = {
@@ -8552,11 +8518,84 @@ class RoutingService {
8552
8518
  }
8553
8519
  }
8554
8520
  };
8521
+ this.isFirstPage = true;
8522
+ this.masterDetails = false;
8523
+ this.isMobile = getDeviceIsMobile();
8524
+ this._activatedRoute = inject(ActivatedRoute);
8525
+ this._router = inject(Router);
8526
+ this._portalService = inject(PortalService);
8527
+ this._parentRoutingService = inject(RoutingService, { skipSelf: true, optional: true });
8528
+ this._onDestroy$ = new Subject();
8529
+ this._formDialogComponent = inject(FORM_DIALOG_COMPONENT, { optional: true });
8530
+ this._dialogService = inject(DIALOG_SERVICE, { optional: true });
8531
+ this._vcr = inject(ViewContainerRef);
8532
+ /* eslint-disable */
8533
+ this.ForceClose = () => {
8534
+ this.parentContainer.ForceCloseChild();
8535
+ };
8536
+ this.ShowFormPanelControl = (formpanelCtrlr) => {
8537
+ this.formpanelCtrlr = formpanelCtrlr;
8538
+ this._showFormPanel();
8539
+ };
8540
+ /* eslint-disable */
8541
+ this.ForceCloseChild = () => {
8542
+ this._router.navigate(['../'], { relativeTo: this._activatedRoute });
8543
+ };
8544
+ /* eslint-disable */
8545
+ this.RefreshFormPanelControl = (formpanelCtrlr) => {
8546
+ if (!this.formpanelCtrlr) {
8547
+ this.formpanelCtrlr = formpanelCtrlr;
8548
+ }
8549
+ else {
8550
+ formpanelCtrlr = this._portalService.formPanels[this.formpanelCtrlrId];
8551
+ }
8552
+ this._showFormPanel(true);
8553
+ };
8555
8554
  this.oldActiveSystem = BarsaApi.Bw.App.GetActiveSystem;
8555
+ this._activatedRoute.params.pipe(takeUntil$1(this._onDestroy$)).subscribe((_params) => {
8556
+ const state = this._router.getCurrentNavigation()?.extras.state;
8557
+ this.formpanelCtrlrId = state?.formPanelCtrlrId;
8558
+ });
8559
+ this.paramId$ = this._activatedRoute.paramMap.pipe(takeUntil$1(this._onDestroy$));
8560
+ this.routeEvents$ = this._router.events.pipe(takeUntil$1(this._onDestroy$), filter$1((event) => event instanceof NavigationEnd && event instanceof RouterEvent));
8556
8561
  BarsaApi.Bw.App.GetActiveSystem = () => this;
8562
+ this.parentContainer = BarsaApi.Bw.FormHandler;
8563
+ BarsaApi.Bw.FormHandler = this;
8564
+ this.oldNavigation = BarsaApi.Bw.Navigate;
8565
+ BarsaApi.Bw.Navigate = (navigation, isRelative, queryParams, data) => {
8566
+ this._parentRoutingService?.navigate(navigation, isRelative, queryParams, data);
8567
+ };
8557
8568
  }
8558
8569
  ngOnDestroy() {
8559
8570
  BarsaApi.Bw.App.GetActiveSystem = this.oldActiveSystem;
8571
+ BarsaApi.Bw.Navigate = this.oldNavigation;
8572
+ BarsaApi.Bw.FormHandler = this.parentContainer;
8573
+ }
8574
+ _showFormPanel(refreshOnly = false) {
8575
+ this._portalService.ShowFormPanelControl(this.formpanelCtrlr, this._router, this._activatedRoute, this._formDialogComponent, this.isFirstPage, this._vcr, refreshOnly);
8576
+ }
8577
+ navigate(navigation, isRelative, queryParams, state) {
8578
+ if (this.masterDetails && !this.isMobile) {
8579
+ this.navigateMasterDetails(navigation, isRelative, queryParams, state);
8580
+ return;
8581
+ }
8582
+ this._router.navigate(navigation, {
8583
+ relativeTo: isRelative ? this._activatedRoute : null,
8584
+ queryParams,
8585
+ preserveFragment: true,
8586
+ state
8587
+ });
8588
+ }
8589
+ navigateMasterDetails(navigation, isRelative, queryParams, data) {
8590
+ if (this._portalService.deviceSize !== 's') {
8591
+ navigation = [{ outlets: { details: [...navigation.filter((_c, index) => index > 0)] } }];
8592
+ }
8593
+ this._router.navigate(navigation, {
8594
+ relativeTo: isRelative ? this._activatedRoute : null,
8595
+ queryParams,
8596
+ preserveFragment: true,
8597
+ state: { ...data }
8598
+ });
8560
8599
  }
8561
8600
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RoutingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8562
8601
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RoutingService }); }
@@ -8715,6 +8754,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
8715
8754
  args: [{ providedIn: 'root' }]
8716
8755
  }] });
8717
8756
 
8757
+ class CardViewService {
8758
+ constructor() {
8759
+ this._maxHeaderTitleHeight$ = new BehaviorSubject(0);
8760
+ this._ulvMainService = inject(UlvMainService);
8761
+ }
8762
+ get maxHeaderTitleHeight$() {
8763
+ return this._maxHeaderTitleHeight$.asObservable();
8764
+ }
8765
+ setHeaderHeight(height) {
8766
+ const currHeight = this._maxHeaderTitleHeight$.getValue();
8767
+ if (currHeight < height) {
8768
+ this._maxHeaderTitleHeight$.next(height);
8769
+ }
8770
+ }
8771
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8772
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewService }); }
8773
+ }
8774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardViewService, decorators: [{
8775
+ type: Injectable
8776
+ }] });
8777
+
8718
8778
  class FieldBaseComponent extends BaseComponent {
8719
8779
  get customFieldInfo() {
8720
8780
  return this.context.Setting.CustomFieldInfo;
@@ -9634,7 +9694,7 @@ class ContainerComponent extends BaseComponent {
9634
9694
  this._cdr = inject(ChangeDetectorRef);
9635
9695
  this._renderer2 = inject(Renderer2);
9636
9696
  this._dialogService = inject(DIALOG_SERVICE, { optional: true });
9637
- this._containerServiceParent = inject(ContainerService, { self: false, optional: true });
9697
+ this._parentContainerService = inject(ContainerService, { self: false, optional: true });
9638
9698
  this._containerService = inject(ContainerService, { self: true, optional: true });
9639
9699
  this._formDialogComponent = inject(FORM_DIALOG_COMPONENT, { optional: true });
9640
9700
  this.oldContainerContainer = this._barsaDialogService.containerComponent;
@@ -9651,20 +9711,12 @@ class ContainerComponent extends BaseComponent {
9651
9711
  return this.containerRef;
9652
9712
  }
9653
9713
  ngOnInit() {
9654
- this.parentContainer = BarsaApi.Bw.FormHandler;
9655
- BarsaApi.Bw.FormHandler = this;
9656
- this.oldNavigation = BarsaApi.Bw.Navigate;
9657
- BarsaApi.Bw.Navigate = (navigation, isRelative, queryParams, data) => {
9658
- this._containerServiceParent?.navigate(navigation, isRelative, queryParams, data);
9659
- };
9660
9714
  super.ngOnInit();
9661
9715
  this._containerService?.setViewContainerRef(this.containerRef);
9662
9716
  }
9663
9717
  ngOnDestroy() {
9664
- BarsaApi.Bw.FormHandler = this.parentContainer;
9665
9718
  super.ngOnDestroy();
9666
9719
  this._barsaDialogService.containerComponent = this.oldContainerContainer;
9667
- BarsaApi.Bw.Navigate = this.oldNavigation;
9668
9720
  }
9669
9721
  detach() {
9670
9722
  this._viewRef = this.containerRef.detach();
@@ -9701,6 +9753,8 @@ class PageBaseComponent extends ContainerComponent {
9701
9753
  this.hasRoute = true;
9702
9754
  this.fullscreen = true;
9703
9755
  this.componentsAddedToPage = false;
9756
+ this._parentRoutingService = inject(RoutingService, { skipSelf: true, optional: true });
9757
+ this._routingService = inject(RoutingService, { self: true, optional: true });
9704
9758
  }
9705
9759
  ngAfterViewInit() {
9706
9760
  super.ngAfterViewInit();
@@ -9761,8 +9815,8 @@ class PageBaseComponent extends ContainerComponent {
9761
9815
  controlUi.instance.settings = module.Component.Settings;
9762
9816
  controlUi.instance.activatedRoute = this._activatedRoute;
9763
9817
  let containerRef = this.containerRef;
9764
- if (module.ContainerRef && this[module.ContainerRef]) {
9765
- containerRef = this[module.ContainerRef];
9818
+ if (module.PlaceholderName && this[module.PlaceholderName]) {
9819
+ containerRef = this[module.PlaceholderName];
9766
9820
  } // توسط ماژول مشخص شده کامپوننت در کدام کانتینر پیج قرار گیرد
9767
9821
  if (containerRef) {
9768
9822
  containerRef.insert(controlUi.hostView);
@@ -11034,34 +11088,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11034
11088
  class FormPageBaseComponent extends ContainerComponent {
11035
11089
  constructor() {
11036
11090
  super(...arguments);
11091
+ this._routingService = inject(RoutingService, { self: true, optional: true });
11037
11092
  this._containerServiceParent = inject(ContainerService, { skipSelf: true, optional: true });
11038
- /* eslint-disable */
11039
- this.ShowFormPanelControl = (formpanelCtrlr) => {
11040
- this._portalService.ShowFormPanelControl(formpanelCtrlr, this._router, this._activatedRoute, this._formDialogComponent, false, this._vcr);
11041
- };
11042
- /* eslint-disable */
11043
- this.RefreshFormPanelControl = () => {
11044
- const formpanelCtrlr = this._portalService.formPanels[this.formpanelCtrlrId];
11045
- this.parentContainer.RefreshFormPanelControl(formpanelCtrlr);
11046
- };
11047
- /* eslint-disable */
11048
- this.ForceCloseChild = () => {
11049
- this._router.navigate([{ outlets: { popup: null } }], {
11050
- relativeTo: this._activatedRoute
11051
- });
11052
- };
11053
- /* eslint-disable */
11054
- this.ForceClose = () => {
11055
- this.parentContainer.ForceCloseChild();
11056
- };
11057
11093
  }
11058
11094
  ngOnInit() {
11059
11095
  super.ngOnInit();
11096
+ this._routingService && (this._routingService.isFirstPage = false);
11060
11097
  this._activatedRoute.params.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {
11061
11098
  const state = this._router.getCurrentNavigation()?.extras.state;
11062
11099
  this.prepareIds(state?.formPanelCtrlrId, params);
11063
11100
  });
11064
- this.hideAllPageContent();
11065
11101
  }
11066
11102
  ngAfterViewInit() {
11067
11103
  super.ngAfterViewInit();
@@ -11077,16 +11113,6 @@ class FormPageBaseComponent extends ContainerComponent {
11077
11113
  ngOnDestroy() {
11078
11114
  super.ngOnDestroy();
11079
11115
  this._portalService.formPanels[this.formpanelCtrlrId] = null;
11080
- this.removeLastHidePage();
11081
- }
11082
- _resize() {
11083
- this.hideAllPageContent();
11084
- }
11085
- hideAllPageContent() {
11086
- this._containerServiceParent?.hideFormPage();
11087
- }
11088
- removeLastHidePage() {
11089
- this._containerServiceParent?.showFormPage();
11090
11116
  }
11091
11117
  onFormClose() {
11092
11118
  if (this._activatedRoute.snapshot.params.isFirst &&
@@ -11106,12 +11132,6 @@ class FormPageBaseComponent extends ContainerComponent {
11106
11132
  replaceUrl: true
11107
11133
  });
11108
11134
  }
11109
- return;
11110
- const outlet = this._activatedRoute.outlet;
11111
- // let outlets = {};
11112
- // outlets[outlet] = null;
11113
- // if(this.location.getState())
11114
- this._router.navigate([{ outlets: { main: null } }]);
11115
11135
  }
11116
11136
  prepareIds(formpanelCtrlrId, params) {
11117
11137
  this.formpanelCtrlrId = formpanelCtrlrId || params.formPanelCtrlrId;
@@ -11126,7 +11146,7 @@ class FormPageBaseComponent extends ContainerComponent {
11126
11146
  this._cdr.detectChanges();
11127
11147
  }
11128
11148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormPageBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FormPageBaseComponent, isStandalone: false, selector: "bnrc-form-page-base", inputs: { formPanelCtrlr: "formPanelCtrlr", ShowFormPanelControl: "ShowFormPanelControl", RefreshFormPanelControl: "RefreshFormPanelControl", ForceCloseChild: "ForceCloseChild", ForceClose: "ForceClose" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FormPageBaseComponent, isStandalone: false, selector: "bnrc-form-page-base", inputs: { formPanelCtrlr: "formPanelCtrlr" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11130
11150
  }
11131
11151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormPageBaseComponent, decorators: [{
11132
11152
  type: Component,
@@ -11138,14 +11158,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11138
11158
  }]
11139
11159
  }], propDecorators: { formPanelCtrlr: [{
11140
11160
  type: Input
11141
- }], ShowFormPanelControl: [{
11142
- type: Input
11143
- }], RefreshFormPanelControl: [{
11144
- type: Input
11145
- }], ForceCloseChild: [{
11146
- type: Input
11147
- }], ForceClose: [{
11148
- type: Input
11149
11161
  }] } });
11150
11162
 
11151
11163
  class FormComponent extends BaseComponent {
@@ -11167,6 +11179,7 @@ class FormComponent extends BaseComponent {
11167
11179
  this._activatedRoute = inject(ActivatedRoute);
11168
11180
  this._router = inject(Router);
11169
11181
  this._containerService = inject(ContainerService, { self: false, optional: true });
11182
+ this._routingService = inject(RoutingService, { skipSelf: true, optional: true });
11170
11183
  el.nativeElement.id = this.uniqueId = getUniqueId(4);
11171
11184
  }
11172
11185
  ngOnInit() {
@@ -11248,9 +11261,9 @@ class FormComponent extends BaseComponent {
11248
11261
  formpanelCtrlr.UlvMainCtrlr = this.UlvMainCtrlr;
11249
11262
  formpanelCtrlr.Setting = formSetting;
11250
11263
  formpanelCtrlr.InlineEditInReport = this.inlineEditInReport;
11251
- if (this._containerService) {
11252
- this._containerService.FormPanelCtrlr = formpanelCtrlr;
11253
- formpanelCtrlr.Page = this._containerService;
11264
+ if (this._routingService) {
11265
+ this._routingService.FormPanelCtrlr = formpanelCtrlr;
11266
+ formpanelCtrlr.Page = this._routingService;
11254
11267
  }
11255
11268
  const nav = this._router.getCurrentNavigation();
11256
11269
  formpanelCtrlr.FormRequestParams.state = nav?.extras.state;
@@ -11455,7 +11468,7 @@ class FormPageComponent extends FormPageBaseComponent {
11455
11468
  super.ngOnInit();
11456
11469
  }
11457
11470
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11458
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FormPageComponent, isStandalone: false, selector: "bnrc-form-page", inputs: { formPanelCtrlr: "formPanelCtrlr" }, host: { properties: { "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass" } }, providers: [FormService, ContainerService], viewQueries: [{ propertyName: "_placeHolderTemplate", first: true, predicate: ["placeHolderTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
11471
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FormPageComponent, isStandalone: false, selector: "bnrc-form-page", inputs: { formPanelCtrlr: "formPanelCtrlr" }, host: { properties: { "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass" } }, providers: [FormService, RoutingService, ContainerService], viewQueries: [{ propertyName: "_placeHolderTemplate", first: true, predicate: ["placeHolderTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
11459
11472
  <ng-template #placeHolderTemplate>
11460
11473
  <bnrc-form
11461
11474
  [formPanelCtrl]="formPanelCtrlr"
@@ -11481,7 +11494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11481
11494
  </ng-template>
11482
11495
  <ng-container #containerRef> </ng-container>
11483
11496
  <router-outlet></router-outlet>
11484
- `, providers: [FormService, ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block;background:var(--sapBackgroundColor)}\n"] }]
11497
+ `, providers: [FormService, RoutingService, ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block;background:var(--sapBackgroundColor)}\n"] }]
11485
11498
  }], propDecorators: { _placeHolderTemplate: [{
11486
11499
  type: ViewChild,
11487
11500
  args: ['placeHolderTemplate', { static: true }]
@@ -11686,8 +11699,8 @@ class EmptyPageComponent extends PageWithFormHandlerBaseComponent {
11686
11699
  const isModal = this.settings?.IsModal;
11687
11700
  const isRelativePage = this._activatedRoute.snapshot.data?.pageData?.Component?.Settings?.IsRelativePage;
11688
11701
  if (isRelativePage || isModal) {
11689
- if (this._containerServiceParent) {
11690
- this._containerServiceParent.detachParent = false;
11702
+ if (this._parentContainerService) {
11703
+ this._parentContainerService.detachParent = false;
11691
11704
  }
11692
11705
  else {
11693
11706
  this._log.error(nullOrUndefinedString('EmptyPageComponent=> _containerService'));
@@ -11706,7 +11719,7 @@ class EmptyPageComponent extends PageWithFormHandlerBaseComponent {
11706
11719
  }
11707
11720
  }
11708
11721
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: EmptyPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11709
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: EmptyPageComponent, isStandalone: false, selector: "bnrc-empty-page", host: { properties: { "style.position": "this._position", "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass", "class.modal": "this.ismodal" } }, providers: [ContainerService], usesInheritance: true, ngImport: i0, template: `<ng-container #containerRef></ng-container>
11722
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: EmptyPageComponent, isStandalone: false, selector: "bnrc-empty-page", host: { properties: { "style.position": "this._position", "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass", "class.modal": "this.ismodal" } }, providers: [RoutingService, ContainerService], usesInheritance: true, ngImport: i0, template: `<ng-container #containerRef></ng-container>
11710
11723
  <router-outlet></router-outlet>
11711
11724
  <router-outlet name="dialog"></router-outlet>`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11712
11725
  }
@@ -11714,7 +11727,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11714
11727
  type: Component,
11715
11728
  args: [{ selector: 'bnrc-empty-page', template: `<ng-container #containerRef></ng-container>
11716
11729
  <router-outlet></router-outlet>
11717
- <router-outlet name="dialog"></router-outlet>`, providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
11730
+ <router-outlet name="dialog"></router-outlet>`, providers: [RoutingService, ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
11718
11731
  }], propDecorators: { _position: [{
11719
11732
  type: HostBinding,
11720
11733
  args: ['style.position']
@@ -11741,8 +11754,8 @@ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
11741
11754
  this.settings = BarsaApi.Common.Util.TryGetValue(this._activatedRoute, 'data._value.pageData.Component.Settings', null);
11742
11755
  const isModal = this.settings?.IsModal;
11743
11756
  if (isModal) {
11744
- if (this._containerServiceParent) {
11745
- this._containerServiceParent.detachParent = false;
11757
+ if (this._parentContainerService) {
11758
+ this._parentContainerService.detachParent = false;
11746
11759
  }
11747
11760
  else {
11748
11761
  this._log.error(nullOrUndefinedString('EmptyPageComponent=> _containerService'));
@@ -11751,7 +11764,7 @@ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
11751
11764
  this.ismodal = true;
11752
11765
  }
11753
11766
  super.ngOnInit();
11754
- this._containerServiceParent && (this._containerServiceParent.masterDetails = true);
11767
+ this._routingService && (this._routingService.masterDetails = true);
11755
11768
  // if (!BarsaApi.LoginFormData.IsServiceDesk && !isModal) {
11756
11769
  // this._position = 'initial';
11757
11770
  // }
@@ -11760,7 +11773,7 @@ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
11760
11773
  }
11761
11774
  }
11762
11775
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MasterDetailsPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11763
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MasterDetailsPageComponent, isStandalone: false, selector: "bnrc-master-details-page", host: { properties: { "style.position": "this._position", "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass", "class.modal": "this.ismodal" } }, providers: [ContainerService], usesInheritance: true, ngImport: i0, template: `
11776
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MasterDetailsPageComponent, isStandalone: false, selector: "bnrc-master-details-page", host: { properties: { "style.position": "this._position", "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass", "class.modal": "this.ismodal" } }, providers: [RoutingService, ContainerService], usesInheritance: true, ngImport: i0, template: `
11764
11777
  <div class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row">
11765
11778
  <!-- لیست -->
11766
11779
  <div
@@ -11796,7 +11809,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11796
11809
  </div>
11797
11810
  <router-outlet></router-outlet>
11798
11811
  <router-outlet name="dialog"></router-outlet>
11799
- `, providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
11812
+ `, providers: [RoutingService, ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
11800
11813
  }], propDecorators: { _position: [{
11801
11814
  type: HostBinding,
11802
11815
  args: ['style.position']
@@ -11811,20 +11824,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
11811
11824
  args: ['class.modal']
11812
11825
  }] } });
11813
11826
 
11814
- class RedirectReportNavigatorCommandComponent extends BaseComponent {
11815
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RedirectReportNavigatorCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11816
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: RedirectReportNavigatorCommandComponent, isStandalone: false, selector: "bnrc-redirect-report-navigator-command", usesInheritance: true, ngImport: i0, template: "", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11817
- }
11818
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RedirectReportNavigatorCommandComponent, decorators: [{
11819
- type: Component,
11820
- args: [{ selector: 'bnrc-redirect-report-navigator-command', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "" }]
11821
- }] });
11822
-
11823
11827
  class PortalPageComponent extends PageWithFormHandlerBaseComponent {
11824
- constructor() {
11825
- super(...arguments);
11826
- this._routingService = inject(RoutingService);
11827
- }
11828
11828
  ngOnInit() {
11829
11829
  super.ngOnInit();
11830
11830
  this.addModulesToDom();
@@ -12128,7 +12128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
12128
12128
 
12129
12129
  class DynamicItemComponent extends BaseDynamicComponent {
12130
12130
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12131
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: DynamicItemComponent, isStandalone: false, selector: "bnrc-dynamic-item-component", inputs: { mo: "mo", allColumns: "allColumns", moDataList: "moDataList", columns: "columns", column: "column", index: "index", last: "last", hideOpenIcon: "hideOpenIcon", deviceName: "deviceName", deviceSize: "deviceSize", rtl: "rtl", editMode: "editMode", setting: "setting", parameters: "parameters", contextMenuItems: "contextMenuItems", canView: "canView", showRowNumber: "showRowNumber", rowNumber: "rowNumber", formSetting: "formSetting", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", isCheckList: "isCheckList", fields: "fields", isChecked: "isChecked", layout94$: "layout94$", inlineEditMode: "inlineEditMode", isNewInlineMo: "isNewInlineMo", allowInlineEdit: "allowInlineEdit", typeDefId: "typeDefId", rowIndicator: "rowIndicator", rowIndicatorColor: "rowIndicatorColor", UlvMainCtrlr: "UlvMainCtrlr" }, usesInheritance: true, ngImport: i0, template: `<ng-container #componentContainer></ng-container>`, isInline: true, styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: DynamicItemComponent, isStandalone: false, selector: "bnrc-dynamic-item-component", inputs: { mo: "mo", allColumns: "allColumns", moDataList: "moDataList", columns: "columns", column: "column", index: "index", last: "last", hideOpenIcon: "hideOpenIcon", deviceName: "deviceName", deviceSize: "deviceSize", rtl: "rtl", editMode: "editMode", setting: "setting", parameters: "parameters", contextMenuItems: "contextMenuItems", canView: "canView", showRowNumber: "showRowNumber", rowNumber: "rowNumber", formSetting: "formSetting", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", isCheckList: "isCheckList", maxHeightHeader: "maxHeightHeader", fields: "fields", isChecked: "isChecked", layout94$: "layout94$", inlineEditMode: "inlineEditMode", isNewInlineMo: "isNewInlineMo", allowInlineEdit: "allowInlineEdit", typeDefId: "typeDefId", rowIndicator: "rowIndicator", rowIndicatorColor: "rowIndicatorColor", UlvMainCtrlr: "UlvMainCtrlr" }, usesInheritance: true, ngImport: i0, template: `<ng-container #componentContainer></ng-container>`, isInline: true, styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12132
12132
  }
12133
12133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicItemComponent, decorators: [{
12134
12134
  type: Component,
@@ -12179,6 +12179,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
12179
12179
  type: Input
12180
12180
  }], isCheckList: [{
12181
12181
  type: Input
12182
+ }], maxHeightHeader: [{
12183
+ type: Input
12182
12184
  }], fields: [{
12183
12185
  type: Input
12184
12186
  }], isChecked: [{
@@ -12367,7 +12369,7 @@ class BaseViewContentPropsComponent extends BaseViewPropsComponent {
12367
12369
  this.actionListClick = new EventEmitter();
12368
12370
  }
12369
12371
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewContentPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12370
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseViewContentPropsComponent, isStandalone: false, selector: "bnrc-base-view-content-props", inputs: { moDataList: "moDataList", setting: "setting" }, outputs: { actionListClick: "actionListClick" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12372
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseViewContentPropsComponent, isStandalone: false, selector: "bnrc-base-view-content-props", inputs: { moDataList: "moDataList", maxHeightHeader: "maxHeightHeader", setting: "setting" }, outputs: { actionListClick: "actionListClick" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12371
12373
  }
12372
12374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewContentPropsComponent, decorators: [{
12373
12375
  type: Component,
@@ -12379,6 +12381,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
12379
12381
  }]
12380
12382
  }], propDecorators: { moDataList: [{
12381
12383
  type: Input
12384
+ }], maxHeightHeader: [{
12385
+ type: Input
12382
12386
  }], setting: [{
12383
12387
  type: Input
12384
12388
  }], actionListClick: [{
@@ -12824,7 +12828,7 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
12824
12828
  });
12825
12829
  }
12826
12830
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewItemPropsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12827
- 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", contextMenuOverflowText: "contextMenuOverflowText", detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", 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", 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 }); }
12831
+ 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", contextMenuOverflowText: "contextMenuOverflowText", detailsComponent: "detailsComponent", detailsColumns: "detailsColumns", detailsText: "detailsText", mo: "mo", moDataListCount: "moDataListCount", index: "index", last: "last", 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 }); }
12828
12832
  }
12829
12833
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseViewItemPropsComponent, decorators: [{
12830
12834
  type: Component,
@@ -12903,6 +12907,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
12903
12907
  type: Input
12904
12908
  }], rowIndicatorColor: [{
12905
12909
  type: Input
12910
+ }], maxHeightHeader: [{
12911
+ type: Input
12906
12912
  }], UlvMainCtrlr: [{
12907
12913
  type: Input
12908
12914
  }], fieldDict: [{
@@ -12928,9 +12934,26 @@ class BaseItemContentPropsComponent extends BaseComponent {
12928
12934
  this._cdr = inject(ChangeDetectorRef);
12929
12935
  this._el = inject(ElementRef);
12930
12936
  this._renderer2 = inject(Renderer2);
12937
+ this._ulvMainService = inject(UlvMainService);
12938
+ }
12939
+ ngOnChanges(changes) {
12940
+ super.ngOnChanges(changes);
12941
+ let detectChanges = false;
12942
+ Object.keys(changes).forEach((key) => {
12943
+ if (!changes[key].firstChange) {
12944
+ this[key] = changes[key].currentValue;
12945
+ detectChanges = true;
12946
+ }
12947
+ });
12948
+ if (detectChanges) {
12949
+ this.detectChanges();
12950
+ }
12951
+ }
12952
+ detectChanges() {
12953
+ this._cdr.detectChanges();
12931
12954
  }
12932
12955
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseItemContentPropsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12933
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseItemContentPropsComponent, isStandalone: false, selector: "bnrc-base-item-content-props", inputs: { mo: "mo", allColumns: "allColumns", column: "column", index: "index", styleIndex: "styleIndex", deviceName: "deviceName", deviceSize: "deviceSize", rtl: "rtl", editMode: "editMode", setting: "setting", parameters: "parameters", contextMenuItems: "contextMenuItems", canView: "canView", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", isCheckList: "isCheckList", fields: "fields", isChecked: "isChecked", hideOpenIcon: "hideOpenIcon", layout94$: "layout94$", inlineEditMode: "inlineEditMode", allowInlineEdit: "allowInlineEdit", isNewInlineMo: "isNewInlineMo", formSetting: "formSetting", typeDefId: "typeDefId", UlvMainCtrlr: "UlvMainCtrlr" }, outputs: { events: "events" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12956
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseItemContentPropsComponent, isStandalone: false, selector: "bnrc-base-item-content-props", inputs: { mo: "mo", allColumns: "allColumns", column: "column", index: "index", styleIndex: "styleIndex", deviceName: "deviceName", deviceSize: "deviceSize", rtl: "rtl", editMode: "editMode", setting: "setting", parameters: "parameters", contextMenuItems: "contextMenuItems", canView: "canView", conditionalFormats: "conditionalFormats", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", isCheckList: "isCheckList", fields: "fields", isChecked: "isChecked", hideOpenIcon: "hideOpenIcon", layout94$: "layout94$", inlineEditMode: "inlineEditMode", allowInlineEdit: "allowInlineEdit", isNewInlineMo: "isNewInlineMo", formSetting: "formSetting", typeDefId: "typeDefId", maxHeightHeader: "maxHeightHeader", UlvMainCtrlr: "UlvMainCtrlr" }, outputs: { events: "events" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12934
12957
  }
12935
12958
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseItemContentPropsComponent, decorators: [{
12936
12959
  type: Component,
@@ -12994,6 +13017,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
12994
13017
  type: Input
12995
13018
  }], typeDefId: [{
12996
13019
  type: Input
13020
+ }], maxHeightHeader: [{
13021
+ type: Input
12997
13022
  }], UlvMainCtrlr: [{
12998
13023
  type: Input
12999
13024
  }] } });
@@ -13347,6 +13372,7 @@ class RootPortalComponent extends PageBaseComponent {
13347
13372
  }
13348
13373
  ngOnInit() {
13349
13374
  super.ngOnInit();
13375
+ this.addModulesToDom();
13350
13376
  this.inLocalMode = isInLocalMode();
13351
13377
  this._portalService.rtl$.subscribe((c) => {
13352
13378
  this._dir = c ? 'rtl' : 'ltr';
@@ -13423,7 +13449,7 @@ class RootPortalComponent extends PageBaseComponent {
13423
13449
  }
13424
13450
  }
13425
13451
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13426
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: RootPortalComponent, isStandalone: false, selector: "bnrc-root-portal", host: { properties: { "attr.dir": "this._dir", "attr.devicesize": "this._deviceSize" } }, providers: [ContainerService], viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
13452
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: RootPortalComponent, isStandalone: false, selector: "bnrc-root-portal", host: { properties: { "attr.dir": "this._dir", "attr.devicesize": "this._deviceSize" } }, viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
13427
13453
  <div
13428
13454
  class="tw-hidden grid-cols-0 tw-grid-cols-1 tw-grid-cols-2 tw-grid-cols-3 tw-grid-cols-4 tw-grid-cols-5
13429
13455
  tw-grid-cols-6 tw-grid-cols-7 tw-grid-cols-8 tw-grid-cols-9 tw-grid-cols-10 tw-grid-cols-11 tw-grid-cols-12"
@@ -13478,7 +13504,7 @@ class RootPortalComponent extends PageBaseComponent {
13478
13504
  </div>
13479
13505
  </div>
13480
13506
  }
13481
- <section loadExternalFiles class="section" id="mainpage" #sectionRef>
13507
+ <section loadExternalFiles class="tw-invisible section" id="mainpage" #sectionRef>
13482
13508
  <div #containerRef></div>
13483
13509
  </section>
13484
13510
  <div class="page-wrapper">
@@ -13551,7 +13577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
13551
13577
  </div>
13552
13578
  </div>
13553
13579
  }
13554
- <section loadExternalFiles class="section" id="mainpage" #sectionRef>
13580
+ <section loadExternalFiles class="tw-invisible section" id="mainpage" #sectionRef>
13555
13581
  <div #containerRef></div>
13556
13582
  </section>
13557
13583
  <div class="page-wrapper">
@@ -13565,7 +13591,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
13565
13591
  <bnrc-push-banner></bnrc-push-banner>
13566
13592
  `,
13567
13593
  changeDetection: ChangeDetectionStrategy.OnPush,
13568
- providers: [ContainerService],
13569
13594
  standalone: false
13570
13595
  }]
13571
13596
  }], propDecorators: { sectionRef: [{
@@ -16466,6 +16491,102 @@ var barsaSapUiFormPage_module = /*#__PURE__*/Object.freeze({
16466
16491
  BarsaSapUiFormPageModule: BarsaSapUiFormPageModule
16467
16492
  });
16468
16493
 
16494
+ class ReportNavigatorComponent extends BaseComponent {
16495
+ /** Inserted by Angular inject() migration for backwards compatibility */
16496
+ constructor() {
16497
+ super();
16498
+ this.minheight = '100svh';
16499
+ this._activatedRoute = inject(ActivatedRoute);
16500
+ this._portalService = inject(PortalService);
16501
+ this._applicationCtrlService = inject(ApplicationCtrlrService);
16502
+ this._injector = inject(Injector);
16503
+ this._cdr = inject(ChangeDetectorRef);
16504
+ this._loadingSource = new BehaviorSubject(false);
16505
+ this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(200));
16506
+ }
16507
+ ngOnInit() {
16508
+ super.ngOnInit();
16509
+ this._activatedRoute.params
16510
+ .pipe(takeUntil(this._onDestroy$), tap(() => this._setLoading(true)), map((params) => ({
16511
+ Id: params.id.split('__')[0],
16512
+ ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
16513
+ ReportId2: params.id.split('__').length > 1 ? params.id.split('__')[1] : '',
16514
+ isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
16515
+ })), tap((c) => (c.isReportPage ? (this.minheight = 'auto') : '100vh')), tap((c) => (c.ReportId = !c.ReportId ? c.ReportId2 : c.ReportId)), tap((_c) => this.containerRef.clear()), tap((navItem) => this._applicationCtrlService.selectNavGroupItem(navItem.Id)), tap((navItem) => this._applicationCtrlService.selectedReportId(navItem.ReportId || navItem.ReportId2)), switchMap((navItem) => this._portalService
16516
+ .renderUlvMainUi(navItem, this.containerRef, this._injector, navItem.isReportPage ? false : true)
16517
+ .pipe(catchError((_err) =>
16518
+ // this._location.back();
16519
+ // return throwError(() => new Error(err));
16520
+ of(true)))), tap((ulv) => this._setActiveReport(ulv)), finalize(() => {
16521
+ this._setLoading(false);
16522
+ }))
16523
+ .subscribe(() => {
16524
+ this._setLoading(false);
16525
+ });
16526
+ }
16527
+ ngOnDestroy() {
16528
+ super.ngOnDestroy();
16529
+ // this._applicationCtrlService.selectNavGroupItem('');
16530
+ this._setActiveReport(null);
16531
+ }
16532
+ _setLoading(val) {
16533
+ this._loadingSource.next(val);
16534
+ this._cdr.detectChanges();
16535
+ }
16536
+ _setActiveReport(ulv) {
16537
+ BarsaApi.Bw.App.GetActiveReport = () => {
16538
+ if (ulv === null) {
16539
+ return ulv;
16540
+ }
16541
+ return BarsaApi.Bw._wrap(ulv);
16542
+ };
16543
+ }
16544
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportNavigatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16545
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ReportNavigatorComponent, isStandalone: false, selector: "bnrc-report-navigator", host: { properties: { "style.min-height": "this.minheight" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: `<ng-container #containerRef></ng-container>`, isInline: true, styles: [":host{display:block;width:100%;background:var(--sapBaseColor)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16546
+ }
16547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportNavigatorComponent, decorators: [{
16548
+ type: Component,
16549
+ args: [{ selector: 'bnrc-report-navigator', template: `<ng-container #containerRef></ng-container>`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block;width:100%;background:var(--sapBaseColor)}\n"] }]
16550
+ }], ctorParameters: () => [], propDecorators: { containerRef: [{
16551
+ type: ViewChild,
16552
+ args: ['containerRef', { static: true, read: ViewContainerRef }]
16553
+ }], minheight: [{
16554
+ type: HostBinding,
16555
+ args: ['style.min-height']
16556
+ }] } });
16557
+
16558
+ class ReportEmptyPageComponent extends PageWithFormHandlerBaseComponent {
16559
+ constructor() {
16560
+ super(...arguments);
16561
+ this._injecotr = inject(Injector);
16562
+ }
16563
+ ngOnInit() {
16564
+ this.containerRef.insert(this.blockTemplate.createEmbeddedView(this, this._injecotr));
16565
+ super.ngOnInit();
16566
+ }
16567
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportEmptyPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16568
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ReportEmptyPageComponent, isStandalone: false, selector: "bnrc-report-empty-page", providers: [RoutingService, ContainerService], viewQueries: [{ propertyName: "blockTemplate", first: true, predicate: ["block"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
16569
+ <ng-template #block>
16570
+ <bnrc-report-navigator></bnrc-report-navigator>
16571
+ </ng-template>
16572
+ <ng-container #containerRef></ng-container>
16573
+ <router-outlet></router-outlet>
16574
+ `, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ReportNavigatorComponent, selector: "bnrc-report-navigator" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16575
+ }
16576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportEmptyPageComponent, decorators: [{
16577
+ type: Component,
16578
+ args: [{ selector: 'bnrc-report-empty-page', template: `
16579
+ <ng-template #block>
16580
+ <bnrc-report-navigator></bnrc-report-navigator>
16581
+ </ng-template>
16582
+ <ng-container #containerRef></ng-container>
16583
+ <router-outlet></router-outlet>
16584
+ `, providers: [RoutingService, ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
16585
+ }], propDecorators: { blockTemplate: [{
16586
+ type: ViewChild,
16587
+ args: ['block', { static: true }]
16588
+ }] } });
16589
+
16469
16590
  class BaseController {
16470
16591
  /**
16471
16592
  *
@@ -16554,35 +16675,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
16554
16675
  args: ['class.mobile']
16555
16676
  }] } });
16556
16677
 
16557
- class CustomRouteReuseStategy {
16558
- constructor() {
16559
- this.handlers = {};
16560
- }
16678
+ // دیکشنری برای نگهداری کامپوننت‌های Detach شده
16679
+ const routeStorage = {};
16680
+ const REUSE_PROPERTY = 'ReuseRoute';
16681
+ class CustomRouteReuseStrategy {
16682
+ // تصمیم می‌گیرد که آیا یک روَت باید Detach و ذخیره شود یا نه.
16683
+ // ما فقط روَت‌هایی را که در data مشخص شده‌اند، Detach می‌کنیم.
16561
16684
  shouldDetach(route) {
16562
- return route.data.shouldReuse || false;
16685
+ // برای روَت‌های اصلی که می‌خواهید حفظ شوند
16686
+ const isReuse = !!BarsaApi.Common.Util.TryGetValue(route, `data.pageData.${REUSE_PROPERTY}`);
16687
+ return isReuse;
16563
16688
  }
16689
+ // کامپوننت Detach شده را ذخیره می‌کند.
16564
16690
  store(route, handle) {
16565
- if (route.data.shouldReuse && route?.routeConfig?.path) {
16566
- this.handlers[route.routeConfig.path] = handle;
16691
+ const isReuse = !!BarsaApi.Common.Util.TryGetValue(route, `data.pageData.${REUSE_PROPERTY}`);
16692
+ if (route.routeConfig && isReuse) {
16693
+ const keyPath = this._getKeyOfPath(route);
16694
+ routeStorage[keyPath] = handle;
16567
16695
  }
16568
16696
  }
16697
+ // تصمیم می‌گیرد که آیا کامپوننت ذخیره شده باید بازیابی (Attach) شود یا نه.
16569
16698
  shouldAttach(route) {
16570
- if (route.routeConfig?.path) {
16571
- return !!this.handlers[route.routeConfig.path];
16572
- }
16573
- // return !!route.routeConfig && !!this.handlers[route.routeConfig.path];
16574
- return false;
16699
+ // اگر روَت در حافظه ذخیره شده و قرار بوده حفظ شود
16700
+ const keyPath = this._getKeyOfPath(route);
16701
+ return !!route.routeConfig && !!routeStorage[keyPath];
16575
16702
  }
16703
+ // کامپوننت ذخیره شده را بازیابی می‌کند.
16576
16704
  retrieve(route) {
16577
- if (!route.routeConfig?.path) {
16705
+ const isReuse = !!BarsaApi.Common.Util.TryGetValue(route, `data.pageData.${REUSE_PROPERTY}`);
16706
+ if (!route.routeConfig || !isReuse) {
16578
16707
  return null;
16579
16708
  }
16580
- return this.handlers[route.routeConfig.path];
16709
+ const keyPath = this._getKeyOfPath(route);
16710
+ return routeStorage[keyPath] || null;
16581
16711
  }
16582
- shouldReuseRoute(future
16583
- // curr: ActivatedRouteSnapshot
16584
- ) {
16585
- return future.data.shouldReuse || false;
16712
+ // مهم‌ترین بخش: تصمیم می‌گیرد که آیا روَت فعلی باید برای روَت آینده بازاستفاده شود یا نه.
16713
+ // اگر از یک روَت به روَت دیگری برویم (مثل 'Page1' به 'Page2')، این باید 'false' باشد تا بتواند Detach شود.
16714
+ // اما اگر پارامترها و Query Params یکسان باشند، شاید بخواهید 'true' باشد.
16715
+ // برای حالت شما (نویگیشن بین روَت‌های اصلی)، معمولاً 'false' است مگر اینکه روَت‌ها کاملاً یکسان باشند.
16716
+ shouldReuseRoute(future, curr) {
16717
+ // این کار باعث می‌شود روَت‌های خواهر (sibling) به عنوان روَت‌های جدید در نظر گرفته شوند
16718
+ // تا بتوانند Detach و Attach شوند.
16719
+ return future.routeConfig === curr.routeConfig;
16720
+ }
16721
+ _getKeyOfPath(route) {
16722
+ const x = BarsaApi.Common.Util.TryGetValue(route, `data.pageData.ParentRoute`);
16723
+ const y = BarsaApi.Common.Util.TryGetValue(route, `data.pageData.Route`);
16724
+ const keyPath = `${x}${y}`;
16725
+ return keyPath;
16586
16726
  }
16587
16727
  }
16588
16728
 
@@ -16593,11 +16733,11 @@ class RootPageComponent extends BaseComponent {
16593
16733
  this.viewContainerRef = inject(ViewContainerRef);
16594
16734
  }
16595
16735
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RootPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16596
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: RootPageComponent, isStandalone: false, selector: "bnrc-root-page", host: { properties: { "class.page-content": "this._pageContent" } }, usesInheritance: true, ngImport: i0, template: "<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n", styles: [":host{position:relative;display:block}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16736
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: RootPageComponent, isStandalone: false, selector: "bnrc-root-page", host: { properties: { "class.page-content": "this._pageContent" } }, providers: [RoutingService], usesInheritance: true, ngImport: i0, template: `<router-outlet></router-outlet><router-outlet name="main"></router-outlet>`, isInline: true, styles: [":host{position:relative;display:block}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16597
16737
  }
16598
16738
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RootPageComponent, decorators: [{
16599
16739
  type: Component,
16600
- args: [{ selector: 'bnrc-root-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n", styles: [":host{position:relative;display:block}\n"] }]
16740
+ args: [{ selector: 'bnrc-root-page', template: `<router-outlet></router-outlet><router-outlet name="main"></router-outlet>`, changeDetection: ChangeDetectionStrategy.OnPush, providers: [RoutingService], standalone: false, styles: [":host{position:relative;display:block}\n"] }]
16601
16741
  }], propDecorators: { _pageContent: [{
16602
16742
  type: HostBinding,
16603
16743
  args: ['class.page-content']
@@ -17068,7 +17208,6 @@ const components = [
17068
17208
  ModalRootComponent,
17069
17209
  PortalPageComponent,
17070
17210
  PortalPageSidebarComponent,
17071
- RedirectReportNavigatorCommandComponent,
17072
17211
  EmptyPageWithRouterAndRouterOutletComponent,
17073
17212
  DynamicItemComponent,
17074
17213
  DynamicFormComponent,
@@ -17076,13 +17215,15 @@ const components = [
17076
17215
  DynamicFormToolbaritemComponent,
17077
17216
  DynamicLayoutComponent,
17078
17217
  EmptyPageComponent,
17218
+ ReportEmptyPageComponent,
17079
17219
  MasterDetailsPageComponent,
17080
17220
  FormPageComponent,
17081
17221
  FormFieldReportPageComponent,
17082
17222
  ButtonLoadingComponent,
17083
17223
  UnlimitSessionComponent,
17084
17224
  DynamicTileGroupComponent,
17085
- PushBannerComponent
17225
+ PushBannerComponent,
17226
+ ReportNavigatorComponent
17086
17227
  ];
17087
17228
  const directives = [
17088
17229
  PlaceHolderDirective,
@@ -17313,6 +17454,10 @@ class BarsaNovinRayCoreModule extends BaseModule {
17313
17454
  })(inject(NotificationService));
17314
17455
  return initializerFn();
17315
17456
  }),
17457
+ {
17458
+ provide: RouteReuseStrategy,
17459
+ useClass: CustomRouteReuseStrategy
17460
+ },
17316
17461
  ...pipes,
17317
17462
  ...services
17318
17463
  ]
@@ -17329,7 +17474,6 @@ class BarsaNovinRayCoreModule extends BaseModule {
17329
17474
  ModalRootComponent,
17330
17475
  PortalPageComponent,
17331
17476
  PortalPageSidebarComponent,
17332
- RedirectReportNavigatorCommandComponent,
17333
17477
  EmptyPageWithRouterAndRouterOutletComponent,
17334
17478
  DynamicItemComponent,
17335
17479
  DynamicFormComponent,
@@ -17337,13 +17481,15 @@ class BarsaNovinRayCoreModule extends BaseModule {
17337
17481
  DynamicFormToolbaritemComponent,
17338
17482
  DynamicLayoutComponent,
17339
17483
  EmptyPageComponent,
17484
+ ReportEmptyPageComponent,
17340
17485
  MasterDetailsPageComponent,
17341
17486
  FormPageComponent,
17342
17487
  FormFieldReportPageComponent,
17343
17488
  ButtonLoadingComponent,
17344
17489
  UnlimitSessionComponent,
17345
17490
  DynamicTileGroupComponent,
17346
- PushBannerComponent, NumeralPipe,
17491
+ PushBannerComponent,
17492
+ ReportNavigatorComponent, NumeralPipe,
17347
17493
  CanUploadFilePipe,
17348
17494
  RemoveNewlinePipe,
17349
17495
  ConvertToStylePipe,
@@ -17466,7 +17612,6 @@ class BarsaNovinRayCoreModule extends BaseModule {
17466
17612
  ModalRootComponent,
17467
17613
  PortalPageComponent,
17468
17614
  PortalPageSidebarComponent,
17469
- RedirectReportNavigatorCommandComponent,
17470
17615
  EmptyPageWithRouterAndRouterOutletComponent,
17471
17616
  DynamicItemComponent,
17472
17617
  DynamicFormComponent,
@@ -17474,13 +17619,15 @@ class BarsaNovinRayCoreModule extends BaseModule {
17474
17619
  DynamicFormToolbaritemComponent,
17475
17620
  DynamicLayoutComponent,
17476
17621
  EmptyPageComponent,
17622
+ ReportEmptyPageComponent,
17477
17623
  MasterDetailsPageComponent,
17478
17624
  FormPageComponent,
17479
17625
  FormFieldReportPageComponent,
17480
17626
  ButtonLoadingComponent,
17481
17627
  UnlimitSessionComponent,
17482
17628
  DynamicTileGroupComponent,
17483
- PushBannerComponent, NumeralPipe,
17629
+ PushBannerComponent,
17630
+ ReportNavigatorComponent, NumeralPipe,
17484
17631
  CanUploadFilePipe,
17485
17632
  RemoveNewlinePipe,
17486
17633
  ConvertToStylePipe,
@@ -17618,5 +17765,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
17618
17765
  * Generated bundle index. Do not edit.
17619
17766
  */
17620
17767
 
17621
- export { APP_VERSION, AbsoluteDivBodyDirective, AddDynamicFormStyles, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, ApplicationCtrlrService, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaReadonlyDirective, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, CardMediaSizePipe, ChangeLayoutInfoCustomUi, ChunkArrayPipe, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueDirective, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicDarkColorPipe, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicRootVariableDirective, DynamicStyleDirective, DynamicTileGroupComponent, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetAllHorizontalFromLayout94, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, HorizontalResponsiveDirective, IconControlInfoModel, IdbService, ImageLazyDirective, ImageMimeType, ImagetoPrint, InMemoryStorageService, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsDarkMode, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelStarTrimPipe, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LeafletLongPressDirective, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, LoginSettingsResolver, MapToChatMessagePipe, MasterDetailsPageComponent, MeasureFormTitleWidthDirective, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoForReportModelBase, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, OverflowTextDirective, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, PushBannerComponent, PushCheckService, PushNotificationService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveDynamicFormStyles, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeHandlerDirective, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SafeBottomDirective, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, ScrollPersistDirective, ScrollToSelectedDirective, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, ShellbarHeightService, ShortcutHandlerDirective, ShortcutRegisterDirective, SimplebarDirective, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, SplideSliderDirective, SplitPipe, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, TabpageService, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, ToolbarSettingsPipe, TooltipDirective, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UnlimitSessionComponent, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WebOtpDirective, WordMimeType, WorfkflowwChoiceCommandDirective, addCssVariableToRoot, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, flattenTree, forbiddenValidator, formRoutes, formatBytes, fromEntries, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFocusableTagNames, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, measureText2, measureTextBy, mobile_regex, nullOrUndefinedString, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber, validateAllFormFields };
17768
+ export { APP_VERSION, AbsoluteDivBodyDirective, AddDynamicFormStyles, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, ApplicationCtrlrService, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaReadonlyDirective, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, CardMediaSizePipe, CardViewService, ChangeLayoutInfoCustomUi, ChunkArrayPipe, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueDirective, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStrategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicDarkColorPipe, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicRootVariableDirective, DynamicStyleDirective, DynamicTileGroupComponent, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetAllHorizontalFromLayout94, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, HorizontalResponsiveDirective, IconControlInfoModel, IdbService, ImageLazyDirective, ImageMimeType, ImagetoPrint, InMemoryStorageService, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsDarkMode, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelStarTrimPipe, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LeafletLongPressDirective, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, LoginSettingsResolver, MapToChatMessagePipe, MasterDetailsPageComponent, MeasureFormTitleWidthDirective, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoForReportModelBase, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, OverflowTextDirective, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, PushBannerComponent, PushCheckService, PushNotificationService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveDynamicFormStyles, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportEmptyPageComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportNavigatorComponent, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeHandlerDirective, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SafeBottomDirective, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, ScrollPersistDirective, ScrollToSelectedDirective, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, ShellbarHeightService, ShortcutHandlerDirective, ShortcutRegisterDirective, SimplebarDirective, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, SplideSliderDirective, SplitPipe, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, TabpageService, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, ToolbarSettingsPipe, TooltipDirective, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UnlimitSessionComponent, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WebOtpDirective, WordMimeType, WorfkflowwChoiceCommandDirective, addCssVariableToRoot, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, flattenTree, forbiddenValidator, formRoutes, formatBytes, fromEntries, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFocusableTagNames, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, measureText2, measureTextBy, mobile_regex, nullOrUndefinedString, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber, validateAllFormFields };
17622
17769
  //# sourceMappingURL=barsa-novin-ray-core.mjs.map