@koalarx/ui 12.7.19 → 13.0.3

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 (432) hide show
  1. package/alert/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/alert/{esm2015/koalarx-ui-alert.js → esm2020/koalarx-ui-alert.mjs} +0 -0
  3. package/alert/esm2020/lib/dialog-alert.component.mjs +48 -0
  4. package/alert/{esm2015/lib/koala.alert-config.interface.js → esm2020/lib/koala.alert-config.interface.mjs} +0 -0
  5. package/alert/{esm2015/lib/koala.alert.enum.js → esm2020/lib/koala.alert.enum.mjs} +0 -0
  6. package/alert/esm2020/lib/koala.alert.module.mjs +48 -0
  7. package/alert/esm2020/lib/koala.alert.service.mjs +19 -0
  8. package/alert/{esm2015/lib/koala.request-code-to-alert-enum.translate.js → esm2020/lib/koala.request-code-to-alert-enum.translate.mjs} +0 -0
  9. package/alert/fesm2015/koalarx-ui-alert.mjs +141 -0
  10. package/alert/fesm2015/koalarx-ui-alert.mjs.map +1 -0
  11. package/alert/fesm2020/koalarx-ui-alert.mjs +139 -0
  12. package/alert/fesm2020/koalarx-ui-alert.mjs.map +1 -0
  13. package/alert/koalarx-ui-alert.d.ts +1 -0
  14. package/alert/lib/dialog-alert.component.d.ts +3 -0
  15. package/alert/lib/koala.alert.module.d.ts +10 -0
  16. package/alert/lib/koala.alert.service.d.ts +3 -0
  17. package/alert/package.json +18 -6
  18. package/button/{esm2015/index.js → esm2020/index.mjs} +0 -0
  19. package/button/{esm2015/koalarx-ui-button.js → esm2020/koalarx-ui-button.mjs} +0 -0
  20. package/button/esm2020/lib/button.component.mjs +44 -0
  21. package/button/esm2020/lib/koala.button.module.mjs +42 -0
  22. package/button/fesm2015/koalarx-ui-button.mjs +90 -0
  23. package/button/fesm2015/koalarx-ui-button.mjs.map +1 -0
  24. package/button/fesm2020/koalarx-ui-button.mjs +90 -0
  25. package/button/fesm2020/koalarx-ui-button.mjs.map +1 -0
  26. package/button/koalarx-ui-button.d.ts +1 -0
  27. package/button/lib/button.component.d.ts +6 -1
  28. package/button/lib/koala.button.module.d.ts +10 -0
  29. package/button/package.json +18 -6
  30. package/common/{esm2015/index.js → esm2020/index.mjs} +0 -0
  31. package/common/{esm2015/koalarx-ui-common.js → esm2020/koalarx-ui-common.mjs} +0 -0
  32. package/common/{esm2015/lib/mask-options.js → esm2020/lib/mask-options.mjs} +0 -0
  33. package/common/esm2020/lib/services/csv/koala.csv.service.mjs +36 -0
  34. package/common/{esm2015/lib/services/xlsx/koala.xlsx-config.interface.js → esm2020/lib/services/xlsx/koala.xlsx-config.interface.mjs} +0 -0
  35. package/common/esm2020/lib/services/xlsx/koala.xlsx.service.mjs +73 -0
  36. package/common/fesm2015/{koalarx-ui-common.js → koalarx-ui-common.mjs} +14 -14
  37. package/common/fesm2015/koalarx-ui-common.mjs.map +1 -0
  38. package/common/fesm2020/koalarx-ui-common.mjs +118 -0
  39. package/common/fesm2020/koalarx-ui-common.mjs.map +1 -0
  40. package/common/koalarx-ui-common.d.ts +1 -0
  41. package/common/lib/services/csv/koala.csv.service.d.ts +3 -0
  42. package/common/lib/services/xlsx/koala.xlsx.service.d.ts +3 -0
  43. package/common/package.json +18 -6
  44. package/core/esm2020/index.mjs +35 -0
  45. package/core/esm2020/koalarx-ui-core.mjs +5 -0
  46. package/core/{esm2015/lib/environments/koalaEnvironment.js → esm2020/lib/environments/koalaEnvironment.mjs} +0 -0
  47. package/core/esm2020/lib/loader/loader-bar-page.component.mjs +24 -0
  48. package/core/{esm2015/lib/loader/loader-bar-page.interface.js → esm2020/lib/loader/loader-bar-page.interface.mjs} +0 -0
  49. package/core/{esm2015/lib/loader/loader-config.interface.js → esm2020/lib/loader/loader-config.interface.mjs} +0 -0
  50. package/core/esm2020/lib/ngx-koala.module.mjs +49 -0
  51. package/core/{esm2015/lib/page/koala-language.helper.js → esm2020/lib/page/koala-language.helper.mjs} +0 -0
  52. package/core/{esm2015/lib/page/koala-page-pallet-colors.interface.js → esm2020/lib/page/koala-page-pallet-colors.interface.mjs} +0 -0
  53. package/core/esm2020/lib/page/koala.page.module.mjs +78 -0
  54. package/core/{esm2015/lib/page/koala.user-menu-options.interface.js → esm2020/lib/page/koala.user-menu-options.interface.mjs} +0 -0
  55. package/core/{esm2015/lib/page/notifications/koala.notification.interface.js → esm2020/lib/page/notifications/koala.notification.interface.mjs} +0 -0
  56. package/core/esm2020/lib/page/notifications/notification.component.mjs +47 -0
  57. package/core/esm2020/lib/page/page.component.mjs +404 -0
  58. package/core/esm2020/lib/router/koala.parameter-hash-location-stategy.mjs +18 -0
  59. package/core/esm2020/lib/services/api-requester/factory/koala.response.factory.mjs +44 -0
  60. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.client.error.js → esm2020/lib/services/api-requester/helpers/error/koala.client.error.mjs} +0 -0
  61. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.errors.helper.js → esm2020/lib/services/api-requester/helpers/error/koala.errors.helper.mjs} +0 -0
  62. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.not-found.error.js → esm2020/lib/services/api-requester/helpers/error/koala.not-found.error.mjs} +0 -0
  63. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.success.error.js → esm2020/lib/services/api-requester/helpers/error/koala.success.error.mjs} +0 -0
  64. package/core/{esm2015/lib/services/api-requester/helpers/error/koala.unhautorized.error.js → esm2020/lib/services/api-requester/helpers/error/koala.unhautorized.error.mjs} +0 -0
  65. package/core/{esm2015/lib/services/api-requester/helpers/service/koala.request-header.helper.js → esm2020/lib/services/api-requester/helpers/service/koala.request-header.helper.mjs} +0 -0
  66. package/core/esm2020/lib/services/api-requester/koala.api-requester.base.mjs +63 -0
  67. package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +148 -0
  68. package/core/esm2020/lib/services/loader/koala.loader.service.mjs +34 -0
  69. package/core/{esm2015/lib/services/openid/koala-oauth2-config.interface.js → esm2020/lib/services/openid/koala-oauth2-config.interface.mjs} +0 -0
  70. package/core/esm2020/lib/services/openid/koala.oauth.config.mjs +30 -0
  71. package/core/esm2020/lib/services/openid/koala.oauth2.service.mjs +194 -0
  72. package/core/esm2020/lib/services/request/koala.request.service.mjs +52 -0
  73. package/core/{esm2015/lib/services/token/koala.token.service.js → esm2020/lib/services/token/koala.token.service.mjs} +7 -6
  74. package/core/esm2020/lib/services/token/token.factory.mjs +27 -0
  75. package/core/fesm2015/{koalarx-ui-core.js → koalarx-ui-core.mjs} +266 -191
  76. package/core/fesm2015/koalarx-ui-core.mjs.map +1 -0
  77. package/core/fesm2020/koalarx-ui-core.mjs +1384 -0
  78. package/core/fesm2020/koalarx-ui-core.mjs.map +1 -0
  79. package/core/index.d.ts +1 -0
  80. package/core/koalarx-ui-core.d.ts +1 -2
  81. package/core/lib/loader/loader-bar-page.component.d.ts +5 -1
  82. package/core/lib/ngx-koala.module.d.ts +7 -0
  83. package/core/lib/page/koala.page.module.d.ts +19 -0
  84. package/core/lib/page/notifications/notification.component.d.ts +3 -0
  85. package/core/lib/page/page.component.d.ts +3 -0
  86. package/core/lib/router/koala.parameter-hash-location-stategy.d.ts +3 -0
  87. package/core/lib/services/api-requester/koala.api-requester.service.d.ts +4 -0
  88. package/core/lib/services/loader/koala.loader.service.d.ts +3 -0
  89. package/core/lib/services/openid/koala.oauth2.service.d.ts +3 -0
  90. package/core/lib/services/request/koala.request.service.d.ts +3 -0
  91. package/core/lib/services/token/koala.token.service.d.ts +3 -0
  92. package/core/package.json +18 -6
  93. package/dialog/{esm2015/index.js → esm2020/index.mjs} +0 -0
  94. package/dialog/{esm2015/koalarx-ui-dialog.js → esm2020/koalarx-ui-dialog.mjs} +0 -0
  95. package/dialog/esm2020/lib/dialog.component.mjs +25 -0
  96. package/dialog/{esm2015/lib/koala.dialog-template.interface.js → esm2020/lib/koala.dialog-template.interface.mjs} +0 -0
  97. package/dialog/esm2020/lib/koala.dialog.module.mjs +38 -0
  98. package/dialog/esm2020/lib/koala.dialog.service.mjs +57 -0
  99. package/dialog/fesm2015/koalarx-ui-dialog.mjs +121 -0
  100. package/dialog/fesm2015/koalarx-ui-dialog.mjs.map +1 -0
  101. package/dialog/fesm2020/koalarx-ui-dialog.mjs +121 -0
  102. package/dialog/fesm2020/koalarx-ui-dialog.mjs.map +1 -0
  103. package/dialog/koalarx-ui-dialog.d.ts +1 -0
  104. package/dialog/lib/dialog.component.d.ts +3 -0
  105. package/dialog/lib/koala.dialog.module.d.ts +9 -0
  106. package/dialog/lib/koala.dialog.service.d.ts +3 -0
  107. package/dialog/package.json +18 -6
  108. package/dynamic-component/{esm2015/index.js → esm2020/index.mjs} +0 -0
  109. package/dynamic-component/{esm2015/koalarx-ui-dynamic-component.js → esm2020/koalarx-ui-dynamic-component.mjs} +0 -0
  110. package/dynamic-component/{esm2015/lib/koala-dynamic-component.component.js → esm2020/lib/koala-dynamic-component.component.mjs} +0 -0
  111. package/dynamic-component/esm2020/lib/koala-dynamic-component.directive.mjs +16 -0
  112. package/dynamic-component/esm2020/lib/koala-dynamic-component.factory.mjs +41 -0
  113. package/dynamic-component/{esm2015/lib/koala-dynamic-component.js → esm2020/lib/koala-dynamic-component.mjs} +0 -0
  114. package/dynamic-component/esm2020/lib/koala-dynamic-component.module.mjs +23 -0
  115. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs +87 -0
  116. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs.map +1 -0
  117. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs +86 -0
  118. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs.map +1 -0
  119. package/dynamic-component/koalarx-ui-dynamic-component.d.ts +1 -0
  120. package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +3 -0
  121. package/dynamic-component/lib/koala-dynamic-component.factory.d.ts +3 -0
  122. package/dynamic-component/lib/koala-dynamic-component.module.d.ts +6 -0
  123. package/dynamic-component/package.json +18 -6
  124. package/file-button/{esm2015/index.js → esm2020/index.mjs} +0 -0
  125. package/file-button/{esm2015/koalarx-ui-file-button.js → esm2020/koalarx-ui-file-button.mjs} +0 -0
  126. package/file-button/esm2020/lib/file-button.component.mjs +125 -0
  127. package/file-button/esm2020/lib/koala.btn-file.service.mjs +25 -0
  128. package/file-button/esm2020/lib/koala.file-button.module.mjs +38 -0
  129. package/file-button/{esm2015/lib/koala.file.interface.js → esm2020/lib/koala.file.interface.mjs} +0 -0
  130. package/file-button/fesm2015/koalarx-ui-file-button.mjs +199 -0
  131. package/file-button/fesm2015/koalarx-ui-file-button.mjs.map +1 -0
  132. package/file-button/fesm2020/koalarx-ui-file-button.mjs +189 -0
  133. package/file-button/fesm2020/koalarx-ui-file-button.mjs.map +1 -0
  134. package/file-button/koalarx-ui-file-button.d.ts +1 -0
  135. package/file-button/lib/file-button.component.d.ts +4 -1
  136. package/file-button/lib/koala.btn-file.service.d.ts +3 -0
  137. package/file-button/lib/koala.file-button.module.d.ts +9 -0
  138. package/file-button/package.json +18 -6
  139. package/folder-page/{esm2015/index.js → esm2020/index.mjs} +0 -0
  140. package/folder-page/{esm2015/koalarx-ui-folder-page.js → esm2020/koalarx-ui-folder-page.mjs} +0 -0
  141. package/folder-page/esm2020/lib/folder.component.mjs +70 -0
  142. package/folder-page/{esm2015/lib/koala-navigate-history.interface.js → esm2020/lib/koala-navigate-history.interface.mjs} +0 -0
  143. package/folder-page/esm2020/lib/koala.folder-page.module.mjs +42 -0
  144. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +117 -0
  145. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs.map +1 -0
  146. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +116 -0
  147. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs.map +1 -0
  148. package/folder-page/koalarx-ui-folder-page.d.ts +1 -0
  149. package/folder-page/lib/folder.component.d.ts +6 -2
  150. package/folder-page/lib/koala.folder-page.module.d.ts +10 -0
  151. package/folder-page/package.json +18 -6
  152. package/form/{esm2015/index.js → esm2020/index.mjs} +0 -0
  153. package/form/{esm2015/koalarx-ui-form.js → esm2020/koalarx-ui-form.mjs} +0 -0
  154. package/form/esm2020/lib/btn-submit/btn-submit.component.mjs +49 -0
  155. package/form/esm2020/lib/directives/koala-autofocus.directive.mjs +25 -0
  156. package/form/esm2020/lib/dynamic-form/builder/dynamic-form.builder.mjs +138 -0
  157. package/form/{esm2015/lib/dynamic-form/builder/fields/autocomplete.builder.js → esm2020/lib/dynamic-form/builder/fields/autocomplete.builder.mjs} +0 -0
  158. package/form/esm2020/lib/dynamic-form/builder/fields/field.base.mjs +148 -0
  159. package/form/{esm2015/lib/dynamic-form/builder/fields/field.builder.js → esm2020/lib/dynamic-form/builder/fields/field.builder.mjs} +0 -0
  160. package/form/esm2020/lib/dynamic-form/builder/fields/more-items.builder.mjs +57 -0
  161. package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +581 -0
  162. package/form/{esm2015/lib/dynamic-form/enums/dynamic-form-type-field.enum.js → esm2020/lib/dynamic-form/enums/dynamic-form-type-field.enum.mjs} +0 -0
  163. package/form/{esm2015/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.js → esm2020/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.mjs} +0 -0
  164. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.mjs} +0 -0
  165. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.mjs} +0 -0
  166. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.mjs} +0 -0
  167. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.mjs} +0 -0
  168. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.mjs} +0 -0
  169. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.mjs} +0 -0
  170. package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.mjs} +0 -0
  171. package/form/esm2020/lib/dynamic-form/koala.dynamic-form.service.mjs +199 -0
  172. package/form/{esm2015/lib/dynamic-form/validators/autocomplete-selected.validator.js → esm2020/lib/dynamic-form/validators/autocomplete-selected.validator.mjs} +0 -0
  173. package/form/{esm2015/lib/dynamic-form/validators/cnpj.validator.js → esm2020/lib/dynamic-form/validators/cnpj.validator.mjs} +0 -0
  174. package/form/{esm2015/lib/dynamic-form/validators/cpf.validator.js → esm2020/lib/dynamic-form/validators/cpf.validator.mjs} +0 -0
  175. package/form/{esm2015/lib/dynamic-form/validators/date-max.validator.js → esm2020/lib/dynamic-form/validators/date-max.validator.mjs} +0 -0
  176. package/form/{esm2015/lib/dynamic-form/validators/date-min.validator.js → esm2020/lib/dynamic-form/validators/date-min.validator.mjs} +0 -0
  177. package/form/{esm2015/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js → esm2020/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.mjs} +0 -0
  178. package/form/{esm2015/lib/dynamic-form/validators/validation.helper.js → esm2020/lib/dynamic-form/validators/validation.helper.mjs} +0 -0
  179. package/form/{esm2015/lib/form.abstract.js → esm2020/lib/form.abstract.mjs} +0 -0
  180. package/form/esm2020/lib/koala.form.module.mjs +134 -0
  181. package/form/{esm2015/lib/show-invalid-fields/show-invalid-fields.js → esm2020/lib/show-invalid-fields/show-invalid-fields.mjs} +0 -0
  182. package/form/fesm2015/koalarx-ui-form.mjs +1575 -0
  183. package/form/fesm2015/koalarx-ui-form.mjs.map +1 -0
  184. package/form/fesm2020/koalarx-ui-form.mjs +1557 -0
  185. package/form/fesm2020/koalarx-ui-form.mjs.map +1 -0
  186. package/form/koalarx-ui-form.d.ts +1 -0
  187. package/form/lib/btn-submit/btn-submit.component.d.ts +3 -0
  188. package/form/lib/directives/koala-autofocus.directive.d.ts +3 -0
  189. package/form/lib/dynamic-form/dynamic-form.component.d.ts +7 -1
  190. package/form/lib/dynamic-form/koala.dynamic-form.service.d.ts +3 -0
  191. package/form/lib/koala.form.module.d.ts +23 -0
  192. package/form/package.json +18 -6
  193. package/icon/{esm2015/index.js → esm2020/index.mjs} +2 -1
  194. package/icon/{esm2015/koalarx-ui-icon.js → esm2020/koalarx-ui-icon.mjs} +0 -0
  195. package/icon/esm2020/lib/icon.component.mjs +46 -0
  196. package/icon/esm2020/lib/koala.icon.module.mjs +26 -0
  197. package/icon/esm2020/lib/koala.icon.type.mjs +2 -0
  198. package/icon/fesm2015/koalarx-ui-icon.mjs +77 -0
  199. package/icon/{esm2015/lib/icon.component.js → fesm2015/koalarx-ui-icon.mjs.map} +1 -45
  200. package/icon/fesm2020/koalarx-ui-icon.mjs +76 -0
  201. package/icon/{fesm2015/koalarx-ui-icon.js → fesm2020/koalarx-ui-icon.mjs.map} +1 -69
  202. package/icon/index.d.ts +1 -0
  203. package/icon/koalarx-ui-icon.d.ts +1 -0
  204. package/icon/lib/icon.component.d.ts +4 -1
  205. package/icon/lib/koala.icon.module.d.ts +6 -0
  206. package/icon/lib/koala.icon.type.d.ts +1 -0
  207. package/icon/package.json +18 -6
  208. package/icons-animated/{esm2015/index.js → esm2020/index.mjs} +0 -0
  209. package/icons-animated/esm2020/koalarx-ui-icons-animated.mjs +5 -0
  210. package/icons-animated/esm2020/lib/icons/downloading/downloading-icon-animated.component.mjs +23 -0
  211. package/icons-animated/esm2020/lib/icons/loading/loading-icon-animated.component.mjs +23 -0
  212. package/icons-animated/esm2020/lib/icons-animated.component.mjs +20 -0
  213. package/icons-animated/esm2020/lib/icons-animated.service.mjs +32 -0
  214. package/icons-animated/esm2020/lib/koala-icons-animated.module.mjs +32 -0
  215. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs +122 -0
  216. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs.map +1 -0
  217. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs +120 -0
  218. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs.map +1 -0
  219. package/icons-animated/koalarx-ui-icons-animated.d.ts +1 -1
  220. package/icons-animated/lib/icons/downloading/downloading-icon-animated.component.d.ts +5 -2
  221. package/icons-animated/lib/icons/loading/loading-icon-animated.component.d.ts +5 -2
  222. package/icons-animated/lib/icons-animated.component.d.ts +3 -0
  223. package/icons-animated/lib/icons-animated.service.d.ts +3 -0
  224. package/icons-animated/lib/koala-icons-animated.module.d.ts +8 -0
  225. package/icons-animated/package.json +18 -6
  226. package/list/{esm2015/index.js → esm2020/index.mjs} +0 -0
  227. package/list/{esm2015/koalarx-ui-list.js → esm2020/koalarx-ui-list.mjs} +0 -0
  228. package/list/{esm2015/lib/koala-list-btn-collapse-sub-list-config.interface.js → esm2020/lib/koala-list-btn-collapse-sub-list-config.interface.mjs} +0 -0
  229. package/list/{esm2015/lib/koala-list-filter.interface.js → esm2020/lib/koala-list-filter.interface.mjs} +0 -0
  230. package/list/{esm2015/lib/koala-list-form-filter.interface.js → esm2020/lib/koala-list-form-filter.interface.mjs} +0 -0
  231. package/list/{esm2015/lib/koala-list-item-menu-option.interface.js → esm2020/lib/koala-list-item-menu-option.interface.mjs} +0 -0
  232. package/list/{esm2015/lib/koala-list-item.interface.js → esm2020/lib/koala-list-item.interface.mjs} +0 -0
  233. package/list/{esm2015/lib/koala.list-config.interface.js → esm2020/lib/koala.list-config.interface.mjs} +0 -0
  234. package/list/esm2020/lib/koala.list.module.mjs +70 -0
  235. package/list/esm2020/lib/koala.list.service.mjs +15 -0
  236. package/list/esm2020/lib/list-builder/list.builder.mjs +97 -0
  237. package/list/esm2020/lib/list.abstract.mjs +157 -0
  238. package/list/esm2020/lib/list.component.mjs +171 -0
  239. package/list/esm2020/lib/providers/pagination/pagination.provider.mjs +32 -0
  240. package/list/fesm2015/koalarx-ui-list.mjs +559 -0
  241. package/list/fesm2015/koalarx-ui-list.mjs.map +1 -0
  242. package/list/fesm2020/koalarx-ui-list.mjs +529 -0
  243. package/list/fesm2020/koalarx-ui-list.mjs.map +1 -0
  244. package/list/koalarx-ui-list.d.ts +1 -0
  245. package/list/lib/koala.list.module.d.ts +15 -0
  246. package/list/lib/koala.list.service.d.ts +3 -0
  247. package/list/lib/list.component.d.ts +3 -0
  248. package/list/lib/providers/pagination/pagination.provider.d.ts +3 -0
  249. package/list/package.json +18 -6
  250. package/menu/{esm2015/index.js → esm2020/index.mjs} +0 -0
  251. package/menu/{esm2015/koalarx-ui-menu.js → esm2020/koalarx-ui-menu.mjs} +0 -0
  252. package/menu/{esm2015/lib/koala.menu-module.interface.js → esm2020/lib/koala.menu-module.interface.mjs} +0 -0
  253. package/menu/{esm2015/lib/koala.menu-tool.interface.js → esm2020/lib/koala.menu-tool.interface.mjs} +0 -0
  254. package/menu/esm2020/lib/koala.menu.module.mjs +38 -0
  255. package/menu/esm2020/lib/koala.menu.service.mjs +24 -0
  256. package/menu/esm2020/lib/menu.component.mjs +100 -0
  257. package/menu/fesm2015/koalarx-ui-menu.mjs +167 -0
  258. package/menu/fesm2015/koalarx-ui-menu.mjs.map +1 -0
  259. package/menu/fesm2020/koalarx-ui-menu.mjs +162 -0
  260. package/menu/fesm2020/koalarx-ui-menu.mjs.map +1 -0
  261. package/menu/koalarx-ui-menu.d.ts +1 -0
  262. package/menu/lib/koala.menu.module.d.ts +9 -0
  263. package/menu/lib/koala.menu.service.d.ts +3 -0
  264. package/menu/lib/menu.component.d.ts +6 -0
  265. package/menu/package.json +18 -6
  266. package/package.json +10 -9
  267. package/question/{esm2015/index.js → esm2020/index.mjs} +0 -0
  268. package/question/{esm2015/koalarx-ui-question.js → esm2020/koalarx-ui-question.mjs} +0 -0
  269. package/question/esm2020/lib/dialog-question.component.mjs +25 -0
  270. package/question/{esm2015/lib/koala-question-config.interface.js → esm2020/lib/koala-question-config.interface.mjs} +0 -0
  271. package/question/esm2020/lib/koala.question.module.mjs +42 -0
  272. package/question/esm2020/lib/koala.question.service.mjs +26 -0
  273. package/question/fesm2015/koalarx-ui-question.mjs +95 -0
  274. package/question/fesm2015/koalarx-ui-question.mjs.map +1 -0
  275. package/question/fesm2020/koalarx-ui-question.mjs +93 -0
  276. package/question/fesm2020/koalarx-ui-question.mjs.map +1 -0
  277. package/question/koalarx-ui-question.d.ts +1 -0
  278. package/question/lib/dialog-question.component.d.ts +3 -0
  279. package/question/lib/koala.question.module.d.ts +10 -0
  280. package/question/lib/koala.question.service.d.ts +3 -0
  281. package/question/package.json +18 -6
  282. package/snackbar/{esm2015/index.js → esm2020/index.mjs} +0 -0
  283. package/snackbar/{esm2015/koalarx-ui-snackbar.js → esm2020/koalarx-ui-snackbar.mjs} +0 -0
  284. package/snackbar/esm2020/lib/koala.snackbar.component.mjs +22 -0
  285. package/snackbar/{esm2015/lib/koala.snackbar.interface.js → esm2020/lib/koala.snackbar.interface.mjs} +0 -0
  286. package/snackbar/esm2020/lib/koala.snackbar.module.mjs +38 -0
  287. package/snackbar/esm2020/lib/koala.snackbar.service.mjs +35 -0
  288. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs +95 -0
  289. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs.map +1 -0
  290. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs +93 -0
  291. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs.map +1 -0
  292. package/snackbar/koalarx-ui-snackbar.d.ts +1 -0
  293. package/snackbar/lib/koala.snackbar.component.d.ts +3 -0
  294. package/snackbar/lib/koala.snackbar.module.d.ts +8 -0
  295. package/snackbar/lib/koala.snackbar.service.d.ts +3 -0
  296. package/snackbar/package.json +18 -6
  297. package/alert/bundles/koalarx-ui-alert.umd.js +0 -153
  298. package/alert/bundles/koalarx-ui-alert.umd.js.map +0 -1
  299. package/alert/esm2015/lib/dialog-alert.component.js +0 -43
  300. package/alert/esm2015/lib/koala.alert.module.js +0 -31
  301. package/alert/esm2015/lib/koala.alert.service.js +0 -21
  302. package/alert/fesm2015/koalarx-ui-alert.js +0 -121
  303. package/alert/fesm2015/koalarx-ui-alert.js.map +0 -1
  304. package/alert/koalarx-ui-alert.metadata.json +0 -1
  305. package/button/bundles/koalarx-ui-button.umd.js +0 -71
  306. package/button/bundles/koalarx-ui-button.umd.js.map +0 -1
  307. package/button/esm2015/lib/button.component.js +0 -31
  308. package/button/esm2015/lib/koala.button.module.js +0 -27
  309. package/button/fesm2015/koalarx-ui-button.js +0 -63
  310. package/button/fesm2015/koalarx-ui-button.js.map +0 -1
  311. package/button/koalarx-ui-button.metadata.json +0 -1
  312. package/common/bundles/koalarx-ui-common.umd.js +0 -481
  313. package/common/bundles/koalarx-ui-common.umd.js.map +0 -1
  314. package/common/esm2015/lib/services/csv/koala.csv.service.js +0 -38
  315. package/common/esm2015/lib/services/xlsx/koala.xlsx.service.js +0 -74
  316. package/common/fesm2015/koalarx-ui-common.js.map +0 -1
  317. package/common/koalarx-ui-common.metadata.json +0 -1
  318. package/core/bundles/koalarx-ui-core.umd.js +0 -1716
  319. package/core/bundles/koalarx-ui-core.umd.js.map +0 -1
  320. package/core/esm2015/index.js +0 -34
  321. package/core/esm2015/koalarx-ui-core.js +0 -7
  322. package/core/esm2015/lib/loader/loader-bar-page.component.js +0 -22
  323. package/core/esm2015/lib/ngx-koala.module.js +0 -35
  324. package/core/esm2015/lib/page/koala.page.module.js +0 -46
  325. package/core/esm2015/lib/page/notifications/notification.component.js +0 -43
  326. package/core/esm2015/lib/page/page.component.js +0 -396
  327. package/core/esm2015/lib/router/koala.parameter-hash-location-stategy.js +0 -16
  328. package/core/esm2015/lib/services/api-requester/factory/koala.response.factory.js +0 -48
  329. package/core/esm2015/lib/services/api-requester/koala.api-requester.base.js +0 -70
  330. package/core/esm2015/lib/services/api-requester/koala.api-requester.service.js +0 -134
  331. package/core/esm2015/lib/services/loader/koala.loader.service.js +0 -32
  332. package/core/esm2015/lib/services/openid/koala.oauth.config.js +0 -33
  333. package/core/esm2015/lib/services/openid/koala.oauth2.service.js +0 -201
  334. package/core/esm2015/lib/services/request/koala.request.service.js +0 -53
  335. package/core/esm2015/lib/services/token/token.factory.js +0 -31
  336. package/core/fesm2015/koalarx-ui-core.js.map +0 -1
  337. package/core/koalarx-ui-core.metadata.json +0 -1
  338. package/dialog/bundles/koalarx-ui-dialog.umd.js +0 -139
  339. package/dialog/bundles/koalarx-ui-dialog.umd.js.map +0 -1
  340. package/dialog/esm2015/lib/dialog.component.js +0 -18
  341. package/dialog/esm2015/lib/koala.dialog.module.js +0 -25
  342. package/dialog/esm2015/lib/koala.dialog.service.js +0 -61
  343. package/dialog/fesm2015/koalarx-ui-dialog.js +0 -107
  344. package/dialog/fesm2015/koalarx-ui-dialog.js.map +0 -1
  345. package/dialog/koalarx-ui-dialog.metadata.json +0 -1
  346. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js +0 -95
  347. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js.map +0 -1
  348. package/dynamic-component/esm2015/lib/koala-dynamic-component.directive.js +0 -15
  349. package/dynamic-component/esm2015/lib/koala-dynamic-component.factory.js +0 -38
  350. package/dynamic-component/esm2015/lib/koala-dynamic-component.module.js +0 -17
  351. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js +0 -79
  352. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js.map +0 -1
  353. package/dynamic-component/koalarx-ui-dynamic-component.metadata.json +0 -1
  354. package/file-button/bundles/koalarx-ui-file-button.umd.js +0 -553
  355. package/file-button/bundles/koalarx-ui-file-button.umd.js.map +0 -1
  356. package/file-button/esm2015/lib/file-button.component.js +0 -118
  357. package/file-button/esm2015/lib/koala.btn-file.service.js +0 -26
  358. package/file-button/esm2015/lib/koala.file-button.module.js +0 -25
  359. package/file-button/fesm2015/koalarx-ui-file-button.js +0 -171
  360. package/file-button/fesm2015/koalarx-ui-file-button.js.map +0 -1
  361. package/file-button/koalarx-ui-file-button.metadata.json +0 -1
  362. package/folder-page/bundles/koalarx-ui-folder-page.umd.js +0 -97
  363. package/folder-page/bundles/koalarx-ui-folder-page.umd.js.map +0 -1
  364. package/folder-page/esm2015/lib/folder.component.js +0 -56
  365. package/folder-page/esm2015/lib/koala.folder-page.module.js +0 -27
  366. package/folder-page/fesm2015/koalarx-ui-folder-page.js +0 -88
  367. package/folder-page/fesm2015/koalarx-ui-folder-page.js.map +0 -1
  368. package/folder-page/koalarx-ui-folder-page.metadata.json +0 -1
  369. package/form/bundles/koalarx-ui-form.umd.js +0 -1969
  370. package/form/bundles/koalarx-ui-form.umd.js.map +0 -1
  371. package/form/esm2015/lib/btn-submit/btn-submit.component.js +0 -39
  372. package/form/esm2015/lib/directives/koala-autofocus.directive.js +0 -25
  373. package/form/esm2015/lib/dynamic-form/builder/dynamic-form.builder.js +0 -141
  374. package/form/esm2015/lib/dynamic-form/builder/fields/field.base.js +0 -151
  375. package/form/esm2015/lib/dynamic-form/builder/fields/more-items.builder.js +0 -57
  376. package/form/esm2015/lib/dynamic-form/dynamic-form.component.js +0 -564
  377. package/form/esm2015/lib/dynamic-form/koala.dynamic-form.service.js +0 -204
  378. package/form/esm2015/lib/koala.form.module.js +0 -69
  379. package/form/fesm2015/koalarx-ui-form.js +0 -1487
  380. package/form/fesm2015/koalarx-ui-form.js.map +0 -1
  381. package/form/koalarx-ui-form.metadata.json +0 -1
  382. package/icon/bundles/koalarx-ui-icon.umd.js +0 -76
  383. package/icon/bundles/koalarx-ui-icon.umd.js.map +0 -1
  384. package/icon/esm2015/lib/koala.icon.module.js +0 -19
  385. package/icon/fesm2015/koalarx-ui-icon.js.map +0 -1
  386. package/icon/koalarx-ui-icon.metadata.json +0 -1
  387. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js +0 -138
  388. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js.map +0 -1
  389. package/icons-animated/esm2015/koalarx-ui-icons-animated.js +0 -6
  390. package/icons-animated/esm2015/lib/icons/downloading/downloading-icon-animated.component.js +0 -28
  391. package/icons-animated/esm2015/lib/icons/loading/loading-icon-animated.component.js +0 -28
  392. package/icons-animated/esm2015/lib/icons-animated.component.js +0 -15
  393. package/icons-animated/esm2015/lib/icons-animated.service.js +0 -29
  394. package/icons-animated/esm2015/lib/koala-icons-animated.module.js +0 -23
  395. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js +0 -121
  396. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js.map +0 -1
  397. package/icons-animated/koalarx-ui-icons-animated.metadata.json +0 -1
  398. package/list/bundles/koalarx-ui-list.umd.js +0 -914
  399. package/list/bundles/koalarx-ui-list.umd.js.map +0 -1
  400. package/list/esm2015/lib/koala.list.module.js +0 -42
  401. package/list/esm2015/lib/koala.list.service.js +0 -13
  402. package/list/esm2015/lib/list-builder/list.builder.js +0 -101
  403. package/list/esm2015/lib/list.abstract.js +0 -174
  404. package/list/esm2015/lib/list.component.js +0 -166
  405. package/list/esm2015/lib/providers/pagination/pagination.provider.js +0 -30
  406. package/list/fesm2015/koalarx-ui-list.js +0 -514
  407. package/list/fesm2015/koalarx-ui-list.js.map +0 -1
  408. package/list/koalarx-ui-list.metadata.json +0 -1
  409. package/menu/bundles/koalarx-ui-menu.umd.js +0 -511
  410. package/menu/bundles/koalarx-ui-menu.umd.js.map +0 -1
  411. package/menu/esm2015/lib/koala.menu.module.js +0 -25
  412. package/menu/esm2015/lib/koala.menu.service.js +0 -22
  413. package/menu/esm2015/lib/menu.component.js +0 -104
  414. package/menu/fesm2015/koalarx-ui-menu.js +0 -153
  415. package/menu/fesm2015/koalarx-ui-menu.js.map +0 -1
  416. package/menu/koalarx-ui-menu.metadata.json +0 -1
  417. package/question/bundles/koalarx-ui-question.umd.js +0 -104
  418. package/question/bundles/koalarx-ui-question.umd.js.map +0 -1
  419. package/question/esm2015/lib/dialog-question.component.js +0 -20
  420. package/question/esm2015/lib/koala.question.module.js +0 -27
  421. package/question/esm2015/lib/koala.question.service.js +0 -28
  422. package/question/fesm2015/koalarx-ui-question.js +0 -77
  423. package/question/fesm2015/koalarx-ui-question.js.map +0 -1
  424. package/question/koalarx-ui-question.metadata.json +0 -1
  425. package/snackbar/bundles/koalarx-ui-snackbar.umd.js +0 -93
  426. package/snackbar/bundles/koalarx-ui-snackbar.umd.js.map +0 -1
  427. package/snackbar/esm2015/lib/koala.snackbar.component.js +0 -20
  428. package/snackbar/esm2015/lib/koala.snackbar.module.js +0 -26
  429. package/snackbar/esm2015/lib/koala.snackbar.service.js +0 -35
  430. package/snackbar/fesm2015/koalarx-ui-snackbar.js +0 -81
  431. package/snackbar/fesm2015/koalarx-ui-snackbar.js.map +0 -1
  432. package/snackbar/koalarx-ui-snackbar.metadata.json +0 -1
@@ -0,0 +1,70 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ListComponent } from './list.component';
3
+ import { MatTableModule } from '@angular/material/table';
4
+ import { MatSortModule } from '@angular/material/sort';
5
+ import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
6
+ import { CommonModule } from '@angular/common';
7
+ import { KoalaFormModule } from '@koalarx/ui/form';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+ import { PaginationProvider } from './providers/pagination/pagination.provider';
10
+ import { KoalaFolderPageModule } from '@koalarx/ui/folder-page';
11
+ import { MatTooltipModule } from '@angular/material/tooltip';
12
+ import { KoalaDynamicComponentModule } from '@koalarx/ui/dynamic-component';
13
+ import { KoalaButtonModule } from "@koalarx/ui/button";
14
+ import * as i0 from "@angular/core";
15
+ export class KoalaListModule {
16
+ }
17
+ KoalaListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ KoalaListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, declarations: [ListComponent], imports: [CommonModule,
19
+ KoalaFolderPageModule,
20
+ KoalaFormModule,
21
+ KoalaDynamicComponentModule,
22
+ KoalaButtonModule,
23
+ MatMenuModule,
24
+ MatTableModule,
25
+ MatSortModule,
26
+ MatTooltipModule,
27
+ MatPaginatorModule], exports: [ListComponent] });
28
+ KoalaListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, providers: [{
29
+ provide: MatPaginatorIntl,
30
+ useClass: PaginationProvider
31
+ }], imports: [[
32
+ CommonModule,
33
+ KoalaFolderPageModule,
34
+ KoalaFormModule,
35
+ KoalaDynamicComponentModule,
36
+ KoalaButtonModule,
37
+ MatMenuModule,
38
+ MatTableModule,
39
+ MatSortModule,
40
+ MatTooltipModule,
41
+ MatPaginatorModule
42
+ ]] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, decorators: [{
44
+ type: NgModule,
45
+ args: [{
46
+ declarations: [
47
+ ListComponent
48
+ ],
49
+ imports: [
50
+ CommonModule,
51
+ KoalaFolderPageModule,
52
+ KoalaFormModule,
53
+ KoalaDynamicComponentModule,
54
+ KoalaButtonModule,
55
+ MatMenuModule,
56
+ MatTableModule,
57
+ MatSortModule,
58
+ MatTooltipModule,
59
+ MatPaginatorModule
60
+ ],
61
+ exports: [
62
+ ListComponent
63
+ ],
64
+ providers: [{
65
+ provide: MatPaginatorIntl,
66
+ useClass: PaginationProvider
67
+ }]
68
+ }]
69
+ }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEubGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0L3NyYy9saWIva29hbGEubGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUEwQnZELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBdEJ4QixhQUFhLGFBR2IsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsa0JBQWtCLGFBR2xCLGFBQWE7NkdBT0osZUFBZSxhQUxmLENBQUM7WUFDVixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSxrQkFBa0I7U0FDN0IsQ0FBQyxZQWxCTztZQUNQLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLDJCQUEyQjtZQUMzQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtTQUNuQjsyRkFTVSxlQUFlO2tCQXhCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTtxQkFDZDtvQkFDRCxTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixRQUFRLEVBQUUsa0JBQWtCO3lCQUM3QixDQUFDO2lCQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCwgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLb2FsYUZvcm1Nb2R1bGUgfSBmcm9tICdAa29hbGFyeC91aS9mb3JtJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFBhZ2luYXRpb25Qcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBLb2FsYUZvbGRlclBhZ2VNb2R1bGUgfSBmcm9tICdAa29hbGFyeC91aS9mb2xkZXItcGFnZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNDb21wb25lbnRNb2R1bGUgfSBmcm9tICdAa29hbGFyeC91aS9keW5hbWljLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBLb2FsYUJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAa29hbGFyeC91aS9idXR0b25cIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTGlzdENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEtvYWxhRm9sZGVyUGFnZU1vZHVsZSxcbiAgICBLb2FsYUZvcm1Nb2R1bGUsXG4gICAgS29hbGFEeW5hbWljQ29tcG9uZW50TW9kdWxlLFxuICAgIEtvYWxhQnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdFBhZ2luYXRvck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTGlzdENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCxcbiAgICB1c2VDbGFzczogUGFnaW5hdGlvblByb3ZpZGVyXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEtvYWxhTGlzdE1vZHVsZSB7XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ListBuilder } from "./list-builder/list.builder";
3
+ import * as i0 from "@angular/core";
4
+ export class KoalaListService {
5
+ build() {
6
+ return new ListBuilder();
7
+ }
8
+ }
9
+ KoalaListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ KoalaListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListService, providedIn: "any" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListService, decorators: [{
12
+ type: Injectable,
13
+ args: [{ providedIn: "any" }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEubGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC9zcmMvbGliL2tvYWxhLmxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixLQUFLO1FBQ1YsT0FBTyxJQUFJLFdBQVcsRUFBWSxDQUFDO0lBQ3JDLENBQUM7OzZHQUpVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREosS0FBSzsyRkFDakIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RCdWlsZGVyIH0gZnJvbSBcIi4vbGlzdC1idWlsZGVyL2xpc3QuYnVpbGRlclwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJhbnlcIn0pXG5leHBvcnQgY2xhc3MgS29hbGFMaXN0U2VydmljZSB7XG5cbiAgcHVibGljIGJ1aWxkPERhdGFUeXBlPigpIHtcbiAgICByZXR1cm4gbmV3IExpc3RCdWlsZGVyPERhdGFUeXBlPigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,97 @@
1
+ import { KoalaDynamicComponent } from "@koalarx/ui/dynamic-component";
2
+ import { BehaviorSubject, Observable } from "rxjs";
3
+ import { first } from "rxjs/operators";
4
+ export class ListBuilder {
5
+ constructor() {
6
+ this.config = {};
7
+ }
8
+ service(service, type = "all", resultIndexName, qtdResultIndexName) {
9
+ this.config.typeRequest = type;
10
+ this.config.responseIndexName = resultIndexName;
11
+ this.config.responseQtdResultIndexName = response => response[qtdResultIndexName ?? ''] ?? [];
12
+ this.config.columnSort = this.config?.filterParams?.getValue()?.sort;
13
+ this.config.sortDirection = this.config?.filterParams?.getValue()?.order ?? 'asc';
14
+ const response = service(this.config.filterParams ?? null);
15
+ if (response instanceof Promise) {
16
+ this.config.request = new Observable(observe => {
17
+ response.then(response => observe.next(response))
18
+ .catch(error => observe.error(error));
19
+ }).pipe(first());
20
+ }
21
+ else {
22
+ this.config.request = new Observable(observe => {
23
+ service(this.config.filterParams ?? null).pipe(first()).subscribe(observe);
24
+ }).pipe(first());
25
+ }
26
+ return this;
27
+ }
28
+ filterConfig(config) {
29
+ this.config.filterFormConfig = config;
30
+ return this;
31
+ }
32
+ defaultFilter(config) {
33
+ this.config.filterParams = new BehaviorSubject(config);
34
+ return this;
35
+ }
36
+ pageSize(size) {
37
+ this.config.pageSize = size;
38
+ return this;
39
+ }
40
+ columns(columns) {
41
+ this.config.columnsToShowInList = columns;
42
+ return this;
43
+ }
44
+ itemColumn(item) {
45
+ (this.config.itemsList?.length > 0) ?
46
+ this.config.itemsList.push(item) :
47
+ this.config.itemsList = [item];
48
+ return this;
49
+ }
50
+ actionList(item) {
51
+ (this.config.itemsMenuListOptions?.length ?? 0 > 0) ?
52
+ this.config.itemsMenuListOptions?.push(item) :
53
+ this.config.itemsMenuListOptions = [item];
54
+ return this;
55
+ }
56
+ getDataSource(fn) {
57
+ this.config.getDataSource = fn;
58
+ return this;
59
+ }
60
+ getSelectionList(fn) {
61
+ this.config.getSelectionList = fn;
62
+ return this;
63
+ }
64
+ emptyListComponent(component, data) {
65
+ this.config.emptyListComponent = new KoalaDynamicComponent(component, data);
66
+ return this;
67
+ }
68
+ errorListComponent(component, data) {
69
+ this.config.errorListComponent = new KoalaDynamicComponent(component, data);
70
+ return this;
71
+ }
72
+ disableCheckboxItemList(fn) {
73
+ this.config.disabledCheckboxItemList = fn;
74
+ return this;
75
+ }
76
+ setSubList(config) {
77
+ this.config.subListConfig = config;
78
+ return this;
79
+ }
80
+ defineBtnCollapseSubListConfig(config) {
81
+ this.config.btnCollapseSubListConfig = config;
82
+ return this;
83
+ }
84
+ hidePaginator(hide = true) {
85
+ this.config.hidePaginator = hide;
86
+ return this;
87
+ }
88
+ setCustomClass(className) {
89
+ this.config.customClass = className;
90
+ return this;
91
+ }
92
+ getConfig() {
93
+ this.config.reload = new BehaviorSubject(false);
94
+ return this.config;
95
+ }
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC9zcmMvbGliL2xpc3QtYnVpbGRlci9saXN0LmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBQ1UsV0FBTSxHQUFHLEVBQThCLENBQUM7SUFtSGxELENBQUM7SUFqSFEsT0FBTyxDQUNaLE9BQWtHLEVBQ2xHLE9BQTJCLEtBQUssRUFDaEMsZUFBd0IsRUFDeEIsa0JBQTJCO1FBRTNCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5RixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUVsRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFB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SUFBSSxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsU0FBb0IsRUFBRSxJQUFVO1FBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsRUFBK0I7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQW9EO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxNQUE0RDtRQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZ0IsSUFBSTtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sY0FBYyxDQUFDLFNBQWlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtvYWxhTGlzdENvbmZpZ0ludGVyZmFjZSB9IGZyb20gXCIuLi9rb2FsYS5saXN0LWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhTGlzdEl0ZW1JbnRlcmZhY2UgfSBmcm9tIFwiLi4va29hbGEtbGlzdC1pdGVtLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNDb21wb25lbnQgfSBmcm9tIFwiQGtvYWxhcngvdWkvZHluYW1pYy1jb21wb25lbnRcIjtcbmltcG9ydCB7IEtvYWxhTGlzdEZpbHRlckludGVyZmFjZSB9IGZyb20gXCIuLi9rb2FsYS1saXN0LWZpbHRlci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RGb3JtRmlsdGVySW50ZXJmYWNlIH0gZnJvbSBcIi4uL2tvYWxhLWxpc3QtZm9ybS1maWx0ZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RJdGVtTWVudU9wdGlvbkludGVyZmFjZSB9IGZyb20gXCIuLi9rb2FsYS1saXN0LWl0ZW0tbWVudS1vcHRpb24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7IEtvYWxhTGlzdFBhZ2VTaXplIH0gZnJvbSBcIi4uL2xpc3QuYWJzdHJhY3RcIjtcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RCdG5Db2xsYXBzZVN1Ykxpc3RDb25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi4va29hbGEtbGlzdC1idG4tY29sbGFwc2Utc3ViLWxpc3QtY29uZmlnLmludGVyZmFjZVwiO1xuXG5leHBvcnQgY2xhc3MgTGlzdEJ1aWxkZXI8RGF0YVR5cGU+IHtcbiAgcHJpdmF0ZSBjb25maWcgPSB7fSBhcyBLb2FsYUxpc3RDb25maWdJbnRlcmZhY2U7XG5cbiAgcHVibGljIHNlcnZpY2UoXG4gICAgc2VydmljZTogKGZpbHRlcjogQmVoYXZpb3JTdWJqZWN0PEtvYWxhTGlzdEZvcm1GaWx0ZXJJbnRlcmZhY2U+KSA9PiBPYnNlcnZhYmxlPGFueT4gfCBQcm9taXNlPGFueT4sXG4gICAgdHlwZTogJ2FsbCcgfCAnb25EZW1hbmQnID0gXCJhbGxcIixcbiAgICByZXN1bHRJbmRleE5hbWU/OiBzdHJpbmcsXG4gICAgcXRkUmVzdWx0SW5kZXhOYW1lPzogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuY29uZmlnLnR5cGVSZXF1ZXN0ID0gdHlwZTtcbiAgICB0aGlzLmNvbmZpZy5yZXNwb25zZUluZGV4TmFtZSA9IHJlc3VsdEluZGV4TmFtZTtcbiAgICB0aGlzLmNvbmZpZy5yZXNwb25zZVF0ZFJlc3VsdEluZGV4TmFtZSA9IHJlc3BvbnNlID0+IHJlc3BvbnNlW3F0ZFJlc3VsdEluZGV4TmFtZSA/PyAnJ10gPz8gW107XG4gICAgdGhpcy5jb25maWcuY29sdW1uU29ydCA9IHRoaXMuY29uZmlnPy5maWx0ZXJQYXJhbXM/LmdldFZhbHVlKCk/LnNvcnQ7XG4gICAgdGhpcy5jb25maWcuc29ydERpcmVjdGlvbiA9IHRoaXMuY29uZmlnPy5maWx0ZXJQYXJhbXM/LmdldFZhbHVlKCk/Lm9yZGVyID8/ICdhc2MnO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBzZXJ2aWNlKHRoaXMuY29uZmlnLmZpbHRlclBhcmFtcyA/PyBudWxsKTtcblxuICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29uZmlnLnJlcXVlc3QgPSBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xuICAgICAgICByZXNwb25zZS50aGVuKHJlc3BvbnNlID0+IG9ic2VydmUubmV4dChyZXNwb25zZSkpXG4gICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IG9ic2VydmUuZXJyb3IoZXJyb3IpKTtcbiAgICAgIH0pLnBpcGUoZmlyc3QoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uZmlnLnJlcXVlc3QgPSBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xuICAgICAgICAoc2VydmljZSh0aGlzLmNvbmZpZy5maWx0ZXJQYXJhbXMgPz8gbnVsbCkgYXMgT2JzZXJ2YWJsZTxhbnk+KS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZShvYnNlcnZlKTtcbiAgICAgIH0pLnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQ29uZmlnKGNvbmZpZzogS29hbGFMaXN0RmlsdGVySW50ZXJmYWNlKSB7XG4gICAgdGhpcy5jb25maWcuZmlsdGVyRm9ybUNvbmZpZyA9IGNvbmZpZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkZWZhdWx0RmlsdGVyKGNvbmZpZzogS29hbGFMaXN0Rm9ybUZpbHRlckludGVyZmFjZSkge1xuICAgIHRoaXMuY29uZmlnLmZpbHRlclBhcmFtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8S29hbGFMaXN0Rm9ybUZpbHRlckludGVyZmFjZT4oY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBwYWdlU2l6ZShzaXplOiBLb2FsYUxpc3RQYWdlU2l6ZSkge1xuICAgIHRoaXMuY29uZmlnLnBhZ2VTaXplID0gc2l6ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5jb25maWcuY29sdW1uc1RvU2hvd0luTGlzdCA9IGNvbHVtbnM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgaXRlbUNvbHVtbihpdGVtOiBLb2FsYUxpc3RJdGVtSW50ZXJmYWNlPERhdGFUeXBlPikge1xuICAgICh0aGlzLmNvbmZpZy5pdGVtc0xpc3Q/Lmxlbmd0aCA+IDApID9cbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTGlzdC5wdXNoKGl0ZW0pIDpcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTGlzdCA9IFtpdGVtXTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkxpc3QoaXRlbTogS29hbGFMaXN0SXRlbU1lbnVPcHRpb25JbnRlcmZhY2U8RGF0YVR5cGU+KSB7XG4gICAgKHRoaXMuY29uZmlnLml0ZW1zTWVudUxpc3RPcHRpb25zPy5sZW5ndGggPz8gMCA+IDApID9cbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTWVudUxpc3RPcHRpb25zPy5wdXNoKGl0ZW0pIDpcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTWVudUxpc3RPcHRpb25zID0gW2l0ZW1dO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0YVNvdXJjZShmbjogKGRhdGFTb3VyY2U6IERhdGFUeXBlW10pID0+IHZvaWQpIHtcbiAgICB0aGlzLmNvbmZpZy5nZXREYXRhU291cmNlID0gZm47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0aW9uTGlzdChmbjogKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8RGF0YVR5cGU+KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jb25maWcuZ2V0U2VsZWN0aW9uTGlzdCA9IGZuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGVtcHR5TGlzdENvbXBvbmVudChjb21wb25lbnQ6IFR5cGU8YW55PiwgZGF0YT86IGFueSkge1xuICAgIHRoaXMuY29uZmlnLmVtcHR5TGlzdENvbXBvbmVudCA9IG5ldyBLb2FsYUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50LCBkYXRhKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBlcnJvckxpc3RDb21wb25lbnQoY29tcG9uZW50OiBUeXBlPGFueT4sIGRhdGE/OiBhbnkpIHtcbiAgICB0aGlzLmNvbmZpZy5lcnJvckxpc3RDb21wb25lbnQgPSBuZXcgS29hbGFEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudCwgZGF0YSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZUNoZWNrYm94SXRlbUxpc3QoZm46IChpdGVtOiBEYXRhVHlwZSkgPT4gYm9vbGVhbikge1xuICAgIHRoaXMuY29uZmlnLmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdCA9IGZuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldFN1Ykxpc3QoY29uZmlnOiAoaXRlbTogRGF0YVR5cGUpID0+IEtvYWxhTGlzdENvbmZpZ0ludGVyZmFjZSkge1xuICAgIHRoaXMuY29uZmlnLnN1Ykxpc3RDb25maWcgPSBjb25maWc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVmaW5lQnRuQ29sbGFwc2VTdWJMaXN0Q29uZmlnKGNvbmZpZzogS29hbGFMaXN0QnRuQ29sbGFwc2VTdWJMaXN0Q29uZmlnSW50ZXJmYWNlPERhdGFUeXBlPikge1xuICAgIHRoaXMuY29uZmlnLmJ0bkNvbGxhcHNlU3ViTGlzdENvbmZpZyA9IGNvbmZpZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBoaWRlUGFnaW5hdG9yKGhpZGU6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5jb25maWcuaGlkZVBhZ2luYXRvciA9IGhpZGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VzdG9tQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZy5jdXN0b21DbGFzcyA9IGNsYXNzTmFtZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWcoKTogS29hbGFMaXN0Q29uZmlnSW50ZXJmYWNlIHtcbiAgICB0aGlzLmNvbmZpZy5yZWxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,157 @@
1
+ import { SelectionModel } from '@angular/cdk/collections';
2
+ import { BehaviorSubject, merge, Observable } from 'rxjs';
3
+ import { FormAbstract } from '@koalarx/ui/form';
4
+ import { debounceTime, first, map, startWith, switchMap } from 'rxjs/operators';
5
+ import { MatTableDataSource } from '@angular/material/table';
6
+ import { delay } from "@koalarx/utils/operators/delay";
7
+ export class ListAbstract extends FormAbstract {
8
+ constructor(requestFunction, requestResponseFunction, formSearch) {
9
+ super(formSearch);
10
+ this.requestFunction = requestFunction;
11
+ this.requestResponseFunction = requestResponseFunction;
12
+ this.selection = new SelectionModel(true, []);
13
+ this.limitOptions = [10, 20, 30, 50, 100];
14
+ this.showMenuList = false;
15
+ this.allSelected$ = new BehaviorSubject(false);
16
+ this.dataSource = new MatTableDataSource([]);
17
+ this.typeRequest = 'onDemand';
18
+ this.filterParams = new BehaviorSubject(null);
19
+ this.filterError$ = new BehaviorSubject(null);
20
+ }
21
+ selectAll() {
22
+ this.isAllSelected() ?
23
+ this.selection.clear() :
24
+ this.dataSource.data.forEach(item => {
25
+ if ((this.config?.disabledCheckboxItemList && !this.config.disabledCheckboxItemList(item)) ||
26
+ !this.config?.disabledCheckboxItemList) {
27
+ this.selection.select(item);
28
+ }
29
+ });
30
+ this.isAllSelected();
31
+ }
32
+ defineStatusSelectAll(status) {
33
+ this.allSelected$.next(status);
34
+ return this.allSelected$.getValue();
35
+ }
36
+ selectItem() {
37
+ setTimeout(() => {
38
+ this.showMenuList = this.selection.hasValue();
39
+ this.isAllSelected();
40
+ }, 50);
41
+ }
42
+ async search(filter) {
43
+ this.loading(true);
44
+ this.selection.clear();
45
+ if (this.paginator) {
46
+ this.paginator.firstPage();
47
+ }
48
+ this.filterParams.next({
49
+ params: filter,
50
+ sort: this.sort?.active ?? '',
51
+ order: this.sort?.direction ?? 'asc',
52
+ page: this.paginator?.pageIndex ?? 0,
53
+ limit: this.paginator?.pageSize ?? 30
54
+ });
55
+ }
56
+ onDestroy() {
57
+ this.subscriptionSortList?.unsubscribe();
58
+ this.subscriptionList?.unsubscribe();
59
+ clearInterval(this.intervalSortList);
60
+ }
61
+ async afterViewInit() {
62
+ let tentativas = 0;
63
+ let stop = false;
64
+ do {
65
+ tentativas++;
66
+ await delay(400);
67
+ if (this.sort || this.emptyListComponent) {
68
+ this.prepareSearch().then();
69
+ if (this.emptyListComponent)
70
+ stop = true;
71
+ }
72
+ else if (tentativas > 10) {
73
+ stop = true;
74
+ }
75
+ } while (!this.sort && !stop);
76
+ }
77
+ async prepareSearch() {
78
+ this.intervalSortList = setInterval(() => {
79
+ if (this.sort && !this.subscriptionSortList) {
80
+ this.subscriptionSortList = this.sort.sortChange.subscribe(() => {
81
+ const filter = this.filterParams.value ?? {};
82
+ filter.sort = this.sort?.active ?? '';
83
+ filter.order = this.sort?.direction ?? '';
84
+ this.filterParams.next(filter);
85
+ });
86
+ }
87
+ else if (!this.sort && this.subscriptionSortList) {
88
+ this.subscriptionSortList.unsubscribe();
89
+ }
90
+ }, 50);
91
+ if (this.typeRequest === 'onDemand') {
92
+ this.subscriptionList = merge(this.paginator?.page ?? new Observable(), this.filterParams).pipe(startWith({}), switchMap(() => new Observable(observe => {
93
+ this.loading(true);
94
+ this.selection.clear();
95
+ if (this.filterParams.value) {
96
+ this.filterParams.value.sort = this.sort?.active ?? this.config?.columnSort ?? '';
97
+ this.filterParams.value.order = this.sort?.direction ?? this.config?.sortDirection ?? '';
98
+ this.filterParams.value.page = this.paginator?.pageIndex ?? 0;
99
+ this.filterParams.value.limit = this.paginator?.pageSize ?? 30;
100
+ }
101
+ observe.next(true);
102
+ })), debounceTime(300), switchMap(() => this.runRequestFunction()), map((response) => {
103
+ this.loading(false);
104
+ return this.requestResponseFunction(response);
105
+ })).subscribe();
106
+ }
107
+ else {
108
+ if (this.paginator)
109
+ this.dataSource.paginator = this.paginator;
110
+ this.subscriptionList = this.filterParams.pipe(startWith({}), debounceTime(300), switchMap(() => this.runRequestFunction()), map((response) => {
111
+ this.loading(false);
112
+ return this.requestResponseFunction(response);
113
+ })).subscribe();
114
+ }
115
+ if (this.emptyListComponent) {
116
+ do {
117
+ await delay(301);
118
+ if (this.sort) {
119
+ if (this.typeRequest === "onDemand") {
120
+ this.sort.sortChange.subscribe(() => {
121
+ if (this.paginator)
122
+ this.paginator.pageIndex = 0;
123
+ });
124
+ }
125
+ else {
126
+ this.dataSource.sort = this.sort;
127
+ }
128
+ }
129
+ } while (!this.sort);
130
+ }
131
+ }
132
+ isAllSelected() {
133
+ const numSelected = this.selection.selected.length;
134
+ const numRows = (this.config?.disabledCheckboxItemList ?
135
+ this.dataSource.data.filter(item => !(this.config?.disabledCheckboxItemList
136
+ ? this.config.disabledCheckboxItemList(item)
137
+ : '')) :
138
+ this.dataSource.data).length;
139
+ return this.defineStatusSelectAll(numSelected === numRows);
140
+ }
141
+ runRequestFunction() {
142
+ return new Observable(observe => {
143
+ this.requestFunction().pipe(first()).subscribe({
144
+ next: response => observe.next(response),
145
+ error: err => {
146
+ if (this.errorListComponent) {
147
+ this.filterError$.next(err);
148
+ this.errorListComponent.data = err;
149
+ }
150
+ this.loading(false);
151
+ observe.next([]);
152
+ }
153
+ });
154
+ });
155
+ }
156
+ }
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5hYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3Qvc3JjL2xpYi9saXN0LmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt2RCxNQUFNLE9BQWdCLFlBQWEsU0FBUSxZQUFZO0lBcUJyRCxZQUNVLGVBQXNDLEVBQ3RDLHVCQUFrRCxFQUMxRCxVQUEyQjtRQUUzQixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFKVixvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUEyQjtRQXRCckQsY0FBUyxHQUFHLElBQUksY0FBYyxDQUFTLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxpQkFBWSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsZUFBVSxHQUFHLElBQUksa0JBQWtCLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDN0MsZ0JBQVcsR0FBdUIs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SixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1BYnN0cmFjdCB9IGZyb20gJ0Brb2FsYXJ4L3VpL2Zvcm0nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaXJzdCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IEtvYWxhTGlzdEZvcm1GaWx0ZXJJbnRlcmZhY2UgfSBmcm9tICcuL2tvYWxhLWxpc3QtZm9ybS1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY0NvbXBvbmVudCB9IGZyb20gXCJAa29hbGFyeC91aS9keW5hbWljLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHMvb3BlcmF0b3JzL2RlbGF5XCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RDb25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi9rb2FsYS5saXN0LWNvbmZpZy5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IHR5cGUgS29hbGFMaXN0UGFnZVNpemUgPSAxMCB8IDIwIHwgMzAgfCA1MCB8IDEwMDtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RBYnN0cmFjdCBleHRlbmRzIEZvcm1BYnN0cmFjdCB7XG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8b2JqZWN0Pih0cnVlLCBbXSk7XG4gIHB1YmxpYyBsaW1pdE9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyMCwgMzAsIDUwLCAxMDBdO1xuICBwdWJsaWMgc2hvd01lbnVMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBhbGxTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPGFueT4oW10pO1xuICBwdWJsaWMgdHlwZVJlcXVlc3Q6ICdhbGwnIHwgJ29uRGVtYW5kJyA9ICdvbkRlbWFuZCc7XG4gIHB1YmxpYyBmaWx0ZXJQYXJhbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhTGlzdEZvcm1GaWx0ZXJJbnRlcmZhY2V8bnVsbD4obnVsbCk7XG4gIHB1YmxpYyBmaWx0ZXJFcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gIHB1YmxpYyBlbXB0eUxpc3RDb21wb25lbnQ/OiBLb2FsYUR5bmFtaWNDb21wb25lbnQ7XG4gIHB1YmxpYyBlcnJvckxpc3RDb21wb25lbnQ/OiBLb2FsYUR5bmFtaWNDb21wb25lbnQ7XG4gIHB1YmxpYyBwYWdlU2l6ZTogS29hbGFMaXN0UGFnZVNpemU7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZz86IEtvYWxhTGlzdENvbmZpZ0ludGVyZmFjZTtcbiAgcHJvdGVjdGVkIHBhZ2luYXRvcj86IE1hdFBhZ2luYXRvcjtcbiAgcHJvdGVjdGVkIHNvcnQ/OiBNYXRTb3J0O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uTGlzdD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Tb3J0TGlzdD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBpbnRlcnZhbFNvcnRMaXN0OiBhbnk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVxdWVzdEZ1bmN0aW9uOiAoKSA9PiBPYnNlcnZhYmxlPGFueT4sXG4gICAgcHJpdmF0ZSByZXF1ZXN0UmVzcG9uc2VGdW5jdGlvbjogPFQ+KHJlc3VsdHM6IFRbXSkgPT4gdm9pZCxcbiAgICBmb3JtU2VhcmNoOiAoKSA9PiBGb3JtR3JvdXBcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVNlYXJjaCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpID9cbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAodGhpcy5jb25maWc/LmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdCAmJiAhdGhpcy5jb25maWcuZGlzYWJsZWRDaGVja2JveEl0ZW1MaXN0KGl0ZW0pKSB8fFxuICAgICAgICAhdGhpcy5jb25maWc/LmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdChpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpO1xuICB9XG5cbiAgcHVibGljIGRlZmluZVN0YXR1c1NlbGVjdEFsbChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFsbFNlbGVjdGVkJC5uZXh0KHN0YXR1cyk7XG4gICAgcmV0dXJuIHRoaXMuYWxsU2VsZWN0ZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd01lbnVMaXN0ID0gdGhpcy5zZWxlY3Rpb24uaGFzVmFsdWUoKTtcbiAgICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZWFyY2goZmlsdGVyPzogYW55KSB7XG4gICAgdGhpcy5sb2FkaW5nKHRydWUpO1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLnBhZ2luYXRvci5maXJzdFBhZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJQYXJhbXMubmV4dCh7XG4gICAgICBwYXJhbXM6IGZpbHRlcixcbiAgICAgIHNvcnQ6IHRoaXMuc29ydD8uYWN0aXZlID8/ICcnLFxuICAgICAgb3JkZXI6IHRoaXMuc29ydD8uZGlyZWN0aW9uID8/ICdhc2MnLFxuICAgICAgcGFnZTogdGhpcy5wYWdpbmF0b3I/LnBhZ2VJbmRleCA/PyAwLFxuICAgICAgbGltaXQ6IHRoaXMucGFnaW5hdG9yPy5wYWdlU2l6ZSA/PyAzMFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblNvcnRMaXN0Py51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uTGlzdD8udW5zdWJzY3JpYmUoKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxTb3J0TGlzdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBsZXQgdGVudGF0aXZhcyA9IDA7XG4gICAgbGV0IHN0b3AgPSBmYWxzZTtcbiAgICBkbyB7XG4gICAgICB0ZW50YXRpdmFzKys7XG4gICAgICBhd2FpdCBkZWxheSg0MDApO1xuICAgICAgaWYgKHRoaXMuc29ydCB8fCB0aGlzLmVtcHR5TGlzdENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnByZXBhcmVTZWFyY2goKS50aGVuKCk7XG4gICAgICAgIGlmICh0aGlzLmVtcHR5TGlzdENvbXBvbmVudCkgc3RvcCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRlbnRhdGl2YXMgPiAxMCkge1xuICAgICAgICBzdG9wID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghdGhpcy5zb3J0ICYmICFzdG9wKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVNlYXJjaCgpIHtcbiAgICB0aGlzLmludGVydmFsU29ydExpc3QgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zb3J0ICYmICF0aGlzLnN1YnNjcmlwdGlvblNvcnRMaXN0KSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uU29ydExpc3QgPSB0aGlzLnNvcnQuc29ydENoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyUGFyYW1zLnZhbHVlID8/IHt9IGFzIGFueTtcbiAgICAgICAgICBmaWx0ZXIuc29ydCA9IHRoaXMuc29ydD8uYWN0aXZlID8/ICcnO1xuICAgICAgICAgIGZpbHRlci5vcmRlciA9IHRoaXMuc29ydD8uZGlyZWN0aW9uID8/ICcnO1xuICAgICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zLm5leHQoZmlsdGVyKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnNvcnQgJiYgdGhpcy5zdWJzY3JpcHRpb25Tb3J0TGlzdCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblNvcnRMaXN0LnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSwgNTApO1xuXG4gICAgaWYgKHRoaXMudHlwZVJlcXVlc3QgPT09ICdvbkRlbWFuZCcpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTGlzdCA9IG1lcmdlKHRoaXMucGFnaW5hdG9yPy5wYWdlID8/IG5ldyBPYnNlcnZhYmxlKCksIHRoaXMuZmlsdGVyUGFyYW1zKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgoe30pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nKHRydWUpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgICAgaWYgKHRoaXMuZmlsdGVyUGFyYW1zLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcy52YWx1ZS5zb3J0ID0gdGhpcy5zb3J0Py5hY3RpdmUgPz8gdGhpcy5jb25maWc/LmNvbHVtblNvcnQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcy52YWx1ZS5vcmRlciA9IHRoaXMuc29ydD8uZGlyZWN0aW9uID8/IHRoaXMuY29uZmlnPy5zb3J0RGlyZWN0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJQYXJhbXMudmFsdWUucGFnZSA9IHRoaXMucGFnaW5hdG9yPy5wYWdlSW5kZXggPz8gMDtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zLnZhbHVlLmxpbWl0ID0gdGhpcy5wYWdpbmF0b3I/LnBhZ2VTaXplID8/IDMwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYnNlcnZlLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJ1blJlcXVlc3RGdW5jdGlvbigpKSxcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdFJlc3BvbnNlRnVuY3Rpb24ocmVzcG9uc2UpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbkxpc3QgPSB0aGlzLmZpbHRlclBhcmFtcy5waXBlKFxuICAgICAgICBzdGFydFdpdGgoe30pLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucnVuUmVxdWVzdEZ1bmN0aW9uKCkpLFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0UmVzcG9uc2VGdW5jdGlvbihyZXNwb25zZSk7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVtcHR5TGlzdENvbXBvbmVudCkge1xuICAgICAgZG8ge1xuICAgICAgICBhd2FpdCBkZWxheSgzMDEpO1xuICAgICAgICBpZiAodGhpcy5zb3J0KSB7XG4gICAgICAgICAgaWYgKHRoaXMudHlwZVJlcXVlc3QgPT09IFwib25EZW1hbmRcIikge1xuICAgICAgICAgICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXggPSAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IHdoaWxlICghdGhpcy5zb3J0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgbnVtUm93cyA9ICh0aGlzLmNvbmZpZz8uZGlzYWJsZWRDaGVja2JveEl0ZW1MaXN0ID9cbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbHRlcihpdGVtID0+ICEodGhpcy5jb25maWc/LmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuY29uZmlnLmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdChpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnKSkgOlxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEpLmxlbmd0aDtcblxuICAgIHJldHVybiB0aGlzLmRlZmluZVN0YXR1c1NlbGVjdEFsbChudW1TZWxlY3RlZCA9PT0gbnVtUm93cyk7XG4gIH1cblxuICBwcml2YXRlIHJ1blJlcXVlc3RGdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8dW5rbm93bltdPihvYnNlcnZlID0+IHtcbiAgICAgIHRoaXMucmVxdWVzdEZ1bmN0aW9uKCkucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZXNwb25zZSA9PiBvYnNlcnZlLm5leHQocmVzcG9uc2UpLFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5lcnJvckxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRXJyb3IkLm5leHQoZXJyKTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JMaXN0Q29tcG9uZW50LmRhdGEgPSBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KFtdKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG4iXX0=