@eqproject/eqp-dynamic-module 0.0.3 → 0.0.5

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.
Files changed (90) hide show
  1. package/README.md +43 -24
  2. package/bundles/eqproject-eqp-dynamic-module.umd.js +1166 -334
  3. package/bundles/eqproject-eqp-dynamic-module.umd.js.map +1 -1
  4. package/bundles/eqproject-eqp-dynamic-module.umd.min.js +2 -2
  5. package/bundles/eqproject-eqp-dynamic-module.umd.min.js.map +1 -1
  6. package/eqproject-eqp-dynamic-module.d.ts +2 -1
  7. package/eqproject-eqp-dynamic-module.metadata.json +1 -1
  8. package/esm2015/eqproject-eqp-dynamic-module.js +3 -2
  9. package/esm2015/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.js +198 -22
  10. package/esm2015/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.js +124 -9
  11. package/esm2015/lib/components/private/add-form-field/add-form-field.component.js +107 -16
  12. package/esm2015/lib/components/private/dynamic-module-field/dynamic-module-field.component.js +2 -2
  13. package/esm2015/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.js +10 -21
  14. package/esm2015/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.js +2 -2
  15. package/esm2015/lib/components/private/field-templates/date-field-template/date-field-template.component.js +2 -2
  16. package/esm2015/lib/components/private/field-templates/image-field-template/image-field-template.component.js +148 -6
  17. package/esm2015/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.js +21 -24
  18. package/esm2015/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.js +10 -2
  19. package/esm2015/lib/components/private/field-templates/text-field-template/text-field-template.component.js +18 -2
  20. package/esm2015/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.js +2 -2
  21. package/esm2015/lib/components/private/form-records/add-form-record/add-form-record.component.js +2 -2
  22. package/esm2015/lib/components/private/form-records/list-form-record/list-form-record.component.js +2 -18
  23. package/esm2015/lib/components/private/spinner/spinner.component.js +23 -0
  24. package/esm2015/lib/eqp-dynamic-module.module.js +6 -2
  25. package/esm2015/lib/models/endPointConfiguration.model.js +23 -0
  26. package/esm2015/lib/models/fields/dateField.model.js +1 -1
  27. package/esm2015/lib/models/fields/imageField.model.js +5 -1
  28. package/esm2015/lib/models/fields/listValueField.model.js +3 -1
  29. package/esm2015/lib/models/fields/numericField.model.js +1 -1
  30. package/esm2015/lib/models/fields/textField.model.js +10 -1
  31. package/esm2015/lib/models/form.model.js +1 -1
  32. package/esm2015/lib/models/record.model.js +6 -1
  33. package/esm2015/lib/services/eqp-dynamic-module-dialog.service.js +10 -1
  34. package/esm2015/lib/services/spinner.service.js +43 -0
  35. package/esm2015/lib/services/utilityHelper.services.js +180 -13
  36. package/esm2015/public-api.js +3 -1
  37. package/esm5/eqproject-eqp-dynamic-module.js +3 -2
  38. package/esm5/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.js +204 -22
  39. package/esm5/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.js +126 -8
  40. package/esm5/lib/components/private/add-form-field/add-form-field.component.js +107 -16
  41. package/esm5/lib/components/private/dynamic-module-field/dynamic-module-field.component.js +2 -2
  42. package/esm5/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.js +10 -21
  43. package/esm5/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.js +2 -2
  44. package/esm5/lib/components/private/field-templates/date-field-template/date-field-template.component.js +2 -2
  45. package/esm5/lib/components/private/field-templates/image-field-template/image-field-template.component.js +157 -6
  46. package/esm5/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.js +22 -24
  47. package/esm5/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.js +10 -2
  48. package/esm5/lib/components/private/field-templates/text-field-template/text-field-template.component.js +18 -2
  49. package/esm5/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.js +2 -2
  50. package/esm5/lib/components/private/form-records/add-form-record/add-form-record.component.js +2 -2
  51. package/esm5/lib/components/private/form-records/list-form-record/list-form-record.component.js +2 -18
  52. package/esm5/lib/components/private/spinner/spinner.component.js +24 -0
  53. package/esm5/lib/eqp-dynamic-module.module.js +6 -2
  54. package/esm5/lib/models/endPointConfiguration.model.js +33 -0
  55. package/esm5/lib/models/fields/dateField.model.js +1 -1
  56. package/esm5/lib/models/fields/imageField.model.js +9 -1
  57. package/esm5/lib/models/fields/listValueField.model.js +7 -1
  58. package/esm5/lib/models/fields/numericField.model.js +1 -1
  59. package/esm5/lib/models/fields/textField.model.js +10 -1
  60. package/esm5/lib/models/form.model.js +1 -1
  61. package/esm5/lib/models/record.model.js +8 -1
  62. package/esm5/lib/services/eqp-dynamic-module-dialog.service.js +11 -1
  63. package/esm5/lib/services/spinner.service.js +46 -0
  64. package/esm5/lib/services/utilityHelper.services.js +182 -11
  65. package/esm5/public-api.js +3 -1
  66. package/fesm2015/eqproject-eqp-dynamic-module.js +1021 -239
  67. package/fesm2015/eqproject-eqp-dynamic-module.js.map +1 -1
  68. package/fesm5/eqproject-eqp-dynamic-module.js +1160 -335
  69. package/fesm5/eqproject-eqp-dynamic-module.js.map +1 -1
  70. package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +78 -4
  71. package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +51 -2
  72. package/lib/components/private/add-form-field/add-form-field.component.d.ts +42 -3
  73. package/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.d.ts +1 -17
  74. package/lib/components/private/field-templates/image-field-template/image-field-template.component.d.ts +51 -2
  75. package/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.d.ts +3 -11
  76. package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +3 -1
  77. package/lib/components/private/spinner/spinner.component.d.ts +9 -0
  78. package/lib/models/endPointConfiguration.model.d.ts +35 -0
  79. package/lib/models/fields/dateField.model.d.ts +1 -0
  80. package/lib/models/fields/imageField.model.d.ts +10 -4
  81. package/lib/models/fields/listValueField.model.d.ts +17 -0
  82. package/lib/models/fields/numericField.model.d.ts +3 -1
  83. package/lib/models/fields/textField.model.d.ts +9 -1
  84. package/lib/models/form.model.d.ts +1 -0
  85. package/lib/models/record.model.d.ts +8 -0
  86. package/lib/services/eqp-dynamic-module-dialog.service.d.ts +6 -0
  87. package/lib/services/spinner.service.d.ts +15 -0
  88. package/lib/services/utilityHelper.services.d.ts +30 -1
  89. package/package.json +5 -3
  90. package/public-api.d.ts +2 -0
@@ -119,9 +119,9 @@ __decorate([
119
119
  DynamicModuleFieldComponent = __decorate([
120
120
  Component({
121
121
  selector: 'dynamic-module-field',
122
- template: "<text-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo di testo']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</text-field-template>\n\n<textarea-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Area di testo']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</textarea-field-template>\n\n<boolean-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Booleano']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</boolean-field-template>\n\n<date-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Data e/o ora']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</date-field-template>\n\n<numeric-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo numerico']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</numeric-field-template>\n\n<list-value-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Elenco generico']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</list-value-field-template>\n\n<attachment-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Allegato']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</attachment-field-template>\n\n<image-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Immagine']\"\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\n</image-field-template>\n\n<list-form-record #listInnerFormRecords *ngIf=\"field.FieldType == FieldTypeEnum['Form di dettaglio']\"\n [form]=\"getInnerFormFromField(field)\" [values]=\"record[field.Name]\"\n (onAddViewEditRecord)=\"onAddViewEditInnerFormRecord($event, field)\">\n</list-form-record>\n\n<!-- DIALOG PER AGGIUNGERE/MODIFICARE/VISUALIZZARE UN RECORD IN UNA FORM DI DETTAGLIO -->\n<ng-template #dialogInnerFormRecord>\n <add-form-record [form]=\"selectedInnerForm\" [record]=\"selectedInnerFormRecord\" [onlyView]=\"onlyViewInnerFormRecord\"\n (saveRecordEvent)=\"onSaveInnerFormRecord($event)\"></add-form-record>\n</ng-template>",
122
+ template: "<text-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo di testo']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</text-field-template>\r\n\r\n<textarea-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Area di testo']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</textarea-field-template>\r\n\r\n<boolean-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Booleano']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</boolean-field-template>\r\n\r\n<date-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Data e/o ora']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</date-field-template>\r\n\r\n<numeric-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo numerico']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</numeric-field-template>\r\n\r\n<list-value-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Elenco generico']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</list-value-field-template>\r\n\r\n<attachment-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Allegato']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</attachment-field-template>\r\n\r\n<image-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Immagine']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</image-field-template>\r\n\r\n<list-form-record #listInnerFormRecords *ngIf=\"field.FieldType == FieldTypeEnum['Form di dettaglio']\"\r\n [form]=\"getInnerFormFromField(field)\" [values]=\"record[field.Name]\"\r\n (onAddViewEditRecord)=\"onAddViewEditInnerFormRecord($event, field)\">\r\n</list-form-record>\r\n\r\n<!-- DIALOG PER AGGIUNGERE/MODIFICARE/VISUALIZZARE UN RECORD IN UNA FORM DI DETTAGLIO -->\r\n<ng-template #dialogInnerFormRecord>\r\n <add-form-record [form]=\"selectedInnerForm\" [record]=\"selectedInnerFormRecord\" [onlyView]=\"onlyViewInnerFormRecord\"\r\n (saveRecordEvent)=\"onSaveInnerFormRecord($event)\"></add-form-record>\r\n</ng-template>",
123
123
  styles: [""]
124
124
  })
125
125
  ], DynamicModuleFieldComponent);
126
126
  export { DynamicModuleFieldComponent };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVxcHJvamVjdC9lcXAtZHluYW1pYy1tb2R1bGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcml2YXRlL2R5bmFtaWMtbW9kdWxlLWZpZWxkL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBMEIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5FLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFRdEQsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFxQnRDLFlBQ1UsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQWpCakIsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUxRSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQU05Qiw0QkFBdUIsR0FBWSxLQUFLLENBQUM7SUFVckMsQ0FBQztJQUdMLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFB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LElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRixDQUFBOztZQXpGbUIsU0FBUzs7QUFwQmxCO0lBQVIsS0FBSyxFQUFFOzBEQUFrQjtBQUNqQjtJQUFSLEtBQUssRUFBRTt5REFBWTtBQUNYO0lBQVIsS0FBSyxFQUFFOzJEQUFnQjtBQUNkO0lBQVQsTUFBTSxFQUFFO2lFQUFpRTtBQVVwQjtJQUFyRCxTQUFTLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7MEVBQXlDO0FBRy9EO0lBQTlCLFlBQVksQ0FBQyxlQUFlLENBQUM7a0VBQXVEO0FBQy9DO0lBQXJDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQzt5RUFBMEQ7QUFuQnBGLDJCQUEyQjtJQUx2QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLHFpRkFBb0Q7O0tBRXJELENBQUM7R0FDVywyQkFBMkIsQ0ErR3ZDO1NBL0dZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBJQmFzZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9pQmFzZUZpZWxkQ29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlRmllbGQsIEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFzZUZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcbmltcG9ydCB7IExpc3RGb3JtUmVjb3JkQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1yZWNvcmRzL2xpc3QtZm9ybS1yZWNvcmQvbGlzdC1mb3JtLXJlY29yZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkeW5hbWljLW1vZHVsZS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLW1vZHVsZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY01vZHVsZUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBJQmFzZUZpZWxkQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBmaWVsZDogQmFzZUZpZWxkO1xuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcblxuICBGaWVsZFR5cGVFbnVtID0gRmllbGRUeXBlRW51bTtcblxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgYWdnaXVuZ2VyZS9tb2RpZmljYXJlIGkgcmVjb3JkIGRpIHVuYSBmb3JtIGRpIGRldHRhZ2xpb1xuICBzZWxlY3RlZElubmVyRm9ybTogRm9ybTtcbiAgc2VsZWN0ZWRJbm5lckZvcm1SZWNvcmQ6IFJlY29yZDtcbiAgaW5kZXhJbm5lckZvcm1SZWNvcmQ6IG51bWJlcjtcbiAgb25seVZpZXdJbm5lckZvcm1SZWNvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlhbG9nSW5uZXJGb3JtUmVjb3JkUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVSZWY8YW55Pj47XG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ0lubmVyRm9ybVJlY29yZCcsIHsgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ0lubmVyRm9ybVJlY29yZDogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8jZW5kcmVnaW9uXG5cbiAgQFZpZXdDaGlsZHJlbihcImZpZWxkVGVtcGxhdGVcIikgZmllbGRUZW1wbGF0ZTogUXVlcnlMaXN0PER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudD47XG4gIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJbm5lckZvcm1SZWNvcmRzJykgbGlzdElubmVyRm9ybVJlY29yZHM6IFF1ZXJ5TGlzdDxMaXN0Rm9ybVJlY29yZENvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xuICApIHsgfVxuXG5cbiAgdXBkYXRlRmllbGQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmllbGRUZW1wbGF0ZSAmJiB0aGlzLmZpZWxkVGVtcGxhdGUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5maWVsZFRlbXBsYXRlLmZvckVhY2goZiA9PiBmLnVwZGF0ZUZpZWxkKCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBjYW1iaW8gZGVsIHZhbG9yZSBkaSBvZ25pIHByb3ByaWV0w6AgZGVsbCdvZ2dldHRvIHJlY29yZC5cbiAgICogU2VydmUgYWQgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZGkgdHV0dGkgaSBjYW1waSBjaGUgaGFubm8gdW5hIGZvcm11bGEuXG4gICAqL1xuICBvblJlY29yZENoYW5nZSgpIHtcbiAgICB0aGlzLnJlY29yZENoYW5nZS5lbWl0KHRoaXMucmVjb3JkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRvZG8gcGVyIHJlY3VwZXJhcmUgdW5hIElubmVyRm9ybSBhIHBhcnRpcmUgZGFsIEZpZWxkIGNoZSBsYSByYXBwcmVzZW50YS5cbiAgICogQHBhcmFtIGZpZWxkIENhbXBvIGEgcGFydGlyZSBkYWwgcXVhbGUgc2kgdnVvbGUgcmVjdXBlcmFyZSBsYSBJbm5lckZvcm0uXG4gICAqIEByZXR1cm5zIFJlc3RpdHVpc2NlIHVuIG9nZ2V0dG8gZGkgdGlwbyBGb3JtLlxuICAgKi9cbiAgZ2V0SW5uZXJGb3JtRnJvbUZpZWxkKGZpZWxkOiBCYXNlRmllbGQpOiBGb3JtIHtcbiAgICBpZiAodGhpcy5mb3JtLklubmVyRm9ybXMgJiYgdGhpcy5mb3JtLklubmVyRm9ybXMuZmluZChmID0+IGYuTmFtZSA9PSBmaWVsZC5MYWJlbCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5maW5kKGYgPT4gZi5OYW1lID09IGZpZWxkLkxhYmVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gKiBNZXRvZG8gcGVyIGFwcmlyZSB1biBkaWFsb2cgaW4gY3VpIGFnZ2l1bmdlcmUvbW9kaWZpY2FyZS92aXN1YWxpenphcmUgdW4gcmVjb3JkIGFwcGFydGVuZW50ZVxuICogYSB1bmEgZm9ybSBkaSBkZXR0YWdsaW8uXG4gKiBAcGFyYW0gcmVjb3JkIEV2ZW50byBkaSBvdXRwdXQgZGVsIGNvbXBvbmVudGUgbGlzdC1mb3JtLXJlY29yZCwgY29udGllbmUgaWwgcmVjb3JkIHNlbGV6aW9uYXRvIGUgdW4gYm9vbGVubyBjaGUgaW5kaWNhIFxuICogc2UgbCd1dGVudGUgdnVvbGUgbW9kaWZpY2FyZSBvIHZpc3VhbGl6emFyZSBsJ2VsZW1lbnRvIHNlbGV6aW9uYXRvLlxuICogQHBhcmFtIGlubmVyRm9ybSBDb250aWVuZSBsYSBGb3JtIGRpIGRldHRhZ2xpbyBkYWxsYSBxdWFsZSDDqCBzdGF0byByaWNoaWVzdG8gaWwgcmVjb3JkLlxuICovXG4gIG9uQWRkVmlld0VkaXRJbm5lckZvcm1SZWNvcmQocmVjb3JkOiB7IHJlY29yZDogUmVjb3JkLCBvbmx5VmlldzogYm9vbGVhbiB9LCBmaWVsZDogQmFzZUZpZWxkKSB7XG4gICAgdGhpcy5zZWxlY3RlZElubmVyRm9ybSA9IHRoaXMuZ2V0SW5uZXJGb3JtRnJvbUZpZWxkKGZpZWxkKTtcbiAgICBpZiAocmVjb3JkID09IG51bGwpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm1SZWNvcmQgPSBuZXcgUmVjb3JkKCk7XG4gICAgICB0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkID0gbnVsbDtcbiAgICAgIHRoaXMub25seVZpZXdJbm5lckZvcm1SZWNvcmQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZElubmVyRm9ybVJlY29yZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVjb3JkLnJlY29yZCkpO1xuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IHRoaXMucmVjb3JkW2ZpZWxkLk5hbWVdLmluZGV4T2YocmVjb3JkKTtcbiAgICAgIHRoaXMub25seVZpZXdJbm5lckZvcm1SZWNvcmQgPSByZWNvcmQub25seVZpZXc7XG4gICAgfVxuXG4gICAgdGhpcy5kaWFsb2dJbm5lckZvcm1SZWNvcmRSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuZGlhbG9nSW5uZXJGb3JtUmVjb3JkLCB7XG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIHdpZHRoOiAnNzUlJ1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBzYWx2YXRhZ2dpbyBvIGFsbGEgY2hpdXN1cmEgZGVsIGRpYWxvZyBkaSBhZ2dpdW50YS9tb2RpZmljYS92aXN1YWxpenphemlvbmVcbiAgICogZGkgdW4gcmVjb3JkIGRpIHVuYSBmb3JtIGRpIGRldHRhZ2xpby5cbiAgICogQHBhcmFtIHJlY29yZCBPZ2dldHRvIHJlc3RpdHVpdG8gZGFsIGNvbXBvbmVudGUgYWRkLWZvcm0tZmllbGQgKHF1ZXN0byBxdWkpIGNvbnRlbmVudGUgaWwgUmVjb3JkIFxuICAgKiBhZ2dpb3JuYXRvIGRhbGwndXRlbnRlLiBTZSBudWxsIGFsbG9yYSBsJ3V0ZW50ZSBub24gaGEgbW9kaWZpY2F0byBudWxsYSBlIGhhIGNoaXVzbyBpbCBkaWFsb2cuXG4gICAqL1xuICBvblNhdmVJbm5lckZvcm1SZWNvcmQocmVjb3JkOiBSZWNvcmQpIHtcbiAgICBpZiAocmVjb3JkICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGFycmF5TmFtZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZElubmVyRm9ybS5OYW1lLnNwbGl0KCcgJykuam9pbignXycpO1xuICAgICAgaWYgKHRoaXMuaW5kZXhJbm5lckZvcm1SZWNvcmQgIT0gbnVsbCAmJiB0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkID49IDApIHtcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXVt0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkXSA9IHJlY29yZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5yZWNvcmRbYXJyYXlOYW1lXSkge1xuICAgICAgICAgIHRoaXMucmVjb3JkW2FycmF5TmFtZV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlY29yZFthcnJheU5hbWVdLnB1c2gocmVjb3JkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaWFsb2dJbm5lckZvcm1SZWNvcmRSZWYuY2xvc2UoKTtcblxuICAgIC8vIFJpY2FyaWNvIGxhIHRhYmVsbGEgZGVpIHJlY29yZCBwZXIgdmlzdWFsaXp6YXJlIGxlIG1vZGlmaWNoZSBmYXR0ZSBkYWxsJ3V0ZW50ZS5cbiAgICBpZiAodGhpcy5saXN0SW5uZXJGb3JtUmVjb3JkcyAmJiB0aGlzLmxpc3RJbm5lckZvcm1SZWNvcmRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMuZm9yRWFjaChsaXN0ID0+IHtcbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC50YWJsZVJlY29yZHMpIHtcbiAgICAgICAgICBsaXN0LnRhYmxlUmVjb3Jkcy5yZWxvYWREYXRhdGFibGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVxcHJvamVjdC9lcXAtZHluYW1pYy1tb2R1bGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcml2YXRlL2R5bmFtaWMtbW9kdWxlLWZpZWxkL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBMEIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5FLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFRdEQsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFxQnRDLFlBQ1UsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQWpCakIsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUxRSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQU05Qiw0QkFBdUIsR0FBWSxLQUFLLENBQUM7SUFVckMsQ0FBQztJQUdMLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFB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LElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRixDQUFBOztZQXpGbUIsU0FBUzs7QUFwQmxCO0lBQVIsS0FBSyxFQUFFOzBEQUFrQjtBQUNqQjtJQUFSLEtBQUssRUFBRTt5REFBWTtBQUNYO0lBQVIsS0FBSyxFQUFFOzJEQUFnQjtBQUNkO0lBQVQsTUFBTSxFQUFFO2lFQUFpRTtBQVVwQjtJQUFyRCxTQUFTLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7MEVBQXlDO0FBRy9EO0lBQTlCLFlBQVksQ0FBQyxlQUFlLENBQUM7a0VBQXVEO0FBQy9DO0lBQXJDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQzt5RUFBMEQ7QUFuQnBGLDJCQUEyQjtJQUx2QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLHVuRkFBb0Q7O0tBRXJELENBQUM7R0FDVywyQkFBMkIsQ0ErR3ZDO1NBL0dZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGQsIEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFzZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IExpc3RGb3JtUmVjb3JkQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1yZWNvcmRzL2xpc3QtZm9ybS1yZWNvcmQvbGlzdC1mb3JtLXJlY29yZC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkeW5hbWljLW1vZHVsZS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLW1vZHVsZS1maWVsZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTW9kdWxlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIElCYXNlRmllbGRDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBmaWVsZDogQmFzZUZpZWxkO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuXHJcbiAgRmllbGRUeXBlRW51bSA9IEZpZWxkVHlwZUVudW07XHJcblxyXG4gIC8vI3JlZ2lvbiBQcm9wcmlldMOgIHBlciBhZ2dpdW5nZXJlL21vZGlmaWNhcmUgaSByZWNvcmQgZGkgdW5hIGZvcm0gZGkgZGV0dGFnbGlvXHJcbiAgc2VsZWN0ZWRJbm5lckZvcm06IEZvcm07XHJcbiAgc2VsZWN0ZWRJbm5lckZvcm1SZWNvcmQ6IFJlY29yZDtcclxuICBpbmRleElubmVyRm9ybVJlY29yZDogbnVtYmVyO1xyXG4gIG9ubHlWaWV3SW5uZXJGb3JtUmVjb3JkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGlhbG9nSW5uZXJGb3JtUmVjb3JkUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVSZWY8YW55Pj47XHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nSW5uZXJGb3JtUmVjb3JkJywgeyBzdGF0aWM6IHRydWUgfSkgZGlhbG9nSW5uZXJGb3JtUmVjb3JkOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBAVmlld0NoaWxkcmVuKFwiZmllbGRUZW1wbGF0ZVwiKSBmaWVsZFRlbXBsYXRlOiBRdWVyeUxpc3Q8RHluYW1pY01vZHVsZUZpZWxkQ29tcG9uZW50PjtcclxuICBAVmlld0NoaWxkcmVuKCdsaXN0SW5uZXJGb3JtUmVjb3JkcycpIGxpc3RJbm5lckZvcm1SZWNvcmRzOiBRdWVyeUxpc3Q8TGlzdEZvcm1SZWNvcmRDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHsgfVxyXG5cclxuXHJcbiAgdXBkYXRlRmllbGQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5maWVsZFRlbXBsYXRlICYmIHRoaXMuZmllbGRUZW1wbGF0ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZmllbGRUZW1wbGF0ZS5mb3JFYWNoKGYgPT4gZi51cGRhdGVGaWVsZCgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRpIG9nbmkgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gcmVjb3JkLlxyXG4gICAqIFNlcnZlIGFkIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRpIHR1dHRpIGkgY2FtcGkgY2hlIGhhbm5vIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJlY3VwZXJhcmUgdW5hIElubmVyRm9ybSBhIHBhcnRpcmUgZGFsIEZpZWxkIGNoZSBsYSByYXBwcmVzZW50YS5cclxuICAgKiBAcGFyYW0gZmllbGQgQ2FtcG8gYSBwYXJ0aXJlIGRhbCBxdWFsZSBzaSB2dW9sZSByZWN1cGVyYXJlIGxhIElubmVyRm9ybS5cclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSB1biBvZ2dldHRvIGRpIHRpcG8gRm9ybS5cclxuICAgKi9cclxuICBnZXRJbm5lckZvcm1Gcm9tRmllbGQoZmllbGQ6IEJhc2VGaWVsZCk6IEZvcm0ge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5Jbm5lckZvcm1zICYmIHRoaXMuZm9ybS5Jbm5lckZvcm1zLmZpbmQoZiA9PiBmLk5hbWUgPT0gZmllbGQuTGFiZWwpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5maW5kKGYgPT4gZi5OYW1lID09IGZpZWxkLkxhYmVsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIE1ldG9kbyBwZXIgYXByaXJlIHVuIGRpYWxvZyBpbiBjdWkgYWdnaXVuZ2VyZS9tb2RpZmljYXJlL3Zpc3VhbGl6emFyZSB1biByZWNvcmQgYXBwYXJ0ZW5lbnRlXHJcbiAqIGEgdW5hIGZvcm0gZGkgZGV0dGFnbGlvLlxyXG4gKiBAcGFyYW0gcmVjb3JkIEV2ZW50byBkaSBvdXRwdXQgZGVsIGNvbXBvbmVudGUgbGlzdC1mb3JtLXJlY29yZCwgY29udGllbmUgaWwgcmVjb3JkIHNlbGV6aW9uYXRvIGUgdW4gYm9vbGVubyBjaGUgaW5kaWNhIFxyXG4gKiBzZSBsJ3V0ZW50ZSB2dW9sZSBtb2RpZmljYXJlIG8gdmlzdWFsaXp6YXJlIGwnZWxlbWVudG8gc2VsZXppb25hdG8uXHJcbiAqIEBwYXJhbSBpbm5lckZvcm0gQ29udGllbmUgbGEgRm9ybSBkaSBkZXR0YWdsaW8gZGFsbGEgcXVhbGUgw6ggc3RhdG8gcmljaGllc3RvIGlsIHJlY29yZC5cclxuICovXHJcbiAgb25BZGRWaWV3RWRpdElubmVyRm9ybVJlY29yZChyZWNvcmQ6IHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0sIGZpZWxkOiBCYXNlRmllbGQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm0gPSB0aGlzLmdldElubmVyRm9ybUZyb21GaWVsZChmaWVsZCk7XHJcbiAgICBpZiAocmVjb3JkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElubmVyRm9ybVJlY29yZCA9IG5ldyBSZWNvcmQoKTtcclxuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IG51bGw7XHJcbiAgICAgIHRoaXMub25seVZpZXdJbm5lckZvcm1SZWNvcmQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm1SZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlY29yZC5yZWNvcmQpKTtcclxuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IHRoaXMucmVjb3JkW2ZpZWxkLk5hbWVdLmluZGV4T2YocmVjb3JkKTtcclxuICAgICAgdGhpcy5vbmx5Vmlld0lubmVyRm9ybVJlY29yZCA9IHJlY29yZC5vbmx5VmlldztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRpYWxvZ0lubmVyRm9ybVJlY29yZFJlZiA9IHRoaXMuZGlhbG9nLm9wZW4odGhpcy5kaWFsb2dJbm5lckZvcm1SZWNvcmQsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBzYWx2YXRhZ2dpbyBvIGFsbGEgY2hpdXN1cmEgZGVsIGRpYWxvZyBkaSBhZ2dpdW50YS9tb2RpZmljYS92aXN1YWxpenphemlvbmVcclxuICAgKiBkaSB1biByZWNvcmQgZGkgdW5hIGZvcm0gZGkgZGV0dGFnbGlvLlxyXG4gICAqIEBwYXJhbSByZWNvcmQgT2dnZXR0byByZXN0aXR1aXRvIGRhbCBjb21wb25lbnRlIGFkZC1mb3JtLWZpZWxkIChxdWVzdG8gcXVpKSBjb250ZW5lbnRlIGlsIFJlY29yZCBcclxuICAgKiBhZ2dpb3JuYXRvIGRhbGwndXRlbnRlLiBTZSBudWxsIGFsbG9yYSBsJ3V0ZW50ZSBub24gaGEgbW9kaWZpY2F0byBudWxsYSBlIGhhIGNoaXVzbyBpbCBkaWFsb2cuXHJcbiAgICovXHJcbiAgb25TYXZlSW5uZXJGb3JtUmVjb3JkKHJlY29yZDogUmVjb3JkKSB7XHJcbiAgICBpZiAocmVjb3JkICE9IG51bGwpIHtcclxuICAgICAgY29uc3QgYXJyYXlOYW1lOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkSW5uZXJGb3JtLk5hbWUuc3BsaXQoJyAnKS5qb2luKCdfJyk7XHJcbiAgICAgIGlmICh0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkICE9IG51bGwgJiYgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXVt0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkXSA9IHJlY29yZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoIXRoaXMucmVjb3JkW2FycmF5TmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMucmVjb3JkW2FycmF5TmFtZV0gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXS5wdXNoKHJlY29yZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nSW5uZXJGb3JtUmVjb3JkUmVmLmNsb3NlKCk7XHJcblxyXG4gICAgLy8gUmljYXJpY28gbGEgdGFiZWxsYSBkZWkgcmVjb3JkIHBlciB2aXN1YWxpenphcmUgbGUgbW9kaWZpY2hlIGZhdHRlIGRhbGwndXRlbnRlLlxyXG4gICAgaWYgKHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMgJiYgdGhpcy5saXN0SW5uZXJGb3JtUmVjb3Jkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMuZm9yRWFjaChsaXN0ID0+IHtcclxuICAgICAgICBpZiAobGlzdCAmJiBsaXN0LnRhYmxlUmVjb3Jkcykge1xyXG4gICAgICAgICAgbGlzdC50YWJsZVJlY29yZHMucmVsb2FkRGF0YXRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -4,31 +4,13 @@ import { AvailableFileExtensions, AvailableImageExtensions } from '../../../../m
4
4
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
5
5
  import { TypeColumn } from '@eqproject/eqp-table';
6
6
  let AttachmentFieldTemplateComponent = class AttachmentFieldTemplateComponent {
7
- //#endregion
8
7
  constructor(utilityService, cdr) {
9
8
  this.utilityService = utilityService;
10
9
  this.cdr = cdr;
11
10
  this.onlyImages = false;
12
11
  this.recordChange = new EventEmitter();
12
+ this.onAttachmentsChange = new EventEmitter();
13
13
  this.metadataFormGroups = new Array();
14
- //#region Etichette per eqp-attachments
15
- this.previewLabel = "Anteprima";
16
- this.emptyTableMessage = "No record found";
17
- this.downloadTooltipPosition = "below";
18
- this.openLinkLabel = "Apri link";
19
- this.addButtonLabel = "Aggiungi";
20
- this.downloadLabel = "Download";
21
- this.deleteLabel = "Elimina";
22
- this.fileNameLabel = "Nome file";
23
- this.uploadFileLabel = "Carica file";
24
- this.confirmLabel = "Conferma";
25
- this.abortLabel = "Annulla";
26
- this.saveLabel = "Salva";
27
- this.exitLabel = "Esci";
28
- this.eqpTableSearchText = "Cerca...";
29
- this.deleteDialogTitle = "Attenzione:";
30
- this.deleteDialogMessage = "Sicuro di voler eliminare questo allegato?";
31
- this.noImageSelectedErrorMessage = "Nessuna immagine selezionata!";
32
14
  }
33
15
  ngOnInit() {
34
16
  // Nel caso in cui sono in modifica di un Record aggiorno il valore
@@ -79,6 +61,10 @@ let AttachmentFieldTemplateComponent = class AttachmentFieldTemplateComponent {
79
61
  this.createMetadataFormGroups();
80
62
  this.setFormControlValue();
81
63
  this.onRecordValueChange();
64
+ // Scateno un evento di output necessario al componente ImageFieldTemplate al
65
+ // variare degli allegati caricati. Viene usato per aprire il dialog per disegnare
66
+ // sull'immagine caricata in base alla configurazione del Field.
67
+ this.onAttachmentsChange.emit();
82
68
  this.cdr.detectChanges();
83
69
  }
84
70
  /**
@@ -164,6 +150,9 @@ __decorate([
164
150
  __decorate([
165
151
  Output()
166
152
  ], AttachmentFieldTemplateComponent.prototype, "recordChange", void 0);
153
+ __decorate([
154
+ Output()
155
+ ], AttachmentFieldTemplateComponent.prototype, "onAttachmentsChange", void 0);
167
156
  __decorate([
168
157
  ViewChild("eqpAttachments", { static: true })
169
158
  ], AttachmentFieldTemplateComponent.prototype, "eqpAttachments", void 0);
@@ -173,9 +162,9 @@ __decorate([
173
162
  AttachmentFieldTemplateComponent = __decorate([
174
163
  Component({
175
164
  selector: 'attachment-field-template',
176
- template: "<p *ngIf=\"!field.IsMultiAttach\" class=\"mb-2\">\n {{field.Label + (field.Required ? \" *\" : \"\")}}\n</p>\n<div class=\"row\" *ngIf=\"!field.IsMultiAttach && record[field.Name] && record[field.Name][0]\">\n <div class=\"mt-2\" *ngFor=\"let metadata of field.MetadataFields\" [ngClass]=\"utilityService.getFieldSyleClass(metadata)\">\n <dynamic-module-field [field]=\"metadata\" [record]=\"record[field.Name][0]\"\n (recordChange)=\"updateMetadataValidity()\">\n </dynamic-module-field>\n </div>\n</div>\n\n\n\n<eqp-attachments [attachmentsList]=\"record[field.Name]\" [showMatCard]=\"true\" [allowOnlyImages]=\"onlyImages\"\n [isDisabled]=\"field.FormFormGroup.disabled\" [showInlinePreview]=\"true\" [multipleAttachment]=\"field.IsMultiAttach\"\n [disableAction]=\"field.FormFormGroup.disabled\" [acceptedFileTypes]=\"field.AllowedExtensions\" [showHeader]=\"true\"\n [headerTitle]=\"field.Label + (field.Required ? ' *' : '')\" [previewLabel]=\"previewLabel\"\n [emptyTableMessage]=\"emptyTableMessage\" [downloadTooltipPosition]=\"downloadTooltipPosition\"\n [openLinkLabel]=\"openLinkLabel\" [addButtonLabel]=\"addButtonLabel\" [downloadLabel]=\"downloadLabel\"\n [deleteLabel]=\"deleteLabel\" [fileNameLabel]=\"fileNameLabel\" [uploadFileLabel]=\"uploadFileLabel\"\n [confirmLabel]=\"confirmLabel\" [abortLabel]=\"abortLabel\" [saveLabel]=\"saveLabel\" [exitLabel]=\"exitLabel\"\n [eqpTableSearchText]=\"eqpTableSearchText\" [deleteDialogTitle]=\"deleteDialogTitle\"\n [deleteDialogMessage]=\"deleteDialogMessage\" [noImageSelectedErrorMessage]=\"noImageSelectedErrorMessage\"\n (localEditedAttachments)=\"catchAttachmentList($event)\" #eqpAttachments>\n</eqp-attachments>\n\n<!-- TEMPLATE PER VISUALIZZARE LA COLONNA DELLA SEZIONE NELLA TABELLA DEI FIELDS -->\n<ng-template #metadataColumnTemplate let-row=\"row\" let-col=\"col\">\n <dynamic-module-field [field]=\"getFieldFromMetadata(col, row)\" [record]=\"row\"\n (recordChange)=\"updateMetadataValidity()\">\n </dynamic-module-field>\n</ng-template>",
165
+ template: "<p *ngIf=\"!field.IsMultiAttach\" class=\"mb-2\">\r\n {{field.Label + (field.Required ? \" *\" : \"\")}}\r\n</p>\r\n<div class=\"row\" *ngIf=\"!field.IsMultiAttach && record[field.Name] && record[field.Name][0]\">\r\n <div class=\"mt-2\" *ngFor=\"let metadata of field.MetadataFields\"\r\n [ngClass]=\"utilityService.getFieldSyleClass(metadata)\">\r\n <dynamic-module-field [field]=\"metadata\" [record]=\"record[field.Name][0]\"\r\n (recordChange)=\"updateMetadataValidity()\">\r\n </dynamic-module-field>\r\n </div>\r\n</div>\r\n\r\n<eqp-attachments [attachmentsList]=\"record[field.Name]\" [showMatCard]=\"true\" [allowOnlyImages]=\"onlyImages\"\r\n [isDisabled]=\"field.FormFormGroup.disabled\" [showInlinePreview]=\"true\" [multipleAttachment]=\"field.IsMultiAttach\"\r\n [disableAction]=\"field.FormFormGroup.disabled\" [acceptedFileTypes]=\"field.AllowedExtensions\" [showHeader]=\"true\"\r\n [headerTitle]=\"field.Label + (field.Required ? ' *' : '')\" (localEditedAttachments)=\"catchAttachmentList($event)\"\r\n #eqpAttachments>\r\n</eqp-attachments>\r\n\r\n<!-- TEMPLATE PER VISUALIZZARE LA COLONNA DELLA SEZIONE NELLA TABELLA DEI FIELDS -->\r\n<ng-template #metadataColumnTemplate let-row=\"row\" let-col=\"col\">\r\n <dynamic-module-field [field]=\"getFieldFromMetadata(col, row)\" [record]=\"row\"\r\n (recordChange)=\"updateMetadataValidity()\">\r\n </dynamic-module-field>\r\n</ng-template>",
177
166
  styles: [""]
178
167
  })
179
168
  ], AttachmentFieldTemplateComponent);
180
169
  export { AttachmentFieldTemplateComponent };
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL2F0dGFjaG1lbnQtZmllbGQtdGVtcGxhdGUvYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkssT0FBTyxFQUFtQix1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXJJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBR25GLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPaEUsSUFBYSxnQ0FBZ0MsR0FBN0MsTUFBYSxnQ0FBZ0M7SUE4QjNDLFlBQVk7SUFFWixZQUNTLGNBQW9DLEVBQ25DLEdBQXNCO1FBRHZCLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWhDdkIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUczQixpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzFFLHVCQUFrQixHQUFxQixJQUFJLEtBQUssRUFBYSxDQUFDO1FBRTlELHVDQUF1QztRQUN2QyxpQkFBWSxHQUFHLFdBQVcsQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN0Qyw0QkFBdUIsR0FBRyxPQUFPLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxXQUFXLENB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eUM7QUFDaEM7SUFBdEQsU0FBUyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2dGQUEwQztBQVJyRixnQ0FBZ0M7SUFMNUMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyxxakVBQXlEOztLQUUxRCxDQUFDO0dBQ1csZ0NBQWdDLENBNEs1QztTQTVLWSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50RmllbGQsIEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zLCBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2F0dGFjaG1lbnRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgRXFwQXR0YWNobWVudHNDb21wb25lbnQgfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1hdHRhY2htZW50cyc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29uZmlnQ29sdW1uLCBUeXBlQ29sdW1uIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtdGFibGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHRhY2htZW50LWZpZWxkLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50RmllbGRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJQmFzZUZpZWxkQ29tcG9uZW50LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgb25seUltYWdlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBBdHRhY2htZW50RmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChcImVxcEF0dGFjaG1lbnRzXCIsIHsgc3RhdGljOiB0cnVlIH0pIGVxcEF0dGFjaG1lbnRzOiBFcXBBdHRhY2htZW50c0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdtZXRhZGF0YUNvbHVtblRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgbWV0YWRhdGFDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgbWV0YWRhdGFGb3JtR3JvdXBzOiBBcnJheTxGb3JtR3JvdXA+ID0gbmV3IEFycmF5PEZvcm1Hcm91cD4oKTtcclxuXHJcbiAgLy8jcmVnaW9uIEV0aWNoZXR0ZSBwZXIgZXFwLWF0dGFjaG1lbnRzXHJcbiAgcHJldmlld0xhYmVsID0gXCJBbnRlcHJpbWFcIjtcclxuICBlbXB0eVRhYmxlTWVzc2FnZSA9IFwiTm8gcmVjb3JkIGZvdW5kXCI7XHJcbiAgZG93bmxvYWRUb29sdGlwUG9zaXRpb24gPSBcImJlbG93XCI7XHJcbiAgb3BlbkxpbmtMYWJlbCA9IFwiQXByaSBsaW5rXCI7XHJcbiAgYWRkQnV0dG9uTGFiZWwgPSBcIkFnZ2l1bmdpXCI7XHJcbiAgZG93bmxvYWRMYWJlbCA9IFwiRG93bmxvYWRcIjtcclxuICBkZWxldGVMYWJlbCA9IFwiRWxpbWluYVwiO1xyXG4gIGZpbGVOYW1lTGFiZWwgPSBcIk5vbWUgZmlsZVwiO1xyXG4gIHVwbG9hZEZpbGVMYWJlbCA9IFwiQ2FyaWNhIGZpbGVcIjtcclxuICBjb25maXJtTGFiZWwgPSBcIkNvbmZlcm1hXCI7XHJcbiAgYWJvcnRMYWJlbCA9IFwiQW5udWxsYVwiO1xyXG4gIHNhdmVMYWJlbCA9IFwiU2FsdmFcIjtcclxuICBleGl0TGFiZWwgPSBcIkVzY2lcIjtcclxuICBlcXBUYWJsZVNlYXJjaFRleHQgPSBcIkNlcmNhLi4uXCI7XHJcbiAgZGVsZXRlRGlhbG9nVGl0bGUgPSBcIkF0dGVuemlvbmU6XCI7XHJcbiAgZGVsZXRlRGlhbG9nTWVzc2FnZSA9IFwiU2ljdXJvIGRpIHZvbGVyIGVsaW1pbmFyZSBxdWVzdG8gYWxsZWdhdG8/XCI7XHJcbiAgbm9JbWFnZVNlbGVjdGVkRXJyb3JNZXNzYWdlID0gXCJOZXNzdW5hIGltbWFnaW5lIHNlbGV6aW9uYXRhIVwiO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eUhlbHBlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE5lbCBjYXNvIGluIGN1aSBzb25vIGluIG1vZGlmaWNhIGRpIHVuIFJlY29yZCBhZ2dpb3JubyBpbCB2YWxvcmVcclxuICAgIC8vIGUgaWwgdmFsaWRhdG9yIGRlbCBGb3JtQ29udHJvbC4gU2Ugbm9uIHZpZW5lIGVzZWd1aXRhIHF1ZXN0YSByaWdhXHJcbiAgICAvLyBsJ3V0ZW50ZSBkZXZlIG1vZGlmaWNhcmUgbGEgc2VsZXppb25lIGZhdHRhIHBlciBhZ2dpb3JuYXJlIGxhIGZvcm0uXHJcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcclxuXHJcbiAgICAvLyBTZW1wcmUgbmVsIGNhc28gaW4gY3VpIHNvbm8gaW4gbW9kaWZpY2EgY3JlbyBpIEZvcm1Hcm91cCBjaGUgcmFwcHJlc2VudGFub1xyXG4gICAgLy8gZ2xpIGV2ZW50dWFsaSBtZXRhZGF0YSBkZWdsaSBhbGxlZ2F0aSByZWN1cGVyYXRpLlxyXG4gICAgdGhpcy5jcmVhdGVNZXRhZGF0YUZvcm1Hcm91cHMoKTtcclxuICAgIGlmICh0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuTWV0YWRhdGFGaWVsZHMuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuZmllbGQuQWxsb3dlZEV4dGVuc2lvbnMpIHtcclxuICAgICAgdGhpcy5maWVsZC5BbGxvd2VkRXh0ZW5zaW9ucyA9IEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zLmNvbmNhdChBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMpLm1hcChleHQgPT4gZXh0LmtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBEb3BvIGF2ZXIgcmVuZGVyaXp6YXRvIGlsIERPTSwgc2UgaWwgY2FtcG8gYW1tZXR0ZSBtb2x0ZXBsaWNpIGFsbGVnYXRpXHJcbiAgICAvLyBjb25maWd1cm8gbGUgY29sb25uZSBkZWxsYSBlcXAtdGFibGUgaW4gZXFwLWF0dGFjaG1lbnRzLlxyXG4gICAgaWYgKHRoaXMuZmllbGQuSXNNdWx0aUF0dGFjaCkge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyZU11bHRpQXR0YWNobWVudENvbHVtbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBkZWwgY2FtcG8gcXVhbmRvIHF1ZXN0byDDqCByYXBwcmVzZW50YXRvIGRhIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIHVwZGF0ZUZpZWxkKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuRXZhbHVhdGVGaWVsZEZvcm11bGEodGhpcy5maWVsZC5Gb3JtdWxhLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGludGVyY2V0dGFyZSBsZSBtb2RpZmljaGUgYWdsaSBhbGxlZ2F0aSBjYXJpY2F0aS5cclxuICAgKiBTZSBpbCBjYW1wbyBwcmV2ZWRlIGRlaSBtZXRhZGF0YSBhbGxvcmEgcGVyIG9nbmkgYWxsZWdhdG8gY2FyaWNhdG8gY3JlYSB1biBGb3JtR3JvdXBcclxuICAgKiBwZXIgZ2VzdGlyZSBsYSB2YWxpZGF6aW9uZSBkZWdsaSBpbnB1dCBjaGUgbCd1dGVudGUgcHXDsi9kZXZlIHJpZW1waXJlLiBJIEZvcm1Hcm91cCBcclxuICAgKiBzZWd1b25vIGxvIHN0ZXNzbyBvcmRpbmUgZGVnbGkgYWxsZWdhdGkgY2FyaWNhdGkuXHJcbiAgICogQHBhcmFtIGV2ZW50IENvbnRpZW5lIGxhIGxpc3RhIGFnZ2lvcm5hdGEgZGVnbGkgQXR0YWNobWVudCBjYXJpY2F0aSBkYWxsJ3V0ZW50ZS5cclxuICAgKi9cclxuICBjYXRjaEF0dGFjaG1lbnRMaXN0KGV2ZW50KSB7XHJcbiAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gZXZlbnQ7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVNZXRhZGF0YUZvcm1Hcm91cHMoKTtcclxuXHJcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcclxuICAgIHRoaXMub25SZWNvcmRWYWx1ZUNoYW5nZSgpO1xyXG4gICAgXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2lvcm5hcmUgbG8gc3RhdG8gZGkgdmFsaWRhemlvbmUgZGVsIEZvcm1Db250cm9sIGNoZSByYXBwcmVzZW50YSBcclxuICAgKiBpbCBjYW1wbyBBbGxlZ2F0byAobm9uIGkgbWV0YWRhdGEgYWwgc3VvIGludGVybm8pLiBTZSB0cmEgbGUgZm9ybSBkZWkgbWV0YWRhdGFcclxuICAgKiBuZSB0cm92YSB1bmEgaW52YWxpZGEgYWxsb3JhIG1hcmNhIGlsIGNvbnRyb2xsbyBjb21lIGludmFsaWRvLlxyXG4gICAqL1xyXG4gIHVwZGF0ZU1ldGFkYXRhVmFsaWRpdHkoKSB7XHJcbiAgICBpZiAodGhpcy5tZXRhZGF0YUZvcm1Hcm91cHMuZmluZChmb3JtID0+IGZvcm0uaW52YWxpZCkpIHtcclxuICAgICAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQuTmFtZV0uc2V0RXJyb3JzKHsgJ2luY29ycmVjdCc6IHRydWUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5OYW1lXS5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uUmVjb3JkVmFsdWVDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgcmVjdXBlcmFyZSBpbCBCYXNlRmllbGQgY2hlIHJhcHByZXNlbnRhIGlsIG1ldGFkYXRhIG5lbGxhIHJpZ2EgZGVsbGEgZXFwLXRhYmxlXHJcbiAgICogaW4gYmFzZSBhbGxhIGNvbG9ubmEgZSBhbGxhIHJpZ2EuIFVuYSB2b2x0YSB0cm92YXRvIGlsIEJhc2VGaWVsZCBnbGkgdmllbmUgYXNzb2NpYXRvIGlsIFxyXG4gICAqIEZvcm1Hcm91cCBkaSBjdWkgZmEgcGFydGUuXHJcbiAgICogQHBhcmFtIGNvbCBDb2xvbm5hIGRlbGxhIGVxcC10YWJsZS5cclxuICAgKiBAcGFyYW0gcm93IFJpZ2EgZGVsbGEgZXFwLXRhYmxlIChpbiBxdWVzdG8gY2FzbyBlcmVkaXRhIGRhIElBdHRhY2htZW50KS5cclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSB1biBCYXNlRmllbGQgcGVyIHJlbmRlcml6emFyZSBpbCBjYW1wbyBuZWxsYSBlcXAtdGFibGUgZGVnbGkgYWxsZWdhdGkgbXVsdGlwbGkuXHJcbiAgICovXHJcbiAgZ2V0RmllbGRGcm9tTWV0YWRhdGEoY29sOiBDb25maWdDb2x1bW4sIHJvdzogYW55KSB7XHJcbiAgICB2YXIgYmFzZUZpZWxkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzLmZpbmQobWV0YWRhdGEgPT4gbWV0YWRhdGEuTmFtZSA9PT0gY29sLmtleSkpKTtcclxuICAgIGJhc2VGaWVsZC5Gb3JtRm9ybUdyb3VwID0gdGhpcy5tZXRhZGF0YUZvcm1Hcm91cHNbdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXS5pbmRleE9mKHJvdyldO1xyXG4gICAgcmV0dXJuIGJhc2VGaWVsZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZSBpbCB2YWxpZGF0b3IgZGVsIEZvcm1Db250cm9sIGFzc29jaWF0byBhbCBjYW1wby5cclxuICAgKi9cclxuICBwcml2YXRlIHNldEZvcm1Db250cm9sVmFsdWUoKSB7XHJcbiAgICB0aGlzLmZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5OYW1lXS5zZXRWYWx1ZSh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25SZWNvcmRWYWx1ZUNoYW5nZSgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkQ2hhbmdlLmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpdW5nZXJlIGFsbGUgY29sb25uZSBkaSBlcXAtYXR0YWNobWVudHMgbGUgY29sb25uZSBwZXIgbW9kaWZpY2FyZSBpIG1ldGFkYXRhXHJcbiAgICogY29uZmlndXJhdGkgcGVyIGlsIGNhbXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb25maWd1cmVNdWx0aUF0dGFjaG1lbnRDb2x1bW5zKCkge1xyXG4gICAgaWYgKHRoaXMuZXFwQXR0YWNobWVudHMgJiYgdGhpcy5lcXBBdHRhY2htZW50cy5hdHRhY2htZW50c0NvbHVtbnMgJiYgdGhpcy5maWVsZC5NZXRhZGF0YUZpZWxkcyAmJiB0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5maWVsZC5NZXRhZGF0YUZpZWxkcy5mb3JFYWNoKG1ldGFkYXRhID0+IHtcclxuICAgICAgICB0aGlzLmVxcEF0dGFjaG1lbnRzLmF0dGFjaG1lbnRzQ29sdW1ucy5zcGxpY2UoXHJcbiAgICAgICAgICB0aGlzLmVxcEF0dGFjaG1lbnRzLmF0dGFjaG1lbnRzQ29sdW1ucy5sZW5ndGggLSAxLCAwLFxyXG4gICAgICAgICAgeyBrZXk6IG1ldGFkYXRhLk5hbWUsIGRpc3BsYXk6IG1ldGFkYXRhLkxhYmVsLCB0eXBlOiBUeXBlQ29sdW1uLkV4dGVybmFsVGVtcGxhdGUsIGV4dGVybmFsVGVtcGxhdGU6IHRoaXMubWV0YWRhdGFDb2x1bW5UZW1wbGF0ZSB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNyZWFyZSBpIEZvcm1Hcm91cCBjaGUgcmFwcHJlc2VudGFubyBpIG1ldGFkYXRhIGRlZ2xpIGFsbGVnYXRpIGNhcmljYXRpLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlTWV0YWRhdGFGb3JtR3JvdXBzKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuTWV0YWRhdGFGaWVsZHMgJiYgdGhpcy5maWVsZC5NZXRhZGF0YUZpZWxkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubWV0YWRhdGFGb3JtR3JvdXBzID0gW107XHJcbiAgICAgIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0uZm9yRWFjaChhdHRhY2htZW50ID0+IHtcclxuICAgICAgICAgIHRoaXMubWV0YWRhdGFGb3JtR3JvdXBzLnB1c2godGhpcy51dGlsaXR5U2VydmljZS5DcmVhdGVGb3JtRm9ybUdyb3VwKHRoaXMuZmllbGQuTWV0YWRhdGFGaWVsZHMsIGF0dGFjaG1lbnQsIHRoaXMuZmllbGQuRm9ybUZvcm1Hcm91cC5kaXNhYmxlZCwgIXRoaXMuZmllbGQuSXNNdWx0aUF0dGFjaCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZU1ldGFkYXRhVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL2F0dGFjaG1lbnQtZmllbGQtdGVtcGxhdGUvYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkssT0FBTyxFQUFtQix1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXJJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBR25GLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPaEUsSUFBYSxnQ0FBZ0MsR0FBN0MsTUFBYSxnQ0FBZ0M7SUFhM0MsWUFDUyxjQUFvQyxFQUNuQyxHQUFzQjtRQUR2QixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFidkIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUczQixpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2hFLHdCQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBSzdFLHVCQUFrQixHQUFxQixJQUFJLEtBQUssRUFBYSxDQUFDO0lBSzFELENBQUM7SUFFTCxRQUFRO1FBQ04sbUVBQW1FO1FBQ25FLG9FQUFvRTtRQUNwRSxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFF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QUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQzdLLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FDRixDQUFBOztZQS9JMEIsb0JBQW9CO1lBQzlCLGlCQUFpQjs7QUFidkI7SUFBUixLQUFLLEVBQUU7b0VBQTZCO0FBQzVCO0lBQVIsS0FBSyxFQUFFOytEQUF3QjtBQUN2QjtJQUFSLEtBQUssRUFBRTtnRUFBZ0I7QUFDZDtJQUFULE1BQU0sRUFBRTtzRUFBaUU7QUFDaEU7SUFBVCxNQUFNLEVBQUU7NkVBQW9FO0FBRTlCO0lBQTlDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzt3RUFBeUM7QUFDaEM7SUFBdEQsU0FBUyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2dGQUEwQztBQVRyRixnQ0FBZ0M7SUFMNUMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyw0OENBQXlEOztLQUUxRCxDQUFDO0dBQ1csZ0NBQWdDLENBNko1QztTQTdKWSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50RmllbGQsIEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zLCBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2F0dGFjaG1lbnRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgRXFwQXR0YWNobWVudHNDb21wb25lbnQgfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1hdHRhY2htZW50cyc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29uZmlnQ29sdW1uLCBUeXBlQ29sdW1uIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtdGFibGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHRhY2htZW50LWZpZWxkLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50RmllbGRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJQmFzZUZpZWxkQ29tcG9uZW50LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgb25seUltYWdlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBBdHRhY2htZW50RmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICBAT3V0cHV0KCkgb25BdHRhY2htZW50c0NoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAVmlld0NoaWxkKFwiZXFwQXR0YWNobWVudHNcIiwgeyBzdGF0aWM6IHRydWUgfSkgZXFwQXR0YWNobWVudHM6IEVxcEF0dGFjaG1lbnRzQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ21ldGFkYXRhQ29sdW1uVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtZXRhZGF0YUNvbHVtblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBtZXRhZGF0YUZvcm1Hcm91cHM6IEFycmF5PEZvcm1Hcm91cD4gPSBuZXcgQXJyYXk8Rm9ybUdyb3VwPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eUhlbHBlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE5lbCBjYXNvIGluIGN1aSBzb25vIGluIG1vZGlmaWNhIGRpIHVuIFJlY29yZCBhZ2dpb3JubyBpbCB2YWxvcmVcclxuICAgIC8vIGUgaWwgdmFsaWRhdG9yIGRlbCBGb3JtQ29udHJvbC4gU2Ugbm9uIHZpZW5lIGVzZWd1aXRhIHF1ZXN0YSByaWdhXHJcbiAgICAvLyBsJ3V0ZW50ZSBkZXZlIG1vZGlmaWNhcmUgbGEgc2VsZXppb25lIGZhdHRhIHBlciBhZ2dpb3JuYXJlIGxhIGZvcm0uXHJcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcclxuXHJcbiAgICAvLyBTZW1wcmUgbmVsIGNhc28gaW4gY3VpIHNvbm8gaW4gbW9kaWZpY2EgY3JlbyBpIEZvcm1Hcm91cCBjaGUgcmFwcHJlc2VudGFub1xyXG4gICAgLy8gZ2xpIGV2ZW50dWFsaSBtZXRhZGF0YSBkZWdsaSBhbGxlZ2F0aSByZWN1cGVyYXRpLlxyXG4gICAgdGhpcy5jcmVhdGVNZXRhZGF0YUZvcm1Hcm91cHMoKTtcclxuICAgIGlmICh0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuTWV0YWRhdGFGaWVsZHMuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuZmllbGQuQWxsb3dlZEV4dGVuc2lvbnMpIHtcclxuICAgICAgdGhpcy5maWVsZC5BbGxvd2VkRXh0ZW5zaW9ucyA9IEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zLmNvbmNhdChBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMpLm1hcChleHQgPT4gZXh0LmtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBEb3BvIGF2ZXIgcmVuZGVyaXp6YXRvIGlsIERPTSwgc2UgaWwgY2FtcG8gYW1tZXR0ZSBtb2x0ZXBsaWNpIGFsbGVnYXRpXHJcbiAgICAvLyBjb25maWd1cm8gbGUgY29sb25uZSBkZWxsYSBlcXAtdGFibGUgaW4gZXFwLWF0dGFjaG1lbnRzLlxyXG4gICAgaWYgKHRoaXMuZmllbGQuSXNNdWx0aUF0dGFjaCkge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyZU11bHRpQXR0YWNobWVudENvbHVtbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBkZWwgY2FtcG8gcXVhbmRvIHF1ZXN0byDDqCByYXBwcmVzZW50YXRvIGRhIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIHVwZGF0ZUZpZWxkKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuRXZhbHVhdGVGaWVsZEZvcm11bGEodGhpcy5maWVsZC5Gb3JtdWxhLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGludGVyY2V0dGFyZSBsZSBtb2RpZmljaGUgYWdsaSBhbGxlZ2F0aSBjYXJpY2F0aS5cclxuICAgKiBTZSBpbCBjYW1wbyBwcmV2ZWRlIGRlaSBtZXRhZGF0YSBhbGxvcmEgcGVyIG9nbmkgYWxsZWdhdG8gY2FyaWNhdG8gY3JlYSB1biBGb3JtR3JvdXBcclxuICAgKiBwZXIgZ2VzdGlyZSBsYSB2YWxpZGF6aW9uZSBkZWdsaSBpbnB1dCBjaGUgbCd1dGVudGUgcHXDsi9kZXZlIHJpZW1waXJlLiBJIEZvcm1Hcm91cCBcclxuICAgKiBzZWd1b25vIGxvIHN0ZXNzbyBvcmRpbmUgZGVnbGkgYWxsZWdhdGkgY2FyaWNhdGkuXHJcbiAgICogQHBhcmFtIGV2ZW50IENvbnRpZW5lIGxhIGxpc3RhIGFnZ2lvcm5hdGEgZGVnbGkgQXR0YWNobWVudCBjYXJpY2F0aSBkYWxsJ3V0ZW50ZS5cclxuICAgKi9cclxuICBjYXRjaEF0dGFjaG1lbnRMaXN0KGV2ZW50KSB7XHJcbiAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gZXZlbnQ7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVNZXRhZGF0YUZvcm1Hcm91cHMoKTtcclxuXHJcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcclxuICAgIHRoaXMub25SZWNvcmRWYWx1ZUNoYW5nZSgpO1xyXG4gICAgXHJcbiAgICAvLyBTY2F0ZW5vIHVuIGV2ZW50byBkaSBvdXRwdXQgbmVjZXNzYXJpbyBhbCBjb21wb25lbnRlIEltYWdlRmllbGRUZW1wbGF0ZSBhbFxyXG4gICAgLy8gdmFyaWFyZSBkZWdsaSBhbGxlZ2F0aSBjYXJpY2F0aS4gVmllbmUgdXNhdG8gcGVyIGFwcmlyZSBpbCBkaWFsb2cgcGVyIGRpc2VnbmFyZVxyXG4gICAgLy8gc3VsbCdpbW1hZ2luZSBjYXJpY2F0YSBpbiBiYXNlIGFsbGEgY29uZmlndXJhemlvbmUgZGVsIEZpZWxkLlxyXG4gICAgdGhpcy5vbkF0dGFjaG1lbnRzQ2hhbmdlLmVtaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgYWdnaW9ybmFyZSBsbyBzdGF0byBkaSB2YWxpZGF6aW9uZSBkZWwgRm9ybUNvbnRyb2wgY2hlIHJhcHByZXNlbnRhIFxyXG4gICAqIGlsIGNhbXBvIEFsbGVnYXRvIChub24gaSBtZXRhZGF0YSBhbCBzdW8gaW50ZXJubykuIFNlIHRyYSBsZSBmb3JtIGRlaSBtZXRhZGF0YVxyXG4gICAqIG5lIHRyb3ZhIHVuYSBpbnZhbGlkYSBhbGxvcmEgbWFyY2EgaWwgY29udHJvbGxvIGNvbWUgaW52YWxpZG8uXHJcbiAgICovXHJcbiAgdXBkYXRlTWV0YWRhdGFWYWxpZGl0eSgpIHtcclxuICAgIGlmICh0aGlzLm1ldGFkYXRhRm9ybUdyb3Vwcy5maW5kKGZvcm0gPT4gZm9ybS5pbnZhbGlkKSkge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5OYW1lXS5zZXRFcnJvcnMoeyAnaW5jb3JyZWN0JzogdHJ1ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1t0aGlzLmZpZWxkLk5hbWVdLnNldEVycm9ycyhudWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMub25SZWNvcmRWYWx1ZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByZWN1cGVyYXJlIGlsIEJhc2VGaWVsZCBjaGUgcmFwcHJlc2VudGEgaWwgbWV0YWRhdGEgbmVsbGEgcmlnYSBkZWxsYSBlcXAtdGFibGVcclxuICAgKiBpbiBiYXNlIGFsbGEgY29sb25uYSBlIGFsbGEgcmlnYS4gVW5hIHZvbHRhIHRyb3ZhdG8gaWwgQmFzZUZpZWxkIGdsaSB2aWVuZSBhc3NvY2lhdG8gaWwgXHJcbiAgICogRm9ybUdyb3VwIGRpIGN1aSBmYSBwYXJ0ZS5cclxuICAgKiBAcGFyYW0gY29sIENvbG9ubmEgZGVsbGEgZXFwLXRhYmxlLlxyXG4gICAqIEBwYXJhbSByb3cgUmlnYSBkZWxsYSBlcXAtdGFibGUgKGluIHF1ZXN0byBjYXNvIGVyZWRpdGEgZGEgSUF0dGFjaG1lbnQpLlxyXG4gICAqIEByZXR1cm5zIFJlc3RpdHVpc2NlIHVuIEJhc2VGaWVsZCBwZXIgcmVuZGVyaXp6YXJlIGlsIGNhbXBvIG5lbGxhIGVxcC10YWJsZSBkZWdsaSBhbGxlZ2F0aSBtdWx0aXBsaS5cclxuICAgKi9cclxuICBnZXRGaWVsZEZyb21NZXRhZGF0YShjb2w6IENvbmZpZ0NvbHVtbiwgcm93OiBhbnkpIHtcclxuICAgIHZhciBiYXNlRmllbGQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmllbGQuTWV0YWRhdGFGaWVsZHMuZmluZChtZXRhZGF0YSA9PiBtZXRhZGF0YS5OYW1lID09PSBjb2wua2V5KSkpO1xyXG4gICAgYmFzZUZpZWxkLkZvcm1Gb3JtR3JvdXAgPSB0aGlzLm1ldGFkYXRhRm9ybUdyb3Vwc1t0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLmluZGV4T2Yocm93KV07XHJcbiAgICByZXR1cm4gYmFzZUZpZWxkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBlIGlsIHZhbGlkYXRvciBkZWwgRm9ybUNvbnRyb2wgYXNzb2NpYXRvIGFsIGNhbXBvLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpIHtcclxuICAgIHRoaXMuZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1t0aGlzLmZpZWxkLk5hbWVdLnNldFZhbHVlKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblJlY29yZFZhbHVlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2l1bmdlcmUgYWxsZSBjb2xvbm5lIGRpIGVxcC1hdHRhY2htZW50cyBsZSBjb2xvbm5lIHBlciBtb2RpZmljYXJlIGkgbWV0YWRhdGFcclxuICAgKiBjb25maWd1cmF0aSBwZXIgaWwgY2FtcG8gQWxsZWdhdG8gbyBJbW1hZ2luZS5cclxuICAgKi9cclxuICBwcml2YXRlIGNvbmZpZ3VyZU11bHRpQXR0YWNobWVudENvbHVtbnMoKSB7XHJcbiAgICBpZiAodGhpcy5lcXBBdHRhY2htZW50cyAmJiB0aGlzLmVxcEF0dGFjaG1lbnRzLmF0dGFjaG1lbnRzQ29sdW1ucyAmJiB0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzICYmIHRoaXMuZmllbGQuTWV0YWRhdGFGaWVsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzLmZvckVhY2gobWV0YWRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuZXFwQXR0YWNobWVudHMuYXR0YWNobWVudHNDb2x1bW5zLnNwbGljZShcclxuICAgICAgICAgIHRoaXMuZXFwQXR0YWNobWVudHMuYXR0YWNobWVudHNDb2x1bW5zLmxlbmd0aCAtIDEsIDAsXHJcbiAgICAgICAgICB7IGtleTogbWV0YWRhdGEuTmFtZSwgZGlzcGxheTogbWV0YWRhdGEuTGFiZWwsIHR5cGU6IFR5cGVDb2x1bW4uRXh0ZXJuYWxUZW1wbGF0ZSwgZXh0ZXJuYWxUZW1wbGF0ZTogdGhpcy5tZXRhZGF0YUNvbHVtblRlbXBsYXRlIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIGkgRm9ybUdyb3VwIGNoZSByYXBwcmVzZW50YW5vIGkgbWV0YWRhdGEgZGVnbGkgYWxsZWdhdGkgY2FyaWNhdGkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVNZXRhZGF0YUZvcm1Hcm91cHMoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZC5NZXRhZGF0YUZpZWxkcyAmJiB0aGlzLmZpZWxkLk1ldGFkYXRhRmllbGRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5tZXRhZGF0YUZvcm1Hcm91cHMgPSBbXTtcclxuICAgICAgaWYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXS5mb3JFYWNoKGF0dGFjaG1lbnQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tZXRhZGF0YUZvcm1Hcm91cHMucHVzaCh0aGlzLnV0aWxpdHlTZXJ2aWNlLkNyZWF0ZUZvcm1Gb3JtR3JvdXAodGhpcy5maWVsZC5NZXRhZGF0YUZpZWxkcywgYXR0YWNobWVudCwgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmRpc2FibGVkLCAhdGhpcy5maWVsZC5Jc011bHRpQXR0YWNoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlTWV0YWRhdGFWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
@@ -48,9 +48,9 @@ __decorate([
48
48
  BooleanFieldTemplateComponent = __decorate([
49
49
  Component({
50
50
  selector: 'boolean-field-template',
51
- template: "<div [formGroup]=\"field.FormFormGroup\">\n\n <!-- VISUALIZZAZIONE A TOGGLE -->\n <mat-slide-toggle color=\"primary\" *ngIf=\"field.PresetationType == BoolPresentantioEnum.Toggle\"\n [formControlName]=\"field.Name\" [disabled]=\"field.FormFormGroup.disabled\" [required]=\"field.Required\"\n [(ngModel)]=\"record[field.Name]\" (ngModelChange)=\"onRecordValueChange()\">\n {{field.Label + (field.Required ? \" *\" : \"\")}}\n </mat-slide-toggle>\n\n\n <!-- VISUALIZZAZIONE A RADIOBUTTON -->\n <mat-label class=\"mr-3\" *ngIf=\"field.PresetationType == BoolPresentantioEnum['Radio button']\">\n {{field.Label + (field.Required ? \" *\" : \"\")}}\n </mat-label>\n <mat-radio-group *ngIf=\"field.PresetationType == BoolPresentantioEnum['Radio button']\"\n [formControlName]=\"field.Name\" [disabled]=\"field.FormFormGroup.disabled\" [required]=\"field.Required\"\n [(ngModel)]=\"record[field.Name]\" (ngModelChange)=\"onRecordValueChange()\">\n <mat-radio-button class=\"mr-2\" [value]=\"true\" color=\"primary\"> Si </mat-radio-button>\n <mat-radio-button class=\"mr-2\" [value]=\"false\" color=\"primary\"> No </mat-radio-button>\n <mat-radio-button class=\"mr-2\" [value]=\"null\" color=\"primary\" *ngIf=\"field.IsTristate\"> ND\n </mat-radio-button>\n </mat-radio-group>\n\n <!-- VISUALIZZAZIONE A CHECKBOX -->\n <mat-checkbox class=\"mr-2\" *ngIf=\"field.PresetationType == BoolPresentantioEnum.Checkbox\"\n [disabled]=\"field.FormFormGroup.disabled\" [required]=\"field.Required\" [formControlName]=\"field.Name\"\n [(ngModel)]=\"record[field.Name]\" (ngModelChange)=\"onRecordValueChange()\">\n {{field.Label + (field.Required ? \" *\" : \"\")}}\n </mat-checkbox>\n\n <!-- TODO: Visualizzazione \"Stringa true o false\" e \"Numerico 0 o 1\" ?? -->\n</div>",
51
+ template: "<div [formGroup]=\"field.FormFormGroup\">\r\n\r\n <!-- VISUALIZZAZIONE A TOGGLE -->\r\n <mat-slide-toggle color=\"primary\" *ngIf=\"field.PresetationType == BoolPresentantioEnum.Toggle\"\r\n [formControlName]=\"field.Name\" [disabled]=\"field.FormFormGroup.disabled\" [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\" (ngModelChange)=\"onRecordValueChange()\">\r\n {{field.Label + (field.Required ? \" *\" : \"\")}}\r\n </mat-slide-toggle>\r\n\r\n\r\n <!-- VISUALIZZAZIONE A RADIOBUTTON -->\r\n <mat-label class=\"mr-3\" *ngIf=\"field.PresetationType == BoolPresentantioEnum['Radio button']\">\r\n {{field.Label + (field.Required ? \" *\" : \"\")}}\r\n </mat-label>\r\n <mat-radio-group *ngIf=\"field.PresetationType == BoolPresentantioEnum['Radio button']\"\r\n [formControlName]=\"field.Name\" [disabled]=\"field.FormFormGroup.disabled\" [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\" (ngModelChange)=\"onRecordValueChange()\">\r\n <mat-radio-button class=\"mr-2\" [value]=\"true\" color=\"primary\"> Si </mat-radio-button>\r\n <mat-radio-button class=\"mr-2\" [value]=\"false\" color=\"primary\"> No </mat-radio-button>\r\n <mat-radio-button class=\"mr-2\" [value]=\"null\" color=\"primary\" *ngIf=\"field.IsTristate\"> ND\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <!-- VISUALIZZAZIONE A CHECKBOX -->\r\n <mat-checkbox class=\"mr-2\" *ngIf=\"field.PresetationType == BoolPresentantioEnum.Checkbox\"\r\n [disabled]=\"field.FormFormGroup.disabled\" [required]=\"field.Required\" [formControlName]=\"field.Name\"\r\n [(ngModel)]=\"record[field.Name]\" (ngModelChange)=\"onRecordValueChange()\">\r\n {{field.Label + (field.Required ? \" *\" : \"\")}}\r\n </mat-checkbox>\r\n\r\n <!-- TODO: Visualizzazione \"Stringa true o false\" e \"Numerico 0 o 1\" ?? -->\r\n</div>",
52
52
  styles: [""]
53
53
  })
54
54
  ], BooleanFieldTemplateComponent);
55
55
  export { BooleanFieldTemplateComponent };
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL2Jvb2xlYW4tZmllbGQtdGVtcGxhdGUvYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFPbkYsSUFBYSw2QkFBNkIsR0FBMUMsTUFBYSw2QkFBNkI7SUFReEM7UUFKVSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFFLHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBRTVCLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDakwsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXZDVTtJQUFSLEtBQUssRUFBRTs0REFBcUI7QUFDcEI7SUFBUixLQUFLLEVBQUU7NkRBQWdCO0FBQ2Q7SUFBVCxNQUFNLEVBQUU7bUVBQWlFO0FBSi9ELDZCQUE2QjtJQUx6QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLDAyREFBc0Q7O0tBRXZELENBQUM7R0FDVyw2QkFBNkIsQ0F5Q3pDO1NBekNZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkZpZWxkLCBCb29sUHJlc2VudGFudGlvRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvYm9vbGVhbkZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdib29sZWFuLWZpZWxkLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29sZWFuRmllbGRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJQmFzZUZpZWxkQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IEJvb2xlYW5GaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBCb29sUHJlc2VudGFudGlvRW51bSA9IEJvb2xQcmVzZW50YW50aW9FbnVtO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IHVuZGVmaW5lZCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IG51bGwpIHtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMuZmllbGQuSXNUcmlzdGF0ZSA/IG51bGwgOiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBkZWwgY2FtcG8gcXVhbmRvIHF1ZXN0byDDqCByYXBwcmVzZW50YXRvIGRhIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIHVwZGF0ZUZpZWxkKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuRXZhbHVhdGVGaWVsZEZvcm11bGEodGhpcy5maWVsZC5Gb3JtdWxhLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuICAgKi9cclxuICBvblJlY29yZFZhbHVlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL2Jvb2xlYW4tZmllbGQtdGVtcGxhdGUvYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFPbkYsSUFBYSw2QkFBNkIsR0FBMUMsTUFBYSw2QkFBNkI7SUFReEM7UUFKVSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFFLHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBRTVCLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDakwsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXZDVTtJQUFSLEtBQUssRUFBRTs0REFBcUI7QUFDcEI7SUFBUixLQUFLLEVBQUU7NkRBQWdCO0FBQ2Q7SUFBVCxNQUFNLEVBQUU7bUVBQWlFO0FBSi9ELDZCQUE2QjtJQUx6QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLHc2REFBc0Q7O0tBRXZELENBQUM7R0FDVyw2QkFBNkIsQ0F5Q3pDO1NBekNZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkZpZWxkLCBCb29sUHJlc2VudGFudGlvRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvYm9vbGVhbkZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdib29sZWFuLWZpZWxkLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYm9vbGVhbi1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29sZWFuRmllbGRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJQmFzZUZpZWxkQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IEJvb2xlYW5GaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBCb29sUHJlc2VudGFudGlvRW51bSA9IEJvb2xQcmVzZW50YW50aW9FbnVtO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IHVuZGVmaW5lZCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IG51bGwpIHtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMuZmllbGQuSXNUcmlzdGF0ZSA/IG51bGwgOiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBkZWwgY2FtcG8gcXVhbmRvIHF1ZXN0byDDqCByYXBwcmVzZW50YXRvIGRhIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIHVwZGF0ZUZpZWxkKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuRXZhbHVhdGVGaWVsZEZvcm11bGEodGhpcy5maWVsZC5Gb3JtdWxhLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuICAgKi9cclxuICBvblJlY29yZFZhbHVlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -63,9 +63,9 @@ __decorate([
63
63
  DateFieldTemplateComponent = __decorate([
64
64
  Component({
65
65
  selector: 'date-field-template',
66
- template: "<eqp-datetimepicker [placeholder]=\"field.Label\" [UTCDate]=\"true\" [pickerMode]=\"pickerMode\"\n [formGroupInput]=\"field.FormFormGroup\" [formControlNameInput]=\"field.Name\"\n [minDate]=\"field.MinDate ? field.MinDate : null\" [maxDate]=\"field.MaxDate ? field.MaxDate : null\"\n [isRequired]=\"field.Required\" [disabled]=\"field.FormFormGroup.disabled\" [(ngModelInput)]=\"record[field.Name]\"\n (ngModelInputChange)=\"onRecordValueChange()\">\n</eqp-datetimepicker>",
66
+ template: "<eqp-datetimepicker [placeholder]=\"field.Label\" [UTCDate]=\"true\" [pickerMode]=\"pickerMode\"\r\n [formGroupInput]=\"field.FormFormGroup\" [formControlNameInput]=\"field.Name\"\r\n [minDate]=\"field.MinDate ? field.MinDate : null\" [maxDate]=\"field.MaxDate ? field.MaxDate : null\"\r\n [isRequired]=\"field.Required\" [disabled]=\"field.FormFormGroup.disabled\" [(ngModelInput)]=\"record[field.Name]\"\r\n (ngModelInputChange)=\"onRecordValueChange()\" [customDateFormat]=\"field.DateFormat ? field.DateFormat : null\">\r\n</eqp-datetimepicker>",
67
67
  styles: [""]
68
68
  })
69
69
  ], DateFieldTemplateComponent);
70
70
  export { DateFieldTemplateComponent };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL2RhdGUtZmllbGQtdGVtcGxhdGUvZGF0ZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0QsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFPbkYsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMEI7SUFRckM7UUFKVSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBSTFELENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDakwsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVztRQUNqQixRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzdCLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLE1BQU07WUFDUixLQUFLLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDMUMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF2RFU7SUFBUixLQUFLLEVBQUU7eURBQWtCO0FBQ2pCO0lBQVIsS0FBSyxFQUFFOzBEQUFnQjtBQUNkO0lBQVQsTUFBTSxFQUFFO2dFQUFpRTtBQUovRCwwQkFBMEI7SUFMdEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixnZkFBbUQ7O0tBRXBELENBQUM7R0FDVywwQkFBMEIsQ0F5RHRDO1NBekRZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQaWNrZXJNb2RlRW51bSB9IGZyb20gJ0BlcXByb2plY3QvZXFwLWRhdGV0aW1lcGlja2VyJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVGaWVsZCwgRGF0ZVRpbWVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvZGF0ZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRlLWZpZWxkLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlRmllbGRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJQmFzZUZpZWxkQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IERhdGVGaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBwaWNrZXJNb2RlOiBQaWNrZXJNb2RlRW51bTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFRpbWVUeXBlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBTZSB2aWVuZSBtb2RpZmljYXRvIGlsIHZhbG9yZSBkaSBcIm5nTW9kZWxJbnB1dFwiIGFsbG9yYSBhZ2dpb3JuYSBsJ2lucHV0XHJcbiAgICBpZiAoY2hhbmdlc1sncmVjb3JkJ10gIT0gdW5kZWZpbmVkICYmIGNoYW5nZXNbJ3JlY29yZCddLmZpcnN0Q2hhbmdlID09IGZhbHNlICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZSkgIT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10ucHJldmlvdXNWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5yZWNvcmQgPSBjaGFuZ2VzWydyZWNvcmQnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlRmllbGQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZGVsIGNhbXBvIHF1YW5kbyBxdWVzdG8gw6ggcmFwcHJlc2VudGF0byBkYSB1bmEgZm9ybXVsYS5cclxuICAgKi9cclxuICB1cGRhdGVGaWVsZCgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkV2YWx1YXRlRmllbGRGb3JtdWxhKHRoaXMuZmllbGQuRm9ybXVsYSwgdGhpcy5yZWNvcmQsIG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiAgICovXHJcbiAgb25SZWNvcmRWYWx1ZUNoYW5nZSgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkQ2hhbmdlLmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW4gYmFzZSBhbCBmb3JtYXRvIGRlbGxhIGRhdGEgcmljaGllc3RhIG5lbCBEYXRlRmllbGQgKHNvbG8gZGF0YSwgc29sbyBvcmFyaW8gbyBkYXRhIGUgb3JhKVxyXG4gICAqIGltcG9zdGEgbGEgdmlzdWFsaXp6YXppb25lIGNvcnJldHRhIGRlbCBjb21wb25lbnRlIGVxcC1kYXRldGltZXBpY2tlci5cclxuICAgKi9cclxuICBwcml2YXRlIHNldFRpbWVUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmZpZWxkLklzT25seURhdGUpIHtcclxuICAgICAgY2FzZSBEYXRlVGltZVR5cGVFbnVtW1wiU29sbyBkYXRhXCJdOlxyXG4gICAgICAgIHRoaXMucGlja2VyTW9kZSA9IFBpY2tlck1vZGVFbnVtLkRBVEU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRGF0ZVRpbWVUeXBlRW51bVtcIlNvbG8gb3JhcmlvXCJdOlxyXG4gICAgICAgIHRoaXMucGlja2VyTW9kZSA9IFBpY2tlck1vZGVFbnVtLlRJTUU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRGF0ZVRpbWVUeXBlRW51bVtcIkRhdGEgZSBvcmFcIl06XHJcbiAgICAgICAgdGhpcy5waWNrZXJNb2RlID0gUGlja2VyTW9kZUVudW0uREFURVRJTUU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL2RhdGUtZmllbGQtdGVtcGxhdGUvZGF0ZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0QsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFPbkYsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMEI7SUFRckM7UUFKVSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBSTFELENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDakwsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVztRQUNqQixRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzdCLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLE1BQU07WUFDUixLQUFLLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDMUMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF2RFU7SUFBUixLQUFLLEVBQUU7eURBQWtCO0FBQ2pCO0lBQVIsS0FBSyxFQUFFOzBEQUFnQjtBQUNkO0lBQVQsTUFBTSxFQUFFO2dFQUFpRTtBQUovRCwwQkFBMEI7SUFMdEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQiw0akJBQW1EOztLQUVwRCxDQUFDO0dBQ1csMEJBQTBCLENBeUR0QztTQXpEWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGlja2VyTW9kZUVudW0gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1kYXRldGltZXBpY2tlcic7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRlRmllbGQsIERhdGVUaW1lVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2RhdGVGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0ZS1maWVsZC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBEYXRlRmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuXHJcbiAgcGlja2VyTW9kZTogUGlja2VyTW9kZUVudW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRUaW1lVHlwZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gU2UgdmllbmUgbW9kaWZpY2F0byBpbCB2YWxvcmUgZGkgXCJuZ01vZGVsSW5wdXRcIiBhbGxvcmEgYWdnaW9ybmEgbCdpbnB1dFxyXG4gICAgaWYgKGNoYW5nZXNbJ3JlY29yZCddICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VzWydyZWNvcmQnXS5maXJzdENoYW5nZSA9PSBmYWxzZSAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5jdXJyZW50VmFsdWUpICE9IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3JlY29yZCddLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkID0gY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUZpZWxkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRlbCBjYW1wbyBxdWFuZG8gcXVlc3RvIMOoIHJhcHByZXNlbnRhdG8gZGEgdW5hIGZvcm11bGEuXHJcbiAgICovXHJcbiAgdXBkYXRlRmllbGQoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLkZvcm11bGEsIHRoaXMucmVjb3JkLCBudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkVmFsdWVDaGFuZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZENoYW5nZS5lbWl0KHRoaXMucmVjb3JkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluIGJhc2UgYWwgZm9ybWF0byBkZWxsYSBkYXRhIHJpY2hpZXN0YSBuZWwgRGF0ZUZpZWxkIChzb2xvIGRhdGEsIHNvbG8gb3JhcmlvIG8gZGF0YSBlIG9yYSlcclxuICAgKiBpbXBvc3RhIGxhIHZpc3VhbGl6emF6aW9uZSBjb3JyZXR0YSBkZWwgY29tcG9uZW50ZSBlcXAtZGF0ZXRpbWVwaWNrZXIuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRUaW1lVHlwZSgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5maWVsZC5Jc09ubHlEYXRlKSB7XHJcbiAgICAgIGNhc2UgRGF0ZVRpbWVUeXBlRW51bVtcIlNvbG8gZGF0YVwiXTpcclxuICAgICAgICB0aGlzLnBpY2tlck1vZGUgPSBQaWNrZXJNb2RlRW51bS5EQVRFO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIERhdGVUaW1lVHlwZUVudW1bXCJTb2xvIG9yYXJpb1wiXTpcclxuICAgICAgICB0aGlzLnBpY2tlck1vZGUgPSBQaWNrZXJNb2RlRW51bS5USU1FO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIERhdGVUaW1lVHlwZUVudW1bXCJEYXRhIGUgb3JhXCJdOlxyXG4gICAgICAgIHRoaXMucGlja2VyTW9kZSA9IFBpY2tlck1vZGVFbnVtLkRBVEVUSU1FO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,10 +1,33 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
3
  import { AvailableImageExtensions } from '../../../../models/fields/attachmentField.model';
4
4
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
5
+ import { MatDialog, MatDialogRef } from '@angular/material/dialog';
6
+ /**
7
+ * Metodo per recuperare, a partire da un Blob, la stringa contenente il base64 del file.
8
+ * Usato per prendere il base64 dell'immagine dopo che l'utente ci ha disegnato sopra.
9
+ * @param file Blob che rappresenta l'immagine.
10
+ */
11
+ const toBase64 = file => new Promise((resolve, reject) => {
12
+ const reader = new FileReader();
13
+ reader.readAsDataURL(file);
14
+ reader.onload = () => resolve(reader.result.toString());
15
+ reader.onerror = error => reject(error);
16
+ });
17
+ const ɵ0 = toBase64;
5
18
  let ImageFieldTemplateComponent = class ImageFieldTemplateComponent {
6
- constructor() {
19
+ //#endregion
20
+ constructor(dialog, utilityService) {
21
+ this.dialog = dialog;
22
+ this.utilityService = utilityService;
7
23
  this.recordChange = new EventEmitter();
24
+ //#region Proprietà per configurare il componente ngx-image-drawing e aprire il relativo dialog.
25
+ this.width = null;
26
+ this.height = null;
27
+ this.i18n = {
28
+ saveBtn: 'Salva modifiche',
29
+ cancelBtn: 'Ricarica originale'
30
+ };
8
31
  }
9
32
  ngOnInit() {
10
33
  this.field.AttachDefinition.FormFormGroup = this.field.FormFormGroup;
@@ -17,6 +40,19 @@ let ImageFieldTemplateComponent = class ImageFieldTemplateComponent {
17
40
  this.field.AttachDefinition.Required = this.field.Required;
18
41
  this.field.AttachDefinition.Formula = this.field.Formula;
19
42
  this.field.AttachDefinition.FieldValue = this.field.FieldValue;
43
+ // Se il campo prevede un'immagine pre-caricata (ImageIsContextualAttachment == true) sulla quale
44
+ // l'utente può disegnare (EnableDrawing == true) e non sono in modifica di un record (ovvero nel record
45
+ // non ho un'immagine già salvata) allora imposta l'immagine pre caricata come valore iniziale
46
+ // nel record corrente e ne recupera le dimensioni per visualizzare correttamente l'area in cui
47
+ // l'utente può disegnare. Se non effettua modifiche o non salva i disegni fatti viene salvata
48
+ // l'immagine originale.
49
+ if (this.field.ImageIsContextualAttachment && this.field.ContextualAttachment) {
50
+ if (!this.record[this.field.Name] || !Array.isArray(this.record[this.field.Name]) || !(this.record[this.field.Name].length > 0)) {
51
+ this.record[this.field.Name] = [JSON.parse(JSON.stringify(this.field.ContextualAttachment))];
52
+ }
53
+ this.preLoadedImageMetadataFormGroup = this.utilityService.CreateFormFormGroup(this.field.AttachDefinition.MetadataFields, this.record[this.field.Name][0]);
54
+ this.getImageDimensions();
55
+ }
20
56
  }
21
57
  ngOnChanges(changes) {
22
58
  // Se viene modificato il valore di "ngModelInput" allora aggiorna l'input
@@ -25,6 +61,15 @@ let ImageFieldTemplateComponent = class ImageFieldTemplateComponent {
25
61
  this.updateField();
26
62
  }
27
63
  }
64
+ updateMetadataValidity() {
65
+ if (this.preLoadedImageMetadataFormGroup.invalid) {
66
+ this.field.FormFormGroup.controls[this.field.Name].setErrors({ 'incorrect': true });
67
+ }
68
+ else {
69
+ this.field.FormFormGroup.controls[this.field.Name].setErrors(null);
70
+ }
71
+ this.onRecordValueChange();
72
+ }
28
73
  /**
29
74
  * Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
30
75
  */
@@ -33,7 +78,100 @@ let ImageFieldTemplateComponent = class ImageFieldTemplateComponent {
33
78
  this.record[this.field.Name] = UtilityHelperService.EvaluateFieldFormula(this.field.Formula, this.record, null);
34
79
  }
35
80
  }
81
+ resetPreLoadedImage() {
82
+ this.width = null;
83
+ this.height = null;
84
+ this.record[this.field.Name] = [JSON.parse(JSON.stringify(this.field.ContextualAttachment))];
85
+ this.getImageDimensions();
86
+ }
87
+ /**
88
+ * Metodo invocato quando vengono aggiunti o eliminati gli allegati nel componente AttachmentFieldTemplate.
89
+ * Se l'ImageField è abilitato al disegno (EnableDrawing == true), non permette allegati multipli (IsMulitAttach == false)
90
+ * e nel Record corrente è presente l'immagine caricata dall'utente allora recupera le dimensioni dell'immagine e
91
+ * apre il dialog con il componente image-drawing per permettere il disegno sull'immagine appena caricata.
92
+ */
93
+ onAttachmentsChange() {
94
+ if (!this.field.AttachDefinition.IsMultiAttach && this.field.EnableDrawing && this.record[this.field.Name] && this.record[this.field.Name][0]) {
95
+ this.getImageDimensions();
96
+ this.dialogImageDrowingRef = this.dialog.open(this.dialogImageDrowing, {
97
+ disableClose: true,
98
+ hasBackdrop: true,
99
+ width: '75%'
100
+ });
101
+ }
102
+ }
103
+ /**
104
+ * Metodo invocato al salvataggio dell'immagine dal componente image-drawing.
105
+ * Trasforma il Blob ricevuto in un base64, aggiorna il FileContetType e il FileDataBase64
106
+ * dell'allegato caricato e chiude il dialog in cui disegnare.
107
+ * @param drawnPicture Blob dell'immagine disegnata.
108
+ */
109
+ saveDrowning(drawnPicture) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ let base64File = yield toBase64(drawnPicture);
112
+ if (base64File) {
113
+ this.record[this.field.Name][0].FileContentType = base64File.split(",")[0].split(":")[1].split(";")[0];
114
+ this.record[this.field.Name][0].FileDataBase64 = base64File.split(",")[1];
115
+ }
116
+ if (this.dialogImageDrowingRef) {
117
+ this.closeImageDrowingDialog();
118
+ }
119
+ });
120
+ }
121
+ /**
122
+ * Metodo per chiudere il dialog in cui disegnare sull'immagine cariata e svuotare le dimensioni.
123
+ */
124
+ closeImageDrowingDialog() {
125
+ this.dialogImageDrowingRef.close();
126
+ this.width = null;
127
+ this.height = null;
128
+ }
129
+ /**
130
+ * Metodo per recuperare le dimensioni dell'immagine caricata per mostrare correttamente
131
+ * il componente image-drawing. Se non viene eseguito questo passaggio l'area in cui disegnare
132
+ * è più grande dell'immagine stessa e al salvataggio i tratti disegnati vengono spostati.
133
+ */
134
+ getImageDimensions() {
135
+ var blob = this.getBlobFromBase64();
136
+ const reader = new FileReader();
137
+ reader.onload = (e) => {
138
+ const image = new Image();
139
+ image.src = e.target.result;
140
+ image.onload = rs => {
141
+ this.height = rs.currentTarget['height'];
142
+ this.width = rs.currentTarget['width'];
143
+ };
144
+ };
145
+ reader.readAsDataURL(blob);
146
+ }
147
+ /**
148
+ * Metodo per convertire il base64 di un'immagine in un Blob.
149
+ * Necessario per il recupero delle dimensioni dell'immagine caricata a partire dal suo base64.
150
+ * Viene eseguito solo nel caso in cui l'ImageField non ammette allegati multipli.
151
+ * @returns Restituisce il Blob dell'immagine caricata.
152
+ */
153
+ getBlobFromBase64() {
154
+ const byteCharacters = atob(this.record[this.field.Name][0].FileDataBase64);
155
+ const byteNumbers = new Array(byteCharacters.length);
156
+ for (let i = 0; i < byteCharacters.length; i++) {
157
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
158
+ }
159
+ const byteArray = new Uint8Array(byteNumbers);
160
+ return new Blob([byteArray], { type: this.record[this.field.Name][0].FileContentType });
161
+ }
162
+ /**
163
+ * Metodo per emettere l'evento che il valore del record è cambiato.
164
+ */
165
+ onRecordValueChange() {
166
+ if (!this.field.Formula) {
167
+ this.recordChange.emit(this.record);
168
+ }
169
+ }
36
170
  };
171
+ ImageFieldTemplateComponent.ctorParameters = () => [
172
+ { type: MatDialog },
173
+ { type: UtilityHelperService }
174
+ ];
37
175
  __decorate([
38
176
  Input()
39
177
  ], ImageFieldTemplateComponent.prototype, "record", void 0);
@@ -43,12 +181,16 @@ __decorate([
43
181
  __decorate([
44
182
  Output()
45
183
  ], ImageFieldTemplateComponent.prototype, "recordChange", void 0);
184
+ __decorate([
185
+ ViewChild("dialogImageDrowing", { static: true })
186
+ ], ImageFieldTemplateComponent.prototype, "dialogImageDrowing", void 0);
46
187
  ImageFieldTemplateComponent = __decorate([
47
188
  Component({
48
189
  selector: 'image-field-template',
49
- template: "<attachment-field-template [(record)]=\"record\" [field]=\"field.AttachDefinition\"\n [onlyImages]=\"true\">\n</attachment-field-template>",
50
- styles: [""]
190
+ template: "<!-- VISUALIZZAZIONE ALLEGATO PRE CARICATO CON POSSIBILITA' DI DISEGNO -->\r\n<div class=\"row\" *ngIf=\"field.ImageIsContextualAttachment && field.ContextualAttachment\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-4\">\r\n <p class=\"mb-2\">\r\n {{ field.Label + (field.Required ? \" *\" : \"\")}}\r\n <br>\r\n Nome immagine: {{ field.ImgName}}\r\n </p>\r\n <eqp-img-drawing\r\n *ngIf=\"field.EnableDrawing && record[field.Name] && record[field.Name][0] && width != null && height != null\"\r\n [src]=\"'data:'+ record[field.Name][0].FileContentType + ';base64,'+ record[field.Name][0].FileDataBase64\"\r\n [showCancelButton]=\"false\" [enableLoadAnotherImage]=\"false\" [enableRemoveImage]=\"false\" [width]=\"width\"\r\n [height]=\"height\" [i18n]=\"i18n\" [showCancelButton]=\"true\" (save)=\"saveDrowning($event)\"\r\n (cancel)=\"resetPreLoadedImage()\">\r\n </eqp-img-drawing>\r\n\r\n <img *ngIf=\"!field.EnableDrawing\"\r\n [src]=\"'data:'+ record[field.Name][0].FileContentType+ ';base64,'+ record[field.Name][0].FileDataBase64\">\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-6 col-lg-8\">\r\n <div class=\"row\"\r\n *ngIf=\"field.AttachDefinition && field.AttachDefinition.MetadataFields && preLoadedImageMetadataFormGroup\">\r\n <div class=\"mt-2\" *ngFor=\"let metadata of field.AttachDefinition.MetadataFields\"\r\n [ngClass]=\"utilityService.getFieldSyleClass(metadata)\">\r\n <dynamic-module-field #fieldTemplate [field]=\"metadata\" [form]=\"preLoadedImageMetadataFormGroup\"\r\n [record]=\"record[field.Name][0]\" (recordChange)=\"updateMetadataValidity()\">\r\n </dynamic-module-field>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- COMPONENTE IN CUI CARICARE NUOVI ALLEGATI -->\r\n<attachment-field-template [(record)]=\"record\" [field]=\"field.AttachDefinition\" [onlyImages]=\"true\"\r\n (onAttachmentsChange)=\"onAttachmentsChange()\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n</attachment-field-template>\r\n\r\n<!-- DIALOG PER DISEGNARE SUL NUOVO ALLEGATO CARICATO -->\r\n<ng-template #dialogImageDrowing>\r\n <div *ngIf=\"field.EnableDrawing && record[field.Name] && record[field.Name][0] && width != null && height != null\"\r\n class=\"row\">\r\n <div class=\"col-sm-12 col-md-12\">\r\n <eqp-img-drawing [showCancelButton]=\"false\" [enableLoadAnotherImage]=\"false\" [enableRemoveImage]=\"false\"\r\n [src]=\"'data:'+ record[field.Name][0].FileContentType + ';base64,'+ record[field.Name][0].FileDataBase64\"\r\n [i18n]=\"i18n\" [showCancelButton]=\"false\" (save)=\"saveDrowning($event)\">\r\n </eqp-img-drawing>\r\n </div>\r\n </div>\r\n <div class=\"row mt-2 mb-1\">\r\n <div class=\"col-sm-12 text-right\">\r\n <button class=\"btn mat-raised-button\" (click)=\"closeImageDrowingDialog()\" type=\"button\">\r\n Annulla disegno\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>",
191
+ styles: ["::ng-deep image-drawing>button{background-color:var(--primary)!important;color:#fff!important}"]
51
192
  })
52
193
  ], ImageFieldTemplateComponent);
53
194
  export { ImageFieldTemplateComponent };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVxcHJvamVjdC9lcXAtZHluYW1pYy1tb2R1bGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcml2YXRlL2ZpZWxkLXRlbXBsYXRlcy9pbWFnZS1maWVsZC10ZW1wbGF0ZS9pbWFnZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUczRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQU9uRixJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQU10QztRQUZVLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFFMUQsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFFckUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUU7WUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUNqRSxDQUFDO0lBR0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDakwsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzdDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pIO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF0Q1U7SUFBUixLQUFLLEVBQUU7MkRBQWdCO0FBQ2Y7SUFBUixLQUFLLEVBQUU7MERBQW1CO0FBQ2pCO0lBQVQsTUFBTSxFQUFFO2lFQUFpRTtBQUovRCwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQywwSkFBb0Q7O0tBRXJELENBQUM7R0FDVywyQkFBMkIsQ0F3Q3ZDO1NBeENZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWFnZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9pbWFnZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgQXZhaWxhYmxlSW1hZ2VFeHRlbnNpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9hdHRhY2htZW50RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbWFnZS1maWVsZC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUZpZWxkVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBJbWFnZUZpZWxkO1xyXG4gIEBPdXRwdXQoKSByZWNvcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLkZvcm1Gb3JtR3JvdXAgPSB0aGlzLmZpZWxkLkZvcm1Gb3JtR3JvdXA7XHJcblxyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uQWxsb3dlZEV4dGVuc2lvbnMpIHtcclxuICAgICAgdGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLkFsbG93ZWRFeHRlbnNpb25zID0gQXZhaWxhYmxlSW1hZ2VFeHRlbnNpb25zLm1hcChleHQgPT4gZXh0LmtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLk5hbWUgPSB0aGlzLmZpZWxkLk5hbWU7XHJcbiAgICB0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uTGFiZWwgPSB0aGlzLmZpZWxkLkxhYmVsO1xyXG4gICAgdGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLkRlc2NyaXB0aW9uID0gdGhpcy5maWVsZC5EZXNjcmlwdGlvbjtcclxuICAgIHRoaXMuZmllbGQuQXR0YWNoRGVmaW5pdGlvbi5SZXF1aXJlZCA9IHRoaXMuZmllbGQuUmVxdWlyZWQ7XHJcbiAgICB0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uRm9ybXVsYSA9IHRoaXMuZmllbGQuRm9ybXVsYTtcclxuICAgIHRoaXMuZmllbGQuQXR0YWNoRGVmaW5pdGlvbi5GaWVsZFZhbHVlID0gdGhpcy5maWVsZC5GaWVsZFZhbHVlO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBkZWwgY2FtcG8gcXVhbmRvIHF1ZXN0byDDqCByYXBwcmVzZW50YXRvIGRhIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIHVwZGF0ZUZpZWxkKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuRXZhbHVhdGVGaWVsZEZvcm11bGEodGhpcy5maWVsZC5Gb3JtdWxhLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
195
+ export { ɵ0 };
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVxcHJvamVjdC9lcXAtZHluYW1pYy1tb2R1bGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcml2YXRlL2ZpZWxkLXRlbXBsYXRlcy9pbWFnZS1maWVsZC10ZW1wbGF0ZS9pbWFnZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUE4QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFHM0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUluRTs7OztHQUlHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUMvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUM7O0FBT0gsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFpQnRDLFlBQVk7SUFFWixZQUNVLE1BQWlCLEVBQ2xCLGNB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REFBZ0I7QUFDZjtJQUFSLEtBQUssRUFBRTswREFBbUI7QUFDakI7SUFBVCxNQUFNLEVBQUU7aUVBQWlFO0FBWXZCO0lBQWxELFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzt1RUFBc0M7QUFoQjdFLDJCQUEyQjtJQUx2QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLG94R0FBb0Q7O0tBRXJELENBQUM7R0FDVywyQkFBMkIsQ0ErS3ZDO1NBL0tZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWFnZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9pbWFnZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgQXZhaWxhYmxlSW1hZ2VFeHRlbnNpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9hdHRhY2htZW50RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSTE4bkludGVyZmFjZSB9IGZyb20gJ0BlcXByb2plY3QvZXFwLWltZy1kcmF3aW5nJztcclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gcGVyIHJlY3VwZXJhcmUsIGEgcGFydGlyZSBkYSB1biBCbG9iLCBsYSBzdHJpbmdhIGNvbnRlbmVudGUgaWwgYmFzZTY0IGRlbCBmaWxlLlxyXG4gKiBVc2F0byBwZXIgcHJlbmRlcmUgaWwgYmFzZTY0IGRlbGwnaW1tYWdpbmUgZG9wbyBjaGUgbCd1dGVudGUgY2kgaGEgZGlzZWduYXRvIHNvcHJhLlxyXG4gKiBAcGFyYW0gZmlsZSBCbG9iIGNoZSByYXBwcmVzZW50YSBsJ2ltbWFnaW5lLlxyXG4gKi9cclxuY29uc3QgdG9CYXNlNjQgPSBmaWxlID0+IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdC50b1N0cmluZygpKTtcclxuICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcik7XHJcbn0pO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbWFnZS1maWVsZC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUZpZWxkVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBJbWFnZUZpZWxkO1xyXG4gIEBPdXRwdXQoKSByZWNvcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcblxyXG4gIHByZUxvYWRlZEltYWdlTWV0YWRhdGFGb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuXHJcbiAgLy8jcmVnaW9uIFByb3ByaWV0w6AgcGVyIGNvbmZpZ3VyYXJlIGlsIGNvbXBvbmVudGUgbmd4LWltYWdlLWRyYXdpbmcgZSBhcHJpcmUgaWwgcmVsYXRpdm8gZGlhbG9nLlxyXG4gIHB1YmxpYyB3aWR0aCA9IG51bGw7XHJcbiAgcHVibGljIGhlaWdodCA9IG51bGw7XHJcbiAgcHVibGljIGkxOG46IEkxOG5JbnRlcmZhY2UgPSB7XHJcbiAgICBzYXZlQnRuOiAnU2FsdmEgbW9kaWZpY2hlJyxcclxuICAgIGNhbmNlbEJ0bjogJ1JpY2FyaWNhIG9yaWdpbmFsZSdcclxuICB9O1xyXG4gIGRpYWxvZ0ltYWdlRHJvd2luZ1JlZjogTWF0RGlhbG9nUmVmPFRlbXBsYXRlUmVmPGFueT4+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkaWFsb2dJbWFnZURyb3dpbmdcIiwgeyBzdGF0aWM6IHRydWUgfSkgZGlhbG9nSW1hZ2VEcm93aW5nOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlIZWxwZXJTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uRm9ybUZvcm1Hcm91cCA9IHRoaXMuZmllbGQuRm9ybUZvcm1Hcm91cDtcclxuXHJcbiAgICBpZiAoIXRoaXMuZmllbGQuQXR0YWNoRGVmaW5pdGlvbi5BbGxvd2VkRXh0ZW5zaW9ucykge1xyXG4gICAgICB0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uQWxsb3dlZEV4dGVuc2lvbnMgPSBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMubWFwKGV4dCA9PiBleHQua2V5KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uTmFtZSA9IHRoaXMuZmllbGQuTmFtZTtcclxuICAgIHRoaXMuZmllbGQuQXR0YWNoRGVmaW5pdGlvbi5MYWJlbCA9IHRoaXMuZmllbGQuTGFiZWw7XHJcbiAgICB0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uRGVzY3JpcHRpb24gPSB0aGlzLmZpZWxkLkRlc2NyaXB0aW9uO1xyXG4gICAgdGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLlJlcXVpcmVkID0gdGhpcy5maWVsZC5SZXF1aXJlZDtcclxuICAgIHRoaXMuZmllbGQuQXR0YWNoRGVmaW5pdGlvbi5Gb3JtdWxhID0gdGhpcy5maWVsZC5Gb3JtdWxhO1xyXG4gICAgdGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLkZpZWxkVmFsdWUgPSB0aGlzLmZpZWxkLkZpZWxkVmFsdWU7XHJcblxyXG4gICAgLy8gU2UgaWwgY2FtcG8gcHJldmVkZSB1bidpbW1hZ2luZSBwcmUtY2FyaWNhdGEgKEltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudCA9PSB0cnVlKSBzdWxsYSBxdWFsZSBcclxuICAgIC8vIGwndXRlbnRlIHB1w7IgZGlzZWduYXJlIChFbmFibGVEcmF3aW5nID09IHRydWUpIGUgbm9uIHNvbm8gaW4gbW9kaWZpY2EgZGkgdW4gcmVjb3JkIChvdnZlcm8gbmVsIHJlY29yZFxyXG4gICAgLy8gbm9uIGhvIHVuJ2ltbWFnaW5lIGdpw6Agc2FsdmF0YSkgYWxsb3JhIGltcG9zdGEgbCdpbW1hZ2luZSBwcmUgY2FyaWNhdGEgY29tZSB2YWxvcmUgaW5pemlhbGVcclxuICAgIC8vIG5lbCByZWNvcmQgY29ycmVudGUgZSBuZSByZWN1cGVyYSBsZSBkaW1lbnNpb25pIHBlciB2aXN1YWxpenphcmUgY29ycmV0dGFtZW50ZSBsJ2FyZWEgaW4gY3VpICBcclxuICAgIC8vIGwndXRlbnRlIHB1w7IgZGlzZWduYXJlLiBTZSBub24gZWZmZXR0dWEgbW9kaWZpY2hlIG8gbm9uIHNhbHZhIGkgZGlzZWduaSBmYXR0aSB2aWVuZSBzYWx2YXRhXHJcbiAgICAvLyBsJ2ltbWFnaW5lIG9yaWdpbmFsZS5cclxuICAgIGlmICh0aGlzLmZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudCAmJiB0aGlzLmZpZWxkLkNvbnRleHR1YWxBdHRhY2htZW50KSB7XHJcbiAgICAgIGlmICghdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdKSB8fCAhKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0ubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gW0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWVsZC5Db250ZXh0dWFsQXR0YWNobWVudCkpXTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnByZUxvYWRlZEltYWdlTWV0YWRhdGFGb3JtR3JvdXAgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLkNyZWF0ZUZvcm1Gb3JtR3JvdXAodGhpcy5maWVsZC5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdWzBdKTtcclxuICAgICAgdGhpcy5nZXRJbWFnZURpbWVuc2lvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZU1ldGFkYXRhVmFsaWRpdHkoKSB7XHJcbiAgICBpZiAodGhpcy5wcmVMb2FkZWRJbWFnZU1ldGFkYXRhRm9ybUdyb3VwLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQuTmFtZV0uc2V0RXJyb3JzKHsgJ2luY29ycmVjdCc6IHRydWUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5OYW1lXS5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uUmVjb3JkVmFsdWVDaGFuZ2UoKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRlbCBjYW1wbyBxdWFuZG8gcXVlc3RvIMOoIHJhcHByZXNlbnRhdG8gZGEgdW5hIGZvcm11bGEuXHJcbiAgICovXHJcbiAgdXBkYXRlRmllbGQoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLkZvcm11bGEsIHRoaXMucmVjb3JkLCBudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICByZXNldFByZUxvYWRlZEltYWdlKCkge1xyXG4gICAgdGhpcy53aWR0aCA9IG51bGw7XHJcbiAgICB0aGlzLmhlaWdodCA9IG51bGw7XHJcbiAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gW0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWVsZC5Db250ZXh0dWFsQXR0YWNobWVudCkpXTtcclxuICAgIHRoaXMuZ2V0SW1hZ2VEaW1lbnNpb25zKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gaW52b2NhdG8gcXVhbmRvIHZlbmdvbm8gYWdnaXVudGkgbyBlbGltaW5hdGkgZ2xpIGFsbGVnYXRpIG5lbCBjb21wb25lbnRlIEF0dGFjaG1lbnRGaWVsZFRlbXBsYXRlLlxyXG4gICAqIFNlIGwnSW1hZ2VGaWVsZCDDqCBhYmlsaXRhdG8gYWwgZGlzZWdubyAoRW5hYmxlRHJhd2luZyA9PSB0cnVlKSwgbm9uIHBlcm1ldHRlIGFsbGVnYXRpIG11bHRpcGxpIChJc011bGl0QXR0YWNoID09IGZhbHNlKVxyXG4gICAqIGUgbmVsIFJlY29yZCBjb3JyZW50ZSDDqCBwcmVzZW50ZSBsJ2ltbWFnaW5lIGNhcmljYXRhIGRhbGwndXRlbnRlIGFsbG9yYSByZWN1cGVyYSBsZSBkaW1lbnNpb25pIGRlbGwnaW1tYWdpbmUgZVxyXG4gICAqIGFwcmUgaWwgZGlhbG9nIGNvbiBpbCBjb21wb25lbnRlIGltYWdlLWRyYXdpbmcgcGVyIHBlcm1ldHRlcmUgaWwgZGlzZWdubyBzdWxsJ2ltbWFnaW5lIGFwcGVuYSBjYXJpY2F0YS5cclxuICAgKi9cclxuICBvbkF0dGFjaG1lbnRzQ2hhbmdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkF0dGFjaERlZmluaXRpb24uSXNNdWx0aUF0dGFjaCAmJiB0aGlzLmZpZWxkLkVuYWJsZURyYXdpbmcgJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAmJiB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdWzBdKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW1hZ2VEaW1lbnNpb25zKCk7XHJcbiAgICAgIHRoaXMuZGlhbG9nSW1hZ2VEcm93aW5nUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ0ltYWdlRHJvd2luZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICB3aWR0aDogJzc1JSdcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gaW52b2NhdG8gYWwgc2FsdmF0YWdnaW8gZGVsbCdpbW1hZ2luZSBkYWwgY29tcG9uZW50ZSBpbWFnZS1kcmF3aW5nLlxyXG4gICAqIFRyYXNmb3JtYSBpbCBCbG9iIHJpY2V2dXRvIGluIHVuIGJhc2U2NCwgYWdnaW9ybmEgaWwgRmlsZUNvbnRldFR5cGUgZSBpbCBGaWxlRGF0YUJhc2U2NFxyXG4gICAqIGRlbGwnYWxsZWdhdG8gY2FyaWNhdG8gZSBjaGl1ZGUgaWwgZGlhbG9nIGluIGN1aSBkaXNlZ25hcmUuXHJcbiAgICogQHBhcmFtIGRyYXduUGljdHVyZSBCbG9iIGRlbGwnaW1tYWdpbmUgZGlzZWduYXRhLlxyXG4gICAqL1xyXG4gIGFzeW5jIHNhdmVEcm93bmluZyhkcmF3blBpY3R1cmU6IEJsb2IpIHtcclxuICAgIGxldCBiYXNlNjRGaWxlID0gYXdhaXQgdG9CYXNlNjQoZHJhd25QaWN0dXJlKTtcclxuICAgIGlmIChiYXNlNjRGaWxlKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV1bMF0uRmlsZUNvbnRlbnRUeXBlID0gYmFzZTY0RmlsZS5zcGxpdChcIixcIilbMF0uc3BsaXQoXCI6XCIpWzFdLnNwbGl0KFwiO1wiKVswXTtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXVswXS5GaWxlRGF0YUJhc2U2NCA9IGJhc2U2NEZpbGUuc3BsaXQoXCIsXCIpWzFdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlhbG9nSW1hZ2VEcm93aW5nUmVmKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VJbWFnZURyb3dpbmdEaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY2hpdWRlcmUgaWwgZGlhbG9nIGluIGN1aSBkaXNlZ25hcmUgc3VsbCdpbW1hZ2luZSBjYXJpYXRhIGUgc3Z1b3RhcmUgbGUgZGltZW5zaW9uaS5cclxuICAgKi9cclxuICBjbG9zZUltYWdlRHJvd2luZ0RpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nSW1hZ2VEcm93aW5nUmVmLmNsb3NlKCk7XHJcbiAgICB0aGlzLndpZHRoID0gbnVsbDtcclxuICAgIHRoaXMuaGVpZ2h0ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgcmVjdXBlcmFyZSBsZSBkaW1lbnNpb25pIGRlbGwnaW1tYWdpbmUgY2FyaWNhdGEgcGVyIG1vc3RyYXJlIGNvcnJldHRhbWVudGVcclxuICAgKiBpbCBjb21wb25lbnRlIGltYWdlLWRyYXdpbmcuIFNlIG5vbiB2aWVuZSBlc2VndWl0byBxdWVzdG8gcGFzc2FnZ2lvIGwnYXJlYSBpbiBjdWkgZGlzZWduYXJlIFxyXG4gICAqIMOoIHBpw7kgZ3JhbmRlIGRlbGwnaW1tYWdpbmUgc3Rlc3NhIGUgYWwgc2FsdmF0YWdnaW8gaSB0cmF0dGkgZGlzZWduYXRpIHZlbmdvbm8gc3Bvc3RhdGkuIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0SW1hZ2VEaW1lbnNpb25zKCkge1xyXG4gICAgdmFyIGJsb2I6IEJsb2IgPSB0aGlzLmdldEJsb2JGcm9tQmFzZTY0KCk7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgaW1hZ2Uuc3JjID0gZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICBpbWFnZS5vbmxvYWQgPSBycyA9PiB7XHJcbiAgICAgICAgdGhpcy5oZWlnaHQgPSBycy5jdXJyZW50VGFyZ2V0WydoZWlnaHQnXTtcclxuICAgICAgICB0aGlzLndpZHRoID0gcnMuY3VycmVudFRhcmdldFsnd2lkdGgnXTtcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY29udmVydGlyZSBpbCBiYXNlNjQgZGkgdW4naW1tYWdpbmUgaW4gdW4gQmxvYi5cclxuICAgKiBOZWNlc3NhcmlvIHBlciBpbCByZWN1cGVybyBkZWxsZSBkaW1lbnNpb25pIGRlbGwnaW1tYWdpbmUgY2FyaWNhdGEgYSBwYXJ0aXJlIGRhbCBzdW8gYmFzZTY0LlxyXG4gICAqIFZpZW5lIGVzZWd1aXRvIHNvbG8gbmVsIGNhc28gaW4gY3VpIGwnSW1hZ2VGaWVsZCBub24gYW1tZXR0ZSBhbGxlZ2F0aSBtdWx0aXBsaS5cclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSBpbCBCbG9iIGRlbGwnaW1tYWdpbmUgY2FyaWNhdGEuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRCbG9iRnJvbUJhc2U2NCgpIHtcclxuICAgIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYih0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdWzBdLkZpbGVEYXRhQmFzZTY0KTtcclxuICAgIGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGJ5dGVOdW1iZXJzW2ldID0gYnl0ZUNoYXJhY3RlcnMuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuICAgIHJldHVybiBuZXcgQmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdWzBdLkZpbGVDb250ZW50VHlwZSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25SZWNvcmRWYWx1ZUNoYW5nZSgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkQ2hhbmdlLmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==