@wemake4u/form-player-se 1.0.0
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/README.md +17 -0
- package/esm2022/lib/controls/accordion.mjs +7 -0
- package/esm2022/lib/controls/button.mjs +7 -0
- package/esm2022/lib/controls/checkbox.mjs +7 -0
- package/esm2022/lib/controls/checklist.mjs +7 -0
- package/esm2022/lib/controls/chipchecklist.mjs +7 -0
- package/esm2022/lib/controls/chipradio.mjs +7 -0
- package/esm2022/lib/controls/control.mjs +65 -0
- package/esm2022/lib/controls/date.mjs +7 -0
- package/esm2022/lib/controls/dynamiclist.mjs +4 -0
- package/esm2022/lib/controls/factory.mjs +106 -0
- package/esm2022/lib/controls/filepicker.mjs +7 -0
- package/esm2022/lib/controls/form.mjs +4 -0
- package/esm2022/lib/controls/group.mjs +4 -0
- package/esm2022/lib/controls/html.mjs +4 -0
- package/esm2022/lib/controls/iframe.mjs +4 -0
- package/esm2022/lib/controls/image.mjs +4 -0
- package/esm2022/lib/controls/number.mjs +7 -0
- package/esm2022/lib/controls/radio.mjs +7 -0
- package/esm2022/lib/controls/select.mjs +7 -0
- package/esm2022/lib/controls/separator.mjs +4 -0
- package/esm2022/lib/controls/spacer.mjs +4 -0
- package/esm2022/lib/controls/tab.mjs +7 -0
- package/esm2022/lib/controls/table.mjs +13 -0
- package/esm2022/lib/controls/taglist.mjs +7 -0
- package/esm2022/lib/controls/text.mjs +4 -0
- package/esm2022/lib/controls/textarea.mjs +7 -0
- package/esm2022/lib/controls/textfield.mjs +18 -0
- package/esm2022/lib/controls/time.mjs +7 -0
- package/esm2022/lib/controls/toggle.mjs +7 -0
- package/esm2022/lib/dataSources/interfaces.mjs +2 -0
- package/esm2022/lib/dataSources/odata.mjs +131 -0
- package/esm2022/lib/dataSources/rest.mjs +48 -0
- package/esm2022/lib/directives/accordion.directive.mjs +52 -0
- package/esm2022/lib/directives/adorner.directive.mjs +130 -0
- package/esm2022/lib/directives/disable.directive.mjs +38 -0
- package/esm2022/lib/directives/display.directive.mjs +46 -0
- package/esm2022/lib/directives/dropdown.directive.mjs +233 -0
- package/esm2022/lib/directives/frame-security.directive.mjs +66 -0
- package/esm2022/lib/directives/grid.directive.mjs +68 -0
- package/esm2022/lib/directives/register.directive.mjs +86 -0
- package/esm2022/lib/directives/repeat.directive.mjs +38 -0
- package/esm2022/lib/directives/tab.directive.mjs +49 -0
- package/esm2022/lib/directives/updateblur.directive.mjs +32 -0
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +493 -0
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +395 -0
- package/esm2022/lib/locale/locale-it.mjs +13 -0
- package/esm2022/lib/services/data.service.mjs +29 -0
- package/esm2022/lib/services/event.service.mjs +19 -0
- package/esm2022/lib/services/feel.service.mjs +73 -0
- package/esm2022/lib/services/formatter.service.mjs +60 -0
- package/esm2022/lib/services/markdown.service.mjs +24 -0
- package/esm2022/lib/services/mime.service.mjs +32 -0
- package/esm2022/lib/services/programmability.service.mjs +221 -0
- package/esm2022/lib/services/proxy.service.mjs +131 -0
- package/esm2022/lib/services/register.service.mjs +60 -0
- package/esm2022/lib/services/sanitize.service.mjs +38 -0
- package/esm2022/lib/services/scope.service.mjs +46 -0
- package/esm2022/lib/services/toast.service.mjs +37 -0
- package/esm2022/lib/services/weak.service.mjs +60 -0
- package/esm2022/lib/utils/extractFiles.mjs +30 -0
- package/esm2022/lib/utils/gridCells.mjs +49 -0
- package/esm2022/lib/utils/groupByRow.mjs +30 -0
- package/esm2022/lib/utils/patchForm.mjs +55 -0
- package/esm2022/lib/utils/toFormData.mjs +11 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/wemake4u-form-player-se.mjs +5 -0
- package/fesm2022/wemake4u-form-player-se.mjs +3101 -0
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/controls/accordion.d.ts +4 -0
- package/lib/controls/button.d.ts +4 -0
- package/lib/controls/checkbox.d.ts +4 -0
- package/lib/controls/checklist.d.ts +4 -0
- package/lib/controls/chipchecklist.d.ts +4 -0
- package/lib/controls/chipradio.d.ts +4 -0
- package/lib/controls/control.d.ts +24 -0
- package/lib/controls/date.d.ts +4 -0
- package/lib/controls/dynamiclist.d.ts +3 -0
- package/lib/controls/factory.d.ts +4 -0
- package/lib/controls/filepicker.d.ts +4 -0
- package/lib/controls/form.d.ts +3 -0
- package/lib/controls/group.d.ts +3 -0
- package/lib/controls/html.d.ts +3 -0
- package/lib/controls/iframe.d.ts +3 -0
- package/lib/controls/image.d.ts +3 -0
- package/lib/controls/number.d.ts +4 -0
- package/lib/controls/radio.d.ts +4 -0
- package/lib/controls/select.d.ts +4 -0
- package/lib/controls/separator.d.ts +3 -0
- package/lib/controls/spacer.d.ts +3 -0
- package/lib/controls/tab.d.ts +4 -0
- package/lib/controls/table.d.ts +6 -0
- package/lib/controls/taglist.d.ts +4 -0
- package/lib/controls/text.d.ts +3 -0
- package/lib/controls/textarea.d.ts +4 -0
- package/lib/controls/textfield.d.ts +6 -0
- package/lib/controls/time.d.ts +4 -0
- package/lib/controls/toggle.d.ts +4 -0
- package/lib/dataSources/interfaces.d.ts +8 -0
- package/lib/dataSources/odata.d.ts +16 -0
- package/lib/dataSources/rest.d.ts +16 -0
- package/lib/directives/accordion.directive.d.ts +11 -0
- package/lib/directives/adorner.directive.d.ts +22 -0
- package/lib/directives/disable.directive.d.ts +12 -0
- package/lib/directives/display.directive.d.ts +12 -0
- package/lib/directives/dropdown.directive.d.ts +26 -0
- package/lib/directives/frame-security.directive.d.ts +14 -0
- package/lib/directives/grid.directive.d.ts +17 -0
- package/lib/directives/register.directive.d.ts +24 -0
- package/lib/directives/repeat.directive.d.ts +12 -0
- package/lib/directives/tab.directive.d.ts +11 -0
- package/lib/directives/updateblur.directive.d.ts +10 -0
- package/lib/dynamic-fields/dynamic-fields.component.d.ts +84 -0
- package/lib/dynamic-form/dynamic-form.component.d.ts +76 -0
- package/lib/locale/locale-it.d.ts +12 -0
- package/lib/services/data.service.d.ts +15 -0
- package/lib/services/event.service.d.ts +15 -0
- package/lib/services/feel.service.d.ts +10 -0
- package/lib/services/formatter.service.d.ts +10 -0
- package/lib/services/markdown.service.d.ts +7 -0
- package/lib/services/mime.service.d.ts +8 -0
- package/lib/services/programmability.service.d.ts +39 -0
- package/lib/services/proxy.service.d.ts +31 -0
- package/lib/services/register.service.d.ts +18 -0
- package/lib/services/sanitize.service.d.ts +12 -0
- package/lib/services/scope.service.d.ts +13 -0
- package/lib/services/toast.service.d.ts +13 -0
- package/lib/services/weak.service.d.ts +10 -0
- package/lib/utils/extractFiles.d.ts +4 -0
- package/lib/utils/gridCells.d.ts +19 -0
- package/lib/utils/groupByRow.d.ts +38 -0
- package/lib/utils/patchForm.d.ts +8 -0
- package/lib/utils/toFormData.d.ts +1 -0
- package/package.json +42 -0
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const IS_PROXY = Symbol("__isProxy$");
|
|
4
|
+
export class ProxyService {
|
|
5
|
+
constructor() { }
|
|
6
|
+
getProxy(instance, options = null) {
|
|
7
|
+
return this.createProxy(instance, true, options);
|
|
8
|
+
}
|
|
9
|
+
createProxy(instance, root, options = null) {
|
|
10
|
+
if (!instance) {
|
|
11
|
+
return instance;
|
|
12
|
+
}
|
|
13
|
+
return new Proxy(instance, {
|
|
14
|
+
get: (target, property) => {
|
|
15
|
+
if (property === IS_PROXY) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
let value = undefined;
|
|
19
|
+
if (root && options && options.extend && property in options.extend) {
|
|
20
|
+
value = Reflect.get(options.extend, property, target);
|
|
21
|
+
}
|
|
22
|
+
else if (options && options.isCustom && options.getCustom && options.isCustom(target, property, root)) {
|
|
23
|
+
value = options.getCustom(target, property, root);
|
|
24
|
+
}
|
|
25
|
+
else if (property in target) {
|
|
26
|
+
value = Reflect.get(target, property, target);
|
|
27
|
+
}
|
|
28
|
+
if (options?.log) {
|
|
29
|
+
console.log(target, property, value);
|
|
30
|
+
}
|
|
31
|
+
if (this.isProxy(value))
|
|
32
|
+
return value;
|
|
33
|
+
if (typeof value === 'function') {
|
|
34
|
+
return this.createFunction(value, target);
|
|
35
|
+
}
|
|
36
|
+
else if (typeof value === 'object' && value !== null) {
|
|
37
|
+
return this.createProxy(value, false, options);
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
},
|
|
41
|
+
set: (target, property, value) => {
|
|
42
|
+
if (options && options.canSet && !options.canSet(target, property, root)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return Reflect.set(target, property, value, target);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
deleteProperty: (target, property) => {
|
|
50
|
+
if (options && options.canDelete && !options.canDelete(target, property, root)) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
else if (property in target) {
|
|
54
|
+
return delete target[property];
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
has: (target, property) => {
|
|
61
|
+
if (root && options && options.extend && property in options.extend) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
else if (options && options.isCustom && options.isCustom(target, property, root)) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
else if (property in target) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
createFunction(fn, target) {
|
|
77
|
+
return (...args) => {
|
|
78
|
+
return fn.bind(target)(...args);
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
isProxy(obj) {
|
|
82
|
+
return obj && obj[IS_PROXY] === true;
|
|
83
|
+
}
|
|
84
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, providedIn: 'root' });
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, decorators: [{
|
|
88
|
+
type: Injectable,
|
|
89
|
+
args: [{
|
|
90
|
+
providedIn: 'root'
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: () => [] });
|
|
93
|
+
export class ProxyOptions {
|
|
94
|
+
_canDelete = () => true;
|
|
95
|
+
_canSet = () => true;
|
|
96
|
+
_isCustom = () => false;
|
|
97
|
+
_getCustom = () => undefined;
|
|
98
|
+
_extend = () => undefined;
|
|
99
|
+
set extend(fn) {
|
|
100
|
+
this._extend = fn;
|
|
101
|
+
}
|
|
102
|
+
get extend() {
|
|
103
|
+
return this._extend;
|
|
104
|
+
}
|
|
105
|
+
set canDelete(fn) {
|
|
106
|
+
this._canDelete = fn;
|
|
107
|
+
}
|
|
108
|
+
get canDelete() {
|
|
109
|
+
return this._canDelete;
|
|
110
|
+
}
|
|
111
|
+
set canSet(fn) {
|
|
112
|
+
this._canSet = fn;
|
|
113
|
+
}
|
|
114
|
+
get canSet() {
|
|
115
|
+
return this._canSet;
|
|
116
|
+
}
|
|
117
|
+
set isCustom(fn) {
|
|
118
|
+
this._isCustom = fn;
|
|
119
|
+
}
|
|
120
|
+
get isCustom() {
|
|
121
|
+
return this._isCustom;
|
|
122
|
+
}
|
|
123
|
+
set getCustom(fn) {
|
|
124
|
+
this._getCustom = fn;
|
|
125
|
+
}
|
|
126
|
+
get getCustom() {
|
|
127
|
+
return this._getCustom;
|
|
128
|
+
}
|
|
129
|
+
log = false;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Byb3h5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBS3RDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVEsQ0FBQyxRQUFhLEVBQUUsVUFBK0IsSUFBSTtRQUN6RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQWEsRUFBRSxJQUFhLEVBQUUsVUFBK0IsSUFBSTtRQUVuRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDekIsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUU3QixJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFFRCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBRXRCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BFLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxDQUFDO3FCQUNJLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FB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LEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxJQUFJLFFBQVEsQ0FBQyxFQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQUksU0FBUyxDQUFDLEVBQWU7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBR00sR0FBRyxHQUFZLEtBQUssQ0FBQztDQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmNvbnN0IElTX1BST1hZID0gU3ltYm9sKFwiX19pc1Byb3h5JFwiKTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3h5U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGdldFByb3h5KGluc3RhbmNlOiBhbnksIG9wdGlvbnM6IFByb3h5T3B0aW9ucyB8IG51bGwgPSBudWxsKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb3h5KGluc3RhbmNlLCB0cnVlLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUHJveHkoaW5zdGFuY2U6IGFueSwgcm9vdDogYm9vbGVhbiwgb3B0aW9uczogUHJveHlPcHRpb25zIHwgbnVsbCA9IG51bGwpOiBhbnkge1xyXG5cclxuICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXcgUHJveHkoaW5zdGFuY2UsIHtcclxuICAgICAgZ2V0OiAodGFyZ2V0OiBhbnksIHByb3BlcnR5KSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gSVNfUFJPWFkpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHZhbHVlID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBpZiAocm9vdCAmJiBvcHRpb25zICYmIG9wdGlvbnMuZXh0ZW5kICYmIHByb3BlcnR5IGluIG9wdGlvbnMuZXh0ZW5kKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IFJlZmxlY3QuZ2V0KG9wdGlvbnMuZXh0ZW5kLCBwcm9wZXJ0eSwgdGFyZ2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmlzQ3VzdG9tICYmIG9wdGlvbnMuZ2V0Q3VzdG9tICYmIG9wdGlvbnMuaXNDdXN0b20odGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkpIHtcclxuICAgICAgICAgIHZhbHVlID0gb3B0aW9ucy5nZXRDdXN0b20odGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHByb3BlcnR5IGluIHRhcmdldCkge1xyXG4gICAgICAgICAgdmFsdWUgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3BlcnR5LCB0YXJnZXQpOyAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zPy5sb2cpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRhcmdldCwgcHJvcGVydHksIHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJveHkodmFsdWUpKVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVGdW5jdGlvbih2YWx1ZSwgdGFyZ2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJveHkodmFsdWUsIGZhbHNlLCBvcHRpb25zKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgICAgc2V0OiAodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmNhblNldCAmJiAhb3B0aW9ucy5jYW5TZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHRhcmdldCk7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlbGV0ZVByb3BlcnR5OiAodGFyZ2V0LCBwcm9wZXJ0eSkgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY2FuRGVsZXRlICYmICFvcHRpb25zLmNhbkRlbGV0ZSh0YXJnZXQsIHByb3BlcnR5LCByb290KSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSBpbiB0YXJnZXQpIHtcclxuICAgICAgICAgIHJldHVybiBkZWxldGUgdGFyZ2V0W3Byb3BlcnR5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBoYXM6ICh0YXJnZXQsIHByb3BlcnR5KSA9PiB7XHJcbiAgICAgICAgaWYgKHJvb3QgJiYgb3B0aW9ucyAmJiBvcHRpb25zLmV4dGVuZCAmJiBwcm9wZXJ0eSBpbiBvcHRpb25zLmV4dGVuZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pc0N1c3RvbSAmJiBvcHRpb25zLmlzQ3VzdG9tKHRhcmdldCwgcHJvcGVydHksIHJvb3QpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocHJvcGVydHkgaW4gdGFyZ2V0KSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uKGZuOiBGdW5jdGlvbiwgdGFyZ2V0OiBhbnkpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gKC4uLmFyZ3M6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm4uYmluZCh0YXJnZXQpKC4uLmFyZ3MpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNQcm94eShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9iaiAmJiBvYmpbSVNfUFJPWFldID09PSB0cnVlOyAgICBcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgUHJveHlRdWVyeSA9ICh0YXJnZXQ6IGFueSwgcHJvcGVydHk6IHN0cmluZyB8IHN5bWJvbCwgcm9vdDogYm9vbGVhbikgPT4gYm9vbGVhbjtcclxuXHJcbnR5cGUgUHJveHlHZXR0ZXIgPSAodGFyZ2V0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcgfCBzeW1ib2wsIHJvb3Q6IGJvb2xlYW4pID0+IGFueTtcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm94eU9wdGlvbnMge1xyXG4gIHByaXZhdGUgX2NhbkRlbGV0ZTogUHJveHlRdWVyeSA9ICgpID0+IHRydWU7XHJcbiAgcHJpdmF0ZSBfY2FuU2V0OiBQcm94eVF1ZXJ5ID0gKCkgPT4gdHJ1ZTtcclxuICBwcml2YXRlIF9pc0N1c3RvbTogUHJveHlRdWVyeSA9ICgpID0+IGZhbHNlO1xyXG4gIHByaXZhdGUgX2dldEN1c3RvbTogUHJveHlHZXR0ZXIgPSAoKSA9PiB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfZXh0ZW5kOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gKCkgPT4gdW5kZWZpbmVkO1xyXG5cclxuICBzZXQgZXh0ZW5kKGZuOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICB0aGlzLl9leHRlbmQgPSBmbjtcclxuICB9XHJcblxyXG4gIGdldCBleHRlbmQoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXh0ZW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldCBjYW5EZWxldGUoZm46IFByb3h5UXVlcnkpIHtcclxuICAgIHRoaXMuX2NhbkRlbGV0ZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhbkRlbGV0ZSgpOiBQcm94eVF1ZXJ5IHtcclxuICAgIHJldHVybiB0aGlzLl9jYW5EZWxldGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0IGNhblNldChmbjogUHJveHlRdWVyeSkge1xyXG4gICAgdGhpcy5fY2FuU2V0ID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgY2FuU2V0KCk6IFByb3h5UXVlcnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhblNldDtcclxuICB9XHJcblxyXG5cclxuICBzZXQgaXNDdXN0b20oZm46IFByb3h5UXVlcnkpIHtcclxuICAgIHRoaXMuX2lzQ3VzdG9tID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDdXN0b20oKTogUHJveHlRdWVyeSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNDdXN0b207XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0IGdldEN1c3RvbShmbjogUHJveHlHZXR0ZXIpIHtcclxuICAgIHRoaXMuX2dldEN1c3RvbSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEN1c3RvbSgpOiBQcm94eUdldHRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG5cclxuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { ProxyOptions } from '../services/proxy.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/proxy.service";
|
|
5
|
+
export class RegisterService {
|
|
6
|
+
proxyService;
|
|
7
|
+
parent;
|
|
8
|
+
constructor(proxyService, parent) {
|
|
9
|
+
this.proxyService = proxyService;
|
|
10
|
+
this.parent = parent;
|
|
11
|
+
}
|
|
12
|
+
controls = {};
|
|
13
|
+
register(name, control) {
|
|
14
|
+
this.controls[name] = control;
|
|
15
|
+
}
|
|
16
|
+
unregister(name) {
|
|
17
|
+
delete this.controls[name];
|
|
18
|
+
}
|
|
19
|
+
unregisterAll() {
|
|
20
|
+
this.controls = {};
|
|
21
|
+
}
|
|
22
|
+
getControl(name) {
|
|
23
|
+
return this.controls[name];
|
|
24
|
+
}
|
|
25
|
+
getControls() {
|
|
26
|
+
return Object.values(this.controls);
|
|
27
|
+
}
|
|
28
|
+
proxy() {
|
|
29
|
+
const parentName = "parent";
|
|
30
|
+
const options = new ProxyOptions();
|
|
31
|
+
options.isCustom = (target, property, root) => {
|
|
32
|
+
return root || (property === parentName);
|
|
33
|
+
};
|
|
34
|
+
options.getCustom = (target, property, root) => {
|
|
35
|
+
if (property === parentName) {
|
|
36
|
+
return this.parent?.proxy();
|
|
37
|
+
}
|
|
38
|
+
return this.resolve(property.toString());
|
|
39
|
+
};
|
|
40
|
+
options.canDelete = () => false;
|
|
41
|
+
options.canSet = () => false;
|
|
42
|
+
return this.proxyService.getProxy(this.controls, options);
|
|
43
|
+
}
|
|
44
|
+
resolve(name) {
|
|
45
|
+
const result = this.controls[name];
|
|
46
|
+
if (result)
|
|
47
|
+
return result;
|
|
48
|
+
return this.parent?.resolve(name);
|
|
49
|
+
}
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService, deps: [{ token: i1.ProxyService }, { token: RegisterService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService });
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService, decorators: [{
|
|
54
|
+
type: Injectable
|
|
55
|
+
}], ctorParameters: () => [{ type: i1.ProxyService }, { type: RegisterService, decorators: [{
|
|
56
|
+
type: Optional
|
|
57
|
+
}, {
|
|
58
|
+
type: SkipSelf
|
|
59
|
+
}] }] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3JlZ2lzdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9ELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUd2RSxNQUFNLE9BQU8sZUFBZTtJQUdoQjtJQUMwQjtJQUZwQyxZQUNVLFlBQTBCLEVBQ0EsTUFBOEI7UUFEeEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDQSxXQUFNLEdBQU4sTUFBTSxDQUF3QjtJQUVsRSxDQUFDO0lBRU8sUUFBUSxHQUE0QixFQUFFLENBQUM7SUFFL0MsUUFBUSxDQUFDLElBQVksRUFBRSxPQUFnQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFHLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUs7UUFFSCxNQUFNLFVBQVUsR0FBVyxRQUFRLENBQUM7UUFFcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM1QyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUM7UUFFRixPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM3QyxJQUFJLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDO1FBRUYsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFFaEMsT0FBTyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxPQUFPLENBQUMsSUFBWTtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksTUFBTTtZQUNSLE9BQU8sTUFBTSxDQUFDO1FBRWhCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzt3R0E3RFUsZUFBZTs0R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFLSixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9jb250cm9sJztcclxuaW1wb3J0IHsgUHJveHlTZXJ2aWNlLCBQcm94eU9wdGlvbnMgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm94eS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwcm94eVNlcnZpY2U6IFByb3h5U2VydmljZVxyXG4gICAgLCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHBhcmVudDogUmVnaXN0ZXJTZXJ2aWNlIHwgbnVsbClcclxuICB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBDb250cm9sPiA9IHt9O1xyXG5cclxuICByZWdpc3RlcihuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IENvbnRyb2wpIHtcclxuICAgIHRoaXMuY29udHJvbHNbbmFtZV0gPSBjb250cm9sO1xyXG4gIH1cclxuXHJcbiAgdW5yZWdpc3RlcihuYW1lOiBzdHJpbmcpIHtcclxuICAgIGRlbGV0ZSB0aGlzLmNvbnRyb2xzW25hbWVdO1xyXG4gIH1cclxuXHJcbiAgdW5yZWdpc3RlckFsbCgpIHtcclxuICAgIHRoaXMuY29udHJvbHMgPSB7IH07XHJcbiAgfVxyXG5cclxuICBnZXRDb250cm9sKG5hbWU6IHN0cmluZykgOiBDb250cm9sIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2xzW25hbWVdO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udHJvbHMoKSA6IENvbnRyb2xbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmNvbnRyb2xzKTtcclxuICB9XHJcblxyXG4gIHByb3h5KCk6IGFueSB7XHJcblxyXG4gICAgY29uc3QgcGFyZW50TmFtZTogc3RyaW5nID0gXCJwYXJlbnRcIjtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0gbmV3IFByb3h5T3B0aW9ucygpO1xyXG5cclxuICAgIG9wdGlvbnMuaXNDdXN0b20gPSAodGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkgPT4ge1xyXG4gICAgICByZXR1cm4gcm9vdCB8fCAocHJvcGVydHkgPT09IHBhcmVudE5hbWUpO1xyXG4gICAgfTtcclxuXHJcbiAgICBvcHRpb25zLmdldEN1c3RvbSA9ICh0YXJnZXQsIHByb3BlcnR5LCByb290KSA9PiB7XHJcbiAgICAgIGlmIChwcm9wZXJ0eSA9PT0gcGFyZW50TmFtZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudD8ucHJveHkoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5yZXNvbHZlKHByb3BlcnR5LnRvU3RyaW5nKCkpO1xyXG4gICAgfTtcclxuXHJcbiAgICBvcHRpb25zLmNhbkRlbGV0ZSA9ICgpID0+IGZhbHNlO1xyXG5cclxuICAgIG9wdGlvbnMuY2FuU2V0ID0gKCkgPT4gZmFsc2U7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJveHlTZXJ2aWNlLmdldFByb3h5KHRoaXMuY29udHJvbHMsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNvbHZlKG5hbWU6IHN0cmluZyk6IENvbnRyb2wgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5jb250cm9sc1tuYW1lXTtcclxuXHJcbiAgICBpZiAocmVzdWx0KVxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG5cclxuICAgIHJldHVybiB0aGlzLnBhcmVudD8ucmVzb2x2ZShuYW1lKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import sanitizeHtml from 'sanitize-html';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class SanitizeService {
|
|
6
|
+
sanitizer;
|
|
7
|
+
constructor(sanitizer) {
|
|
8
|
+
this.sanitizer = sanitizer;
|
|
9
|
+
this.sanitizeOption = {
|
|
10
|
+
allowedTags: sanitizeHtml.defaults.allowedTags.concat(['img']),
|
|
11
|
+
allowedAttributes: {
|
|
12
|
+
...sanitizeHtml.defaults.allowedAttributes,
|
|
13
|
+
'*': ['style']
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
sanitizeHtml(html) {
|
|
18
|
+
return sanitizeHtml(html, this.sanitizeOption);
|
|
19
|
+
}
|
|
20
|
+
;
|
|
21
|
+
sanitizeSafeHtml(html) {
|
|
22
|
+
return this.sanitizer.bypassSecurityTrustHtml(this.sanitizeHtml(html));
|
|
23
|
+
}
|
|
24
|
+
;
|
|
25
|
+
sanitizeSafeUrl(url) {
|
|
26
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
|
|
27
|
+
}
|
|
28
|
+
sanitizeOption;
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SanitizeService, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SanitizeService, providedIn: 'root' });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SanitizeService, decorators: [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{
|
|
35
|
+
providedIn: 'root'
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Nhbml0aXplLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7OztBQUt6QyxNQUFNLE9BQU8sZUFBZTtJQUVOO0lBQXBCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFekMsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixXQUFXLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsaUJBQWlCLEVBQUU7Z0JBQ2pCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7Z0JBQzFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNmO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQSxDQUFDO0lBRUYsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFBQSxDQUFDO0lBRUYsZUFBZSxDQUFDLEdBQVc7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxjQUFjLENBQXlCO3dHQXpCcEMsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgc2FuaXRpemVIdG1sIGZyb20gJ3Nhbml0aXplLWh0bWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FuaXRpemVTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcilcclxuICB7XHJcbiAgICB0aGlzLnNhbml0aXplT3B0aW9uID0ge1xyXG4gICAgICBhbGxvd2VkVGFnczogc2FuaXRpemVIdG1sLmRlZmF1bHRzLmFsbG93ZWRUYWdzLmNvbmNhdChbJ2ltZyddKSxcclxuICAgICAgYWxsb3dlZEF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAuLi5zYW5pdGl6ZUh0bWwuZGVmYXVsdHMuYWxsb3dlZEF0dHJpYnV0ZXMsXHJcbiAgICAgICAgJyonOiBbJ3N0eWxlJ11cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNhbml0aXplSHRtbChodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNhbml0aXplSHRtbChodG1sLCB0aGlzLnNhbml0aXplT3B0aW9uKTtcclxuICB9O1xyXG5cclxuICBzYW5pdGl6ZVNhZmVIdG1sKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLnNhbml0aXplSHRtbChodG1sKSk7XHJcbiAgfTtcclxuXHJcbiAgc2FuaXRpemVTYWZlVXJsKHVybDogc3RyaW5nKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2FuaXRpemVPcHRpb24hOiBzYW5pdGl6ZUh0bWwuSU9wdGlvbnM7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { ProxyOptions } from '../services/proxy.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/proxy.service";
|
|
5
|
+
export class ScopeService {
|
|
6
|
+
proxyService;
|
|
7
|
+
parent;
|
|
8
|
+
constructor(proxyService, parent) {
|
|
9
|
+
this.proxyService = proxyService;
|
|
10
|
+
this.parent = parent;
|
|
11
|
+
}
|
|
12
|
+
scope = null;
|
|
13
|
+
set(scope) {
|
|
14
|
+
this.scope = scope;
|
|
15
|
+
}
|
|
16
|
+
get() {
|
|
17
|
+
return this.scope;
|
|
18
|
+
}
|
|
19
|
+
proxy() {
|
|
20
|
+
const parentName = "parent";
|
|
21
|
+
const options = new ProxyOptions();
|
|
22
|
+
options.isCustom = (target, property, root) => {
|
|
23
|
+
return root && (property === parentName);
|
|
24
|
+
};
|
|
25
|
+
options.getCustom = (target, property, root) => {
|
|
26
|
+
return this.parent?.proxy();
|
|
27
|
+
};
|
|
28
|
+
options.canDelete = (target, property, root) => {
|
|
29
|
+
return !(root && property === parentName);
|
|
30
|
+
};
|
|
31
|
+
options.canSet = (target, property, root) => {
|
|
32
|
+
return !(root && property === parentName);
|
|
33
|
+
};
|
|
34
|
+
return this.proxyService.getProxy(this.scope ?? {}, options);
|
|
35
|
+
}
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService, deps: [{ token: i1.ProxyService }, { token: ScopeService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService });
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: () => [{ type: i1.ProxyService }, { type: ScopeService, decorators: [{
|
|
42
|
+
type: Optional
|
|
43
|
+
}, {
|
|
44
|
+
type: SkipSelf
|
|
45
|
+
}] }] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Njb3BlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUd2RSxNQUFNLE9BQU8sWUFBWTtJQUdiO0lBQ3dCO0lBRmxDLFlBQ1UsWUFBMEIsRUFDRixNQUEyQjtRQURuRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNGLFdBQU0sR0FBTixNQUFNLENBQXFCO0lBQzdELENBQUM7SUFFTyxLQUFLLEdBQStCLElBQUksQ0FBQztJQUVqRCxHQUFHLENBQUMsS0FBMEI7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELEtBQUs7UUFFSCxNQUFNLFVBQVUsR0FBVyxRQUFRLENBQUM7UUFFcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM1QyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUM7UUFFRixPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDN0MsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7UUFFRixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUMxQyxPQUFPLENBQUMsQ0FBQyxJQUFJLElBQUksUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQzt3R0F4Q1UsWUFBWTs0R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkFLTixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb3h5U2VydmljZSwgUHJveHlPcHRpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvcHJveHkuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTY29wZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcHJveHlTZXJ2aWNlOiBQcm94eVNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHBhcmVudDogU2NvcGVTZXJ2aWNlIHwgbnVsbCkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY29wZTogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBzZXQoc2NvcGU6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcclxuICB9XHJcblxyXG4gIGdldCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2NvcGU7IFxyXG4gIH1cclxuXHJcbiAgcHJveHkoKTogYW55IHtcclxuXHJcbiAgICBjb25zdCBwYXJlbnROYW1lOiBzdHJpbmcgPSBcInBhcmVudFwiO1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSBuZXcgUHJveHlPcHRpb25zKCk7XHJcblxyXG4gICAgb3B0aW9ucy5pc0N1c3RvbSA9ICh0YXJnZXQsIHByb3BlcnR5LCByb290KSA9PiB7XHJcbiAgICAgIHJldHVybiByb290ICYmIChwcm9wZXJ0eSA9PT0gcGFyZW50TmFtZSk7XHJcbiAgICB9O1xyXG5cclxuICAgIG9wdGlvbnMuZ2V0Q3VzdG9tID0gKHRhcmdldCwgcHJvcGVydHksIHJvb3QpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFyZW50Py5wcm94eSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBvcHRpb25zLmNhbkRlbGV0ZSA9ICh0YXJnZXQsIHByb3BlcnR5LCByb290KSA9PiB7XHJcbiAgICAgIHJldHVybiAhKHJvb3QgJiYgcHJvcGVydHkgPT09IHBhcmVudE5hbWUpO1xyXG4gICAgfTtcclxuXHJcbiAgICBvcHRpb25zLmNhblNldCA9ICh0YXJnZXQsIHByb3BlcnR5LCByb290KSA9PiB7XHJcbiAgICAgIHJldHVybiAhKHJvb3QgJiYgcHJvcGVydHkgPT09IHBhcmVudE5hbWUpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wcm94eVNlcnZpY2UuZ2V0UHJveHkodGhpcy5zY29wZSA/PyB7fSwgb3B0aW9ucyk7XHJcbiAgfSAgXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-sirio-lib";
|
|
4
|
+
export class ToastService {
|
|
5
|
+
sirioToast;
|
|
6
|
+
constructor(sirioToast) {
|
|
7
|
+
this.sirioToast = sirioToast;
|
|
8
|
+
}
|
|
9
|
+
notifyInfo(message, delay = 2000) {
|
|
10
|
+
this.notify(message, "info", delay);
|
|
11
|
+
}
|
|
12
|
+
notifySuccess(message, delay = 2000) {
|
|
13
|
+
this.notify(message, "success", delay);
|
|
14
|
+
}
|
|
15
|
+
notifyWarning(message, delay = 2000) {
|
|
16
|
+
this.notify(message, "warning", delay);
|
|
17
|
+
}
|
|
18
|
+
notifyError(message, delay = 2000) {
|
|
19
|
+
this.notify(message, "danger", delay);
|
|
20
|
+
}
|
|
21
|
+
notify(message, type, delay = 2000) {
|
|
22
|
+
this.sirioToast.openToast({
|
|
23
|
+
delay: delay,
|
|
24
|
+
text: message,
|
|
25
|
+
type: type
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [{ token: i1.SirioToastService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root'
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: () => [{ type: i1.SirioToastService }] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxZQUFZO0lBR2I7SUFEVixZQUNVLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQ25DLENBQUM7SUFFTCxVQUFVLENBQUMsT0FBZSxFQUFFLFFBQWdCLElBQUk7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZSxFQUFFLFFBQWdCLElBQUk7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZSxFQUFFLFFBQWdCLElBQUk7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZSxFQUFFLFFBQWdCLElBQUk7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxNQUFNLENBQUMsT0FBZSxFQUFFLElBQWdCLEVBQUUsUUFBZ0IsSUFBSTtRQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztZQUN4QixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxPQUFPO1lBQ2IsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTVCVSxZQUFZOzRHQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2lyaW9Ub2FzdFNlcnZpY2UsIFRvYXN0VHlwZXMgfSBmcm9tIFwibmd4LXNpcmlvLWxpYlwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNpcmlvVG9hc3Q6IFNpcmlvVG9hc3RTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbm90aWZ5SW5mbyhtZXNzYWdlOiBzdHJpbmcsIGRlbGF5OiBudW1iZXIgPSAyMDAwKSB7XHJcbiAgICB0aGlzLm5vdGlmeShtZXNzYWdlLCBcImluZm9cIiwgZGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5U3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIGRlbGF5OiBudW1iZXIgPSAyMDAwKSB7XHJcbiAgICB0aGlzLm5vdGlmeShtZXNzYWdlLCBcInN1Y2Nlc3NcIiwgZGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5V2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIGRlbGF5OiBudW1iZXIgPSAyMDAwKSB7XHJcbiAgICB0aGlzLm5vdGlmeShtZXNzYWdlLCBcIndhcm5pbmdcIiwgZGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5RXJyb3IobWVzc2FnZTogc3RyaW5nLCBkZWxheTogbnVtYmVyID0gMjAwMCkge1xyXG4gICAgdGhpcy5ub3RpZnkobWVzc2FnZSwgXCJkYW5nZXJcIiwgZGVsYXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3RpZnkobWVzc2FnZTogc3RyaW5nLCB0eXBlOiBUb2FzdFR5cGVzLCBkZWxheTogbnVtYmVyID0gMjAwMCkge1xyXG4gICAgdGhpcy5zaXJpb1RvYXN0Lm9wZW5Ub2FzdCh7XHJcbiAgICAgIGRlbGF5OiBkZWxheSxcclxuICAgICAgdGV4dDogbWVzc2FnZSxcclxuICAgICAgdHlwZTogdHlwZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { isObservable, of } from 'rxjs';
|
|
3
|
+
import { shareReplay } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class WeakService {
|
|
6
|
+
constructor() { }
|
|
7
|
+
cache = new WeakMap();
|
|
8
|
+
exists(source, key) {
|
|
9
|
+
if (this.cache.has(source)) {
|
|
10
|
+
const cachedObject = this.cache.get(source);
|
|
11
|
+
return (key in cachedObject);
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
call(source, key, func, reusable = null, store = null) {
|
|
16
|
+
if (!this.cache.has(source)) {
|
|
17
|
+
this.cache.set(source, {});
|
|
18
|
+
}
|
|
19
|
+
const cachedObject = this.cache.get(source);
|
|
20
|
+
if (key in cachedObject
|
|
21
|
+
&& (reusable == null
|
|
22
|
+
|| reusable(cachedObject[key]))) {
|
|
23
|
+
return cachedObject[key];
|
|
24
|
+
}
|
|
25
|
+
let result = func();
|
|
26
|
+
if (store != null) {
|
|
27
|
+
result = store(result);
|
|
28
|
+
}
|
|
29
|
+
const observable = isObservable(result);
|
|
30
|
+
if (observable) {
|
|
31
|
+
result = result.pipe(shareReplay(1));
|
|
32
|
+
const subscription = result
|
|
33
|
+
.subscribe({
|
|
34
|
+
next: (result) => {
|
|
35
|
+
subscription.unsubscribe();
|
|
36
|
+
cachedObject[key] = of(result);
|
|
37
|
+
},
|
|
38
|
+
error: (error) => console.error(error),
|
|
39
|
+
complete: () => console.log('Observable complete')
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
cachedObject[key] = result;
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
invalidate(source, key) {
|
|
46
|
+
if (this.cache.has(source)) {
|
|
47
|
+
const cachedObject = this.cache.get(source);
|
|
48
|
+
delete cachedObject[key];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, providedIn: 'root' });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, decorators: [{
|
|
55
|
+
type: Injectable,
|
|
56
|
+
args: [{
|
|
57
|
+
providedIn: 'root'
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: () => [] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvc2VydmljZXMvd2Vhay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sV0FBVztJQUV0QixnQkFBZ0IsQ0FBQztJQUVULEtBQUssR0FBRyxJQUFJLE9BQU8sRUFBK0IsQ0FBQztJQUUzRCxNQUFNLENBQUMsTUFBYyxFQUFFLEdBQVc7UUFDaEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBRSxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksQ0FBSSxNQUFjLEVBQUUsR0FBVyxFQUFFLElBQWEsRUFDOUMsV0FBMkMsSUFBSSxFQUMvQyxRQUFvQyxJQUFJO1FBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7UUFFN0MsSUFBSSxHQUFHLElBQUksWUFBWTtlQUNsQixDQUFDLFFBQVEsSUFBSSxJQUFJO21CQUNmLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUNuQyxDQUFDO1lBQ0MsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksTUFBTSxHQUFRLElBQUksRUFBRSxDQUFDO1FBRXpCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFckMsTUFBTSxZQUFZLEdBQUcsTUFBTTtpQkFDeEIsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFO29CQUNwQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzNCLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsS0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDNUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUM7YUFDbkQsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7UUFFM0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjLEVBQUUsR0FBVztRQUNwQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7WUFDN0MsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7d0dBL0RVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vha1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwcml2YXRlIGNhY2hlID0gbmV3IFdlYWtNYXA8b2JqZWN0LCBSZWNvcmQ8c3RyaW5nLCBhbnk+PigpO1xyXG5cclxuICBleGlzdHMoc291cmNlOiBvYmplY3QsIGtleTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5jYWNoZS5oYXMoc291cmNlKSkge1xyXG4gICAgICBjb25zdCBjYWNoZWRPYmplY3QgPSB0aGlzLmNhY2hlLmdldChzb3VyY2UpITtcclxuICAgICAgcmV0dXJuIChrZXkgaW4gY2FjaGVkT2JqZWN0KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNhbGw8VD4oc291cmNlOiBvYmplY3QsIGtleTogc3RyaW5nLCBmdW5jOiAoKSA9PiBUXHJcbiAgICAsIHJldXNhYmxlOiAoKHZhbHVlOiBUKSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsXHJcbiAgICAsIHN0b3JlOiAoKHZhbHVlOiBUKSA9PiBhbnkpIHwgbnVsbCA9IG51bGxcclxuICAgICk6IFQge1xyXG4gICAgaWYgKCF0aGlzLmNhY2hlLmhhcyhzb3VyY2UpKSB7XHJcbiAgICAgIHRoaXMuY2FjaGUuc2V0KHNvdXJjZSwge30pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNhY2hlZE9iamVjdCA9IHRoaXMuY2FjaGUuZ2V0KHNvdXJjZSkhO1xyXG5cclxuICAgIGlmIChrZXkgaW4gY2FjaGVkT2JqZWN0XHJcbiAgICAgICYmIChyZXVzYWJsZSA9PSBudWxsXHJcbiAgICAgICAgfHwgcmV1c2FibGUoY2FjaGVkT2JqZWN0W2tleV0pKSlcclxuICAgIHtcclxuICAgICAgcmV0dXJuIGNhY2hlZE9iamVjdFtrZXldO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXN1bHQ6IGFueSA9IGZ1bmMoKTtcclxuXHJcbiAgICBpZiAoc3RvcmUgIT0gbnVsbCkge1xyXG4gICAgICByZXN1bHQgPSBzdG9yZShyZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9ic2VydmFibGUgPSBpc09ic2VydmFibGUocmVzdWx0KTtcclxuXHJcbiAgICBpZiAob2JzZXJ2YWJsZSkge1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQucGlwZShzaGFyZVJlcGxheSgxKSk7XHJcblxyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSByZXN1bHRcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgY2FjaGVkT2JqZWN0W2tleV0gPSBvZihyZXN1bHQpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyb3IgOiBhbnkpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpLFxyXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdPYnNlcnZhYmxlIGNvbXBsZXRlJylcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjYWNoZWRPYmplY3Rba2V5XSA9IHJlc3VsdDtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgaW52YWxpZGF0ZShzb3VyY2U6IG9iamVjdCwga2V5OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNhY2hlLmhhcyhzb3VyY2UpKSB7XHJcbiAgICAgIGNvbnN0IGNhY2hlZE9iamVjdCA9IHRoaXMuY2FjaGUuZ2V0KHNvdXJjZSkhO1xyXG4gICAgICBkZWxldGUgY2FjaGVkT2JqZWN0W2tleV07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export function extractFiles(data) {
|
|
2
|
+
let files = [];
|
|
3
|
+
const rewrite = (obj) => {
|
|
4
|
+
if (Array.isArray(obj)) {
|
|
5
|
+
return obj.map(item => rewrite(item));
|
|
6
|
+
}
|
|
7
|
+
else if (obj instanceof File) {
|
|
8
|
+
files.push(obj);
|
|
9
|
+
return {
|
|
10
|
+
name: obj.name,
|
|
11
|
+
size: obj.size,
|
|
12
|
+
type: obj.type,
|
|
13
|
+
lastModified: obj.lastModified,
|
|
14
|
+
_fileIndex: files.length - 1
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
else if (typeof obj === 'object' && obj !== null) {
|
|
18
|
+
const rewritten = {};
|
|
19
|
+
for (const key in obj) {
|
|
20
|
+
if (obj.hasOwnProperty(key)) {
|
|
21
|
+
rewritten[key] = rewrite(obj[key]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return rewritten;
|
|
25
|
+
}
|
|
26
|
+
return obj;
|
|
27
|
+
};
|
|
28
|
+
return { data: rewrite(data), files: files };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdEZpbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZXh0cmFjdEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBUztJQUdwQyxJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7SUFFdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFRLEVBQU8sRUFBRTtRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQ0ksSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPO2dCQUNMLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtnQkFDZCxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7Z0JBQ2QsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO2dCQUNkLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtnQkFDOUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQzthQUM3QixDQUFDO1FBQ0osQ0FBQzthQUNJLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqRCxNQUFNLFNBQVMsR0FBUSxFQUFFLENBQUM7WUFDMUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzVCLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBRUYsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZXh0cmFjdEZpbGVzKGRhdGE6IGFueSlcclxuICAgIDogeyBkYXRhOiBhbnk7IGZpbGVzOiBGaWxlW10gfVxyXG57XHJcbiAgbGV0IGZpbGVzOiBGaWxlW10gPSBbXTtcclxuXHJcbiAgY29uc3QgcmV3cml0ZSA9IChvYmo6IGFueSk6IGFueSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgIHJldHVybiBvYmoubWFwKGl0ZW0gPT4gcmV3cml0ZShpdGVtKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBGaWxlKSB7XHJcbiAgICAgIGZpbGVzLnB1c2gob2JqKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBvYmoubmFtZSxcclxuICAgICAgICBzaXplOiBvYmouc2l6ZSxcclxuICAgICAgICB0eXBlOiBvYmoudHlwZSxcclxuICAgICAgICBsYXN0TW9kaWZpZWQ6IG9iai5sYXN0TW9kaWZpZWQsXHJcbiAgICAgICAgX2ZpbGVJbmRleDogZmlsZXMubGVuZ3RoIC0gMVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IHJld3JpdHRlbjogYW55ID0ge307XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgcmV3cml0dGVuW2tleV0gPSByZXdyaXRlKG9ialtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHJld3JpdHRlbjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH07XHJcblxyXG4gIHJldHVybiB7IGRhdGE6IHJld3JpdGUoZGF0YSksIGZpbGVzOiBmaWxlcyB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ObjectURLRendererComponent {
|
|
4
|
+
params;
|
|
5
|
+
agInit(params) {
|
|
6
|
+
this.params = params;
|
|
7
|
+
}
|
|
8
|
+
onClick(event) {
|
|
9
|
+
const fileURL = URL.createObjectURL(this.params.data);
|
|
10
|
+
window.open(fileURL, '_blank');
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
URL.revokeObjectURL(fileURL);
|
|
13
|
+
}, 1000);
|
|
14
|
+
}
|
|
15
|
+
refresh() {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectURLRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ObjectURLRendererComponent, selector: "ng-component", ngImport: i0, template: `<a aria-label="View" title="View" href="javascript:void(0)" (click)="onClick($event)"><span class="fas fa-paperclip"></span></a>`, isInline: true });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectURLRendererComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
template: `<a aria-label="View" title="View" href="javascript:void(0)" (click)="onClick($event)"><span class="fas fa-paperclip"></span></a>`,
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
export class DeleteRowCellRenderer {
|
|
28
|
+
params;
|
|
29
|
+
agInit(params) {
|
|
30
|
+
this.params = params;
|
|
31
|
+
}
|
|
32
|
+
onClick(event) {
|
|
33
|
+
if ('remove' in this.params.data && typeof this.params.data.remove === 'function') {
|
|
34
|
+
this.params.data.remove();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
refresh() {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeleteRowCellRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeleteRowCellRenderer, selector: "ng-component", ngImport: i0, template: `<button aria-label="Remove" title="Remove" class="sirio-btn sirio-btn-icon" (click)="onClick($event)"><span class="fas fa-trash"></span></button>`, isInline: true });
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeleteRowCellRenderer, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{
|
|
46
|
+
template: `<button aria-label="Remove" title="Remove" class="sirio-btn sirio-btn-icon" (click)="onClick($event)"><span class="fas fa-trash"></span></button>`,
|
|
47
|
+
}]
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZENlbGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZ3JpZENlbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUF1QjtJQUU3QixNQUFNLENBQUMsTUFBMkI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt3R0FqQlUsMEJBQTBCOzRGQUExQiwwQkFBMEIsb0RBRjNCLGtJQUFrSTs7NEZBRWpJLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0lBQWtJO2lCQUM3STs7QUF3QkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxNQUFNLENBQU07SUFFWixNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFFbEIsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3dHQWhCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixvREFGdEIsbUpBQW1KOzs0RkFFbEoscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtSkFBbUo7aUJBQzlKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYDxhIGFyaWEtbGFiZWw9XCJWaWV3XCIgdGl0bGU9XCJWaWV3XCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj48c3BhbiBjbGFzcz1cImZhcyBmYS1wYXBlcmNsaXBcIj48L3NwYW4+PC9hPmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RVUkxSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcbiAgcGFyYW1zITogSUNlbGxSZW5kZXJlclBhcmFtcztcclxuXHJcbiAgYWdJbml0KHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5wYXJhbXMuZGF0YSk7XHJcbiAgICB3aW5kb3cub3BlbihmaWxlVVJMLCAnX2JsYW5rJyk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChmaWxlVVJMKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgPGJ1dHRvbiBhcmlhLWxhYmVsPVwiUmVtb3ZlXCIgdGl0bGU9XCJSZW1vdmVcIiBjbGFzcz1cInNpcmlvLWJ0biBzaXJpby1idG4taWNvblwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj48c3BhbiBjbGFzcz1cImZhcyBmYS10cmFzaFwiPjwvc3Bhbj48L2J1dHRvbj5gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsZXRlUm93Q2VsbFJlbmRlcmVyIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXM6IGFueTtcclxuXHJcbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcblxyXG4gICAgaWYgKCdyZW1vdmUnIGluIHRoaXMucGFyYW1zLmRhdGEgJiYgdHlwZW9mIHRoaXMucGFyYW1zLmRhdGEucmVtb3ZlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmRhdGEucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export function groupByRow(forms) {
|
|
2
|
+
return forms.map(form => ({
|
|
3
|
+
id: form.id,
|
|
4
|
+
type: form.type,
|
|
5
|
+
name: form.name,
|
|
6
|
+
title: form.title,
|
|
7
|
+
path: form.path,
|
|
8
|
+
rows: groupRowsRecursively(form.components)
|
|
9
|
+
}));
|
|
10
|
+
}
|
|
11
|
+
function groupRowsRecursively(components) {
|
|
12
|
+
const groupedMap = new Map();
|
|
13
|
+
function processComponent(component) {
|
|
14
|
+
const row = component.layout.row;
|
|
15
|
+
if (!groupedMap.has(row)) {
|
|
16
|
+
groupedMap.set(row, []);
|
|
17
|
+
}
|
|
18
|
+
const { components, ...props } = component;
|
|
19
|
+
groupedMap.get(row).push({
|
|
20
|
+
...props,
|
|
21
|
+
rows: components ? groupRowsRecursively(components) : undefined
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
components.forEach(component => processComponent(component));
|
|
25
|
+
return Array.from(groupedMap.entries()).map(([row, components]) => ({
|
|
26
|
+
row,
|
|
27
|
+
components
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBCeVJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3V0aWxzL2dyb3VwQnlSb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNBLE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYTtJQUN0QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixJQUFJLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUM1QyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFVBQXVCO0lBQ25ELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO0lBRXJELFNBQVMsZ0JBQWdCLENBQUMsU0FBb0I7UUFDNUMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFFakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUUzQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBRSxDQUFDLElBQUksQ0FBQztZQUN4QixHQUFHLEtBQUs7WUFDUixJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNoRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFN0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLEdBQUc7UUFDSCxVQUFVO0tBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIEZvcm0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHBhdGg6IHN0cmluZyB8IG51bGw7XHJcbiAgY29tcG9uZW50czogQ29tcG9uZW50W107XHJcbn1cclxuXHJcbmludGVyZmFjZSBDb21wb25lbnQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbGF5b3V0OiB7IGNvbHVtbnM6IG51bWJlciB8IG51bGwsIHJvdzogc3RyaW5nIH07XHJcbiAgY29tcG9uZW50cz86IENvbXBvbmVudFtdO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFJvd0NvbXBvbmVudCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBsYXlvdXQ6IHsgY29sdW1uczogbnVtYmVyIHwgbnVsbCwgcm93OiBzdHJpbmcgfTtcclxuICByb3dzPzogUm93R3JvdXBbXTtcclxuICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmludGVyZmFjZSBSb3dHcm91cCB7XHJcbiAgcm93OiBzdHJpbmc7XHJcbiAgY29tcG9uZW50czogUm93Q29tcG9uZW50W107XHJcbn1cclxuXHJcbmludGVyZmFjZSBHcm91cGVkRm9ybSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJvd3M6IFJvd0dyb3VwW107XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBCeVJvdyhmb3JtczogRm9ybVtdKTogR3JvdXBlZEZvcm1bXSB7XHJcbiAgcmV0dXJuIGZvcm1zLm1hcChmb3JtID0+ICh7XHJcbiAgICBpZDogZm9ybS5pZCxcclxuICAgIHR5cGU6IGZvcm0udHlwZSxcclxuICAgIG5hbWU6IGZvcm0ubmFtZSxcclxuICAgIHRpdGxlOiBmb3JtLnRpdGxlLFxyXG4gICAgcGF0aDogZm9ybS5wYXRoLFxyXG4gICAgcm93czogZ3JvdXBSb3dzUmVjdXJzaXZlbHkoZm9ybS5jb21wb25lbnRzKVxyXG4gIH0pKTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ3JvdXBSb3dzUmVjdXJzaXZlbHkoY29tcG9uZW50czogQ29tcG9uZW50W10pOiBSb3dHcm91cFtdIHtcclxuICBjb25zdCBncm91cGVkTWFwID0gbmV3IE1hcDxzdHJpbmcsIFJvd0NvbXBvbmVudFtdPigpO1xyXG5cclxuICBmdW5jdGlvbiBwcm9jZXNzQ29tcG9uZW50KGNvbXBvbmVudDogQ29tcG9uZW50KSB7XHJcbiAgICBjb25zdCByb3cgPSBjb21wb25lbnQubGF5b3V0LnJvdztcclxuXHJcbiAgICBpZiAoIWdyb3VwZWRNYXAuaGFzKHJvdykpIHtcclxuICAgICAgZ3JvdXBlZE1hcC5zZXQocm93LCBbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBjb21wb25lbnRzLCAuLi5wcm9wcyB9ID0gY29tcG9uZW50O1xyXG5cclxuICAgIGdyb3VwZWRNYXAuZ2V0KHJvdykhLnB1c2goe1xyXG4gICAgICAuLi5wcm9wcyxcclxuICAgICAgcm93czogY29tcG9uZW50cyA/IGdyb3VwUm93c1JlY3Vyc2l2ZWx5KGNvbXBvbmVudHMpIDogdW5kZWZpbmVkXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4gcHJvY2Vzc0NvbXBvbmVudChjb21wb25lbnQpKTtcclxuXHJcbiAgcmV0dXJuIEFycmF5LmZyb20oZ3JvdXBlZE1hcC5lbnRyaWVzKCkpLm1hcCgoW3JvdywgY29tcG9uZW50c10pID0+ICh7XHJcbiAgICByb3csXHJcbiAgICBjb21wb25lbnRzXHJcbiAgfSkpO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { FormGroup, FormArray, FormControl } from '@angular/forms';
|
|
2
|
+
export function patchForm(control, value, options) {
|
|
3
|
+
const defaultOptions = {
|
|
4
|
+
emitEvent: true,
|
|
5
|
+
validateType: false,
|
|
6
|
+
fallbackValue: null
|
|
7
|
+
};
|
|
8
|
+
const warn = (message) => {
|
|
9
|
+
if (options?.emitWarn)
|
|
10
|
+
console.warn(`[patchForm] ${message}`);
|
|
11
|
+
};
|
|
12
|
+
const error = (message) => {
|
|
13
|
+
if (options?.emitError)
|
|
14
|
+
throw new Error(message);
|
|
15
|
+
};
|
|
16
|
+
const { emitEvent, validateType, fallbackValue } = { ...defaultOptions, ...options };
|
|
17
|
+
if (control instanceof FormControl) {
|
|
18
|
+
if (validateType && typeof value !== typeof control.value) {
|
|
19
|
+
warn(`Value type mismatch: expected ${typeof control.value}, but received ${typeof value}`);
|
|
20
|
+
if (fallbackValue !== null) {
|
|
21
|
+
control.patchValue(fallbackValue, { emitEvent });
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
error('Invalid value type and no fallback value provided.');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
control.patchValue(value, { emitEvent });
|
|
28
|
+
}
|
|
29
|
+
else if (control instanceof FormGroup) {
|
|
30
|
+
Object.keys(value || {}).forEach((key) => {
|
|
31
|
+
if (control.controls[key]) {
|
|
32
|
+
patchForm(control.controls[key], value[key], options);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
warn(`Key "${key}" not found in the FormGroup.`);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else if (control instanceof FormArray) {
|
|
40
|
+
(value || []).forEach((item, index) => {
|
|
41
|
+
if (control.at(index)) {
|
|
42
|
+
patchForm(control.at(index), item, options);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
warn(`Index ${index} not found in the FormArray. Adding dynamically...`);
|
|
46
|
+
const newControl = control.addNewItem();
|
|
47
|
+
patchForm(newControl, item, options);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
error('Unsupported AbstractControl type.');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hGb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvcGF0Y2hGb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixNQUFNLFVBQVUsU0FBUyxDQUN2QixPQUF3QixFQUN4QixLQUFVLEVBQ1YsT0FBdUg7SUFHdkgsTUFBTSxjQUFjLEdBQUc7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFDZixZQUFZLEVBQUUsS0FBSztRQUNuQixhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtRQUMvQixJQUFJLE9BQU8sRUFBRSxRQUFRO1lBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUMsQ0FBQztJQUVGLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxPQUFPLEVBQUUsU0FBUztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQztJQUVGLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxHQUM1QyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFFdEMsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxZQUFZLElBQUksT0FBTyxLQUFLLEtBQUssT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGlDQUFpQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLGtCQUFrQixPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFNUYsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDakQsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztZQUM1RCxPQUFPO1FBQ1QsQ0FBQztRQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO1NBQ0ksSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFLENBQUM7UUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRywrQkFBK0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7U0FDSSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUUsQ0FBQztRQUN0QyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDakQsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFNBQVMsS0FBSyxvREFBb0QsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNLFVBQVUsR0FBSSxPQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2pELFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7U0FDSSxDQUFDO1FBQ0osS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaEZvcm0oXHJcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxyXG4gIHZhbHVlOiBhbnksXHJcbiAgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbjsgZW1pdEVycm9yPzogYm9vbGVhbjsgZW1pdFdhcm4/OiBib29sZWFuOyB2YWxpZGF0ZVR5cGU/OiBib29sZWFuOyBmYWxsYmFja1ZhbHVlPzogYW55IH1cclxuKTogdm9pZCB7XHJcblxyXG4gIGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xyXG4gICAgZW1pdEV2ZW50OiB0cnVlLFxyXG4gICAgdmFsaWRhdGVUeXBlOiBmYWxzZSxcclxuICAgIGZhbGxiYWNrVmFsdWU6IG51bGxcclxuICB9O1xyXG5cclxuICBjb25zdCB3YXJuID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG4gICAgaWYgKG9wdGlvbnM/LmVtaXRXYXJuKVxyXG4gICAgICBjb25zb2xlLndhcm4oYFtwYXRjaEZvcm1dICR7bWVzc2FnZX1gKVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IGVycm9yID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG4gICAgaWYgKG9wdGlvbnM/LmVtaXRFcnJvcilcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IHsgZW1pdEV2ZW50LCB2YWxpZGF0ZVR5cGUsIGZhbGxiYWNrVmFsdWUgfVxyXG4gICAgPSB7IC4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XHJcblxyXG4gIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcclxuICAgIGlmICh2YWxpZGF0ZVR5cGUgJiYgdHlwZW9mIHZhbHVlICE9PSB0eXBlb2YgY29udHJvbC52YWx1ZSkge1xyXG4gICAgICB3YXJuKGBWYWx1ZSB0eXBlIG1pc21hdGNoOiBleHBlY3RlZCAke3R5cGVvZiBjb250cm9sLnZhbHVlfSwgYnV0IHJlY2VpdmVkICR7dHlwZW9mIHZhbHVlfWApO1xyXG5cclxuICAgICAgaWYgKGZhbGxiYWNrVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoZmFsbGJhY2tWYWx1ZSwgeyBlbWl0RXZlbnQgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVycm9yKCdJbnZhbGlkIHZhbHVlIHR5cGUgYW5kIG5vIGZhbGxiYWNrIHZhbHVlIHByb3ZpZGVkLicpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb250cm9sLnBhdGNoVmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50IH0pO1xyXG4gIH1cclxuICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICBPYmplY3Qua2V5cyh2YWx1ZSB8fCB7fSkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzW2tleV0pIHtcclxuICAgICAgICBwYXRjaEZvcm0oY29udHJvbC5jb250cm9sc1trZXldLCB2YWx1ZVtrZXldLCBvcHRpb25zKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB3YXJuKGBLZXkgXCIke2tleX1cIiBub3QgZm91bmQgaW4gdGhlIEZvcm1Hcm91cC5gKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICh2YWx1ZSB8fCBbXSkuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sLmF0KGluZGV4KSkge1xyXG4gICAgICAgIHBhdGNoRm9ybShjb250cm9sLmF0KGluZGV4KSwgaXRlbSwgb3B0aW9ucyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd2FybihgSW5kZXggJHtpbmRleH0gbm90IGZvdW5kIGluIHRoZSBGb3JtQXJyYXkuIEFkZGluZyBkeW5hbWljYWxseS4uLmApO1xyXG4gICAgICAgIGNvbnN0IG5ld0NvbnRyb2wgPSAoY29udHJvbCBhcyBhbnkpLmFkZE5ld0l0ZW0oKTtcclxuICAgICAgICBwYXRjaEZvcm0obmV3Q29udHJvbCwgaXRlbSwgb3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBlbHNlIHtcclxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBBYnN0cmFjdENvbnRyb2wgdHlwZS4nKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { extractFiles } from "./extractFiles";
|
|
2
|
+
export function toFormData(data) {
|
|
3
|
+
const formData = new FormData();
|
|
4
|
+
var result = extractFiles(data);
|
|
5
|
+
formData.append("data", JSON.stringify(result.data));
|
|
6
|
+
result.files.forEach((file) => {
|
|
7
|
+
formData.append("files", file);
|
|
8
|
+
});
|
|
9
|
+
return formData;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9Gb3JtRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3V0aWxzL3RvRm9ybURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBUztJQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRWhDLElBQUksTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXJELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDNUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0cmFjdEZpbGVzIH0gZnJvbSBcIi4vZXh0cmFjdEZpbGVzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdG9Gb3JtRGF0YShkYXRhOiBhbnkpOiBGb3JtRGF0YVxyXG57XHJcbiAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuXHJcbiAgdmFyIHJlc3VsdCA9IGV4dHJhY3RGaWxlcyhkYXRhKTtcclxuXHJcbiAgZm9ybURhdGEuYXBwZW5kKFwiZGF0YVwiLCBKU09OLnN0cmluZ2lmeShyZXN1bHQuZGF0YSkpO1xyXG4gIFxyXG4gIHJlc3VsdC5maWxlcy5mb3JFYWNoKChmaWxlKSA9PiB7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlc1wiLCBmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZvcm1EYXRhO1xyXG59XHJcbiJdfQ==
|