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.
- package/fesm2022/nuxeo-development-framework.mjs +121 -313
- package/fesm2022/nuxeo-development-framework.mjs.map +1 -1
- package/lib/components/diagrams/components/custom-connection.component.d.ts +1 -1
- package/lib/components/reports/ndf-reports/base/base-graph.report.d.ts +1 -1
- package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +1 -1
- package/lib/components/reports/ndf-reports/services/chart-theme.service.d.ts +1 -1
- package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +1 -1
- package/lib/core/services/initialization/initialization.service.d.ts +0 -3
- package/lib/core/services/nuxeo/nuxeo.service.d.ts +0 -2
- package/package.json +2 -2
- package/lib/core/services/nuxeo/new-nuxeo-overide.d.ts +0 -15
|
@@ -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
|
|
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
|
|
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
|
|
49
|
-
import _cloneDeep from 'lodash
|
|
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
|
|
95
|
-
import _isEqual from 'lodash
|
|
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 =
|
|
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
|
|
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.
|
|
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.
|
|
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 ?
|
|
4733
|
-
const data = cloneDeep(
|
|
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(
|
|
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 =
|
|
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(
|
|
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 =
|
|
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 =
|
|
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:
|
|
17143
|
-
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 =
|
|
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 =
|
|
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 =
|
|
17224
|
-
const value =
|
|
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:
|
|
17041
|
+
ar: ___default.get(entry, biddings.label.ar, entry.title)
|
|
17234
17042
|
};
|
|
17235
17043
|
}
|
|
17236
17044
|
if (biddings?.count) {
|
|
17237
|
-
option.count =
|
|
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,
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
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 (
|
|
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) =>
|
|
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) =>
|
|
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 &&
|
|
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) =>
|
|
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] =
|
|
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) =>
|
|
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,
|
|
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
|
|
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 (
|
|
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) =>
|
|
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 =
|
|
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:
|
|
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 =
|
|
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 =
|
|
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) =>
|
|
23532
|
-
payload.reportMetaData.blobName =
|
|
23533
|
-
payload.reportMetaData.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
|
|
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
|
|
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 &&
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 &&
|
|
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
|
|
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 ?
|
|
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 ?
|
|
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 =
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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:
|
|
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:
|
|
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 =
|
|
37389
|
+
const extractedData = ___default.flatMap(data, (item) => {
|
|
37582
37390
|
if ("datasource" in item && Array.isArray(item?.datasource)) {
|
|
37583
|
-
return
|
|
37391
|
+
return ___default.filter(item.datasource, (source) => source.dataFormat);
|
|
37584
37392
|
}
|
|
37585
37393
|
return [];
|
|
37586
37394
|
});
|
|
37587
|
-
return
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 (
|
|
37890
|
-
return
|
|
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(
|
|
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 =
|
|
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
|
-
?
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 (
|
|
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 =
|
|
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 =
|
|
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
|
|
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) =>
|
|
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
|
|
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 (
|
|
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
|
|
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) =>
|
|
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 =
|
|
40066
|
-
return allKeys.filter((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 =
|
|
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 = !
|
|
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 =
|
|
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 =
|
|
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(
|
|
40244
|
+
this._optionsSubject.next(___default.merge(activeOptions, { theme: themeValue }));
|
|
40437
40245
|
}
|
|
40438
40246
|
if (optionsValue || (themeValue && isThemeFirstChange)) {
|
|
40439
|
-
this._optionsSubject.next(
|
|
40247
|
+
this._optionsSubject.next(___default.cloneDeep(mergedOptions));
|
|
40440
40248
|
}
|
|
40441
40249
|
if (themeValue && !isThemeFirstChange) {
|
|
40442
40250
|
this._themeSubject.next(themeValue);
|