bit-ng-library 13.1.11 → 13.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,6 +26,19 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
26
26
 
27
27
  ## changelog
28
28
 
29
+ ## [13.1.14] - 2022-08-25
30
+
31
+ Nuevo input transformDataValueTo en BitDropDownGeneralV2Component. Para cambiar el tipo de dato del valor (ID) en listas de dominios. Vienen del servidor como String pero en el form
32
+ control se guardan los valores seleccionados como Number y al no coincidir el dropdown se muestra con opción en blanco.
33
+
34
+ ## [13.1.13] - 2022-07-15
35
+
36
+ Fix BitDropdown. No se muestran las opciones si se sobreescribe el atributo atributoLabel.
37
+
38
+ ## [13.1.12] - 2022-07-14
39
+
40
+ Fix BitDropdown. Es posible que los atributos label/value de la lista de opciones se sobreescriban y se ha de tener en cuenta al generar la primera opción.
41
+
29
42
  ## [13.1.11] - 2022-07-14
30
43
 
31
44
  Fixes BitDropdown y BitDropDownMultiple. Valor lectura y bug eliminación de opciones seleccionadas en dropdown múltiple.
@@ -56,13 +56,15 @@ export class BitDropDownGeneralV2Component extends BitGeneralV2Component {
56
56
  }
57
57
  }
58
58
  BitDropDownGeneralV2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownGeneralV2Component, deps: [{ token: i1.ActivatedRoute }, { token: i2.SessionSharedService }, { token: i2.AyudaService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
59
- BitDropDownGeneralV2Component.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownGeneralV2Component, inputs: { hideLabel: "hideLabel", data: "data", id: "id", excludedValues: "excludedValues", emptyText: "emptyText", includeEmpty: "includeEmpty" }, usesInheritance: true, ngImport: i0 });
59
+ BitDropDownGeneralV2Component.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownGeneralV2Component, inputs: { hideLabel: "hideLabel", data: "data", transformDataValueTo: "transformDataValueTo", id: "id", excludedValues: "excludedValues", emptyText: "emptyText", includeEmpty: "includeEmpty" }, usesInheritance: true, ngImport: i0 });
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownGeneralV2Component, decorators: [{
61
61
  type: Directive
62
62
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SessionSharedService }, { type: i2.AyudaService }, { type: i2.TranslateService }]; }, propDecorators: { hideLabel: [{
63
63
  type: Input
64
64
  }], data: [{
65
65
  type: Input
66
+ }], transformDataValueTo: [{
67
+ type: Input
66
68
  }], id: [{
67
69
  type: Input
68
70
  }], excludedValues: [{
@@ -72,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
72
74
  }], includeEmpty: [{
73
75
  type: Input
74
76
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLWdlbmVyYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYml0LW5nLWxpYnJhcnkvc3JjL2xpYi9zaGFyZWRsaWJyYXJ5L2NvbXBvbmVudHMvZm9ybS9kcm9wZG93bi9iaXQtZHJvcGRvd24tZ2VuZXJhbC12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBR3BFOzs7Ozs7OztJQVFJO0FBRUosTUFBTSxPQUFnQiw2QkFBOEIsU0FBUSxxQkFBcUI7SUFhL0UsWUFDWSxNQUFzQixFQUN0QixhQUFtQyxFQUNuQyxZQUEwQixFQUMxQixnQkFBa0M7UUFFNUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBTFYsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQnJDLGNBQVMsR0FBWSxLQUFLLENBQUMsQ0FBQyxzREFBc0Q7UUFJbEYsY0FBUyxHQUFXLDhCQUE4QixDQUFDLENBQUMsc0RBQXNEO1FBQzFHLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRXRDLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLHlCQUFvQixHQUFVLEVBQUUsQ0FBQztRQUVqQyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7SUFTL0IsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxnQkFBZ0I7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEUsMkRBQTJEO1lBQzNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNqSDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQiwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2lCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNiLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDO2dCQUN6RyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO2dCQUNyQyxzRUFBc0U7WUFDeEUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7OzBIQS9DbUIsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEbEQsU0FBUztrTUFFQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgRGlyZWN0aXZlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmltcG9ydCB7IEJpdEdlbmVyYWxWMkNvbXBvbmVudCB9IGZyb20gXCIuLi9iaXQtZ2VuZXJhbC12Mi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXl1ZGFTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBTZXNzaW9uU2hhcmVkU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNlIGdlbmVyYWwgY29tw7puIGEgYW1ib3MgYml0LWRyb3Bkb3duIChFbCBub3JtYWwgeSBlbCBtw7psdGlwbGUpLlxyXG4gKiBBY3R1YWxtZW50ZSBzb2xvIGV4dGVuZGlkYSBwb3IgZWwgZHJvcGRvd24gbm9ybWFsLCBwZW5kaWVudGUgZWwgbcO6bHRpcGxlIHF1ZSBhw7puIHVzYSBsYSBpbnRlcmZheiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICpcclxuICogQGlucHV0IGRhdGE6IGFycmF5IGRlIG9iamV0b3MgYSBtb3N0cmFyIGVuIGVsIHNlbGVjdC4gUHVlZGUgc2VyIG51bGwsIGVuIGN1eW8gY2FzbyBkb21haW4gbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGRvbWFpbjogbm9tYnJlIGRlbCBkb21pbmlvIHF1ZSBjb250aWVuZSBsb3MgZGF0b3MgeSBxdWUgbm9zIHJlc29sdmVyw6EgbGEgcMOhZ2luYSBjdWFuZG8gY2FyZ3VlIGVsIGNvbXBvbmVudGUuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZGF0YSBubyBwdWVkZSBzZXIgbnVsbFxyXG4gKiBAaW5wdXQgaWQ6IGlkZW50aWZpY2Fkb3IgZGVsIGNvbXBvbmVudGUgc2VsZWN0XHJcbiAqIEBpbnB1dCBmaWx0ZXI6IHRydWUgaW5kaWNhcsOhIHF1ZSBwb2RlbW9zIGJ1c2NhciBkZW50cm8gZGVsIHNlbGVjdCwgZmFsc2UgcXVlIG5vLlxyXG4gKiovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQml0RHJvcERvd25HZW5lcmFsVjJDb21wb25lbnQgZXh0ZW5kcyBCaXRHZW5lcmFsVjJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGhpZGVMYWJlbDogYm9vbGVhbiA9IGZhbHNlOyAvLyBmb3J6YXIgbm8gcmVzZXJ2YXIgZXNwYWNpbyBwYXJhIGVsIG5vbWJyZSBkZWwgY2FtcG9cclxuICBASW5wdXQoKSBkYXRhOiBhbnlbXTsgLy8gbGlzdGEgZGUgdmFsb3JlcyBlc3TDoXRpY29zIGNvbiBsbyBxdWUgaW5pY2lhbGl6YW1vcyBlbCBzZWxlY3RcclxuICBASW5wdXQoKSBpZDogYW55O1xyXG4gIEBJbnB1dCgpIGV4Y2x1ZGVkVmFsdWVzOiBhbnlbXTtcclxuICBASW5wdXQoKSBlbXB0eVRleHQ6IHN0cmluZyA9IFwiYml0bmdsaWJyYXJ5LmJpdGRyb3Bkb3duLmFueVwiOyAvL3ZhbG9yIHBvciBkZWZlY3RvIHNlbGVjY2lvbmFibGUgY29tbyBwcmltZXIgZWxlbWVudG9cclxuICBASW5wdXQoKSBpbmNsdWRlRW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBsaXN0YU9wY2lvbmVzOiBhbnlbXSA9IFtdO1xyXG4gIGxpc3RhT3BjaW9uZXNWaXNpYmxlOiBhbnlbXSA9IFtdO1xyXG4gIHZhbG9yQWN0dWFsOiBhbnk7IC8vIHNvbG8gc2UgdXNhIHBhcmEgaGFjZXIgbGEgdHJhbnNmb3JtYWNpw7NuIGN1YW5kbyBlcyBlc3RyaWN0YW1lbnRlIG5lY2VzYXJpb1xyXG4gIGVtcHR5VGV4dFJlc29sdmVkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCByb3V0ZXI6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJvdGVjdGVkIHNlc3Npb25TaGFyZWQ6IFNlc3Npb25TaGFyZWRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGF5dWRhU2VydmljZTogQXl1ZGFTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGF5dWRhU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjdXN0b20gcHJvY2Vzc2luZyBhZnRlciByZXRyaWV2aW5nIGRhdGEgYXJyYXkgZnJvbSBzZXJ2aWNlXHJcbiAgcG9zdFJldHJpZXZlRGF0YSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwibGxhbWFuZG8gYSBwb3N0UmV0cmlldmVEYXRhIHBhcmEgXCIgKyB0aGlzLm5vbWJyZSArIFwie29wY2lvbmVzOlwiICsgdGhpcy5saXN0YU9wY2lvbmVzICsgXCJ9XCIpO1xyXG4gICAgaWYgKHRoaXMubGlzdGFPcGNpb25lcykge1xyXG4gICAgICB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5saXN0YU9wY2lvbmVzKTtcclxuICAgICAgLy8gcmVwYXNhbW9zIHNpIGhheSBvcGNpb25lcyBhIGV4Y2x1aXIgcXVlIGRlYmFtb3MgZWxpbWluYXJcclxuICAgICAgaWYgKHRoaXMuZXhjbHVkZWRWYWx1ZXMpIHtcclxuICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlID0gdGhpcy5saXN0YU9wY2lvbmVzVmlzaWJsZS5maWx0ZXIoKG9wKSA9PiB0aGlzLmV4Y2x1ZGVkVmFsdWVzLmluZGV4T2Yob3AudmFsdWUpIDwgMCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGlzdGFPcGNpb25lc1Zpc2libGUgPSBbXTtcclxuICAgIH1cclxuICAgIC8vIGRldGVybWluYW1vcyBzaSBkZWJlbW9zIGluY2x1aXIgbGEgb3BjacOzbiBcInNpbiBzZWxlY2Npw7NuXCIgeSBjb24gcXXDqSB0ZXh0b1xyXG4gICAgaWYgKHRoaXMuaW5jbHVkZUVtcHR5KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiaGF5IHZhbG9yIGVtcHR5IHF1ZSBoYXkgcXVlIHRyYWR1Y2lyIHBhcmEgXCIgKyB0aGlzLm5vbWJyZSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxyXG4gICAgICAgIC5zZWxlY3RUcmFuc2xhdGVXaXRoQ29udGV4dCh0aGlzLmVtcHR5VGV4dClcclxuICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInNlIHJlc3VlbHZlIGxhIHRyYWR1Y2Npw7NuIGRlbCBlbXB0eVRleHQgcGFyYSBcIiArIHRoaXMubm9tYnJlICsgXCIgY29uIHZhbG9yOlwiICsgdHJhbnNsYXRpb24pO1xyXG4gICAgICAgICAgdGhpcy5saXN0YU9wY2lvbmVzVmlzaWJsZS5zcGxpY2UoMCwgMCwge3ZhbHVlOiBudWxsLCBsYWJlbDogdHJhbnNsYXRpb259KTtcclxuICAgICAgICAgIHRoaXMuZW1wdHlUZXh0UmVzb2x2ZWQgPSB0cmFuc2xhdGlvbjtcclxuICAgICAgICAgIC8vY29uc29sZS5sb2coXCJsYSBsaXN0YSBkZSBvcGNpb25lcyB2YWxlXCIsIHRoaXMubGlzdGFPcGNpb25lc1Zpc2libGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4gIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLWdlbmVyYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYml0LW5nLWxpYnJhcnkvc3JjL2xpYi9zaGFyZWRsaWJyYXJ5L2NvbXBvbmVudHMvZm9ybS9kcm9wZG93bi9iaXQtZHJvcGRvd24tZ2VuZXJhbC12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBR3BFOzs7Ozs7OztJQVFJO0FBRUosTUFBTSxPQUFnQiw2QkFBOEIsU0FBUSxxQkFBcUI7SUFjL0UsWUFDWSxNQUFzQixFQUN0QixhQUFtQyxFQUNuQyxZQUEwQixFQUMxQixnQkFBa0M7UUFFNUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBTFYsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFqQnJDLGNBQVMsR0FBWSxLQUFLLENBQUMsQ0FBQyxzREFBc0Q7UUFLbEYsY0FBUyxHQUFXLDhCQUE4QixDQUFDLENBQUMsc0RBQXNEO1FBQzFHLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRXRDLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLHlCQUFvQixHQUFVLEVBQUUsQ0FBQztRQUVqQyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7SUFTL0IsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxnQkFBZ0I7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEUsMkRBQTJEO1lBQzNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNqSDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQiwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2lCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNiLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDO2dCQUN6RyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO2dCQUNyQyxzRUFBc0U7WUFDeEUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7OzBIQWhEbUIsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEbEQsU0FBUztrTUFFQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQgeyBCaXRHZW5lcmFsVjJDb21wb25lbnQgfSBmcm9tIFwiLi4vYml0LWdlbmVyYWwtdjIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEF5dWRhU2VydmljZSwgVHJhbnNsYXRlU2VydmljZSwgU2Vzc2lvblNoYXJlZFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXNcIjtcclxuXHJcbi8qKlxyXG4gKiBDbGFzZSBnZW5lcmFsIGNvbcO6biBhIGFtYm9zIGJpdC1kcm9wZG93biAoRWwgbm9ybWFsIHkgZWwgbcO6bHRpcGxlKS5cclxuICogQWN0dWFsbWVudGUgc29sbyBleHRlbmRpZGEgcG9yIGVsIGRyb3Bkb3duIG5vcm1hbCwgcGVuZGllbnRlIGVsIG3Dumx0aXBsZSBxdWUgYcO6biB1c2EgbGEgaW50ZXJmYXogQ29udHJvbFZhbHVlQWNjZXNzb3IuXHJcbiAqXHJcbiAqIEBpbnB1dCBkYXRhOiBhcnJheSBkZSBvYmpldG9zIGEgbW9zdHJhciBlbiBlbCBzZWxlY3QuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZG9tYWluIG5vIHB1ZWRlIHNlciBudWxsXHJcbiAqIEBpbnB1dCBkb21haW46IG5vbWJyZSBkZWwgZG9taW5pbyBxdWUgY29udGllbmUgbG9zIGRhdG9zIHkgcXVlIG5vcyByZXNvbHZlcsOhIGxhIHDDoWdpbmEgY3VhbmRvIGNhcmd1ZSBlbCBjb21wb25lbnRlLiBQdWVkZSBzZXIgbnVsbCwgZW4gY3V5byBjYXNvIGRhdGEgbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGlkOiBpZGVudGlmaWNhZG9yIGRlbCBjb21wb25lbnRlIHNlbGVjdFxyXG4gKiBAaW5wdXQgZmlsdGVyOiB0cnVlIGluZGljYXLDoSBxdWUgcG9kZW1vcyBidXNjYXIgZGVudHJvIGRlbCBzZWxlY3QsIGZhbHNlIHF1ZSBuby5cclxuICoqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJpdERyb3BEb3duR2VuZXJhbFYyQ29tcG9uZW50IGV4dGVuZHMgQml0R2VuZXJhbFYyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoaWRlTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTsgLy8gZm9yemFyIG5vIHJlc2VydmFyIGVzcGFjaW8gcGFyYSBlbCBub21icmUgZGVsIGNhbXBvXHJcbiAgQElucHV0KCkgZGF0YTogYW55W107IC8vIGxpc3RhIGRlIHZhbG9yZXMgZXN0w6F0aWNvcyBjb24gbG8gcXVlIGluaWNpYWxpemFtb3MgZWwgc2VsZWN0XHJcbiAgQElucHV0KCkgdHJhbnNmb3JtRGF0YVZhbHVlVG86IHN0cmluZzsgLy8gaW5kaWNhIHNpIGhheSBxdWUgdHJhbnNmb3JtYXIgZWwgdmFsb3IgZGUgbG9zIElEIGRlIGxhIGxpc3RhIGRlIGRhdG9zIGRlIGVudHJhZGEgKG11Y2hhcyBsaXN0YXMgZGUgZG9taW5pbyB2aWVuZW4gY29uIGVsIElEIGVuIGZvcm1hdG8gU3RyaW5nICB5IHNlIGRlc2VhIGVuIGZvcm1hdG8gTnVtYmVyKVxyXG4gIEBJbnB1dCgpIGlkOiBhbnk7XHJcbiAgQElucHV0KCkgZXhjbHVkZWRWYWx1ZXM6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gXCJiaXRuZ2xpYnJhcnkuYml0ZHJvcGRvd24uYW55XCI7IC8vdmFsb3IgcG9yIGRlZmVjdG8gc2VsZWNjaW9uYWJsZSBjb21vIHByaW1lciBlbGVtZW50b1xyXG4gIEBJbnB1dCgpIGluY2x1ZGVFbXB0eTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGxpc3RhT3BjaW9uZXM6IGFueVtdID0gW107XHJcbiAgbGlzdGFPcGNpb25lc1Zpc2libGU6IGFueVtdID0gW107XHJcbiAgdmFsb3JBY3R1YWw6IGFueTsgLy8gc29sbyBzZSB1c2EgcGFyYSBoYWNlciBsYSB0cmFuc2Zvcm1hY2nDs24gY3VhbmRvIGVzIGVzdHJpY3RhbWVudGUgbmVjZXNhcmlvXHJcbiAgZW1wdHlUZXh0UmVzb2x2ZWQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcm90ZWN0ZWQgc2Vzc2lvblNoYXJlZDogU2Vzc2lvblNoYXJlZFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXl1ZGFTZXJ2aWNlOiBBeXVkYVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoYXl1ZGFTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIC8vIGN1c3RvbSBwcm9jZXNzaW5nIGFmdGVyIHJldHJpZXZpbmcgZGF0YSBhcnJheSBmcm9tIHNlcnZpY2VcclxuICBwb3N0UmV0cmlldmVEYXRhKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJsbGFtYW5kbyBhIHBvc3RSZXRyaWV2ZURhdGEgcGFyYSBcIiArIHRoaXMubm9tYnJlICsgXCJ7b3BjaW9uZXM6XCIgKyB0aGlzLmxpc3RhT3BjaW9uZXMgKyBcIn1cIik7XHJcbiAgICBpZiAodGhpcy5saXN0YU9wY2lvbmVzKSB7XHJcbiAgICAgIHRoaXMubGlzdGFPcGNpb25lc1Zpc2libGUgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLmxpc3RhT3BjaW9uZXMpO1xyXG4gICAgICAvLyByZXBhc2Ftb3Mgc2kgaGF5IG9wY2lvbmVzIGEgZXhjbHVpciBxdWUgZGViYW1vcyBlbGltaW5hclxyXG4gICAgICBpZiAodGhpcy5leGNsdWRlZFZhbHVlcykge1xyXG4gICAgICAgIHRoaXMubGlzdGFPcGNpb25lc1Zpc2libGUgPSB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlLmZpbHRlcigob3ApID0+IHRoaXMuZXhjbHVkZWRWYWx1ZXMuaW5kZXhPZihvcC52YWx1ZSkgPCAwKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5saXN0YU9wY2lvbmVzVmlzaWJsZSA9IFtdO1xyXG4gICAgfVxyXG4gICAgLy8gZGV0ZXJtaW5hbW9zIHNpIGRlYmVtb3MgaW5jbHVpciBsYSBvcGNpw7NuIFwic2luIHNlbGVjY2nDs25cIiB5IGNvbiBxdcOpIHRleHRvXHJcbiAgICBpZiAodGhpcy5pbmNsdWRlRW1wdHkpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJoYXkgdmFsb3IgZW1wdHkgcXVlIGhheSBxdWUgdHJhZHVjaXIgcGFyYSBcIiArIHRoaXMubm9tYnJlKTtcclxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXHJcbiAgICAgICAgLnNlbGVjdFRyYW5zbGF0ZVdpdGhDb250ZXh0KHRoaXMuZW1wdHlUZXh0KVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRpb24pID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwic2UgcmVzdWVsdmUgbGEgdHJhZHVjY2nDs24gZGVsIGVtcHR5VGV4dCBwYXJhIFwiICsgdGhpcy5ub21icmUgKyBcIiBjb24gdmFsb3I6XCIgKyB0cmFuc2xhdGlvbik7XHJcbiAgICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlLnNwbGljZSgwLCAwLCB7dmFsdWU6IG51bGwsIGxhYmVsOiB0cmFuc2xhdGlvbn0pO1xyXG4gICAgICAgICAgdGhpcy5lbXB0eVRleHRSZXNvbHZlZCA9IHRyYW5zbGF0aW9uO1xyXG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhcImxhIGxpc3RhIGRlIG9wY2lvbmVzIHZhbGVcIiwgdGhpcy5saXN0YU9wY2lvbmVzVmlzaWJsZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiAiXX0=
@@ -1,4 +1,5 @@
1
1
  import { Component, Input } from "@angular/core";
2
+ import { take } from "rxjs/operators";
2
3
  import { BitDropDownGeneralV2Component } from "./bit-dropdown-general-v2.component";
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/router";
@@ -35,6 +36,11 @@ export class BitDropDownComponent extends BitDropDownGeneralV2Component {
35
36
  let changedProp = changes[propName];
36
37
  if (propName === "data") {
37
38
  this.listaOpciones = changedProp.currentValue ? changedProp.currentValue.slice() : [];
39
+ if (this.transformDataValueTo == "number") {
40
+ this.listaOpciones.forEach(opcion => {
41
+ opcion[this.atributoValue] = Number(opcion[this.atributoValue]);
42
+ });
43
+ }
38
44
  hayCambios = true;
39
45
  }
40
46
  else if (propName === "excludedValues") {
@@ -50,6 +56,35 @@ export class BitDropDownComponent extends BitDropDownGeneralV2Component {
50
56
  this.postRetrieveData();
51
57
  }
52
58
  }
59
+ // custom processing after retrieving data array from service
60
+ postRetrieveData() {
61
+ console.log("llamando a postRetrieveData para " + this.nombre + "{opciones:" + this.listaOpciones + "}");
62
+ if (this.listaOpciones) {
63
+ this.listaOpcionesVisible = Object.assign([], this.listaOpciones);
64
+ // repasamos si hay opciones a excluir que debamos eliminar
65
+ if (this.excludedValues) {
66
+ this.listaOpcionesVisible = this.listaOpcionesVisible.filter((op) => this.excludedValues.indexOf(op.value) < 0);
67
+ }
68
+ }
69
+ else {
70
+ this.listaOpcionesVisible = [];
71
+ }
72
+ // determinamos si debemos incluir la opción "sin selección" y con qué texto
73
+ if (this.includeEmpty) {
74
+ console.log("hay valor empty que hay que traducir para " + this.nombre);
75
+ this.translateService
76
+ .selectTranslateWithContext(this.emptyText)
77
+ .pipe(take(1))
78
+ .subscribe((translation) => {
79
+ let newOption = { value: null, label: translation };
80
+ newOption[this.atributoValue] = null;
81
+ newOption[this.atributoLabel] = translation;
82
+ this.listaOpcionesVisible.splice(0, 0, newOption);
83
+ this.emptyTextResolved = translation;
84
+ //console.log("la lista de opciones vale", this.listaOpcionesVisible);
85
+ });
86
+ }
87
+ }
53
88
  get value_lectura() {
54
89
  let val = this.control.value;
55
90
  let dom = this.listaOpciones && this.listaOpciones.find((d) => d.value == val);
@@ -57,10 +92,10 @@ export class BitDropDownComponent extends BitDropDownGeneralV2Component {
57
92
  }
58
93
  }
59
94
  BitDropDownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.SessionSharedService }, { token: i2.AyudaService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
60
- BitDropDownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownComponent, selector: "bit-dropdown", inputs: { filter: "filter", atributoLabel: "atributoLabel", atributoValue: "atributoValue", atributoDisabled: "atributoDisabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n", components: [{ type: i3.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", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i4.BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
95
+ BitDropDownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownComponent, selector: "bit-dropdown", inputs: { filter: "filter", atributoLabel: "atributoLabel", atributoValue: "atributoValue", atributoDisabled: "atributoDisabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item[atributoDisabled]}\">{{item[atributoLabel]}}</span>\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n", components: [{ type: i3.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", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i4.BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
61
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownComponent, decorators: [{
62
97
  type: Component,
63
- args: [{ selector: "bit-dropdown", template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n" }]
98
+ args: [{ selector: "bit-dropdown", template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item[atributoDisabled]}\">{{item[atributoLabel]}}</span>\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n" }]
64
99
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SessionSharedService }, { type: i2.AyudaService }, { type: i2.TranslateService }]; }, propDecorators: { filter: [{
65
100
  type: Input
66
101
  }], atributoLabel: [{
@@ -70,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
70
105
  }], atributoDisabled: [{
71
106
  type: Input
72
107
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUkxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7O0FBRXBGOzs7Ozs7OztJQVFJO0FBS0osTUFBTSxPQUFPLG9CQUFxQixTQUFRLDZCQUE2QjtJQVNyRSxZQUNZLE1BQXNCLEVBQ3RCLGFBQW1DLEVBQ25DLFlBQTBCLEVBQzFCLGdCQUFrQztRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUxuRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVpyQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRWpDLGtCQUFhLEdBQUcsT0FBTyxDQUFDLENBQU8sa0VBQWtFO1FBRWpHLGtCQUFhLEdBQUcsT0FBTyxDQUFDLENBQU8sa0VBQWtFO1FBRWpHLHFCQUFnQixHQUFHLFVBQVUsQ0FBQyxDQUFDLG1GQUFtRjtJQVNsSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQTRDO1FBQ3RELElBQUksVUFBVSxHQUFZLEtBQUssQ0FBQztRQUNoQyxLQUFLLElBQUksUUFBUSxJQUFJLE9BQU8sRUFBRTtZQUM1QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEYsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtpQkFBTSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUMvQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO2lCQUFNLElBQUksUUFBUSxLQUFLLGNBQWMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUM3QyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDL0UsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDOztpSEExQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0Isb09DbkJqQyxnd0NBNEJBOzJGRFRhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxjQUFjO2tNQUlmLE1BQU07c0JBQWQsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmltcG9ydCB7IEF5dWRhU2VydmljZSwgU2Vzc2lvblNoYXJlZFNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEJpdERyb3BEb3duR2VuZXJhbFYyQ29tcG9uZW50IH0gZnJvbSBcIi4vYml0LWRyb3Bkb3duLWdlbmVyYWwtdjIuY29tcG9uZW50XCI7XHJcblxyXG4vKipcclxuICogQ2xhc2UgcXVlIHV0aWxpemEgdW4gY3VzdG9tIGNvbXBvbmVudGUgcGFyYSBzZWxlY3QgZGUgZWxlbWVudG9zXHJcbiAqICAgIDxiaXQtZHJvcGRvd24gW2RvbWFpbl09XCInRE9NQUlOX1RJUE9fTE9HJ1wiIGlkPVwidGlwb2xvZ1wiIFtjb250cm9sXT1cImZvcm1Db250cm9sXCI+Jm5ic3A7Jm5ic3A7VGlwdXMgZCdvcGVyYWNpw7M8L2JpdC1kcm9wZG93bj5cclxuICpcclxuICogQGlucHV0IGRhdGE6IGFycmF5IGRlIG9iamV0b3MgYSBtb3N0cmFyIGVuIGVsIHNlbGVjdC4gUHVlZGUgc2VyIG51bGwsIGVuIGN1eW8gY2FzbyBkb21haW4gbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGRvbWFpbjogbm9tYnJlIGRlbCBkb21pbmlvIHF1ZSBjb250aWVuZSBsb3MgZGF0b3MgeSBxdWUgbm9zIHJlc29sdmVyw6EgbGEgcMOhZ2luYSBjdWFuZG8gY2FyZ3VlIGVsIGNvbXBvbmVudGUuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZGF0YSBubyBwdWVkZSBzZXIgbnVsbFxyXG4gKiBAaW5wdXQgaWQ6IGlkZW50aWZpY2Fkb3IgZGVsIGNvbXBvbmVudGUgc2VsZWN0XHJcbiAqIEBpbnB1dCBmaWx0ZXI6IHRydWUgaW5kaWNhcsOhIHF1ZSBwb2RlbW9zIGJ1c2NhciBkZW50cm8gZGVsIHNlbGVjdCwgZmFsc2UgcXVlIG5vLlxyXG4gKiovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImJpdC1kcm9wZG93blwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcImJpdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaXREcm9wRG93bkNvbXBvbmVudCBleHRlbmRzIEJpdERyb3BEb3duR2VuZXJhbFYyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBmaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGF0cmlidXRvTGFiZWwgPSBcImxhYmVsXCI7ICAgICAgIC8vIEVsIGF0cmlidXRvIGRlIGxvcyBvYmpldG9zIGRlIGxhIGxpc3RhIHF1ZSBjb3JyZXNwb25kZSBhbCBsYWJlbFxyXG4gIEBJbnB1dCgpXHJcbiAgYXRyaWJ1dG9WYWx1ZSA9IFwidmFsdWVcIjsgICAgICAgLy8gRWwgYXRyaWJ1dG8gZGUgbG9zIG9iamV0b3MgZGUgbGEgbGlzdGEgcXVlIGNvcnJlc3BvbmRlIGFsIHZhbG9yXHJcbiAgQElucHV0KClcclxuICBhdHJpYnV0b0Rpc2FibGVkID0gXCJpbmFjdGl2b1wiOyAvLyBFbCBhdHJpYnV0byBkZSBsb3Mgb2JqZXRvcyBkZSBsYSBsaXN0YSBxdWUgaW5kaWNhIHNpIHVuIHZhbG9yIGVzdMOhIGRlc2hhYmlsaXRhZG9cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByb3RlY3RlZCBzZXNzaW9uU2hhcmVkOiBTZXNzaW9uU2hhcmVkU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBheXVkYVNlcnZpY2U6IEF5dWRhU2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyb3V0ZXIsIHNlc3Npb25TaGFyZWQsIGF5dWRhU2VydmljZSwgdHJhbnNsYXRlU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xyXG4gICAgbGV0IGhheUNhbWJpb3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZvciAobGV0IHByb3BOYW1lIGluIGNoYW5nZXMpIHtcclxuICAgICAgbGV0IGNoYW5nZWRQcm9wID0gY2hhbmdlc1twcm9wTmFtZV07XHJcbiAgICAgIGlmIChwcm9wTmFtZSA9PT0gXCJkYXRhXCIpIHtcclxuICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXMgPSBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWUgPyBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWUuc2xpY2UoKSA6IFtdO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImV4Y2x1ZGVkVmFsdWVzXCIpIHtcclxuICAgICAgICB0aGlzLmV4Y2x1ZGVkVmFsdWVzID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGhheUNhbWJpb3MgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImluY2x1ZGVFbXB0eVwiKSB7XHJcbiAgICAgICAgdGhpcy5pbmNsdWRlRW1wdHkgPSBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgaGF5Q2FtYmlvcyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChoYXlDYW1iaW9zKSB7XHJcbiAgICAgIHRoaXMucG9zdFJldHJpZXZlRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHZhbHVlX2xlY3R1cmEoKTogc3RyaW5nIHtcclxuICAgIGxldCB2YWwgPSB0aGlzLmNvbnRyb2wudmFsdWU7XHJcbiAgICBsZXQgZG9tID0gdGhpcy5saXN0YU9wY2lvbmVzICYmIHRoaXMubGlzdGFPcGNpb25lcy5maW5kKChkKSA9PiBkLnZhbHVlID09IHZhbCk7XHJcbiAgICByZXR1cm4gZG9tID8gZG9tLmxhYmVsIDogbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGxhYmVsICpuZ0lmPVwiIWhpZGVMYWJlbFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiZuYnNwO1xyXG4gICAgPHNwYW4gKm5nSWY9XCJvYmxpZ2F0b3Jpb1wiIGNsYXNzPVwib2JsaWdhdG9yaW8gZmEgZmEtYXN0ZXJpc2tcIj48L3NwYW4+Jm5ic3A7Jm5ic3A7XHJcbiAgICA8aSAqbmdJZj1cImF5dWRhXCIgKGNsaWNrKT1cInNob3dBeXVkYSgpXCIgY2xhc3M9XCJidG4tYXl1ZGEgZmEgZmEtcXVlc3Rpb25cIj48L2k+XHJcbjwvbGFiZWw+XHJcbjxwICpuZ0lmPVwicmVhZE9ubHlcIiBjbGFzcz1cImxlY3R1cmFcIiBbaWRdPVwibm9tYnJlXCI+e3t2YWx1ZV9sZWN0dXJhfX08L3A+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVhZE9ubHkgJiYgISFteUZvcm1cIj5cclxuPGRpdiBbZm9ybUdyb3VwXT1cIm15Rm9ybVwiPlxyXG4gICAgPHAtZHJvcGRvd25cclxuICAgICAgICBpZD1cInt7bm9tYnJlfX1cIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImxpc3RhT3BjaW9uZXNWaXNpYmxlXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgIFxyXG4gICAgICAgIFtvcHRpb25MYWJlbF09XCJhdHJpYnV0b0xhYmVsXCJcclxuICAgICAgICBbb3B0aW9uVmFsdWVdPVwiYXRyaWJ1dG9WYWx1ZVwiXHJcbiAgICAgICAgW29wdGlvbkRpc2FibGVkXT1cImF0cmlidXRvRGlzYWJsZWRcIlxyXG4gICAgICAgIFxyXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgKG9uQmx1cik9XCJvbkJsdXIoKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnb3BjaW9uLWRlc2FjdGl2YWRhJzogaXRlbS5pbmFjdGl2b31cIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSBzcGFuIFtuZ0NsYXNzXT1cInsnb3BjaW9uLWRlc2FjdGl2YWRhJzogaXRlbVt0aGlzLmF0cmlidXRvRGlzYWJsZWRdfVwiPnt7aXRlbVt0aGlzLmF0cmlidXRvTGFiZWxdfX08L3NwYW4gLS0+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC1kcm9wZG93bj5cclxuICAgIDxjb250cm9sLW1lc3NhZ2VzICpuZ0lmPVwiY29udHJvbCE9bnVsbFwiIFtjb250cm9sXT1cImNvbnRyb2xcIiBbZmllbGRdPVwiaWRcIj48L2NvbnRyb2wtbWVzc2FnZXM+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JpdC1uZy1saWJyYXJ5L3NyYy9saWIvc2hhcmVkbGlicmFyeS9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vYml0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7OztBQUVwRjs7Ozs7Ozs7SUFRSTtBQUtKLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSw2QkFBNkI7SUFTckUsWUFDWSxNQUFzQixFQUN0QixhQUFtQyxFQUNuQyxZQUEwQixFQUMxQixnQkFBa0M7UUFFNUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMbkQsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFackMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFPLGtFQUFrRTtRQUVqRyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFPLGtFQUFrRTtRQUVqRyxxQkFBZ0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxtRkFBbUY7SUFTbEgsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUE0QztRQUN0RCxJQUFJLFVBQVUsR0FBWSxLQUFLLENBQUM7UUFDaEMsS0FBSyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDNUIsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RGLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLFFBQVEsRUFBRTtvQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztvQkFDbEUsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtpQkFBTSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUMvQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO2lCQUFNLElBQUksUUFBUSxLQUFLLGNBQWMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUM3QyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxnQkFBZ0I7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekcsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEUsMkRBQTJEO1lBQzNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNqSDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQiwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2lCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNiLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN6QixJQUFJLFNBQVMsR0FBRyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2dCQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDckMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztnQkFDckMsc0VBQXNFO1lBQ3hFLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMvRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7O2lIQTVFVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixvT0NwQmpDLGdwQ0EyQkE7MkZEUGEsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGNBQWM7a01BSWYsTUFBTTtzQkFBZCxLQUFLO2dCQUVOLGFBQWE7c0JBRFosS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQgeyBBeXVkYVNlcnZpY2UsIFNlc3Npb25TaGFyZWRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCaXREcm9wRG93bkdlbmVyYWxWMkNvbXBvbmVudCB9IGZyb20gXCIuL2JpdC1kcm9wZG93bi1nZW5lcmFsLXYyLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNlIHF1ZSB1dGlsaXphIHVuIGN1c3RvbSBjb21wb25lbnRlIHBhcmEgc2VsZWN0IGRlIGVsZW1lbnRvc1xyXG4gKiAgICA8Yml0LWRyb3Bkb3duIFtkb21haW5dPVwiJ0RPTUFJTl9USVBPX0xPRydcIiBpZD1cInRpcG9sb2dcIiBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiPiZuYnNwOyZuYnNwO1RpcHVzIGQnb3BlcmFjacOzPC9iaXQtZHJvcGRvd24+XHJcbiAqXHJcbiAqIEBpbnB1dCBkYXRhOiBhcnJheSBkZSBvYmpldG9zIGEgbW9zdHJhciBlbiBlbCBzZWxlY3QuIFB1ZWRlIHNlciBudWxsLCBlbiBjdXlvIGNhc28gZG9tYWluIG5vIHB1ZWRlIHNlciBudWxsXHJcbiAqIEBpbnB1dCBkb21haW46IG5vbWJyZSBkZWwgZG9taW5pbyBxdWUgY29udGllbmUgbG9zIGRhdG9zIHkgcXVlIG5vcyByZXNvbHZlcsOhIGxhIHDDoWdpbmEgY3VhbmRvIGNhcmd1ZSBlbCBjb21wb25lbnRlLiBQdWVkZSBzZXIgbnVsbCwgZW4gY3V5byBjYXNvIGRhdGEgbm8gcHVlZGUgc2VyIG51bGxcclxuICogQGlucHV0IGlkOiBpZGVudGlmaWNhZG9yIGRlbCBjb21wb25lbnRlIHNlbGVjdFxyXG4gKiBAaW5wdXQgZmlsdGVyOiB0cnVlIGluZGljYXLDoSBxdWUgcG9kZW1vcyBidXNjYXIgZGVudHJvIGRlbCBzZWxlY3QsIGZhbHNlIHF1ZSBuby5cclxuICoqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJiaXQtZHJvcGRvd25cIixcclxuICB0ZW1wbGF0ZVVybDogXCJiaXQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQml0RHJvcERvd25Db21wb25lbnQgZXh0ZW5kcyBCaXREcm9wRG93bkdlbmVyYWxWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBhdHJpYnV0b0xhYmVsID0gXCJsYWJlbFwiOyAgICAgICAvLyBFbCBhdHJpYnV0byBkZSBsb3Mgb2JqZXRvcyBkZSBsYSBsaXN0YSBxdWUgY29ycmVzcG9uZGUgYWwgbGFiZWxcclxuICBASW5wdXQoKVxyXG4gIGF0cmlidXRvVmFsdWUgPSBcInZhbHVlXCI7ICAgICAgIC8vIEVsIGF0cmlidXRvIGRlIGxvcyBvYmpldG9zIGRlIGxhIGxpc3RhIHF1ZSBjb3JyZXNwb25kZSBhbCB2YWxvclxyXG4gIEBJbnB1dCgpXHJcbiAgYXRyaWJ1dG9EaXNhYmxlZCA9IFwiaW5hY3Rpdm9cIjsgLy8gRWwgYXRyaWJ1dG8gZGUgbG9zIG9iamV0b3MgZGUgbGEgbGlzdGEgcXVlIGluZGljYSBzaSB1biB2YWxvciBlc3TDoSBkZXNoYWJpbGl0YWRvXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcm90ZWN0ZWQgc2Vzc2lvblNoYXJlZDogU2Vzc2lvblNoYXJlZFNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXl1ZGFTZXJ2aWNlOiBBeXVkYVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIocm91dGVyLCBzZXNzaW9uU2hhcmVkLCBheXVkYVNlcnZpY2UsIHRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcclxuICAgIGxldCBoYXlDYW1iaW9zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VkUHJvcCA9IGNoYW5nZXNbcHJvcE5hbWVdO1xyXG4gICAgICBpZiAocHJvcE5hbWUgPT09IFwiZGF0YVwiKSB7XHJcbiAgICAgICAgdGhpcy5saXN0YU9wY2lvbmVzID0gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlID8gY2hhbmdlZFByb3AuY3VycmVudFZhbHVlLnNsaWNlKCkgOiBbXTtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2Zvcm1EYXRhVmFsdWVUbyA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXMuZm9yRWFjaChvcGNpb24gPT4ge1xyXG4gICAgICAgICAgICBvcGNpb25bdGhpcy5hdHJpYnV0b1ZhbHVlXSA9IE51bWJlcihvcGNpb25bdGhpcy5hdHJpYnV0b1ZhbHVlXSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaGF5Q2FtYmlvcyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcE5hbWUgPT09IFwiZXhjbHVkZWRWYWx1ZXNcIikge1xyXG4gICAgICAgIHRoaXMuZXhjbHVkZWRWYWx1ZXMgPSBjaGFuZ2VkUHJvcC5jdXJyZW50VmFsdWU7XHJcbiAgICAgICAgaGF5Q2FtYmlvcyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcE5hbWUgPT09IFwiaW5jbHVkZUVtcHR5XCIpIHtcclxuICAgICAgICB0aGlzLmluY2x1ZGVFbXB0eSA9IGNoYW5nZWRQcm9wLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBoYXlDYW1iaW9zID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGhheUNhbWJpb3MpIHtcclxuICAgICAgdGhpcy5wb3N0UmV0cmlldmVEYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBjdXN0b20gcHJvY2Vzc2luZyBhZnRlciByZXRyaWV2aW5nIGRhdGEgYXJyYXkgZnJvbSBzZXJ2aWNlXHJcbiAgcG9zdFJldHJpZXZlRGF0YSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwibGxhbWFuZG8gYSBwb3N0UmV0cmlldmVEYXRhIHBhcmEgXCIgKyB0aGlzLm5vbWJyZSArIFwie29wY2lvbmVzOlwiICsgdGhpcy5saXN0YU9wY2lvbmVzICsgXCJ9XCIpO1xyXG4gICAgaWYgKHRoaXMubGlzdGFPcGNpb25lcykge1xyXG4gICAgICB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5saXN0YU9wY2lvbmVzKTtcclxuICAgICAgLy8gcmVwYXNhbW9zIHNpIGhheSBvcGNpb25lcyBhIGV4Y2x1aXIgcXVlIGRlYmFtb3MgZWxpbWluYXJcclxuICAgICAgaWYgKHRoaXMuZXhjbHVkZWRWYWx1ZXMpIHtcclxuICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlID0gdGhpcy5saXN0YU9wY2lvbmVzVmlzaWJsZS5maWx0ZXIoKG9wKSA9PiB0aGlzLmV4Y2x1ZGVkVmFsdWVzLmluZGV4T2Yob3AudmFsdWUpIDwgMCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGlzdGFPcGNpb25lc1Zpc2libGUgPSBbXTtcclxuICAgIH1cclxuICAgIC8vIGRldGVybWluYW1vcyBzaSBkZWJlbW9zIGluY2x1aXIgbGEgb3BjacOzbiBcInNpbiBzZWxlY2Npw7NuXCIgeSBjb24gcXXDqSB0ZXh0b1xyXG4gICAgaWYgKHRoaXMuaW5jbHVkZUVtcHR5KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiaGF5IHZhbG9yIGVtcHR5IHF1ZSBoYXkgcXVlIHRyYWR1Y2lyIHBhcmEgXCIgKyB0aGlzLm5vbWJyZSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxyXG4gICAgICAgIC5zZWxlY3RUcmFuc2xhdGVXaXRoQ29udGV4dCh0aGlzLmVtcHR5VGV4dClcclxuICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbmV3T3B0aW9uID0ge3ZhbHVlOiBudWxsLCBsYWJlbDogdHJhbnNsYXRpb24gfTtcclxuICAgICAgICAgIG5ld09wdGlvblt0aGlzLmF0cmlidXRvVmFsdWVdID0gbnVsbDtcclxuICAgICAgICAgIG5ld09wdGlvblt0aGlzLmF0cmlidXRvTGFiZWxdID0gdHJhbnNsYXRpb247XHJcbiAgICAgICAgICB0aGlzLmxpc3RhT3BjaW9uZXNWaXNpYmxlLnNwbGljZSgwLCAwLCBuZXdPcHRpb24pO1xyXG4gICAgICAgICAgdGhpcy5lbXB0eVRleHRSZXNvbHZlZCA9IHRyYW5zbGF0aW9uO1xyXG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhcImxhIGxpc3RhIGRlIG9wY2lvbmVzIHZhbGVcIiwgdGhpcy5saXN0YU9wY2lvbmVzVmlzaWJsZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWVfbGVjdHVyYSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHZhbCA9IHRoaXMuY29udHJvbC52YWx1ZTtcclxuICAgIGxldCBkb20gPSB0aGlzLmxpc3RhT3BjaW9uZXMgJiYgdGhpcy5saXN0YU9wY2lvbmVzLmZpbmQoKGQpID0+IGQudmFsdWUgPT0gdmFsKTtcclxuICAgIHJldHVybiBkb20gPyBkb20ubGFiZWwgOiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgKm5nSWY9XCIhaGlkZUxhYmVsXCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jm5ic3A7XHJcbiAgICA8c3BhbiAqbmdJZj1cIm9ibGlnYXRvcmlvXCIgY2xhc3M9XCJvYmxpZ2F0b3JpbyBmYSBmYS1hc3Rlcmlza1wiPjwvc3Bhbj4mbmJzcDsmbmJzcDtcclxuICAgIDxpICpuZ0lmPVwiYXl1ZGFcIiAoY2xpY2spPVwic2hvd0F5dWRhKClcIiBjbGFzcz1cImJ0bi1heXVkYSBmYSBmYS1xdWVzdGlvblwiPjwvaT5cclxuPC9sYWJlbD5cclxuPHAgKm5nSWY9XCJyZWFkT25seVwiIGNsYXNzPVwibGVjdHVyYVwiIFtpZF09XCJub21icmVcIj57e3ZhbHVlX2xlY3R1cmF9fTwvcD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZWFkT25seSAmJiAhIW15Rm9ybVwiPlxyXG48ZGl2IFtmb3JtR3JvdXBdPVwibXlGb3JtXCI+XHJcbiAgICA8cC1kcm9wZG93blxyXG4gICAgICAgIGlkPVwie3tub21icmV9fVwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwibGlzdGFPcGNpb25lc1Zpc2libGVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICBbZmlsdGVyXT1cImZpbHRlclwiXHJcbiAgICAgICAgXHJcbiAgICAgICAgW29wdGlvbkxhYmVsXT1cImF0cmlidXRvTGFiZWxcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZV09XCJhdHJpYnV0b1ZhbHVlXCJcclxuICAgICAgICBbb3B0aW9uRGlzYWJsZWRdPVwiYXRyaWJ1dG9EaXNhYmxlZFwiXHJcbiAgICAgICAgXHJcbiAgICAgICAgKG9uRm9jdXMpPVwib25Gb2N1cygpXCJcclxuICAgICAgICAob25CbHVyKT1cIm9uQmx1cigpXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydvcGNpb24tZGVzYWN0aXZhZGEnOiBpdGVtW2F0cmlidXRvRGlzYWJsZWRdfVwiPnt7aXRlbVthdHJpYnV0b0xhYmVsXX19PC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtZHJvcGRvd24+XHJcbiAgICA8Y29udHJvbC1tZXNzYWdlcyAqbmdJZj1cImNvbnRyb2whPW51bGxcIiBbY29udHJvbF09XCJjb250cm9sXCIgW2ZpZWxkXT1cImlkXCI+PC9jb250cm9sLW1lc3NhZ2VzPlxyXG48L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -4115,13 +4115,15 @@ class BitDropDownGeneralV2Component extends BitGeneralV2Component {
4115
4115
  }
4116
4116
  }
4117
4117
  BitDropDownGeneralV2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownGeneralV2Component, deps: [{ token: i1.ActivatedRoute }, { token: SessionSharedService }, { token: AyudaService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
4118
- BitDropDownGeneralV2Component.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownGeneralV2Component, inputs: { hideLabel: "hideLabel", data: "data", id: "id", excludedValues: "excludedValues", emptyText: "emptyText", includeEmpty: "includeEmpty" }, usesInheritance: true, ngImport: i0 });
4118
+ BitDropDownGeneralV2Component.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownGeneralV2Component, inputs: { hideLabel: "hideLabel", data: "data", transformDataValueTo: "transformDataValueTo", id: "id", excludedValues: "excludedValues", emptyText: "emptyText", includeEmpty: "includeEmpty" }, usesInheritance: true, ngImport: i0 });
4119
4119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownGeneralV2Component, decorators: [{
4120
4120
  type: Directive
4121
4121
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: SessionSharedService }, { type: AyudaService }, { type: TranslateService }]; }, propDecorators: { hideLabel: [{
4122
4122
  type: Input
4123
4123
  }], data: [{
4124
4124
  type: Input
4125
+ }], transformDataValueTo: [{
4126
+ type: Input
4125
4127
  }], id: [{
4126
4128
  type: Input
4127
4129
  }], excludedValues: [{
@@ -4159,6 +4161,11 @@ class BitDropDownComponent extends BitDropDownGeneralV2Component {
4159
4161
  let changedProp = changes[propName];
4160
4162
  if (propName === "data") {
4161
4163
  this.listaOpciones = changedProp.currentValue ? changedProp.currentValue.slice() : [];
4164
+ if (this.transformDataValueTo == "number") {
4165
+ this.listaOpciones.forEach(opcion => {
4166
+ opcion[this.atributoValue] = Number(opcion[this.atributoValue]);
4167
+ });
4168
+ }
4162
4169
  hayCambios = true;
4163
4170
  }
4164
4171
  else if (propName === "excludedValues") {
@@ -4174,6 +4181,35 @@ class BitDropDownComponent extends BitDropDownGeneralV2Component {
4174
4181
  this.postRetrieveData();
4175
4182
  }
4176
4183
  }
4184
+ // custom processing after retrieving data array from service
4185
+ postRetrieveData() {
4186
+ console.log("llamando a postRetrieveData para " + this.nombre + "{opciones:" + this.listaOpciones + "}");
4187
+ if (this.listaOpciones) {
4188
+ this.listaOpcionesVisible = Object.assign([], this.listaOpciones);
4189
+ // repasamos si hay opciones a excluir que debamos eliminar
4190
+ if (this.excludedValues) {
4191
+ this.listaOpcionesVisible = this.listaOpcionesVisible.filter((op) => this.excludedValues.indexOf(op.value) < 0);
4192
+ }
4193
+ }
4194
+ else {
4195
+ this.listaOpcionesVisible = [];
4196
+ }
4197
+ // determinamos si debemos incluir la opción "sin selección" y con qué texto
4198
+ if (this.includeEmpty) {
4199
+ console.log("hay valor empty que hay que traducir para " + this.nombre);
4200
+ this.translateService
4201
+ .selectTranslateWithContext(this.emptyText)
4202
+ .pipe(take(1))
4203
+ .subscribe((translation) => {
4204
+ let newOption = { value: null, label: translation };
4205
+ newOption[this.atributoValue] = null;
4206
+ newOption[this.atributoLabel] = translation;
4207
+ this.listaOpcionesVisible.splice(0, 0, newOption);
4208
+ this.emptyTextResolved = translation;
4209
+ //console.log("la lista de opciones vale", this.listaOpcionesVisible);
4210
+ });
4211
+ }
4212
+ }
4177
4213
  get value_lectura() {
4178
4214
  let val = this.control.value;
4179
4215
  let dom = this.listaOpciones && this.listaOpciones.find((d) => d.value == val);
@@ -4181,10 +4217,10 @@ class BitDropDownComponent extends BitDropDownGeneralV2Component {
4181
4217
  }
4182
4218
  }
4183
4219
  BitDropDownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownComponent, deps: [{ token: i1.ActivatedRoute }, { token: SessionSharedService }, { token: AyudaService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
4184
- BitDropDownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownComponent, selector: "bit-dropdown", inputs: { filter: "filter", atributoLabel: "atributoLabel", atributoValue: "atributoValue", atributoDisabled: "atributoDisabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n", components: [{ type: i3$3.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", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
4220
+ BitDropDownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: BitDropDownComponent, selector: "bit-dropdown", inputs: { filter: "filter", atributoLabel: "atributoLabel", atributoValue: "atributoValue", atributoDisabled: "atributoDisabled" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item[atributoDisabled]}\">{{item[atributoLabel]}}</span>\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n", components: [{ type: i3$3.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", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
4185
4221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: BitDropDownComponent, decorators: [{
4186
4222
  type: Component,
4187
- args: [{ selector: "bit-dropdown", template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item.inactivo}\">{{item.label}}</span>\r\n <!-- span [ngClass]=\"{'opcion-desactivada': item[this.atributoDisabled]}\">{{item[this.atributoLabel]}}</span -->\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n" }]
4223
+ args: [{ selector: "bit-dropdown", template: "<label *ngIf=\"!hideLabel\">\r\n <ng-content></ng-content>&nbsp;\r\n <span *ngIf=\"obligatorio\" class=\"obligatorio fa fa-asterisk\"></span>&nbsp;&nbsp;\r\n <i *ngIf=\"ayuda\" (click)=\"showAyuda()\" class=\"btn-ayuda fa fa-question\"></i>\r\n</label>\r\n<p *ngIf=\"readOnly\" class=\"lectura\" [id]=\"nombre\">{{value_lectura}}</p>\r\n<ng-container *ngIf=\"!readOnly && !!myForm\">\r\n<div [formGroup]=\"myForm\">\r\n <p-dropdown\r\n id=\"{{nombre}}\"\r\n [options]=\"listaOpcionesVisible\"\r\n [formControl]=\"control\"\r\n [filter]=\"filter\"\r\n \r\n [optionLabel]=\"atributoLabel\"\r\n [optionValue]=\"atributoValue\"\r\n [optionDisabled]=\"atributoDisabled\"\r\n \r\n (onFocus)=\"onFocus()\"\r\n (onBlur)=\"onBlur()\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <span [ngClass]=\"{'opcion-desactivada': item[atributoDisabled]}\">{{item[atributoLabel]}}</span>\r\n </ng-template>\r\n </p-dropdown>\r\n <control-messages *ngIf=\"control!=null\" [control]=\"control\" [field]=\"id\"></control-messages>\r\n</div>\r\n</ng-container>\r\n" }]
4188
4224
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: SessionSharedService }, { type: AyudaService }, { type: TranslateService }]; }, propDecorators: { filter: [{
4189
4225
  type: Input
4190
4226
  }], atributoLabel: [{