tuain-ng-forms-lib 0.12.30 → 0.12.34
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/tuain-ng-forms-lib.umd.js +162 -256
- package/bundles/tuain-ng-forms-lib.umd.js.map +1 -1
- package/esm2015/lib/classes/forms/action.js +5 -5
- package/esm2015/lib/classes/forms/element.js +7 -6
- package/esm2015/lib/classes/forms/field.js +41 -91
- package/esm2015/lib/classes/forms/form.constants.js +11 -82
- package/esm2015/lib/classes/forms/form.js +10 -10
- package/esm2015/lib/classes/forms/subsection.js +5 -5
- package/esm2015/lib/classes/forms/table/column.js +5 -5
- package/esm2015/lib/classes/forms/table/row-data.js +6 -4
- package/esm2015/lib/classes/forms/table/table.js +15 -13
- package/esm2015/lib/components/elements/action.component.js +3 -1
- package/esm2015/lib/components/elements/field.component.js +22 -12
- package/esm2015/lib/components/elements/layout/element.component.js +3 -6
- package/esm2015/lib/components/elements/layout/form-error.component.js +1 -1
- package/esm2015/lib/components/elements/tables/table.component.js +7 -7
- package/esm2015/lib/components/forms/basic-form.js +25 -23
- package/fesm2015/tuain-ng-forms-lib.js +160 -259
- package/fesm2015/tuain-ng-forms-lib.js.map +1 -1
- package/lib/classes/forms/action.d.ts +1 -1
- package/lib/classes/forms/element.d.ts +2 -1
- package/lib/classes/forms/field.d.ts +2 -1
- package/lib/classes/forms/form.constants.d.ts +10 -74
- package/lib/classes/forms/form.d.ts +3 -2
- package/lib/classes/forms/table/column.d.ts +2 -1
- package/lib/classes/forms/table/table.d.ts +1 -1
- package/lib/components/elements/action.component.d.ts +1 -0
- package/lib/components/elements/field.component.d.ts +2 -3
- package/lib/components/elements/layout/element.component.d.ts +1 -2
- package/lib/components/elements/layout/form-error.component.d.ts +0 -1
- package/lib/components/elements/tables/table.component.d.ts +1 -0
- package/lib/components/forms/basic-form.d.ts +3 -2
- package/package.json +1 -1
- package/tuain-ng-forms-lib.metadata.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { formatCurrency } from '../../utilities';
|
|
2
|
-
import { operators
|
|
2
|
+
import { operators } from '../form.constants';
|
|
3
|
+
const DATE_TYPE = 'DATE';
|
|
4
|
+
const CURRENCY_TYPE = 'CURRENCY';
|
|
3
5
|
export class TableRecordData {
|
|
4
6
|
constructor(recordReceived, recordDefinition, selectionFieldName = null) {
|
|
5
7
|
this.recordData = {};
|
|
@@ -34,10 +36,10 @@ export class TableRecordData {
|
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
formatFieldValue(fieldType, fieldValue) {
|
|
37
|
-
if (fieldType ===
|
|
39
|
+
if (fieldType === CURRENCY_TYPE) {
|
|
38
40
|
return formatCurrency(fieldValue);
|
|
39
41
|
}
|
|
40
|
-
else if (fieldType ===
|
|
42
|
+
else if (fieldType === DATE_TYPE && fieldValue) {
|
|
41
43
|
return new Date(fieldValue).toISOString().split('T')[0];
|
|
42
44
|
}
|
|
43
45
|
return fieldValue || '';
|
|
@@ -120,4 +122,4 @@ export class TableRecordData {
|
|
|
120
122
|
return true;
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEUsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFBWSxjQUFjLEVBQUUsZ0JBQXFDLEVBQUUsa0JBQWtCLEdBQUcsSUFBSTtRQUY1RixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBR25CLE1BQU0sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hHLE9BQU87U0FDUjtRQUNELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxD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VUFBVSxHQUFHLG9CQUFvQixDQUFDLEVBQUU7b0JBQ3ZDLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3kgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGVDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBvcGVyYXRvcnMsIGNvbXBvbmVudENvbnN0YW50cyB9IGZyb20gJy4uL2Zvcm0uY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlUmVjb3JkRGF0YSB7XG4gIHJlY29yZElkOiBzdHJpbmc7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICByZWNvcmREYXRhOiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihyZWNvcmRSZWNlaXZlZCwgcmVjb3JkRGVmaW5pdGlvbjogUmVjb3JkVGFibGVDb2x1bW5bXSwgc2VsZWN0aW9uRmllbGROYW1lID0gbnVsbCkge1xuICAgIGNvbnN0IHsgdGFibGVSZWNvcmRJZCwgcmVjb3JkRGF0YSB9ID0gcmVjb3JkUmVjZWl2ZWQ7XG4gICAgdGhpcy5yZWNvcmRJZCA9IHRhYmxlUmVjb3JkSWQ7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMucmVjb3JkRGF0YSA9IHt9O1xuICAgIGlmICghcmVjb3JkRGVmaW5pdGlvbiB8fCByZWNvcmREZWZpbml0aW9uLmxlbmd0aCA9PT0gMCB8fCAhcmVjb3JkRGF0YSB8fCByZWNvcmREYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaWVsZE5hbWVzID0gcmVjb3JkRGVmaW5pdGlvbi5tYXAoY29sdW1uID0+IGNvbHVtbi5maWVsZENvZGUpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJlY29yZERhdGEpKSB7XG4gICAgICBjb25zdCByYXdSZWNvcmREYXRhID0gcmVjb3JkRGF0YS5maWx0ZXIoZmllbGREYXRhID0+IGZpZWxkRGF0YS5maWVsZENvZGUgJiYgZmllbGROYW1lcy5pbmNsdWRlcyhmaWVsZERhdGEuZmllbGRDb2RlKSk7XG4gICAgICByYXdSZWNvcmREYXRhLmZvckVhY2goZmllbGREYXRhID0+IHtcbiAgICAgICAgY29uc3QgeyBmaWVsZENvZGUsIGZpZWxkVmFsdWUgfSA9IGZpZWxkRGF0YTtcbiAgICAgICAgY29uc3QgZmllbGREZWYgPSByZWNvcmREZWZpbml0aW9uLmZpbmQoY29sdW1uID0+IGNvbHVtbi5maWVsZENvZGUgPT09IGZpZWxkQ29kZSk7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEZpZWxkVmFsdWUgPSB0aGlzLmZvcm1hdEZpZWxkVmFsdWUoZmllbGREZWYuZmllbGRUeXBlLCBmaWVsZFZhbHVlKTtcbiAgICAgICAgdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0gPSBmb3JtYXR0ZWRGaWVsZFZhbHVlO1xuICAgICAgICBpZiAoZmllbGRDb2RlID09PSBzZWxlY3Rpb25GaWVsZE5hbWUpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gZmllbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKHJlY29yZERhdGEpO1xuICAgICAgZmllbGRzLmZvckVhY2goZmllbGRDb2RlID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHJlY29yZERhdGFbZmllbGRDb2RlXTtcbiAgICAgICAgY29uc3QgZmllbGREZWYgPSByZWNvcmREZWZpbml0aW9uLmZpbmQoY29sdW1uID0+IGNvbHVtbi5maWVsZENvZGUgPT09IGZpZWxkQ29kZSk7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEZpZWxkVmFsdWUgPSB0aGlzLmZvcm1hdEZpZWxkVmFsdWUoZmllbGREZWYuZmllbGRUeXBlLCBmaWVsZFZhbHVlKTtcbiAgICAgICAgdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0gPSBmb3JtYXR0ZWRGaWVsZFZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0RmllbGRWYWx1ZShmaWVsZFR5cGUsIGZpZWxkVmFsdWUpIHtcbiAgICBpZiAoZmllbGRUeXBlID09PSBjb21wb25lbnRDb25zdGFudHMuRklFTERUWVBFX0NVUlJFTkNZKSB7XG4gICAgICByZXR1cm4gZm9ybWF0Q3VycmVuY3koZmllbGRWYWx1ZSk7XG4gICAgfSBlbHNlIGlmIChmaWVsZFR5cGUgPT09IGNvbXBvbmVudENvbnN0YW50cy5GSUVMRFRZUEVfREFURSAmJiBmaWVsZFZhbHVlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZmllbGRWYWx1ZSkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gZmllbGRWYWx1ZSB8fCAnJztcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7XG4gIH1cblxuICBzZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gIH1cblxuICB1bnNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBnZXQgcmVjb3JkSWRLZXkoKSB7XG4gICAgcmV0dXJuICh0eXBlb2YgdGhpcy5yZWNvcmRJZCA9PT0gJ29iamVjdCcpXG4gICAgICA/IEpTT04uc3RyaW5naWZ5KHRoaXMucmVjb3JkSWQpIDogdGhpcy5yZWNvcmRJZDtcbiAgfVxuXG4gIGdldEZpZWxkVmFsdWUoZmllbGRDb2RlKSB7XG4gICAgcmV0dXJuIChmaWVsZENvZGUgJiYgdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0pXG4gICAgICA/IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGhhc1BhdHRlcm4od29yZHMpIHtcbiAgICBpZiAoIXdvcmRzIHx8IHdvcmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZvciAoY29uc3QgZmllbGRDb2RlIGluIHRoaXMucmVjb3JkRGF0YSkge1xuICAgICAgaWYgKHRoaXMucmVjb3JkRGF0YS5oYXNPd25Qcm9wZXJ0eShmaWVsZENvZGUpKSB7XG4gICAgICAgIGZvciAoY29uc3Qgd29yZCBvZiB3b3Jkcykge1xuICAgICAgICAgIGNvbnN0IHRlcm0gPSB3b3JkLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICAgIGlmIChmaWVsZFZhbHVlLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGhhc0NvbmRpdGlvbihhZHZhbmNlZEZpbHRlcikge1xuICAgIGlmICghYWR2YW5jZWRGaWx0ZXIgfHwgYWR2YW5jZWRGaWx0ZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgYWR2YW5jZWRGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IGZpZWxkQ29kZSA9IGNvbmRpdGlvbi5maWVsZFNlYXJjaC5maWVsZENvZGU7XG4gICAgICBpZiAodGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMucmVjb3JkRGF0YVtmaWVsZENvZGVdLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKTtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uRmllbGQxVmFsdWUgPSBjb25kaXRpb24/LmZpZWxkVmFsdWUxPy50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbkZpZWxkMlZhbHVlID0gY29uZGl0aW9uLmZpZWxkVmFsdWUyLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKTtcbiAgICAgICAgaWYgKGNvbmRpdGlvbi5vcGVyYXRvciA9PT0gb3BlcmF0b3JzLkcgJiYgZmllbGRWYWx1ZSA8PSBjb25kaXRpb25GaWVsZDFWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuTCAmJiBmaWVsZFZhbHVlID49IGNvbmRpdGlvbkZpZWxkMVZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0b3IgPT09IG9wZXJhdG9ycy5HRSAmJiBmaWVsZFZhbHVlIDwgY29uZGl0aW9uRmllbGQxVmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5vcGVyYXRvciA9PT0gb3BlcmF0b3JzLkxFICYmIGZpZWxkVmFsdWUgPiBjb25kaXRpb25GaWVsZDFWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuRVEpIHtcbiAgICAgICAgICByZXR1cm4gZmllbGRWYWx1ZSA9PT0gY29uZGl0aW9uRmllbGQxVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5vcGVyYXRvciA9PT0gb3BlcmF0b3JzLk5PVF9FUSAmJiBmaWVsZFZhbHVlID09PSBjb25kaXRpb25GaWVsZDFWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuQ09OVEVOVCAmJiAhZmllbGRWYWx1ZS5pbmNsdWRlcyhjb25kaXRpb25GaWVsZDFWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5vcGVyYXRvciA9PT0gb3BlcmF0b3JzLk5PVF9DT05URU5UICYmIGZpZWxkVmFsdWUuaW5jbHVkZXMoY29uZGl0aW9uRmllbGQxVmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0b3IgPT09IG9wZXJhdG9ycy5CRVRXRUVOICYmIChmaWVsZFZhbHVlIDwgY29uZGl0aW9uRmllbGQxVmFsdWVcbiAgICAgICAgICB8fCBmaWVsZFZhbHVlID4gY29uZGl0aW9uRmllbGQyVmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBQ3pCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUVqQyxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFZLGNBQWMsRUFBRSxnQkFBcUMsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO1FBRjVGLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFHbkIsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEcsT0FBTztTQUNSO1FBQ0QsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3QixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxD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VUFBVSxHQUFHLG9CQUFvQjt1QkFDN0UsVUFBVSxHQUFHLG9CQUFvQixDQUFDLEVBQUU7b0JBQ3ZDLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3kgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGVDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBvcGVyYXRvcnMgfSBmcm9tICcuLi9mb3JtLmNvbnN0YW50cyc7XG5cbmNvbnN0IERBVEVfVFlQRSA9ICdEQVRFJztcbmNvbnN0IENVUlJFTkNZX1RZUEUgPSAnQ1VSUkVOQ1knO1xuXG5leHBvcnQgY2xhc3MgVGFibGVSZWNvcmREYXRhIHtcbiAgcmVjb3JkSWQ6IHN0cmluZztcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIHJlY29yZERhdGE6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHJlY29yZFJlY2VpdmVkLCByZWNvcmREZWZpbml0aW9uOiBSZWNvcmRUYWJsZUNvbHVtbltdLCBzZWxlY3Rpb25GaWVsZE5hbWUgPSBudWxsKSB7XG4gICAgY29uc3QgeyB0YWJsZVJlY29yZElkLCByZWNvcmREYXRhIH0gPSByZWNvcmRSZWNlaXZlZDtcbiAgICB0aGlzLnJlY29yZElkID0gdGFibGVSZWNvcmRJZDtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZWNvcmREYXRhID0ge307XG4gICAgaWYgKCFyZWNvcmREZWZpbml0aW9uIHx8IHJlY29yZERlZmluaXRpb24ubGVuZ3RoID09PSAwIHx8ICFyZWNvcmREYXRhIHx8IHJlY29yZERhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpZWxkTmFtZXMgPSByZWNvcmREZWZpbml0aW9uLm1hcChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmVjb3JkRGF0YSkpIHtcbiAgICAgIGNvbnN0IHJhd1JlY29yZERhdGEgPSByZWNvcmREYXRhLmZpbHRlcihmaWVsZERhdGEgPT4gZmllbGREYXRhLmZpZWxkQ29kZSAmJiBmaWVsZE5hbWVzLmluY2x1ZGVzKGZpZWxkRGF0YS5maWVsZENvZGUpKTtcbiAgICAgIHJhd1JlY29yZERhdGEuZm9yRWFjaChmaWVsZERhdGEgPT4ge1xuICAgICAgICBjb25zdCB7IGZpZWxkQ29kZSwgZmllbGRWYWx1ZSB9ID0gZmllbGREYXRhO1xuICAgICAgICBjb25zdCBmaWVsZERlZiA9IHJlY29yZERlZmluaXRpb24uZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gZmllbGRDb2RlKTtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRmllbGRWYWx1ZSA9IHRoaXMuZm9ybWF0RmllbGRWYWx1ZShmaWVsZERlZi5maWVsZFR5cGUsIGZpZWxkVmFsdWUpO1xuICAgICAgICB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXSA9IGZvcm1hdHRlZEZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChmaWVsZENvZGUgPT09IHNlbGVjdGlvbkZpZWxkTmFtZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMocmVjb3JkRGF0YSk7XG4gICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZENvZGUgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gcmVjb3JkRGF0YVtmaWVsZENvZGVdO1xuICAgICAgICBjb25zdCBmaWVsZERlZiA9IHJlY29yZERlZmluaXRpb24uZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gZmllbGRDb2RlKTtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRmllbGRWYWx1ZSA9IHRoaXMuZm9ybWF0RmllbGRWYWx1ZShmaWVsZERlZi5maWVsZFR5cGUsIGZpZWxkVmFsdWUpO1xuICAgICAgICB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXSA9IGZvcm1hdHRlZEZpZWxkVmFsdWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRGaWVsZFZhbHVlKGZpZWxkVHlwZSwgZmllbGRWYWx1ZSkge1xuICAgIGlmIChmaWVsZFR5cGUgPT09IENVUlJFTkNZX1RZUEUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeShmaWVsZFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkVHlwZSA9PT0gREFURV9UWVBFICYmIGZpZWxkVmFsdWUpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShmaWVsZFZhbHVlKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF07XG4gICAgfVxuICAgIHJldHVybiBmaWVsZFZhbHVlIHx8ICcnO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgfVxuXG4gIHNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHVuc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdldCByZWNvcmRJZEtleSgpIHtcbiAgICByZXR1cm4gKHR5cGVvZiB0aGlzLnJlY29yZElkID09PSAnb2JqZWN0JylcbiAgICAgID8gSlNPTi5zdHJpbmdpZnkodGhpcy5yZWNvcmRJZCkgOiB0aGlzLnJlY29yZElkO1xuICB9XG5cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZENvZGUpIHtcbiAgICByZXR1cm4gKGZpZWxkQ29kZSAmJiB0aGlzLnJlY29yZERhdGFbZmllbGRDb2RlXSlcbiAgICAgID8gdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0gOiBudWxsO1xuICB9XG5cbiAgaGFzUGF0dGVybih3b3Jkcykge1xuICAgIGlmICghd29yZHMgfHwgd29yZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBmaWVsZENvZGUgaW4gdGhpcy5yZWNvcmREYXRhKSB7XG4gICAgICBpZiAodGhpcy5yZWNvcmREYXRhLmhhc093blByb3BlcnR5KGZpZWxkQ29kZSkpIHtcbiAgICAgICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICAgICAgY29uc3QgdGVybSA9IHdvcmQudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV07XG4gICAgICAgICAgaWYgKGZpZWxkVmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaGFzQ29uZGl0aW9uKGFkdmFuY2VkRmlsdGVyKSB7XG4gICAgaWYgKCFhZHZhbmNlZEZpbHRlciB8fCBhZHZhbmNlZEZpbHRlci5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBhZHZhbmNlZEZpbHRlcikge1xuICAgICAgY29uc3QgZmllbGRDb2RlID0gY29uZGl0aW9uLmZpZWxkU2VhcmNoLmZpZWxkQ29kZTtcbiAgICAgIGlmICh0aGlzLnJlY29yZERhdGEuaGFzT3duUHJvcGVydHkoZmllbGRDb2RlKSkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5yZWNvcmREYXRhW2ZpZWxkQ29kZV0udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBjb25zdCBjb25kaXRpb25GaWVsZDFWYWx1ZSA9IGNvbmRpdGlvbj8uZmllbGRWYWx1ZTE/LnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKTtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uRmllbGQyVmFsdWUgPSBjb25kaXRpb24uZmllbGRWYWx1ZTIudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuRyAmJiBmaWVsZFZhbHVlIDw9IGNvbmRpdGlvbkZpZWxkMVZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0b3IgPT09IG9wZXJhdG9ycy5MICYmIGZpZWxkVmFsdWUgPj0gY29uZGl0aW9uRmllbGQxVmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5vcGVyYXRvciA9PT0gb3BlcmF0b3JzLkdFICYmIGZpZWxkVmFsdWUgPCBjb25kaXRpb25GaWVsZDFWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuTEUgJiYgZmllbGRWYWx1ZSA+IGNvbmRpdGlvbkZpZWxkMVZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0b3IgPT09IG9wZXJhdG9ycy5FUSkge1xuICAgICAgICAgIHJldHVybiBmaWVsZFZhbHVlID09PSBjb25kaXRpb25GaWVsZDFWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuTk9UX0VRICYmIGZpZWxkVmFsdWUgPT09IGNvbmRpdGlvbkZpZWxkMVZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0b3IgPT09IG9wZXJhdG9ycy5DT05URU5UICYmICFmaWVsZFZhbHVlLmluY2x1ZGVzKGNvbmRpdGlvbkZpZWxkMVZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uLm9wZXJhdG9yID09PSBvcGVyYXRvcnMuTk9UX0NPTlRFTlQgJiYgZmllbGRWYWx1ZS5pbmNsdWRlcyhjb25kaXRpb25GaWVsZDFWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5vcGVyYXRvciA9PT0gb3BlcmF0b3JzLkJFVFdFRU4gJiYgKGZpZWxkVmFsdWUgPCBjb25kaXRpb25GaWVsZDFWYWx1ZVxuICAgICAgICAgIHx8IGZpZWxkVmFsdWUgPiBjb25kaXRpb25GaWVsZDJWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Subject } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { elementTypes } from '../form.constants';
|
|
3
3
|
import { FormElement } from '../element';
|
|
4
4
|
import { FieldSearch, Filter } from './filter';
|
|
5
5
|
import { RecordTableColumn } from './column';
|
|
6
6
|
import { TableAction } from './action';
|
|
7
7
|
import { TableRecordData } from './row-data';
|
|
8
|
+
const TABLE_SORT_ASCENDING = 'asc';
|
|
9
|
+
const TABLE_SORT_DESCENDING = 'desc';
|
|
8
10
|
export const TABLE_FILTER_TYPES = {
|
|
9
11
|
simpleFilterChange: 'SIMPLE_CHANGE',
|
|
10
12
|
simpleFilterFinish: 'SIMPLE_FINISH',
|
|
@@ -12,9 +14,9 @@ export const TABLE_FILTER_TYPES = {
|
|
|
12
14
|
complexFilterRemove: 'COMPLEX_REMOVE',
|
|
13
15
|
};
|
|
14
16
|
export class RecordTable extends FormElement {
|
|
15
|
-
constructor(tableReceived) {
|
|
17
|
+
constructor(tableReceived, formConfig) {
|
|
16
18
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
17
|
-
super(tableReceived);
|
|
19
|
+
super(tableReceived, formConfig);
|
|
18
20
|
this._inlineActionTrigger = new Subject();
|
|
19
21
|
this._globalActionTrigger = new Subject();
|
|
20
22
|
this._recordSelectionTrigger = new Subject();
|
|
@@ -24,7 +26,7 @@ export class RecordTable extends FormElement {
|
|
|
24
26
|
this._tableColumnObj = {};
|
|
25
27
|
this._actionsObj = {};
|
|
26
28
|
this.allSelected = false;
|
|
27
|
-
this.elementType =
|
|
29
|
+
this.elementType = elementTypes.table;
|
|
28
30
|
this.waiting = false;
|
|
29
31
|
this.complexFilter = false;
|
|
30
32
|
this.currentPage = 1;
|
|
@@ -47,10 +49,10 @@ export class RecordTable extends FormElement {
|
|
|
47
49
|
this.customAttributes = (_f = tableReceived === null || tableReceived === void 0 ? void 0 : tableReceived.customAttributes) !== null && _f !== void 0 ? _f : {};
|
|
48
50
|
this.sortable = (_g = tableReceived === null || tableReceived === void 0 ? void 0 : tableReceived.sortable) !== null && _g !== void 0 ? _g : false;
|
|
49
51
|
this.sorting = { columnName: '', direction: '' };
|
|
50
|
-
this.recordsPerPage =
|
|
52
|
+
this.recordsPerPage = formConfig.defaultRecordsPerPage;
|
|
51
53
|
if (tableReceived.fields) {
|
|
52
54
|
for (const columnReceived of tableReceived.fields) {
|
|
53
|
-
const columnDefinition = new RecordTableColumn(columnReceived);
|
|
55
|
+
const columnDefinition = new RecordTableColumn(columnReceived, this._formConfig);
|
|
54
56
|
this.columns.push(columnDefinition);
|
|
55
57
|
this._tableColumnObj[columnDefinition.fieldCode] = columnDefinition;
|
|
56
58
|
}
|
|
@@ -227,7 +229,7 @@ export class RecordTable extends FormElement {
|
|
|
227
229
|
return (this._actionsObj && actionCode && this._actionsObj[actionCode])
|
|
228
230
|
? this._actionsObj[actionCode] : null;
|
|
229
231
|
}
|
|
230
|
-
getActions(actionClass =
|
|
232
|
+
getActions(actionClass = this._formConfig.tableActions.inline, actionTypes = null) {
|
|
231
233
|
return this._actions.filter(actionDef => {
|
|
232
234
|
const typeIncluded = (actionTypes) ? actionTypes.includes(actionDef.actionType) : true;
|
|
233
235
|
return actionDef.actionClass === actionClass && typeIncluded;
|
|
@@ -288,14 +290,14 @@ export class RecordTable extends FormElement {
|
|
|
288
290
|
setRequiredOrder(columnField) {
|
|
289
291
|
if (columnField !== this.sorting.columnName) {
|
|
290
292
|
this.sorting.columnName = columnField;
|
|
291
|
-
this.sorting.direction =
|
|
293
|
+
this.sorting.direction = TABLE_SORT_ASCENDING;
|
|
292
294
|
}
|
|
293
295
|
else {
|
|
294
|
-
if (this.sorting.direction ===
|
|
295
|
-
this.sorting.direction =
|
|
296
|
+
if (this.sorting.direction === TABLE_SORT_ASCENDING) {
|
|
297
|
+
this.sorting.direction = TABLE_SORT_DESCENDING;
|
|
296
298
|
}
|
|
297
299
|
else {
|
|
298
|
-
this.sorting.direction =
|
|
300
|
+
this.sorting.direction = TABLE_SORT_ASCENDING;
|
|
299
301
|
}
|
|
300
302
|
}
|
|
301
303
|
}
|
|
@@ -316,7 +318,7 @@ export class RecordTable extends FormElement {
|
|
|
316
318
|
else if (recordAColumn > recordBColumn) {
|
|
317
319
|
result = 1;
|
|
318
320
|
}
|
|
319
|
-
return direction ===
|
|
321
|
+
return direction === TABLE_SORT_ASCENDING ? result : -result;
|
|
320
322
|
}
|
|
321
323
|
}
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBc0IsTUFBTSxVQUFVLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxrQkFBa0IsRUFBRSxlQUFlO0lBQ25DLGtCQUFrQixFQUFFLGVBQWU7SUFDbkMsZ0JBQWdCLEVBQUUsYUFBYTtJQUMvQixtQkFBbUIsRUFBRSxnQkFBZ0I7Q0FDdEMsQ0FBQztBQXFCRixNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUF1QzFDLFlBQVksYUFBYTs7UUFDdkIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBdkNOLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFDakQseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUNqRCw0QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBQ3BELDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFDcEQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRTdELG1CQUFjLEdBQUcsRUFB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b25lbnRDb25zdGFudHMgfSBmcm9tICcuLi9mb3JtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4uL2VsZW1lbnQnO1xuaW1wb3J0IHsgRmllbGRTZWFyY2gsIEZpbHRlciwgQWR2YW5jZWRGaWx0ZXJJdGVtIH0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgUmVjb3JkVGFibGVDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4vcm93LWRhdGEnO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfRklMVEVSX1RZUEVTID0ge1xuICBzaW1wbGVGaWx0ZXJDaGFuZ2U6ICdTSU1QTEVfQ0hBTkdFJyxcbiAgc2ltcGxlRmlsdGVyRmluaXNoOiAnU0lNUExFX0ZJTklTSCcsXG4gIGNvbXBsZXhGaWx0ZXJBZGQ6ICdDT01QTEVYX0FERCcsXG4gIGNvbXBsZXhGaWx0ZXJSZW1vdmU6ICdDT01QTEVYX1JFTU9WRScsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRmlsdGVyRXZlbnQge1xuICBldmVudFR5cGU6IHN0cmluZztcbiAgc2ltcGxlRmlsdGVyU3RyaW5nOiBzdHJpbmc7XG4gIGNvbXBsZXhGaWx0ZXJJdGVtOiBBZHZhbmNlZEZpbHRlckl0ZW07XG4gIGl0ZW1OYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb25FdmVudCB7XG4gIGFjdGlvbkNvZGU6IHN0cmluZztcbiAgcmVjb3JkSWQ6IGFueTtcbiAgcmVjb3JkRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRXZlbnQge1xuICB0YWJsZUNvZGU6IHN0cmluZztcbiAgYWN0aW9uQ29kZTogc3RyaW5nO1xuICBhY3Rpb25EZXRhaWw6IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlY29yZFRhYmxlIGV4dGVuZHMgRm9ybUVsZW1lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmxpbmVBY3Rpb25UcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZ2xvYmFsQWN0aW9uVHJpZ2dlciA9IG5ldyBTdWJqZWN0PFRhYmxlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlY29yZFNlbGVjdGlvblRyaWdnZXIgPSBuZXcgU3ViamVjdDxUYWJsZUV2ZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZ2V0RGF0YVRyaWdnZXIgPSBuZXcgU3ViamVjdDxUYWJsZUV2ZW50PigpO1xuICB0YWJsZVJlY29yZHM6IFRhYmxlUmVjb3JkRGF0YVtdO1xuICB0YWJsZVJlY29yZE9iaiA9IHt9O1xuICB2aXNpYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW107XG4gIGNvbHVtbnM6IFJlY29yZFRhYmxlQ29sdW1uW107XG4gIHByaXZhdGUgX3RhYmxlQ29sdW1uT2JqID0ge307XG4gIHByaXZhdGUgX2FwcGVuZFBhZ2VzOiBib29sZWFuO1xuICBzZWxlY3RhYmxlOiBib29sZWFuO1xuICBzZWxlY3Rpb25CYWNrZW5kOiBib29sZWFuO1xuICBzZWxlY3Rpb25GaWVsZDogUmVjb3JkVGFibGVDb2x1bW47XG4gIHByaXZhdGUgX2FjdGlvbnM6IFRhYmxlQWN0aW9uW107XG4gIHByaXZhdGUgX2FjdGlvbnNPYmogPSB7fTtcbiAgYWxsU2VsZWN0ZWQgPSBmYWxzZTtcblxuICB0YWJsZUNvZGU6IHN0cmluZztcbiAgdGFibGVUaXRsZTogc3RyaW5nO1xuICBjdXJyZW50UGFnZTogbnVtYmVyO1xuICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIHJlcXVlc3RlZFBhZ2U6IG51bWJlcjtcbiAgcmVjb3Jkc1BlclBhZ2U6IG51bWJlcjtcbiAgdG90YWxSZWNvcmRzTnVtYmVyOiBudW1iZXI7XG4gIHJlY29yZHNOdW1iZXI6IG51bWJlcjtcbiAgc29ydGluZzogYW55O1xuXG4gIHdhaXRpbmc6IGJvb2xlYW47XG4gIGNsaWVudFBhZ2luZzogYm9vbGVhbjtcblxuICBzaW1wbGVGaWx0ZXI6IGJvb2xlYW47XG4gIGNvbXBsZXhGaWx0ZXI6IGJvb2xlYW47XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuICBmaWx0ZXJDb25maWc6IEZpZWxkU2VhcmNoW107XG4gIGZpbHRlck9iamVjdDogRmlsdGVyO1xuICBjdXN0b21BdHRyaWJ1dGVzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IodGFibGVSZWNlaXZlZCkge1xuICAgIHN1cGVyKHRhYmxlUmVjZWl2ZWQpO1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSBjb21wb25lbnRDb25zdGFudHMuRUxFTUVOVFRZUEVfVEFCTEU7XG5cbiAgICB0aGlzLndhaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNvbXBsZXhGaWx0ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnRvdGFsUGFnZXMgPSAxO1xuICAgIHRoaXMucmVxdWVzdGVkUGFnZSA9IDE7XG5cbiAgICB0aGlzLmNvbHVtbnMgPSBbXTtcbiAgICB0aGlzLl90YWJsZUNvbHVtbk9iaiA9IHt9O1xuICAgIHRoaXMuX2FjdGlvbnMgPSBbXTtcbiAgICB0aGlzLl9hY3Rpb25zT2JqID0ge307XG4gICAgdGhpcy5maWx0ZXJDb25maWcgPSBbXTtcbiAgICB0aGlzLmZpbHRlck9iamVjdCA9IG5ldyBGaWx0ZXIoKTtcbiAgICB0aGlzLnRhYmxlUmVjb3JkcyA9IFtdO1xuXG4gICAgdGhpcy50YWJsZUNvZGUgPSB0YWJsZVJlY2VpdmVkLnRhYmxlQ29kZTtcbiAgICB0aGlzLnRhYmxlVGl0bGUgPSB0YWJsZVJlY2VpdmVkLnRhYmxlVGl0bGU7XG4gICAgdGhpcy5jbGllbnRQYWdpbmcgPSB0YWJsZVJlY2VpdmVkPy5jbGllbnRQYWdpbmcgPz8gdHJ1ZTtcbiAgICB0aGlzLnNpbXBsZUZpbHRlciA9IHRhYmxlUmVjZWl2ZWQ/LnNpbXBsZUZpbHRlciA/PyBmYWxzZTtcbiAgICB0aGlzLl9hcHBlbmRQYWdlcyA9IHRhYmxlUmVjZWl2ZWQ/LmFwcGVuZCA/PyBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGFibGUgPSB0YWJsZVJlY2VpdmVkPy5zZWxlY3RhYmxlID8/IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0aW9uQmFja2VuZCA9IHRhYmxlUmVjZWl2ZWQ/LnNlbGVjdGlvbkJhY2tlbmQgPz8gZmFsc2U7XG4gICAgdGhpcy5jdXN0b21BdHRyaWJ1dGVzID0gdGFibGVSZWNlaXZlZD8uY3VzdG9tQXR0cmlidXRlcyA/PyB7fTtcblxuICAgIHRoaXMuc29ydGFibGUgPSB0YWJsZVJlY2VpdmVkPy5zb3J0YWJsZSA/PyBmYWxzZTtcbiAgICB0aGlzLnNvcnRpbmcgPSB7IGNvbHVtbk5hbWU6ICcnLCBkaXJlY3Rpb246ICcnIH07XG4gICAgdGhpcy5yZWNvcmRzUGVyUGFnZSA9IGNvbXBvbmVudENvbnN0YW50cy5yZWNvcmRzUGVyUGFnZTtcblxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBjb2x1bW5SZWNlaXZlZCBvZiB0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgICBjb25zdCBjb2x1bW5EZWZpbml0aW9uID0gbmV3IFJlY29yZFRhYmxlQ29sdW1uKGNvbHVtblJlY2VpdmVkKTtcbiAgICAgICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uRGVmaW5pdGlvbik7XG4gICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uT2JqW2NvbHVtbkRlZmluaXRpb24uZmllbGRDb2RlXSA9IGNvbHVtbkRlZmluaXRpb247XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHRhYmxlQWN0aW9ucyA9IHRhYmxlUmVjZWl2ZWQuYWN0aW9ucy5tYXAob2JqRGVmID0+IHtcbiAgICAgICAgbGV0IHZpc2libGVTdGF0ZXMgPSBvYmpEZWYudmlzaWJsZVN0YXRlcztcbiAgICAgICAgbGV0IGVuYWJsZWRTdGF0ZXMgPSBvYmpEZWYuZW5hYmxlZFN0YXRlcztcbiAgICAgICAgaWYgKCF2aXNpYmxlU3RhdGVzKSB7XG4gICAgICAgICAgdmlzaWJsZVN0YXRlcyA9IChvYmpEZWYuYWN0aW9uTW9kZXMgfHwgJycpLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKTtcbiAgICAgICAgICBlbmFibGVkU3RhdGVzID0gKG9iakRlZi5hY3Rpb25Nb2RlcyB8fCAnJykuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLm9iakRlZiwgdmlzaWJsZVN0YXRlcywgZW5hYmxlZFN0YXRlcyB9O1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IGFjdGlvblJlY2VpdmVkIG9mIHRhYmxlQWN0aW9ucykge1xuICAgICAgICBjb25zdCBpbmxpbmVBY3Rpb24gPSBuZXcgVGFibGVBY3Rpb24oYWN0aW9uUmVjZWl2ZWQpO1xuICAgICAgICB0aGlzLl9hY3Rpb25zLnB1c2goaW5saW5lQWN0aW9uKTtcbiAgICAgICAgdGhpcy5fYWN0aW9uc09ialtpbmxpbmVBY3Rpb24uYWN0aW9uQ29kZV0gPSBpbmxpbmVBY3Rpb247XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpbHRlcnMgJiYgdGFibGVSZWNlaXZlZC5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29tcGxleEZpbHRlciA9IHRydWU7XG4gICAgICBmb3IgKGNvbnN0IGZpbHRlclJlY2VpdmVkIG9mIHRhYmxlUmVjZWl2ZWQuZmlsdGVycykge1xuICAgICAgICBjb25zdCBmaWx0ZXJJdGVtID0gbmV3IEZpZWxkU2VhcmNoKGZpbHRlclJlY2VpdmVkKTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb25maWcucHVzaChmaWx0ZXJJdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25GaWVsZCA9IHRoaXMuY29sdW1uc1xuICAgICAgICAuZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gdGFibGVSZWNlaXZlZD8uc2VsZWN0aW9uRmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpbmxpbmVBY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5faW5saW5lQWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2xvYmFsQWN0aW9uVHJpZ2dlcigpIHsgcmV0dXJuIHRoaXMuX2dsb2JhbEFjdGlvblRyaWdnZXI7IH1cbiAgZ2V0IHNlbGVjdGlvbkFjdGlvblRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyOyB9XG4gIGdldCByZWNvcmRTZWxlY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5fcmVjb3JkU2VsZWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2V0RGF0YVRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9nZXREYXRhVHJpZ2dlcjsgfVxuXG4gIGdldCBoYXNBY3Rpb25zKCkgeyByZXR1cm4gKHRoaXMuX2FjdGlvbnMubGVuZ3RoID4gMCk7IH1cbiAgZ2V0IHNlbGVjdGlvbkZpZWxkTmFtZSgpIHsgcmV0dXJuIHRoaXMuc2VsZWN0aW9uRmllbGQ/LmZpZWxkQ29kZSA/PyBudWxsOyB9XG4gIGdldCBjb2x1bW5OYW1lcygpIHsgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX3RhYmxlQ29sdW1uT2JqKTsgfVxuXG4gIGdldCByZWNvcmRzKCkgeyByZXR1cm4gdGhpcy52aXNpYmxlUmVjb3JkczsgfVxuICBzZXQgcmVjb3JkcyhyZWNvcmRzKSB7IHRoaXMucmVwbGFjZVJlY29yZHMocmVjb3Jkcyk7IH1cbiAgZ2V0IHNlbGVjdGVkUmVjb3JkcygpIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZVJlY29yZHMuZmlsdGVyKHJlYyA9PiByZWMuc2VsZWN0ZWQpXG4gICAgICAubWFwKHJlYyA9PiByZWMucmVjb3JkSWQpO1xuICB9XG5cbiAgYXBwZW5kUmVjb3JkcyhyZWNvcmRzKSB7IHRoaXMuc2V0VGFibGVSZWNvcmRzKHJlY29yZHMsIHRydWUpOyB9XG4gIHJlcGxhY2VSZWNvcmRzKHJlY29yZHMpIHsgdGhpcy5zZXRUYWJsZVJlY29yZHMocmVjb3JkcywgZmFsc2UpOyB9XG4gIGNvbHVtbkRlZmluaXRpb24oZmllbGRDb2RlKSB7IHJldHVybiB0aGlzLl90YWJsZUNvbHVtbk9ialtmaWVsZENvZGVdOyB9XG4gIHB1dE9uV2FpdCgpIHsgdGhpcy53YWl0aW5nID0gdHJ1ZTsgfVxuICBmcmVlV2FpdGluZygpIHsgdGhpcy53YWl0aW5nID0gZmFsc2U7IH1cbiAgZ2V0QWN0aW9uT2JqZWN0KGFjdGlvbkNvZGUpIHsgcmV0dXJuIHRoaXMuZ2V0QWN0aW9uKGFjdGlvbkNvZGUpOyB9XG5cbiAgbm90aWZ5R2xvYmFsQWN0aW9uKGFjdGlvbkNvZGUpIHtcbiAgICBjb25zdCB0YWJsZUV2ZW50OiBUYWJsZUV2ZW50ID0ge1xuICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlQ29kZSxcbiAgICAgIGFjdGlvbkNvZGUsXG4gICAgICBhY3Rpb25EZXRhaWw6IG51bGxcbiAgICB9O1xuICAgIHRoaXMuX2dsb2JhbEFjdGlvblRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgfVxuXG4gIG5vdGlmeUlubGluZUFjdGlvbih0YWJsZUFjdGlvbkV2ZW50OiBUYWJsZUFjdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlOiB0YWJsZUFjdGlvbkV2ZW50LmFjdGlvbkNvZGUsXG4gICAgICBhY3Rpb25EZXRhaWw6IHtcbiAgICAgICAgcmVjb3JkSWQ6IHRhYmxlQWN0aW9uRXZlbnQucmVjb3JkSWQsXG4gICAgICAgIHJlY29yZERhdGE6IHRhYmxlQWN0aW9uRXZlbnQucmVjb3JkRGF0YVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5faW5saW5lQWN0aW9uVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgbm90aWZ5UmVjb3JkU2VsZWN0aW9uKHJlY29yZElkKSB7XG4gICAgY29uc3QgcmVjb3JkID0gdGhpcy5nZXRUYWJsZVJlY29yZChyZWNvcmRJZCk7XG4gICAgaWYgKCFyZWNvcmQpIHsgcmV0dXJuOyB9XG4gICAgcmVjb3JkLnRvZ2dsZVNlbGVjdCgpO1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlRXZlbnQgPSB7XG4gICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVDb2RlLFxuICAgICAgYWN0aW9uQ29kZTogbnVsbCxcbiAgICAgIGFjdGlvbkRldGFpbDoge1xuICAgICAgICByZWNvcmRJZDogcmVjb3JkLnJlY29yZElkLFxuICAgICAgICByZWNvcmREYXRhOiByZWNvcmQucmVjb3JkRGF0YVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5yZWNvcmRTZWxlY3Rpb25UcmlnZ2VyLm5leHQodGFibGVFdmVudCk7XG4gIH1cblxuICBub3RpZnlTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZSkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlRXZlbnQgPSB7XG4gICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVDb2RlLFxuICAgICAgYWN0aW9uQ29kZSxcbiAgICAgIGFjdGlvbkRldGFpbDoge1xuICAgICAgICBzZWxlY3RlZFJlY29yZHM6IHRoaXMuc2VsZWN0ZWRSZWNvcmRzXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLl9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyLm5leHQodGFibGVFdmVudCk7XG4gIH1cblxuICBub3RpZnlHZXREYXRhQWN0aW9uKHJlcXVlc3RlZFBhZ2UgPSBudWxsKSB7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICAgIHRoaXMucmVxdWVzdGVkUGFnZSA9IHJlcXVlc3RlZFBhZ2UgfHwgdGhpcy5jdXJyZW50UGFnZTtcbiAgICBjb25zdCB0YWJsZUV2ZW50OiBUYWJsZUV2ZW50ID0ge1xuICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlQ29kZSxcbiAgICAgIGFjdGlvbkNvZGU6IG51bGwsXG4gICAgICBhY3Rpb25EZXRhaWw6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLl9nZXREYXRhVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy50YWJsZVJlY29yZHMgPSBbXTtcbiAgICB0aGlzLnRhYmxlUmVjb3JkT2JqID0ge307XG4gIH1cblxuICBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy50YWJsZVJlY29yZHMuZm9yRWFjaChyZWNvcmQgPT4gcmVjb3JkLnNlbGVjdCgpKTtcbiAgfVxuXG4gIHVuU2VsZWN0QWxsKCkge1xuICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5mb3JFYWNoKHJlY29yZCA9PiByZWNvcmQudW5zZWxlY3QoKSk7XG4gIH1cblxuICBzZXRUYWJsZVJlY29yZHModGFibGVSZWNvcmRzLCBhcHBlbmQpIHtcbiAgICBpZiAoIWFwcGVuZCkgeyB0aGlzLmNsZWFuKCk7IH1cbiAgICBjb25zdCBuZXdSZWNvcmRzT2JqID0geyAuLi50aGlzLnRhYmxlUmVjb3JkT2JqIH07XG4gICAgY29uc3QgbmV3UmVjb3JkcyA9IFsuLi50aGlzLnRhYmxlUmVjb3Jkc107XG4gICAgZm9yIChjb25zdCB0YWJsZVJlY29yZCBvZiB0YWJsZVJlY29yZHMpIHtcbiAgICAgIGNvbnN0IHJlY29yZFJlY2VpdmVkOiBUYWJsZVJlY29yZERhdGEgPSBuZXcgVGFibGVSZWNvcmREYXRhKHRhYmxlUmVjb3JkLCB0aGlzLmNvbHVtbnMsXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uRmllbGQ/LmZpZWxkQ29kZSk7XG4gICAgICBjb25zdCByZWNvcmRJZEtleSA9IHJlY29yZFJlY2VpdmVkLnJlY29yZElkS2V5O1xuICAgICAgbmV3UmVjb3Jkcy5wdXNoKHJlY29yZFJlY2VpdmVkKTtcbiAgICAgIG5ld1JlY29yZHNPYmpbcmVjb3JkSWRLZXldID0gcmVjb3JkUmVjZWl2ZWQ7XG4gICAgfVxuICAgIHRoaXMudGFibGVSZWNvcmRzID0gbmV3UmVjb3JkcztcbiAgICB0aGlzLnRhYmxlUmVjb3JkT2JqID0gbmV3UmVjb3Jkc09iajtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICB1cGRhdGVWaXNpYmxlUmVjb3JkcygpIHtcbiAgICBpZiAoIXRoaXMuY2xpZW50UGFnaW5nIHx8ICF0aGlzLnRhYmxlUmVjb3JkcyB8fCB0aGlzLnRhYmxlUmVjb3Jkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudmlzaWJsZVJlY29yZHMgPSB0aGlzLnRhYmxlUmVjb3JkcztcbiAgICB9XG4gICAgdGhpcy52aXNpYmxlUmVjb3JkcyA9ICh0aGlzLmZpbHRlck9iamVjdC5maWx0ZXJNb2RlU2ltcGxlKVxuICAgICAgPyB0aGlzLnRhYmxlUmVjb3Jkcy5maWx0ZXIocmVjb3JkID0+IHJlY29yZC5oYXNQYXR0ZXJuKHRoaXMuZmlsdGVyT2JqZWN0LnNpbXBsZUZpbHRlcldvcmRzKSlcbiAgICAgIDogdGhpcy50YWJsZVJlY29yZHMuZmlsdGVyKHJlY29yZCA9PiByZWNvcmQuaGFzQ29uZGl0aW9uKHRoaXMuZmlsdGVyT2JqZWN0LmFkdmFuY2VkRmlsdGVyKSk7XG4gIH1cblxuICB1cGRhdGVGcm9tU2VydmVyKHRhYmxlUmVjZWl2ZWQpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0YWJsZVJlY2VpdmVkPy52aXNpYmxlIHx8IHRydWU7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhcnNlSW50KHRhYmxlUmVjZWl2ZWQuY3VycmVudFBhZ2UsIDEwKSB8fCAxO1xuICAgIHRoaXMudG90YWxQYWdlcyA9IHRhYmxlUmVjZWl2ZWQudG90YWxQYWdlcyB8fCAxO1xuICAgIHRoaXMucmVjb3Jkc1BlclBhZ2UgPSB0YWJsZVJlY2VpdmVkLnJlY29yZHNQZXJQYWdlO1xuICAgIHRoaXMucmVjb3Jkc051bWJlciA9IHRhYmxlUmVjZWl2ZWQucmVjb3Jkc051bWJlcjtcbiAgICB0aGlzLnRvdGFsUmVjb3Jkc051bWJlciA9IHRhYmxlUmVjZWl2ZWQudG90YWxSZWNvcmRzTnVtYmVyO1xuXG4gICAgdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUgPSB0YWJsZVJlY2VpdmVkLnNvcnRpbmdDb2x1bW4gfHwgJyc7XG4gICAgdGhpcy5zb3J0aW5nLmRpcmVjdGlvbiA9IHRhYmxlUmVjZWl2ZWQuc29ydGluZ0RpcmVjdGlvbiB8fCAnJztcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSAxO1xuICAgIHRoaXMud2FpdGluZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5jbGVhbigpO1xuICAgIGlmICh0aGlzLl9hcHBlbmRQYWdlcykge1xuICAgICAgdGhpcy5yZXBsYWNlUmVjb3Jkcyh0YWJsZVJlY2VpdmVkLnRhYmxlUmVjb3Jkcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBwZW5kUmVjb3Jkcyh0YWJsZVJlY2VpdmVkLnRhYmxlUmVjb3Jkcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VGFibGVSZWNvcmQocmVjb3JkSWQpIHtcbiAgICBjb25zdCByZWNvcmRJZEtleSA9ICh0eXBlb2YgcmVjb3JkSWQgPT09ICdvYmplY3QnKSA/IEpTT04uc3RyaW5naWZ5KHJlY29yZElkKSA6IHJlY29yZElkO1xuICAgIHJldHVybiAodGhpcy50YWJsZVJlY29yZE9iaiAmJiByZWNvcmRJZCAmJiB0aGlzLnRhYmxlUmVjb3JkT2JqW3JlY29yZElkXSlcbiAgICAgID8gdGhpcy50YWJsZVJlY29yZE9ialtyZWNvcmRJZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0QWN0aW9uKGFjdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gKHRoaXMuX2FjdGlvbnNPYmogJiYgYWN0aW9uQ29kZSAmJiB0aGlzLl9hY3Rpb25zT2JqW2FjdGlvbkNvZGVdKVxuICAgICAgPyB0aGlzLl9hY3Rpb25zT2JqW2FjdGlvbkNvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGdldEFjdGlvbnMoYWN0aW9uQ2xhc3M6IHN0cmluZyA9IGNvbXBvbmVudENvbnN0YW50cy5GT1JNVEFCTEVBQ1RJT05fSU5MSU5FLCBhY3Rpb25UeXBlczogc3RyaW5nW10gPSBudWxsKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnMuZmlsdGVyKGFjdGlvbkRlZiA9PiB7XG4gICAgICBjb25zdCB0eXBlSW5jbHVkZWQgPSAoYWN0aW9uVHlwZXMpID8gYWN0aW9uVHlwZXMuaW5jbHVkZXMoYWN0aW9uRGVmLmFjdGlvblR5cGUpIDogdHJ1ZTtcbiAgICAgIHJldHVybiBhY3Rpb25EZWYuYWN0aW9uQ2xhc3MgPT09IGFjdGlvbkNsYXNzICYmIHR5cGVJbmNsdWRlZDtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEZpbHRyb3NcblxuICBzZXQgc2ltcGxlRmlsdGVyVGV4dChmaWx0ZXJUZXh0KSB7XG4gICAgbGV0IHRlcm1zID0gKGZpbHRlclRleHQpID8gZmlsdGVyVGV4dC5zcGxpdCgnICcpIDogbnVsbDtcbiAgICBpZiAodGVybXMgJiYgdGVybXMubGVuZ3RoID4gMCkge1xuICAgICAgdGVybXMgPSB0ZXJtcy5maWx0ZXIoKHRlcm0pID0+IHRlcm0gIT09ICcnKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJPYmplY3QuZmlsdGVyTW9kZVNpbXBsZSA9IHRydWU7XG4gICAgdGhpcy5maWx0ZXJPYmplY3Quc2ltcGxlRmlsdGVyV29yZHMgPSB0ZXJtcyB8fCBbXTtcbiAgfVxuXG4gIGNoYW5nZUZpbHRlck1vZGUodG9TaW1wbGUpIHtcbiAgICB0aGlzLmZpbHRlck9iamVjdC5maWx0ZXJNb2RlU2ltcGxlID0gdG9TaW1wbGU7XG4gIH1cblxuICBhZGRGaWx0ZXJSZXN0cmljdGlvbihmaWx0ZXJUZXJtOiBBZHZhbmNlZEZpbHRlckl0ZW0pIHtcbiAgICB0aGlzLmZpbHRlck9iamVjdC5hZHZhbmNlZEZpbHRlci5wdXNoKGZpbHRlclRlcm0pO1xuICB9XG5cbiAgcmVtb3ZlRmlsdGVyUmVzdHJpY3Rpb24oZmllbGRDb2RlKSB7XG4gICAgY29uc3QgZmlsdGVySW5kZXggPSB0aGlzLmZpbHRlck9iamVjdC5hZHZhbmNlZEZpbHRlci5maW5kSW5kZXgoKGZpbHRlckRlZikgPT4ge1xuICAgICAgcmV0dXJuIGZpbHRlckRlZi5maWVsZFNlYXJjaC5maWVsZENvZGUgPT09IGZpZWxkQ29kZTtcbiAgICB9KTtcbiAgICBjb25zdCBmaWx0ZXJUb1JlbW92ZSA9IHRoaXMuZmlsdGVyT2JqZWN0LmFkdmFuY2VkRmlsdGVyW2ZpbHRlckluZGV4XTtcbiAgICB0aGlzLmZpbHRlck9iamVjdC5hZHZhbmNlZEZpbHRlci5zcGxpY2UoZmlsdGVySW5kZXgsIDEpO1xuICAgIHJldHVybiBmaWx0ZXJUb1JlbW92ZTtcbiAgfVxuXG4gIGdldCBhdmFpbGFibGVGaWx0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckNvbmZpZy5maWx0ZXIoKGZpZWxkU2VhcmNoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5maWx0ZXJPYmplY3QuYWR2YW5jZWRGaWx0ZXIuZmluZCgoZmlsdGVySXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gZmlsdGVySXRlbS5maWVsZFNlYXJjaC5maWVsZENvZGUgPT09IGZpZWxkU2VhcmNoLmZpZWxkQ29kZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuICFjdXJyZW50RmlsdGVyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRGaWx0ZXIoKSB7XG4gICAgY29uc3QgY29tcGFjdEZpbHRlcjogYW55ID0ge307XG4gICAgaWYgKHRoaXMuZmlsdGVyT2JqZWN0LmZpbHRlck1vZGVTaW1wbGUpIHtcbiAgICAgIGNvbXBhY3RGaWx0ZXIuc2ltcGxlRmlsdGVyV29yZHMgPSB0aGlzLmZpbHRlck9iamVjdC5zaW1wbGVGaWx0ZXJXb3JkcztcbiAgICB9IGVsc2Uge1xuICAgICAgY29tcGFjdEZpbHRlci5hZHZhbmNlZEZpbHRlciA9IFtdO1xuICAgICAgdGhpcy5maWx0ZXJPYmplY3QuYWR2YW5jZWRGaWx0ZXIuZm9yRWFjaCgoY29uZGl0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpbXBsaWZpZWRDb25kaXRpb24gPSB7XG4gICAgICAgICAgZmllbGRDb2RlOiBjb25kaXRpb24uZmllbGRTZWFyY2guZmllbGRDb2RlLFxuICAgICAgICAgIGZpZWxkQWxpYXM6IGNvbmRpdGlvbi5maWVsZFNlYXJjaC5maWVsZEFsaWFzLFxuICAgICAgICAgIG9wZXJhdG9yOiBjb25kaXRpb24ub3BlcmF0b3IsXG4gICAgICAgICAgZmllbGRWYWx1ZTE6IGNvbmRpdGlvbi5maWVsZFZhbHVlMSxcbiAgICAgICAgICBmaWVsZFZhbHVlMjogY29uZGl0aW9uLmZpZWxkVmFsdWUyLFxuICAgICAgICB9O1xuICAgICAgICBjb21wYWN0RmlsdGVyLmFkdmFuY2VkRmlsdGVyLnB1c2goc2ltcGxpZmllZENvbmRpdGlvbik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbXBhY3RGaWx0ZXI7XG4gIH1cblxuICAvLyBPcmRlbmFtaWVudG9cblxuICBzZXRSZXF1aXJlZE9yZGVyKGNvbHVtbkZpZWxkKSB7XG4gICAgaWYgKGNvbHVtbkZpZWxkICE9PSB0aGlzLnNvcnRpbmcuY29sdW1uTmFtZSkge1xuICAgICAgdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUgPSBjb2x1bW5GaWVsZDtcbiAgICAgIHRoaXMuc29ydGluZy5kaXJlY3Rpb24gPSBjb21wb25lbnRDb25zdGFudHMuVEFCTEVfU09SVF9BU0NFTkRJTkc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNvcnRpbmcuZGlyZWN0aW9uID09PSBjb21wb25lbnRDb25zdGFudHMuVEFCTEVfU09SVF9BU0NFTkRJTkcpIHtcbiAgICAgICAgdGhpcy5zb3J0aW5nLmRpcmVjdGlvbiA9IGNvbXBvbmVudENvbnN0YW50cy5UQUJMRV9TT1JUX0RFU0NFTkRJTkc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNvcnRpbmcuZGlyZWN0aW9uID0gY29tcG9uZW50Q29uc3RhbnRzLlRBQkxFX1NPUlRfQVNDRU5ESU5HO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvY2FsU29ydERhdGEoKSB7XG4gICAgaWYgKCF0aGlzLnNvcnRpbmcuY29sdW1uTmFtZSB8fCAhdGhpcy5zb3J0aW5nLmRpcmVjdGlvbikgeyByZXR1cm47IH1cbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5zb3J0KChhLCBiKSA9PiB0aGlzLnJlY29yZENvbXBhcmUoYSwgYiwgdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUsIHRoaXMuc29ydGluZy5kaXJlY3Rpb24pKTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICByZWNvcmRDb21wYXJlKHJlY29yZEE6IFRhYmxlUmVjb3JkRGF0YSwgcmVjb3JkQjogVGFibGVSZWNvcmREYXRhLCBjb2x1bW5Db21wYXJlLCBkaXJlY3Rpb24pIHtcbiAgICBjb25zdCByZWNvcmRBQ29sdW1uID0gcmVjb3JkQS5nZXRGaWVsZFZhbHVlKGNvbHVtbkNvbXBhcmUpO1xuICAgIGNvbnN0IHJlY29yZEJDb2x1bW4gPSByZWNvcmRCLmdldEZpZWxkVmFsdWUoY29sdW1uQ29tcGFyZSk7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgaWYgKHJlY29yZEFDb2x1bW4gPCByZWNvcmRCQ29sdW1uKSB7XG4gICAgICByZXN1bHQgPSAtMTtcbiAgICB9IGVsc2UgaWYgKHJlY29yZEFDb2x1bW4gPiByZWNvcmRCQ29sdW1uKSB7XG4gICAgICByZXN1bHQgPSAxO1xuICAgIH1cbiAgICByZXR1cm4gZGlyZWN0aW9uID09PSBjb21wb25lbnRDb25zdGFudHMuVEFCTEVfU09SVF9BU0NFTkRJTkcgPyByZXN1bHQgOiAtcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFN0MsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUM7QUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsa0JBQWtCLEVBQUUsZUFBZTtJQUNuQyxrQkFBa0IsRUFBRSxlQUFlO0lBQ25DLGdCQUFnQixFQUFFLGFBQWE7SUFDL0IsbUJBQW1CLEVBQUUsZ0JBQWdCO0NBQ3RDLENBQUM7QUFxQkYsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBdUMxQyxZQUFZLGFBQWEsRUFBRSxVQUFVOztRQUNuQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBdkNsQix5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFDakQsNEJBQXVCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUNwRCw0QkFB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Q29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlbGVtZW50VHlwZXMgfSBmcm9tICcuLi9mb3JtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4uL2VsZW1lbnQnO1xuaW1wb3J0IHsgRmllbGRTZWFyY2gsIEZpbHRlciwgQWR2YW5jZWRGaWx0ZXJJdGVtIH0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgUmVjb3JkVGFibGVDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4vcm93LWRhdGEnO1xuXG5jb25zdCBUQUJMRV9TT1JUX0FTQ0VORElORyA9ICdhc2MnO1xuY29uc3QgVEFCTEVfU09SVF9ERVNDRU5ESU5HID0gJ2Rlc2MnO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfRklMVEVSX1RZUEVTID0ge1xuICBzaW1wbGVGaWx0ZXJDaGFuZ2U6ICdTSU1QTEVfQ0hBTkdFJyxcbiAgc2ltcGxlRmlsdGVyRmluaXNoOiAnU0lNUExFX0ZJTklTSCcsXG4gIGNvbXBsZXhGaWx0ZXJBZGQ6ICdDT01QTEVYX0FERCcsXG4gIGNvbXBsZXhGaWx0ZXJSZW1vdmU6ICdDT01QTEVYX1JFTU9WRScsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRmlsdGVyRXZlbnQge1xuICBldmVudFR5cGU6IHN0cmluZztcbiAgc2ltcGxlRmlsdGVyU3RyaW5nOiBzdHJpbmc7XG4gIGNvbXBsZXhGaWx0ZXJJdGVtOiBBZHZhbmNlZEZpbHRlckl0ZW07XG4gIGl0ZW1OYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb25FdmVudCB7XG4gIGFjdGlvbkNvZGU6IHN0cmluZztcbiAgcmVjb3JkSWQ6IGFueTtcbiAgcmVjb3JkRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRXZlbnQge1xuICB0YWJsZUNvZGU6IHN0cmluZztcbiAgYWN0aW9uQ29kZTogc3RyaW5nO1xuICBhY3Rpb25EZXRhaWw6IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlY29yZFRhYmxlIGV4dGVuZHMgRm9ybUVsZW1lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmxpbmVBY3Rpb25UcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZ2xvYmFsQWN0aW9uVHJpZ2dlciA9IG5ldyBTdWJqZWN0PFRhYmxlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlY29yZFNlbGVjdGlvblRyaWdnZXIgPSBuZXcgU3ViamVjdDxUYWJsZUV2ZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyID0gbmV3IFN1YmplY3Q8VGFibGVFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZ2V0RGF0YVRyaWdnZXIgPSBuZXcgU3ViamVjdDxUYWJsZUV2ZW50PigpO1xuICB0YWJsZVJlY29yZHM6IFRhYmxlUmVjb3JkRGF0YVtdO1xuICB0YWJsZVJlY29yZE9iaiA9IHt9O1xuICB2aXNpYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW107XG4gIGNvbHVtbnM6IFJlY29yZFRhYmxlQ29sdW1uW107XG4gIHByaXZhdGUgX3RhYmxlQ29sdW1uT2JqID0ge307XG4gIHByaXZhdGUgX2FwcGVuZFBhZ2VzOiBib29sZWFuO1xuICBzZWxlY3RhYmxlOiBib29sZWFuO1xuICBzZWxlY3Rpb25CYWNrZW5kOiBib29sZWFuO1xuICBzZWxlY3Rpb25GaWVsZDogUmVjb3JkVGFibGVDb2x1bW47XG4gIHByaXZhdGUgX2FjdGlvbnM6IFRhYmxlQWN0aW9uW107XG4gIHByaXZhdGUgX2FjdGlvbnNPYmogPSB7fTtcbiAgYWxsU2VsZWN0ZWQgPSBmYWxzZTtcblxuICB0YWJsZUNvZGU6IHN0cmluZztcbiAgdGFibGVUaXRsZTogc3RyaW5nO1xuICBjdXJyZW50UGFnZTogbnVtYmVyO1xuICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIHJlcXVlc3RlZFBhZ2U6IG51bWJlcjtcbiAgcmVjb3Jkc1BlclBhZ2U6IG51bWJlcjtcbiAgdG90YWxSZWNvcmRzTnVtYmVyOiBudW1iZXI7XG4gIHJlY29yZHNOdW1iZXI6IG51bWJlcjtcbiAgc29ydGluZzogYW55O1xuXG4gIHdhaXRpbmc6IGJvb2xlYW47XG4gIGNsaWVudFBhZ2luZzogYm9vbGVhbjtcblxuICBzaW1wbGVGaWx0ZXI6IGJvb2xlYW47XG4gIGNvbXBsZXhGaWx0ZXI6IGJvb2xlYW47XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuICBmaWx0ZXJDb25maWc6IEZpZWxkU2VhcmNoW107XG4gIGZpbHRlck9iamVjdDogRmlsdGVyO1xuICBjdXN0b21BdHRyaWJ1dGVzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IodGFibGVSZWNlaXZlZCwgZm9ybUNvbmZpZykge1xuICAgIHN1cGVyKHRhYmxlUmVjZWl2ZWQsIGZvcm1Db25maWcpO1xuICAgIHRoaXMuZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZXMudGFibGU7XG4gICAgdGhpcy53YWl0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5jb21wbGV4RmlsdGVyID0gZmFsc2U7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy50b3RhbFBhZ2VzID0gMTtcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSAxO1xuXG4gICAgdGhpcy5jb2x1bW5zID0gW107XG4gICAgdGhpcy5fdGFibGVDb2x1bW5PYmogPSB7fTtcbiAgICB0aGlzLl9hY3Rpb25zID0gW107XG4gICAgdGhpcy5fYWN0aW9uc09iaiA9IHt9O1xuICAgIHRoaXMuZmlsdGVyQ29uZmlnID0gW107XG4gICAgdGhpcy5maWx0ZXJPYmplY3QgPSBuZXcgRmlsdGVyKCk7XG4gICAgdGhpcy50YWJsZVJlY29yZHMgPSBbXTtcblxuICAgIHRoaXMudGFibGVDb2RlID0gdGFibGVSZWNlaXZlZC50YWJsZUNvZGU7XG4gICAgdGhpcy50YWJsZVRpdGxlID0gdGFibGVSZWNlaXZlZC50YWJsZVRpdGxlO1xuICAgIHRoaXMuY2xpZW50UGFnaW5nID0gdGFibGVSZWNlaXZlZD8uY2xpZW50UGFnaW5nID8/IHRydWU7XG4gICAgdGhpcy5zaW1wbGVGaWx0ZXIgPSB0YWJsZVJlY2VpdmVkPy5zaW1wbGVGaWx0ZXIgPz8gZmFsc2U7XG4gICAgdGhpcy5fYXBwZW5kUGFnZXMgPSB0YWJsZVJlY2VpdmVkPy5hcHBlbmQgPz8gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RhYmxlID0gdGFibGVSZWNlaXZlZD8uc2VsZWN0YWJsZSA/PyBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGlvbkJhY2tlbmQgPSB0YWJsZVJlY2VpdmVkPy5zZWxlY3Rpb25CYWNrZW5kID8/IGZhbHNlO1xuICAgIHRoaXMuY3VzdG9tQXR0cmlidXRlcyA9IHRhYmxlUmVjZWl2ZWQ/LmN1c3RvbUF0dHJpYnV0ZXMgPz8ge307XG5cbiAgICB0aGlzLnNvcnRhYmxlID0gdGFibGVSZWNlaXZlZD8uc29ydGFibGUgPz8gZmFsc2U7XG4gICAgdGhpcy5zb3J0aW5nID0geyBjb2x1bW5OYW1lOiAnJywgZGlyZWN0aW9uOiAnJyB9O1xuICAgIHRoaXMucmVjb3Jkc1BlclBhZ2UgPSBmb3JtQ29uZmlnLmRlZmF1bHRSZWNvcmRzUGVyUGFnZTtcblxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBjb2x1bW5SZWNlaXZlZCBvZiB0YWJsZVJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgICBjb25zdCBjb2x1bW5EZWZpbml0aW9uID0gbmV3IFJlY29yZFRhYmxlQ29sdW1uKGNvbHVtblJlY2VpdmVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uRGVmaW5pdGlvbik7XG4gICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uT2JqW2NvbHVtbkRlZmluaXRpb24uZmllbGRDb2RlXSA9IGNvbHVtbkRlZmluaXRpb247XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHRhYmxlQWN0aW9ucyA9IHRhYmxlUmVjZWl2ZWQuYWN0aW9ucy5tYXAob2JqRGVmID0+IHtcbiAgICAgICAgbGV0IHZpc2libGVTdGF0ZXMgPSBvYmpEZWYudmlzaWJsZVN0YXRlcztcbiAgICAgICAgbGV0IGVuYWJsZWRTdGF0ZXMgPSBvYmpEZWYuZW5hYmxlZFN0YXRlcztcbiAgICAgICAgaWYgKCF2aXNpYmxlU3RhdGVzKSB7XG4gICAgICAgICAgdmlzaWJsZVN0YXRlcyA9IChvYmpEZWYuYWN0aW9uTW9kZXMgfHwgJycpLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKTtcbiAgICAgICAgICBlbmFibGVkU3RhdGVzID0gKG9iakRlZi5hY3Rpb25Nb2RlcyB8fCAnJykuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLm9iakRlZiwgdmlzaWJsZVN0YXRlcywgZW5hYmxlZFN0YXRlcyB9O1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IGFjdGlvblJlY2VpdmVkIG9mIHRhYmxlQWN0aW9ucykge1xuICAgICAgICBjb25zdCBpbmxpbmVBY3Rpb24gPSBuZXcgVGFibGVBY3Rpb24oYWN0aW9uUmVjZWl2ZWQpO1xuICAgICAgICB0aGlzLl9hY3Rpb25zLnB1c2goaW5saW5lQWN0aW9uKTtcbiAgICAgICAgdGhpcy5fYWN0aW9uc09ialtpbmxpbmVBY3Rpb24uYWN0aW9uQ29kZV0gPSBpbmxpbmVBY3Rpb247XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0YWJsZVJlY2VpdmVkLmZpbHRlcnMgJiYgdGFibGVSZWNlaXZlZC5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29tcGxleEZpbHRlciA9IHRydWU7XG4gICAgICBmb3IgKGNvbnN0IGZpbHRlclJlY2VpdmVkIG9mIHRhYmxlUmVjZWl2ZWQuZmlsdGVycykge1xuICAgICAgICBjb25zdCBmaWx0ZXJJdGVtID0gbmV3IEZpZWxkU2VhcmNoKGZpbHRlclJlY2VpdmVkKTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb25maWcucHVzaChmaWx0ZXJJdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25GaWVsZCA9IHRoaXMuY29sdW1uc1xuICAgICAgICAuZmluZChjb2x1bW4gPT4gY29sdW1uLmZpZWxkQ29kZSA9PT0gdGFibGVSZWNlaXZlZD8uc2VsZWN0aW9uRmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpbmxpbmVBY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5faW5saW5lQWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2xvYmFsQWN0aW9uVHJpZ2dlcigpIHsgcmV0dXJuIHRoaXMuX2dsb2JhbEFjdGlvblRyaWdnZXI7IH1cbiAgZ2V0IHNlbGVjdGlvbkFjdGlvblRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyOyB9XG4gIGdldCByZWNvcmRTZWxlY3Rpb25UcmlnZ2VyKCkgeyByZXR1cm4gdGhpcy5fcmVjb3JkU2VsZWN0aW9uVHJpZ2dlcjsgfVxuICBnZXQgZ2V0RGF0YVRyaWdnZXIoKSB7IHJldHVybiB0aGlzLl9nZXREYXRhVHJpZ2dlcjsgfVxuXG4gIGdldCBoYXNBY3Rpb25zKCkgeyByZXR1cm4gKHRoaXMuX2FjdGlvbnMubGVuZ3RoID4gMCk7IH1cbiAgZ2V0IHNlbGVjdGlvbkZpZWxkTmFtZSgpIHsgcmV0dXJuIHRoaXMuc2VsZWN0aW9uRmllbGQ/LmZpZWxkQ29kZSA/PyBudWxsOyB9XG4gIGdldCBjb2x1bW5OYW1lcygpIHsgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX3RhYmxlQ29sdW1uT2JqKTsgfVxuXG4gIGdldCByZWNvcmRzKCkgeyByZXR1cm4gdGhpcy52aXNpYmxlUmVjb3JkczsgfVxuICBzZXQgcmVjb3JkcyhyZWNvcmRzKSB7IHRoaXMucmVwbGFjZVJlY29yZHMocmVjb3Jkcyk7IH1cbiAgZ2V0IHNlbGVjdGVkUmVjb3JkcygpIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZVJlY29yZHMuZmlsdGVyKHJlYyA9PiByZWMuc2VsZWN0ZWQpXG4gICAgICAubWFwKHJlYyA9PiByZWMucmVjb3JkSWQpO1xuICB9XG5cbiAgYXBwZW5kUmVjb3JkcyhyZWNvcmRzKSB7IHRoaXMuc2V0VGFibGVSZWNvcmRzKHJlY29yZHMsIHRydWUpOyB9XG4gIHJlcGxhY2VSZWNvcmRzKHJlY29yZHMpIHsgdGhpcy5zZXRUYWJsZVJlY29yZHMocmVjb3JkcywgZmFsc2UpOyB9XG4gIGNvbHVtbkRlZmluaXRpb24oZmllbGRDb2RlKSB7IHJldHVybiB0aGlzLl90YWJsZUNvbHVtbk9ialtmaWVsZENvZGVdOyB9XG4gIHB1dE9uV2FpdCgpIHsgdGhpcy53YWl0aW5nID0gdHJ1ZTsgfVxuICBmcmVlV2FpdGluZygpIHsgdGhpcy53YWl0aW5nID0gZmFsc2U7IH1cbiAgZ2V0QWN0aW9uT2JqZWN0KGFjdGlvbkNvZGUpIHsgcmV0dXJuIHRoaXMuZ2V0QWN0aW9uKGFjdGlvbkNvZGUpOyB9XG5cbiAgbm90aWZ5R2xvYmFsQWN0aW9uKGFjdGlvbkNvZGUpIHtcbiAgICBjb25zdCB0YWJsZUV2ZW50OiBUYWJsZUV2ZW50ID0ge1xuICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlQ29kZSxcbiAgICAgIGFjdGlvbkNvZGUsXG4gICAgICBhY3Rpb25EZXRhaWw6IG51bGxcbiAgICB9O1xuICAgIHRoaXMuX2dsb2JhbEFjdGlvblRyaWdnZXIubmV4dCh0YWJsZUV2ZW50KTtcbiAgfVxuXG4gIG5vdGlmeUlubGluZUFjdGlvbih0YWJsZUFjdGlvbkV2ZW50OiBUYWJsZUFjdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgdGFibGVFdmVudDogVGFibGVFdmVudCA9IHtcbiAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZUNvZGUsXG4gICAgICBhY3Rpb25Db2RlOiB0YWJsZUFjdGlvbkV2ZW50LmFjdGlvbkNvZGUsXG4gICAgICBhY3Rpb25EZXRhaWw6IHtcbiAgICAgICAgcmVjb3JkSWQ6IHRhYmxlQWN0aW9uRXZlbnQucmVjb3JkSWQsXG4gICAgICAgIHJlY29yZERhdGE6IHRhYmxlQWN0aW9uRXZlbnQucmVjb3JkRGF0YVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5faW5saW5lQWN0aW9uVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgbm90aWZ5UmVjb3JkU2VsZWN0aW9uKHJlY29yZElkKSB7XG4gICAgY29uc3QgcmVjb3JkID0gdGhpcy5nZXRUYWJsZVJlY29yZChyZWNvcmRJZCk7XG4gICAgaWYgKCFyZWNvcmQpIHsgcmV0dXJuOyB9XG4gICAgcmVjb3JkLnRvZ2dsZVNlbGVjdCgpO1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlRXZlbnQgPSB7XG4gICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVDb2RlLFxuICAgICAgYWN0aW9uQ29kZTogbnVsbCxcbiAgICAgIGFjdGlvbkRldGFpbDoge1xuICAgICAgICByZWNvcmRJZDogcmVjb3JkLnJlY29yZElkLFxuICAgICAgICByZWNvcmREYXRhOiByZWNvcmQucmVjb3JkRGF0YVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5yZWNvcmRTZWxlY3Rpb25UcmlnZ2VyLm5leHQodGFibGVFdmVudCk7XG4gIH1cblxuICBub3RpZnlTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZSkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlRXZlbnQgPSB7XG4gICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVDb2RlLFxuICAgICAgYWN0aW9uQ29kZSxcbiAgICAgIGFjdGlvbkRldGFpbDoge1xuICAgICAgICBzZWxlY3RlZFJlY29yZHM6IHRoaXMuc2VsZWN0ZWRSZWNvcmRzXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLl9zZWxlY3Rpb25BY3Rpb25UcmlnZ2VyLm5leHQodGFibGVFdmVudCk7XG4gIH1cblxuICBub3RpZnlHZXREYXRhQWN0aW9uKHJlcXVlc3RlZFBhZ2UgPSBudWxsKSB7XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICAgIHRoaXMucmVxdWVzdGVkUGFnZSA9IHJlcXVlc3RlZFBhZ2UgfHwgdGhpcy5jdXJyZW50UGFnZTtcbiAgICBjb25zdCB0YWJsZUV2ZW50OiBUYWJsZUV2ZW50ID0ge1xuICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlQ29kZSxcbiAgICAgIGFjdGlvbkNvZGU6IG51bGwsXG4gICAgICBhY3Rpb25EZXRhaWw6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLl9nZXREYXRhVHJpZ2dlci5uZXh0KHRhYmxlRXZlbnQpO1xuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy50YWJsZVJlY29yZHMgPSBbXTtcbiAgICB0aGlzLnRhYmxlUmVjb3JkT2JqID0ge307XG4gIH1cblxuICBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy50YWJsZVJlY29yZHMuZm9yRWFjaChyZWNvcmQgPT4gcmVjb3JkLnNlbGVjdCgpKTtcbiAgfVxuXG4gIHVuU2VsZWN0QWxsKCkge1xuICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5mb3JFYWNoKHJlY29yZCA9PiByZWNvcmQudW5zZWxlY3QoKSk7XG4gIH1cblxuICBzZXRUYWJsZVJlY29yZHModGFibGVSZWNvcmRzLCBhcHBlbmQpIHtcbiAgICBpZiAoIWFwcGVuZCkgeyB0aGlzLmNsZWFuKCk7IH1cbiAgICBjb25zdCBuZXdSZWNvcmRzT2JqID0geyAuLi50aGlzLnRhYmxlUmVjb3JkT2JqIH07XG4gICAgY29uc3QgbmV3UmVjb3JkcyA9IFsuLi50aGlzLnRhYmxlUmVjb3Jkc107XG4gICAgZm9yIChjb25zdCB0YWJsZVJlY29yZCBvZiB0YWJsZVJlY29yZHMpIHtcbiAgICAgIGNvbnN0IHJlY29yZFJlY2VpdmVkOiBUYWJsZVJlY29yZERhdGEgPSBuZXcgVGFibGVSZWNvcmREYXRhKHRhYmxlUmVjb3JkLCB0aGlzLmNvbHVtbnMsXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uRmllbGQ/LmZpZWxkQ29kZSk7XG4gICAgICBjb25zdCByZWNvcmRJZEtleSA9IHJlY29yZFJlY2VpdmVkLnJlY29yZElkS2V5O1xuICAgICAgbmV3UmVjb3Jkcy5wdXNoKHJlY29yZFJlY2VpdmVkKTtcbiAgICAgIG5ld1JlY29yZHNPYmpbcmVjb3JkSWRLZXldID0gcmVjb3JkUmVjZWl2ZWQ7XG4gICAgfVxuICAgIHRoaXMudGFibGVSZWNvcmRzID0gbmV3UmVjb3JkcztcbiAgICB0aGlzLnRhYmxlUmVjb3JkT2JqID0gbmV3UmVjb3Jkc09iajtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICB1cGRhdGVWaXNpYmxlUmVjb3JkcygpIHtcbiAgICBpZiAoIXRoaXMuY2xpZW50UGFnaW5nIHx8ICF0aGlzLnRhYmxlUmVjb3JkcyB8fCB0aGlzLnRhYmxlUmVjb3Jkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudmlzaWJsZVJlY29yZHMgPSB0aGlzLnRhYmxlUmVjb3JkcztcbiAgICB9XG4gICAgdGhpcy52aXNpYmxlUmVjb3JkcyA9ICh0aGlzLmZpbHRlck9iamVjdC5maWx0ZXJNb2RlU2ltcGxlKVxuICAgICAgPyB0aGlzLnRhYmxlUmVjb3Jkcy5maWx0ZXIocmVjb3JkID0+IHJlY29yZC5oYXNQYXR0ZXJuKHRoaXMuZmlsdGVyT2JqZWN0LnNpbXBsZUZpbHRlcldvcmRzKSlcbiAgICAgIDogdGhpcy50YWJsZVJlY29yZHMuZmlsdGVyKHJlY29yZCA9PiByZWNvcmQuaGFzQ29uZGl0aW9uKHRoaXMuZmlsdGVyT2JqZWN0LmFkdmFuY2VkRmlsdGVyKSk7XG4gIH1cblxuICB1cGRhdGVGcm9tU2VydmVyKHRhYmxlUmVjZWl2ZWQpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0YWJsZVJlY2VpdmVkPy52aXNpYmxlIHx8IHRydWU7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhcnNlSW50KHRhYmxlUmVjZWl2ZWQuY3VycmVudFBhZ2UsIDEwKSB8fCAxO1xuICAgIHRoaXMudG90YWxQYWdlcyA9IHRhYmxlUmVjZWl2ZWQudG90YWxQYWdlcyB8fCAxO1xuICAgIHRoaXMucmVjb3Jkc1BlclBhZ2UgPSB0YWJsZVJlY2VpdmVkLnJlY29yZHNQZXJQYWdlO1xuICAgIHRoaXMucmVjb3Jkc051bWJlciA9IHRhYmxlUmVjZWl2ZWQucmVjb3Jkc051bWJlcjtcbiAgICB0aGlzLnRvdGFsUmVjb3Jkc051bWJlciA9IHRhYmxlUmVjZWl2ZWQudG90YWxSZWNvcmRzTnVtYmVyO1xuXG4gICAgdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUgPSB0YWJsZVJlY2VpdmVkLnNvcnRpbmdDb2x1bW4gfHwgJyc7XG4gICAgdGhpcy5zb3J0aW5nLmRpcmVjdGlvbiA9IHRhYmxlUmVjZWl2ZWQuc29ydGluZ0RpcmVjdGlvbiB8fCAnJztcbiAgICB0aGlzLnJlcXVlc3RlZFBhZ2UgPSAxO1xuICAgIHRoaXMud2FpdGluZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5jbGVhbigpO1xuICAgIGlmICh0aGlzLl9hcHBlbmRQYWdlcykge1xuICAgICAgdGhpcy5yZXBsYWNlUmVjb3Jkcyh0YWJsZVJlY2VpdmVkLnRhYmxlUmVjb3Jkcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBwZW5kUmVjb3Jkcyh0YWJsZVJlY2VpdmVkLnRhYmxlUmVjb3Jkcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VGFibGVSZWNvcmQocmVjb3JkSWQpIHtcbiAgICBjb25zdCByZWNvcmRJZEtleSA9ICh0eXBlb2YgcmVjb3JkSWQgPT09ICdvYmplY3QnKSA/IEpTT04uc3RyaW5naWZ5KHJlY29yZElkKSA6IHJlY29yZElkO1xuICAgIHJldHVybiAodGhpcy50YWJsZVJlY29yZE9iaiAmJiByZWNvcmRJZCAmJiB0aGlzLnRhYmxlUmVjb3JkT2JqW3JlY29yZElkXSlcbiAgICAgID8gdGhpcy50YWJsZVJlY29yZE9ialtyZWNvcmRJZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0QWN0aW9uKGFjdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gKHRoaXMuX2FjdGlvbnNPYmogJiYgYWN0aW9uQ29kZSAmJiB0aGlzLl9hY3Rpb25zT2JqW2FjdGlvbkNvZGVdKVxuICAgICAgPyB0aGlzLl9hY3Rpb25zT2JqW2FjdGlvbkNvZGVdIDogbnVsbDtcbiAgfVxuXG4gIGdldEFjdGlvbnMoYWN0aW9uQ2xhc3M6IHN0cmluZyA9IHRoaXMuX2Zvcm1Db25maWcudGFibGVBY3Rpb25zLmlubGluZSwgYWN0aW9uVHlwZXM6IHN0cmluZ1tdID0gbnVsbCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLmZpbHRlcihhY3Rpb25EZWYgPT4ge1xuICAgICAgY29uc3QgdHlwZUluY2x1ZGVkID0gKGFjdGlvblR5cGVzKSA/IGFjdGlvblR5cGVzLmluY2x1ZGVzKGFjdGlvbkRlZi5hY3Rpb25UeXBlKSA6IHRydWU7XG4gICAgICByZXR1cm4gYWN0aW9uRGVmLmFjdGlvbkNsYXNzID09PSBhY3Rpb25DbGFzcyAmJiB0eXBlSW5jbHVkZWQ7XG4gICAgfSk7XG4gIH1cblxuICAvLyBGaWx0cm9zXG5cbiAgc2V0IHNpbXBsZUZpbHRlclRleHQoZmlsdGVyVGV4dCkge1xuICAgIGxldCB0ZXJtcyA9IChmaWx0ZXJUZXh0KSA/IGZpbHRlclRleHQuc3BsaXQoJyAnKSA6IG51bGw7XG4gICAgaWYgKHRlcm1zICYmIHRlcm1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRlcm1zID0gdGVybXMuZmlsdGVyKCh0ZXJtKSA9PiB0ZXJtICE9PSAnJyk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyT2JqZWN0LmZpbHRlck1vZGVTaW1wbGUgPSB0cnVlO1xuICAgIHRoaXMuZmlsdGVyT2JqZWN0LnNpbXBsZUZpbHRlcldvcmRzID0gdGVybXMgfHwgW107XG4gIH1cblxuICBjaGFuZ2VGaWx0ZXJNb2RlKHRvU2ltcGxlKSB7XG4gICAgdGhpcy5maWx0ZXJPYmplY3QuZmlsdGVyTW9kZVNpbXBsZSA9IHRvU2ltcGxlO1xuICB9XG5cbiAgYWRkRmlsdGVyUmVzdHJpY3Rpb24oZmlsdGVyVGVybTogQWR2YW5jZWRGaWx0ZXJJdGVtKSB7XG4gICAgdGhpcy5maWx0ZXJPYmplY3QuYWR2YW5jZWRGaWx0ZXIucHVzaChmaWx0ZXJUZXJtKTtcbiAgfVxuXG4gIHJlbW92ZUZpbHRlclJlc3RyaWN0aW9uKGZpZWxkQ29kZSkge1xuICAgIGNvbnN0IGZpbHRlckluZGV4ID0gdGhpcy5maWx0ZXJPYmplY3QuYWR2YW5jZWRGaWx0ZXIuZmluZEluZGV4KChmaWx0ZXJEZWYpID0+IHtcbiAgICAgIHJldHVybiBmaWx0ZXJEZWYuZmllbGRTZWFyY2guZmllbGRDb2RlID09PSBmaWVsZENvZGU7XG4gICAgfSk7XG4gICAgY29uc3QgZmlsdGVyVG9SZW1vdmUgPSB0aGlzLmZpbHRlck9iamVjdC5hZHZhbmNlZEZpbHRlcltmaWx0ZXJJbmRleF07XG4gICAgdGhpcy5maWx0ZXJPYmplY3QuYWR2YW5jZWRGaWx0ZXIuc3BsaWNlKGZpbHRlckluZGV4LCAxKTtcbiAgICByZXR1cm4gZmlsdGVyVG9SZW1vdmU7XG4gIH1cblxuICBnZXQgYXZhaWxhYmxlRmlsdGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJDb25maWcuZmlsdGVyKChmaWVsZFNlYXJjaCkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuZmlsdGVyT2JqZWN0LmFkdmFuY2VkRmlsdGVyLmZpbmQoKGZpbHRlckl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGZpbHRlckl0ZW0uZmllbGRTZWFyY2guZmllbGRDb2RlID09PSBmaWVsZFNlYXJjaC5maWVsZENvZGU7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAhY3VycmVudEZpbHRlcjtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBjdXJyZW50RmlsdGVyKCkge1xuICAgIGNvbnN0IGNvbXBhY3RGaWx0ZXI6IGFueSA9IHt9O1xuICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC5maWx0ZXJNb2RlU2ltcGxlKSB7XG4gICAgICBjb21wYWN0RmlsdGVyLnNpbXBsZUZpbHRlcldvcmRzID0gdGhpcy5maWx0ZXJPYmplY3Quc2ltcGxlRmlsdGVyV29yZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbXBhY3RGaWx0ZXIuYWR2YW5jZWRGaWx0ZXIgPSBbXTtcbiAgICAgIHRoaXMuZmlsdGVyT2JqZWN0LmFkdmFuY2VkRmlsdGVyLmZvckVhY2goKGNvbmRpdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBzaW1wbGlmaWVkQ29uZGl0aW9uID0ge1xuICAgICAgICAgIGZpZWxkQ29kZTogY29uZGl0aW9uLmZpZWxkU2VhcmNoLmZpZWxkQ29kZSxcbiAgICAgICAgICBmaWVsZEFsaWFzOiBjb25kaXRpb24uZmllbGRTZWFyY2guZmllbGRBbGlhcyxcbiAgICAgICAgICBvcGVyYXRvcjogY29uZGl0aW9uLm9wZXJhdG9yLFxuICAgICAgICAgIGZpZWxkVmFsdWUxOiBjb25kaXRpb24uZmllbGRWYWx1ZTEsXG4gICAgICAgICAgZmllbGRWYWx1ZTI6IGNvbmRpdGlvbi5maWVsZFZhbHVlMixcbiAgICAgICAgfTtcbiAgICAgICAgY29tcGFjdEZpbHRlci5hZHZhbmNlZEZpbHRlci5wdXNoKHNpbXBsaWZpZWRDb25kaXRpb24pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBjb21wYWN0RmlsdGVyO1xuICB9XG5cbiAgLy8gT3JkZW5hbWllbnRvXG5cbiAgc2V0UmVxdWlyZWRPcmRlcihjb2x1bW5GaWVsZCkge1xuICAgIGlmIChjb2x1bW5GaWVsZCAhPT0gdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUpIHtcbiAgICAgIHRoaXMuc29ydGluZy5jb2x1bW5OYW1lID0gY29sdW1uRmllbGQ7XG4gICAgICB0aGlzLnNvcnRpbmcuZGlyZWN0aW9uID0gVEFCTEVfU09SVF9BU0NFTkRJTkc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNvcnRpbmcuZGlyZWN0aW9uID09PSBUQUJMRV9TT1JUX0FTQ0VORElORykge1xuICAgICAgICB0aGlzLnNvcnRpbmcuZGlyZWN0aW9uID0gVEFCTEVfU09SVF9ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zb3J0aW5nLmRpcmVjdGlvbiA9IFRBQkxFX1NPUlRfQVNDRU5ESU5HO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvY2FsU29ydERhdGEoKSB7XG4gICAgaWYgKCF0aGlzLnNvcnRpbmcuY29sdW1uTmFtZSB8fCAhdGhpcy5zb3J0aW5nLmRpcmVjdGlvbikgeyByZXR1cm47IH1cbiAgICB0aGlzLnRhYmxlUmVjb3Jkcy5zb3J0KChhLCBiKSA9PiB0aGlzLnJlY29yZENvbXBhcmUoYSwgYiwgdGhpcy5zb3J0aW5nLmNvbHVtbk5hbWUsIHRoaXMuc29ydGluZy5kaXJlY3Rpb24pKTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gIH1cblxuICByZWNvcmRDb21wYXJlKHJlY29yZEE6IFRhYmxlUmVjb3JkRGF0YSwgcmVjb3JkQjogVGFibGVSZWNvcmREYXRhLCBjb2x1bW5Db21wYXJlLCBkaXJlY3Rpb24pIHtcbiAgICBjb25zdCByZWNvcmRBQ29sdW1uID0gcmVjb3JkQS5nZXRGaWVsZFZhbHVlKGNvbHVtbkNvbXBhcmUpO1xuICAgIGNvbnN0IHJlY29yZEJDb2x1bW4gPSByZWNvcmRCLmdldEZpZWxkVmFsdWUoY29sdW1uQ29tcGFyZSk7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgaWYgKHJlY29yZEFDb2x1bW4gPCByZWNvcmRCQ29sdW1uKSB7XG4gICAgICByZXN1bHQgPSAtMTtcbiAgICB9IGVsc2UgaWYgKHJlY29yZEFDb2x1bW4gPiByZWNvcmRCQ29sdW1uKSB7XG4gICAgICByZXN1bHQgPSAxO1xuICAgIH1cbiAgICByZXR1cm4gZGlyZWN0aW9uID09PSBUQUJMRV9TT1JUX0FTQ0VORElORyA/IHJlc3VsdCA6IC1yZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,6 +5,8 @@ export class ActionComponent {
|
|
|
5
5
|
this.showLabel = true;
|
|
6
6
|
}
|
|
7
7
|
ngOnInit() {
|
|
8
|
+
var _a;
|
|
9
|
+
this.formConfig = (_a = this.actionObject) === null || _a === void 0 ? void 0 : _a._formConfig;
|
|
8
10
|
this.start();
|
|
9
11
|
}
|
|
10
12
|
start() { }
|
|
@@ -41,4 +43,4 @@ ActionComponent.propDecorators = {
|
|
|
41
43
|
style: [{ type: Input }],
|
|
42
44
|
showLabel: [{ type: Input }]
|
|
43
45
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQWFXLFVBQUssR0FBRyxTQUFTLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQTBCNUIsQ0FBQztJQXhCQyxRQUFROztRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxXQUFXLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDO0lBRVgsUUFBUTs7UUFDTixJQUFJLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsZ0JBQWdCLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUzs7UUFDWCxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLGlCQUFpQixDQUFBLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsb0JBQW9CLE1BQUssSUFBSTtlQUNoRCxJQUFJLENBQUMsWUFBWSxNQUFLLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsaUJBQWlCLENBQUEsQ0FBQztlQUMzRCxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxvQkFBb0IsTUFBSyxJQUFJO21CQUMvQyxJQUFJLENBQUMsWUFBWSxNQUFLLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsaUJBQWlCLENBQUEsQ0FBQyxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7WUF2Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7MkJBS0UsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSztvQkFFTCxLQUFLO3dCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGlvbk9iamVjdDogYW55O1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgZm9ybUJ1c3k6IGFueTtcbiAgQElucHV0KCkgcmVsYXRlZEZpZWxkOiBhbnk7XG5cbiAgQElucHV0KCkgc3R5bGUgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNob3dMYWJlbCA9IHRydWU7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5hY3Rpb25PYmplY3Q/Ll9mb3JtQ29uZmlnO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG5cbiAgYWN0aXZhdGUoKSB7XG4gICAgaWYgKHRoaXMuYWN0aW9uT2JqZWN0Py5ub3RpZnlBY3RpdmF0aW9uKSB7XG4gICAgICB0aGlzLmFjdGlvbk9iamVjdC5ub3RpZnlBY3RpdmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzVmlzaWJsZSgpIHtcbiAgICBpZiAoIXRoaXMuYWN0aW9uT2JqZWN0Py5yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICgodGhpcy5hY3Rpb25PYmplY3Q/LnJlc3RyaWN0ZWRPbk9wZXJhdG9yID09PSAnPT0nXG4gICAgICAmJiB0aGlzLnJlbGF0ZWRGaWVsZCA9PT0gdGhpcy5hY3Rpb25PYmplY3Q/LnJlc3RyaWN0ZWRPblZhbHVlKVxuICAgICAgfHwgKHRoaXMuYWN0aW9uT2JqZWN0Py5yZXN0cmljdGVkT25PcGVyYXRvciA9PT0gJyE9J1xuICAgICAgICAmJiB0aGlzLnJlbGF0ZWRGaWVsZCAhPT0gdGhpcy5hY3Rpb25PYmplY3Q/LnJlc3RyaWN0ZWRPblZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,30 +1,41 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { componentConstants } from '../../classes/forms/form.constants';
|
|
3
2
|
const MONITORED_ATTRIBUTES = {
|
|
4
3
|
_maxLength: 'maxLength',
|
|
5
|
-
_onValidation: '
|
|
4
|
+
_onValidation: 'onValidation',
|
|
6
5
|
_fieldValue: 'value',
|
|
7
6
|
captureType: 'captureType',
|
|
8
|
-
fieldTitle: '
|
|
9
|
-
fieldType: '
|
|
7
|
+
fieldTitle: 'title',
|
|
8
|
+
fieldType: 'type',
|
|
10
9
|
errorMessage: 'errorMessage',
|
|
11
10
|
errorType: 'errorType',
|
|
12
11
|
errorCode: 'errorCode',
|
|
13
12
|
visibleLabel: 'visibleLabel',
|
|
14
|
-
fieldRequired: '
|
|
15
|
-
fieldOptions: '
|
|
13
|
+
fieldRequired: 'required',
|
|
14
|
+
fieldOptions: 'options',
|
|
16
15
|
};
|
|
17
16
|
export class FieldComponent {
|
|
18
|
-
constructor() {
|
|
19
|
-
this.componentConstants = Object.assign({}, componentConstants);
|
|
20
|
-
}
|
|
21
17
|
ngOnInit() {
|
|
18
|
+
var _a;
|
|
22
19
|
if (this.fieldObject) {
|
|
20
|
+
this.formConfig = (_a = this.fieldObject) === null || _a === void 0 ? void 0 : _a._formConfig;
|
|
23
21
|
// Atributos estáticos
|
|
24
|
-
this.
|
|
22
|
+
this.code = this.fieldObject.fieldCode;
|
|
25
23
|
this.fieldInfo = this.fieldObject.fieldInfo;
|
|
26
24
|
this.fieldAlignment = this.fieldObject.fieldAlignment;
|
|
27
25
|
this.tooltipText = this.fieldObject.tooltipText;
|
|
26
|
+
// Cargue inicial
|
|
27
|
+
this.maxLength = this.fieldObject._maxLength;
|
|
28
|
+
this.onValidation = this.fieldObject._onValidation;
|
|
29
|
+
this.value = this.fieldObject._fieldValue;
|
|
30
|
+
this.captureType = this.fieldObject.captureType;
|
|
31
|
+
this.title = this.fieldObject.fieldTitle;
|
|
32
|
+
this.type = this.fieldObject.fieldType;
|
|
33
|
+
this.errorMessage = this.fieldObject.errorMessage;
|
|
34
|
+
this.errorType = this.fieldObject.errorType;
|
|
35
|
+
this.errorCode = this.fieldObject.errorCode;
|
|
36
|
+
this.visibleLabel = this.fieldObject.visibleLabel;
|
|
37
|
+
this.required = this.fieldObject.fieldRequired;
|
|
38
|
+
this.options = this.fieldObject.fieldOptions;
|
|
28
39
|
this.fieldObject.widget = this;
|
|
29
40
|
// Atributos dinámicos
|
|
30
41
|
this.fieldObject.attributeChange.subscribe(event => {
|
|
@@ -58,9 +69,8 @@ FieldComponent.decorators = [
|
|
|
58
69
|
template: `<ng-content></ng-content>`
|
|
59
70
|
},] }
|
|
60
71
|
];
|
|
61
|
-
FieldComponent.ctorParameters = () => [];
|
|
62
72
|
FieldComponent.propDecorators = {
|
|
63
73
|
fieldObject: [{ type: Input }],
|
|
64
74
|
disabled: [{ type: Input }]
|
|
65
75
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixVQUFVLEVBQUUsV0FBVztJQUN2QixhQUFhLEVBQUUsY0FBYztJQUM3QixXQUFXLEVBQUUsT0FBTztJQUNwQixXQUFXLEVBQUUsYUFBYTtJQUMxQixVQUFVLEVBQUUsT0FBTztJQUNuQixTQUFTLEVBQUUsTUFBTTtJQUNqQixZQUFZLEVBQUUsY0FBYztJQUM1QixTQUFTLEVBQUUsV0FBVztJQUN0QixTQUFTLEVBQUUsV0FBVztJQUN0QixZQUFZLEVBQUUsY0FBYztJQUM1QixhQUFhLEVBQUUsVUFBVTtJQUN6QixZQUFZLEVBQUUsU0FBUztDQUN4QixDQUFDO0FBTUYsTUFBTSxPQUFPLGNBQWM7SUEwQnpCLFFBQVE7O1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxXQUFXLENBQUM7WUFDaEQsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDaEQsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUMvQixzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUMxQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxLQUFLLEtBQUssQ0FBQztJQUVYLGFBQWE7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsVUFBVTtRQUNSLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7O1lBbEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs7OzBCQXdCRSxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybXMvZmllbGQnO1xuXG5jb25zdCBNT05JVE9SRURfQVRUUklCVVRFUyA9IHtcbiAgX21heExlbmd0aDogJ21heExlbmd0aCcsXG4gIF9vblZhbGlkYXRpb246ICdvblZhbGlkYXRpb24nLFxuICBfZmllbGRWYWx1ZTogJ3ZhbHVlJyxcbiAgY2FwdHVyZVR5cGU6ICdjYXB0dXJlVHlwZScsXG4gIGZpZWxkVGl0bGU6ICd0aXRsZScsXG4gIGZpZWxkVHlwZTogJ3R5cGUnLFxuICBlcnJvck1lc3NhZ2U6ICdlcnJvck1lc3NhZ2UnLFxuICBlcnJvclR5cGU6ICdlcnJvclR5cGUnLFxuICBlcnJvckNvZGU6ICdlcnJvckNvZGUnLFxuICB2aXNpYmxlTGFiZWw6ICd2aXNpYmxlTGFiZWwnLFxuICBmaWVsZFJlcXVpcmVkOiAncmVxdWlyZWQnLFxuICBmaWVsZE9wdGlvbnM6ICdvcHRpb25zJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWVsZCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG4gIC8vIEF0cmlidXRvcyBvYnRlbmlkb3MgZXN0w6F0aWNhbWVudGVcbiAgY29kZTogc3RyaW5nO1xuICBmaWVsZEluZm86IHN0cmluZztcbiAgZmllbGRBbGlnbm1lbnQ6IHN0cmluZztcbiAgdG9vbHRpcFRleHQ6IHN0cmluZztcblxuICAvLyBBdHJpYnV0b3MgYWN0dWFsaXphZG9zIHBvciBzdWJzY3JpcGNpw7NuXG4gIHZhbHVlOiBhbnk7XG4gIG1heExlbmd0aDogYW55O1xuICBvblZhbGlkYXRpb246IGFueTtcbiAgY2FwdHVyZVR5cGU6IGFueTtcbiAgdGl0bGU6IGFueTtcbiAgdHlwZTogYW55O1xuICB2aXNpYmxlTGFiZWw6IGFueTtcbiAgcmVxdWlyZWQ6IGFueTtcbiAgb3B0aW9uczogYW55O1xuXG4gIGVycm9yVHlwZTogYW55O1xuICBlcnJvckNvZGU6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBhbnk7XG5cbiAgQElucHV0KCkgZmllbGRPYmplY3Q6IEZpZWxkRGVzY3JpcHRvcjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmllbGRPYmplY3QpIHtcbiAgICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuZmllbGRPYmplY3Q/Ll9mb3JtQ29uZmlnO1xuICAgICAgLy8gQXRyaWJ1dG9zIGVzdMOhdGljb3NcbiAgICAgIHRoaXMuY29kZSA9IHRoaXMuZmllbGRPYmplY3QuZmllbGRDb2RlO1xuICAgICAgdGhpcy5maWVsZEluZm8gPSB0aGlzLmZpZWxkT2JqZWN0LmZpZWxkSW5mbztcbiAgICAgIHRoaXMuZmllbGRBbGlnbm1lbnQgPSB0aGlzLmZpZWxkT2JqZWN0LmZpZWxkQWxpZ25tZW50O1xuICAgICAgdGhpcy50b29sdGlwVGV4dCA9IHRoaXMuZmllbGRPYmplY3QudG9vbHRpcFRleHQ7XG4gICAgICAvLyBDYXJndWUgaW5pY2lhbFxuICAgICAgdGhpcy5tYXhMZW5ndGggPSB0aGlzLmZpZWxkT2JqZWN0Ll9tYXhMZW5ndGg7XG4gICAgICB0aGlzLm9uVmFsaWRhdGlvbiA9IHRoaXMuZmllbGRPYmplY3QuX29uVmFsaWRhdGlvbjtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpZWxkT2JqZWN0Ll9maWVsZFZhbHVlO1xuICAgICAgdGhpcy5jYXB0dXJlVHlwZSA9IHRoaXMuZmllbGRPYmplY3QuY2FwdHVyZVR5cGU7XG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5maWVsZE9iamVjdC5maWVsZFRpdGxlO1xuICAgICAgdGhpcy50eXBlID0gdGhpcy5maWVsZE9iamVjdC5maWVsZFR5cGU7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZmllbGRPYmplY3QuZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvclR5cGUgPSB0aGlzLmZpZWxkT2JqZWN0LmVycm9yVHlwZTtcbiAgICAgIHRoaXMuZXJyb3JDb2RlID0gdGhpcy5maWVsZE9iamVjdC5lcnJvckNvZGU7XG4gICAgICB0aGlzLnZpc2libGVMYWJlbCA9IHRoaXMuZmllbGRPYmplY3QudmlzaWJsZUxhYmVsO1xuICAgICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMuZmllbGRPYmplY3QuZmllbGRSZXF1aXJlZDtcbiAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZmllbGRPYmplY3QuZmllbGRPcHRpb25zO1xuICAgICAgdGhpcy5maWVsZE9iamVjdC53aWRnZXQgPSB0aGlzO1xuICAgICAgLy8gQXRyaWJ1dG9zIGRpbsOhbWljb3NcbiAgICAgIHRoaXMuZmllbGRPYmplY3QuYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IGV2ZW50O1xuICAgICAgICBpZiAodGhpc1tNT05JVE9SRURfQVRUUklCVVRFU1tuYW1lXV0pIHtcbiAgICAgICAgICB0aGlzW01PTklUT1JFRF9BVFRSSUJVVEVTW25hbWVdXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICBmb2N1cygpIHsgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkT2JqZWN0Lm5vdGlmeUVkaXRpb25QYXJ0aWFsKCksIDUwKTtcbiAgfVxuXG4gIG9uQ2hhbmdlQ29udGVudCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGRPYmplY3Qubm90aWZ5RWRpdGlvbkZpbmlzaCgpLCA1MCk7XG4gIH1cblxuICBvblNob3dJbmZvKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZE9iamVjdC5ub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdCgpLCA1MCk7XG4gIH1cblxuICBudW1iZXJJbnB1dFZhbGlkYXRpb24oZXZlbnQpIHtcbiAgICBjb25zdCBrID0gZXZlbnQuY2hhckNvZGU7XG4gICAgcmV0dXJuIChrID4gNDcgJiYgayA8IDU4KTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { componentConstants } from '../../../classes/forms/form.constants';
|
|
3
2
|
export class ElementComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.componentConstants = Object.assign({}, componentConstants);
|
|
6
|
-
}
|
|
7
3
|
ngOnInit() {
|
|
4
|
+
var _a;
|
|
5
|
+
this.formConfig = (_a = this.formElement) === null || _a === void 0 ? void 0 : _a._formConfig;
|
|
8
6
|
this.start();
|
|
9
7
|
}
|
|
10
8
|
start() { }
|
|
@@ -25,9 +23,8 @@ ElementComponent.decorators = [
|
|
|
25
23
|
template: `<ng-content></ng-content>`
|
|
26
24
|
},] }
|
|
27
25
|
];
|
|
28
|
-
ElementComponent.ctorParameters = () => [];
|
|
29
26
|
ElementComponent.propDecorators = {
|
|
30
27
|
formElement: [{ type: Input }],
|
|
31
28
|
formManager: [{ type: Input }]
|
|
32
29
|
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFFBQVE7O1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxJQUFJLE9BQU87O1FBQ1QsTUFBTSxPQUFPLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE9BQU8sbUNBQUksSUFBSSxDQUFDO1FBQ2xELE9BQU8sT0FBTyxLQUFJLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsV0FBVyxDQUFDLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsWUFBWSxDQUFDLENBQUEsQ0FBQztJQUNsRixDQUFDO0lBRUQsSUFBSSxRQUFROztRQUNWLE1BQU0sUUFBUSxHQUFHLE1BQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxRQUFRLG1DQUFJLEtBQUssQ0FBQztRQUNyRCxPQUFPLFFBQVEsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxjQUFjLENBQUMsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxZQUFZLENBQUMsQ0FBQSxDQUFDO0lBQ3ZGLENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7OzswQkFJRSxLQUFLOzBCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVsZW1lbnQnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG5cbiAgQElucHV0KCkgZm9ybUVsZW1lbnQ6IGFueTtcbiAgQElucHV0KCkgZm9ybU1hbmFnZXI6IGFueTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLmZvcm1FbGVtZW50Py5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHsgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIGNvbnN0IHZpc2libGUgPSB0aGlzLmZvcm1FbGVtZW50Py52aXNpYmxlID8/IHRydWU7XG4gICAgcmV0dXJuIHZpc2libGUgJiYgdGhpcy5mb3JtRWxlbWVudD8udmlld09uU3RhdGUodGhpcy5mb3JtTWFuYWdlcj8uY3VycmVudFN0YXRlKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZm9ybUVsZW1lbnQ/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHJldHVybiBkaXNhYmxlZCB8fCAhdGhpcy5mb3JtRWxlbWVudD8uZW5hYmxlZE9uU3RhdGUodGhpcy5mb3JtTWFuYWdlcj8uY3VycmVudFN0YXRlKTtcbiAgfVxufVxuIl19
|
|
@@ -12,4 +12,4 @@ FormErrorComponent.propDecorators = {
|
|
|
12
12
|
errorMessage: [{ type: Input }],
|
|
13
13
|
errorType: [{ type: Input }]
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9mb3JtLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1qRCxNQUFNLE9BQU8sa0JBQWtCOzs7WUFKOUIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7Ozt5QkFFRSxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tZXJyb3InLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGVycm9yVGl0bGU6IGFueTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBhbnk7XG4gIEBJbnB1dCgpIGVycm9yVHlwZTogYW55O1xufVxuIl19
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { tableFieldStyles } from '../../../classes/forms/form.constants';
|
|
3
|
-
import { componentConstants } from '../../../classes/forms/form.constants';
|
|
4
2
|
import { TABLE_FILTER_TYPES } from '../../../classes/forms/table/table';
|
|
5
3
|
export class LibTableComponent {
|
|
6
4
|
constructor() {
|
|
@@ -9,13 +7,15 @@ export class LibTableComponent {
|
|
|
9
7
|
this.hasActions = false;
|
|
10
8
|
}
|
|
11
9
|
ngOnInit() {
|
|
12
|
-
|
|
10
|
+
var _a;
|
|
11
|
+
this.formConfig = (_a = this.tableObject) === null || _a === void 0 ? void 0 : _a._formConfig;
|
|
12
|
+
this.tableFieldStyles = this.formConfig.tableFieldStyles;
|
|
13
13
|
this.selectable = this.tableObject.selectable;
|
|
14
14
|
this.hasActions = this.tableObject.hasActions;
|
|
15
15
|
this.tableObject.widget = this;
|
|
16
|
-
this.inlineActions = this.tableObject.getActions(
|
|
17
|
-
this.globalActions = this.tableObject.getActions(
|
|
18
|
-
this.selectionActions = this.tableObject.getActions(
|
|
16
|
+
this.inlineActions = this.tableObject.getActions(this.formConfig.tableActions.inline);
|
|
17
|
+
this.globalActions = this.tableObject.getActions(this.formConfig.tableActions.global);
|
|
18
|
+
this.selectionActions = this.tableObject.getActions(this.formConfig.tableActions.selection);
|
|
19
19
|
this.start();
|
|
20
20
|
}
|
|
21
21
|
start() { }
|
|
@@ -102,4 +102,4 @@ LibTableComponent.propDecorators = {
|
|
|
102
102
|
currentState: [{ type: Input }],
|
|
103
103
|
waiting: [{ type: Input }]
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBNkMsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVFuSCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBUUUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztJQW1HckIsQ0FBQztJQXhGQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM1RixJQUFJ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Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWJsZUZpZWxkU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy9mb3JtLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBUYWJsZVJlY29yZERhdGEgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3Jvdy1kYXRhJztcbmltcG9ydCB7IFRhYmxlQWN0aW9uRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm1zL3RhYmxlL3RhYmxlJztcbmltcG9ydCB7IGNvbXBvbmVudENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvZm9ybS5jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBSZWNvcmRUYWJsZSwgVGFibGVFdmVudCwgVGFibGVGaWx0ZXJFdmVudCwgVEFCTEVfRklMVEVSX1RZUEVTIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB0YWJsZUZpZWxkU3R5bGVzOiBhbnk7XG4gIGxvYWRlZCA9IGZhbHNlO1xuICBzZWxlY3RhYmxlID0gZmFsc2U7XG4gIGhhc0FjdGlvbnMgPSBmYWxzZTtcbiAgaW5saW5lQWN0aW9uczogYW55O1xuICBnbG9iYWxBY3Rpb25zOiBhbnk7XG4gIHNlbGVjdGlvbkFjdGlvbnM6IGFueTtcblxuICBASW5wdXQoKSB0YWJsZU9iamVjdDogUmVjb3JkVGFibGU7XG4gIEBJbnB1dCgpIHRhYmxlUmVjb3JkczogVGFibGVSZWNvcmREYXRhW107XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBjdXJyZW50U3RhdGU6IHN0cmluZztcbiAgQElucHV0KCkgd2FpdGluZzogYm9vbGVhbjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYmxlRmllbGRTdHlsZXMgPSB0YWJsZUZpZWxkU3R5bGVzO1xuICAgIHRoaXMuc2VsZWN0YWJsZSA9IHRoaXMudGFibGVPYmplY3Quc2VsZWN0YWJsZTtcbiAgICB0aGlzLmhhc0FjdGlvbnMgPSB0aGlzLnRhYmxlT2JqZWN0Lmhhc0FjdGlvbnM7XG4gICAgdGhpcy50YWJsZU9iamVjdC53aWRnZXQgPSB0aGlzO1xuICAgIHRoaXMuaW5saW5lQWN0aW9ucyA9IHRoaXMudGFibGVPYmplY3QuZ2V0QWN0aW9ucyhjb21wb25lbnRDb25zdGFudHMuRk9STVRBQkxFQUNUSU9OX0lOTElORSk7XG4gICAgdGhpcy5nbG9iYWxBY3Rpb25zID0gdGhpcy50YWJsZU9iamVjdC5nZXRBY3Rpb25zKGNvbXBvbmVudENvbnN0YW50cy5GT1JNVEFCTEVBQ1RJT05fR0xPQkFMKTtcbiAgICB0aGlzLnNlbGVjdGlvbkFjdGlvbnMgPSB0aGlzLnRhYmxlT2JqZWN0LmdldEFjdGlvbnMoY29tcG9uZW50Q29uc3RhbnRzLkZPUk1UQUJMRUFDVElPTl9TRUxFQ1RJT04pO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG5cbiAgdGFibGVHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7XG4gICAgdGhpcy50YWJsZU9iamVjdC5ub3RpZnlHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZSk7XG4gIH1cblxuICB0YWJsZVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRhYmxlT2JqZWN0Lm5vdGlmeVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlKTtcbiAgfVxuXG4gIHRhYmxlQWN0aW9uU2VsZWN0ZWQoYWN0aW9uRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQpIHtcbiAgICB0aGlzLnRhYmxlT2JqZWN0Lm5vdGlmeUlubGluZUFjdGlvbihhY3Rpb25FdmVudCk7XG4gIH1cblxuICB0YWJsZUNvbHVtblNvcnQoY29sdW1uRmllbGRDb2RlKSB7XG4gICAgdGhpcy50YWJsZU9iamVjdC5zZXRSZXF1aXJlZE9yZGVyKGNvbHVtbkZpZWxkQ29kZSk7XG4gICAgaWYgKHRoaXMudGFibGVPYmplY3QuY2xpZW50UGFnaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJsZU9iamVjdC5sb2NhbFNvcnREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMudGFibGVPYmplY3Qubm90aWZ5R2V0RGF0YUFjdGlvbigpO1xuICB9XG5cbiAgY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlKSB7XG4gICAgaWYgKCF0aGlzLnRhYmxlT2JqZWN0LmNsaWVudFBhZ2luZykge1xuICAgICAgdGhpcy50YWJsZU9iamVjdC5ub3RpZnlHZXREYXRhQWN0aW9uKHJlcXVlc3RlZFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZWNvcmRzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlUmVjb3JkcyA9IHRoaXMudGFibGVPYmplY3QucmVjb3JkcztcbiAgICBpZiAodGhpcy50YWJsZU9iamVjdC5jbGllbnRQYWdpbmcgJiYgY3VycmVudFBhZ2VSZWNvcmRzICYmIGN1cnJlbnRQYWdlUmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRhYmxlT2JqZWN0LnRvdGFsUmVjb3Jkc051bWJlciA9IGN1cnJlbnRQYWdlUmVjb3Jkcy5sZW5ndGg7XG4gICAgICByZXR1cm4gY3VycmVudFBhZ2VSZWNvcmRzLm1hcCgocmVjb3JkLCBpKSA9PiAoeyBpZDogaSArIDEsIC4uLnJlY29yZCB9KSlcbiAgICAgICAgLnNsaWNlKCh0aGlzLnRhYmxlT2JqZWN0LmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnRhYmxlT2JqZWN0LnJlY29yZHNQZXJQYWdlLFxuICAgICAgICAgICh0aGlzLnRhYmxlT2JqZWN0LmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnRhYmxlT2JqZWN0LnJlY29yZHNQZXJQYWdlICsgdGhpcy50YWJsZU9iamVjdC5yZWNvcmRzUGVyUGFnZSk7XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50UGFnZVJlY29yZHM7XG4gIH1cblxuICBhcHBseUN1cnJlbnRGaWx0ZXIodGFibGVGaWx0ZXJFdmVudDogVGFibGVGaWx0ZXJFdmVudCkge1xuICAgIGNvbnN0IHsgZXZlbnRUeXBlIH0gPSB0YWJsZUZpbHRlckV2ZW50O1xuICAgIGxldCB0cmlnZ2VyRGF0YVVwZGF0ZSA9IGZhbHNlO1xuICAgIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5zaW1wbGVGaWx0ZXJDaGFuZ2UgfHwgZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuc2ltcGxlRmlsdGVyRmluaXNoKSB7XG4gICAgICB0aGlzLnRhYmxlT2JqZWN0LnNpbXBsZUZpbHRlclRleHQgPSB0YWJsZUZpbHRlckV2ZW50LnNpbXBsZUZpbHRlclN0cmluZy50cmltKCk7XG4gICAgICBpZiAodGhpcy50YWJsZU9iamVjdC5jbGllbnRQYWdpbmcpIHtcbiAgICAgICAgdGhpcy50YWJsZU9iamVjdC5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIHRoaXMudGFibGVPYmplY3QudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuc2ltcGxlRmlsdGVyRmluaXNoKSB7XG4gICAgICAgIHRyaWdnZXJEYXRhVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV2ZW50VHlwZSA9PT0gVEFCTEVfRklMVEVSX1RZUEVTLmNvbXBsZXhGaWx0ZXJBZGQpIHtcbiAgICAgIHRoaXMudGFibGVPYmplY3QuYWRkRmlsdGVyUmVzdHJpY3Rpb24odGFibGVGaWx0ZXJFdmVudC5jb21wbGV4RmlsdGVySXRlbSk7XG4gICAgfVxuICAgIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5jb21wbGV4RmlsdGVyUmVtb3ZlKSB7XG4gICAgICB0aGlzLnRhYmxlT2JqZWN0LnJlbW92ZUZpbHRlclJlc3RyaWN0aW9uKHRhYmxlRmlsdGVyRXZlbnQuaXRlbU5hbWUpO1xuICAgIH1cbiAgICBpZiAodHJpZ2dlckRhdGFVcGRhdGUpIHtcbiAgICAgIGNvbnN0IHRhYmxlR2V0RGF0YUV2ZW50ID0ge1xuICAgICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVPYmplY3QudGFibGVDb2RlLFxuICAgICAgICByZXF1ZXN0ZWRQYWdlOiAxLFxuICAgICAgfTtcbiAgICAgIHRoaXMudGFibGVPYmplY3Qubm90aWZ5R2V0RGF0YUFjdGlvbih0YWJsZUdldERhdGFFdmVudCk7XG4gICAgfVxuICB9XG5cbiAgdGFibGVTZWxlY3Rpb25Ub2dnbGUocmVjb3JkSWQpIHtcbiAgICB0aGlzLnRhYmxlT2JqZWN0Lm5vdGlmeVJlY29yZFNlbGVjdGlvbihyZWNvcmRJZCk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoKSB7XG4gICAgaWYgKHRoaXMudGFibGVPYmplY3QuYWxsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMudGFibGVPYmplY3QudW5TZWxlY3RBbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJsZU9iamVjdC5zZWxlY3RBbGwoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdGLE9BQU8sRUFBNkMsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVFuSCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBU0UsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztJQW9HckIsQ0FBQztJQXpGQyxRQUFROztRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxXQUFXLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMs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WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuXG5pbXBvcnQgeyBSZWNvcmRUYWJsZSwgVGFibGVFdmVudCwgVGFibGVGaWx0ZXJFdmVudCwgVEFCTEVfRklMVEVSX1RZUEVTIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG4gIHRhYmxlRmllbGRTdHlsZXM6IGFueTtcbiAgbG9hZGVkID0gZmFsc2U7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgaGFzQWN0aW9ucyA9IGZhbHNlO1xuICBpbmxpbmVBY3Rpb25zOiBhbnk7XG4gIGdsb2JhbEFjdGlvbnM6IGFueTtcbiAgc2VsZWN0aW9uQWN0aW9uczogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmxlT2JqZWN0OiBSZWNvcmRUYWJsZTtcbiAgQElucHV0KCkgdGFibGVSZWNvcmRzOiBUYWJsZVJlY29yZERhdGFbXTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1cnJlbnRTdGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKSB3YWl0aW5nOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMudGFibGVPYmplY3Q/Ll9mb3JtQ29uZmlnO1xuICAgIHRoaXMudGFibGVGaWVsZFN0eWxlcyA9IHRoaXMuZm9ybUNvbmZpZy50YWJsZUZpZWxkU3R5bGVzO1xuICAgIHRoaXMuc2VsZWN0YWJsZSA9IHRoaXMudGFibGVPYmplY3Quc2VsZWN0YWJsZTtcbiAgICB0aGlzLmhhc0FjdGlvbnMgPSB0aGlzLnRhYmxlT2JqZWN0Lmhhc0FjdGlvbnM7XG4gICAgdGhpcy50YWJsZU9iamVjdC53aWRnZXQgPSB0aGlzO1xuICAgIHRoaXMuaW5saW5lQWN0aW9ucyA9IHRoaXMudGFibGVPYmplY3QuZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWcudGFibGVBY3Rpb25zLmlubGluZSk7XG4gICAgdGhpcy5nbG9iYWxBY3Rpb25zID0gdGhpcy50YWJsZU9iamVjdC5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZy50YWJsZUFjdGlvbnMuZ2xvYmFsKTtcbiAgICB0aGlzLnNlbGVjdGlvbkFjdGlvbnMgPSB0aGlzLnRhYmxlT2JqZWN0LmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnLnRhYmxlQWN0aW9ucy5zZWxlY3Rpb24pO1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG5cbiAgdGFibGVHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7XG4gICAgdGhpcy50YWJsZU9iamVjdC5ub3RpZnlHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZSk7XG4gIH1cblxuICB0YWJsZVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRhYmxlT2JqZWN0Lm5vdGlmeVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlKTtcbiAgfVxuXG4gIHRhYmxlQWN0aW9uU2VsZWN0ZWQoYWN0aW9uRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQpIHtcbiAgICB0aGlzLnRhYmxlT2JqZWN0Lm5vdGlmeUlubGluZUFjdGlvbihhY3Rpb25FdmVudCk7XG4gIH1cblxuICB0YWJsZUNvbHVtblNvcnQoY29sdW1uRmllbGRDb2RlKSB7XG4gICAgdGhpcy50YWJsZU9iamVjdC5zZXRSZXF1aXJlZE9yZGVyKGNvbHVtbkZpZWxkQ29kZSk7XG4gICAgaWYgKHRoaXMudGFibGVPYmplY3QuY2xpZW50UGFnaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJsZU9iamVjdC5sb2NhbFNvcnREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMudGFibGVPYmplY3Qubm90aWZ5R2V0RGF0YUFjdGlvbigpO1xuICB9XG5cbiAgY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlKSB7XG4gICAgaWYgKCF0aGlzLnRhYmxlT2JqZWN0LmNsaWVudFBhZ2luZykge1xuICAgICAgdGhpcy50YWJsZU9iamVjdC5ub3RpZnlHZXREYXRhQWN0aW9uKHJlcXVlc3RlZFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZWNvcmRzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlUmVjb3JkcyA9IHRoaXMudGFibGVPYmplY3QucmVjb3JkcztcbiAgICBpZiAodGhpcy50YWJsZU9iamVjdC5jbGllbnRQYWdpbmcgJiYgY3VycmVudFBhZ2VSZWNvcmRzICYmIGN1cnJlbnRQYWdlUmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRhYmxlT2JqZWN0LnRvdGFsUmVjb3Jkc051bWJlciA9IGN1cnJlbnRQYWdlUmVjb3Jkcy5sZW5ndGg7XG4gICAgICByZXR1cm4gY3VycmVudFBhZ2VSZWNvcmRzLm1hcCgocmVjb3JkLCBpKSA9PiAoeyBpZDogaSArIDEsIC4uLnJlY29yZCB9KSlcbiAgICAgICAgLnNsaWNlKCh0aGlzLnRhYmxlT2JqZWN0LmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnRhYmxlT2JqZWN0LnJlY29yZHNQZXJQYWdlLFxuICAgICAgICAgICh0aGlzLnRhYmxlT2JqZWN0LmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnRhYmxlT2JqZWN0LnJlY29yZHNQZXJQYWdlICsgdGhpcy50YWJsZU9iamVjdC5yZWNvcmRzUGVyUGFnZSk7XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50UGFnZVJlY29yZHM7XG4gIH1cblxuICBhcHBseUN1cnJlbnRGaWx0ZXIodGFibGVGaWx0ZXJFdmVudDogVGFibGVGaWx0ZXJFdmVudCkge1xuICAgIGNvbnN0IHsgZXZlbnRUeXBlIH0gPSB0YWJsZUZpbHRlckV2ZW50O1xuICAgIGxldCB0cmlnZ2VyRGF0YVVwZGF0ZSA9IGZhbHNlO1xuICAgIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5zaW1wbGVGaWx0ZXJDaGFuZ2UgfHwgZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuc2ltcGxlRmlsdGVyRmluaXNoKSB7XG4gICAgICB0aGlzLnRhYmxlT2JqZWN0LnNpbXBsZUZpbHRlclRleHQgPSB0YWJsZUZpbHRlckV2ZW50LnNpbXBsZUZpbHRlclN0cmluZy50cmltKCk7XG4gICAgICBpZiAodGhpcy50YWJsZU9iamVjdC5jbGllbnRQYWdpbmcpIHtcbiAgICAgICAgdGhpcy50YWJsZU9iamVjdC5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIHRoaXMudGFibGVPYmplY3QudXBkYXRlVmlzaWJsZVJlY29yZHMoKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuc2ltcGxlRmlsdGVyRmluaXNoKSB7XG4gICAgICAgIHRyaWdnZXJEYXRhVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV2ZW50VHlwZSA9PT0gVEFCTEVfRklMVEVSX1RZUEVTLmNvbXBsZXhGaWx0ZXJBZGQpIHtcbiAgICAgIHRoaXMudGFibGVPYmplY3QuYWRkRmlsdGVyUmVzdHJpY3Rpb24odGFibGVGaWx0ZXJFdmVudC5jb21wbGV4RmlsdGVySXRlbSk7XG4gICAgfVxuICAgIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5jb21wbGV4RmlsdGVyUmVtb3ZlKSB7XG4gICAgICB0aGlzLnRhYmxlT2JqZWN0LnJlbW92ZUZpbHRlclJlc3RyaWN0aW9uKHRhYmxlRmlsdGVyRXZlbnQuaXRlbU5hbWUpO1xuICAgIH1cbiAgICBpZiAodHJpZ2dlckRhdGFVcGRhdGUpIHtcbiAgICAgIGNvbnN0IHRhYmxlR2V0RGF0YUV2ZW50ID0ge1xuICAgICAgICB0YWJsZUNvZGU6IHRoaXMudGFibGVPYmplY3QudGFibGVDb2RlLFxuICAgICAgICByZXF1ZXN0ZWRQYWdlOiAxLFxuICAgICAgfTtcbiAgICAgIHRoaXMudGFibGVPYmplY3Qubm90aWZ5R2V0RGF0YUFjdGlvbih0YWJsZUdldERhdGFFdmVudCk7XG4gICAgfVxuICB9XG5cbiAgdGFibGVTZWxlY3Rpb25Ub2dnbGUocmVjb3JkSWQpIHtcbiAgICB0aGlzLnRhYmxlT2JqZWN0Lm5vdGlmeVJlY29yZFNlbGVjdGlvbihyZWNvcmRJZCk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoKSB7XG4gICAgaWYgKHRoaXMudGFibGVPYmplY3QuYWxsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMudGFibGVPYmplY3QudW5TZWxlY3RBbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJsZU9iamVjdC5zZWxlY3RBbGwoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|