@ohioepa/oepa-ui-lib 1.1.0

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 (299) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/account-search-input/account-search-input.component.mjs +147 -0
  3. package/esm2022/lib/account-search-modal/account-search-modal.component.mjs +151 -0
  4. package/esm2022/lib/action-btn/action-btn.component.mjs +70 -0
  5. package/esm2022/lib/action-btn/oepa-action-event.mjs +2 -0
  6. package/esm2022/lib/action-btn/oepa-action.mjs +2 -0
  7. package/esm2022/lib/action-btn-modal/action-btn-modal.component.mjs +21 -0
  8. package/esm2022/lib/address/address.component.mjs +174 -0
  9. package/esm2022/lib/address/oepa-address.service.mjs +64 -0
  10. package/esm2022/lib/address/oepa-form-address.mjs +2 -0
  11. package/esm2022/lib/blank/blank.component.mjs +14 -0
  12. package/esm2022/lib/checkbox/checkbox.component.mjs +33 -0
  13. package/esm2022/lib/checkbox-input/checkbox-input.component.mjs +41 -0
  14. package/esm2022/lib/comment-modal/comment-modal.component.mjs +56 -0
  15. package/esm2022/lib/common-forms.module.mjs +291 -0
  16. package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +120 -0
  17. package/esm2022/lib/contact/contact.component.mjs +102 -0
  18. package/esm2022/lib/contact/oepa-form-contact.mjs +2 -0
  19. package/esm2022/lib/date-input/date-input.component.mjs +52 -0
  20. package/esm2022/lib/date-input-modal/date-input-modal.component.mjs +68 -0
  21. package/esm2022/lib/datepicker/datepicker.component.mjs +131 -0
  22. package/esm2022/lib/daterangepicker/daterangepicker.component.mjs +70 -0
  23. package/esm2022/lib/document/document-editor/document-editor.component.mjs +225 -0
  24. package/esm2022/lib/document/document-event-entity-type.mjs +7 -0
  25. package/esm2022/lib/document/document-event-type.mjs +7 -0
  26. package/esm2022/lib/document/document-event.mjs +2 -0
  27. package/esm2022/lib/document/document-group/document-group.component.mjs +210 -0
  28. package/esm2022/lib/document/document-part/document-part.component.mjs +19 -0
  29. package/esm2022/lib/document/document-part-editor/document-part-editor.component.mjs +296 -0
  30. package/esm2022/lib/document/document-placeholder-modal/document-placeholder-modal.component.mjs +49 -0
  31. package/esm2022/lib/document/document-section/document-section.component.mjs +226 -0
  32. package/esm2022/lib/document/document.service.mjs +325 -0
  33. package/esm2022/lib/document/group-modal/group-modal.component.mjs +46 -0
  34. package/esm2022/lib/document/part-modal/part-modal.component.mjs +48 -0
  35. package/esm2022/lib/document/portal-document-class.mjs +2 -0
  36. package/esm2022/lib/document/portal-document-group.mjs +2 -0
  37. package/esm2022/lib/document/portal-document-part.mjs +2 -0
  38. package/esm2022/lib/document/portal-document-placeholder.mjs +2 -0
  39. package/esm2022/lib/document/portal-document-section.mjs +2 -0
  40. package/esm2022/lib/document/portal-document-text.mjs +2 -0
  41. package/esm2022/lib/document/portal-document-type.mjs +2 -0
  42. package/esm2022/lib/document/portal-document.mjs +2 -0
  43. package/esm2022/lib/document/portal-email-attachment-type.mjs +2 -0
  44. package/esm2022/lib/document/portal-email-attachment.mjs +2 -0
  45. package/esm2022/lib/document/portal-email-filter.mjs +2 -0
  46. package/esm2022/lib/document/portal-email.mjs +2 -0
  47. package/esm2022/lib/document/section-modal/section-modal.component.mjs +46 -0
  48. package/esm2022/lib/dual-list-box/array.pipes.mjs +71 -0
  49. package/esm2022/lib/dual-list-box/dual-list-box.component.mjs +339 -0
  50. package/esm2022/lib/dual-list-box/items-moved-event.mjs +2 -0
  51. package/esm2022/lib/dual-list-box/list-box-item.mjs +2 -0
  52. package/esm2022/lib/ebiz-address/ebiz-address.component.mjs +62 -0
  53. package/esm2022/lib/edoc-attachment/edoc-attachment.component.mjs +216 -0
  54. package/esm2022/lib/edoc-attachment/edoc-attachment.service.mjs +38 -0
  55. package/esm2022/lib/edoc-attachment/edocument-attachment-metadata.mjs +2 -0
  56. package/esm2022/lib/edoc-attachment/edocument-attachment.mjs +2 -0
  57. package/esm2022/lib/edoc-attachment/edocument-reference.mjs +2 -0
  58. package/esm2022/lib/entity/entity.service.mjs +104 -0
  59. package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs +307 -0
  60. package/esm2022/lib/entity/organization-search-input/organization-search-input.component.mjs +127 -0
  61. package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs +304 -0
  62. package/esm2022/lib/entity/person-create-modal/person-create-modal.component.mjs +316 -0
  63. package/esm2022/lib/entity/person-search-input/person-search-input.component.mjs +129 -0
  64. package/esm2022/lib/entity/person-search-modal/person-search-modal.component.mjs +311 -0
  65. package/esm2022/lib/entity/place-create-modal/place-create-modal.component.mjs +14 -0
  66. package/esm2022/lib/entity/place-search-input/place-search-input.component.mjs +126 -0
  67. package/esm2022/lib/entity/place-search-modal/place-search-modal.component.mjs +216 -0
  68. package/esm2022/lib/esri-map/esri-map.component.mjs +416 -0
  69. package/esm2022/lib/file-upload/file-upload.component.mjs +148 -0
  70. package/esm2022/lib/lynx-image-upload/lynx-image-upload.component.mjs +143 -0
  71. package/esm2022/lib/lynx-image-upload/lynx.service.mjs +47 -0
  72. package/esm2022/lib/masks/oepa-create-integer-mask.mjs +39 -0
  73. package/esm2022/lib/masks/oepa-integer-mask-args.mjs +2 -0
  74. package/esm2022/lib/message/message.component.mjs +19 -0
  75. package/esm2022/lib/message/oepa-message-type.mjs +7 -0
  76. package/esm2022/lib/message/oepa-message.mjs +31 -0
  77. package/esm2022/lib/message-list/message-list.component.mjs +24 -0
  78. package/esm2022/lib/multi-file-upload/multi-file-upload.component.mjs +137 -0
  79. package/esm2022/lib/notes-modal/notes-modal.component.mjs +177 -0
  80. package/esm2022/lib/notes-modal/oepa-note-result.mjs +2 -0
  81. package/esm2022/lib/notes-modal/oepa-note.mjs +2 -0
  82. package/esm2022/lib/numeric-input/numeric-input.component.mjs +50 -0
  83. package/esm2022/lib/numeric-input.directive.mjs +76 -0
  84. package/esm2022/lib/oepa-error-message/oepa-error-message.component.mjs +39 -0
  85. package/esm2022/lib/oepa-forms.service.mjs +199 -0
  86. package/esm2022/lib/oepa-images.mjs +59 -0
  87. package/esm2022/lib/oepa-wait-message/oepa-wait-message.component.mjs +29 -0
  88. package/esm2022/lib/ohio-lat-long/ohio-lat-long.component.mjs +176 -0
  89. package/esm2022/lib/parameter/parameter.mjs +2 -0
  90. package/esm2022/lib/parameter/parameter.service.mjs +47 -0
  91. package/esm2022/lib/params-help-button/params-help-button.component.mjs +42 -0
  92. package/esm2022/lib/phone-number/phone-number.component.mjs +44 -0
  93. package/esm2022/lib/pin-modal/oepa-attestation.mjs +2 -0
  94. package/esm2022/lib/pin-modal/oepa-pin.mjs +2 -0
  95. package/esm2022/lib/pin-modal/oepa-pin.service.mjs +54 -0
  96. package/esm2022/lib/pin-modal/oepa-security-question.mjs +2 -0
  97. package/esm2022/lib/pin-modal/pin-modal.component.mjs +186 -0
  98. package/esm2022/lib/progress-indicator/progress-info.mjs +2 -0
  99. package/esm2022/lib/select-input/select-input.component.mjs +96 -0
  100. package/esm2022/lib/server-timeout-modal/server-timeout-modal.component.mjs +63 -0
  101. package/esm2022/lib/shopping-cart/shopping-cart-summary/shopping-cart-summary.component.mjs +54 -0
  102. package/esm2022/lib/shopping-cart/shopping-cart-view/shopping-cart-view-parameters.mjs +2 -0
  103. package/esm2022/lib/shopping-cart/shopping-cart-view/shopping-cart-view.component.mjs +190 -0
  104. package/esm2022/lib/shopping-cart/shopping-cart.service.mjs +89 -0
  105. package/esm2022/lib/start-end-timepicker/start-end-timepicker.component.mjs +126 -0
  106. package/esm2022/lib/table/oepa-p-column.mjs +2 -0
  107. package/esm2022/lib/table/oepa-table-cell-classname.pipe.mjs +22 -0
  108. package/esm2022/lib/table/oepa-table-cell-click-event.mjs +2 -0
  109. package/esm2022/lib/table/oepa-table-cell-colspan.pipe.mjs +22 -0
  110. package/esm2022/lib/table/oepa-table-cell-hidden.pipe.mjs +22 -0
  111. package/esm2022/lib/table/oepa-table-cell-icon-classname.pipe.mjs +22 -0
  112. package/esm2022/lib/table/oepa-table-cell-img-src.pipe.mjs +22 -0
  113. package/esm2022/lib/table/oepa-table-cell-inner-html.pipe.mjs +22 -0
  114. package/esm2022/lib/table/oepa-table-cell-input-component.pipe.mjs +22 -0
  115. package/esm2022/lib/table/oepa-table-cell-not-selectable.pipe.mjs +22 -0
  116. package/esm2022/lib/table/oepa-table-cell-value.pipe.mjs +22 -0
  117. package/esm2022/lib/table/oepa-table-cell.mjs +2 -0
  118. package/esm2022/lib/table/oepa-table-column.mjs +2 -0
  119. package/esm2022/lib/table/oepa-table-config.mjs +2 -0
  120. package/esm2022/lib/table/oepa-table-filter.mjs +2 -0
  121. package/esm2022/lib/table/oepa-table-filtering.directive.mjs +57 -0
  122. package/esm2022/lib/table/oepa-table-header.mjs +2 -0
  123. package/esm2022/lib/table/oepa-table-page-info.mjs +2 -0
  124. package/esm2022/lib/table/oepa-table-popover.mjs +2 -0
  125. package/esm2022/lib/table/oepa-table-row.mjs +2 -0
  126. package/esm2022/lib/table/oepa-table-sort-criterion.mjs +2 -0
  127. package/esm2022/lib/table/oepa-table-sorting.directive.mjs +57 -0
  128. package/esm2022/lib/table/oepa-table.mjs +2 -0
  129. package/esm2022/lib/table/p-table/p-table.component.mjs +826 -0
  130. package/esm2022/lib/table/table-data-cell/table-data-cell-click-event.mjs +2 -0
  131. package/esm2022/lib/table/table-data-cell/table-data-cell.component.mjs +60 -0
  132. package/esm2022/lib/table/table-export.service.mjs +57 -0
  133. package/esm2022/lib/table/table-header-cell/table-header-cell.component.mjs +61 -0
  134. package/esm2022/lib/table/table.component.mjs +793 -0
  135. package/esm2022/lib/table/table.service.mjs +112 -0
  136. package/esm2022/lib/template-confirmation-modal/template-confirmation-modal.component.mjs +46 -0
  137. package/esm2022/lib/text-area-input/text-area-input.component.mjs +48 -0
  138. package/esm2022/lib/text-input/text-input.component.mjs +48 -0
  139. package/esm2022/lib/timeout-modal/timeout-modal.component.mjs +31 -0
  140. package/esm2022/lib/timepicker/timepicker.component.mjs +48 -0
  141. package/esm2022/lib/validation/form-validator.mjs +2 -0
  142. package/esm2022/lib/validation/validation.service.mjs +134 -0
  143. package/esm2022/lib/yes-no/yes-no.component.mjs +44 -0
  144. package/esm2022/lib/yes-no-boolean/yes-no.component.mjs +44 -0
  145. package/esm2022/lib/yes-no-other-input/yes-no-other-input.component.mjs +41 -0
  146. package/esm2022/lib/zip-code/zip-code.component.mjs +42 -0
  147. package/esm2022/ohioepa-oepa-ui-lib.mjs +5 -0
  148. package/esm2022/public-api.mjs +142 -0
  149. package/fesm2022/ohioepa-oepa-ui-lib.mjs +10720 -0
  150. package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -0
  151. package/index.d.ts +5 -0
  152. package/lib/account-search-input/account-search-input.component.d.ts +36 -0
  153. package/lib/account-search-modal/account-search-modal.component.d.ts +40 -0
  154. package/lib/action-btn/action-btn.component.d.ts +34 -0
  155. package/lib/action-btn/oepa-action-event.d.ts +19 -0
  156. package/lib/action-btn/oepa-action.d.ts +13 -0
  157. package/lib/action-btn-modal/action-btn-modal.component.d.ts +12 -0
  158. package/lib/address/address.component.d.ts +43 -0
  159. package/lib/address/oepa-address.service.d.ts +28 -0
  160. package/lib/address/oepa-form-address.d.ts +19 -0
  161. package/lib/blank/blank.component.d.ts +8 -0
  162. package/lib/checkbox/checkbox.component.d.ts +15 -0
  163. package/lib/checkbox-input/checkbox-input.component.d.ts +17 -0
  164. package/lib/comment-modal/comment-modal.component.d.ts +22 -0
  165. package/lib/common-forms.module.d.ts +104 -0
  166. package/lib/confirmation-modal/confirmation-modal.component.d.ts +49 -0
  167. package/lib/contact/contact.component.d.ts +33 -0
  168. package/lib/contact/oepa-form-contact.d.ts +58 -0
  169. package/lib/date-input/date-input.component.d.ts +18 -0
  170. package/lib/date-input-modal/date-input-modal.component.d.ts +25 -0
  171. package/lib/datepicker/datepicker.component.d.ts +28 -0
  172. package/lib/daterangepicker/daterangepicker.component.d.ts +22 -0
  173. package/lib/document/document-editor/document-editor.component.d.ts +34 -0
  174. package/lib/document/document-event-entity-type.d.ts +5 -0
  175. package/lib/document/document-event-type.d.ts +5 -0
  176. package/lib/document/document-event.d.ts +9 -0
  177. package/lib/document/document-group/document-group.component.d.ts +38 -0
  178. package/lib/document/document-part/document-part.component.d.ts +10 -0
  179. package/lib/document/document-part-editor/document-part-editor.component.d.ts +46 -0
  180. package/lib/document/document-placeholder-modal/document-placeholder-modal.component.d.ts +19 -0
  181. package/lib/document/document-section/document-section.component.d.ts +37 -0
  182. package/lib/document/document.service.d.ts +90 -0
  183. package/lib/document/group-modal/group-modal.component.d.ts +20 -0
  184. package/lib/document/part-modal/part-modal.component.d.ts +20 -0
  185. package/lib/document/portal-document-class.d.ts +10 -0
  186. package/lib/document/portal-document-group.d.ts +15 -0
  187. package/lib/document/portal-document-part.d.ts +22 -0
  188. package/lib/document/portal-document-placeholder.d.ts +12 -0
  189. package/lib/document/portal-document-section.d.ts +13 -0
  190. package/lib/document/portal-document-text.d.ts +7 -0
  191. package/lib/document/portal-document-type.d.ts +15 -0
  192. package/lib/document/portal-document.d.ts +27 -0
  193. package/lib/document/portal-email-attachment-type.d.ts +6 -0
  194. package/lib/document/portal-email-attachment.d.ts +12 -0
  195. package/lib/document/portal-email-filter.d.ts +12 -0
  196. package/lib/document/portal-email.d.ts +18 -0
  197. package/lib/document/section-modal/section-modal.component.d.ts +20 -0
  198. package/lib/dual-list-box/array.pipes.d.ts +36 -0
  199. package/lib/dual-list-box/dual-list-box.component.d.ts +91 -0
  200. package/lib/dual-list-box/items-moved-event.d.ts +11 -0
  201. package/lib/dual-list-box/list-box-item.d.ts +7 -0
  202. package/lib/ebiz-address/ebiz-address.component.d.ts +23 -0
  203. package/lib/edoc-attachment/edoc-attachment.component.d.ts +44 -0
  204. package/lib/edoc-attachment/edoc-attachment.service.d.ts +16 -0
  205. package/lib/edoc-attachment/edocument-attachment-metadata.d.ts +16 -0
  206. package/lib/edoc-attachment/edocument-attachment.d.ts +12 -0
  207. package/lib/edoc-attachment/edocument-reference.d.ts +5 -0
  208. package/lib/entity/entity.service.d.ts +31 -0
  209. package/lib/entity/organization-create-modal/organization-create-modal.component.d.ts +53 -0
  210. package/lib/entity/organization-search-input/organization-search-input.component.d.ts +34 -0
  211. package/lib/entity/organization-search-modal/organization-search-modal.component.d.ts +56 -0
  212. package/lib/entity/person-create-modal/person-create-modal.component.d.ts +53 -0
  213. package/lib/entity/person-search-input/person-search-input.component.d.ts +34 -0
  214. package/lib/entity/person-search-modal/person-search-modal.component.d.ts +56 -0
  215. package/lib/entity/place-create-modal/place-create-modal.component.d.ts +8 -0
  216. package/lib/entity/place-search-input/place-search-input.component.d.ts +34 -0
  217. package/lib/entity/place-search-modal/place-search-modal.component.d.ts +41 -0
  218. package/lib/esri-map/esri-map.component.d.ts +41 -0
  219. package/lib/file-upload/file-upload.component.d.ts +37 -0
  220. package/lib/lynx-image-upload/lynx-image-upload.component.d.ts +36 -0
  221. package/lib/lynx-image-upload/lynx.service.d.ts +16 -0
  222. package/lib/masks/oepa-create-integer-mask.d.ts +8 -0
  223. package/lib/masks/oepa-integer-mask-args.d.ts +5 -0
  224. package/lib/message/message.component.d.ts +10 -0
  225. package/lib/message/oepa-message-type.d.ts +5 -0
  226. package/lib/message/oepa-message.d.ts +7 -0
  227. package/lib/message-list/message-list.component.d.ts +11 -0
  228. package/lib/multi-file-upload/multi-file-upload.component.d.ts +36 -0
  229. package/lib/notes-modal/notes-modal.component.d.ts +50 -0
  230. package/lib/notes-modal/oepa-note-result.d.ts +10 -0
  231. package/lib/notes-modal/oepa-note.d.ts +13 -0
  232. package/lib/numeric-input/numeric-input.component.d.ts +20 -0
  233. package/lib/numeric-input.directive.d.ts +19 -0
  234. package/lib/oepa-error-message/oepa-error-message.component.d.ts +9 -0
  235. package/lib/oepa-forms.service.d.ts +28 -0
  236. package/lib/oepa-images.d.ts +53 -0
  237. package/lib/oepa-wait-message/oepa-wait-message.component.d.ts +9 -0
  238. package/lib/ohio-lat-long/ohio-lat-long.component.d.ts +63 -0
  239. package/lib/parameter/parameter.d.ts +7 -0
  240. package/lib/parameter/parameter.service.d.ts +18 -0
  241. package/lib/params-help-button/params-help-button.component.d.ts +15 -0
  242. package/lib/phone-number/phone-number.component.d.ts +19 -0
  243. package/lib/pin-modal/oepa-attestation.d.ts +10 -0
  244. package/lib/pin-modal/oepa-pin.d.ts +26 -0
  245. package/lib/pin-modal/oepa-pin.service.d.ts +38 -0
  246. package/lib/pin-modal/oepa-security-question.d.ts +8 -0
  247. package/lib/pin-modal/pin-modal.component.d.ts +46 -0
  248. package/lib/progress-indicator/progress-info.d.ts +4 -0
  249. package/lib/select-input/select-input.component.d.ts +27 -0
  250. package/lib/server-timeout-modal/server-timeout-modal.component.d.ts +23 -0
  251. package/lib/shopping-cart/shopping-cart-summary/shopping-cart-summary.component.d.ts +18 -0
  252. package/lib/shopping-cart/shopping-cart-view/shopping-cart-view-parameters.d.ts +10 -0
  253. package/lib/shopping-cart/shopping-cart-view/shopping-cart-view.component.d.ts +51 -0
  254. package/lib/shopping-cart/shopping-cart.service.d.ts +44 -0
  255. package/lib/start-end-timepicker/start-end-timepicker.component.d.ts +29 -0
  256. package/lib/table/oepa-p-column.d.ts +4 -0
  257. package/lib/table/oepa-table-cell-classname.pipe.d.ts +9 -0
  258. package/lib/table/oepa-table-cell-click-event.d.ts +15 -0
  259. package/lib/table/oepa-table-cell-colspan.pipe.d.ts +9 -0
  260. package/lib/table/oepa-table-cell-hidden.pipe.d.ts +9 -0
  261. package/lib/table/oepa-table-cell-icon-classname.pipe.d.ts +9 -0
  262. package/lib/table/oepa-table-cell-img-src.pipe.d.ts +9 -0
  263. package/lib/table/oepa-table-cell-inner-html.pipe.d.ts +9 -0
  264. package/lib/table/oepa-table-cell-input-component.pipe.d.ts +9 -0
  265. package/lib/table/oepa-table-cell-not-selectable.pipe.d.ts +9 -0
  266. package/lib/table/oepa-table-cell-value.pipe.d.ts +9 -0
  267. package/lib/table/oepa-table-cell.d.ts +66 -0
  268. package/lib/table/oepa-table-column.d.ts +71 -0
  269. package/lib/table/oepa-table-config.d.ts +72 -0
  270. package/lib/table/oepa-table-filter.d.ts +10 -0
  271. package/lib/table/oepa-table-filtering.directive.d.ts +17 -0
  272. package/lib/table/oepa-table-header.d.ts +9 -0
  273. package/lib/table/oepa-table-page-info.d.ts +22 -0
  274. package/lib/table/oepa-table-popover.d.ts +28 -0
  275. package/lib/table/oepa-table-row.d.ts +84 -0
  276. package/lib/table/oepa-table-sort-criterion.d.ts +4 -0
  277. package/lib/table/oepa-table-sorting.directive.d.ts +16 -0
  278. package/lib/table/oepa-table.d.ts +42 -0
  279. package/lib/table/p-table/p-table.component.d.ts +155 -0
  280. package/lib/table/table-data-cell/table-data-cell-click-event.d.ts +5 -0
  281. package/lib/table/table-data-cell/table-data-cell.component.d.ts +23 -0
  282. package/lib/table/table-export.service.d.ts +33 -0
  283. package/lib/table/table-header-cell/table-header-cell.component.d.ts +24 -0
  284. package/lib/table/table.component.d.ts +144 -0
  285. package/lib/table/table.service.d.ts +28 -0
  286. package/lib/template-confirmation-modal/template-confirmation-modal.component.d.ts +19 -0
  287. package/lib/text-area-input/text-area-input.component.d.ts +19 -0
  288. package/lib/text-input/text-input.component.d.ts +19 -0
  289. package/lib/timeout-modal/timeout-modal.component.d.ts +13 -0
  290. package/lib/timepicker/timepicker.component.d.ts +17 -0
  291. package/lib/validation/form-validator.d.ts +10 -0
  292. package/lib/validation/validation.service.d.ts +16 -0
  293. package/lib/yes-no/yes-no.component.d.ts +19 -0
  294. package/lib/yes-no-boolean/yes-no.component.d.ts +19 -0
  295. package/lib/yes-no-other-input/yes-no-other-input.component.d.ts +18 -0
  296. package/lib/zip-code/zip-code.component.d.ts +19 -0
  297. package/ohioepa-oepa-ui-lib-1.1.0.tgz +0 -0
  298. package/package.json +25 -0
  299. package/public-api.d.ts +138 -0
@@ -0,0 +1,112 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TableService {
4
+ filterInfo = {};
5
+ sortInfo = {};
6
+ idSuffix = 0;
7
+ pageInfo = {};
8
+ dataInfo = {};
9
+ reset(tableId) {
10
+ this.clearFilterInfo(tableId);
11
+ this.clearSortInfo(tableId);
12
+ this.clearPageInfo(tableId);
13
+ this.clearDataInfo(tableId);
14
+ }
15
+ nextIdSuffix() {
16
+ return this.idSuffix++;
17
+ }
18
+ clearSortInfo(tableId) {
19
+ this.sortInfo[tableId] = undefined;
20
+ }
21
+ clearFilterInfo(tableId) {
22
+ this.filterInfo[tableId] = undefined;
23
+ }
24
+ clearPageInfo(tableId) {
25
+ this.pageInfo[tableId] = undefined;
26
+ }
27
+ clearDataInfo(tableId) {
28
+ this.dataInfo[tableId] = undefined;
29
+ }
30
+ setFilter(tableId, columnId, filter) {
31
+ if (!this.filterInfo[tableId]) {
32
+ this.filterInfo[tableId] = {};
33
+ }
34
+ this.filterInfo[tableId][columnId] = filter;
35
+ }
36
+ getFilter(tableId, columnId) {
37
+ let filter = undefined;
38
+ if (this.filterInfo[tableId]) {
39
+ filter = this.filterInfo[tableId][columnId];
40
+ }
41
+ return filter;
42
+ }
43
+ setSort(tableId, column) {
44
+ let sortCriteria = this.sortInfo[tableId] || [];
45
+ if (column && column.id) {
46
+ let found = false;
47
+ sortCriteria.forEach((criterion) => {
48
+ if (criterion.columnId === column.id) {
49
+ found = true;
50
+ criterion.sort = column.sort;
51
+ }
52
+ });
53
+ if (!found) {
54
+ sortCriteria.push({
55
+ columnId: column.id,
56
+ sort: column.sort
57
+ });
58
+ }
59
+ else if (column.sort !== 'asc' && column.sort !== 'desc') {
60
+ column.sortIndex = undefined;
61
+ sortCriteria = sortCriteria.filter((criterion) => {
62
+ return criterion.columnId != column.id;
63
+ });
64
+ }
65
+ }
66
+ this.sortInfo[tableId] = sortCriteria;
67
+ }
68
+ getSortCriterion(tableId, columnId) {
69
+ let sort = undefined;
70
+ let sortCriteria = this.sortInfo[tableId] || [];
71
+ for (let i = 0; i < sortCriteria.length; i++) {
72
+ if (sortCriteria[i].columnId == columnId) {
73
+ sortCriteria.sortIndex = i + 1;
74
+ sort = sortCriteria[i];
75
+ }
76
+ }
77
+ ;
78
+ return sort;
79
+ }
80
+ getSortCriteria(tableId) {
81
+ return this.sortInfo[tableId];
82
+ }
83
+ setPage(tableId, pageNumber) {
84
+ this.pageInfo[tableId] = pageNumber;
85
+ }
86
+ getPage(tableId) {
87
+ let pageNumber = undefined;
88
+ if (this.pageInfo[tableId]) {
89
+ pageNumber = this.pageInfo[tableId];
90
+ }
91
+ return pageNumber;
92
+ }
93
+ setData(tableId, data) {
94
+ this.dataInfo[tableId] = data;
95
+ }
96
+ getData(tableId) {
97
+ let data = undefined;
98
+ if (this.dataInfo[tableId]) {
99
+ data = this.dataInfo[tableId];
100
+ }
101
+ return data;
102
+ }
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
104
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableService, providedIn: 'root' });
105
+ }
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableService, decorators: [{
107
+ type: Injectable,
108
+ args: [{
109
+ providedIn: 'root'
110
+ }]
111
+ }] });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvdGFibGUvdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVEzQyxNQUFNLE9BQU8sWUFBWTtJQUNmLFVBQVUsR0FBUSxFQUFFLENBQUM7SUFDckIsUUFBUSxHQUFPLEVBQUUsQ0FBQztJQUNsQixRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsUUFBUSxHQUFRLEVBQUUsQ0FBQztJQUNuQixRQUFRLEdBQVEsRUFBRSxDQUFDO0lBRXBCLEtBQUssQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFlO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxlQUFlLENBQUMsT0FBZTtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQWU7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFlO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxD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QUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQWtCO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUUsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBZTtRQUM1QixJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBZSxFQUFFLElBQXlCO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUUsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBZTtRQUM1QixJQUFJLElBQUksR0FBRyxTQUFTLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0FoSFUsWUFBWTs0R0FBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPZXBhVGFibGVDb2x1bW4gfSBmcm9tICcuL29lcGEtdGFibGUtY29sdW1uJztcbmltcG9ydCB7IE9lcGFUYWJsZVJvdyB9IGZyb20gJy4vb2VwYS10YWJsZS1yb3cnO1xuaW1wb3J0IHsgT2VwYVRhYmxlU29ydENyaXRlcmlvbiB9IGZyb20gJy4vb2VwYS10YWJsZS1zb3J0LWNyaXRlcmlvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZSB7XG4gIHByaXZhdGUgZmlsdGVySW5mbzogYW55ID0ge307XG4gIHByaXZhdGUgc29ydEluZm86YW55ID0ge307XG4gIHByaXZhdGUgaWRTdWZmaXggPSAwO1xuICBwcml2YXRlIHBhZ2VJbmZvOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBkYXRhSW5mbzogYW55ID0ge307XG5cbiAgcHVibGljIHJlc2V0KHRhYmxlSWQ6IHN0cmluZykge1xuICAgIHRoaXMuY2xlYXJGaWx0ZXJJbmZvKHRhYmxlSWQpO1xuICAgIHRoaXMuY2xlYXJTb3J0SW5mbyh0YWJsZUlkKTtcbiAgICB0aGlzLmNsZWFyUGFnZUluZm8odGFibGVJZCk7XG4gICAgdGhpcy5jbGVhckRhdGFJbmZvKHRhYmxlSWQpO1xuICB9XG5cbiAgcHVibGljIG5leHRJZFN1ZmZpeCgpIDogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pZFN1ZmZpeCsrO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU29ydEluZm8odGFibGVJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zb3J0SW5mb1t0YWJsZUlkXSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpbHRlckluZm8odGFibGVJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXJJbmZvW3RhYmxlSWRdID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGNsZWFyUGFnZUluZm8odGFibGVJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5wYWdlSW5mb1t0YWJsZUlkXSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckRhdGFJbmZvKHRhYmxlSWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGF0YUluZm9bdGFibGVJZF0gPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyKHRhYmxlSWQ6IHN0cmluZywgY29sdW1uSWQ6IHN0cmluZywgZmlsdGVyOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVySW5mb1t0YWJsZUlkXSkge1xuICAgICAgdGhpcy5maWx0ZXJJbmZvW3RhYmxlSWRdID0ge307XG4gICAgfVxuICAgIHRoaXMuZmlsdGVySW5mb1t0YWJsZUlkXVtjb2x1bW5JZF0gPSBmaWx0ZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsdGVyKHRhYmxlSWQ6IHN0cmluZywgY29sdW1uSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGZpbHRlciA9IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5maWx0ZXJJbmZvW3RhYmxlSWRdKSB7XG4gICAgICBmaWx0ZXIgPSB0aGlzLmZpbHRlckluZm9bdGFibGVJZF1bY29sdW1uSWRdO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG5cbiAgcHVibGljIHNldFNvcnQodGFibGVJZDogc3RyaW5nLCBjb2x1bW46IE9lcGFUYWJsZUNvbHVtbikge1xuICAgIGxldCBzb3J0Q3JpdGVyaWEgPSB0aGlzLnNvcnRJbmZvW3RhYmxlSWRdIHx8IFtdO1xuICAgIGlmIChjb2x1bW4gJiYgY29sdW1uLmlkKSB7XG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICAgIHNvcnRDcml0ZXJpYS5mb3JFYWNoKChjcml0ZXJpb246YW55KSA9PiB7XG4gICAgICAgIGlmIChjcml0ZXJpb24uY29sdW1uSWQgPT09IGNvbHVtbi5pZCkge1xuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICBjcml0ZXJpb24uc29ydCA9IGNvbHVtbi5zb3J0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgc29ydENyaXRlcmlhLnB1c2goe1xuICAgICAgICAgIGNvbHVtbklkOiBjb2x1bW4uaWQsXG4gICAgICAgICAgc29ydDogY29sdW1uLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5zb3J0ICE9PSAnYXNjJyAmJiBjb2x1bW4uc29ydCAhPT0gJ2Rlc2MnKSB7XG4gICAgICAgIGNvbHVtbi5zb3J0SW5kZXggPSB1bmRlZmluZWQ7XG4gICAgICAgIHNvcnRDcml0ZXJpYSA9IHNvcnRDcml0ZXJpYS5maWx0ZXIoKGNyaXRlcmlvbjphbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gY3JpdGVyaW9uLmNvbHVtbklkICE9IGNvbHVtbi5pZDtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc29ydEluZm9bdGFibGVJZF0gPSBzb3J0Q3JpdGVyaWE7XG4gIH1cblxuICBwdWJsaWMgZ2V0U29ydENyaXRlcmlvbih0YWJsZUlkOiBzdHJpbmcsIGNvbHVtbklkOiBzdHJpbmcpOiBPZXBhVGFibGVTb3J0Q3JpdGVyaW9uIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgc29ydDogT2VwYVRhYmxlU29ydENyaXRlcmlvbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgc29ydENyaXRlcmlhID0gdGhpcy5zb3J0SW5mb1t0YWJsZUlkXSB8fCBbXTtcbiAgICBmb3IgKGxldCBpPTA7IGk8c29ydENyaXRlcmlhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoc29ydENyaXRlcmlhW2ldLmNvbHVtbklkID09IGNvbHVtbklkKSB7XG4gICAgICAgIHNvcnRDcml0ZXJpYS5zb3J0SW5kZXggPSBpICsgMTtcbiAgICAgICAgc29ydCA9IHNvcnRDcml0ZXJpYVtpXTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBzb3J0O1xuICB9XG5cbiAgcHVibGljIGdldFNvcnRDcml0ZXJpYSh0YWJsZUlkOiBzdHJpbmcpIDogT2VwYVRhYmxlU29ydENyaXRlcmlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0SW5mb1t0YWJsZUlkXTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlKHRhYmxlSWQ6IHN0cmluZywgcGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5wYWdlSW5mb1t0YWJsZUlkXT0gcGFnZU51bWJlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYWdlKHRhYmxlSWQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IHBhZ2VOdW1iZXIgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMucGFnZUluZm9bdGFibGVJZF0pIHtcbiAgICAgIHBhZ2VOdW1iZXIgPSB0aGlzLnBhZ2VJbmZvW3RhYmxlSWRdO1xuICAgIH1cbiAgICByZXR1cm4gcGFnZU51bWJlcjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREYXRhKHRhYmxlSWQ6IHN0cmluZywgZGF0YTogQXJyYXk8T2VwYVRhYmxlUm93Pikge1xuICAgIHRoaXMuZGF0YUluZm9bdGFibGVJZF09IGRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0YSh0YWJsZUlkOiBzdHJpbmcpOiBBcnJheTxPZXBhVGFibGVSb3c+IHtcbiAgICBsZXQgZGF0YSA9IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5kYXRhSW5mb1t0YWJsZUlkXSkge1xuICAgICAgZGF0YSA9IHRoaXMuZGF0YUluZm9bdGFibGVJZF07XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-bootstrap/modal";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@ohioepa/oepa-common-lib";
6
+ export class TemplateConfirmationModalComponent {
7
+ bsModalRef;
8
+ headerText = '';
9
+ content;
10
+ confirmBtnLabel = 'Ok';
11
+ cancelBtnLabel = 'Cancel';
12
+ confirmClicked = new EventEmitter();
13
+ cancelClicked = new EventEmitter();
14
+ constructor(bsModalRef) {
15
+ this.bsModalRef = bsModalRef;
16
+ }
17
+ ngOnInit() {
18
+ }
19
+ confirm() {
20
+ this.confirmClicked.emit();
21
+ this.bsModalRef.hide();
22
+ }
23
+ cancel() {
24
+ this.cancelClicked.emit();
25
+ this.bsModalRef.hide();
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateConfirmationModalComponent, deps: [{ token: i1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TemplateConfirmationModalComponent, selector: "oepa-template-confirmation-modal", inputs: { headerText: "headerText", content: "content", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel" }, outputs: { confirmClicked: "confirmClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\">{{cancelBtnLabel}}</button>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.OepaTemplateComponent, selector: "cml-template", inputs: ["templateInfo"] }] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateConfirmationModalComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'oepa-template-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\">{{cancelBtnLabel}}</button>\n </div>" }]
33
+ }], ctorParameters: () => [{ type: i1.BsModalRef }], propDecorators: { headerText: [{
34
+ type: Input
35
+ }], content: [{
36
+ type: Input
37
+ }], confirmBtnLabel: [{
38
+ type: Input
39
+ }], cancelBtnLabel: [{
40
+ type: Input
41
+ }], confirmClicked: [{
42
+ type: Output
43
+ }], cancelClicked: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvdGVtcGxhdGUtY29uZmlybWF0aW9uLW1vZGFsL3RlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbC90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFZL0UsTUFBTSxPQUFPLGtDQUFrQztJQVMxQjtJQVJWLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsT0FBTyxDQUFvQjtJQUMzQixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFFekIsY0FBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzlELGFBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV2RSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUU5QyxRQUFRO0lBQ1IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0F0QlUsa0NBQWtDOzRGQUFsQyxrQ0FBa0MsdVJDWi9DLGtzQkFZUTs7NEZEQUssa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLGtDQUFrQzsrRUFLbkMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBPZXBhVGVtcGxhdGVJbmZvIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRlbXBsYXRlLWNvbmZpcm1hdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY29udGVudCE6IE9lcGFUZW1wbGF0ZUluZm87XG4gIEBJbnB1dCgpIGNvbmZpcm1CdG5MYWJlbCA9ICdPayc7XG4gIEBJbnB1dCgpIGNhbmNlbEJ0bkxhYmVsID0gJ0NhbmNlbCc7XG5cbiAgQE91dHB1dCgpIGNvbmZpcm1DbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxDbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmNvbmZpcm1DbGlja2VkLmVtaXQoKTtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiaGVhZGVyVGV4dFwiIGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3toZWFkZXJUZXh0fX08L2g0PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2UgcHVsbC1yaWdodFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxjbWwtdGVtcGxhdGUgW3RlbXBsYXRlSW5mb109XCJjb250ZW50XCI+PC9jbWwtdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNvbmZpcm1CdG5MYWJlbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPnt7Y29uZmlybUJ0bkxhYmVsfX08L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3tjYW5jZWxCdG5MYWJlbH19PC9idXR0b24+XG4gIDwvZGl2PiJdfQ==
@@ -0,0 +1,48 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ohioepa/oepa-common-lib";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class TextAreaInputComponent {
7
+ idService;
8
+ componentId = 'TextAreaInputComponent';
9
+ group;
10
+ field = '';
11
+ tableIdx = 0;
12
+ title = 'Input';
13
+ placeholder = '';
14
+ maxlength = 4000;
15
+ onValueChange = new EventEmitter();
16
+ constructor(idService) {
17
+ this.idService = idService;
18
+ }
19
+ ngOnInit() {
20
+ if (this.group) {
21
+ this.componentId = this.idService.getComponentId(this.group) + (this.field || '') + (this.tableIdx || '');
22
+ this.group.get(this.field)?.valueChanges.subscribe(value => {
23
+ this.onValueChange.emit(value);
24
+ });
25
+ }
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextAreaInputComponent, deps: [{ token: i1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextAreaInputComponent, selector: "oepa-text-area-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", title: "title", placeholder: "placeholder", maxlength: "maxlength" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n<textarea class=\"form-control\" [ngClass]=\"{'is-invalid':group.controls[field].invalid}\" \ntype=\"text\" [placeholder]=\"placeholder\" [maxlength]=\"maxlength\" [formControlName]=\"field\"\n[id]=\"componentId\"></textarea>\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextAreaInputComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'oepa-text-area-input', template: "<div [formGroup]=\"group\">\n<textarea class=\"form-control\" [ngClass]=\"{'is-invalid':group.controls[field].invalid}\" \ntype=\"text\" [placeholder]=\"placeholder\" [maxlength]=\"maxlength\" [formControlName]=\"field\"\n[id]=\"componentId\"></textarea>\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>" }]
33
+ }], ctorParameters: () => [{ type: i1.OepaComponentIdService }], propDecorators: { group: [{
34
+ type: Input
35
+ }], field: [{
36
+ type: Input
37
+ }], tableIdx: [{
38
+ type: Input
39
+ }], title: [{
40
+ type: Input
41
+ }], placeholder: [{
42
+ type: Input
43
+ }], maxlength: [{
44
+ type: Input
45
+ }], onValueChange: [{
46
+ type: Output
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvdGV4dC1hcmVhLWlucHV0L3RleHQtYXJlYS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RleHQtYXJlYS1pbnB1dC90ZXh0LWFyZWEtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTL0UsTUFBTSxPQUFPLHNCQUFzQjtJQVliO0lBWGIsV0FBVyxHQUFHLHdCQUF3QixDQUFDO0lBRXJDLEtBQUssQ0FBYTtJQUNsQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFDckIsS0FBSyxHQUFHLE9BQU8sQ0FBQztJQUNoQixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFFaEIsYUFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNFLFlBQW9CLFNBQWlDO1FBQWpDLGNBQVMsR0FBVCxTQUFTLENBQXdCO0lBQ3JELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO3dHQXRCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQiwrT0NUbkMsaVhBS007OzRGRElPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxzQkFBc0I7MkZBT3ZCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2VwYS10ZXh0LWFyZWEtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1hcmVhLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLWlucHV0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0QXJlYUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbXBvbmVudElkID0gJ1RleHRBcmVhSW5wdXRDb21wb25lbnQnO1xuXG4gIEBJbnB1dCgpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRhYmxlSWR4OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSB0aXRsZSA9ICdJbnB1dCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIG1heGxlbmd0aCA9IDQwMDA7XG5cbiAgQE91dHB1dCgpIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZFNlcnZpY2U6IE9lcGFDb21wb25lbnRJZFNlcnZpY2UpIHsgXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApICsgKHRoaXMuZmllbGQgfHwgJycpICsgKHRoaXMudGFibGVJZHggfHwgJycpO1xuICAgICAgdGhpcy5ncm91cC5nZXQodGhpcy5maWVsZCk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpncm91cC5jb250cm9sc1tmaWVsZF0uaW52YWxpZH1cIiBcbnR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkXCJcbltpZF09XCJjb21wb25lbnRJZFwiPjwvdGV4dGFyZWE+XG48c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1tmaWVsZF0uaW52YWxpZFwiPnt7dGl0bGV9fSBpcyByZXF1aXJlZDwvc21hbGw+XG48L2Rpdj4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ohioepa/oepa-common-lib";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class TextInputComponent {
7
+ idService;
8
+ componentId = 'TextInputComponent';
9
+ group;
10
+ field = '';
11
+ tableIdx;
12
+ title = 'Input';
13
+ placeholder = '';
14
+ maxlength = 4000;
15
+ onValueChange = new EventEmitter();
16
+ constructor(idService) {
17
+ this.idService = idService;
18
+ }
19
+ ngOnInit() {
20
+ if (this.group) {
21
+ this.componentId = this.idService.getComponentId(this.group) + (this.field || '') + (this.tableIdx || '');
22
+ this.group.get(this.field)?.valueChanges.subscribe(value => {
23
+ this.onValueChange.emit(value);
24
+ });
25
+ }
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextInputComponent, deps: [{ token: i1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextInputComponent, selector: "oepa-text-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", title: "title", placeholder: "placeholder", maxlength: "maxlength" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n<input class=\"form-control\" [ngClass]=\"{'is-invalid':group.controls[field].invalid}\" \ntype=\"text\" [placeholder]=\"placeholder\" [maxlength]=\"maxlength\" [formControlName]=\"field\"\n[id]=\"componentId\">\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextInputComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'oepa-text-input', template: "<div [formGroup]=\"group\">\n<input class=\"form-control\" [ngClass]=\"{'is-invalid':group.controls[field].invalid}\" \ntype=\"text\" [placeholder]=\"placeholder\" [maxlength]=\"maxlength\" [formControlName]=\"field\"\n[id]=\"componentId\">\n<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].invalid\">{{title}} is required</small>\n</div>" }]
33
+ }], ctorParameters: () => [{ type: i1.OepaComponentIdService }], propDecorators: { group: [{
34
+ type: Input
35
+ }], field: [{
36
+ type: Input
37
+ }], tableIdx: [{
38
+ type: Input
39
+ }], title: [{
40
+ type: Input
41
+ }], placeholder: [{
42
+ type: Input
43
+ }], maxlength: [{
44
+ type: Input
45
+ }], onValueChange: [{
46
+ type: Output
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMvRSxNQUFNLE9BQU8sa0JBQWtCO0lBWVQ7SUFYYixXQUFXLEdBQUcsb0JBQW9CLENBQUM7SUFFakMsS0FBSyxDQUFhO0lBQ2xCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxDQUFxQjtJQUM3QixLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ2hCLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUVoQixhQUFhLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFFM0UsWUFBb0IsU0FBaUM7UUFBakMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7d0dBdEJVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDBPQ1QvQixtV0FLTTs7NEZESU8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGlCQUFpQjsyRkFPbEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9lcGFDb21wb25lbnRJZFNlcnZpY2UgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWNvbW1vbi1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRleHRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjb21wb25lbnRJZCA9ICdUZXh0SW5wdXRDb21wb25lbnQnO1xuXG4gIEBJbnB1dCgpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRhYmxlSWR4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHRpdGxlID0gJ0lucHV0JztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgbWF4bGVuZ3RoID0gNDAwMDtcblxuICBAT3V0cHV0KCkgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkU2VydmljZTogT2VwYUNvbXBvbmVudElkU2VydmljZSkgeyBcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmdyb3VwKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudElkID0gdGhpcy5pZFNlcnZpY2UuZ2V0Q29tcG9uZW50SWQodGhpcy5ncm91cCkgKyAodGhpcy5maWVsZCB8fCAnJykgKyAodGhpcy50YWJsZUlkeCB8fCAnJyk7XG4gICAgICB0aGlzLmdyb3VwLmdldCh0aGlzLmZpZWxkKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOmdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5pbnZhbGlkfVwiIFxudHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGRcIlxuW2lkXT1cImNvbXBvbmVudElkXCI+XG48c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1tmaWVsZF0uaW52YWxpZFwiPnt7dGl0bGV9fSBpcyByZXF1aXJlZDwvc21hbGw+XG48L2Rpdj4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-bootstrap/modal";
4
+ export class TimeoutModalComponent {
5
+ bsModalRef;
6
+ countdown = 0;
7
+ okClicked = new EventEmitter();
8
+ constructor(bsModalRef) {
9
+ this.bsModalRef = bsModalRef;
10
+ } // , private idle: Idle) { }
11
+ ngOnInit() {
12
+ // this.idle.onTimeoutWarning.subscribe((countdown) => {
13
+ // this.countdown = countdown;
14
+ // });
15
+ }
16
+ ok() {
17
+ this.okClicked.emit();
18
+ this.bsModalRef.hide();
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimeoutModalComponent, deps: [{ token: i1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TimeoutModalComponent, selector: "oepa-timeout-modal", inputs: { countdown: "countdown" }, outputs: { okClicked: "okClicked" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">Session Timeout Warning</h3>\n</div>\n\n<div class=\"modal-body\">\n <div class=\"alert alert-info\">\n Your session will timeout in {{ countdown }} seconds. If you wish to stay logged in click 'Continue'.\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" id=\"continueSessionBtn\" (click)=\"ok()\">Continue</button>\n</div>", styles: [""] });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimeoutModalComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'oepa-timeout-modal', template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">Session Timeout Warning</h3>\n</div>\n\n<div class=\"modal-body\">\n <div class=\"alert alert-info\">\n Your session will timeout in {{ countdown }} seconds. If you wish to stay logged in click 'Continue'.\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" id=\"continueSessionBtn\" (click)=\"ok()\">Continue</button>\n</div>" }]
26
+ }], ctorParameters: () => [{ type: i1.BsModalRef }], propDecorators: { countdown: [{
27
+ type: Input
28
+ }], okClicked: [{
29
+ type: Output
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVvdXQtbW9kYWwvdGltZW91dC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVvdXQtbW9kYWwvdGltZW91dC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFHLE1BQU0sZUFBZSxDQUFDOzs7QUFRaEYsTUFBTSxPQUFPLHFCQUFxQjtJQUtiO0lBSlYsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUViLFNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVuRSxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQyxDQUFDLDRCQUE0QjtJQUUxRSxRQUFRO1FBQ04sd0RBQXdEO1FBQ3hELGdDQUFnQztRQUNoQyxNQUFNO0lBQ1IsQ0FBQztJQUVELEVBQUU7UUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0FoQlUscUJBQXFCOzRGQUFyQixxQkFBcUIsbUlDUmxDLDhhQVlNOzs0RkRKTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9COytFQUtyQixTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLXRpbWVvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZW91dC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVvdXQtbW9kYWwuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVvdXRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvdW50ZG93biA9IDA7XG5cbiAgQE91dHB1dCgpIG9rQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmKSB7fSAvLyAsIHByaXZhdGUgaWRsZTogSWRsZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gdGhpcy5pZGxlLm9uVGltZW91dFdhcm5pbmcuc3Vic2NyaWJlKChjb3VudGRvd24pID0+IHtcbiAgICAvLyAgIHRoaXMuY291bnRkb3duID0gY291bnRkb3duO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgb2soKSB7XG4gICAgdGhpcy5va0NsaWNrZWQuZW1pdCgpO1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlNlc3Npb24gVGltZW91dCBXYXJuaW5nPC9oMz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxuICAgIFlvdXIgc2Vzc2lvbiB3aWxsIHRpbWVvdXQgaW4ge3sgY291bnRkb3duIH19IHNlY29uZHMuIElmIHlvdSB3aXNoIHRvIHN0YXkgbG9nZ2VkIGluIGNsaWNrICdDb250aW51ZScuXG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgaWQ9XCJjb250aW51ZVNlc3Npb25CdG5cIiAoY2xpY2spPVwib2soKVwiPkNvbnRpbnVlPC9idXR0b24+XG48L2Rpdj4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ohioepa/oepa-common-lib";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "ngx-bootstrap/timepicker";
7
+ export class TimepickerComponent {
8
+ idService;
9
+ componentId = 'OepaTimepickerComponent';
10
+ group;
11
+ field = '';
12
+ showValidation = false;
13
+ readonlyInput = false;
14
+ constructor(idService) {
15
+ this.idService = idService;
16
+ }
17
+ checkValidity() {
18
+ for (const key in this.group.controls) {
19
+ if (this.group.controls.hasOwnProperty(key) && key === this.field) {
20
+ return this.group.controls[key].status === 'VALID';
21
+ }
22
+ }
23
+ return null;
24
+ }
25
+ ngOnInit() {
26
+ if (this.group) {
27
+ this.componentId = this.idService.getComponentId(this.group);
28
+ }
29
+ else {
30
+ console.log('OOPS No group yet');
31
+ }
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimepickerComponent, deps: [{ token: i1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TimepickerComponent, selector: "oepa-timepicker", inputs: { group: "group", field: "field", showValidation: "showValidation", readonlyInput: "readonlyInput" }, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div class=\"col-md-12 form-group\">\n <div class=\"input-group\" [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\">\n <timepicker [formControlName]=\"field\" [readonlyInput]=\"readonlyInput\"></timepicker>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && !checkValidity()\">Time is required</small>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }] });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimepickerComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'oepa-timepicker', template: "<form [formGroup]=\"group\">\n <div class=\"col-md-12 form-group\">\n <div class=\"input-group\" [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\">\n <timepicker [formControlName]=\"field\" [readonlyInput]=\"readonlyInput\"></timepicker>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && !checkValidity()\">Time is required</small>\n </div>\n</form>" }]
39
+ }], ctorParameters: () => [{ type: i1.OepaComponentIdService }], propDecorators: { group: [{
40
+ type: Input
41
+ }], field: [{
42
+ type: Input
43
+ }], showValidation: [{
44
+ type: Input
45
+ }], readonlyInput: [{
46
+ type: Input
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVwaWNrZXIvdGltZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3RpbWVwaWNrZXIvdGltZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXpELE1BQU0sT0FBTyxtQkFBbUI7SUFRVjtJQVBiLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztJQUV0QyxLQUFLLENBQWE7SUFDbEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFL0IsWUFBb0IsU0FBaUM7UUFBakMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7SUFBSSxDQUFDO0lBRTFELGFBQWE7UUFDWCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7d0dBekJVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHFLQ1ZoQywyWkFPTzs7NEZER00sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjsyRkFPbEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2VwYUNvbXBvbmVudElkU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtdGltZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZXBpY2tlci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGltZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjb21wb25lbnRJZCA9ICdPZXBhVGltZXBpY2tlckNvbXBvbmVudCc7XG5cbiAgQElucHV0KCkgZ3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2hvd1ZhbGlkYXRpb24gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHlJbnB1dCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRTZXJ2aWNlOiBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlKSB7IH1cblxuICBjaGVja1ZhbGlkaXR5KCkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuZ3JvdXAuY29udHJvbHMpIHtcbiAgICAgIGlmICh0aGlzLmdyb3VwLmNvbnRyb2xzLmhhc093blByb3BlcnR5KGtleSkgJiYga2V5ID09PSB0aGlzLmZpZWxkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyb3VwLmNvbnRyb2xzW2tleV0uc3RhdHVzID09PSAnVkFMSUQnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmdyb3VwKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudElkID0gdGhpcy5pZFNlcnZpY2UuZ2V0Q29tcG9uZW50SWQodGhpcy5ncm91cCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCdPT1BTIE5vIGdyb3VwIHlldCcpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgZm9ybS1ncm91cFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiICBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmICFjaGVja1ZhbGlkaXR5KCl9XCI+XG4gICAgICA8dGltZXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkXCIgW3JlYWRvbmx5SW5wdXRdPVwicmVhZG9ubHlJbnB1dFwiPjwvdGltZXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrIGQtYmxvY2tcIiAqbmdJZj1cInNob3dWYWxpZGF0aW9uICYmICFjaGVja1ZhbGlkaXR5KClcIj5UaW1lIGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3ZhbGlkYXRpb24vZm9ybS12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRm9ybVZhbGlkYXRvciB7XG4gICAgZmllbGQ/OiBzdHJpbmc7XG4gICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBtaW4/OiBudW1iZXI7XG4gICAgbWF4PzogbnVtYmVyO1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gICAgcGF0dGVybj86IHN0cmluZztcbn0iXX0=
@@ -0,0 +1,134 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FormGroup, Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export class ValidationService {
5
+ constructor() { }
6
+ processValidators(form, formValidators) {
7
+ const fieldValidators = {};
8
+ // Need to remove all existing validators before adding new ones
9
+ this.removeValidators(form);
10
+ if (formValidators && formValidators.length > 0) {
11
+ formValidators.forEach(validator => {
12
+ this.addFormValidator(validator, fieldValidators);
13
+ });
14
+ this.addValidators(form, fieldValidators);
15
+ return fieldValidators;
16
+ }
17
+ }
18
+ removeValidators(form) {
19
+ if (form && form.controls) {
20
+ for (const key in form.controls) {
21
+ form.get(key)?.clearValidators();
22
+ form.get(key)?.updateValueAndValidity();
23
+ if (form.get(key) instanceof FormGroup) {
24
+ this.removeValidators(form.get(key));
25
+ }
26
+ }
27
+ }
28
+ }
29
+ addFormValidator(formValidator, fieldValidators) {
30
+ if (!fieldValidators[formValidator.field || '']) {
31
+ fieldValidators[formValidator.field || ''] = [];
32
+ }
33
+ fieldValidators[formValidator.field || ''].push(formValidator);
34
+ if (formValidator.message) {
35
+ this.addFormMessage(formValidator, fieldValidators);
36
+ }
37
+ }
38
+ addValidators(form, fieldValidators) {
39
+ Object.keys(fieldValidators).forEach(field => {
40
+ const validators = this.getValidatorsForFormValidators(fieldValidators[field]);
41
+ if (validators && validators.length > 0) {
42
+ const control = this.findFieldControl(form, field);
43
+ if (control) {
44
+ control.setValidators(validators);
45
+ control.updateValueAndValidity();
46
+ }
47
+ }
48
+ });
49
+ }
50
+ getValidatorsForFormValidators(formValidators) {
51
+ let validators = [];
52
+ if (formValidators) {
53
+ formValidators.forEach(formValidator => {
54
+ const validator = this.getValidatorForFormValidator(formValidator);
55
+ if (validator) {
56
+ validators.push(validator);
57
+ }
58
+ });
59
+ }
60
+ return validators;
61
+ }
62
+ getValidatorForFormValidator(formValidator) {
63
+ let validator = undefined;
64
+ if (formValidator.error === 'required') {
65
+ validator = Validators.required;
66
+ }
67
+ else if (formValidator.error === 'maxlength') {
68
+ validator = Validators.maxLength(formValidator.maxLength || 0);
69
+ }
70
+ else if (formValidator.error === 'minlength') {
71
+ validator = Validators.minLength(formValidator.minLength || 0);
72
+ }
73
+ else if (formValidator.error === 'pattern') {
74
+ validator = Validators.pattern(formValidator.pattern || '');
75
+ }
76
+ else if (formValidator.error === 'email') {
77
+ validator = Validators.email;
78
+ }
79
+ else if (formValidator.error === 'min') {
80
+ validator = Validators.min(formValidator.min || 0);
81
+ }
82
+ else if (formValidator.error === 'max') {
83
+ validator = Validators.max(formValidator.max || 0);
84
+ }
85
+ return validator;
86
+ }
87
+ addFormMessage(formValidator, fieldValidators) {
88
+ if (!fieldValidators['form']) {
89
+ fieldValidators['form'] = [];
90
+ }
91
+ let error = fieldValidators['form'].find((error) => {
92
+ return error.message === formValidator.message;
93
+ });
94
+ if (!error) {
95
+ fieldValidators['form'].push(formValidator);
96
+ }
97
+ }
98
+ findFieldControl(form, field) {
99
+ let control = null;
100
+ if (form.contains(field)) {
101
+ control = form.get(field);
102
+ }
103
+ else if (field.match(/_id$/) && form.contains(field.substring(0, field.length - 3))) {
104
+ control = form.get(field.substring(0, field.length - 3));
105
+ }
106
+ else if (field.indexOf('.') > 0) {
107
+ let group = form;
108
+ field.split('.').forEach((f) => {
109
+ if (group.contains(f)) {
110
+ control = group.get(f);
111
+ if (control instanceof FormGroup)
112
+ group = control;
113
+ }
114
+ else {
115
+ control = group;
116
+ }
117
+ });
118
+ }
119
+ else {
120
+ // Field is not defined in form but there is a validation error for it, set it globally
121
+ control = form;
122
+ }
123
+ return control;
124
+ }
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidationService, providedIn: 'root' });
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidationService, decorators: [{
129
+ type: Injectable,
130
+ args: [{
131
+ providedIn: 'root'
132
+ }]
133
+ }], ctorParameters: () => [] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFVBQVUsRUFBZSxNQUFNLGdCQUFnQixDQUFDOztBQUtyRixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLGdCQUFnQixDQUFDO0lBRVYsaUJBQWlCLENBQUMsSUFBZSxFQUFFLGNBQStCO1FBQ3ZFLE1BQU0sZUFBZSxHQUFRLEVBQUUsQ0FBQztRQUNoQyxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzFDLE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBZTtRQUN0QyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FB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aUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvciB9IGZyb20gJy4vZm9ybS12YWxpZGF0b3InO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgcHJvY2Vzc1ZhbGlkYXRvcnMoZm9ybTogRm9ybUdyb3VwLCBmb3JtVmFsaWRhdG9yczogRm9ybVZhbGlkYXRvcltdKTogYW55IHtcbiAgICBjb25zdCBmaWVsZFZhbGlkYXRvcnM6IGFueSA9IHt9O1xuICAgIC8vIE5lZWQgdG8gcmVtb3ZlIGFsbCBleGlzdGluZyB2YWxpZGF0b3JzIGJlZm9yZSBhZGRpbmcgbmV3IG9uZXNcbiAgICB0aGlzLnJlbW92ZVZhbGlkYXRvcnMoZm9ybSk7XG4gICAgaWYgKGZvcm1WYWxpZGF0b3JzICYmIGZvcm1WYWxpZGF0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvcm1WYWxpZGF0b3JzLmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgICAgdGhpcy5hZGRGb3JtVmFsaWRhdG9yKHZhbGlkYXRvciwgZmllbGRWYWxpZGF0b3JzKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKGZvcm0sIGZpZWxkVmFsaWRhdG9ycyk7XG4gICAgICByZXR1cm4gZmllbGRWYWxpZGF0b3JzO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlVmFsaWRhdG9ycyhmb3JtOiBGb3JtR3JvdXApIHtcbiAgICBpZiAoZm9ybSAmJiBmb3JtLmNvbnRyb2xzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtLmNvbnRyb2xzKSB7XG4gICAgICAgIGZvcm0uZ2V0KGtleSk/LmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICBmb3JtLmdldChrZXkpPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIGlmIChmb3JtLmdldChrZXkpIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0b3JzKDxGb3JtR3JvdXA+Zm9ybS5nZXQoa2V5KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG59XG5cbiAgcHJpdmF0ZSBhZGRGb3JtVmFsaWRhdG9yKGZvcm1WYWxpZGF0b3I6IEZvcm1WYWxpZGF0b3IsIGZpZWxkVmFsaWRhdG9yczogYW55KSB7XG4gICAgaWYgKCFmaWVsZFZhbGlkYXRvcnNbZm9ybVZhbGlkYXRvci5maWVsZCB8fCAnJ10pIHtcbiAgICAgIGZpZWxkVmFsaWRhdG9yc1tmb3JtVmFsaWRhdG9yLmZpZWxkIHx8ICcnXSA9IFtdO1xuICAgIH1cbiAgICBmaWVsZFZhbGlkYXRvcnNbZm9ybVZhbGlkYXRvci5maWVsZCB8fCAnJ10ucHVzaChmb3JtVmFsaWRhdG9yKTtcbiAgICBpZiAoZm9ybVZhbGlkYXRvci5tZXNzYWdlKSB7ICBcbiAgICAgIHRoaXMuYWRkRm9ybU1lc3NhZ2UoZm9ybVZhbGlkYXRvciwgZmllbGRWYWxpZGF0b3JzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFZhbGlkYXRvcnMoZm9ybTogRm9ybUdyb3VwLCBmaWVsZFZhbGlkYXRvcnM6IGFueSkge1xuICAgIE9iamVjdC5rZXlzKGZpZWxkVmFsaWRhdG9ycykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5nZXRWYWxpZGF0b3JzRm9yRm9ybVZhbGlkYXRvcnMoZmllbGRWYWxpZGF0b3JzW2ZpZWxkXSk7XG4gICAgICBpZiAodmFsaWRhdG9ycyAmJiB2YWxpZGF0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmluZEZpZWxkQ29udHJvbChmb3JtLCBmaWVsZCk7XG4gICAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsaWRhdG9yc0ZvckZvcm1WYWxpZGF0b3JzKGZvcm1WYWxpZGF0b3JzOiBGb3JtVmFsaWRhdG9yW10pOiBWYWxpZGF0b3JGbltdIHtcbiAgICBsZXQgdmFsaWRhdG9yczphbnlbXSA9IFtdO1xuICAgIGlmIChmb3JtVmFsaWRhdG9ycykge1xuICAgICAgZm9ybVZhbGlkYXRvcnMuZm9yRWFjaChmb3JtVmFsaWRhdG9yID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5nZXRWYWxpZGF0b3JGb3JGb3JtVmFsaWRhdG9yKGZvcm1WYWxpZGF0b3IpO1xuICAgICAgICBpZiAodmFsaWRhdG9yKSB7XG4gICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKHZhbGlkYXRvcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuICBcbiAgcHJpdmF0ZSBnZXRWYWxpZGF0b3JGb3JGb3JtVmFsaWRhdG9yKGZvcm1WYWxpZGF0b3I6IEZvcm1WYWxpZGF0b3IpOiBWYWxpZGF0b3JGbiB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHZhbGlkYXRvcjogVmFsaWRhdG9yRm4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZvcm1WYWxpZGF0b3IuZXJyb3IgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMucmVxdWlyZWQ7XG4gICAgfSBlbHNlIGlmIChmb3JtVmFsaWRhdG9yLmVycm9yID09PSAnbWF4bGVuZ3RoJykge1xuICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5tYXhMZW5ndGgoZm9ybVZhbGlkYXRvci5tYXhMZW5ndGggfHwgMCk7XG4gICAgfSBlbHNlIGlmIChmb3JtVmFsaWRhdG9yLmVycm9yID09PSAnbWlubGVuZ3RoJykge1xuICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5taW5MZW5ndGgoZm9ybVZhbGlkYXRvci5taW5MZW5ndGggfHwgMCk7XG4gICAgfSBlbHNlIGlmIChmb3JtVmFsaWRhdG9yLmVycm9yID09PSAncGF0dGVybicpIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMucGF0dGVybihmb3JtVmFsaWRhdG9yLnBhdHRlcm4gfHwgJycpO1xuICAgIH0gZWxzZSBpZiAoZm9ybVZhbGlkYXRvci5lcnJvciA9PT0gJ2VtYWlsJykge1xuICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5lbWFpbDtcbiAgICB9IGVsc2UgaWYgKGZvcm1WYWxpZGF0b3IuZXJyb3IgPT09ICdtaW4nKSB7XG4gICAgICB2YWxpZGF0b3IgPSBWYWxpZGF0b3JzLm1pbihmb3JtVmFsaWRhdG9yLm1pbiB8fCAwKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1WYWxpZGF0b3IuZXJyb3IgPT09ICdtYXgnKSB7XG4gICAgICB2YWxpZGF0b3IgPSBWYWxpZGF0b3JzLm1heChmb3JtVmFsaWRhdG9yLm1heCB8fCAwKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRm9ybU1lc3NhZ2UoZm9ybVZhbGlkYXRvcjogRm9ybVZhbGlkYXRvciwgZmllbGRWYWxpZGF0b3JzOiBhbnkpIHtcbiAgICBpZiAoIWZpZWxkVmFsaWRhdG9yc1snZm9ybSddKSB7XG4gICAgICBmaWVsZFZhbGlkYXRvcnNbJ2Zvcm0nXSA9IFtdO1xuICAgIH1cbiAgICBsZXQgZXJyb3IgPSBmaWVsZFZhbGlkYXRvcnNbJ2Zvcm0nXS5maW5kKChlcnJvcjphbnkpID0+IHtcbiAgICAgIHJldHVybiBlcnJvci5tZXNzYWdlID09PSBmb3JtVmFsaWRhdG9yLm1lc3NhZ2U7XG4gICAgfSk7XG4gICAgaWYgKCFlcnJvcikge1xuICAgICAgZmllbGRWYWxpZGF0b3JzWydmb3JtJ10ucHVzaChmb3JtVmFsaWRhdG9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZEZpZWxkQ29udHJvbChmb3JtOiBGb3JtR3JvdXAsIGZpZWxkOiBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICBsZXQgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKGZvcm0uY29udGFpbnMoZmllbGQpKSB7XG4gICAgICBjb250cm9sID0gZm9ybS5nZXQoZmllbGQpO1xuICAgIH0gZWxzZSBpZiAoZmllbGQubWF0Y2goL19pZCQvKSAmJiBmb3JtLmNvbnRhaW5zKGZpZWxkLnN1YnN0cmluZygwLCBmaWVsZC5sZW5ndGggLSAzKSkpIHtcbiAgICAgIGNvbnRyb2wgPSBmb3JtLmdldChmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQubGVuZ3RoIC0gMykpO1xuICAgIH0gZWxzZSBpZiAoZmllbGQuaW5kZXhPZignLicpID4gMCkge1xuICAgICAgbGV0IGdyb3VwID0gZm9ybTtcbiAgICAgIGZpZWxkLnNwbGl0KCcuJykuZm9yRWFjaCgoZikgPT4ge1xuICAgICAgICBpZiAoZ3JvdXAuY29udGFpbnMoZikpIHtcbiAgICAgICAgICBjb250cm9sID0gZ3JvdXAuZ2V0KGYpO1xuICAgICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSBncm91cCA9IGNvbnRyb2w7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udHJvbCA9IGdyb3VwO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGaWVsZCBpcyBub3QgZGVmaW5lZCBpbiBmb3JtIGJ1dCB0aGVyZSBpcyBhIHZhbGlkYXRpb24gZXJyb3IgZm9yIGl0LCBzZXQgaXQgZ2xvYmFsbHlcbiAgICAgIGNvbnRyb2wgPSBmb3JtO1xuICAgIH1cbiAgICByZXR1cm4gY29udHJvbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,44 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ohioepa/oepa-common-lib";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "ngx-bootstrap/buttons";
7
+ export class YesNoComponent {
8
+ idService;
9
+ componentId = 'OepaYesNoComponent';
10
+ /** The form group of which this component is a member. */
11
+ group;
12
+ /** The name of this component's field within the form group */
13
+ field = '';
14
+ /** Form validation will be displayed when showValidation is true.*/
15
+ showValidation = false;
16
+ disabled = false;
17
+ constructor(idService) {
18
+ this.idService = idService;
19
+ }
20
+ ngOnInit() {
21
+ if (this.group) {
22
+ this.componentId = this.idService.getComponentId(this.group);
23
+ this.componentId += (this.componentId.length > 0 ? '_' : '') + this.field;
24
+ }
25
+ else {
26
+ console.log('OOPS No group yet');
27
+ }
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: YesNoComponent, deps: [{ token: i1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: YesNoComponent, selector: "oepa-yes-no", inputs: { group: "group", field: "field", showValidation: "showValidation", disabled: "disabled" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">Yes</label>\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">No</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: YesNoComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'oepa-yes-no', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">Yes</label>\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">No</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
35
+ }], ctorParameters: () => [{ type: i1.OepaComponentIdService }], propDecorators: { group: [{
36
+ type: Input
37
+ }], field: [{
38
+ type: Input
39
+ }], showValidation: [{
40
+ type: Input
41
+ }], disabled: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVzLW5vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIveWVzLW5vL3llcy1uby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL3llcy1uby95ZXMtbm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVV6RCxNQUFNLE9BQU8sY0FBYztJQVdMO0lBVmIsV0FBVyxHQUFHLG9CQUFvQixDQUFDO0lBRTFDLDJEQUEyRDtJQUNsRCxLQUFLLENBQWE7SUFDM0IsK0RBQStEO0lBQ3RELEtBQUssR0FBVyxFQUFFLENBQUM7SUFDNUIscUVBQXFFO0lBQ3JELGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUUxQixZQUFvQixTQUFpQztRQUFqQyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVFLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO3dHQXBCUSxjQUFjOzRGQUFkLGNBQWMsdUpDVjNCLDJsQ0FRNkw7OzRGREVoTCxjQUFjO2tCQUwxQixTQUFTOytCQUNFLGFBQWE7MkZBUWQsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2VwYUNvbXBvbmVudElkU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEteWVzLW5vJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3llcy1uby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3llcy1uby5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgWWVzTm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY29tcG9uZW50SWQgPSAnT2VwYVllc05vQ29tcG9uZW50JztcblxuICAvKiogIFRoZSBmb3JtIGdyb3VwIG9mIHdoaWNoIHRoaXMgY29tcG9uZW50IGlzIGEgbWVtYmVyLiAqL1xuICBASW5wdXQoKSBncm91cCE6IEZvcm1Hcm91cDtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoaXMgY29tcG9uZW50J3MgZmllbGQgd2l0aGluIHRoZSBmb3JtIGdyb3VwICovXG4gIEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcbiAgLyoqICBGb3JtIHZhbGlkYXRpb24gd2lsbCBiZSBkaXNwbGF5ZWQgd2hlbiBzaG93VmFsaWRhdGlvbiBpcyB0cnVlLiovXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93VmFsaWRhdGlvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRTZXJ2aWNlOiBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgICAgICB0aGlzLmNvbXBvbmVudElkICs9ICh0aGlzLmNvbXBvbmVudElkLmxlbmd0aCA+IDAgPyAnXycgOiAnJykgKyB0aGlzLmZpZWxkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coJ09PUFMgTm8gZ3JvdXAgeWV0Jyk7XG4gICAgICB9XG4gICAgfVxuXG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmMGY1O1wiIGJ0blJhZGlvR3JvdXAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbZmllbGRdLnN0YXR1cyA9PT0gJ0lOVkFMSUQnfVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuXCIgW25nQ2xhc3NdPVwieydidG4tcHJpbWFyeSc6IGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS52YWx1ZSA9PT0gJ3llcyd9XCIgW2NsYXNzLmFjdGl2ZV09XCJncm91cC5jb250cm9sc1tmaWVsZF0udmFsdWUgPT09ICd5ZXMnXCIgXG4gICAgICAgIGJ0blJhZGlvPVwieWVzXCIgW3VuY2hlY2thYmxlXT1cInRydWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19ZZXNCdG4nXCIgW2NsYXNzLmRpc2FibGVkXT1cImdyb3VwLmRpc2FibGVkIHx8IGRpc2FibGVkXCIgW2Rpc2FibGVkXT1cImdyb3VwLmRpc2FibGVkIHx8IGRpc2FibGVkXCI+WWVzPC9sYWJlbD5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImJ0blwiIFtuZ0NsYXNzXT1cInsnYnRuLXByaW1hcnknOiBncm91cC5jb250cm9sc1tmaWVsZF0udmFsdWUgPT09ICdubyd9XCIgW2NsYXNzLmFjdGl2ZV09XCJncm91cC5jb250cm9sc1tmaWVsZF0udmFsdWUgPT09ICdubydcIiBcbiAgICAgICAgYnRuUmFkaW89XCJub1wiIFt1bmNoZWNrYWJsZV09XCJ0cnVlXCIgW2lkXT1cImNvbXBvbmVudElkKydfTm9CdG4nXCIgW2NsYXNzLmRpc2FibGVkXT1cImdyb3VwLmRpc2FibGVkIHx8IGRpc2FibGVkXCIgW2Rpc2FibGVkXT1cImdyb3VwLmRpc2FibGVkIHx8IGRpc2FibGVkXCI+Tm88L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFjayBkLWJsb2NrXCIgKm5nSWY9XCJzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnSU5WQUxJRCcgJiYgIWdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5oYXNFcnJvcignYW5zd2VyZWRZZXMnKVwiPlJlc3BvbnNlIGlzIHJlcXVpcmVkPC9zbWFsbD4iXX0=