@solidev/data 0.0.1-rc.3 → 0.0.2
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/esm2020/lib/auth/auth-interceptor.service.mjs +3 -3
- package/esm2020/lib/data/data-backend.mjs +3 -3
- package/esm2020/lib/data/fields/base.mjs +2 -1
- package/esm2020/lib/dispedit/choice.pipe.mjs +6 -6
- package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +3 -3
- package/esm2020/lib/dispedit/factor.pipe.mjs +6 -6
- package/esm2020/lib/dispedit/factorc.pipe.mjs +6 -6
- package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +3 -3
- package/esm2020/lib/dispedit/flags/flags.component.mjs +3 -3
- package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +3 -3
- package/esm2020/lib/dispedit/richedit/richedit.component.mjs +5 -5
- package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +3 -3
- package/esm2020/lib/messages/message-zone/message-zone.component.mjs +3 -3
- package/esm2020/lib/messages/message.service.mjs +3 -3
- package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +5 -5
- package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +6 -5
- package/esm2020/lib/modellist/model-list-fields/model-list-fields.mjs +58 -10
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +3 -3
- package/esm2020/lib/modellist/model-list.service.mjs +4 -4
- package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2020/lib/updates/update/update.component.mjs +3 -3
- package/esm2020/lib/updates/update.service.mjs +3 -3
- package/esm2020/lib/uploader/ng-file-drop.directive.mjs +3 -3
- package/esm2020/lib/uploader/ng-file-select.directive.mjs +3 -3
- package/esm2020/lib/uploader/ngx-uploader.module.mjs +4 -4
- package/esm2020/lib/utils/tab-memory.service.mjs +3 -3
- package/fesm2015/solidev-data.mjs +189 -139
- package/fesm2015/solidev-data.mjs.map +1 -1
- package/fesm2020/solidev-data.mjs +189 -139
- package/fesm2020/solidev-data.mjs.map +1 -1
- package/lib/data/data-collection.d.ts +2 -2
- package/lib/data/data-model.d.ts +1 -1
- package/lib/data/data-query.d.ts +1 -1
- package/lib/data/fields/base.d.ts +5 -2
- package/lib/data/fields/boolean.d.ts +1 -1
- package/lib/data/fields/stringfields.d.ts +1 -1
- package/lib/dispedit/dispedit/dispedit.constants.d.ts +2 -2
- package/lib/dispedit/fkselect/fkselect.component.d.ts +1 -1
- package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +1 -0
- package/lib/modellist/model-list-fields/model-list-fields.d.ts +1 -0
- package/lib/modellist/model-list-filters/filters/filtertypes.d.ts +1 -1
- package/lib/modellist/model-list-sorter/model-list-sorter.d.ts +2 -2
- package/lib/modellist/model-list.service.d.ts +3 -2
- package/lib/routing/routing.d.ts +4 -4
- package/package.json +2 -2
|
@@ -73,9 +73,9 @@ export class AuthInterceptor {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
77
|
-
AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
76
|
+
AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AuthInterceptor, deps: [{ token: DATA_AUTH_SERVICE }, { token: DATA_API_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AuthInterceptor, providedIn: 'root' });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
79
79
|
type: Injectable,
|
|
80
80
|
args: [{
|
|
81
81
|
providedIn: 'root',
|
|
@@ -112,9 +112,9 @@ export class DataBackend {
|
|
|
112
112
|
return this._cachedGet(collection, url, { headers, params });
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
DataBackend.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
116
|
-
DataBackend.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
115
|
+
DataBackend.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataBackend, deps: [{ token: i1.HttpClient }, { token: i2.TransferState }, { token: PLATFORM_ID }, { token: DATA_API_URL }, { token: DATA_MAX_TRANSFERSTATE_TIME, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
+
DataBackend.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataBackend, providedIn: 'root' });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataBackend, decorators: [{
|
|
118
118
|
type: Injectable,
|
|
119
119
|
args: [{
|
|
120
120
|
providedIn: 'root',
|
|
@@ -25,6 +25,7 @@ export class BaseFieldManager {
|
|
|
25
25
|
this.required = false;
|
|
26
26
|
this.readonly = false;
|
|
27
27
|
this.computed = false;
|
|
28
|
+
this.priority = 0;
|
|
28
29
|
this.editorType = 'input.text';
|
|
29
30
|
this.displayType = 'text';
|
|
30
31
|
Object.assign(this, params);
|
|
@@ -140,4 +141,4 @@ export function genericDataField(meta, type, manager) {
|
|
|
140
141
|
Reflect.defineMetadata(PROPERTY_METADATA_KEY, allMetadata, target);
|
|
141
142
|
};
|
|
142
143
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2ZpZWxkcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQXFCL0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0IsWUFBWSxNQUEwQjtRQVIvQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixlQUFVLEdBQTBCLFlBQVksQ0FBQztRQUNqRCxnQkFBVyxHQUEyQixNQUFNLENBQUM7UUFHbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM5QjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7U0FDaEI7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGlDQUFpQztJ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Tix3RkFBd0Y7WUFDeEYsTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsRUFBRSxHQUFHLEVBQStCLENBQUM7UUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBVyxDQUFDLEVBQUU7WUFDckMsRUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFJLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDM0IsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1NBQ3BDO1FBQ0QsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDZixFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNiLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi9kYXRhLW1vZGVsJztcbmltcG9ydCB7XG4gIERJU1BFRElUX0RJU1BMQVlfVFlQRVMsXG4gIERJU1BFRElUX0VESVRPUl9UWVBFUyxcbn0gZnJvbSAnLi4vLi4vZGlzcGVkaXQvZGlzcGVkaXQvZGlzcGVkaXQuY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IFBST1BFUlRZX01FVEFEQVRBX0tFWSA9IFN5bWJvbCgnbmd4RGF0YU1ldGFkYXRhJyk7XG5cbi8qKlxuICogRGVzY3JpcHRpdmUgaW5mbyBmb3IgYWxsIGZpZWxkcy5cbiAqIEFsbCBhcmUgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkTWV0YWRhdGE8RlQ+IHtcbiAgLyoqIEZpZWxkIG5hbWUgKGZvciBkaXNwbGF5LCBjb2x1bW4gdGl0bGUsIGV0Yy4uKSAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogRmllbGQgaGVscCB0ZXh0IChmb3IgaW5wdXQpICovXG4gIGhlbHA/OiBzdHJpbmc7XG4gIC8qKiBGaWVsZCBkZXNjcmlwdGlvbiAoZm9yIGRldGFpbHMgb24gaG92ZXIgZXRjLi4pICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogRmllbGQgcmVxdWlyZWQgOiBubyB1bmRlZmluZWQgYWxsb3dlZCBvbiBzYXZlID8gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAvKiogRmllbGQgY2Fubm90IGJlIHVwZGF0ZWQgKi9cbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICAvKiogRGVmYXVsdCB2YWx1ZSAqL1xuICBkZWZhdWx0VmFsdWU/OiBGVCB8ICgoYXJnczogYW55KSA9PiBGVCkgfCBudWxsO1xufVxuXG4vKipcbiAqIEJhc2UgZmllbGQgbWFuYWdlciwgc3RvcmVzIG1ldGFkYXRhIGFuZCBwcm92aWRlcyBjb21tb24gZmllbGQgdXRpbGl0aWVzXG4gKlxuICogLSBuYW1lIDogZmllbGQgbmFtZSwgc2hvdWxkIGJlIHRoZSBzYW1lIGluIGRhdGEgc3RydWN0dXJlIGFuZCBtb2RlbFxuICogLSBoZWxwIDogZmllbGQgaGVscCB0ZXh0LCBibGFuayBieSBkZWZhdWx0XG4gKiAtIGRlc2NyaXB0aW9uIDogZmllbGQgbmFtZSBmb3IgaHVtYW5zXG4gKiAtIHJlYWRvbmx5IDogZmllbGQgaXMgcmVhZG9ubHkgKGNhbm5vdCBiZSBjaGFuZ2VkIC8gcHVzaGVkIHRvIGFwaSlcbiAqIC0gZGVmYXVsdCA6IGRlZmF1bHQgdmFsdWUgZm9yIGZpZWxkXG4gKlxuICogLSBlZGl0b3JfdHlwZSA6IGVkaXRvciB0eXBlXG4gKiAtIGRpc3BsYXlfdHlwZSA6IGRpc3BsYXkgdHlwZVxuICpcbiAqIC0gZnJvbUpzb24oZGF0YSkgOiBkZXNlcmlhbGl6ZXJcbiAqIC0gdG9Kc29uKGRhdGEpIDogc2VyaWFsaXNlclxuICogLSB0b1N0cmluZyhkYXRhLGZvcm1hdCkgOiB0byBzdHJpbmcsIGZvciBkaXNwbGF5XG4gKlxuICogLSBmb3JtQ29udHJvbCA6IHJldHVybnMgZmllbGQgZm9ybSBjb250cm9sXG4gKiAtIHZhbGlkYXRvcnMgOiByZXR1cm5zIGZpZWxkIHZhbGlkYXRvclxuICovXG5leHBvcnQgY2xhc3MgQmFzZUZpZWxkTWFuYWdlcjxGVD4gaW1wbGVtZW50cyBJRmllbGRNZXRhZGF0YTxGVD4ge1xuICAvKiogTmFtZSBpcyBtYW5kYXRvcnkgaW4gYSBmaWVsZCBtYW5hZ2VyLiBJdCBpcyBnaXZlbiBieVxuICAgKiBmaWVsZCBkZWNvcmF0b3IgaWYgbm90IGRpcmVjdGx5IGdpdmVuIGluIGZpZWxkIG1hbmFnZXIuICovXG4gIHB1YmxpYyBuYW1lITogc3RyaW5nO1xuICBwdWJsaWMgZGVzY3JpcHRpb24hOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWxwITogc3RyaW5nO1xuICBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XG4gIHB1YmxpYyBjb21wdXRlZCA9IGZhbHNlO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlPzogRlQgfCAoKGFyZ3M6IGFueSkgPT4gRlQpO1xuXG4gIHB1YmxpYyBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQudGV4dCc7XG4gIHB1YmxpYyBkaXNwbGF5VHlwZTogRElTUEVESVRfRElTUExBWV9UWVBFUyA9ICd0ZXh0JztcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IElGaWVsZE1ldGFkYXRhPEZUPikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcGFyYW1zKTtcbiAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgdGhpcy5uYW1lID0gJ25vbmFtZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5kZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHRoaXMubmFtZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmhlbHApIHtcbiAgICAgIHRoaXMuaGVscCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmdldERlZmF1bHRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqIFJldHVybiBmaWVsZCB2YWxpZGF0b3JzICovXG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWxpZGF0b3JzKCk7XG4gIH1cblxuICAvKiogUmV0dXJucyBjdXJyZW50IGZpZWxkIG5hbWUgKi9cbiAgcHVibGljIGdldCBmbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWUuc3BsaXQoJ19fJylbMV0gfHwgdGhpcy5uYW1lO1xuICB9XG5cbiAgLyoqIENyZWF0ZSBhIG5ldyB0eXBlZCBmb3JtQ29udHJvbCBmb3IgdGhpcyBmaWVsZC4gKi9cbiAgcHVibGljIGZvcm1Db250cm9sKGluc3RhbmNlOiBEYXRhTW9kZWwpOiBGb3JtQ29udHJvbDxGVCB8IG51bGw+IHtcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sPEZUPihcbiAgICAgICgoaW5zdGFuY2UgYXMgYW55KVt0aGlzLmZuYW1lXSBhcyBGVCkgfHwgKHRoaXMuZ2V0RGVmYXVsdFZhbHVlKCkgYXMgRlQpLFxuICAgICAgdGhpcy52YWxpZGF0b3JzXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBKU09OIGRlc2VyaWFsaXplciBiYXNlIG1ldGhvZC4gKi9cbiAgcHVibGljIGZyb21Kc29uKGRhdGE6IGFueSk6IEZUIHtcbiAgICByZXR1cm4gZGF0YSBhcyBGVDtcbiAgfVxuXG4gIC8qKiBKU09OIHNlcmlhbGl6ZXIgYmFzZSBtZXRob2QuICovXG4gIHB1YmxpYyB0b0pzb24oZGF0YTogRlQpOiBhbnkge1xuICAgIHJldHVybiBkYXRhIGFzIGFueTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5IHZhbHVlIChhcyBzdHJpbmcpXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwYXJhbSBmb3JtYXQgKG5vdCB1c2VkKVxuICAgKi9cbiAgcHVibGljIHRvU3RyaW5nKGRhdGE6IEZULCBmb3JtYXQ6IHN0cmluZyA9ICdkZWZhdWx0Jyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2RhdGF9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmF1bHQgdmFsdWUgZm9yIG1vZGVsLCB1c2luZyBhcmdzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICovXG4gIHB1YmxpYyBkZWZhdWx0KGFyZ3M6IGFueSA9IHt9KTogRlQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRWYWx1ZShhcmdzKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdmFsaWRhdG9yc1xuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2OiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgIHYucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBkZWZhdWx0IHZhbHVlIGZvciBtb2RlbCwgdXNpbmcgYXJncyBpZiBuZWVkZWQuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0VmFsdWUoYXJnczogYW55ID0ge30pOiBGVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRWYWx1ZShhcmdzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmllbGQgJHt0aGlzLm5hbWV9IDogbm8gZGVmYXVsdCB2YWx1ZSBmb3IgcmVxdWlyZWQgZmllbGRgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBGaWVsZCBkYXRhIHN0b3JlZCBvbiByZWZsZWN0ZWQgbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkU3RvcmVkTWV0YWRhdGE8RlQ+IGV4dGVuZHMgSUZpZWxkTWV0YWRhdGE8RlQ+IHtcbiAgc2VsZjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbWFuYWdlcjogQmFzZUZpZWxkTWFuYWdlcjxGVD47XG59XG5cbi8qKiBVdGlsIHRvIGdldCBvd24gb2JqZWN0IGtleXMgKi9cbmNvbnN0IG93bktleXMgPSAodGFyZ2V0OiBhbnkpOiBhbnkgPT5cbiAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KS5jb25jYXQoXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0YXJnZXQpIGFzIGFueVxuICApO1xuXG4vKiogTWFuYWdlciBjb25zdHJ1Y3RvclxuICogIEZUIGlzIGpzIGZpZWxkIHR5cGU7XG4gKiAgVCBpcyBtYW5hZ2VyIHR5cGVcbiAqICovXG50eXBlIEJhc2VGaWVsZE1hbmFnZXJDb25zdHJ1Y3RvcjxGVCwgVCBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8RlQ+PiA9IG5ldyAoXG4gIHBhcmFtczogYW55XG4pID0+IFQ7XG5cbi8qKlxuICogRmllbGQgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIEZpZWxkRGVjb3JhdG9yRm4gPSAoXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sXG4pID0+IHZvaWQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZpZWxkIGRlY29yYXRvciB0aGF0IGNhbiBvbmx5IGJlIGFwcGxpZWQgd2l0aGluXG4gKiBhbiBvYmplY3QgY29udGFpbmluZyBhIHN0YXRpYyBfX25hbWUgcHJvcGVydHkuXG4gKlxuICpcbiAqIEBwYXJhbSBtZXRhIGZpZWxkIG1ldGFkYXRhXG4gKiBAcGFyYW0gdHlwZSBmaWVsZCB0eXBlIGNvZGVcbiAqIEBwYXJhbSBtYW5hZ2VyIGZpZWxkIG1hbmFnZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyaWNEYXRhRmllbGQ8XG4gIEZULFxuICBNRCBleHRlbmRzIElGaWVsZE1ldGFkYXRhPEZUPixcbiAgTUcgZXh0ZW5kcyBCYXNlRmllbGRNYW5hZ2VyPEZUPlxuPihcbiAgbWV0YTogTUQsXG4gIHR5cGU6IHN0cmluZyxcbiAgbWFuYWdlcjogQmFzZUZpZWxkTWFuYWdlckNvbnN0cnVjdG9yPEZULCBNRz5cbik6IEZpZWxkRGVjb3JhdG9yRm4ge1xuICByZXR1cm4gKHRhcmdldDogRGF0YU1vZGVsLCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgYWxsTWV0YWRhdGE6IE1hcDxcbiAgICAgIHN0cmluZyxcbiAgICAgIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT5cbiAgICA+ID0gUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QRVJUWV9NRVRBREFUQV9LRVksIHRhcmdldCkgfHxcbiAgICBuZXcgTWFwPHN0cmluZywgSUZpZWxkU3RvcmVkTWV0YWRhdGE8YW55Pj4oKTtcbiAgICBsZXQgY25hbWU6IHN0cmluZyA9IGAkeyh0YXJnZXQuY29uc3RydWN0b3IgYXMgYW55KS5fX25hbWV9YDtcbiAgICBpZiAoKGNuYW1lID09PSBgdW5kZWZpbmVkYCB8fCBjbmFtZSA9PT0gJycpICYmIHR5cGUgIT09ICdwcmltYXJ5RmllbGQnKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYERlY29yYXRvciAke3R5cGV9IGFsbG93ZWQgb25seSBvbiBjbGFzc2VzIHdpdGggc3RhdGljIF9fbmFtZSBmaWVsZCA6IFwiJHtjbmFtZX1cIiBmb3VuZCBmb3IgLSAke3RhcmdldH1gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBwayA9IGAke2NuYW1lfV9fJHtTdHJpbmcocHJvcGVydHlLZXkpfWA7XG4gICAgbGV0IGNtID0gYWxsTWV0YWRhdGEuZ2V0KHBrKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY20pIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIG9jY3VyIGFzIG1ldGFkYXRhIGlzIG9iamVjdCBib3VuZCBhbmQgcHJvcGVydHkgbmFtZXMgbXVzdCBiZSB1bmlxdWVcbiAgICAgIHRocm93IEVycm9yKGBGaWVsZCAke3BrfSBhbHJlYWR5IGRlZmluZWQgPSAke2NtfWApO1xuICAgIH1cbiAgICBjbSA9IHt9IGFzIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT47XG4gICAgZm9yIChjb25zdCBrZXkgb2Ygb3duS2V5cyhtZXRhIGFzIGFueSkpIHtcbiAgICAgIChjbSBhcyBhbnkpW2tleV0gPSAobWV0YSBhcyBhbnkpW2tleV07XG4gICAgfVxuICAgIGlmIChtZXRhLm5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY20ubmFtZSA9IGAke1N0cmluZyhwcm9wZXJ0eUtleSl9YDtcbiAgICB9XG4gICAgY20udHlwZSA9IHR5cGU7XG4gICAgY20uc2VsZiA9IHBrO1xuICAgIGNtLm1hbmFnZXIgPSBuZXcgbWFuYWdlcihjbSk7XG4gICAgYWxsTWV0YWRhdGEuc2V0KHBrLCBjbSk7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QRVJUWV9NRVRBREFUQV9LRVksIGFsbE1ldGFkYXRhLCB0YXJnZXQpO1xuICB9O1xufVxuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2ZpZWxkcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQXVCL0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFlM0IsWUFBWSxNQUEwQjtRQVQvQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBR2IsZUFBVSxHQUEwQixZQUFZLENBQUM7UUFDakQsZ0JBQVcsR0FBMkIsTUFBTSxDQUFDO1FBR2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDOUI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFD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O1FBQ3hCLElBQUksRUFBRSxFQUFFO1lBQ04sd0ZBQXdGO1lBQ3hGLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNwRDtRQUNELEVBQUUsR0FBRyxFQUErQixDQUFDO1FBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLElBQVcsQ0FBQyxFQUFFO1lBQ3JDLEVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBSSxJQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztTQUNwQztRQUNELEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2YsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDYixFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vZGF0YS1tb2RlbCc7XG5pbXBvcnQge1xuICBESVNQRURJVF9ESVNQTEFZX1RZUEVTLFxuICBESVNQRURJVF9FRElUT1JfVFlQRVMsXG59IGZyb20gJy4uLy4uL2Rpc3BlZGl0L2Rpc3BlZGl0L2Rpc3BlZGl0LmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9NRVRBREFUQV9LRVkgPSBTeW1ib2woJ25neERhdGFNZXRhZGF0YScpO1xuXG4vKipcbiAqIERlc2NyaXB0aXZlIGluZm8gZm9yIGFsbCBmaWVsZHMuXG4gKiBBbGwgYXJlIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZE1ldGFkYXRhPEZUPiB7XG4gIC8qKiBGaWVsZCBuYW1lIChmb3IgZGlzcGxheSwgY29sdW1uIHRpdGxlLCBldGMuLikgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIEZpZWxkIGhlbHAgdGV4dCAoZm9yIGlucHV0KSAqL1xuICBoZWxwPzogc3RyaW5nO1xuICAvKiogRmllbGQgZGVzY3JpcHRpb24gKGZvciBkZXRhaWxzIG9uIGhvdmVyIGV0Yy4uKSAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIEZpZWxkIHJlcXVpcmVkIDogbm8gdW5kZWZpbmVkIGFsbG93ZWQgb24gc2F2ZSA/ICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIEZpZWxkIGNhbm5vdCBiZSB1cGRhdGVkICovXG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgLyoqIERlZmF1bHQgdmFsdWUgKi9cbiAgZGVmYXVsdFZhbHVlPzogRlQgfCAoKGFyZ3M6IGFueSkgPT4gRlQpIHwgbnVsbDtcbiAgLyoqIFByaW9yaXR5IDogZmlyc3QgZmllbGRzID0gaGlnaGVyIHByaW9yaXR5ICovXG4gIHByaW9yaXR5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEJhc2UgZmllbGQgbWFuYWdlciwgc3RvcmVzIG1ldGFkYXRhIGFuZCBwcm92aWRlcyBjb21tb24gZmllbGQgdXRpbGl0aWVzXG4gKlxuICogLSBuYW1lIDogZmllbGQgbmFtZSwgc2hvdWxkIGJlIHRoZSBzYW1lIGluIGRhdGEgc3RydWN0dXJlIGFuZCBtb2RlbFxuICogLSBoZWxwIDogZmllbGQgaGVscCB0ZXh0LCBibGFuayBieSBkZWZhdWx0XG4gKiAtIGRlc2NyaXB0aW9uIDogZmllbGQgbmFtZSBmb3IgaHVtYW5zXG4gKiAtIHJlYWRvbmx5IDogZmllbGQgaXMgcmVhZG9ubHkgKGNhbm5vdCBiZSBjaGFuZ2VkIC8gcHVzaGVkIHRvIGFwaSlcbiAqIC0gZGVmYXVsdCA6IGRlZmF1bHQgdmFsdWUgZm9yIGZpZWxkXG4gKlxuICogLSBlZGl0b3JfdHlwZSA6IGVkaXRvciB0eXBlXG4gKiAtIGRpc3BsYXlfdHlwZSA6IGRpc3BsYXkgdHlwZVxuICpcbiAqIC0gZnJvbUpzb24oZGF0YSkgOiBkZXNlcmlhbGl6ZXJcbiAqIC0gdG9Kc29uKGRhdGEpIDogc2VyaWFsaXNlclxuICogLSB0b1N0cmluZyhkYXRhLGZvcm1hdCkgOiB0byBzdHJpbmcsIGZvciBkaXNwbGF5XG4gKlxuICogLSBmb3JtQ29udHJvbCA6IHJldHVybnMgZmllbGQgZm9ybSBjb250cm9sXG4gKiAtIHZhbGlkYXRvcnMgOiByZXR1cm5zIGZpZWxkIHZhbGlkYXRvclxuICovXG5leHBvcnQgY2xhc3MgQmFzZUZpZWxkTWFuYWdlcjxGVD4gaW1wbGVtZW50cyBJRmllbGRNZXRhZGF0YTxGVD4ge1xuICAvKiogTmFtZSBpcyBtYW5kYXRvcnkgaW4gYSBmaWVsZCBtYW5hZ2VyLiBJdCBpcyBnaXZlbiBieVxuICAgKiBmaWVsZCBkZWNvcmF0b3IgaWYgbm90IGRpcmVjdGx5IGdpdmVuIGluIGZpZWxkIG1hbmFnZXIuICovXG4gIHB1YmxpYyBuYW1lITogc3RyaW5nO1xuICBwdWJsaWMgZGVzY3JpcHRpb24hOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWxwITogc3RyaW5nO1xuICBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XG4gIHB1YmxpYyBjb21wdXRlZCA9IGZhbHNlO1xuICBwdWJsaWMgcHJpb3JpdHkgPSAwO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlPzogRlQgfCAoKGFyZ3M6IGFueSkgPT4gRlQpO1xuXG4gIHB1YmxpYyBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQudGV4dCc7XG4gIHB1YmxpYyBkaXNwbGF5VHlwZTogRElTUEVESVRfRElTUExBWV9UWVBFUyA9ICd0ZXh0JztcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IElGaWVsZE1ldGFkYXRhPEZUPikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcGFyYW1zKTtcbiAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgdGhpcy5uYW1lID0gJ25vbmFtZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5kZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHRoaXMubmFtZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmhlbHApIHtcbiAgICAgIHRoaXMuaGVscCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmdldERlZmF1bHRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqIFJldHVybiBmaWVsZCB2YWxpZGF0b3JzICovXG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWxpZGF0b3JzKCk7XG4gIH1cblxuICAvKiogUmV0dXJucyBjdXJyZW50IGZpZWxkIG5hbWUgKi9cbiAgcHVibGljIGdldCBmbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWUuc3BsaXQoJ19fJylbMV0gfHwgdGhpcy5uYW1lO1xuICB9XG5cbiAgLyoqIENyZWF0ZSBhIG5ldyB0eXBlZCBmb3JtQ29udHJvbCBmb3IgdGhpcyBmaWVsZC4gKi9cbiAgcHVibGljIGZvcm1Db250cm9sKGluc3RhbmNlOiBEYXRhTW9kZWwpOiBGb3JtQ29udHJvbDxGVCB8IG51bGw+IHtcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sPEZUPihcbiAgICAgICgoaW5zdGFuY2UgYXMgYW55KVt0aGlzLmZuYW1lXSBhcyBGVCkgfHwgKHRoaXMuZ2V0RGVmYXVsdFZhbHVlKCkgYXMgRlQpLFxuICAgICAgdGhpcy52YWxpZGF0b3JzXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBKU09OIGRlc2VyaWFsaXplciBiYXNlIG1ldGhvZC4gKi9cbiAgcHVibGljIGZyb21Kc29uKGRhdGE6IGFueSk6IEZUIHtcbiAgICByZXR1cm4gZGF0YSBhcyBGVDtcbiAgfVxuXG4gIC8qKiBKU09OIHNlcmlhbGl6ZXIgYmFzZSBtZXRob2QuICovXG4gIHB1YmxpYyB0b0pzb24oZGF0YTogRlQpOiBhbnkge1xuICAgIHJldHVybiBkYXRhIGFzIGFueTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5IHZhbHVlIChhcyBzdHJpbmcpXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwYXJhbSBmb3JtYXQgKG5vdCB1c2VkKVxuICAgKi9cbiAgcHVibGljIHRvU3RyaW5nKGRhdGE6IEZULCBmb3JtYXQ6IHN0cmluZyA9ICdkZWZhdWx0Jyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2RhdGF9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmF1bHQgdmFsdWUgZm9yIG1vZGVsLCB1c2luZyBhcmdzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICovXG4gIHB1YmxpYyBkZWZhdWx0KGFyZ3M6IGFueSA9IHt9KTogRlQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRWYWx1ZShhcmdzKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdmFsaWRhdG9yc1xuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2OiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgIHYucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBkZWZhdWx0IHZhbHVlIGZvciBtb2RlbCwgdXNpbmcgYXJncyBpZiBuZWVkZWQuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0VmFsdWUoYXJnczogYW55ID0ge30pOiBGVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRWYWx1ZShhcmdzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmllbGQgJHt0aGlzLm5hbWV9IDogbm8gZGVmYXVsdCB2YWx1ZSBmb3IgcmVxdWlyZWQgZmllbGRgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBGaWVsZCBkYXRhIHN0b3JlZCBvbiByZWZsZWN0ZWQgbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkU3RvcmVkTWV0YWRhdGE8RlQ+IGV4dGVuZHMgSUZpZWxkTWV0YWRhdGE8RlQ+IHtcbiAgc2VsZjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbWFuYWdlcjogQmFzZUZpZWxkTWFuYWdlcjxGVD47XG59XG5cbi8qKiBVdGlsIHRvIGdldCBvd24gb2JqZWN0IGtleXMgKi9cbmNvbnN0IG93bktleXMgPSAodGFyZ2V0OiBhbnkpOiBhbnkgPT5cbiAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KS5jb25jYXQoXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0YXJnZXQpIGFzIGFueVxuICApO1xuXG4vKiogTWFuYWdlciBjb25zdHJ1Y3RvclxuICogIEZUIGlzIGpzIGZpZWxkIHR5cGU7XG4gKiAgVCBpcyBtYW5hZ2VyIHR5cGVcbiAqICovXG50eXBlIEJhc2VGaWVsZE1hbmFnZXJDb25zdHJ1Y3RvcjxGVCwgVCBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8RlQ+PiA9IG5ldyAoXG4gIHBhcmFtczogYW55XG4pID0+IFQ7XG5cbi8qKlxuICogRmllbGQgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIEZpZWxkRGVjb3JhdG9yRm4gPSAoXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sXG4pID0+IHZvaWQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZpZWxkIGRlY29yYXRvciB0aGF0IGNhbiBvbmx5IGJlIGFwcGxpZWQgd2l0aGluXG4gKiBhbiBvYmplY3QgY29udGFpbmluZyBhIHN0YXRpYyBfX25hbWUgcHJvcGVydHkuXG4gKlxuICpcbiAqIEBwYXJhbSBtZXRhIGZpZWxkIG1ldGFkYXRhXG4gKiBAcGFyYW0gdHlwZSBmaWVsZCB0eXBlIGNvZGVcbiAqIEBwYXJhbSBtYW5hZ2VyIGZpZWxkIG1hbmFnZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyaWNEYXRhRmllbGQ8XG4gIEZULFxuICBNRCBleHRlbmRzIElGaWVsZE1ldGFkYXRhPEZUPixcbiAgTUcgZXh0ZW5kcyBCYXNlRmllbGRNYW5hZ2VyPEZUPlxuPihcbiAgbWV0YTogTUQsXG4gIHR5cGU6IHN0cmluZyxcbiAgbWFuYWdlcjogQmFzZUZpZWxkTWFuYWdlckNvbnN0cnVjdG9yPEZULCBNRz5cbik6IEZpZWxkRGVjb3JhdG9yRm4ge1xuICByZXR1cm4gKHRhcmdldDogRGF0YU1vZGVsLCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgYWxsTWV0YWRhdGE6IE1hcDxcbiAgICAgIHN0cmluZyxcbiAgICAgIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT5cbiAgICA+ID0gUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QRVJUWV9NRVRBREFUQV9LRVksIHRhcmdldCkgfHxcbiAgICBuZXcgTWFwPHN0cmluZywgSUZpZWxkU3RvcmVkTWV0YWRhdGE8YW55Pj4oKTtcbiAgICBsZXQgY25hbWU6IHN0cmluZyA9IGAkeyh0YXJnZXQuY29uc3RydWN0b3IgYXMgYW55KS5fX25hbWV9YDtcbiAgICBpZiAoKGNuYW1lID09PSBgdW5kZWZpbmVkYCB8fCBjbmFtZSA9PT0gJycpICYmIHR5cGUgIT09ICdwcmltYXJ5RmllbGQnKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYERlY29yYXRvciAke3R5cGV9IGFsbG93ZWQgb25seSBvbiBjbGFzc2VzIHdpdGggc3RhdGljIF9fbmFtZSBmaWVsZCA6IFwiJHtjbmFtZX1cIiBmb3VuZCBmb3IgLSAke3RhcmdldH1gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBwayA9IGAke2NuYW1lfV9fJHtTdHJpbmcocHJvcGVydHlLZXkpfWA7XG4gICAgbGV0IGNtID0gYWxsTWV0YWRhdGEuZ2V0KHBrKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY20pIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIG9jY3VyIGFzIG1ldGFkYXRhIGlzIG9iamVjdCBib3VuZCBhbmQgcHJvcGVydHkgbmFtZXMgbXVzdCBiZSB1bmlxdWVcbiAgICAgIHRocm93IEVycm9yKGBGaWVsZCAke3BrfSBhbHJlYWR5IGRlZmluZWQgPSAke2NtfWApO1xuICAgIH1cbiAgICBjbSA9IHt9IGFzIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT47XG4gICAgZm9yIChjb25zdCBrZXkgb2Ygb3duS2V5cyhtZXRhIGFzIGFueSkpIHtcbiAgICAgIChjbSBhcyBhbnkpW2tleV0gPSAobWV0YSBhcyBhbnkpW2tleV07XG4gICAgfVxuICAgIGlmIChtZXRhLm5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY20ubmFtZSA9IGAke1N0cmluZyhwcm9wZXJ0eUtleSl9YDtcbiAgICB9XG4gICAgY20udHlwZSA9IHR5cGU7XG4gICAgY20uc2VsZiA9IHBrO1xuICAgIGNtLm1hbmFnZXIgPSBuZXcgbWFuYWdlcihjbSk7XG4gICAgYWxsTWV0YWRhdGEuc2V0KHBrLCBjbSk7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QRVJUWV9NRVRBREFUQV9LRVksIGFsbE1ldGFkYXRhLCB0YXJnZXQpO1xuICB9O1xufVxuIl19
|
|
@@ -27,9 +27,9 @@ export class ChoicePipe {
|
|
|
27
27
|
return `[${fvalue}] ??`;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
ChoicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
31
|
-
ChoicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
30
|
+
ChoicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
31
|
+
ChoicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: ChoicePipe, isStandalone: true, name: "choice" });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ChoicePipe, decorators: [{
|
|
33
33
|
type: Pipe,
|
|
34
34
|
args: [{
|
|
35
35
|
name: 'choice',
|
|
@@ -67,9 +67,9 @@ export class PChoicePipe {
|
|
|
67
67
|
return `[${fvalue}] ??`;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
PChoicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
71
|
-
PChoicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
70
|
+
PChoicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
71
|
+
PChoicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: PChoicePipe, isStandalone: true, name: "pchoice" });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PChoicePipe, decorators: [{
|
|
73
73
|
type: Pipe,
|
|
74
74
|
args: [{
|
|
75
75
|
name: 'pchoice',
|
|
@@ -418,9 +418,9 @@ export class DispeditComponent {
|
|
|
418
418
|
}
|
|
419
419
|
_setDisplayClasses() { }
|
|
420
420
|
}
|
|
421
|
-
DispeditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
422
|
-
DispeditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DispeditComponent, isStandalone: true, selector: "data-dispedit", inputs: { model: "model", field: "field", form: "form", edit: "edit", editable: "editable", mode: "mode", choices: "choices", inputClasses: "inputClasses", editor: "editor", viewer: "viewer", default: "default", placeholder: "placeholder", help: "help", hideLabel: "hideLabel", queryset: "queryset", collection: "collection", display: "display", filter: "filter" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #dispTpl>\n <ng-container [ngSwitch]=\"realDisplay\"><span class=\"editable disp-text\" *ngSwitchCase=\"'text'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-choice\" *ngSwitchCase=\"'choice'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-decimal\" *ngSwitchCase=\"'decimal'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-boolean\" *ngSwitchCase=\"'boolean'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-fkdetails\" *ngSwitchCase=\"'fkdetails'\" (click)=\"enableEditMode()\">\n <div class=\"fkitem\">{{txtValue}}</div></span><span class=\"editable disp-m2mdetails\" *ngSwitchCase=\"'m2mdetails'\" (click)=\"enableEditMode()\">\n <div class=\"m2mitem\" *ngFor=\"let v of txtValues\">{{v}}</div></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'datetime'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'short'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'date'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'shortDate'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span></ng-container>\n</ng-template>\n<ng-template #editTpl let-form=\"form\">\n <ng-container [ngSwitch]=\"realEditor\">\n <ng-container *ngSwitchCase=\"'input.text'\">\n <input type=\"text\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.email'\">\n <input type=\"email\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['email']\">Format d'email invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.password'\">\n <input type=\"password\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.datetime'\">\n <input type=\"datetime-local\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.date'\">\n <input type=\"date\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.number'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.decimal'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.checkbox'\">\n <input class=\"form-check-input\" type=\"checkbox\" [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" [ngClass]=\"inputClasses\" (keyup.control.enter)=\"update()\" [placeholder]=\"realPlaceholder\"></textarea>\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'fkselect'\">\n <data-fkselect [collection]=\"collection\" [filter]=\"filter\" (selected)=\"selectedRefItem($event)\" [placeholder]=\"placeholder\" (cancelled)=\"unsetEdit()\" (cleared)=\"selectedRefItem(null)\"></data-fkselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'m2mselect'\">\n <data-m2mselect [collection]=\"collection\" [filter]=\"filter\" (changed)=\"update()\" [formControl]=\"form.get(field)\" (detailsChanged)=\"onM2MValuesChanges($event)\" [model]=\"model\" [field]=\"field\" [placeholder]=\"placeholder\"></data-m2mselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <select [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\" [ngClass]=\"inputClasses\">\n <option *ngFor=\"let c of realChoices\" [ngValue]=\"c.value ? c.value : c\">{{c.desc ? c.desc : c}}</option>\n </select>\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Disp/edit toggler-->\n<ng-template #dispeditTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"fg\">\n <form [formGroup]=\"fg\" (submit)=\"update()\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: fg}\"></ng-container>\n </form>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- DispEdit noform-->\n<ng-template #dispeditFormTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"form\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: form}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Dd display-->\n<ng-container *ngIf=\"mode==='dd'\">\n <dt [class.required]=\"required\" *ngIf=\"!hideLabel\"><span class=\"editable\" (click)=\"toggleEdit()\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span></dt>\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n </dd>\n</ng-container>\n<!-- Inline display-->\n<ng-container *ngIf=\"mode==='inline'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n</ng-container>\n<!-- Form display-->\n<ng-container *ngIf=\"mode==='form'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditFormTpl\"></ng-container>\n</ng-container>", styles: [".editable{cursor:pointer}form.inline{display:inline-block}.required{font-weight:700}.required:after{content:\" (*)\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FkselectComponent, selector: "data-fkselect", inputs: ["model", "field", "edit", "value", "queryset", "collection", "update", "filter", "mode", "display", "search", "label", "placeholder", "inputClasses"], outputs: ["selected", "cancelled", "cleared"] }, { kind: "component", type: M2mselectComponent, selector: "data-m2mselect", inputs: ["model", "field", "edit", "values", "queryset", "collection", "filter", "mode", "display", "search", "label", "placeholder", "emptyLabel", "inputClasses"], outputs: ["added", "removed", "cancelled", "cleared", "detailsChanged", "changed"] }] });
|
|
423
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
421
|
+
DispeditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DispeditComponent, deps: [{ token: DATA_DISPLAY_CONFIG, optional: true }, { token: i1.DataMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
422
|
+
DispeditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: DispeditComponent, isStandalone: true, selector: "data-dispedit", inputs: { model: "model", field: "field", form: "form", edit: "edit", editable: "editable", mode: "mode", choices: "choices", inputClasses: "inputClasses", editor: "editor", viewer: "viewer", default: "default", placeholder: "placeholder", help: "help", hideLabel: "hideLabel", queryset: "queryset", collection: "collection", display: "display", filter: "filter" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #dispTpl>\n <ng-container [ngSwitch]=\"realDisplay\"><span class=\"editable disp-text\" *ngSwitchCase=\"'text'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-choice\" *ngSwitchCase=\"'choice'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-decimal\" *ngSwitchCase=\"'decimal'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-boolean\" *ngSwitchCase=\"'boolean'\" (click)=\"enableEditMode()\">{{txtValue}}</span><span class=\"editable disp-fkdetails\" *ngSwitchCase=\"'fkdetails'\" (click)=\"enableEditMode()\">\n <div class=\"fkitem\">{{txtValue}}</div></span><span class=\"editable disp-m2mdetails\" *ngSwitchCase=\"'m2mdetails'\" (click)=\"enableEditMode()\">\n <div class=\"m2mitem\" *ngFor=\"let v of txtValues\">{{v}}</div></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'datetime'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'short'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span><span class=\"editable disp-datetime\" *ngSwitchCase=\"'date'\" (click)=\"enableEditMode()\">\n <ng-container *ngIf=\"dispValue\">{{txtValue|date:'shortDate'}}</ng-container>\n <ng-container *ngIf=\"!dispValue\">{{txtValue}}</ng-container></span></ng-container>\n</ng-template>\n<ng-template #editTpl let-form=\"form\">\n <ng-container [ngSwitch]=\"realEditor\">\n <ng-container *ngSwitchCase=\"'input.text'\">\n <input type=\"text\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.email'\">\n <input type=\"email\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['email']\">Format d'email invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.password'\">\n <input type=\"password\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.datetime'\">\n <input type=\"datetime-local\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.date'\">\n <input type=\"date\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" (keyup.enter)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\">Doit \u00EAtre post\u00E9rieur \u00E0 {{$any(manager).min|date:'short'}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\">Doit \u00EAtre ant\u00E9rieur \u00E0 {{$any(manager).max|date:'short'}}...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.number'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.decimal'\">\n <input type=\"number\" [formControl]=\"form.get(field)\" [ngClass]=\"inputClasses\" (keyup.escape)=\"unsetEdit()\" [placeholder]=\"realPlaceholder\">\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\">Trop petit : minimum {{$any(manager).min}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\">Trop grand : maximum {{$any(manager).max}}...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'input.checkbox'\">\n <input class=\"form-check-input\" type=\"checkbox\" [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\">\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" [ngClass]=\"inputClasses\" (keyup.control.enter)=\"update()\" [placeholder]=\"realPlaceholder\"></textarea>\n <div class=\"form-text\" *ngIf=\"realHelp\">{{realHelp}}<span class=\"ms-1\" *ngIf=\"required\">(requis)</span></div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\">Trop court : {{$any(manager).minLength}} caract\u00E8res minimum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\">Trop long : {{$any(manager).maxLength}} caract\u00E8res maximum...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\">Format invalide...</div>\n <div class=\"invalid-feedback mt-0\" [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\">Ce champ est requis...</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'fkselect'\">\n <data-fkselect [collection]=\"collection\" [filter]=\"filter\" (selected)=\"selectedRefItem($event)\" [placeholder]=\"placeholder\" (cancelled)=\"unsetEdit()\" (cleared)=\"selectedRefItem(null)\"></data-fkselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'m2mselect'\">\n <data-m2mselect [collection]=\"collection\" [filter]=\"filter\" (changed)=\"update()\" [formControl]=\"form.get(field)\" (detailsChanged)=\"onM2MValuesChanges($event)\" [model]=\"model\" [field]=\"field\" [placeholder]=\"placeholder\"></data-m2mselect>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <select [formControl]=\"form.get(field)\" (keyup.escape)=\"unsetEdit()\" (change)=\"update()\" [ngClass]=\"inputClasses\">\n <option *ngFor=\"let c of realChoices\" [ngValue]=\"c.value ? c.value : c\">{{c.desc ? c.desc : c}}</option>\n </select>\n <div class=\"form-text\">{{realHelp}}</div>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Disp/edit toggler-->\n<ng-template #dispeditTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"fg\">\n <form [formGroup]=\"fg\" (submit)=\"update()\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: fg}\"></ng-container>\n </form>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- DispEdit noform-->\n<ng-template #dispeditFormTpl>\n <ng-container *ngIf=\"!edit\">\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"edit\">\n <ng-container *ngIf=\"form\">\n <ng-container *ngTemplateOutlet=\"editTpl; context: {form: form}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<!-- Dd display-->\n<ng-container *ngIf=\"mode==='dd'\">\n <dt [class.required]=\"required\" *ngIf=\"!hideLabel\"><span class=\"editable\" (click)=\"toggleEdit()\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span></dt>\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n </dd>\n</ng-container>\n<!-- Inline display-->\n<ng-container *ngIf=\"mode==='inline'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n</ng-container>\n<!-- Form display-->\n<ng-container *ngIf=\"mode==='form'\">\n <ng-container *ngIf=\"!hideLabel\"><span class=\"pointer float-end\" (click)=\"setDefault()\" *ngIf=\"realDefault!== undefined && edit\"><i class=\"bi bi-trash ms-2\"></i></span>\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"dispeditFormTpl\"></ng-container>\n</ng-container>", styles: [".editable{cursor:pointer}form.inline{display:inline-block}.required{font-weight:700}.required:after{content:\" (*)\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FkselectComponent, selector: "data-fkselect", inputs: ["model", "field", "edit", "value", "queryset", "collection", "update", "filter", "mode", "display", "search", "label", "placeholder", "inputClasses"], outputs: ["selected", "cancelled", "cleared"] }, { kind: "component", type: M2mselectComponent, selector: "data-m2mselect", inputs: ["model", "field", "edit", "values", "queryset", "collection", "filter", "mode", "display", "search", "label", "placeholder", "emptyLabel", "inputClasses"], outputs: ["added", "removed", "cancelled", "cleared", "detailsChanged", "changed"] }] });
|
|
423
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DispeditComponent, decorators: [{
|
|
424
424
|
type: Component,
|
|
425
425
|
args: [{ selector: 'data-dispedit', standalone: true, imports: [
|
|
426
426
|
CommonModule,
|
|
@@ -33,9 +33,9 @@ export class FactorPipe {
|
|
|
33
33
|
return formatNumber(num / factor, locale, digitsInfo);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
FactorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
37
|
-
FactorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
36
|
+
FactorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FactorPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
37
|
+
FactorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FactorPipe, isStandalone: true, name: "factor" });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FactorPipe, decorators: [{
|
|
39
39
|
type: Pipe,
|
|
40
40
|
args: [{
|
|
41
41
|
name: 'factor',
|
|
@@ -66,9 +66,9 @@ export class PFactorPipe {
|
|
|
66
66
|
return formatNumber(num / factor, locale, digitsInfo);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
PFactorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
70
|
-
PFactorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
69
|
+
PFactorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PFactorPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
70
|
+
PFactorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: PFactorPipe, isStandalone: true, name: "pfactor" });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PFactorPipe, decorators: [{
|
|
72
72
|
type: Pipe,
|
|
73
73
|
args: [{
|
|
74
74
|
name: 'pfactor',
|
|
@@ -32,9 +32,9 @@ export class FactorcPipe {
|
|
|
32
32
|
return formatCurrency(num / factor, locale, currency, currencyCode, digitsInfo);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
FactorcPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
36
|
-
FactorcPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
35
|
+
FactorcPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FactorcPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
36
|
+
FactorcPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FactorcPipe, isStandalone: true, name: "factorc" });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FactorcPipe, decorators: [{
|
|
38
38
|
type: Pipe,
|
|
39
39
|
args: [{
|
|
40
40
|
name: 'factorc',
|
|
@@ -81,9 +81,9 @@ export class PFactorcPipe {
|
|
|
81
81
|
return formatCurrency(num / factor, locale, currency, currencyCode, digitsInfo);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
PFactorcPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
85
|
-
PFactorcPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
84
|
+
PFactorcPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PFactorcPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
85
|
+
PFactorcPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: PFactorcPipe, isStandalone: true, name: "pfactorc" });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PFactorcPipe, decorators: [{
|
|
87
87
|
type: Pipe,
|
|
88
88
|
args: [{
|
|
89
89
|
name: 'pfactorc',
|
|
@@ -99,9 +99,9 @@ export class FkselectComponent {
|
|
|
99
99
|
}));
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
FkselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
103
|
-
FkselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
102
|
+
FkselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FkselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
FkselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FkselectComponent, isStandalone: true, selector: "data-fkselect", inputs: { model: "model", field: "field", edit: "edit", value: "value", queryset: "queryset", collection: "collection", update: "update", filter: "filter", mode: "mode", display: "display", search: "search", label: "label", placeholder: "placeholder", inputClasses: "inputClasses" }, outputs: { selected: "selected", cancelled: "cancelled", cleared: "cleared" }, ngImport: i0, template: "\n<div class=\"form-group\">\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i3.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }] });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FkselectComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ selector: 'data-fkselect', standalone: true, imports: [CommonModule, ReactiveFormsModule, NgbTypeaheadModule], template: "\n<div class=\"form-group\">\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>" }]
|
|
107
107
|
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
@@ -113,9 +113,9 @@ export class FlagsComponent {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
FlagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
117
|
-
FlagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
116
|
+
FlagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FlagsComponent, deps: [{ token: i1.DataMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
+
FlagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FlagsComponent, isStandalone: true, selector: "data-flags", inputs: { model: "model", field: "field", get_flags_endpoint: "get_flags_endpoint", edit: "edit", editable: "editable", flags: "flags", free: "free", create: "create", action: "action" }, ngImport: i0, template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n<dd *ngIf=\"!edit\" (click)=\"toggleEdit()\" role=\"button\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\">{{flag}}</span></dd>\n<dd *ngIf=\"edit\">\n <div class=\"row\">\n <ng-container *ngIf=\"!free\">\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n <option *ngFor=\"let flag of flaglist\" [value]=\"flag.flag\">{{flag.flag}}<span class=\"ms-1\" *ngIf=\"flag.count\">({{flag.count}})</span></option>\n </select>\n </div>\n <div class=\"col\" *ngIf=\"create\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"free\">\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n </ng-container>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span><i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n</dd>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FlagsComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ selector: 'data-flags', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n<dd *ngIf=\"!edit\" (click)=\"toggleEdit()\" role=\"button\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\">{{flag}}</span></dd>\n<dd *ngIf=\"edit\">\n <div class=\"row\">\n <ng-container *ngIf=\"!free\">\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n <option *ngFor=\"let flag of flaglist\" [value]=\"flag.flag\">{{flag.flag}}<span class=\"ms-1\" *ngIf=\"flag.count\">({{flag.count}})</span></option>\n </select>\n </div>\n <div class=\"col\" *ngIf=\"create\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"free\">\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n </ng-container>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\"><span class=\"badge bg-info me-1\" *ngFor=\"let flag of curflags\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span><i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n</dd>" }]
|
|
121
121
|
}], ctorParameters: function () { return [{ type: i1.DataMessageService }]; }, propDecorators: { model: [{
|
|
@@ -257,15 +257,15 @@ export class M2mselectComponent {
|
|
|
257
257
|
}));
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
|
-
M2mselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
261
|
-
M2mselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
260
|
+
M2mselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: M2mselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
261
|
+
M2mselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: M2mselectComponent, isStandalone: true, selector: "data-m2mselect", inputs: { model: "model", field: "field", edit: "edit", values: "values", queryset: "queryset", collection: "collection", filter: "filter", mode: "mode", display: "display", search: "search", label: "label", placeholder: "placeholder", emptyLabel: "emptyLabel", inputClasses: "inputClasses" }, outputs: { added: "added", removed: "removed", cancelled: "cancelled", cleared: "cleared", detailsChanged: "detailsChanged", changed: "changed" }, providers: [
|
|
262
262
|
{
|
|
263
263
|
provide: NG_VALUE_ACCESSOR,
|
|
264
264
|
multi: true,
|
|
265
265
|
useExisting: M2mselectComponent,
|
|
266
266
|
},
|
|
267
267
|
], ngImport: i0, template: "\n<div class=\"form-group\">\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"cleared.emit()\"></i></div>\n </div>\n <div *ngFor=\"let i of values\"><i class=\"bi bi-trash ms-2 float-end\" (click)=\"onRemove(i)\"></i>{{displayFn(i)}}</div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i3.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }] });
|
|
268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: M2mselectComponent, decorators: [{
|
|
269
269
|
type: Component,
|
|
270
270
|
args: [{ selector: 'data-m2mselect', providers: [
|
|
271
271
|
{
|
|
@@ -92,14 +92,14 @@ export class RicheditComponent {
|
|
|
92
92
|
if (this.model && this.field) {
|
|
93
93
|
this.model.setFV(this.field, this.fc.value);
|
|
94
94
|
if (this.mode === 'dd') {
|
|
95
|
-
await firstValueFrom(this.model.
|
|
95
|
+
await firstValueFrom(this.model.update([this.field], { updateModel: true }));
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
RicheditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
101
|
-
RicheditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
100
|
+
RicheditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RicheditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
+
RicheditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: RicheditComponent, isStandalone: true, selector: "data-richedit", inputs: { model: "model", field: "field", editable: "editable", edit: "edit", mode: "mode", hideLabel: "hideLabel", hideButton: "hideButton", fc: "fc", toolbar: "toolbar" }, outputs: { changed: "changed" }, ngImport: i0, template: "\n<ng-template #editorTemplate>\n <div class=\"NgxEditor__Wrapper\">\n <ngx-editor-menu [editor]=\"editor\" [toolbar]=\"realToolbar\" *ngIf=\"edit && toolbar!=='none'\"></ngx-editor-menu>\n <ngx-editor [editor]=\"editor\" [formControl]=\"fc\" [placeholder]=\"''\"></ngx-editor>\n </div>\n <button class=\"btn btn-primary btn-sm w-100 mt-1\" *ngIf=\"edit && !hideButton\" (click)=\"save()\"><i class=\"bi bi-save me-2\"></i>Enregistrer</button>\n</ng-template>\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<!-- Dd display-->\n<ng-container *ngIf=\"mode==='dd'\">\n <dt [class.required]=\"required\" *ngIf=\"!hideLabel\"><span class=\"editable\" (click)=\"toggleEdit()\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span></dt>\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n </dd>\n</ng-container>\n<!-- Inline display-->\n<ng-container *ngIf=\"mode==='inline'\">\n <ng-container *ngIf=\"!hideLabel\">\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n</ng-container>\n<!-- Form display-->\n<ng-container *ngIf=\"mode==='form'\">\n <ng-container *ngIf=\"!hideLabel\">\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i2.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i2.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RicheditComponent, decorators: [{
|
|
103
103
|
type: Component,
|
|
104
104
|
args: [{ selector: 'data-richedit', standalone: true, imports: [CommonModule, NgxEditorModule, ReactiveFormsModule], template: "\n<ng-template #editorTemplate>\n <div class=\"NgxEditor__Wrapper\">\n <ngx-editor-menu [editor]=\"editor\" [toolbar]=\"realToolbar\" *ngIf=\"edit && toolbar!=='none'\"></ngx-editor-menu>\n <ngx-editor [editor]=\"editor\" [formControl]=\"fc\" [placeholder]=\"''\"></ngx-editor>\n </div>\n <button class=\"btn btn-primary btn-sm w-100 mt-1\" *ngIf=\"edit && !hideButton\" (click)=\"save()\"><i class=\"bi bi-save me-2\"></i>Enregistrer</button>\n</ng-template>\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<!-- Dd display-->\n<ng-container *ngIf=\"mode==='dd'\">\n <dt [class.required]=\"required\" *ngIf=\"!hideLabel\"><span class=\"editable\" (click)=\"toggleEdit()\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span></dt>\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n </dd>\n</ng-container>\n<!-- Inline display-->\n<ng-container *ngIf=\"mode==='inline'\">\n <ng-container *ngIf=\"!hideLabel\">\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n</ng-container>\n<!-- Form display-->\n<ng-container *ngIf=\"mode==='form'\">\n <ng-container *ngIf=\"!hideLabel\">\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n</ng-container>" }]
|
|
105
105
|
}], propDecorators: { model: [{
|
|
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
123
123
|
}], changed: [{
|
|
124
124
|
type: Output
|
|
125
125
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaGVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2Rpc3BlZGl0L3JpY2hlZGl0L3JpY2hlZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kaXNwZWRpdC9yaWNoZWRpdC9yaWNoZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBVyxNQUFNLFlBQVksQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFFdEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWlDO0lBQzVELE9BQU8sRUFBRTtRQUNQLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNsQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7UUFDdkIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO1FBQ3RCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztRQUMvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25ELENBQUMsTUFBTSxDQUFDO1FBQ1IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7UUFDbEMsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENB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YUFDbEI7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUN0QixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDOUQ7U0FDRjtJQUNILENBQUM7OzhHQTlFVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix3UkMxQzlCLG9sREFvQ2UseURERUgsWUFBWSx5U0FBRSxlQUFlLDRXQUFFLG1CQUFtQjsyRkFJakQsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFDOzhCQU83QyxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsU0FBUztzQkFBeEIsS0FBSztnQkFFVSxVQUFVO3NCQUF6QixLQUFLO2dCQUVVLEVBQUU7c0JBQWpCLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVyxPQUFPO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFZGl0b3IsIE5neEVkaXRvck1vZHVsZSwgVG9vbGJhciB9IGZyb20gJ25neC1lZGl0b3InO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgQmFzZUZpZWxkTWFuYWdlciB9IGZyb20gJy4uLy4uL2RhdGEvZmllbGRzL2Jhc2UnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IFJpY2hFZGl0VG9vbGJhcnM6IHsgW2luZGV4OiBzdHJpbmddOiBUb29sYmFyIH0gPSB7XG4gIGRlZmF1bHQ6IFtcbiAgICBbJ2JvbGQnLCAnaXRhbGljJ10sXG4gICAgWyd1bmRlcmxpbmUnLCAnc3RyaWtlJ10sXG4gICAgWydjb2RlJywgJ2Jsb2NrcXVvdGUnXSxcbiAgICBbJ29yZGVyZWRfbGlzdCcsICdidWxsZXRfbGlzdCddLFxuICAgIFt7IGhlYWRpbmc6IFsnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnXSB9XSxcbiAgICBbJ2xpbmsnXSxcbiAgICBbJ3RleHRfY29sb3InLCAnYmFja2dyb3VuZF9jb2xvciddLFxuICAgIFsnYWxpZ25fbGVmdCcsICdhbGlnbl9jZW50ZXInLCAnYWxpZ25fcmlnaHQnLCAnYWxpZ25fanVzdGlmeSddLFxuICBdLFxuICBsaWdodDogW1xuICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJ10sXG4gICAgWydvcmRlcmVkX2xpc3QnLCAnYnVsbGV0X2xpc3QnXSxcbiAgICBbJ3RleHRfY29sb3InXSxcbiAgICBbJ2FsaWduX2xlZnQnLCAnYWxpZ25fY2VudGVyJywgJ2FsaWduX3JpZ2h0JywgJ2FsaWduX2p1c3RpZnknXSxcbiAgXSxcbiAgbm9uZTogW10sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLXJpY2hlZGl0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd4RWRpdG9yTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JpY2hlZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmljaGVkaXQuY29tcG9uZW50LnNhc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmljaGVkaXRDb21wb25lbnQ8RlQsIFQgZXh0ZW5kcyBEYXRhTW9kZWw+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgcHVibGljIG1vZGVsPzogVDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZWRpdDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlOiAnZGQnIHwgJ2lubGluZScgfCAnZm9ybScgPSAnZGQnO1xuICAvKiogSGlkZSBsYWJlbCAoZm9yIGlubGluZSBmb3JtcykgKi9cbiAgQElucHV0KCkgcHVibGljIGhpZGVMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogSGlkZSBidXR0b24gKGZvciBjaGFuZ2VkIHVzYWdlKSAqL1xuICBASW5wdXQoKSBwdWJsaWMgaGlkZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogRm9ybSBjb250cm9sLCBmcm9tIG91dHNpZGUgb3IgY3JlYXRlZCAqL1xuICBASW5wdXQoKSBwdWJsaWMgZmMhOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgLyoqIFRvb2xiYXIgbW9kZSAqL1xuICBASW5wdXQoKSBwdWJsaWMgdG9vbGJhcjogJ25vbmUnIHwgJ2RlZmF1bHQnIHwgJ2xpZ2h0JyB8IFRvb2xiYXIgPSAnZGVmYXVsdCc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcbiAgLyoqIEZpZWxkIG1hbmFnZXIgKi9cbiAgcHVibGljIG1hbmFnZXI/OiBCYXNlRmllbGRNYW5hZ2VyPEZUPjtcbiAgLyoqIENvbXB1dGVkIHJlcXVpcmVkICovXG4gIHB1YmxpYyByZXF1aXJlZCE6IGJvb2xlYW47XG4gIHB1YmxpYyBlZGl0b3IhOiBFZGl0b3I7XG4gIHB1YmxpYyBodG1sID0gJyc7XG4gIHB1YmxpYyByZWFsVG9vbGJhciE6IFRvb2xiYXI7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9yKCk7XG4gICAgaWYgKHRoaXMudG9vbGJhciA9PT0gJ2xpZ2h0JyB8fCB0aGlzLnRvb2xiYXIgPT09ICdkZWZhdWx0Jykge1xuICAgICAgdGhpcy5yZWFsVG9vbGJhciA9IFJpY2hFZGl0VG9vbGJhcnNbdGhpcy50b29sYmFyXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9vbGJhciA9PT0gJ25vbmUnKSB7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhbFRvb2xiYXIgPSB0aGlzLnRvb2xiYXIgYXMgVG9vbGJhcjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmZjKSB7XG4gICAgICB0aGlzLmZjID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuICAgICAgaWYgKHRoaXMubW9kZWwgJiYgdGhpcy5maWVsZCkge1xuICAgICAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLm1vZGVsLkZNKHRoaXMuZmllbGQpO1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5tYW5hZ2VyPy5yZXF1aXJlZCB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy5mYy5zZXRWYWx1ZSgodGhpcy5tb2RlbCBhcyBhbnkpW3RoaXMuZmllbGRdIHx8ICcnLCB7XG4gICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5lZGl0KSB7XG4gICAgICAgIHRoaXMuZmMuZW5hYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZjLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZmMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodikgPT4gdGhpcy5jaGFuZ2VkLmVtaXQodikpO1xuICAgIH1cbiAgfVxuXG4gIC8vIG1ha2Ugc3VyZSB0byBkZXN0b3J5IHRoZSBlZGl0b3JcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xuICB9XG5cbiAgdG9nZ2xlRWRpdCgpIHtcbiAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgaWYgKHRoaXMuZWRpdCkge1xuICAgICAgICB0aGlzLmZjLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5lZGl0ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZjLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmVkaXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZjLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuZWRpdCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzYXZlKCkge1xuICAgIGlmICh0aGlzLm1vZGVsICYmIHRoaXMuZmllbGQpIHtcbiAgICAgIHRoaXMubW9kZWwuc2V0RlYodGhpcy5maWVsZCwgdGhpcy5mYy52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnZGQnKSB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMubW9kZWwuc2F2ZSh7IHVwZGF0ZU1vZGVsOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuPG5nLXRlbXBsYXRlICNlZGl0b3JUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIk5neEVkaXRvcl9fV3JhcHBlclwiPlxuICAgIDxuZ3gtZWRpdG9yLW1lbnUgW2VkaXRvcl09XCJlZGl0b3JcIiBbdG9vbGJhcl09XCJyZWFsVG9vbGJhclwiICpuZ0lmPVwiZWRpdCAmYW1wOyZhbXA7IHRvb2xiYXIhPT0nbm9uZSdcIj48L25neC1lZGl0b3ItbWVudT5cbiAgICA8bmd4LWVkaXRvciBbZWRpdG9yXT1cImVkaXRvclwiIFtmb3JtQ29udHJvbF09XCJmY1wiIFtwbGFjZWhvbGRlcl09XCInJ1wiPjwvbmd4LWVkaXRvcj5cbiAgPC9kaXY+XG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIHctMTAwIG10LTFcIiAqbmdJZj1cImVkaXQgJmFtcDsmYW1wOyAhaGlkZUJ1dHRvblwiIChjbGljayk9XCJzYXZlKClcIj48aSBjbGFzcz1cImJpIGJpLXNhdmUgbWUtMlwiPjwvaT5FbnJlZ2lzdHJlcjwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGl0bGVUcGw+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48IS0tIERkIGRpc3BsYXktLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlPT09J2RkJ1wiPlxuICA8ZHQgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCIgKm5nSWY9XCIhaGlkZUxhYmVsXCI+PHNwYW4gY2xhc3M9XCJlZGl0YWJsZVwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIiByb2xlPVwiYnV0dG9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUcGxcIj48L25nLWNvbnRhaW5lcj48L3NwYW4+PC9kdD5cbiAgPGRkIFtjbGFzcy5tYi0wXT1cImhpZGVMYWJlbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlZGl0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2RkPlxuPC9uZy1jb250YWluZXI+XG48IS0tIElubGluZSBkaXNwbGF5LS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibW9kZT09PSdpbmxpbmUnXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUxhYmVsXCI+XG4gICAgPGxhYmVsIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlZGl0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48IS0tIEZvcm0gZGlzcGxheS0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGU9PT0nZm9ybSdcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoaWRlTGFiZWxcIj5cbiAgICA8bGFiZWwgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2xhYmVsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRvclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaGVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2Rpc3BlZGl0L3JpY2hlZGl0L3JpY2hlZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kaXNwZWRpdC9yaWNoZWRpdC9yaWNoZWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBVyxNQUFNLFlBQVksQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFFdEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWlDO0lBQzVELE9BQU8sRUFBRTtRQUNQLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNsQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7UUFDdkIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO1FBQ3RCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztRQUMvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25ELENBQUMsTUFBTSxDQUFDO1FBQ1IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7UUFDbEMsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENB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RXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWRpdG9yLCBOZ3hFZGl0b3JNb2R1bGUsIFRvb2xiYXIgfSBmcm9tICduZ3gtZWRpdG9yJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7IEJhc2VGaWVsZE1hbmFnZXIgfSBmcm9tICcuLi8uLi9kYXRhL2ZpZWxkcy9iYXNlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBSaWNoRWRpdFRvb2xiYXJzOiB7IFtpbmRleDogc3RyaW5nXTogVG9vbGJhciB9ID0ge1xuICBkZWZhdWx0OiBbXG4gICAgWydib2xkJywgJ2l0YWxpYyddLFxuICAgIFsndW5kZXJsaW5lJywgJ3N0cmlrZSddLFxuICAgIFsnY29kZScsICdibG9ja3F1b3RlJ10sXG4gICAgWydvcmRlcmVkX2xpc3QnLCAnYnVsbGV0X2xpc3QnXSxcbiAgICBbeyBoZWFkaW5nOiBbJ2gxJywgJ2gyJywgJ2gzJywgJ2g0JywgJ2g1JywgJ2g2J10gfV0sXG4gICAgWydsaW5rJ10sXG4gICAgWyd0ZXh0X2NvbG9yJywgJ2JhY2tncm91bmRfY29sb3InXSxcbiAgICBbJ2FsaWduX2xlZnQnLCAnYWxpZ25fY2VudGVyJywgJ2FsaWduX3JpZ2h0JywgJ2FsaWduX2p1c3RpZnknXSxcbiAgXSxcbiAgbGlnaHQ6IFtcbiAgICBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZSddLFxuICAgIFsnb3JkZXJlZF9saXN0JywgJ2J1bGxldF9saXN0J10sXG4gICAgWyd0ZXh0X2NvbG9yJ10sXG4gICAgWydhbGlnbl9sZWZ0JywgJ2FsaWduX2NlbnRlcicsICdhbGlnbl9yaWdodCcsICdhbGlnbl9qdXN0aWZ5J10sXG4gIF0sXG4gIG5vbmU6IFtdLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1yaWNoZWRpdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5neEVkaXRvck1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWNoZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JpY2hlZGl0LmNvbXBvbmVudC5zYXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJpY2hlZGl0Q29tcG9uZW50PEZULCBUIGV4dGVuZHMgRGF0YU1vZGVsPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlbD86IFQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZD86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGVkaXQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZTogJ2RkJyB8ICdpbmxpbmUnIHwgJ2Zvcm0nID0gJ2RkJztcbiAgLyoqIEhpZGUgbGFiZWwgKGZvciBpbmxpbmUgZm9ybXMpICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIEhpZGUgYnV0dG9uIChmb3IgY2hhbmdlZCB1c2FnZSkgKi9cbiAgQElucHV0KCkgcHVibGljIGhpZGVCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIEZvcm0gY29udHJvbCwgZnJvbSBvdXRzaWRlIG9yIGNyZWF0ZWQgKi9cbiAgQElucHV0KCkgcHVibGljIGZjITogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gIC8qKiBUb29sYmFyIG1vZGUgKi9cbiAgQElucHV0KCkgcHVibGljIHRvb2xiYXI6ICdub25lJyB8ICdkZWZhdWx0JyB8ICdsaWdodCcgfCBUb29sYmFyID0gJ2RlZmF1bHQnO1xuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG4gIC8qKiBGaWVsZCBtYW5hZ2VyICovXG4gIHB1YmxpYyBtYW5hZ2VyPzogQmFzZUZpZWxkTWFuYWdlcjxGVD47XG4gIC8qKiBDb21wdXRlZCByZXF1aXJlZCAqL1xuICBwdWJsaWMgcmVxdWlyZWQhOiBib29sZWFuO1xuICBwdWJsaWMgZWRpdG9yITogRWRpdG9yO1xuICBwdWJsaWMgaHRtbCA9ICcnO1xuICBwdWJsaWMgcmVhbFRvb2xiYXIhOiBUb29sYmFyO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yID0gbmV3IEVkaXRvcigpO1xuICAgIGlmICh0aGlzLnRvb2xiYXIgPT09ICdsaWdodCcgfHwgdGhpcy50b29sYmFyID09PSAnZGVmYXVsdCcpIHtcbiAgICAgIHRoaXMucmVhbFRvb2xiYXIgPSBSaWNoRWRpdFRvb2xiYXJzW3RoaXMudG9vbGJhcl07XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvb2xiYXIgPT09ICdub25lJykge1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlYWxUb29sYmFyID0gdGhpcy50b29sYmFyIGFzIFRvb2xiYXI7XG4gICAgfVxuICAgIGlmICghdGhpcy5mYykge1xuICAgICAgdGhpcy5mYyA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcbiAgICAgIGlmICh0aGlzLm1vZGVsICYmIHRoaXMuZmllbGQpIHtcbiAgICAgICAgdGhpcy5tYW5hZ2VyID0gdGhpcy5tb2RlbC5GTSh0aGlzLmZpZWxkKTtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMubWFuYWdlcj8ucmVxdWlyZWQgfHwgZmFsc2U7XG4gICAgICAgIHRoaXMuZmMuc2V0VmFsdWUoKHRoaXMubW9kZWwgYXMgYW55KVt0aGlzLmZpZWxkXSB8fCAnJywge1xuICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZWRpdCkge1xuICAgICAgICB0aGlzLmZjLmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mYy5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmZjLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHYpID0+IHRoaXMuY2hhbmdlZC5lbWl0KHYpKTtcbiAgICB9XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdG8gZGVzdG9yeSB0aGUgZWRpdG9yXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHRvZ2dsZUVkaXQoKSB7XG4gICAgaWYgKHRoaXMuZWRpdGFibGUpIHtcbiAgICAgIGlmICh0aGlzLmVkaXQpIHtcbiAgICAgICAgdGhpcy5mYy5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZWRpdCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mYy5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5lZGl0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mYy5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmVkaXQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2F2ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlbCAmJiB0aGlzLmZpZWxkKSB7XG4gICAgICB0aGlzLm1vZGVsLnNldEZWKHRoaXMuZmllbGQsIHRoaXMuZmMudmFsdWUpO1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RkJykge1xuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZShbdGhpcy5maWVsZF0sIHsgdXBkYXRlTW9kZWw6IHRydWUgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuPG5nLXRlbXBsYXRlICNlZGl0b3JUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIk5neEVkaXRvcl9fV3JhcHBlclwiPlxuICAgIDxuZ3gtZWRpdG9yLW1lbnUgW2VkaXRvcl09XCJlZGl0b3JcIiBbdG9vbGJhcl09XCJyZWFsVG9vbGJhclwiICpuZ0lmPVwiZWRpdCAmYW1wOyZhbXA7IHRvb2xiYXIhPT0nbm9uZSdcIj48L25neC1lZGl0b3ItbWVudT5cbiAgICA8bmd4LWVkaXRvciBbZWRpdG9yXT1cImVkaXRvclwiIFtmb3JtQ29udHJvbF09XCJmY1wiIFtwbGFjZWhvbGRlcl09XCInJ1wiPjwvbmd4LWVkaXRvcj5cbiAgPC9kaXY+XG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIHctMTAwIG10LTFcIiAqbmdJZj1cImVkaXQgJmFtcDsmYW1wOyAhaGlkZUJ1dHRvblwiIChjbGljayk9XCJzYXZlKClcIj48aSBjbGFzcz1cImJpIGJpLXNhdmUgbWUtMlwiPjwvaT5FbnJlZ2lzdHJlcjwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGl0bGVUcGw+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48IS0tIERkIGRpc3BsYXktLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlPT09J2RkJ1wiPlxuICA8ZHQgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCIgKm5nSWY9XCIhaGlkZUxhYmVsXCI+PHNwYW4gY2xhc3M9XCJlZGl0YWJsZVwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIiByb2xlPVwiYnV0dG9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUcGxcIj48L25nLWNvbnRhaW5lcj48L3NwYW4+PC9kdD5cbiAgPGRkIFtjbGFzcy5tYi0wXT1cImhpZGVMYWJlbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlZGl0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2RkPlxuPC9uZy1jb250YWluZXI+XG48IS0tIElubGluZSBkaXNwbGF5LS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibW9kZT09PSdpbmxpbmUnXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUxhYmVsXCI+XG4gICAgPGxhYmVsIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlZGl0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48IS0tIEZvcm0gZGlzcGxheS0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGU9PT0nZm9ybSdcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoaWRlTGFiZWxcIj5cbiAgICA8bGFiZWwgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2xhYmVsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRvclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -67,9 +67,9 @@ export class SafeDeleteComponent {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
SafeDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
71
|
-
SafeDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
70
|
+
SafeDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: SafeDeleteComponent, deps: [{ token: i1.NgbOffcanvas }, { token: i2.DataMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
SafeDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: SafeDeleteComponent, isStandalone: true, selector: "data-safe-delete", inputs: { model: "model", service: "service", actionFn: "actionFn", checks: "checks", messages: "messages", display: "display" }, outputs: { deleted: "deleted" }, viewQueries: [{ propertyName: "_dialogRef", first: true, predicate: ["dialog"], descendants: true, static: true }], ngImport: i0, template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n <div class=\"offcanvas-body text-danger\" *ngIf=\"result\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let rl of result.details\">\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n<button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\" *ngIf=\"display==='button'\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n<button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\" *ngIf=\"display==='fbutton'\"><i class=\"bi bi-trash mx-2\"></i></button><i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" *ngIf=\"display==='icon'\" role=\"button\"></i>\n<div (click)=\"checkDelete(model)\" *ngIf=\"display==='custom'\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbOffcanvasModule }] });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: SafeDeleteComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ selector: 'data-safe-delete', standalone: true, imports: [CommonModule, NgbOffcanvasModule], template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n <div class=\"offcanvas-body text-danger\" *ngIf=\"result\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let rl of result.details\">\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n<button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\" *ngIf=\"display==='button'\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n<button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\" *ngIf=\"display==='fbutton'\"><i class=\"bi bi-trash mx-2\"></i></button><i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" *ngIf=\"display==='icon'\" role=\"button\"></i>\n<div (click)=\"checkDelete(model)\" *ngIf=\"display==='custom'\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</div>" }]
|
|
75
75
|
}], ctorParameters: function () { return [{ type: i1.NgbOffcanvas }, { type: i2.DataMessageService }]; }, propDecorators: { model: [{
|
|
@@ -24,8 +24,8 @@ export class MessageZoneComponent {
|
|
|
24
24
|
this._subscriptions$.complete();
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
MessageZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
28
|
-
MessageZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
27
|
+
MessageZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: MessageZoneComponent, deps: [{ token: i1.DataMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
MessageZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: MessageZoneComponent, isStandalone: true, selector: "data-message-zone", inputs: { filter: "filter" }, providers: [provideAnimations()], ngImport: i0, template: "\n<div class=\"messagezone\">\n <div class=\"alert\" *ngFor=\"let message of current\" [@dispStatus]=\"message.status\" [class]=\"message.style\" (click)=\"message.showTrace=!message.showTrace\">\n <button class=\"btn-close\" type=\"button\" (click)=\"messages.ack(message)\" aria-label=\"Close\"></button><strong>{{message.title}}</strong> {{message.message}}\n <div class=\"pretrace\" *ngIf=\"message.showTrace\">{{message.trace}}</div>\n </div>\n</div>", styles: [".messagezone{position:fixed;top:30px;right:40px;width:35vw;height:auto;z-index:1050}.messagezone .pretrace{white-space:pre-wrap;font-family:monospace;font-size:.7rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
29
29
|
trigger('dispStatus', [
|
|
30
30
|
transition('void => *', [
|
|
31
31
|
style({ opacity: 0 }),
|
|
@@ -37,7 +37,7 @@ MessageZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
37
37
|
]),
|
|
38
38
|
]),
|
|
39
39
|
] });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: MessageZoneComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ selector: 'data-message-zone', standalone: true, imports: [CommonModule], providers: [provideAnimations()], animations: [
|
|
43
43
|
trigger('dispStatus', [
|