@koalarx/ui 12.4.1 → 12.4.2

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 (551) hide show
  1. package/alert/README.md +24 -0
  2. package/alert/bundles/koalarx-ui-alert.umd.js +153 -0
  3. package/alert/bundles/koalarx-ui-alert.umd.js.map +1 -0
  4. package/alert/esm2015/index.js +7 -0
  5. package/alert/esm2015/koalarx-ui-alert.js +5 -0
  6. package/alert/esm2015/lib/dialog-alert.component.js +43 -0
  7. package/alert/esm2015/lib/koala.alert-config.interface.js +2 -0
  8. package/alert/esm2015/lib/koala.alert.enum.js +9 -0
  9. package/alert/esm2015/lib/koala.alert.module.js +31 -0
  10. package/alert/esm2015/lib/koala.alert.service.js +21 -0
  11. package/alert/esm2015/lib/koala.request-code-to-alert-enum.translate.js +18 -0
  12. package/alert/fesm2015/koalarx-ui-alert.js +121 -0
  13. package/alert/fesm2015/koalarx-ui-alert.js.map +1 -0
  14. package/alert/index.d.ts +6 -6
  15. package/alert/koalarx-ui-alert.d.ts +4 -0
  16. package/alert/koalarx-ui-alert.metadata.json +1 -0
  17. package/alert/lib/dialog-alert.component.d.ts +7 -0
  18. package/alert/{koala.alert-config.interface.d.ts → lib/koala.alert-config.interface.d.ts} +1 -1
  19. package/alert/{koala.alert.enum.d.ts → lib/koala.alert.enum.d.ts} +0 -0
  20. package/alert/lib/koala.alert.module.d.ts +2 -0
  21. package/alert/{koala.alert.service.d.ts → lib/koala.alert.service.d.ts} +1 -4
  22. package/alert/{koala.request-code-to-alert-enum.translate.d.ts → lib/koala.request-code-to-alert-enum.translate.d.ts} +0 -0
  23. package/alert/package.json +19 -0
  24. package/button/bundles/koalarx-ui-button.umd.js +71 -0
  25. package/button/bundles/koalarx-ui-button.umd.js.map +1 -0
  26. package/button/esm2015/index.js +3 -0
  27. package/button/esm2015/koalarx-ui-button.js +5 -0
  28. package/button/esm2015/lib/button.component.js +31 -0
  29. package/button/esm2015/lib/koala.button.module.js +27 -0
  30. package/button/fesm2015/koalarx-ui-button.js +63 -0
  31. package/button/fesm2015/koalarx-ui-button.js.map +1 -0
  32. package/button/index.d.ts +2 -2
  33. package/button/koalarx-ui-button.d.ts +4 -0
  34. package/button/koalarx-ui-button.metadata.json +1 -0
  35. package/button/lib/button.component.d.ts +13 -0
  36. package/button/lib/koala.button.module.d.ts +2 -0
  37. package/button/package.json +19 -0
  38. package/core/README.md +24 -0
  39. package/core/bundles/koalarx-ui-core.umd.js +1821 -0
  40. package/core/bundles/koalarx-ui-core.umd.js.map +1 -0
  41. package/core/esm2015/index.js +51 -0
  42. package/core/esm2015/koalarx-ui-core.js +7 -0
  43. package/core/esm2015/lib/environments/koalaEnvironment.js +4 -0
  44. package/core/esm2015/lib/loader/loader-bar-page.component.js +22 -0
  45. package/core/esm2015/lib/loader/loader-bar-page.interface.js +2 -0
  46. package/core/esm2015/lib/loader/loader-config.interface.js +2 -0
  47. package/core/esm2015/lib/mask-options.js +4 -0
  48. package/core/esm2015/lib/ngx-koala.module.js +35 -0
  49. package/core/esm2015/lib/page/koala-language.helper.js +114 -0
  50. package/core/esm2015/lib/page/koala-oauth2-config.interface.js +2 -0
  51. package/core/esm2015/lib/page/koala-page-pallet-colors.interface.js +2 -0
  52. package/core/esm2015/lib/page/koala.page.module.js +46 -0
  53. package/core/esm2015/lib/page/koala.user-menu-options.interface.js +2 -0
  54. package/core/esm2015/lib/page/notifications/koala.notification.interface.js +2 -0
  55. package/core/esm2015/lib/page/notifications/notification.component.js +43 -0
  56. package/core/esm2015/lib/page/page.component.js +396 -0
  57. package/core/esm2015/lib/router/koala.parameter-hash-location-stategy.js +16 -0
  58. package/core/esm2015/lib/services/api-requester/factory/koala.response.factory.js +48 -0
  59. package/core/esm2015/lib/services/api-requester/helpers/error/koala.client.error.js +3 -0
  60. package/core/esm2015/lib/services/api-requester/helpers/error/koala.errors.helper.js +46 -0
  61. package/core/esm2015/lib/services/api-requester/helpers/error/koala.not-found.error.js +3 -0
  62. package/core/esm2015/lib/services/api-requester/helpers/error/koala.success.error.js +3 -0
  63. package/core/esm2015/lib/services/api-requester/helpers/error/koala.unhautorized.error.js +3 -0
  64. package/core/esm2015/lib/services/api-requester/helpers/service/koala.request-header.helper.js +15 -0
  65. package/core/esm2015/lib/services/api-requester/koala.api-requester.base.js +70 -0
  66. package/{esm2015/core → core/esm2015/lib}/services/api-requester/koala.api-requester.service.js +11 -8
  67. package/core/esm2015/lib/services/csv/koala.csv.service.js +38 -0
  68. package/core/esm2015/lib/services/loader/koala.loader.service.js +32 -0
  69. package/core/esm2015/lib/services/openid/koala.oauth.config.js +33 -0
  70. package/core/esm2015/lib/services/openid/koala.oauth2.service.js +196 -0
  71. package/core/esm2015/lib/services/request/koala.request.service.js +53 -0
  72. package/core/esm2015/lib/services/token/koala.token.service.js +52 -0
  73. package/core/esm2015/lib/services/token/token.factory.js +31 -0
  74. package/core/esm2015/lib/services/xlsx/koala.xlsx-config.interface.js +2 -0
  75. package/core/esm2015/lib/services/xlsx/koala.xlsx.service.js +61 -0
  76. package/core/fesm2015/koalarx-ui-core.js +1434 -0
  77. package/core/fesm2015/koalarx-ui-core.js.map +1 -0
  78. package/core/index.d.ts +24 -27
  79. package/core/koalarx-ui-core.d.ts +6 -0
  80. package/core/koalarx-ui-core.metadata.json +1 -0
  81. package/core/{environments → lib/environments}/koalaEnvironment.d.ts +0 -0
  82. package/core/lib/loader/loader-bar-page.component.d.ts +5 -0
  83. package/core/{loader → lib/loader}/loader-bar-page.interface.d.ts +0 -0
  84. package/core/{loader → lib/loader}/loader-config.interface.d.ts +0 -0
  85. package/core/{mask-options.d.ts → lib/mask-options.d.ts} +0 -0
  86. package/core/lib/ngx-koala.module.d.ts +5 -0
  87. package/core/{page → lib/page}/koala-language.helper.d.ts +0 -0
  88. package/core/{page → lib/page}/koala-oauth2-config.interface.d.ts +0 -0
  89. package/core/{page → lib/page}/koala-page-pallet-colors.interface.d.ts +0 -0
  90. package/core/lib/page/koala.page.module.d.ts +2 -0
  91. package/core/{page → lib/page}/koala.user-menu-options.interface.d.ts +0 -0
  92. package/core/{page → lib/page}/notifications/koala.notification.interface.d.ts +0 -0
  93. package/core/{page → lib/page}/notifications/notification.component.d.ts +0 -3
  94. package/core/{page → lib/page}/page.component.d.ts +1 -4
  95. package/core/lib/router/koala.parameter-hash-location-stategy.d.ts +4 -0
  96. package/core/{services → lib/services}/api-requester/factory/koala.response.factory.d.ts +0 -0
  97. package/core/{services → lib/services}/api-requester/helpers/error/koala.client.error.d.ts +0 -0
  98. package/core/{services → lib/services}/api-requester/helpers/error/koala.errors.helper.d.ts +1 -1
  99. package/core/{services → lib/services}/api-requester/helpers/error/koala.not-found.error.d.ts +0 -0
  100. package/core/{services → lib/services}/api-requester/helpers/error/koala.success.error.d.ts +0 -0
  101. package/core/{services → lib/services}/api-requester/helpers/error/koala.unhautorized.error.d.ts +0 -0
  102. package/core/{services → lib/services}/api-requester/helpers/service/koala.request-header.helper.d.ts +0 -0
  103. package/core/{services → lib/services}/api-requester/koala.api-requester.base.d.ts +2 -8
  104. package/core/{services → lib/services}/api-requester/koala.api-requester.service.d.ts +0 -3
  105. package/core/{services → lib/services}/csv/koala.csv.service.d.ts +0 -3
  106. package/core/{services → lib/services}/loader/koala.loader.service.d.ts +0 -3
  107. package/core/{services → lib/services}/openid/koala.oauth.config.d.ts +0 -0
  108. package/core/{services → lib/services}/openid/koala.oauth2.service.d.ts +0 -3
  109. package/core/{services → lib/services}/request/koala.request.service.d.ts +1 -4
  110. package/core/{services → lib/services}/token/koala.token.service.d.ts +0 -3
  111. package/core/{services → lib/services}/token/token.factory.d.ts +0 -0
  112. package/core/{services → lib/services}/xlsx/koala.xlsx-config.interface.d.ts +0 -0
  113. package/core/{services → lib/services}/xlsx/koala.xlsx.service.d.ts +0 -3
  114. package/core/package.json +19 -0
  115. package/{theme → core/theme}/koala.theme.css +0 -0
  116. package/dialog/README.md +24 -0
  117. package/dialog/bundles/koalarx-ui-dialog.umd.js +139 -0
  118. package/dialog/bundles/koalarx-ui-dialog.umd.js.map +1 -0
  119. package/dialog/esm2015/index.js +4 -0
  120. package/dialog/esm2015/koalarx-ui-dialog.js +5 -0
  121. package/dialog/esm2015/lib/dialog.component.js +18 -0
  122. package/dialog/esm2015/lib/koala.dialog-template.interface.js +2 -0
  123. package/dialog/esm2015/lib/koala.dialog.module.js +25 -0
  124. package/dialog/esm2015/lib/koala.dialog.service.js +61 -0
  125. package/dialog/fesm2015/koalarx-ui-dialog.js +107 -0
  126. package/dialog/fesm2015/koalarx-ui-dialog.js.map +1 -0
  127. package/dialog/index.d.ts +3 -3
  128. package/dialog/koalarx-ui-dialog.d.ts +4 -0
  129. package/dialog/koalarx-ui-dialog.metadata.json +1 -0
  130. package/dialog/lib/dialog.component.d.ts +8 -0
  131. package/dialog/{koala.dialog-template.interface.d.ts → lib/koala.dialog-template.interface.d.ts} +0 -0
  132. package/dialog/lib/koala.dialog.module.d.ts +2 -0
  133. package/dialog/{koala.dialog.service.d.ts → lib/koala.dialog.service.d.ts} +0 -3
  134. package/dialog/package.json +19 -0
  135. package/dynamic-component/README.md +24 -0
  136. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js +95 -0
  137. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js.map +1 -0
  138. package/dynamic-component/esm2015/index.js +6 -0
  139. package/dynamic-component/esm2015/koalarx-ui-dynamic-component.js +5 -0
  140. package/dynamic-component/esm2015/lib/koala-dynamic-component.component.js +2 -0
  141. package/dynamic-component/esm2015/lib/koala-dynamic-component.directive.js +15 -0
  142. package/dynamic-component/esm2015/lib/koala-dynamic-component.factory.js +38 -0
  143. package/dynamic-component/esm2015/lib/koala-dynamic-component.js +7 -0
  144. package/dynamic-component/esm2015/lib/koala-dynamic-component.module.js +17 -0
  145. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js +79 -0
  146. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js.map +1 -0
  147. package/dynamic-component/index.d.ts +5 -5
  148. package/dynamic-component/koalarx-ui-dynamic-component.d.ts +4 -0
  149. package/dynamic-component/koalarx-ui-dynamic-component.metadata.json +1 -0
  150. package/dynamic-component/{koala-dynamic-component.component.d.ts → lib/koala-dynamic-component.component.d.ts} +0 -0
  151. package/dynamic-component/{koala-dynamic-component.d.ts → lib/koala-dynamic-component.d.ts} +0 -0
  152. package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +5 -0
  153. package/dynamic-component/{koala-dynamic-component.factory.d.ts → lib/koala-dynamic-component.factory.d.ts} +2 -5
  154. package/dynamic-component/lib/koala-dynamic-component.module.d.ts +2 -0
  155. package/dynamic-component/package.json +19 -0
  156. package/file-button/README.md +24 -0
  157. package/file-button/bundles/koalarx-ui-file-button.umd.js +553 -0
  158. package/file-button/bundles/koalarx-ui-file-button.umd.js.map +1 -0
  159. package/file-button/esm2015/index.js +5 -0
  160. package/file-button/esm2015/koalarx-ui-file-button.js +5 -0
  161. package/file-button/esm2015/lib/file-button.component.js +118 -0
  162. package/file-button/esm2015/lib/koala.btn-file.service.js +26 -0
  163. package/file-button/esm2015/lib/koala.file-button.module.js +25 -0
  164. package/file-button/esm2015/lib/koala.file.interface.js +2 -0
  165. package/file-button/fesm2015/koalarx-ui-file-button.js +171 -0
  166. package/file-button/fesm2015/koalarx-ui-file-button.js.map +1 -0
  167. package/file-button/index.d.ts +4 -4
  168. package/file-button/koalarx-ui-file-button.d.ts +4 -0
  169. package/file-button/koalarx-ui-file-button.metadata.json +1 -0
  170. package/file-button/lib/file-button.component.d.ts +26 -0
  171. package/file-button/{koala.btn-file.service.d.ts → lib/koala.btn-file.service.d.ts} +1 -4
  172. package/file-button/lib/koala.file-button.module.d.ts +2 -0
  173. package/file-button/{koala.file.interface.d.ts → lib/koala.file.interface.d.ts} +0 -0
  174. package/file-button/package.json +19 -0
  175. package/folder-page/README.md +24 -0
  176. package/folder-page/bundles/koalarx-ui-folder-page.umd.js +97 -0
  177. package/folder-page/bundles/koalarx-ui-folder-page.umd.js.map +1 -0
  178. package/folder-page/esm2015/index.js +4 -0
  179. package/folder-page/esm2015/koalarx-ui-folder-page.js +5 -0
  180. package/folder-page/esm2015/lib/folder.component.js +56 -0
  181. package/folder-page/esm2015/lib/koala-navigate-history.interface.js +2 -0
  182. package/folder-page/esm2015/lib/koala.folder-page.module.js +27 -0
  183. package/folder-page/fesm2015/koalarx-ui-folder-page.js +88 -0
  184. package/folder-page/fesm2015/koalarx-ui-folder-page.js.map +1 -0
  185. package/folder-page/index.d.ts +3 -2
  186. package/folder-page/koalarx-ui-folder-page.d.ts +4 -0
  187. package/folder-page/koalarx-ui-folder-page.metadata.json +1 -0
  188. package/folder-page/lib/folder.component.d.ts +17 -0
  189. package/folder-page/{koala-navigate-history.interface.d.ts → lib/koala-navigate-history.interface.d.ts} +0 -0
  190. package/folder-page/lib/koala.folder-page.module.d.ts +2 -0
  191. package/folder-page/package.json +19 -0
  192. package/form/README.md +24 -0
  193. package/form/bundles/koalarx-ui-form.umd.js +1949 -0
  194. package/form/bundles/koalarx-ui-form.umd.js.map +1 -0
  195. package/form/esm2015/index.js +20 -0
  196. package/form/esm2015/koalarx-ui-form.js +5 -0
  197. package/form/esm2015/lib/btn-submit/btn-submit.component.js +39 -0
  198. package/form/esm2015/lib/directives/koala-autofocus.directive.js +25 -0
  199. package/form/esm2015/lib/dynamic-form/builder/dynamic-form.builder.js +138 -0
  200. package/form/esm2015/lib/dynamic-form/builder/fields/autocomplete.builder.js +34 -0
  201. package/form/esm2015/lib/dynamic-form/builder/fields/field.base.js +147 -0
  202. package/form/esm2015/lib/dynamic-form/builder/fields/field.builder.js +7 -0
  203. package/form/esm2015/lib/dynamic-form/builder/fields/more-items.builder.js +57 -0
  204. package/form/esm2015/lib/dynamic-form/dynamic-form.component.js +551 -0
  205. package/{esm2015/form → form/esm2015/lib}/dynamic-form/enums/dynamic-form-type-field.enum.js +1 -1
  206. package/form/esm2015/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.js +2 -0
  207. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js +2 -0
  208. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js +2 -0
  209. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.js +2 -0
  210. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.js +2 -0
  211. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js +2 -0
  212. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js +2 -0
  213. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.js +2 -0
  214. package/{esm2015/form → form/esm2015/lib}/dynamic-form/koala.dynamic-form.service.js +11 -8
  215. package/form/esm2015/lib/dynamic-form/validators/autocomplete-selected.validator.js +10 -0
  216. package/form/esm2015/lib/dynamic-form/validators/cnpj.validator.js +10 -0
  217. package/form/esm2015/lib/dynamic-form/validators/cpf.validator.js +10 -0
  218. package/form/esm2015/lib/dynamic-form/validators/date-max.validator.js +11 -0
  219. package/form/esm2015/lib/dynamic-form/validators/date-min.validator.js +11 -0
  220. package/form/esm2015/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js +10 -0
  221. package/form/esm2015/lib/dynamic-form/validators/validation.helper.js +86 -0
  222. package/form/esm2015/lib/form.abstract.js +42 -0
  223. package/form/esm2015/lib/koala.form.module.js +69 -0
  224. package/form/esm2015/lib/show-invalid-fields/show-invalid-fields.js +9 -0
  225. package/form/fesm2015/koalarx-ui-form.js +1465 -0
  226. package/form/fesm2015/koalarx-ui-form.js.map +1 -0
  227. package/form/index.d.ts +19 -17
  228. package/form/koalarx-ui-form.d.ts +4 -0
  229. package/form/koalarx-ui-form.metadata.json +1 -0
  230. package/form/{btn-submit → lib/btn-submit}/btn-submit.component.d.ts +1 -4
  231. package/form/lib/directives/koala-autofocus.directive.d.ts +7 -0
  232. package/form/{dynamic-form → lib/dynamic-form}/builder/dynamic-form.builder.d.ts +0 -0
  233. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/autocomplete.builder.d.ts +0 -0
  234. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/field.base.d.ts +0 -0
  235. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/field.builder.d.ts +0 -0
  236. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/more-items.builder.d.ts +0 -0
  237. package/form/{dynamic-form → lib/dynamic-form}/dynamic-form.component.d.ts +2 -5
  238. package/form/{dynamic-form → lib/dynamic-form}/enums/dynamic-form-type-field.enum.d.ts +0 -0
  239. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala-custom-validator-fn.interface.d.ts +0 -0
  240. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-autocomplete-options.interface.d.ts +0 -0
  241. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.d.ts +0 -0
  242. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-config.interface.d.ts +0 -0
  243. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-field.interface.d.ts +0 -0
  244. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.d.ts +0 -0
  245. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-show-field.interface.d.ts +0 -0
  246. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-set-value.interface.d.ts +0 -0
  247. package/form/{dynamic-form → lib/dynamic-form}/koala.dynamic-form.service.d.ts +0 -3
  248. package/form/{dynamic-form → lib/dynamic-form}/validators/autocomplete-selected.validator.d.ts +0 -0
  249. package/form/{dynamic-form → lib/dynamic-form}/validators/cnpj.validator.d.ts +0 -0
  250. package/form/{dynamic-form → lib/dynamic-form}/validators/cpf.validator.d.ts +0 -0
  251. package/form/{dynamic-form → lib/dynamic-form}/validators/date-max.validator.d.ts +0 -0
  252. package/form/{dynamic-form → lib/dynamic-form}/validators/date-min.validator.d.ts +0 -0
  253. package/form/{dynamic-form → lib/dynamic-form}/validators/koala-dynamic-form-validator-result.helper.d.ts +0 -0
  254. package/form/{dynamic-form → lib/dynamic-form}/validators/validation.helper.d.ts +0 -0
  255. package/{core → form/lib}/form.abstract.d.ts +1 -1
  256. package/form/lib/koala.form.module.d.ts +2 -0
  257. package/form/{show-invalid-fields → lib/show-invalid-fields}/show-invalid-fields.d.ts +0 -0
  258. package/form/package.json +19 -0
  259. package/icon/bundles/koalarx-ui-icon.umd.js +76 -0
  260. package/icon/bundles/koalarx-ui-icon.umd.js.map +1 -0
  261. package/icon/esm2015/index.js +3 -0
  262. package/icon/esm2015/koalarx-ui-icon.js +5 -0
  263. package/icon/esm2015/lib/icon.component.js +45 -0
  264. package/icon/esm2015/lib/koala.icon.module.js +19 -0
  265. package/icon/fesm2015/koalarx-ui-icon.js +69 -0
  266. package/icon/fesm2015/koalarx-ui-icon.js.map +1 -0
  267. package/icon/index.d.ts +2 -2
  268. package/icon/koalarx-ui-icon.d.ts +4 -0
  269. package/icon/koalarx-ui-icon.metadata.json +1 -0
  270. package/icon/{icon.component.d.ts → lib/icon.component.d.ts} +3 -6
  271. package/icon/lib/koala.icon.module.d.ts +2 -0
  272. package/icon/package.json +19 -0
  273. package/icons-animated/README.md +24 -0
  274. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js +138 -0
  275. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js.map +1 -0
  276. package/icons-animated/esm2015/index.js +5 -0
  277. package/icons-animated/esm2015/koalarx-ui-icons-animated.js +6 -0
  278. package/icons-animated/esm2015/lib/icons/downloading/downloading-icon-animated.component.js +28 -0
  279. package/icons-animated/esm2015/lib/icons/loading/loading-icon-animated.component.js +28 -0
  280. package/icons-animated/esm2015/lib/icons-animated.component.js +15 -0
  281. package/icons-animated/esm2015/lib/icons-animated.service.js +29 -0
  282. package/icons-animated/esm2015/lib/koala-icons-animated.module.js +23 -0
  283. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js +121 -0
  284. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js.map +1 -0
  285. package/icons-animated/index.d.ts +4 -4
  286. package/icons-animated/koalarx-ui-icons-animated.d.ts +5 -0
  287. package/icons-animated/koalarx-ui-icons-animated.metadata.json +1 -0
  288. package/icons-animated/{icons → lib/icons}/downloading/downloading-icon-animated.component.d.ts +0 -3
  289. package/icons-animated/{icons → lib/icons}/loading/loading-icon-animated.component.d.ts +0 -3
  290. package/icons-animated/lib/icons-animated.component.d.ts +5 -0
  291. package/icons-animated/lib/icons-animated.service.d.ts +6 -0
  292. package/icons-animated/lib/koala-icons-animated.module.d.ts +2 -0
  293. package/icons-animated/package.json +19 -0
  294. package/list/README.md +24 -0
  295. package/list/bundles/koalarx-ui-list.umd.js +882 -0
  296. package/list/bundles/koalarx-ui-list.umd.js.map +1 -0
  297. package/list/esm2015/index.js +11 -0
  298. package/list/esm2015/koalarx-ui-list.js +5 -0
  299. package/list/esm2015/lib/koala-list-filter.interface.js +2 -0
  300. package/list/esm2015/lib/koala-list-form-filter.interface.js +2 -0
  301. package/list/esm2015/lib/koala-list-item-menu-option.interface.js +2 -0
  302. package/list/esm2015/lib/koala-list-item.interface.js +2 -0
  303. package/list/esm2015/lib/koala.list-config.interface.js +2 -0
  304. package/list/esm2015/lib/koala.list.module.js +40 -0
  305. package/list/esm2015/lib/koala.list.service.js +13 -0
  306. package/list/esm2015/lib/list-builder/list.builder.js +85 -0
  307. package/list/esm2015/lib/list.abstract.js +174 -0
  308. package/list/esm2015/lib/list.component.js +151 -0
  309. package/list/esm2015/lib/providers/pagination/pagination.provider.js +30 -0
  310. package/list/fesm2015/koalarx-ui-list.js +481 -0
  311. package/list/fesm2015/koalarx-ui-list.js.map +1 -0
  312. package/list/index.d.ts +10 -9
  313. package/list/koalarx-ui-list.d.ts +4 -0
  314. package/list/koalarx-ui-list.metadata.json +1 -0
  315. package/list/{koala-list-filter.interface.d.ts → lib/koala-list-filter.interface.d.ts} +1 -1
  316. package/list/{koala-list-form-filter.interface.d.ts → lib/koala-list-form-filter.interface.d.ts} +0 -0
  317. package/list/{koala-list-item-menu-option.interface.d.ts → lib/koala-list-item-menu-option.interface.d.ts} +0 -0
  318. package/list/{koala-list-item.interface.d.ts → lib/koala-list-item.interface.d.ts} +1 -1
  319. package/list/{koala.list-config.interface.d.ts → lib/koala.list-config.interface.d.ts} +2 -2
  320. package/list/lib/koala.list.module.d.ts +2 -0
  321. package/list/lib/koala.list.service.d.ts +4 -0
  322. package/list/{list-builder → lib/list-builder}/list.builder.d.ts +1 -1
  323. package/list/{list.abstract.d.ts → lib/list.abstract.d.ts} +7 -7
  324. package/list/{list.component.d.ts → lib/list.component.d.ts} +12 -15
  325. package/{core → list/lib}/providers/pagination/pagination.provider.d.ts +0 -3
  326. package/list/package.json +19 -0
  327. package/menu/README.md +24 -0
  328. package/menu/bundles/koalarx-ui-menu.umd.js +511 -0
  329. package/menu/bundles/koalarx-ui-menu.umd.js.map +1 -0
  330. package/menu/esm2015/index.js +6 -0
  331. package/menu/esm2015/koalarx-ui-menu.js +5 -0
  332. package/menu/esm2015/lib/koala.menu-module.interface.js +2 -0
  333. package/menu/esm2015/lib/koala.menu-tool.interface.js +2 -0
  334. package/menu/esm2015/lib/koala.menu.module.js +25 -0
  335. package/menu/esm2015/lib/koala.menu.service.js +22 -0
  336. package/menu/esm2015/lib/menu.component.js +104 -0
  337. package/menu/fesm2015/koalarx-ui-menu.js +153 -0
  338. package/menu/fesm2015/koalarx-ui-menu.js.map +1 -0
  339. package/menu/index.d.ts +5 -5
  340. package/menu/koalarx-ui-menu.d.ts +4 -0
  341. package/menu/koalarx-ui-menu.metadata.json +1 -0
  342. package/menu/{koala.menu-module.interface.d.ts → lib/koala.menu-module.interface.d.ts} +0 -0
  343. package/menu/{koala.menu-tool.interface.d.ts → lib/koala.menu-tool.interface.d.ts} +0 -0
  344. package/menu/lib/koala.menu.module.d.ts +2 -0
  345. package/menu/lib/koala.menu.service.d.ts +7 -0
  346. package/menu/{menu.component.d.ts → lib/menu.component.d.ts} +4 -6
  347. package/menu/package.json +19 -0
  348. package/package.json +3 -12
  349. package/question/README.md +24 -0
  350. package/question/bundles/koalarx-ui-question.umd.js +104 -0
  351. package/question/bundles/koalarx-ui-question.umd.js.map +1 -0
  352. package/question/esm2015/index.js +5 -0
  353. package/question/esm2015/koalarx-ui-question.js +5 -0
  354. package/question/esm2015/lib/dialog-question.component.js +20 -0
  355. package/question/esm2015/lib/koala-question-config.interface.js +2 -0
  356. package/question/esm2015/lib/koala.question.module.js +27 -0
  357. package/question/esm2015/lib/koala.question.service.js +28 -0
  358. package/question/fesm2015/koalarx-ui-question.js +77 -0
  359. package/question/fesm2015/koalarx-ui-question.js.map +1 -0
  360. package/question/index.d.ts +4 -4
  361. package/question/koalarx-ui-question.d.ts +4 -0
  362. package/question/koalarx-ui-question.metadata.json +1 -0
  363. package/question/lib/dialog-question.component.d.ts +7 -0
  364. package/question/{koala-question-config.interface.d.ts → lib/koala-question-config.interface.d.ts} +1 -1
  365. package/question/lib/koala.question.module.d.ts +2 -0
  366. package/question/{koala.question.service.d.ts → lib/koala.question.service.d.ts} +1 -4
  367. package/question/package.json +19 -0
  368. package/snackbar/README.md +24 -0
  369. package/snackbar/bundles/koalarx-ui-snackbar.umd.js +93 -0
  370. package/snackbar/bundles/koalarx-ui-snackbar.umd.js.map +1 -0
  371. package/snackbar/esm2015/index.js +5 -0
  372. package/snackbar/esm2015/koalarx-ui-snackbar.js +5 -0
  373. package/snackbar/esm2015/lib/koala.snackbar.component.js +20 -0
  374. package/snackbar/esm2015/lib/koala.snackbar.interface.js +2 -0
  375. package/snackbar/esm2015/lib/koala.snackbar.module.js +26 -0
  376. package/snackbar/esm2015/lib/koala.snackbar.service.js +35 -0
  377. package/snackbar/fesm2015/koalarx-ui-snackbar.js +81 -0
  378. package/snackbar/fesm2015/koalarx-ui-snackbar.js.map +1 -0
  379. package/snackbar/index.d.ts +4 -4
  380. package/snackbar/koalarx-ui-snackbar.d.ts +4 -0
  381. package/snackbar/koalarx-ui-snackbar.metadata.json +1 -0
  382. package/snackbar/{koala.snackbar.component.d.ts → lib/koala.snackbar.component.d.ts} +0 -3
  383. package/snackbar/{koala.snackbar.interface.d.ts → lib/koala.snackbar.interface.d.ts} +0 -0
  384. package/snackbar/lib/koala.snackbar.module.d.ts +2 -0
  385. package/snackbar/{koala.snackbar.service.d.ts → lib/koala.snackbar.service.d.ts} +0 -3
  386. package/snackbar/package.json +19 -0
  387. package/README.md +0 -9
  388. package/alert/dialog-alert.component.d.ts +0 -10
  389. package/alert/koala.alert.module.d.ts +0 -12
  390. package/bundles/koalarx-ui.umd.js +0 -9165
  391. package/bundles/koalarx-ui.umd.js.map +0 -1
  392. package/button/button.component.d.ts +0 -16
  393. package/button/koala.button.module.d.ts +0 -12
  394. package/core/directives/koala-autofocus.directive.d.ts +0 -10
  395. package/core/loader/loader-bar-page.component.d.ts +0 -8
  396. package/core/ngx-koala.module.d.ts +0 -12
  397. package/core/page/koala.page.module.d.ts +0 -21
  398. package/core/router/koala.parameter-hash-location-stategy.d.ts +0 -7
  399. package/dialog/dialog.component.d.ts +0 -11
  400. package/dialog/koala.dialog.module.d.ts +0 -11
  401. package/dynamic-component/koala-dynamic-component.directive.d.ts +0 -8
  402. package/dynamic-component/koala-dynamic-component.module.d.ts +0 -8
  403. package/esm2015/alert/dialog-alert.component.js +0 -109
  404. package/esm2015/alert/index.js +0 -10
  405. package/esm2015/alert/koala.alert-config.interface.js +0 -2
  406. package/esm2015/alert/koala.alert.enum.js +0 -9
  407. package/esm2015/alert/koala.alert.module.js +0 -49
  408. package/esm2015/alert/koala.alert.service.js +0 -19
  409. package/esm2015/alert/koala.request-code-to-alert-enum.translate.js +0 -18
  410. package/esm2015/button/button.component.js +0 -113
  411. package/esm2015/button/index.js +0 -6
  412. package/esm2015/button/koala.button.module.js +0 -43
  413. package/esm2015/core/directives/koala-autofocus.directive.js +0 -25
  414. package/esm2015/core/environments/koalaEnvironment.js +0 -4
  415. package/esm2015/core/form.abstract.js +0 -42
  416. package/esm2015/core/index.js +0 -61
  417. package/esm2015/core/loader/loader-bar-page.component.js +0 -38
  418. package/esm2015/core/loader/loader-bar-page.interface.js +0 -2
  419. package/esm2015/core/loader/loader-config.interface.js +0 -2
  420. package/esm2015/core/mask-options.js +0 -4
  421. package/esm2015/core/ngx-koala.module.js +0 -51
  422. package/esm2015/core/page/koala-language.helper.js +0 -114
  423. package/esm2015/core/page/koala-oauth2-config.interface.js +0 -2
  424. package/esm2015/core/page/koala-page-pallet-colors.interface.js +0 -2
  425. package/esm2015/core/page/koala.page.module.js +0 -79
  426. package/esm2015/core/page/koala.user-menu-options.interface.js +0 -2
  427. package/esm2015/core/page/notifications/koala.notification.interface.js +0 -2
  428. package/esm2015/core/page/notifications/notification.component.js +0 -127
  429. package/esm2015/core/page/page.component.js +0 -627
  430. package/esm2015/core/providers/pagination/pagination.provider.js +0 -32
  431. package/esm2015/core/router/koala.parameter-hash-location-stategy.js +0 -19
  432. package/esm2015/core/services/api-requester/factory/koala.response.factory.js +0 -48
  433. package/esm2015/core/services/api-requester/helpers/error/koala.client.error.js +0 -3
  434. package/esm2015/core/services/api-requester/helpers/error/koala.errors.helper.js +0 -46
  435. package/esm2015/core/services/api-requester/helpers/error/koala.not-found.error.js +0 -3
  436. package/esm2015/core/services/api-requester/helpers/error/koala.success.error.js +0 -3
  437. package/esm2015/core/services/api-requester/helpers/error/koala.unhautorized.error.js +0 -3
  438. package/esm2015/core/services/api-requester/helpers/service/koala.request-header.helper.js +0 -15
  439. package/esm2015/core/services/api-requester/koala.api-requester.base.js +0 -70
  440. package/esm2015/core/services/csv/koala.csv.service.js +0 -36
  441. package/esm2015/core/services/loader/koala.loader.service.js +0 -34
  442. package/esm2015/core/services/openid/koala.oauth.config.js +0 -33
  443. package/esm2015/core/services/openid/koala.oauth2.service.js +0 -194
  444. package/esm2015/core/services/request/koala.request.service.js +0 -53
  445. package/esm2015/core/services/token/koala.token.service.js +0 -53
  446. package/esm2015/core/services/token/token.factory.js +0 -31
  447. package/esm2015/core/services/xlsx/koala.xlsx-config.interface.js +0 -2
  448. package/esm2015/core/services/xlsx/koala.xlsx.service.js +0 -63
  449. package/esm2015/dialog/dialog.component.js +0 -72
  450. package/esm2015/dialog/index.js +0 -7
  451. package/esm2015/dialog/koala.dialog-template.interface.js +0 -2
  452. package/esm2015/dialog/koala.dialog.module.js +0 -39
  453. package/esm2015/dialog/koala.dialog.service.js +0 -57
  454. package/esm2015/dynamic-component/index.js +0 -9
  455. package/esm2015/dynamic-component/koala-dynamic-component.component.js +0 -2
  456. package/esm2015/dynamic-component/koala-dynamic-component.directive.js +0 -16
  457. package/esm2015/dynamic-component/koala-dynamic-component.factory.js +0 -44
  458. package/esm2015/dynamic-component/koala-dynamic-component.js +0 -7
  459. package/esm2015/dynamic-component/koala-dynamic-component.module.js +0 -24
  460. package/esm2015/file-button/file-button.component.js +0 -183
  461. package/esm2015/file-button/index.js +0 -8
  462. package/esm2015/file-button/koala.btn-file.service.js +0 -28
  463. package/esm2015/file-button/koala.file-button.module.js +0 -39
  464. package/esm2015/file-button/koala.file.interface.js +0 -2
  465. package/esm2015/folder-page/folder.component.js +0 -157
  466. package/esm2015/folder-page/index.js +0 -6
  467. package/esm2015/folder-page/koala-navigate-history.interface.js +0 -2
  468. package/esm2015/folder-page/koala.folder-page.module.js +0 -43
  469. package/esm2015/form/btn-submit/btn-submit.component.js +0 -110
  470. package/esm2015/form/dynamic-form/builder/dynamic-form.builder.js +0 -138
  471. package/esm2015/form/dynamic-form/builder/fields/autocomplete.builder.js +0 -34
  472. package/esm2015/form/dynamic-form/builder/fields/field.base.js +0 -147
  473. package/esm2015/form/dynamic-form/builder/fields/field.builder.js +0 -7
  474. package/esm2015/form/dynamic-form/builder/fields/more-items.builder.js +0 -57
  475. package/esm2015/form/dynamic-form/dynamic-form.component.js +0 -1861
  476. package/esm2015/form/dynamic-form/interfaces/koala-custom-validator-fn.interface.js +0 -2
  477. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js +0 -2
  478. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js +0 -2
  479. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-config.interface.js +0 -2
  480. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-field.interface.js +0 -2
  481. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js +0 -2
  482. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js +0 -2
  483. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-set-value.interface.js +0 -2
  484. package/esm2015/form/dynamic-form/validators/autocomplete-selected.validator.js +0 -10
  485. package/esm2015/form/dynamic-form/validators/cnpj.validator.js +0 -10
  486. package/esm2015/form/dynamic-form/validators/cpf.validator.js +0 -10
  487. package/esm2015/form/dynamic-form/validators/date-max.validator.js +0 -11
  488. package/esm2015/form/dynamic-form/validators/date-min.validator.js +0 -11
  489. package/esm2015/form/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js +0 -10
  490. package/esm2015/form/dynamic-form/validators/validation.helper.js +0 -86
  491. package/esm2015/form/index.js +0 -21
  492. package/esm2015/form/koala.form.module.js +0 -135
  493. package/esm2015/form/show-invalid-fields/show-invalid-fields.js +0 -9
  494. package/esm2015/icon/icon.component.js +0 -458
  495. package/esm2015/icon/index.js +0 -6
  496. package/esm2015/icon/koala.icon.module.js +0 -27
  497. package/esm2015/icons-animated/icons/downloading/downloading-icon-animated.component.js +0 -40
  498. package/esm2015/icons-animated/icons/loading/loading-icon-animated.component.js +0 -58
  499. package/esm2015/icons-animated/icons-animated.component.js +0 -48
  500. package/esm2015/icons-animated/icons-animated.service.js +0 -32
  501. package/esm2015/icons-animated/index.js +0 -8
  502. package/esm2015/icons-animated/koala-icons-animated.module.js +0 -33
  503. package/esm2015/koalarx-ui.js +0 -5
  504. package/esm2015/list/index.js +0 -13
  505. package/esm2015/list/koala-list-filter.interface.js +0 -2
  506. package/esm2015/list/koala-list-form-filter.interface.js +0 -2
  507. package/esm2015/list/koala-list-item-menu-option.interface.js +0 -2
  508. package/esm2015/list/koala-list-item.interface.js +0 -2
  509. package/esm2015/list/koala.list-config.interface.js +0 -2
  510. package/esm2015/list/koala.list.module.js +0 -67
  511. package/esm2015/list/koala.list.service.js +0 -15
  512. package/esm2015/list/list-builder/list.builder.js +0 -85
  513. package/esm2015/list/list.abstract.js +0 -161
  514. package/esm2015/list/list.component.js +0 -498
  515. package/esm2015/menu/index.js +0 -9
  516. package/esm2015/menu/koala.menu-module.interface.js +0 -2
  517. package/esm2015/menu/koala.menu-tool.interface.js +0 -2
  518. package/esm2015/menu/koala.menu.module.js +0 -39
  519. package/esm2015/menu/koala.menu.service.js +0 -24
  520. package/esm2015/menu/menu.component.js +0 -289
  521. package/esm2015/public-api.js +0 -18
  522. package/esm2015/question/dialog-question.component.js +0 -72
  523. package/esm2015/question/index.js +0 -8
  524. package/esm2015/question/koala-question-config.interface.js +0 -2
  525. package/esm2015/question/koala.question.module.js +0 -43
  526. package/esm2015/question/koala.question.service.js +0 -26
  527. package/esm2015/snackbar/index.js +0 -8
  528. package/esm2015/snackbar/koala.snackbar.component.js +0 -48
  529. package/esm2015/snackbar/koala.snackbar.interface.js +0 -2
  530. package/esm2015/snackbar/koala.snackbar.module.js +0 -39
  531. package/esm2015/snackbar/koala.snackbar.service.js +0 -35
  532. package/fesm2015/koalarx-ui.js +0 -7726
  533. package/fesm2015/koalarx-ui.js.map +0 -1
  534. package/file-button/file-button.component.d.ts +0 -29
  535. package/file-button/koala.file-button.module.d.ts +0 -11
  536. package/folder-page/folder.component.d.ts +0 -20
  537. package/folder-page/koala.folder-page.module.d.ts +0 -12
  538. package/form/koala.form.module.d.ts +0 -25
  539. package/icon/koala.icon.module.d.ts +0 -8
  540. package/icons-animated/icons-animated.component.d.ts +0 -8
  541. package/icons-animated/icons-animated.service.d.ts +0 -9
  542. package/icons-animated/koala-icons-animated.module.d.ts +0 -10
  543. package/koalarx-ui.d.ts +0 -5
  544. package/list/koala.list.module.d.ts +0 -16
  545. package/list/koala.list.service.d.ts +0 -7
  546. package/menu/koala.menu.module.d.ts +0 -11
  547. package/menu/koala.menu.service.d.ts +0 -9
  548. package/public-api.d.ts +0 -14
  549. package/question/dialog-question.component.d.ts +0 -10
  550. package/question/koala.question.module.d.ts +0 -12
  551. package/snackbar/koala.snackbar.module.d.ts +0 -10
@@ -1,194 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { koala } from "@koalarx/utils";
5
- import { KoalaOauthConfig } from "./koala.oauth.config";
6
- import { KlDelay } from "@koalarx/utils/dist/utils/KlDelay";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "@angular/router";
10
- import * as i3 from "../token/koala.token.service";
11
- const STATE_STORAGE_NAME = 'koala_openid_state';
12
- export class KoalaOAuth2Service {
13
- constructor(http, router, tokenService) {
14
- this.http = http;
15
- this.router = router;
16
- this.tokenService = tokenService;
17
- this.events = new BehaviorSubject(null);
18
- this.token = {};
19
- this.generateState();
20
- }
21
- ngOnDestroy() {
22
- if (this.eventSubscription) {
23
- this.eventSubscription.unsubscribe();
24
- }
25
- if (this.refreshTokenInterval) {
26
- clearInterval(this.refreshTokenInterval);
27
- }
28
- }
29
- hasOpenIdConfig() {
30
- return !!this.openIdOptions;
31
- }
32
- configure(options) {
33
- this.config = options;
34
- }
35
- loadDiscoveryDocumentAndTryLogin() {
36
- if (this.eventSubscription) {
37
- this.eventSubscription.unsubscribe();
38
- }
39
- this.eventSubscription = this.events.subscribe(event => {
40
- if (event === 'authenticate') {
41
- this.generateState();
42
- localStorage.setItem(STATE_STORAGE_NAME, this.state);
43
- window.location.href = `${this.openIdOptions.authorization_endpoint}?response_type=${this.config.responseType}&client_id=${this.config.clientId}&state=${this.state}&redirect_uri=${this.config.redirectUri}&scope=${this.config.scope}`;
44
- }
45
- else if (event === 'getToken') {
46
- const urlParams = new URLSearchParams(window.location.search);
47
- const state = urlParams.get('state');
48
- if (state === this.state) {
49
- const code = urlParams.get('code');
50
- this.getToken(code);
51
- }
52
- else {
53
- this.logout();
54
- }
55
- }
56
- else if (event === 'getClaims' || (event === 'refreshToken' && !this.claims)) {
57
- this.getClaims();
58
- }
59
- });
60
- return new Promise((resolve, reject) => {
61
- this.http.get(`${this.config.issuer}/.well-known/openid-configuration`).subscribe(options => {
62
- this.openIdOptions = options;
63
- if (window.location.href.indexOf(`state=${this.state}`) >= 0) {
64
- this.events.next('getToken');
65
- }
66
- else if (!this.tokenService.getOAuth2Token()) {
67
- this.events.next('loadedConfig');
68
- }
69
- resolve(true);
70
- }, e => {
71
- console.error(e);
72
- this.events.next('errorLoadConfig');
73
- reject(e);
74
- });
75
- });
76
- }
77
- initLoginFlow(name) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- if (name) {
80
- KoalaOauthConfig.setConfig(name);
81
- yield KlDelay.waitFor(1000);
82
- }
83
- this.events.next('authenticate');
84
- });
85
- }
86
- getIdentityClaims() {
87
- return this.claims;
88
- }
89
- getAccessToken() {
90
- return this.token.access_token;
91
- }
92
- getIdToken() {
93
- return this.token.id_token;
94
- }
95
- getRefreshToken() {
96
- return this.token.refresh_token;
97
- }
98
- getAccessTokenExpiration() {
99
- const expires_in = new Date();
100
- expires_in.setSeconds(this.token.expires_in);
101
- return expires_in.toString();
102
- }
103
- getCode() {
104
- return this.code;
105
- }
106
- logout() {
107
- const logoutInterval = setInterval(() => {
108
- if (this.hasOpenIdConfig()) {
109
- if (this.openIdOptions.end_session_endpoint) {
110
- this.claims = null;
111
- this.token = null;
112
- const iframeLogout = document.createElement('iframe');
113
- iframeLogout.style.display = 'none';
114
- iframeLogout.src = this.openIdOptions.end_session_endpoint;
115
- document.querySelector('body').appendChild(iframeLogout);
116
- }
117
- this.events.next('logout');
118
- clearInterval(logoutInterval);
119
- }
120
- }, 300);
121
- }
122
- initRefreshTokenInterval(code, refreshToken) {
123
- if (!this.refreshTokenInterval) {
124
- this.refreshTokenInterval = setInterval(() => {
125
- const refreshTokenDate = new Date();
126
- refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);
127
- const token = this.tokenService.getOAuth2Token();
128
- if (token) {
129
- const expires_in = token.expired;
130
- if (expires_in) {
131
- if (new Date(expires_in) <= refreshTokenDate) {
132
- this.getToken(code, refreshToken);
133
- }
134
- }
135
- }
136
- }, 1000);
137
- }
138
- }
139
- getToken(code, refreshToken) {
140
- var _a, _b;
141
- if (refreshToken) {
142
- clearInterval(this.refreshTokenInterval);
143
- this.refreshTokenInterval = null;
144
- }
145
- const formData = new URLSearchParams();
146
- let data = koala({
147
- grant_type: (refreshToken ? 'refresh_token' : 'authorization_code'),
148
- code,
149
- redirect_uri: this.config.redirectUri,
150
- client_id: this.config.clientId
151
- }).object().merge((_a = this.config.customQueryParams) !== null && _a !== void 0 ? _a : {}).getValue();
152
- if (refreshToken) {
153
- data = koala(data).object().merge({ refresh_token: refreshToken }).getValue();
154
- }
155
- if (!this.code) {
156
- this.code = code;
157
- }
158
- Object.keys(data).forEach(indexName => {
159
- formData.append(indexName, data[indexName]);
160
- });
161
- this.http.post((_b = this.config.endpointToken) !== null && _b !== void 0 ? _b : this.openIdOptions.token_endpoint, formData.toString(), {
162
- headers: {
163
- 'Content-Type': 'application/x-www-form-urlencoded'
164
- }
165
- }).subscribe((token) => {
166
- this.token = token;
167
- this.events.next((refreshToken ? 'refreshToken' : 'getClaims'));
168
- }, () => this.events.next('getTokenError'));
169
- }
170
- getClaims() {
171
- var _a;
172
- this.http.get((_a = this.config.endpointClaims) !== null && _a !== void 0 ? _a : this.openIdOptions.userinfo_endpoint, {
173
- headers: {
174
- Authorization: `Bearer ${this.getAccessToken()}`
175
- }
176
- }).subscribe(userInfo => {
177
- this.claims = userInfo;
178
- this.state = null;
179
- localStorage.removeItem(STATE_STORAGE_NAME);
180
- this.events.next(this.events.getValue() === 'refreshToken' ? 'refreshToken' : 'userAuthenticated');
181
- }, () => this.events.next('loadedConfig'));
182
- }
183
- generateState() {
184
- this.state = localStorage.getItem(STATE_STORAGE_NAME) ?
185
- localStorage.getItem(STATE_STORAGE_NAME) :
186
- koala('').string().random(30, true, true, true).getValue();
187
- }
188
- }
189
- KoalaOAuth2Service.ɵfac = function KoalaOAuth2Service_Factory(t) { return new (t || KoalaOAuth2Service)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i3.KoalaTokenService)); };
190
- KoalaOAuth2Service.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: KoalaOAuth2Service, factory: KoalaOAuth2Service.ɵfac });
191
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KoalaOAuth2Service, [{
192
- type: Injectable
193
- }], function () { return [{ type: i1.HttpClient }, { type: i2.Router }, { type: i3.KoalaTokenService }]; }, null); })();
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEub2F1dGgyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gta29hbGEvc3JjL2NvcmUvc2VydmljZXMvb3BlbmlkL2tvYWxhLm9hdXRoMi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBeUQ1RCxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDVSxJQUFnQixFQUNoQixNQUFjLEVBQ2QsWUFBK0I7UUFGL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBYmxDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsQ0FBQztRQU03QyxVQUFLLEdBQVMsRUFBRSxDQUFDO1FBU3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxPQUEwQjtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRU0sZ0NBQWdDO1FBRXJDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyRCxJQUFJLEtBQUssS0FBSyxjQUFjLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0Isa0JBQWtCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxjQUFjLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxVQUFVLElBQUksQ0FBQyxLQUFLLGlCQUFpQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzFPO2lCQUFNLElBQUksS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDeEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUNmO2FBQ0Y7aUJBQU0sSUFBSSxLQUFLLEtBQUssV0FBVyxJQUFJLENBQUMsS0FBSyxLQUFLLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDOUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDN0csSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7Z0JBQzdCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDOUI7cUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUNsQztnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVksYUFBYSxDQUFDLElBQWE7O1lBQ3RDLElBQUksSUFBSSxFQUFFO2dCQUNSLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsQ0FBQztLQUFBO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU07UUFDWCxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUMxQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztvQkFDbEIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdEQsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO29CQUNwQyxZQUFZLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUM7b0JBQzNELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUMxRDtnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDM0IsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVNLHdCQUF3QixDQUFDLElBQVksRUFBRSxZQUFvQjtRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUMzQyxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDakQsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDakMsSUFBSSxVQUFVLEVBQUU7d0JBQ2QsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxnQkFBZ0IsRUFBRTs0QkFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7eUJBQ25DO3FCQUNGO2lCQUNGO1lBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQVksRUFBRSxZQUFxQjs7UUFDbEQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7U0FDbEM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNmLFVBQVUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztZQUNuRSxJQUFJO1lBQ0osWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUNyQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1NBQ2hDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixtQ0FBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsRSxJQUFJLFlBQVksRUFBRTtZQUNoQixJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdFO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsbUNBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2xHLE9BQU8sRUFBRTtnQkFDUCxjQUFjLEVBQUUsbUNBQW1DO2FBQ3BEO1NBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVPLFNBQVM7O1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsbUNBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRTtZQUNoRixPQUFPLEVBQUU7Z0JBQ1AsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO2FBQ2pEO1NBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixZQUFZLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQzFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUUsQ0FBQzs7b0ZBeE1VLGtCQUFrQjt3RUFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQjt1RkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsga29hbGEgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHNcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEtvYWxhVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4uL3Rva2VuL2tvYWxhLnRva2VuLnNlcnZpY2VcIjtcbmltcG9ydCB7IEtvYWxhT2F1dGhDb25maWcgfSBmcm9tIFwiLi9rb2FsYS5vYXV0aC5jb25maWdcIjtcbmltcG9ydCB7IEtsRGVsYXkgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHMvZGlzdC91dGlscy9LbERlbGF5XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPQXV0aDJDb25maWcge1xuICByZWRpcmVjdFVyaTogc3RyaW5nO1xuICByZXNwb25zZVR5cGU6IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgaXNzdWVyOiBzdHJpbmc7XG4gIHJlZGlyZWN0VXJpQWZ0ZXJBdXRoPzogc3RyaW5nO1xuICBjdXN0b21RdWVyeVBhcmFtcz86IG9iamVjdDtcbiAgZW5kcG9pbnRUb2tlbj86IHN0cmluZztcbiAgZW5kcG9pbnRDbGFpbXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPcGVuSWRDb25maWcge1xuICBhdXRob3JpemF0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGNoZWNrX3Nlc3Npb25faWZyYW1lOiBzdHJpbmc7XG4gIGNsYWltX3R5cGVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkOiBib29sZWFuO1xuICBjbGFpbXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgY29kZV9jaGFsbGVuZ2VfbWV0aG9kc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBlbmRfc2Vzc2lvbl9lbmRwb2ludDogc3RyaW5nO1xuICBncmFudF90eXBlc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBpZF90b2tlbl9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgaWRfdG9rZW5fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIGlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBpbnRyb3NwZWN0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGlzc3Vlcjogc3RyaW5nO1xuICBqd2tzX3VyaTogc3RyaW5nO1xuICByZWdpc3RyYXRpb25fZW5kcG9pbnQ6IHN0cmluZztcbiAgcmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIHJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZDogYm9vbGVhbjtcbiAgcmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZDogYm9vbGVhbjtcbiAgcmVzcG9uc2VfbW9kZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgcmVzcG9uc2VfdHlwZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgc2NvcGVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIHN1YmplY3RfdHlwZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdGxzX2NsaWVudF9jZXJ0aWZpY2F0ZV9ib3VuZF9hY2Nlc3NfdG9rZW5zOiBib29sZWFuO1xuICB0b2tlbl9lbmRwb2ludDogc3RyaW5nO1xuICB0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdG9rZW5faW50cm9zcGVjdGlvbl9lbmRwb2ludDogc3RyaW5nO1xuICB1c2VyaW5mb19lbmRwb2ludDogc3RyaW5nO1xuICB1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRUeXBlID1cbiAgJ2xvYWRlZENvbmZpZydcbiAgfCAnZ2V0VG9rZW4nXG4gIHwgJ2dldFRva2VuRXJyb3InXG4gIHwgJ3JlZnJlc2hUb2tlbidcbiAgfCAnZ2V0Q2xhaW1zJ1xuICB8ICd1c2VyQXV0aGVudGljYXRlZCdcbiAgfCAnYXV0aGVudGljYXRlJ1xuICB8ICdsb2dvdXQnXG4gIHwgJ2Vycm9yTG9hZENvbmZpZyc7XG5cbmNvbnN0IFNUQVRFX1NUT1JBR0VfTkFNRSA9ICdrb2FsYV9vcGVuaWRfc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgS29hbGFPQXV0aDJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGV2ZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXZlbnRUeXBlPihudWxsKTtcbiAgcHJpdmF0ZSBjb25maWc6IEtvYWxhT0F1dGgyQ29uZmlnO1xuICBwcml2YXRlIG9wZW5JZE9wdGlvbnM6IEtvYWxhT3BlbklkQ29uZmlnO1xuICBwcml2YXRlIGV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3RhdGU/OiBzdHJpbmc7XG4gIHByaXZhdGUgY29kZT86IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbj86IGFueSA9IHt9O1xuICBwcml2YXRlIGNsYWltcz86IGFueTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5JbnRlcnZhbD86IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHRva2VuU2VydmljZTogS29hbGFUb2tlblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5nZW5lcmF0ZVN0YXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnJlZnJlc2hUb2tlbkludGVydmFsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFzT3BlbklkQ29uZmlnKCkge1xuICAgIHJldHVybiAhIXRoaXMub3BlbklkT3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmUob3B0aW9uczogS29hbGFPQXV0aDJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgbG9hZERpc2NvdmVyeURvY3VtZW50QW5kVHJ5TG9naW4oKSB7XG5cbiAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gJ2F1dGhlbnRpY2F0ZScpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVN0YXRlKCk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUQVRFX1NUT1JBR0VfTkFNRSwgdGhpcy5zdGF0ZSk7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5vcGVuSWRPcHRpb25zLmF1dGhvcml6YXRpb25fZW5kcG9pbnR9P3Jlc3BvbnNlX3R5cGU9JHt0aGlzLmNvbmZpZy5yZXNwb25zZVR5cGV9JmNsaWVudF9pZD0ke3RoaXMuY29uZmlnLmNsaWVudElkfSZzdGF0ZT0ke3RoaXMuc3RhdGV9JnJlZGlyZWN0X3VyaT0ke3RoaXMuY29uZmlnLnJlZGlyZWN0VXJpfSZzY29wZT0ke3RoaXMuY29uZmlnLnNjb3BlfWA7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnZ2V0VG9rZW4nKSB7XG4gICAgICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdXJsUGFyYW1zLmdldCgnc3RhdGUnKTtcbiAgICAgICAgaWYgKHN0YXRlID09PSB0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgY29uc3QgY29kZSA9IHVybFBhcmFtcy5nZXQoJ2NvZGUnKTtcbiAgICAgICAgICB0aGlzLmdldFRva2VuKGNvZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgPT09ICdnZXRDbGFpbXMnIHx8IChldmVudCA9PT0gJ3JlZnJlc2hUb2tlbicgJiYgIXRoaXMuY2xhaW1zKSkge1xuICAgICAgICB0aGlzLmdldENsYWltcygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaHR0cC5nZXQ8S29hbGFPcGVuSWRDb25maWc+KGAke3RoaXMuY29uZmlnLmlzc3Vlcn0vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gKS5zdWJzY3JpYmUob3B0aW9ucyA9PiB7XG4gICAgICAgIHRoaXMub3BlbklkT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKGBzdGF0ZT0ke3RoaXMuc3RhdGV9YCkgPj0gMCkge1xuICAgICAgICAgIHRoaXMuZXZlbnRzLm5leHQoJ2dldFRva2VuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudG9rZW5TZXJ2aWNlLmdldE9BdXRoMlRva2VuKCkpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50cy5uZXh0KCdsb2FkZWRDb25maWcnKTtcbiAgICAgICAgfVxuICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgfSwgZSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuZXZlbnRzLm5leHQoJ2Vycm9yTG9hZENvbmZpZycpO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0TG9naW5GbG93KG5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAobmFtZSkge1xuICAgICAgS29hbGFPYXV0aENvbmZpZy5zZXRDb25maWcobmFtZSk7XG4gICAgICBhd2FpdCBLbERlbGF5LndhaXRGb3IoMTAwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5ldmVudHMubmV4dCgnYXV0aGVudGljYXRlJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWRlbnRpdHlDbGFpbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xhaW1zO1xuICB9XG5cbiAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuLmFjY2Vzc190b2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuLmlkX3Rva2VuO1xuICB9XG5cbiAgcHVibGljIGdldFJlZnJlc2hUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbi5yZWZyZXNoX3Rva2VuO1xuICB9XG5cbiAgcHVibGljIGdldEFjY2Vzc1Rva2VuRXhwaXJhdGlvbigpIHtcbiAgICBjb25zdCBleHBpcmVzX2luID0gbmV3IERhdGUoKTtcbiAgICBleHBpcmVzX2luLnNldFNlY29uZHModGhpcy50b2tlbi5leHBpcmVzX2luKTtcbiAgICByZXR1cm4gZXhwaXJlc19pbi50b1N0cmluZygpO1xuICB9XG5cbiAgcHVibGljIGdldENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dvdXQoKSB7XG4gICAgY29uc3QgbG9nb3V0SW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNPcGVuSWRDb25maWcoKSkge1xuICAgICAgICBpZiAodGhpcy5vcGVuSWRPcHRpb25zLmVuZF9zZXNzaW9uX2VuZHBvaW50KSB7XG4gICAgICAgICAgdGhpcy5jbGFpbXMgPSBudWxsO1xuICAgICAgICAgIHRoaXMudG9rZW4gPSBudWxsO1xuICAgICAgICAgIGNvbnN0IGlmcmFtZUxvZ291dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgICAgICAgIGlmcmFtZUxvZ291dC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgIGlmcmFtZUxvZ291dC5zcmMgPSB0aGlzLm9wZW5JZE9wdGlvbnMuZW5kX3Nlc3Npb25fZW5kcG9pbnQ7XG4gICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKGlmcmFtZUxvZ291dCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ldmVudHMubmV4dCgnbG9nb3V0Jyk7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwobG9nb3V0SW50ZXJ2YWwpO1xuICAgICAgfVxuICAgIH0sIDMwMCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdFJlZnJlc2hUb2tlbkludGVydmFsKGNvZGU6IHN0cmluZywgcmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucmVmcmVzaFRva2VuSW50ZXJ2YWwpIHtcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbkRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICByZWZyZXNoVG9rZW5EYXRlLnNldE1pbnV0ZXMocmVmcmVzaFRva2VuRGF0ZS5nZXRNaW51dGVzKCkgKyAxKTtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuU2VydmljZS5nZXRPQXV0aDJUb2tlbigpO1xuICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICBjb25zdCBleHBpcmVzX2luID0gdG9rZW4uZXhwaXJlZDtcbiAgICAgICAgICBpZiAoZXhwaXJlc19pbikge1xuICAgICAgICAgICAgaWYgKG5ldyBEYXRlKGV4cGlyZXNfaW4pIDw9IHJlZnJlc2hUb2tlbkRhdGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbihjb2RlLCByZWZyZXNoVG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgMTAwMCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb2tlbihjb2RlOiBzdHJpbmcsIHJlZnJlc2hUb2tlbj86IHN0cmluZykge1xuICAgIGlmIChyZWZyZXNoVG9rZW4pIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbCk7XG4gICAgICB0aGlzLnJlZnJlc2hUb2tlbkludGVydmFsID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBsZXQgZGF0YSA9IGtvYWxhKHtcbiAgICAgIGdyYW50X3R5cGU6IChyZWZyZXNoVG9rZW4gPyAncmVmcmVzaF90b2tlbicgOiAnYXV0aG9yaXphdGlvbl9jb2RlJyksXG4gICAgICBjb2RlLFxuICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmNvbmZpZy5yZWRpcmVjdFVyaSxcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jb25maWcuY2xpZW50SWRcbiAgICB9KS5vYmplY3QoKS5tZXJnZSh0aGlzLmNvbmZpZy5jdXN0b21RdWVyeVBhcmFtcyA/PyB7fSkuZ2V0VmFsdWUoKTtcblxuICAgIGlmIChyZWZyZXNoVG9rZW4pIHtcbiAgICAgIGRhdGEgPSBrb2FsYShkYXRhKS5vYmplY3QoKS5tZXJnZSh7cmVmcmVzaF90b2tlbjogcmVmcmVzaFRva2VufSkuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29kZSkge1xuICAgICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICB9XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKGluZGV4TmFtZSA9PiB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoaW5kZXhOYW1lLCBkYXRhW2luZGV4TmFtZV0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5jb25maWcuZW5kcG9pbnRUb2tlbiA/PyB0aGlzLm9wZW5JZE9wdGlvbnMudG9rZW5fZW5kcG9pbnQsIGZvcm1EYXRhLnRvU3RyaW5nKCksIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4gICAgICB9XG4gICAgfSkuc3Vic2NyaWJlKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICB0aGlzLmV2ZW50cy5uZXh0KChyZWZyZXNoVG9rZW4gPyAncmVmcmVzaFRva2VuJyA6ICdnZXRDbGFpbXMnKSk7XG4gICAgfSwgKCkgPT4gdGhpcy5ldmVudHMubmV4dCgnZ2V0VG9rZW5FcnJvcicpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2xhaW1zKCkge1xuICAgIHRoaXMuaHR0cC5nZXQodGhpcy5jb25maWcuZW5kcG9pbnRDbGFpbXMgPz8gdGhpcy5vcGVuSWRPcHRpb25zLnVzZXJpbmZvX2VuZHBvaW50LCB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmdldEFjY2Vzc1Rva2VuKCl9YFxuICAgICAgfVxuICAgIH0pLnN1YnNjcmliZSh1c2VySW5mbyA9PiB7XG4gICAgICB0aGlzLmNsYWltcyA9IHVzZXJJbmZvO1xuICAgICAgdGhpcy5zdGF0ZSA9IG51bGw7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShTVEFURV9TVE9SQUdFX05BTUUpO1xuICAgICAgdGhpcy5ldmVudHMubmV4dCh0aGlzLmV2ZW50cy5nZXRWYWx1ZSgpID09PSAncmVmcmVzaFRva2VuJyA/ICdyZWZyZXNoVG9rZW4nIDogJ3VzZXJBdXRoZW50aWNhdGVkJyk7XG4gICAgfSwgKCkgPT4gdGhpcy5ldmVudHMubmV4dCgnbG9hZGVkQ29uZmlnJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVN0YXRlKCkge1xuICAgIHRoaXMuc3RhdGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTVEFURV9TVE9SQUdFX05BTUUpID9cbiAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RBVEVfU1RPUkFHRV9OQU1FKSA6XG4gICAgICAgICAgICAgICAgIGtvYWxhKCcnKS5zdHJpbmcoKS5yYW5kb20oMzAsIHRydWUsIHRydWUsIHRydWUpLmdldFZhbHVlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,53 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { KoalaRequestCodeToAlertEnumTranslate } from '../../../alert/koala.request-code-to-alert-enum.translate';
3
- import { KoalaAlertEnum } from '../../../alert/koala.alert.enum';
4
- import { KoalaLanguageHelper } from "../../page/koala-language.helper";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../alert/koala.alert.service";
7
- export class KoalaRequestService {
8
- constructor(koalaAlertService) {
9
- this.koalaAlertService = koalaAlertService;
10
- }
11
- request(request, success, error) {
12
- if (request instanceof Promise) {
13
- request.then((response) => {
14
- if (success) {
15
- success(response);
16
- }
17
- }).catch(e => {
18
- if (error) {
19
- error(e);
20
- }
21
- this.showAlertError(e);
22
- });
23
- }
24
- else {
25
- return request.subscribe((response) => {
26
- if (success) {
27
- success(response);
28
- }
29
- }, (e) => {
30
- if (error) {
31
- error(e);
32
- }
33
- this.showAlertError(e);
34
- });
35
- }
36
- }
37
- showAlertError(e) {
38
- const alertEnum = KoalaRequestCodeToAlertEnumTranslate.translate(e.statusCode);
39
- this.koalaAlertService.create({
40
- alertEnum,
41
- message: alertEnum === KoalaAlertEnum.internalServerError
42
- ? KoalaLanguageHelper.getInternalServerErrorMessage()
43
- : e.message
44
- });
45
- }
46
- }
47
- KoalaRequestService.ɵfac = function KoalaRequestService_Factory(t) { return new (t || KoalaRequestService)(i0.ɵɵinject(i1.KoalaAlertService)); };
48
- KoalaRequestService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: KoalaRequestService, factory: KoalaRequestService.ɵfac, providedIn: "any" });
49
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KoalaRequestService, [{
50
- type: Injectable,
51
- args: [{ providedIn: "any" }]
52
- }], function () { return [{ type: i1.KoalaAlertService }]; }, null); })();
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEucmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWtvYWxhL3NyYy9jb3JlL3NlcnZpY2VzL3JlcXVlc3Qva29hbGEucmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFakgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFHdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUN4RCxDQUFDO0lBRU0sT0FBTyxDQUNaLE9BQW1DLEVBQ25DLE9BQStCLEVBQy9CLEtBQTBCO1FBRTFCLElBQUksT0FBTyxZQUFZLE9BQU8sRUFBRTtZQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksT0FBTyxFQUFFO29CQUNYLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDbkI7WUFDSCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNWO2dCQUNELElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUN0QixDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNYLElBQUksT0FBTyxFQUFFO29CQUNYLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDbkI7WUFDSCxDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDSixJQUFJLEtBQUssRUFBRTtvQkFDVCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ1Y7Z0JBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxDQUFNO1FBQzNCLE1BQU0sU0FBUyxHQUFHLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUM1QixTQUFTO1lBQ1QsT0FBTyxFQUFFLFNBQVMsS0FBSyxjQUFjLENBQUMsbUJBQW1CO2dCQUNoRCxDQUFDLENBQUMsbUJBQW1CLENBQUMsNkJBQTZCLEVBQUU7Z0JBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOztzRkE5Q1UsbUJBQW1CO3lFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CLG1CQURQLEtBQUs7dUZBQ2pCLG1CQUFtQjtjQUQvQixVQUFVO2VBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29hbGFSZXF1ZXN0Q29kZVRvQWxlcnRFbnVtVHJhbnNsYXRlIH0gZnJvbSAnLi4vLi4vLi4vYWxlcnQva29hbGEucmVxdWVzdC1jb2RlLXRvLWFsZXJ0LWVudW0udHJhbnNsYXRlJztcbmltcG9ydCB7IEtvYWxhQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYWxlcnQva29hbGEuYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBLb2FsYUFsZXJ0RW51bSB9IGZyb20gJy4uLy4uLy4uL2FsZXJ0L2tvYWxhLmFsZXJ0LmVudW0nO1xuaW1wb3J0IHsgS29hbGFMYW5ndWFnZUhlbHBlciB9IGZyb20gXCIuLi8uLi9wYWdlL2tvYWxhLWxhbmd1YWdlLmhlbHBlclwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJhbnlcIn0pXG5leHBvcnQgY2xhc3MgS29hbGFSZXF1ZXN0U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBrb2FsYUFsZXJ0U2VydmljZTogS29hbGFBbGVydFNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0PFQ+KFxuICAgIHJlcXVlc3Q6IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+LFxuICAgIHN1Y2Nlc3M/OiAocmVzcG9uc2U6IFQpID0+IHZvaWQsXG4gICAgZXJyb3I/OiAoZXJyb3I6IFQpID0+IHZvaWRcbiAgKSB7XG4gICAgaWYgKHJlcXVlc3QgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICByZXF1ZXN0LnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgc3VjY2VzcyhyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgIH0pLmNhdGNoKGUgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICBlcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNob3dBbGVydEVycm9yKGUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZXF1ZXN0LnN1YnNjcmliZShcbiAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnNob3dBbGVydEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2hvd0FsZXJ0RXJyb3IoZTogYW55KSB7XG4gICAgY29uc3QgYWxlcnRFbnVtID0gS29hbGFSZXF1ZXN0Q29kZVRvQWxlcnRFbnVtVHJhbnNsYXRlLnRyYW5zbGF0ZShlLnN0YXR1c0NvZGUpO1xuICAgIHRoaXMua29hbGFBbGVydFNlcnZpY2UuY3JlYXRlKHtcbiAgICAgIGFsZXJ0RW51bSxcbiAgICAgIG1lc3NhZ2U6IGFsZXJ0RW51bSA9PT0gS29hbGFBbGVydEVudW0uaW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgICAgICAgICAgICAgPyBLb2FsYUxhbmd1YWdlSGVscGVyLmdldEludGVybmFsU2VydmVyRXJyb3JNZXNzYWdlKClcbiAgICAgICAgICAgICAgIDogZS5tZXNzYWdlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,53 +0,0 @@
1
- import jwt from 'jwt-decode';
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { TokenFactory } from "./token.factory";
5
- import * as i0 from "@angular/core";
6
- export class KoalaTokenService {
7
- constructor() {
8
- this.token$ = new BehaviorSubject(null);
9
- this.verifySession();
10
- }
11
- ngOnDestroy() {
12
- if (this.intervalToken) {
13
- clearInterval(this.intervalToken);
14
- }
15
- }
16
- setToken(token) {
17
- if (TokenFactory.hasToken()) {
18
- this.token$.next(token);
19
- }
20
- TokenFactory.setToken(token);
21
- }
22
- getToken() {
23
- return this.token$;
24
- }
25
- getDecodedToken() {
26
- return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null);
27
- }
28
- getOAuth2Token() {
29
- return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null);
30
- }
31
- removeToken() {
32
- TokenFactory.removeToken();
33
- }
34
- verifySession() {
35
- TokenFactory.init();
36
- this.token$.next(TokenFactory.getToken());
37
- this.intervalToken = setInterval(() => {
38
- if (!TokenFactory.hasToken() && this.token$.getValue()) {
39
- this.token$.next(null);
40
- }
41
- else if (TokenFactory.hasToken() && !this.token$.getValue()) {
42
- this.token$.next(TokenFactory.getToken());
43
- }
44
- }, 300);
45
- }
46
- }
47
- KoalaTokenService.ɵfac = function KoalaTokenService_Factory(t) { return new (t || KoalaTokenService)(); };
48
- KoalaTokenService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: KoalaTokenService, factory: KoalaTokenService.ɵfac, providedIn: "any" });
49
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KoalaTokenService, [{
50
- type: Injectable,
51
- args: [{ providedIn: "any" }]
52
- }], function () { return []; }, null); })();
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEudG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1rb2FsYS9zcmMvY29yZS9zZXJ2aWNlcy90b2tlbi9rb2FsYS50b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQztBQUU3QixPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVkvQyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCO1FBSFEsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBSWpELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBRTtRQUN6RCxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sV0FBVztRQUNoQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGFBQWE7UUFDbkIsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCO2lCQUFNLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDM0M7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztrRkE3Q1UsaUJBQWlCO3VFQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCLG1CQURMLEtBQUs7dUZBQ2pCLGlCQUFpQjtjQUQ3QixVQUFVO2VBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGp3dCBmcm9tICdqd3QtZGVjb2RlJztcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRva2VuRmFjdG9yeSB9IGZyb20gXCIuL3Rva2VuLmZhY3RvcnlcIjtcblxuZXhwb3J0IGludGVyZmFjZSBLb2FsYU9BdXRoMlRva2VuSW50ZXJmYWNlIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgaWRUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgbG9naW46IHN0cmluZztcbiAgZXhwaXJlZDogbnVtYmVyO1xuICBjb2RlOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiBcImFueVwifSlcbmV4cG9ydCBjbGFzcyBLb2FsYVRva2VuU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICBwcml2YXRlIGludGVydmFsVG9rZW46IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnZlcmlmeVNlc3Npb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmludGVydmFsVG9rZW4pIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IHN0cmluZykge1xuICAgIGlmIChUb2tlbkZhY3RvcnkuaGFzVG9rZW4oKSkgeyB0aGlzLnRva2VuJC5uZXh0KHRva2VuKTsgfVxuICAgIFRva2VuRmFjdG9yeS5zZXRUb2tlbih0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW4oKTogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWNvZGVkVG9rZW48VD4oKTogVHxudWxsIHtcbiAgICByZXR1cm4gKFRva2VuRmFjdG9yeS5oYXNUb2tlbigpID8gand0KFRva2VuRmFjdG9yeS5nZXRUb2tlbigpKSA6IG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldE9BdXRoMlRva2VuKCk6IEtvYWxhT0F1dGgyVG9rZW5JbnRlcmZhY2V8bnVsbCB7XG4gICAgcmV0dXJuIChUb2tlbkZhY3RvcnkuaGFzVG9rZW4oKSA/IGp3dChUb2tlbkZhY3RvcnkuZ2V0VG9rZW4oKSkgOiBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUb2tlbigpIHtcbiAgICBUb2tlbkZhY3RvcnkucmVtb3ZlVG9rZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5U2Vzc2lvbigpIHtcbiAgICBUb2tlbkZhY3RvcnkuaW5pdCgpO1xuICAgIHRoaXMudG9rZW4kLm5leHQoVG9rZW5GYWN0b3J5LmdldFRva2VuKCkpO1xuICAgIHRoaXMuaW50ZXJ2YWxUb2tlbiA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICghVG9rZW5GYWN0b3J5Lmhhc1Rva2VuKCkgJiYgdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLnRva2VuJC5uZXh0KG51bGwpO1xuICAgICAgfSBlbHNlIGlmIChUb2tlbkZhY3RvcnkuaGFzVG9rZW4oKSAmJiAhdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLnRva2VuJC5uZXh0KFRva2VuRmFjdG9yeS5nZXRUb2tlbigpKTtcbiAgICAgIH1cbiAgICB9LCAzMDApO1xuICB9XG59XG4iXX0=
@@ -1,31 +0,0 @@
1
- import { KoalaEnvironment } from "../../environments/koalaEnvironment";
2
- // @dynamic
3
- export class TokenFactory {
4
- static init() {
5
- var _a, _b;
6
- if (!!localStorage.getItem((_a = KoalaEnvironment.environment) === null || _a === void 0 ? void 0 : _a.storageTokenName)) {
7
- TokenFactory.setToken(localStorage.getItem((_b = KoalaEnvironment.environment) === null || _b === void 0 ? void 0 : _b.storageTokenName));
8
- }
9
- }
10
- static setToken(token) {
11
- var _a;
12
- localStorage.setItem((_a = KoalaEnvironment.environment) === null || _a === void 0 ? void 0 : _a.storageTokenName, token);
13
- this.token = token;
14
- }
15
- static getToken() {
16
- return this.token;
17
- }
18
- static removeToken() {
19
- var _a;
20
- localStorage.removeItem((_a = KoalaEnvironment.environment) === null || _a === void 0 ? void 0 : _a.storageTokenName);
21
- this.token = null;
22
- }
23
- static hasToken() {
24
- var _a;
25
- return !!this.token && !!localStorage.getItem((_a = KoalaEnvironment.environment) === null || _a === void 0 ? void 0 : _a.storageTokenName);
26
- }
27
- static logout() {
28
- this.removeToken();
29
- }
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1rb2FsYS9zcmMvY29yZS9zZXJ2aWNlcy90b2tlbi90b2tlbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUdoQixNQUFNLENBQUMsSUFBSTs7UUFDaEIsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFBLGdCQUFnQixDQUFDLFdBQVcsMENBQUUsZ0JBQWdCLENBQUMsRUFBRTtZQUMxRSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBQSxnQkFBZ0IsQ0FBQyxXQUFXLDBDQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUM3RjtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWE7O1FBQ2xDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBQSxnQkFBZ0IsQ0FBQyxXQUFXLDBDQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXOztRQUN2QixZQUFZLENBQUMsVUFBVSxDQUFDLE1BQUEsZ0JBQWdCLENBQUMsV0FBVywwQ0FBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUTs7UUFDcEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFBLGdCQUFnQixDQUFDLFdBQVcsMENBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU07UUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtvYWxhRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vZW52aXJvbm1lbnRzL2tvYWxhRW52aXJvbm1lbnRcIjtcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBUb2tlbkZhY3Rvcnkge1xuICBwcml2YXRlIHN0YXRpYyB0b2tlbj86IHN0cmluZztcblxuICBwdWJsaWMgc3RhdGljIGluaXQoKSB7XG4gICAgaWYgKCEhbG9jYWxTdG9yYWdlLmdldEl0ZW0oS29hbGFFbnZpcm9ubWVudC5lbnZpcm9ubWVudD8uc3RvcmFnZVRva2VuTmFtZSkpIHtcbiAgICAgIFRva2VuRmFjdG9yeS5zZXRUb2tlbihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShLb2FsYUVudmlyb25tZW50LmVudmlyb25tZW50Py5zdG9yYWdlVG9rZW5OYW1lKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRUb2tlbih0b2tlbjogc3RyaW5nKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oS29hbGFFbnZpcm9ubWVudC5lbnZpcm9ubWVudD8uc3RvcmFnZVRva2VuTmFtZSwgdG9rZW4pO1xuICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW47XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlbW92ZVRva2VuKCkge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKEtvYWxhRW52aXJvbm1lbnQuZW52aXJvbm1lbnQ/LnN0b3JhZ2VUb2tlbk5hbWUpO1xuICAgIHRoaXMudG9rZW4gPSBudWxsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBoYXNUb2tlbigpIHtcbiAgICByZXR1cm4gISF0aGlzLnRva2VuICYmICEhbG9jYWxTdG9yYWdlLmdldEl0ZW0oS29hbGFFbnZpcm9ubWVudC5lbnZpcm9ubWVudD8uc3RvcmFnZVRva2VuTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGxvZ291dCgpIHtcbiAgICB0aGlzLnJlbW92ZVRva2VuKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEueGxzeC1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWtvYWxhL3NyYy9jb3JlL3NlcnZpY2VzL3hsc3gva29hbGEueGxzeC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEtvYWxhWGxzeENvbmZpZ0ludGVyZmFjZSB7XG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIHNoZWV0TmFtZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdGl0bGVGb250Q29sb3I/OiBzdHJpbmc7XG4gIHRpdGxlQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBoZWFkZXJGb250Q29sb3I/OiBzdHJpbmc7XG4gIGhlYWRlckJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,63 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import * as Excel from "exceljs/dist/exceljs.min.js";
3
- import * as fs from 'file-saver';
4
- import { Injectable } from "@angular/core";
5
- import { koala } from "@koalarx/utils";
6
- import * as i0 from "@angular/core";
7
- export class KoalaXlsxService {
8
- convertJsonToXlsx(json, config) {
9
- return __awaiter(this, void 0, void 0, function* () {
10
- const title = config.title;
11
- const header = [];
12
- Object.keys(json[0]).forEach(name => {
13
- header.push(koala(name).string().normalize().getValue().toUpperCase());
14
- });
15
- const workbook = new Excel.Workbook();
16
- const worksheet = workbook.addWorksheet(config.sheetName);
17
- if (config.password)
18
- yield worksheet.protect(config.password, {
19
- selectLockedCells: false,
20
- selectUnlockedCells: false,
21
- scenarios: false
22
- });
23
- const titleRow = worksheet.addRow([title]);
24
- titleRow.alignment = { horizontal: "center" };
25
- titleRow.font = { bold: true, color: { argb: config.titleFontColor.replace('#', '') } };
26
- titleRow.fill = {
27
- type: 'pattern',
28
- pattern: 'solid',
29
- fgColor: { argb: config.titleBackgroundColor.replace('#', '') },
30
- bgColor: { argb: config.titleBackgroundColor.replace('#', '') }
31
- };
32
- worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(json[0]).length).address}`);
33
- const headerRow = worksheet.addRow(header);
34
- headerRow.eachCell((cell, number) => {
35
- cell.fill = {
36
- type: 'pattern',
37
- pattern: 'solid',
38
- fgColor: { argb: config.headerBackgroundColor.replace('#', '') },
39
- bgColor: { argb: config.headerBackgroundColor.replace('#', '') }
40
- };
41
- cell.font = {
42
- color: { argb: config.headerFontColor.replace('#', '') }
43
- };
44
- });
45
- json.forEach(item => {
46
- const data = [];
47
- Object.values(item).forEach(value => data.push(value));
48
- worksheet.addRow(data);
49
- });
50
- workbook.xlsx.writeBuffer().then((data) => {
51
- let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
52
- fs.saveAs(blob, config.filename + '.xlsx');
53
- });
54
- });
55
- }
56
- }
57
- KoalaXlsxService.ɵfac = function KoalaXlsxService_Factory(t) { return new (t || KoalaXlsxService)(); };
58
- KoalaXlsxService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: KoalaXlsxService, factory: KoalaXlsxService.ɵfac, providedIn: "any" });
59
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KoalaXlsxService, [{
60
- type: Injectable,
61
- args: [{ providedIn: "any" }]
62
- }], null, null); })();
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEueGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWtvYWxhL3NyYy9jb3JlL3NlcnZpY2VzL3hsc3gva29hbGEueGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd2QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRWQsaUJBQWlCLENBQUMsSUFBVyxFQUFFLE1BQWdDOztZQUMxRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzNCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUVsQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN6RSxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sUUFBUSxHQUF5QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxRCxJQUFJLE1BQU0sQ0FBQyxRQUFRO2dCQUFFLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUM1RCxpQkFBaUIsRUFBRSxL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Z0JBQWdCLG1CQURKLEtBQUs7dUZBQ2pCLGdCQUFnQjtjQUQ1QixVQUFVO2VBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgRXhjZWwgZnJvbSBcImV4Y2VsanMvZGlzdC9leGNlbGpzLm1pbi5qc1wiO1xuaW1wb3J0ICogYXMgRXhjZWxQcm9wZXIgZnJvbSBcImV4Y2VsanNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZpbGUtc2F2ZXInO1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEtvYWxhWGxzeENvbmZpZ0ludGVyZmFjZSB9IGZyb20gXCIuL2tvYWxhLnhsc3gtY29uZmlnLmludGVyZmFjZVwiO1xuaW1wb3J0IHsga29hbGEgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHNcIjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46IFwiYW55XCJ9KVxuZXhwb3J0IGNsYXNzIEtvYWxhWGxzeFNlcnZpY2Uge1xuXG4gIHB1YmxpYyBhc3luYyBjb252ZXJ0SnNvblRvWGxzeChqc29uOiBhbnlbXSwgY29uZmlnOiBLb2FsYVhsc3hDb25maWdJbnRlcmZhY2UpIHtcbiAgICBjb25zdCB0aXRsZSA9IGNvbmZpZy50aXRsZTtcbiAgICBjb25zdCBoZWFkZXIgPSBbXTtcblxuICAgIE9iamVjdC5rZXlzKGpzb25bMF0pLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICBoZWFkZXIucHVzaChrb2FsYShuYW1lKS5zdHJpbmcoKS5ub3JtYWxpemUoKS5nZXRWYWx1ZSgpLnRvVXBwZXJDYXNlKCkpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgd29ya2Jvb2s6IEV4Y2VsUHJvcGVyLldvcmtib29rID0gbmV3IEV4Y2VsLldvcmtib29rKCk7XG4gICAgY29uc3Qgd29ya3NoZWV0ID0gd29ya2Jvb2suYWRkV29ya3NoZWV0KGNvbmZpZy5zaGVldE5hbWUpO1xuICAgIGlmIChjb25maWcucGFzc3dvcmQpIGF3YWl0IHdvcmtzaGVldC5wcm90ZWN0KGNvbmZpZy5wYXNzd29yZCwge1xuICAgICAgc2VsZWN0TG9ja2VkQ2VsbHM6IGZhbHNlLFxuICAgICAgc2VsZWN0VW5sb2NrZWRDZWxsczogZmFsc2UsXG4gICAgICBzY2VuYXJpb3M6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBjb25zdCB0aXRsZVJvdyA9IHdvcmtzaGVldC5hZGRSb3coW3RpdGxlXSk7XG4gICAgdGl0bGVSb3cuYWxpZ25tZW50ID0ge2hvcml6b250YWw6IFwiY2VudGVyXCJ9O1xuICAgIHRpdGxlUm93LmZvbnQgPSB7Ym9sZDogdHJ1ZSwgY29sb3I6IHthcmdiOiBjb25maWcudGl0bGVGb250Q29sb3IucmVwbGFjZSgnIycsICcnKX19O1xuICAgIHRpdGxlUm93LmZpbGwgPSB7XG4gICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgZmdDb2xvcjoge2FyZ2I6IGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfSxcbiAgICAgIGJnQ29sb3I6IHthcmdiOiBjb25maWcudGl0bGVCYWNrZ3JvdW5kQ29sb3IucmVwbGFjZSgnIycsICcnKX1cbiAgICB9XG4gICAgd29ya3NoZWV0Lm1lcmdlQ2VsbHMoYEExOiR7d29ya3NoZWV0LmdldENlbGwoMSwgT2JqZWN0LmtleXMoanNvblswXSkubGVuZ3RoKS5hZGRyZXNzfWApO1xuXG4gICAgY29uc3QgaGVhZGVyUm93ID0gd29ya3NoZWV0LmFkZFJvdyhoZWFkZXIpO1xuICAgIGhlYWRlclJvdy5lYWNoQ2VsbCgoY2VsbCwgbnVtYmVyKSA9PiB7XG4gICAgICBjZWxsLmZpbGwgPSB7XG4gICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgcGF0dGVybjogJ3NvbGlkJyxcbiAgICAgICAgZmdDb2xvcjoge2FyZ2I6IGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IucmVwbGFjZSgnIycsICcnKX0sXG4gICAgICAgIGJnQ29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9XG4gICAgICB9O1xuICAgICAgY2VsbC5mb250ID0ge1xuICAgICAgICBjb2xvcjoge2FyZ2I6IGNvbmZpZy5oZWFkZXJGb250Q29sb3IucmVwbGFjZSgnIycsICcnKX1cbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBqc29uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gW107XG4gICAgICBPYmplY3QudmFsdWVzKGl0ZW0pLmZvckVhY2godmFsdWUgPT4gZGF0YS5wdXNoKHZhbHVlKSk7XG4gICAgICB3b3Jrc2hlZXQuYWRkUm93KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGxldCBibG9iID0gbmV3IEJsb2IoW2RhdGFdLCB7dHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0J30pO1xuICAgICAgZnMuc2F2ZUFzKGJsb2IsIGNvbmZpZy5maWxlbmFtZSArICcueGxzeCcpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/dialog";
5
- import * as i3 from "@angular/material/button";
6
- import * as i4 from "@angular/material/icon";
7
- function DialogComponent_div_0_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
8
- i0.ɵɵelementStart(0, "mat-icon");
9
- i0.ɵɵtext(1);
10
- i0.ɵɵelementEnd();
11
- } if (rf & 2) {
12
- const ctx_r1 = i0.ɵɵnextContext(2);
13
- i0.ɵɵadvance(1);
14
- i0.ɵɵtextInterpolate(ctx_r1.iconTitleDialog);
15
- } }
16
- function DialogComponent_div_0_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelementStart(0, "div", 3);
18
- i0.ɵɵtemplate(1, DialogComponent_div_0_mat_icon_1_Template, 2, 1, "mat-icon", 4);
19
- i0.ɵɵelementStart(2, "h2");
20
- i0.ɵɵtext(3);
21
- i0.ɵɵelementEnd();
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- const ctx_r0 = i0.ɵɵnextContext();
25
- i0.ɵɵadvance(1);
26
- i0.ɵɵproperty("ngIf", ctx_r0.iconTitleDialog);
27
- i0.ɵɵadvance(2);
28
- i0.ɵɵtextInterpolate1(" ", ctx_r0.titleDialog, " ");
29
- } }
30
- const _c0 = [[["", "dialog-content", ""]], [["", "dialog-actions", ""]]];
31
- const _c1 = ["[dialog-content]", "[dialog-actions]"];
32
- export class DialogComponent {
33
- }
34
- DialogComponent.ɵfac = function DialogComponent_Factory(t) { return new (t || DialogComponent)(); };
35
- DialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DialogComponent, selectors: [["koala-dialog"]], inputs: { titleDialog: "titleDialog", iconTitleDialog: "iconTitleDialog", triggerDialogClose: "triggerDialogClose", btnCloseLabel: "btnCloseLabel", btnCloseColor: "btnCloseColor" }, ngContentSelectors: _c1, decls: 7, vars: 4, consts: [["mat-dialog-title", "", 4, "ngIf"], ["align", "end", "mat-dialog-actions", ""], ["mat-button", "", 1, "mr-8", 3, "color", "mat-dialog-close"], ["mat-dialog-title", ""], [4, "ngIf"]], template: function DialogComponent_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵprojectionDef(_c0);
37
- i0.ɵɵtemplate(0, DialogComponent_div_0_Template, 4, 2, "div", 0);
38
- i0.ɵɵelementStart(1, "mat-dialog-content");
39
- i0.ɵɵprojection(2);
40
- i0.ɵɵelementEnd();
41
- i0.ɵɵelementStart(3, "div", 1);
42
- i0.ɵɵelementStart(4, "button", 2);
43
- i0.ɵɵtext(5);
44
- i0.ɵɵelementEnd();
45
- i0.ɵɵprojection(6, 1);
46
- i0.ɵɵelementEnd();
47
- } if (rf & 2) {
48
- i0.ɵɵproperty("ngIf", ctx.titleDialog);
49
- i0.ɵɵadvance(4);
50
- i0.ɵɵproperty("color", ctx.btnCloseColor)("mat-dialog-close", ctx.triggerDialogClose);
51
- i0.ɵɵadvance(1);
52
- i0.ɵɵtextInterpolate1(" ", ctx.btnCloseLabel, " ");
53
- } }, directives: [i1.NgIf, i2.MatDialogContent, i2.MatDialogActions, i3.MatButton, i2.MatDialogClose, i2.MatDialogTitle, i4.MatIcon], encapsulation: 2, changeDetection: 0 });
54
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogComponent, [{
55
- type: Component,
56
- args: [{
57
- selector: 'koala-dialog',
58
- templateUrl: 'dialog.component.html',
59
- changeDetection: ChangeDetectionStrategy.OnPush
60
- }]
61
- }], null, { titleDialog: [{
62
- type: Input
63
- }], iconTitleDialog: [{
64
- type: Input
65
- }], triggerDialogClose: [{
66
- type: Input
67
- }], btnCloseLabel: [{
68
- type: Input
69
- }], btnCloseColor: [{
70
- type: Input
71
- }] }); })();
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1rb2FsYS9zcmMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gta29hbGEvc3JjL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNDeEUsZ0NBQWtDO0lBQUEsWUFBbUI7SUFBQSxpQkFBVzs7O0lBQTlCLGVBQW1CO0lBQW5CLDRDQUFtQjs7O0lBRHZELDhCQUEwQztJQUN4QyxnRkFBZ0U7SUFDaEUsMEJBQUk7SUFDRixZQUNGO0lBQUEsaUJBQUs7SUFDUCxpQkFBTTs7O0lBSk8sZUFBcUI7SUFBckIsNkNBQXFCO0lBRTlCLGVBQ0Y7SUFERSxtREFDRjs7OztBRElGLE1BQU0sT0FBTyxlQUFlOzs4RUFBZixlQUFlO2tFQUFmLGVBQWU7O1FDUjVCLGdFQUtNO1FBQ04sMENBQW9CO1FBQ2xCLGtCQUFtRDtRQUNyRCxpQkFBcUI7UUFDckIsOEJBQW9DO1FBQ2xDLGlDQUFnRztRQUM5RixZQUNGO1FBQUEsaUJBQVM7UUFDVCxxQkFBbUQ7UUFDckQsaUJBQU07O1FBZEEsc0NBQWlCO1FBVWIsZUFBdUI7UUFBdkIseUNBQXVCLDRDQUFBO1FBQzdCLGVBQ0Y7UUFERSxrREFDRjs7dUZESlcsZUFBZTtjQUwzQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO2dCQUVVLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxlQUFlO2tCQUF2QixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tvYWxhLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGVEaWFsb2c6IHN0cmluZztcbiAgQElucHV0KCkgaWNvblRpdGxlRGlhbG9nOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRyaWdnZXJEaWFsb2dDbG9zZTogc3RyaW5nO1xuICBASW5wdXQoKSBidG5DbG9zZUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJ0bkNsb3NlQ29sb3I6IFRoZW1lUGFsZXR0ZTtcbn1cbiIsIjxkaXYgKm5nSWY9XCJ0aXRsZURpYWxvZ1wiIG1hdC1kaWFsb2ctdGl0bGU+XG4gIDxtYXQtaWNvbiAqbmdJZj1cImljb25UaXRsZURpYWxvZ1wiPnt7aWNvblRpdGxlRGlhbG9nfX08L21hdC1pY29uPlxuICA8aDI+XG4gICAge3t0aXRsZURpYWxvZ319XG4gIDwvaDI+XG48L2Rpdj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltkaWFsb2ctY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG48L21hdC1kaWFsb2ctY29udGVudD5cbjxkaXYgYWxpZ249XCJlbmRcIiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDxidXR0b24gW2NvbG9yXT1cImJ0bkNsb3NlQ29sb3JcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cmlnZ2VyRGlhbG9nQ2xvc2VcIiBjbGFzcz1cIm1yLThcIiBtYXQtYnV0dG9uPlxuICAgIHt7YnRuQ2xvc2VMYWJlbH19XG4gIDwvYnV0dG9uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGlhbG9nLWFjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,7 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-koala
3
- */
4
- export * from './dialog.component';
5
- export * from './koala.dialog.module';
6
- export * from './koala.dialog.service';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gta29hbGEvc3JjL2RpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gta29hbGFcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9rb2FsYS5kaWFsb2cubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4va29hbGEuZGlhbG9nLnNlcnZpY2UnO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEuZGlhbG9nLXRlbXBsYXRlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1rb2FsYS9zcmMvZGlhbG9nL2tvYWxhLmRpYWxvZy10ZW1wbGF0ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFEaWFsb2dUZW1wbGF0ZUludGVyZmFjZSB7XG4gIGF1dG86IE1hdERpYWxvZ0NvbmZpZztcbiAgc21hbGw6IE1hdERpYWxvZ0NvbmZpZztcbiAgbm9ybWFsOiBNYXREaWFsb2dDb25maWc7XG4gIGJpZzogTWF0RGlhbG9nQ29uZmlnO1xuICBmdWxsU2NyZWVuOiBNYXREaWFsb2dDb25maWc7XG4gIG1vYmlsZTogTWF0RGlhbG9nQ29uZmlnO1xufVxuIl19
@@ -1,39 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DialogComponent } from './dialog.component';
3
- import { CommonModule } from '@angular/common';
4
- import { MatDialogModule } from '@angular/material/dialog';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import * as i0 from "@angular/core";
8
- export class KoalaDialogModule {
9
- }
10
- KoalaDialogModule.ɵfac = function KoalaDialogModule_Factory(t) { return new (t || KoalaDialogModule)(); };
11
- KoalaDialogModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: KoalaDialogModule });
12
- KoalaDialogModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
13
- CommonModule,
14
- MatIconModule,
15
- MatButtonModule,
16
- MatDialogModule
17
- ]] });
18
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KoalaDialogModule, [{
19
- type: NgModule,
20
- args: [{
21
- declarations: [
22
- DialogComponent
23
- ],
24
- imports: [
25
- CommonModule,
26
- MatIconModule,
27
- MatButtonModule,
28
- MatDialogModule
29
- ],
30
- exports: [
31
- DialogComponent
32
- ]
33
- }]
34
- }], null, null); })();
35
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(KoalaDialogModule, { declarations: [DialogComponent], imports: [CommonModule,
36
- MatIconModule,
37
- MatButtonModule,
38
- MatDialogModule], exports: [DialogComponent] }); })();
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEuZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1rb2FsYS9zcmMvZGlhbG9nL2tvYWxhLmRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWdCdkQsTUFBTSxPQUFPLGlCQUFpQjs7a0ZBQWpCLGlCQUFpQjttRUFBakIsaUJBQWlCO3VFQVZuQjtZQUNQLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7U0FDaEI7dUZBS1UsaUJBQWlCO2NBZDdCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixlQUFlO29CQUNmLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxlQUFlO2lCQUNoQjthQUNGOzt3RkFDWSxpQkFBaUIsbUJBWjFCLGVBQWUsYUFHZixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlLGFBR2YsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEaWFsb2dDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERpYWxvZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEtvYWxhRGlhbG9nTW9kdWxlIHtcbn1cbiJdfQ==