barsa-novin-ray-core 2.3.104 → 2.3.108
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-barsa-report-page.module-Bml7rVqA.mjs → barsa-novin-ray-core-barsa-report-page.module-52O0tR5U.mjs} +5 -2
- package/fesm2022/barsa-novin-ray-core-barsa-report-page.module-52O0tR5U.mjs.map +1 -0
- package/fesm2022/barsa-novin-ray-core.mjs +407 -59
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/index.d.ts +59 -2
- package/package.json +1 -1
- package/fesm2022/barsa-novin-ray-core-barsa-report-page.module-Bml7rVqA.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
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, signal, ViewContainerRef, EventEmitter, ChangeDetectorRef, Renderer2, HostBinding, Output, HostListener, ViewChild, Directive, TemplateRef, input, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer, ErrorHandler } from '@angular/core';
|
|
3
|
-
import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, withLatestFrom as withLatestFrom$1,
|
|
3
|
+
import { Subject, from, BehaviorSubject, of, exhaustMap, map as map$1, combineLatest, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, switchMap, forkJoin, shareReplay, withLatestFrom as withLatestFrom$1, tap as tap$1, fromEvent, throwError, merge, interval, filter as filter$1, lastValueFrom, timeout, catchError as catchError$1, takeUntil as takeUntil$1, take, skip, Observable, timer, mergeWith, Subscription } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/router';
|
|
5
5
|
import { Router, NavigationEnd, ActivatedRoute, RouterEvent, NavigationStart, RouterModule, RouteReuseStrategy } from '@angular/router';
|
|
6
6
|
import { DomSanitizer, Title } from '@angular/platform-browser';
|
|
7
|
-
import { filter, startWith, map, tap, takeUntil, withLatestFrom, delay, debounceTime, distinctUntilChanged, exhaustMap as exhaustMap$1, concatMap, finalize, publishReplay, refCount, shareReplay, switchMap, catchError, merge as merge$1, pluck, mergeWith as mergeWith$1 } from 'rxjs/operators';
|
|
7
|
+
import { filter, startWith, map, tap, takeUntil, withLatestFrom, delay, debounceTime, distinctUntilChanged, exhaustMap as exhaustMap$1, concatMap, finalize, publishReplay, refCount, shareReplay as shareReplay$1, switchMap as switchMap$1, catchError, merge as merge$1, pluck, mergeWith as mergeWith$1 } from 'rxjs/operators';
|
|
8
8
|
import moment from 'moment';
|
|
9
9
|
import moment$1 from 'moment-hijri';
|
|
10
10
|
import 'moment/locale/ar';
|
|
@@ -1660,6 +1660,55 @@ function enumValueToStringSize(value, defaultValue) {
|
|
|
1660
1660
|
return defaultValue;
|
|
1661
1661
|
}
|
|
1662
1662
|
}
|
|
1663
|
+
function isVersionBiggerThan(inputVersion) {
|
|
1664
|
+
const result = compareVersions(inputVersion, BarsaApi.LoginFormData.Version);
|
|
1665
|
+
if (result > 0) {
|
|
1666
|
+
return true;
|
|
1667
|
+
}
|
|
1668
|
+
else {
|
|
1669
|
+
return false;
|
|
1670
|
+
}
|
|
1671
|
+
}
|
|
1672
|
+
function compareVersions(v1, v2) {
|
|
1673
|
+
// ۱. تابع کمکی برای تبدیل رشته به عدد نهایی بر اساس فرمول شما
|
|
1674
|
+
const getVersionScore = (v) => {
|
|
1675
|
+
const parts = v
|
|
1676
|
+
.split('.')
|
|
1677
|
+
.filter((x) => x !== '')
|
|
1678
|
+
.map(Number);
|
|
1679
|
+
const major = (parts[0] || 0) * 1000; // بخش اول * 1000
|
|
1680
|
+
const minor = (parts[1] || 0) * 100; // بخش دوم * 100
|
|
1681
|
+
// بخشهای باقیمانده (بخش سوم به بعد) با هم جمع میشوند
|
|
1682
|
+
const remaining = parts.slice(2).reduce((sum, current) => sum + current, 0);
|
|
1683
|
+
return major + minor + remaining;
|
|
1684
|
+
};
|
|
1685
|
+
// ۲. محاسبه امتیاز برای هر دو نسخه
|
|
1686
|
+
const score1 = getVersionScore(v1);
|
|
1687
|
+
const score2 = getVersionScore(v2);
|
|
1688
|
+
// ۳. مقایسه اعداد نهایی
|
|
1689
|
+
if (score1 > score2)
|
|
1690
|
+
return 1;
|
|
1691
|
+
if (score1 < score2)
|
|
1692
|
+
return -1;
|
|
1693
|
+
return 0;
|
|
1694
|
+
}
|
|
1695
|
+
function scrollToElement(target) {
|
|
1696
|
+
if (!target)
|
|
1697
|
+
return;
|
|
1698
|
+
const rect = target.getBoundingClientRect();
|
|
1699
|
+
// بررسی اینکه آیا المنت در محدوده پنجره مرورگر قرار دارد
|
|
1700
|
+
const isVisible = rect.top >= 0 &&
|
|
1701
|
+
rect.left >= 0 &&
|
|
1702
|
+
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
|
|
1703
|
+
rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
1704
|
+
if (!isVisible) {
|
|
1705
|
+
// اگر قابل مشاهده نبود، به سمت آن اسکرول کن
|
|
1706
|
+
target.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
1707
|
+
}
|
|
1708
|
+
else {
|
|
1709
|
+
console.log('المنت همین الان هم قابل مشاهده است.');
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1663
1712
|
function executeUlvCommandHandler(button, options) {
|
|
1664
1713
|
if (button.Command && button.Command.Handler) {
|
|
1665
1714
|
button.Command.Handler(button, options);
|
|
@@ -1728,6 +1777,24 @@ function getImagePath(type, moId, fileId, fieldDefId, size, sizeH) {
|
|
|
1728
1777
|
const url = `/IH.ashx?ty=${type}&moId=${moId}&id=${fileId}&fdId=${fieldDefId}&si=${size}&siH=${sizeH}`;
|
|
1729
1778
|
return url;
|
|
1730
1779
|
}
|
|
1780
|
+
function checkPermission() {
|
|
1781
|
+
const windowRef = window;
|
|
1782
|
+
// ابتدا چک میکنیم که آیا کلاً این قابلیت در این مرورگر وجود دارد یا خیر
|
|
1783
|
+
if ('Notification' in windowRef) {
|
|
1784
|
+
return windowRef.Notification.permission;
|
|
1785
|
+
}
|
|
1786
|
+
// اگر نبود (مثل سفاری موبایل)، مقدار default یا denied برمیگردانیم
|
|
1787
|
+
return 'denied';
|
|
1788
|
+
}
|
|
1789
|
+
function fixUnclosedParentheses(url) {
|
|
1790
|
+
const openCount = (url.match(/\(/g) || []).length;
|
|
1791
|
+
const closeCount = (url.match(/\)/g) || []).length;
|
|
1792
|
+
if (openCount > closeCount) {
|
|
1793
|
+
// به تعداد اختلاف، پرانتز بسته اضافه میکند
|
|
1794
|
+
return url + ')'.repeat(openCount - closeCount);
|
|
1795
|
+
}
|
|
1796
|
+
return url;
|
|
1797
|
+
}
|
|
1731
1798
|
function isFunction(functionToCheck) {
|
|
1732
1799
|
return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';
|
|
1733
1800
|
}
|
|
@@ -4222,39 +4289,60 @@ class BreadcrumbService {
|
|
|
4222
4289
|
.subscribe((root) => {
|
|
4223
4290
|
// Construct the breadcrumb hierarchy
|
|
4224
4291
|
// const root = this.router.routerState.snapshot.root;
|
|
4225
|
-
|
|
4226
|
-
this.addBreadcrumb(root, breadcrumbs);
|
|
4292
|
+
this.ReBuild(root);
|
|
4227
4293
|
// Emit the new hierarchy
|
|
4228
|
-
this._breadcrumbs$.next(breadcrumbs);
|
|
4229
4294
|
});
|
|
4230
4295
|
}
|
|
4231
|
-
|
|
4296
|
+
ReBuild(route) {
|
|
4297
|
+
const breadcrumbs = [];
|
|
4298
|
+
this.addBreadcrumb('', route, breadcrumbs);
|
|
4299
|
+
this._breadcrumbs$.next(breadcrumbs);
|
|
4300
|
+
}
|
|
4301
|
+
addBreadcrumb(lastPathWidthoutUrl, route, breadcrumbs) {
|
|
4232
4302
|
if (route) {
|
|
4233
4303
|
// Add an element for the current route part
|
|
4234
|
-
if (route.snapshot.data?.
|
|
4304
|
+
if (route.snapshot.data?.hideBreadCrumb !== true &&
|
|
4305
|
+
(route.snapshot.data?.breadcrumb ||
|
|
4306
|
+
(typeof route.snapshot.data?.pageData?.BreadCrumb !== 'undefined' && route.snapshot.url.length))) {
|
|
4235
4307
|
let url = '';
|
|
4236
|
-
|
|
4237
|
-
.map((segment) => `${segment.path}${segment.parameters
|
|
4238
|
-
?
|
|
4308
|
+
let routeURL = route.snapshot.url
|
|
4309
|
+
.map((segment) => `${segment.path}${Object.keys(segment.parameters).length
|
|
4310
|
+
? ';' +
|
|
4311
|
+
Object.keys(segment.parameters)
|
|
4312
|
+
.map((c) => `${c}=${segment.parameters[c]}`)
|
|
4313
|
+
.join(';')
|
|
4239
4314
|
: ''}`)
|
|
4240
4315
|
.join('/');
|
|
4316
|
+
if (route.snapshot.routeConfig?.outlet) {
|
|
4317
|
+
routeURL = `${lastPathWidthoutUrl}(${route.snapshot.routeConfig?.outlet}:${routeURL} ${!route.firstChild ? ')' : ''}`;
|
|
4318
|
+
}
|
|
4241
4319
|
if (routeURL !== '') {
|
|
4242
4320
|
url += `/${routeURL}`;
|
|
4243
4321
|
}
|
|
4322
|
+
const params2 = routeURL !== ''
|
|
4323
|
+
? ''
|
|
4324
|
+
: Object.keys(route.snapshot.params).map((c) => '/' + route.snapshot.params[c]);
|
|
4325
|
+
const label = this.getLabel(route.snapshot.data);
|
|
4244
4326
|
const breadcrumb = {
|
|
4245
|
-
label
|
|
4246
|
-
url,
|
|
4327
|
+
label,
|
|
4328
|
+
url: url + params2,
|
|
4247
4329
|
route
|
|
4248
4330
|
};
|
|
4249
4331
|
breadcrumbs.push(breadcrumb);
|
|
4332
|
+
lastPathWidthoutUrl = '';
|
|
4333
|
+
}
|
|
4334
|
+
else if (route.snapshot.url.length && route.snapshot.routeConfig?.path) {
|
|
4335
|
+
lastPathWidthoutUrl = !lastPathWidthoutUrl
|
|
4336
|
+
? `${route.snapshot.routeConfig?.path}/`
|
|
4337
|
+
: `${lastPathWidthoutUrl}${route.snapshot.routeConfig?.path}/`;
|
|
4250
4338
|
}
|
|
4251
4339
|
// Add another element for the next route part
|
|
4252
|
-
this.addBreadcrumb(route.firstChild, breadcrumbs);
|
|
4340
|
+
this.addBreadcrumb(lastPathWidthoutUrl, route.firstChild, breadcrumbs);
|
|
4253
4341
|
}
|
|
4254
4342
|
}
|
|
4255
4343
|
getLabel(data) {
|
|
4256
4344
|
// The breadcrumb can be defined as a static string or as a function to construct the breadcrumb element out of the route data
|
|
4257
|
-
const breadcrumb = data.breadcrumb || data
|
|
4345
|
+
const breadcrumb = data.breadcrumb || BarsaApi.Common.Util.TryGetValue(data, 'pageData.BreadCrumb', '');
|
|
4258
4346
|
return typeof breadcrumb === 'function' ? data.breadcrumb(data) : breadcrumb;
|
|
4259
4347
|
}
|
|
4260
4348
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -4854,6 +4942,9 @@ class FormPanelService extends BaseComponent {
|
|
|
4854
4942
|
}
|
|
4855
4943
|
_refresh() {
|
|
4856
4944
|
this._initialize(this._context);
|
|
4945
|
+
if (this._context?.IsSubForm) {
|
|
4946
|
+
return;
|
|
4947
|
+
}
|
|
4857
4948
|
const mo = this._moSource.getValue();
|
|
4858
4949
|
if (!mo) {
|
|
4859
4950
|
return;
|
|
@@ -5165,10 +5256,137 @@ function formRoutes(authGuard = false) {
|
|
|
5165
5256
|
};
|
|
5166
5257
|
}
|
|
5167
5258
|
|
|
5259
|
+
class MultiAppCommandSearchProvider {
|
|
5260
|
+
constructor(apps) {
|
|
5261
|
+
this.apps = apps;
|
|
5262
|
+
this.key = 'command';
|
|
5263
|
+
this.priority = 5;
|
|
5264
|
+
}
|
|
5265
|
+
search(term) {
|
|
5266
|
+
return of(!this.apps ? [] : Object.values(this.apps).flatMap((app) => searchCommandsInApp(app, term)));
|
|
5267
|
+
}
|
|
5268
|
+
}
|
|
5269
|
+
function searchCommandsInApp(app, keyword) {
|
|
5270
|
+
const results = [];
|
|
5271
|
+
const term = keyword.toLowerCase();
|
|
5272
|
+
const groups = app?.ExtraData?.CommandGroups || [];
|
|
5273
|
+
const appTitle = app.ExtraData?.Navigator?.Root?.Caption;
|
|
5274
|
+
for (const group of groups) {
|
|
5275
|
+
for (const command of group.Commands || []) {
|
|
5276
|
+
if (command.Caption && command.Caption.toLowerCase().includes(term)) {
|
|
5277
|
+
results.push({
|
|
5278
|
+
appId: app.Id,
|
|
5279
|
+
appTitle,
|
|
5280
|
+
source: 'Command',
|
|
5281
|
+
id: command.Name || command.Key,
|
|
5282
|
+
caption: command.Caption,
|
|
5283
|
+
path: `${group.Caption || group.Name}`,
|
|
5284
|
+
original: command,
|
|
5285
|
+
hidden: false,
|
|
5286
|
+
depth: 0
|
|
5287
|
+
});
|
|
5288
|
+
}
|
|
5289
|
+
for (const menu of command.Menu || []) {
|
|
5290
|
+
if (menu.Caption && menu.Caption.toLowerCase().includes(term)) {
|
|
5291
|
+
results.push({
|
|
5292
|
+
appId: app.Id,
|
|
5293
|
+
appTitle,
|
|
5294
|
+
source: 'Command',
|
|
5295
|
+
id: menu.CommandId,
|
|
5296
|
+
caption: menu.Caption,
|
|
5297
|
+
path: `${group.Caption || group.Name} > ${command.Caption}`,
|
|
5298
|
+
original: menu,
|
|
5299
|
+
hidden: false,
|
|
5300
|
+
depth: 0
|
|
5301
|
+
});
|
|
5302
|
+
}
|
|
5303
|
+
}
|
|
5304
|
+
}
|
|
5305
|
+
}
|
|
5306
|
+
return results;
|
|
5307
|
+
}
|
|
5308
|
+
|
|
5309
|
+
class MultiAppNavigatorSearchProvider {
|
|
5310
|
+
constructor(apps) {
|
|
5311
|
+
this.apps = apps;
|
|
5312
|
+
this.key = 'navigator';
|
|
5313
|
+
this.priority = 10;
|
|
5314
|
+
}
|
|
5315
|
+
search(term) {
|
|
5316
|
+
return of(!this.apps ? [] : Object.values(this.apps).flatMap((app) => searchNavigatorInApp(app, term)));
|
|
5317
|
+
}
|
|
5318
|
+
}
|
|
5319
|
+
function searchNavigatorInApp(app, keyword) {
|
|
5320
|
+
const results = [];
|
|
5321
|
+
const root = app?.ExtraData?.Navigator?.Root;
|
|
5322
|
+
if (!root) {
|
|
5323
|
+
return results;
|
|
5324
|
+
}
|
|
5325
|
+
function walk(node, path, depth = 0) {
|
|
5326
|
+
const currentPath = path ? `${path} > ${node.Caption || node.Name}` : node.Caption || node.Name || '';
|
|
5327
|
+
if (node.Caption && node.Caption.toLowerCase().includes(keyword.toLowerCase())) {
|
|
5328
|
+
let url = '';
|
|
5329
|
+
if (!node.IsRoot && node.ReportId && node.ReportId !== '0') {
|
|
5330
|
+
url = `#/application/${app.Id}/report/${node.FolderId}__${node.Caption}__${node.ReportId}`;
|
|
5331
|
+
}
|
|
5332
|
+
else if (node.IsRoot) {
|
|
5333
|
+
url = `#/application/${app.Id}`;
|
|
5334
|
+
}
|
|
5335
|
+
results.push({
|
|
5336
|
+
appId: app.Id,
|
|
5337
|
+
appTitle: root.Caption,
|
|
5338
|
+
source: 'Navigator',
|
|
5339
|
+
id: node.Id,
|
|
5340
|
+
url,
|
|
5341
|
+
caption: node.Caption,
|
|
5342
|
+
path: currentPath,
|
|
5343
|
+
original: node,
|
|
5344
|
+
hidden: depth === 1,
|
|
5345
|
+
depth
|
|
5346
|
+
});
|
|
5347
|
+
}
|
|
5348
|
+
node.Items?.forEach((child) => walk(child, currentPath, depth + 1));
|
|
5349
|
+
}
|
|
5350
|
+
walk(root, '');
|
|
5351
|
+
return results;
|
|
5352
|
+
}
|
|
5353
|
+
|
|
5354
|
+
class SearchService {
|
|
5355
|
+
/**
|
|
5356
|
+
*
|
|
5357
|
+
*/
|
|
5358
|
+
constructor() {
|
|
5359
|
+
this.providers = [];
|
|
5360
|
+
this.search$ = new Subject();
|
|
5361
|
+
this.results$ = this.search$.pipe(debounceTime$1(250), distinctUntilChanged$1(), switchMap((term) => {
|
|
5362
|
+
if (!term || term.length < 2) {
|
|
5363
|
+
return of([]);
|
|
5364
|
+
}
|
|
5365
|
+
return forkJoin(this.providers.map((p) => p.search(term))).pipe(map$1((groups) => groups.flat()));
|
|
5366
|
+
}), shareReplay(1));
|
|
5367
|
+
}
|
|
5368
|
+
register(provider) {
|
|
5369
|
+
this.providers.push(provider);
|
|
5370
|
+
this.providers.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
5371
|
+
}
|
|
5372
|
+
search(term) {
|
|
5373
|
+
this.search$.next(term);
|
|
5374
|
+
}
|
|
5375
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5376
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SearchService, providedIn: 'root' }); }
|
|
5377
|
+
}
|
|
5378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SearchService, decorators: [{
|
|
5379
|
+
type: Injectable,
|
|
5380
|
+
args: [{
|
|
5381
|
+
providedIn: 'root'
|
|
5382
|
+
}]
|
|
5383
|
+
}], ctorParameters: () => [] });
|
|
5384
|
+
|
|
5168
5385
|
class ApplicationCtrlrService {
|
|
5169
5386
|
constructor() {
|
|
5170
5387
|
this._selectedNavGroupItemId$ = new BehaviorSubject({});
|
|
5171
5388
|
this._selectedReportId$ = new BehaviorSubject({});
|
|
5389
|
+
this._selectedReportCaption$ = new BehaviorSubject({});
|
|
5172
5390
|
this._selectedNavGroupId$ = new BehaviorSubject({});
|
|
5173
5391
|
this._sidebarToggle$ = new BehaviorSubject(false);
|
|
5174
5392
|
this._selectedAppTileGroup$ = new BehaviorSubject('');
|
|
@@ -5178,9 +5396,13 @@ class ApplicationCtrlrService {
|
|
|
5178
5396
|
this._selectedSystemNavUi$ = new BehaviorSubject(null);
|
|
5179
5397
|
this._selectedCommandId$ = new BehaviorSubject({});
|
|
5180
5398
|
this._isCommandGroupsSelected$ = new BehaviorSubject({});
|
|
5399
|
+
this._searchNavigators$ = new BehaviorSubject({});
|
|
5400
|
+
this._selectedSystemTitle$ = new Subject();
|
|
5181
5401
|
this._isMobile = getDeviceIsMobile();
|
|
5182
5402
|
this._document = inject(DOCUMENT);
|
|
5183
5403
|
this._router = inject(Router);
|
|
5404
|
+
this._searchService = inject(SearchService);
|
|
5405
|
+
this._titleService = inject(Title);
|
|
5184
5406
|
}
|
|
5185
5407
|
get appMenuItems$() {
|
|
5186
5408
|
return this._appMenuItems$.asObservable();
|
|
@@ -5228,12 +5450,21 @@ class ApplicationCtrlrService {
|
|
|
5228
5450
|
get selectedSystemId() {
|
|
5229
5451
|
return this._selectedSystemId$.getValue();
|
|
5230
5452
|
}
|
|
5453
|
+
get searchResults$() {
|
|
5454
|
+
return this._searchService.results$;
|
|
5455
|
+
}
|
|
5456
|
+
get systemCaption$() {
|
|
5457
|
+
return this._selectedSystemTitle$.asObservable();
|
|
5458
|
+
}
|
|
5231
5459
|
getSelectedNavGroupItemId(systemId) {
|
|
5232
5460
|
return this._selectedNavGroupItemId$.getValue()[systemId];
|
|
5233
5461
|
}
|
|
5234
5462
|
getSelectedReportId(systemId) {
|
|
5235
5463
|
return this._selectedReportId$.getValue()[systemId];
|
|
5236
5464
|
}
|
|
5465
|
+
getSelectedReportCaption(systemId) {
|
|
5466
|
+
return this._selectedReportCaption$.getValue()[systemId];
|
|
5467
|
+
}
|
|
5237
5468
|
initialize(callback) {
|
|
5238
5469
|
BarsaApi.Ul.ApplicationCtrlr.on({
|
|
5239
5470
|
'MetaEventTopics.System_BeforeApplicationStart': () => {
|
|
@@ -5245,6 +5476,10 @@ class ApplicationCtrlrService {
|
|
|
5245
5476
|
callback && callback(true);
|
|
5246
5477
|
});
|
|
5247
5478
|
this._document.documentElement.setAttribute('data-layout', 'vertical');
|
|
5479
|
+
this._selectedSystemTitle$
|
|
5480
|
+
.asObservable()
|
|
5481
|
+
.pipe(tap$1((c) => this._titleService.setTitle(c)))
|
|
5482
|
+
.subscribe();
|
|
5248
5483
|
}
|
|
5249
5484
|
systemChange(systemId) {
|
|
5250
5485
|
const systemData = BarsaApi.Ul.ApplicationCtrlr.SystemDict[systemId]?.SystemData;
|
|
@@ -5253,6 +5488,7 @@ class ApplicationCtrlrService {
|
|
|
5253
5488
|
// console.error(`system data for systemid ${systemId} not found.`);
|
|
5254
5489
|
return;
|
|
5255
5490
|
}
|
|
5491
|
+
this._selectedSystemTitle$.next(systemData.Caption);
|
|
5256
5492
|
this._customApplicationMenuBodyUi.fireEvent('SelectedSystemChanged', this._customApplicationMenuBodyUi, systemData);
|
|
5257
5493
|
}
|
|
5258
5494
|
selectAppTileGroup(id) {
|
|
@@ -5275,7 +5511,7 @@ class ApplicationCtrlrService {
|
|
|
5275
5511
|
selectSystemCommand(command) {
|
|
5276
5512
|
this.selectSystemCommandId(command.Key);
|
|
5277
5513
|
new Promise((resolve, _reject) => {
|
|
5278
|
-
this.
|
|
5514
|
+
this._routeToSelectedSystem();
|
|
5279
5515
|
if (command.DynamicCommand) {
|
|
5280
5516
|
BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Key, {}, resolve);
|
|
5281
5517
|
}
|
|
@@ -5317,6 +5553,13 @@ class ApplicationCtrlrService {
|
|
|
5317
5553
|
sidebarToggled(value) {
|
|
5318
5554
|
this._sidebarToggle$.next(value);
|
|
5319
5555
|
}
|
|
5556
|
+
selectReportCaption(caption) {
|
|
5557
|
+
const selectedReportCaption = this._selectedReportCaption$.getValue();
|
|
5558
|
+
const selectedSystemId = this._selectedSystemId$.getValue();
|
|
5559
|
+
const systemId = selectedSystemId;
|
|
5560
|
+
selectedReportCaption[systemId] = caption;
|
|
5561
|
+
this._selectedReportCaption$.next(selectedReportCaption);
|
|
5562
|
+
}
|
|
5320
5563
|
selectedReportId(reportId) {
|
|
5321
5564
|
const selectedReport = this._selectedReportId$.getValue();
|
|
5322
5565
|
const selectedSystemId = this._selectedSystemId$.getValue();
|
|
@@ -5331,6 +5574,64 @@ class ApplicationCtrlrService {
|
|
|
5331
5574
|
reject(err);
|
|
5332
5575
|
});
|
|
5333
5576
|
}
|
|
5577
|
+
loadSearchNavigators() {
|
|
5578
|
+
let canSupport = false;
|
|
5579
|
+
if (BarsaApi.LoginFormData.Version.startsWith('5')) {
|
|
5580
|
+
canSupport = isVersionBiggerThan('5.1.37');
|
|
5581
|
+
}
|
|
5582
|
+
else {
|
|
5583
|
+
canSupport = isVersionBiggerThan('4.1.178');
|
|
5584
|
+
}
|
|
5585
|
+
if (Object.keys(this._searchNavigators$.getValue()).length || canSupport) {
|
|
5586
|
+
return;
|
|
5587
|
+
}
|
|
5588
|
+
BarsaApi.Common.Ajax.GetServerData('System94.Search', { term: '' }, (e) => {
|
|
5589
|
+
this._searchService.register(new MultiAppNavigatorSearchProvider(e));
|
|
5590
|
+
this._searchService.register(new MultiAppCommandSearchProvider(e));
|
|
5591
|
+
}, (e) => console.error(e), null, this);
|
|
5592
|
+
}
|
|
5593
|
+
search(e) {
|
|
5594
|
+
this._searchService.search(e.text);
|
|
5595
|
+
}
|
|
5596
|
+
searchItemClick(data) {
|
|
5597
|
+
if (data.original.IsRoot) {
|
|
5598
|
+
this._routeToSystem(data.appId);
|
|
5599
|
+
}
|
|
5600
|
+
else if (data.source === 'Command') {
|
|
5601
|
+
this.selectSystemCommand(data.original);
|
|
5602
|
+
}
|
|
5603
|
+
else if (data.source === 'Navigator') {
|
|
5604
|
+
if (data.original.ReportId === '0') {
|
|
5605
|
+
this._routeToSystem(data.appId);
|
|
5606
|
+
this.selectNavGroup(data.id, false);
|
|
5607
|
+
}
|
|
5608
|
+
else {
|
|
5609
|
+
this._routeToReport(data.id, data.original.Caption, data.original.ReportId);
|
|
5610
|
+
}
|
|
5611
|
+
}
|
|
5612
|
+
}
|
|
5613
|
+
_routeToSystem(systemId) {
|
|
5614
|
+
this.selectedSystem(systemId);
|
|
5615
|
+
this._routeToSelectedSystem();
|
|
5616
|
+
}
|
|
5617
|
+
getLastActivatedRoute() {
|
|
5618
|
+
let route = this._router.routerState.root;
|
|
5619
|
+
while (route.firstChild) {
|
|
5620
|
+
route = route.firstChild;
|
|
5621
|
+
}
|
|
5622
|
+
return route;
|
|
5623
|
+
}
|
|
5624
|
+
_routeToReport(navGroupId, caption, reportId) {
|
|
5625
|
+
this._router.navigate([
|
|
5626
|
+
'application',
|
|
5627
|
+
this._selectedSystemId$.getValue(),
|
|
5628
|
+
'report',
|
|
5629
|
+
navGroupId + '__' + caption + '__' + reportId
|
|
5630
|
+
]);
|
|
5631
|
+
}
|
|
5632
|
+
_routeToSelectedSystem() {
|
|
5633
|
+
this._router.navigate(['application', this._selectedSystemId$.getValue()]);
|
|
5634
|
+
}
|
|
5334
5635
|
flattenLeafCommands(commands) {
|
|
5335
5636
|
const result = [];
|
|
5336
5637
|
for (const cmd of commands) {
|
|
@@ -5460,11 +5761,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
5460
5761
|
type: Injectable
|
|
5461
5762
|
}] });
|
|
5462
5763
|
|
|
5764
|
+
class ReportBreadcrumbResolver {
|
|
5765
|
+
resolve(route) {
|
|
5766
|
+
const x = this._extractIds(route.params);
|
|
5767
|
+
// برگرداندن شیء مورد نظر شما
|
|
5768
|
+
return x.ReportId2;
|
|
5769
|
+
}
|
|
5770
|
+
_extractIds(params) {
|
|
5771
|
+
return {
|
|
5772
|
+
Id: params.id.split('__')[0],
|
|
5773
|
+
ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
|
|
5774
|
+
ReportId2: params.id.split('__').length > 1 ? params.id.split('__')[1] : '',
|
|
5775
|
+
isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
|
|
5776
|
+
};
|
|
5777
|
+
}
|
|
5778
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportBreadcrumbResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5779
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportBreadcrumbResolver, providedIn: 'root' }); }
|
|
5780
|
+
}
|
|
5781
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportBreadcrumbResolver, decorators: [{
|
|
5782
|
+
type: Injectable,
|
|
5783
|
+
args: [{ providedIn: 'root' }]
|
|
5784
|
+
}] });
|
|
5785
|
+
|
|
5463
5786
|
function reportRoutes(authGuard = false) {
|
|
5464
5787
|
return {
|
|
5465
5788
|
path: 'report/:id',
|
|
5466
5789
|
canActivate: authGuard ? [AuthGuard] : [],
|
|
5467
|
-
loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-
|
|
5790
|
+
loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-52O0tR5U.mjs').then((m) => m.BarsaReportPageModule),
|
|
5791
|
+
resolve: {
|
|
5792
|
+
breadcrumb: ReportBreadcrumbResolver
|
|
5793
|
+
}
|
|
5468
5794
|
};
|
|
5469
5795
|
}
|
|
5470
5796
|
|
|
@@ -5704,6 +6030,7 @@ class PortalService {
|
|
|
5704
6030
|
const _ismobile = getDeviceIsMobile();
|
|
5705
6031
|
if (_ismobile) {
|
|
5706
6032
|
BarsaApi.Bw.IsMobile = true;
|
|
6033
|
+
this._document.body.classList.add('mobile');
|
|
5707
6034
|
}
|
|
5708
6035
|
const _isTablet = getDeviceIsTablet();
|
|
5709
6036
|
let _windoWSize = 's';
|
|
@@ -6561,7 +6888,10 @@ class UlvMainService {
|
|
|
6561
6888
|
...wfBtns,
|
|
6562
6889
|
...c.map((d) => ({
|
|
6563
6890
|
...d,
|
|
6564
|
-
hideText: d.Command?.IsBuiltin &&
|
|
6891
|
+
hideText: d.Command?.IsBuiltin &&
|
|
6892
|
+
(d.itemId === 'New' || d.itemId === 'AddToList' || d.itemId === 'RemoveFromList')
|
|
6893
|
+
? false
|
|
6894
|
+
: true
|
|
6565
6895
|
}))
|
|
6566
6896
|
]), map((c) => !c ? [] : [...c.filter((d) => !d.Command?.IsBuiltin), ...c.filter((d) => d.Command?.IsBuiltin)]), map((c) => c.reduce((acc, b) => (acc.length > 0 && acc[acc.length - 1]['0'] && b['0'] ? acc : [...acc, b]), [])));
|
|
6567
6897
|
this.destroy$ = this._destroySource.asObservable().pipe(tap(() => this._unscubscribeContext()));
|
|
@@ -6573,7 +6903,7 @@ class UlvMainService {
|
|
|
6573
6903
|
this.onlyInlineEdit$ = this._onlyInlineEditSource.asObservable();
|
|
6574
6904
|
this.openSearchFilesManage$ = this._openSearchFilesManageSource.asObservable();
|
|
6575
6905
|
this.searchPanelMoChanged$ = this._searchPanelMoChangedSource.asObservable().pipe(distinctUntilChanged());
|
|
6576
|
-
this.layoutInfo$ = this._layoutInfoSource.asObservable().pipe(shareReplay(1));
|
|
6906
|
+
this.layoutInfo$ = this._layoutInfoSource.asObservable().pipe(shareReplay$1(1));
|
|
6577
6907
|
this.allSearchPanelSettings$ = combineLatest([
|
|
6578
6908
|
this._allSearchPanelSettingsSource.asObservable(),
|
|
6579
6909
|
this._defaultSearchPanelSettingsSource.asObservable()
|
|
@@ -6583,14 +6913,14 @@ class UlvMainService {
|
|
|
6583
6913
|
allSettings = [defaultSettings, ...allSettings];
|
|
6584
6914
|
}
|
|
6585
6915
|
return allSettings;
|
|
6586
|
-
}), delay(0), shareReplay(1));
|
|
6916
|
+
}), delay(0), shareReplay$1(1));
|
|
6587
6917
|
this.selectedSearchPanelSettingsId$ = this._selectedSearchPanelSettingsIdSource
|
|
6588
6918
|
.asObservable()
|
|
6589
6919
|
.pipe(distinctUntilChanged());
|
|
6590
6920
|
this.selectedSearchPanelSettings$ = combineLatest([
|
|
6591
6921
|
this.selectedSearchPanelSettingsId$,
|
|
6592
6922
|
this.allSearchPanelSettings$
|
|
6593
|
-
]).pipe(map(([id, settings]) => settings?.find((c) => c.Id === id)), shareReplay(1));
|
|
6923
|
+
]).pipe(map(([id, settings]) => settings?.find((c) => c.Id === id)), shareReplay$1(1));
|
|
6594
6924
|
}
|
|
6595
6925
|
get hideViewerLoading$() {
|
|
6596
6926
|
return this._hideViewerLoadingSource.asObservable();
|
|
@@ -6951,7 +7281,7 @@ class UlvMainService {
|
|
|
6951
7281
|
}
|
|
6952
7282
|
loadMetaConditionsControlInfos(typeDefId, fieldDbNames) {
|
|
6953
7283
|
const mo = GetDefaultMoObjectInfo(typeDefId);
|
|
6954
|
-
return of(this._controlInfosMetaobject).pipe(switchMap((controlsInfo) => {
|
|
7284
|
+
return of(this._controlInfosMetaobject).pipe(switchMap$1((controlsInfo) => {
|
|
6955
7285
|
if (controlsInfo.length > 0) {
|
|
6956
7286
|
return of(controlsInfo);
|
|
6957
7287
|
}
|
|
@@ -8220,6 +8550,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
8220
8550
|
|
|
8221
8551
|
class PushNotificationService {
|
|
8222
8552
|
constructor() {
|
|
8553
|
+
this.BANNER_DISMISS_KEY = 'push_banner_dismissed_until';
|
|
8223
8554
|
this.swPush = inject(SwPush);
|
|
8224
8555
|
this.http = inject(HttpClient);
|
|
8225
8556
|
this.idb = inject(IdbService);
|
|
@@ -8228,7 +8559,7 @@ class PushNotificationService {
|
|
|
8228
8559
|
this._push = signal({
|
|
8229
8560
|
bannerVisible: false,
|
|
8230
8561
|
isSubscribed: false,
|
|
8231
|
-
permission:
|
|
8562
|
+
permission: checkPermission(),
|
|
8232
8563
|
errorMessage: null
|
|
8233
8564
|
});
|
|
8234
8565
|
this.registerServiceWorkerMessageListener = () => {
|
|
@@ -8254,6 +8585,9 @@ class PushNotificationService {
|
|
|
8254
8585
|
return this._push.asReadonly();
|
|
8255
8586
|
}
|
|
8256
8587
|
hideBanner() {
|
|
8588
|
+
// ۲. ذخیره زمان فعلی + ۲۴ ساعت (یا هر بازه مد نظر) در LocalStorage
|
|
8589
|
+
const tomorrow = Date.now() + 24 * 60 * 60 * 1000;
|
|
8590
|
+
this.local.setItem(this.BANNER_DISMISS_KEY, tomorrow.toString());
|
|
8257
8591
|
this.update({ bannerVisible: false });
|
|
8258
8592
|
}
|
|
8259
8593
|
async setup() {
|
|
@@ -8263,7 +8597,7 @@ class PushNotificationService {
|
|
|
8263
8597
|
this.swPush.subscription.subscribe((sub) => {
|
|
8264
8598
|
this.update({
|
|
8265
8599
|
isSubscribed: !!sub,
|
|
8266
|
-
permission:
|
|
8600
|
+
permission: checkPermission()
|
|
8267
8601
|
});
|
|
8268
8602
|
if (sub) {
|
|
8269
8603
|
const json = sub.toJSON?.() ?? sub;
|
|
@@ -8289,7 +8623,7 @@ class PushNotificationService {
|
|
|
8289
8623
|
await this.idb.set('subscription', 'push-subscription', sub.toJSON());
|
|
8290
8624
|
this.update({
|
|
8291
8625
|
isSubscribed: true,
|
|
8292
|
-
permission:
|
|
8626
|
+
permission: checkPermission(),
|
|
8293
8627
|
bannerVisible: false,
|
|
8294
8628
|
errorMessage: null
|
|
8295
8629
|
});
|
|
@@ -8329,7 +8663,7 @@ class PushNotificationService {
|
|
|
8329
8663
|
}
|
|
8330
8664
|
this.update({
|
|
8331
8665
|
isSubscribed: true,
|
|
8332
|
-
permission:
|
|
8666
|
+
permission: checkPermission(),
|
|
8333
8667
|
errorMessage: null
|
|
8334
8668
|
});
|
|
8335
8669
|
}
|
|
@@ -8344,30 +8678,34 @@ class PushNotificationService {
|
|
|
8344
8678
|
}
|
|
8345
8679
|
async initPushBanner() {
|
|
8346
8680
|
let saved = await this.loadSubscription();
|
|
8347
|
-
const perm =
|
|
8348
|
-
|
|
8349
|
-
|
|
8350
|
-
});
|
|
8681
|
+
const perm = checkPermission();
|
|
8682
|
+
// ۳. بررسی امن بودن پروتکل (HTTPS یا Localhost)
|
|
8683
|
+
const isSecureContext = window.isSecureContext;
|
|
8684
|
+
this.update({ permission: perm });
|
|
8351
8685
|
if (saved) {
|
|
8352
|
-
// اگر پرمیشن اکنون revoked یا default شد، subscription قبلی را حذف کن
|
|
8353
8686
|
if (perm === 'default' || perm === 'denied') {
|
|
8354
|
-
console.log('Permission reset detected, removing old subscription');
|
|
8355
8687
|
await this.deleteSubscription();
|
|
8356
8688
|
saved = null;
|
|
8357
8689
|
}
|
|
8358
8690
|
}
|
|
8359
8691
|
if (saved) {
|
|
8360
|
-
this.update({
|
|
8361
|
-
isSubscribed: true,
|
|
8362
|
-
bannerVisible: false
|
|
8363
|
-
});
|
|
8692
|
+
this.update({ isSubscribed: true, bannerVisible: false });
|
|
8364
8693
|
}
|
|
8365
8694
|
else {
|
|
8695
|
+
// ۴. منطق جدید برای نمایش بنر
|
|
8696
|
+
const dismissUntil = Number(this.local.getItem(this.BANNER_DISMISS_KEY) || 0);
|
|
8697
|
+
const isWaitPeriodOver = Date.now() > dismissUntil;
|
|
8698
|
+
const shouldShow = isSecureContext && // حتما HTTPS باشد
|
|
8699
|
+
perm !== 'denied' && // قبلا بلاک نکرده باشد
|
|
8700
|
+
perm !== 'granted' && // قبلا اکسپت نکرده باشد (اگر saved نال بود)
|
|
8701
|
+
isWaitPeriodOver && // زمان انتظار تمام شده باشد
|
|
8702
|
+
'PushManager' in window; // مرورگر پشتیبانی کند
|
|
8366
8703
|
this.update({
|
|
8367
8704
|
isSubscribed: false,
|
|
8368
|
-
bannerVisible:
|
|
8705
|
+
bannerVisible: shouldShow
|
|
8369
8706
|
});
|
|
8370
8707
|
}
|
|
8708
|
+
// بقیه کدها...
|
|
8371
8709
|
this.registerServiceWorkerMessageListener();
|
|
8372
8710
|
const publicKey = await this.loadPublicKey();
|
|
8373
8711
|
if (publicKey) {
|
|
@@ -11133,7 +11471,8 @@ class FormPageBaseComponent extends ContainerComponent {
|
|
|
11133
11471
|
onFormClose() {
|
|
11134
11472
|
if (this._activatedRoute.snapshot.params.isFirst &&
|
|
11135
11473
|
this._activatedRoute.parent?.parent?.routeConfig?.path === 'form') {
|
|
11136
|
-
|
|
11474
|
+
let parentUrl = this._router.url.split('/form/')[0];
|
|
11475
|
+
parentUrl = fixUnclosedParentheses(parentUrl);
|
|
11137
11476
|
this._router.navigateByUrl(parentUrl, {
|
|
11138
11477
|
replaceUrl: true
|
|
11139
11478
|
});
|
|
@@ -11340,9 +11679,6 @@ class FormComponent extends BaseComponent {
|
|
|
11340
11679
|
componentInstance.forceClose$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {
|
|
11341
11680
|
this.formClose.emit();
|
|
11342
11681
|
});
|
|
11343
|
-
componentInstance.forceClose$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {
|
|
11344
|
-
this.formClose.emit();
|
|
11345
|
-
});
|
|
11346
11682
|
// this.formPanelCtrl.on('ValueChange', () => this.moChanged.emit(this.formPanelCtrl.Mo));
|
|
11347
11683
|
// component.instance.addEventListener('formClose', this.close);
|
|
11348
11684
|
// el.appendChild(htmlElement);
|
|
@@ -11673,7 +12009,7 @@ class FormFieldReportPageComponent extends BaseComponent {
|
|
|
11673
12009
|
.pipe(takeUntil(this._onDestroy$), tap(() => this._setLoading(true)), map((params) => ({
|
|
11674
12010
|
Id: 0,
|
|
11675
12011
|
ReportId: params.id
|
|
11676
|
-
})), switchMap((navItem) => this._portalService.renderUlvMainUi(navItem, this.containerRef, this._injector, true)))
|
|
12012
|
+
})), switchMap$1((navItem) => this._portalService.renderUlvMainUi(navItem, this.containerRef, this._injector, true)))
|
|
11677
12013
|
.subscribe(() => {
|
|
11678
12014
|
this._setLoading(false);
|
|
11679
12015
|
});
|
|
@@ -11792,14 +12128,12 @@ class MasterDetailsPageComponent extends PageWithFormHandlerBaseComponent {
|
|
|
11792
12128
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MasterDetailsPageComponent, isStandalone: false, selector: "bnrc-master-details-page", host: { properties: { "style.position": "this._position", "class.section": "this.sectionClass", "class.absolute-page": "this.absolutePageClass", "class.modal": "this.ismodal" } }, providers: [RoutingService, ContainerService], usesInheritance: true, ngImport: i0, template: `
|
|
11793
12129
|
<div class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row">
|
|
11794
12130
|
<!-- لیست -->
|
|
11795
|
-
<div
|
|
11796
|
-
class="tw-w-full md:tw-w-96"
|
|
11797
|
-
>
|
|
12131
|
+
<div class="tw-w-full md:tw-w-96 master">
|
|
11798
12132
|
<ng-container #containerRef></ng-container>
|
|
11799
12133
|
</div>
|
|
11800
12134
|
|
|
11801
12135
|
<!-- جزئیات -->
|
|
11802
|
-
<div class="tw-w-full md:tw-flex-1 tw-overflow-hidden">
|
|
12136
|
+
<div class="tw-w-full md:tw-flex-1 tw-overflow-hidden details">
|
|
11803
12137
|
<router-outlet name="details"></router-outlet>
|
|
11804
12138
|
</div>
|
|
11805
12139
|
</div>
|
|
@@ -11812,14 +12146,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
11812
12146
|
args: [{ selector: 'bnrc-master-details-page', template: `
|
|
11813
12147
|
<div class="tw-flex tw-h-full tw-w-full tw-flex-col md:tw-flex-row">
|
|
11814
12148
|
<!-- لیست -->
|
|
11815
|
-
<div
|
|
11816
|
-
class="tw-w-full md:tw-w-96"
|
|
11817
|
-
>
|
|
12149
|
+
<div class="tw-w-full md:tw-w-96 master">
|
|
11818
12150
|
<ng-container #containerRef></ng-container>
|
|
11819
12151
|
</div>
|
|
11820
12152
|
|
|
11821
12153
|
<!-- جزئیات -->
|
|
11822
|
-
<div class="tw-w-full md:tw-flex-1 tw-overflow-hidden">
|
|
12154
|
+
<div class="tw-w-full md:tw-flex-1 tw-overflow-hidden details">
|
|
11823
12155
|
<router-outlet name="details"></router-outlet>
|
|
11824
12156
|
</div>
|
|
11825
12157
|
</div>
|
|
@@ -15916,7 +16248,7 @@ class LeafletLongPressDirective {
|
|
|
15916
16248
|
const mouseup$ = merge(fromEvent(container, 'mouseup'), fromEvent(container, 'touchend'));
|
|
15917
16249
|
const move$ = merge(fromEvent(container, 'mousemove'), fromEvent(container, 'touchmove'));
|
|
15918
16250
|
const cancelInteraction$ = merge(fromEvent(this.map, 'dragstart'), fromEvent(this.map, 'zoomstart'), fromEvent(this.map, 'movestart'));
|
|
15919
|
-
const longPress$ = mousedown$.pipe(switchMap((startEvent) => timer(this.longPressDuration).pipe(takeUntil(merge(mouseup$, move$, cancelInteraction$)), map(() => startEvent))), filter((e) => !!e));
|
|
16251
|
+
const longPress$ = mousedown$.pipe(switchMap$1((startEvent) => timer(this.longPressDuration).pipe(takeUntil(merge(mouseup$, move$, cancelInteraction$)), map(() => startEvent))), filter((e) => !!e));
|
|
15920
16252
|
this.sub.add(longPress$.subscribe((startEvent) => {
|
|
15921
16253
|
const originalEvent = startEvent instanceof MouseEvent ? startEvent : startEvent.touches?.[0] || startEvent;
|
|
15922
16254
|
const latlng = this.map.mouseEventToLatLng(originalEvent);
|
|
@@ -16206,6 +16538,7 @@ class FormNewComponent extends BaseComponent {
|
|
|
16206
16538
|
super(...arguments);
|
|
16207
16539
|
this._router = inject(Router);
|
|
16208
16540
|
this._activatedRoute = inject(ActivatedRoute);
|
|
16541
|
+
this._back$ = new Subject();
|
|
16209
16542
|
}
|
|
16210
16543
|
ngOnInit() {
|
|
16211
16544
|
super.ngOnInit();
|
|
@@ -16213,9 +16546,20 @@ class FormNewComponent extends BaseComponent {
|
|
|
16213
16546
|
const typeDefId = this.settings?.MetaTypeDef?.Id;
|
|
16214
16547
|
const viewId = this.settings?.MetaView?.Id;
|
|
16215
16548
|
this.params = { moId, typeDefId, viewId };
|
|
16549
|
+
this._back$
|
|
16550
|
+
.asObservable()
|
|
16551
|
+
.pipe(debounceTime$1(100))
|
|
16552
|
+
.subscribe(() => this._navigateBack());
|
|
16216
16553
|
}
|
|
16217
16554
|
onFormClose() {
|
|
16218
|
-
this.
|
|
16555
|
+
this._back$.next();
|
|
16556
|
+
}
|
|
16557
|
+
_navigateBack() {
|
|
16558
|
+
const pathPattern = this._activatedRoute.snapshot.routeConfig?.path || '';
|
|
16559
|
+
const segmentsCount = pathPattern.split('/').filter((segment) => segment.length > 0).length;
|
|
16560
|
+
const backSteps = '../'.repeat(segmentsCount);
|
|
16561
|
+
// const path = this._activatedRoute.snapshot.routeConfig?.path;
|
|
16562
|
+
this._router.navigate([backSteps], {
|
|
16219
16563
|
relativeTo: this._activatedRoute,
|
|
16220
16564
|
replaceUrl: true
|
|
16221
16565
|
});
|
|
@@ -16546,18 +16890,14 @@ class ReportNavigatorComponent extends BaseComponent {
|
|
|
16546
16890
|
this._applicationCtrlService = inject(ApplicationCtrlrService);
|
|
16547
16891
|
this._injector = inject(Injector);
|
|
16548
16892
|
this._cdr = inject(ChangeDetectorRef);
|
|
16893
|
+
this._bbb = inject(BbbTranslatePipe);
|
|
16549
16894
|
this._loadingSource = new BehaviorSubject(false);
|
|
16550
16895
|
this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(200));
|
|
16551
16896
|
}
|
|
16552
16897
|
ngOnInit() {
|
|
16553
16898
|
super.ngOnInit();
|
|
16554
16899
|
this._activatedRoute.params
|
|
16555
|
-
.pipe(takeUntil(this._onDestroy$), tap(() => this._setLoading(true)), map((params) => (
|
|
16556
|
-
Id: params.id.split('__')[0],
|
|
16557
|
-
ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
|
|
16558
|
-
ReportId2: params.id.split('__').length > 1 ? params.id.split('__')[1] : '',
|
|
16559
|
-
isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
|
|
16560
|
-
})), tap((c) => (c.isReportPage ? (this.minheight = 'auto') : '100vh')), tap((c) => (c.ReportId = !c.ReportId ? c.ReportId2 : c.ReportId)), tap((_c) => this.containerRef.clear()), tap((navItem) => this._applicationCtrlService.selectNavGroupItem(navItem.Id)), tap((navItem) => this._applicationCtrlService.selectedReportId(navItem.ReportId || navItem.ReportId2)), switchMap((navItem) => this._portalService
|
|
16900
|
+
.pipe(takeUntil(this._onDestroy$), tap(() => this._setLoading(true)), map((params) => this._extractIds(params)), tap((c) => (c.isReportPage ? (this.minheight = 'auto') : '100vh')), tap((c) => (c.ReportId = !c.ReportId ? c.ReportId2 : c.ReportId)), tap((_c) => this.containerRef.clear()), tap((navItem) => this._applicationCtrlService.selectNavGroupItem(navItem.Id)), tap((navItem) => this._applicationCtrlService.selectedReportId(navItem.ReportId)), tap((navItem) => this._applicationCtrlService.selectReportCaption(navItem.ReportId2)), switchMap$1((navItem) => this._portalService
|
|
16561
16901
|
.renderUlvMainUi(navItem, this.containerRef, this._injector, navItem.isReportPage ? false : true)
|
|
16562
16902
|
.pipe(catchError((_err) =>
|
|
16563
16903
|
// this._location.back();
|
|
@@ -16574,6 +16914,14 @@ class ReportNavigatorComponent extends BaseComponent {
|
|
|
16574
16914
|
// this._applicationCtrlService.selectNavGroupItem('');
|
|
16575
16915
|
this._setActiveReport(null);
|
|
16576
16916
|
}
|
|
16917
|
+
_extractIds(params) {
|
|
16918
|
+
return {
|
|
16919
|
+
Id: params.id.split('__')[0],
|
|
16920
|
+
ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
|
|
16921
|
+
ReportId2: params.id.split('__').length > 1 ? params.id.split('__')[1] : '',
|
|
16922
|
+
isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
|
|
16923
|
+
};
|
|
16924
|
+
}
|
|
16577
16925
|
_setLoading(val) {
|
|
16578
16926
|
this._loadingSource.next(val);
|
|
16579
16927
|
this._cdr.detectChanges();
|
|
@@ -16796,7 +17144,7 @@ class ResizableDirective {
|
|
|
16796
17144
|
this.resizableComplete = new EventEmitter();
|
|
16797
17145
|
this.documentRef = inject(DOCUMENT);
|
|
16798
17146
|
this.elementRef = inject(ElementRef);
|
|
16799
|
-
this.resizable = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(tap((e) => e.preventDefault()), switchMap(() => {
|
|
17147
|
+
this.resizable = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(tap((e) => e.preventDefault()), switchMap$1(() => {
|
|
16800
17148
|
const elDom = this.elementRef.nativeElement;
|
|
16801
17149
|
const { width, right, left } = elDom.closest('th').getBoundingClientRect();
|
|
16802
17150
|
return fromEvent(this.documentRef, 'mousemove').pipe(map(({ clientX }) => (this.rtl ? width + left - clientX : width + clientX - right)), distinctUntilChanged(), takeUntil(fromEvent(this.documentRef, 'mouseup').pipe(tap((_c) => this.resizableComplete.emit()))));
|
|
@@ -17810,5 +18158,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
17810
18158
|
* Generated bundle index. Do not edit.
|
|
17811
18159
|
*/
|
|
17812
18160
|
|
|
17813
|
-
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, CardBaseItemContentPropsComponent, CardDynamicItemComponent, CardMediaSizePipe, CardViewService, ChangeLayoutInfoCustomUi, ChunkArrayPipe, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueDirective, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStrategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicDarkColorPipe, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicRootVariableDirective, DynamicStyleDirective, DynamicTileGroupComponent, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetAllHorizontalFromLayout94, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, HorizontalResponsiveDirective, IconControlInfoModel, IdbService, ImageLazyDirective, ImageMimeType, ImagetoPrint, InMemoryStorageService, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsDarkMode, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelStarTrimPipe, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LeafletLongPressDirective, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, LoginSettingsResolver, MapToChatMessagePipe, MasterDetailsPageComponent, MeasureFormTitleWidthDirective, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoForReportModelBase, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, OverflowTextDirective, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, PushBannerComponent, PushCheckService, PushNotificationService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveDynamicFormStyles, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportEmptyPageComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportNavigatorComponent, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeHandlerDirective, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RotateImage, 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 };
|
|
18161
|
+
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, CardBaseItemContentPropsComponent, CardDynamicItemComponent, CardMediaSizePipe, CardViewService, ChangeLayoutInfoCustomUi, ChunkArrayPipe, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueDirective, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStrategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicDarkColorPipe, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicRootVariableDirective, DynamicStyleDirective, DynamicTileGroupComponent, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetAllHorizontalFromLayout94, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, HorizontalResponsiveDirective, IconControlInfoModel, IdbService, ImageLazyDirective, ImageMimeType, ImagetoPrint, InMemoryStorageService, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsDarkMode, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelStarTrimPipe, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LeafletLongPressDirective, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, LoginSettingsResolver, MapToChatMessagePipe, MasterDetailsPageComponent, MeasureFormTitleWidthDirective, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoForReportModelBase, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, OverflowTextDirective, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, PushBannerComponent, PushCheckService, PushNotificationService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveDynamicFormStyles, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportBreadcrumbResolver, ReportCalendarModel, ReportContainerComponent, ReportEmptyPageComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportNavigatorComponent, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ResizeHandlerDirective, ResizeObserverDirective, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RotateImage, 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, checkPermission, compareVersions, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, fixUnclosedParentheses, 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, isVersionBiggerThan, measureText, measureText2, measureTextBy, mobile_regex, nullOrUndefinedString, number_only, requestAnimationFramePolyfill, scrollToElement, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber, validateAllFormFields };
|
|
17814
18162
|
//# sourceMappingURL=barsa-novin-ray-core.mjs.map
|