barsa-novin-ray-core 2.3.53 → 2.3.54

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,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, ElementRef, Input, ChangeDetectionStrategy, Component, Pipe, ComponentFactoryResolver, Injector, ApplicationRef, Compiler, DOCUMENT, NgModuleFactory, InjectionToken, NgZone, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewContainerRef, ViewChild, signal, 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, tap as tap$1, concatMap as concatMap$1, catchError as catchError$1, finalize as finalize$1, Observable, takeUntil as takeUntil$1, timer, debounceTime as debounceTime$1, mergeWith, Subscription } from 'rxjs';
3
+ import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, withLatestFrom as withLatestFrom$1, fromEvent, forkJoin, takeUntil as takeUntil$1, throwError, merge, interval, filter as filter$1, tap as tap$1, concatMap as concatMap$1, catchError as catchError$1, finalize as finalize$1, Observable, timer, debounceTime as debounceTime$1, mergeWith, Subscription } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
5
  import { Router, NavigationEnd, ActivatedRoute, NavigationStart, RouterEvent, RouterModule } from '@angular/router';
6
6
  import { DomSanitizer, Title } from '@angular/platform-browser';
@@ -4839,121 +4839,6 @@ class FormService {
4839
4839
  }
4840
4840
  }
4841
4841
 
4842
- class ContainerService {
4843
- /** Inserted by Angular inject() migration for backwards compatibility */
4844
- constructor() {
4845
- this.oldActiveSystem = null;
4846
- this.detachParent = true;
4847
- this._activatedRoute = inject(ActivatedRoute);
4848
- this._parentService = inject(ContainerService, { skipSelf: true, optional: true });
4849
- this._scrollTop = 0;
4850
- this._el = inject(ElementRef);
4851
- // console.log(this);
4852
- }
4853
- ngOnDestroy() {
4854
- if (this._parentService && this.detachParent) {
4855
- this._parentService.insert();
4856
- }
4857
- }
4858
- setViewContainerRef(viewContainerRef) {
4859
- this._viewContainerRef = viewContainerRef;
4860
- if (this._parentService && this.detachParent) {
4861
- this._parentService.detach();
4862
- }
4863
- }
4864
- detach() {
4865
- this._setScrollPosition();
4866
- this._viewRef = this._viewContainerRef.detach();
4867
- }
4868
- _setScrollPosition() {
4869
- const elDom = this._el.nativeElement;
4870
- if (elDom) {
4871
- const x1 = elDom.querySelector('fd-dynamic-page-content');
4872
- const x2 = elDom.querySelector('.fd-scrollbar[fd-scrollbar]');
4873
- const scrollTopPage = x1?.scrollTop;
4874
- const scrollTopScrollbar = x2?.scrollTop;
4875
- if (scrollTopPage && scrollTopPage > 0) {
4876
- this._scrollTop = scrollTopPage;
4877
- this._elDomScrollbar = x1;
4878
- }
4879
- else if (scrollTopScrollbar && scrollTopScrollbar > 0) {
4880
- this._scrollTop = scrollTopScrollbar;
4881
- this._elDomScrollbar = x2;
4882
- }
4883
- }
4884
- }
4885
- _restoreScrollPostion() {
4886
- if (this._scrollTop && this._scrollTop > 0) {
4887
- if (this._elDomScrollbar) {
4888
- this._elDomScrollbar.scrollTop = this._scrollTop;
4889
- }
4890
- }
4891
- }
4892
- insert() {
4893
- if (this._viewRef) {
4894
- this._viewContainerRef.insert(this._viewRef);
4895
- this._restoreScrollPostion();
4896
- }
4897
- }
4898
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4899
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService }); }
4900
- }
4901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, decorators: [{
4902
- type: Injectable
4903
- }], ctorParameters: () => [] });
4904
-
4905
- class HorizontalLayoutService {
4906
- constructor() {
4907
- this.controlFlexColumnSource = new BehaviorSubject({});
4908
- this.displayTextFlexColumn$ = this.controlFlexColumnSource
4909
- .asObservable()
4910
- .pipe(map((controlFlexColumn) => Object.keys(controlFlexColumn).some((c) => controlFlexColumn[c])));
4911
- }
4912
- setFlexColumn(id, val) {
4913
- const flexColumn = this.controlFlexColumnSource.getValue();
4914
- flexColumn[id] = val;
4915
- this.controlFlexColumnSource.next(flexColumn);
4916
- }
4917
- }
4918
-
4919
- class LayoutService {
4920
- constructor() {
4921
- this.rendered = new BehaviorSubject(false);
4922
- this.maxWidth = new BehaviorSubject(0);
4923
- this.refreshLayoutSource = new Subject();
4924
- this.horizontalSource = new Subject();
4925
- this._listOfHorizontal = [];
4926
- this.rootRendered$ = this.rendered.asObservable();
4927
- this.maxWidth$ = this.maxWidth.asObservable();
4928
- this.refreshLayout$ = this.refreshLayoutSource.asObservable();
4929
- this.horizontal$ = this.horizontalSource.asObservable().pipe(distinctUntilChanged((a, b) => a === b));
4930
- }
4931
- setRendered(val) {
4932
- this.rendered.next(val);
4933
- }
4934
- setMaxWidth(val) {
4935
- if (this.maxWidth.value < val) {
4936
- this.maxWidth.next(val);
4937
- }
4938
- }
4939
- refreshLayout() {
4940
- this.refreshLayoutSource.next();
4941
- }
4942
- addHorizontal(id) {
4943
- this._listOfHorizontal = [...this._listOfHorizontal, id];
4944
- this.horizontalSource.next(this._listOfHorizontal);
4945
- }
4946
- removeHorizontal(id) {
4947
- this._listOfHorizontal = this._listOfHorizontal.filter((c) => c !== id);
4948
- this.horizontalSource.next(this._listOfHorizontal);
4949
- }
4950
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4951
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService }); }
4952
- }
4953
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, decorators: [{
4954
- type: Injectable
4955
- }], ctorParameters: () => [] });
4956
-
4957
4842
  class PortalPageResolver {
4958
4843
  /** Inserted by Angular inject() migration for backwards compatibility */
4959
4844
  constructor() {
@@ -6346,6 +6231,151 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
6346
6231
  }]
6347
6232
  }], ctorParameters: () => [] });
6348
6233
 
6234
+ class ContainerService {
6235
+ constructor() {
6236
+ this.oldActiveSystem = null;
6237
+ this.detachParent = true;
6238
+ this.masterDetails = false;
6239
+ this.isMobile = getDeviceIsMobile();
6240
+ this._activatedRoute = inject(ActivatedRoute);
6241
+ this._router = inject(Router);
6242
+ this._portalService = inject(PortalService);
6243
+ this._onDestroy$ = new Subject();
6244
+ this._parentService = inject(ContainerService, { skipSelf: true, optional: true });
6245
+ this._scrollTop = 0;
6246
+ this._el = inject(ElementRef);
6247
+ this.paramId$ = this._activatedRoute.paramMap.pipe(takeUntil$1(this._onDestroy$));
6248
+ }
6249
+ /** Inserted by Angular inject() migration for backwards compatibility */
6250
+ ngOnDestroy() {
6251
+ this._onDestroy$.next();
6252
+ this._onDestroy$.complete();
6253
+ if (this._parentService && this.detachParent) {
6254
+ this._parentService.insert();
6255
+ }
6256
+ }
6257
+ setViewContainerRef(viewContainerRef) {
6258
+ this._viewContainerRef = viewContainerRef;
6259
+ if (this._parentService && this.detachParent) {
6260
+ this._parentService.detach();
6261
+ }
6262
+ }
6263
+ navigate(navigation, isRelative, queryParams, state) {
6264
+ if (this.masterDetails && !this.isMobile) {
6265
+ this.navigateMasterDetails(navigation, isRelative, queryParams, state);
6266
+ return;
6267
+ }
6268
+ this._router.navigate(navigation, {
6269
+ relativeTo: isRelative ? this._activatedRoute : null,
6270
+ queryParams,
6271
+ preserveFragment: true,
6272
+ state
6273
+ });
6274
+ }
6275
+ navigateMasterDetails(navigation, isRelative, queryParams, data) {
6276
+ if (this._portalService.deviceSize !== 's') {
6277
+ navigation = [{ outlets: { details: [...navigation.filter((_c, index) => index > 0)] } }];
6278
+ }
6279
+ this._router.navigate(navigation, {
6280
+ relativeTo: isRelative ? this._activatedRoute : null,
6281
+ queryParams,
6282
+ preserveFragment: true,
6283
+ state: { ...data }
6284
+ });
6285
+ }
6286
+ detach() {
6287
+ this._setScrollPosition();
6288
+ this._viewRef = this._viewContainerRef.detach();
6289
+ }
6290
+ _setScrollPosition() {
6291
+ const elDom = this._el.nativeElement;
6292
+ if (elDom) {
6293
+ const x1 = elDom.querySelector('fd-dynamic-page-content');
6294
+ const x2 = elDom.querySelector('.fd-scrollbar[fd-scrollbar]');
6295
+ const scrollTopPage = x1?.scrollTop;
6296
+ const scrollTopScrollbar = x2?.scrollTop;
6297
+ if (scrollTopPage && scrollTopPage > 0) {
6298
+ this._scrollTop = scrollTopPage;
6299
+ this._elDomScrollbar = x1;
6300
+ }
6301
+ else if (scrollTopScrollbar && scrollTopScrollbar > 0) {
6302
+ this._scrollTop = scrollTopScrollbar;
6303
+ this._elDomScrollbar = x2;
6304
+ }
6305
+ }
6306
+ }
6307
+ _restoreScrollPostion() {
6308
+ if (this._scrollTop && this._scrollTop > 0) {
6309
+ if (this._elDomScrollbar) {
6310
+ this._elDomScrollbar.scrollTop = this._scrollTop;
6311
+ }
6312
+ }
6313
+ }
6314
+ insert() {
6315
+ if (this._viewRef) {
6316
+ this._viewContainerRef.insert(this._viewRef);
6317
+ this._restoreScrollPostion();
6318
+ }
6319
+ }
6320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6321
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService }); }
6322
+ }
6323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerService, decorators: [{
6324
+ type: Injectable
6325
+ }], ctorParameters: () => [] });
6326
+
6327
+ class HorizontalLayoutService {
6328
+ constructor() {
6329
+ this.controlFlexColumnSource = new BehaviorSubject({});
6330
+ this.displayTextFlexColumn$ = this.controlFlexColumnSource
6331
+ .asObservable()
6332
+ .pipe(map((controlFlexColumn) => Object.keys(controlFlexColumn).some((c) => controlFlexColumn[c])));
6333
+ }
6334
+ setFlexColumn(id, val) {
6335
+ const flexColumn = this.controlFlexColumnSource.getValue();
6336
+ flexColumn[id] = val;
6337
+ this.controlFlexColumnSource.next(flexColumn);
6338
+ }
6339
+ }
6340
+
6341
+ class LayoutService {
6342
+ constructor() {
6343
+ this.rendered = new BehaviorSubject(false);
6344
+ this.maxWidth = new BehaviorSubject(0);
6345
+ this.refreshLayoutSource = new Subject();
6346
+ this.horizontalSource = new Subject();
6347
+ this._listOfHorizontal = [];
6348
+ this.rootRendered$ = this.rendered.asObservable();
6349
+ this.maxWidth$ = this.maxWidth.asObservable();
6350
+ this.refreshLayout$ = this.refreshLayoutSource.asObservable();
6351
+ this.horizontal$ = this.horizontalSource.asObservable().pipe(distinctUntilChanged((a, b) => a === b));
6352
+ }
6353
+ setRendered(val) {
6354
+ this.rendered.next(val);
6355
+ }
6356
+ setMaxWidth(val) {
6357
+ if (this.maxWidth.value < val) {
6358
+ this.maxWidth.next(val);
6359
+ }
6360
+ }
6361
+ refreshLayout() {
6362
+ this.refreshLayoutSource.next();
6363
+ }
6364
+ addHorizontal(id) {
6365
+ this._listOfHorizontal = [...this._listOfHorizontal, id];
6366
+ this.horizontalSource.next(this._listOfHorizontal);
6367
+ }
6368
+ removeHorizontal(id) {
6369
+ this._listOfHorizontal = this._listOfHorizontal.filter((c) => c !== id);
6370
+ this.horizontalSource.next(this._listOfHorizontal);
6371
+ }
6372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6373
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService }); }
6374
+ }
6375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutService, decorators: [{
6376
+ type: Injectable
6377
+ }], ctorParameters: () => [] });
6378
+
6349
6379
  class UiService {
6350
6380
  constructor() {
6351
6381
  this.tabSelected = new Subject();
@@ -9333,6 +9363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
9333
9363
  class ContainerComponent extends BaseComponent {
9334
9364
  constructor() {
9335
9365
  super();
9366
+ this.isMobile = getDeviceIsMobile();
9336
9367
  this.id = getUniqueId(6);
9337
9368
  this._activatedRoute = inject(ActivatedRoute);
9338
9369
  this._portalService = inject(PortalService);
@@ -9347,6 +9378,7 @@ class ContainerComponent extends BaseComponent {
9347
9378
  this._formDialogComponent = inject(FORM_DIALOG_COMPONENT, { optional: true });
9348
9379
  this.oldContainerContainer = this._barsaDialogService.containerComponent;
9349
9380
  this._barsaDialogService.containerComponent = this;
9381
+ this._portalService.deviceSize$.pipe(takeUntil$1(this._onDestroy$)).subscribe((c) => (this.deviceSize = c));
9350
9382
  }
9351
9383
  get injector() {
9352
9384
  return this._injector;
@@ -9361,12 +9393,8 @@ class ContainerComponent extends BaseComponent {
9361
9393
  this.parentContainer = BarsaApi.Bw.FormHandler;
9362
9394
  BarsaApi.Bw.FormHandler = this;
9363
9395
  this.oldNavigation = BarsaApi.Bw.Navigate;
9364
- BarsaApi.Bw.Navigate = (navigation, isRelative, queryParams) => {
9365
- this._router.navigate(navigation, {
9366
- relativeTo: isRelative ? this._activatedRoute : null,
9367
- queryParams,
9368
- preserveFragment: true
9369
- });
9396
+ BarsaApi.Bw.Navigate = (navigation, isRelative, queryParams, data) => {
9397
+ this._containerService?.navigate(navigation, isRelative, queryParams, data);
9370
9398
  };
9371
9399
  super.ngOnInit();
9372
9400
  if (this._containerService) {
@@ -10801,6 +10829,9 @@ class FormComponent extends BaseComponent {
10801
10829
  this.cdr = inject(ChangeDetectorRef);
10802
10830
  this.portalService = inject(PortalService);
10803
10831
  this.injector = inject(Injector);
10832
+ this._activatedRoute = inject(ActivatedRoute);
10833
+ this._router = inject(Router);
10834
+ this._containerService = inject(ContainerService, { self: false, optional: true });
10804
10835
  el.nativeElement.id = this.uniqueId = getUniqueId(4);
10805
10836
  }
10806
10837
  ngOnInit() {
@@ -10880,6 +10911,11 @@ class FormComponent extends BaseComponent {
10880
10911
  formpanelCtrlr.UlvMainCtrlr = this.UlvMainCtrlr;
10881
10912
  formpanelCtrlr.Setting = formSetting;
10882
10913
  formpanelCtrlr.InlineEditInReport = this.inlineEditInReport;
10914
+ formpanelCtrlr.FormRequestParams.Params = this._activatedRoute.snapshot.params;
10915
+ formpanelCtrlr.FormRequestParams.QueryParams = this._activatedRoute.snapshot.queryParams;
10916
+ formpanelCtrlr.ContainerService = this._containerService;
10917
+ const nav = this._router.getCurrentNavigation();
10918
+ formpanelCtrlr.FormRequestParams.state = nav?.extras.state;
10883
10919
  formpanelCtrlr.on({
10884
10920
  BeforeTransition: () => this.beforeTransition.emit(),
10885
10921
  AfterTransition: (_sender, e) => this.afterTransition.emit(e),
@@ -11304,13 +11340,16 @@ class EmptyPageComponent extends PageWithFormHandlerBaseComponent {
11304
11340
  ngOnInit() {
11305
11341
  this.settings = BarsaApi.Common.Util.TryGetValue(this._activatedRoute, 'data._value.pageData.Component.Settings', null);
11306
11342
  const isModal = this.settings?.IsModal;
11307
- if (isModal) {
11343
+ const isRelativePage = this._activatedRoute.snapshot.data?.pageData?.Component?.Settings?.IsRelativePage;
11344
+ if (isRelativePage || isModal) {
11308
11345
  if (this._containerService) {
11309
11346
  this._containerService.detachParent = false;
11310
11347
  }
11311
11348
  else {
11312
11349
  this._log.error(nullOrUndefinedString('EmptyPageComponent=> _containerService'));
11313
11350
  }
11351
+ }
11352
+ if (isModal) {
11314
11353
  this._position = 'absolute';
11315
11354
  this.ismodal = true;
11316
11355
  }
@@ -11318,16 +11357,102 @@ class EmptyPageComponent extends PageWithFormHandlerBaseComponent {
11318
11357
  // if (!BarsaApi.LoginFormData.IsServiceDesk && !isModal) {
11319
11358
  // this._position = 'initial';
11320
11359
  // }
11321
- if (this._activatedRoute.snapshot.data?.pageData?.Component?.Settings?.IsRelativePage && !isModal) {
11360
+ if (isRelativePage && !isModal) {
11322
11361
  this._position = 'initial';
11323
11362
  }
11324
11363
  }
11325
11364
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: EmptyPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11326
- 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>\r\n<router-outlet></router-outlet>\r\n<router-outlet name=\"dialog\"></router-outlet>\r\n", 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 }); }
11365
+ 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>
11366
+ <router-outlet></router-outlet>
11367
+ <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 }); }
11327
11368
  }
11328
11369
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: EmptyPageComponent, decorators: [{
11329
11370
  type: Component,
11330
- args: [{ selector: 'bnrc-empty-page', providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container #containerRef></ng-container>\r\n<router-outlet></router-outlet>\r\n<router-outlet name=\"dialog\"></router-outlet>\r\n", styles: [":host{display:block}\n"] }]
11371
+ args: [{ selector: 'bnrc-empty-page', template: `<ng-container #containerRef></ng-container>
11372
+ <router-outlet></router-outlet>
11373
+ <router-outlet name="dialog"></router-outlet>`, providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
11374
+ }], propDecorators: { _position: [{
11375
+ type: HostBinding,
11376
+ args: ['style.position']
11377
+ }], sectionClass: [{
11378
+ type: HostBinding,
11379
+ args: ['class.section']
11380
+ }], absolutePageClass: [{
11381
+ type: HostBinding,
11382
+ args: ['class.absolute-page']
11383
+ }], ismodal: [{
11384
+ type: HostBinding,
11385
+ args: ['class.modal']
11386
+ }] } });
11387
+
11388
+ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
11389
+ constructor() {
11390
+ super(...arguments);
11391
+ this._position = null;
11392
+ this.sectionClass = true;
11393
+ this.absolutePageClass = true;
11394
+ this.ismodal = false;
11395
+ }
11396
+ ngOnInit() {
11397
+ this.settings = BarsaApi.Common.Util.TryGetValue(this._activatedRoute, 'data._value.pageData.Component.Settings', null);
11398
+ const isModal = this.settings?.IsModal;
11399
+ if (isModal) {
11400
+ if (this._containerService) {
11401
+ this._containerService.detachParent = false;
11402
+ }
11403
+ else {
11404
+ this._log.error(nullOrUndefinedString('EmptyPageComponent=> _containerService'));
11405
+ }
11406
+ this._position = 'absolute';
11407
+ this.ismodal = true;
11408
+ }
11409
+ super.ngOnInit();
11410
+ this._containerService && (this._containerService.masterDetails = true);
11411
+ // if (!BarsaApi.LoginFormData.IsServiceDesk && !isModal) {
11412
+ // this._position = 'initial';
11413
+ // }
11414
+ if (this._activatedRoute.snapshot.data?.pageData?.Component?.Settings?.IsRelativePage && !isModal) {
11415
+ this._position = 'initial';
11416
+ }
11417
+ }
11418
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MasterDetailsPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11419
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MasterDetailsPageComponent, isStandalone: false, selector: "bnrc-mater-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: `
11420
+ <div class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row">
11421
+ <!-- لیست -->
11422
+ <div
11423
+ class="tw-w-full md:tw-w-96 tw-border-b md:tw-border-b-0 md:tw-border-r tw-border-gray-300 dark:tw-border-gray-600"
11424
+ >
11425
+ <ng-container #containerRef></ng-container>
11426
+ </div>
11427
+
11428
+ <!-- جزئیات -->
11429
+ <div class="tw-w-full md:tw-flex-1 tw-overflow-hidden">
11430
+ <router-outlet name="details"></router-outlet>
11431
+ </div>
11432
+ </div>
11433
+ <router-outlet></router-outlet>
11434
+ <router-outlet name="dialog"></router-outlet>
11435
+ `, 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 }); }
11436
+ }
11437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MasterDetailsPageComponent, decorators: [{
11438
+ type: Component,
11439
+ args: [{ selector: 'bnrc-mater-details-page', template: `
11440
+ <div class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row">
11441
+ <!-- لیست -->
11442
+ <div
11443
+ class="tw-w-full md:tw-w-96 tw-border-b md:tw-border-b-0 md:tw-border-r tw-border-gray-300 dark:tw-border-gray-600"
11444
+ >
11445
+ <ng-container #containerRef></ng-container>
11446
+ </div>
11447
+
11448
+ <!-- جزئیات -->
11449
+ <div class="tw-w-full md:tw-flex-1 tw-overflow-hidden">
11450
+ <router-outlet name="details"></router-outlet>
11451
+ </div>
11452
+ </div>
11453
+ <router-outlet></router-outlet>
11454
+ <router-outlet name="dialog"></router-outlet>
11455
+ `, providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block}\n"] }]
11331
11456
  }], propDecorators: { _position: [{
11332
11457
  type: HostBinding,
11333
11458
  args: ['style.position']
@@ -16358,6 +16483,7 @@ const components = [
16358
16483
  DynamicFormToolbaritemComponent,
16359
16484
  DynamicLayoutComponent,
16360
16485
  EmptyPageComponent,
16486
+ MasterDetailsPageComponent,
16361
16487
  FormPageComponent,
16362
16488
  FormFieldReportPageComponent,
16363
16489
  ButtonLoadingComponent,
@@ -16614,6 +16740,7 @@ class BarsaNovinRayCoreModule extends BaseModule {
16614
16740
  DynamicFormToolbaritemComponent,
16615
16741
  DynamicLayoutComponent,
16616
16742
  EmptyPageComponent,
16743
+ MasterDetailsPageComponent,
16617
16744
  FormPageComponent,
16618
16745
  FormFieldReportPageComponent,
16619
16746
  ButtonLoadingComponent,
@@ -16747,6 +16874,7 @@ class BarsaNovinRayCoreModule extends BaseModule {
16747
16874
  DynamicFormToolbaritemComponent,
16748
16875
  DynamicLayoutComponent,
16749
16876
  EmptyPageComponent,
16877
+ MasterDetailsPageComponent,
16750
16878
  FormPageComponent,
16751
16879
  FormFieldReportPageComponent,
16752
16880
  ButtonLoadingComponent,
@@ -16887,5 +17015,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
16887
17015
  * Generated bundle index. Do not edit.
16888
17016
  */
16889
17017
 
16890
- export { APP_VERSION, AbsoluteDivBodyDirective, 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, 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, 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, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, 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 };
17018
+ export { APP_VERSION, AbsoluteDivBodyDirective, 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, 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, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, 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 };
16891
17019
  //# sourceMappingURL=barsa-novin-ray-core.mjs.map