barsa-novin-ray-core 2.2.22 → 2.2.33

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.
Files changed (40) hide show
  1. package/esm2022/lib/abstract-classes/layout-panel-base.mjs +7 -5
  2. package/esm2022/lib/abstract-classes/report-view-base.component.mjs +4 -2
  3. package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +1 -8
  4. package/esm2022/lib/barsa-novin-ray-core.module.mjs +1 -13
  5. package/esm2022/lib/controllers/base-controller.mjs +1 -24
  6. package/esm2022/lib/controllers/base-view.mjs +24 -0
  7. package/esm2022/lib/controllers/index.mjs +2 -3
  8. package/esm2022/lib/controllers/models.mjs +1 -1
  9. package/esm2022/lib/directives/fill-empty-space.mjs +8 -3
  10. package/esm2022/lib/dynamic-component/base-view-item-props.mjs +8 -3
  11. package/esm2022/lib/portal-page/portal-sidebar.component.mjs +1 -1
  12. package/esm2022/lib/services/form-panel.service.mjs +10 -3
  13. package/esm2022/lib/services/index.mjs +2 -1
  14. package/esm2022/lib/services/layout-main-content.service.mjs +19 -0
  15. package/esm2022/public-api.mjs +1 -4
  16. package/fesm2022/barsa-novin-ray-core.mjs +50 -313
  17. package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
  18. package/lib/abstract-classes/layout-panel-base.d.ts +4 -2
  19. package/lib/abstract-classes/report-view-base.component.d.ts +2 -1
  20. package/lib/barsa-novin-ray-core.module.d.ts +94 -100
  21. package/lib/controllers/base-controller.d.ts +0 -18
  22. package/lib/controllers/base-view.d.ts +20 -0
  23. package/lib/controllers/index.d.ts +1 -2
  24. package/lib/controllers/models.d.ts +0 -1
  25. package/lib/directives/fill-empty-space.d.ts +3 -2
  26. package/lib/dynamic-component/base-view-item-props.d.ts +2 -1
  27. package/lib/services/index.d.ts +1 -0
  28. package/lib/services/layout-main-content.service.d.ts +11 -0
  29. package/package.json +1 -1
  30. package/public-api.d.ts +0 -3
  31. package/esm2022/lib/controllers/login-controller.mjs +0 -56
  32. package/esm2022/lib/controllers/login-verification-controller.mjs +0 -58
  33. package/esm2022/lib/login-enter-mobile/login-enter-mobile.component.mjs +0 -64
  34. package/esm2022/lib/login-verification/login-verification.component.mjs +0 -79
  35. package/esm2022/lib/login2/login2.component.mjs +0 -60
  36. package/lib/controllers/login-controller.d.ts +0 -22
  37. package/lib/controllers/login-verification-controller.d.ts +0 -19
  38. package/lib/login-enter-mobile/login-enter-mobile.component.d.ts +0 -24
  39. package/lib/login-verification/login-verification.component.d.ts +0 -31
  40. package/lib/login2/login2.component.d.ts +0 -34
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, InjectionToken, Injectable, Optional, inject, ElementRef, SkipSelf, NgModuleFactory, Inject, Pipe, EventEmitter, Self, Output, HostBinding, ChangeDetectorRef, HostListener, ViewContainerRef, ViewChild, Directive, Renderer2, input, Injector, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, signal, NgZone, ViewChildren, APP_INITIALIZER, ErrorHandler } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, InjectionToken, Injectable, Optional, inject, ElementRef, SkipSelf, NgModuleFactory, Inject, Pipe, EventEmitter, Self, Output, HostBinding, ChangeDetectorRef, HostListener, ViewContainerRef, ViewChild, Directive, Renderer2, input, Injector, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, signal, APP_INITIALIZER, ErrorHandler } from '@angular/core';
3
3
  import { Subject, from, BehaviorSubject, of, combineLatest, 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, debounceTime as debounceTime$1, switchMap as switchMap$1, timer, mergeWith } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
5
  import { NavigationEnd, ActivatedRoute, Router, NavigationStart, RouterEvent, RouterModule } from '@angular/router';
6
- import { filter, startWith, map, tap, takeUntil, delay, debounceTime, distinctUntilChanged, withLatestFrom, exhaustMap, concatMap, finalize, publishReplay, refCount, shareReplay, switchMap, catchError, merge as merge$1, pluck, mergeWith as mergeWith$1 } from 'rxjs/operators';
6
+ import { filter, startWith, map, tap, takeUntil, withLatestFrom, delay, debounceTime, distinctUntilChanged, exhaustMap, concatMap, finalize, publishReplay, refCount, shareReplay, switchMap, catchError, merge as merge$1, pluck, mergeWith as mergeWith$1 } from 'rxjs/operators';
7
7
  import { _isNumberValue } from '@angular/cdk/coercion';
8
8
  import moment from 'moment';
9
9
  import moment$1 from 'moment-hijri';
@@ -11,16 +11,14 @@ import 'moment/locale/ar-SA';
11
11
  import moment$2 from 'moment-jalaali';
12
12
  import 'moment/locale/fa';
13
13
  import * as i1$1 from '@angular/common/http';
14
- import { HttpEventType, HttpErrorResponse, HttpHeaders, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
14
+ import { HttpEventType, HttpErrorResponse, HttpHeaders, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
15
15
  import * as i2 from '@angular/common';
16
16
  import { DOCUMENT, CommonModule } from '@angular/common';
17
17
  import * as i4 from '@angular/platform-browser';
18
18
  import { Title } from '@angular/platform-browser';
19
19
  import RecordRTC from 'recordrtc';
20
20
  import * as i2$1 from '@angular/service-worker';
21
- import * as i1$2 from '@angular/forms';
22
- import { FormsModule, Validators, ReactiveFormsModule } from '@angular/forms';
23
- import { MessageToastService, ToastBottomCenterPosition } from '@fundamental-ngx/core';
21
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
24
22
 
25
23
  class BarsaApi {
26
24
  static { this.idGenerator = -10000; }
@@ -2667,7 +2665,14 @@ class FormPanelService extends BaseComponent {
2667
2665
  this.fieldDict$ = this.mo$.pipe(map((c) => c.$FieldDict), takeUntil(this._onDestroy$));
2668
2666
  this.view$ = this._viewSource.asObservable().pipe(tap((view) => this._prepareView(view)), takeUntil(this._onDestroy$));
2669
2667
  this.toolbarItems$ = this._toolbarItemsSource.asObservable().pipe(map((items) => this._filterToolbarItems(items)), takeUntil(this._onDestroy$));
2670
- this.workflowButtons$ = this._toolbarItemsSource.asObservable().pipe(map((items) => this._filterToolbarItems(items)), map((items) => items.filter((c) => c.isWorkflow)), takeUntil(this._onDestroy$));
2668
+ this.workflowButtons$ = this.workflowPanelUi$.pipe(map((c) => c?.buttonList || []), withLatestFrom(this._toolbarItemsSource.asObservable().pipe(map((items) => this._filterToolbarItems(items)), map((items) => items.filter((c) => c.isWorkflow)))), map(([items1, items2]) => [...items2, ...items1]), takeUntil(this._onDestroy$));
2669
+ // this._toolbarItemsSource.asObservable().pipe(
2670
+ // map((items) => this._filterToolbarItems(items)),
2671
+ // map((items) => items.filter((c) => c.isWorkflow)),
2672
+ // withLatestFrom(this.workflowPanelUi$.pipe(map((c) => c?.buttonList || []))),
2673
+ // map(([items1, items2]) => (items1.length > 0 ? items1 : items2)),
2674
+ // takeUntil(this._onDestroy$)
2675
+ // );
2671
2676
  this.maxContentWidth$ = this._maxContentWidthSource.asObservable().pipe(map((width) => (width ? width + 'px' : 'auto')), takeUntil(this._onDestroy$));
2672
2677
  this.wizardNextStep$ = this._wizardNextStepSource.asObservable().pipe(takeUntil(this._onDestroy$));
2673
2678
  this.wizardPreviousStep$ = this._wizardPreviousStepSource.asObservable().pipe(takeUntil(this._onDestroy$));
@@ -7533,6 +7538,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7533
7538
  }]
7534
7539
  }] });
7535
7540
 
7541
+ class LayoutMainContentService {
7542
+ constructor() {
7543
+ this.mainContentHeightSource = new BehaviorSubject(0);
7544
+ this.mainContentHeight$ = this.mainContentHeightSource.asObservable().pipe(distinctUntilChanged());
7545
+ }
7546
+ setMainContentHeight(height) {
7547
+ this.mainContentHeightSource.next(height);
7548
+ }
7549
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutMainContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7550
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutMainContentService }); }
7551
+ }
7552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutMainContentService, decorators: [{
7553
+ type: Injectable
7554
+ }], ctorParameters: () => [] });
7555
+
7536
7556
  class FieldBaseComponent extends BaseComponent {
7537
7557
  get customFieldInfo() {
7538
7558
  return this.context.Setting.CustomFieldInfo;
@@ -8406,10 +8426,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8406
8426
  }] } });
8407
8427
 
8408
8428
  class LayoutPanelBaseComponent extends LayoutItemBaseComponent {
8409
- constructor(el, formPanelService, layoutService, _cdr) {
8429
+ constructor(el, formPanelService, portalService, layoutService, _cdr) {
8410
8430
  super(formPanelService, _cdr);
8411
8431
  this.el = el;
8412
8432
  this.formPanelService = formPanelService;
8433
+ this.portalService = portalService;
8413
8434
  this.layoutService = layoutService;
8414
8435
  this._cdr = _cdr;
8415
8436
  this.id = getUniqueId(4);
@@ -8442,7 +8463,7 @@ class LayoutPanelBaseComponent extends LayoutItemBaseComponent {
8442
8463
  this.layoutService.setMaxWidth(controlWidth);
8443
8464
  }
8444
8465
  }
8445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutPanelBaseComponent, deps: [{ token: i0.ElementRef }, { token: FormPanelService }, { token: LayoutService, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
8466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutPanelBaseComponent, deps: [{ token: i0.ElementRef }, { token: FormPanelService }, { token: PortalService }, { token: LayoutService, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
8446
8467
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayoutPanelBaseComponent, selector: "bnrc-layout-panel-base", inputs: { parentDom: "parentDom", isPanel: "isPanel", config: "config" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8447
8468
  }
8448
8469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutPanelBaseComponent, decorators: [{
@@ -8453,7 +8474,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8453
8474
  changeDetection: ChangeDetectionStrategy.OnPush,
8454
8475
  standalone: false
8455
8476
  }]
8456
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: FormPanelService }, { type: LayoutService, decorators: [{
8477
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: FormPanelService }, { type: PortalService }, { type: LayoutService, decorators: [{
8457
8478
  type: Self
8458
8479
  }] }, { type: i0.ChangeDetectorRef }], propDecorators: { parentDom: [{
8459
8480
  type: Input
@@ -9328,7 +9349,7 @@ class ReportViewBaseComponent extends BaseComponent {
9328
9349
  this.rowIndicator = Number(columns[0].MetaFieldTypeId) === 41;
9329
9350
  }
9330
9351
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportViewBaseComponent, deps: [{ token: i2.TitleCasePipe }, { token: BbbTranslatePipe }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: FindColumnByDbNamePipe }, { token: UlvMainService }, { token: PortalService }, { token: UploadService, optional: true }, { token: GroupByService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
9331
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", sortSettingsChange: "sortSettingsChange", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9352
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", inlineEditWithoutSelection: "inlineEditWithoutSelection", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", sortSettingsChange: "sortSettingsChange", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9332
9353
  }
9333
9354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportViewBaseComponent, decorators: [{
9334
9355
  type: Component,
@@ -9354,6 +9375,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9354
9375
  type: Input
9355
9376
  }], simpleInlineEdit: [{
9356
9377
  type: Input
9378
+ }], inlineEditWithoutSelection: [{
9379
+ type: Input
9357
9380
  }], hideToolbar: [{
9358
9381
  type: Input
9359
9382
  }], hideTitle: [{
@@ -10492,6 +10515,7 @@ class FillEmptySpaceDirective extends BaseDirective {
10492
10515
  super(_el);
10493
10516
  this._el = _el;
10494
10517
  this._renderer2 = _renderer2;
10518
+ this.heightChanged = new EventEmitter();
10495
10519
  this._height = '100svh';
10496
10520
  this.topBound = '';
10497
10521
  this.oldTopBound = '';
@@ -10525,6 +10549,7 @@ class FillEmptySpaceDirective extends BaseDirective {
10525
10549
  }
10526
10550
  if (this.height) {
10527
10551
  this._renderer2.setStyle(dom, this.setMinHeight ? 'min-height' : 'height', `${this.height}px`);
10552
+ this.heightChanged.emit();
10528
10553
  return;
10529
10554
  }
10530
10555
  if (this.containerDom) {
@@ -10543,9 +10568,10 @@ class FillEmptySpaceDirective extends BaseDirective {
10543
10568
  if (bound) {
10544
10569
  this._renderer2.setStyle(dom, this.setMinHeight ? 'min-height' : 'height', `calc(${this._height} - ${this.topBound}${this.decrement})`);
10545
10570
  }
10571
+ this.heightChanged.emit();
10546
10572
  }
10547
10573
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FillEmptySpaceDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
10548
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: { containerDom: "containerDom", decrement: "decrement", disable: "disable", height: "height", dontUseTopBound: "dontUseTopBound", setMinHeight: "setMinHeight" }, exportAs: ["fillEmptySpace"], usesInheritance: true, ngImport: i0 }); }
10574
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: { containerDom: "containerDom", decrement: "decrement", disable: "disable", height: "height", dontUseTopBound: "dontUseTopBound", setMinHeight: "setMinHeight" }, outputs: { heightChanged: "heightChanged" }, exportAs: ["fillEmptySpace"], usesInheritance: true, ngImport: i0 }); }
10549
10575
  }
10550
10576
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FillEmptySpaceDirective, decorators: [{
10551
10577
  type: Directive,
@@ -10566,6 +10592,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10566
10592
  type: Input
10567
10593
  }], setMinHeight: [{
10568
10594
  type: Input
10595
+ }], heightChanged: [{
10596
+ type: Output
10569
10597
  }] } });
10570
10598
 
10571
10599
  class PortalPageSidebarComponent extends PageBaseComponent {
@@ -10582,7 +10610,7 @@ class PortalPageSidebarComponent extends PageBaseComponent {
10582
10610
  <div class="sidebar" fillEmptySpace><ng-container #containerRef></ng-container></div>
10583
10611
  <div class="mainside"><router-outlet name="mainside"></router-outlet></div>
10584
10612
  </div>
10585
- <router-outlet></router-outlet>`, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], exportAs: ["fillEmptySpace"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10613
+ <router-outlet></router-outlet>`, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: FillEmptySpaceDirective, selector: "[fillEmptySpace]", inputs: ["containerDom", "decrement", "disable", "height", "dontUseTopBound", "setMinHeight"], outputs: ["heightChanged"], exportAs: ["fillEmptySpace"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10586
10614
  }
10587
10615
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalPageSidebarComponent, decorators: [{
10588
10616
  type: Component,
@@ -11106,6 +11134,9 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
11106
11134
  this._formPanelService.context$.pipe(takeUntil$1(this._onDestroy$)).subscribe();
11107
11135
  this._formPanelService.view$.pipe(takeUntil$1(this._onDestroy$)).subscribe();
11108
11136
  this.layout$ = this._formPanelService.layout$;
11137
+ if (this.inlineEditWithoutSelection) {
11138
+ this._loadAndCreateFormPanelCtrlr();
11139
+ }
11109
11140
  }
11110
11141
  }
11111
11142
  ngOnChanges(changes) {
@@ -11133,7 +11164,7 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
11133
11164
  else if (!inlineEditMode?.currentValue && inlineEditMode?.previousValue && this.isChecked) {
11134
11165
  this._saveEditedMo$.next('ESC');
11135
11166
  }
11136
- if (needToLoadForm) {
11167
+ if (needToLoadForm && !this.inlineEditWithoutSelection) {
11137
11168
  this._loadAndCreateFormPanelCtrlr();
11138
11169
  }
11139
11170
  if (changes.mo && !changes.mo.firstChange && this.inlineEditMode) {
@@ -11436,7 +11467,7 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
11436
11467
  });
11437
11468
  }
11438
11469
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseViewItemPropsComponent, deps: [{ token: i0.ElementRef }, { token: i4.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: MoReportValuePipe }, { token: FormPanelService, optional: true, skipSelf: true }, { token: FormPanelService, optional: true, self: true }, { token: UlvMainService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
11439
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseViewItemPropsComponent, selector: "bnrc-base-view-item-props", inputs: { checkboxComponent: "checkboxComponent", disableEllapsis: "disableEllapsis", 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", 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 }); }
11470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseViewItemPropsComponent, selector: "bnrc-base-view-item-props", inputs: { checkboxComponent: "checkboxComponent", disableEllapsis: "disableEllapsis", 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 }); }
11440
11471
  }
11441
11472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseViewItemPropsComponent, decorators: [{
11442
11473
  type: Component,
@@ -11497,6 +11528,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11497
11528
  type: Input
11498
11529
  }], hideOpenIcon: [{
11499
11530
  type: Input
11531
+ }], inlineEditWithoutSelection: [{
11532
+ type: Input
11500
11533
  }], inDialog: [{
11501
11534
  type: Input
11502
11535
  }], isMobile: [{
@@ -13989,6 +14022,7 @@ class BaseController {
13989
14022
  this.view = view;
13990
14023
  }
13991
14024
  }
14025
+
13992
14026
  class ViewBase {
13993
14027
  constructor() {
13994
14028
  this.errorMessage = signal('');
@@ -14011,108 +14045,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
14011
14045
  }]
14012
14046
  }] });
14013
14047
 
14014
- class LoginController extends BaseController {
14015
- constructor(view) {
14016
- super(view);
14017
- this.loading = signal(false);
14018
- this.canSend = signal(false);
14019
- this._portalService = inject(PortalService);
14020
- this._httpClient = inject(HttpClient);
14021
- }
14022
- get form() {
14023
- return this.view.form;
14024
- }
14025
- sendCode(e) {
14026
- const { mobile, cap, capId } = e;
14027
- this.form.valid && this.loading.set(true);
14028
- // const x = (): void => {
14029
- // this.loading.set(false);
14030
- // };
14031
- this._httpClient
14032
- .get(`/api/openid/signin?provider=BarsaOtpLogin&mobile=${mobile}&capId=${capId}&captchaCode=${cap}`)
14033
- .pipe(finalize$1(() => {
14034
- this.loading.set(false);
14035
- }), catchError$1((err) => {
14036
- if (typeof err === 'object' && err.status === 403) {
14037
- this.view.showError(err.error.Message, err.error.Code);
14038
- }
14039
- return throwError(() => new Error(err));
14040
- }))
14041
- .subscribe((c) => {
14042
- if (c?.otpId) {
14043
- localStorage.setItem('otpId', c.otpId);
14044
- this.view.codeSent();
14045
- }
14046
- else if (!e.succeed) {
14047
- // debugger;
14048
- }
14049
- });
14050
- }
14051
- init() {
14052
- this.form.valueChanges.subscribe((c) => (this.form.valid ? this.canSend.set(true) : this.canSend.set(false)));
14053
- }
14054
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginController, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
14055
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LoginController, usesInheritance: true, ngImport: i0 }); }
14056
- }
14057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginController, decorators: [{
14058
- type: Directive,
14059
- args: [{
14060
- standalone: false
14061
- }]
14062
- }], ctorParameters: () => [{ type: undefined }] });
14063
-
14064
- class LoginVerificationController extends BaseController {
14065
- constructor(view) {
14066
- super(view);
14067
- this.loading = signal(false);
14068
- this.canVerify = signal(false);
14069
- this._httpClient = inject(HttpClient);
14070
- }
14071
- get form() {
14072
- return this.view.form;
14073
- }
14074
- verifyCode(e) {
14075
- this.form.valid && this.loading.set(true);
14076
- const { code, cap, capId } = e;
14077
- this.form.valid && this.loading.set(true);
14078
- this._httpClient
14079
- .post(`/api/openid/callback?provider=BarsaOtpLogin`, {
14080
- otpId: localStorage.getItem('otpId'),
14081
- otpCode: code,
14082
- captchaCode: cap,
14083
- capId
14084
- })
14085
- .pipe(finalize$1(() => { }), catchError$1((err) => {
14086
- if (typeof err === 'object' && err.status === 403) {
14087
- this.view.showError(err.error.Message, err.error.Code);
14088
- }
14089
- return throwError(() => new Error(err));
14090
- this.loading.set(false);
14091
- }))
14092
- .subscribe((c) => {
14093
- if (c?.Sth) {
14094
- localStorage.removeItem('otpId');
14095
- window.localStorage.setItem(BarsaApi.LoginAction.token2StorageKey, c.Sth);
14096
- this.view.codeVerified();
14097
- }
14098
- else {
14099
- this.loading.set(false);
14100
- }
14101
- });
14102
- }
14103
- init() {
14104
- this.form.valueChanges.subscribe((c) => this.form.valid ? this.canVerify.set(true) : this.canVerify.set(false));
14105
- }
14106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationController, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
14107
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LoginVerificationController, usesInheritance: true, ngImport: i0 }); }
14108
- }
14109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationController, decorators: [{
14110
- type: Directive,
14111
- args: [{
14112
- standalone: false
14113
- }]
14114
- }], ctorParameters: () => [{ type: undefined }] });
14115
-
14116
14048
  class ButtonLoadingComponent {
14117
14049
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14118
14050
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: { valid: "valid", loading: "loading", text: "text" }, ngImport: i0, template: "<!-- <button class=\"button\" [disabled]=\"loading\">\r\n <i [class.!tw-hidden]=\"!loading\" class=\"fa fa-circle-o-notch fa-spin\"></i\r\n >{{ (loading ? 'Wait' : text) | bbbTranslate }}\r\n</button> -->\r\n<button type=\"button\" class=\"button\" [class.button--loading]=\"loading\" [disabled]=\"loading\">\r\n <span class=\"button__text\">{{ text | bbbTranslate }}</span>\r\n</button>\r\n", styles: [":host{display:block;width:100%}.button{width:100%;position:relative;padding:8px 16px;background:#009579;border:none;outline:none;border-radius:2px;cursor:pointer}.button:active{background:#007a63}.button__text{font:700 1rem IranYekanDigits,B-Font;color:#fff;transition:all .2s}.button--loading .button__text{visibility:hidden;opacity:0}.button--loading:after{content:\"\";position:absolute;width:16px;height:16px;inset:0;margin:auto;border:4px solid transparent;border-top-color:#fff;border-radius:50%;animation:button-loading-spinner 1s ease infinite}@keyframes button-loading-spinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}\n"], dependencies: [{ kind: "pipe", type: BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -14128,186 +14060,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
14128
14060
  type: Input
14129
14061
  }] } });
14130
14062
 
14131
- class LoginEnterMobileComponent extends ViewBase {
14132
- constructor(fb) {
14133
- super();
14134
- this.fb = fb;
14135
- this.otpSent = new EventEmitter();
14136
- this.capId = signal('-');
14137
- this.showCaptcha = signal(false);
14138
- this.messageToastService = inject(MessageToastService);
14139
- this.showCaptcha.set(false);
14140
- this.form = this.fb.group({
14141
- mobile: [
14142
- '',
14143
- Validators.compose([Validators.required, Validators.maxLength(11), forbiddenValidator(mobile_regex)])
14144
- ],
14145
- cap: [''],
14146
- capId: [this.capId(), Validators.required]
14147
- });
14148
- this.controller = new LoginController(this);
14149
- }
14150
- showError(message, code) {
14151
- super.showError(message, code);
14152
- this.messageToastService.open(this.errorTemplate, {
14153
- duration: 5000,
14154
- positionStrategy: ToastBottomCenterPosition,
14155
- data: {
14156
- message
14157
- }
14158
- });
14159
- }
14160
- codeSent() {
14161
- this.otpSent.emit(this.form.value.mobile);
14162
- }
14163
- ngOnInit() {
14164
- super.ngOnInit();
14165
- }
14166
- get loading() {
14167
- return this.controller.loading();
14168
- }
14169
- get canSend() {
14170
- return this.controller.canSend();
14171
- }
14172
- onSendCode() {
14173
- this.controller.sendCode(this.form.value);
14174
- }
14175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginEnterMobileComponent, deps: [{ token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
14176
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginEnterMobileComponent, selector: "bnrc-login-enter-mobile", inputs: { errorTemplate: "errorTemplate" }, outputs: { otpSent: "otpSent" }, usesInheritance: true, ngImport: i0, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\r\n <div class=\"tw-mb-4\">\r\n <label class=\"tw-block tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4\" for=\"username\"> \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647 </label>\r\n <input\r\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\r\n name=\"mobile\"\r\n formControlName=\"mobile\"\r\n placeholder=\"09121234567\"\r\n maxlength=\"11\"\r\n type=\"tel\"\r\n [disabled]=\"loading\"\r\n />\r\n </div>\r\n <!-- <app-form-captcha [capId]=\"capId()\" [showCaptcha]=\"showCaptcha()\" formControlName=\"cap\"></app-form-captcha> -->\r\n <div class=\"tw-flex tw-items-center\">\r\n <bnrc-button-loading\r\n [text]=\"'\u0627\u0631\u0633\u0627\u0644 \u06A9\u062F \u062A\u0627\u06CC\u06CC\u062F'\"\r\n [valid]=\"canSend\"\r\n [loading]=\"loading\"\r\n (click)=\"onSendCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: ["valid", "loading", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14177
- }
14178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginEnterMobileComponent, decorators: [{
14179
- type: Component,
14180
- args: [{ selector: 'bnrc-login-enter-mobile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\r\n <div class=\"tw-mb-4\">\r\n <label class=\"tw-block tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4\" for=\"username\"> \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647 </label>\r\n <input\r\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\r\n name=\"mobile\"\r\n formControlName=\"mobile\"\r\n placeholder=\"09121234567\"\r\n maxlength=\"11\"\r\n type=\"tel\"\r\n [disabled]=\"loading\"\r\n />\r\n </div>\r\n <!-- <app-form-captcha [capId]=\"capId()\" [showCaptcha]=\"showCaptcha()\" formControlName=\"cap\"></app-form-captcha> -->\r\n <div class=\"tw-flex tw-items-center\">\r\n <bnrc-button-loading\r\n [text]=\"'\u0627\u0631\u0633\u0627\u0644 \u06A9\u062F \u062A\u0627\u06CC\u06CC\u062F'\"\r\n [valid]=\"canSend\"\r\n [loading]=\"loading\"\r\n (click)=\"onSendCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n</form>\r\n" }]
14181
- }], ctorParameters: () => [{ type: i1$2.FormBuilder }], propDecorators: { otpSent: [{
14182
- type: Output
14183
- }], errorTemplate: [{
14184
- type: Input
14185
- }] } });
14186
-
14187
- class LoginVerificationComponent extends ViewBase {
14188
- constructor(fb) {
14189
- super();
14190
- this.fb = fb;
14191
- this.otpVerified = new EventEmitter();
14192
- this.changeMobile = new EventEmitter();
14193
- this.capId = signal('-');
14194
- this.showCaptcha = signal(false);
14195
- this._ngZone = inject(NgZone);
14196
- this.messageToastService = inject(MessageToastService);
14197
- this.showCaptcha.set(false);
14198
- this.form = this.fb.group({
14199
- in1: ['', Validators.compose([Validators.required, Validators.maxLength(6)])],
14200
- cap: [''],
14201
- capId: [this.capId(), Validators.required]
14202
- });
14203
- this.controller = new LoginVerificationController(this);
14204
- }
14205
- ngOnInit() {
14206
- super.ngOnInit();
14207
- }
14208
- codeVerified() {
14209
- this.otpVerified.emit();
14210
- }
14211
- showError(message, code) {
14212
- super.showError(message, code);
14213
- this.messageToastService.open(this.errorTemplate, {
14214
- duration: 5000,
14215
- positionStrategy: ToastBottomCenterPosition,
14216
- data: {
14217
- message
14218
- }
14219
- });
14220
- }
14221
- onVerifyCode() {
14222
- this._verifyCode();
14223
- }
14224
- _verifyCode() {
14225
- const { in1, capId, cap } = this.form.value;
14226
- this.controller.verifyCode({ code: `${in1}`, capId, cap });
14227
- }
14228
- get invArr() {
14229
- return this._inputsEl.toArray();
14230
- }
14231
- get loading() {
14232
- return this.controller.loading();
14233
- }
14234
- get canVerify() {
14235
- return this.controller.canVerify();
14236
- }
14237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationComponent, deps: [{ token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
14238
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginVerificationComponent, selector: "bnrc-login-verification", inputs: { mobile: "mobile", errorTemplate: "errorTemplate" }, outputs: { otpVerified: "otpVerified", changeMobile: "changeMobile" }, viewQueries: [{ propertyName: "_loadingBtn", first: true, predicate: ["loadingBtn"], descendants: true }, { propertyName: "_inputsEl", predicate: ["inputv"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\r\n <label class=\"tw-block tw-w-full tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4 tw-text-sm\">\r\n \u06A9\u062F \u0627\u0631\u0633\u0627\u0644 \u0634\u062F\u0647 \u0628\u0647 \u0634\u0645\u0627\u0631\u0647 <strong>{{ mobile }}</strong> \u0631\u0627 \u0648\u0627\u0631\u062F \u0646\u0645\u0627\u06CC\u06CC\u062F.\r\n </label>\r\n <a\r\n class=\"tw-inline-flex tw-flex tw-gap-3 tw-items-center tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm tw-font-extrabold tw-mb-4\"\r\n (click)=\"changeMobile.emit()\"\r\n >\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647\r\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-w-6\">\r\n <path\r\n d=\"M5,18H9.24a1,1,0,0,0,.71-.29l6.92-6.93h0L19.71,8a1,1,0,0,0,0-1.42L15.47,2.29a1,1,0,0,0-1.42,0L11.23,5.12h0L4.29,12.05a1,1,0,0,0-.29.71V17A1,1,0,0,0,5,18ZM14.76,4.41l2.83,2.83L16.17,8.66,13.34,5.83ZM6,13.17l5.93-5.93,2.83,2.83L8.83,16H6ZM21,20H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z\"\r\n fill=\"#316bec\"\r\n />\r\n </svg>\r\n </a>\r\n <div class=\"tw-flex tw-items-center tw-justify-center tw-gap-3 tw-mb-4 tw-flex-row-reverse\">\r\n <input\r\n #inputv\r\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\r\n maxlength=\"6\"\r\n tabindex=\"0\"\r\n name=\"in1\"\r\n formControlName=\"in1\"\r\n />\r\n </div>\r\n <div class=\"tw-flex tw-items-center\">\r\n <bnrc-button-loading\r\n #loadingBtn\r\n [text]=\"'\u062A\u0627\u06CC\u06CC\u062F \u06A9\u062F'\"\r\n [valid]=\"canVerify\"\r\n [loading]=\"loading\"\r\n (click)=\"onVerifyCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: ["valid", "loading", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14239
- }
14240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationComponent, decorators: [{
14241
- type: Component,
14242
- args: [{ selector: 'bnrc-login-verification', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\r\n <label class=\"tw-block tw-w-full tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4 tw-text-sm\">\r\n \u06A9\u062F \u0627\u0631\u0633\u0627\u0644 \u0634\u062F\u0647 \u0628\u0647 \u0634\u0645\u0627\u0631\u0647 <strong>{{ mobile }}</strong> \u0631\u0627 \u0648\u0627\u0631\u062F \u0646\u0645\u0627\u06CC\u06CC\u062F.\r\n </label>\r\n <a\r\n class=\"tw-inline-flex tw-flex tw-gap-3 tw-items-center tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm tw-font-extrabold tw-mb-4\"\r\n (click)=\"changeMobile.emit()\"\r\n >\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647\r\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-w-6\">\r\n <path\r\n d=\"M5,18H9.24a1,1,0,0,0,.71-.29l6.92-6.93h0L19.71,8a1,1,0,0,0,0-1.42L15.47,2.29a1,1,0,0,0-1.42,0L11.23,5.12h0L4.29,12.05a1,1,0,0,0-.29.71V17A1,1,0,0,0,5,18ZM14.76,4.41l2.83,2.83L16.17,8.66,13.34,5.83ZM6,13.17l5.93-5.93,2.83,2.83L8.83,16H6ZM21,20H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z\"\r\n fill=\"#316bec\"\r\n />\r\n </svg>\r\n </a>\r\n <div class=\"tw-flex tw-items-center tw-justify-center tw-gap-3 tw-mb-4 tw-flex-row-reverse\">\r\n <input\r\n #inputv\r\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\r\n maxlength=\"6\"\r\n tabindex=\"0\"\r\n name=\"in1\"\r\n formControlName=\"in1\"\r\n />\r\n </div>\r\n <div class=\"tw-flex tw-items-center\">\r\n <bnrc-button-loading\r\n #loadingBtn\r\n [text]=\"'\u062A\u0627\u06CC\u06CC\u062F \u06A9\u062F'\"\r\n [valid]=\"canVerify\"\r\n [loading]=\"loading\"\r\n (click)=\"onVerifyCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n</form>\r\n" }]
14243
- }], ctorParameters: () => [{ type: i1$2.FormBuilder }], propDecorators: { _inputsEl: [{
14244
- type: ViewChildren,
14245
- args: ['inputv']
14246
- }], _loadingBtn: [{
14247
- type: ViewChild,
14248
- args: ['loadingBtn']
14249
- }], otpVerified: [{
14250
- type: Output
14251
- }], changeMobile: [{
14252
- type: Output
14253
- }], mobile: [{
14254
- type: Input
14255
- }], errorTemplate: [{
14256
- type: Input
14257
- }] } });
14258
-
14259
- class Login2Component {
14260
- constructor() {
14261
- this.mobile = signal('');
14262
- this.loading = signal(false);
14263
- this._router = inject(Router);
14264
- this._portalService = inject(PortalService);
14265
- this.state = signal('enter-mobile');
14266
- this.appSettings = signal({
14267
- BackgroundUrl: '',
14268
- LogoUrl: '',
14269
- HideGovSso: true,
14270
- Section1Title: '',
14271
- Section1Description: '',
14272
- Subtitle: '',
14273
- Title: ''
14274
- });
14275
- this.logoUrl = '';
14276
- this.backgroundUrl = '';
14277
- this.title = '';
14278
- this.hideGovSso = false;
14279
- }
14280
- ngOnInit() {
14281
- fetch(`/assets/login2.json?x=${BarsaApi.LoginFormData.ChangeKeyVersion}`)
14282
- .then((res) => res.json())
14283
- .then((res) => this.appSettings.set(res));
14284
- }
14285
- onOtpSent(mobile) {
14286
- this.mobile.set(mobile);
14287
- this.state.set('verification');
14288
- }
14289
- onChangeMobile() {
14290
- this.state.set('enter-mobile');
14291
- }
14292
- onOtpVerfied() {
14293
- this.loading.set(true);
14294
- this._portalService
14295
- .loadServerStartupData()
14296
- .then(() => this._portalService.loadSystem())
14297
- .then(() => this._portalService.loadUserPortalSetting())
14298
- .then(() => {
14299
- this._router.navigate([this._portalService.DefaultPage?.Route || '/']);
14300
- })
14301
- .catch(() => this.loading.set(false));
14302
- }
14303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Login2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14304
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Login2Component, selector: "bnrc-login2", ngImport: i0, template: "<div class=\"tw-bg-white dark:tw-bg-gray-900 tw-w-full tw-h-full\">\r\n <div class=\"tw-flex tw-justify-center tw-h-screen\">\r\n <div\r\n class=\"tw-hidden tw-bg-cover lg:tw-block lg:tw-w-2/3\"\r\n [style.background-image]=\"'url(' + appSettings().BackgroundUrl + ')'\"\r\n >\r\n <div class=\"tw-flex tw-items-center tw-h-full tw-px-20 tw-bg-gray-900 tw-bg-opacity-40\">\r\n <div>\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-white\">{{ appSettings().Section1Title }}</h2>\r\n\r\n <p class=\"tw-max-w-xl tw-mt-3 tw-text-gray-300\">{{ appSettings().Section1Description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tw-flex tw-items-center tw-w-full tw-max-w-md tw-px-6 tw-mx-auto lg:tw-w-2/6\">\r\n <div class=\"tw-flex-1\">\r\n <div class=\"tw-text-center tw-flex tw-flex-col tw-items-center\">\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <img [src]=\"appSettings().LogoUrl\" />\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-center tw-text-gray-700 dark:tw-text-white\">\r\n {{ appSettings().Title }}\r\n </h2>\r\n </div>\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <p class=\"tw-mt-3 tw-text-gray-500 dark:tw-text-gray-300\">{{ appSettings().Subtitle }}</p>\r\n </div>\r\n </div>\r\n <div>\r\n @if(state()==='enter-mobile'){\r\n <bnrc-login-enter-mobile\r\n (otpSent)=\"onOtpSent($event)\"\r\n [errorTemplate]=\"template\"\r\n ></bnrc-login-enter-mobile>\r\n }@else{\r\n <bnrc-login-verification\r\n [mobile]=\"mobile()\"\r\n (changeMobile)=\"onChangeMobile()\"\r\n (otpVerified)=\"onOtpVerfied()\"\r\n [errorTemplate]=\"template\"\r\n ></bnrc-login-verification>\r\n }\r\n </div>\r\n @if(state()==='enter-mobile' && !appSettings().HideGovSso){\r\n <div class=\"tw-relative tw-flex tw-py-5 tw-items-center tw-px-2\">\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n <span class=\"tw-font-[IRANYekan] tw-flex-shrink tw-mx-4 tw-text-gray-400\">\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647</span>\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n </div>\r\n <div class=\"tw-rounded-lg back-box-color tw-w-full tw-py-3\">\r\n <div class=\"tw-flex tw-items-center tw-text-center\">\r\n <a class=\"tw-w-full tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm\" href=\"\"\r\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647 \u062F\u0648\u0644\u062A \u0645\u0646\r\n </a>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template let-messageToast #template>\r\n <p class=\"error\" [dismissible]=\"true\">{{ messageToast.data.message }}</p>\r\n</ng-template>\r\n", styles: [":host{font-family:IRANYekanDigits}\n"], dependencies: [{ kind: "component", type: LoginEnterMobileComponent, selector: "bnrc-login-enter-mobile", inputs: ["errorTemplate"], outputs: ["otpSent"] }, { kind: "component", type: LoginVerificationComponent, selector: "bnrc-login-verification", inputs: ["mobile", "errorTemplate"], outputs: ["otpVerified", "changeMobile"] }, { kind: "directive", type: MobileDirective, selector: "[mobile]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14305
- }
14306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Login2Component, decorators: [{
14307
- type: Component,
14308
- args: [{ selector: 'bnrc-login2', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"tw-bg-white dark:tw-bg-gray-900 tw-w-full tw-h-full\">\r\n <div class=\"tw-flex tw-justify-center tw-h-screen\">\r\n <div\r\n class=\"tw-hidden tw-bg-cover lg:tw-block lg:tw-w-2/3\"\r\n [style.background-image]=\"'url(' + appSettings().BackgroundUrl + ')'\"\r\n >\r\n <div class=\"tw-flex tw-items-center tw-h-full tw-px-20 tw-bg-gray-900 tw-bg-opacity-40\">\r\n <div>\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-white\">{{ appSettings().Section1Title }}</h2>\r\n\r\n <p class=\"tw-max-w-xl tw-mt-3 tw-text-gray-300\">{{ appSettings().Section1Description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tw-flex tw-items-center tw-w-full tw-max-w-md tw-px-6 tw-mx-auto lg:tw-w-2/6\">\r\n <div class=\"tw-flex-1\">\r\n <div class=\"tw-text-center tw-flex tw-flex-col tw-items-center\">\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <img [src]=\"appSettings().LogoUrl\" />\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-center tw-text-gray-700 dark:tw-text-white\">\r\n {{ appSettings().Title }}\r\n </h2>\r\n </div>\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <p class=\"tw-mt-3 tw-text-gray-500 dark:tw-text-gray-300\">{{ appSettings().Subtitle }}</p>\r\n </div>\r\n </div>\r\n <div>\r\n @if(state()==='enter-mobile'){\r\n <bnrc-login-enter-mobile\r\n (otpSent)=\"onOtpSent($event)\"\r\n [errorTemplate]=\"template\"\r\n ></bnrc-login-enter-mobile>\r\n }@else{\r\n <bnrc-login-verification\r\n [mobile]=\"mobile()\"\r\n (changeMobile)=\"onChangeMobile()\"\r\n (otpVerified)=\"onOtpVerfied()\"\r\n [errorTemplate]=\"template\"\r\n ></bnrc-login-verification>\r\n }\r\n </div>\r\n @if(state()==='enter-mobile' && !appSettings().HideGovSso){\r\n <div class=\"tw-relative tw-flex tw-py-5 tw-items-center tw-px-2\">\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n <span class=\"tw-font-[IRANYekan] tw-flex-shrink tw-mx-4 tw-text-gray-400\">\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647</span>\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n </div>\r\n <div class=\"tw-rounded-lg back-box-color tw-w-full tw-py-3\">\r\n <div class=\"tw-flex tw-items-center tw-text-center\">\r\n <a class=\"tw-w-full tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm\" href=\"\"\r\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647 \u062F\u0648\u0644\u062A \u0645\u0646\r\n </a>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template let-messageToast #template>\r\n <p class=\"error\" [dismissible]=\"true\">{{ messageToast.data.message }}</p>\r\n</ng-template>\r\n", styles: [":host{font-family:IRANYekanDigits}\n"] }]
14309
- }], ctorParameters: () => [] });
14310
-
14311
14063
  class BaseUlvSettingComponent extends BaseComponent {
14312
14064
  constructor() {
14313
14065
  super(...arguments);
@@ -14560,12 +14312,6 @@ const routesDefault = [
14560
14312
  canActivate: [RedirectHomeGuard],
14561
14313
  children: [formRoutes(true)]
14562
14314
  },
14563
- {
14564
- path: 'login2',
14565
- component: Login2Component,
14566
- data: { pageData: { Route: '/login2', Module: 'BarsaLoginPage' } },
14567
- canActivate: [RedirectHomeGuard]
14568
- },
14569
14315
  {
14570
14316
  path: 'resetpassword',
14571
14317
  component: EmptyPageComponent,
@@ -14898,9 +14644,6 @@ const components = [
14898
14644
  EmptyPageComponent,
14899
14645
  FormPageComponent,
14900
14646
  FormFieldReportPageComponent,
14901
- Login2Component,
14902
- LoginEnterMobileComponent,
14903
- LoginVerificationComponent,
14904
14647
  ButtonLoadingComponent
14905
14648
  ];
14906
14649
  const directives = [
@@ -15128,9 +14871,6 @@ class BarsaNovinRayCoreModule extends BaseModule {
15128
14871
  EmptyPageComponent,
15129
14872
  FormPageComponent,
15130
14873
  FormFieldReportPageComponent,
15131
- Login2Component,
15132
- LoginEnterMobileComponent,
15133
- LoginVerificationComponent,
15134
14874
  ButtonLoadingComponent, NumeralPipe,
15135
14875
  CanUploadFilePipe,
15136
14876
  RemoveNewlinePipe,
@@ -15240,9 +14980,6 @@ class BarsaNovinRayCoreModule extends BaseModule {
15240
14980
  EmptyPageComponent,
15241
14981
  FormPageComponent,
15242
14982
  FormFieldReportPageComponent,
15243
- Login2Component,
15244
- LoginEnterMobileComponent,
15245
- LoginVerificationComponent,
15246
14983
  ButtonLoadingComponent, NumeralPipe,
15247
14984
  CanUploadFilePipe,
15248
14985
  RemoveNewlinePipe,
@@ -15357,5 +15094,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
15357
15094
  * Generated bundle index. Do not edit.
15358
15095
  */
15359
15096
 
15360
- export { APP_VERSION, AbsoluteDivBodyDirective, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, ChangeLayoutInfoCustomUi, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DateTimeToCaptionPipe, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicStyleDirective, 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, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, IconControlInfoModel, ImageLazyDirective, ImageMimeType, ImagetoPrint, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutPanelBaseComponent, LayoutService, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, Login2Component, LoginController, LoginEnterMobileComponent, LoginVerificationComponent, LoginVerificationController, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, 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, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WordMimeType, WorfkflowwChoiceCommandDirective, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, forbiddenValidator, formRoutes, formatBytes, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, mobile_regex, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber };
15097
+ export { APP_VERSION, AbsoluteDivBodyDirective, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, ChangeLayoutInfoCustomUi, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DateTimeToCaptionPipe, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicStyleDirective, 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, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, IconControlInfoModel, ImageLazyDirective, ImageMimeType, ImagetoPrint, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, 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, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WordMimeType, WorfkflowwChoiceCommandDirective, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, forbiddenValidator, formRoutes, formatBytes, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, mobile_regex, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber };
15361
15098
  //# sourceMappingURL=barsa-novin-ray-core.mjs.map