nuxeo-development-framework 6.1.4 → 6.1.5

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.
@@ -32,7 +32,7 @@ import * as i7 from '@angular/material/tooltip';
32
32
  import { MatTooltipModule } from '@angular/material/tooltip';
33
33
  import { merge } from 'lodash-es';
34
34
  import * as _ from 'lodash';
35
- import ___default, { cloneDeep, filter, sortBy, each, unionWith, isEqual, isNil, isObject as isObject$1, isDate, isBoolean, isNumber, keys, trim, get, set, values, union, assign, keyBy, flatMap, map as map$1 } from 'lodash';
35
+ import ___default, { cloneDeep, filter, sortBy, each, unionWith, isEqual, isNil, keys, trim, get, set, values, isObject as isObject$1, isDate, isBoolean, isNumber, union, assign, keyBy, flatMap, map as map$1 } from 'lodash';
36
36
  import * as moment$6 from 'moment';
37
37
  import moment__default, { isMoment } from 'moment';
38
38
  import _omit from 'lodash/omit';
@@ -96,10 +96,10 @@ import * as i7$3 from '@angular/cdk/drag-drop';
96
96
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
97
97
  import * as i5$3 from '@angular/material/autocomplete';
98
98
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
99
+ import stringHash from 'string-hash';
99
100
  import * as i5$4 from 'ngx-mask';
100
101
  import { NgxMaskModule } from 'ngx-mask';
101
102
  import * as moment$7 from 'moment/moment';
102
- import stringHash from 'string-hash';
103
103
  import * as i5$5 from '@angular/cdk/layout';
104
104
  import { LayoutModule } from '@angular/cdk/layout';
105
105
  import Dynamsoft from 'dwt';
@@ -14793,6 +14793,7 @@ class AggregationFieldService {
14793
14793
  en: ___default.get(item, config === null || config === void 0 ? void 0 : config.bindLabel.en),
14794
14794
  }
14795
14795
  : null,
14796
+ labelTemplate: config === null || config === void 0 ? void 0 : config.labelTemplate,
14796
14797
  };
14797
14798
  if (config === null || config === void 0 ? void 0 : config.tooltip) {
14798
14799
  const _a = config === null || config === void 0 ? void 0 : config.tooltip, { properties } = _a, tooltipConfig = __rest(_a, ["properties"]);
@@ -14933,6 +14934,357 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
14933
14934
  }]
14934
14935
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
14935
14936
 
14937
+ /**
14938
+ * Creates a secure context for function evaluation that prevents access to the window object.
14939
+ * @returns {Record<string, any>} A secure context object with safe properties.
14940
+ */
14941
+ function createSecureContext() {
14942
+ // Create a secure context with only safe properties
14943
+ return {
14944
+ // Add any safe globals here that should be accessible
14945
+ console: {
14946
+ log: console.log,
14947
+ warn: console.warn,
14948
+ error: console.error
14949
+ },
14950
+ // Add other safe objects/functions as needed
14951
+ Math,
14952
+ Date,
14953
+ Number,
14954
+ String,
14955
+ Boolean,
14956
+ Array,
14957
+ Object,
14958
+ JSON,
14959
+ // Prevent access to window
14960
+ window: undefined,
14961
+ self: undefined,
14962
+ globalThis: undefined,
14963
+ _: ___default // Include lodash if needed, but ensure it's used safely
14964
+ };
14965
+ }
14966
+ /**
14967
+ * A utility class for evaluating expressions, interpolating strings, and working with templates.
14968
+ * This class provides static methods for dynamic evaluation of code, string interpolation,
14969
+ * and template processing with caching capabilities.
14970
+ */
14971
+ class Evaluator {
14972
+ /**
14973
+ * Creates a function from a string or returns the function if already provided.
14974
+ * Uses a secure context to prevent access to the window object by default.
14975
+ * @param {string|Function} func - The function or string to convert to a function.
14976
+ * @param {...any} params - The parameters to pass to the function.
14977
+ * @param {EvaluatorOptions} [options={}] - Optional configuration for the evaluation.
14978
+ * @returns {Function} - The resulting function.
14979
+ */
14980
+ static evaluator(func, ...params) {
14981
+ // Extract options if the last parameter is an options object
14982
+ let options = {};
14983
+ if (params.length > 0 &&
14984
+ params[params.length - 1] &&
14985
+ typeof params[params.length - 1] === 'object' &&
14986
+ 'securityMode' in params[params.length - 1]) {
14987
+ options = params.pop();
14988
+ }
14989
+ if (typeof func === 'function') {
14990
+ return func;
14991
+ }
14992
+ if (typeof params[0] === 'object') {
14993
+ params = keys(params[0]);
14994
+ }
14995
+ // Check if we should use secure mode (default) or unsafe mode
14996
+ const securityMode = options.securityMode || 'secure';
14997
+ if (securityMode === 'unsafe') {
14998
+ // In unsafe mode, create a function with access to all globals
14999
+ return new Function(...params, func);
15000
+ }
15001
+ const sandbox = createSecureContext();
15002
+ const sandboxKeys = Object.keys(sandbox);
15003
+ const sandboxAssignments = sandboxKeys.map((key) => `const ${key} = sandbox.${key};`).join('');
15004
+ const wrapper = new Function(...params, 'sandbox', `${sandboxAssignments}${func}`);
15005
+ return (...args) => wrapper(...args, sandbox);
15006
+ }
15007
+ /**
15008
+ * Replaces template expressions in a string with values from data.
15009
+ * Supports function calls within templates and fallback values using || syntax.
15010
+ * By default, ensures evaluation happens in a secure context to prevent access to window object.
15011
+ * @param {string} rawTemplate - The template string containing expressions to interpolate.
15012
+ * @param {Record<string, any>} data - The data object containing values to use for interpolation.
15013
+ * @param {EvaluatorOptions} [options={}] - Optional configuration for the interpolation process.
15014
+ * @returns {string} - The interpolated string with all expressions replaced with actual values.
15015
+ */
15016
+ static interpolateString(rawTemplate, data, options = {}) {
15017
+ if (!rawTemplate) {
15018
+ return '';
15019
+ }
15020
+ if (typeof rawTemplate !== 'string') {
15021
+ return rawTemplate.toString();
15022
+ }
15023
+ // Check if we should use secure mode (default) or unsafe mode
15024
+ const securityMode = options.securityMode || 'secure';
15025
+ // Create a secure data object if needed
15026
+ const secureData = securityMode === 'unsafe'
15027
+ ? data
15028
+ : Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), {
15029
+ // Ensure these remain undefined
15030
+ window: undefined, self: undefined, globalThis: undefined });
15031
+ return rawTemplate.replace(/({{\s*(.*?)\s*}})/g, (match, $1, expression) => {
15032
+ if (expression.indexOf('(') !== -1) {
15033
+ return expression.replace(/([^(]+)\(([^)]+)\s*\);?/, (_, fnName, argsStr) => {
15034
+ fnName = trim(fnName);
15035
+ const func = get(secureData, fnName);
15036
+ if (func) {
15037
+ if (argsStr) {
15038
+ const args = argsStr.split(',').map((arg) => {
15039
+ const trimmed = trim(arg);
15040
+ if (/^['"]/.test(trimmed))
15041
+ return trimmed.slice(1, -1);
15042
+ return get(secureData, trimmed);
15043
+ });
15044
+ return Evaluator.evaluate(func, args, '', false, secureData, options);
15045
+ }
15046
+ return Evaluator.evaluate(func, [], '', false, secureData, options);
15047
+ }
15048
+ return '';
15049
+ });
15050
+ }
15051
+ else {
15052
+ let dataPath = expression;
15053
+ if (expression.indexOf('?') !== -1) {
15054
+ dataPath = expression.replace(/\?\./g, '.');
15055
+ }
15056
+ const parts = dataPath.split('||').map((item) => item.trim());
15057
+ let value = '';
15058
+ let path = '';
15059
+ for (let i = 0; i < parts.length; i++) {
15060
+ path = parts[i];
15061
+ if (___default.has(secureData, path)) {
15062
+ value = ___default.get(secureData, path);
15063
+ break;
15064
+ }
15065
+ }
15066
+ if (options.data) {
15067
+ set(options.data, path, value);
15068
+ }
15069
+ return value;
15070
+ }
15071
+ });
15072
+ }
15073
+ /**
15074
+ * Performs an evaluation using the evaluation context of this component.
15075
+ * By default, ensures evaluation happens in a secure context to prevent access to window object.
15076
+ * @param {string|Function|object} func - The function or string to evaluate.
15077
+ * @param {object} args - The arguments to pass to the evaluation.
15078
+ * @param {string} ret - The name of the variable within the evaluation context to return.
15079
+ * @param {boolean} interpolate - Determines if it should replace all {{ }} token references with actual data.
15080
+ * @param {object} context - - The evaluation context.
15081
+ * @param {EvaluatorOptions } options - The options to pass to the evaluation.
15082
+ * @returns {*} - The result of the evaluation.
15083
+ */
15084
+ static evaluate(func, args = {}, ret = 'show', interpolate = false, context = {}, options = {}) {
15085
+ let returnVal = null;
15086
+ const field = args.field ? args.field : { key: 'unknown' };
15087
+ const fieldKey = field.key;
15088
+ if (typeof func === 'string') {
15089
+ if (ret) {
15090
+ func = `var ${ret};${func};return ${ret}`;
15091
+ }
15092
+ if (interpolate) {
15093
+ func = Evaluator.interpolate(func, args, options);
15094
+ }
15095
+ try {
15096
+ // Pass the security mode option to the evaluator
15097
+ const evaluatorOptions = { securityMode: options.securityMode || 'secure' };
15098
+ func = Evaluator.evaluator(func, args, context, evaluatorOptions);
15099
+ args = Array.isArray(args) ? args : values(args);
15100
+ }
15101
+ catch (err) {
15102
+ console.warn(`An error occured within the custom function for ${fieldKey}`, err);
15103
+ returnVal = null;
15104
+ func = false;
15105
+ }
15106
+ }
15107
+ if (typeof func === 'function') {
15108
+ try {
15109
+ returnVal = Evaluator.execute(func, args, context, options);
15110
+ }
15111
+ catch (err) {
15112
+ returnVal = null;
15113
+ console.warn(`An error occured within custom function for ${fieldKey}`, err);
15114
+ }
15115
+ }
15116
+ else if (func) {
15117
+ console.warn(`Unknown function type for ${fieldKey}`);
15118
+ }
15119
+ return returnVal;
15120
+ }
15121
+ /**
15122
+ * Executes a function with provided arguments and context.
15123
+ * By default, ensures execution happens in a secure context to prevent access to window object.
15124
+ * @param {Function} func - The function to execute.
15125
+ * @param {any[]|Record<string, any>} args - The arguments to pass to the function, either as an array or object.
15126
+ * @param {Record<string, any>} [context={}] - The context (this) to use when executing the function.
15127
+ * @param {EvaluatorOptions} [options={}] - Optional configuration for the execution.
15128
+ * @returns {any} - The result of the function execution.
15129
+ */
15130
+ static execute(func, args, context = {}, options = {}) {
15131
+ // Check if we should use secure mode (default) or unsafe mode
15132
+ const securityMode = options.securityMode || 'secure';
15133
+ if (securityMode === 'unsafe') {
15134
+ // In unsafe mode, execute with the original context
15135
+ return Array.isArray(args) ? func.apply(context, args) : func.call(context, args);
15136
+ }
15137
+ else {
15138
+ // In secure mode, create a secure context by merging the provided context with our secure context
15139
+ const secureContext = Object.assign(Object.assign(Object.assign({}, createSecureContext()), context), {
15140
+ // Ensure these remain undefined even if they were in the provided context
15141
+ window: undefined, self: undefined, globalThis: undefined });
15142
+ // Execute the function with the secure context
15143
+ return Array.isArray(args) ? func.apply(secureContext, args) : func.call(secureContext, args);
15144
+ }
15145
+ }
15146
+ /**
15147
+ * Creates a template function from a string with caching for performance.
15148
+ * By default, ensures the template function executes in a secure context.
15149
+ * @param {string} template - The template string to compile into a function.
15150
+ * @param {string} [hash] - Optional hash to use as cache key. If not provided, a hash will be generated from the template.
15151
+ * @param {EvaluatorOptions} [options={}] - Optional configuration for the template.
15152
+ * @returns {Function|undefined} - The compiled template function, or undefined if compilation fails.
15153
+ */
15154
+ static template(template, hash, options = {}) {
15155
+ hash = hash || stringHash(template).toString();
15156
+ // If hash contains options object, extract it
15157
+ if (typeof hash === 'object' && 'securityMode' in hash) {
15158
+ options = hash;
15159
+ hash = stringHash(template).toString();
15160
+ }
15161
+ // Check if we have a cached version
15162
+ const cacheKey = hash + (options.securityMode || 'secure');
15163
+ if (Evaluator.cache[cacheKey]) {
15164
+ return Evaluator.cache[cacheKey];
15165
+ }
15166
+ try {
15167
+ template = template.replace(/ctx\./g, '');
15168
+ // Create the template function using lodash
15169
+ const templateFunc = ___default.template(template, Evaluator.templateSettings);
15170
+ // Check if we should use secure mode (default) or unsafe mode
15171
+ const securityMode = options.securityMode || 'secure';
15172
+ if (securityMode === 'unsafe') {
15173
+ // In unsafe mode, return the original template function
15174
+ return (Evaluator.cache[cacheKey] = templateFunc);
15175
+ }
15176
+ else {
15177
+ // In secure mode, wrap the template function to ensure it runs in a secure context
15178
+ const secureTemplateFunc = (data) => {
15179
+ // Create a secure context for the template
15180
+ const secureData = Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), {
15181
+ // Ensure these remain undefined
15182
+ window: undefined, self: undefined, globalThis: undefined });
15183
+ return templateFunc(secureData);
15184
+ };
15185
+ // Cache and return the secure template function
15186
+ return (Evaluator.cache[cacheKey] = secureTemplateFunc);
15187
+ }
15188
+ }
15189
+ catch (err) {
15190
+ console.warn('Error while processing template', err, template);
15191
+ return undefined;
15192
+ }
15193
+ }
15194
+ /**
15195
+ * Interpolates a template with data, handling both function templates and string templates.
15196
+ * By default, ensures interpolation happens in a secure context to prevent access to window object.
15197
+ * @param {string|Function} rawTemplate - The template to interpolate, either as a string or a function.
15198
+ * @param {Record<string, any>} data - The data object to use for interpolation.
15199
+ * @param {EvaluatorOptions} options - Options for the interpolation process.
15200
+ * @returns {string|any} - The result of the interpolation, typically a string but could be any type depending on the template.
15201
+ */
15202
+ static interpolate(rawTemplate, data, options = {}) {
15203
+ if (typeof rawTemplate === 'function') {
15204
+ try {
15205
+ // If the template is a function, execute it with the data
15206
+ // We can't directly secure a provided function, but we can use execute
15207
+ // to run it in a secure context if needed
15208
+ if (options.securityMode !== 'unsafe') {
15209
+ const secureData = Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), { window: undefined, self: undefined, globalThis: undefined });
15210
+ return rawTemplate(secureData);
15211
+ }
15212
+ else {
15213
+ return rawTemplate(data);
15214
+ }
15215
+ }
15216
+ catch (err) {
15217
+ console.warn('Error interpolating template', err, data);
15218
+ return err.message;
15219
+ }
15220
+ }
15221
+ rawTemplate = String(rawTemplate);
15222
+ // Pass the security mode option to the template method
15223
+ const template = Evaluator.template(rawTemplate, undefined, options);
15224
+ if (typeof template === 'function') {
15225
+ try {
15226
+ return template(data);
15227
+ }
15228
+ catch (err) {
15229
+ console.warn('Error interpolating template', err, rawTemplate, data);
15230
+ return err.message;
15231
+ }
15232
+ }
15233
+ return template;
15234
+ }
15235
+ }
15236
+ /**
15237
+ * Cache for storing compiled template functions to improve performance.
15238
+ * Keys are string hashes of the template, values are the compiled functions.
15239
+ */
15240
+ Evaluator.cache = {};
15241
+ /**
15242
+ * Settings for template processing, defining regex patterns for different template operations.
15243
+ * - interpolate: Pattern for variable interpolation ({{ variable }})
15244
+ * - evaluate: Pattern for code evaluation ({% code %})
15245
+ * - escape: Pattern for HTML escaping ({{{ variable }}})
15246
+ */
15247
+ Evaluator.templateSettings = {
15248
+ interpolate: /{{([\s\S]+?)}}/g,
15249
+ evaluate: /\{%([\s\S]+?)%\}/g,
15250
+ escape: /\{\{\{([\s\S]+?)\}\}\}/g
15251
+ };
15252
+
15253
+ class EvaluatorLabelPipe {
15254
+ /**
15255
+ *
15256
+ */
15257
+ constructor(translate) {
15258
+ this.translate = translate;
15259
+ }
15260
+ transform(option, language) {
15261
+ if (!option || !(option === null || option === void 0 ? void 0 : option.labelTemplate)) {
15262
+ return '';
15263
+ }
15264
+ try {
15265
+ const text = Evaluator.interpolate(option.labelTemplate, {
15266
+ language,
15267
+ option,
15268
+ moment: moment$6,
15269
+ translate: this.translate,
15270
+ value: option.value,
15271
+ });
15272
+ return text;
15273
+ }
15274
+ catch (error) {
15275
+ return option.label;
15276
+ }
15277
+ }
15278
+ }
15279
+ EvaluatorLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorLabelPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
15280
+ EvaluatorLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorLabelPipe, name: "evaluateLabel" });
15281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorLabelPipe, decorators: [{
15282
+ type: Pipe,
15283
+ args: [{
15284
+ name: 'evaluateLabel',
15285
+ }]
15286
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
15287
+
14936
15288
  class LocalizedLabelPipe {
14937
15289
  /**
14938
15290
  *
@@ -14964,7 +15316,7 @@ class FilterOptionTextComponent {
14964
15316
  }
14965
15317
  }
14966
15318
  FilterOptionTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterOptionTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14967
- FilterOptionTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FilterOptionTextComponent, selector: "filter-option-text", inputs: { option: "option", showCount: "showCount", language: "language" }, host: { classAttribute: "fot" }, ngImport: i0, template: "<span class=\"fot__label\" [matTooltip]=\"option?.tooltip | optionTooltip: language\">\r\n\t{{ option | localizedLabel: language }}\r\n</span>\r\n\r\n<small class=\"fot__count\" *ngIf=\"showCount\">{{ option.count }}</small>\r\n", styles: [".fot{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:.3rem;gap:.3rem;margin-inline:var(--fot-margin-inline, 0);font-size:var(--fot-font-size, .8rem);line-height:var(--fot-line-height, 1.3);width:var(--fot-width, 100%)}.fot__label{color:var(--fot-label-color, currentColor);white-space:var(--fot-label-white-space, pre-wrap);word-break:var(--fot-label-word-break, break-word);max-width:var(--fot-label-width, 100%)}.fot__count{color:var(--fot-count-color, var(--secondary, currentColor));background:var(--fot-count-background, #eee);border-radius:var(--fot-count-radius, 9px);padding:var(--fot-count-padding, .2rem .3rem);min-width:var(--fot-count-min-width, 1.8rem);text-align:center}\n"], directives: [{ type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "optionTooltip": TooltipPipe, "localizedLabel": LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15319
+ FilterOptionTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FilterOptionTextComponent, selector: "filter-option-text", inputs: { option: "option", showCount: "showCount", language: "language" }, host: { classAttribute: "fot" }, ngImport: i0, template: "<span\r\n class=\"fot__label\"\r\n [matTooltip]=\"option?.tooltip | optionTooltip : language\"\r\n>\r\n {{\r\n option?.labelTemplate\r\n ? (option | evaluateLabel : language)\r\n : (option | localizedLabel : language)\r\n }}\r\n</span>\r\n\r\n<small class=\"fot__count\" *ngIf=\"showCount\">{{ option.count }}</small>\r\n", styles: [".fot{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:.3rem;gap:.3rem;margin-inline:var(--fot-margin-inline, 0);font-size:var(--fot-font-size, .8rem);line-height:var(--fot-line-height, 1.3);width:var(--fot-width, 100%)}.fot__label{color:var(--fot-label-color, currentColor);white-space:var(--fot-label-white-space, pre-wrap);word-break:var(--fot-label-word-break, break-word);max-width:var(--fot-label-width, 100%)}.fot__count{color:var(--fot-count-color, var(--secondary, currentColor));background:var(--fot-count-background, #eee);border-radius:var(--fot-count-radius, 9px);padding:var(--fot-count-padding, .2rem .3rem);min-width:var(--fot-count-min-width, 1.8rem);text-align:center}\n"], directives: [{ type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "optionTooltip": TooltipPipe, "evaluateLabel": EvaluatorLabelPipe, "localizedLabel": LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14968
15320
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterOptionTextComponent, decorators: [{
14969
15321
  type: Component,
14970
15322
  args: [{
@@ -18679,322 +19031,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
18679
19031
  type: Input
18680
19032
  }] } });
18681
19033
 
18682
- /**
18683
- * Creates a secure context for function evaluation that prevents access to the window object.
18684
- * @returns {Record<string, any>} A secure context object with safe properties.
18685
- */
18686
- function createSecureContext() {
18687
- // Create a secure context with only safe properties
18688
- return {
18689
- // Add any safe globals here that should be accessible
18690
- console: {
18691
- log: console.log,
18692
- warn: console.warn,
18693
- error: console.error
18694
- },
18695
- // Add other safe objects/functions as needed
18696
- Math,
18697
- Date,
18698
- Number,
18699
- String,
18700
- Boolean,
18701
- Array,
18702
- Object,
18703
- JSON,
18704
- // Prevent access to window
18705
- window: undefined,
18706
- self: undefined,
18707
- globalThis: undefined,
18708
- _: ___default // Include lodash if needed, but ensure it's used safely
18709
- };
18710
- }
18711
- /**
18712
- * A utility class for evaluating expressions, interpolating strings, and working with templates.
18713
- * This class provides static methods for dynamic evaluation of code, string interpolation,
18714
- * and template processing with caching capabilities.
18715
- */
18716
- class Evaluator {
18717
- /**
18718
- * Creates a function from a string or returns the function if already provided.
18719
- * Uses a secure context to prevent access to the window object by default.
18720
- * @param {string|Function} func - The function or string to convert to a function.
18721
- * @param {...any} params - The parameters to pass to the function.
18722
- * @param {EvaluatorOptions} [options={}] - Optional configuration for the evaluation.
18723
- * @returns {Function} - The resulting function.
18724
- */
18725
- static evaluator(func, ...params) {
18726
- // Extract options if the last parameter is an options object
18727
- let options = {};
18728
- if (params.length > 0 &&
18729
- params[params.length - 1] &&
18730
- typeof params[params.length - 1] === 'object' &&
18731
- 'securityMode' in params[params.length - 1]) {
18732
- options = params.pop();
18733
- }
18734
- if (typeof func === 'function') {
18735
- return func;
18736
- }
18737
- if (typeof params[0] === 'object') {
18738
- params = keys(params[0]);
18739
- }
18740
- // Check if we should use secure mode (default) or unsafe mode
18741
- const securityMode = options.securityMode || 'secure';
18742
- if (securityMode === 'unsafe') {
18743
- // In unsafe mode, create a function with access to all globals
18744
- return new Function(...params, func);
18745
- }
18746
- const sandbox = createSecureContext();
18747
- const sandboxKeys = Object.keys(sandbox);
18748
- const sandboxAssignments = sandboxKeys.map((key) => `const ${key} = sandbox.${key};`).join('');
18749
- const wrapper = new Function(...params, 'sandbox', `${sandboxAssignments}${func}`);
18750
- return (...args) => wrapper(...args, sandbox);
18751
- }
18752
- /**
18753
- * Replaces template expressions in a string with values from data.
18754
- * Supports function calls within templates and fallback values using || syntax.
18755
- * By default, ensures evaluation happens in a secure context to prevent access to window object.
18756
- * @param {string} rawTemplate - The template string containing expressions to interpolate.
18757
- * @param {Record<string, any>} data - The data object containing values to use for interpolation.
18758
- * @param {EvaluatorOptions} [options={}] - Optional configuration for the interpolation process.
18759
- * @returns {string} - The interpolated string with all expressions replaced with actual values.
18760
- */
18761
- static interpolateString(rawTemplate, data, options = {}) {
18762
- if (!rawTemplate) {
18763
- return '';
18764
- }
18765
- if (typeof rawTemplate !== 'string') {
18766
- return rawTemplate.toString();
18767
- }
18768
- // Check if we should use secure mode (default) or unsafe mode
18769
- const securityMode = options.securityMode || 'secure';
18770
- // Create a secure data object if needed
18771
- const secureData = securityMode === 'unsafe'
18772
- ? data
18773
- : Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), {
18774
- // Ensure these remain undefined
18775
- window: undefined, self: undefined, globalThis: undefined });
18776
- return rawTemplate.replace(/({{\s*(.*?)\s*}})/g, (match, $1, expression) => {
18777
- if (expression.indexOf('(') !== -1) {
18778
- return expression.replace(/([^(]+)\(([^)]+)\s*\);?/, (_, fnName, argsStr) => {
18779
- fnName = trim(fnName);
18780
- const func = get(secureData, fnName);
18781
- if (func) {
18782
- if (argsStr) {
18783
- const args = argsStr.split(',').map((arg) => {
18784
- const trimmed = trim(arg);
18785
- if (/^['"]/.test(trimmed))
18786
- return trimmed.slice(1, -1);
18787
- return get(secureData, trimmed);
18788
- });
18789
- return Evaluator.evaluate(func, args, '', false, secureData, options);
18790
- }
18791
- return Evaluator.evaluate(func, [], '', false, secureData, options);
18792
- }
18793
- return '';
18794
- });
18795
- }
18796
- else {
18797
- let dataPath = expression;
18798
- if (expression.indexOf('?') !== -1) {
18799
- dataPath = expression.replace(/\?\./g, '.');
18800
- }
18801
- const parts = dataPath.split('||').map((item) => item.trim());
18802
- let value = '';
18803
- let path = '';
18804
- for (let i = 0; i < parts.length; i++) {
18805
- path = parts[i];
18806
- if (___default.has(secureData, path)) {
18807
- value = ___default.get(secureData, path);
18808
- break;
18809
- }
18810
- }
18811
- if (options.data) {
18812
- set(options.data, path, value);
18813
- }
18814
- return value;
18815
- }
18816
- });
18817
- }
18818
- /**
18819
- * Performs an evaluation using the evaluation context of this component.
18820
- * By default, ensures evaluation happens in a secure context to prevent access to window object.
18821
- * @param {string|Function|object} func - The function or string to evaluate.
18822
- * @param {object} args - The arguments to pass to the evaluation.
18823
- * @param {string} ret - The name of the variable within the evaluation context to return.
18824
- * @param {boolean} interpolate - Determines if it should replace all {{ }} token references with actual data.
18825
- * @param {object} context - - The evaluation context.
18826
- * @param {EvaluatorOptions } options - The options to pass to the evaluation.
18827
- * @returns {*} - The result of the evaluation.
18828
- */
18829
- static evaluate(func, args = {}, ret = 'show', interpolate = false, context = {}, options = {}) {
18830
- let returnVal = null;
18831
- const field = args.field ? args.field : { key: 'unknown' };
18832
- const fieldKey = field.key;
18833
- if (typeof func === 'string') {
18834
- if (ret) {
18835
- func = `var ${ret};${func};return ${ret}`;
18836
- }
18837
- if (interpolate) {
18838
- func = Evaluator.interpolate(func, args, options);
18839
- }
18840
- try {
18841
- // Pass the security mode option to the evaluator
18842
- const evaluatorOptions = { securityMode: options.securityMode || 'secure' };
18843
- func = Evaluator.evaluator(func, args, context, evaluatorOptions);
18844
- args = Array.isArray(args) ? args : values(args);
18845
- }
18846
- catch (err) {
18847
- console.warn(`An error occured within the custom function for ${fieldKey}`, err);
18848
- returnVal = null;
18849
- func = false;
18850
- }
18851
- }
18852
- if (typeof func === 'function') {
18853
- try {
18854
- returnVal = Evaluator.execute(func, args, context, options);
18855
- }
18856
- catch (err) {
18857
- returnVal = null;
18858
- console.warn(`An error occured within custom function for ${fieldKey}`, err);
18859
- }
18860
- }
18861
- else if (func) {
18862
- console.warn(`Unknown function type for ${fieldKey}`);
18863
- }
18864
- return returnVal;
18865
- }
18866
- /**
18867
- * Executes a function with provided arguments and context.
18868
- * By default, ensures execution happens in a secure context to prevent access to window object.
18869
- * @param {Function} func - The function to execute.
18870
- * @param {any[]|Record<string, any>} args - The arguments to pass to the function, either as an array or object.
18871
- * @param {Record<string, any>} [context={}] - The context (this) to use when executing the function.
18872
- * @param {EvaluatorOptions} [options={}] - Optional configuration for the execution.
18873
- * @returns {any} - The result of the function execution.
18874
- */
18875
- static execute(func, args, context = {}, options = {}) {
18876
- // Check if we should use secure mode (default) or unsafe mode
18877
- const securityMode = options.securityMode || 'secure';
18878
- if (securityMode === 'unsafe') {
18879
- // In unsafe mode, execute with the original context
18880
- return Array.isArray(args) ? func.apply(context, args) : func.call(context, args);
18881
- }
18882
- else {
18883
- // In secure mode, create a secure context by merging the provided context with our secure context
18884
- const secureContext = Object.assign(Object.assign(Object.assign({}, createSecureContext()), context), {
18885
- // Ensure these remain undefined even if they were in the provided context
18886
- window: undefined, self: undefined, globalThis: undefined });
18887
- // Execute the function with the secure context
18888
- return Array.isArray(args) ? func.apply(secureContext, args) : func.call(secureContext, args);
18889
- }
18890
- }
18891
- /**
18892
- * Creates a template function from a string with caching for performance.
18893
- * By default, ensures the template function executes in a secure context.
18894
- * @param {string} template - The template string to compile into a function.
18895
- * @param {string} [hash] - Optional hash to use as cache key. If not provided, a hash will be generated from the template.
18896
- * @param {EvaluatorOptions} [options={}] - Optional configuration for the template.
18897
- * @returns {Function|undefined} - The compiled template function, or undefined if compilation fails.
18898
- */
18899
- static template(template, hash, options = {}) {
18900
- hash = hash || stringHash(template).toString();
18901
- // If hash contains options object, extract it
18902
- if (typeof hash === 'object' && 'securityMode' in hash) {
18903
- options = hash;
18904
- hash = stringHash(template).toString();
18905
- }
18906
- // Check if we have a cached version
18907
- const cacheKey = hash + (options.securityMode || 'secure');
18908
- if (Evaluator.cache[cacheKey]) {
18909
- return Evaluator.cache[cacheKey];
18910
- }
18911
- try {
18912
- template = template.replace(/ctx\./g, '');
18913
- // Create the template function using lodash
18914
- const templateFunc = ___default.template(template, Evaluator.templateSettings);
18915
- // Check if we should use secure mode (default) or unsafe mode
18916
- const securityMode = options.securityMode || 'secure';
18917
- if (securityMode === 'unsafe') {
18918
- // In unsafe mode, return the original template function
18919
- return (Evaluator.cache[cacheKey] = templateFunc);
18920
- }
18921
- else {
18922
- // In secure mode, wrap the template function to ensure it runs in a secure context
18923
- const secureTemplateFunc = (data) => {
18924
- // Create a secure context for the template
18925
- const secureData = Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), {
18926
- // Ensure these remain undefined
18927
- window: undefined, self: undefined, globalThis: undefined });
18928
- return templateFunc(secureData);
18929
- };
18930
- // Cache and return the secure template function
18931
- return (Evaluator.cache[cacheKey] = secureTemplateFunc);
18932
- }
18933
- }
18934
- catch (err) {
18935
- console.warn('Error while processing template', err, template);
18936
- return undefined;
18937
- }
18938
- }
18939
- /**
18940
- * Interpolates a template with data, handling both function templates and string templates.
18941
- * By default, ensures interpolation happens in a secure context to prevent access to window object.
18942
- * @param {string|Function} rawTemplate - The template to interpolate, either as a string or a function.
18943
- * @param {Record<string, any>} data - The data object to use for interpolation.
18944
- * @param {EvaluatorOptions} options - Options for the interpolation process.
18945
- * @returns {string|any} - The result of the interpolation, typically a string but could be any type depending on the template.
18946
- */
18947
- static interpolate(rawTemplate, data, options = {}) {
18948
- if (typeof rawTemplate === 'function') {
18949
- try {
18950
- // If the template is a function, execute it with the data
18951
- // We can't directly secure a provided function, but we can use execute
18952
- // to run it in a secure context if needed
18953
- if (options.securityMode !== 'unsafe') {
18954
- const secureData = Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), { window: undefined, self: undefined, globalThis: undefined });
18955
- return rawTemplate(secureData);
18956
- }
18957
- else {
18958
- return rawTemplate(data);
18959
- }
18960
- }
18961
- catch (err) {
18962
- console.warn('Error interpolating template', err, data);
18963
- return err.message;
18964
- }
18965
- }
18966
- rawTemplate = String(rawTemplate);
18967
- // Pass the security mode option to the template method
18968
- const template = Evaluator.template(rawTemplate, undefined, options);
18969
- if (typeof template === 'function') {
18970
- try {
18971
- return template(data);
18972
- }
18973
- catch (err) {
18974
- console.warn('Error interpolating template', err, rawTemplate, data);
18975
- return err.message;
18976
- }
18977
- }
18978
- return template;
18979
- }
18980
- }
18981
- /**
18982
- * Cache for storing compiled template functions to improve performance.
18983
- * Keys are string hashes of the template, values are the compiled functions.
18984
- */
18985
- Evaluator.cache = {};
18986
- /**
18987
- * Settings for template processing, defining regex patterns for different template operations.
18988
- * - interpolate: Pattern for variable interpolation ({{ variable }})
18989
- * - evaluate: Pattern for code evaluation ({% code %})
18990
- * - escape: Pattern for HTML escaping ({{{ variable }}})
18991
- */
18992
- Evaluator.templateSettings = {
18993
- interpolate: /{{([\s\S]+?)}}/g,
18994
- evaluate: /\{%([\s\S]+?)%\}/g,
18995
- escape: /\{\{\{([\s\S]+?)\}\}\}/g
18996
- };
18997
-
18998
19034
  const NDF_EDITOR_TYPE = {
18999
19035
  REPORTS: 'report',
19000
19036
  TABLES: 'table'
@@ -19742,6 +19778,7 @@ const PIPES = [
19742
19778
  TooltipPipe,
19743
19779
  FiltersByRolesPipe,
19744
19780
  CheckConditionPipe$1,
19781
+ EvaluatorLabelPipe
19745
19782
  ];
19746
19783
  class NdfFiltersPanelModule {
19747
19784
  /**
@@ -19811,7 +19848,8 @@ NdfFiltersPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
19811
19848
  SortListPipe,
19812
19849
  TooltipPipe,
19813
19850
  FiltersByRolesPipe,
19814
- CheckConditionPipe$1, FilterOptionTextComponent,
19851
+ CheckConditionPipe$1,
19852
+ EvaluatorLabelPipe, FilterOptionTextComponent,
19815
19853
  FilterSearchInputComponent,
19816
19854
  FilterCollapseControlComponent,
19817
19855
  FieldHeaderComponent,
@@ -48869,5 +48907,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
48869
48907
  * Generated bundle index. Do not edit.
48870
48908
  */
48871
48909
 
48872
- export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe$1 as CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, ColumnRendererRegistryService, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomReportsRegistry, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_CONTENT_TEMPLATE, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmdhaAuthDialog, EmdhaService, EmptyContentTemplateDirective, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GeneralNotificationPopupComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HEADER_PANEL_TEMPLATE, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HeaderPanelTemplateDirective, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, InsertSingPosition, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfSignaturePanelComponent, NdfSignaturesModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetComponent, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, OverrideTokenService, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsHooksService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, ScrollableDivDirective, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SignatureType, SignaturesService, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableHooksService, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransactionStatus, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService$1 as VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
48910
+ export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe$1 as CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, ColumnRendererRegistryService, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomReportsRegistry, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_CONTENT_TEMPLATE, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmdhaAuthDialog, EmdhaService, EmptyContentTemplateDirective, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorLabelPipe, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GeneralNotificationPopupComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HEADER_PANEL_TEMPLATE, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HeaderPanelTemplateDirective, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, InsertSingPosition, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfSignaturePanelComponent, NdfSignaturesModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetComponent, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, OverrideTokenService, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsHooksService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, ScrollableDivDirective, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SignatureType, SignaturesService, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableHooksService, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransactionStatus, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService$1 as VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
48873
48911
  //# sourceMappingURL=nuxeo-development-framework.js.map