monkey-front-core 0.0.603 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/README.md +3 -4
  2. package/fesm2022/monkey-front-core.mjs +5727 -0
  3. package/fesm2022/monkey-front-core.mjs.map +1 -0
  4. package/monkey-front-core-21.0.0.tgz +0 -0
  5. package/package.json +26 -39
  6. package/types/monkey-front-core.d.ts +1763 -0
  7. package/esm2020/lib/components/alerts/alerts.component.mjs +0 -45
  8. package/esm2020/lib/components/alerts/alerts.module.mjs +0 -21
  9. package/esm2020/lib/components/alerts/index.mjs +0 -3
  10. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +0 -29
  11. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +0 -43
  12. package/esm2020/lib/components/closed-to-maintenance/index.mjs +0 -3
  13. package/esm2020/lib/components/currency-config/currency-config.component.mjs +0 -39
  14. package/esm2020/lib/components/currency-config/currency-config.module.mjs +0 -39
  15. package/esm2020/lib/components/currency-config/index.mjs +0 -3
  16. package/esm2020/lib/components/index.mjs +0 -6
  17. package/esm2020/lib/components/progress-bar/index.mjs +0 -4
  18. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -23
  19. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +0 -18
  20. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +0 -50
  21. package/esm2020/lib/components/version-changed/index.mjs +0 -3
  22. package/esm2020/lib/components/version-changed/version-changed.component.mjs +0 -24
  23. package/esm2020/lib/components/version-changed/version-changed.module.mjs +0 -39
  24. package/esm2020/lib/core/decorators/index.mjs +0 -5
  25. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +0 -40
  26. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +0 -111
  27. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +0 -26
  28. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +0 -26
  29. package/esm2020/lib/core/directives/index.mjs +0 -14
  30. package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +0 -78
  31. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +0 -57
  32. package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +0 -54
  33. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +0 -68
  34. package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +0 -44
  35. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +0 -67
  36. package/esm2020/lib/core/directives/monkeyecx-loading.mjs +0 -48
  37. package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +0 -28
  38. package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +0 -28
  39. package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +0 -39
  40. package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +0 -212
  41. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +0 -75
  42. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +0 -123
  43. package/esm2020/lib/core/index.mjs +0 -11
  44. package/esm2020/lib/core/injectors/index.mjs +0 -8
  45. package/esm2020/lib/core/interceptors/index.mjs +0 -6
  46. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +0 -49
  47. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +0 -59
  48. package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +0 -47
  49. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +0 -43
  50. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +0 -37
  51. package/esm2020/lib/core/interfaces/index.mjs +0 -37
  52. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +0 -2
  53. package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +0 -2
  54. package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +0 -2
  55. package/esm2020/lib/core/interfaces/monkeyecx-config-bootstrap.mjs +0 -2
  56. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +0 -2
  57. package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +0 -2
  58. package/esm2020/lib/core/interfaces/monkeyecx-embedded.mjs +0 -2
  59. package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +0 -2
  60. package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +0 -2
  61. package/esm2020/lib/core/interfaces/monkeyecx-group.mjs +0 -2
  62. package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +0 -2
  63. package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +0 -2
  64. package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +0 -2
  65. package/esm2020/lib/core/interfaces/monkeyecx-interface.mjs +0 -2
  66. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +0 -2
  67. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +0 -2
  68. package/esm2020/lib/core/interfaces/monkeyecx-pagination.mjs +0 -2
  69. package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +0 -2
  70. package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +0 -2
  71. package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +0 -2
  72. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +0 -2
  73. package/esm2020/lib/core/interfaces/monkeyecx-resolver.mjs +0 -2
  74. package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +0 -2
  75. package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +0 -2
  76. package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +0 -2
  77. package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +0 -2
  78. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +0 -2
  79. package/esm2020/lib/core/interfaces/monkeyecx-storage.mjs +0 -2
  80. package/esm2020/lib/core/interfaces/monkeyecx-store.mjs +0 -2
  81. package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +0 -2
  82. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +0 -2
  83. package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +0 -2
  84. package/esm2020/lib/core/interfaces/request-download/index.mjs +0 -4
  85. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +0 -2
  86. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +0 -2
  87. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +0 -2
  88. package/esm2020/lib/core/interfaces/request-queue/index.mjs +0 -4
  89. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +0 -2
  90. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +0 -2
  91. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +0 -2
  92. package/esm2020/lib/core/interfaces/request-upload/index.mjs +0 -3
  93. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +0 -2
  94. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +0 -2
  95. package/esm2020/lib/core/interfaces/schedules/index.mjs +0 -2
  96. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +0 -2
  97. package/esm2020/lib/core/model/index.mjs +0 -3
  98. package/esm2020/lib/core/model/monkeyecx-links.model.mjs +0 -8
  99. package/esm2020/lib/core/model/monkeyecx-model.mjs +0 -26
  100. package/esm2020/lib/core/pipes/index.mjs +0 -24
  101. package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +0 -26
  102. package/esm2020/lib/core/pipes/monkeyecx-currency-code.mjs +0 -30
  103. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +0 -19
  104. package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +0 -21
  105. package/esm2020/lib/core/pipes/monkeyecx-display-support-phone.mjs +0 -33
  106. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +0 -20
  107. package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +0 -38
  108. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +0 -48
  109. package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +0 -45
  110. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +0 -32
  111. package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +0 -36
  112. package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +0 -30
  113. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +0 -20
  114. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +0 -20
  115. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +0 -42
  116. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +0 -20
  117. package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +0 -23
  118. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +0 -19
  119. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +0 -19
  120. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +0 -19
  121. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +0 -127
  122. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +0 -23
  123. package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +0 -16
  124. package/esm2020/lib/core/services/alerts/index.mjs +0 -2
  125. package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +0 -88
  126. package/esm2020/lib/core/services/auth/index.mjs +0 -6
  127. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +0 -28
  128. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +0 -27
  129. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-role.service.mjs +0 -77
  130. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +0 -26
  131. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +0 -79
  132. package/esm2020/lib/core/services/commons/index.mjs +0 -4
  133. package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve-base.service.mjs +0 -109
  134. package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve.service.mjs +0 -127
  135. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +0 -362
  136. package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +0 -43
  137. package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +0 -28
  138. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +0 -107
  139. package/esm2020/lib/core/services/config/monkeyecx-currency-config.service.mjs +0 -84
  140. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +0 -85
  141. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +0 -77
  142. package/esm2020/lib/core/services/config/monkeyecx-gtm-config.service.mjs +0 -47
  143. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +0 -162
  144. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +0 -84
  145. package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +0 -37
  146. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +0 -48
  147. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +0 -55
  148. package/esm2020/lib/core/services/error/index.mjs +0 -5
  149. package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +0 -27
  150. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +0 -37
  151. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +0 -149
  152. package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +0 -49
  153. package/esm2020/lib/core/services/index.mjs +0 -27
  154. package/esm2020/lib/core/services/l/index.mjs +0 -2
  155. package/esm2020/lib/core/services/l/l.service.mjs +0 -45
  156. package/esm2020/lib/core/services/logged/index.mjs +0 -2
  157. package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +0 -40
  158. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +0 -50
  159. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +0 -109
  160. package/esm2020/lib/core/services/pagination/index.mjs +0 -2
  161. package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +0 -29
  162. package/esm2020/lib/core/services/request-download/index.mjs +0 -3
  163. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +0 -93
  164. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +0 -61
  165. package/esm2020/lib/core/services/request-paged/index.mjs +0 -2
  166. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +0 -42
  167. package/esm2020/lib/core/services/request-queue/index.mjs +0 -3
  168. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +0 -114
  169. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +0 -119
  170. package/esm2020/lib/core/services/routes/index.mjs +0 -2
  171. package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +0 -54
  172. package/esm2020/lib/core/services/schedules/index.mjs +0 -2
  173. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +0 -188
  174. package/esm2020/lib/core/services/storage/index.mjs +0 -3
  175. package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +0 -32
  176. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +0 -237
  177. package/esm2020/lib/core/services/store/index.mjs +0 -5
  178. package/esm2020/lib/core/services/store/monkeyecx-store-base.service.mjs +0 -174
  179. package/esm2020/lib/core/services/store/monkeyecx-store.actions.mjs +0 -26
  180. package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +0 -87
  181. package/esm2020/lib/core/services/store/monkeyecx-store.service.mjs +0 -195
  182. package/esm2020/lib/core/specification-search/index.mjs +0 -2
  183. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +0 -108
  184. package/esm2020/lib/core/utils/decorators-utils.mjs +0 -40
  185. package/esm2020/lib/core/utils/index.mjs +0 -8
  186. package/esm2020/lib/core/utils/statics.mjs +0 -47
  187. package/esm2020/lib/core/utils/utils.mjs +0 -469
  188. package/esm2020/lib/core/utils/validate-utils.mjs +0 -219
  189. package/esm2020/lib/core/utils/validators.mjs +0 -327
  190. package/esm2020/lib/monkey-front-core.module.mjs +0 -71
  191. package/esm2020/lib/store/actions/index.mjs +0 -2
  192. package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +0 -8
  193. package/esm2020/lib/store/index.mjs +0 -4
  194. package/esm2020/lib/store/reducers/index.mjs +0 -3
  195. package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +0 -53
  196. package/esm2020/lib/store/reducers/monkeyecx-storage.reducer.mjs +0 -40
  197. package/esm2020/lib/store/selectors/index.mjs +0 -2
  198. package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +0 -17
  199. package/esm2020/monkey-front-core.mjs +0 -5
  200. package/esm2020/public-api.mjs +0 -8
  201. package/fesm2015/monkey-front-core.mjs +0 -7239
  202. package/fesm2015/monkey-front-core.mjs.map +0 -1
  203. package/fesm2020/monkey-front-core.mjs +0 -7249
  204. package/fesm2020/monkey-front-core.mjs.map +0 -1
  205. package/lib/components/alerts/alerts.component.d.ts +0 -22
  206. package/lib/components/alerts/alerts.module.d.ts +0 -10
  207. package/lib/components/alerts/index.d.ts +0 -2
  208. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +0 -13
  209. package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +0 -11
  210. package/lib/components/closed-to-maintenance/index.d.ts +0 -2
  211. package/lib/components/currency-config/currency-config.component.d.ts +0 -17
  212. package/lib/components/currency-config/currency-config.module.d.ts +0 -10
  213. package/lib/components/currency-config/index.d.ts +0 -2
  214. package/lib/components/index.d.ts +0 -5
  215. package/lib/components/progress-bar/index.d.ts +0 -3
  216. package/lib/components/progress-bar/progress-bar.component.d.ts +0 -11
  217. package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
  218. package/lib/components/progress-bar/progress-bar.service.d.ts +0 -14
  219. package/lib/components/version-changed/index.d.ts +0 -2
  220. package/lib/components/version-changed/version-changed.component.d.ts +0 -9
  221. package/lib/components/version-changed/version-changed.module.d.ts +0 -10
  222. package/lib/core/decorators/index.d.ts +0 -4
  223. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +0 -1
  224. package/lib/core/decorators/monkeyecx-decorators.d.ts +0 -7
  225. package/lib/core/decorators/monkeyecx-download-decorators.d.ts +0 -2
  226. package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +0 -2
  227. package/lib/core/directives/index.d.ts +0 -13
  228. package/lib/core/directives/monkeyecx-directives-module.d.ts +0 -20
  229. package/lib/core/directives/monkeyecx-drag-drop.d.ts +0 -12
  230. package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +0 -16
  231. package/lib/core/directives/monkeyecx-feature-directive.d.ts +0 -17
  232. package/lib/core/directives/monkeyecx-format-currency.d.ts +0 -16
  233. package/lib/core/directives/monkeyecx-format-upper.d.ts +0 -18
  234. package/lib/core/directives/monkeyecx-loading.d.ts +0 -16
  235. package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +0 -9
  236. package/lib/core/directives/monkeyecx-only-number-directive.d.ts +0 -9
  237. package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +0 -19
  238. package/lib/core/directives/monkeyecx-popover.directive.d.ts +0 -43
  239. package/lib/core/directives/monkeyecx-security-directive.d.ts +0 -18
  240. package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +0 -23
  241. package/lib/core/index.d.ts +0 -10
  242. package/lib/core/injectors/index.d.ts +0 -7
  243. package/lib/core/interceptors/index.d.ts +0 -5
  244. package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +0 -18
  245. package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +0 -16
  246. package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +0 -9
  247. package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +0 -12
  248. package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +0 -14
  249. package/lib/core/interfaces/index.d.ts +0 -36
  250. package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +0 -15
  251. package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +0 -14
  252. package/lib/core/interfaces/monkeyecx-company.d.ts +0 -10
  253. package/lib/core/interfaces/monkeyecx-config-bootstrap.d.ts +0 -14
  254. package/lib/core/interfaces/monkeyecx-config.d.ts +0 -132
  255. package/lib/core/interfaces/monkeyecx-country-security.d.ts +0 -4
  256. package/lib/core/interfaces/monkeyecx-embedded.d.ts +0 -7
  257. package/lib/core/interfaces/monkeyecx-error-response.d.ts +0 -5
  258. package/lib/core/interfaces/monkeyecx-filter.d.ts +0 -42
  259. package/lib/core/interfaces/monkeyecx-group.d.ts +0 -13
  260. package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +0 -10
  261. package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +0 -4
  262. package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +0 -4
  263. package/lib/core/interfaces/monkeyecx-interface.d.ts +0 -11
  264. package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +0 -20
  265. package/lib/core/interfaces/monkeyecx-navigation.d.ts +0 -30
  266. package/lib/core/interfaces/monkeyecx-pagination.d.ts +0 -26
  267. package/lib/core/interfaces/monkeyecx-program.d.ts +0 -10
  268. package/lib/core/interfaces/monkeyecx-releases.d.ts +0 -9
  269. package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +0 -3
  270. package/lib/core/interfaces/monkeyecx-request-paged.d.ts +0 -23
  271. package/lib/core/interfaces/monkeyecx-resolver.d.ts +0 -39
  272. package/lib/core/interfaces/monkeyecx-response-links.d.ts +0 -11
  273. package/lib/core/interfaces/monkeyecx-response-paged.d.ts +0 -6
  274. package/lib/core/interfaces/monkeyecx-saved-state.d.ts +0 -5
  275. package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +0 -5
  276. package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +0 -12
  277. package/lib/core/interfaces/monkeyecx-storage.d.ts +0 -35
  278. package/lib/core/interfaces/monkeyecx-store.d.ts +0 -45
  279. package/lib/core/interfaces/monkeyecx-support-options.d.ts +0 -4
  280. package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +0 -30
  281. package/lib/core/interfaces/monkeyecx-translate-options.d.ts +0 -4
  282. package/lib/core/interfaces/request-download/index.d.ts +0 -3
  283. package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +0 -10
  284. package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +0 -7
  285. package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +0 -7
  286. package/lib/core/interfaces/request-queue/index.d.ts +0 -3
  287. package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +0 -7
  288. package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +0 -6
  289. package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +0 -8
  290. package/lib/core/interfaces/request-upload/index.d.ts +0 -2
  291. package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +0 -5
  292. package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +0 -10
  293. package/lib/core/interfaces/schedules/index.d.ts +0 -1
  294. package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +0 -13
  295. package/lib/core/model/index.d.ts +0 -2
  296. package/lib/core/model/monkeyecx-links.model.d.ts +0 -4
  297. package/lib/core/model/monkeyecx-model.d.ts +0 -14
  298. package/lib/core/pipes/index.d.ts +0 -23
  299. package/lib/core/pipes/monkeyecx-blob-secure.d.ts +0 -13
  300. package/lib/core/pipes/monkeyecx-currency-code.d.ts +0 -9
  301. package/lib/core/pipes/monkeyecx-display-first-name.d.ts +0 -7
  302. package/lib/core/pipes/monkeyecx-display-initials.d.ts +0 -7
  303. package/lib/core/pipes/monkeyecx-display-support-phone.d.ts +0 -18
  304. package/lib/core/pipes/monkeyecx-format-address.d.ts +0 -14
  305. package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +0 -8
  306. package/lib/core/pipes/monkeyecx-format-currency.d.ts +0 -12
  307. package/lib/core/pipes/monkeyecx-format-date-group.d.ts +0 -11
  308. package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +0 -7
  309. package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +0 -7
  310. package/lib/core/pipes/monkeyecx-format-date.d.ts +0 -12
  311. package/lib/core/pipes/monkeyecx-format-document.d.ts +0 -7
  312. package/lib/core/pipes/monkeyecx-format-number.d.ts +0 -7
  313. package/lib/core/pipes/monkeyecx-format-phone.d.ts +0 -7
  314. package/lib/core/pipes/monkeyecx-format-size.d.ts +0 -7
  315. package/lib/core/pipes/monkeyecx-format-tax.d.ts +0 -7
  316. package/lib/core/pipes/monkeyecx-format-type-document.d.ts +0 -7
  317. package/lib/core/pipes/monkeyecx-format-value.d.ts +0 -7
  318. package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +0 -7
  319. package/lib/core/pipes/monkeyecx-pipes.module.d.ts +0 -28
  320. package/lib/core/pipes/monkeyecx-text-truncate.d.ts +0 -7
  321. package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +0 -7
  322. package/lib/core/services/alerts/index.d.ts +0 -1
  323. package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +0 -49
  324. package/lib/core/services/auth/index.d.ts +0 -5
  325. package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +0 -10
  326. package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +0 -10
  327. package/lib/core/services/auth/monkeyecx-auth-guard-role.service.d.ts +0 -16
  328. package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +0 -10
  329. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +0 -35
  330. package/lib/core/services/commons/index.d.ts +0 -3
  331. package/lib/core/services/commons/monkeyecx-commons-resolve-base.service.d.ts +0 -46
  332. package/lib/core/services/commons/monkeyecx-commons-resolve.service.d.ts +0 -60
  333. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +0 -120
  334. package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +0 -11
  335. package/lib/core/services/config/monkeyecx-config.module.d.ts +0 -9
  336. package/lib/core/services/config/monkeyecx-config.service.d.ts +0 -36
  337. package/lib/core/services/config/monkeyecx-currency-config.service.d.ts +0 -15
  338. package/lib/core/services/config/monkeyecx-error-config.service.d.ts +0 -8
  339. package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +0 -17
  340. package/lib/core/services/config/monkeyecx-gtm-config.service.d.ts +0 -8
  341. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +0 -24
  342. package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +0 -14
  343. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +0 -13
  344. package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +0 -12
  345. package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +0 -16
  346. package/lib/core/services/error/index.d.ts +0 -4
  347. package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +0 -9
  348. package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +0 -9
  349. package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +0 -26
  350. package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +0 -11
  351. package/lib/core/services/index.d.ts +0 -26
  352. package/lib/core/services/l/index.d.ts +0 -1
  353. package/lib/core/services/l/l.service.d.ts +0 -11
  354. package/lib/core/services/logged/index.d.ts +0 -1
  355. package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +0 -14
  356. package/lib/core/services/monkeyecx-handling.service.d.ts +0 -22
  357. package/lib/core/services/monkeyecx-service.service.d.ts +0 -19
  358. package/lib/core/services/pagination/index.d.ts +0 -1
  359. package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +0 -9
  360. package/lib/core/services/request-download/index.d.ts +0 -2
  361. package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +0 -18
  362. package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +0 -16
  363. package/lib/core/services/request-paged/index.d.ts +0 -1
  364. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +0 -11
  365. package/lib/core/services/request-queue/index.d.ts +0 -2
  366. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +0 -21
  367. package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +0 -23
  368. package/lib/core/services/routes/index.d.ts +0 -1
  369. package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +0 -13
  370. package/lib/core/services/schedules/index.d.ts +0 -1
  371. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +0 -47
  372. package/lib/core/services/storage/index.d.ts +0 -2
  373. package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +0 -11
  374. package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +0 -30
  375. package/lib/core/services/store/index.d.ts +0 -4
  376. package/lib/core/services/store/monkeyecx-store-base.service.d.ts +0 -47
  377. package/lib/core/services/store/monkeyecx-store.actions.d.ts +0 -42
  378. package/lib/core/services/store/monkeyecx-store.selector.d.ts +0 -32
  379. package/lib/core/services/store/monkeyecx-store.service.d.ts +0 -50
  380. package/lib/core/specification-search/index.d.ts +0 -1
  381. package/lib/core/specification-search/monkeyecx-specification-search.d.ts +0 -20
  382. package/lib/core/utils/decorators-utils.d.ts +0 -5
  383. package/lib/core/utils/index.d.ts +0 -6
  384. package/lib/core/utils/statics.d.ts +0 -36
  385. package/lib/core/utils/utils.d.ts +0 -39
  386. package/lib/core/utils/validate-utils.d.ts +0 -71
  387. package/lib/core/utils/validators.d.ts +0 -43
  388. package/lib/monkey-front-core.module.d.ts +0 -19
  389. package/lib/store/actions/index.d.ts +0 -1
  390. package/lib/store/actions/monkeyecx-storage.actions.d.ts +0 -23
  391. package/lib/store/index.d.ts +0 -3
  392. package/lib/store/reducers/index.d.ts +0 -2
  393. package/lib/store/reducers/monkeyecx-seeder.reducer.d.ts +0 -2
  394. package/lib/store/reducers/monkeyecx-storage.reducer.d.ts +0 -13
  395. package/lib/store/selectors/index.d.ts +0 -1
  396. package/lib/store/selectors/monkeyecx-storage.selector.d.ts +0 -8
  397. package/monkey-front-core-0.0.603.tgz +0 -0
  398. package/monkey-front-core.d.ts +0 -5
  399. package/public-api.d.ts +0 -4
@@ -1,67 +0,0 @@
1
- import { Directive, forwardRef, HostListener, Self } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- export class MonkeyEcxFormatUpper {
5
- constructor(_el, _renderer) {
6
- this._el = _el;
7
- this._renderer = _renderer;
8
- // not to do
9
- }
10
- onKeyDown(evt) {
11
- const value = this._el.nativeElement.value.toUpperCase();
12
- this._renderer.setProperty(this._el.nativeElement, 'value', value);
13
- this._onChange?.(value);
14
- evt.preventDefault();
15
- }
16
- onBlur() {
17
- this._touched?.();
18
- }
19
- writeValue(value) {
20
- this._renderer.setProperty(this._el.nativeElement, 'value', value);
21
- }
22
- registerOnChange(fn) {
23
- this._onChange = fn;
24
- }
25
- registerOnTouched(fn) {
26
- this._touched = fn;
27
- }
28
- setDisabledState(isDisabled) {
29
- this._renderer.setProperty(this._el.nativeElement, 'disabled', isDisabled);
30
- }
31
- }
32
- MonkeyEcxFormatUpper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFormatUpper, deps: [{ token: i0.ElementRef, self: true }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
33
- MonkeyEcxFormatUpper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxFormatUpper, selector: "[monkeyecxFormatUpper]", host: { listeners: { "keyup": "onKeyDown($event)", "blur": "onBlur($event)" } }, providers: [
34
- {
35
- provide: NG_VALUE_ACCESSOR,
36
- useExisting: forwardRef(() => {
37
- // eslint-disable-next-line no-use-before-define
38
- return MonkeyEcxFormatUpper;
39
- }),
40
- multi: true,
41
- },
42
- ], ngImport: i0 });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFormatUpper, decorators: [{
44
- type: Directive,
45
- args: [{
46
- selector: '[monkeyecxFormatUpper]',
47
- providers: [
48
- {
49
- provide: NG_VALUE_ACCESSOR,
50
- useExisting: forwardRef(() => {
51
- // eslint-disable-next-line no-use-before-define
52
- return MonkeyEcxFormatUpper;
53
- }),
54
- multi: true,
55
- },
56
- ],
57
- }]
58
- }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
59
- type: Self
60
- }] }, { type: i0.Renderer2 }]; }, propDecorators: { onKeyDown: [{
61
- type: HostListener,
62
- args: ['keyup', ['$event']]
63
- }], onBlur: [{
64
- type: HostListener,
65
- args: ['blur', ['$event']]
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZvcm1hdC11cHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL21vbmtleWVjeC1mb3JtYXQtdXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxVQUFVLEVBQUUsWUFBWSxFQUFhLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBZXpFLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFBNEIsR0FBZSxFQUFVLFNBQW9CO1FBQTdDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3ZFLFlBQVk7SUFDZCxDQUFDO0lBR0QsU0FBUyxDQUFDLEdBQWtCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQW9CO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7aUhBcENVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGtJQVhwQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDM0IsZ0RBQWdEO2dCQUNoRCxPQUFPLG9CQUFvQixDQUFDO1lBQzlCLENBQUMsQ0FBQztZQUNGLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSxvQkFBb0I7a0JBYmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFO2dDQUMzQixnREFBZ0Q7Z0NBQ2hELDRCQUE0Qjs0QkFDOUIsQ0FBQyxDQUFDOzRCQUNGLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzswQkFNYyxJQUFJO29FQUtqQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIFJlbmRlcmVyMiwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbW9ua2V5ZWN4Rm9ybWF0VXBwZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICByZXR1cm4gTW9ua2V5RWN4Rm9ybWF0VXBwZXI7XG4gICAgICB9KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEZvcm1hdFVwcGVyIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBfb25DaGFuZ2U/OiAoXzogYW55KSA9PiB2b2lkO1xuXG4gIF90b3VjaGVkPzogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihAU2VsZigpIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQudmFsdWUudG9VcHBlckNhc2UoKTtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCB2YWx1ZSk7XG4gICAgdGhpcy5fb25DaGFuZ2U/Lih2YWx1ZSk7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnXSlcbiAgb25CbHVyKCkge1xuICAgIHRoaXMuX3RvdWNoZWQ/LigpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX3RvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -1,48 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class MonkeyEcxLoadingDirective {
4
- constructor(templateRef, viewContainer, elementRef) {
5
- this.templateRef = templateRef;
6
- this.viewContainer = viewContainer;
7
- this.elementRef = elementRef;
8
- this.view = null;
9
- this.loadingElement = null;
10
- this.monkeyecxLoading = false;
11
- this.monkeyecxLoadingSize = 'sm';
12
- }
13
- ngOnChanges(changes) {
14
- if (changes['monkeyecxLoading'] || changes['monkeyecxLoadingSize']) {
15
- this.updateView();
16
- }
17
- }
18
- updateView() {
19
- if (this.monkeyecxLoading) {
20
- if (this.view)
21
- this.viewContainer.clear();
22
- this.loadingElement = document.createElement('div');
23
- this.loadingElement.className = `mecx-loading ${this.monkeyecxLoadingSize}`;
24
- this.elementRef.nativeElement.parentNode.insertBefore(this.loadingElement, this.elementRef.nativeElement.nextSibling);
25
- }
26
- else {
27
- if (this.loadingElement && this.loadingElement.parentNode) {
28
- this.loadingElement.parentNode.removeChild(this.loadingElement);
29
- this.loadingElement = null;
30
- }
31
- this.viewContainer.clear();
32
- this.view = this.viewContainer.createEmbeddedView(this.templateRef);
33
- }
34
- }
35
- }
36
- MonkeyEcxLoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoadingDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
37
- MonkeyEcxLoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxLoadingDirective, selector: "[monkeyecxLoading]", inputs: { monkeyecxLoading: "monkeyecxLoading", monkeyecxLoadingSize: "monkeyecxLoadingSize" }, usesOnChanges: true, ngImport: i0 });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLoadingDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: '[monkeyecxLoading]'
42
- }]
43
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }]; }, propDecorators: { monkeyecxLoading: [{
44
- type: Input
45
- }], monkeyecxLoadingSize: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWxvYWRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9tb25rZXllY3gtbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULEtBQUssRUFLTixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUNVLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLFVBQXNCO1FBRnRCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVB4QixTQUFJLEdBQWdDLElBQUksQ0FBQztRQUV6QyxtQkFBYyxHQUF1QixJQUFJLENBQUM7UUFRekMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRWxDLHlCQUFvQixHQUF1QixJQUFJLENBQUM7SUFKdEQsQ0FBQztJQU1KLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSTtnQkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRTFDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVwRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFFNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FDbkQsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUMxQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7YUFDNUI7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDOztzSEExQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjswSkFZVSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbW9ua2V5ZWN4TG9hZGluZ10nXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeExvYWRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIHZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBsb2FkaW5nRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIEBJbnB1dCgpIG1vbmtleWVjeExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBtb25rZXllY3hMb2FkaW5nU2l6ZTogJ2xnJyB8ICdtZCcgfCAnc20nID0gJ3NtJztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ21vbmtleWVjeExvYWRpbmcnXSB8fCBjaGFuZ2VzWydtb25rZXllY3hMb2FkaW5nU2l6ZSddKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWaWV3KCkge1xuICAgIGlmICh0aGlzLm1vbmtleWVjeExvYWRpbmcpIHtcbiAgICAgIGlmICh0aGlzLnZpZXcpIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuXG4gICAgICB0aGlzLmxvYWRpbmdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgIHRoaXMubG9hZGluZ0VsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtbG9hZGluZyAke3RoaXMubW9ua2V5ZWN4TG9hZGluZ1NpemV9YDtcblxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoXG4gICAgICAgIHRoaXMubG9hZGluZ0VsZW1lbnQsXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5leHRTaWJsaW5nXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5sb2FkaW5nRWxlbWVudCAmJiB0aGlzLmxvYWRpbmdFbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMubG9hZGluZ0VsZW1lbnQpO1xuICAgICAgICB0aGlzLmxvYWRpbmdFbGVtZW50ID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICB0aGlzLnZpZXcgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { MonkeyEcxUtils } from '../utils/utils';
3
- import * as i0 from "@angular/core";
4
- export class MonkeyEcxOnlyAlphaNumericDirective {
5
- constructor(elementRef) {
6
- this.elementRef = elementRef;
7
- // not to do
8
- }
9
- onInputChange(event) {
10
- const initalValue = this.elementRef.nativeElement.value;
11
- this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyAlphaNumeric(initalValue);
12
- if (initalValue !== this.elementRef.nativeElement.value) {
13
- event.stopPropagation();
14
- }
15
- }
16
- }
17
- MonkeyEcxOnlyAlphaNumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxOnlyAlphaNumericDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
18
- MonkeyEcxOnlyAlphaNumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxOnlyAlphaNumericDirective, selector: "[monkeyecxOnlyAlphaNumeric]", host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxOnlyAlphaNumericDirective, decorators: [{
20
- type: Directive,
21
- args: [{
22
- selector: '[monkeyecxOnlyAlphaNumeric]'
23
- }]
24
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onInputChange: [{
25
- type: HostListener,
26
- args: ['input', ['$event']]
27
- }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW9ubHktYWxwaGEtbnVtZXJpYy1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9tb25rZXllY3gtb25seS1hbHBoYS1udW1lcmljLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS2hELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN4QyxZQUFZO0lBQ2QsQ0FBQztJQUdELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUV4RCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pGLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUN2RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOzsrSEFiVSxrQ0FBa0M7bUhBQWxDLGtDQUFrQzsyRkFBbEMsa0NBQWtDO2tCQUg5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7aUJBQ3hDO2lHQU9DLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttb25rZXllY3hPbmx5QWxwaGFOdW1lcmljXSdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4T25seUFscGhhTnVtZXJpY0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGluaXRhbFZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IE1vbmtleUVjeFV0aWxzLmhhbmRsZU9ubHlBbHBoYU51bWVyaWMoaW5pdGFsVmFsdWUpO1xuICAgIGlmIChpbml0YWxWYWx1ZSAhPT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { MonkeyEcxUtils } from '../utils/utils';
3
- import * as i0 from "@angular/core";
4
- export class MonkeyEcxOnlyNumbersDirective {
5
- constructor(elementRef) {
6
- this.elementRef = elementRef;
7
- // not to do
8
- }
9
- onInputChange(event) {
10
- const initalValue = this.elementRef.nativeElement.value;
11
- this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyNumbers(initalValue);
12
- if (initalValue !== this.elementRef.nativeElement.value) {
13
- event.stopPropagation();
14
- }
15
- }
16
- }
17
- MonkeyEcxOnlyNumbersDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxOnlyNumbersDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
18
- MonkeyEcxOnlyNumbersDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxOnlyNumbersDirective, selector: "[monkeyecxOnlyNumbers]", host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxOnlyNumbersDirective, decorators: [{
20
- type: Directive,
21
- args: [{
22
- selector: '[monkeyecxOnlyNumbers]'
23
- }]
24
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onInputChange: [{
25
- type: HostListener,
26
- args: ['input', ['$event']]
27
- }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW9ubHktbnVtYmVyLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL21vbmtleWVjeC1vbmx5LW51bWJlci1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUtoRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEMsWUFBWTtJQUNkLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBWTtRQUN4QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFFeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRixJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDdkQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7MEhBYlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQztpR0FPQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbW9ua2V5ZWN4T25seU51bWJlcnNdJ1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hPbmx5TnVtYmVyc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGluaXRhbFZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IE1vbmtleUVjeFV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGluaXRhbFZhbHVlKTtcbiAgICBpZiAoaW5pdGFsVmFsdWUgIT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Directive, forwardRef, InjectionToken, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export const POPOVER_OPTIONS = new InjectionToken('POPOVER_OPTIONS');
4
- export class MonkeyEcxPopoverOptionsDirective {
5
- set options(options) {
6
- Object.entries(options).forEach(([k, v]) => {
7
- this[k] = v;
8
- });
9
- }
10
- }
11
- MonkeyEcxPopoverOptionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPopoverOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- MonkeyEcxPopoverOptionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxPopoverOptionsDirective, selector: "[monkeyecxPopoverOptions]", inputs: { options: ["monkeyecxPopoverOptions", "options"] }, providers: [
13
- {
14
- provide: POPOVER_OPTIONS,
15
- useExisting: forwardRef(() => {
16
- // eslint-disable-next-line no-use-before-define
17
- return MonkeyEcxPopoverOptionsDirective;
18
- })
19
- }
20
- ], ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPopoverOptionsDirective, decorators: [{
22
- type: Directive,
23
- args: [{
24
- selector: '[monkeyecxPopoverOptions]',
25
- providers: [
26
- {
27
- provide: POPOVER_OPTIONS,
28
- useExisting: forwardRef(() => {
29
- // eslint-disable-next-line no-use-before-define
30
- return MonkeyEcxPopoverOptionsDirective;
31
- })
32
- }
33
- ]
34
- }]
35
- }], propDecorators: { options: [{
36
- type: Input,
37
- args: ['monkeyecxPopoverOptions']
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXBvcG92ZXItb3B0aW9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9tb25rZXllY3gtcG9wb3Zlci1vcHRpb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU3RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQWtDckUsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxJQUNJLE9BQU8sQ0FBQyxPQUFnQztRQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkhBTlUsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsaUhBVmhDO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDM0IsZ0RBQWdEO2dCQUNoRCxPQUFPLGdDQUFnQyxDQUFDO1lBQzFDLENBQUMsQ0FBQztTQUNIO0tBQ0Y7MkZBRVUsZ0NBQWdDO2tCQVo1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0NBQzNCLGdEQUFnRDtnQ0FDaEQsd0NBQXdDOzRCQUMxQyxDQUFDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7OEJBR0ssT0FBTztzQkFEVixLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5qZWN0aW9uVG9rZW4sIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBQT1BPVkVSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1BPUE9WRVJfT1BUSU9OUycpO1xuXG5leHBvcnQgdHlwZSBQb3BvdmVyRGlyID1cbiAgfCAncnRsJ1xuICB8ICdsdHInXG4gIHwgJ3RydGwnXG4gIHwgJ3RsdHInXG4gIHwgJ2N0J1xuICB8ICdjYydcbiAgfCAnY3InXG4gIHwgJ3J0J1xuICB8ICdyYidcbiAgfCAnbHQnXG4gIHwgJ2xiJztcblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hQb3BvdmVyT3B0aW9ucyB7XG4gIGRpcj86IFBvcG92ZXJEaXI7XG4gIG1pbndpZHRoPzogYm9vbGVhbjtcbiAgYmFja2Ryb3A/OiBib29sZWFuO1xuICBjb250ZXh0bWVudT86IGJvb2xlYW47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttb25rZXllY3hQb3BvdmVyT3B0aW9uc10nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBQT1BPVkVSX09QVElPTlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICByZXR1cm4gTW9ua2V5RWN4UG9wb3Zlck9wdGlvbnNEaXJlY3RpdmU7XG4gICAgICB9KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hQb3BvdmVyT3B0aW9uc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE1vbmtleUVjeFBvcG92ZXJPcHRpb25zIHtcbiAgQElucHV0KCdtb25rZXllY3hQb3BvdmVyT3B0aW9ucycpXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IE1vbmtleUVjeFBvcG92ZXJPcHRpb25zKSB7XG4gICAgT2JqZWN0LmVudHJpZXMob3B0aW9ucykuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICB0aGlzW2tdID0gdjtcbiAgICB9KTtcbiAgfVxuXG4gIG1pbndpZHRoPzogYm9vbGVhbjtcblxuICBkaXI/OiBQb3BvdmVyRGlyO1xuXG4gIGJhY2tkcm9wPzogYm9vbGVhbjtcblxuICBjb250ZXh0bWVudT86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,212 +0,0 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { Directive, Inject, Input, Optional } from '@angular/core';
3
- import { Subscription } from 'rxjs';
4
- import { NavigationStart } from '@angular/router';
5
- import { filter } from 'rxjs/operators';
6
- import { POPOVER_OPTIONS } from './monkeyecx-popover-options.directive';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@angular/router";
10
- export class MonkeyEcxPopoverDirective {
11
- constructor(tpl, vcr, el, zone, _viewContainerRef, _cd, overlay, overlayPositionBuilder, router, options) {
12
- this.tpl = tpl;
13
- this.vcr = vcr;
14
- this.el = el;
15
- this.zone = zone;
16
- this._viewContainerRef = _viewContainerRef;
17
- this._cd = _cd;
18
- this.overlay = overlay;
19
- this.overlayPositionBuilder = overlayPositionBuilder;
20
- this.router = router;
21
- this.options = options;
22
- this.minwidth = false;
23
- this.backdrop = true;
24
- this.watch = false;
25
- this.dir = 'ltr';
26
- this.contextmenu = false;
27
- this.subs = new Subscription();
28
- this.eventsSubs = new Subscription();
29
- this.eventsSubs = this.router.events
30
- .pipe(filter((event) => {
31
- return event instanceof NavigationStart;
32
- }))
33
- .subscribe(() => {
34
- this.onHandleClose();
35
- });
36
- }
37
- get popover() {
38
- return this._popover;
39
- }
40
- set popover(show) {
41
- this._popover = show;
42
- if (show) {
43
- this.createPopover();
44
- }
45
- else if (this.overlayRef) {
46
- this.overlayRef.dispose();
47
- }
48
- }
49
- get target() {
50
- return this._target;
51
- }
52
- set target(target) {
53
- this._target = target;
54
- }
55
- onHandleClose(e) {
56
- this.popover = false;
57
- this.subs.unsubscribe();
58
- this.resizeObserver?.disconnect();
59
- this.zone.run(() => {
60
- if (this.closed) {
61
- this.closed(e);
62
- }
63
- });
64
- }
65
- getDirPositions(dir) {
66
- const revert = {
67
- start: 'end', end: 'start', bottom: 'top', top: 'bottom', center: 'center'
68
- };
69
- const centerY = (pos) => {
70
- return {
71
- originX: 'center', originY: pos, overlayX: 'center', overlayY: revert[pos]
72
- };
73
- };
74
- const centerX = (pos) => {
75
- return {
76
- originX: revert[pos], originY: 'center', overlayX: pos, overlayY: 'center'
77
- };
78
- };
79
- const ltr = (axis) => {
80
- return {
81
- originX: 'start', originY: axis, overlayX: 'start', overlayY: revert[axis]
82
- };
83
- };
84
- const rtl = (axis) => {
85
- return {
86
- originX: 'end', originY: axis, overlayX: 'end', overlayY: revert[axis]
87
- };
88
- };
89
- const side = (axis, axis2) => {
90
- return {
91
- originX: axis, originY: axis2, overlayX: revert[axis], overlayY: axis2
92
- };
93
- };
94
- const cmp = dir || this.options?.dir || this.dir;
95
- if (cmp === 'ct') {
96
- return [centerY('top'), centerY('bottom'), centerX('start'), centerX('end')];
97
- }
98
- if (cmp === 'cr') {
99
- return [centerX('end'), centerX('start'), centerY('top'), centerY('bottom')];
100
- }
101
- if (cmp === 'cc') {
102
- return [centerX('center')];
103
- }
104
- if (cmp === 'ltr') {
105
- return [ltr('bottom'), ltr('top')];
106
- }
107
- if (cmp === 'rtl') {
108
- return [rtl('bottom'), rtl('top')];
109
- }
110
- if (cmp === 'tltr') {
111
- return [ltr('top'), ltr('bottom')];
112
- }
113
- if (cmp === 'trtl') {
114
- return [rtl('top'), rtl('bottom')];
115
- }
116
- if (cmp === 'rt') {
117
- return [side('end', 'top'), side('end', 'bottom'), ltr('top')];
118
- }
119
- if (cmp === 'rb') {
120
- return [side('end', 'bottom'), side('end', 'top'), ltr('bottom'), rtl('bottom')];
121
- }
122
- if (cmp === 'lt') {
123
- return [side('start', 'top'), side('start', 'bottom'), rtl('top')];
124
- }
125
- if (cmp === 'lb') {
126
- return [side('start', 'bottom'), side('start', 'top'), rtl('bottom')];
127
- }
128
- return [];
129
- }
130
- createPopover(origin, options) {
131
- this.templatePortal = new TemplatePortal(this.tpl, this._viewContainerRef);
132
- this.positionStrategy = this.overlayPositionBuilder
133
- .flexibleConnectedTo(origin || this.target)
134
- .withPush(true)
135
- .withGrowAfterOpen(true)
136
- .withPositions(this.getDirPositions(options?.dir));
137
- this.overlayRef = this.overlay.create({
138
- positionStrategy: this.positionStrategy,
139
- disposeOnNavigation: true,
140
- direction: 'ltr',
141
- hasBackdrop: this.backdrop,
142
- scrollStrategy: this.overlay.scrollStrategies.reposition({}),
143
- backdropClass: 'cdk-overlay-transparent-backdrop',
144
- width: (this.options?.minwidth || this.minwidth) ? (this.target.offsetWidth - 2) : undefined,
145
- maxHeight: '95%',
146
- height: this.height
147
- });
148
- this.subs = this.overlayRef.backdropClick().subscribe((e) => {
149
- this.onHandleClose(e);
150
- });
151
- const attached = this.overlayRef.attach(this.templatePortal);
152
- if (this.watch) {
153
- try {
154
- if ('ResizeObserver' in window) {
155
- this.resizeObserver = new ResizeObserver(([{ contentRect }]) => {
156
- this.overlayRef.updatePosition();
157
- })
158
- .observe(attached.rootNodes[0]);
159
- }
160
- }
161
- catch (e) {
162
- // not to do
163
- }
164
- }
165
- }
166
- ngOnDestroy() {
167
- this.popover = false;
168
- this.subs.unsubscribe();
169
- this.eventsSubs.unsubscribe();
170
- }
171
- }
172
- MonkeyEcxPopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPopoverDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i1.OverlayPositionBuilder }, { token: i2.Router }, { token: POPOVER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
173
- MonkeyEcxPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxPopoverDirective, selector: "[monkeyecxPopover]", inputs: { popover: ["monkeyecxPopover", "popover"], closed: ["monkeyecxPopoverClosed", "closed"], target: ["monkeyecxPopoverTarget", "target"], minwidth: ["monkeyecxPopoverMinwidth", "minwidth"], backdrop: ["monkeyecxPopoverBackdrop", "backdrop"], watch: ["monkeyecxPopoverWatch", "watch"], dir: ["monkeyecxPopoverDir", "dir"], contextmenu: ["monkeyecxPopoverContextmenu", "contextmenu"], height: ["monkeyecxPopoverHeight", "height"] }, ngImport: i0 });
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxPopoverDirective, decorators: [{
175
- type: Directive,
176
- args: [{
177
- selector: '[monkeyecxPopover]'
178
- }]
179
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i1.OverlayPositionBuilder }, { type: i2.Router }, { type: undefined, decorators: [{
180
- type: Inject,
181
- args: [POPOVER_OPTIONS]
182
- }, {
183
- type: Optional
184
- }] }]; }, propDecorators: { popover: [{
185
- type: Input,
186
- args: ['monkeyecxPopover']
187
- }], closed: [{
188
- type: Input,
189
- args: ['monkeyecxPopoverClosed']
190
- }], target: [{
191
- type: Input,
192
- args: ['monkeyecxPopoverTarget']
193
- }], minwidth: [{
194
- type: Input,
195
- args: ['monkeyecxPopoverMinwidth']
196
- }], backdrop: [{
197
- type: Input,
198
- args: ['monkeyecxPopoverBackdrop']
199
- }], watch: [{
200
- type: Input,
201
- args: ['monkeyecxPopoverWatch']
202
- }], dir: [{
203
- type: Input,
204
- args: ['monkeyecxPopoverDir']
205
- }], contextmenu: [{
206
- type: Input,
207
- args: ['monkeyecxPopoverContextmenu']
208
- }], height: [{
209
- type: Input,
210
- args: ['monkeyecxPopoverHeight']
211
- }] } });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXBvcG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvbW9ua2V5ZWN4LXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFNeEUsTUFBTSxPQUFPLHlCQUF5QjtJQXNEcEMsWUFDVyxHQUFxQixFQUNyQixHQUFxQixFQUNyQixFQUFjLEVBQ2QsSUFBWSxFQUNaLGlCQUFtQyxFQUNuQyxHQUFzQixFQUN0QixPQUFnQixFQUNqQixzQkFBOEMsRUFDN0MsTUFBYyxFQUNzQixPQUFnQztRQVRwRSxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNqQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDc0IsWUFBTyxHQUFQ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QURWLEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVRLE1BQU07c0JBQXRDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQVMzQixNQUFNO3NCQURULEtBQUs7dUJBQUMsd0JBQXdCO2dCQUtJLFFBQVE7c0JBQTFDLEtBQUs7dUJBQUMsMEJBQTBCO2dCQUVFLFFBQVE7c0JBQTFDLEtBQUs7dUJBQUMsMEJBQTBCO2dCQUVELEtBQUs7c0JBQXBDLEtBQUs7dUJBQUMsdUJBQXVCO2dCQUVBLEdBQUc7c0JBQWhDLEtBQUs7dUJBQUMscUJBQXFCO2dCQUVVLFdBQVc7c0JBQWhELEtBQUs7dUJBQUMsNkJBQTZCO2dCQUVILE1BQU07c0JBQXRDLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luLFxuICBPdmVybGF5LFxuICBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICBPdmVybGF5UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQT1BPVkVSX09QVElPTlMgfSBmcm9tICcuL21vbmtleWVjeC1wb3BvdmVyLW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgUG9wb3ZlckRpciwgTW9ua2V5RWN4UG9wb3Zlck9wdGlvbnMgfSBmcm9tICcuL21vbmtleWVjeC1wb3BvdmVyLW9wdGlvbnMuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21vbmtleWVjeFBvcG92ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hQb3BvdmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcG9wb3ZlciE6IGJvb2xlYW47XG5cbiAgZ2V0IHBvcG92ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcG92ZXI7XG4gIH1cblxuICBASW5wdXQoJ21vbmtleWVjeFBvcG92ZXInKVxuICBzZXQgcG9wb3ZlcihzaG93OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcG9wb3ZlciA9IHNob3c7XG4gICAgaWYgKHNob3cpIHtcbiAgICAgIHRoaXMuY3JlYXRlUG9wb3ZlcigpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnbW9ua2V5ZWN4UG9wb3ZlckNsb3NlZCcpIGNsb3NlZCE6IChlPzogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBwcml2YXRlIF90YXJnZXQhOiBIVE1MRWxlbWVudDtcblxuICBnZXQgdGFyZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XG4gIH1cblxuICBASW5wdXQoJ21vbmtleWVjeFBvcG92ZXJUYXJnZXQnKVxuICBzZXQgdGFyZ2V0KHRhcmdldDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLl90YXJnZXQgPSB0YXJnZXQ7XG4gIH1cblxuICBASW5wdXQoJ21vbmtleWVjeFBvcG92ZXJNaW53aWR0aCcpIG1pbndpZHRoID0gZmFsc2U7XG5cbiAgQElucHV0KCdtb25rZXllY3hQb3BvdmVyQmFja2Ryb3AnKSBiYWNrZHJvcCA9IHRydWU7XG5cbiAgQElucHV0KCdtb25rZXllY3hQb3BvdmVyV2F0Y2gnKSB3YXRjaCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnbW9ua2V5ZWN4UG9wb3ZlckRpcicpIGRpcjogUG9wb3ZlckRpciA9ICdsdHInO1xuXG4gIEBJbnB1dCgnbW9ua2V5ZWN4UG9wb3ZlckNvbnRleHRtZW51JykgY29udGV4dG1lbnUgPSBmYWxzZTtcblxuICBASW5wdXQoJ21vbmtleWVjeFBvcG92ZXJIZWlnaHQnKSBoZWlnaHQhOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmITogT3ZlcmxheVJlZjtcblxuICBwcml2YXRlIHBvc2l0aW9uU3RyYXRlZ3khOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZVBvcnRhbCE6IFRlbXBsYXRlUG9ydGFsO1xuXG4gIHByaXZhdGUgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIGV2ZW50c1N1YnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICBwcml2YXRlIHRwbDogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgQEluamVjdChQT1BPVkVSX09QVElPTlMpIEBPcHRpb25hbCgpIHByaXZhdGUgb3B0aW9uczogTW9ua2V5RWN4UG9wb3Zlck9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5ldmVudHNTdWJzID0gdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub25IYW5kbGVDbG9zZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uSGFuZGxlQ2xvc2UoZT86IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLnBvcG92ZXIgPSBmYWxzZTtcbiAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgICAgdGhpcy5jbG9zZWQoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXREaXJQb3NpdGlvbnMoZGlyPzogUG9wb3ZlckRpcik6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIGNvbnN0IHJldmVydCA9IHtcbiAgICAgIHN0YXJ0OiAnZW5kJywgZW5kOiAnc3RhcnQnLCBib3R0b206ICd0b3AnLCB0b3A6ICdib3R0b20nLCBjZW50ZXI6ICdjZW50ZXInXG4gICAgfTtcbiAgICBjb25zdCBjZW50ZXJZID0gKHBvczogYW55KTogQ29ubmVjdGVkUG9zaXRpb24gPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6IHBvcywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogcmV2ZXJ0W3Bvc11cbiAgICAgIH07XG4gICAgfTtcbiAgICBjb25zdCBjZW50ZXJYID0gKHBvczogYW55KTogQ29ubmVjdGVkUG9zaXRpb24gPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3JpZ2luWDogcmV2ZXJ0W3Bvc10sIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogcG9zLCBvdmVybGF5WTogJ2NlbnRlcidcbiAgICAgIH07XG4gICAgfTtcbiAgICBjb25zdCBsdHIgPSAoYXhpczogYW55KTogQ29ubmVjdGVkUG9zaXRpb24gPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogYXhpcywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiByZXZlcnRbYXhpc11cbiAgICAgIH07XG4gICAgfTtcbiAgICBjb25zdCBydGwgPSAoYXhpczogYW55KTogQ29ubmVjdGVkUG9zaXRpb24gPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6IGF4aXMsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6IHJldmVydFtheGlzXVxuICAgICAgfTtcbiAgICB9O1xuICAgIGNvbnN0IHNpZGUgPSAoYXhpczogYW55LCBheGlzMjogYW55KTogQ29ubmVjdGVkUG9zaXRpb24gPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3JpZ2luWDogYXhpcywgb3JpZ2luWTogYXhpczIsIG92ZXJsYXlYOiByZXZlcnRbYXhpc10sIG92ZXJsYXlZOiBheGlzMlxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gZGlyIHx8IHRoaXMub3B0aW9ucz8uZGlyIHx8IHRoaXMuZGlyO1xuICAgIGlmIChjbXAgPT09ICdjdCcpIHtcbiAgICAgIHJldHVybiBbY2VudGVyWSgndG9wJyksIGNlbnRlclkoJ2JvdHRvbScpLCBjZW50ZXJYKCdzdGFydCcpLCBjZW50ZXJYKCdlbmQnKV07XG4gICAgfVxuICAgIGlmIChjbXAgPT09ICdjcicpIHtcbiAgICAgIHJldHVybiBbY2VudGVyWCgnZW5kJyksIGNlbnRlclgoJ3N0YXJ0JyksIGNlbnRlclkoJ3RvcCcpLCBjZW50ZXJZKCdib3R0b20nKV07XG4gICAgfVxuICAgIGlmIChjbXAgPT09ICdjYycpIHtcbiAgICAgIHJldHVybiBbY2VudGVyWCgnY2VudGVyJyldO1xuICAgIH1cbiAgICBpZiAoY21wID09PSAnbHRyJykge1xuICAgICAgcmV0dXJuIFtsdHIoJ2JvdHRvbScpLCBsdHIoJ3RvcCcpXTtcbiAgICB9XG4gICAgaWYgKGNtcCA9PT0gJ3J0bCcpIHtcbiAgICAgIHJldHVybiBbcnRsKCdib3R0b20nKSwgcnRsKCd0b3AnKV07XG4gICAgfVxuICAgIGlmIChjbXAgPT09ICd0bHRyJykge1xuICAgICAgcmV0dXJuIFtsdHIoJ3RvcCcpLCBsdHIoJ2JvdHRvbScpXTtcbiAgICB9XG4gICAgaWYgKGNtcCA9PT0gJ3RydGwnKSB7XG4gICAgICByZXR1cm4gW3J0bCgndG9wJyksIHJ0bCgnYm90dG9tJyldO1xuICAgIH1cbiAgICBpZiAoY21wID09PSAncnQnKSB7XG4gICAgICByZXR1cm4gW3NpZGUoJ2VuZCcsICd0b3AnKSwgc2lkZSgnZW5kJywgJ2JvdHRvbScpLCBsdHIoJ3RvcCcpXTtcbiAgICB9XG4gICAgaWYgKGNtcCA9PT0gJ3JiJykge1xuICAgICAgcmV0dXJuIFtzaWRlKCdlbmQnLCAnYm90dG9tJyksIHNpZGUoJ2VuZCcsICd0b3AnKSwgbHRyKCdib3R0b20nKSwgcnRsKCdib3R0b20nKV07XG4gICAgfVxuICAgIGlmIChjbXAgPT09ICdsdCcpIHtcbiAgICAgIHJldHVybiBbc2lkZSgnc3RhcnQnLCAndG9wJyksIHNpZGUoJ3N0YXJ0JywgJ2JvdHRvbScpLCBydGwoJ3RvcCcpXTtcbiAgICB9XG4gICAgaWYgKGNtcCA9PT0gJ2xiJykge1xuICAgICAgcmV0dXJuIFtzaWRlKCdzdGFydCcsICdib3R0b20nKSwgc2lkZSgnc3RhcnQnLCAndG9wJyksIHJ0bCgnYm90dG9tJyldO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNyZWF0ZVBvcG92ZXIoXG4gICAgb3JpZ2luPzogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luLFxuICAgIG9wdGlvbnM/OiBNb25rZXlFY3hQb3BvdmVyT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLnRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudHBsLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbiB8fCB0aGlzLnRhcmdldClcbiAgICAgIC53aXRoUHVzaCh0cnVlKVxuICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKHRydWUpXG4gICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLmdldERpclBvc2l0aW9ucyhvcHRpb25zPy5kaXIpKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5wb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICBoYXNCYWNrZHJvcDogdGhpcy5iYWNrZHJvcCxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKHtcbiAgICAgIH0pLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIHdpZHRoOiAodGhpcy5vcHRpb25zPy5taW53aWR0aCB8fCB0aGlzLm1pbndpZHRoKSA/ICh0aGlzLnRhcmdldC5vZmZzZXRXaWR0aCAtIDIpIDogdW5kZWZpbmVkLFxuICAgICAgbWF4SGVpZ2h0OiAnOTUlJyxcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHRcbiAgICB9KTtcblxuICAgIHRoaXMuc3VicyA9IHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLm9uSGFuZGxlQ2xvc2UoZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBhdHRhY2hlZCA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy50ZW1wbGF0ZVBvcnRhbCk7XG5cbiAgICBpZiAodGhpcy53YXRjaCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKCdSZXNpemVPYnNlcnZlcicgaW4gd2luZG93KSB7XG4gICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoW3sgY29udGVudFJlY3QgfV0pID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgICAub2JzZXJ2ZShhdHRhY2hlZC5yb290Tm9kZXNbMF0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIG5vdCB0byBkb1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucG9wb3ZlciA9IGZhbHNlO1xuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZXZlbnRzU3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -1,75 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/storage";
4
- export class MonkeyEcxSecurityDirective {
5
- constructor(elementRef, tokenStorageService, cdr) {
6
- this.elementRef = elementRef;
7
- this.tokenStorageService = tokenStorageService;
8
- this.cdr = cdr;
9
- this.roles = [];
10
- this.byExclusion = false;
11
- this.tokenCredentials = null;
12
- // not to do
13
- }
14
- getRole() {
15
- const { tokenCredentials } = this;
16
- if (!tokenCredentials)
17
- return '';
18
- if (tokenCredentials?.programAdmin === 'true') {
19
- return 'PROGRAM_ADMIN';
20
- }
21
- if (tokenCredentials?.programAdmin === true) {
22
- return 'PROGRAM_ADMIN';
23
- }
24
- const handledRole = localStorage.getItem('role');
25
- return tokenCredentials?.role || handledRole || '';
26
- }
27
- handleAccess() {
28
- const { roles, byExclusion } = this;
29
- let display = 'none';
30
- const found = roles?.indexOf(this.getRole());
31
- if (byExclusion) {
32
- display = 'block';
33
- if (found > -1) {
34
- display = 'none';
35
- }
36
- }
37
- else {
38
- display = 'none';
39
- if (found > -1) {
40
- display = 'block';
41
- }
42
- }
43
- if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN')
44
- display = 'block';
45
- this.elementRef.nativeElement.style.display = display;
46
- this.cdr.detectChanges();
47
- }
48
- async handleData() {
49
- this.tokenCredentials = await this.tokenStorageService.getToken();
50
- this.handleAccess();
51
- }
52
- ngOnInit() {
53
- this.elementRef.nativeElement.style.display = 'none';
54
- this.cdr.detectChanges();
55
- this.tokenStorageService.tokenHasChanged().subscribe(() => {
56
- this.handleData();
57
- });
58
- this.handleData();
59
- }
60
- }
61
- MonkeyEcxSecurityDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxSecurityDirective, deps: [{ token: i0.ElementRef }, { token: i1.MonkeyEcxTokenStorageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
62
- MonkeyEcxSecurityDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: MonkeyEcxSecurityDirective, selector: "[monkeyecxSecurity]", inputs: { roles: ["securityRoles", "roles"], byExclusion: ["securityByExclusion", "byExclusion"] }, ngImport: i0 });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxSecurityDirective, decorators: [{
64
- type: Directive,
65
- args: [{
66
- selector: '[monkeyecxSecurity]'
67
- }]
68
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MonkeyEcxTokenStorageService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { roles: [{
69
- type: Input,
70
- args: ['securityRoles']
71
- }], byExclusion: [{
72
- type: Input,
73
- args: ['securityByExclusion']
74
- }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlY3VyaXR5LWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL21vbmtleWVjeC1zZWN1cml0eS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNeEYsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxZQUNVLFVBQXNCLEVBQ3RCLG1CQUFpRCxFQUNqRCxHQUFzQjtRQUZ0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBOEI7UUFDakQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUUixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBRWYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFbkQscUJBQWdCLEdBQVEsSUFBSSxDQUFDO1FBT25DLFlBQVk7SUFDZCxDQUFDO0lBRU8sT0FBTztRQUNiLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVsQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFakMsSUFBSSxnQkFBZ0IsRUFBRSxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQzdDLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxnQkFBZ0IsRUFBRSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzNDLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqRCxPQUFPLGdCQUFnQixFQUFFLElBQUksSUFBSSxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNyQixNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksV0FBVyxFQUFFO1lBQ2YsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUNsQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxPQUFPLEdBQUcsTUFBTSxDQUFDO2FBQ2xCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDakIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxHQUFHLE9BQU8sQ0FBQzthQUNuQjtTQUNGO1FBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssZUFBZTtZQUFFLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3VIQXBFVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzRLQUV5QixLQUFLO3NCQUE1QixLQUFLO3VCQUFDLGVBQWU7Z0JBRVEsV0FBVztzQkFBeEMsS0FBSzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttb25rZXllY3hTZWN1cml0eV0nXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFNlY3VyaXR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdzZWN1cml0eVJvbGVzJykgcm9sZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KCdzZWN1cml0eUJ5RXhjbHVzaW9uJykgYnlFeGNsdXNpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHRva2VuQ3JlZGVudGlhbHM6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdG9rZW5TdG9yYWdlU2VydmljZTogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHRva2VuQ3JlZGVudGlhbHMgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXRva2VuQ3JlZGVudGlhbHMpIHJldHVybiAnJztcblxuICAgIGlmICh0b2tlbkNyZWRlbnRpYWxzPy5wcm9ncmFtQWRtaW4gPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuICdQUk9HUkFNX0FETUlOJztcbiAgICB9XG5cbiAgICBpZiAodG9rZW5DcmVkZW50aWFscz8ucHJvZ3JhbUFkbWluID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gJ1BST0dSQU1fQURNSU4nO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZWRSb2xlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JvbGUnKTtcblxuICAgIHJldHVybiB0b2tlbkNyZWRlbnRpYWxzPy5yb2xlIHx8IGhhbmRsZWRSb2xlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBY2Nlc3MoKSB7XG4gICAgY29uc3QgeyByb2xlcywgYnlFeGNsdXNpb24gfSA9IHRoaXM7XG4gICAgbGV0IGRpc3BsYXkgPSAnbm9uZSc7XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgaWYgKGJ5RXhjbHVzaW9uKSB7XG4gICAgICBkaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIGRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBpZiAoZm91bmQgPiAtMSkge1xuICAgICAgICBkaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCB8fCB0aGlzLmdldFJvbGUoKSA9PT0gJ1BST0dSQU1fQURNSU4nKSBkaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZURhdGEoKSB7XG4gICAgdGhpcy50b2tlbkNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy50b2tlblN0b3JhZ2VTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3MoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy50b2tlblN0b3JhZ2VTZXJ2aWNlLnRva2VuSGFzQ2hhbmdlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZURhdGEoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFuZGxlRGF0YSgpO1xuICB9XG59XG4iXX0=