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.
- package/esm2022/lib/abstract-classes/layout-panel-base.mjs +7 -5
- package/esm2022/lib/abstract-classes/report-view-base.component.mjs +4 -2
- package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +1 -8
- package/esm2022/lib/barsa-novin-ray-core.module.mjs +1 -13
- package/esm2022/lib/controllers/base-controller.mjs +1 -24
- package/esm2022/lib/controllers/base-view.mjs +24 -0
- package/esm2022/lib/controllers/index.mjs +2 -3
- package/esm2022/lib/controllers/models.mjs +1 -1
- package/esm2022/lib/directives/fill-empty-space.mjs +8 -3
- package/esm2022/lib/dynamic-component/base-view-item-props.mjs +8 -3
- package/esm2022/lib/portal-page/portal-sidebar.component.mjs +1 -1
- package/esm2022/lib/services/form-panel.service.mjs +10 -3
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/layout-main-content.service.mjs +19 -0
- package/esm2022/public-api.mjs +1 -4
- package/fesm2022/barsa-novin-ray-core.mjs +50 -313
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/layout-panel-base.d.ts +4 -2
- package/lib/abstract-classes/report-view-base.component.d.ts +2 -1
- package/lib/barsa-novin-ray-core.module.d.ts +94 -100
- package/lib/controllers/base-controller.d.ts +0 -18
- package/lib/controllers/base-view.d.ts +20 -0
- package/lib/controllers/index.d.ts +1 -2
- package/lib/controllers/models.d.ts +0 -1
- package/lib/directives/fill-empty-space.d.ts +3 -2
- package/lib/dynamic-component/base-view-item-props.d.ts +2 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/layout-main-content.service.d.ts +11 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -3
- package/esm2022/lib/controllers/login-controller.mjs +0 -56
- package/esm2022/lib/controllers/login-verification-controller.mjs +0 -58
- package/esm2022/lib/login-enter-mobile/login-enter-mobile.component.mjs +0 -64
- package/esm2022/lib/login-verification/login-verification.component.mjs +0 -79
- package/esm2022/lib/login2/login2.component.mjs +0 -60
- package/lib/controllers/login-controller.d.ts +0 -22
- package/lib/controllers/login-verification-controller.d.ts +0 -19
- package/lib/login-enter-mobile/login-enter-mobile.component.d.ts +0 -24
- package/lib/login-verification/login-verification.component.d.ts +0 -31
- 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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|