sf-crud 12.0.1-beta25 → 12.0.1-beta27

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.
@@ -45,7 +45,7 @@ export class RegistroChildComponent {
45
45
  jsonpath.value(this.data, scope.replace('.properties', ''), value);
46
46
  break;
47
47
  }
48
- this.applyValuesOnEvent('onChange', this.esquema);
48
+ this.applyValuesOnEvent('onChange', this.esquema, scope.replace('$..properties.', ''));
49
49
  }
50
50
  createObject(esquema) {
51
51
  let object = {};
@@ -111,6 +111,7 @@ export class RegistroChildComponent {
111
111
  this.ref.close(this.data);
112
112
  }
113
113
  cancel() {
114
+ this.applyValuesOnEvent('onCancel', this.esquema);
114
115
  this.ref.close();
115
116
  }
116
117
  validateData() {
@@ -128,29 +129,50 @@ export class RegistroChildComponent {
128
129
  this.messageService.add({ severity: 'warn', detail: err.join('. ') });
129
130
  return err.length == 0;
130
131
  }
131
- applyValuesOnEvent(event, esquema) {
132
- for (const key in esquema.properties) {
133
- if (esquema.properties[key][event]) {
134
- esquema.properties[key][event].forEach((value) => {
135
- jsonpath.value(this.data, `$..${key}`, this.getValueEvent(this.data, value));
132
+ applyValuesOnEvent(event, esquema, scope) {
133
+ if (scope) {
134
+ if (esquema.properties[scope][event]) {
135
+ esquema.properties[scope][event].forEach((value) => {
136
+ this.setValueEvent(this.data, value);
136
137
  });
137
138
  }
138
139
  }
140
+ else {
141
+ for (const key in esquema.properties) {
142
+ if (esquema.properties[key][event]) {
143
+ esquema.properties[key][event].forEach((value) => {
144
+ this.setValueEvent(this.data, value);
145
+ });
146
+ }
147
+ }
148
+ }
139
149
  }
140
- getValueEvent(data, params) {
150
+ setValueEvent(data, params) {
151
+ var _a;
141
152
  let value;
142
153
  switch (params.op) {
143
154
  case 'sum':
144
- value = jsonpath.query(data, (params === null || params === void 0 ? void 0 : params.scope) || '').reduce((acc, cur) => acc += (params === null || params === void 0 ? void 0 : params.key) ? cur[params.key] : cur, 0);
155
+ value = jsonpath.query(data, params === null || params === void 0 ? void 0 : params.scope[0]).reduce((acc, cur) => acc += (params === null || params === void 0 ? void 0 : params.key) ? cur[params.key] : cur, 0);
145
156
  break;
146
157
  case 'concat':
147
158
  let array = [];
148
- params.key.reduce((acc, cur) => {
149
- console.log(jsonpath.query(this.data, cur)[0]);
150
- array.push(jsonpath.query(this.data, cur)[0]);
159
+ (_a = params === null || params === void 0 ? void 0 : params.key) === null || _a === void 0 ? void 0 : _a.reduce((acc, cur) => {
160
+ array.push(jsonpath.query(data, cur)[0]);
151
161
  }, []);
152
162
  if (params === null || params === void 0 ? void 0 : params.separator)
153
- value = array.join((params === null || params === void 0 ? void 0 : params.separator) || ' ');
163
+ jsonpath.value(data, params.scope[0], array.join((params === null || params === void 0 ? void 0 : params.separator) || ' '));
164
+ break;
165
+ case 'enable':
166
+ jsonpath.value(this.esquema, params.scope[0], false);
167
+ break;
168
+ case 'disabled':
169
+ jsonpath.value(this.esquema, params.scope[0], true);
170
+ break;
171
+ case 'replace:endpoint':
172
+ jsonpath.value(this.esquema, params.scope[0], jsonpath.query(this.esquema, params.scope[1])[0].replace(params.scope[2], jsonpath.query(data, `$..${params.key}`)));
173
+ break;
174
+ case 'setNull':
175
+ jsonpath.value(this.data, `$.${params.key}`, null);
154
176
  break;
155
177
  default:
156
178
  break;
@@ -171,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
171
193
  providers: [MessageService]
172
194
  }]
173
195
  }], ctorParameters: function () { return [{ type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i2.MessageService }]; } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cm8tY2hpbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL2NvbXBvbmVudHMvcmVnaXN0cm8tY2hpbGQvcmVnaXN0cm8tY2hpbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL2NvbXBvbmVudHMvcmVnaXN0cm8tY2hpbGQvcmVnaXN0cm8tY2hpbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakUsT0FBTyxLQUFLLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBUTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFNakMsWUFDUyxHQUFxQixFQUNyQixNQUEyQixFQUMxQixjQUE4QjtRQUYvQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFOakMsWUFBTyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7SUFPaEMsQ0FBQztJQUVMLFFBQVE7O1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUM7UUFDbkMsSUFB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bXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IFNoZW1hIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL21vZGVscy9zaGVtYS5tb2RlbCc7XG5pbXBvcnQgKiBhcyBqc29ucGF0aCBmcm9tICdqc29ucGF0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvaTE4bi9pMThuX2FzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1yZWdpc3Ryby1jaGlsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWdpc3Ryby1jaGlsZC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3Ryb0NoaWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgdWlFc3F1ZW1hOiBhbnk7XG4gIHB1YmxpYyBlc3F1ZW1hOiBTaGVtYSA9IG5ldyBTaGVtYSgpO1xuICBwdWJsaWMgZGF0YTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgcHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudWlFc3F1ZW1hID0gdGhpcy5jb25maWcuZGF0YS51aUVzcXVlbWFbMF07XG4gICAgdGhpcy5lc3F1ZW1hID0gdGhpcy5jb25maWcuZGF0YS5lc3F1ZW1hO1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuY29uZmlnLmRhdGE/LmRhdGE7XG4gICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuY3JlYXRlT2JqZWN0KHRoaXMuZXNxdWVtYSk7XG4gICAgICBqc29ucGF0aC52YWx1ZSh0aGlzLmRhdGEsICckLi5pZCcsIHRoaXMuY29uZmlnLmRhdGEuaWQpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbnRyb2woc2NvcGU6IHN0cmluZykge1xuICAgIHJldHVybiBqc29ucGF0aC5xdWVyeSh0aGlzLmVzcXVlbWEsIHNjb3BlKVswXTtcbiAgfVxuXG4gIGdldFZhbHVlKHNjb3BlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ganNvbnBhdGgucXVlcnkodGhpcy5kYXRhLCBzY29wZS5yZXBsYWNlKCcucHJvcGVydGllcycsICcnKSlbMF07XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55LCBzY29wZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlb2YgKHZhbHVlKSkge1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZS5mb3JFYWNoKCh2YWw6IGFueSkgPT4ganNvbnBhdGgudmFsdWUodGhpcy5kYXRhLCB2YWwuc2NvcGUucmVwbGFjZSgnLnByb3BlcnRpZXMnLCAnJyksIHZhbC52YWx1ZSkpXG4gICAgICAgIGVsc2UganNvbnBhdGgudmFsdWUodGhpcy5kYXRhLCBzY29wZS5yZXBsYWNlKCcucHJvcGVydGllcycsICcnKSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGpzb25wYXRoLnZhbHVlKHRoaXMuZGF0YSwgc2NvcGUucmVwbGFjZSgnLnByb3BlcnRpZXMnLCAnJyksIHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuYXBwbHlWYWx1ZXNPbkV2ZW50KCdvbkNoYW5nZScsIHRoaXMuZXNxdWVtYSk7XG4gIH1cblxuICBjcmVhdGVPYmplY3QoZXNxdWVtYTogU2hlbWEpIHtcbiAgICBsZXQgb2JqZWN0ID0ge307XG4gICAgc3dpdGNoIChlc3F1ZW1hLnR5cGUpIHtcbiAgICAgIGNhc2UgJ251bWVyaWMnOlxuICAgICAgICByZXR1cm4gZXNxdWVtYT8uZGVmYXVsdCB8fCAwO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICByZXR1cm4gZXNxdWVtYT8uZGVmYXVsdCA/IHRoaXMuc2V0RGVmYXVsdFZhbHVlKGVzcXVlbWEuZGVmYXVsdCkgOiBudWxsO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiBlc3F1ZW1hPy5kZWZhdWx0IHx8IGZhbHNlO1xuICAgICAgY2FzZSAnZmlsZSc6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXNxdWVtYT8ucHJvcGVydGllcykge1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3QsIGtleSwgeyB2YWx1ZTogdGhpcy5jcmVhdGVPYmplY3QoZXNxdWVtYT8ucHJvcGVydGllc1trZXldKSwgd3JpdGFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBzZXREZWZhdWx0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGxldCBkYXRhID0gbnVsbDtcbiAgICBsZXQgdWFjdGl2bztcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICdAdWFjdGl2byc6XG4gICAgICAgIHVhY3Rpdm8gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdvU2Vzc2lvblRGTScpIHx8ICd7fScpXG4gICAgICAgIGlmICghdWFjdGl2bykgY29uc29sZS5sb2coJ1ZhbGlkYXIgY29uZmlndXJhY2lvbiBkZSBzZXNpb24nKVxuICAgICAgICBlbHNlIGRhdGEgPSBgJHt1YWN0aXZvLlVzdWFyaW9TaXN0ZW1hLlRET0N9LSR7dWFjdGl2by5Vc3VhcmlvU2lzdGVtYS5ORE9DfWBcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdAdGRvY2FjdGl2byc6XG4gICAgICAgIHVhY3Rpdm8gPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzclNlc2lvbicpIHx8ICd7fScpXG4gICAgICAgIGlmICghdWFjdGl2bykgY29uc29sZS5sb2coJ1ZhbGlkYXIgY29uZmlndXJhY2lvbiBkZSBzZXNpb24nKVxuICAgICAgICBlbHNlIGRhdGEgPSB1YWN0aXZvLlVzdWFyaW9TaXN0ZW1hLlRET0NcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdAbmRvY2FjdGl2byc6XG4gICAgICAgIHVhY3Rpdm8gPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzclNlc2lvbicpIHx8ICd7fScpXG4gICAgICAgIGlmICghdWFjdGl2bykgY29uc29sZS5sb2coJ1ZhbGlkYXIgY29uZmlndXJhY2lvbiBkZSBzZXNpb24nKVxuICAgICAgICBlbHNlIGRhdGEgPSB1YWN0aXZvLlVzdWFyaW9TaXN0ZW1hLk5ET0NcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdAaG95JzpcbiAgICAgICAgZGF0YSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgZGF0YSA9IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGRhdGFcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICB0aGlzLmFwcGx5VmFsdWVzT25FdmVudCgnb25TdWJtaXQnLCB0aGlzLmVzcXVlbWEpO1xuICAgIGlmICghdGhpcy52YWxpZGF0ZURhdGEoKSkgcmV0dXJuO1xuICAgIHRoaXMucmVmLmNsb3NlKHRoaXMuZGF0YSk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgfVxuXG4gIHZhbGlkYXRlRGF0YSgpIHtcbiAgICBpZiAodGhpcy5lc3F1ZW1hLnZhbGlkYXRpb25zLnR5cGUgPT0gJ2xvY2FsJykgcmV0dXJuIHRoaXMudmFsaWRhdGVEYXRhTG9jYWwoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlRGF0YUxvY2FsKCkge1xuICAgIGxldCBlcnI6IHN0cmluZ1tdID0gW11cbiAgICB0aGlzLmVzcXVlbWEudmFsaWRhdGlvbnMucmVxdWlyZWQuZm9yRWFjaCgoeDogYW55KSA9PiB7XG4gICAgICBpZiAoIWpzb25wYXRoLnF1ZXJ5KHRoaXMuZGF0YSwgeC5maWVsZClbMF0pIGVyci5wdXNoKHgubWVzc2FnZSk7XG4gICAgfSlcbiAgICBpZiAoZXJyLmxlbmd0aCAhPSAwKSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIGRldGFpbDogZXJyLmpvaW4oJy4gJykgfSlcbiAgICByZXR1cm4gZXJyLmxlbmd0aCA9PSAwO1xuICB9XG5cbiAgYXBwbHlWYWx1ZXNPbkV2ZW50KGV2ZW50OiBzdHJpbmcsIGVzcXVlbWE6IFNoZW1hKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZXNxdWVtYS5wcm9wZXJ0aWVzKSB7XG4gICAgICBpZiAoZXNxdWVtYS5wcm9wZXJ0aWVzW2tleV1bZXZlbnRdKSB7XG4gICAgICAgIGVzcXVlbWEucHJvcGVydGllc1trZXldW2V2ZW50XS5mb3JFYWNoKCh2YWx1ZTogeyBvcDogc3RyaW5nLCBzY29wZT86IHN0cmluZywga2V5PzogYW55IH0pID0+IHtcbiAgICAgICAgICBqc29ucGF0aC52YWx1ZSh0aGlzLmRhdGEsIGAkLi4ke2tleX1gLCB0aGlzLmdldFZhbHVlRXZlbnQodGhpcy5kYXRhLCB2YWx1ZSkpXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWVFdmVudChkYXRhOiBhbnksIHBhcmFtczogeyBvcDogc3RyaW5nLCBzY29wZT86IHN0cmluZywga2V5PzogYW55LCBzZXBhcmF0b3I/OiBzdHJpbmcgfSkge1xuICAgIGxldCB2YWx1ZTtcbiAgICBzd2l0Y2ggKHBhcmFtcy5vcCkge1xuICAgICAgY2FzZSAnc3VtJzpcbiAgICAgICAgdmFsdWUgPSBqc29ucGF0aC5xdWVyeShkYXRhLCBwYXJhbXM/LnNjb3BlIHx8ICcnKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gcGFyYW1zPy5rZXkgPyBjdXJbcGFyYW1zLmtleV0gOiBjdXIsIDApXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29uY2F0JzpcbiAgICAgICAgbGV0IGFycmF5OiBzdHJpbmdbXSA9IFtdXG4gICAgICAgIHBhcmFtcy5rZXkucmVkdWNlKChhY2M6IGFueVtdLCBjdXI6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGpzb25wYXRoLnF1ZXJ5KHRoaXMuZGF0YSwgY3VyKVswXSlcbiAgICAgICAgICBhcnJheS5wdXNoKGpzb25wYXRoLnF1ZXJ5KHRoaXMuZGF0YSwgY3VyKVswXSlcbiAgICAgICAgfSwgW10pXG4gICAgICAgIGlmIChwYXJhbXM/LnNlcGFyYXRvcikgdmFsdWUgPSBhcnJheS5qb2luKHBhcmFtcz8uc2VwYXJhdG9yIHx8ICcgJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHNlbmROb3RpZmljYXRpb24obWVzc2FnZTogTWVzc2FnZSkge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKG1lc3NhZ2UpXG4gIH1cbn1cbiIsIjxwLXRvYXN0PjwvcC10b2FzdD5cbjxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgdWlFc3F1ZW1hLmVsZW1lbnRzXCIgW2NsYXNzXT1cImVsZW1lbnQ/LmNsYXNzXCIgI2E+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZWxlbWVudC50eXBlXCI+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidMYWJlbCdcIiBbc3R5bGVdPVwiZWxlbWVudD8uc3R5bGVcIj5cbiAgICAgICAgICAgIHt7ZWxlbWVudD8ubGFiZWx9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0hvcml6b250YWxMYXlvdXQnXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbCBvZiBlbGVtZW50LmVsZW1lbnRzXCIgW2NsYXNzXT1cImVsPy5jbGFzc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImVsLnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNmLWNvbnRyb2wgKm5nU3dpdGNoQ2FzZT1cIidDb250cm9sJ1wiIFtjb250cm9sXT1cImdldENvbnRyb2woZWwuc2NvcGUpXCIgW2xhYmVsXT1cImVsLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZXRWYWx1ZShlbC5zY29wZSlcIiAoc2V0VmFsdWUpPVwic2V0VmFsdWUoJGV2ZW50LCBlbC5zY29wZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbmROb3RpZmljYXRpb24pPVwic2VuZE5vdGlmaWNhdGlvbigkZXZlbnQpXCI+PC9zZi1jb250cm9sPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInVmVydGljYWxMYXlvdXQnXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbCBvZiBlbGVtZW50LmVsZW1lbnRzXCIgW2NsYXNzXT1cImVsPy5jbGFzc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImVsLnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNmLWNvbnRyb2wgKm5nU3dpdGNoQ2FzZT1cIidDb250cm9sJ1wiIFtjb250cm9sXT1cImdldENvbnRyb2woZWwuc2NvcGUpXCIgW2xhYmVsXT1cImVsLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZXRWYWx1ZShlbC5zY29wZSlcIiAoc2V0VmFsdWUpPVwic2V0VmFsdWUoJGV2ZW50LCBlbC5zY29wZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbmROb3RpZmljYXRpb24pPVwic2VuZE5vdGlmaWNhdGlvbigkZXZlbnQpXCI+PC9zZi1jb250cm9sPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ29udHJvbCdcIj5cbiAgICAgICAgICAgIDxzZi1jb250cm9sIFtjb250cm9sXT1cImdldENvbnRyb2woZWxlbWVudC5zY29wZSlcIiBbbGFiZWxdPVwiZWxlbWVudC5sYWJlbFwiPjwvc2YtY29udHJvbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtdC0yXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGxhYmVsPVwiR3VhcmRhclwiIChjbGljayk9XCJzdWJtaXQoKVwiIGNsYXNzPVwibXItMlwiPjwvYnV0dG9uPlxuICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cIkNhbmNlbGFyXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJwLWJ1dHRvbi1kYW5nZXJcIj48L2J1dHRvbj5cbjwvZGl2PiJdfQ==
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cm8tY2hpbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL2NvbXBvbmVudHMvcmVnaXN0cm8tY2hpbGQvcmVnaXN0cm8tY2hpbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL2NvbXBvbmVudHMvcmVnaXN0cm8tY2hpbGQvcmVnaXN0cm8tY2hpbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakUsT0FBTyxLQUFLLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBUTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFNakMsWUFDUyxHQUFxQixFQUNyQixNQUEyQixFQUMxQixjQUE4QjtRQUYvQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFOakMsWUFBTyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7SUFPaEMsQ0FBQztJQUVMLFFBQVE7O1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUM7UUFDbkMsSUFB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QkFDOUIsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IFNoZW1hIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL21vZGVscy9zaGVtYS5tb2RlbCc7XG5pbXBvcnQgKiBhcyBqc29ucGF0aCBmcm9tICdqc29ucGF0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvaTE4bi9pMThuX2FzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1yZWdpc3Ryby1jaGlsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWdpc3Ryby1jaGlsZC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3Ryb0NoaWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgdWlFc3F1ZW1hOiBhbnk7XG4gIHB1YmxpYyBlc3F1ZW1hOiBTaGVtYSA9IG5ldyBTaGVtYSgpO1xuICBwdWJsaWMgZGF0YTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgcHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudWlFc3F1ZW1hID0gdGhpcy5jb25maWcuZGF0YS51aUVzcXVlbWFbMF07XG4gICAgdGhpcy5lc3F1ZW1hID0gdGhpcy5jb25maWcuZGF0YS5lc3F1ZW1hO1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuY29uZmlnLmRhdGE/LmRhdGE7XG4gICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMuY3JlYXRlT2JqZWN0KHRoaXMuZXNxdWVtYSk7XG4gICAgICBqc29ucGF0aC52YWx1ZSh0aGlzLmRhdGEsICckLi5pZCcsIHRoaXMuY29uZmlnLmRhdGEuaWQpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbnRyb2woc2NvcGU6IHN0cmluZykge1xuICAgIHJldHVybiBqc29ucGF0aC5xdWVyeSh0aGlzLmVzcXVlbWEsIHNjb3BlKVswXTtcbiAgfVxuXG4gIGdldFZhbHVlKHNjb3BlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ganNvbnBhdGgucXVlcnkodGhpcy5kYXRhLCBzY29wZS5yZXBsYWNlKCcucHJvcGVydGllcycsICcnKSlbMF07XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55LCBzY29wZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlb2YgKHZhbHVlKSkge1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZS5mb3JFYWNoKCh2YWw6IGFueSkgPT4ganNvbnBhdGgudmFsdWUodGhpcy5kYXRhLCB2YWwuc2NvcGUucmVwbGFjZSgnLnByb3BlcnRpZXMnLCAnJyksIHZhbC52YWx1ZSkpXG4gICAgICAgIGVsc2UganNvbnBhdGgudmFsdWUodGhpcy5kYXRhLCBzY29wZS5yZXBsYWNlKCcucHJvcGVydGllcycsICcnKSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGpzb25wYXRoLnZhbHVlKHRoaXMuZGF0YSwgc2NvcGUucmVwbGFjZSgnLnByb3BlcnRpZXMnLCAnJyksIHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuYXBwbHlWYWx1ZXNPbkV2ZW50KCdvbkNoYW5nZScsIHRoaXMuZXNxdWVtYSwgc2NvcGUucmVwbGFjZSgnJC4ucHJvcGVydGllcy4nLCAnJykpO1xuICB9XG5cbiAgY3JlYXRlT2JqZWN0KGVzcXVlbWE6IFNoZW1hKSB7XG4gICAgbGV0IG9iamVjdCA9IHt9O1xuICAgIHN3aXRjaCAoZXNxdWVtYS50eXBlKSB7XG4gICAgICBjYXNlICdudW1lcmljJzpcbiAgICAgICAgcmV0dXJuIGVzcXVlbWE/LmRlZmF1bHQgfHwgMDtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIGVzcXVlbWE/LmRlZmF1bHQgPyB0aGlzLnNldERlZmF1bHRWYWx1ZShlc3F1ZW1hLmRlZmF1bHQpIDogbnVsbDtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm4gZXNxdWVtYT8uZGVmYXVsdCB8fCBmYWxzZTtcbiAgICAgIGNhc2UgJ2ZpbGUnOlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVzcXVlbWE/LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIHsgdmFsdWU6IHRoaXMuY3JlYXRlT2JqZWN0KGVzcXVlbWE/LnByb3BlcnRpZXNba2V5XSksIHdyaXRhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbiAgc2V0RGVmYXVsdFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBsZXQgZGF0YSA9IG51bGw7XG4gICAgbGV0IHVhY3Rpdm87XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSAnQHVhY3Rpdm8nOlxuICAgICAgICB1YWN0aXZvID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnb1Nlc3Npb25URk0nKSB8fCAne30nKVxuICAgICAgICBpZiAoIXVhY3Rpdm8pIGNvbnNvbGUubG9nKCdWYWxpZGFyIGNvbmZpZ3VyYWNpb24gZGUgc2VzaW9uJylcbiAgICAgICAgZWxzZSBkYXRhID0gYCR7dWFjdGl2by5Vc3VhcmlvU2lzdGVtYS5URE9DfS0ke3VhY3Rpdm8uVXN1YXJpb1Npc3RlbWEuTkRPQ31gXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQHRkb2NhY3Rpdm8nOlxuICAgICAgICB1YWN0aXZvID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c3JTZXNpb24nKSB8fCAne30nKVxuICAgICAgICBpZiAoIXVhY3Rpdm8pIGNvbnNvbGUubG9nKCdWYWxpZGFyIGNvbmZpZ3VyYWNpb24gZGUgc2VzaW9uJylcbiAgICAgICAgZWxzZSBkYXRhID0gdWFjdGl2by5Vc3VhcmlvU2lzdGVtYS5URE9DXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQG5kb2NhY3Rpdm8nOlxuICAgICAgICB1YWN0aXZvID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c3JTZXNpb24nKSB8fCAne30nKVxuICAgICAgICBpZiAoIXVhY3Rpdm8pIGNvbnNvbGUubG9nKCdWYWxpZGFyIGNvbmZpZ3VyYWNpb24gZGUgc2VzaW9uJylcbiAgICAgICAgZWxzZSBkYXRhID0gdWFjdGl2by5Vc3VhcmlvU2lzdGVtYS5ORE9DXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQGhveSc6XG4gICAgICAgIGRhdGEgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGRhdGEgPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBkYXRhXG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5hcHBseVZhbHVlc09uRXZlbnQoJ29uU3VibWl0JywgdGhpcy5lc3F1ZW1hKTtcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVEYXRhKCkpIHJldHVybjtcbiAgICB0aGlzLnJlZi5jbG9zZSh0aGlzLmRhdGEpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYXBwbHlWYWx1ZXNPbkV2ZW50KCdvbkNhbmNlbCcsIHRoaXMuZXNxdWVtYSk7XG4gICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgfVxuXG4gIHZhbGlkYXRlRGF0YSgpIHtcbiAgICBpZiAodGhpcy5lc3F1ZW1hLnZhbGlkYXRpb25zLnR5cGUgPT0gJ2xvY2FsJykgcmV0dXJuIHRoaXMudmFsaWRhdGVEYXRhTG9jYWwoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlRGF0YUxvY2FsKCkge1xuICAgIGxldCBlcnI6IHN0cmluZ1tdID0gW11cbiAgICB0aGlzLmVzcXVlbWEudmFsaWRhdGlvbnMucmVxdWlyZWQuZm9yRWFjaCgoeDogYW55KSA9PiB7XG4gICAgICBpZiAoIWpzb25wYXRoLnF1ZXJ5KHRoaXMuZGF0YSwgeC5maWVsZClbMF0pIGVyci5wdXNoKHgubWVzc2FnZSk7XG4gICAgfSlcbiAgICBpZiAoZXJyLmxlbmd0aCAhPSAwKSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIGRldGFpbDogZXJyLmpvaW4oJy4gJykgfSlcbiAgICByZXR1cm4gZXJyLmxlbmd0aCA9PSAwO1xuICB9XG5cbiAgYXBwbHlWYWx1ZXNPbkV2ZW50KGV2ZW50OiBzdHJpbmcsIGVzcXVlbWE6IFNoZW1hLCBzY29wZT86IHN0cmluZykge1xuICAgIGlmIChzY29wZSkge1xuICAgICAgaWYgKGVzcXVlbWEucHJvcGVydGllc1tzY29wZV1bZXZlbnRdKSB7XG4gICAgICAgIGVzcXVlbWEucHJvcGVydGllc1tzY29wZV1bZXZlbnRdLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFZhbHVlRXZlbnQodGhpcy5kYXRhLCB2YWx1ZSlcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXNxdWVtYS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmIChlc3F1ZW1hLnByb3BlcnRpZXNba2V5XVtldmVudF0pIHtcbiAgICAgICAgICBlc3F1ZW1hLnByb3BlcnRpZXNba2V5XVtldmVudF0uZm9yRWFjaCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZUV2ZW50KHRoaXMuZGF0YSwgdmFsdWUpXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlRXZlbnQoZGF0YTogYW55LCBwYXJhbXM6IHsgb3A6IHN0cmluZywgc2NvcGU6IHN0cmluZ1tdLCBrZXk6IGFueSwgc2VwYXJhdG9yOiBzdHJpbmcgfSkge1xuICAgIGxldCB2YWx1ZTtcbiAgICBzd2l0Y2ggKHBhcmFtcy5vcCkge1xuICAgICAgY2FzZSAnc3VtJzpcbiAgICAgICAgdmFsdWUgPSBqc29ucGF0aC5xdWVyeShkYXRhLCBwYXJhbXM/LnNjb3BlWzBdKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gcGFyYW1zPy5rZXkgPyBjdXJbcGFyYW1zLmtleV0gOiBjdXIsIDApXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29uY2F0JzpcbiAgICAgICAgbGV0IGFycmF5OiBzdHJpbmdbXSA9IFtdXG4gICAgICAgIHBhcmFtcz8ua2V5Py5yZWR1Y2UoKGFjYzogYW55W10sIGN1cjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgYXJyYXkucHVzaChqc29ucGF0aC5xdWVyeShkYXRhLCBjdXIpWzBdKVxuICAgICAgICB9LCBbXSlcbiAgICAgICAgaWYgKHBhcmFtcz8uc2VwYXJhdG9yKSBqc29ucGF0aC52YWx1ZShkYXRhLCBwYXJhbXMuc2NvcGVbMF0sIGFycmF5LmpvaW4ocGFyYW1zPy5zZXBhcmF0b3IgfHwgJyAnKSlcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlbmFibGUnOlxuICAgICAgICBqc29ucGF0aC52YWx1ZSh0aGlzLmVzcXVlbWEsIHBhcmFtcy5zY29wZVswXSwgZmFsc2UpXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGlzYWJsZWQnOlxuICAgICAgICBqc29ucGF0aC52YWx1ZSh0aGlzLmVzcXVlbWEsIHBhcmFtcy5zY29wZVswXSwgdHJ1ZSlcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyZXBsYWNlOmVuZHBvaW50JzpcbiAgICAgICAganNvbnBhdGgudmFsdWUodGhpcy5lc3F1ZW1hLCBwYXJhbXMuc2NvcGVbMF0sIGpzb25wYXRoLnF1ZXJ5KHRoaXMuZXNxdWVtYSwgcGFyYW1zLnNjb3BlWzFdKVswXS5yZXBsYWNlKHBhcmFtcy5zY29wZVsyXSwganNvbnBhdGgucXVlcnkoZGF0YSwgYCQuLiR7cGFyYW1zLmtleX1gKSkpXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2V0TnVsbCc6XG4gICAgICAgIGpzb25wYXRoLnZhbHVlKHRoaXMuZGF0YSwgYCQuJHtwYXJhbXMua2V5fWAsIG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzZW5kTm90aWZpY2F0aW9uKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZChtZXNzYWdlKVxuICB9XG59XG4iLCI8cC10b2FzdD48L3AtdG9hc3Q+XG48ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHVpRXNxdWVtYS5lbGVtZW50c1wiIFtjbGFzc109XCJlbGVtZW50Py5jbGFzc1wiICNhPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImVsZW1lbnQudHlwZVwiPlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInTGFiZWwnXCIgW3N0eWxlXT1cImVsZW1lbnQ/LnN0eWxlXCI+XG4gICAgICAgICAgICB7e2VsZW1lbnQ/LmxhYmVsfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidIb3Jpem9udGFsTGF5b3V0J1wiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWwgb2YgZWxlbWVudC5lbGVtZW50c1wiIFtjbGFzc109XCJlbD8uY2xhc3NcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbC50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZi1jb250cm9sICpuZ1N3aXRjaENhc2U9XCInQ29udHJvbCdcIiBbY29udHJvbF09XCJnZXRDb250cm9sKGVsLnNjb3BlKVwiIFtsYWJlbF09XCJlbC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0VmFsdWUoZWwuc2NvcGUpXCIgKHNldFZhbHVlKT1cInNldFZhbHVlKCRldmVudCwgZWwuc2NvcGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZW5kTm90aWZpY2F0aW9uKT1cInNlbmROb3RpZmljYXRpb24oJGV2ZW50KVwiPjwvc2YtY29udHJvbD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1ZlcnRpY2FsTGF5b3V0J1wiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWwgb2YgZWxlbWVudC5lbGVtZW50c1wiIFtjbGFzc109XCJlbD8uY2xhc3NcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJlbC50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZi1jb250cm9sICpuZ1N3aXRjaENhc2U9XCInQ29udHJvbCdcIiBbY29udHJvbF09XCJnZXRDb250cm9sKGVsLnNjb3BlKVwiIFtsYWJlbF09XCJlbC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0VmFsdWUoZWwuc2NvcGUpXCIgKHNldFZhbHVlKT1cInNldFZhbHVlKCRldmVudCwgZWwuc2NvcGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZW5kTm90aWZpY2F0aW9uKT1cInNlbmROb3RpZmljYXRpb24oJGV2ZW50KVwiPjwvc2YtY29udHJvbD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0NvbnRyb2wnXCI+XG4gICAgICAgICAgICA8c2YtY29udHJvbCBbY29udHJvbF09XCJnZXRDb250cm9sKGVsZW1lbnQuc2NvcGUpXCIgW2xhYmVsXT1cImVsZW1lbnQubGFiZWxcIj48L3NmLWNvbnRyb2w+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXQtMlwiPlxuICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cIkd1YXJkYXJcIiAoY2xpY2spPVwic3VibWl0KClcIiBjbGFzcz1cIm1yLTJcIj48L2J1dHRvbj5cbiAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgbGFiZWw9XCJDYW5jZWxhclwiIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwicC1idXR0b24tZGFuZ2VyXCI+PC9idXR0b24+XG48L2Rpdj4iXX0=
@@ -382,9 +382,14 @@ class ControlComponent {
382
382
  this.sendNotification.emit({ severity: 'error', detail: `Error al cargar el archivo!` });
383
383
  });
384
384
  }
385
+ refresData() {
386
+ var _a, _b;
387
+ if ((_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.endpointtemp)
388
+ this.loadDataFromService();
389
+ }
385
390
  }
386
391
  ControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ControlComponent, deps: [{ token: GeneralService }], target: i0.ɵɵFactoryTarget.Component });
387
- ControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ControlComponent, selector: "sf-control", inputs: { control: "control", label: "label", value: "value", appendTo: "appendTo" }, outputs: { setValue: "setValue", sendNotification: "sendNotification" }, ngImport: i0, template: "<!-- <p-blockUI [blocked]=\"isLoading\" [target]=\"cc\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI> -->\r\n\r\n<ng-container [ngSwitch]=\"control.type\">\r\n <label>{{label}}</label>\r\n <ng-container *ngSwitchCase=\"'string'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <input pInputText type=\"password\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" placeholder=\"email@example.com\"\r\n (focusout)=\"validateValue('email')\" [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <p-inputMask mask=\"(999) 999-9999\" [(ngModel)]=\"value\" placeholder=\"(999) 999-9999\"\r\n (focusout)=\"sendValue()\" [disabled]=\"control?.disabled || false\"></p-inputMask>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'enum'\">\r\n <p-dropdown [options]=\"control.enum\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\" appendTo=\"body\"\r\n placeholder=\"Seleccione una opci\u00F3n\" [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\"\r\n [optionLabel]=\"control.config.optionLabel\" [optionValue]=\"control.config.optionValue\"\r\n appendTo=\"body\" placeholder=\"Seleccione una opci\u00F3n\"\r\n [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n <p-autoComplete [showEmptyMessage]=\"true\" [suggestions]=\"dataFromService\" appendTo=\"body\"\r\n (completeMethod)=\"loadDataFromControlBusquedaService($event)\" [field]=\"control.field\"\r\n [minLength]=\"1\" (onSelect)=\"sendValueFromObject($event)\"\r\n [disabled]=\"control?.disabled || false\"></p-autoComplete>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <p-calendar [(ngModel)]=\"value\" (onSelect)=\"sendValue()\" [monthNavigator]=\"true\" [yearNavigator]=\"true\"\r\n yearRange=\"1900:2035\" [dateFormat]=\"control?.format || 'yy-mm-dd'\" appendTo=\"body\"\r\n [disabled]=\"control?.disabled || false\"></p-calendar>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'numeric'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"currency\" [minFractionDigits]=\"control?.minFractionDigits || 0\"\r\n [min]=\"control?.min || null\" [max]=\"control?.max || null\" (focusout)=\"sendValue()\"\r\n [currency]=\"control?.currency || 'USD'\" [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"decimal\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 0\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'percentage'\">\r\n <p-inputNumber [(ngModel)]=\"value\" suffix=\" %\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 2\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'filetmp'\">\r\n <p-fileUpload [accept]=\"control.config.accept\" [customUpload]=\"true\" (uploadHandler)=\"onUpload($event)\"\r\n [maxFileSize]=\"control.config?.maxFileSize || null\" fileLimit=\"1\">\r\n <ng-template pTemplate=\"content\">\r\n <ul *ngIf=\"uploadedFiles.length\">\r\n <li *ngFor=\"let file of uploadedFiles\">{{file.name}} - {{file.size}} bytes</li>\r\n </ul>\r\n </ng-template>\r\n </p-fileUpload>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>", components: [{ type: i2$1.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }, { type: i3$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide"] }, { type: i4$1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i5$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "numberOfMonths", "view", "touchUI", "timeSeparator", "focusTrap", "firstDayOfWeek", "showTransitionOptions", "hideTransitionOptions", "tabindex", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i6$1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "step", "inputStyle", "inputStyleClass", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i7.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler"] }], directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.InputText, selector: "[pInputText]" }, { type: i9$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
392
+ ControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ControlComponent, selector: "sf-control", inputs: { control: "control", label: "label", value: "value", appendTo: "appendTo" }, outputs: { setValue: "setValue", sendNotification: "sendNotification" }, ngImport: i0, template: "<!-- <p-blockUI [blocked]=\"isLoading\" [target]=\"cc\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI> -->\r\n\r\n<ng-container [ngSwitch]=\"control.type\">\r\n <label>{{label}}</label>\r\n <ng-container *ngSwitchCase=\"'string'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <input pInputText type=\"password\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" placeholder=\"email@example.com\"\r\n (focusout)=\"validateValue('email')\" [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <p-inputMask mask=\"(999) 999-9999\" [(ngModel)]=\"value\" placeholder=\"(999) 999-9999\"\r\n (focusout)=\"sendValue()\" [disabled]=\"control?.disabled || false\"></p-inputMask>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'enum'\">\r\n <p-dropdown [options]=\"control.enum\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\" appendTo=\"body\"\r\n placeholder=\"Seleccione una opci\u00F3n\" [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\"\r\n [optionLabel]=\"control.config.optionLabel\" [optionValue]=\"control.config.optionValue\" (onClick)=\"refresData()\"\r\n appendTo=\"body\" placeholder=\"Seleccione una opci\u00F3n\"\r\n [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n <p-autoComplete [showEmptyMessage]=\"true\" [suggestions]=\"dataFromService\" appendTo=\"body\"\r\n (completeMethod)=\"loadDataFromControlBusquedaService($event)\" [field]=\"control.field\"\r\n [minLength]=\"1\" (onSelect)=\"sendValueFromObject($event)\"\r\n [disabled]=\"control?.disabled || false\"></p-autoComplete>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <p-calendar [(ngModel)]=\"value\" (onSelect)=\"sendValue()\" [monthNavigator]=\"true\" [yearNavigator]=\"true\"\r\n yearRange=\"1900:2035\" [dateFormat]=\"control?.format || 'yy-mm-dd'\" appendTo=\"body\"\r\n [disabled]=\"control?.disabled || false\"></p-calendar>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'numeric'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"currency\" [minFractionDigits]=\"control?.minFractionDigits || 0\"\r\n [min]=\"control?.min || null\" [max]=\"control?.max || null\" (focusout)=\"sendValue()\"\r\n [currency]=\"control?.currency || 'USD'\" [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"decimal\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 0\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'percentage'\">\r\n <p-inputNumber [(ngModel)]=\"value\" suffix=\" %\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 2\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'filetmp'\">\r\n <p-fileUpload [accept]=\"control.config.accept\" [customUpload]=\"true\" (uploadHandler)=\"onUpload($event)\"\r\n [maxFileSize]=\"control.config?.maxFileSize || null\" fileLimit=\"1\">\r\n <ng-template pTemplate=\"content\">\r\n <ul *ngIf=\"uploadedFiles.length\">\r\n <li *ngFor=\"let file of uploadedFiles\">{{file.name}} - {{file.size}} bytes</li>\r\n </ul>\r\n </ng-template>\r\n </p-fileUpload>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>", components: [{ type: i2$1.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }, { type: i3$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide"] }, { type: i4$1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i5$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "numberOfMonths", "view", "touchUI", "timeSeparator", "focusTrap", "firstDayOfWeek", "showTransitionOptions", "hideTransitionOptions", "tabindex", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i6$1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "step", "inputStyle", "inputStyleClass", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i7.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler"] }], directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.InputText, selector: "[pInputText]" }, { type: i9$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
388
393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ControlComponent, decorators: [{
389
394
  type: Component,
390
395
  args: [{
@@ -440,7 +445,7 @@ class RegistroChildComponent {
440
445
  jsonpath.value(this.data, scope.replace('.properties', ''), value);
441
446
  break;
442
447
  }
443
- this.applyValuesOnEvent('onChange', this.esquema);
448
+ this.applyValuesOnEvent('onChange', this.esquema, scope.replace('$..properties.', ''));
444
449
  }
445
450
  createObject(esquema) {
446
451
  let object = {};
@@ -506,6 +511,7 @@ class RegistroChildComponent {
506
511
  this.ref.close(this.data);
507
512
  }
508
513
  cancel() {
514
+ this.applyValuesOnEvent('onCancel', this.esquema);
509
515
  this.ref.close();
510
516
  }
511
517
  validateData() {
@@ -523,29 +529,50 @@ class RegistroChildComponent {
523
529
  this.messageService.add({ severity: 'warn', detail: err.join('. ') });
524
530
  return err.length == 0;
525
531
  }
526
- applyValuesOnEvent(event, esquema) {
527
- for (const key in esquema.properties) {
528
- if (esquema.properties[key][event]) {
529
- esquema.properties[key][event].forEach((value) => {
530
- jsonpath.value(this.data, `$..${key}`, this.getValueEvent(this.data, value));
532
+ applyValuesOnEvent(event, esquema, scope) {
533
+ if (scope) {
534
+ if (esquema.properties[scope][event]) {
535
+ esquema.properties[scope][event].forEach((value) => {
536
+ this.setValueEvent(this.data, value);
531
537
  });
532
538
  }
533
539
  }
540
+ else {
541
+ for (const key in esquema.properties) {
542
+ if (esquema.properties[key][event]) {
543
+ esquema.properties[key][event].forEach((value) => {
544
+ this.setValueEvent(this.data, value);
545
+ });
546
+ }
547
+ }
548
+ }
534
549
  }
535
- getValueEvent(data, params) {
550
+ setValueEvent(data, params) {
551
+ var _a;
536
552
  let value;
537
553
  switch (params.op) {
538
554
  case 'sum':
539
- value = jsonpath.query(data, (params === null || params === void 0 ? void 0 : params.scope) || '').reduce((acc, cur) => acc += (params === null || params === void 0 ? void 0 : params.key) ? cur[params.key] : cur, 0);
555
+ value = jsonpath.query(data, params === null || params === void 0 ? void 0 : params.scope[0]).reduce((acc, cur) => acc += (params === null || params === void 0 ? void 0 : params.key) ? cur[params.key] : cur, 0);
540
556
  break;
541
557
  case 'concat':
542
558
  let array = [];
543
- params.key.reduce((acc, cur) => {
544
- console.log(jsonpath.query(this.data, cur)[0]);
545
- array.push(jsonpath.query(this.data, cur)[0]);
559
+ (_a = params === null || params === void 0 ? void 0 : params.key) === null || _a === void 0 ? void 0 : _a.reduce((acc, cur) => {
560
+ array.push(jsonpath.query(data, cur)[0]);
546
561
  }, []);
547
562
  if (params === null || params === void 0 ? void 0 : params.separator)
548
- value = array.join((params === null || params === void 0 ? void 0 : params.separator) || ' ');
563
+ jsonpath.value(data, params.scope[0], array.join((params === null || params === void 0 ? void 0 : params.separator) || ' '));
564
+ break;
565
+ case 'enable':
566
+ jsonpath.value(this.esquema, params.scope[0], false);
567
+ break;
568
+ case 'disabled':
569
+ jsonpath.value(this.esquema, params.scope[0], true);
570
+ break;
571
+ case 'replace:endpoint':
572
+ jsonpath.value(this.esquema, params.scope[0], jsonpath.query(this.esquema, params.scope[1])[0].replace(params.scope[2], jsonpath.query(data, `$..${params.key}`)));
573
+ break;
574
+ case 'setNull':
575
+ jsonpath.value(this.data, `$.${params.key}`, null);
549
576
  break;
550
577
  default:
551
578
  break;
@@ -680,26 +707,24 @@ class RegistroComponent {
680
707
  }
681
708
  submit() {
682
709
  console.log(this.data);
683
- if (!this.validateData())
684
- return;
685
- this.applyValuesOnEvent('onSubmit', this.crudConfig.esquema);
686
- this.enProceso = true;
687
- let endpoint = this.configOperation.endpoint;
688
- endpoint = endpoint.replace('@idKatios', this.idKatios);
689
- endpoint = endpoint.replace('@id', this.id);
690
- this.generalService.genericRequest(this.configOperation.method, this.configOperation.server, endpoint, this.data)
691
- .then(() => {
692
- this.messageSerice.add({ severity: 'success', detail: `Proceso exitoso!` });
693
- setTimeout(() => {
694
- this.enProceso = false;
695
- this.back();
696
- }, 2000);
697
- })
698
- .catch(err => {
699
- var _a;
700
- this.messageSerice.add({ severity: 'warn', detail: `${((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.message) || 'Error no controlado, por favor comunicarse con del admin.'}` });
701
- this.enProceso = false;
702
- });
710
+ // if (!this.validateData()) return;
711
+ // this.applyValuesOnEvent('onSubmit', this.crudConfig.esquema)
712
+ // this.enProceso = true;
713
+ // let endpoint = this.configOperation.endpoint;
714
+ // endpoint = endpoint.replace('@idKatios', this.idKatios)
715
+ // endpoint = endpoint.replace('@id', this.id)
716
+ // this.generalService.genericRequest(this.configOperation.method, this.configOperation.server, endpoint, this.data)
717
+ // .then(() => {
718
+ // this.messageSerice.add({ severity: 'success', detail: `Proceso exitoso!` })
719
+ // setTimeout(() => {
720
+ // this.enProceso = false;
721
+ // this.back()
722
+ // }, 2000);
723
+ // })
724
+ // .catch(err => {
725
+ // this.messageSerice.add({ severity: 'warn', detail: `${err?.error?.message || 'Error no controlado, por favor comunicarse con del admin.'}` })
726
+ // this.enProceso = false;
727
+ // })
703
728
  }
704
729
  validateData() {
705
730
  if (this.configOperation.validations.type == 'local')
@@ -768,7 +793,7 @@ class RegistroComponent {
768
793
  this.dialogRef.onClose.subscribe((data) => {
769
794
  if (data)
770
795
  this.data[element.scope.replace('$..properties.', '')].push(data);
771
- this.applyValuesOnEvent('onChange', this.crudConfig.esquema);
796
+ this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''));
772
797
  });
773
798
  }
774
799
  editRow(element, data) {
@@ -786,7 +811,7 @@ class RegistroComponent {
786
811
  this.dialogRef.onClose.subscribe((data) => {
787
812
  if (data)
788
813
  this.data[element.scope.replace('$..properties.', '')][data.id - 1] = data;
789
- this.applyValuesOnEvent('onChange', this.crudConfig.esquema);
814
+ this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''));
790
815
  });
791
816
  }
792
817
  deleteRow(element, index) {
@@ -796,27 +821,55 @@ class RegistroComponent {
796
821
  el.id = index;
797
822
  index++;
798
823
  });
799
- this.applyValuesOnEvent('onChange', this.crudConfig.esquema);
824
+ this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''));
800
825
  }
801
- applyValuesOnEvent(event, esquema) {
802
- for (const key in esquema.properties) {
826
+ applyValuesOnEvent(event, esquema, key) {
827
+ if (key) {
803
828
  if (esquema.properties[key][event]) {
804
829
  esquema.properties[key][event].forEach((value) => {
805
- jsonpath.value(this.data, `$..${key}`, this.getValueEvent(this.data, value));
830
+ this.setValueEvent(this.data, value);
806
831
  });
807
832
  }
808
833
  }
834
+ else {
835
+ for (const key in esquema.properties) {
836
+ if (esquema.properties[key][event]) {
837
+ esquema.properties[key][event].forEach((value) => {
838
+ this.setValueEvent(this.data, value);
839
+ });
840
+ }
841
+ }
842
+ }
809
843
  }
810
- getValueEvent(data, params) {
811
- let value;
844
+ setValueEvent(data, params) {
845
+ var _a;
812
846
  switch (params.op) {
813
847
  case 'sum':
814
- value = jsonpath.query(data, params.scope).reduce((acc, cur) => acc += (params === null || params === void 0 ? void 0 : params.key) ? cur[params.key] : cur, 0);
848
+ jsonpath.value(data, params.scope[1], jsonpath.query(data, params.scope[0]).reduce((acc, cur) => acc += (params === null || params === void 0 ? void 0 : params.key) ? cur[params.key] : cur, 0));
849
+ break;
850
+ case 'concat':
851
+ let array = [];
852
+ (_a = params === null || params === void 0 ? void 0 : params.key) === null || _a === void 0 ? void 0 : _a.reduce((acc, cur) => {
853
+ array.push(jsonpath.query(data, cur)[0]);
854
+ }, []);
855
+ if (params === null || params === void 0 ? void 0 : params.separator)
856
+ jsonpath.value(data, params.scope[0], array.join((params === null || params === void 0 ? void 0 : params.separator) || ' '));
857
+ break;
858
+ case 'enable':
859
+ jsonpath.value(this.crudConfig.esquema, params.scope[0], false);
860
+ break;
861
+ case 'disabled':
862
+ jsonpath.value(this.crudConfig.esquema, params.scope[0], true);
863
+ break;
864
+ case 'replace:endpoint':
865
+ jsonpath.value(this.crudConfig.esquema, params.scope[0], this.crudConfig.esquema.config.endpointtemp.replace(params.scope[1], jsonpath.query(data, `$..${params.key}`)));
866
+ break;
867
+ case 'setNull':
868
+ jsonpath.value(this.data, `$.${params.key}`, null);
815
869
  break;
816
870
  default:
817
871
  break;
818
872
  }
819
- return value;
820
873
  }
821
874
  }
822
875
  RegistroComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RegistroComponent, deps: [{ token: GeneralService }, { token: i2.Router }, { token: i3$1.MessageService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Component });