ng-tailwind 4.1.13 → 4.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +24 -24
  2. package/animations/ngt-angular-animations.d.ts +5 -5
  3. package/base/ngt-base-ng-model.d.ts +32 -32
  4. package/components/ngt-action/ngt-action.component.d.ts +16 -16
  5. package/components/ngt-action/ngt-action.module.d.ts +10 -10
  6. package/components/ngt-button/ngt-button.component.d.ts +25 -25
  7. package/components/ngt-button/ngt-button.module.d.ts +10 -10
  8. package/components/ngt-checkbox/ngt-checkbox.component.d.ts +47 -46
  9. package/components/ngt-checkbox/ngt-checkbox.module.d.ts +10 -10
  10. package/components/ngt-content/ngt-content.component.d.ts +12 -12
  11. package/components/ngt-content/ngt-content.module.d.ts +8 -8
  12. package/components/ngt-datatable/ngt-datatable.component.d.ts +117 -117
  13. package/components/ngt-datatable/ngt-datatable.module.d.ts +24 -24
  14. package/components/ngt-datatable/ngt-tbody/ngt-tbody.component.d.ts +14 -14
  15. package/components/ngt-datatable/ngt-td/ngt-td.component.d.ts +14 -14
  16. package/components/ngt-datatable/ngt-td-check/ngt-td-check.component.d.ts +29 -29
  17. package/components/ngt-datatable/ngt-th/ngt-th.component.d.ts +51 -51
  18. package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +22 -22
  19. package/components/ngt-datatable/ngt-thead/ngt-thead.component.d.ts +13 -13
  20. package/components/ngt-datatable/ngt-tr/ngt-tr.component.d.ts +20 -20
  21. package/components/ngt-date/ngt-date.component.d.ts +79 -79
  22. package/components/ngt-date/ngt-date.module.d.ts +13 -13
  23. package/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.d.ts +8 -8
  24. package/components/ngt-dropdown/ngt-dropdown.component.d.ts +53 -53
  25. package/components/ngt-dropdown/ngt-dropdown.module.d.ts +9 -9
  26. package/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.d.ts +14 -14
  27. package/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.d.ts +25 -25
  28. package/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.d.ts +35 -35
  29. package/components/ngt-dropzone/ngt-dropzone.component.d.ts +86 -86
  30. package/components/ngt-dropzone/ngt-dropzone.meta.d.ts +27 -27
  31. package/components/ngt-dropzone/ngt-dropzone.module.d.ts +17 -17
  32. package/components/ngt-floating-button/ngt-floating-button.component.d.ts +35 -35
  33. package/components/ngt-floating-button/ngt-floating-button.module.d.ts +10 -10
  34. package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.d.ts +10 -10
  35. package/components/ngt-form/ngt-form.component.d.ts +55 -55
  36. package/components/ngt-form/ngt-form.module.d.ts +9 -9
  37. package/components/ngt-header-nav/ngt-header-nav.component.d.ts +14 -14
  38. package/components/ngt-header-nav/ngt-header-nav.module.d.ts +8 -8
  39. package/components/ngt-helper/ngt-helper.component.d.ts +25 -25
  40. package/components/ngt-helper/ngt-helper.module.d.ts +10 -10
  41. package/components/ngt-input/ngt-input.component.d.ts +109 -109
  42. package/components/ngt-input/ngt-input.module.d.ts +14 -14
  43. package/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.d.ts +5 -5
  44. package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +5 -5
  45. package/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.d.ts +15 -15
  46. package/components/ngt-modal/ngt-modal.component.d.ts +25 -25
  47. package/components/ngt-modal/ngt-modal.module.d.ts +11 -11
  48. package/components/ngt-multi-select/ngt-multi-select.component.d.ts +103 -103
  49. package/components/ngt-multi-select/ngt-multi-select.module.d.ts +15 -15
  50. package/components/ngt-pagination/ngt-pagination.component.d.ts +43 -43
  51. package/components/ngt-pagination/ngt-pagination.module.d.ts +12 -12
  52. package/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.d.ts +15 -15
  53. package/components/ngt-popover/ngt-popover.component.d.ts +31 -31
  54. package/components/ngt-popover/ngt-popover.directive.d.ts +27 -27
  55. package/components/ngt-popover/ngt-popover.module.d.ts +11 -11
  56. package/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.d.ts +12 -12
  57. package/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.d.ts +12 -12
  58. package/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.d.ts +17 -17
  59. package/components/ngt-portlet/ngt-portlet.component.d.ts +20 -20
  60. package/components/ngt-portlet/ngt-portlet.module.d.ts +13 -13
  61. package/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.d.ts +9 -9
  62. package/components/ngt-radio-button/ngt-radio-button.component.d.ts +35 -35
  63. package/components/ngt-radio-button/ngt-radio-button.module.d.ts +11 -11
  64. package/components/ngt-section/ngt-section.component.d.ts +29 -29
  65. package/components/ngt-section/ngt-section.module.d.ts +11 -11
  66. package/components/ngt-select/ngt-select.component.d.ts +135 -135
  67. package/components/ngt-select/ngt-select.directive.d.ts +20 -20
  68. package/components/ngt-select/ngt-select.module.d.ts +16 -16
  69. package/components/ngt-shining/ngt-shining.component.d.ts +19 -19
  70. package/components/ngt-shining/ngt-shining.module.d.ts +8 -8
  71. package/components/ngt-sidenav/ngt-sidenav.component.d.ts +32 -32
  72. package/components/ngt-sidenav/ngt-sidenav.module.d.ts +8 -8
  73. package/components/ngt-slider/ngt-slider.component.d.ts +34 -34
  74. package/components/ngt-slider/ngt-slider.module.d.ts +9 -9
  75. package/components/ngt-svg/ngt-svg.component.d.ts +13 -13
  76. package/components/ngt-svg/ngt-svg.module.d.ts +10 -10
  77. package/components/ngt-tag/ngt-tag.component.d.ts +13 -13
  78. package/components/ngt-tag/ngt-tag.module.d.ts +9 -9
  79. package/components/ngt-textarea/ngt-textarea.component.d.ts +49 -49
  80. package/components/ngt-textarea/ngt-textarea.module.d.ts +13 -13
  81. package/components/ngt-validation/ngt-validation.component.d.ts +13 -13
  82. package/components/ngt-validation/ngt-validation.module.d.ts +8 -8
  83. package/directives/ngt-stylizable/ngt-stylizable.directive.d.ts +68 -68
  84. package/directives/ngt-stylizable/ngt-stylizable.module.d.ts +8 -8
  85. package/enums/size.enum.d.ts +8 -8
  86. package/esm2020/animations/ngt-angular-animations.mjs +34 -34
  87. package/esm2020/base/ngt-base-ng-model.mjs +90 -90
  88. package/esm2020/components/ngt-action/ngt-action.component.mjs +54 -54
  89. package/esm2020/components/ngt-action/ngt-action.module.mjs +28 -28
  90. package/esm2020/components/ngt-button/ngt-button.component.mjs +115 -115
  91. package/esm2020/components/ngt-button/ngt-button.module.mjs +28 -28
  92. package/esm2020/components/ngt-checkbox/ngt-checkbox.component.mjs +177 -175
  93. package/esm2020/components/ngt-checkbox/ngt-checkbox.module.mjs +28 -28
  94. package/esm2020/components/ngt-content/ngt-content.component.mjs +32 -32
  95. package/esm2020/components/ngt-content/ngt-content.module.mjs +20 -20
  96. package/esm2020/components/ngt-datatable/ngt-datatable.component.mjs +431 -431
  97. package/esm2020/components/ngt-datatable/ngt-datatable.module.mjs +95 -95
  98. package/esm2020/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +57 -57
  99. package/esm2020/components/ngt-datatable/ngt-td/ngt-td.component.mjs +62 -62
  100. package/esm2020/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +113 -113
  101. package/esm2020/components/ngt-datatable/ngt-th/ngt-th.component.mjs +211 -211
  102. package/esm2020/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +91 -91
  103. package/esm2020/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +55 -55
  104. package/esm2020/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +86 -86
  105. package/esm2020/components/ngt-date/ngt-date.component.mjs +418 -418
  106. package/esm2020/components/ngt-date/ngt-date.module.mjs +40 -40
  107. package/esm2020/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +19 -19
  108. package/esm2020/components/ngt-dropdown/ngt-dropdown.component.mjs +204 -204
  109. package/esm2020/components/ngt-dropdown/ngt-dropdown.module.mjs +21 -21
  110. package/esm2020/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +54 -54
  111. package/esm2020/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +66 -66
  112. package/esm2020/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +94 -94
  113. package/esm2020/components/ngt-dropzone/ngt-dropzone.component.mjs +464 -464
  114. package/esm2020/components/ngt-dropzone/ngt-dropzone.meta.mjs +24 -24
  115. package/esm2020/components/ngt-dropzone/ngt-dropzone.module.mjs +55 -55
  116. package/esm2020/components/ngt-floating-button/ngt-floating-button.component.mjs +119 -119
  117. package/esm2020/components/ngt-floating-button/ngt-floating-button.module.mjs +28 -28
  118. package/esm2020/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +22 -22
  119. package/esm2020/components/ngt-form/ngt-form.component.mjs +193 -193
  120. package/esm2020/components/ngt-form/ngt-form.module.mjs +29 -29
  121. package/esm2020/components/ngt-header-nav/ngt-header-nav.component.mjs +39 -39
  122. package/esm2020/components/ngt-header-nav/ngt-header-nav.module.mjs +20 -20
  123. package/esm2020/components/ngt-helper/ngt-helper.component.mjs +68 -68
  124. package/esm2020/components/ngt-helper/ngt-helper.module.mjs +28 -28
  125. package/esm2020/components/ngt-input/ngt-input.component.mjs +722 -722
  126. package/esm2020/components/ngt-input/ngt-input.module.mjs +47 -47
  127. package/esm2020/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +11 -11
  128. package/esm2020/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +11 -11
  129. package/esm2020/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +38 -38
  130. package/esm2020/components/ngt-modal/ngt-modal.component.mjs +102 -102
  131. package/esm2020/components/ngt-modal/ngt-modal.module.mjs +39 -39
  132. package/esm2020/components/ngt-multi-select/ngt-multi-select.component.mjs +446 -446
  133. package/esm2020/components/ngt-multi-select/ngt-multi-select.module.mjs +52 -52
  134. package/esm2020/components/ngt-pagination/ngt-pagination.component.mjs +162 -162
  135. package/esm2020/components/ngt-pagination/ngt-pagination.module.mjs +36 -36
  136. package/esm2020/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +40 -40
  137. package/esm2020/components/ngt-popover/ngt-popover.component.mjs +85 -85
  138. package/esm2020/components/ngt-popover/ngt-popover.directive.mjs +105 -105
  139. package/esm2020/components/ngt-popover/ngt-popover.module.mjs +36 -36
  140. package/esm2020/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +34 -34
  141. package/esm2020/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +33 -33
  142. package/esm2020/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +53 -53
  143. package/esm2020/components/ngt-portlet/ngt-portlet.component.mjs +74 -74
  144. package/esm2020/components/ngt-portlet/ngt-portlet.module.mjs +47 -47
  145. package/esm2020/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +19 -19
  146. package/esm2020/components/ngt-radio-button/ngt-radio-button.component.mjs +125 -125
  147. package/esm2020/components/ngt-radio-button/ngt-radio-button.module.mjs +29 -29
  148. package/esm2020/components/ngt-section/ngt-section.component.mjs +119 -119
  149. package/esm2020/components/ngt-section/ngt-section.module.mjs +32 -32
  150. package/esm2020/components/ngt-select/ngt-select.component.mjs +552 -552
  151. package/esm2020/components/ngt-select/ngt-select.directive.mjs +36 -36
  152. package/esm2020/components/ngt-select/ngt-select.module.mjs +65 -65
  153. package/esm2020/components/ngt-shining/ngt-shining.component.mjs +40 -40
  154. package/esm2020/components/ngt-shining/ngt-shining.module.mjs +20 -20
  155. package/esm2020/components/ngt-sidenav/ngt-sidenav.component.mjs +132 -132
  156. package/esm2020/components/ngt-sidenav/ngt-sidenav.module.mjs +20 -20
  157. package/esm2020/components/ngt-slider/ngt-slider.component.mjs +99 -99
  158. package/esm2020/components/ngt-slider/ngt-slider.module.mjs +24 -24
  159. package/esm2020/components/ngt-svg/ngt-svg.component.mjs +53 -53
  160. package/esm2020/components/ngt-svg/ngt-svg.module.mjs +28 -28
  161. package/esm2020/components/ngt-tag/ngt-tag.component.mjs +37 -37
  162. package/esm2020/components/ngt-tag/ngt-tag.module.mjs +24 -24
  163. package/esm2020/components/ngt-textarea/ngt-textarea.component.mjs +238 -238
  164. package/esm2020/components/ngt-textarea/ngt-textarea.module.mjs +43 -43
  165. package/esm2020/components/ngt-validation/ngt-validation.component.mjs +26 -26
  166. package/esm2020/components/ngt-validation/ngt-validation.module.mjs +20 -20
  167. package/esm2020/directives/ngt-stylizable/ngt-stylizable.directive.mjs +290 -290
  168. package/esm2020/directives/ngt-stylizable/ngt-stylizable.module.mjs +20 -20
  169. package/esm2020/enums/size.enum.mjs +11 -11
  170. package/esm2020/helpers/enum/enum.mjs +7 -7
  171. package/esm2020/helpers/form/form.mjs +14 -14
  172. package/esm2020/helpers/input-mask/input-mask.helper.mjs +23 -23
  173. package/esm2020/helpers/routing/route.mjs +11 -11
  174. package/esm2020/helpers/uuid.mjs +10 -10
  175. package/esm2020/ng-tailwind.mjs +4 -4
  176. package/esm2020/public-api.mjs +121 -121
  177. package/esm2020/services/http/ngt-attachment-http.service.mjs +3 -3
  178. package/esm2020/services/http/ngt-http-form.service.mjs +3 -3
  179. package/esm2020/services/http/ngt-http-resource.service.mjs +3 -3
  180. package/esm2020/services/http/ngt-http-validation.service.mjs +3 -3
  181. package/esm2020/services/http/ngt-http.service.mjs +3 -3
  182. package/esm2020/services/http/ngt-translate.service.mjs +3 -3
  183. package/esm2020/services/ngt-stylizable/ngt-stylizable.service.mjs +273 -273
  184. package/fesm2015/ng-tailwind.mjs +7792 -7790
  185. package/fesm2015/ng-tailwind.mjs.map +1 -1
  186. package/fesm2020/ng-tailwind.mjs +7655 -7653
  187. package/fesm2020/ng-tailwind.mjs.map +1 -1
  188. package/helpers/enum/enum.d.ts +1 -1
  189. package/helpers/form/form.d.ts +4 -4
  190. package/helpers/input-mask/input-mask.helper.d.ts +17 -17
  191. package/helpers/routing/route.d.ts +2 -2
  192. package/helpers/uuid.d.ts +1 -1
  193. package/index.d.ts +5 -5
  194. package/package.json +1 -1
  195. package/public-api.d.ts +83 -83
  196. package/services/http/ngt-attachment-http.service.d.ts +10 -10
  197. package/services/http/ngt-http-form.service.d.ts +5 -5
  198. package/services/http/ngt-http-resource.service.d.ts +12 -12
  199. package/services/http/ngt-http-validation.service.d.ts +11 -11
  200. package/services/http/ngt-http.service.d.ts +27 -27
  201. package/services/http/ngt-translate.service.d.ts +29 -29
  202. package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -96
@@ -1,22 +1,22 @@
1
- import { Component, Input, Optional } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/http/ngt-translate.service";
4
- import * as i2 from "@angular/common";
5
- export class NgtFormValidationMessageComponent {
6
- constructor(ngtTranslateService) {
7
- this.ngtTranslateService = ngtTranslateService;
8
- }
9
- }
10
- NgtFormValidationMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormValidationMessageComponent, deps: [{ token: i1.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
11
- NgtFormValidationMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: { canShowValidationMessage: "canShowValidationMessage", message: "message" }, ngImport: i0, template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormValidationMessageComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'ngt-form-validation-message', template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>" }]
15
- }], ctorParameters: function () { return [{ type: i1.NgtTranslateService, decorators: [{
16
- type: Optional
17
- }] }]; }, propDecorators: { canShowValidationMessage: [{
18
- type: Input
19
- }], message: [{
20
- type: Input
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1mb3JtL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS9uZ3QtZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRM0QsTUFBTSxPQUFPLGlDQUFpQztJQUkxQyxZQUVXLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQy9DLENBQUM7OzhIQVBJLGlDQUFpQztrSEFBakMsaUNBQWlDLHlKQ1I5Qyw2S0FFTTsyRkRNTyxpQ0FBaUM7a0JBSjdDLFNBQVM7K0JBQ0ksNkJBQTZCOzswQkFRbEMsUUFBUTs0Q0FKRyx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybVZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHB1YmxpYyBuZ3RUcmFuc2xhdGVTZXJ2aWNlOiBOZ3RUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7IH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2VcIiBjbGFzcz1cIm1iLTUgcC0yIHJvdW5kZWQgYmctcmVkLTUwMCB0ZXh0LXdoaXRlXCI+XG4gICAge3sgbWVzc2FnZSB8fCBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndEZvcm1EZWZhdWx0VmFsaWRhdGlvbk1lc3NhZ2UgfX1cbjwvZGl2PiJdfQ==
1
+ import { Component, Input, Optional } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/http/ngt-translate.service";
4
+ import * as i2 from "@angular/common";
5
+ export class NgtFormValidationMessageComponent {
6
+ constructor(ngtTranslateService) {
7
+ this.ngtTranslateService = ngtTranslateService;
8
+ }
9
+ }
10
+ NgtFormValidationMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormValidationMessageComponent, deps: [{ token: i1.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
11
+ NgtFormValidationMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: { canShowValidationMessage: "canShowValidationMessage", message: "message" }, ngImport: i0, template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\r\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormValidationMessageComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'ngt-form-validation-message', template: "<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white\">\r\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\r\n</div>" }]
15
+ }], ctorParameters: function () { return [{ type: i1.NgtTranslateService, decorators: [{
16
+ type: Optional
17
+ }] }]; }, propDecorators: { canShowValidationMessage: [{
18
+ type: Input
19
+ }], message: [{
20
+ type: Input
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1mb3JtL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS9uZ3QtZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRM0QsTUFBTSxPQUFPLGlDQUFpQztJQUkxQyxZQUVXLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQy9DLENBQUM7OzhIQVBJLGlDQUFpQztrSEFBakMsaUNBQWlDLHlKQ1I5QyxpTEFFTTsyRkRNTyxpQ0FBaUM7a0JBSjdDLFNBQVM7K0JBQ0ksNkJBQTZCOzswQkFRbEMsUUFBUTs0Q0FKRyx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOZ3RUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQE9wdGlvbmFsKClcclxuICAgICAgICBwdWJsaWMgbmd0VHJhbnNsYXRlU2VydmljZTogTmd0VHJhbnNsYXRlU2VydmljZVxyXG4gICAgKSB7IH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlXCIgY2xhc3M9XCJtYi01IHAtMiByb3VuZGVkIGJnLXJlZC01MDAgdGV4dC13aGl0ZVwiPlxyXG4gICAge3sgbWVzc2FnZSB8fCBuZ3RUcmFuc2xhdGVTZXJ2aWNlLm5ndEZvcm1EZWZhdWx0VmFsaWRhdGlvbk1lc3NhZ2UgfX1cclxuPC9kaXY+Il19
@@ -1,193 +1,193 @@
1
- import { Component, EventEmitter, Host, Input, Optional, Output } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { isValidNgForm } from '../../helpers/form/form';
4
- import { getIdFromUri } from '../../helpers/routing/route';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/router";
8
- import * as i3 from "../../services/http/ngt-http-form.service";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "./ngt-form-validation-message/ngt-form-validation-message.component";
11
- export class NgtFormComponent {
12
- constructor(formContainer, ngForm, router, route, ngtHttpFormService) {
13
- this.formContainer = formContainer;
14
- this.ngForm = ngForm;
15
- this.router = router;
16
- this.route = route;
17
- this.ngtHttpFormService = ngtHttpFormService;
18
- this.guessFormState = true;
19
- this.message = '';
20
- this.routeIdentifier = 'id';
21
- this.onCreating = new EventEmitter;
22
- this.onEditing = new EventEmitter;
23
- this.onLoadingChange = new EventEmitter;
24
- this.onShiningChange = new EventEmitter;
25
- this.setupComponent = new EventEmitter;
26
- this.onResourceLoadingError = new EventEmitter;
27
- this.subscriptions = [];
28
- }
29
- ngOnInit() {
30
- if (this.guessFormState) {
31
- this.subscriptions.push(this.determineFormState().subscribe(() => {
32
- this.setupComponent.emit();
33
- }));
34
- }
35
- else {
36
- this.setupComponent.emit();
37
- }
38
- this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
39
- if (!this.ngForm.valid) {
40
- NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
41
- }
42
- }));
43
- }
44
- ngOnDestroy() {
45
- this.destroySubscriptions();
46
- }
47
- isCreating() {
48
- return this.formState === NgtFormState.CREATING;
49
- }
50
- isEditing() {
51
- return this.formState === NgtFormState.EDITING;
52
- }
53
- isLoading() {
54
- return this.loading;
55
- }
56
- isShining() {
57
- return this.shining;
58
- }
59
- canShowValidationMessage() {
60
- return this.formContainer &&
61
- this.formContainer['submitted'] &&
62
- this.formContainer.status != 'VALID' &&
63
- this.formContainer.status != 'DISABLED';
64
- }
65
- setShining(shining) {
66
- this.shining = shining;
67
- this.onShiningChange.emit(this.shining);
68
- }
69
- setLoading(loading) {
70
- this.loading = loading;
71
- this.onLoadingChange.emit(this.loading);
72
- }
73
- setFormState(state, triggerChange = true) {
74
- this.formState = state;
75
- if (triggerChange) {
76
- this.triggerFormStateChange();
77
- }
78
- }
79
- getFormState() {
80
- return this.formState;
81
- }
82
- triggerFormStateChange() {
83
- if (this.isEditing()) {
84
- this.triggerFormEditing();
85
- }
86
- else if (this.isCreating()) {
87
- this.triggerFormCreating();
88
- }
89
- }
90
- formHasChanges() {
91
- return this.ngForm.dirty;
92
- }
93
- saveResource() {
94
- return new Observable((observer) => {
95
- if (isValidNgForm(this.ngForm)) {
96
- this.setLoading(true);
97
- this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
98
- .subscribe((response) => {
99
- this.setLoading(false);
100
- observer.next(response);
101
- observer.complete();
102
- }));
103
- }
104
- else {
105
- observer.error();
106
- }
107
- });
108
- }
109
- triggerFormCreating() {
110
- this.onCreating.emit();
111
- }
112
- triggerFormEditing() {
113
- if (this.uriId && this.resource) {
114
- this.setLoading(true);
115
- this.setShining(true);
116
- this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
117
- .subscribe((resource) => {
118
- this.setLoading(false);
119
- this.setShining(false);
120
- this.onEditing.emit(resource);
121
- setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
122
- }, (error) => {
123
- this.setLoading(false);
124
- this.setShining(false);
125
- this.onResourceLoadingError.emit(error);
126
- }));
127
- return;
128
- }
129
- this.onEditing.emit(null);
130
- }
131
- determineFormState() {
132
- return new Observable((observer) => {
133
- this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
134
- this.uriId = id;
135
- if (this.uriId) {
136
- this.setFormState(NgtFormState.EDITING);
137
- }
138
- else {
139
- this.setFormState(NgtFormState.CREATING);
140
- }
141
- observer.next();
142
- }));
143
- });
144
- }
145
- destroySubscriptions() {
146
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
147
- this.subscriptions = [];
148
- }
149
- }
150
- NgtFormComponent.onSubmitInvalidForm = new EventEmitter;
151
- NgtFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true }, { token: i1.NgForm, host: true, optional: true }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.NgtHttpFormService }], target: i0.ɵɵFactoryTarget.Component });
152
- NgtFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NgtFormComponent, selector: "ngt-form", inputs: { guessFormState: "guessFormState", message: "message", routeIdentifier: "routeIdentifier", resource: "resource", customLayout: "customLayout" }, outputs: { onCreating: "onCreating", onEditing: "onEditing", onLoadingChange: "onLoadingChange", onShiningChange: "onShiningChange", setupComponent: "setupComponent", onResourceLoadingError: "onResourceLoadingError" }, ngImport: i0, template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: ["canShowValidationMessage", "message"] }] });
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormComponent, decorators: [{
154
- type: Component,
155
- args: [{ selector: 'ngt-form', template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<ng-content></ng-content>" }]
156
- }], ctorParameters: function () { return [{ type: i1.ControlContainer, decorators: [{
157
- type: Optional
158
- }, {
159
- type: Host
160
- }] }, { type: i1.NgForm, decorators: [{
161
- type: Optional
162
- }, {
163
- type: Host
164
- }] }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.NgtHttpFormService }]; }, propDecorators: { guessFormState: [{
165
- type: Input
166
- }], message: [{
167
- type: Input
168
- }], routeIdentifier: [{
169
- type: Input
170
- }], resource: [{
171
- type: Input
172
- }], customLayout: [{
173
- type: Input
174
- }], onCreating: [{
175
- type: Output
176
- }], onEditing: [{
177
- type: Output
178
- }], onLoadingChange: [{
179
- type: Output
180
- }], onShiningChange: [{
181
- type: Output
182
- }], setupComponent: [{
183
- type: Output
184
- }], onResourceLoadingError: [{
185
- type: Output
186
- }] } });
187
- export var NgtFormState;
188
- (function (NgtFormState) {
189
- NgtFormState["CREATING"] = "CREATING";
190
- NgtFormState["EDITING"] = "EDITING";
191
- })(NgtFormState || (NgtFormState = {}));
192
- ;
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQUMsVUFBVSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGdCQUFnQjtJQXVCekIsWUFFVyxhQUErQixFQUUvQixNQUFjLEVBQ2QsTUFBYyxFQUNkLEtBQXFCLEVBQ3BCLGtCQUFzQztRQUx2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFFL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNwQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBN0JsQyxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUMvQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLG9CQUFlLEdBQVcsSUFBSSxDQUFDO1FBTTlCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLENBQUM7UUFDakQsY0FBUyxHQUFzQixJQUFJLFlBQVksQ0FBQztRQUNoRCxvQkFBZSxHQUEwQixJQUFJLFlBQVksQ0FBQztRQUMxRCxvQkFB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LENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7O0FBdkx1QixvQ0FBbUIsR0FBeUIsSUFBSSxZQUFZLENBQUM7NkdBUDVFLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHFhQ2I3Qix1TUFJeUI7MkZEU1osZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNJLFVBQVU7OzBCQTJCZixRQUFROzswQkFBSSxJQUFJOzswQkFFaEIsUUFBUTs7MEJBQUksSUFBSTsrSEF6QkwsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUlXLFVBQVU7c0JBQTFCLE1BQU07Z0JBQ1UsU0FBUztzQkFBekIsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLGVBQWU7c0JBQS9CLE1BQU07Z0JBQ1UsY0FBYztzQkFBOUIsTUFBTTtnQkFDVSxzQkFBc0I7c0JBQXRDLE1BQU07O0FBbUxYLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIscUNBQXFCLENBQUE7SUFDckIsbUNBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIE5nRm9ybX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge2lzVmFsaWROZ0Zvcm19IGZyb20gJy4uLy4uL2hlbHBlcnMvZm9ybS9mb3JtJztcbmltcG9ydCB7Z2V0SWRGcm9tVXJpfSBmcm9tICcuLi8uLi9oZWxwZXJzL3JvdXRpbmcvcm91dGUnO1xuaW1wb3J0IHtOZ3RIdHRwRm9ybVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LWh0dHAtZm9ybS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3Vlc3NGb3JtU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBwdWJsaWMgcm91dGVJZGVudGlmaWVyOiBzdHJpbmcgPSAnaWQnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByZXNvdXJjZTogYW55O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21MYXlvdXQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHN0YXRpYyBvblN1Ym1pdEludmFsaWRGb3JtOiBFdmVudEVtaXR0ZXI8TmdGb3JtPiA9IG5ldyBFdmVudEVtaXR0ZXI7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uQ3JlYXRpbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uRWRpdGluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25Mb2FkaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25TaGluaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgc2V0dXBDb21wb25lbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUmVzb3VyY2VMb2FkaW5nRXJyb3I6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjtcblxuICAgIHB1YmxpYyBmb3JtU3RhdGU6IE5ndEZvcm1TdGF0ZTtcbiAgICBwdWJsaWMgdXJpSWQ6IGFueTtcblxuICAgIHByaXZhdGUgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwcml2YXRlIHNoaW5pbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KClcbiAgICAgICAgcHVibGljIGZvcm1Db250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KClcbiAgICAgICAgcHVibGljIG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbmd0SHR0cEZvcm1TZXJ2aWNlOiBOZ3RIdHRwRm9ybVNlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmd1ZXNzRm9ybVN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmRldGVybWluZUZvcm1TdGF0ZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXR1cENvbXBvbmVudC5lbWl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgIHRoaXMubmdGb3JtLm5nU3VibWl0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm5nRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICBOZ3RGb3JtQ29tcG9uZW50Lm9uU3VibWl0SW52YWxpZEZvcm0uZW1pdCh0aGlzLm5nRm9ybSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveVN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDcmVhdGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlID09PSBOZ3RGb3JtU3RhdGUuQ1JFQVRJTkc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRWRpdGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlID09PSBOZ3RGb3JtU3RhdGUuRURJVElORztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNMb2FkaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NoaW5pbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaW5pbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGNhblNob3dWYWxpZGF0aW9uTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUNvbnRhaW5lciAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyWydzdWJtaXR0ZWQnXSAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyLnN0YXR1cyAhPSAnVkFMSUQnICYmXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250YWluZXIuc3RhdHVzICE9ICdESVNBQkxFRCc7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNoaW5pbmcoc2hpbmluZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNoaW5pbmcgPSBzaGluaW5nO1xuICAgICAgICB0aGlzLm9uU2hpbmluZ0NoYW5nZS5lbWl0KHRoaXMuc2hpbmluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICB0aGlzLm9uTG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZvcm1TdGF0ZShzdGF0ZTogTmd0Rm9ybVN0YXRlLCB0cmlnZ2VyQ2hhbmdlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmZvcm1TdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtU3RhdGVDaGFuZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGb3JtU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJpZ2dlckZvcm1TdGF0ZUNoYW5nZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1FZGl0aW5nKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NyZWF0aW5nKCkpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1DcmVhdGluZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZvcm1IYXNDaGFuZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ0Zvcm0uZGlydHk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmVSZXNvdXJjZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWROZ0Zvcm0odGhpcy5uZ0Zvcm0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHRydWUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmd0SHR0cEZvcm1TZXJ2aWNlLnNhdmVSZXNvdXJjZSh0aGlzLnJlc291cmNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJGb3JtQ3JlYXRpbmcoKSB7XG4gICAgICAgIHRoaXMub25DcmVhdGluZy5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJGb3JtRWRpdGluZygpIHtcbiAgICAgICAgaWYgKHRoaXMudXJpSWQgJiYgdGhpcy5yZXNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKHRydWUpO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndEh0dHBGb3JtU2VydmljZS5sb2FkUmVzb3VyY2VCeUlkKHRoaXMucmVzb3VyY2UsIHRoaXMudXJpSWQpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nLmVtaXQocmVzb3VyY2UpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm5nRm9ybS5mb3JtLm1hcmtBc1ByaXN0aW5lKCksIDE1MDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25SZXNvdXJjZUxvYWRpbmdFcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVkaXRpbmcuZW1pdChudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRldGVybWluZUZvcm1TdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgZ2V0SWRGcm9tVXJpKHRoaXMucm91dGUsIHRoaXMucm91dGVJZGVudGlmaWVyKS5zdWJzY3JpYmUoKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cmlJZCA9IGlkO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVyaUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1TdGF0ZShOZ3RGb3JtU3RhdGUuRURJVElORyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1TdGF0ZShOZ3RGb3JtU3RhdGUuQ1JFQVRJTkcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIE5ndEZvcm1TdGF0ZSB7XG4gICAgQ1JFQVRJTkcgPSAnQ1JFQVRJTkcnLFxuICAgIEVESVRJTkcgPSAnRURJVElORydcbn07XG4iLCI8bmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlICpuZ0lmPSchY3VzdG9tTGF5b3V0JyBbY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlXT1cImNhblNob3dWYWxpZGF0aW9uTWVzc2FnZSgpXCJcbiAgICBbbWVzc2FnZV09XCJtZXNzYWdlXCI+XG48L25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZT5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiJdfQ==
1
+ import { Component, EventEmitter, Host, Input, Optional, Output } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { isValidNgForm } from '../../helpers/form/form';
4
+ import { getIdFromUri } from '../../helpers/routing/route';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "../../services/http/ngt-http-form.service";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "./ngt-form-validation-message/ngt-form-validation-message.component";
11
+ export class NgtFormComponent {
12
+ constructor(formContainer, ngForm, router, route, ngtHttpFormService) {
13
+ this.formContainer = formContainer;
14
+ this.ngForm = ngForm;
15
+ this.router = router;
16
+ this.route = route;
17
+ this.ngtHttpFormService = ngtHttpFormService;
18
+ this.guessFormState = true;
19
+ this.message = '';
20
+ this.routeIdentifier = 'id';
21
+ this.onCreating = new EventEmitter;
22
+ this.onEditing = new EventEmitter;
23
+ this.onLoadingChange = new EventEmitter;
24
+ this.onShiningChange = new EventEmitter;
25
+ this.setupComponent = new EventEmitter;
26
+ this.onResourceLoadingError = new EventEmitter;
27
+ this.subscriptions = [];
28
+ }
29
+ ngOnInit() {
30
+ if (this.guessFormState) {
31
+ this.subscriptions.push(this.determineFormState().subscribe(() => {
32
+ this.setupComponent.emit();
33
+ }));
34
+ }
35
+ else {
36
+ this.setupComponent.emit();
37
+ }
38
+ this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
39
+ if (!this.ngForm.valid) {
40
+ NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
41
+ }
42
+ }));
43
+ }
44
+ ngOnDestroy() {
45
+ this.destroySubscriptions();
46
+ }
47
+ isCreating() {
48
+ return this.formState === NgtFormState.CREATING;
49
+ }
50
+ isEditing() {
51
+ return this.formState === NgtFormState.EDITING;
52
+ }
53
+ isLoading() {
54
+ return this.loading;
55
+ }
56
+ isShining() {
57
+ return this.shining;
58
+ }
59
+ canShowValidationMessage() {
60
+ return this.formContainer &&
61
+ this.formContainer['submitted'] &&
62
+ this.formContainer.status != 'VALID' &&
63
+ this.formContainer.status != 'DISABLED';
64
+ }
65
+ setShining(shining) {
66
+ this.shining = shining;
67
+ this.onShiningChange.emit(this.shining);
68
+ }
69
+ setLoading(loading) {
70
+ this.loading = loading;
71
+ this.onLoadingChange.emit(this.loading);
72
+ }
73
+ setFormState(state, triggerChange = true) {
74
+ this.formState = state;
75
+ if (triggerChange) {
76
+ this.triggerFormStateChange();
77
+ }
78
+ }
79
+ getFormState() {
80
+ return this.formState;
81
+ }
82
+ triggerFormStateChange() {
83
+ if (this.isEditing()) {
84
+ this.triggerFormEditing();
85
+ }
86
+ else if (this.isCreating()) {
87
+ this.triggerFormCreating();
88
+ }
89
+ }
90
+ formHasChanges() {
91
+ return this.ngForm.dirty;
92
+ }
93
+ saveResource() {
94
+ return new Observable((observer) => {
95
+ if (isValidNgForm(this.ngForm)) {
96
+ this.setLoading(true);
97
+ this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
98
+ .subscribe((response) => {
99
+ this.setLoading(false);
100
+ observer.next(response);
101
+ observer.complete();
102
+ }));
103
+ }
104
+ else {
105
+ observer.error();
106
+ }
107
+ });
108
+ }
109
+ triggerFormCreating() {
110
+ this.onCreating.emit();
111
+ }
112
+ triggerFormEditing() {
113
+ if (this.uriId && this.resource) {
114
+ this.setLoading(true);
115
+ this.setShining(true);
116
+ this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
117
+ .subscribe((resource) => {
118
+ this.setLoading(false);
119
+ this.setShining(false);
120
+ this.onEditing.emit(resource);
121
+ setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
122
+ }, (error) => {
123
+ this.setLoading(false);
124
+ this.setShining(false);
125
+ this.onResourceLoadingError.emit(error);
126
+ }));
127
+ return;
128
+ }
129
+ this.onEditing.emit(null);
130
+ }
131
+ determineFormState() {
132
+ return new Observable((observer) => {
133
+ this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
134
+ this.uriId = id;
135
+ if (this.uriId) {
136
+ this.setFormState(NgtFormState.EDITING);
137
+ }
138
+ else {
139
+ this.setFormState(NgtFormState.CREATING);
140
+ }
141
+ observer.next();
142
+ }));
143
+ });
144
+ }
145
+ destroySubscriptions() {
146
+ this.subscriptions.forEach(subscription => subscription.unsubscribe());
147
+ this.subscriptions = [];
148
+ }
149
+ }
150
+ NgtFormComponent.onSubmitInvalidForm = new EventEmitter;
151
+ NgtFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormComponent, deps: [{ token: i1.ControlContainer, host: true, optional: true }, { token: i1.NgForm, host: true, optional: true }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.NgtHttpFormService }], target: i0.ɵɵFactoryTarget.Component });
152
+ NgtFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtFormComponent, selector: "ngt-form", inputs: { guessFormState: "guessFormState", message: "message", routeIdentifier: "routeIdentifier", resource: "resource", customLayout: "customLayout" }, outputs: { onCreating: "onCreating", onEditing: "onEditing", onLoadingChange: "onLoadingChange", onShiningChange: "onShiningChange", setupComponent: "setupComponent", onResourceLoadingError: "onResourceLoadingError" }, ngImport: i0, template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\r\n [message]=\"message\">\r\n</ngt-form-validation-message>\r\n\r\n<ng-content></ng-content>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.NgtFormValidationMessageComponent, selector: "ngt-form-validation-message", inputs: ["canShowValidationMessage", "message"] }] });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormComponent, decorators: [{
154
+ type: Component,
155
+ args: [{ selector: 'ngt-form', template: "<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\r\n [message]=\"message\">\r\n</ngt-form-validation-message>\r\n\r\n<ng-content></ng-content>" }]
156
+ }], ctorParameters: function () { return [{ type: i1.ControlContainer, decorators: [{
157
+ type: Optional
158
+ }, {
159
+ type: Host
160
+ }] }, { type: i1.NgForm, decorators: [{
161
+ type: Optional
162
+ }, {
163
+ type: Host
164
+ }] }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.NgtHttpFormService }]; }, propDecorators: { guessFormState: [{
165
+ type: Input
166
+ }], message: [{
167
+ type: Input
168
+ }], routeIdentifier: [{
169
+ type: Input
170
+ }], resource: [{
171
+ type: Input
172
+ }], customLayout: [{
173
+ type: Input
174
+ }], onCreating: [{
175
+ type: Output
176
+ }], onEditing: [{
177
+ type: Output
178
+ }], onLoadingChange: [{
179
+ type: Output
180
+ }], onShiningChange: [{
181
+ type: Output
182
+ }], setupComponent: [{
183
+ type: Output
184
+ }], onResourceLoadingError: [{
185
+ type: Output
186
+ }] } });
187
+ export var NgtFormState;
188
+ (function (NgtFormState) {
189
+ NgtFormState["CREATING"] = "CREATING";
190
+ NgtFormState["EDITING"] = "EDITING";
191
+ })(NgtFormState || (NgtFormState = {}));
192
+ ;
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQUMsVUFBVSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGdCQUFnQjtJQXVCekIsWUFFVyxhQUErQixFQUUvQixNQUFjLEVBQ2QsTUFBYyxFQUNkLEtBQXFCLEVBQ3BCLGtCQUFzQztRQUx2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFFL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNwQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBN0JsQyxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUMvQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLG9CQUFlLEdBQVcsSUFBSSxDQUFDO1FBTTlCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLENBQUM7UUFDakQsY0FBUyxHQUFzQixJQUFJLFlBQVksQ0FBQztRQUNoRCxvQkFBZSxHQUEwQixJQUFJLFlBQVksQ0FBQztRQUMxRCxvQkFB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LENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7O0FBdkx1QixvQ0FBbUIsR0FBeUIsSUFBSSxZQUFZLENBQUM7NkdBUDVFLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHFhQ2I3QiwrTUFJeUI7MkZEU1osZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNJLFVBQVU7OzBCQTJCZixRQUFROzswQkFBSSxJQUFJOzswQkFFaEIsUUFBUTs7MEJBQUksSUFBSTsrSEF6QkwsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUlXLFVBQVU7c0JBQTFCLE1BQU07Z0JBQ1UsU0FBUztzQkFBekIsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLGVBQWU7c0JBQS9CLE1BQU07Z0JBQ1UsY0FBYztzQkFBOUIsTUFBTTtnQkFDVSxzQkFBc0I7c0JBQXRDLE1BQU07O0FBbUxYLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIscUNBQXFCLENBQUE7SUFDckIsbUNBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udHJvbENvbnRhaW5lciwgTmdGb3JtfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtpc1ZhbGlkTmdGb3JtfSBmcm9tICcuLi8uLi9oZWxwZXJzL2Zvcm0vZm9ybSc7XHJcbmltcG9ydCB7Z2V0SWRGcm9tVXJpfSBmcm9tICcuLi8uLi9oZWxwZXJzL3JvdXRpbmcvcm91dGUnO1xyXG5pbXBvcnQge05ndEh0dHBGb3JtU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtaHR0cC1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25ndC1mb3JtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3RGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgcHVibGljIGd1ZXNzRm9ybVN0YXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyByb3V0ZUlkZW50aWZpZXI6IHN0cmluZyA9ICdpZCc7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgcmVzb3VyY2U6IGFueTtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21MYXlvdXQ6IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzdGF0aWMgb25TdWJtaXRJbnZhbGlkRm9ybTogRXZlbnRFbWl0dGVyPE5nRm9ybT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xyXG5cclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25DcmVhdGluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbkVkaXRpbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25Mb2FkaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblNoaW5pbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIHNldHVwQ29tcG9uZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUmVzb3VyY2VMb2FkaW5nRXJyb3I6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjtcclxuXHJcbiAgICBwdWJsaWMgZm9ybVN0YXRlOiBOZ3RGb3JtU3RhdGU7XHJcbiAgICBwdWJsaWMgdXJpSWQ6IGFueTtcclxuXHJcbiAgICBwcml2YXRlIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIHNoaW5pbmc6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKVxyXG4gICAgICAgIHB1YmxpYyBmb3JtQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KClcclxuICAgICAgICBwdWJsaWMgbmdGb3JtOiBOZ0Zvcm0sXHJcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBuZ3RIdHRwRm9ybVNlcnZpY2U6IE5ndEh0dHBGb3JtU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmd1ZXNzRm9ybVN0YXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRlcm1pbmVGb3JtU3RhdGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNldHVwQ29tcG9uZW50LmVtaXQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLm5nRm9ybS5uZ1N1Ym1pdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm5nRm9ybS52YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIE5ndEZvcm1Db21wb25lbnQub25TdWJtaXRJbnZhbGlkRm9ybS5lbWl0KHRoaXMubmdGb3JtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lTdWJzY3JpcHRpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzQ3JlYXRpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlID09PSBOZ3RGb3JtU3RhdGUuQ1JFQVRJTkc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzRWRpdGluZygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtU3RhdGUgPT09IE5ndEZvcm1TdGF0ZS5FRElUSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0xvYWRpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNTaGluaW5nKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNoaW5pbmc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhblNob3dWYWxpZGF0aW9uTWVzc2FnZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQ29udGFpbmVyICYmXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lclsnc3VibWl0dGVkJ10gJiZcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyLnN0YXR1cyAhPSAnVkFMSUQnICYmXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lci5zdGF0dXMgIT0gJ0RJU0FCTEVEJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0U2hpbmluZyhzaGluaW5nOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5zaGluaW5nID0gc2hpbmluZztcclxuICAgICAgICB0aGlzLm9uU2hpbmluZ0NoYW5nZS5lbWl0KHRoaXMuc2hpbmluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XHJcbiAgICAgICAgdGhpcy5vbkxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRGb3JtU3RhdGUoc3RhdGU6IE5ndEZvcm1TdGF0ZSwgdHJpZ2dlckNoYW5nZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZvcm1TdGF0ZSA9IHN0YXRlO1xyXG5cclxuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtU3RhdGVDaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEZvcm1TdGF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtU3RhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRyaWdnZXJGb3JtU3RhdGVDaGFuZ2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNFZGl0aW5nKCkpIHtcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyRm9ybUVkaXRpbmcoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDcmVhdGluZygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1DcmVhdGluZygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZm9ybUhhc0NoYW5nZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmdGb3JtLmRpcnR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzYXZlUmVzb3VyY2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXNWYWxpZE5nRm9ybSh0aGlzLm5nRm9ybSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ndEh0dHBGb3JtU2VydmljZS5zYXZlUmVzb3VyY2UodGhpcy5yZXNvdXJjZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJGb3JtQ3JlYXRpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5vbkNyZWF0aW5nLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJpZ2dlckZvcm1FZGl0aW5nKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnVyaUlkICYmIHRoaXMucmVzb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFNoaW5pbmcodHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMubmd0SHR0cEZvcm1TZXJ2aWNlLmxvYWRSZXNvdXJjZUJ5SWQodGhpcy5yZXNvdXJjZSwgdGhpcy51cmlJZClcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzb3VyY2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyhmYWxzZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVkaXRpbmcuZW1pdChyZXNvdXJjZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm5nRm9ybS5mb3JtLm1hcmtBc1ByaXN0aW5lKCksIDE1MDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNoaW5pbmcoZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25SZXNvdXJjZUxvYWRpbmdFcnJvci5lbWl0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMub25FZGl0aW5nLmVtaXQobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXRlcm1pbmVGb3JtU3RhdGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgIGdldElkRnJvbVVyaSh0aGlzLnJvdXRlLCB0aGlzLnJvdXRlSWRlbnRpZmllcikuc3Vic2NyaWJlKChpZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cmlJZCA9IGlkO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy51cmlJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1TdGF0ZShOZ3RGb3JtU3RhdGUuRURJVElORyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtU3RhdGUoTmd0Rm9ybVN0YXRlLkNSRUFUSU5HKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXN0cm95U3Vic2NyaXB0aW9ucygpIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBOZ3RGb3JtU3RhdGUge1xyXG4gICAgQ1JFQVRJTkcgPSAnQ1JFQVRJTkcnLFxyXG4gICAgRURJVElORyA9ICdFRElUSU5HJ1xyXG59O1xyXG4iLCI8bmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlICpuZ0lmPSchY3VzdG9tTGF5b3V0JyBbY2FuU2hvd1ZhbGlkYXRpb25NZXNzYWdlXT1cImNhblNob3dWYWxpZGF0aW9uTWVzc2FnZSgpXCJcclxuICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIj5cclxuPC9uZ3QtZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2U+XHJcblxyXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
@@ -1,29 +1,29 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { NgtFormValidationMessageComponent } from './ngt-form-validation-message/ngt-form-validation-message.component';
4
- import { NgtFormComponent } from './ngt-form.component';
5
- import * as i0 from "@angular/core";
6
- export class NgtFormModule {
7
- }
8
- NgtFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NgtFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NgtFormModule, declarations: [NgtFormComponent,
10
- NgtFormValidationMessageComponent], imports: [CommonModule], exports: [NgtFormComponent,
11
- NgtFormValidationMessageComponent] });
12
- NgtFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormModule, imports: [CommonModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgtFormModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [
17
- CommonModule
18
- ],
19
- declarations: [
20
- NgtFormComponent,
21
- NgtFormValidationMessageComponent
22
- ],
23
- exports: [
24
- NgtFormComponent,
25
- NgtFormValidationMessageComponent
26
- ]
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWdCeEQsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkFUbEIsZ0JBQWdCO1FBQ2hCLGlDQUFpQyxhQUpqQyxZQUFZLGFBT1osZ0JBQWdCO1FBQ2hCLGlDQUFpQzsyR0FJNUIsYUFBYSxZQVpsQixZQUFZOzJGQVlQLGFBQWE7a0JBZHpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGdCQUFnQjt3QkFDaEIsaUNBQWlDO3FCQUNwQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3dCQUNoQixpQ0FBaUM7cUJBQ3BDO2lCQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE5ndEZvcm1Db21wb25lbnQsXG4gICAgICAgIE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOZ3RGb3JtQ29tcG9uZW50LFxuICAgICAgICBOZ3RGb3JtVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnRcbiAgICBdXG5cbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybU1vZHVsZSB7IH1cbiJdfQ==
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NgtFormValidationMessageComponent } from './ngt-form-validation-message/ngt-form-validation-message.component';
4
+ import { NgtFormComponent } from './ngt-form.component';
5
+ import * as i0 from "@angular/core";
6
+ export class NgtFormModule {
7
+ }
8
+ NgtFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NgtFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: NgtFormModule, declarations: [NgtFormComponent,
10
+ NgtFormValidationMessageComponent], imports: [CommonModule], exports: [NgtFormComponent,
11
+ NgtFormValidationMessageComponent] });
12
+ NgtFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormModule, imports: [CommonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtFormModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [
17
+ CommonModule
18
+ ],
19
+ declarations: [
20
+ NgtFormComponent,
21
+ NgtFormValidationMessageComponent
22
+ ],
23
+ exports: [
24
+ NgtFormComponent,
25
+ NgtFormValidationMessageComponent
26
+ ]
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWdCeEQsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkFUbEIsZ0JBQWdCO1FBQ2hCLGlDQUFpQyxhQUpqQyxZQUFZLGFBT1osZ0JBQWdCO1FBQ2hCLGlDQUFpQzsyR0FJNUIsYUFBYSxZQVpsQixZQUFZOzJGQVlQLGFBQWE7a0JBZHpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGdCQUFnQjt3QkFDaEIsaUNBQWlDO3FCQUNwQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3dCQUNoQixpQ0FBaUM7cUJBQ3BDO2lCQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ3RGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBOZ3RGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBOZ3RGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudFxyXG4gICAgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndEZvcm1Nb2R1bGUgeyB9XHJcbiJdfQ==