nuxeo-development-framework 0.0.19-bos → 0.0.20-bos

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.
@@ -19,14 +19,12 @@ import { ReplaySubject, iif, of, combineLatest, throwError, Observable, forkJoin
19
19
  import { map, retry, catchError, distinctUntilChanged, takeUntil, take, tap, switchMap, first, delay, expand, last, skip, debounceTime, filter as filter$1, finalize, startWith, retryWhen, concatMap, mergeMap } from 'rxjs/operators';
20
20
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
21
21
  import CryptoJS from 'crypto-js';
22
- import { __decorate, __param } from 'tslib';
23
22
  import Nuxeo from 'nuxeo';
24
23
  import doFetch from 'nuxeo/lib/deps/fetch';
25
24
  import Unmarshallers from 'nuxeo/lib/unmarshallers/unmarshallers';
26
- import qs from 'querystring';
27
25
  import * as i3 from 'ngx-cookie-service';
28
- import * as _ from 'lodash-es';
29
- import { merge, omit, cloneDeep, get, has, pick, first as first$1, last as last$1, find, filter, groupBy, sortBy, isEmpty, isNil, isEqual, isString, isNumber, isArray, isObject as isObject$1, nth, endsWith, startsWith, toNumber, each, unionWith, includes, isDate, isBoolean, flatMap, map as map$2 } from 'lodash-es';
26
+ import * as _ from 'lodash';
27
+ import ___default, { merge, omit, cloneDeep, get, has, pick, first as first$1, last as last$1, find, filter, groupBy, sortBy, isEmpty, isNil, isEqual, isString, isNumber, isArray, isObject as isObject$1, nth, endsWith, startsWith, toNumber, each, unionWith, includes, isDate, isBoolean, flatMap, map as map$2 } from 'lodash';
30
28
  import * as i1$4 from '@angular/router';
31
29
  import { RoutesRecognized, ActivatedRoute, Router, RouterModule, NavigationStart } from '@angular/router';
32
30
  import * as i2$4 from '@angular/material/core';
@@ -45,8 +43,8 @@ import * as i3$2 from '@angular/material/tooltip';
45
43
  import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
46
44
  import * as i6 from '@angular/material/progress-spinner';
47
45
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
48
- import _assign from 'lodash-es/assign';
49
- import _cloneDeep from 'lodash-es/cloneDeep';
46
+ import _assign from 'lodash/assign';
47
+ import _cloneDeep from 'lodash/cloneDeep';
50
48
  import * as Forge from 'node-forge';
51
49
  import { Jexl } from 'jexl';
52
50
  import * as i1$7 from '@angular/cdk/clipboard';
@@ -64,6 +62,7 @@ import 'moment/locale/ar';
64
62
  import DOMPurify from 'dompurify';
65
63
  import * as i2$3 from 'ngx-infinite-scroll';
66
64
  import { InfiniteScrollModule } from 'ngx-infinite-scroll';
65
+ import { __decorate } from 'tslib';
67
66
  import { Cacheable, LocalStorageStrategy, CacheBuster } from 'ts-cacheable';
68
67
  import * as i3$5 from '@ng-select/ng-select';
69
68
  import { NgSelectComponent, NgLabelTemplateDirective, NgOptionTemplateDirective, NgSelectModule } from '@ng-select/ng-select';
@@ -91,8 +90,8 @@ import { Components, FormBuilderComponent, registerCustomFormioComponent, Formio
91
90
  import * as i1$9 from '@ng-bootstrap/ng-bootstrap';
92
91
  import { NgbDate, NgbDatepickerI18n, NgbCalendarIslamicUmalqura, NgbCalendar, NgbDateParserFormatter, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
93
92
  import { Formio, Utils } from 'formiojs';
94
- import _find from 'lodash-es/find';
95
- import _isEqual from 'lodash-es/isEqual';
93
+ import _find from 'lodash/find';
94
+ import _isEqual from 'lodash/isEqual';
96
95
  import * as i6$1 from '@swimlane/ngx-datatable';
97
96
  import { ColumnMode, DatatableComponent, NgxDatatableModule } from '@swimlane/ngx-datatable';
98
97
  import { SelectionModel } from '@angular/cdk/collections';
@@ -620,144 +619,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
620
619
  }]
621
620
  }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: LocalStoragService }] });
622
621
 
623
- let NewNuxeoOverride = class NewNuxeoOverride extends Nuxeo {
624
- constructor(opts = {}, environment, cookieService) {
625
- super(opts);
626
- this.environment = environment;
627
- this.cookieService = cookieService;
628
- }
629
- http(opts = {}) {
630
- const options = this._computeFetchOptions(opts);
631
- return new this.Promise((resolve, reject) => {
632
- this._activeRequests += 1;
633
- const fetchOptions = {
634
- method: options.method,
635
- headers: options.headers,
636
- body: options.body,
637
- signal: options.signal
638
- };
639
- if (opts.credentials) {
640
- fetchOptions.credentials = opts.credentials;
641
- }
642
- else if (!this._auth) {
643
- fetchOptions.credentials = 'include';
644
- }
645
- doFetch(options.url, fetchOptions)
646
- .then((res) => {
647
- this._activeRequests -= 1;
648
- if (res.status === 401 && !opts.refreshedAuthentication) {
649
- // try re-authenticate
650
- opts.refreshedAuthentication = true;
651
- return (this.refreshAccessToken()
652
- // return Authentication.refreshAuthentication(this._baseURL, this._auth)
653
- .then((refreshedToken) => {
654
- // this.keycloak.getToken().then(refreshedAuth => {
655
- this._auth = {
656
- method: 'bearerToken',
657
- token: refreshedToken,
658
- clientId: this.environment.nuxeoOptions.client_id, // optional OAuth2 client ID to refresh the access token
659
- clientSecret: this.environment.nuxeoOptions.client_secret
660
- };
661
- this._notifyAuthenticationRefreshed(refreshedToken);
662
- this.cookieService.set('CMS_CACHABLE', this.encriptFormating(res), 1, '/cts');
663
- return resolve(this.http(opts));
664
- // });
665
- }, (error) => {
666
- this.logout();
667
- this.login();
668
- })
669
- .catch(() => {
670
- this.logout();
671
- this.login();
672
- throw res;
673
- }));
674
- }
675
- if (!/^2/.test(`${res.status}`)) {
676
- const error = new Error(res);
677
- throw res;
678
- }
679
- if (options.resolveWithFullResponse || res.status === 204) {
680
- return resolve(res);
681
- }
682
- const contentType = res.headers.get('content-type');
683
- if (contentType && contentType.indexOf('application/json') === 0) {
684
- options.nuxeo = this;
685
- return resolve(res.json().then((json) => Unmarshallers.unmarshall(json, options, res)));
686
- }
687
- return resolve(res);
688
- })
689
- .catch((error) => {
690
- this._activeRequests -= 1;
691
- error.text().then((data) => {
692
- let ret = {};
693
- try {
694
- ret = data ? JSON.parse(data) : {};
695
- }
696
- catch (e) {
697
- ret = {};
698
- }
699
- return reject({
700
- status: error.status,
701
- ret
702
- });
703
- });
704
- });
705
- });
706
- }
707
- refreshAccessToken() {
708
- return this.getAccessToken(this.environment.nuxeoOptions.baseURL, this.environment.nuxeoOptions.client_id, this._auth.token.refresh_token, this.environment.nuxeoOptions.client_secret);
709
- }
710
- login() {
711
- window.location.replace(`${this.environment.nuxeoOptions.baseURL}/oauth2/authorize?client_id=${this.environment.nuxeoOptions.client_id}&client_secret=${this.environment.nuxeoOptions.client_secret}&response_type=code&redirect_uri=${this.environment.nuxeoOptions.authRedirectURL}`);
712
- }
713
- logout() {
714
- this.cookieService.set('CMS_CACHABLE', '', 1, '/cts');
715
- }
716
- encriptFormating(cachable) {
717
- let reformatted = btoa(JSON.stringify(cachable));
718
- return 'Xnd' + reformatted + 'HsTeT';
719
- }
720
- // nrefreshAccessToken = (baseURL, clientId, refreshToken, params = {}) => {
721
- // if (!baseURL) {
722
- // throw new Error('Missing `baseURL` argument');
723
- // }
724
- // if (!clientId) {
725
- // throw new Error('Missing `clientId` argument');
726
- // }
727
- // if (!refreshToken) {
728
- // throw new Error('Missing `refreshToken` argument');
729
- // }
730
- // const defaultParams = { refresh_token: refreshToken, grant_type: 'refresh_token', client_id: clientId };
731
- // const body = extend(true, defaultParams, params);
732
- // return fetchAccessToken(baseURL, body);
733
- // }
734
- getAccessToken(baseURL, clientId, refreshToken, clientSecret) {
735
- let body = {
736
- refresh_token: refreshToken,
737
- grant_type: 'refresh_token',
738
- client_id: clientId,
739
- client_secret: clientSecret
740
- };
741
- // const url = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;
742
- return new Promise((resolve, reject) => doFetch(`${baseURL}/oauth2/token`, {
743
- method: 'POST',
744
- body: qs.stringify(body),
745
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
746
- })
747
- .then((res) => res.json())
748
- .then((token) => {
749
- if (token.error) {
750
- return reject(token.error);
751
- }
752
- return resolve(token);
753
- })
754
- .catch((e) => reject(e)));
755
- }
756
- };
757
- NewNuxeoOverride = __decorate([
758
- __param(1, Inject('environment'))
759
- ], NewNuxeoOverride);
760
-
761
622
  class NuxeoOverride extends Nuxeo {
762
623
  constructor(opts = {}, keycloak) {
763
624
  super(opts);
@@ -1006,38 +867,6 @@ class NuxeoService {
1006
867
  }
1007
868
  });
1008
869
  }
1009
- initWithNuxeoToken(token) {
1010
- return new Promise(async (resolve, reject) => {
1011
- try {
1012
- this.createClientWithNuxeoToken(token);
1013
- this.nuxeoClient
1014
- .connect()
1015
- .then((client) => {
1016
- this.authenticated = true;
1017
- resolve(client);
1018
- this.checkForRoles();
1019
- })
1020
- .catch((error) => {
1021
- reject(error);
1022
- });
1023
- }
1024
- catch (error) {
1025
- reject(error);
1026
- }
1027
- });
1028
- }
1029
- // create nuxeo client using nuxeo token
1030
- createClientWithNuxeoToken(token) {
1031
- this.nuxeoClient = new NewNuxeoOverride({
1032
- baseURL: this.environment.nuxeoOptions.baseURL,
1033
- auth: {
1034
- method: "bearerToken",
1035
- token: token,
1036
- clientId: this.environment.nuxeoOptions.client_id, // optional OAuth2 client ID to refresh the access token
1037
- clientSecret: this.environment.nuxeoOptions.client_secret,
1038
- },
1039
- }, this.environment, this.cookiesService);
1040
- }
1041
870
  // create nuxeo client using keycock token
1042
871
  createTokenClient(token) {
1043
872
  this.nuxeoClient = new NuxeoOverride({
@@ -1711,11 +1540,11 @@ class CallApiService {
1711
1540
  let _payload = body;
1712
1541
  if (query?.payload) {
1713
1542
  const _key = 'predicateList';
1714
- _payload = _.mergeWith(body, query.payload, (objValue, srcValue, key) => {
1543
+ _payload = ___default.mergeWith(body, query.payload, (objValue, srcValue, key) => {
1715
1544
  if (key === _key) {
1716
1545
  const objArray = Array.isArray(objValue) ? objValue : [];
1717
1546
  const srcArray = Array.isArray(srcValue) ? srcValue : [];
1718
- return _.uniqWith(objArray.concat(srcArray), _.isEqual);
1547
+ return ___default.uniqWith(objArray.concat(srcArray), ___default.isEqual);
1719
1548
  }
1720
1549
  // if (Array.isArray(objValue) && key === _key) {
1721
1550
  // return _.uniqWith(objValue.concat(srcValue), _.isEqual);
@@ -2230,7 +2059,14 @@ class InitializationService {
2230
2059
  let cachable = this.cookieService.get('CMS_CACHABLE');
2231
2060
  if (cachable && cachable !== 'null') {
2232
2061
  // there is cachable exist
2233
- this.initiateClientWithNuxeo(this.decriptFormating(cachable), resolve, reject);
2062
+ this.nuxeoService.init().then((client) => {
2063
+ this.userPreferences.setStoragePrefix(client.user.id);
2064
+ resolve(true);
2065
+ })
2066
+ .catch((err) => {
2067
+ console.error(err);
2068
+ reject(err);
2069
+ });
2234
2070
  }
2235
2071
  else {
2236
2072
  // no cachable exist
@@ -2241,45 +2077,17 @@ class InitializationService {
2241
2077
  if (code && code.length) {
2242
2078
  // if there is code exist then get from nuxeo and intite client thenr esolve with true
2243
2079
  console.log(`======Auth Code===== ${code}`);
2244
- this.getFromNuxeo(code).subscribe((res) => {
2245
- console.log(res);
2246
- this.cookieService.set('CMS_CACHABLE', this.encriptFormating(res), 1, '/cts');
2247
- // this.router.navigate([], {
2248
- // queryParams: {
2249
- // 'code': null
2250
- // },
2251
- // queryParamsHandling: 'merge'
2252
- // })
2253
- this.initiateClientWithNuxeo(res, resolve, reject);
2254
- });
2080
+ this.cookieService.set('CMS_CACHABLE', this.encriptFormating(code), 1, '/cts');
2255
2081
  }
2256
2082
  else {
2257
2083
  // no cachable and no code then need to go to login page
2258
2084
  this.routerSubscription ? this.routerSubscription.unsubscribe() : null;
2259
- this.login();
2085
+ // this.login()
2260
2086
  }
2261
2087
  }
2262
2088
  });
2263
2089
  }
2264
2090
  }
2265
- getFromNuxeo(code) {
2266
- return this.httpClient.post(`${this.environment.nuxeoOptions.baseURL}/oauth2/token?grant_type=authorization_code&code=${code}&client_id=${this.environment.nuxeoOptions.client_id}&client_secret=${this.environment.nuxeoOptions.client_secret}&redirect_uri=${this.environment.nuxeoOptions.authRedirectURL}`, {});
2267
- }
2268
- initiateClientWithNuxeo(token, resolve, reject) {
2269
- this.nuxeoService.initWithNuxeoToken(token).then((client) => {
2270
- this.userPreferences.setStoragePrefix(client.user.id);
2271
- this.routerSubscription ? this.routerSubscription.unsubscribe() : null;
2272
- resolve(true);
2273
- })
2274
- .catch((err) => {
2275
- console.error(err);
2276
- this.routerSubscription ? this.routerSubscription.unsubscribe() : null;
2277
- reject(err);
2278
- });
2279
- }
2280
- login() {
2281
- window.location.replace(`${this.environment.nuxeoOptions.baseURL}/oauth2/authorize?client_id=${this.environment.nuxeoOptions.client_id}&client_secret=${this.environment.nuxeoOptions.client_secret}&response_type=code&redirect_uri=${this.environment.nuxeoOptions.authRedirectURL}`);
2282
- }
2283
2091
  encriptFormating(cachable) {
2284
2092
  let reformatted = btoa(JSON.stringify(cachable));
2285
2093
  return 'Xnd' + reformatted + 'HsTeT';
@@ -4729,8 +4537,8 @@ class BaseEditorConfigService extends BaseService {
4729
4537
  }
4730
4538
  _getDataFromLocal({ key, type, app, localPath }) {
4731
4539
  const config = this.appConfigService.myConfiguration || {};
4732
- const base = localPath ? _.get(config, localPath) : config;
4733
- const data = cloneDeep(_.get(base, key));
4540
+ const base = localPath ? ___default.get(config, localPath) : config;
4541
+ const data = cloneDeep(___default.get(base, key));
4734
4542
  return of({
4735
4543
  submitted: false,
4736
4544
  data: {
@@ -14410,7 +14218,7 @@ class DynamicFormSelectUsersComponent {
14410
14218
  }
14411
14219
  filterUsers(data, path) {
14412
14220
  let filterData = data.filter((user) => {
14413
- const includedInFilter = this.filter.includes(_.get(user, path)) || _.get(user, path) === 'Administrator';
14221
+ const includedInFilter = this.filter.includes(___default.get(user, path)) || ___default.get(user, path) === 'Administrator';
14414
14222
  return !includedInFilter;
14415
14223
  });
14416
14224
  return filterData;
@@ -16894,7 +16702,7 @@ class TableColumnsTogglerComponent extends BaseComponent {
16894
16702
  return item;
16895
16703
  })
16896
16704
  .filter((col) => col.display && col.type != "actions");
16897
- this.defaultColumns = _.cloneDeep(this._cols);
16705
+ this.defaultColumns = ___default.cloneDeep(this._cols);
16898
16706
  this.columnsSelection = new SelectionModel(true, this._filterByVisibility(this._cols));
16899
16707
  this.columnsChange$.next();
16900
16708
  }
@@ -16937,7 +16745,7 @@ class TableColumnsTogglerComponent extends BaseComponent {
16937
16745
  col.order = index;
16938
16746
  });
16939
16747
  const data = columns.filter((col) => this.columnsSelection.isSelected(col));
16940
- this.columnsChanged.emit(_.cloneDeep(data));
16748
+ this.columnsChanged.emit(___default.cloneDeep(data));
16941
16749
  this.enableSorting = false;
16942
16750
  }
16943
16751
  _selectAll() {
@@ -17086,7 +16894,7 @@ class AggregationFieldService {
17086
16894
  }
17087
16895
  _prepareOptions({ fieldConfig, aggregation }) {
17088
16896
  return of(aggregation).pipe(map((aggregation) => {
17089
- const _items = _.get(aggregation, fieldConfig?.propertyPath || 'buckets') || [];
16897
+ const _items = ___default.get(aggregation, fieldConfig?.propertyPath || 'buckets') || [];
17090
16898
  return _items.map((item) => this._mapOption(item, fieldConfig));
17091
16899
  }));
17092
16900
  }
@@ -17131,7 +16939,7 @@ class AggregationFieldService {
17131
16939
  _mapOption(item, config) {
17132
16940
  const prefix = config?.prefix || '';
17133
16941
  const bindValue = config?.bindValue;
17134
- const value = _.get(item, bindValue || 'key') || _.get(item, bindValue || 'id');
16942
+ const value = ___default.get(item, bindValue || 'key') || ___default.get(item, bindValue || 'id');
17135
16943
  const option = {
17136
16944
  id: item.key,
17137
16945
  label: `${prefix}${item.key}`,
@@ -17139,8 +16947,8 @@ class AggregationFieldService {
17139
16947
  count: item?.docCount,
17140
16948
  localizedLabel: config.bindLabel
17141
16949
  ? {
17142
- ar: _.get(item, config?.bindLabel.ar),
17143
- en: _.get(item, config?.bindLabel.en)
16950
+ ar: ___default.get(item, config?.bindLabel.ar),
16951
+ en: ___default.get(item, config?.bindLabel.en)
17144
16952
  }
17145
16953
  : null
17146
16954
  };
@@ -17155,7 +16963,7 @@ class AggregationFieldService {
17155
16963
  }
17156
16964
  _prepareTooltip(item, config) {
17157
16965
  return Object.entries(config.properties).reduce((acc, [key]) => {
17158
- const val = _.get(item, key);
16966
+ const val = ___default.get(item, key);
17159
16967
  if (val) {
17160
16968
  acc[key] = val;
17161
16969
  }
@@ -17187,7 +16995,7 @@ class FilterAutocompleteService extends BaseService {
17187
16995
  throw new Error('Query URL is required for custom search.');
17188
16996
  }
17189
16997
  if (query?.method == 'post') {
17190
- _payload = _.merge(query?.payload || {}, {
16998
+ _payload = ___default.merge(query?.payload || {}, {
17191
16999
  predicateList: [
17192
17000
  {
17193
17001
  name: query.field,
@@ -17220,8 +17028,8 @@ class FilterAutocompleteService extends BaseService {
17220
17028
  if (!biddings) {
17221
17029
  throw new Error(`[${config.query.field}] Biddings configuration is required to map response to filter options.`);
17222
17030
  }
17223
- const label = _.get(entry, biddings.label.en, entry.title);
17224
- const value = _.get(entry, biddings.value, entry.uid);
17031
+ const label = ___default.get(entry, biddings.label.en, entry.title);
17032
+ const value = ___default.get(entry, biddings.value, entry.uid);
17225
17033
  const option = {
17226
17034
  id: value,
17227
17035
  value: value,
@@ -17230,11 +17038,11 @@ class FilterAutocompleteService extends BaseService {
17230
17038
  if (biddings.label?.ar) {
17231
17039
  option.localizedLabel = {
17232
17040
  en: label,
17233
- ar: _.get(entry, biddings.label.ar, entry.title)
17041
+ ar: ___default.get(entry, biddings.label.ar, entry.title)
17234
17042
  };
17235
17043
  }
17236
17044
  if (biddings?.count) {
17237
- option.count = _.get(entry, biddings.count, 0);
17045
+ option.count = ___default.get(entry, biddings.count, 0);
17238
17046
  }
17239
17047
  return option;
17240
17048
  });
@@ -17542,7 +17350,7 @@ class CheckConditionPipe {
17542
17350
  return true;
17543
17351
  }
17544
17352
  try {
17545
- return this.ndfEvaluatorService.evaluateSync(condition, _.cloneDeep({ aggregations, language, user: this.user, values: filterValues }));
17353
+ return this.ndfEvaluatorService.evaluateSync(condition, ___default.cloneDeep({ aggregations, language, user: this.user, values: filterValues }));
17546
17354
  }
17547
17355
  catch (error) {
17548
17356
  console.error({ error });
@@ -18635,7 +18443,7 @@ class InputRangeDateComponent extends BaseDatePicker {
18635
18443
  }
18636
18444
  _listenToValueChange() {
18637
18445
  this.rangeControl.valueChanges
18638
- .pipe(distinctUntilChanged((a, b) => _.isEqual(this._createValidateObject(a), this._createValidateObject(b))), map((data) => this.calendarService.formatRangeOutputDate(data)), takeUntil(this.destroy$))
18446
+ .pipe(distinctUntilChanged((a, b) => ___default.isEqual(this._createValidateObject(a), this._createValidateObject(b))), map((data) => this.calendarService.formatRangeOutputDate(data)), takeUntil(this.destroy$))
18639
18447
  .subscribe((value) => this.onChange(value));
18640
18448
  }
18641
18449
  _listenToDisabledState() {
@@ -18743,7 +18551,7 @@ class InputDateComponent extends BaseDatePicker {
18743
18551
  }
18744
18552
  _listenToValueChange() {
18745
18553
  this.dateControl.valueChanges
18746
- .pipe(distinctUntilChanged((a, b) => _.isEqual(a, b)), map((data) => this.calendarService.formatOutputDate(data)), takeUntil(this.destroy$))
18554
+ .pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)), map((data) => this.calendarService.formatOutputDate(data)), takeUntil(this.destroy$))
18747
18555
  .subscribe((value) => this.onChange(value));
18748
18556
  }
18749
18557
  _listenToValidators() {
@@ -18838,7 +18646,7 @@ class NdfHijriDatepickerComponent extends BaseDatePickerContainer {
18838
18646
  _updateLocalOnLanguageChange() {
18839
18647
  if (this.localState.updateLocalLang) {
18840
18648
  this.translateService.onLangChange
18841
- .pipe(distinctUntilChanged((a, b) => _.isEqual(a, b)), takeUntil(this.destroy$))
18649
+ .pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
18842
18650
  .subscribe((lang) => {
18843
18651
  this._dateAdapter.setLocale(getLocal(lang?.lang));
18844
18652
  });
@@ -18928,7 +18736,7 @@ class NdfGregorianDatepickerComponent extends BaseDatePickerContainer {
18928
18736
  _updateLocalOnLanguageChange() {
18929
18737
  if (this.localState.updateLocalLang) {
18930
18738
  this.translateService.onLangChange
18931
- .pipe(distinctUntilChanged((a, b) => _.isEqual(a, b)), takeUntil(this.destroy$))
18739
+ .pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
18932
18740
  .subscribe((lang) => {
18933
18741
  this._dateAdapter.setLocale(lang.lang);
18934
18742
  });
@@ -19065,7 +18873,7 @@ class NdfDatepickerComponent extends BaseDateValueAccessor {
19065
18873
  this.dateControl.valueChanges
19066
18874
  .pipe(debounceTime(100), map((data) => this.range
19067
18875
  ? this.calendarService.prepareRangeOutputValue(data)
19068
- : this.calendarService.prepareOutputValue(data)), distinctUntilChanged((a, b) => _.isEqual(a?.value, b?.value)))
18876
+ : this.calendarService.prepareOutputValue(data)), distinctUntilChanged((a, b) => ___default.isEqual(a?.value, b?.value)))
19069
18877
  .subscribe((value) => {
19070
18878
  this.onChange(value);
19071
18879
  });
@@ -19174,7 +18982,7 @@ class FilterDateRangeComponent extends BaseSelector {
19174
18982
  }
19175
18983
  ngOnInit() {
19176
18984
  this.formControl.valueChanges
19177
- .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => _.isEqual(a, b)), takeUntil(this.destroy$))
18985
+ .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
19178
18986
  .subscribe((res) => {
19179
18987
  this.onChange(res);
19180
18988
  });
@@ -19812,7 +19620,7 @@ class AggregationBaseSelectionComponent extends BaseAggregationField {
19812
19620
  writeValue(values) {
19813
19621
  if (values) {
19814
19622
  const _values = this._getValues(values);
19815
- if (_.isEqual(_values, this.internalValue)) {
19623
+ if (___default.isEqual(_values, this.internalValue)) {
19816
19624
  return;
19817
19625
  }
19818
19626
  const _vals = Array.isArray(_values) ? _values : [_values];
@@ -19830,7 +19638,7 @@ class AggregationBaseSelectionComponent extends BaseAggregationField {
19830
19638
  updateValue() {
19831
19639
  this.selectionModel.changed
19832
19640
  .asObservable()
19833
- .pipe(map((data) => data.source.selected), distinctUntilChanged((a, b) => _.isEqual(a, b)), filter$1((value) => !_.isEqual(this.internalValue, value)), takeUntil(this.destroy$))
19641
+ .pipe(map((data) => data.source.selected), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), filter$1((value) => !___default.isEqual(this.internalValue, value)), takeUntil(this.destroy$))
19834
19642
  .subscribe((value) => {
19835
19643
  this.emitValue(value);
19836
19644
  });
@@ -20769,7 +20577,7 @@ class PredicateDateInputComponent extends BasePredicateField {
20769
20577
  }
20770
20578
  ngOnInit() {
20771
20579
  this.formDate.valueChanges
20772
- .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => _.isEqual(a, b)), debounceTime(this.debounceTime), takeUntil(this.destroy$))
20580
+ .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), debounceTime(this.debounceTime), takeUntil(this.destroy$))
20773
20581
  .subscribe((res) => {
20774
20582
  this._isFieldDirty = !!res;
20775
20583
  this.onChange(res);
@@ -20891,7 +20699,7 @@ class PredicateSelectionListComponent extends BasePredicateField {
20891
20699
  this.onChange(null);
20892
20700
  }
20893
20701
  writeValue(obj) {
20894
- if (obj == undefined && _.isEqual(obj, this.internalValue)) {
20702
+ if (obj == undefined && ___default.isEqual(obj, this.internalValue)) {
20895
20703
  return;
20896
20704
  }
20897
20705
  this.internalValue = obj;
@@ -20915,7 +20723,7 @@ class PredicateSelectionListComponent extends BasePredicateField {
20915
20723
  updateValue() {
20916
20724
  this.selectionModel.changed
20917
20725
  .asObservable()
20918
- .pipe(map$1((data) => data.source.selected), distinctUntilChanged$1((a, b) => _.isEqual(a, b)), filter$2((value) => !_.isEqual(this.internalValue, value)), takeUntil$1(this.destroy$))
20726
+ .pipe(map$1((data) => data.source.selected), distinctUntilChanged$1((a, b) => ___default.isEqual(a, b)), filter$2((value) => !___default.isEqual(this.internalValue, value)), takeUntil$1(this.destroy$))
20919
20727
  .subscribe((value) => {
20920
20728
  this.emitValue(value);
20921
20729
  });
@@ -21186,7 +20994,7 @@ class BaseField extends BaseCustomValueAccessor {
21186
20994
  return;
21187
20995
  }
21188
20996
  Object.keys(changes).forEach((key) => {
21189
- this._componentRef.instance[key] = _.cloneDeep(changes[key].currentValue);
20997
+ this._componentRef.instance[key] = ___default.cloneDeep(changes[key].currentValue);
21190
20998
  });
21191
20999
  this._componentRef.changeDetectorRef.detectChanges();
21192
21000
  }
@@ -21513,7 +21321,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
21513
21321
  .pipe(debounceTime(300), map((formValue) => {
21514
21322
  const data = this._evaluateConditions(formValue);
21515
21323
  return removeEmptyKeys(data);
21516
- }), distinctUntilChanged((a, b) => _.isEqual(a, b)), takeUntil(this.destroy$))
21324
+ }), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
21517
21325
  .subscribe((res) => {
21518
21326
  this.filterChanged.emit(res);
21519
21327
  });
@@ -21537,7 +21345,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
21537
21345
  const condition = field.config?.condition;
21538
21346
  try {
21539
21347
  const isVisible = !condition ||
21540
- this.ndfEvaluatorService.evaluateSync(condition, _.cloneDeep({
21348
+ this.ndfEvaluatorService.evaluateSync(condition, ___default.cloneDeep({
21541
21349
  aggregations: this.aggregations,
21542
21350
  language: this.currentLang,
21543
21351
  user: this.nuxeoService.nuxeoClient.user,
@@ -21613,7 +21421,7 @@ class ActiveUserSwitchComponent extends BaseCustomField {
21613
21421
  this.updateObjectValue();
21614
21422
  }
21615
21423
  getValue() {
21616
- return _.get(this._userService.getCurrentUser(), this.renderOptions?.bindValue || 'properties.username');
21424
+ return ___default.get(this._userService.getCurrentUser(), this.renderOptions?.bindValue || 'properties.username');
21617
21425
  }
21618
21426
  updateObjectValue() {
21619
21427
  const operator = this.field?.operator || COMPARISON_OPERATOR.equals;
@@ -21670,7 +21478,7 @@ class AggregationGroupComponent extends BaseCustomField {
21670
21478
  writeValue(value) {
21671
21479
  if (value) {
21672
21480
  const _values = this._getValues(value);
21673
- if (_.isEqual(_values, this.internalValue)) {
21481
+ if (___default.isEqual(_values, this.internalValue)) {
21674
21482
  return;
21675
21483
  }
21676
21484
  this.internalValue = _values;
@@ -21690,7 +21498,7 @@ class AggregationGroupComponent extends BaseCustomField {
21690
21498
  }
21691
21499
  _listenToChanges() {
21692
21500
  this.formGroup.valueChanges
21693
- .pipe(distinctUntilChanged((a, b) => _.isEqual(a, b)), map(({ items }) => items.reduce((acc, curr) => acc.concat(curr), []).filter(Boolean)), filter$1((value) => !_.isEqual(this.internalValue, value)), takeUntil(this.destroy$))
21501
+ .pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)), map(({ items }) => items.reduce((acc, curr) => acc.concat(curr), []).filter(Boolean)), filter$1((value) => !___default.isEqual(this.internalValue, value)), takeUntil(this.destroy$))
21694
21502
  .subscribe((value) => {
21695
21503
  this.emitValue(value);
21696
21504
  });
@@ -22659,7 +22467,7 @@ class DynamicTableComponent {
22659
22467
  return;
22660
22468
  }
22661
22469
  const hasChanged = (items) => items.some((key) => {
22662
- const isEqual = _.isEqual(changes[key]?.previousValue || null, changes[key]?.currentValue || null);
22470
+ const isEqual = ___default.isEqual(changes[key]?.previousValue || null, changes[key]?.currentValue || null);
22663
22471
  return !isEqual;
22664
22472
  });
22665
22473
  if (hasChanged(['queryParam', 'quickFilter', 'customFilters'])) {
@@ -22728,7 +22536,7 @@ class DynamicTableComponent {
22728
22536
  ...(this.customFilters?.params || {}),
22729
22537
  },
22730
22538
  headers: _headers,
22731
- payload: _.merge({}, this.customUrl?.payload || {}, this.customFilters?.payload || {}),
22539
+ payload: ___default.merge({}, this.customUrl?.payload || {}, this.customFilters?.payload || {}),
22732
22540
  };
22733
22541
  let requestData = this.customUrl
22734
22542
  ? customRequest
@@ -23447,7 +23255,7 @@ class NdfTableComponent extends DestroySubject {
23447
23255
  const activatedQuery = this._activatedCriteriaSub.getValue();
23448
23256
  const currentValue = activatedQuery?.currentValue || {};
23449
23257
  const previousValue = activatedQuery?.previousValue || {};
23450
- const updatedKeys = _.union(_.keys(previousValue), _.keys(currentValue)).filter((key) => !_.isEqual(previousValue[key], currentValue[key]));
23258
+ const updatedKeys = ___default.union(___default.keys(previousValue), ___default.keys(currentValue)).filter((key) => !___default.isEqual(previousValue[key], currentValue[key]));
23451
23259
  const triggerKeys = this.filterReloadConfig.triggerFields || [];
23452
23260
  const shouldReload = triggerKeys.some((key) => updatedKeys.includes(key));
23453
23261
  if (shouldReload) {
@@ -23497,7 +23305,7 @@ class NdfTableComponent extends DestroySubject {
23497
23305
  }
23498
23306
  }
23499
23307
  actualExportTable(type) {
23500
- const request = _.cloneDeep(this.exportTableConfig?.request);
23308
+ const request = ___default.cloneDeep(this.exportTableConfig?.request);
23501
23309
  if (!request) {
23502
23310
  return EMPTY;
23503
23311
  }
@@ -23528,9 +23336,9 @@ class NdfTableComponent extends DestroySubject {
23528
23336
  }).pipe(switchMap((translations) => {
23529
23337
  const { blobName, blobNameEn } = this.exportTableConfig;
23530
23338
  const currentTranslations = translations[this._translateService.currentLang];
23531
- payload.reportMetaData.headers = headers.map((col) => _.get(currentTranslations, col));
23532
- payload.reportMetaData.blobName = _.get(translations['ar'], blobNameKey) ?? blobName;
23533
- payload.reportMetaData.blobNameEn = _.get(translations['en'], blobNameKey) ?? blobNameEn;
23339
+ payload.reportMetaData.headers = headers.map((col) => ___default.get(currentTranslations, col));
23340
+ payload.reportMetaData.blobName = ___default.get(translations['ar'], blobNameKey) ?? blobName;
23341
+ payload.reportMetaData.blobNameEn = ___default.get(translations['en'], blobNameKey) ?? blobNameEn;
23534
23342
  return this._ngTableService.exportTable(request, payload).pipe(catchError((_) => {
23535
23343
  this._toastrService.error('TABLE.EXPORT.requestError');
23536
23344
  return of(false);
@@ -23573,7 +23381,7 @@ class NdfTableComponent extends DestroySubject {
23573
23381
  filters.params[_key] = search
23574
23382
  ? NxQlQuery.prepareValue(search, this.textSearchConfig.operator || COMPARISON_OPERATOR.equals)
23575
23383
  : undefined;
23576
- return _.cloneDeep({ ...filters });
23384
+ return ___default.cloneDeep({ ...filters });
23577
23385
  }
23578
23386
  else {
23579
23387
  const { predicateList } = filters?.payload || { predicateList: [] };
@@ -23593,7 +23401,7 @@ class NdfTableComponent extends DestroySubject {
23593
23401
  else if (searchIndex >= 0) {
23594
23402
  predicateList.splice(searchIndex);
23595
23403
  }
23596
- return _.cloneDeep({ ...filters });
23404
+ return ___default.cloneDeep({ ...filters });
23597
23405
  }
23598
23406
  }
23599
23407
  }
@@ -23646,7 +23454,7 @@ class NdfTableComponent extends DestroySubject {
23646
23454
  this._ndfTableConfigurationService
23647
23455
  .getTableConfiguration(key, this.configPath)
23648
23456
  .pipe(switchMap((config) => {
23649
- if (this.configTransformer && _.isFunction(this.configTransformer)) {
23457
+ if (this.configTransformer && ___default.isFunction(this.configTransformer)) {
23650
23458
  return this.configTransformer(config);
23651
23459
  }
23652
23460
  return of(config);
@@ -34635,7 +34443,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
34635
34443
  class NotificationsListComponent extends BaseListNotifications {
34636
34444
  set config(val) {
34637
34445
  if (val && typeof val === 'object') {
34638
- this.options = _.merge(DEFAULT_LIST_OPTIONS, this.options, val);
34446
+ this.options = ___default.merge(DEFAULT_LIST_OPTIONS, this.options, val);
34639
34447
  }
34640
34448
  }
34641
34449
  constructor(inject, _options) {
@@ -34643,7 +34451,7 @@ class NotificationsListComponent extends BaseListNotifications {
34643
34451
  this.inject = inject;
34644
34452
  this.openSettings = new EventEmitter();
34645
34453
  this.openNotifications = new EventEmitter();
34646
- this.options = _.merge(DEFAULT_LIST_OPTIONS, _options ? _options : {});
34454
+ this.options = ___default.merge(DEFAULT_LIST_OPTIONS, _options ? _options : {});
34647
34455
  this._paramsService.setDefaultParams({
34648
34456
  pageSize: this.options.pageSize || 20,
34649
34457
  sortBy: 'dc:created',
@@ -35037,7 +34845,7 @@ class NotificationsListContainerComponent extends BaseListNotifications {
35037
34845
  this.inject = inject;
35038
34846
  this.styleClass = "";
35039
34847
  this.paginationMode = PAGINATION_MODE.navigator;
35040
- this.options = _.merge(DEFAULT_CONTAINER_OPTIONS, _options ? _options : {});
34848
+ this.options = ___default.merge(DEFAULT_CONTAINER_OPTIONS, _options ? _options : {});
35041
34849
  this.paginationMode = this.options?.paginationMode || "navigator";
35042
34850
  this._paramsService.setDefaultParams({
35043
34851
  pageSize: this.options.pageSize || 20,
@@ -36574,7 +36382,7 @@ class StatisticService extends BaseService {
36574
36382
  return iif(() => this._cache.has(key) && !ignoreCache, of(this._cache.get(key)), _getDataFromRemote$);
36575
36383
  }
36576
36384
  prepareStatistic(config, params = {}) {
36577
- const hasOnQueryMethod = config?.onQuery && _.isFunction(config.onQuery);
36385
+ const hasOnQueryMethod = config?.onQuery && ___default.isFunction(config.onQuery);
36578
36386
  let _response = null;
36579
36387
  return this.getStatistic({
36580
36388
  params: hasOnQueryMethod ? config?.onQuery(params) : params,
@@ -36588,7 +36396,7 @@ class StatisticService extends BaseService {
36588
36396
  return throwError(() => error);
36589
36397
  }), map((res) => {
36590
36398
  _response = res;
36591
- return _.get(res, config.propertyPath);
36399
+ return ___default.get(res, config.propertyPath);
36592
36400
  }), map((rawData) => {
36593
36401
  if (config?.transformData) {
36594
36402
  return config?.transformData(rawData, _response);
@@ -36608,12 +36416,12 @@ class StatisticService extends BaseService {
36608
36416
  }
36609
36417
  _getLabel(item, config) {
36610
36418
  const translate = (key) => this.translateService.instant(`${this.translatePrefix}.${key}`);
36611
- const label = config?.bindLabel ? _.get(item, config.bindLabel) : null;
36419
+ const label = config?.bindLabel ? ___default.get(item, config.bindLabel) : null;
36612
36420
  return label || translate(item.key);
36613
36421
  }
36614
36422
  _getValue(item, config) {
36615
36423
  const bindValue = config?.bindValue || this.bindValue;
36616
- return bindValue ? _.get(item, bindValue) : item.docCount;
36424
+ return bindValue ? ___default.get(item, bindValue) : item.docCount;
36617
36425
  }
36618
36426
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: StatisticService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
36619
36427
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: StatisticService, providedIn: 'root' }); }
@@ -36627,7 +36435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
36627
36435
 
36628
36436
  class DataChartComponent extends BaseChartComponent {
36629
36437
  set dataSource(obj) {
36630
- const isEqual = _.isEqual(obj, this._dataSource);
36438
+ const isEqual = ___default.isEqual(obj, this._dataSource);
36631
36439
  this._dataSource = obj;
36632
36440
  if (obj && !isEqual && this._isInitialized) {
36633
36441
  this._rebuildDataSub.next({});
@@ -36637,7 +36445,7 @@ class DataChartComponent extends BaseChartComponent {
36637
36445
  return this._dataSource;
36638
36446
  }
36639
36447
  set updateData(params) {
36640
- this._rebuildDataSub.next(_.isObject(params) ? params : {});
36448
+ this._rebuildDataSub.next(___default.isObject(params) ? params : {});
36641
36449
  }
36642
36450
  constructor(_translateService, _statisticService) {
36643
36451
  super();
@@ -37238,14 +37046,14 @@ class BaseChart extends DestroySubject {
37238
37046
  return this._data;
37239
37047
  }
37240
37048
  set config(config) {
37241
- this._config = _.cloneDeep(config);
37049
+ this._config = ___default.cloneDeep(config);
37242
37050
  this._configSub.next(this._config);
37243
37051
  }
37244
37052
  get config() {
37245
37053
  return this._config;
37246
37054
  }
37247
37055
  set criteria(value) {
37248
- this._criteria = _.cloneDeep(value);
37056
+ this._criteria = ___default.cloneDeep(value);
37249
37057
  }
37250
37058
  get criteria() {
37251
37059
  return this._criteria;
@@ -37389,7 +37197,7 @@ class NdfReportsService extends BaseService {
37389
37197
  ...(request?.params || {}),
37390
37198
  ...(criteria?.params || {}),
37391
37199
  };
37392
- const payload = _.mergeWith(request.payload || {}, criteria?.payload || {}, (objValue, srcValue, key) => {
37200
+ const payload = ___default.mergeWith(request.payload || {}, criteria?.payload || {}, (objValue, srcValue, key) => {
37393
37201
  if (key === "predicateList") {
37394
37202
  return (objValue || []).concat(srcValue || []);
37395
37203
  }
@@ -37487,7 +37295,7 @@ class ChartManagerService {
37487
37295
  const hiddenChart = new Chart(hiddenCanvas, {
37488
37296
  type: chart.config?.type,
37489
37297
  data: chart.config.data,
37490
- options: _.merge({}, chart.config.options, {
37298
+ options: ___default.merge({}, chart.config.options, {
37491
37299
  animation: false,
37492
37300
  responsive: false,
37493
37301
  layout: {
@@ -37525,7 +37333,7 @@ class ChartManagerService {
37525
37333
  },
37526
37334
  }
37527
37335
  : {}, options),
37528
- plugins: _.merge([], [
37336
+ plugins: ___default.merge([], [
37529
37337
  chartDataLabels,
37530
37338
  {
37531
37339
  id: "canvasBackgroundColor",
@@ -37578,13 +37386,13 @@ class ReportTransformService {
37578
37386
  this._ndfTransformService = _ndfTransformService;
37579
37387
  }
37580
37388
  _extractDataFormats(data) {
37581
- const extractedData = _.flatMap(data, (item) => {
37389
+ const extractedData = ___default.flatMap(data, (item) => {
37582
37390
  if ("datasource" in item && Array.isArray(item?.datasource)) {
37583
- return _.filter(item.datasource, (source) => source.dataFormat);
37391
+ return ___default.filter(item.datasource, (source) => source.dataFormat);
37584
37392
  }
37585
37393
  return [];
37586
37394
  });
37587
- return _.groupBy(extractedData, "dataFormat");
37395
+ return ___default.groupBy(extractedData, "dataFormat");
37588
37396
  }
37589
37397
  prepareData(reportData, config) {
37590
37398
  const fields = this._extractDataFormats(config.reports.items);
@@ -37604,7 +37412,7 @@ class ReportTransformService {
37604
37412
  }
37605
37413
  data.forEach((localizedBuckets) => {
37606
37414
  localizedBuckets.forEach((item) => {
37607
- _.set(reportData, item.propertyPath, item.buckets);
37415
+ ___default.set(reportData, item.propertyPath, item.buckets);
37608
37416
  });
37609
37417
  });
37610
37418
  return reportData;
@@ -37626,12 +37434,12 @@ class ReportTransformService {
37626
37434
  return of([]);
37627
37435
  }
37628
37436
  _getUniqueKeysFromFormats(formats) {
37629
- return _.uniq(_.flatMap(formats, (item) => _.map(item.buckets, (bk) => this._key(bk.key))));
37437
+ return ___default.uniq(___default.flatMap(formats, (item) => ___default.map(item.buckets, (bk) => this._key(bk.key))));
37630
37438
  }
37631
37439
  _extractBuckets(values, reportData) {
37632
37440
  return values
37633
37441
  .map((value) => {
37634
- const buckets = _.get(reportData, value.propertyPath);
37442
+ const buckets = ___default.get(reportData, value.propertyPath);
37635
37443
  if (buckets?.length) {
37636
37444
  return {
37637
37445
  ...value,
@@ -37646,7 +37454,7 @@ class ReportTransformService {
37646
37454
  return !!response?.length
37647
37455
  ? formats.map((format) => {
37648
37456
  format.buckets.forEach((bucket) => {
37649
- const cacheItem = _.find(response, { code: this._key(bucket.key) });
37457
+ const cacheItem = ___default.find(response, { code: this._key(bucket.key) });
37650
37458
  if (cacheItem) {
37651
37459
  bucket.localized = {
37652
37460
  ar: cacheItem.arabicTitle,
@@ -37691,7 +37499,7 @@ class DynamicTimelineReportService {
37691
37499
  if (!this._selectedGroupSub.getValue()) {
37692
37500
  this._selectedGroupSub.next(config?.group?.selected || 'week');
37693
37501
  }
37694
- this.payload = _.merge(this.prepareSelectedGroups(config), criteria || {});
37502
+ this.payload = ___default.merge(this.prepareSelectedGroups(config), criteria || {});
37695
37503
  }), switchMap(([config, criteria]) => {
37696
37504
  const request = config?.request;
37697
37505
  if (!request) {
@@ -37881,17 +37689,17 @@ class DigitChartService {
37881
37689
  return of(null);
37882
37690
  }
37883
37691
  return of(config.datasource).pipe(map((sourceConfig) => {
37884
- const rawData = _.get(response, sourceConfig.propertyPath);
37692
+ const rawData = ___default.get(response, sourceConfig.propertyPath);
37885
37693
  if (this._dataTransformers.hasDigitsTransformer(sourceConfig?.transformer)) {
37886
37694
  const adapter = this._dataTransformers.getDigitsTransformer(sourceConfig?.transformer);
37887
37695
  return adapter(rawData, response, filterCriteria);
37888
37696
  }
37889
- if (_.isObject(rawData)) {
37890
- return _.get(rawData, sourceConfig?.bindValue, rawData);
37697
+ if (___default.isObject(rawData)) {
37698
+ return ___default.get(rawData, sourceConfig?.bindValue, rawData);
37891
37699
  }
37892
37700
  if (Array.isArray(rawData)) {
37893
37701
  return rawData.reduce((acc, item) => {
37894
- acc += Number(_.get(item, sourceConfig?.bindValue, item.docCount));
37702
+ acc += Number(___default.get(item, sourceConfig?.bindValue, item.docCount));
37895
37703
  }, 0);
37896
37704
  }
37897
37705
  return rawData;
@@ -37939,7 +37747,7 @@ class BaseChartBuilderService {
37939
37747
  }));
37940
37748
  }
37941
37749
  _prepareDataSource(sourceConfig, response, filterCriteria) {
37942
- const buckets = _.get(response, sourceConfig.propertyPath) || [];
37750
+ const buckets = ___default.get(response, sourceConfig.propertyPath) || [];
37943
37751
  return of(buckets).pipe(map((rawData) => {
37944
37752
  if (this._dataTransformers.hasGraphTransformer(sourceConfig?.transformer)) {
37945
37753
  const transformer = this._dataTransformers.getGraphTransformer(sourceConfig?.transformer);
@@ -37963,12 +37771,12 @@ class BaseChartBuilderService {
37963
37771
  return item.localized[currentLang];
37964
37772
  }
37965
37773
  const label = config.bindLabel
37966
- ? _.get(item, config?.bindLabel[this._translateService.currentLang])
37774
+ ? ___default.get(item, config?.bindLabel[this._translateService.currentLang])
37967
37775
  : null;
37968
37776
  return label || this._translateService.instant(`${this._translatePrefix}${item.key}`);
37969
37777
  }
37970
37778
  _getValue(item, source) {
37971
- return _.get(item, source?.bindValue, item.docCount);
37779
+ return ___default.get(item, source?.bindValue, item.docCount);
37972
37780
  }
37973
37781
  _prepareChartData(results, config) {
37974
37782
  const { chart } = config;
@@ -38109,7 +37917,7 @@ function getHorizontalBarOptions(override = {}) {
38109
37917
  }
38110
37918
  }
38111
37919
  };
38112
- return _.merge(data, override);
37920
+ return ___default.merge(data, override);
38113
37921
  }
38114
37922
 
38115
37923
  /**
@@ -38136,7 +37944,7 @@ function getPieOptions(override = {}) {
38136
37944
  }
38137
37945
  }
38138
37946
  };
38139
- return _.merge(data, override);
37947
+ return ___default.merge(data, override);
38140
37948
  }
38141
37949
 
38142
37950
  /**
@@ -38175,7 +37983,7 @@ function getLineOptions(override = {}) {
38175
37983
  }
38176
37984
  }
38177
37985
  };
38178
- return _.merge(data, override);
37986
+ return ___default.merge(data, override);
38179
37987
  }
38180
37988
 
38181
37989
  /**
@@ -38203,7 +38011,7 @@ function getDoughnutOptions(override = {}) {
38203
38011
  }
38204
38012
  }
38205
38013
  };
38206
- return _.merge(data, override);
38014
+ return ___default.merge(data, override);
38207
38015
  }
38208
38016
 
38209
38017
  /**
@@ -38242,7 +38050,7 @@ function getVerticalBarOptions(override = {}) {
38242
38050
  }
38243
38051
  }
38244
38052
  };
38245
- return _.merge(data, override);
38053
+ return ___default.merge(data, override);
38246
38054
  }
38247
38055
 
38248
38056
  /**
@@ -38287,7 +38095,7 @@ function buildCustomUrl(requestConfig, detailsConfig) {
38287
38095
  };
38288
38096
  const customUrlOverrides = detailsConfig?.request?.customUrl || {};
38289
38097
  const payload = { payload: detailsConfig.request?.payload || {} };
38290
- return _.merge(baseUrl, customUrlOverrides, payload);
38098
+ return ___default.merge(baseUrl, customUrlOverrides, payload);
38291
38099
  }
38292
38100
  /**
38293
38101
  * Merges headers from different configuration sources
@@ -38311,7 +38119,7 @@ function getPageProvider(requestConfig, detailsConfig) {
38311
38119
  * Builds sorting configuration with defaults
38312
38120
  */
38313
38121
  function buildSortingConfig(detailsConfig) {
38314
- return _.merge({
38122
+ return ___default.merge({
38315
38123
  sortBy: 'dc:modified',
38316
38124
  sortOrder: 'desc'
38317
38125
  }, detailsConfig.sortingBy || {});
@@ -38362,7 +38170,7 @@ function buildGlobalFilters(globalFilters, details) {
38362
38170
  * Prepares filter fields based on configuration
38363
38171
  */
38364
38172
  function prepareFiltersFields(fields, params, payload) {
38365
- let _fields = _.clone(fields);
38173
+ let _fields = ___default.clone(fields);
38366
38174
  if (payload?.predicateList?.length > 0) {
38367
38175
  const keys = payload?.predicateList.map((predicate) => predicate.name);
38368
38176
  _fields = fields.filter((field) => !keys.includes(field.config.fieldKey));
@@ -38375,7 +38183,7 @@ function prepareFiltersFields(fields, params, payload) {
38375
38183
  function prepareNdfTableFilters(filters, config, details) {
38376
38184
  const globalFilters = config?.filters;
38377
38185
  const { fields, ...options } = filters || {};
38378
- return _.merge({}, {
38186
+ return ___default.merge({}, {
38379
38187
  mode: globalFilters.mode || 'payload',
38380
38188
  stringifyParams: false,
38381
38189
  fields: prepareFiltersFields(globalFilters.fields, details.queryParam || {}, details?.customUrl?.payload || {}),
@@ -38604,7 +38412,7 @@ class ReportConfigMapperService {
38604
38412
  if (Array.isArray(callbacks) && callbacks.length > 0) {
38605
38413
  const _callbacks = this._prepareCallbacks(callbacks, key);
38606
38414
  if (_callbacks?.plugins) {
38607
- _.merge(_options, _callbacks);
38415
+ ___default.merge(_options, _callbacks);
38608
38416
  }
38609
38417
  }
38610
38418
  return _options;
@@ -38623,7 +38431,7 @@ class ReportConfigMapperService {
38623
38431
  type
38624
38432
  });
38625
38433
  if (fn && typeof fn === 'function') {
38626
- _.set(data, callback.path, fn);
38434
+ ___default.set(data, callback.path, fn);
38627
38435
  }
38628
38436
  }
38629
38437
  catch (e) { }
@@ -38972,7 +38780,7 @@ const TIME_GROUPS = {
38972
38780
 
38973
38781
  class BaseReport extends DestroySubject {
38974
38782
  set definition(obj) {
38975
- this._definition = _.cloneDeep(obj);
38783
+ this._definition = ___default.cloneDeep(obj);
38976
38784
  if (obj) {
38977
38785
  this._configSub.next(this._prepareConfig(obj));
38978
38786
  }
@@ -38981,7 +38789,7 @@ class BaseReport extends DestroySubject {
38981
38789
  return this._configSub.getValue();
38982
38790
  }
38983
38791
  set criteria(value) {
38984
- this._criteria = _.cloneDeep(value);
38792
+ this._criteria = ___default.cloneDeep(value);
38985
38793
  this._criteriaSub.next(this._criteria);
38986
38794
  }
38987
38795
  get criteria() {
@@ -39043,7 +38851,7 @@ class ChartTypeSelectorComponent {
39043
38851
  this.typeChange = new EventEmitter();
39044
38852
  }
39045
38853
  set config(config) {
39046
- if (_.isBoolean(config?.enabled)) {
38854
+ if (___default.isBoolean(config?.enabled)) {
39047
38855
  this.isEnabled = config?.enabled;
39048
38856
  }
39049
38857
  if (Array.isArray(config?.allowedTypes) && config?.allowedTypes?.length > 1) {
@@ -39237,7 +39045,7 @@ class BaseGraphReport extends BaseReport {
39237
39045
  .subscribe((theme) => {
39238
39046
  this._initialTheme = theme;
39239
39047
  const { chart, ...config } = this._configSub.getValue();
39240
- const data = _.merge({}, this._definition, {
39048
+ const data = ___default.merge({}, this._definition, {
39241
39049
  chart: {
39242
39050
  type: chart.type
39243
39051
  }
@@ -39264,7 +39072,7 @@ class BaseCustomReport extends DestroySubject {
39264
39072
  return this._data;
39265
39073
  }
39266
39074
  set criteria(value) {
39267
- this._criteria = _.cloneDeep(value);
39075
+ this._criteria = ___default.cloneDeep(value);
39268
39076
  this._criteriaSub.next(this._criteria);
39269
39077
  }
39270
39078
  get criteria() {
@@ -39598,7 +39406,7 @@ class TimelineDialogComponent {
39598
39406
  this._timelineService.rebuild$,
39599
39407
  ]).pipe(this._timelineService.prepareData());
39600
39408
  this.filterCriteria$ = this._timelineService.selectedGroup$.pipe(map((group) => {
39601
- return _.cloneDeep(_.merge(this.chart.criteria || {}, this._timelineService.prepareSelectedGroups(this.chart.config)));
39409
+ return ___default.cloneDeep(___default.merge(this.chart.criteria || {}, this._timelineService.prepareSelectedGroups(this.chart.config)));
39602
39410
  }));
39603
39411
  }
39604
39412
  changeGroup(group) {
@@ -39655,10 +39463,10 @@ class DynamicTimelineReportComponent extends BaseGraphReport {
39655
39463
  super(injector);
39656
39464
  this.injector = injector;
39657
39465
  this._timelineService = this.injector.get(DynamicTimelineReportService);
39658
- this._criteria$ = this.criteria$.pipe(distinctUntilChanged((a, b) => _.isEqual(a, b)));
39466
+ this._criteria$ = this.criteria$.pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)));
39659
39467
  this.selectedGroup$ = this._timelineService.selectedGroup$;
39660
39468
  this.filterCriteria$ = combineLatest([this._criteria$, this._timelineService.selectedGroup$]).pipe(map(([criteria]) => {
39661
- return _.cloneDeep(_.merge(criteria || {}, this._timelineService.prepareSelectedGroups(this.config)));
39469
+ return ___default.cloneDeep(___default.merge(criteria || {}, this._timelineService.prepareSelectedGroups(this.config)));
39662
39470
  }));
39663
39471
  this.report$ = combineLatest([this.config$, this._criteria$, this._timelineService.rebuild$]).pipe(this._timelineService.prepareData());
39664
39472
  this._subscribeToLanguage();
@@ -39903,7 +39711,7 @@ class NdfReportsComponent extends BaseComponent {
39903
39711
  window.print();
39904
39712
  }
39905
39713
  filterChanged(criteria) {
39906
- if (_.isEqual(this.activeQuery, criteria)) {
39714
+ if (___default.isEqual(this.activeQuery, criteria)) {
39907
39715
  return;
39908
39716
  }
39909
39717
  this.onQueryChange.emit(criteria);
@@ -39935,7 +39743,7 @@ class NdfReportsComponent extends BaseComponent {
39935
39743
  if (!!data?.options?.filters?.fields?.length) {
39936
39744
  return data;
39937
39745
  }
39938
- return _.merge(data, {
39746
+ return ___default.merge(data, {
39939
39747
  options: { filters: prepareNdfTableFilters(data?.options?.filters, this.config, data) }
39940
39748
  });
39941
39749
  }))
@@ -39971,7 +39779,7 @@ class NdfReportsComponent extends BaseComponent {
39971
39779
  _prepareReports() {
39972
39780
  this.isLoadingResult = true;
39973
39781
  return combineLatest([
39974
- this.filtersParams$.pipe(distinctUntilChanged((a, b) => _.isEqual(a, b))),
39782
+ this.filtersParams$.pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b))),
39975
39783
  this.reportConfig$
39976
39784
  ]).pipe(tap(() => {
39977
39785
  this.isLoadingResult = true;
@@ -40062,16 +39870,16 @@ class NdfReportsComponent extends BaseComponent {
40062
39870
  return validFields.some((field) => changedKeys.includes(field));
40063
39871
  }
40064
39872
  _getChangedKeys(previous, current) {
40065
- const allKeys = _.union(_.keys(previous), _.keys(current));
40066
- return allKeys.filter((key) => !_.isEqual(previous[key], current[key]));
39873
+ const allKeys = ___default.union(___default.keys(previous), ___default.keys(current));
39874
+ return allKeys.filter((key) => !___default.isEqual(previous[key], current[key]));
40067
39875
  }
40068
39876
  _updateAggregations(aggregations) {
40069
- this.aggregations = _.cloneDeep(aggregations);
39877
+ this.aggregations = ___default.cloneDeep(aggregations);
40070
39878
  }
40071
39879
  _checkConfigChange(value) {
40072
39880
  const { activeQuery, ...config } = value;
40073
39881
  const { activeQuery: aq, ...currentConfig } = this._configSubject.getValue() || {};
40074
- this._isConfigChanged = !_.isEqual(currentConfig, config);
39882
+ this._isConfigChanged = !___default.isEqual(currentConfig, config);
40075
39883
  }
40076
39884
  _loadReportsConfig(key) {
40077
39885
  this._configurationService
@@ -40084,7 +39892,7 @@ class NdfReportsComponent extends BaseComponent {
40084
39892
  });
40085
39893
  }
40086
39894
  _initReportsConfig(config) {
40087
- const value = _.cloneDeep(config);
39895
+ const value = ___default.cloneDeep(config);
40088
39896
  this._checkConfigChange(value);
40089
39897
  this._configSubject.next(value);
40090
39898
  if (value?.activeQuery && !!Object.keys(value?.activeQuery).length) {
@@ -40427,16 +40235,16 @@ class NdfConfigEditorComponent extends DestroySubject {
40427
40235
  const optionsValue = changes.options?.currentValue;
40428
40236
  const isThemeFirstChange = changes?.theme?.firstChange;
40429
40237
  const activeTheme = this._optionsSubject.getValue().theme;
40430
- let mergedOptions = _.merge(this._defaultEditorOptions, optionsValue || {}, { language: 'json' });
40238
+ let mergedOptions = ___default.merge(this._defaultEditorOptions, optionsValue || {}, { language: 'json' });
40431
40239
  if (themeValue && isThemeFirstChange) {
40432
40240
  mergedOptions.theme = themeValue;
40433
40241
  }
40434
40242
  if (!optionsValue && activeTheme && themeValue && activeTheme !== themeValue) {
40435
40243
  const activeOptions = this._optionsSubject.getValue();
40436
- this._optionsSubject.next(_.merge(activeOptions, { theme: themeValue }));
40244
+ this._optionsSubject.next(___default.merge(activeOptions, { theme: themeValue }));
40437
40245
  }
40438
40246
  if (optionsValue || (themeValue && isThemeFirstChange)) {
40439
- this._optionsSubject.next(_.cloneDeep(mergedOptions));
40247
+ this._optionsSubject.next(___default.cloneDeep(mergedOptions));
40440
40248
  }
40441
40249
  if (themeValue && !isThemeFirstChange) {
40442
40250
  this._themeSubject.next(themeValue);