nuxeo-development-framework 6.1.5 → 6.1.7
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/bundles/nuxeo-development-framework.umd.js +688 -1009
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +7 -5
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +9 -9
- package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +9 -4
- package/esm2015/lib/components/ndf-filters/pipes/evaluate-label.pipe.js +3 -3
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +2 -1
- package/esm2015/lib/components/pdf-tron/pdftron/silent-pdftron.service.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/models/details.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +28 -15
- package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +3 -3
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +4 -4
- package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
- package/esm2015/lib/shared/index.js +5 -6
- package/esm2015/lib/shared-services/global-pdftron.service.js +2 -1
- package/esm2015/public-api.js +12 -13
- package/fesm2015/nuxeo-development-framework.js +644 -938
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +1 -2
- package/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.d.ts +3 -3
- package/lib/components/ndf-filters/models/base-field-config.d.ts +1 -1
- package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +1 -2
- package/lib/components/reports/ndf-reports/models/details.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/graph-definition.d.ts +2 -2
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +2 -2
- package/lib/components/tables/ndf-table/models/table-config.d.ts +1 -1
- package/lib/shared/index.d.ts +7 -5
- package/package.json +1 -1
- package/public-api.d.ts +11 -12
- package/esm2015/lib/shared/evaluator/evaluator.js +0 -318
- package/esm2015/lib/shared/evaluator/index.js +0 -3
- package/esm2015/lib/shared/evaluator/types.js +0 -2
- package/lib/shared/evaluator/evaluator.d.ts +0 -79
- package/lib/shared/evaluator/index.d.ts +0 -2
- package/lib/shared/evaluator/types.d.ts +0 -18
|
@@ -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,
|
|
35
|
+
import ___default, { cloneDeep, filter, sortBy, each, unionWith, isEqual, isNil, isObject as isObject$1, isDate, isBoolean, isNumber, union, assign, keyBy, values, 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,7 +96,6 @@ 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';
|
|
100
99
|
import * as i5$4 from 'ngx-mask';
|
|
101
100
|
import { NgxMaskModule } from 'ngx-mask';
|
|
102
101
|
import * as moment$7 from 'moment/moment';
|
|
@@ -136,9 +135,9 @@ import { getDOMSocketPosition } from 'rete-render-utils';
|
|
|
136
135
|
import * as i7$4 from '@angular/material/badge';
|
|
137
136
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
138
137
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
139
|
-
import colorLib from '@kurkle/color';
|
|
140
138
|
import * as i2$8 from 'ngx-markdown';
|
|
141
139
|
import { MarkdownModule } from 'ngx-markdown';
|
|
140
|
+
import colorLib from '@kurkle/color';
|
|
142
141
|
import * as i6$4 from '@angular/cdk/accordion';
|
|
143
142
|
import { CdkAccordionModule } from '@angular/cdk/accordion';
|
|
144
143
|
import _flatMap from 'lodash/flatMap';
|
|
@@ -14849,11 +14848,13 @@ class FilterAutocompleteService extends BaseService {
|
|
|
14849
14848
|
payload: {
|
|
14850
14849
|
name: query.field || fieldConfig.fieldKey,
|
|
14851
14850
|
operator: (_a = query.operator) !== null && _a !== void 0 ? _a : COMPARISON_OPERATOR.like,
|
|
14852
|
-
value: (query === null || query === void 0 ? void 0 : query.template)
|
|
14853
|
-
|
|
14851
|
+
value: (query === null || query === void 0 ? void 0 : query.template)
|
|
14852
|
+
? this.replacePlaceholder(query === null || query === void 0 ? void 0 : query.template, searchText)
|
|
14853
|
+
: `'%${searchText}%'`,
|
|
14854
|
+
},
|
|
14854
14855
|
}).pipe(map((response) => Object.values(response)[0]), switchMap((response) => this._aggregationService.prepareAggregationFiled({
|
|
14855
14856
|
fieldConfig: fieldConfig,
|
|
14856
|
-
aggregation: response
|
|
14857
|
+
aggregation: response,
|
|
14857
14858
|
})));
|
|
14858
14859
|
}
|
|
14859
14860
|
replacePlaceholder(template, searchText) {
|
|
@@ -14865,7 +14866,7 @@ FilterAutocompleteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.
|
|
|
14865
14866
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterAutocompleteService, decorators: [{
|
|
14866
14867
|
type: Injectable,
|
|
14867
14868
|
args: [{
|
|
14868
|
-
providedIn: 'root'
|
|
14869
|
+
providedIn: 'root',
|
|
14869
14870
|
}]
|
|
14870
14871
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
14871
14872
|
|
|
@@ -14934,322 +14935,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14934
14935
|
}]
|
|
14935
14936
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
14936
14937
|
|
|
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
14938
|
class EvaluatorLabelPipe {
|
|
15254
14939
|
/**
|
|
15255
14940
|
*
|
|
@@ -15262,7 +14947,7 @@ class EvaluatorLabelPipe {
|
|
|
15262
14947
|
return '';
|
|
15263
14948
|
}
|
|
15264
14949
|
try {
|
|
15265
|
-
const text =
|
|
14950
|
+
const text = Utils.interpolate(option.labelTemplate, {
|
|
15266
14951
|
language,
|
|
15267
14952
|
option,
|
|
15268
14953
|
moment: moment$6,
|
|
@@ -19031,11 +18716,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
19031
18716
|
type: Input
|
|
19032
18717
|
}] } });
|
|
19033
18718
|
|
|
19034
|
-
const NDF_EDITOR_TYPE = {
|
|
19035
|
-
REPORTS: 'report',
|
|
19036
|
-
TABLES: 'table'
|
|
19037
|
-
};
|
|
19038
|
-
|
|
19039
18719
|
class BaseField extends BaseCustomValueAccessor {
|
|
19040
18720
|
constructor() {
|
|
19041
18721
|
super(...arguments);
|
|
@@ -19396,7 +19076,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
19396
19076
|
var _a;
|
|
19397
19077
|
this.formGroup.patchValue(obj.query, {
|
|
19398
19078
|
emitEvent: (_a = obj === null || obj === void 0 ? void 0 : obj.emitEvent) !== null && _a !== void 0 ? _a : true,
|
|
19399
|
-
onlySelf: obj === null || obj === void 0 ? void 0 : obj.onlySelf
|
|
19079
|
+
onlySelf: obj === null || obj === void 0 ? void 0 : obj.onlySelf,
|
|
19400
19080
|
});
|
|
19401
19081
|
}
|
|
19402
19082
|
_prepareFiltersForm() {
|
|
@@ -19440,12 +19120,12 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
19440
19120
|
const condition = (_a = field.config) === null || _a === void 0 ? void 0 : _a.condition;
|
|
19441
19121
|
try {
|
|
19442
19122
|
const isVisible = !condition ||
|
|
19443
|
-
|
|
19123
|
+
Utils.evaluate(condition, ___default.cloneDeep({
|
|
19444
19124
|
aggregations: this.aggregations,
|
|
19445
19125
|
language: this.currentLang,
|
|
19446
19126
|
user: this.nuxeoService.nuxeoClient.user,
|
|
19447
|
-
values: this.formGroup.getRawValue()
|
|
19448
|
-
}));
|
|
19127
|
+
values: this.formGroup.getRawValue(),
|
|
19128
|
+
}), 'show');
|
|
19449
19129
|
this.visibleFields[fieldKey] = isVisible;
|
|
19450
19130
|
if (!isVisible) {
|
|
19451
19131
|
const control = this.formGroup.get(fieldKey);
|
|
@@ -19470,7 +19150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
19470
19150
|
selector: 'app-filters-panel',
|
|
19471
19151
|
templateUrl: './filters-panel.component.html',
|
|
19472
19152
|
styleUrls: ['./filters-panel.component.scss'],
|
|
19473
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
19153
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
19474
19154
|
}]
|
|
19475
19155
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: NuxeoService }]; }, propDecorators: { aggregations: [{
|
|
19476
19156
|
type: Input
|
|
@@ -19570,7 +19250,12 @@ class CheckConditionPipe$1 {
|
|
|
19570
19250
|
return true;
|
|
19571
19251
|
}
|
|
19572
19252
|
try {
|
|
19573
|
-
return
|
|
19253
|
+
return Utils.evaluate(condition, ___default.cloneDeep({
|
|
19254
|
+
aggregations,
|
|
19255
|
+
language,
|
|
19256
|
+
user: this.user,
|
|
19257
|
+
values: filterValues,
|
|
19258
|
+
}), 'show');
|
|
19574
19259
|
}
|
|
19575
19260
|
catch (error) {
|
|
19576
19261
|
console.error({ error });
|
|
@@ -19583,7 +19268,7 @@ CheckConditionPipe$1.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", versi
|
|
|
19583
19268
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe$1, decorators: [{
|
|
19584
19269
|
type: Pipe,
|
|
19585
19270
|
args: [{
|
|
19586
|
-
name: 'checkCondition'
|
|
19271
|
+
name: 'checkCondition',
|
|
19587
19272
|
}]
|
|
19588
19273
|
}], ctorParameters: function () { return [{ type: NuxeoService }]; } });
|
|
19589
19274
|
|
|
@@ -20131,6 +19816,11 @@ const PAGE_SIZE = [
|
|
|
20131
19816
|
}
|
|
20132
19817
|
];
|
|
20133
19818
|
|
|
19819
|
+
const NDF_EDITOR_TYPE = {
|
|
19820
|
+
REPORTS: 'report',
|
|
19821
|
+
TABLES: 'table'
|
|
19822
|
+
};
|
|
19823
|
+
|
|
20134
19824
|
const EMPTY_TEMPLATE = new InjectionToken('EmptyTemplateDirective');
|
|
20135
19825
|
class EmptyTemplateDirective {
|
|
20136
19826
|
constructor(template) {
|
|
@@ -20205,7 +19895,7 @@ class TableHooksService {
|
|
|
20205
19895
|
evaluate(expr, payload) {
|
|
20206
19896
|
try {
|
|
20207
19897
|
const context = { criteria: payload };
|
|
20208
|
-
const result =
|
|
19898
|
+
const result = Utils.evaluate(expr, context, 'payload');
|
|
20209
19899
|
return result !== null && result !== void 0 ? result : payload;
|
|
20210
19900
|
}
|
|
20211
19901
|
catch (e) {
|
|
@@ -20219,7 +19909,7 @@ TableHooksService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
20219
19909
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, decorators: [{
|
|
20220
19910
|
type: Injectable,
|
|
20221
19911
|
args: [{
|
|
20222
|
-
providedIn: 'root'
|
|
19912
|
+
providedIn: 'root',
|
|
20223
19913
|
}]
|
|
20224
19914
|
}] });
|
|
20225
19915
|
|
|
@@ -27903,6 +27593,7 @@ class GlobalPdfTron {
|
|
|
27903
27593
|
WebViewer({
|
|
27904
27594
|
path: this.baseHref + '/assets/pdftrons',
|
|
27905
27595
|
}, document.getElementById('global-pdftron')).then((instance) => {
|
|
27596
|
+
instance.CoreControls.disableEmbeddedJavaScript();
|
|
27906
27597
|
this.saveOptions = instance.CoreControls.SaveOptions;
|
|
27907
27598
|
this.instance = instance;
|
|
27908
27599
|
});
|
|
@@ -35682,6 +35373,202 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
35682
35373
|
}]
|
|
35683
35374
|
}], ctorParameters: function () { return []; } });
|
|
35684
35375
|
|
|
35376
|
+
class NdfTronExtractText extends BaseComponent {
|
|
35377
|
+
constructor(pdfTronService, renderer, injector) {
|
|
35378
|
+
super(injector);
|
|
35379
|
+
this.pdfTronService = pdfTronService;
|
|
35380
|
+
this.renderer = renderer;
|
|
35381
|
+
this.injector = injector;
|
|
35382
|
+
this.listnerAdded = false;
|
|
35383
|
+
this.detectionRectColor = {
|
|
35384
|
+
R: 255,
|
|
35385
|
+
G: 230,
|
|
35386
|
+
B: 162,
|
|
35387
|
+
A: 1
|
|
35388
|
+
};
|
|
35389
|
+
this.focusedField = '';
|
|
35390
|
+
this.focusedFieldPrefix = '';
|
|
35391
|
+
this.onExtractText = new EventEmitter();
|
|
35392
|
+
this.extractedText = '';
|
|
35393
|
+
this.savedCoordinates = [];
|
|
35394
|
+
this.onAnnotationsChange = (annotations, action) => {
|
|
35395
|
+
var _a;
|
|
35396
|
+
this.extractedText = '';
|
|
35397
|
+
const { annotManager, docViewer, Annotations } = (_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance;
|
|
35398
|
+
if (action === 'add') {
|
|
35399
|
+
annotations.forEach((annot) => {
|
|
35400
|
+
var _a;
|
|
35401
|
+
if (annot instanceof ((_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance.Annotations.RectangleAnnotation)) {
|
|
35402
|
+
this.rect = annot.getRect();
|
|
35403
|
+
if (this.currentPageNum != docViewer.getCurrentPage()) {
|
|
35404
|
+
this.currentPageNum = docViewer.getCurrentPage();
|
|
35405
|
+
this.targetPage = this.pagesZones.pages[this.currentPageNum - 1];
|
|
35406
|
+
this.allWords = this.getAllWordsInThePage();
|
|
35407
|
+
}
|
|
35408
|
+
const pageHeight = this.targetPage.page_height;
|
|
35409
|
+
const pageWidth = this.targetPage.page_width;
|
|
35410
|
+
const standardHeight = docViewer.getPageHeight(this.currentPageNum);
|
|
35411
|
+
const standardWidth = docViewer.getPageWidth(this.currentPageNum);
|
|
35412
|
+
const widthRatio = pageWidth / standardWidth;
|
|
35413
|
+
const heightRatio = pageHeight / standardHeight;
|
|
35414
|
+
this.allWords.forEach((word) => {
|
|
35415
|
+
if (word.coordinates.upper_left.x >= widthRatio * this.rect.x1 &&
|
|
35416
|
+
word.coordinates.upper_left.y >= heightRatio * this.rect.y1 &&
|
|
35417
|
+
word.coordinates.bottom_right.x <= widthRatio * this.rect.x2 &&
|
|
35418
|
+
word.coordinates.bottom_right.y <= heightRatio * this.rect.y2) {
|
|
35419
|
+
this.extractedText += word.text + ' ';
|
|
35420
|
+
}
|
|
35421
|
+
});
|
|
35422
|
+
if (this.extractedText) {
|
|
35423
|
+
this.onExtractText.emit(this.extractedText);
|
|
35424
|
+
this.addFieldNameToRectangle(docViewer, annotManager, Annotations);
|
|
35425
|
+
this.holdDrawedRectangleCoordinates({
|
|
35426
|
+
width: widthRatio,
|
|
35427
|
+
height: heightRatio
|
|
35428
|
+
});
|
|
35429
|
+
}
|
|
35430
|
+
}
|
|
35431
|
+
});
|
|
35432
|
+
}
|
|
35433
|
+
};
|
|
35434
|
+
this.initiateTextDimensions();
|
|
35435
|
+
this.routerService.events.pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
35436
|
+
var _a;
|
|
35437
|
+
if (res instanceof NavigationStart) {
|
|
35438
|
+
const { annotManager, docViewer } = (_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance;
|
|
35439
|
+
annotManager.off('annotationChanged', this.onAnnotationsChange);
|
|
35440
|
+
docViewer.off('documentLoaded', this.enableAnnotationRectangle);
|
|
35441
|
+
}
|
|
35442
|
+
});
|
|
35443
|
+
}
|
|
35444
|
+
ngOnChanges(changes) {
|
|
35445
|
+
if (changes.focusedField || changes.pagesZones) {
|
|
35446
|
+
this.enableAnnotationRectangle();
|
|
35447
|
+
}
|
|
35448
|
+
}
|
|
35449
|
+
enableAnnotationRectangle() {
|
|
35450
|
+
var _a, _b, _c, _d, _e;
|
|
35451
|
+
if (this.focusedField && ((_a = this.pagesZones.pages) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
35452
|
+
(_c = (_b = this.pdfTronService) === null || _b === void 0 ? void 0 : _b.instance) === null || _c === void 0 ? void 0 : _c.setToolMode('AnnotationCreateRectangle');
|
|
35453
|
+
this.focusedLabelDimensions = this.calculateWidthOfText();
|
|
35454
|
+
}
|
|
35455
|
+
else {
|
|
35456
|
+
(_e = (_d = this.pdfTronService) === null || _d === void 0 ? void 0 : _d.instance) === null || _e === void 0 ? void 0 : _e.setToolMode('TextSelect');
|
|
35457
|
+
this.initiateTextDimensions();
|
|
35458
|
+
}
|
|
35459
|
+
}
|
|
35460
|
+
ngAfterViewChecked() {
|
|
35461
|
+
var _a, _b;
|
|
35462
|
+
if (((_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance) && !this.listnerAdded && this.pagesZones) {
|
|
35463
|
+
this.listnerAdded = true;
|
|
35464
|
+
const { annotManager, docViewer } = (_b = this.pdfTronService) === null || _b === void 0 ? void 0 : _b.instance;
|
|
35465
|
+
docViewer.on('documentLoaded', this.enableAnnotationRectangle);
|
|
35466
|
+
this.setColorOfRectangle(docViewer);
|
|
35467
|
+
annotManager.on('annotationChanged', this.onAnnotationsChange);
|
|
35468
|
+
}
|
|
35469
|
+
}
|
|
35470
|
+
setColorOfRectangle(docViewer) {
|
|
35471
|
+
const rectangleTool = docViewer.getTool('AnnotationCreateRectangle');
|
|
35472
|
+
rectangleTool.defaults = {
|
|
35473
|
+
StrokeColor: this.detectionRectColor,
|
|
35474
|
+
FillColor: this.detectionRectColor,
|
|
35475
|
+
StrokeThickness: 2,
|
|
35476
|
+
Opacity: 0.4
|
|
35477
|
+
};
|
|
35478
|
+
}
|
|
35479
|
+
addFieldNameToRectangle(docViewer, annotManager, Annotations) {
|
|
35480
|
+
const { x1, x2, y1, y2 } = this.rect;
|
|
35481
|
+
if (this.focusedField) {
|
|
35482
|
+
const textAnnot = new Annotations.FreeTextAnnotation();
|
|
35483
|
+
textAnnot.PageNumber = docViewer.getCurrentPage();
|
|
35484
|
+
const rectWidth = x2 - x1;
|
|
35485
|
+
const rectHeight = y2 - y1;
|
|
35486
|
+
if (this.focusedLabelDimensions.width > rectWidth || this.focusedLabelDimensions.height > rectHeight) {
|
|
35487
|
+
textAnnot.X = x1;
|
|
35488
|
+
textAnnot.Y = y1 - 15;
|
|
35489
|
+
}
|
|
35490
|
+
else {
|
|
35491
|
+
textAnnot.X = x1 + rectWidth / 2 - this.focusedLabelDimensions.width / 2;
|
|
35492
|
+
textAnnot.Y = y1 + rectHeight / 2 - this.focusedLabelDimensions.height / 2;
|
|
35493
|
+
}
|
|
35494
|
+
textAnnot.Width = this.focusedLabelDimensions.width;
|
|
35495
|
+
textAnnot.Height = this.focusedLabelDimensions.height;
|
|
35496
|
+
textAnnot.FontSize = '24px';
|
|
35497
|
+
textAnnot.setPadding(new Annotations.Rect(0, 0, 0, 0));
|
|
35498
|
+
textAnnot.TextColor = new Annotations.Color(83, 70, 199);
|
|
35499
|
+
textAnnot.setContents(this.translatedLabel);
|
|
35500
|
+
textAnnot.StrokeThickness = 0;
|
|
35501
|
+
annotManager.addAnnotation(textAnnot);
|
|
35502
|
+
annotManager.redrawAnnotation(textAnnot);
|
|
35503
|
+
}
|
|
35504
|
+
}
|
|
35505
|
+
holdDrawedRectangleCoordinates(ratio) {
|
|
35506
|
+
const _windowCoordinates = {
|
|
35507
|
+
x1: ratio.width * this.rect.x1,
|
|
35508
|
+
x2: ratio.width * this.rect.x2,
|
|
35509
|
+
y1: ratio.height * this.rect.y1,
|
|
35510
|
+
y2: ratio.height * this.rect.y2
|
|
35511
|
+
};
|
|
35512
|
+
let index = this.savedCoordinates.findIndex((elem) => elem.fieldName === this.focusedField);
|
|
35513
|
+
if (index > -1) {
|
|
35514
|
+
this.savedCoordinates[index].coordinates.push({
|
|
35515
|
+
pdfTronCoordinate: this.rect,
|
|
35516
|
+
windowCoordinate: _windowCoordinates
|
|
35517
|
+
});
|
|
35518
|
+
}
|
|
35519
|
+
else {
|
|
35520
|
+
this.savedCoordinates.push({
|
|
35521
|
+
fieldName: this.focusedField,
|
|
35522
|
+
coordinates: [
|
|
35523
|
+
{
|
|
35524
|
+
pdfTronCoordinate: this.rect,
|
|
35525
|
+
windowCoordinate: _windowCoordinates
|
|
35526
|
+
}
|
|
35527
|
+
]
|
|
35528
|
+
});
|
|
35529
|
+
}
|
|
35530
|
+
}
|
|
35531
|
+
getAllWordsInThePage() {
|
|
35532
|
+
return flatMap(this.targetPage.zones, (zone) => flatMap(zone.paragraphs, (paragraph) => flatMap(paragraph.lines, (line) => map$1(line.words))));
|
|
35533
|
+
}
|
|
35534
|
+
initiateTextDimensions() {
|
|
35535
|
+
this.focusedLabelDimensions = { width: 0, height: 0 };
|
|
35536
|
+
}
|
|
35537
|
+
calculateWidthOfText() {
|
|
35538
|
+
const span = this.renderer.createElement('span');
|
|
35539
|
+
const textNode = this.renderer.createText(this.translatedLabel);
|
|
35540
|
+
this.renderer.appendChild(span, textNode);
|
|
35541
|
+
this.renderer.setStyle(span, 'font-size', '24px');
|
|
35542
|
+
this.renderer.setStyle(span, 'visibility', 'hidden');
|
|
35543
|
+
this.renderer.setStyle(span, 'position', 'absolute');
|
|
35544
|
+
this.renderer.appendChild(document.body, span);
|
|
35545
|
+
const dimensions = { width: span.clientWidth, height: span.clientHeight };
|
|
35546
|
+
this.renderer.removeChild(document.body, span);
|
|
35547
|
+
return dimensions;
|
|
35548
|
+
}
|
|
35549
|
+
get translatedLabel() {
|
|
35550
|
+
return this.translateService.instant(this.focusedFieldPrefix + this.focusedField);
|
|
35551
|
+
}
|
|
35552
|
+
}
|
|
35553
|
+
NdfTronExtractText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTronExtractText, deps: [{ token: PdftronService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35554
|
+
NdfTronExtractText.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: NdfTronExtractText, selector: "[ndfTronExtractText]", inputs: { pagesZones: "pagesZones", detectionRectColor: "detectionRectColor", focusedField: "focusedField", focusedFieldPrefix: "focusedFieldPrefix" }, outputs: { onExtractText: "onExtractText" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
35555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTronExtractText, decorators: [{
|
|
35556
|
+
type: Directive,
|
|
35557
|
+
args: [{
|
|
35558
|
+
selector: '[ndfTronExtractText]'
|
|
35559
|
+
}]
|
|
35560
|
+
}], ctorParameters: function () { return [{ type: PdftronService }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { pagesZones: [{
|
|
35561
|
+
type: Input
|
|
35562
|
+
}], detectionRectColor: [{
|
|
35563
|
+
type: Input
|
|
35564
|
+
}], focusedField: [{
|
|
35565
|
+
type: Input
|
|
35566
|
+
}], focusedFieldPrefix: [{
|
|
35567
|
+
type: Input
|
|
35568
|
+
}], onExtractText: [{
|
|
35569
|
+
type: Output
|
|
35570
|
+
}] } });
|
|
35571
|
+
|
|
35685
35572
|
var _SilentPdfTronService_instances, _SilentPdfTronService_webViewerInstance, _SilentPdfTronService_webViewerElement, _SilentPdfTronService_isInitialized, _SilentPdfTronService_initializationPromise, _SilentPdfTronService_isArabic, _SilentPdfTronService_isEnabled, _SilentPdfTronService_initializeWebViewer;
|
|
35686
35573
|
class SilentPdfTronService {
|
|
35687
35574
|
constructor(baseHref, translationService, environment, nuxeo) {
|
|
@@ -35744,6 +35631,7 @@ _SilentPdfTronService_webViewerInstance = new WeakMap(), _SilentPdfTronService_w
|
|
|
35744
35631
|
disabledElements: ['downloadButton', 'printButton']
|
|
35745
35632
|
}, __classPrivateFieldGet(this, _SilentPdfTronService_webViewerElement, "f"))
|
|
35746
35633
|
.then((instance) => {
|
|
35634
|
+
instance.CoreControls.disableEmbeddedJavaScript();
|
|
35747
35635
|
__classPrivateFieldSet(this, _SilentPdfTronService_webViewerInstance, instance, "f");
|
|
35748
35636
|
__classPrivateFieldSet(this, _SilentPdfTronService_isInitialized, true, "f");
|
|
35749
35637
|
})
|
|
@@ -36485,6 +36373,7 @@ _PdftronComponent_docLoaded = new WeakMap(), _PdftronComponent_instances = new W
|
|
|
36485
36373
|
});
|
|
36486
36374
|
}, _PdftronComponent_afterLoadWebViewer = function _PdftronComponent_afterLoadWebViewer(instance) {
|
|
36487
36375
|
var _a, _b;
|
|
36376
|
+
instance.CoreControls.disableEmbeddedJavaScript();
|
|
36488
36377
|
this.isArabic ? instance.setLanguage('ar') : instance.setLanguage('en');
|
|
36489
36378
|
this.pdftronService.instance = this.webViewerInstance = instance;
|
|
36490
36379
|
if (this.correspondance.facets.indexOf('ctocr') > -1 && ((_b = (_a = this.correspondance) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b['ctocr:recognizedJson'])) {
|
|
@@ -36611,202 +36500,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
36611
36500
|
type: Output
|
|
36612
36501
|
}] } });
|
|
36613
36502
|
|
|
36614
|
-
class NdfTronExtractText extends BaseComponent {
|
|
36615
|
-
constructor(pdfTronService, renderer, injector) {
|
|
36616
|
-
super(injector);
|
|
36617
|
-
this.pdfTronService = pdfTronService;
|
|
36618
|
-
this.renderer = renderer;
|
|
36619
|
-
this.injector = injector;
|
|
36620
|
-
this.listnerAdded = false;
|
|
36621
|
-
this.detectionRectColor = {
|
|
36622
|
-
R: 255,
|
|
36623
|
-
G: 230,
|
|
36624
|
-
B: 162,
|
|
36625
|
-
A: 1
|
|
36626
|
-
};
|
|
36627
|
-
this.focusedField = '';
|
|
36628
|
-
this.focusedFieldPrefix = '';
|
|
36629
|
-
this.onExtractText = new EventEmitter();
|
|
36630
|
-
this.extractedText = '';
|
|
36631
|
-
this.savedCoordinates = [];
|
|
36632
|
-
this.onAnnotationsChange = (annotations, action) => {
|
|
36633
|
-
var _a;
|
|
36634
|
-
this.extractedText = '';
|
|
36635
|
-
const { annotManager, docViewer, Annotations } = (_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance;
|
|
36636
|
-
if (action === 'add') {
|
|
36637
|
-
annotations.forEach((annot) => {
|
|
36638
|
-
var _a;
|
|
36639
|
-
if (annot instanceof ((_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance.Annotations.RectangleAnnotation)) {
|
|
36640
|
-
this.rect = annot.getRect();
|
|
36641
|
-
if (this.currentPageNum != docViewer.getCurrentPage()) {
|
|
36642
|
-
this.currentPageNum = docViewer.getCurrentPage();
|
|
36643
|
-
this.targetPage = this.pagesZones.pages[this.currentPageNum - 1];
|
|
36644
|
-
this.allWords = this.getAllWordsInThePage();
|
|
36645
|
-
}
|
|
36646
|
-
const pageHeight = this.targetPage.page_height;
|
|
36647
|
-
const pageWidth = this.targetPage.page_width;
|
|
36648
|
-
const standardHeight = docViewer.getPageHeight(this.currentPageNum);
|
|
36649
|
-
const standardWidth = docViewer.getPageWidth(this.currentPageNum);
|
|
36650
|
-
const widthRatio = pageWidth / standardWidth;
|
|
36651
|
-
const heightRatio = pageHeight / standardHeight;
|
|
36652
|
-
this.allWords.forEach((word) => {
|
|
36653
|
-
if (word.coordinates.upper_left.x >= widthRatio * this.rect.x1 &&
|
|
36654
|
-
word.coordinates.upper_left.y >= heightRatio * this.rect.y1 &&
|
|
36655
|
-
word.coordinates.bottom_right.x <= widthRatio * this.rect.x2 &&
|
|
36656
|
-
word.coordinates.bottom_right.y <= heightRatio * this.rect.y2) {
|
|
36657
|
-
this.extractedText += word.text + ' ';
|
|
36658
|
-
}
|
|
36659
|
-
});
|
|
36660
|
-
if (this.extractedText) {
|
|
36661
|
-
this.onExtractText.emit(this.extractedText);
|
|
36662
|
-
this.addFieldNameToRectangle(docViewer, annotManager, Annotations);
|
|
36663
|
-
this.holdDrawedRectangleCoordinates({
|
|
36664
|
-
width: widthRatio,
|
|
36665
|
-
height: heightRatio
|
|
36666
|
-
});
|
|
36667
|
-
}
|
|
36668
|
-
}
|
|
36669
|
-
});
|
|
36670
|
-
}
|
|
36671
|
-
};
|
|
36672
|
-
this.initiateTextDimensions();
|
|
36673
|
-
this.routerService.events.pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
36674
|
-
var _a;
|
|
36675
|
-
if (res instanceof NavigationStart) {
|
|
36676
|
-
const { annotManager, docViewer } = (_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance;
|
|
36677
|
-
annotManager.off('annotationChanged', this.onAnnotationsChange);
|
|
36678
|
-
docViewer.off('documentLoaded', this.enableAnnotationRectangle);
|
|
36679
|
-
}
|
|
36680
|
-
});
|
|
36681
|
-
}
|
|
36682
|
-
ngOnChanges(changes) {
|
|
36683
|
-
if (changes.focusedField || changes.pagesZones) {
|
|
36684
|
-
this.enableAnnotationRectangle();
|
|
36685
|
-
}
|
|
36686
|
-
}
|
|
36687
|
-
enableAnnotationRectangle() {
|
|
36688
|
-
var _a, _b, _c, _d, _e;
|
|
36689
|
-
if (this.focusedField && ((_a = this.pagesZones.pages) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
36690
|
-
(_c = (_b = this.pdfTronService) === null || _b === void 0 ? void 0 : _b.instance) === null || _c === void 0 ? void 0 : _c.setToolMode('AnnotationCreateRectangle');
|
|
36691
|
-
this.focusedLabelDimensions = this.calculateWidthOfText();
|
|
36692
|
-
}
|
|
36693
|
-
else {
|
|
36694
|
-
(_e = (_d = this.pdfTronService) === null || _d === void 0 ? void 0 : _d.instance) === null || _e === void 0 ? void 0 : _e.setToolMode('TextSelect');
|
|
36695
|
-
this.initiateTextDimensions();
|
|
36696
|
-
}
|
|
36697
|
-
}
|
|
36698
|
-
ngAfterViewChecked() {
|
|
36699
|
-
var _a, _b;
|
|
36700
|
-
if (((_a = this.pdfTronService) === null || _a === void 0 ? void 0 : _a.instance) && !this.listnerAdded && this.pagesZones) {
|
|
36701
|
-
this.listnerAdded = true;
|
|
36702
|
-
const { annotManager, docViewer } = (_b = this.pdfTronService) === null || _b === void 0 ? void 0 : _b.instance;
|
|
36703
|
-
docViewer.on('documentLoaded', this.enableAnnotationRectangle);
|
|
36704
|
-
this.setColorOfRectangle(docViewer);
|
|
36705
|
-
annotManager.on('annotationChanged', this.onAnnotationsChange);
|
|
36706
|
-
}
|
|
36707
|
-
}
|
|
36708
|
-
setColorOfRectangle(docViewer) {
|
|
36709
|
-
const rectangleTool = docViewer.getTool('AnnotationCreateRectangle');
|
|
36710
|
-
rectangleTool.defaults = {
|
|
36711
|
-
StrokeColor: this.detectionRectColor,
|
|
36712
|
-
FillColor: this.detectionRectColor,
|
|
36713
|
-
StrokeThickness: 2,
|
|
36714
|
-
Opacity: 0.4
|
|
36715
|
-
};
|
|
36716
|
-
}
|
|
36717
|
-
addFieldNameToRectangle(docViewer, annotManager, Annotations) {
|
|
36718
|
-
const { x1, x2, y1, y2 } = this.rect;
|
|
36719
|
-
if (this.focusedField) {
|
|
36720
|
-
const textAnnot = new Annotations.FreeTextAnnotation();
|
|
36721
|
-
textAnnot.PageNumber = docViewer.getCurrentPage();
|
|
36722
|
-
const rectWidth = x2 - x1;
|
|
36723
|
-
const rectHeight = y2 - y1;
|
|
36724
|
-
if (this.focusedLabelDimensions.width > rectWidth || this.focusedLabelDimensions.height > rectHeight) {
|
|
36725
|
-
textAnnot.X = x1;
|
|
36726
|
-
textAnnot.Y = y1 - 15;
|
|
36727
|
-
}
|
|
36728
|
-
else {
|
|
36729
|
-
textAnnot.X = x1 + rectWidth / 2 - this.focusedLabelDimensions.width / 2;
|
|
36730
|
-
textAnnot.Y = y1 + rectHeight / 2 - this.focusedLabelDimensions.height / 2;
|
|
36731
|
-
}
|
|
36732
|
-
textAnnot.Width = this.focusedLabelDimensions.width;
|
|
36733
|
-
textAnnot.Height = this.focusedLabelDimensions.height;
|
|
36734
|
-
textAnnot.FontSize = '24px';
|
|
36735
|
-
textAnnot.setPadding(new Annotations.Rect(0, 0, 0, 0));
|
|
36736
|
-
textAnnot.TextColor = new Annotations.Color(83, 70, 199);
|
|
36737
|
-
textAnnot.setContents(this.translatedLabel);
|
|
36738
|
-
textAnnot.StrokeThickness = 0;
|
|
36739
|
-
annotManager.addAnnotation(textAnnot);
|
|
36740
|
-
annotManager.redrawAnnotation(textAnnot);
|
|
36741
|
-
}
|
|
36742
|
-
}
|
|
36743
|
-
holdDrawedRectangleCoordinates(ratio) {
|
|
36744
|
-
const _windowCoordinates = {
|
|
36745
|
-
x1: ratio.width * this.rect.x1,
|
|
36746
|
-
x2: ratio.width * this.rect.x2,
|
|
36747
|
-
y1: ratio.height * this.rect.y1,
|
|
36748
|
-
y2: ratio.height * this.rect.y2
|
|
36749
|
-
};
|
|
36750
|
-
let index = this.savedCoordinates.findIndex((elem) => elem.fieldName === this.focusedField);
|
|
36751
|
-
if (index > -1) {
|
|
36752
|
-
this.savedCoordinates[index].coordinates.push({
|
|
36753
|
-
pdfTronCoordinate: this.rect,
|
|
36754
|
-
windowCoordinate: _windowCoordinates
|
|
36755
|
-
});
|
|
36756
|
-
}
|
|
36757
|
-
else {
|
|
36758
|
-
this.savedCoordinates.push({
|
|
36759
|
-
fieldName: this.focusedField,
|
|
36760
|
-
coordinates: [
|
|
36761
|
-
{
|
|
36762
|
-
pdfTronCoordinate: this.rect,
|
|
36763
|
-
windowCoordinate: _windowCoordinates
|
|
36764
|
-
}
|
|
36765
|
-
]
|
|
36766
|
-
});
|
|
36767
|
-
}
|
|
36768
|
-
}
|
|
36769
|
-
getAllWordsInThePage() {
|
|
36770
|
-
return flatMap(this.targetPage.zones, (zone) => flatMap(zone.paragraphs, (paragraph) => flatMap(paragraph.lines, (line) => map$1(line.words))));
|
|
36771
|
-
}
|
|
36772
|
-
initiateTextDimensions() {
|
|
36773
|
-
this.focusedLabelDimensions = { width: 0, height: 0 };
|
|
36774
|
-
}
|
|
36775
|
-
calculateWidthOfText() {
|
|
36776
|
-
const span = this.renderer.createElement('span');
|
|
36777
|
-
const textNode = this.renderer.createText(this.translatedLabel);
|
|
36778
|
-
this.renderer.appendChild(span, textNode);
|
|
36779
|
-
this.renderer.setStyle(span, 'font-size', '24px');
|
|
36780
|
-
this.renderer.setStyle(span, 'visibility', 'hidden');
|
|
36781
|
-
this.renderer.setStyle(span, 'position', 'absolute');
|
|
36782
|
-
this.renderer.appendChild(document.body, span);
|
|
36783
|
-
const dimensions = { width: span.clientWidth, height: span.clientHeight };
|
|
36784
|
-
this.renderer.removeChild(document.body, span);
|
|
36785
|
-
return dimensions;
|
|
36786
|
-
}
|
|
36787
|
-
get translatedLabel() {
|
|
36788
|
-
return this.translateService.instant(this.focusedFieldPrefix + this.focusedField);
|
|
36789
|
-
}
|
|
36790
|
-
}
|
|
36791
|
-
NdfTronExtractText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTronExtractText, deps: [{ token: PdftronService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36792
|
-
NdfTronExtractText.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: NdfTronExtractText, selector: "[ndfTronExtractText]", inputs: { pagesZones: "pagesZones", detectionRectColor: "detectionRectColor", focusedField: "focusedField", focusedFieldPrefix: "focusedFieldPrefix" }, outputs: { onExtractText: "onExtractText" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
36793
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTronExtractText, decorators: [{
|
|
36794
|
-
type: Directive,
|
|
36795
|
-
args: [{
|
|
36796
|
-
selector: '[ndfTronExtractText]'
|
|
36797
|
-
}]
|
|
36798
|
-
}], ctorParameters: function () { return [{ type: PdftronService }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { pagesZones: [{
|
|
36799
|
-
type: Input
|
|
36800
|
-
}], detectionRectColor: [{
|
|
36801
|
-
type: Input
|
|
36802
|
-
}], focusedField: [{
|
|
36803
|
-
type: Input
|
|
36804
|
-
}], focusedFieldPrefix: [{
|
|
36805
|
-
type: Input
|
|
36806
|
-
}], onExtractText: [{
|
|
36807
|
-
type: Output
|
|
36808
|
-
}] } });
|
|
36809
|
-
|
|
36810
36503
|
class PdfTronModule {
|
|
36811
36504
|
}
|
|
36812
36505
|
PdfTronModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PdfTronModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -41270,192 +40963,242 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
41270
40963
|
type: Injectable
|
|
41271
40964
|
}] });
|
|
41272
40965
|
|
|
41273
|
-
class
|
|
41274
|
-
constructor() {
|
|
41275
|
-
|
|
40966
|
+
class DataAccessService extends BaseEditorConfigService {
|
|
40967
|
+
constructor(injector) {
|
|
40968
|
+
super(injector);
|
|
40969
|
+
}
|
|
40970
|
+
saveData(payload) {
|
|
40971
|
+
return this.customAutomation({
|
|
40972
|
+
operation: 'AC_UA_Create_UI_Configuration',
|
|
40973
|
+
context: payload
|
|
40974
|
+
});
|
|
41276
40975
|
}
|
|
41277
40976
|
}
|
|
41278
|
-
|
|
41279
|
-
|
|
41280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type:
|
|
41281
|
-
type:
|
|
40977
|
+
DataAccessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40978
|
+
DataAccessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, providedIn: 'root' });
|
|
40979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, decorators: [{
|
|
40980
|
+
type: Injectable,
|
|
41282
40981
|
args: [{
|
|
41283
|
-
|
|
41284
|
-
templateUrl: './ndf-panel.component.html',
|
|
41285
|
-
styleUrls: ['./ndf-panel.component.scss'],
|
|
41286
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
40982
|
+
providedIn: 'root'
|
|
41287
40983
|
}]
|
|
41288
|
-
}],
|
|
41289
|
-
type: Input
|
|
41290
|
-
}], panelHeader: [{
|
|
41291
|
-
type: ContentChild,
|
|
41292
|
-
args: ['panelHeader', { read: TemplateRef }]
|
|
41293
|
-
}], panelBody: [{
|
|
41294
|
-
type: ContentChild,
|
|
41295
|
-
args: ['panelBody', { read: TemplateRef }]
|
|
41296
|
-
}], panelFooter: [{
|
|
41297
|
-
type: ContentChild,
|
|
41298
|
-
args: ['panelFooter', { read: TemplateRef }]
|
|
41299
|
-
}] } });
|
|
40984
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
41300
40985
|
|
|
41301
|
-
|
|
41302
|
-
}
|
|
41303
|
-
NdfPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
41304
|
-
NdfPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, declarations: [NdfPanelComponent], imports: [CommonModule], exports: [NdfPanelComponent] });
|
|
41305
|
-
NdfPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, imports: [[CommonModule]] });
|
|
41306
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, decorators: [{
|
|
41307
|
-
type: NgModule,
|
|
41308
|
-
args: [{
|
|
41309
|
-
declarations: [NdfPanelComponent],
|
|
41310
|
-
imports: [CommonModule],
|
|
41311
|
-
exports: [NdfPanelComponent]
|
|
41312
|
-
}]
|
|
41313
|
-
}] });
|
|
40986
|
+
const METADATA_EDITOR_OPTIONS = new InjectionToken('METADATA_EDITOR_CONFIG');
|
|
41314
40987
|
|
|
41315
|
-
class
|
|
41316
|
-
constructor(
|
|
41317
|
-
|
|
41318
|
-
this.
|
|
41319
|
-
this.
|
|
41320
|
-
this.
|
|
41321
|
-
this.
|
|
41322
|
-
this.
|
|
40988
|
+
class DataStoreService {
|
|
40989
|
+
constructor(dataAccessService, environment, options) {
|
|
40990
|
+
this.dataAccessService = dataAccessService;
|
|
40991
|
+
this.environment = environment;
|
|
40992
|
+
this.options = options;
|
|
40993
|
+
this._editorTypeSubject = new BehaviorSubject(NDF_EDITOR_TYPE.TABLES);
|
|
40994
|
+
this.editorType$ = this._editorTypeSubject.asObservable();
|
|
40995
|
+
this._editorModeSubject = new BehaviorSubject(CONFIG_EDITOR_MODE.EDIT);
|
|
40996
|
+
this.editorMode$ = this._editorModeSubject.asObservable();
|
|
40997
|
+
this._dataSubject = new BehaviorSubject('{\n"key": "value"\n}');
|
|
40998
|
+
this.editorData$ = this._dataSubject.asObservable();
|
|
40999
|
+
this.previewData$ = this._dataSubject.asObservable().pipe(map((result) => JSON.parse(result)));
|
|
41323
41000
|
}
|
|
41324
|
-
|
|
41325
|
-
this.
|
|
41001
|
+
get editorMode() {
|
|
41002
|
+
return this._editorModeSubject.getValue();
|
|
41326
41003
|
}
|
|
41327
|
-
get
|
|
41328
|
-
return this.
|
|
41004
|
+
get type() {
|
|
41005
|
+
return this._editorTypeSubject.getValue();
|
|
41329
41006
|
}
|
|
41330
|
-
|
|
41331
|
-
this.
|
|
41007
|
+
get editorData() {
|
|
41008
|
+
return this._dataSubject.getValue();
|
|
41332
41009
|
}
|
|
41333
|
-
|
|
41334
|
-
this.
|
|
41335
|
-
|
|
41336
|
-
|
|
41337
|
-
|
|
41338
|
-
|
|
41339
|
-
|
|
41340
|
-
|
|
41341
|
-
};
|
|
41342
|
-
this.
|
|
41343
|
-
|
|
41344
|
-
|
|
41345
|
-
|
|
41346
|
-
|
|
41347
|
-
|
|
41348
|
-
})
|
|
41349
|
-
|
|
41350
|
-
|
|
41351
|
-
|
|
41352
|
-
|
|
41353
|
-
|
|
41354
|
-
filteredTabs = filteredTabs
|
|
41355
|
-
.filter((tab) => primaryTabsPerms.some((p) => p.id === tab.id && p.enabled))
|
|
41356
|
-
.map((tab) => {
|
|
41357
|
-
var _a;
|
|
41358
|
-
if ((_a = tab.secondary_tabs) === null || _a === void 0 ? void 0 : _a.length) {
|
|
41359
|
-
tab.secondary_tabs = tab.secondary_tabs.filter((sub) => secondaryTabsPerms.some((p) => p.id === sub.id && p.enabled));
|
|
41360
|
-
}
|
|
41361
|
-
return tab;
|
|
41362
|
-
});
|
|
41363
|
-
this.tabs = filteredTabs;
|
|
41364
|
-
}))
|
|
41365
|
-
.subscribe(() => {
|
|
41366
|
-
if (this.tabs.length && !this.activeTab) {
|
|
41367
|
-
this.activateTab(this.tabs[0]);
|
|
41010
|
+
changeMode(mode) {
|
|
41011
|
+
this._editorModeSubject.next(mode);
|
|
41012
|
+
}
|
|
41013
|
+
changeEditorType(type) {
|
|
41014
|
+
this._editorTypeSubject.next(type);
|
|
41015
|
+
}
|
|
41016
|
+
getData(key, type) {
|
|
41017
|
+
var _a, _b;
|
|
41018
|
+
const metadata = ((_a = this.options) === null || _a === void 0 ? void 0 : _a[type]) || {};
|
|
41019
|
+
return this.dataAccessService
|
|
41020
|
+
.fetchData({
|
|
41021
|
+
app: (_b = this.environment) === null || _b === void 0 ? void 0 : _b.appKey,
|
|
41022
|
+
key: key,
|
|
41023
|
+
type: type,
|
|
41024
|
+
localPath: metadata === null || metadata === void 0 ? void 0 : metadata.localPath
|
|
41025
|
+
})
|
|
41026
|
+
.pipe(switchMap((res) => {
|
|
41027
|
+
var _a, _b;
|
|
41028
|
+
if ((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.config) {
|
|
41029
|
+
const data = JSON.stringify((_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.config, null, 2);
|
|
41030
|
+
this._dataSubject.next(data || '{\n"key": "value"\n}');
|
|
41368
41031
|
}
|
|
41369
|
-
this.
|
|
41032
|
+
return this.editorData$;
|
|
41033
|
+
}));
|
|
41034
|
+
}
|
|
41035
|
+
saveData(key, type) {
|
|
41036
|
+
var _a;
|
|
41037
|
+
const data = this._dataSubject.getValue();
|
|
41038
|
+
return this.dataAccessService.saveData({
|
|
41039
|
+
app: (_a = this.environment) === null || _a === void 0 ? void 0 : _a.appKey,
|
|
41040
|
+
key: key,
|
|
41041
|
+
type: type,
|
|
41042
|
+
content: data
|
|
41370
41043
|
});
|
|
41371
41044
|
}
|
|
41372
|
-
|
|
41373
|
-
|
|
41374
|
-
return (_a = this.activeTab) !== null && _a !== void 0 ? _a : (_c = (_b = this.tabs) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id;
|
|
41045
|
+
storeData(data) {
|
|
41046
|
+
this._dataSubject.next(data);
|
|
41375
41047
|
}
|
|
41376
|
-
|
|
41377
|
-
|
|
41048
|
+
}
|
|
41049
|
+
DataStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, deps: [{ token: DataAccessService }, { token: 'environment' }, { token: METADATA_EDITOR_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41050
|
+
DataStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService });
|
|
41051
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, decorators: [{
|
|
41052
|
+
type: Injectable
|
|
41053
|
+
}], ctorParameters: function () { return [{ type: DataAccessService }, { type: undefined, decorators: [{
|
|
41054
|
+
type: Inject,
|
|
41055
|
+
args: ['environment']
|
|
41056
|
+
}] }, { type: undefined, decorators: [{
|
|
41057
|
+
type: Inject,
|
|
41058
|
+
args: [METADATA_EDITOR_OPTIONS]
|
|
41059
|
+
}] }]; } });
|
|
41060
|
+
|
|
41061
|
+
// monaco-loader.service.ts
|
|
41062
|
+
class MonacoLoaderService {
|
|
41063
|
+
constructor() {
|
|
41064
|
+
this.loaded = false;
|
|
41378
41065
|
}
|
|
41379
|
-
|
|
41380
|
-
|
|
41381
|
-
this.
|
|
41066
|
+
load(baseUrl = window.location.origin) {
|
|
41067
|
+
const _vsUrl = window.location.origin + baseUrl + '/assets/monaco-editor/min/vs';
|
|
41068
|
+
if (this.loaded)
|
|
41069
|
+
return this.loadPromise;
|
|
41070
|
+
this.loaded = true;
|
|
41071
|
+
this.loadPromise = new Promise((resolve) => {
|
|
41072
|
+
// If already available
|
|
41073
|
+
if (window.monaco) {
|
|
41074
|
+
resolve(window.monaco);
|
|
41075
|
+
return;
|
|
41076
|
+
}
|
|
41077
|
+
const onAmdLoader = () => {
|
|
41078
|
+
window.require.config({ paths: { vs: _vsUrl } });
|
|
41079
|
+
// Set the worker URL to the correct path
|
|
41080
|
+
/*window.monaco.editor?.setWorkerOptions({
|
|
41081
|
+
// Make sure the worker path points to the correct location
|
|
41082
|
+
baseUrl: `${baseUrl}/worker/`
|
|
41083
|
+
});*/
|
|
41084
|
+
window.require(['vs/editor/editor.main'], () => {
|
|
41085
|
+
resolve(window.monaco);
|
|
41086
|
+
});
|
|
41087
|
+
};
|
|
41088
|
+
// Load AMD loader if needed
|
|
41089
|
+
if (!window.require) {
|
|
41090
|
+
const loaderScript = document.createElement('script');
|
|
41091
|
+
loaderScript.type = 'text/javascript';
|
|
41092
|
+
loaderScript.src = `${_vsUrl}/loader.js`;
|
|
41093
|
+
loaderScript.onload = onAmdLoader;
|
|
41094
|
+
document.body.appendChild(loaderScript);
|
|
41095
|
+
}
|
|
41096
|
+
else {
|
|
41097
|
+
onAmdLoader();
|
|
41098
|
+
}
|
|
41099
|
+
});
|
|
41100
|
+
return this.loadPromise;
|
|
41382
41101
|
}
|
|
41383
|
-
|
|
41384
|
-
|
|
41385
|
-
|
|
41102
|
+
}
|
|
41103
|
+
MonacoLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41104
|
+
MonacoLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, providedIn: 'root' });
|
|
41105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, decorators: [{
|
|
41106
|
+
type: Injectable,
|
|
41107
|
+
args: [{ providedIn: 'root' }]
|
|
41108
|
+
}] });
|
|
41109
|
+
|
|
41110
|
+
class EditorModeSwitchComponent {
|
|
41111
|
+
constructor() {
|
|
41112
|
+
this.changeMode = new EventEmitter();
|
|
41113
|
+
this.modes = CONFIG_EDITOR_MODE;
|
|
41386
41114
|
}
|
|
41387
|
-
|
|
41388
|
-
|
|
41389
|
-
|
|
41115
|
+
ngOnInit() { }
|
|
41116
|
+
onModeChange(mode) {
|
|
41117
|
+
this.changeMode.emit(mode.value);
|
|
41390
41118
|
}
|
|
41391
41119
|
}
|
|
41392
|
-
|
|
41393
|
-
|
|
41394
|
-
|
|
41395
|
-
|
|
41396
|
-
|
|
41397
|
-
|
|
41398
|
-
|
|
41399
|
-
|
|
41400
|
-
|
|
41401
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsComponent, decorators: [{
|
|
41120
|
+
EditorModeSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorModeSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41121
|
+
EditorModeSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorModeSwitchComponent, selector: "app-editor-mode-switch", inputs: { mode: "mode" }, outputs: { changeMode: "changeMode" }, ngImport: i0, template: `
|
|
41122
|
+
<mat-button-toggle-group [value]="mode" (change)="onModeChange($event)">
|
|
41123
|
+
<mat-button-toggle *ngFor="let mod of modes | keyvalue" [value]="mod.value"
|
|
41124
|
+
>{{ 'JSON_EDITOR.MODES.' + (mod.key | lowercase) | translate }}
|
|
41125
|
+
</mat-button-toggle>
|
|
41126
|
+
</mat-button-toggle-group>
|
|
41127
|
+
`, isInline: true, styles: [""], components: [{ type: i1$b.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }], directives: [{ type: i1$b.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "keyvalue": i4$1.KeyValuePipe, "translate": i1.TranslatePipe, "lowercase": i4$1.LowerCasePipe } });
|
|
41128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorModeSwitchComponent, decorators: [{
|
|
41402
41129
|
type: Component,
|
|
41403
41130
|
args: [{
|
|
41404
|
-
selector: '
|
|
41405
|
-
|
|
41406
|
-
|
|
41407
|
-
|
|
41408
|
-
|
|
41409
|
-
|
|
41410
|
-
|
|
41411
|
-
|
|
41412
|
-
|
|
41413
|
-
transition('true => false', animate('150ms ease-in'))
|
|
41414
|
-
])
|
|
41415
|
-
]
|
|
41131
|
+
selector: 'app-editor-mode-switch',
|
|
41132
|
+
template: `
|
|
41133
|
+
<mat-button-toggle-group [value]="mode" (change)="onModeChange($event)">
|
|
41134
|
+
<mat-button-toggle *ngFor="let mod of modes | keyvalue" [value]="mod.value"
|
|
41135
|
+
>{{ 'JSON_EDITOR.MODES.' + (mod.key | lowercase) | translate }}
|
|
41136
|
+
</mat-button-toggle>
|
|
41137
|
+
</mat-button-toggle-group>
|
|
41138
|
+
`,
|
|
41139
|
+
styles: ['']
|
|
41416
41140
|
}]
|
|
41417
|
-
}], ctorParameters: function () { return [
|
|
41418
|
-
type: ContentChild,
|
|
41419
|
-
args: ['tabHeader', { read: TemplateRef }]
|
|
41420
|
-
}], headerOptions: [{
|
|
41421
|
-
type: ContentChild,
|
|
41422
|
-
args: ['headerOptions', { read: TemplateRef }]
|
|
41423
|
-
}], tabBody: [{
|
|
41424
|
-
type: ContentChild,
|
|
41425
|
-
args: ['tabBody', { read: TemplateRef }]
|
|
41426
|
-
}], tabs: [{
|
|
41427
|
-
type: Input
|
|
41428
|
-
}], activeTab: [{
|
|
41429
|
-
type: Input
|
|
41430
|
-
}], isAllowdTabFn: [{
|
|
41431
|
-
type: Input
|
|
41432
|
-
}], showHeader: [{
|
|
41141
|
+
}], ctorParameters: function () { return []; }, propDecorators: { mode: [{
|
|
41433
41142
|
type: Input
|
|
41434
|
-
}],
|
|
41143
|
+
}], changeMode: [{
|
|
41435
41144
|
type: Output
|
|
41436
41145
|
}] } });
|
|
41437
41146
|
|
|
41438
|
-
class
|
|
41147
|
+
class InfoDialogComponent extends BaseDialogComponent {
|
|
41148
|
+
constructor() {
|
|
41149
|
+
super(...arguments);
|
|
41150
|
+
this.baseAppUrl = this._injector.get(APP_BASE_HREF);
|
|
41151
|
+
this.activeDoc = null;
|
|
41152
|
+
}
|
|
41153
|
+
ngOnInit() {
|
|
41154
|
+
var _a;
|
|
41155
|
+
this.documentations = this.dialogData.documentations;
|
|
41156
|
+
if ((_a = this.documentations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
41157
|
+
this.activeDoc = this.documentations[0].name || '';
|
|
41158
|
+
}
|
|
41159
|
+
}
|
|
41439
41160
|
}
|
|
41440
|
-
|
|
41441
|
-
|
|
41442
|
-
|
|
41443
|
-
|
|
41444
|
-
CommonModule,
|
|
41445
|
-
TranslateModule
|
|
41446
|
-
]] });
|
|
41447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsModule, decorators: [{
|
|
41448
|
-
type: NgModule,
|
|
41161
|
+
InfoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InfoDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
41162
|
+
InfoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: InfoDialogComponent, selector: "app-info-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog [dialogTitle]=\"dialogData.title | translate\" bodyClass=\"gap-4 p-0\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<div class=\"secondary-tabs flex gap-5 items-center self-stretch doc-tabs\">\r\n\t\t\t<div\r\n\t\t\t\t[class.selected-tab]=\"doc.name === activeDoc\"\r\n\t\t\t\tclass=\"tab-item relative flex py-5 px-3 justify-start items-center gap-2.5 cursor-pointer\"\r\n\t\t\t\t*ngFor=\"let doc of documentations\"\r\n\t\t\t\t(click)=\"activeDoc = doc.name\"\r\n\t\t\t>\r\n\t\t\t\t<h4>{{ doc?.name | translate }}</h4>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngFor=\"let doc of documentations\">\r\n\t\t\t<markdown class=\"markdown-content\" [src]=\"baseAppUrl + doc.path\" *ngIf=\"doc.name === activeDoc\"> </markdown>\r\n\t\t</ng-container>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\"> </ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: ["::ng-deep .markdown-content{direction:var(--markdown-direction, ltr)!important;text-align:start;color:var(--markdonw-text-color, inherit);background:var(--markdonw-background-color, transparent);border:var(--markdonw-border, 0px solid transparent);border-radius:var(--markdonw-border-radius, 0);padding:var(--markdown-padding, 1rem)}::ng-deep .markdown-content em{background-color:transparent}::ng-deep .markdown-content code,::ng-deep .markdown-content kbd,::ng-deep .markdown-content samp,::ng-deep .markdown-content pre{font-family:ui-monospace,SFMono-Regular,Consolas,\"Liberation Mono\",Menlo,monospace;font-size:1em}::ng-deep .markdown-content hr{margin-block:1rem}::ng-deep .markdown-content table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums;margin-block:.5rem}::ng-deep .markdown-content table tr{border-top:1px solid var(--markdonw-table-tr-border-color, #d1d9e0b3)}::ng-deep .markdown-content table th,::ng-deep .markdown-content table td{padding:6px 13px;border:1px solid var(--markdonw-table-border-color, #d1d9e0)}.doc-tabs{position:sticky;top:0;background:var(--markdonw-tabs-background-color, #fff)}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: i2$8.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "emoji", "katex", "katexOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start"], outputs: ["error", "load", "ready"] }], directives: [{ type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
41163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InfoDialogComponent, decorators: [{
|
|
41164
|
+
type: Component,
|
|
41449
41165
|
args: [{
|
|
41450
|
-
|
|
41451
|
-
|
|
41452
|
-
|
|
41453
|
-
TranslateModule
|
|
41454
|
-
],
|
|
41455
|
-
exports: [NdfTabsComponent]
|
|
41166
|
+
selector: 'app-info-dialog',
|
|
41167
|
+
templateUrl: './info-dialog.component.html',
|
|
41168
|
+
styleUrls: ['./info-dialog.component.scss']
|
|
41456
41169
|
}]
|
|
41457
41170
|
}] });
|
|
41458
41171
|
|
|
41172
|
+
class ConfigEditorActionsComponent {
|
|
41173
|
+
constructor() {
|
|
41174
|
+
this.saveDisabled = false;
|
|
41175
|
+
this.onSave = new EventEmitter();
|
|
41176
|
+
this.onInfo = new EventEmitter();
|
|
41177
|
+
this.onBack = new EventEmitter();
|
|
41178
|
+
}
|
|
41179
|
+
ngOnInit() { }
|
|
41180
|
+
}
|
|
41181
|
+
ConfigEditorActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigEditorActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41182
|
+
ConfigEditorActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfigEditorActionsComponent, selector: "app-config-editor-actions", inputs: { saveDisabled: "saveDisabled", config: "config" }, outputs: { onSave: "onSave", onInfo: "onInfo", onBack: "onBack" }, ngImport: i0, template: "<button mat-stroked-button (click)=\"onSave.emit($event)\" [disabled]=\"saveDisabled\">\r\n\t{{ 'JSON_EDITOR.save' | translate }}\r\n</button>\r\n<button mat-stroked-button (click)=\"onInfo.emit(config?.documentations)\" *ngIf=\"!!config?.documentations?.length\">\r\n\t{{ 'JSON_EDITOR.info' | translate }}\r\n</button>\r\n\r\n<button mat-stroked-button (click)=\"onBack.emit($event)\">{{ 'JSON_EDITOR.back' | translate }}</button>\r\n", styles: [":host{display:var(--ndf-editor-actions-display, flex);flex-direction:var(--ndf-editor-actions-direction, column);grid-gap:var(--ndf-editor-actions-gap, .5rem);gap:var(--ndf-editor-actions-gap, .5rem)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
41183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigEditorActionsComponent, decorators: [{
|
|
41184
|
+
type: Component,
|
|
41185
|
+
args: [{
|
|
41186
|
+
selector: 'app-config-editor-actions',
|
|
41187
|
+
templateUrl: './config-editor-actions.component.html',
|
|
41188
|
+
styleUrls: ['./config-editor-actions.component.scss']
|
|
41189
|
+
}]
|
|
41190
|
+
}], ctorParameters: function () { return []; }, propDecorators: { saveDisabled: [{
|
|
41191
|
+
type: Input
|
|
41192
|
+
}], config: [{
|
|
41193
|
+
type: Input
|
|
41194
|
+
}], onSave: [{
|
|
41195
|
+
type: Output
|
|
41196
|
+
}], onInfo: [{
|
|
41197
|
+
type: Output
|
|
41198
|
+
}], onBack: [{
|
|
41199
|
+
type: Output
|
|
41200
|
+
}] } });
|
|
41201
|
+
|
|
41459
41202
|
const COLORS_COUNT = 10;
|
|
41460
41203
|
const CHART_MAIN_COLOR = '#184e77';
|
|
41461
41204
|
|
|
@@ -43416,7 +43159,7 @@ class ReportsHooksService {
|
|
|
43416
43159
|
evaluate(expr, payload) {
|
|
43417
43160
|
try {
|
|
43418
43161
|
const context = { criteria: payload };
|
|
43419
|
-
const result =
|
|
43162
|
+
const result = Utils.evaluate(expr, context, 'payload');
|
|
43420
43163
|
return result !== null && result !== void 0 ? result : payload;
|
|
43421
43164
|
}
|
|
43422
43165
|
catch (e) {
|
|
@@ -43925,22 +43668,35 @@ class ReportConfigMapperService {
|
|
|
43925
43668
|
type: 'bar',
|
|
43926
43669
|
options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
|
|
43927
43670
|
direction: 'vertical',
|
|
43928
|
-
callbacks
|
|
43671
|
+
callbacks,
|
|
43929
43672
|
}),
|
|
43930
43673
|
horizontalBar: this._getChartOptions({
|
|
43931
43674
|
type: 'bar',
|
|
43932
43675
|
options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
|
|
43933
43676
|
direction: 'horizontal',
|
|
43934
|
-
callbacks
|
|
43677
|
+
callbacks,
|
|
43935
43678
|
}),
|
|
43936
43679
|
doughnut: this._getChartOptions({
|
|
43937
43680
|
type: 'doughnut',
|
|
43938
43681
|
options: overrides === null || overrides === void 0 ? void 0 : overrides.doughnut,
|
|
43939
|
-
callbacks
|
|
43682
|
+
callbacks,
|
|
43940
43683
|
}),
|
|
43941
|
-
line: this._getChartOptions({
|
|
43942
|
-
|
|
43943
|
-
|
|
43684
|
+
line: this._getChartOptions({
|
|
43685
|
+
type: 'line',
|
|
43686
|
+
options: overrides === null || overrides === void 0 ? void 0 : overrides.line,
|
|
43687
|
+
callbacks,
|
|
43688
|
+
}),
|
|
43689
|
+
pie: this._getChartOptions({
|
|
43690
|
+
type: 'pie',
|
|
43691
|
+
options: overrides === null || overrides === void 0 ? void 0 : overrides.pie,
|
|
43692
|
+
callbacks,
|
|
43693
|
+
}),
|
|
43694
|
+
}, options: this._getChartOptions({
|
|
43695
|
+
type: config.chart.type,
|
|
43696
|
+
options,
|
|
43697
|
+
direction,
|
|
43698
|
+
callbacks,
|
|
43699
|
+
}) });
|
|
43944
43700
|
if (Array.isArray(plugins) && plugins.length > 0) {
|
|
43945
43701
|
chart.plugins = this._preparePlugins(plugins);
|
|
43946
43702
|
}
|
|
@@ -43995,14 +43751,14 @@ class ReportConfigMapperService {
|
|
|
43995
43751
|
return acc;
|
|
43996
43752
|
}, []);
|
|
43997
43753
|
}
|
|
43998
|
-
_getChartOptions({ type, options, direction = 'horizontal', callbacks }) {
|
|
43754
|
+
_getChartOptions({ type, options, direction = 'horizontal', callbacks, }) {
|
|
43999
43755
|
var _a;
|
|
44000
43756
|
const _optionsMap = {
|
|
44001
43757
|
verticalBar: getVerticalBarOptions,
|
|
44002
43758
|
horizontalBar: getHorizontalBarOptions,
|
|
44003
43759
|
doughnut: getDoughnutOptions,
|
|
44004
43760
|
line: getLineOptions,
|
|
44005
|
-
pie: getPieOptions
|
|
43761
|
+
pie: getPieOptions,
|
|
44006
43762
|
};
|
|
44007
43763
|
const key = type === 'bar' ? `${direction}Bar` : type;
|
|
44008
43764
|
const _options = ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
|
|
@@ -44024,7 +43780,7 @@ class ReportConfigMapperService {
|
|
|
44024
43780
|
.filter((call) => !!call.path && !!call.callback)
|
|
44025
43781
|
.forEach((callback) => {
|
|
44026
43782
|
try {
|
|
44027
|
-
const fn =
|
|
43783
|
+
const fn = Utils.evaluate(callback.callback, {
|
|
44028
43784
|
type,
|
|
44029
43785
|
translate: this._translateService,
|
|
44030
43786
|
register: this._chartPluginsCallbacks,
|
|
@@ -44043,7 +43799,7 @@ ReportConfigMapperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.
|
|
|
44043
43799
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, decorators: [{
|
|
44044
43800
|
type: Injectable,
|
|
44045
43801
|
args: [{
|
|
44046
|
-
providedIn: 'root'
|
|
43802
|
+
providedIn: 'root',
|
|
44047
43803
|
}]
|
|
44048
43804
|
}], ctorParameters: function () { return [{ type: ChartPluginsRegistry }, { type: ChartCallbacksRegisterService }, { type: i1.TranslateService }]; } });
|
|
44049
43805
|
|
|
@@ -45678,7 +45434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
45678
45434
|
class CheckConditionPipe {
|
|
45679
45435
|
transform(activeQuery, condition, config) {
|
|
45680
45436
|
if (condition) {
|
|
45681
|
-
return
|
|
45437
|
+
return Utils.evaluate(condition, { activeQuery, config }, 'show');
|
|
45682
45438
|
}
|
|
45683
45439
|
return true;
|
|
45684
45440
|
}
|
|
@@ -45810,242 +45566,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
45810
45566
|
}]
|
|
45811
45567
|
}] });
|
|
45812
45568
|
|
|
45813
|
-
class DataAccessService extends BaseEditorConfigService {
|
|
45814
|
-
constructor(injector) {
|
|
45815
|
-
super(injector);
|
|
45816
|
-
}
|
|
45817
|
-
saveData(payload) {
|
|
45818
|
-
return this.customAutomation({
|
|
45819
|
-
operation: 'AC_UA_Create_UI_Configuration',
|
|
45820
|
-
context: payload
|
|
45821
|
-
});
|
|
45822
|
-
}
|
|
45823
|
-
}
|
|
45824
|
-
DataAccessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45825
|
-
DataAccessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, providedIn: 'root' });
|
|
45826
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, decorators: [{
|
|
45827
|
-
type: Injectable,
|
|
45828
|
-
args: [{
|
|
45829
|
-
providedIn: 'root'
|
|
45830
|
-
}]
|
|
45831
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
45832
|
-
|
|
45833
|
-
const METADATA_EDITOR_OPTIONS = new InjectionToken('METADATA_EDITOR_CONFIG');
|
|
45834
|
-
|
|
45835
|
-
class DataStoreService {
|
|
45836
|
-
constructor(dataAccessService, environment, options) {
|
|
45837
|
-
this.dataAccessService = dataAccessService;
|
|
45838
|
-
this.environment = environment;
|
|
45839
|
-
this.options = options;
|
|
45840
|
-
this._editorTypeSubject = new BehaviorSubject(NDF_EDITOR_TYPE.TABLES);
|
|
45841
|
-
this.editorType$ = this._editorTypeSubject.asObservable();
|
|
45842
|
-
this._editorModeSubject = new BehaviorSubject(CONFIG_EDITOR_MODE.EDIT);
|
|
45843
|
-
this.editorMode$ = this._editorModeSubject.asObservable();
|
|
45844
|
-
this._dataSubject = new BehaviorSubject('{\n"key": "value"\n}');
|
|
45845
|
-
this.editorData$ = this._dataSubject.asObservable();
|
|
45846
|
-
this.previewData$ = this._dataSubject.asObservable().pipe(map((result) => JSON.parse(result)));
|
|
45847
|
-
}
|
|
45848
|
-
get editorMode() {
|
|
45849
|
-
return this._editorModeSubject.getValue();
|
|
45850
|
-
}
|
|
45851
|
-
get type() {
|
|
45852
|
-
return this._editorTypeSubject.getValue();
|
|
45853
|
-
}
|
|
45854
|
-
get editorData() {
|
|
45855
|
-
return this._dataSubject.getValue();
|
|
45856
|
-
}
|
|
45857
|
-
changeMode(mode) {
|
|
45858
|
-
this._editorModeSubject.next(mode);
|
|
45859
|
-
}
|
|
45860
|
-
changeEditorType(type) {
|
|
45861
|
-
this._editorTypeSubject.next(type);
|
|
45862
|
-
}
|
|
45863
|
-
getData(key, type) {
|
|
45864
|
-
var _a, _b;
|
|
45865
|
-
const metadata = ((_a = this.options) === null || _a === void 0 ? void 0 : _a[type]) || {};
|
|
45866
|
-
return this.dataAccessService
|
|
45867
|
-
.fetchData({
|
|
45868
|
-
app: (_b = this.environment) === null || _b === void 0 ? void 0 : _b.appKey,
|
|
45869
|
-
key: key,
|
|
45870
|
-
type: type,
|
|
45871
|
-
localPath: metadata === null || metadata === void 0 ? void 0 : metadata.localPath
|
|
45872
|
-
})
|
|
45873
|
-
.pipe(switchMap((res) => {
|
|
45874
|
-
var _a, _b;
|
|
45875
|
-
if ((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.config) {
|
|
45876
|
-
const data = JSON.stringify((_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.config, null, 2);
|
|
45877
|
-
this._dataSubject.next(data || '{\n"key": "value"\n}');
|
|
45878
|
-
}
|
|
45879
|
-
return this.editorData$;
|
|
45880
|
-
}));
|
|
45881
|
-
}
|
|
45882
|
-
saveData(key, type) {
|
|
45883
|
-
var _a;
|
|
45884
|
-
const data = this._dataSubject.getValue();
|
|
45885
|
-
return this.dataAccessService.saveData({
|
|
45886
|
-
app: (_a = this.environment) === null || _a === void 0 ? void 0 : _a.appKey,
|
|
45887
|
-
key: key,
|
|
45888
|
-
type: type,
|
|
45889
|
-
content: data
|
|
45890
|
-
});
|
|
45891
|
-
}
|
|
45892
|
-
storeData(data) {
|
|
45893
|
-
this._dataSubject.next(data);
|
|
45894
|
-
}
|
|
45895
|
-
}
|
|
45896
|
-
DataStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, deps: [{ token: DataAccessService }, { token: 'environment' }, { token: METADATA_EDITOR_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45897
|
-
DataStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService });
|
|
45898
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, decorators: [{
|
|
45899
|
-
type: Injectable
|
|
45900
|
-
}], ctorParameters: function () { return [{ type: DataAccessService }, { type: undefined, decorators: [{
|
|
45901
|
-
type: Inject,
|
|
45902
|
-
args: ['environment']
|
|
45903
|
-
}] }, { type: undefined, decorators: [{
|
|
45904
|
-
type: Inject,
|
|
45905
|
-
args: [METADATA_EDITOR_OPTIONS]
|
|
45906
|
-
}] }]; } });
|
|
45907
|
-
|
|
45908
|
-
// monaco-loader.service.ts
|
|
45909
|
-
class MonacoLoaderService {
|
|
45910
|
-
constructor() {
|
|
45911
|
-
this.loaded = false;
|
|
45912
|
-
}
|
|
45913
|
-
load(baseUrl = window.location.origin) {
|
|
45914
|
-
const _vsUrl = window.location.origin + baseUrl + '/assets/monaco-editor/min/vs';
|
|
45915
|
-
if (this.loaded)
|
|
45916
|
-
return this.loadPromise;
|
|
45917
|
-
this.loaded = true;
|
|
45918
|
-
this.loadPromise = new Promise((resolve) => {
|
|
45919
|
-
// If already available
|
|
45920
|
-
if (window.monaco) {
|
|
45921
|
-
resolve(window.monaco);
|
|
45922
|
-
return;
|
|
45923
|
-
}
|
|
45924
|
-
const onAmdLoader = () => {
|
|
45925
|
-
window.require.config({ paths: { vs: _vsUrl } });
|
|
45926
|
-
// Set the worker URL to the correct path
|
|
45927
|
-
/*window.monaco.editor?.setWorkerOptions({
|
|
45928
|
-
// Make sure the worker path points to the correct location
|
|
45929
|
-
baseUrl: `${baseUrl}/worker/`
|
|
45930
|
-
});*/
|
|
45931
|
-
window.require(['vs/editor/editor.main'], () => {
|
|
45932
|
-
resolve(window.monaco);
|
|
45933
|
-
});
|
|
45934
|
-
};
|
|
45935
|
-
// Load AMD loader if needed
|
|
45936
|
-
if (!window.require) {
|
|
45937
|
-
const loaderScript = document.createElement('script');
|
|
45938
|
-
loaderScript.type = 'text/javascript';
|
|
45939
|
-
loaderScript.src = `${_vsUrl}/loader.js`;
|
|
45940
|
-
loaderScript.onload = onAmdLoader;
|
|
45941
|
-
document.body.appendChild(loaderScript);
|
|
45942
|
-
}
|
|
45943
|
-
else {
|
|
45944
|
-
onAmdLoader();
|
|
45945
|
-
}
|
|
45946
|
-
});
|
|
45947
|
-
return this.loadPromise;
|
|
45948
|
-
}
|
|
45949
|
-
}
|
|
45950
|
-
MonacoLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45951
|
-
MonacoLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, providedIn: 'root' });
|
|
45952
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, decorators: [{
|
|
45953
|
-
type: Injectable,
|
|
45954
|
-
args: [{ providedIn: 'root' }]
|
|
45955
|
-
}] });
|
|
45956
|
-
|
|
45957
|
-
class EditorModeSwitchComponent {
|
|
45958
|
-
constructor() {
|
|
45959
|
-
this.changeMode = new EventEmitter();
|
|
45960
|
-
this.modes = CONFIG_EDITOR_MODE;
|
|
45961
|
-
}
|
|
45962
|
-
ngOnInit() { }
|
|
45963
|
-
onModeChange(mode) {
|
|
45964
|
-
this.changeMode.emit(mode.value);
|
|
45965
|
-
}
|
|
45966
|
-
}
|
|
45967
|
-
EditorModeSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorModeSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45968
|
-
EditorModeSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorModeSwitchComponent, selector: "app-editor-mode-switch", inputs: { mode: "mode" }, outputs: { changeMode: "changeMode" }, ngImport: i0, template: `
|
|
45969
|
-
<mat-button-toggle-group [value]="mode" (change)="onModeChange($event)">
|
|
45970
|
-
<mat-button-toggle *ngFor="let mod of modes | keyvalue" [value]="mod.value"
|
|
45971
|
-
>{{ 'JSON_EDITOR.MODES.' + (mod.key | lowercase) | translate }}
|
|
45972
|
-
</mat-button-toggle>
|
|
45973
|
-
</mat-button-toggle-group>
|
|
45974
|
-
`, isInline: true, styles: [""], components: [{ type: i1$b.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }], directives: [{ type: i1$b.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "keyvalue": i4$1.KeyValuePipe, "translate": i1.TranslatePipe, "lowercase": i4$1.LowerCasePipe } });
|
|
45975
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorModeSwitchComponent, decorators: [{
|
|
45976
|
-
type: Component,
|
|
45977
|
-
args: [{
|
|
45978
|
-
selector: 'app-editor-mode-switch',
|
|
45979
|
-
template: `
|
|
45980
|
-
<mat-button-toggle-group [value]="mode" (change)="onModeChange($event)">
|
|
45981
|
-
<mat-button-toggle *ngFor="let mod of modes | keyvalue" [value]="mod.value"
|
|
45982
|
-
>{{ 'JSON_EDITOR.MODES.' + (mod.key | lowercase) | translate }}
|
|
45983
|
-
</mat-button-toggle>
|
|
45984
|
-
</mat-button-toggle-group>
|
|
45985
|
-
`,
|
|
45986
|
-
styles: ['']
|
|
45987
|
-
}]
|
|
45988
|
-
}], ctorParameters: function () { return []; }, propDecorators: { mode: [{
|
|
45989
|
-
type: Input
|
|
45990
|
-
}], changeMode: [{
|
|
45991
|
-
type: Output
|
|
45992
|
-
}] } });
|
|
45993
|
-
|
|
45994
|
-
class InfoDialogComponent extends BaseDialogComponent {
|
|
45995
|
-
constructor() {
|
|
45996
|
-
super(...arguments);
|
|
45997
|
-
this.baseAppUrl = this._injector.get(APP_BASE_HREF);
|
|
45998
|
-
this.activeDoc = null;
|
|
45999
|
-
}
|
|
46000
|
-
ngOnInit() {
|
|
46001
|
-
var _a;
|
|
46002
|
-
this.documentations = this.dialogData.documentations;
|
|
46003
|
-
if ((_a = this.documentations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
46004
|
-
this.activeDoc = this.documentations[0].name || '';
|
|
46005
|
-
}
|
|
46006
|
-
}
|
|
46007
|
-
}
|
|
46008
|
-
InfoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InfoDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
46009
|
-
InfoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: InfoDialogComponent, selector: "app-info-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog [dialogTitle]=\"dialogData.title | translate\" bodyClass=\"gap-4 p-0\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<div class=\"secondary-tabs flex gap-5 items-center self-stretch doc-tabs\">\r\n\t\t\t<div\r\n\t\t\t\t[class.selected-tab]=\"doc.name === activeDoc\"\r\n\t\t\t\tclass=\"tab-item relative flex py-5 px-3 justify-start items-center gap-2.5 cursor-pointer\"\r\n\t\t\t\t*ngFor=\"let doc of documentations\"\r\n\t\t\t\t(click)=\"activeDoc = doc.name\"\r\n\t\t\t>\r\n\t\t\t\t<h4>{{ doc?.name | translate }}</h4>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngFor=\"let doc of documentations\">\r\n\t\t\t<markdown class=\"markdown-content\" [src]=\"baseAppUrl + doc.path\" *ngIf=\"doc.name === activeDoc\"> </markdown>\r\n\t\t</ng-container>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\"> </ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: ["::ng-deep .markdown-content{direction:var(--markdown-direction, ltr)!important;text-align:start;color:var(--markdonw-text-color, inherit);background:var(--markdonw-background-color, transparent);border:var(--markdonw-border, 0px solid transparent);border-radius:var(--markdonw-border-radius, 0);padding:var(--markdown-padding, 1rem)}::ng-deep .markdown-content em{background-color:transparent}::ng-deep .markdown-content code,::ng-deep .markdown-content kbd,::ng-deep .markdown-content samp,::ng-deep .markdown-content pre{font-family:ui-monospace,SFMono-Regular,Consolas,\"Liberation Mono\",Menlo,monospace;font-size:1em}::ng-deep .markdown-content hr{margin-block:1rem}::ng-deep .markdown-content table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums;margin-block:.5rem}::ng-deep .markdown-content table tr{border-top:1px solid var(--markdonw-table-tr-border-color, #d1d9e0b3)}::ng-deep .markdown-content table th,::ng-deep .markdown-content table td{padding:6px 13px;border:1px solid var(--markdonw-table-border-color, #d1d9e0)}.doc-tabs{position:sticky;top:0;background:var(--markdonw-tabs-background-color, #fff)}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: i2$8.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "emoji", "katex", "katexOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start"], outputs: ["error", "load", "ready"] }], directives: [{ type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
46010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InfoDialogComponent, decorators: [{
|
|
46011
|
-
type: Component,
|
|
46012
|
-
args: [{
|
|
46013
|
-
selector: 'app-info-dialog',
|
|
46014
|
-
templateUrl: './info-dialog.component.html',
|
|
46015
|
-
styleUrls: ['./info-dialog.component.scss']
|
|
46016
|
-
}]
|
|
46017
|
-
}] });
|
|
46018
|
-
|
|
46019
|
-
class ConfigEditorActionsComponent {
|
|
46020
|
-
constructor() {
|
|
46021
|
-
this.saveDisabled = false;
|
|
46022
|
-
this.onSave = new EventEmitter();
|
|
46023
|
-
this.onInfo = new EventEmitter();
|
|
46024
|
-
this.onBack = new EventEmitter();
|
|
46025
|
-
}
|
|
46026
|
-
ngOnInit() { }
|
|
46027
|
-
}
|
|
46028
|
-
ConfigEditorActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigEditorActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46029
|
-
ConfigEditorActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfigEditorActionsComponent, selector: "app-config-editor-actions", inputs: { saveDisabled: "saveDisabled", config: "config" }, outputs: { onSave: "onSave", onInfo: "onInfo", onBack: "onBack" }, ngImport: i0, template: "<button mat-stroked-button (click)=\"onSave.emit($event)\" [disabled]=\"saveDisabled\">\r\n\t{{ 'JSON_EDITOR.save' | translate }}\r\n</button>\r\n<button mat-stroked-button (click)=\"onInfo.emit(config?.documentations)\" *ngIf=\"!!config?.documentations?.length\">\r\n\t{{ 'JSON_EDITOR.info' | translate }}\r\n</button>\r\n\r\n<button mat-stroked-button (click)=\"onBack.emit($event)\">{{ 'JSON_EDITOR.back' | translate }}</button>\r\n", styles: [":host{display:var(--ndf-editor-actions-display, flex);flex-direction:var(--ndf-editor-actions-direction, column);grid-gap:var(--ndf-editor-actions-gap, .5rem);gap:var(--ndf-editor-actions-gap, .5rem)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
46030
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigEditorActionsComponent, decorators: [{
|
|
46031
|
-
type: Component,
|
|
46032
|
-
args: [{
|
|
46033
|
-
selector: 'app-config-editor-actions',
|
|
46034
|
-
templateUrl: './config-editor-actions.component.html',
|
|
46035
|
-
styleUrls: ['./config-editor-actions.component.scss']
|
|
46036
|
-
}]
|
|
46037
|
-
}], ctorParameters: function () { return []; }, propDecorators: { saveDisabled: [{
|
|
46038
|
-
type: Input
|
|
46039
|
-
}], config: [{
|
|
46040
|
-
type: Input
|
|
46041
|
-
}], onSave: [{
|
|
46042
|
-
type: Output
|
|
46043
|
-
}], onInfo: [{
|
|
46044
|
-
type: Output
|
|
46045
|
-
}], onBack: [{
|
|
46046
|
-
type: Output
|
|
46047
|
-
}] } });
|
|
46048
|
-
|
|
46049
45569
|
class EditorSettingsComponent {
|
|
46050
45570
|
constructor(_componentRegister, _evaluatorsService, _ndfTransformService, _chartDataTransformers, _chartPluginsRegistry) {
|
|
46051
45571
|
this._componentRegister = _componentRegister;
|
|
@@ -46572,6 +46092,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
46572
46092
|
}]
|
|
46573
46093
|
}] });
|
|
46574
46094
|
|
|
46095
|
+
class NdfPanelComponent {
|
|
46096
|
+
constructor() {
|
|
46097
|
+
this.maxBodyHeight = 'auto';
|
|
46098
|
+
}
|
|
46099
|
+
}
|
|
46100
|
+
NdfPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46101
|
+
NdfPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfPanelComponent, selector: "ndf-panel", inputs: { maxBodyHeight: "maxBodyHeight" }, queries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeader"], descendants: true, read: TemplateRef }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, read: TemplateRef }, { propertyName: "panelFooter", first: true, predicate: ["panelFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"scroll-panel\">\r\n\t<div class=\"header\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelHeader\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"body\" [style.maxHeight]=\"maxBodyHeight\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelBody\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"footer\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelFooter\"></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [".scroll-panel{display:var(--ndf-panel-display, flex);flex-direction:var(--ndf-panel-flex-direction, column);height:var(--ndf-panel-height, calc(100dvh - 65px));border:1px solid var(--ndf-panel-main-border)}.header{flex:var(--ndf-panel-header-flex, 0 0 auto);color:var(--ndf-panel-color, #3b3b3c);background-color:var(--ndf-panel-bg, #f6f9f5);border-bottom:1px solid var(--ndf-panel-border-color, #e7e7e7)}.footer{border-top:1px solid var(--ndf-panel-border-color, #e7e7e7)}.body{flex:var(--ndf-panel-body-flex, 1 1 auto);overflow-y:var(--ndf-panel-body-overflow-y, auto);min-height:var(--ndf-panel-body-min-height, 0)}\n"], directives: [{ type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
46102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelComponent, decorators: [{
|
|
46103
|
+
type: Component,
|
|
46104
|
+
args: [{
|
|
46105
|
+
selector: 'ndf-panel',
|
|
46106
|
+
templateUrl: './ndf-panel.component.html',
|
|
46107
|
+
styleUrls: ['./ndf-panel.component.scss'],
|
|
46108
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
46109
|
+
}]
|
|
46110
|
+
}], propDecorators: { maxBodyHeight: [{
|
|
46111
|
+
type: Input
|
|
46112
|
+
}], panelHeader: [{
|
|
46113
|
+
type: ContentChild,
|
|
46114
|
+
args: ['panelHeader', { read: TemplateRef }]
|
|
46115
|
+
}], panelBody: [{
|
|
46116
|
+
type: ContentChild,
|
|
46117
|
+
args: ['panelBody', { read: TemplateRef }]
|
|
46118
|
+
}], panelFooter: [{
|
|
46119
|
+
type: ContentChild,
|
|
46120
|
+
args: ['panelFooter', { read: TemplateRef }]
|
|
46121
|
+
}] } });
|
|
46122
|
+
|
|
46123
|
+
class NdfPanelModule {
|
|
46124
|
+
}
|
|
46125
|
+
NdfPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
46126
|
+
NdfPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, declarations: [NdfPanelComponent], imports: [CommonModule], exports: [NdfPanelComponent] });
|
|
46127
|
+
NdfPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, imports: [[CommonModule]] });
|
|
46128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelModule, decorators: [{
|
|
46129
|
+
type: NgModule,
|
|
46130
|
+
args: [{
|
|
46131
|
+
declarations: [NdfPanelComponent],
|
|
46132
|
+
imports: [CommonModule],
|
|
46133
|
+
exports: [NdfPanelComponent]
|
|
46134
|
+
}]
|
|
46135
|
+
}] });
|
|
46136
|
+
|
|
46575
46137
|
const UPLOADER_CONFIG = {
|
|
46576
46138
|
DEFAULT_PROVIDER: 'nuxeo',
|
|
46577
46139
|
MAX_CONCURRENT_REQUESTS: 5,
|
|
@@ -48899,6 +48461,150 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
48899
48461
|
}]
|
|
48900
48462
|
}] });
|
|
48901
48463
|
|
|
48464
|
+
class NdfTabsComponent extends BaseComponent {
|
|
48465
|
+
constructor(injector, evaluatorsService) {
|
|
48466
|
+
super(injector);
|
|
48467
|
+
this.evaluatorsService = evaluatorsService;
|
|
48468
|
+
this.isAllowdTabFn = (_) => true;
|
|
48469
|
+
this._showHeader = true;
|
|
48470
|
+
this.activeTabEmitter = new EventEmitter();
|
|
48471
|
+
this.checkingPermission = false;
|
|
48472
|
+
}
|
|
48473
|
+
set showHeader(value) {
|
|
48474
|
+
this._showHeader = value;
|
|
48475
|
+
}
|
|
48476
|
+
get showHeader() {
|
|
48477
|
+
return this._showHeader;
|
|
48478
|
+
}
|
|
48479
|
+
ngOnInit() {
|
|
48480
|
+
this.checkTabsPermissions();
|
|
48481
|
+
}
|
|
48482
|
+
checkTabsPermissions() {
|
|
48483
|
+
this.checkingPermission = true;
|
|
48484
|
+
const permissionCalls = [];
|
|
48485
|
+
const createPermissionCall = (id, permission, secondaryTab = false) => {
|
|
48486
|
+
if (permission) {
|
|
48487
|
+
return from(this.evaluatorsService.evaluateRule(permission)).pipe(map((res) => ({ id, enabled: res, secondaryTab })));
|
|
48488
|
+
}
|
|
48489
|
+
return of({ id, enabled: true, secondaryTab });
|
|
48490
|
+
};
|
|
48491
|
+
this.tabs.forEach((tab) => {
|
|
48492
|
+
var _a;
|
|
48493
|
+
permissionCalls.push(createPermissionCall(tab.id, tab.permission));
|
|
48494
|
+
(_a = tab.secondary_tabs) === null || _a === void 0 ? void 0 : _a.forEach((subTab) => {
|
|
48495
|
+
permissionCalls.push(createPermissionCall(subTab.id, subTab.permission, true));
|
|
48496
|
+
});
|
|
48497
|
+
});
|
|
48498
|
+
forkJoin(permissionCalls)
|
|
48499
|
+
.pipe(takeUntil(this.destroy$), tap((results) => {
|
|
48500
|
+
const secondaryTabsPerms = results.filter((r) => r.secondaryTab);
|
|
48501
|
+
const primaryTabsPerms = results.filter((r) => !r.secondaryTab);
|
|
48502
|
+
let filteredTabs = cloneDeep(this.tabs);
|
|
48503
|
+
filteredTabs = filteredTabs
|
|
48504
|
+
.filter((tab) => primaryTabsPerms.some((p) => p.id === tab.id && p.enabled))
|
|
48505
|
+
.map((tab) => {
|
|
48506
|
+
var _a;
|
|
48507
|
+
if ((_a = tab.secondary_tabs) === null || _a === void 0 ? void 0 : _a.length) {
|
|
48508
|
+
tab.secondary_tabs = tab.secondary_tabs.filter((sub) => secondaryTabsPerms.some((p) => p.id === sub.id && p.enabled));
|
|
48509
|
+
}
|
|
48510
|
+
return tab;
|
|
48511
|
+
});
|
|
48512
|
+
this.tabs = filteredTabs;
|
|
48513
|
+
}))
|
|
48514
|
+
.subscribe(() => {
|
|
48515
|
+
if (this.tabs.length && !this.activeTab) {
|
|
48516
|
+
this.activateTab(this.tabs[0]);
|
|
48517
|
+
}
|
|
48518
|
+
this.checkingPermission = false;
|
|
48519
|
+
});
|
|
48520
|
+
}
|
|
48521
|
+
get activatedTabId() {
|
|
48522
|
+
var _a, _b, _c;
|
|
48523
|
+
return (_a = this.activeTab) !== null && _a !== void 0 ? _a : (_c = (_b = this.tabs) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id;
|
|
48524
|
+
}
|
|
48525
|
+
get activatedTab() {
|
|
48526
|
+
return this.tabs.find(({ id }) => id === this.activatedTabId);
|
|
48527
|
+
}
|
|
48528
|
+
activateTab(tab) {
|
|
48529
|
+
this.activeTab = tab.id;
|
|
48530
|
+
this.activeTabEmitter.emit(tab);
|
|
48531
|
+
}
|
|
48532
|
+
ngOnDestroy() {
|
|
48533
|
+
this.destroy$.next();
|
|
48534
|
+
this.destroy$.complete();
|
|
48535
|
+
}
|
|
48536
|
+
isEnabledTab(tabId) {
|
|
48537
|
+
var _a;
|
|
48538
|
+
return (_a = tabId.isEnable) !== null && _a !== void 0 ? _a : true;
|
|
48539
|
+
}
|
|
48540
|
+
}
|
|
48541
|
+
NdfTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsComponent, deps: [{ token: i0.Injector }, { token: EvaluatorsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
48542
|
+
NdfTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfTabsComponent, selector: "ndf-tabs", inputs: { tabs: "tabs", activeTab: "activeTab", isAllowdTabFn: "isAllowdTabFn", showHeader: "showHeader" }, outputs: { activeTabEmitter: "activeTabEmitter" }, host: { classAttribute: "w-full h-full" }, queries: [{ propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true, read: TemplateRef }, { propertyName: "headerOptions", first: true, predicate: ["headerOptions"], descendants: true, read: TemplateRef }, { propertyName: "tabBody", first: true, predicate: ["tabBody"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col ndf-tabs-wrapper rounded-md px-0.5\" *ngIf=\"!checkingPermission\">\r\n\t<div\r\n\t\tclass=\"tabs-header flex justify-between items-center w-full border-b print:hidden\"\r\n\t\t[@visibilitySlide]=\"showHeader\"\r\n\t\t[class.overflow-hidden]=\"!showHeader\"\r\n\t>\r\n\t\t<div class=\"tabs-wrapper flex justify-start items-center gap-2.5 self-stretch\">\r\n\t\t\t<ng-container *ngFor=\"let tab of tabs\">\r\n\t\t\t\t<ng-container *ngIf=\"isEnabledTab(tab) && isAllowdTabFn(tab)\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'selected-tab': activeTab === tab.id\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\tclass=\"tab-item flex p-4 justify-center items-center gap-2.5 rounded-t-md font-medium text-xl cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"activateTab(tab)\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"tabHeader || defaultHeader\"\r\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: tab }\"\r\n\t\t\t\t\t\t></ng-template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<ng-template\r\n\t\t\t[ngTemplateOutlet]=\"headerOptions\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: activatedTab }\"\r\n\t\t></ng-template>\r\n\t</div>\r\n\t<ng-template\r\n\t\t[ngTemplateOutlet]=\"tabBody || defaultBody\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: activatedTab }\"\r\n\t></ng-template>\r\n</div>\r\n\r\n<ng-template #defaultHeader let-tab>{{ tab.label | translate }}</ng-template>\r\n<ng-template #defaultBody>Default Body</ng-template>\r\n", styles: [":host{display:block}.ndf-tabs-wrapper{background-color:var(--ndf-tabs-body, #fff);border-radius:8px 8px 0 0;overflow:var(--ndf-tabs-wrapper-overflow, auto);height:var(--ndf-tabs-wrapper-height, calc(100vh - 100px))}.ndf-tabs-wrapper .tabs-header{background-color:var(--ndf-tabs-header, #fff)}@media print{.ndf-tabs-wrapper{--ndf-tabs-wrapper-overflow: visible;--ndf-tabs-wrapper-height: auto}}\n"], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i1.TranslatePipe }, animations: [
|
|
48543
|
+
trigger('visibilitySlide', [
|
|
48544
|
+
state('true', style({ height: '*', visibility: '*' })),
|
|
48545
|
+
state('false', style({ height: '0', visibility: 'hidden' })),
|
|
48546
|
+
transition('false => true', animate('150ms ease-out')),
|
|
48547
|
+
transition('true => false', animate('150ms ease-in'))
|
|
48548
|
+
])
|
|
48549
|
+
] });
|
|
48550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsComponent, decorators: [{
|
|
48551
|
+
type: Component,
|
|
48552
|
+
args: [{
|
|
48553
|
+
selector: 'ndf-tabs',
|
|
48554
|
+
templateUrl: './ndf-tabs.component.html',
|
|
48555
|
+
styleUrls: ['./ndf-tabs.component.scss'],
|
|
48556
|
+
host: { class: 'w-full h-full' },
|
|
48557
|
+
animations: [
|
|
48558
|
+
trigger('visibilitySlide', [
|
|
48559
|
+
state('true', style({ height: '*', visibility: '*' })),
|
|
48560
|
+
state('false', style({ height: '0', visibility: 'hidden' })),
|
|
48561
|
+
transition('false => true', animate('150ms ease-out')),
|
|
48562
|
+
transition('true => false', animate('150ms ease-in'))
|
|
48563
|
+
])
|
|
48564
|
+
]
|
|
48565
|
+
}]
|
|
48566
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: EvaluatorsService }]; }, propDecorators: { tabHeader: [{
|
|
48567
|
+
type: ContentChild,
|
|
48568
|
+
args: ['tabHeader', { read: TemplateRef }]
|
|
48569
|
+
}], headerOptions: [{
|
|
48570
|
+
type: ContentChild,
|
|
48571
|
+
args: ['headerOptions', { read: TemplateRef }]
|
|
48572
|
+
}], tabBody: [{
|
|
48573
|
+
type: ContentChild,
|
|
48574
|
+
args: ['tabBody', { read: TemplateRef }]
|
|
48575
|
+
}], tabs: [{
|
|
48576
|
+
type: Input
|
|
48577
|
+
}], activeTab: [{
|
|
48578
|
+
type: Input
|
|
48579
|
+
}], isAllowdTabFn: [{
|
|
48580
|
+
type: Input
|
|
48581
|
+
}], showHeader: [{
|
|
48582
|
+
type: Input
|
|
48583
|
+
}], activeTabEmitter: [{
|
|
48584
|
+
type: Output
|
|
48585
|
+
}] } });
|
|
48586
|
+
|
|
48587
|
+
class NdfTabsModule {
|
|
48588
|
+
}
|
|
48589
|
+
NdfTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48590
|
+
NdfTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsModule, declarations: [NdfTabsComponent], imports: [CommonModule,
|
|
48591
|
+
TranslateModule], exports: [NdfTabsComponent] });
|
|
48592
|
+
NdfTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsModule, imports: [[
|
|
48593
|
+
CommonModule,
|
|
48594
|
+
TranslateModule
|
|
48595
|
+
]] });
|
|
48596
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsModule, decorators: [{
|
|
48597
|
+
type: NgModule,
|
|
48598
|
+
args: [{
|
|
48599
|
+
declarations: [NdfTabsComponent],
|
|
48600
|
+
imports: [
|
|
48601
|
+
CommonModule,
|
|
48602
|
+
TranslateModule
|
|
48603
|
+
],
|
|
48604
|
+
exports: [NdfTabsComponent]
|
|
48605
|
+
}]
|
|
48606
|
+
}] });
|
|
48607
|
+
|
|
48902
48608
|
/*
|
|
48903
48609
|
* Public API Surface of nuxeo-development-framework
|
|
48904
48610
|
*/
|
|
@@ -48907,5 +48613,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
48907
48613
|
* Generated bundle index. Do not edit.
|
|
48908
48614
|
*/
|
|
48909
48615
|
|
|
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 };
|
|
48616
|
+
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, 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 };
|
|
48911
48617
|
//# sourceMappingURL=nuxeo-development-framework.js.map
|