ngx-sp-infra 0.0.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 (200) hide show
  1. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/2a/a3/eba6ea21e2e566c49202226aa3c1a4d439fa0a2c077374e48d864f20f5f804dbd931f042ddaa359fd35903a0bd3663a223e24dc11e1ec44501cc688a0a9c +1 -0
  2. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/46/44/91b55887c08130e8014b3dbe56b69c0c29f4e127bceafcd610165f4c8e77fefa799ab68c415c1b45cc4fa114565650f3fc3c258e1dc7b792935cbee43fa7 +1 -0
  3. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/7e/62/f8e6238b8f05aeaee2346bcaeda2226be7ab048d3b15e3dbbdf37170d9d7fade0fdfc6cc265d1ecc1b47509c962115d0d4b9a503907d6790c632e191001b +1 -0
  4. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/8d/53/ad58764bc240411378ae1c47c0c20525da378a3b143795a11bc3fdbf6c9cde6fb2de6c3947d673d5872b9ce205d6274114b3b4dfd27609a636df7fd0b600 +1 -0
  5. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/9e/70/9fc33090191a9df303901910a34f5d1cc7ea38ac92e21006bf923a814a4dffe9ad5b7357989f95d4e371cd00318c29339ec3e935832e84f3571ba0ed5f25 +1 -0
  6. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/a1/3a/6a6f351adef4b7c8b7d643b092ca26e0ceeb2a285456285f866504493c9c7db8d420d3a4f282c699a11f2f9933c828c8f8388f28e96372408d7b456f32a1 +1 -0
  7. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/d3/e3/2852d10551b620a4dfaabb1268bf0ac681e206bfb66451e18ac43a2e5c7cdc8a75291e3a1a4038129f3e40cc11317edffe8434d7110d9579585a25843e15 +1 -0
  8. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/f2/ee/05ff4c2260f161b6295a8507440a1b86c0f666f313866e5bf1de6829ae5fe384d6612d732d09c815fe515bd3d6379ed5f8136cf4a4e228b322309840240e +1 -0
  9. package/.angular/cache/16.2.0/ng-packagr/content-v2/sha512/fe/15/fb0370939f075c14617e0d5fd8411f76edb53e439e19683e5c4554ae7cabd0387c922f6ec6893ced3321ed77df2c851b82eea6a70b38b7396f68493eea19 +1 -0
  10. package/.angular/cache/16.2.0/ng-packagr/index-v5/10/17/ae308ad3e0cad0afd27bf9eafe0177fdb23b463e70e0dd30d23c117517f6 +2 -0
  11. package/.angular/cache/16.2.0/ng-packagr/index-v5/14/18/88eabde022c32e7a38011f4ab6f7945e52f018be1abbe6a96864f8f9e22c +2 -0
  12. package/.angular/cache/16.2.0/ng-packagr/index-v5/1c/b7/dcd00bf2f1de70eab7d9e1d9601fbd87f49d46c7b49671d81ccd4b20b3f1 +2 -0
  13. package/.angular/cache/16.2.0/ng-packagr/index-v5/4b/31/217b5311dae6305f9b5dc82062276c77f272d61fc3e27c2df5eb0d6b1fb7 +2 -0
  14. package/.angular/cache/16.2.0/ng-packagr/index-v5/6a/b0/e5091f9ee02b3fcac9821e92cc5113d6b0593bd8bacfb5cbac7dfca306c3 +2 -0
  15. package/.angular/cache/16.2.0/ng-packagr/index-v5/9b/66/70a7c5990683795072c8b98eb25407b36f55f8efa8d2e0bdef67a8e989ab +2 -0
  16. package/.angular/cache/16.2.0/ng-packagr/index-v5/a6/8b/af2670adca8f5d06d3d9577ffad4449e4897eaf85de2f4e7f43f93934a16 +2 -0
  17. package/.angular/cache/16.2.0/ng-packagr/index-v5/da/da/502cfd37a0e9e7f413a569ccf28dc682f9e942ec5e460c93c1dd7c4e531f +3 -0
  18. package/.angular/cache/16.2.0/ng-packagr/index-v5/f3/8b/4e00bb8eddd473ae09b0b5dee39fa8416aee7b659a770d18c767e5027992 +2 -0
  19. package/.editorconfig +16 -0
  20. package/README.md +27 -0
  21. package/angular.json +41 -0
  22. package/dist/ngx-sp-infra/README.md +12 -0
  23. package/dist/ngx-sp-infra/esm2022/lib/infra.module.mjs +137 -0
  24. package/dist/ngx-sp-infra/esm2022/lib/message/alert/alert.component.mjs +32 -0
  25. package/dist/ngx-sp-infra/esm2022/lib/message/confirm/confirm.component.mjs +52 -0
  26. package/dist/ngx-sp-infra/esm2022/lib/message/confirm-modal/confirm-modal.component.mjs +72 -0
  27. package/dist/ngx-sp-infra/esm2022/lib/message/message-enum.mjs +23 -0
  28. package/dist/ngx-sp-infra/esm2022/lib/message/message.service.mjs +132 -0
  29. package/dist/ngx-sp-infra/esm2022/lib/message/save/save.component.mjs +46 -0
  30. package/dist/ngx-sp-infra/esm2022/lib/models/DownloadArquivos.mjs +3 -0
  31. package/dist/ngx-sp-infra/esm2022/lib/models/email-model.mjs +35 -0
  32. package/dist/ngx-sp-infra/esm2022/lib/models/ierror.mjs +2 -0
  33. package/dist/ngx-sp-infra/esm2022/lib/models/ipagination.mjs +2 -0
  34. package/dist/ngx-sp-infra/esm2022/lib/models/report-file.mjs +7 -0
  35. package/dist/ngx-sp-infra/esm2022/lib/models/ret-error.mjs +3 -0
  36. package/dist/ngx-sp-infra/esm2022/lib/models/ret-feedback-message.mjs +7 -0
  37. package/dist/ngx-sp-infra/esm2022/lib/models/ret-report-file.mjs +3 -0
  38. package/dist/ngx-sp-infra/esm2022/lib/pipes/cpf-cnpj.pipe.mjs +23 -0
  39. package/dist/ngx-sp-infra/esm2022/lib/pipes/currency.pipe.mjs +16 -0
  40. package/dist/ngx-sp-infra/esm2022/lib/pipes/to-url.pipe.mjs +32 -0
  41. package/dist/ngx-sp-infra/esm2022/lib/utils/check-url-and-method.service.mjs +70 -0
  42. package/dist/ngx-sp-infra/esm2022/lib/utils/form-utils.mjs +38 -0
  43. package/dist/ngx-sp-infra/esm2022/lib/utils/ip-service.service.mjs +22 -0
  44. package/dist/ngx-sp-infra/esm2022/lib/utils/settings.service.mjs +32 -0
  45. package/dist/ngx-sp-infra/esm2022/lib/utils/utils.mjs +335 -0
  46. package/dist/ngx-sp-infra/esm2022/lib/validators/cpf-cnpj.validator.directive.mjs +24 -0
  47. package/dist/ngx-sp-infra/esm2022/lib/validators/cpf-cnpj.validator.mjs +54 -0
  48. package/dist/ngx-sp-infra/esm2022/lib/widgets/breadcrumb/infra-breadcrumb/infra-breadcrumb.component.mjs +35 -0
  49. package/dist/ngx-sp-infra/esm2022/lib/widgets/breadcrumb/infra-breadcrumb-item/infra-breadcrumb-item.component.mjs +28 -0
  50. package/dist/ngx-sp-infra/esm2022/lib/widgets/breadcrumb/portalrh-breadcrumb/breadcrumb.component.mjs +21 -0
  51. package/dist/ngx-sp-infra/esm2022/lib/widgets/click-outside/clickoutside.directive.mjs +167 -0
  52. package/dist/ngx-sp-infra/esm2022/lib/widgets/combobox/combobox.component.mjs +545 -0
  53. package/dist/ngx-sp-infra/esm2022/lib/widgets/combobox/pipes/filter-by.pipe.mjs +44 -0
  54. package/dist/ngx-sp-infra/esm2022/lib/widgets/combobox/pipes/limit-to.pipe.mjs +19 -0
  55. package/dist/ngx-sp-infra/esm2022/lib/widgets/field-control-error/field-control-error.component.mjs +23 -0
  56. package/dist/ngx-sp-infra/esm2022/lib/widgets/field-error-message/field-error-message.component.mjs +33 -0
  57. package/dist/ngx-sp-infra/esm2022/lib/widgets/loading/loading.component.mjs +12 -0
  58. package/dist/ngx-sp-infra/esm2022/lib/widgets/loading-button/loading-button.component.mjs +15 -0
  59. package/dist/ngx-sp-infra/esm2022/lib/widgets/ordering/ordering.component.mjs +56 -0
  60. package/dist/ngx-sp-infra/esm2022/lib/widgets/svg-storage/svg-storage.component.mjs +94 -0
  61. package/dist/ngx-sp-infra/esm2022/lib/widgets/tree/models/ret-tree.mjs +3 -0
  62. package/dist/ngx-sp-infra/esm2022/lib/widgets/tree/models/tree-item.mjs +7 -0
  63. package/dist/ngx-sp-infra/esm2022/lib/widgets/tree/pipes/search-tree.pipe.mjs +17 -0
  64. package/dist/ngx-sp-infra/esm2022/lib/widgets/tree/tree.component.mjs +91 -0
  65. package/dist/ngx-sp-infra/esm2022/ngx-sp-infra.mjs +5 -0
  66. package/dist/ngx-sp-infra/esm2022/public-api.mjs +51 -0
  67. package/dist/ngx-sp-infra/fesm2022/ngx-sp-infra.mjs +2313 -0
  68. package/dist/ngx-sp-infra/fesm2022/ngx-sp-infra.mjs.map +1 -0
  69. package/dist/ngx-sp-infra/index.d.ts +5 -0
  70. package/dist/ngx-sp-infra/lib/infra.module.d.ts +32 -0
  71. package/dist/ngx-sp-infra/lib/message/alert/alert.component.d.ts +14 -0
  72. package/dist/ngx-sp-infra/lib/message/confirm/confirm.component.d.ts +22 -0
  73. package/dist/ngx-sp-infra/lib/message/confirm-modal/confirm-modal.component.d.ts +33 -0
  74. package/dist/ngx-sp-infra/lib/message/message-enum.d.ts +20 -0
  75. package/dist/ngx-sp-infra/lib/message/message.service.d.ts +31 -0
  76. package/dist/ngx-sp-infra/lib/message/save/save.component.d.ts +21 -0
  77. package/dist/ngx-sp-infra/lib/models/DownloadArquivos.d.ts +11 -0
  78. package/dist/ngx-sp-infra/lib/models/email-model.d.ts +30 -0
  79. package/dist/ngx-sp-infra/lib/models/ierror.d.ts +4 -0
  80. package/dist/ngx-sp-infra/lib/models/ipagination.d.ts +5 -0
  81. package/dist/ngx-sp-infra/lib/models/report-file.d.ts +4 -0
  82. package/dist/ngx-sp-infra/lib/models/ret-error.d.ts +5 -0
  83. package/dist/ngx-sp-infra/lib/models/ret-feedback-message.d.ts +7 -0
  84. package/dist/ngx-sp-infra/lib/models/ret-report-file.d.ts +7 -0
  85. package/dist/ngx-sp-infra/lib/pipes/cpf-cnpj.pipe.d.ts +7 -0
  86. package/dist/ngx-sp-infra/lib/pipes/currency.pipe.d.ts +7 -0
  87. package/dist/ngx-sp-infra/lib/pipes/to-url.pipe.d.ts +16 -0
  88. package/dist/ngx-sp-infra/lib/utils/check-url-and-method.service.d.ts +35 -0
  89. package/dist/ngx-sp-infra/lib/utils/form-utils.d.ts +7 -0
  90. package/dist/ngx-sp-infra/lib/utils/ip-service.service.d.ts +9 -0
  91. package/dist/ngx-sp-infra/lib/utils/settings.service.d.ts +9 -0
  92. package/dist/ngx-sp-infra/lib/utils/utils.d.ts +58 -0
  93. package/dist/ngx-sp-infra/lib/validators/cpf-cnpj.validator.d.ts +18 -0
  94. package/dist/ngx-sp-infra/lib/validators/cpf-cnpj.validator.directive.d.ts +7 -0
  95. package/dist/ngx-sp-infra/lib/widgets/breadcrumb/infra-breadcrumb/infra-breadcrumb.component.d.ts +29 -0
  96. package/dist/ngx-sp-infra/lib/widgets/breadcrumb/infra-breadcrumb-item/infra-breadcrumb-item.component.d.ts +14 -0
  97. package/dist/ngx-sp-infra/lib/widgets/breadcrumb/portalrh-breadcrumb/breadcrumb.component.d.ts +10 -0
  98. package/dist/ngx-sp-infra/lib/widgets/click-outside/clickoutside.directive.d.ts +40 -0
  99. package/dist/ngx-sp-infra/lib/widgets/combobox/combobox.component.d.ts +174 -0
  100. package/dist/ngx-sp-infra/lib/widgets/combobox/pipes/filter-by.pipe.d.ts +10 -0
  101. package/dist/ngx-sp-infra/lib/widgets/combobox/pipes/limit-to.pipe.d.ts +7 -0
  102. package/dist/ngx-sp-infra/lib/widgets/field-control-error/field-control-error.component.d.ts +12 -0
  103. package/dist/ngx-sp-infra/lib/widgets/field-error-message/field-error-message.component.d.ts +14 -0
  104. package/dist/ngx-sp-infra/lib/widgets/loading/loading.component.d.ts +6 -0
  105. package/dist/ngx-sp-infra/lib/widgets/loading-button/loading-button.component.d.ts +7 -0
  106. package/dist/ngx-sp-infra/lib/widgets/ordering/ordering.component.d.ts +18 -0
  107. package/dist/ngx-sp-infra/lib/widgets/svg-storage/svg-storage.component.d.ts +16 -0
  108. package/dist/ngx-sp-infra/lib/widgets/tree/models/ret-tree.d.ts +7 -0
  109. package/dist/ngx-sp-infra/lib/widgets/tree/models/tree-item.d.ts +11 -0
  110. package/dist/ngx-sp-infra/lib/widgets/tree/pipes/search-tree.pipe.d.ts +8 -0
  111. package/dist/ngx-sp-infra/lib/widgets/tree/tree.component.d.ts +20 -0
  112. package/dist/ngx-sp-infra/package.json +37 -0
  113. package/dist/ngx-sp-infra/public-api.d.ts +47 -0
  114. package/package.json +43 -0
  115. package/projects/ngx-sp-infra/README.md +12 -0
  116. package/projects/ngx-sp-infra/karma.conf.js +44 -0
  117. package/projects/ngx-sp-infra/ng-package.json +7 -0
  118. package/projects/ngx-sp-infra/package-lock.json +225 -0
  119. package/projects/ngx-sp-infra/package.json +18 -0
  120. package/projects/ngx-sp-infra/src/lib/infra.module.ts +85 -0
  121. package/projects/ngx-sp-infra/src/lib/message/alert/alert.component.html +6 -0
  122. package/projects/ngx-sp-infra/src/lib/message/alert/alert.component.scss +5 -0
  123. package/projects/ngx-sp-infra/src/lib/message/alert/alert.component.ts +39 -0
  124. package/projects/ngx-sp-infra/src/lib/message/confirm/confirm.component.html +15 -0
  125. package/projects/ngx-sp-infra/src/lib/message/confirm/confirm.component.scss +0 -0
  126. package/projects/ngx-sp-infra/src/lib/message/confirm/confirm.component.ts +52 -0
  127. package/projects/ngx-sp-infra/src/lib/message/confirm-modal/confirm-modal.component.html +39 -0
  128. package/projects/ngx-sp-infra/src/lib/message/confirm-modal/confirm-modal.component.scss +0 -0
  129. package/projects/ngx-sp-infra/src/lib/message/confirm-modal/confirm-modal.component.ts +73 -0
  130. package/projects/ngx-sp-infra/src/lib/message/message-enum.ts +21 -0
  131. package/projects/ngx-sp-infra/src/lib/message/message.service.ts +169 -0
  132. package/projects/ngx-sp-infra/src/lib/message/save/save.component.html +35 -0
  133. package/projects/ngx-sp-infra/src/lib/message/save/save.component.scss +110 -0
  134. package/projects/ngx-sp-infra/src/lib/message/save/save.component.ts +44 -0
  135. package/projects/ngx-sp-infra/src/lib/models/DownloadArquivos.ts +12 -0
  136. package/projects/ngx-sp-infra/src/lib/models/email-model.ts +33 -0
  137. package/projects/ngx-sp-infra/src/lib/models/ierror.ts +4 -0
  138. package/projects/ngx-sp-infra/src/lib/models/ipagination.ts +5 -0
  139. package/projects/ngx-sp-infra/src/lib/models/report-file.ts +4 -0
  140. package/projects/ngx-sp-infra/src/lib/models/ret-error.ts +6 -0
  141. package/projects/ngx-sp-infra/src/lib/models/ret-feedback-message.ts +8 -0
  142. package/projects/ngx-sp-infra/src/lib/models/ret-report-file.ts +8 -0
  143. package/projects/ngx-sp-infra/src/lib/pipes/cpf-cnpj.pipe.ts +21 -0
  144. package/projects/ngx-sp-infra/src/lib/pipes/currency.pipe.ts +13 -0
  145. package/projects/ngx-sp-infra/src/lib/pipes/to-url.pipe.ts +33 -0
  146. package/projects/ngx-sp-infra/src/lib/utils/check-url-and-method.service.ts +84 -0
  147. package/projects/ngx-sp-infra/src/lib/utils/form-utils.ts +50 -0
  148. package/projects/ngx-sp-infra/src/lib/utils/ip-service.service.ts +22 -0
  149. package/projects/ngx-sp-infra/src/lib/utils/settings.service.ts +32 -0
  150. package/projects/ngx-sp-infra/src/lib/utils/utils.ts +427 -0
  151. package/projects/ngx-sp-infra/src/lib/validators/cpf-cnpj.validator.directive.ts +14 -0
  152. package/projects/ngx-sp-infra/src/lib/validators/cpf-cnpj.validator.ts +74 -0
  153. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/infra-breadcrumb/infra-breadcrumb.component.css +0 -0
  154. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/infra-breadcrumb/infra-breadcrumb.component.html +3 -0
  155. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/infra-breadcrumb/infra-breadcrumb.component.ts +34 -0
  156. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/infra-breadcrumb-item/infra-breadcrumb-item.component.css +0 -0
  157. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/infra-breadcrumb-item/infra-breadcrumb-item.component.html +1 -0
  158. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/infra-breadcrumb-item/infra-breadcrumb-item.component.ts +29 -0
  159. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/portalrh-breadcrumb/breadcrumb.component.css +0 -0
  160. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/portalrh-breadcrumb/breadcrumb.component.html +5 -0
  161. package/projects/ngx-sp-infra/src/lib/widgets/breadcrumb/portalrh-breadcrumb/breadcrumb.component.ts +18 -0
  162. package/projects/ngx-sp-infra/src/lib/widgets/click-outside/clickoutside.directive.ts +183 -0
  163. package/projects/ngx-sp-infra/src/lib/widgets/combobox/combobox.component.html +40 -0
  164. package/projects/ngx-sp-infra/src/lib/widgets/combobox/combobox.component.scss +185 -0
  165. package/projects/ngx-sp-infra/src/lib/widgets/combobox/combobox.component.ts +637 -0
  166. package/projects/ngx-sp-infra/src/lib/widgets/combobox/combobox.service.ts +15 -0
  167. package/projects/ngx-sp-infra/src/lib/widgets/combobox/pipes/filter-by.pipe.ts +38 -0
  168. package/projects/ngx-sp-infra/src/lib/widgets/combobox/pipes/limit-to.pipe.ts +13 -0
  169. package/projects/ngx-sp-infra/src/lib/widgets/field-control-error/field-control-error.component.css +0 -0
  170. package/projects/ngx-sp-infra/src/lib/widgets/field-control-error/field-control-error.component.html +4 -0
  171. package/projects/ngx-sp-infra/src/lib/widgets/field-control-error/field-control-error.component.ts +18 -0
  172. package/projects/ngx-sp-infra/src/lib/widgets/field-error-message/field-error-message.component.css +0 -0
  173. package/projects/ngx-sp-infra/src/lib/widgets/field-error-message/field-error-message.component.html +4 -0
  174. package/projects/ngx-sp-infra/src/lib/widgets/field-error-message/field-error-message.component.ts +35 -0
  175. package/projects/ngx-sp-infra/src/lib/widgets/loading/loading.component.css +7 -0
  176. package/projects/ngx-sp-infra/src/lib/widgets/loading/loading.component.html +4 -0
  177. package/projects/ngx-sp-infra/src/lib/widgets/loading/loading.component.ts +12 -0
  178. package/projects/ngx-sp-infra/src/lib/widgets/loading-button/loading-button.component.css +3 -0
  179. package/projects/ngx-sp-infra/src/lib/widgets/loading-button/loading-button.component.html +2 -0
  180. package/projects/ngx-sp-infra/src/lib/widgets/loading-button/loading-button.component.ts +13 -0
  181. package/projects/ngx-sp-infra/src/lib/widgets/ordering/ordering.component.html +23 -0
  182. package/projects/ngx-sp-infra/src/lib/widgets/ordering/ordering.component.scss +0 -0
  183. package/projects/ngx-sp-infra/src/lib/widgets/ordering/ordering.component.ts +50 -0
  184. package/projects/ngx-sp-infra/src/lib/widgets/svg-storage/svg-storage.component.html +728 -0
  185. package/projects/ngx-sp-infra/src/lib/widgets/svg-storage/svg-storage.component.scss +0 -0
  186. package/projects/ngx-sp-infra/src/lib/widgets/svg-storage/svg-storage.component.ts +105 -0
  187. package/projects/ngx-sp-infra/src/lib/widgets/tree/README.md +33 -0
  188. package/projects/ngx-sp-infra/src/lib/widgets/tree/models/ret-tree.ts +8 -0
  189. package/projects/ngx-sp-infra/src/lib/widgets/tree/models/tree-item.ts +11 -0
  190. package/projects/ngx-sp-infra/src/lib/widgets/tree/pipes/search-tree.pipe.ts +15 -0
  191. package/projects/ngx-sp-infra/src/lib/widgets/tree/tree.component.html +51 -0
  192. package/projects/ngx-sp-infra/src/lib/widgets/tree/tree.component.scss +57 -0
  193. package/projects/ngx-sp-infra/src/lib/widgets/tree/tree.component.ts +88 -0
  194. package/projects/ngx-sp-infra/src/public-api.ts +58 -0
  195. package/projects/ngx-sp-infra/src/test.ts +15 -0
  196. package/projects/ngx-sp-infra/tsconfig.lib.json +15 -0
  197. package/projects/ngx-sp-infra/tsconfig.lib.prod.json +10 -0
  198. package/projects/ngx-sp-infra/tsconfig.spec.json +17 -0
  199. package/sp-ng-infra-0.0.0.tgz +0 -0
  200. package/tsconfig.json +42 -0
@@ -0,0 +1,44 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * filters an array based on searctext
5
+ */
6
+ export class FilterByPipe {
7
+ transform(array, searchText, keyName) {
8
+ if (!array || !searchText || !Array.isArray(array)) {
9
+ return array;
10
+ }
11
+ if (typeof array[0] === 'string') {
12
+ return array.filter((item) => item.toLowerCase().indexOf(searchText.toLowerCase()) > -1);
13
+ }
14
+ // filter array, items which match and return true will be
15
+ // kept, false will be filtered out
16
+ if (!keyName) {
17
+ return array.filter((item) => {
18
+ for (const key in item) {
19
+ if (typeof item[key] !== 'object' && item[key].toString().toLowerCase().indexOf(searchText.toLowerCase()) > -1) {
20
+ return true;
21
+ }
22
+ }
23
+ return false;
24
+ });
25
+ }
26
+ else {
27
+ return array.filter((item) => {
28
+ if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.toLowerCase()) > -1) {
29
+ return true;
30
+ }
31
+ return false;
32
+ });
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FilterByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
36
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.2", ngImport: i0, type: FilterByPipe, name: "filterBy" }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FilterByPipe, decorators: [{
39
+ type: Pipe,
40
+ args: [{
41
+ name: 'filterBy'
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2NvbWJvYm94L3BpcGVzL2ZpbHRlci1ieS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBQ2YsU0FBUyxDQUFDLEtBQVksRUFBRSxVQUFtQixFQUFFLE9BQWdCO1FBQ2pFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pELE9BQU8sS0FBSyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzRjtRQUNELDBEQUEwRDtRQUMxRCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNYLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUMvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtvQkFDckIsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDN0csT0FBTyxJQUFJLENBQUM7cUJBQ2Q7aUJBQ0g7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7U0FDTDthQUFNO1lBQ0osT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQy9CLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ3JILE9BQU8sSUFBSSxDQUFDO2lCQUNkO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1NBQ0w7SUFFSixDQUFDOzhHQTVCUyxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0gsSUFBSSxFQUFFLFVBQVU7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIGZpbHRlcnMgYW4gYXJyYXkgYmFzZWQgb24gc2VhcmN0ZXh0XG4gKi9cbkBQaXBlKHtcbiAgIG5hbWU6ICdmaWx0ZXJCeSdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICBwdWJsaWMgdHJhbnNmb3JtKGFycmF5OiBhbnlbXSwgc2VhcmNoVGV4dD86IHN0cmluZywga2V5TmFtZT86IHN0cmluZykge1xuICAgICAgaWYgKCFhcnJheSB8fCAhc2VhcmNoVGV4dCB8fCAhQXJyYXkuaXNBcnJheShhcnJheSkpIHtcbiAgICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgYXJyYXlbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpID4gLTEpO1xuICAgICAgfVxuICAgICAgLy8gZmlsdGVyIGFycmF5LCBpdGVtcyB3aGljaCBtYXRjaCBhbmQgcmV0dXJuIHRydWUgd2lsbCBiZVxuICAgICAgLy8ga2VwdCwgZmFsc2Ugd2lsbCBiZSBmaWx0ZXJlZCBvdXRcbiAgICAgIGlmICgha2V5TmFtZSkge1xuICAgICAgICAgcmV0dXJuIGFycmF5LmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW1ba2V5XSAhPT0gJ29iamVjdCcgJiYgaXRlbVtrZXldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbVtrZXlOYW1lXSAhPT0gJ29iamVjdCcgJiYgaXRlbVtrZXlOYW1lXS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpID4gLTEpIHtcbiAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LimitToPipe {
4
+ transform(array, itemsCount, startIndex = 0) {
5
+ if (!Array.isArray(array) || itemsCount === 0) {
6
+ return array;
7
+ }
8
+ return array.slice(startIndex, startIndex + itemsCount);
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LimitToPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.2", ngImport: i0, type: LimitToPipe, name: "limitTo" }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LimitToPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: 'limitTo'
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGltaXQtdG8ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1pbmZyYS9zcmMvbGliL3dpZGdldHMvY29tYm9ib3gvcGlwZXMvbGltaXQtdG8ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLFdBQVc7SUFDZixTQUFTLENBQUMsS0FBWSxFQUFFLFVBQWtCLEVBQUUsYUFBcUIsQ0FBQztRQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDOzhHQU5VLFdBQVc7NEdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2xpbWl0VG8nXG59KVxuZXhwb3J0IGNsYXNzIExpbWl0VG9QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oYXJyYXk6IGFueVtdLCBpdGVtc0NvdW50OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciA9IDApIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpIHx8IGl0ZW1zQ291bnQgPT09IDApIHtcbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5LnNsaWNlKHN0YXJ0SW5kZXgsIHN0YXJ0SW5kZXggKyBpdGVtc0NvdW50KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class FieldControlErrorComponent {
5
+ constructor(renderer, elementRef) {
6
+ this.renderer = renderer;
7
+ this.elementRef = elementRef;
8
+ }
9
+ ngOnInit() {
10
+ this.renderer.setStyle(this.elementRef.nativeElement, 'width', '100%');
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FieldControlErrorComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: FieldControlErrorComponent, selector: "app-field-control-error", inputs: { showError: "showError", errorMessage: "errorMessage" }, ngImport: i0, template: "<div class=\"invalid-feedback d-block\" role=\"alert\"\r\n *ngIf=\"showError\">\r\n {{ errorMessage }}\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FieldControlErrorComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'app-field-control-error', template: "<div class=\"invalid-feedback d-block\" role=\"alert\"\r\n *ngIf=\"showError\">\r\n {{ errorMessage }}\r\n</div>" }]
18
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { showError: [{
19
+ type: Input
20
+ }], errorMessage: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29udHJvbC1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2ZpZWxkLWNvbnRyb2wtZXJyb3IvZmllbGQtY29udHJvbC1lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2ZpZWxkLWNvbnRyb2wtZXJyb3IvZmllbGQtY29udHJvbC1lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUMsTUFBTSxlQUFlLENBQUM7OztBQU9oRixNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0I7UUFBbkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBSSxDQUFDO0lBRTVFLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FSVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixpSUNQdkMsd0hBR007OzJGRElPLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7eUhBSzFCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1maWVsZC1jb250cm9sLWVycm9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtY29udHJvbC1lcnJvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtY29udHJvbC1lcnJvci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpZWxkQ29udHJvbEVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBzaG93RXJyb3I6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2sgZC1ibG9ja1wiIHJvbGU9XCJhbGVydFwiXHJcbiAgICAqbmdJZj1cInNob3dFcnJvclwiPlxyXG4gICAge3sgZXJyb3JNZXNzYWdlIH19XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormUtils } from '../../utils/form-utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class FieldErrorMessageComponent {
6
+ get errorMessage() {
7
+ for (let propertyName in this.control?.errors) {
8
+ if (this.control?.errors.hasOwnProperty(propertyName) &&
9
+ (this.control?.dirty || this.control?.touched)) {
10
+ return FormUtils.getErrorMessage(this.label, propertyName, this.control?.errors[propertyName]);
11
+ }
12
+ }
13
+ return null;
14
+ }
15
+ constructor(renderer, elementRef) {
16
+ this.renderer = renderer;
17
+ this.elementRef = elementRef;
18
+ }
19
+ ngOnInit() {
20
+ this.renderer.setStyle(this.elementRef.nativeElement, 'width', '100%');
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FieldErrorMessageComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: FieldErrorMessageComponent, selector: "app-field-error-message", inputs: { control: "control", label: "label" }, ngImport: i0, template: "<div class=\"invalid-feedback d-block\" role=\"alert\"\r\n *ngIf=\"errorMessage !== null\">\r\n {{ errorMessage }}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FieldErrorMessageComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'app-field-error-message', template: "<div class=\"invalid-feedback d-block\" role=\"alert\"\r\n *ngIf=\"errorMessage !== null\">\r\n {{ errorMessage }}\r\n</div>\r\n" }]
28
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { control: [{
29
+ type: Input
30
+ }], label: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2ZpZWxkLWVycm9yLW1lc3NhZ2UvZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2ZpZWxkLWVycm9yLW1lc3NhZ2UvZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxJQUFJLFlBQVk7UUFFZCxLQUFLLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFO1lBRTdDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztnQkFDbkQsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUM5QyxPQUFPLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUNsRztTQUVGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBb0IsUUFBbUIsRUFBVSxVQUFzQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFJLENBQUM7SUFFNUUsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQXRCVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwrR0NWdkMsd0lBSUE7OzJGRE1hLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7eUhBSzFCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybS11dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1maWVsZC1lcnJvci1tZXNzYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpZWxkRXJyb3JNZXNzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIGdldCBlcnJvck1lc3NhZ2UoKSB7XHJcbiAgICBcclxuICAgIGZvciAobGV0IHByb3BlcnR5TmFtZSBpbiB0aGlzLmNvbnRyb2w/LmVycm9ycykge1xyXG5cclxuICAgICAgaWYgKHRoaXMuY29udHJvbD8uZXJyb3JzLmhhc093blByb3BlcnR5KHByb3BlcnR5TmFtZSkgJiZcclxuICAgICAgICAodGhpcy5jb250cm9sPy5kaXJ0eSB8fCB0aGlzLmNvbnRyb2w/LnRvdWNoZWQpKSB7XHJcbiAgICAgICAgICByZXR1cm4gRm9ybVV0aWxzLmdldEVycm9yTWVzc2FnZSh0aGlzLmxhYmVsLCBwcm9wZXJ0eU5hbWUsIHRoaXMuY29udHJvbD8uZXJyb3JzW3Byb3BlcnR5TmFtZV0pO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgJzEwMCUnKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrIGQtYmxvY2tcIiByb2xlPVwiYWxlcnRcIlxyXG4gICAgKm5nSWY9XCJlcnJvck1lc3NhZ2UgIT09IG51bGxcIj5cclxuICAgIHt7IGVycm9yTWVzc2FnZSB9fVxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LoadingComponent {
4
+ constructor() { }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: LoadingComponent, selector: "app-loading", ngImport: i0, template: "<!-- Loading -->\r\n<div class=\"container-spinner\">\r\n <img class=\"view-spinner\" src=\"assets/imgs/spinner.gif\" alt=\"Carregando\" title=\"Carregando informa\u00E7\u00F5es..\">\r\n</div>\r\n", styles: [".container-spinner{margin-left:50%}.view-spinner{width:30px}\n"] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LoadingComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'app-loading', template: "<!-- Loading -->\r\n<div class=\"container-spinner\">\r\n <img class=\"view-spinner\" src=\"assets/imgs/spinner.gif\" alt=\"Carregando\" title=\"Carregando informa\u00E7\u00F5es..\">\r\n</div>\r\n", styles: [".container-spinner{margin-left:50%}.view-spinner{width:30px}\n"] }]
11
+ }], ctorParameters: function () { return []; } });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLGdCQUFnQixDQUFDOzhHQUZOLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1EQ1A3Qix5TUFJQTs7MkZER2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWxvYWRpbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGluZ0NvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG59XHJcbiIsIjwhLS0gTG9hZGluZyAtLT5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1zcGlubmVyXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwidmlldy1zcGlubmVyXCIgc3JjPVwiYXNzZXRzL2ltZ3Mvc3Bpbm5lci5naWZcIiBhbHQ9XCJDYXJyZWdhbmRvXCIgdGl0bGU9XCJDYXJyZWdhbmRvIGluZm9ybWHDp8O1ZXMuLlwiPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class LoadingButtonComponent {
5
+ constructor() { }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LoadingButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: LoadingButtonComponent, selector: "app-loading-button", inputs: { isLoading: "isLoading" }, ngImport: i0, template: "<img class=\"button-spinner\" src=\"assets/imgs/spinner.gif\"\r\n *ngIf=\"isLoading\">", styles: [".button-spinner{width:24px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LoadingButtonComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'app-loading-button', template: "<img class=\"button-spinner\" src=\"assets/imgs/spinner.gif\"\r\n *ngIf=\"isLoading\">", styles: [".button-spinner{width:24px}\n"] }]
12
+ }], ctorParameters: function () { return []; }, propDecorators: { isLoading: [{
13
+ type: Input
14
+ }] } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy9sb2FkaW5nLWJ1dHRvbi9sb2FkaW5nLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL2xvYWRpbmctYnV0dG9uL2xvYWRpbmctYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxnQkFBZ0IsQ0FBQzs4R0FITixzQkFBc0I7a0dBQXRCLHNCQUFzQiw4RkNQbkMsMkZBQ3NCOzsyRkRNVCxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQUtyQixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbG9hZGluZy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGluZy1idXR0b24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2FkaW5nQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpc0xvYWRpbmc6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG59XHJcbiIsIjxpbWcgY2xhc3M9XCJidXR0b24tc3Bpbm5lclwiIHNyYz1cImFzc2V0cy9pbWdzL3NwaW5uZXIuZ2lmXCJcclxuICAgICpuZ0lmPVwiaXNMb2FkaW5nXCI+Il19
@@ -0,0 +1,56 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../svg-storage/svg-storage.component";
5
+ export class OrderingComponent {
6
+ // Função chamada quando o botão de ordenação é clicado
7
+ sort() {
8
+ // Inverte a direção de ordenação atual
9
+ if (this.sortDirection === 'asc') {
10
+ this.sortDirection = 'desc';
11
+ }
12
+ else {
13
+ this.sortDirection = 'asc';
14
+ }
15
+ // Emite o evento com a nova direção de ordenação
16
+ this.sortDirectionChange.emit(this.sortDirection);
17
+ // Emite o evento de mudança na ordenação com a direção e os atributos de ordenação
18
+ this.sortChange.emit({ direction: this.sortDirection, column: this.sortAttributes });
19
+ }
20
+ // Obtém a cor do ícone com base na direção de ordenação atual
21
+ getSvgColor() {
22
+ return this.sortDirection === 'asc' ? 'blue' : 'lightgray';
23
+ }
24
+ constructor() {
25
+ this.isColumnClicked = false;
26
+ // Direção atual da ordenação ('asc', 'desc' ou vazio)
27
+ this.sortDirection = '';
28
+ // Atributos de ordenação
29
+ this.sortAttributes = [];
30
+ // Evento emitido quando a direção de ordenação é alterada
31
+ this.sortDirectionChange = new EventEmitter();
32
+ // Evento emitido quando ocorre uma mudança na ordenação
33
+ this.sortChange = new EventEmitter();
34
+ }
35
+ ngOnInit() {
36
+ // Define a direção de ordenação inicial como vazio
37
+ this.sortDirection = '';
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: OrderingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: OrderingComponent, selector: "app-ordering", inputs: { isColumnClicked: "isColumnClicked", sortDirection: "sortDirection", sortAttributes: "sortAttributes" }, outputs: { sortDirectionChange: "sortDirectionChange", sortChange: "sortChange" }, ngImport: i0, template: "<ng-template [ngIf]=\"sortDirection !== 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-up'\"\n [class.rotate]=\"sortDirection !== ''\"\n [svgColor]=\"getSvgColor()\"\n tooltip=\"'Ascendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Ascendente -->\n</ng-template>\n\n<ng-template [ngIf]=\"sortDirection === 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-down'\"\n [class.rotate]=\"true\"\n [svgColor]=\"'blue'\"\n tooltip=\"'Descendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Descendente -->\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }] }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: OrderingComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'app-ordering', template: "<ng-template [ngIf]=\"sortDirection !== 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-up'\"\n [class.rotate]=\"sortDirection !== ''\"\n [svgColor]=\"getSvgColor()\"\n tooltip=\"'Ascendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Ascendente -->\n</ng-template>\n\n<ng-template [ngIf]=\"sortDirection === 'desc'\">\n <app-svg-storage\n (click)=\"sort()\"\n [svgName]=\"'arrow-down'\"\n [class.rotate]=\"true\"\n [svgColor]=\"'blue'\"\n tooltip=\"'Descendente'\"\n style=\"cursor: pointer;\"\n ></app-svg-storage>\n <!-- Ordenar Descendente -->\n</ng-template>\n" }]
45
+ }], ctorParameters: function () { return []; }, propDecorators: { isColumnClicked: [{
46
+ type: Input
47
+ }], sortDirection: [{
48
+ type: Input
49
+ }], sortAttributes: [{
50
+ type: Input
51
+ }], sortDirectionChange: [{
52
+ type: Output
53
+ }], sortChange: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWluZnJhL3NyYy9saWIvd2lkZ2V0cy9vcmRlcmluZy9vcmRlcmluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL29yZGVyaW5nL29yZGVyaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLGlCQUFpQjtJQWU1Qix1REFBdUQ7SUFDdkQsSUFBSTtRQUNGLHVDQUF1QztRQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM1QjtRQUVELGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRCxtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDN0QsQ0FBQztJQUVEO1FBbENTLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQzFDLHNEQUFzRDtRQUM3QyxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUVwQyx5QkFBeUI7UUFDaEIsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBRWhELDBEQUEwRDtRQUNoRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNELHdEQUF3RDtRQUM5QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW9ELENBQUM7SUF1QjdFLENBQUM7SUFFaEIsUUFBUTtRQUNOLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQXpDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix5UENQOUIsaXBCQXVCQTs7MkZEaEJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjOzBFQU1mLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFHRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtb3JkZXJpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmRlcmluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBpc0NvbHVtbkNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gRGlyZcOnw6NvIGF0dWFsIGRhIG9yZGVuYcOnw6NvICgnYXNjJywgJ2Rlc2MnIG91IHZhemlvKVxuICBASW5wdXQoKSBzb3J0RGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcblxuICAvLyBBdHJpYnV0b3MgZGUgb3JkZW5hw6fDo29cbiAgQElucHV0KCkgc29ydEF0dHJpYnV0ZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gW107XG5cbiAgLy8gRXZlbnRvIGVtaXRpZG8gcXVhbmRvIGEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIMOpIGFsdGVyYWRhXG4gIEBPdXRwdXQoKSBzb3J0RGlyZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLy8gRXZlbnRvIGVtaXRpZG8gcXVhbmRvIG9jb3JyZSB1bWEgbXVkYW7Dp2EgbmEgb3JkZW5hw6fDo29cbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZGlyZWN0aW9uOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nIHwgc3RyaW5nW10gfT4oKTtcblxuICAvLyBGdW7Dp8OjbyBjaGFtYWRhIHF1YW5kbyBvIGJvdMOjbyBkZSBvcmRlbmHDp8OjbyDDqSBjbGljYWRvXG4gIHNvcnQoKSB7XG4gICAgLy8gSW52ZXJ0ZSBhIGRpcmXDp8OjbyBkZSBvcmRlbmHDp8OjbyBhdHVhbFxuICAgIGlmICh0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAnZGVzYyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH1cblxuICAgIC8vIEVtaXRlIG8gZXZlbnRvIGNvbSBhIG5vdmEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvXG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5zb3J0RGlyZWN0aW9uKTtcblxuICAgIC8vIEVtaXRlIG8gZXZlbnRvIGRlIG11ZGFuw6dhIG5hIG9yZGVuYcOnw6NvIGNvbSBhIGRpcmXDp8OjbyBlIG9zIGF0cmlidXRvcyBkZSBvcmRlbmHDp8Ojb1xuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHsgZGlyZWN0aW9uOiB0aGlzLnNvcnREaXJlY3Rpb24sIGNvbHVtbjogdGhpcy5zb3J0QXR0cmlidXRlcyB9KTtcbiAgfVxuXG4gIC8vIE9idMOpbSBhIGNvciBkbyDDrWNvbmUgY29tIGJhc2UgbmEgZGlyZcOnw6NvIGRlIG9yZGVuYcOnw6NvIGF0dWFsXG4gIGdldFN2Z0NvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc29ydERpcmVjdGlvbiA9PT0gJ2FzYycgPyAnYmx1ZScgOiAnbGlnaHRncmF5JztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBEZWZpbmUgYSBkaXJlw6fDo28gZGUgb3JkZW5hw6fDo28gaW5pY2lhbCBjb21vIHZhemlvXG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gJyc7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzb3J0RGlyZWN0aW9uICE9PSAnZGVzYydcIj5cbiAgPGFwcC1zdmctc3RvcmFnZVxuICAgIChjbGljayk9XCJzb3J0KClcIlxuICAgIFtzdmdOYW1lXT1cIidhcnJvdy11cCdcIlxuICAgIFtjbGFzcy5yb3RhdGVdPVwic29ydERpcmVjdGlvbiAhPT0gJydcIlxuICAgIFtzdmdDb2xvcl09XCJnZXRTdmdDb2xvcigpXCJcbiAgICB0b29sdGlwPVwiJ0FzY2VuZGVudGUnXCJcbiAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxuICA+PC9hcHAtc3ZnLXN0b3JhZ2U+XG4gIDwhLS0gT3JkZW5hciBBc2NlbmRlbnRlIC0tPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNvcnREaXJlY3Rpb24gPT09ICdkZXNjJ1wiPlxuICA8YXBwLXN2Zy1zdG9yYWdlXG4gICAgKGNsaWNrKT1cInNvcnQoKVwiXG4gICAgW3N2Z05hbWVdPVwiJ2Fycm93LWRvd24nXCJcbiAgICBbY2xhc3Mucm90YXRlXT1cInRydWVcIlxuICAgIFtzdmdDb2xvcl09XCInYmx1ZSdcIlxuICAgIHRvb2x0aXA9XCInRGVzY2VuZGVudGUnXCJcbiAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxuICA+PC9hcHAtc3ZnLXN0b3JhZ2U+XG4gIDwhLS0gT3JkZW5hciBEZXNjZW5kZW50ZSAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=