barsa-novin-ray-core 2.3.97 → 2.3.99
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/fesm2022/barsa-novin-ray-core.mjs +329 -116
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/index.d.ts +53 -18
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, inject, ElementRef, Input, ChangeDetectionStrategy, Component, Pipe, ComponentFactoryResolver, Injector, ApplicationRef, Compiler, DOCUMENT, NgModuleFactory, InjectionToken, NgZone, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewContainerRef, ViewChild, signal, Directive, TemplateRef, input, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer, ErrorHandler } from '@angular/core';
|
|
3
|
-
import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, withLatestFrom as withLatestFrom$1, fromEvent, forkJoin, takeUntil as takeUntil$1, filter as filter$1, throwError, merge, interval,
|
|
3
|
+
import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, withLatestFrom as withLatestFrom$1, fromEvent, forkJoin, takeUntil as takeUntil$1, filter as filter$1, throwError, merge, interval, concatMap as concatMap$1, catchError as catchError$1, finalize as finalize$1, take, debounceTime as debounceTime$1, skip, Observable, tap as tap$1, timer, mergeWith, Subscription } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/router';
|
|
5
5
|
import { Router, NavigationEnd, ActivatedRoute, RouterEvent, NavigationStart, RouterModule } from '@angular/router';
|
|
6
6
|
import { DomSanitizer, Title } from '@angular/platform-browser';
|
|
@@ -2397,6 +2397,32 @@ function fromEntries(entries) {
|
|
|
2397
2397
|
}
|
|
2398
2398
|
return result;
|
|
2399
2399
|
}
|
|
2400
|
+
function AddDynamicFormStyles(id, cssStyles) {
|
|
2401
|
+
if (!cssStyles) {
|
|
2402
|
+
return null;
|
|
2403
|
+
}
|
|
2404
|
+
cssStyles = cssStyles.replace(/:root/gi, `#${id}`);
|
|
2405
|
+
cssStyles = cssStyles.replace(/:html/gi, `:root`);
|
|
2406
|
+
const head = document.head || document.getElementsByTagName('head')[0];
|
|
2407
|
+
const style = document.createElement('style');
|
|
2408
|
+
head.appendChild(style);
|
|
2409
|
+
style.type = 'text/css';
|
|
2410
|
+
if (style.styleSheet) {
|
|
2411
|
+
// This is required for IE8 and below.
|
|
2412
|
+
style.styleSheet.cssText = cssStyles;
|
|
2413
|
+
}
|
|
2414
|
+
else {
|
|
2415
|
+
style.appendChild(document.createTextNode(cssStyles));
|
|
2416
|
+
}
|
|
2417
|
+
return style;
|
|
2418
|
+
}
|
|
2419
|
+
function RemoveDynamicFormStyles(style) {
|
|
2420
|
+
if (!style) {
|
|
2421
|
+
return;
|
|
2422
|
+
}
|
|
2423
|
+
const head = document.head || document.getElementsByTagName('head')[0];
|
|
2424
|
+
head.removeChild(style);
|
|
2425
|
+
}
|
|
2400
2426
|
|
|
2401
2427
|
class MoReportValuePipe {
|
|
2402
2428
|
transform(name, mo, Columns, caption) {
|
|
@@ -5810,7 +5836,11 @@ class PortalService {
|
|
|
5810
5836
|
path: (cpage.IsDefaultRoute === 'True' && path === '') || (path !== '' && typeof path !== 'undefined')
|
|
5811
5837
|
? path
|
|
5812
5838
|
: cpage.Route.replace('/', ''),
|
|
5813
|
-
canActivate: cpage.HasAuthorize === 'True'
|
|
5839
|
+
canActivate: cpage.HasAuthorize === 'True'
|
|
5840
|
+
? [AuthGuard]
|
|
5841
|
+
: cpage.IsLoginRoute === 'True'
|
|
5842
|
+
? [RedirectHomeGuard]
|
|
5843
|
+
: [],
|
|
5814
5844
|
resolve: { pageData: PortalPageResolver },
|
|
5815
5845
|
component: pageComponent,
|
|
5816
5846
|
outlet: cpage.Outlet ? cpage.Outlet : undefined,
|
|
@@ -5819,7 +5849,7 @@ class PortalService {
|
|
|
5819
5849
|
...cpage
|
|
5820
5850
|
}
|
|
5821
5851
|
},
|
|
5822
|
-
children: [formRoutes()]
|
|
5852
|
+
children: cpage.ComponentName !== 'PortalPage' ? [formRoutes()] : []
|
|
5823
5853
|
};
|
|
5824
5854
|
children.push(newRoute);
|
|
5825
5855
|
// Recursively process each MetaObjectModel inside MoDataList
|
|
@@ -7803,32 +7833,12 @@ const NOTIFICATION_WEBWORKER_FACTORY = new InjectionToken('notificaion-worker');
|
|
|
7803
7833
|
class ServiceWorkerNotificationService {
|
|
7804
7834
|
constructor() {
|
|
7805
7835
|
this.hasRegistration = false;
|
|
7806
|
-
this._logService = inject(LogService);
|
|
7807
7836
|
this._swPush = inject(SwPush);
|
|
7808
7837
|
this._portalService = inject(PortalService);
|
|
7809
|
-
this._notificationPermissionAllowed =
|
|
7810
|
-
|
|
7811
|
-
const _swPush = this._swPush;
|
|
7812
|
-
_logService.info(`swPush enable ${_swPush.isEnabled}`);
|
|
7813
|
-
_swPush.notificationClicks.pipe(tap$1((c) => console.log(c))).subscribe((e) => {
|
|
7814
|
-
if (!e.notification.tag) {
|
|
7815
|
-
return;
|
|
7816
|
-
}
|
|
7817
|
-
this.closeNotifications([e.notification.tag]);
|
|
7818
|
-
let actionTitle = e.action;
|
|
7819
|
-
if (actionTitle === '') {
|
|
7820
|
-
actionTitle = 'show';
|
|
7821
|
-
}
|
|
7822
|
-
if (!BarsaApi?.LoginFormData?.IsUserLoggedIn) {
|
|
7823
|
-
return;
|
|
7824
|
-
}
|
|
7825
|
-
this._portalService.ExecuteNotificationAction(e.notification.tag, actionTitle);
|
|
7826
|
-
// TODO:exeucte action
|
|
7827
|
-
// not handled!!
|
|
7828
|
-
});
|
|
7829
|
-
this.getSw().then((c) => (this.hasRegistration = !!c));
|
|
7830
|
-
this.handlePermission();
|
|
7838
|
+
this._notificationPermissionAllowed = false;
|
|
7839
|
+
this.init();
|
|
7831
7840
|
}
|
|
7841
|
+
// بررسی وضعیت فعلی
|
|
7832
7842
|
get isEnabled() {
|
|
7833
7843
|
return this._swPush.isEnabled && this.hasRegistration && this._notificationPermissionAllowed;
|
|
7834
7844
|
}
|
|
@@ -7844,6 +7854,7 @@ class ServiceWorkerNotificationService {
|
|
|
7844
7854
|
}
|
|
7845
7855
|
});
|
|
7846
7856
|
}
|
|
7857
|
+
// نمایش دستی نوتیفیکیشن (برای تست)
|
|
7847
7858
|
async showNotification(payload) {
|
|
7848
7859
|
const sw = await this.getSw();
|
|
7849
7860
|
if (!sw) {
|
|
@@ -7883,6 +7894,23 @@ class ServiceWorkerNotificationService {
|
|
|
7883
7894
|
data
|
|
7884
7895
|
});
|
|
7885
7896
|
}
|
|
7897
|
+
async init() {
|
|
7898
|
+
console.log(`SwPush enabled: ${this._swPush.isEnabled}`);
|
|
7899
|
+
this.handlePermission();
|
|
7900
|
+
// مدیریت کلیک روی نوتیفیکیشنها
|
|
7901
|
+
this._swPush.notificationClicks.subscribe((e) => {
|
|
7902
|
+
if (!e.notification.tag) {
|
|
7903
|
+
return;
|
|
7904
|
+
}
|
|
7905
|
+
const actionTitle = e.action || 'show';
|
|
7906
|
+
if (!BarsaApi?.LoginFormData?.IsUserLoggedIn) {
|
|
7907
|
+
return;
|
|
7908
|
+
}
|
|
7909
|
+
this._portalService.ExecuteNotificationAction(e.notification.tag, actionTitle);
|
|
7910
|
+
});
|
|
7911
|
+
// بررسی مجوز و ثبت سرویسورکر
|
|
7912
|
+
await this.registerServiceWorker();
|
|
7913
|
+
}
|
|
7886
7914
|
handlePermission() {
|
|
7887
7915
|
if (!navigator?.permissions?.query) {
|
|
7888
7916
|
return;
|
|
@@ -7895,14 +7923,17 @@ class ServiceWorkerNotificationService {
|
|
|
7895
7923
|
permissionQuery(result) {
|
|
7896
7924
|
let newPrompt;
|
|
7897
7925
|
if (result.state === 'granted') {
|
|
7926
|
+
console.log('notificaiton granted');
|
|
7898
7927
|
// notifications allowed, go wild
|
|
7899
7928
|
}
|
|
7900
7929
|
else if (result.state === 'prompt') {
|
|
7901
7930
|
// we can ask the user
|
|
7931
|
+
console.log('notificaiton prompt');
|
|
7902
7932
|
newPrompt = Notification.requestPermission();
|
|
7903
7933
|
}
|
|
7904
7934
|
else if (result.state === 'denied') {
|
|
7905
7935
|
// notifications were disabled
|
|
7936
|
+
console.log('notificaiton denied');
|
|
7906
7937
|
this._notificationPermissionAllowed = false;
|
|
7907
7938
|
}
|
|
7908
7939
|
result.onchange = () => console.log({ updatedPermission: result });
|
|
@@ -7912,14 +7943,23 @@ class ServiceWorkerNotificationService {
|
|
|
7912
7943
|
this._notificationPermissionAllowed = false;
|
|
7913
7944
|
console.error(error);
|
|
7914
7945
|
}
|
|
7915
|
-
async
|
|
7916
|
-
if (
|
|
7917
|
-
|
|
7918
|
-
return undefined;
|
|
7946
|
+
async requestPermission() {
|
|
7947
|
+
if (Notification.permission === 'default') {
|
|
7948
|
+
await Notification.requestPermission();
|
|
7919
7949
|
}
|
|
7920
|
-
|
|
7921
|
-
|
|
7922
|
-
|
|
7950
|
+
this._notificationPermissionAllowed = Notification.permission === 'granted';
|
|
7951
|
+
}
|
|
7952
|
+
async registerServiceWorker() {
|
|
7953
|
+
if (!('serviceWorker' in navigator)) {
|
|
7954
|
+
return;
|
|
7955
|
+
}
|
|
7956
|
+
const reg = await navigator.serviceWorker.getRegistration();
|
|
7957
|
+
this.hasRegistration = !!reg;
|
|
7958
|
+
}
|
|
7959
|
+
async getSw() {
|
|
7960
|
+
const reg = await navigator.serviceWorker.getRegistration();
|
|
7961
|
+
this.hasRegistration = !!reg;
|
|
7962
|
+
return reg;
|
|
7923
7963
|
}
|
|
7924
7964
|
_isSupported() {
|
|
7925
7965
|
if (!('serviceWorker' in navigator)) {
|
|
@@ -8167,13 +8207,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
8167
8207
|
type: Injectable
|
|
8168
8208
|
}], ctorParameters: () => [] });
|
|
8169
8209
|
|
|
8210
|
+
class PushCheckService {
|
|
8211
|
+
async checkPushReady() {
|
|
8212
|
+
if (!this.baseSupport()) {
|
|
8213
|
+
return 'مرورگر شما Push API را پشتیبانی نمیکند';
|
|
8214
|
+
}
|
|
8215
|
+
const iosCheck = this.iosSupport();
|
|
8216
|
+
if (iosCheck !== true) {
|
|
8217
|
+
return iosCheck;
|
|
8218
|
+
}
|
|
8219
|
+
if (Notification.permission === 'denied') {
|
|
8220
|
+
return 'شما قبلاً اجازه نوتیفیکیشن را رد کردهاید. از تنظیمات مرورگر آن را فعال کنید';
|
|
8221
|
+
}
|
|
8222
|
+
const regs = await navigator.serviceWorker.getRegistrations();
|
|
8223
|
+
if (!regs.length) {
|
|
8224
|
+
return 'Service Worker ثبت نشده است';
|
|
8225
|
+
}
|
|
8226
|
+
return true;
|
|
8227
|
+
}
|
|
8228
|
+
getIosVersion() {
|
|
8229
|
+
const ua = navigator.userAgent;
|
|
8230
|
+
if (/iP(hone|od|ad)/.test(ua)) {
|
|
8231
|
+
const v = ua.match(/OS (\d+)_/);
|
|
8232
|
+
return v ? parseInt(v[1], 10) : null;
|
|
8233
|
+
}
|
|
8234
|
+
return null;
|
|
8235
|
+
}
|
|
8236
|
+
isIosStandalone() {
|
|
8237
|
+
return 'standalone' in navigator && navigator.standalone === true;
|
|
8238
|
+
}
|
|
8239
|
+
isSafari() {
|
|
8240
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
8241
|
+
return ua.includes('safari') && !ua.includes('chrome');
|
|
8242
|
+
}
|
|
8243
|
+
baseSupport() {
|
|
8244
|
+
return 'Notification' in window && 'serviceWorker' in navigator && 'PushManager' in window;
|
|
8245
|
+
}
|
|
8246
|
+
iosSupport() {
|
|
8247
|
+
const v = this.getIosVersion();
|
|
8248
|
+
if (v && v < 16) {
|
|
8249
|
+
return 'نسخه iOS کمتر از 16 است (Push پشتیبانی نمیشود)';
|
|
8250
|
+
}
|
|
8251
|
+
if (v && v < 16.4) {
|
|
8252
|
+
return 'iOS باید حداقل نسخه 16.4 باشد تا Push فعال شود';
|
|
8253
|
+
}
|
|
8254
|
+
if (v && !this.isSafari()) {
|
|
8255
|
+
return 'Push فقط در Safari iOS پشتیبانی میشود';
|
|
8256
|
+
}
|
|
8257
|
+
if (v && !this.isIosStandalone()) {
|
|
8258
|
+
return 'برای فعال شدن Push، برنامه را با Add to Home Screen نصب کنید';
|
|
8259
|
+
}
|
|
8260
|
+
return true;
|
|
8261
|
+
}
|
|
8262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PushCheckService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8263
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PushCheckService, providedIn: 'root' }); }
|
|
8264
|
+
}
|
|
8265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PushCheckService, decorators: [{
|
|
8266
|
+
type: Injectable,
|
|
8267
|
+
args: [{ providedIn: 'root' }]
|
|
8268
|
+
}] });
|
|
8269
|
+
|
|
8170
8270
|
class ServiceWorkerCommuncationService {
|
|
8171
8271
|
constructor() {
|
|
8272
|
+
this._toastService = inject(TOAST_SERVICE, { optional: true });
|
|
8172
8273
|
this._localStorage = inject(LocalStorageService);
|
|
8173
|
-
this._logService = inject(LogService);
|
|
8174
8274
|
this._portalService = inject(PortalService);
|
|
8175
8275
|
this._swPush = inject(SwPush);
|
|
8176
8276
|
this._httpClient = inject(HttpClient);
|
|
8277
|
+
this._pushCheckService = inject(PushCheckService);
|
|
8177
8278
|
}
|
|
8178
8279
|
get token2() {
|
|
8179
8280
|
return this._localStorage.getItem(BarsaApi.LoginAction.token2StorageKey) ?? '';
|
|
@@ -8234,7 +8335,7 @@ class ServiceWorkerCommuncationService {
|
|
|
8234
8335
|
_postServiceWorker(message) {
|
|
8235
8336
|
// console.log(`post message to sw ${JSON.stringify(message, null, 2)}`);
|
|
8236
8337
|
if (!this._serviceWorker) {
|
|
8237
|
-
|
|
8338
|
+
console.warn(`service worker is undefined.`);
|
|
8238
8339
|
return;
|
|
8239
8340
|
}
|
|
8240
8341
|
this._serviceWorker.postMessage(message);
|
|
@@ -8244,16 +8345,46 @@ class ServiceWorkerCommuncationService {
|
|
|
8244
8345
|
this._httpClient.post('/api/pushnotification/send', subscription, this.httpOptions).subscribe();
|
|
8245
8346
|
}, 5000);
|
|
8246
8347
|
}
|
|
8348
|
+
toast(msg) {
|
|
8349
|
+
if (!this._toastService) {
|
|
8350
|
+
console.log(msg);
|
|
8351
|
+
return;
|
|
8352
|
+
}
|
|
8353
|
+
this._toastService?.open(` ${msg} `, { duration: 5000 });
|
|
8354
|
+
}
|
|
8247
8355
|
_initPushSubscription() {
|
|
8248
8356
|
this._httpClient
|
|
8249
8357
|
.get('/api/pushnotification/publickey', { responseType: 'text' })
|
|
8250
|
-
.pipe(concatMap$1((publicKey) =>
|
|
8251
|
-
|
|
8252
|
-
|
|
8253
|
-
|
|
8358
|
+
.pipe(concatMap$1(async (publicKey) => {
|
|
8359
|
+
// 1) بررسی کامل iOS + Android + Browser
|
|
8360
|
+
const check = await this._pushCheckService.checkPushReady();
|
|
8361
|
+
if (check !== true) {
|
|
8362
|
+
this.toast(check);
|
|
8363
|
+
throw new Error(check);
|
|
8364
|
+
}
|
|
8365
|
+
// 2) درخواست ساباسکریپشن
|
|
8366
|
+
try {
|
|
8367
|
+
const subscription = await this._swPush.requestSubscription({
|
|
8368
|
+
serverPublicKey: publicKey
|
|
8369
|
+
});
|
|
8370
|
+
return subscription;
|
|
8371
|
+
}
|
|
8372
|
+
catch (err) {
|
|
8373
|
+
const msg = 'مشترک شدن Push انجام نشد';
|
|
8374
|
+
this.toast(msg);
|
|
8375
|
+
throw err;
|
|
8376
|
+
}
|
|
8377
|
+
}), concatMap$1((subscription) => this._httpClient.post('/api/pushnotification/add', subscription, this.httpOptions)), catchError$1((err) => {
|
|
8378
|
+
const msg = 'خطا در ثبت Push Notification';
|
|
8379
|
+
this.toast(msg);
|
|
8254
8380
|
return throwError(() => err);
|
|
8255
8381
|
}))
|
|
8256
|
-
.subscribe(
|
|
8382
|
+
.subscribe({
|
|
8383
|
+
next: () => {
|
|
8384
|
+
const msg = 'نوتیفیکیشن فعال شد';
|
|
8385
|
+
this.toast(msg);
|
|
8386
|
+
}
|
|
8387
|
+
});
|
|
8257
8388
|
}
|
|
8258
8389
|
_handlePushUnSubscription(doReturn) {
|
|
8259
8390
|
if (!this._subscription) {
|
|
@@ -8262,7 +8393,7 @@ class ServiceWorkerCommuncationService {
|
|
|
8262
8393
|
this._httpClient
|
|
8263
8394
|
.post('/api/pushnotification/delete', this._subscription, this.httpOptions)
|
|
8264
8395
|
.pipe(concatMap$1(() => from(this._swPush.unsubscribe())), catchError$1((err) => {
|
|
8265
|
-
|
|
8396
|
+
console.error(err);
|
|
8266
8397
|
doReturn && doReturn();
|
|
8267
8398
|
return throwError(() => new Error(err));
|
|
8268
8399
|
}), finalize$1(() => {
|
|
@@ -8456,6 +8587,7 @@ class FieldBaseComponent extends BaseComponent {
|
|
|
8456
8587
|
this.formmatedValue = new EventEmitter();
|
|
8457
8588
|
this.isMobile = getDeviceIsMobile();
|
|
8458
8589
|
this.isTablet = getDeviceIsTablet();
|
|
8590
|
+
this._rlt = true;
|
|
8459
8591
|
this.mobileConfig = {
|
|
8460
8592
|
title: 'انتخاب',
|
|
8461
8593
|
approveButtonText: 'تایید',
|
|
@@ -8482,6 +8614,7 @@ class FieldBaseComponent extends BaseComponent {
|
|
|
8482
8614
|
this._valueChangedSource = new Subject();
|
|
8483
8615
|
this._disableChangedSource = new BehaviorSubject(false);
|
|
8484
8616
|
this._readonlyChangedSource = new BehaviorSubject(false);
|
|
8617
|
+
this._portalService.rtl$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => (this._rlt = c));
|
|
8485
8618
|
this.refresh$ = this._refreshSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
8486
8619
|
this.value$ = this._valueChangedSource.asObservable().pipe(takeUntil(this._onDestroy$));
|
|
8487
8620
|
this.deviceSize$ = this._portalService.deviceSize$;
|
|
@@ -8608,7 +8741,7 @@ class FieldBaseComponent extends BaseComponent {
|
|
|
8608
8741
|
}
|
|
8609
8742
|
}
|
|
8610
8743
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FieldBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8611
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FieldBaseComponent, isStandalone: false, selector: "bnrc-field-base", inputs: { context: "context", focusControl: "focusControl", layoutInfo: "layoutInfo", value: "value", width: "width", height: "height", formHeight: "formHeight", inlineEdit: "inlineEdit", cellEdit: "cellEdit", formContainer: "formContainer", id: "id", parametes: "parametes" }, outputs: { valueChange: "valueChange", formmatedValue: "formmatedValue" }, host: { properties: { "class.isMobile": "this.isMobile", "class.isTablet": "this.isTablet" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8744
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FieldBaseComponent, isStandalone: false, selector: "bnrc-field-base", inputs: { context: "context", focusControl: "focusControl", layoutInfo: "layoutInfo", value: "value", width: "width", height: "height", formHeight: "formHeight", inlineEdit: "inlineEdit", cellEdit: "cellEdit", formContainer: "formContainer", id: "id", parametes: "parametes" }, outputs: { valueChange: "valueChange", formmatedValue: "formmatedValue" }, host: { properties: { "class.isMobile": "this.isMobile", "class.isTablet": "this.isTablet", "class.rtl": "this._rlt" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8612
8745
|
}
|
|
8613
8746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FieldBaseComponent, decorators: [{
|
|
8614
8747
|
type: Component,
|
|
@@ -8652,6 +8785,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
8652
8785
|
}], isTablet: [{
|
|
8653
8786
|
type: HostBinding,
|
|
8654
8787
|
args: ['class.isTablet']
|
|
8788
|
+
}], _rlt: [{
|
|
8789
|
+
type: HostBinding,
|
|
8790
|
+
args: ['class.rtl']
|
|
8655
8791
|
}] } });
|
|
8656
8792
|
|
|
8657
8793
|
class FormBaseComponent extends BaseComponent {
|
|
@@ -9225,7 +9361,6 @@ class LayoutItemBaseComponent extends BaseComponent {
|
|
|
9225
9361
|
super();
|
|
9226
9362
|
this.formPanelService = inject(FormPanelService);
|
|
9227
9363
|
this._cdr = inject(ChangeDetectorRef);
|
|
9228
|
-
this.id = getUniqueId(4);
|
|
9229
9364
|
this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
9230
9365
|
this.isSearchPanel = isSearchPanel;
|
|
9231
9366
|
});
|
|
@@ -9236,6 +9371,10 @@ class LayoutItemBaseComponent extends BaseComponent {
|
|
|
9236
9371
|
this.searchPanelIsObject = searchPanelIsObject;
|
|
9237
9372
|
});
|
|
9238
9373
|
}
|
|
9374
|
+
ngOnInit() {
|
|
9375
|
+
super.ngOnInit();
|
|
9376
|
+
this.id = this.config.id;
|
|
9377
|
+
}
|
|
9239
9378
|
ngOnChanges(changes) {
|
|
9240
9379
|
super.ngOnChanges(changes);
|
|
9241
9380
|
const { maxLabelWidth } = changes;
|
|
@@ -9244,7 +9383,7 @@ class LayoutItemBaseComponent extends BaseComponent {
|
|
|
9244
9383
|
}
|
|
9245
9384
|
}
|
|
9246
9385
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutItemBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: LayoutItemBaseComponent, isStandalone: false, selector: "bnrc-layout-item-base", inputs: { config: "config", isPanel: "isPanel", maxLabelWidth: "maxLabelWidth", rtl: "rtl" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9386
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: LayoutItemBaseComponent, isStandalone: false, selector: "bnrc-layout-item-base", inputs: { config: "config", isPanel: "isPanel", maxLabelWidth: "maxLabelWidth", rtl: "rtl" }, host: { properties: { "attr.id": "this.id" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9248
9387
|
}
|
|
9249
9388
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutItemBaseComponent, decorators: [{
|
|
9250
9389
|
type: Component,
|
|
@@ -9254,7 +9393,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
9254
9393
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9255
9394
|
standalone: false
|
|
9256
9395
|
}]
|
|
9257
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
9396
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
9397
|
+
type: HostBinding,
|
|
9398
|
+
args: ['attr.id']
|
|
9399
|
+
}], config: [{
|
|
9258
9400
|
type: Input
|
|
9259
9401
|
}], isPanel: [{
|
|
9260
9402
|
type: Input
|
|
@@ -9268,21 +9410,40 @@ class LayoutPanelBaseComponent extends LayoutItemBaseComponent {
|
|
|
9268
9410
|
constructor() {
|
|
9269
9411
|
super();
|
|
9270
9412
|
this.layoutControlCount = 0;
|
|
9271
|
-
this.
|
|
9272
|
-
this.
|
|
9273
|
-
|
|
9413
|
+
this.visible = true;
|
|
9414
|
+
this._renderer2 = inject(Renderer2);
|
|
9415
|
+
this._portalService = inject(PortalService);
|
|
9416
|
+
this._layoutService = inject(LayoutService, { self: true });
|
|
9417
|
+
const layoutService = this._layoutService;
|
|
9274
9418
|
this.id = getUniqueId(4);
|
|
9275
9419
|
layoutService.id = 'panel' + this.id;
|
|
9276
9420
|
this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {
|
|
9277
9421
|
this.isSearchPanel = isSearchPanel;
|
|
9278
9422
|
});
|
|
9423
|
+
this.formPanelService.groupLayout$
|
|
9424
|
+
.pipe(takeUntil$1(this._onDestroy$), filter$1((c) => c.ControlId === this.config.ControlId))
|
|
9425
|
+
.subscribe((_groupItem) => {
|
|
9426
|
+
this._setBRule();
|
|
9427
|
+
});
|
|
9279
9428
|
}
|
|
9280
9429
|
ngOnInit() {
|
|
9281
9430
|
super.ngOnInit();
|
|
9431
|
+
this._setBRule();
|
|
9282
9432
|
this.formPanelService.formContainerDom = this.parentDom;
|
|
9283
|
-
this.maxLabelWidth$ = this.
|
|
9433
|
+
this.maxLabelWidth$ = this._layoutService.maxWidth$;
|
|
9284
9434
|
this._calcWidth(this.config);
|
|
9285
9435
|
}
|
|
9436
|
+
_setBRule() {
|
|
9437
|
+
this.visible = this.config.Visible === false ? false : true;
|
|
9438
|
+
this.readonly = this.config.Readonly === false ? false : true;
|
|
9439
|
+
this.enable = this.config.Enable === false ? false : true;
|
|
9440
|
+
if (this.enable) {
|
|
9441
|
+
this._renderer2.removeClass(this._el.nativeElement, 'control-disabled');
|
|
9442
|
+
}
|
|
9443
|
+
else {
|
|
9444
|
+
this._renderer2.addClass(this._el.nativeElement, 'control-disabled');
|
|
9445
|
+
}
|
|
9446
|
+
}
|
|
9286
9447
|
_calcWidth(config) {
|
|
9287
9448
|
config.items.forEach((item) => {
|
|
9288
9449
|
switch (item.xtype) {
|
|
@@ -9299,7 +9460,7 @@ class LayoutPanelBaseComponent extends LayoutItemBaseComponent {
|
|
|
9299
9460
|
_setLabelWidth(item) {
|
|
9300
9461
|
const controlWidth = getLabelWidth(item);
|
|
9301
9462
|
if (controlWidth) {
|
|
9302
|
-
this.
|
|
9463
|
+
this._layoutService.setMaxWidth(controlWidth);
|
|
9303
9464
|
}
|
|
9304
9465
|
}
|
|
9305
9466
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutPanelBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -9335,8 +9496,8 @@ class ContainerComponent extends BaseComponent {
|
|
|
9335
9496
|
this._cdr = inject(ChangeDetectorRef);
|
|
9336
9497
|
this._renderer2 = inject(Renderer2);
|
|
9337
9498
|
this._dialogService = inject(DIALOG_SERVICE, { optional: true });
|
|
9338
|
-
this._containerServiceParent = inject(ContainerService, { self:
|
|
9339
|
-
this._containerService = inject(ContainerService);
|
|
9499
|
+
this._containerServiceParent = inject(ContainerService, { self: false, optional: true });
|
|
9500
|
+
this._containerService = inject(ContainerService, { self: true, optional: true });
|
|
9340
9501
|
this._formDialogComponent = inject(FORM_DIALOG_COMPONENT, { optional: true });
|
|
9341
9502
|
this.oldContainerContainer = this._barsaDialogService.containerComponent;
|
|
9342
9503
|
this._barsaDialogService.containerComponent = this;
|
|
@@ -9378,7 +9539,7 @@ class ContainerComponent extends BaseComponent {
|
|
|
9378
9539
|
}
|
|
9379
9540
|
}
|
|
9380
9541
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9381
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ContainerComponent, isStandalone: false, selector: "bnrc-container", viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9542
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ContainerComponent, isStandalone: false, selector: "bnrc-container", viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "containerBottomRef", first: true, predicate: ["containerBottomRef"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9382
9543
|
}
|
|
9383
9544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ContainerComponent, decorators: [{
|
|
9384
9545
|
type: Component,
|
|
@@ -9391,6 +9552,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
9391
9552
|
}], ctorParameters: () => [], propDecorators: { containerRef: [{
|
|
9392
9553
|
type: ViewChild,
|
|
9393
9554
|
args: ['containerRef', { static: true, read: ViewContainerRef }]
|
|
9555
|
+
}], containerBottomRef: [{
|
|
9556
|
+
type: ViewChild,
|
|
9557
|
+
args: ['containerBottomRef', { static: true, read: ViewContainerRef }]
|
|
9394
9558
|
}] } });
|
|
9395
9559
|
|
|
9396
9560
|
class PageBaseComponent extends ContainerComponent {
|
|
@@ -9402,7 +9566,7 @@ class PageBaseComponent extends ContainerComponent {
|
|
|
9402
9566
|
}
|
|
9403
9567
|
ngAfterViewInit() {
|
|
9404
9568
|
super.ngAfterViewInit();
|
|
9405
|
-
this._containerService
|
|
9569
|
+
this._containerService?.state === 'attach' && this.addModulesToDom();
|
|
9406
9570
|
this._containerService?.addModules.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.addModulesToDom());
|
|
9407
9571
|
}
|
|
9408
9572
|
addModulesToDom() {
|
|
@@ -9458,8 +9622,12 @@ class PageBaseComponent extends ContainerComponent {
|
|
|
9458
9622
|
.pipe(takeUntil(this._onDestroy$), concatMap((module) => this.getComponentFactory(module.Component).pipe(tap((controlUi) => {
|
|
9459
9623
|
controlUi.instance.settings = module.Component.Settings;
|
|
9460
9624
|
controlUi.instance.activatedRoute = this._activatedRoute;
|
|
9461
|
-
|
|
9462
|
-
|
|
9625
|
+
let containerRef = this.containerRef;
|
|
9626
|
+
if (module.ContainerRef && this[module.ContainerRef]) {
|
|
9627
|
+
containerRef = this[module.ContainerRef];
|
|
9628
|
+
} // توسط ماژول مشخص شده کامپوننت در کدام کانتینر پیج قرار گیرد
|
|
9629
|
+
if (containerRef) {
|
|
9630
|
+
containerRef.insert(controlUi.hostView);
|
|
9463
9631
|
}
|
|
9464
9632
|
else {
|
|
9465
9633
|
this._vcr.insert(controlUi.hostView);
|
|
@@ -9519,11 +9687,14 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
9519
9687
|
const isValid = new RegExp('^[0-9,.,-]*$').test(e.currentTarget.value + e.key);
|
|
9520
9688
|
if (!isValid || e.key === '.') {
|
|
9521
9689
|
if (e.key === '.' && this.inputElement && this.decimalPrecision > 0) {
|
|
9522
|
-
const
|
|
9523
|
-
|
|
9690
|
+
const indexOfDot = this.inputElement.value.indexOf('.');
|
|
9691
|
+
if (indexOfDot > -1) {
|
|
9692
|
+
this._setCursorPosition(indexOfDot + 1);
|
|
9693
|
+
e.preventDefault();
|
|
9694
|
+
e.stopPropagation();
|
|
9695
|
+
return;
|
|
9696
|
+
}
|
|
9524
9697
|
}
|
|
9525
|
-
e.preventDefault();
|
|
9526
|
-
e.stopPropagation();
|
|
9527
9698
|
}
|
|
9528
9699
|
else if (isValid && this.inputElement) {
|
|
9529
9700
|
// در صورتی که عدد قبل از منفی قرار گیرد
|
|
@@ -9549,7 +9720,7 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
9549
9720
|
}
|
|
9550
9721
|
_updateBySetting() {
|
|
9551
9722
|
if (this.inputElement) {
|
|
9552
|
-
const formated = this._getFormated(this.value).toString();
|
|
9723
|
+
const formated = this._getFormated(this.value?.toString()).toString();
|
|
9553
9724
|
this.inputElement.value = formated;
|
|
9554
9725
|
}
|
|
9555
9726
|
this.hasMask =
|
|
@@ -9581,7 +9752,17 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
9581
9752
|
return false;
|
|
9582
9753
|
}
|
|
9583
9754
|
_getFormated(val) {
|
|
9584
|
-
|
|
9755
|
+
let decimalPersicion = 0;
|
|
9756
|
+
const indexOfDot = val.indexOf('.');
|
|
9757
|
+
if (indexOfDot > 0 && this.decimalPrecision) {
|
|
9758
|
+
decimalPersicion = val.length - indexOfDot - 1;
|
|
9759
|
+
decimalPersicion = decimalPersicion > this.decimalPrecision ? this.decimalPrecision : decimalPersicion;
|
|
9760
|
+
}
|
|
9761
|
+
let newVal = this._numeralPipe.transform(val, decimalPersicion, this.Setting.ShowThousandSeperator).toString();
|
|
9762
|
+
if (this.decimalPrecision && decimalPersicion === 0 && val.endsWith('.')) {
|
|
9763
|
+
newVal += '.';
|
|
9764
|
+
}
|
|
9765
|
+
return newVal;
|
|
9585
9766
|
}
|
|
9586
9767
|
_setCursorPosition(cursorPosition) {
|
|
9587
9768
|
if (this.inputElement) {
|
|
@@ -9601,9 +9782,19 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
9601
9782
|
if (value === +elValue) {
|
|
9602
9783
|
return;
|
|
9603
9784
|
}
|
|
9604
|
-
const formated = this._getFormated(value);
|
|
9785
|
+
const formated = this._getFormated(value.toString());
|
|
9605
9786
|
e.target.value = formated;
|
|
9606
9787
|
}
|
|
9788
|
+
_setTargetToFormatedValue(target, formated, isMinus) {
|
|
9789
|
+
if (!target) {
|
|
9790
|
+
return 0;
|
|
9791
|
+
}
|
|
9792
|
+
const oldVal = target.value;
|
|
9793
|
+
if (target.value !== formated) {
|
|
9794
|
+
target.value = this._getMinusValue(isMinus, formated);
|
|
9795
|
+
}
|
|
9796
|
+
return formated.length > oldVal.length ? formated.length - oldVal.length : oldVal.length - target.value.length;
|
|
9797
|
+
}
|
|
9607
9798
|
reFormatValue(text, e) {
|
|
9608
9799
|
let newVal;
|
|
9609
9800
|
if (typeof text === 'number') {
|
|
@@ -9622,7 +9813,7 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
9622
9813
|
let indexofDot = text.indexOf('.');
|
|
9623
9814
|
const selectionStart = this.inputElement?.selectionStart;
|
|
9624
9815
|
const decimalPersicion = this.decimalPrecision;
|
|
9625
|
-
if (decimalPersicion) {
|
|
9816
|
+
if (decimalPersicion && indexofDot > 0) {
|
|
9626
9817
|
const t = text.length - (indexofDot + 1);
|
|
9627
9818
|
if (t > decimalPersicion) {
|
|
9628
9819
|
const diff = t - decimalPersicion;
|
|
@@ -9655,12 +9846,10 @@ class NumberBaseComponent extends FieldBaseComponent {
|
|
|
9655
9846
|
diff = indexOfDotFormated - indexofDot;
|
|
9656
9847
|
cursorPosition += diff;
|
|
9657
9848
|
}
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
e.target.value = this._getMinusValue(isMinus, formated);
|
|
9663
|
-
}
|
|
9849
|
+
const diff1 = this._setTargetToFormatedValue(this.inputElement, formated, isMinus);
|
|
9850
|
+
const diff2 = this._setTargetToFormatedValue(e.traget, formated, isMinus);
|
|
9851
|
+
cursorPosition && (cursorPosition += diff1);
|
|
9852
|
+
cursorPosition && (cursorPosition += diff2);
|
|
9664
9853
|
this._setCursorPosition(cursorPosition);
|
|
9665
9854
|
}
|
|
9666
9855
|
else {
|
|
@@ -11498,20 +11687,20 @@ class PortalPageComponent extends PageWithFormHandlerBaseComponent {
|
|
|
11498
11687
|
super(...arguments);
|
|
11499
11688
|
this._routingService = inject(RoutingService);
|
|
11500
11689
|
}
|
|
11690
|
+
ngOnInit() {
|
|
11691
|
+
super.ngOnInit();
|
|
11692
|
+
this.addModulesToDom();
|
|
11693
|
+
}
|
|
11501
11694
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PortalPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11502
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: PortalPageComponent, isStandalone: false, selector: "bnrc-portal-page", providers: [RoutingService
|
|
11503
|
-
><router-outlet name="dialog"></router-outlet
|
|
11695
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: PortalPageComponent, isStandalone: false, selector: "bnrc-portal-page", providers: [RoutingService], usesInheritance: true, ngImport: i0, template: `<ng-container #containerRef></ng-container> <router-outlet></router-outlet
|
|
11696
|
+
><router-outlet name="dialog"></router-outlet>
|
|
11697
|
+
<ng-container #containerBottomRef></ng-container> `, isInline: true, styles: [":host{min-height:100svh}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11504
11698
|
}
|
|
11505
11699
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PortalPageComponent, decorators: [{
|
|
11506
11700
|
type: Component,
|
|
11507
|
-
args: [{
|
|
11508
|
-
|
|
11509
|
-
|
|
11510
|
-
><router-outlet name="dialog"></router-outlet>`,
|
|
11511
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11512
|
-
providers: [RoutingService, ContainerService],
|
|
11513
|
-
standalone: false
|
|
11514
|
-
}]
|
|
11701
|
+
args: [{ selector: 'bnrc-portal-page', template: `<ng-container #containerRef></ng-container> <router-outlet></router-outlet
|
|
11702
|
+
><router-outlet name="dialog"></router-outlet>
|
|
11703
|
+
<ng-container #containerBottomRef></ng-container> `, changeDetection: ChangeDetectionStrategy.OnPush, providers: [RoutingService], standalone: false, styles: [":host{min-height:100svh}\n"] }]
|
|
11515
11704
|
}] });
|
|
11516
11705
|
|
|
11517
11706
|
class FillEmptySpaceDirective extends BaseDirective {
|
|
@@ -12456,6 +12645,12 @@ class BaseViewItemPropsComponent extends BaseViewPropsComponent {
|
|
|
12456
12645
|
_setSavingState(err) {
|
|
12457
12646
|
if (err) {
|
|
12458
12647
|
this.hasError = true;
|
|
12648
|
+
this._handleBruleShowMessageAction({
|
|
12649
|
+
MessageExpression: err.Text,
|
|
12650
|
+
MessageType: 2,
|
|
12651
|
+
MessageExpressionHtml: err.Text,
|
|
12652
|
+
EscapeCharacters: true
|
|
12653
|
+
});
|
|
12459
12654
|
return;
|
|
12460
12655
|
}
|
|
12461
12656
|
this.hasError = false;
|
|
@@ -14500,45 +14695,19 @@ class DynamicStyleDirective extends BaseDirective {
|
|
|
14500
14695
|
}
|
|
14501
14696
|
ngOnInit() {
|
|
14502
14697
|
super.ngOnInit();
|
|
14503
|
-
this.
|
|
14698
|
+
this._style = AddDynamicFormStyles(this.id, this.cssStyle);
|
|
14504
14699
|
}
|
|
14505
14700
|
ngOnChanges(changes) {
|
|
14506
14701
|
super.ngOnChanges(changes);
|
|
14507
14702
|
const { cssStyle } = changes;
|
|
14508
14703
|
if (cssStyle && !cssStyle.firstChange) {
|
|
14509
|
-
this.
|
|
14510
|
-
this.
|
|
14704
|
+
RemoveDynamicFormStyles(this._style);
|
|
14705
|
+
this._style = AddDynamicFormStyles(this.id, cssStyle.currentValue);
|
|
14511
14706
|
}
|
|
14512
14707
|
}
|
|
14513
14708
|
ngOnDestroy() {
|
|
14514
14709
|
super.ngOnDestroy();
|
|
14515
|
-
this.
|
|
14516
|
-
}
|
|
14517
|
-
_addDynamicFormStyles(cssStyles) {
|
|
14518
|
-
if (!cssStyles) {
|
|
14519
|
-
return;
|
|
14520
|
-
}
|
|
14521
|
-
cssStyles = cssStyles.replace(/:root/gi, `#${this.id}`);
|
|
14522
|
-
cssStyles = cssStyles.replace(/:html/gi, `:root`);
|
|
14523
|
-
const head = document.head || document.getElementsByTagName('head')[0];
|
|
14524
|
-
const style = document.createElement('style');
|
|
14525
|
-
head.appendChild(style);
|
|
14526
|
-
style.type = 'text/css';
|
|
14527
|
-
if (style.styleSheet) {
|
|
14528
|
-
// This is required for IE8 and below.
|
|
14529
|
-
style.styleSheet.cssText = cssStyles;
|
|
14530
|
-
}
|
|
14531
|
-
else {
|
|
14532
|
-
style.appendChild(document.createTextNode(cssStyles));
|
|
14533
|
-
}
|
|
14534
|
-
this._style = style;
|
|
14535
|
-
}
|
|
14536
|
-
_removeDynamicFormStyles() {
|
|
14537
|
-
if (!this._style) {
|
|
14538
|
-
return;
|
|
14539
|
-
}
|
|
14540
|
-
const head = document.head || document.getElementsByTagName('head')[0];
|
|
14541
|
-
head.removeChild(this._style);
|
|
14710
|
+
RemoveDynamicFormStyles(this._style);
|
|
14542
14711
|
}
|
|
14543
14712
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DynamicStyleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14544
14713
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: DynamicStyleDirective, isStandalone: false, selector: "[cssStyle]", inputs: { cssStyle: "cssStyle" }, host: { properties: { "attr.id": "this.id" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
@@ -15573,6 +15742,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
15573
15742
|
type: Input
|
|
15574
15743
|
}] } });
|
|
15575
15744
|
|
|
15745
|
+
class SafeBottomDirective extends BaseDirective {
|
|
15746
|
+
constructor() {
|
|
15747
|
+
super(...arguments);
|
|
15748
|
+
this.isMobile = getDeviceIsMobile();
|
|
15749
|
+
}
|
|
15750
|
+
ngOnInit() {
|
|
15751
|
+
super.ngOnInit();
|
|
15752
|
+
if (!this.isMobile) {
|
|
15753
|
+
return;
|
|
15754
|
+
}
|
|
15755
|
+
let cls = this.disableBottom ? '' : 'safe-bottom-area-env';
|
|
15756
|
+
this.applyTop && (cls += 'safe-top-area-env');
|
|
15757
|
+
let clsNonStandlalone = this.disableBottom ? '' : 'safe-bottom-padding';
|
|
15758
|
+
this.applyTop && (clsNonStandlalone += 'safe-top-padding');
|
|
15759
|
+
const isStandAlone = !document.body.classList.contains('noStandalone');
|
|
15760
|
+
if (isStandAlone) {
|
|
15761
|
+
this._renderer2.addClass(this._el.nativeElement, cls);
|
|
15762
|
+
}
|
|
15763
|
+
else {
|
|
15764
|
+
this._renderer2.addClass(this._el.nativeElement, clsNonStandlalone);
|
|
15765
|
+
}
|
|
15766
|
+
}
|
|
15767
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SafeBottomDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15768
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SafeBottomDirective, isStandalone: false, selector: "[safe-area]", inputs: { applyTop: "applyTop", disableBottom: "disableBottom" }, usesInheritance: true, ngImport: i0 }); }
|
|
15769
|
+
}
|
|
15770
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SafeBottomDirective, decorators: [{
|
|
15771
|
+
type: Directive,
|
|
15772
|
+
args: [{
|
|
15773
|
+
selector: '[safe-area]',
|
|
15774
|
+
standalone: false
|
|
15775
|
+
}]
|
|
15776
|
+
}], propDecorators: { applyTop: [{
|
|
15777
|
+
type: Input
|
|
15778
|
+
}], disableBottom: [{
|
|
15779
|
+
type: Input
|
|
15780
|
+
}] } });
|
|
15781
|
+
|
|
15576
15782
|
class PortalDynamicPageResolver {
|
|
15577
15783
|
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
15578
15784
|
constructor() {
|
|
@@ -15716,7 +15922,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
15716
15922
|
class FormNewComponent extends BaseComponent {
|
|
15717
15923
|
constructor() {
|
|
15718
15924
|
super(...arguments);
|
|
15719
|
-
this.
|
|
15925
|
+
this._router = inject(Router);
|
|
15926
|
+
this._activatedRoute = inject(ActivatedRoute);
|
|
15720
15927
|
}
|
|
15721
15928
|
ngOnInit() {
|
|
15722
15929
|
super.ngOnInit();
|
|
@@ -15726,7 +15933,10 @@ class FormNewComponent extends BaseComponent {
|
|
|
15726
15933
|
this.params = { moId, typeDefId, viewId };
|
|
15727
15934
|
}
|
|
15728
15935
|
onFormClose() {
|
|
15729
|
-
this.
|
|
15936
|
+
this._router.navigate(['../'], {
|
|
15937
|
+
relativeTo: this._activatedRoute,
|
|
15938
|
+
replaceUrl: true
|
|
15939
|
+
});
|
|
15730
15940
|
}
|
|
15731
15941
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormNewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15732
15942
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: FormNewComponent, isStandalone: false, selector: "bnrc-form-new", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '<bnrc-form [params]="params" (formClose)="onFormClose()"></bnrc-form>', isInline: true, dependencies: [{ kind: "component", type: FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "directive", type: FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -16712,7 +16922,8 @@ const directives = [
|
|
|
16712
16922
|
TooltipDirective,
|
|
16713
16923
|
SimplebarDirective,
|
|
16714
16924
|
LeafletLongPressDirective,
|
|
16715
|
-
ResizeHandlerDirective
|
|
16925
|
+
ResizeHandlerDirective,
|
|
16926
|
+
SafeBottomDirective
|
|
16716
16927
|
];
|
|
16717
16928
|
const services = [
|
|
16718
16929
|
PortalService,
|
|
@@ -17024,7 +17235,8 @@ class BarsaNovinRayCoreModule extends BaseModule {
|
|
|
17024
17235
|
TooltipDirective,
|
|
17025
17236
|
SimplebarDirective,
|
|
17026
17237
|
LeafletLongPressDirective,
|
|
17027
|
-
ResizeHandlerDirective
|
|
17238
|
+
ResizeHandlerDirective,
|
|
17239
|
+
SafeBottomDirective], imports: [CommonModule,
|
|
17028
17240
|
BarsaNovinRayCoreRoutingModule,
|
|
17029
17241
|
BarsaSapUiFormPageModule,
|
|
17030
17242
|
ResizableModule,
|
|
@@ -17159,7 +17371,8 @@ class BarsaNovinRayCoreModule extends BaseModule {
|
|
|
17159
17371
|
TooltipDirective,
|
|
17160
17372
|
SimplebarDirective,
|
|
17161
17373
|
LeafletLongPressDirective,
|
|
17162
|
-
ResizeHandlerDirective
|
|
17374
|
+
ResizeHandlerDirective,
|
|
17375
|
+
SafeBottomDirective] }); }
|
|
17163
17376
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaNovinRayCoreModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
|
|
17164
17377
|
BarsaNovinRayCoreRoutingModule,
|
|
17165
17378
|
BarsaSapUiFormPageModule,
|
|
@@ -17189,5 +17402,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
17189
17402
|
* Generated bundle index. Do not edit.
|
|
17190
17403
|
*/
|
|
17191
17404
|
|
|
17192
|
-
export { APP_VERSION, AbsoluteDivBodyDirective, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, ApplicationCtrlrService, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaReadonlyDirective, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, CardMediaSizePipe, ChangeLayoutInfoCustomUi, ChunkArrayPipe, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueDirective, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicDarkColorPipe, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicRootVariableDirective, DynamicStyleDirective, DynamicTileGroupComponent, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetAllHorizontalFromLayout94, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, HorizontalResponsiveDirective, IconControlInfoModel, ImageLazyDirective, ImageMimeType, ImagetoPrint, InMemoryStorageService, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsDarkMode, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelStarTrimPipe, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LeafletLongPressDirective, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, LoginSettingsResolver, MapToChatMessagePipe, MasterDetailsPageComponent, MeasureFormTitleWidthDirective, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoForReportModelBase, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, OverflowTextDirective, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeHandlerDirective, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, ScrollPersistDirective, ScrollToSelectedDirective, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, ShellbarHeightService, ShortcutHandlerDirective, ShortcutRegisterDirective, SimplebarDirective, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, SplideSliderDirective, SplitPipe, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, TabpageService, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, ToolbarSettingsPipe, TooltipDirective, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UnlimitSessionComponent, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WebOtpDirective, WordMimeType, WorfkflowwChoiceCommandDirective, addCssVariableToRoot, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, flattenTree, forbiddenValidator, formRoutes, formatBytes, fromEntries, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFocusableTagNames, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, measureText2, measureTextBy, mobile_regex, nullOrUndefinedString, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber, validateAllFormFields };
|
|
17405
|
+
export { APP_VERSION, AbsoluteDivBodyDirective, AddDynamicFormStyles, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, ApplicationCtrlrService, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaReadonlyDirective, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, CardMediaSizePipe, ChangeLayoutInfoCustomUi, ChunkArrayPipe, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueDirective, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicDarkColorPipe, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicRootVariableDirective, DynamicStyleDirective, DynamicTileGroupComponent, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetAllHorizontalFromLayout94, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, HorizontalResponsiveDirective, IconControlInfoModel, ImageLazyDirective, ImageMimeType, ImagetoPrint, InMemoryStorageService, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsDarkMode, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelStarTrimPipe, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LeafletLongPressDirective, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, LoginSettingsResolver, MapToChatMessagePipe, MasterDetailsPageComponent, MeasureFormTitleWidthDirective, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoForReportModelBase, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, OverflowTextDirective, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, PushCheckService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveDynamicFormStyles, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeHandlerDirective, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SafeBottomDirective, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, ScrollPersistDirective, ScrollToSelectedDirective, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, ShellbarHeightService, ShortcutHandlerDirective, ShortcutRegisterDirective, SimplebarDirective, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, SplideSliderDirective, SplitPipe, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, TabpageService, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, ToolbarSettingsPipe, TooltipDirective, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UnlimitSessionComponent, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WebOtpDirective, WordMimeType, WorfkflowwChoiceCommandDirective, addCssVariableToRoot, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, flattenTree, forbiddenValidator, formRoutes, formatBytes, fromEntries, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFocusableTagNames, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, measureText2, measureTextBy, mobile_regex, nullOrUndefinedString, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber, validateAllFormFields };
|
|
17193
17406
|
//# sourceMappingURL=barsa-novin-ray-core.mjs.map
|