barsa-novin-ray-core 2.3.104 → 2.3.107

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.
@@ -10,7 +10,10 @@ const routes = [
10
10
  {
11
11
  path: '',
12
12
  component: ReportEmptyPageComponent,
13
- children: [formRoutes()]
13
+ children: [formRoutes()],
14
+ data: {
15
+ hideBreadCrumb: true
16
+ }
14
17
  }
15
18
  ];
16
19
  class BarsaReportPageRoutingModule {
@@ -52,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
52
55
  }], ctorParameters: () => [] });
53
56
 
54
57
  export { BarsaReportPageModule };
55
- //# sourceMappingURL=barsa-novin-ray-core-barsa-report-page.module-Bml7rVqA.mjs.map
58
+ //# sourceMappingURL=barsa-novin-ray-core-barsa-report-page.module-52O0tR5U.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barsa-novin-ray-core-barsa-report-page.module-52O0tR5U.mjs","sources":["../../../projects/barsa-novin-ray-core/src/lib/report-page-routing/barsa-report-page-routing.module.ts","../../../projects/barsa-novin-ray-core/src/lib/report-page-routing/barsa-report-page.module.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router'; // CLI imports router\r\nimport { formRoutes } from '../form-page-routing';\r\nimport { ReportEmptyPageComponent } from '../report-empty-page/report-empty-page.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ReportEmptyPageComponent,\r\n children: [formRoutes()],\r\n data: {\r\n hideBreadCrumb: true\r\n }\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class BarsaReportPageRoutingModule {}\r\n","import { ComponentFactoryResolver, CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA, inject } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseModule } from '../base.module';\r\nimport { DynamicComponentService } from '../services';\r\nimport { BarsaReportPageRoutingModule } from './barsa-report-page-routing.module';\r\n\r\nconst components = [];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, BarsaReportPageRoutingModule],\r\n declarations: [...components],\r\n exports: [...components],\r\n schemas: [NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class BarsaReportPageModule extends BaseModule {\r\n protected dcm: DynamicComponentService;\r\n protected cfr: ComponentFactoryResolver;\r\n\r\n protected dynamicComponents = [...components];\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n constructor() {\r\n const dcm = inject(DynamicComponentService);\r\n const cfr = inject(ComponentFactoryResolver);\r\n\r\n super(dcm, cfr, 'BarsaReportPageModule');\r\n \r\n this.dcm = dcm;\r\n this.cfr = cfr;\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;AAKA,MAAM,MAAM,GAAW;AACnB,IAAA;AACI,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC;AACxB,QAAA,IAAI,EAAE;AACF,YAAA,cAAc,EAAE;AACnB;AACJ;CACJ;MAMY,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,wCAF3B,YAAY,CAAA,EAAA,CAAA,CAAA;+GAEb,4BAA4B,EAAA,OAAA,EAAA,CAH3B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAEb,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY;AACzB,iBAAA;;;ACZD,MAAM,UAAU,GAAG,EAAE;AAQf,MAAO,qBAAsB,SAAQ,UAAU,CAAA;;AAQjD,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC3C,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAE5C,QAAA,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC;AARlC,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;AAUzC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;;8GAfT,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EALpB,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAKxD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EALpB,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,4BAA4B,CAAA,EAAA,CAAA,CAAA;;2FAKxD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,4BAA4B,CAAC;AAClE,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,sBAAsB;AACrD,iBAAA;;;;;"}
@@ -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, fromEvent, forkJoin, throwError, merge, interval, filter as filter$1, lastValueFrom, timeout, catchError as catchError$1, takeUntil as takeUntil$1, take, debounceTime as debounceTime$1, skip, Observable, tap as tap$1, timer, mergeWith, Subscription } from 'rxjs';
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);
@@ -4222,39 +4271,60 @@ class BreadcrumbService {
4222
4271
  .subscribe((root) => {
4223
4272
  // Construct the breadcrumb hierarchy
4224
4273
  // const root = this.router.routerState.snapshot.root;
4225
- const breadcrumbs = [];
4226
- this.addBreadcrumb(root, breadcrumbs);
4274
+ this.ReBuild(root);
4227
4275
  // Emit the new hierarchy
4228
- this._breadcrumbs$.next(breadcrumbs);
4229
4276
  });
4230
4277
  }
4231
- addBreadcrumb(route, breadcrumbs) {
4278
+ ReBuild(route) {
4279
+ const breadcrumbs = [];
4280
+ this.addBreadcrumb('', route, breadcrumbs);
4281
+ this._breadcrumbs$.next(breadcrumbs);
4282
+ }
4283
+ addBreadcrumb(lastPathWidthoutUrl, route, breadcrumbs) {
4232
4284
  if (route) {
4233
4285
  // Add an element for the current route part
4234
- if (route.snapshot.data?.breadcrumb || route.snapshot.data?.pageData?.BreadCrumb) {
4286
+ if (route.snapshot.data?.hideBreadCrumb !== true &&
4287
+ (route.snapshot.data?.breadcrumb ||
4288
+ (typeof route.snapshot.data?.pageData?.BreadCrumb !== 'undefined' && route.snapshot.url.length))) {
4235
4289
  let url = '';
4236
- const routeURL = route.snapshot.url
4237
- .map((segment) => `${segment.path}${segment.parameters
4238
- ? `;${Object.keys(segment.parameters).map((c) => `${c}=${segment.parameters[c]}`)}`
4290
+ let routeURL = route.snapshot.url
4291
+ .map((segment) => `${segment.path}${Object.keys(segment.parameters).length
4292
+ ? ';' +
4293
+ Object.keys(segment.parameters)
4294
+ .map((c) => `${c}=${segment.parameters[c]}`)
4295
+ .join(';')
4239
4296
  : ''}`)
4240
4297
  .join('/');
4298
+ if (route.snapshot.routeConfig?.outlet) {
4299
+ routeURL = `${lastPathWidthoutUrl}(${route.snapshot.routeConfig?.outlet}:${routeURL} ${!route.firstChild ? ')' : ''}`;
4300
+ }
4241
4301
  if (routeURL !== '') {
4242
4302
  url += `/${routeURL}`;
4243
4303
  }
4304
+ const params2 = routeURL !== ''
4305
+ ? ''
4306
+ : Object.keys(route.snapshot.params).map((c) => '/' + route.snapshot.params[c]);
4307
+ const label = this.getLabel(route.snapshot.data);
4244
4308
  const breadcrumb = {
4245
- label: this.getLabel(route.snapshot.data),
4246
- url,
4309
+ label,
4310
+ url: url + params2,
4247
4311
  route
4248
4312
  };
4249
4313
  breadcrumbs.push(breadcrumb);
4314
+ lastPathWidthoutUrl = '';
4315
+ }
4316
+ else if (route.snapshot.url.length && route.snapshot.routeConfig?.path) {
4317
+ lastPathWidthoutUrl = !lastPathWidthoutUrl
4318
+ ? `${route.snapshot.routeConfig?.path}/`
4319
+ : `${lastPathWidthoutUrl}${route.snapshot.routeConfig?.path}/`;
4250
4320
  }
4251
4321
  // Add another element for the next route part
4252
- this.addBreadcrumb(route.firstChild, breadcrumbs);
4322
+ this.addBreadcrumb(lastPathWidthoutUrl, route.firstChild, breadcrumbs);
4253
4323
  }
4254
4324
  }
4255
4325
  getLabel(data) {
4256
4326
  // 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.pageData.BreadCrumb;
4327
+ const breadcrumb = data.breadcrumb || BarsaApi.Common.Util.TryGetValue(data, 'pageData.BreadCrumb', '');
4258
4328
  return typeof breadcrumb === 'function' ? data.breadcrumb(data) : breadcrumb;
4259
4329
  }
4260
4330
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -5165,10 +5235,137 @@ function formRoutes(authGuard = false) {
5165
5235
  };
5166
5236
  }
5167
5237
 
5238
+ class MultiAppCommandSearchProvider {
5239
+ constructor(apps) {
5240
+ this.apps = apps;
5241
+ this.key = 'command';
5242
+ this.priority = 5;
5243
+ }
5244
+ search(term) {
5245
+ return of(!this.apps ? [] : Object.values(this.apps).flatMap((app) => searchCommandsInApp(app, term)));
5246
+ }
5247
+ }
5248
+ function searchCommandsInApp(app, keyword) {
5249
+ const results = [];
5250
+ const term = keyword.toLowerCase();
5251
+ const groups = app?.ExtraData?.CommandGroups || [];
5252
+ const appTitle = app.ExtraData?.Navigator?.Root?.Caption;
5253
+ for (const group of groups) {
5254
+ for (const command of group.Commands || []) {
5255
+ if (command.Caption && command.Caption.toLowerCase().includes(term)) {
5256
+ results.push({
5257
+ appId: app.Id,
5258
+ appTitle,
5259
+ source: 'Command',
5260
+ id: command.Name || command.Key,
5261
+ caption: command.Caption,
5262
+ path: `${group.Caption || group.Name}`,
5263
+ original: command,
5264
+ hidden: false,
5265
+ depth: 0
5266
+ });
5267
+ }
5268
+ for (const menu of command.Menu || []) {
5269
+ if (menu.Caption && menu.Caption.toLowerCase().includes(term)) {
5270
+ results.push({
5271
+ appId: app.Id,
5272
+ appTitle,
5273
+ source: 'Command',
5274
+ id: menu.CommandId,
5275
+ caption: menu.Caption,
5276
+ path: `${group.Caption || group.Name} > ${command.Caption}`,
5277
+ original: menu,
5278
+ hidden: false,
5279
+ depth: 0
5280
+ });
5281
+ }
5282
+ }
5283
+ }
5284
+ }
5285
+ return results;
5286
+ }
5287
+
5288
+ class MultiAppNavigatorSearchProvider {
5289
+ constructor(apps) {
5290
+ this.apps = apps;
5291
+ this.key = 'navigator';
5292
+ this.priority = 10;
5293
+ }
5294
+ search(term) {
5295
+ return of(!this.apps ? [] : Object.values(this.apps).flatMap((app) => searchNavigatorInApp(app, term)));
5296
+ }
5297
+ }
5298
+ function searchNavigatorInApp(app, keyword) {
5299
+ const results = [];
5300
+ const root = app?.ExtraData?.Navigator?.Root;
5301
+ if (!root) {
5302
+ return results;
5303
+ }
5304
+ function walk(node, path, depth = 0) {
5305
+ const currentPath = path ? `${path} > ${node.Caption || node.Name}` : node.Caption || node.Name || '';
5306
+ if (node.Caption && node.Caption.toLowerCase().includes(keyword.toLowerCase())) {
5307
+ let url = '';
5308
+ if (!node.IsRoot && node.ReportId && node.ReportId !== '0') {
5309
+ url = `#/application/${app.Id}/report/${node.FolderId}__${node.Caption}__${node.ReportId}`;
5310
+ }
5311
+ else if (node.IsRoot) {
5312
+ url = `#/application/${app.Id}`;
5313
+ }
5314
+ results.push({
5315
+ appId: app.Id,
5316
+ appTitle: root.Caption,
5317
+ source: 'Navigator',
5318
+ id: node.Id,
5319
+ url,
5320
+ caption: node.Caption,
5321
+ path: currentPath,
5322
+ original: node,
5323
+ hidden: depth === 1,
5324
+ depth
5325
+ });
5326
+ }
5327
+ node.Items?.forEach((child) => walk(child, currentPath, depth + 1));
5328
+ }
5329
+ walk(root, '');
5330
+ return results;
5331
+ }
5332
+
5333
+ class SearchService {
5334
+ /**
5335
+ *
5336
+ */
5337
+ constructor() {
5338
+ this.providers = [];
5339
+ this.search$ = new Subject();
5340
+ this.results$ = this.search$.pipe(debounceTime$1(250), distinctUntilChanged$1(), switchMap((term) => {
5341
+ if (!term || term.length < 2) {
5342
+ return of([]);
5343
+ }
5344
+ return forkJoin(this.providers.map((p) => p.search(term))).pipe(map$1((groups) => groups.flat()));
5345
+ }), shareReplay(1));
5346
+ }
5347
+ register(provider) {
5348
+ this.providers.push(provider);
5349
+ this.providers.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
5350
+ }
5351
+ search(term) {
5352
+ this.search$.next(term);
5353
+ }
5354
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5355
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SearchService, providedIn: 'root' }); }
5356
+ }
5357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SearchService, decorators: [{
5358
+ type: Injectable,
5359
+ args: [{
5360
+ providedIn: 'root'
5361
+ }]
5362
+ }], ctorParameters: () => [] });
5363
+
5168
5364
  class ApplicationCtrlrService {
5169
5365
  constructor() {
5170
5366
  this._selectedNavGroupItemId$ = new BehaviorSubject({});
5171
5367
  this._selectedReportId$ = new BehaviorSubject({});
5368
+ this._selectedReportCaption$ = new BehaviorSubject({});
5172
5369
  this._selectedNavGroupId$ = new BehaviorSubject({});
5173
5370
  this._sidebarToggle$ = new BehaviorSubject(false);
5174
5371
  this._selectedAppTileGroup$ = new BehaviorSubject('');
@@ -5178,9 +5375,13 @@ class ApplicationCtrlrService {
5178
5375
  this._selectedSystemNavUi$ = new BehaviorSubject(null);
5179
5376
  this._selectedCommandId$ = new BehaviorSubject({});
5180
5377
  this._isCommandGroupsSelected$ = new BehaviorSubject({});
5378
+ this._searchNavigators$ = new BehaviorSubject({});
5379
+ this._selectedSystemTitle$ = new Subject();
5181
5380
  this._isMobile = getDeviceIsMobile();
5182
5381
  this._document = inject(DOCUMENT);
5183
5382
  this._router = inject(Router);
5383
+ this._searchService = inject(SearchService);
5384
+ this._titleService = inject(Title);
5184
5385
  }
5185
5386
  get appMenuItems$() {
5186
5387
  return this._appMenuItems$.asObservable();
@@ -5228,12 +5429,21 @@ class ApplicationCtrlrService {
5228
5429
  get selectedSystemId() {
5229
5430
  return this._selectedSystemId$.getValue();
5230
5431
  }
5432
+ get searchResults$() {
5433
+ return this._searchService.results$;
5434
+ }
5435
+ get systemCaption$() {
5436
+ return this._selectedSystemTitle$.asObservable();
5437
+ }
5231
5438
  getSelectedNavGroupItemId(systemId) {
5232
5439
  return this._selectedNavGroupItemId$.getValue()[systemId];
5233
5440
  }
5234
5441
  getSelectedReportId(systemId) {
5235
5442
  return this._selectedReportId$.getValue()[systemId];
5236
5443
  }
5444
+ getSelectedReportCaption(systemId) {
5445
+ return this._selectedReportCaption$.getValue()[systemId];
5446
+ }
5237
5447
  initialize(callback) {
5238
5448
  BarsaApi.Ul.ApplicationCtrlr.on({
5239
5449
  'MetaEventTopics.System_BeforeApplicationStart': () => {
@@ -5245,6 +5455,10 @@ class ApplicationCtrlrService {
5245
5455
  callback && callback(true);
5246
5456
  });
5247
5457
  this._document.documentElement.setAttribute('data-layout', 'vertical');
5458
+ this._selectedSystemTitle$
5459
+ .asObservable()
5460
+ .pipe(tap$1((c) => this._titleService.setTitle(c)))
5461
+ .subscribe();
5248
5462
  }
5249
5463
  systemChange(systemId) {
5250
5464
  const systemData = BarsaApi.Ul.ApplicationCtrlr.SystemDict[systemId]?.SystemData;
@@ -5253,6 +5467,7 @@ class ApplicationCtrlrService {
5253
5467
  // console.error(`system data for systemid ${systemId} not found.`);
5254
5468
  return;
5255
5469
  }
5470
+ this._selectedSystemTitle$.next(systemData.Caption);
5256
5471
  this._customApplicationMenuBodyUi.fireEvent('SelectedSystemChanged', this._customApplicationMenuBodyUi, systemData);
5257
5472
  }
5258
5473
  selectAppTileGroup(id) {
@@ -5275,7 +5490,7 @@ class ApplicationCtrlrService {
5275
5490
  selectSystemCommand(command) {
5276
5491
  this.selectSystemCommandId(command.Key);
5277
5492
  new Promise((resolve, _reject) => {
5278
- this._router.navigate(['application', this._selectedSystemId$.getValue()]);
5493
+ this._routeToSelectedSystem();
5279
5494
  if (command.DynamicCommand) {
5280
5495
  BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Key, {}, resolve);
5281
5496
  }
@@ -5317,6 +5532,13 @@ class ApplicationCtrlrService {
5317
5532
  sidebarToggled(value) {
5318
5533
  this._sidebarToggle$.next(value);
5319
5534
  }
5535
+ selectReportCaption(caption) {
5536
+ const selectedReportCaption = this._selectedReportCaption$.getValue();
5537
+ const selectedSystemId = this._selectedSystemId$.getValue();
5538
+ const systemId = selectedSystemId;
5539
+ selectedReportCaption[systemId] = caption;
5540
+ this._selectedReportCaption$.next(selectedReportCaption);
5541
+ }
5320
5542
  selectedReportId(reportId) {
5321
5543
  const selectedReport = this._selectedReportId$.getValue();
5322
5544
  const selectedSystemId = this._selectedSystemId$.getValue();
@@ -5331,6 +5553,64 @@ class ApplicationCtrlrService {
5331
5553
  reject(err);
5332
5554
  });
5333
5555
  }
5556
+ loadSearchNavigators() {
5557
+ let canSupport = false;
5558
+ if (BarsaApi.LoginFormData.Version.startsWith('5')) {
5559
+ canSupport = isVersionBiggerThan('5.1.37');
5560
+ }
5561
+ else {
5562
+ canSupport = isVersionBiggerThan('4.1.178');
5563
+ }
5564
+ if (Object.keys(this._searchNavigators$.getValue()).length || canSupport) {
5565
+ return;
5566
+ }
5567
+ BarsaApi.Common.Ajax.GetServerData('System94.Search', { term: '' }, (e) => {
5568
+ this._searchService.register(new MultiAppNavigatorSearchProvider(e));
5569
+ this._searchService.register(new MultiAppCommandSearchProvider(e));
5570
+ }, (e) => console.error(e), null, this);
5571
+ }
5572
+ search(e) {
5573
+ this._searchService.search(e.text);
5574
+ }
5575
+ searchItemClick(data) {
5576
+ if (data.original.IsRoot) {
5577
+ this._routeToSystem(data.appId);
5578
+ }
5579
+ else if (data.source === 'Command') {
5580
+ this.selectSystemCommand(data.original);
5581
+ }
5582
+ else if (data.source === 'Navigator') {
5583
+ if (data.original.ReportId === '0') {
5584
+ this._routeToSystem(data.appId);
5585
+ this.selectNavGroup(data.id, false);
5586
+ }
5587
+ else {
5588
+ this._routeToReport(data.id, data.original.Caption, data.original.ReportId);
5589
+ }
5590
+ }
5591
+ }
5592
+ _routeToSystem(systemId) {
5593
+ this.selectedSystem(systemId);
5594
+ this._routeToSelectedSystem();
5595
+ }
5596
+ getLastActivatedRoute() {
5597
+ let route = this._router.routerState.root;
5598
+ while (route.firstChild) {
5599
+ route = route.firstChild;
5600
+ }
5601
+ return route;
5602
+ }
5603
+ _routeToReport(navGroupId, caption, reportId) {
5604
+ this._router.navigate([
5605
+ 'application',
5606
+ this._selectedSystemId$.getValue(),
5607
+ 'report',
5608
+ navGroupId + '__' + caption + '__' + reportId
5609
+ ]);
5610
+ }
5611
+ _routeToSelectedSystem() {
5612
+ this._router.navigate(['application', this._selectedSystemId$.getValue()]);
5613
+ }
5334
5614
  flattenLeafCommands(commands) {
5335
5615
  const result = [];
5336
5616
  for (const cmd of commands) {
@@ -5460,11 +5740,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
5460
5740
  type: Injectable
5461
5741
  }] });
5462
5742
 
5743
+ class ReportBreadcrumbResolver {
5744
+ resolve(route) {
5745
+ const x = this._extractIds(route.params);
5746
+ // برگرداندن شیء مورد نظر شما
5747
+ return x.ReportId2;
5748
+ }
5749
+ _extractIds(params) {
5750
+ return {
5751
+ Id: params.id.split('__')[0],
5752
+ ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
5753
+ ReportId2: params.id.split('__').length > 1 ? params.id.split('__')[1] : '',
5754
+ isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
5755
+ };
5756
+ }
5757
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportBreadcrumbResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5758
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportBreadcrumbResolver, providedIn: 'root' }); }
5759
+ }
5760
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ReportBreadcrumbResolver, decorators: [{
5761
+ type: Injectable,
5762
+ args: [{ providedIn: 'root' }]
5763
+ }] });
5764
+
5463
5765
  function reportRoutes(authGuard = false) {
5464
5766
  return {
5465
5767
  path: 'report/:id',
5466
5768
  canActivate: authGuard ? [AuthGuard] : [],
5467
- loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-Bml7rVqA.mjs').then((m) => m.BarsaReportPageModule)
5769
+ loadChildren: () => import('./barsa-novin-ray-core-barsa-report-page.module-52O0tR5U.mjs').then((m) => m.BarsaReportPageModule),
5770
+ resolve: {
5771
+ breadcrumb: ReportBreadcrumbResolver
5772
+ }
5468
5773
  };
5469
5774
  }
5470
5775
 
@@ -6561,7 +6866,10 @@ class UlvMainService {
6561
6866
  ...wfBtns,
6562
6867
  ...c.map((d) => ({
6563
6868
  ...d,
6564
- hideText: d.Command?.IsBuiltin && d.itemId !== 'New' ? true : false
6869
+ hideText: d.Command?.IsBuiltin &&
6870
+ (d.itemId === 'New' || d.itemId === 'AddToList' || d.itemId === 'RemoveFromList')
6871
+ ? false
6872
+ : true
6565
6873
  }))
6566
6874
  ]), 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
6875
  this.destroy$ = this._destroySource.asObservable().pipe(tap(() => this._unscubscribeContext()));
@@ -6573,7 +6881,7 @@ class UlvMainService {
6573
6881
  this.onlyInlineEdit$ = this._onlyInlineEditSource.asObservable();
6574
6882
  this.openSearchFilesManage$ = this._openSearchFilesManageSource.asObservable();
6575
6883
  this.searchPanelMoChanged$ = this._searchPanelMoChangedSource.asObservable().pipe(distinctUntilChanged());
6576
- this.layoutInfo$ = this._layoutInfoSource.asObservable().pipe(shareReplay(1));
6884
+ this.layoutInfo$ = this._layoutInfoSource.asObservable().pipe(shareReplay$1(1));
6577
6885
  this.allSearchPanelSettings$ = combineLatest([
6578
6886
  this._allSearchPanelSettingsSource.asObservable(),
6579
6887
  this._defaultSearchPanelSettingsSource.asObservable()
@@ -6583,14 +6891,14 @@ class UlvMainService {
6583
6891
  allSettings = [defaultSettings, ...allSettings];
6584
6892
  }
6585
6893
  return allSettings;
6586
- }), delay(0), shareReplay(1));
6894
+ }), delay(0), shareReplay$1(1));
6587
6895
  this.selectedSearchPanelSettingsId$ = this._selectedSearchPanelSettingsIdSource
6588
6896
  .asObservable()
6589
6897
  .pipe(distinctUntilChanged());
6590
6898
  this.selectedSearchPanelSettings$ = combineLatest([
6591
6899
  this.selectedSearchPanelSettingsId$,
6592
6900
  this.allSearchPanelSettings$
6593
- ]).pipe(map(([id, settings]) => settings?.find((c) => c.Id === id)), shareReplay(1));
6901
+ ]).pipe(map(([id, settings]) => settings?.find((c) => c.Id === id)), shareReplay$1(1));
6594
6902
  }
6595
6903
  get hideViewerLoading$() {
6596
6904
  return this._hideViewerLoadingSource.asObservable();
@@ -6951,7 +7259,7 @@ class UlvMainService {
6951
7259
  }
6952
7260
  loadMetaConditionsControlInfos(typeDefId, fieldDbNames) {
6953
7261
  const mo = GetDefaultMoObjectInfo(typeDefId);
6954
- return of(this._controlInfosMetaobject).pipe(switchMap((controlsInfo) => {
7262
+ return of(this._controlInfosMetaobject).pipe(switchMap$1((controlsInfo) => {
6955
7263
  if (controlsInfo.length > 0) {
6956
7264
  return of(controlsInfo);
6957
7265
  }
@@ -11673,7 +11981,7 @@ class FormFieldReportPageComponent extends BaseComponent {
11673
11981
  .pipe(takeUntil(this._onDestroy$), tap(() => this._setLoading(true)), map((params) => ({
11674
11982
  Id: 0,
11675
11983
  ReportId: params.id
11676
- })), switchMap((navItem) => this._portalService.renderUlvMainUi(navItem, this.containerRef, this._injector, true)))
11984
+ })), switchMap$1((navItem) => this._portalService.renderUlvMainUi(navItem, this.containerRef, this._injector, true)))
11677
11985
  .subscribe(() => {
11678
11986
  this._setLoading(false);
11679
11987
  });
@@ -15916,7 +16224,7 @@ class LeafletLongPressDirective {
15916
16224
  const mouseup$ = merge(fromEvent(container, 'mouseup'), fromEvent(container, 'touchend'));
15917
16225
  const move$ = merge(fromEvent(container, 'mousemove'), fromEvent(container, 'touchmove'));
15918
16226
  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));
16227
+ const longPress$ = mousedown$.pipe(switchMap$1((startEvent) => timer(this.longPressDuration).pipe(takeUntil(merge(mouseup$, move$, cancelInteraction$)), map(() => startEvent))), filter((e) => !!e));
15920
16228
  this.sub.add(longPress$.subscribe((startEvent) => {
15921
16229
  const originalEvent = startEvent instanceof MouseEvent ? startEvent : startEvent.touches?.[0] || startEvent;
15922
16230
  const latlng = this.map.mouseEventToLatLng(originalEvent);
@@ -16546,18 +16854,14 @@ class ReportNavigatorComponent extends BaseComponent {
16546
16854
  this._applicationCtrlService = inject(ApplicationCtrlrService);
16547
16855
  this._injector = inject(Injector);
16548
16856
  this._cdr = inject(ChangeDetectorRef);
16857
+ this._bbb = inject(BbbTranslatePipe);
16549
16858
  this._loadingSource = new BehaviorSubject(false);
16550
16859
  this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(200));
16551
16860
  }
16552
16861
  ngOnInit() {
16553
16862
  super.ngOnInit();
16554
16863
  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
16864
+ .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
16865
  .renderUlvMainUi(navItem, this.containerRef, this._injector, navItem.isReportPage ? false : true)
16562
16866
  .pipe(catchError((_err) =>
16563
16867
  // this._location.back();
@@ -16574,6 +16878,14 @@ class ReportNavigatorComponent extends BaseComponent {
16574
16878
  // this._applicationCtrlService.selectNavGroupItem('');
16575
16879
  this._setActiveReport(null);
16576
16880
  }
16881
+ _extractIds(params) {
16882
+ return {
16883
+ Id: params.id.split('__')[0],
16884
+ ReportId: params.id.split('__').length > 2 ? params.id.split('__')[2] : '',
16885
+ ReportId2: params.id.split('__').length > 1 ? params.id.split('__')[1] : '',
16886
+ isReportPage: params.id.split('__').length > 3 ? params.id.split('__')[3] : null
16887
+ };
16888
+ }
16577
16889
  _setLoading(val) {
16578
16890
  this._loadingSource.next(val);
16579
16891
  this._cdr.detectChanges();
@@ -16796,7 +17108,7 @@ class ResizableDirective {
16796
17108
  this.resizableComplete = new EventEmitter();
16797
17109
  this.documentRef = inject(DOCUMENT);
16798
17110
  this.elementRef = inject(ElementRef);
16799
- this.resizable = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(tap((e) => e.preventDefault()), switchMap(() => {
17111
+ this.resizable = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(tap((e) => e.preventDefault()), switchMap$1(() => {
16800
17112
  const elDom = this.elementRef.nativeElement;
16801
17113
  const { width, right, left } = elDom.closest('th').getBoundingClientRect();
16802
17114
  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 +18122,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
17810
18122
  * Generated bundle index. Do not edit.
17811
18123
  */
17812
18124
 
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 };
18125
+ 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, compareVersions, 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, isVersionBiggerThan, measureText, measureText2, measureTextBy, mobile_regex, nullOrUndefinedString, number_only, requestAnimationFramePolyfill, scrollToElement, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber, validateAllFormFields };
17814
18126
  //# sourceMappingURL=barsa-novin-ray-core.mjs.map