ngx-techlify-core 19.0.0 → 22.3.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 (790) hide show
  1. package/fesm2022/ngx-techlify-core-base-model-oCILHkdE.mjs +677 -0
  2. package/fesm2022/ngx-techlify-core-base-model-oCILHkdE.mjs.map +1 -0
  3. package/fesm2022/ngx-techlify-core-shared.module-DROe5GRx.mjs +4842 -0
  4. package/fesm2022/ngx-techlify-core-shared.module-DROe5GRx.mjs.map +1 -0
  5. package/fesm2022/ngx-techlify-core-user-config.service-DW5EgXhL.mjs +133 -0
  6. package/fesm2022/ngx-techlify-core-user-config.service-DW5EgXhL.mjs.map +1 -0
  7. package/fesm2022/ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs +2135 -0
  8. package/fesm2022/ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs.map +1 -0
  9. package/fesm2022/ngx-techlify-core.mjs +32477 -16273
  10. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  11. package/package.json +19 -19
  12. package/styles/_index.scss +1 -1
  13. package/styles/style.scss +2 -2
  14. package/types/ngx-techlify-core.d.ts +6429 -0
  15. package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +0 -126
  16. package/esm2022/lib/access-control-config/access-control-config-routing.module.mjs +0 -31
  17. package/esm2022/lib/access-control-config/access-control-config.component.mjs +0 -128
  18. package/esm2022/lib/access-control-config/access-control-config.model.mjs +0 -21
  19. package/esm2022/lib/access-control-config/access-control-config.module.mjs +0 -28
  20. package/esm2022/lib/access-control-config/access-control-config.service.mjs +0 -37
  21. package/esm2022/lib/action-popup/action-popup.component.mjs +0 -33
  22. package/esm2022/lib/action-popup/action-popup.model.mjs +0 -3
  23. package/esm2022/lib/action-popup/action-popup.module.mjs +0 -28
  24. package/esm2022/lib/action-popup/index.mjs +0 -3
  25. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.mjs +0 -26
  26. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +0 -115
  27. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.mjs +0 -33
  28. package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.mjs +0 -87
  29. package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.mjs +0 -22
  30. package/esm2022/lib/app-admin/admin-role/admin-role.service.mjs +0 -24
  31. package/esm2022/lib/app-admin/app-admin-home/app-admin-home.component.mjs +0 -17
  32. package/esm2022/lib/app-admin/app-admin-routing.module.mjs +0 -29
  33. package/esm2022/lib/app-admin/app-admin.module.mjs +0 -22
  34. package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +0 -56
  35. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +0 -18
  36. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +0 -61
  37. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +0 -32
  38. package/esm2022/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +0 -18
  39. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +0 -149
  40. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +0 -28
  41. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +0 -18
  42. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +0 -56
  43. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +0 -24
  44. package/esm2022/lib/audit-log/audit-log-routing.module.mjs +0 -25
  45. package/esm2022/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +0 -18
  46. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +0 -53
  47. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +0 -24
  48. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +0 -18
  49. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +0 -55
  50. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +0 -24
  51. package/esm2022/lib/audit-log/audit-log.module.mjs +0 -31
  52. package/esm2022/lib/audit-log/audit-log.service.mjs +0 -18
  53. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +0 -18
  54. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +0 -23
  55. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +0 -28
  56. package/esm2022/lib/base-model/index.mjs +0 -8
  57. package/esm2022/lib/base-model/techlify-form/contract/techlify-form.contract.mjs +0 -191
  58. package/esm2022/lib/base-model/techlify-form/techlify-form.component.mjs +0 -134
  59. package/esm2022/lib/base-model/techlify-list/contract/techlify-list.contract.mjs +0 -69
  60. package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +0 -331
  61. package/esm2022/lib/base-model/techlify-service.mjs +0 -68
  62. package/esm2022/lib/base-model/techlify-show/contract/techlify-show.contract.mjs +0 -84
  63. package/esm2022/lib/base-model/techlify-show/techlify-show.component.mjs +0 -120
  64. package/esm2022/lib/change-password/change-password-routing.module.mjs +0 -24
  65. package/esm2022/lib/change-password/change-password.component.mjs +0 -86
  66. package/esm2022/lib/change-password/change-password.module.mjs +0 -29
  67. package/esm2022/lib/column-selector/column-config.model.mjs +0 -3
  68. package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +0 -108
  69. package/esm2022/lib/column-selector/column-selector.module.mjs +0 -24
  70. package/esm2022/lib/column-selector/index.mjs +0 -4
  71. package/esm2022/lib/company-information/client.service.mjs +0 -19
  72. package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +0 -44
  73. package/esm2022/lib/company-information/company-information/company-information.component.mjs +0 -120
  74. package/esm2022/lib/company-information/tenant-form-button/tenant-form-button.component.mjs +0 -36
  75. package/esm2022/lib/core/alert.service.mjs +0 -38
  76. package/esm2022/lib/core/api-prefix.interceptor.mjs +0 -26
  77. package/esm2022/lib/core/app-update.service.mjs +0 -64
  78. package/esm2022/lib/core/authentication.guard.mjs +0 -35
  79. package/esm2022/lib/core/authentication.service.mjs +0 -67
  80. package/esm2022/lib/core/cache.interceptor.mjs +0 -58
  81. package/esm2022/lib/core/config.service.mjs +0 -45
  82. package/esm2022/lib/core/core.module.mjs +0 -56
  83. package/esm2022/lib/core/credentials.service.mjs +0 -84
  84. package/esm2022/lib/core/environment.service.mjs +0 -22
  85. package/esm2022/lib/core/error-handler.interceptor.mjs +0 -60
  86. package/esm2022/lib/core/error-handler.service.mjs +0 -68
  87. package/esm2022/lib/core/filter.service.mjs +0 -40
  88. package/esm2022/lib/core/form-validator.service.mjs +0 -24
  89. package/esm2022/lib/core/header.interceptor.mjs +0 -24
  90. package/esm2022/lib/core/http-cache.service.mjs +0 -107
  91. package/esm2022/lib/core/http.service.mjs +0 -84
  92. package/esm2022/lib/core/index.mjs +0 -23
  93. package/esm2022/lib/core/logger.service.mjs +0 -100
  94. package/esm2022/lib/core/route-reusable-strategy.mjs +0 -36
  95. package/esm2022/lib/core/snack/snack.component.mjs +0 -33
  96. package/esm2022/lib/core/snack/snack.module.mjs +0 -36
  97. package/esm2022/lib/core/storage.service.mjs +0 -38
  98. package/esm2022/lib/core/techlify-config.model.mjs +0 -28
  99. package/esm2022/lib/core/token.interceptor.mjs +0 -28
  100. package/esm2022/lib/custom-icon/custom-icon-registry.service.mjs +0 -23
  101. package/esm2022/lib/custom-icon/custom-icon.component.mjs +0 -24
  102. package/esm2022/lib/custom-icon/custom-icon.module.mjs +0 -20
  103. package/esm2022/lib/custom-icon/custom-icons.registry.mjs +0 -42
  104. package/esm2022/lib/data-table/data-table.component.mjs +0 -203
  105. package/esm2022/lib/data-table/data-table.model.mjs +0 -11
  106. package/esm2022/lib/data-table/data-table.module.mjs +0 -24
  107. package/esm2022/lib/data-table/index.mjs +0 -3
  108. package/esm2022/lib/delete-button/techlify-delete-button.component.mjs +0 -74
  109. package/esm2022/lib/detail-layout/techlify-detail-layout.component.mjs +0 -11
  110. package/esm2022/lib/document-viewer/document-viewer.component.mjs +0 -64
  111. package/esm2022/lib/document-viewer/document-viewer.module.mjs +0 -32
  112. package/esm2022/lib/document-viewer/index.mjs +0 -3
  113. package/esm2022/lib/document-viewer/viewer-config.model.mjs +0 -3
  114. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +0 -32
  115. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +0 -73
  116. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +0 -24
  117. package/esm2022/lib/email-subscription/email-subscription-for-user/index.mjs +0 -2
  118. package/esm2022/lib/email-subscription/email-subscription-routing.module.mjs +0 -18
  119. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +0 -18
  120. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +0 -104
  121. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +0 -28
  122. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +0 -2
  123. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +0 -34
  124. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +0 -160
  125. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +0 -28
  126. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +0 -2
  127. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +0 -18
  128. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +0 -22
  129. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +0 -18
  130. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +0 -100
  131. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +0 -27
  132. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +0 -2
  133. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +0 -34
  134. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +0 -164
  135. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +0 -32
  136. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +0 -2
  137. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +0 -18
  138. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +0 -51
  139. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +0 -24
  140. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +0 -2
  141. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +0 -18
  142. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +0 -22
  143. package/esm2022/lib/email-subscription/email-subscription.module.mjs +0 -22
  144. package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +0 -160
  145. package/esm2022/lib/entity-files/entity-file-list/entity-file-list.component.mjs +0 -251
  146. package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs +0 -33
  147. package/esm2022/lib/entity-files/entity-file-list.module.mjs +0 -43
  148. package/esm2022/lib/entity-files/entity-file.service.mjs +0 -37
  149. package/esm2022/lib/entity-files/index.mjs +0 -5
  150. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +0 -112
  151. package/esm2022/lib/export-excel/export-excel.module.mjs +0 -28
  152. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +0 -103
  153. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +0 -24
  154. package/esm2022/lib/file-dropper/file-dropper.component.mjs +0 -125
  155. package/esm2022/lib/file-dropper/file-dropper.model.mjs +0 -3
  156. package/esm2022/lib/file-dropper/file-dropper.module.mjs +0 -26
  157. package/esm2022/lib/file-dropper/index.mjs +0 -3
  158. package/esm2022/lib/file-upload-button/file-upload-button.component.mjs +0 -47
  159. package/esm2022/lib/forgot-password/forgot-password-routing.module.mjs +0 -22
  160. package/esm2022/lib/forgot-password/forgot-password.component.mjs +0 -69
  161. package/esm2022/lib/forgot-password/forgot-password.module.mjs +0 -26
  162. package/esm2022/lib/forgot-password/index.mjs +0 -3
  163. package/esm2022/lib/form-button/techlify-form-button.component.mjs +0 -39
  164. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form-routing.module.mjs +0 -29
  165. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.mjs +0 -43
  166. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.mjs +0 -24
  167. package/esm2022/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.component.mjs +0 -22
  168. package/esm2022/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.module.mjs +0 -28
  169. package/esm2022/lib/form-configuration/form-configuration-form-field.service.mjs +0 -18
  170. package/esm2022/lib/form-configuration/form-configuration-form.service.mjs +0 -18
  171. package/esm2022/lib/form-configuration/form-configuration-utility.service.mjs +0 -37
  172. package/esm2022/lib/image-preview/image-preview.component.mjs +0 -26
  173. package/esm2022/lib/import-csv/data-import/data-import.component.mjs +0 -17
  174. package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +0 -34
  175. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +0 -152
  176. package/esm2022/lib/import-csv/import-csv-config.mjs +0 -2
  177. package/esm2022/lib/import-csv/import-csv.component.mjs +0 -209
  178. package/esm2022/lib/import-csv/import-csv.module.mjs +0 -44
  179. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +0 -70
  180. package/esm2022/lib/import-csv/import-success/import-success.component.mjs +0 -23
  181. package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +0 -24
  182. package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +0 -108
  183. package/esm2022/lib/loader/index.mjs +0 -2
  184. package/esm2022/lib/loader/loader.component.mjs +0 -23
  185. package/esm2022/lib/loader/loader.module.mjs +0 -28
  186. package/esm2022/lib/local-date-parser.mjs +0 -6
  187. package/esm2022/lib/locked-date/index.mjs +0 -6
  188. package/esm2022/lib/locked-date/locked-date-form/locked-date-form.component.mjs +0 -72
  189. package/esm2022/lib/locked-date/locked-date-lock-unlock-button/locked-date-lock-unlock-button.component.mjs +0 -35
  190. package/esm2022/lib/locked-date/locked-date.model.mjs +0 -3
  191. package/esm2022/lib/locked-date/locked-date.module.mjs +0 -34
  192. package/esm2022/lib/locked-date/locked-date.service.mjs +0 -25
  193. package/esm2022/lib/locked-date/locked-dates-list/locked-date-list.component.mjs +0 -62
  194. package/esm2022/lib/login/index.mjs +0 -3
  195. package/esm2022/lib/login/login-form-fields/login-form-fields.component.mjs +0 -152
  196. package/esm2022/lib/login/login-routing.module.mjs +0 -23
  197. package/esm2022/lib/login/login.component.mjs +0 -88
  198. package/esm2022/lib/login/login.module.mjs +0 -33
  199. package/esm2022/lib/login-history-for-user/login-history-for-user-routing.module.mjs +0 -26
  200. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +0 -91
  201. package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +0 -24
  202. package/esm2022/lib/material.module.mjs +0 -128
  203. package/esm2022/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +0 -43
  204. package/esm2022/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +0 -22
  205. package/esm2022/lib/note/comment-form/comment-form.component.mjs +0 -76
  206. package/esm2022/lib/note/index.mjs +0 -5
  207. package/esm2022/lib/note/note-comment-list/note-comment-list.component.mjs +0 -102
  208. package/esm2022/lib/note/note-form/note-form.component.mjs +0 -63
  209. package/esm2022/lib/note/note-list/note-list.component.mjs +0 -111
  210. package/esm2022/lib/note/note.module.mjs +0 -30
  211. package/esm2022/lib/note/note.service.mjs +0 -18
  212. package/esm2022/lib/number-input-button/index.mjs +0 -3
  213. package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +0 -104
  214. package/esm2022/lib/number-input-button/number-input-button.module.mjs +0 -24
  215. package/esm2022/lib/number-selector/number-selector.component.mjs +0 -116
  216. package/esm2022/lib/ordinal-pipe/ordinal-pipe.mjs +0 -30
  217. package/esm2022/lib/password-requirement-check/password-check-result.mjs +0 -2
  218. package/esm2022/lib/password-requirement-check/password-check.service.mjs +0 -43
  219. package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +0 -56
  220. package/esm2022/lib/password-requirement-check/password-requirement-check.module.mjs +0 -24
  221. package/esm2022/lib/pdf-button/pdf-button.component.mjs +0 -35
  222. package/esm2022/lib/pdf-button/pdf-button.module.mjs +0 -23
  223. package/esm2022/lib/phone-number-selector/country.service.mjs +0 -31
  224. package/esm2022/lib/phone-number-selector/phone-number-selector.component.mjs +0 -172
  225. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -21
  226. package/esm2022/lib/pipes/wrap.pipe.mjs +0 -20
  227. package/esm2022/lib/profile/index.mjs +0 -3
  228. package/esm2022/lib/profile/profile-edit.component.mjs +0 -75
  229. package/esm2022/lib/profile/profile-routing.module.mjs +0 -23
  230. package/esm2022/lib/profile/profile.module.mjs +0 -28
  231. package/esm2022/lib/read-more/read-more.component.mjs +0 -43
  232. package/esm2022/lib/read-more/read-more.module.mjs +0 -26
  233. package/esm2022/lib/request-helper/request-helper.service.mjs +0 -131
  234. package/esm2022/lib/reset-password/index.mjs +0 -4
  235. package/esm2022/lib/reset-password/reset-password-routing.module.mjs +0 -22
  236. package/esm2022/lib/reset-password/reset-password.component.mjs +0 -89
  237. package/esm2022/lib/reset-password/reset-password.module.mjs +0 -30
  238. package/esm2022/lib/reset-password/reset-password.service.mjs +0 -25
  239. package/esm2022/lib/restrictors/index.mjs +0 -4
  240. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +0 -91
  241. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +0 -24
  242. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +0 -19
  243. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +0 -91
  244. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +0 -24
  245. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +0 -19
  246. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +0 -92
  247. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +0 -24
  248. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +0 -19
  249. package/esm2022/lib/restrictors/restrictor.service.mjs +0 -19
  250. package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +0 -101
  251. package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +0 -43
  252. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +0 -141
  253. package/esm2022/lib/restrictors/restrictors-routing.module.mjs +0 -42
  254. package/esm2022/lib/restrictors/restrictors.module.mjs +0 -47
  255. package/esm2022/lib/role/index.mjs +0 -10
  256. package/esm2022/lib/role/permission/permission.model.mjs +0 -9
  257. package/esm2022/lib/role/permission/permission.module.mjs +0 -30
  258. package/esm2022/lib/role/permission/permission.routes.mjs +0 -26
  259. package/esm2022/lib/role/permission/permissions-management.component.mjs +0 -127
  260. package/esm2022/lib/role/role-form-button.component.mjs +0 -44
  261. package/esm2022/lib/role/role-form.component.mjs +0 -82
  262. package/esm2022/lib/role/role-list/role-list.component.mjs +0 -120
  263. package/esm2022/lib/role/role-view/role-view-routing.module.mjs +0 -26
  264. package/esm2022/lib/role/role-view/role-view.component.mjs +0 -38
  265. package/esm2022/lib/role/role-view/role-view.module.mjs +0 -28
  266. package/esm2022/lib/role/role.model.mjs +0 -56
  267. package/esm2022/lib/role/role.module.mjs +0 -38
  268. package/esm2022/lib/role/role.routes.mjs +0 -31
  269. package/esm2022/lib/role/role.service.mjs +0 -23
  270. package/esm2022/lib/searchable-selector/index.mjs +0 -2
  271. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +0 -384
  272. package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +0 -36
  273. package/esm2022/lib/shared.module.mjs +0 -85
  274. package/esm2022/lib/signup/index.mjs +0 -3
  275. package/esm2022/lib/signup/signup-routing.module.mjs +0 -22
  276. package/esm2022/lib/signup/signup.component.mjs +0 -78
  277. package/esm2022/lib/signup/signup.module.mjs +0 -26
  278. package/esm2022/lib/subscription/subscription-form/subscription-form-routing.module.mjs +0 -18
  279. package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +0 -148
  280. package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +0 -26
  281. package/esm2022/lib/subscription/subscription-listing/subscription-listing-routing.module.mjs +0 -26
  282. package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +0 -128
  283. package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +0 -30
  284. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.mjs +0 -26
  285. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +0 -116
  286. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +0 -25
  287. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view-routing.module.mjs +0 -26
  288. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +0 -38
  289. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +0 -29
  290. package/esm2022/lib/subscription/subscription-package.service.mjs +0 -21
  291. package/esm2022/lib/subscription/subscription-status.enum.mjs +0 -6
  292. package/esm2022/lib/subscription/subscription.service.mjs +0 -40
  293. package/esm2022/lib/subscription/techlify-subscription-directive.module.mjs +0 -20
  294. package/esm2022/lib/subscription/techlify-subscription.directive.mjs +0 -33
  295. package/esm2022/lib/tag/tag.service.mjs +0 -18
  296. package/esm2022/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.mjs +0 -71
  297. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +0 -15
  298. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +0 -266
  299. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +0 -22
  300. package/esm2022/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.mjs +0 -57
  301. package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +0 -181
  302. package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +0 -22
  303. package/esm2022/lib/techlify-app-selector/techlify-app-selector.component.mjs +0 -50
  304. package/esm2022/lib/techlify-app-selector/techlify-app-selector.module.mjs +0 -28
  305. package/esm2022/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.mjs +0 -185
  306. package/esm2022/lib/techlify-company-switcher/index.mjs +0 -3
  307. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +0 -70
  308. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +0 -32
  309. package/esm2022/lib/techlify-currency-pipe/techlify-currency-pipe.directive.mjs +0 -27
  310. package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +0 -24
  311. package/esm2022/lib/techlify-feature/techlify-feature-directive.module.mjs +0 -20
  312. package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +0 -32
  313. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +0 -141
  314. package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +0 -28
  315. package/esm2022/lib/techlify-feature/techlify-feature.routing.mjs +0 -12
  316. package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +0 -43
  317. package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +0 -77
  318. package/esm2022/lib/techlify-icon/techlify-icon.module.mjs +0 -24
  319. package/esm2022/lib/techlify-notifications/index.mjs +0 -9
  320. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +0 -26
  321. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +0 -52
  322. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +0 -26
  323. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.mjs +0 -18
  324. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.mjs +0 -18
  325. package/esm2022/lib/techlify-notifications/techlify-notification-routing.module.mjs +0 -18
  326. package/esm2022/lib/techlify-notifications/techlify-notification.module.mjs +0 -22
  327. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +0 -115
  328. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +0 -26
  329. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +0 -28
  330. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +0 -143
  331. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +0 -23
  332. package/esm2022/lib/techlify-update/techlify-update-routing.module.mjs +0 -28
  333. package/esm2022/lib/techlify-update/techlify-update.module.mjs +0 -27
  334. package/esm2022/lib/techlify-update/techlify-update.service.mjs +0 -41
  335. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +0 -160
  336. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +0 -58
  337. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +0 -22
  338. package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +0 -76
  339. package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +0 -53
  340. package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +0 -27
  341. package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +0 -37
  342. package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +0 -22
  343. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.mjs +0 -90
  344. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.mjs +0 -24
  345. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view.service.mjs +0 -18
  346. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.component.mjs +0 -95
  347. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.module.mjs +0 -20
  348. package/esm2022/lib/techlify-view/techlify-view.service.mjs +0 -18
  349. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.mjs +0 -18
  350. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +0 -42
  351. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.mjs +0 -28
  352. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.mjs +0 -18
  353. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +0 -87
  354. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.mjs +0 -24
  355. package/esm2022/lib/timeline-activity/timeline-activity.service.mjs +0 -18
  356. package/esm2022/lib/timeline-filter/calculate-timeline.mjs +0 -103
  357. package/esm2022/lib/timeline-filter/index.mjs +0 -4
  358. package/esm2022/lib/timeline-filter/timeline-filter-routing.module.mjs +0 -18
  359. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +0 -290
  360. package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +0 -60
  361. package/esm2022/lib/timeline-filter/timeline.model.mjs +0 -18
  362. package/esm2022/lib/user/app-admin-user-list/app-admin-user-list.component.mjs +0 -155
  363. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.component.mjs +0 -52
  364. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +0 -44
  365. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.routes.mjs +0 -22
  366. package/esm2022/lib/user/current-user.service.mjs +0 -152
  367. package/esm2022/lib/user/index.mjs +0 -14
  368. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +0 -93
  369. package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +0 -20
  370. package/esm2022/lib/user/user-explore.component.mjs +0 -49
  371. package/esm2022/lib/user/user-form/user-form.component.mjs +0 -200
  372. package/esm2022/lib/user/user-list/user-list.component.mjs +0 -145
  373. package/esm2022/lib/user/user-sessions/user-session.service.mjs +0 -18
  374. package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.component.mjs +0 -47
  375. package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.module.mjs +0 -20
  376. package/esm2022/lib/user/user-type.enum.mjs +0 -7
  377. package/esm2022/lib/user/user-view.component.mjs +0 -58
  378. package/esm2022/lib/user/user.model.mjs +0 -31
  379. package/esm2022/lib/user/user.module.mjs +0 -68
  380. package/esm2022/lib/user/user.routes.mjs +0 -30
  381. package/esm2022/lib/user/user.service.mjs +0 -42
  382. package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.mjs +0 -53
  383. package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.mjs +0 -20
  384. package/esm2022/lib/user-clients-list/user-clients-list.component.mjs +0 -50
  385. package/esm2022/lib/user-clients-list/user-clients-list.module.mjs +0 -24
  386. package/esm2022/lib/user-clients-list/user-tenant.service.mjs +0 -24
  387. package/esm2022/lib/user-config/index.mjs +0 -3
  388. package/esm2022/lib/user-config/user-config.model.mjs +0 -50
  389. package/esm2022/lib/user-config/user-config.service.mjs +0 -65
  390. package/esm2022/lib/user-menu/user-menu.component.mjs +0 -39
  391. package/esm2022/lib/user-menu/user-menu.module.mjs +0 -28
  392. package/esm2022/lib/user-selector/index.mjs +0 -3
  393. package/esm2022/lib/user-selector/user-data.service.mjs +0 -35
  394. package/esm2022/lib/user-selector/user-selector.component.mjs +0 -86
  395. package/esm2022/lib/user-selector/user-selector.module.mjs +0 -26
  396. package/esm2022/lib/utility/date-utils.service.mjs +0 -89
  397. package/esm2022/lib/utility/index.mjs +0 -3
  398. package/esm2022/lib/utility/num-items-selector.component.mjs +0 -31
  399. package/esm2022/lib/utility/utility.module.mjs +0 -22
  400. package/esm2022/lib/validators/date.validator.mjs +0 -31
  401. package/esm2022/ngx-techlify-core.mjs +0 -5
  402. package/esm2022/public-api.mjs +0 -232
  403. package/index.d.ts +0 -5
  404. package/lib/access-control-config/access-control-config-form/access-control-config-form.component.d.ts +0 -44
  405. package/lib/access-control-config/access-control-config-routing.module.d.ts +0 -7
  406. package/lib/access-control-config/access-control-config.component.d.ts +0 -30
  407. package/lib/access-control-config/access-control-config.model.d.ts +0 -17
  408. package/lib/access-control-config/access-control-config.module.d.ts +0 -10
  409. package/lib/access-control-config/access-control-config.service.d.ts +0 -15
  410. package/lib/action-popup/action-popup.component.d.ts +0 -17
  411. package/lib/action-popup/action-popup.model.d.ts +0 -5
  412. package/lib/action-popup/action-popup.module.d.ts +0 -9
  413. package/lib/action-popup/index.d.ts +0 -2
  414. package/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.d.ts +0 -7
  415. package/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.d.ts +0 -29
  416. package/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.d.ts +0 -11
  417. package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.d.ts +0 -28
  418. package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.d.ts +0 -8
  419. package/lib/app-admin/admin-role/admin-role.service.d.ts +0 -11
  420. package/lib/app-admin/app-admin-home/app-admin-home.component.d.ts +0 -5
  421. package/lib/app-admin/app-admin-routing.module.d.ts +0 -7
  422. package/lib/app-admin/app-admin.module.d.ts +0 -8
  423. package/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.d.ts +0 -13
  424. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +0 -7
  425. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +0 -20
  426. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +0 -11
  427. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +0 -7
  428. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +0 -33
  429. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +0 -10
  430. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +0 -7
  431. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +0 -20
  432. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +0 -9
  433. package/lib/audit-log/audit-log-routing.module.d.ts +0 -7
  434. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +0 -7
  435. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +0 -20
  436. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +0 -9
  437. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +0 -7
  438. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +0 -18
  439. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +0 -9
  440. package/lib/audit-log/audit-log.module.d.ts +0 -10
  441. package/lib/audit-log/audit-log.service.d.ts +0 -8
  442. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +0 -7
  443. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +0 -12
  444. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +0 -10
  445. package/lib/base-model/index.d.ts +0 -7
  446. package/lib/base-model/techlify-form/contract/techlify-form.contract.d.ts +0 -18
  447. package/lib/base-model/techlify-form/techlify-form.component.d.ts +0 -69
  448. package/lib/base-model/techlify-list/contract/techlify-list.contract.d.ts +0 -9
  449. package/lib/base-model/techlify-list/techlify-list.component.d.ts +0 -175
  450. package/lib/base-model/techlify-service.d.ts +0 -54
  451. package/lib/base-model/techlify-show/contract/techlify-show.contract.d.ts +0 -17
  452. package/lib/base-model/techlify-show/techlify-show.component.d.ts +0 -71
  453. package/lib/change-password/change-password-routing.module.d.ts +0 -7
  454. package/lib/change-password/change-password.component.d.ts +0 -27
  455. package/lib/change-password/change-password.module.d.ts +0 -10
  456. package/lib/column-selector/column-config.model.d.ts +0 -7
  457. package/lib/column-selector/column-selector/column-selector.component.d.ts +0 -27
  458. package/lib/column-selector/column-selector.module.d.ts +0 -8
  459. package/lib/column-selector/index.d.ts +0 -3
  460. package/lib/company-information/client.service.d.ts +0 -9
  461. package/lib/company-information/company-info-display/company-info-display.component.d.ts +0 -16
  462. package/lib/company-information/company-information/company-information.component.d.ts +0 -27
  463. package/lib/company-information/tenant-form-button/tenant-form-button.component.d.ts +0 -14
  464. package/lib/core/alert.service.d.ts +0 -15
  465. package/lib/core/api-prefix.interceptor.d.ts +0 -14
  466. package/lib/core/app-update.service.d.ts +0 -25
  467. package/lib/core/authentication.guard.d.ts +0 -13
  468. package/lib/core/authentication.service.d.ts +0 -28
  469. package/lib/core/cache.interceptor.d.ts +0 -24
  470. package/lib/core/config.service.d.ts +0 -22
  471. package/lib/core/core.module.d.ts +0 -10
  472. package/lib/core/credentials.service.d.ts +0 -39
  473. package/lib/core/environment.service.d.ts +0 -8
  474. package/lib/core/error-handler.interceptor.d.ts +0 -26
  475. package/lib/core/error-handler.service.d.ts +0 -19
  476. package/lib/core/filter.service.d.ts +0 -14
  477. package/lib/core/form-validator.service.d.ts +0 -11
  478. package/lib/core/header.interceptor.d.ts +0 -11
  479. package/lib/core/http-cache.service.d.ts +0 -57
  480. package/lib/core/http.service.d.ts +0 -59
  481. package/lib/core/index.d.ts +0 -22
  482. package/lib/core/logger.service.d.ts +0 -85
  483. package/lib/core/route-reusable-strategy.d.ts +0 -16
  484. package/lib/core/snack/snack.component.d.ts +0 -13
  485. package/lib/core/snack/snack.module.d.ts +0 -10
  486. package/lib/core/storage.service.d.ts +0 -18
  487. package/lib/core/techlify-config.model.d.ts +0 -18
  488. package/lib/core/token.interceptor.d.ts +0 -14
  489. package/lib/custom-icon/custom-icon-registry.service.d.ts +0 -10
  490. package/lib/custom-icon/custom-icon.component.d.ts +0 -11
  491. package/lib/custom-icon/custom-icon.module.d.ts +0 -8
  492. package/lib/custom-icon/custom-icons.registry.d.ts +0 -4
  493. package/lib/data-table/data-table.component.d.ts +0 -61
  494. package/lib/data-table/data-table.model.d.ts +0 -46
  495. package/lib/data-table/data-table.module.d.ts +0 -8
  496. package/lib/data-table/index.d.ts +0 -2
  497. package/lib/delete-button/techlify-delete-button.component.d.ts +0 -24
  498. package/lib/detail-layout/techlify-detail-layout.component.d.ts +0 -5
  499. package/lib/document-viewer/document-viewer.component.d.ts +0 -19
  500. package/lib/document-viewer/document-viewer.module.d.ts +0 -10
  501. package/lib/document-viewer/index.d.ts +0 -2
  502. package/lib/document-viewer/viewer-config.model.d.ts +0 -5
  503. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +0 -12
  504. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +0 -19
  505. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +0 -9
  506. package/lib/email-subscription/email-subscription-for-user/index.d.ts +0 -1
  507. package/lib/email-subscription/email-subscription-routing.module.d.ts +0 -7
  508. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +0 -7
  509. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +0 -35
  510. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +0 -10
  511. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +0 -1
  512. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +0 -14
  513. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +0 -32
  514. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +0 -10
  515. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +0 -1
  516. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +0 -7
  517. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +0 -8
  518. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +0 -7
  519. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +0 -35
  520. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +0 -10
  521. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +0 -1
  522. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +0 -14
  523. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +0 -34
  524. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +0 -11
  525. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +0 -1
  526. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +0 -7
  527. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +0 -16
  528. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +0 -9
  529. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +0 -1
  530. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +0 -7
  531. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +0 -8
  532. package/lib/email-subscription/email-subscription.module.d.ts +0 -8
  533. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +0 -42
  534. package/lib/entity-files/entity-file-list/entity-file-list.component.d.ts +0 -72
  535. package/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.d.ts +0 -9
  536. package/lib/entity-files/entity-file-list.module.d.ts +0 -13
  537. package/lib/entity-files/entity-file.service.d.ts +0 -11
  538. package/lib/entity-files/index.d.ts +0 -4
  539. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +0 -21
  540. package/lib/export-excel/export-excel.module.d.ts +0 -10
  541. package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +0 -31
  542. package/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.d.ts +0 -8
  543. package/lib/file-dropper/file-dropper.component.d.ts +0 -36
  544. package/lib/file-dropper/file-dropper.model.d.ts +0 -10
  545. package/lib/file-dropper/file-dropper.module.d.ts +0 -9
  546. package/lib/file-dropper/index.d.ts +0 -2
  547. package/lib/file-upload-button/file-upload-button.component.d.ts +0 -20
  548. package/lib/forgot-password/forgot-password-routing.module.d.ts +0 -7
  549. package/lib/forgot-password/forgot-password.component.d.ts +0 -34
  550. package/lib/forgot-password/forgot-password.module.d.ts +0 -9
  551. package/lib/forgot-password/index.d.ts +0 -2
  552. package/lib/form-button/techlify-form-button.component.d.ts +0 -15
  553. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form-routing.module.d.ts +0 -7
  554. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.d.ts +0 -18
  555. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.d.ts +0 -9
  556. package/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.component.d.ts +0 -10
  557. package/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.module.d.ts +0 -10
  558. package/lib/form-configuration/form-configuration-form-field.service.d.ts +0 -8
  559. package/lib/form-configuration/form-configuration-form.service.d.ts +0 -8
  560. package/lib/form-configuration/form-configuration-utility.service.d.ts +0 -18
  561. package/lib/image-preview/image-preview.component.d.ts +0 -9
  562. package/lib/import-csv/data-import/data-import.component.d.ts +0 -9
  563. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +0 -15
  564. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +0 -37
  565. package/lib/import-csv/import-csv-config.d.ts +0 -18
  566. package/lib/import-csv/import-csv.component.d.ts +0 -38
  567. package/lib/import-csv/import-csv.module.d.ts +0 -14
  568. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +0 -23
  569. package/lib/import-csv/import-success/import-success.component.d.ts +0 -11
  570. package/lib/ip-address-selector/ip-address-selector.module.d.ts +0 -8
  571. package/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.d.ts +0 -28
  572. package/lib/loader/index.d.ts +0 -1
  573. package/lib/loader/loader.component.d.ts +0 -11
  574. package/lib/loader/loader.module.d.ts +0 -9
  575. package/lib/local-date-parser.d.ts +0 -1
  576. package/lib/locked-date/index.d.ts +0 -5
  577. package/lib/locked-date/locked-date-form/locked-date-form.component.d.ts +0 -24
  578. package/lib/locked-date/locked-date-lock-unlock-button/locked-date-lock-unlock-button.component.d.ts +0 -13
  579. package/lib/locked-date/locked-date.model.d.ts +0 -10
  580. package/lib/locked-date/locked-date.module.d.ts +0 -10
  581. package/lib/locked-date/locked-date.service.d.ts +0 -11
  582. package/lib/locked-date/locked-dates-list/locked-date-list.component.d.ts +0 -19
  583. package/lib/login/index.d.ts +0 -2
  584. package/lib/login/login-form-fields/login-form-fields.component.d.ts +0 -41
  585. package/lib/login/login-routing.module.d.ts +0 -7
  586. package/lib/login/login.component.d.ts +0 -36
  587. package/lib/login/login.module.d.ts +0 -10
  588. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +0 -7
  589. package/lib/login-history-for-user/login-history-for-user.component.d.ts +0 -25
  590. package/lib/login-history-for-user/login-history-for-user.module.d.ts +0 -9
  591. package/lib/material.module.d.ts +0 -30
  592. package/lib/ngx-techlify-users/ngx-techlify-users-routing.module.d.ts +0 -7
  593. package/lib/ngx-techlify-users/ngx-techlify-users.module.d.ts +0 -8
  594. package/lib/note/comment-form/comment-form.component.d.ts +0 -25
  595. package/lib/note/index.d.ts +0 -4
  596. package/lib/note/note-comment-list/note-comment-list.component.d.ts +0 -33
  597. package/lib/note/note-form/note-form.component.d.ts +0 -29
  598. package/lib/note/note-list/note-list.component.d.ts +0 -30
  599. package/lib/note/note.module.d.ts +0 -9
  600. package/lib/note/note.service.d.ts +0 -8
  601. package/lib/number-input-button/index.d.ts +0 -2
  602. package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +0 -32
  603. package/lib/number-input-button/number-input-button.module.d.ts +0 -8
  604. package/lib/number-selector/number-selector.component.d.ts +0 -44
  605. package/lib/ordinal-pipe/ordinal-pipe.d.ts +0 -7
  606. package/lib/password-requirement-check/password-check-result.d.ts +0 -7
  607. package/lib/password-requirement-check/password-check.service.d.ts +0 -15
  608. package/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.d.ts +0 -23
  609. package/lib/password-requirement-check/password-requirement-check.module.d.ts +0 -8
  610. package/lib/pdf-button/pdf-button.component.d.ts +0 -11
  611. package/lib/pdf-button/pdf-button.module.d.ts +0 -8
  612. package/lib/phone-number-selector/country.service.d.ts +0 -12
  613. package/lib/phone-number-selector/phone-number-selector.component.d.ts +0 -47
  614. package/lib/pipes/file-size.pipe.d.ts +0 -7
  615. package/lib/pipes/wrap.pipe.d.ts +0 -7
  616. package/lib/profile/index.d.ts +0 -2
  617. package/lib/profile/profile-edit.component.d.ts +0 -33
  618. package/lib/profile/profile-routing.module.d.ts +0 -7
  619. package/lib/profile/profile.module.d.ts +0 -9
  620. package/lib/read-more/read-more.component.d.ts +0 -15
  621. package/lib/read-more/read-more.module.d.ts +0 -9
  622. package/lib/request-helper/request-helper.service.d.ts +0 -59
  623. package/lib/reset-password/index.d.ts +0 -3
  624. package/lib/reset-password/reset-password-routing.module.d.ts +0 -7
  625. package/lib/reset-password/reset-password.component.d.ts +0 -28
  626. package/lib/reset-password/reset-password.module.d.ts +0 -10
  627. package/lib/reset-password/reset-password.service.d.ts +0 -11
  628. package/lib/restrictors/index.d.ts +0 -3
  629. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.d.ts +0 -34
  630. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.d.ts +0 -8
  631. package/lib/restrictors/restrictor-level-selector/restrictor-level.service.d.ts +0 -9
  632. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.d.ts +0 -34
  633. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.d.ts +0 -8
  634. package/lib/restrictors/restrictor-status-selector/restrictor-status.service.d.ts +0 -9
  635. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.d.ts +0 -34
  636. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.d.ts +0 -8
  637. package/lib/restrictors/restrictor-type-selector/restrictor-type.service.d.ts +0 -9
  638. package/lib/restrictors/restrictor.service.d.ts +0 -9
  639. package/lib/restrictors/restrictors-form/restrictors-form.component.d.ts +0 -30
  640. package/lib/restrictors/restrictors-form-page/restrictors-form-page.component.d.ts +0 -21
  641. package/lib/restrictors/restrictors-list-page/restrictors-list-page.component.d.ts +0 -50
  642. package/lib/restrictors/restrictors-routing.module.d.ts +0 -7
  643. package/lib/restrictors/restrictors.module.d.ts +0 -15
  644. package/lib/role/index.d.ts +0 -9
  645. package/lib/role/permission/permission.model.d.ts +0 -11
  646. package/lib/role/permission/permission.module.d.ts +0 -9
  647. package/lib/role/permission/permission.routes.d.ts +0 -7
  648. package/lib/role/permission/permissions-management.component.d.ts +0 -41
  649. package/lib/role/role-form-button.component.d.ts +0 -16
  650. package/lib/role/role-form.component.d.ts +0 -32
  651. package/lib/role/role-list/role-list.component.d.ts +0 -33
  652. package/lib/role/role-view/role-view-routing.module.d.ts +0 -7
  653. package/lib/role/role-view/role-view.component.d.ts +0 -16
  654. package/lib/role/role-view/role-view.module.d.ts +0 -9
  655. package/lib/role/role.model.d.ts +0 -29
  656. package/lib/role/role.module.d.ts +0 -11
  657. package/lib/role/role.routes.d.ts +0 -7
  658. package/lib/role/role.service.d.ts +0 -10
  659. package/lib/searchable-selector/index.d.ts +0 -1
  660. package/lib/searchable-selector/searchable-selector.component.d.ts +0 -95
  661. package/lib/searchable-selector/searchable-selector.module.d.ts +0 -11
  662. package/lib/shared.module.d.ts +0 -22
  663. package/lib/signup/index.d.ts +0 -2
  664. package/lib/signup/signup-routing.module.d.ts +0 -7
  665. package/lib/signup/signup.component.d.ts +0 -29
  666. package/lib/signup/signup.module.d.ts +0 -9
  667. package/lib/subscription/subscription-form/subscription-form-routing.module.d.ts +0 -7
  668. package/lib/subscription/subscription-form/subscription-form.component.d.ts +0 -31
  669. package/lib/subscription/subscription-form/subscription-form.module.d.ts +0 -9
  670. package/lib/subscription/subscription-listing/subscription-listing-routing.module.d.ts +0 -7
  671. package/lib/subscription/subscription-listing/subscription-listing.component.d.ts +0 -25
  672. package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +0 -10
  673. package/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.d.ts +0 -7
  674. package/lib/subscription/subscription-package-listing/subscription-package-listing.component.d.ts +0 -28
  675. package/lib/subscription/subscription-package-listing/subscription-package-listing.module.d.ts +0 -9
  676. package/lib/subscription/subscription-package-view/subscription-package-view-routing.module.d.ts +0 -7
  677. package/lib/subscription/subscription-package-view/subscription-package-view.component.d.ts +0 -15
  678. package/lib/subscription/subscription-package-view/subscription-package-view.module.d.ts +0 -10
  679. package/lib/subscription/subscription-package.service.d.ts +0 -9
  680. package/lib/subscription/subscription-status.enum.d.ts +0 -4
  681. package/lib/subscription/subscription.service.d.ts +0 -12
  682. package/lib/subscription/techlify-subscription-directive.module.d.ts +0 -8
  683. package/lib/subscription/techlify-subscription.directive.d.ts +0 -14
  684. package/lib/tag/tag.service.d.ts +0 -8
  685. package/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.d.ts +0 -22
  686. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +0 -12
  687. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +0 -74
  688. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +0 -8
  689. package/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.d.ts +0 -15
  690. package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +0 -61
  691. package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +0 -8
  692. package/lib/techlify-app-selector/techlify-app-selector.component.d.ts +0 -13
  693. package/lib/techlify-app-selector/techlify-app-selector.module.d.ts +0 -10
  694. package/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.d.ts +0 -50
  695. package/lib/techlify-company-switcher/index.d.ts +0 -2
  696. package/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.d.ts +0 -28
  697. package/lib/techlify-company-switcher/techlify-company-switcher.module.d.ts +0 -10
  698. package/lib/techlify-currency-pipe/techlify-currency-pipe.directive.d.ts +0 -8
  699. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +0 -12
  700. package/lib/techlify-feature/techlify-feature-directive.module.d.ts +0 -8
  701. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +0 -13
  702. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -32
  703. package/lib/techlify-feature/techlify-feature.module.d.ts +0 -11
  704. package/lib/techlify-feature/techlify-feature.routing.d.ts +0 -2
  705. package/lib/techlify-feature/techlify-feature.service.d.ts +0 -13
  706. package/lib/techlify-icon/techlify-icon.component.d.ts +0 -12
  707. package/lib/techlify-icon/techlify-icon.module.d.ts +0 -9
  708. package/lib/techlify-notifications/index.d.ts +0 -5
  709. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.d.ts +0 -7
  710. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +0 -17
  711. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.d.ts +0 -9
  712. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.d.ts +0 -8
  713. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.d.ts +0 -8
  714. package/lib/techlify-notifications/techlify-notification-routing.module.d.ts +0 -7
  715. package/lib/techlify-notifications/techlify-notification.module.d.ts +0 -8
  716. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +0 -33
  717. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +0 -9
  718. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +0 -7
  719. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +0 -34
  720. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +0 -9
  721. package/lib/techlify-update/techlify-update-routing.module.d.ts +0 -7
  722. package/lib/techlify-update/techlify-update.module.d.ts +0 -10
  723. package/lib/techlify-update/techlify-update.service.d.ts +0 -16
  724. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -33
  725. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.d.ts +0 -20
  726. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.d.ts +0 -8
  727. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +0 -28
  728. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +0 -19
  729. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +0 -10
  730. package/lib/techlify-update/update-view/update-view.component.d.ts +0 -17
  731. package/lib/techlify-update/update-view/update-view.module.d.ts +0 -8
  732. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.d.ts +0 -23
  733. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.d.ts +0 -9
  734. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view.service.d.ts +0 -8
  735. package/lib/techlify-view/techlify-view-form/techlify-view-form.component.d.ts +0 -30
  736. package/lib/techlify-view/techlify-view-form/techlify-view-form.module.d.ts +0 -8
  737. package/lib/techlify-view/techlify-view.service.d.ts +0 -8
  738. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.d.ts +0 -7
  739. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.d.ts +0 -17
  740. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.d.ts +0 -10
  741. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.d.ts +0 -7
  742. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.d.ts +0 -24
  743. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.d.ts +0 -9
  744. package/lib/timeline-activity/timeline-activity.service.d.ts +0 -8
  745. package/lib/timeline-filter/calculate-timeline.d.ts +0 -6
  746. package/lib/timeline-filter/index.d.ts +0 -3
  747. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +0 -7
  748. package/lib/timeline-filter/timeline-filter.component.d.ts +0 -75
  749. package/lib/timeline-filter/timeline-filter.module.d.ts +0 -18
  750. package/lib/timeline-filter/timeline.model.d.ts +0 -17
  751. package/lib/user/app-admin-user-list/app-admin-user-list.component.d.ts +0 -40
  752. package/lib/user/app-admin-user-view/app-admin-user-view.component.d.ts +0 -26
  753. package/lib/user/app-admin-user-view/app-admin-user-view.module.d.ts +0 -13
  754. package/lib/user/app-admin-user-view/app-admin-user-view.routes.d.ts +0 -7
  755. package/lib/user/current-user.service.d.ts +0 -75
  756. package/lib/user/index.d.ts +0 -13
  757. package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +0 -23
  758. package/lib/user/user-enable-button-component/user-enable-button.module.d.ts +0 -8
  759. package/lib/user/user-explore.component.d.ts +0 -26
  760. package/lib/user/user-form/user-form.component.d.ts +0 -43
  761. package/lib/user/user-list/user-list.component.d.ts +0 -38
  762. package/lib/user/user-sessions/user-session.service.d.ts +0 -8
  763. package/lib/user/user-sessions/user-sessions/user-sessions.component.d.ts +0 -15
  764. package/lib/user/user-sessions/user-sessions/user-sessions.module.d.ts +0 -8
  765. package/lib/user/user-type.enum.d.ts +0 -5
  766. package/lib/user/user-view.component.d.ts +0 -32
  767. package/lib/user/user.model.d.ts +0 -30
  768. package/lib/user/user.module.d.ts +0 -16
  769. package/lib/user/user.routes.d.ts +0 -7
  770. package/lib/user/user.service.d.ts +0 -15
  771. package/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.d.ts +0 -22
  772. package/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.d.ts +0 -8
  773. package/lib/user-clients-list/user-clients-list.component.d.ts +0 -15
  774. package/lib/user-clients-list/user-clients-list.module.d.ts +0 -9
  775. package/lib/user-clients-list/user-tenant.service.d.ts +0 -11
  776. package/lib/user-config/index.d.ts +0 -2
  777. package/lib/user-config/user-config.model.d.ts +0 -50
  778. package/lib/user-config/user-config.service.d.ts +0 -14
  779. package/lib/user-menu/user-menu.component.d.ts +0 -17
  780. package/lib/user-menu/user-menu.module.d.ts +0 -13
  781. package/lib/user-selector/index.d.ts +0 -2
  782. package/lib/user-selector/user-data.service.d.ts +0 -16
  783. package/lib/user-selector/user-selector.component.d.ts +0 -28
  784. package/lib/user-selector/user-selector.module.d.ts +0 -8
  785. package/lib/utility/date-utils.service.d.ts +0 -38
  786. package/lib/utility/index.d.ts +0 -2
  787. package/lib/utility/num-items-selector.component.d.ts +0 -19
  788. package/lib/utility/utility.module.d.ts +0 -8
  789. package/lib/validators/date.validator.d.ts +0 -6
  790. package/public-api.d.ts +0 -212
@@ -1,14 +0,0 @@
1
- export * from './current-user.service';
2
- export * from './user-explore.component';
3
- export * from './user-form/user-form.component';
4
- export * from './user.model';
5
- export * from './user.service';
6
- export * from './user-list/user-list.component';
7
- export * from './user.routes';
8
- export * from '../user-clients-list/user-clients-list.component';
9
- export * from '../user-clients-list/user-clients-list.module';
10
- export * from '../user-client-enable-disable-button/user-client-enable-disable-button.component';
11
- export * from '../user-client-enable-disable-button/user-client-enable-disable-button.module';
12
- export * from './user-sessions/user-sessions/user-sessions.component';
13
- export * from './user-sessions/user-sessions/user-sessions.module';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXJyZW50LXVzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItZXhwbG9yZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWZvcm0vdXNlci1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWxpc3QvdXNlci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXIucm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4uL3VzZXItY2xpZW50cy1saXN0L3VzZXItY2xpZW50cy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuLi91c2VyLWNsaWVudHMtbGlzdC91c2VyLWNsaWVudHMtbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi4vdXNlci1jbGllbnQtZW5hYmxlLWRpc2FibGUtYnV0dG9uL3VzZXItY2xpZW50LWVuYWJsZS1kaXNhYmxlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi4vdXNlci1jbGllbnQtZW5hYmxlLWRpc2FibGUtYnV0dG9uL3VzZXItY2xpZW50LWVuYWJsZS1kaXNhYmxlLWJ1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMvdXNlci1zZXNzaW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMvdXNlci1zZXNzaW9ucy5tb2R1bGUnO1xuIl19
@@ -1,93 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, Input, Output, EventEmitter } from '@angular/core';
3
- import { UntilDestroy } from '@ngneat/until-destroy';
4
- import { ActionPopupComponent } from '../../action-popup';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../user.service";
7
- import * as i2 from "../../core";
8
- import * as i3 from "../current-user.service";
9
- import * as i4 from "@angular/material/dialog";
10
- import * as i5 from "@angular/common";
11
- import * as i6 from "@angular/material/button";
12
- import * as i7 from "@angular/material/tooltip";
13
- import * as i8 from "../../techlify-icon/techlify-icon.component";
14
- let UserEnableButtonComponent = class UserEnableButtonComponent {
15
- constructor(service, alertService, currentUserService, dialog) {
16
- this.service = service;
17
- this.alertService = alertService;
18
- this.currentUserService = currentUserService;
19
- this.dialog = dialog;
20
- this.isUseIcons = false;
21
- this.onSave = new EventEmitter();
22
- }
23
- ngOnInit() {
24
- this.currentUser = this.currentUserService.getUser();
25
- }
26
- enableUser() {
27
- if (this.currentUser.id === this?.user?.id) {
28
- this.alertService.addAlert('Current user cannot be changed', 'warn');
29
- return;
30
- }
31
- const dialogRef = this.dialog.open(ActionPopupComponent, {
32
- width: "400px",
33
- data: {
34
- title: 'Enable User',
35
- message: 'This will re-enable the user’s account. Are you sure you want to continue?'
36
- },
37
- autoFocus: false
38
- });
39
- dialogRef.afterClosed().subscribe(async (result) => {
40
- if (result) {
41
- //Action confirmed
42
- this.service.enable(this.user).then((res) => {
43
- this.onSave.emit(res?.item);
44
- });
45
- }
46
- });
47
- }
48
- disableUser() {
49
- if (this.currentUser.id === this?.user?.id) {
50
- this.alertService.addAlert('Current user cannot be changed', 'warn');
51
- return;
52
- }
53
- const dialogRef = this.dialog.open(ActionPopupComponent, {
54
- width: "400px",
55
- data: {
56
- title: 'Disable User',
57
- message: 'Disabling this user’s account will restrict all of their their access to your company. Are you sure you want to continue?'
58
- },
59
- autoFocus: false
60
- });
61
- dialogRef.afterClosed().subscribe(async (result) => {
62
- if (result) {
63
- //Action confirmed
64
- this.service.disable(this.user).then((res) => {
65
- this.onSave.emit(res?.item);
66
- });
67
- }
68
- });
69
- }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEnableButtonComponent, deps: [{ token: i1.UserService }, { token: i2.AlertService }, { token: i3.CurrentUserService }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UserEnableButtonComponent, selector: "app-user-enable-button", inputs: { user: "user", isUseIcons: "isUseIcons" }, outputs: { onSave: "onSave" }, ngImport: i0, template: "<ng-container *ngIf=\"!isUseIcons\">\n <button mat-stroked-button color=\"warn\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\">\n Disable\n </button>\n <button mat-raised-button color=\"primary\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\">\n Enable\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"isUseIcons\">\n <app-techlify-icon name=\"disable_user\" class=\"text-danger clickable\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\"\n matTooltip=\"Disable User\"></app-techlify-icon>\n <app-techlify-icon name=\"activate\" class=\"text-success clickable\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\"\n matTooltip=\"Enable User\"></app-techlify-icon>\n</ng-container>", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i8.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
72
- };
73
- UserEnableButtonComponent = __decorate([
74
- UntilDestroy()
75
- /**
76
- * Component to view the set of users
77
- *
78
- * @author Joshua Kissoon
79
- * @since 20170710
80
- */
81
- ], UserEnableButtonComponent);
82
- export { UserEnableButtonComponent };
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEnableButtonComponent, decorators: [{
84
- type: Component,
85
- args: [{ selector: 'app-user-enable-button', template: "<ng-container *ngIf=\"!isUseIcons\">\n <button mat-stroked-button color=\"warn\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\">\n Disable\n </button>\n <button mat-raised-button color=\"primary\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\">\n Enable\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"isUseIcons\">\n <app-techlify-icon name=\"disable_user\" class=\"text-danger clickable\" *ngIf=\"user?.user_client?.is_enabled\n && user?.id !== currentUser?.id\n && currentUserService.hasPermission('user_disable')\" (click)=\"disableUser()\"\n matTooltip=\"Disable User\"></app-techlify-icon>\n <app-techlify-icon name=\"activate\" class=\"text-success clickable\" *ngIf=\"!user?.user_client?.is_enabled\n&& user?.id !== currentUser?.id\n&& currentUserService.hasPermission('user_enable')\" (click)=\"enableUser()\"\n matTooltip=\"Enable User\"></app-techlify-icon>\n</ng-container>" }]
86
- }], ctorParameters: () => [{ type: i1.UserService }, { type: i2.AlertService }, { type: i3.CurrentUserService }, { type: i4.MatDialog }], propDecorators: { user: [{
87
- type: Input
88
- }], isUseIcons: [{
89
- type: Input
90
- }], onSave: [{
91
- type: Output
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbmFibGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2VyLWVuYWJsZS1idXR0b24tY29tcG9uZW50L3VzZXItZW5hYmxlLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvdXNlci1lbmFibGUtYnV0dG9uLWNvbXBvbmVudC91c2VyLWVuYWJsZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJELE9BQU8sRUFBZSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7O0FBYWhFLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBUXBDLFlBQ1UsT0FBb0IsRUFDcEIsWUFBMEIsRUFDM0Isa0JBQXNDLEVBQ3JDLE1BQWlCO1FBSGpCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBVGxCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFXbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUdELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckUsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN2RCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBZTtnQkFDakIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSw0RUFBNEU7YUFDdEY7WUFDRCxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsRUFBRTtZQUMvQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLGtCQUFrQjtnQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckUsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN2RCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBZTtnQkFDakIsS0FBSyxFQUFFLGNBQWM7Z0JBQ3JCLE9BQU8sRUFBRSwySEFBMkg7YUFDckk7WUFDRCxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsRUFBRTtZQUMvQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLGtCQUFrQjtnQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEMsQ0FBQyxHQUFPLEVBQUUsRUFBRTtvQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQzsrR0EzRVUseUJBQXlCO21HQUF6Qix5QkFBeUIsaUpDcEJ0QyxzbUNBc0JlOztBREZGLHlCQUF5QjtJQVhyQyxZQUFZLEVBQUU7SUFDZjs7Ozs7T0FLRztHQUtVLHlCQUF5QixDQTRFckM7OzRGQTVFWSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usd0JBQXdCO29LQUt6QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICcuLi9jdXJyZW50LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWN0aW9uUG9wdXAsIEFjdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWN0aW9uLXBvcHVwJztcblxuQFVudGlsRGVzdHJveSgpXG4vKipcbiAqIENvbXBvbmVudCB0byB2aWV3IHRoZSBzZXQgb2YgdXNlcnNcbiAqXG4gKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXG4gKiBAc2luY2UgMjAxNzA3MTBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItZW5hYmxlLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWVuYWJsZS1idXR0b24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJFbmFibGVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHVzZXI6IGFueTtcbiAgQElucHV0KCkgaXNVc2VJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBjdXJyZW50VXNlcjogVXNlcjtcblxuICBAT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8VXNlcj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjdXJyZW50VXNlclNlcnZpY2U6IEN1cnJlbnRVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXG4gICkge1xuICAgIHRoaXMub25TYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyPigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmdldFVzZXIoKTtcbiAgfVxuXG5cbiAgZW5hYmxlVXNlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VXNlci5pZCA9PT0gdGhpcz8udXNlcj8uaWQpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdDdXJyZW50IHVzZXIgY2Fubm90IGJlIGNoYW5nZWQnLCAnd2FybicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXG4gICAgICBkYXRhOiA8QWN0aW9uUG9wdXA+e1xuICAgICAgICB0aXRsZTogJ0VuYWJsZSBVc2VyJyxcbiAgICAgICAgbWVzc2FnZTogJ1RoaXMgd2lsbCByZS1lbmFibGUgdGhlIHVzZXLigJlzIGFjY291bnQuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT8nXG4gICAgICB9LFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0aGlzLnNlcnZpY2UuZW5hYmxlKHRoaXMudXNlcikudGhlbihcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25TYXZlLmVtaXQocmVzPy5pdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkaXNhYmxlVXNlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VXNlci5pZCA9PT0gdGhpcz8udXNlcj8uaWQpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdDdXJyZW50IHVzZXIgY2Fubm90IGJlIGNoYW5nZWQnLCAnd2FybicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXG4gICAgICBkYXRhOiA8QWN0aW9uUG9wdXA+e1xuICAgICAgICB0aXRsZTogJ0Rpc2FibGUgVXNlcicsXG4gICAgICAgIG1lc3NhZ2U6ICdEaXNhYmxpbmcgdGhpcyB1c2Vy4oCZcyBhY2NvdW50IHdpbGwgcmVzdHJpY3QgYWxsIG9mIHRoZWlyIHRoZWlyIGFjY2VzcyB0byB5b3VyIGNvbXBhbnkuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT8nXG4gICAgICB9LFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0aGlzLnNlcnZpY2UuZGlzYWJsZSh0aGlzLnVzZXIpLnRoZW4oXG4gICAgICAgICAgKHJlczphbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25TYXZlLmVtaXQocmVzPy5pdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVXNlSWNvbnNcIj5cbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJ3YXJuXCIgKm5nSWY9XCJ1c2VyPy51c2VyX2NsaWVudD8uaXNfZW5hYmxlZFxuICAmJiB1c2VyPy5pZCAhPT0gY3VycmVudFVzZXI/LmlkXG4gICYmIGN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKCd1c2VyX2Rpc2FibGUnKVwiIChjbGljayk9XCJkaXNhYmxlVXNlcigpXCI+XG4gICAgRGlzYWJsZVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cIiF1c2VyPy51c2VyX2NsaWVudD8uaXNfZW5hYmxlZFxuJiYgdXNlcj8uaWQgIT09IGN1cnJlbnRVc2VyPy5pZFxuJiYgY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24oJ3VzZXJfZW5hYmxlJylcIiAoY2xpY2spPVwiZW5hYmxlVXNlcigpXCI+XG4gICAgRW5hYmxlXG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1VzZUljb25zXCI+XG4gIDxhcHAtdGVjaGxpZnktaWNvbiBuYW1lPVwiZGlzYWJsZV91c2VyXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBjbGlja2FibGVcIiAqbmdJZj1cInVzZXI/LnVzZXJfY2xpZW50Py5pc19lbmFibGVkXG4gICYmIHVzZXI/LmlkICE9PSBjdXJyZW50VXNlcj8uaWRcbiAgJiYgY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24oJ3VzZXJfZGlzYWJsZScpXCIgKGNsaWNrKT1cImRpc2FibGVVc2VyKClcIlxuICAgIG1hdFRvb2x0aXA9XCJEaXNhYmxlIFVzZXJcIj48L2FwcC10ZWNobGlmeS1pY29uPlxuICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImFjdGl2YXRlXCIgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3MgY2xpY2thYmxlXCIgKm5nSWY9XCIhdXNlcj8udXNlcl9jbGllbnQ/LmlzX2VuYWJsZWRcbiYmIHVzZXI/LmlkICE9PSBjdXJyZW50VXNlcj8uaWRcbiYmIGN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKCd1c2VyX2VuYWJsZScpXCIgKGNsaWNrKT1cImVuYWJsZVVzZXIoKVwiXG4gICAgbWF0VG9vbHRpcD1cIkVuYWJsZSBVc2VyXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { UserEnableButtonComponent } from './user-enable-button.component';
3
- import { SharedModule } from '../../shared.module';
4
- import * as i0 from "@angular/core";
5
- export class UserEnableButtonModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEnableButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: UserEnableButtonModule, declarations: [UserEnableButtonComponent], imports: [SharedModule], exports: [UserEnableButtonComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEnableButtonModule, imports: [SharedModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEnableButtonModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [UserEnableButtonComponent],
14
- imports: [
15
- SharedModule
16
- ],
17
- exports: [UserEnableButtonComponent]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbmFibGUtYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2VyLWVuYWJsZS1idXR0b24tY29tcG9uZW50L3VzZXItZW5hYmxlLWJ1dHRvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBVW5ELE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQU5sQix5QkFBeUIsYUFFdEMsWUFBWSxhQUVKLHlCQUF5QjtnSEFFeEIsc0JBQXNCLFlBSi9CLFlBQVk7OzRGQUlILHNCQUFzQjtrQkFQbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJFbmFibGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VzZXItZW5hYmxlLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVXNlckVuYWJsZUJ1dHRvbkNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1VzZXJFbmFibGVCdXR0b25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJFbmFibGVCdXR0b25Nb2R1bGUgeyB9XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../core";
5
- import * as i2 from "@angular/material/dialog";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/button";
8
- /**
9
- * Controller used to explore a User
10
- *
11
- * @author Saravana Kumar
12
- * @since 20190813
13
- */
14
- export class UserExploreComponent {
15
- constructor(http, dialogRef, data) {
16
- this.http = http;
17
- this.dialogRef = dialogRef;
18
- this.data = data;
19
- this.isWorking = false;
20
- this.modules = [];
21
- this.user = this.data;
22
- }
23
- ngOnInit() {
24
- this.loadData();
25
- }
26
- loadData() {
27
- this.isWorking = true;
28
- this.filters = {};
29
- this.filters.not_in_user_id = this.user.id;
30
- this.http.get('api/modules', { params: this.filters }).toPromise().then((response) => {
31
- this.modules = response.data;
32
- this.isWorking = false;
33
- });
34
- }
35
- /**Method to close dialog box */
36
- closeDialog() {
37
- this.dialogRef.close();
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserExploreComponent, deps: [{ token: i1.HttpService }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UserExploreComponent, selector: "user-explore", ngImport: i0, template: "<div class=\"d-flex flex-column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Explore User</div>\n </div>\n <div mat-dialog-content class=\"d-flex flex-column\">\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Entry ID:</label>\n <div class=\"col-9\">{{user.id}}</div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Name:</label>\n <div class=\"col-9\">{{user.name}}</div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Email:</label>\n <div class=\"col-9\">{{user.email}}</div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Not Involed Modules: </label>\n <div class=\"col-9\">\n <ng-container *ngFor=\"let module of modules\">\n {{ module?.name }}, <br />\n </ng-container>\n </div>\n </div>\n\n <button mat-raised-button (click)=\"closeDialog()\">\n Cancel\n </button>\n\n </div>\n\n</div>", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserExploreComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'user-explore', template: "<div class=\"d-flex flex-column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Explore User</div>\n </div>\n <div mat-dialog-content class=\"d-flex flex-column\">\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Entry ID:</label>\n <div class=\"col-9\">{{user.id}}</div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Name:</label>\n <div class=\"col-9\">{{user.name}}</div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Email:</label>\n <div class=\"col-9\">{{user.email}}</div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-3 control-label\">Not Involed Modules: </label>\n <div class=\"col-9\">\n <ng-container *ngFor=\"let module of modules\">\n {{ module?.name }}, <br />\n </ng-container>\n </div>\n </div>\n\n <button mat-raised-button (click)=\"closeDialog()\">\n Cancel\n </button>\n\n </div>\n\n</div>" }]
45
- }], ctorParameters: () => [{ type: i1.HttpService }, { type: i2.MatDialogRef }, { type: undefined, decorators: [{
46
- type: Inject,
47
- args: [MAT_DIALOG_DATA]
48
- }] }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1leHBsb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2VyLWV4cGxvcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi91c2VyL3VzZXItZXhwbG9yZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQUt6RTs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFBb0IsSUFBaUIsRUFDbEIsU0FBNkMsRUFDcEIsSUFBUztRQUZqQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQW9DO1FBQ3BCLFNBQUksR0FBSixJQUFJLENBQUs7UUFOckQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBTVQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FDbkUsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxnQ0FBZ0M7SUFDaEMsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0EvQlEsb0JBQW9CLHlFQVFULGVBQWU7bUdBUjFCLG9CQUFvQixvRENoQmpDLG9xQ0FvQ007OzRGRHBCTyxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksY0FBYzs7MEJBV1gsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLm1vZGVsJztcblxuXG4vKipcbiAqIENvbnRyb2xsZXIgdXNlZCB0byBleHBsb3JlIGEgVXNlclxuICpcbiAqIEBhdXRob3IgU2FyYXZhbmEgS3VtYXJcbiAqIEBzaW5jZSAyMDE5MDgxM1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VzZXItZXhwbG9yZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItZXhwbG9yZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyRXhwbG9yZUNvbXBvbmVudCB7XG4gICAgdXNlcjogVXNlcjtcbiAgICBpc1dvcmtpbmcgPSBmYWxzZTtcbiAgICBtb2R1bGVzID0gW107XG4gICAgZmlsdGVyczogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VXNlckV4cGxvcmVDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMudXNlciA9IHRoaXMuZGF0YTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cblxuICAgIGxvYWREYXRhKCkge1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IHt9O1xuICAgICAgICB0aGlzLmZpbHRlcnMubm90X2luX3VzZXJfaWQgPSB0aGlzLnVzZXIuaWQ7XG4gICAgICAgIHRoaXMuaHR0cC5nZXQoJ2FwaS9tb2R1bGVzJywgeyBwYXJhbXM6IHRoaXMuZmlsdGVycyB9KS50b1Byb21pc2UoKS50aGVuKFxuICAgICAgICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZHVsZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqTWV0aG9kIHRvIGNsb3NlIGRpYWxvZyBib3ggKi9cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdj5FeHBsb3JlIFVzZXI8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTMgY29udHJvbC1sYWJlbFwiPkVudHJ5IElEOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj57e3VzZXIuaWR9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC0zIGNvbnRyb2wtbGFiZWxcIj5OYW1lOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj57e3VzZXIubmFtZX19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTMgY29udHJvbC1sYWJlbFwiPkVtYWlsOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj57e3VzZXIuZW1haWx9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC0zIGNvbnRyb2wtbGFiZWxcIj5Ob3QgSW52b2xlZCBNb2R1bGVzOiA8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW9kdWxlIG9mIG1vZHVsZXNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbW9kdWxlPy5uYW1lIH19LCA8YnIgLz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+XG4gICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgPC9idXR0b24+XG5cbiAgICA8L2Rpdj5cblxuPC9kaXY+Il19
@@ -1,200 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { Validators, UntypedFormControl } from '@angular/forms';
3
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
- import { UserTypeEnum } from '../user-type.enum';
5
- import { TechlifyFormComponent } from '../../base-model';
6
- import { SharedModule } from '../../shared.module';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/dialog";
9
- import * as i2 from "../../core";
10
- import * as i3 from "@angular/forms";
11
- import * as i4 from "../../core/form-validator.service";
12
- import * as i5 from "../user.service";
13
- import * as i6 from "../current-user.service";
14
- import * as i7 from "../../user-config/user-config.service";
15
- import * as i8 from "@angular/common";
16
- import * as i9 from "../../document-viewer/document-viewer.component";
17
- import * as i10 from "../../file-dropper/file-dropper.component";
18
- import * as i11 from "@angular/material/core";
19
- import * as i12 from "@angular/material/button";
20
- import * as i13 from "@angular/material/checkbox";
21
- import * as i14 from "@angular/material/form-field";
22
- import * as i15 from "@angular/material/input";
23
- import * as i16 from "@angular/material/select";
24
- export class UserFormComponent extends TechlifyFormComponent {
25
- constructor(dialogRef, data, http, fb, formValidatorService, userService, currentUserService, userConfigService) {
26
- super(formValidatorService, userService);
27
- this.dialogRef = dialogRef;
28
- this.data = data;
29
- this.http = http;
30
- this.fb = fb;
31
- this.formValidatorService = formValidatorService;
32
- this.userService = userService;
33
- this.currentUserService = currentUserService;
34
- this.userConfigService = userConfigService;
35
- this.isPasswordRequired = false;
36
- this.userTypes = [
37
- { title: 'Admin', value: 2 },
38
- { title: 'Normal User', value: 3 },
39
- ];
40
- this.roles = [];
41
- this.fileList = [];
42
- this.errorMessages = {
43
- name: {
44
- required: 'Name is required'
45
- },
46
- email: {
47
- required: 'Email is required',
48
- email: 'Invalid email',
49
- },
50
- password: {
51
- required: 'Password is required'
52
- },
53
- user_type_id: {
54
- required: 'User Type is required'
55
- }
56
- };
57
- this.config = this.userConfigService.getConfig();
58
- }
59
- get roleForms() {
60
- return this.form.get('roles');
61
- }
62
- get canUpdateUserCredential() {
63
- return this.currentUserService.getUser().user_type_id == UserTypeEnum.ADMIN
64
- || (this.data?.model?.user_clients || [])?.length <= 1;
65
- }
66
- ngOnInit() {
67
- this.userTypes = this.config.userConfig.showUserTypes
68
- ? this.config.userConfig.userTypes
69
- : this.userTypes;
70
- this.form = this.fb.group({
71
- id: [''],
72
- name: new UntypedFormControl('', Validators.compose([Validators.required])),
73
- email: new UntypedFormControl('', Validators.compose([Validators.required, Validators.email])),
74
- password: new UntypedFormControl(''),
75
- phone: new UntypedFormControl(''),
76
- user_type_id: new UntypedFormControl('', Validators.required),
77
- roles: this.fb.array([]),
78
- roles_exists: [[]],
79
- client_id: [this.data?.client_id ?? ''],
80
- signature_url: [''],
81
- signature: [''],
82
- is_temporary_password: [true],
83
- });
84
- const user = this.data?.model;
85
- if (user) {
86
- this.isUpdate = true;
87
- this.form.patchValue(user);
88
- this.form.controls.user_type_id.setValue(user.user_type_id);
89
- this.form.controls.roles_exists.setValue(user.roles || []);
90
- }
91
- // The calling context's client_id always wins, even in edit mode (e.g. an app-admin
92
- // managing a specific tenant's users should save against that tenant, not the user's own).
93
- if (this.data?.client_id != null) {
94
- this.form.controls.client_id.setValue(this.data.client_id);
95
- }
96
- if (this.config.userConfig.showRoles || this.config.userConfig.showFormRoles) {
97
- this.loadRoles();
98
- }
99
- this.fileConfig = {
100
- fileId: 'subjectFile',
101
- containerId: 'subjectFileContainer',
102
- styles: {
103
- height: '200px'
104
- },
105
- multiple: false,
106
- acceptFile: '*',
107
- maxSize: 10,
108
- acceptFileText: 'PNG and JPEG only'
109
- };
110
- this.viewerConfig = {
111
- imageStyle: {
112
- height: '200px',
113
- width: '400px'
114
- },
115
- viewerStyle: {
116
- height: '200px',
117
- width: '100%'
118
- }
119
- };
120
- if (!this.canUpdateUserCredential) {
121
- this.form.get('email').disable();
122
- this.form.get('password').disable();
123
- }
124
- }
125
- loadRoles() {
126
- this.isWorking = true;
127
- const filter = {
128
- client_id: this.data?.client_id || this.data?.model?.client_id || '',
129
- is_subscribed: true,
130
- sort_by: 'label|asc'
131
- };
132
- this.http.get('api/roles', { params: filter }).toPromise().then((res) => {
133
- let roles = res.data;
134
- /* Lets set the roles this user has */
135
- for (let role of roles) {
136
- role.selected = this.form.value.roles_exists.find(roleData => roleData.id == role.id) ? true : false;
137
- }
138
- this.roles = roles;
139
- this.isWorking = false;
140
- });
141
- }
142
- save() {
143
- const data = this.form.getRawValue();
144
- let roles = [];
145
- this.roles.forEach((role) => {
146
- if (role.selected) {
147
- roles[role.id] = role;
148
- }
149
- });
150
- data.roles = roles;
151
- super.submit(data);
152
- }
153
- roleSelected(event, roleId) {
154
- this.roles.forEach((role) => {
155
- if (role.id == roleId) {
156
- role.selected = event.checked;
157
- }
158
- });
159
- }
160
- async fileChanged(event) {
161
- this.fileList = event;
162
- if (this.fileList.length > 0) {
163
- const result = await this.uploadEntityFile(this.fileList[0]);
164
- this.form
165
- .get('signature')
166
- .setValue(result.item.file);
167
- this.form
168
- .get('signature_url')
169
- .setValue(result.item.url);
170
- this.fileList = [];
171
- }
172
- }
173
- async removeFile() {
174
- if (this.form.value.signature) {
175
- this.form.patchValue({
176
- signature: '',
177
- signature_url: ''
178
- });
179
- }
180
- }
181
- uploadEntityFile(file) {
182
- const formData = new FormData();
183
- formData.append('fileData', file, file.name);
184
- return this.http
185
- .skipHeader()
186
- .post('api/entity-files-upload', formData).toPromise();
187
- }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserFormComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.HttpService }, { token: i3.UntypedFormBuilder }, { token: i4.FormValidatorService }, { token: i5.UserService }, { token: i6.CurrentUserService }, { token: i7.UserConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UserFormComponent, isStandalone: true, selector: "app-user-form", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"d-flex flex-column justify-content-start align-items center gap-1\" mat-dialog-content>\n <h5 class=\"fw-bold text-center\">{{ isUpdate ? 'Edit' : 'Create ' }} User</h5>\n <div class=\"d-flex\">\n <div class=\"d-flex flex-column flex-fill gap-1\">\n <mat-form-field>\n <mat-label>Full name</mat-label>\n <input [required]=\"!!form.get('name').validator\" autocomplete=\"off\" formControlName=\"name\" matInput\n placeholder=\"Full Name\" type=\"text\" />\n <mat-error *ngIf=\"isFieldValid('name') && !!form.get('name').validator\">{{ getErrorMessage('name') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input [required]=\"!!form.get('email').validator\" formControlName=\"email\" matInput placeholder=\"Email\"\n type=\"email\" />\n <mat-error *ngIf=\"isFieldValid('email') && !!form.get('email').validator\">\n {{ getErrorMessage('email') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field *ngIf=\"this.config.userConfig.showPhone\">\n <mat-label>Phone</mat-label>\n <input autocomplete=\"off\" formControlName=\"phone\" matInput placeholder=\"Phone\" type=\"text\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Password</mat-label>\n <input [required]=\"isPasswordRequired && !!form.get('password').validator\" autocomplete=\"off\"\n formControlName=\"password\" matInput placeholder=\"Password\" type=\"password\" />\n <mat-error *ngIf=\"isFieldValid('password') && !!form.get('password').validator\">\n {{ getErrorMessage('password') }}\n </mat-error>\n </mat-form-field>\n\n <div class=\"d-flex flex-column justify-content-start gap-1\">\n <mat-checkbox formControlName=\"is_temporary_password\">Is Temporary Password?</mat-checkbox>\n <small class=\"text-secondary\">Should this user to update password on first login?</small>\n </div>\n\n <div *ngIf=\"this.config.userConfig.showSignature\">\n <ng-template #fileUpload>\n <section class=\"col-12\">\n <div>User Signature</div>\n <app-file-dropper (fileChanged)=\"fileChanged($event)\" [config]=\"fileConfig\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </ng-template>\n <div *ngIf=\"form.get('signature').value;else fileUpload;\" class=\"col-12\">\n <app-document-viewer (remove)=\"removeFile()\" [config]=\"this.viewerConfig\"\n [fileUrl]=\"form.get('signature_url').value\" [file]=\"form.get('signature').value\">\n </app-document-viewer>\n </div>\n </div>\n <mat-form-field *ngIf=\"this.config.userConfig.showUserTypes\" class=\"mt-3\">\n <mat-label>User Type</mat-label>\n <mat-select autocomplete=\"off\" formControlName=\"user_type_id\" required>\n <mat-option *ngFor=\"let userType of userTypes\" [value]=\"userType.value\">\n {{ userType.title }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"isFieldValid('user_type_id')\">{{ getErrorMessage('user_type_id') }}</mat-error>\n </mat-form-field>\n </div>\n\n <div\n *ngIf=\"(this.config.userConfig.showRoles || this.config.userConfig.showFormRoles) && this.form.get('user_type_id').value == 3\"\n class=\"flex-fill ml-4\">\n <p class=\"mb-0 fw-bold\">\n Roles\n </p>\n <div *ngFor=\"let role of roles\" class=\"d-flex flex-column\">\n <mat-checkbox (change)=\"roleSelected($event, role.id)\" [checked]=\"role.selected\">\n {{ role.label }}\n </mat-checkbox>\n </div>\n </div>\n\n </div>\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button [disabled]=\"isWorking\" color=\"primary\" mat-raised-button type=\"submit\">\n Save\n </button>\n <button (click)=\"closeDialog()\" [disabled]=\"isWorking\" mat-flat-button type=\"button\">\n Cancel\n </button>\n </div>\n </div>\n</form>", dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.DocumentViewerComponent, selector: "app-document-viewer", inputs: ["config", "file", "fileUrl", "disableEdit"], outputs: ["remove"] }, { kind: "component", type: i10.FileDropperComponent, selector: "app-file-dropper", inputs: ["fileArray", "config", "styles"], outputs: ["fileChanged"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i14.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i14.MatLabel, selector: "mat-label" }, { kind: "directive", type: i14.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i15.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
190
- }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserFormComponent, decorators: [{
192
- type: Component,
193
- args: [{ selector: 'app-user-form', standalone: true, imports: [
194
- SharedModule
195
- ], template: "<form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"d-flex flex-column justify-content-start align-items center gap-1\" mat-dialog-content>\n <h5 class=\"fw-bold text-center\">{{ isUpdate ? 'Edit' : 'Create ' }} User</h5>\n <div class=\"d-flex\">\n <div class=\"d-flex flex-column flex-fill gap-1\">\n <mat-form-field>\n <mat-label>Full name</mat-label>\n <input [required]=\"!!form.get('name').validator\" autocomplete=\"off\" formControlName=\"name\" matInput\n placeholder=\"Full Name\" type=\"text\" />\n <mat-error *ngIf=\"isFieldValid('name') && !!form.get('name').validator\">{{ getErrorMessage('name') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input [required]=\"!!form.get('email').validator\" formControlName=\"email\" matInput placeholder=\"Email\"\n type=\"email\" />\n <mat-error *ngIf=\"isFieldValid('email') && !!form.get('email').validator\">\n {{ getErrorMessage('email') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field *ngIf=\"this.config.userConfig.showPhone\">\n <mat-label>Phone</mat-label>\n <input autocomplete=\"off\" formControlName=\"phone\" matInput placeholder=\"Phone\" type=\"text\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Password</mat-label>\n <input [required]=\"isPasswordRequired && !!form.get('password').validator\" autocomplete=\"off\"\n formControlName=\"password\" matInput placeholder=\"Password\" type=\"password\" />\n <mat-error *ngIf=\"isFieldValid('password') && !!form.get('password').validator\">\n {{ getErrorMessage('password') }}\n </mat-error>\n </mat-form-field>\n\n <div class=\"d-flex flex-column justify-content-start gap-1\">\n <mat-checkbox formControlName=\"is_temporary_password\">Is Temporary Password?</mat-checkbox>\n <small class=\"text-secondary\">Should this user to update password on first login?</small>\n </div>\n\n <div *ngIf=\"this.config.userConfig.showSignature\">\n <ng-template #fileUpload>\n <section class=\"col-12\">\n <div>User Signature</div>\n <app-file-dropper (fileChanged)=\"fileChanged($event)\" [config]=\"fileConfig\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </ng-template>\n <div *ngIf=\"form.get('signature').value;else fileUpload;\" class=\"col-12\">\n <app-document-viewer (remove)=\"removeFile()\" [config]=\"this.viewerConfig\"\n [fileUrl]=\"form.get('signature_url').value\" [file]=\"form.get('signature').value\">\n </app-document-viewer>\n </div>\n </div>\n <mat-form-field *ngIf=\"this.config.userConfig.showUserTypes\" class=\"mt-3\">\n <mat-label>User Type</mat-label>\n <mat-select autocomplete=\"off\" formControlName=\"user_type_id\" required>\n <mat-option *ngFor=\"let userType of userTypes\" [value]=\"userType.value\">\n {{ userType.title }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"isFieldValid('user_type_id')\">{{ getErrorMessage('user_type_id') }}</mat-error>\n </mat-form-field>\n </div>\n\n <div\n *ngIf=\"(this.config.userConfig.showRoles || this.config.userConfig.showFormRoles) && this.form.get('user_type_id').value == 3\"\n class=\"flex-fill ml-4\">\n <p class=\"mb-0 fw-bold\">\n Roles\n </p>\n <div *ngFor=\"let role of roles\" class=\"d-flex flex-column\">\n <mat-checkbox (change)=\"roleSelected($event, role.id)\" [checked]=\"role.selected\">\n {{ role.label }}\n </mat-checkbox>\n </div>\n </div>\n\n </div>\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button [disabled]=\"isWorking\" color=\"primary\" mat-raised-button type=\"submit\">\n Save\n </button>\n <button (click)=\"closeDialog()\" [disabled]=\"isWorking\" mat-flat-button type=\"button\">\n Cancel\n </button>\n </div>\n </div>\n</form>" }]
196
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
197
- type: Inject,
198
- args: [MAT_DIALOG_DATA]
199
- }] }, { type: i2.HttpService }, { type: i3.UntypedFormBuilder }, { type: i4.FormValidatorService }, { type: i5.UserService }, { type: i6.CurrentUserService }, { type: i7.UserConfigService }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2VyLWZvcm0vdXNlci1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2VyLWZvcm0vdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBc0IsVUFBVSxFQUFFLGtCQUFrQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBSXRHLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWW5ELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUE0QjFELFlBQ1MsU0FBMEMsRUFDakIsSUFBUyxFQUNqQyxJQUFpQixFQUNqQixFQUFzQixFQUNwQixvQkFBMEMsRUFDMUMsV0FBd0IsRUFDMUIsa0JBQXNDLEVBQ3ZDLGlCQUFvQztRQUUzQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFUbEMsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3BCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FB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R0FBRyxDQUFDLFdBQVcsQ0FBQztpQkFDaEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUk7aUJBQ04sR0FBRyxDQUFDLGVBQWUsQ0FBQztpQkFDcEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFHRCxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLFNBQVMsRUFBRSxFQUFFO2dCQUNiLGFBQWEsRUFBRSxFQUFFO2FBQ2xCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBVTtRQUN6QixNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLFVBQVUsRUFBRTthQUNaLElBQUksQ0FDSCx5QkFBeUIsRUFDekIsUUFBUSxDQUNULENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEIsQ0FBQzsrR0FoTVUsaUJBQWlCLDhDQThCbEIsZUFBZTttR0E5QmQsaUJBQWlCLGdHQzNCOUIsa3VJQXNGTywyQ0Q5REgsWUFBWTs7NEZBR0gsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGVBQWUsY0FFYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTtxQkFDYjs7MEJBZ0NFLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNdWx0aVVzZXJDb25maWcgfSBmcm9tICcuLi8uLi91c2VyLWNvbmZpZy91c2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItY29uZmlnL3VzZXItY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsZURyb3BwZXJDb25maWcgfSBmcm9tIFwiLi4vLi4vZmlsZS1kcm9wcGVyXCI7XG5pbXBvcnQgeyBWaWV3ZXJDb25maWcgfSBmcm9tIFwiLi4vLi4vZG9jdW1lbnQtdmlld2VyXCI7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICcuLi9jdXJyZW50LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyVHlwZUVudW0gfSBmcm9tICcuLi91c2VyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUZWNobGlmeUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLW1vZGVsJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC5tb2R1bGUnO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU2hhcmVkTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlckZvcm1Db21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpc1Bhc3N3b3JkUmVxdWlyZWQgPSBmYWxzZTtcbiAgY29uZmlnOiBNdWx0aVVzZXJDb25maWc7XG4gIHVzZXJUeXBlczogYW55ID0gW1xuICAgIHsgdGl0bGU6ICdBZG1pbicsIHZhbHVlOiAyIH0sXG4gICAgeyB0aXRsZTogJ05vcm1hbCBVc2VyJywgdmFsdWU6IDMgfSxcbiAgXTtcbiAgcm9sZXM6IGFueVtdID0gW107XG4gIGZpbGVDb25maWc6IEZpbGVEcm9wcGVyQ29uZmlnO1xuICB2aWV3ZXJDb25maWc6IFZpZXdlckNvbmZpZztcbiAgZmlsZUxpc3Q6IGFueVtdID0gW107XG5cbiAgZXJyb3JNZXNzYWdlczogYW55ID0ge1xuICAgIG5hbWU6IHtcbiAgICAgIHJlcXVpcmVkOiAnTmFtZSBpcyByZXF1aXJlZCdcbiAgICB9LFxuICAgIGVtYWlsOiB7XG4gICAgICByZXF1aXJlZDogJ0VtYWlsIGlzIHJlcXVpcmVkJyxcbiAgICAgIGVtYWlsOiAnSW52YWxpZCBlbWFpbCcsXG4gICAgfSxcbiAgICBwYXNzd29yZDoge1xuICAgICAgcmVxdWlyZWQ6ICdQYXNzd29yZCBpcyByZXF1aXJlZCdcbiAgICB9LFxuICAgIHVzZXJfdHlwZV9pZDoge1xuICAgICAgcmVxdWlyZWQ6ICdVc2VyIFR5cGUgaXMgcmVxdWlyZWQnXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVc2VyRm9ybUNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2UsXG4gICAgcHVibGljIHVzZXJDb25maWdTZXJ2aWNlOiBVc2VyQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVZhbGlkYXRvclNlcnZpY2UsIHVzZXJTZXJ2aWNlKTtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMudXNlckNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gIH1cblxuICBnZXQgcm9sZUZvcm1zKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdyb2xlcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2FuVXBkYXRlVXNlckNyZWRlbnRpYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmdldFVzZXIoKS51c2VyX3R5cGVfaWQgPT0gVXNlclR5cGVFbnVtLkFETUlOXG4gICAgICB8fCAodGhpcy5kYXRhPy5tb2RlbD8udXNlcl9jbGllbnRzIHx8IFtdKT8ubGVuZ3RoIDw9IDE7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJUeXBlcyA9IHRoaXMuY29uZmlnLnVzZXJDb25maWcuc2hvd1VzZXJUeXBlc1xuICAgICAgPyB0aGlzLmNvbmZpZy51c2VyQ29uZmlnLnVzZXJUeXBlc1xuICAgICAgOiB0aGlzLnVzZXJUeXBlcztcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGlkOiBbJyddLFxuICAgICAgbmFtZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpLFxuICAgICAgZW1haWw6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pKSxcbiAgICAgIHBhc3N3b3JkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKSxcbiAgICAgIHBob25lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKSxcbiAgICAgIHVzZXJfdHlwZV9pZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICByb2xlczogdGhpcy5mYi5hcnJheShbXSksXG4gICAgICByb2xlc19leGlzdHM6IFtbXV0sXG4gICAgICBjbGllbnRfaWQ6IFt0aGlzLmRhdGE/LmNsaWVudF9pZCA/PyAnJ10sXG4gICAgICBzaWduYXR1cmVfdXJsOiBbJyddLFxuICAgICAgc2lnbmF0dXJlOiBbJyddLFxuICAgICAgaXNfdGVtcG9yYXJ5X3Bhc3N3b3JkOiBbdHJ1ZV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB1c2VyID0gdGhpcy5kYXRhPy5tb2RlbDtcbiAgICBpZiAodXNlcikge1xuICAgICAgdGhpcy5pc1VwZGF0ZSA9IHRydWU7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh1c2VyKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy51c2VyX3R5cGVfaWQuc2V0VmFsdWUodXNlci51c2VyX3R5cGVfaWQpO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnJvbGVzX2V4aXN0cy5zZXRWYWx1ZSh1c2VyLnJvbGVzIHx8IFtdKTtcbiAgICB9XG4gICAgLy8gVGhlIGNhbGxpbmcgY29udGV4dCdzIGNsaWVudF9pZCBhbHdheXMgd2lucywgZXZlbiBpbiBlZGl0IG1vZGUgKGUuZy4gYW4gYXBwLWFkbWluXG4gICAgLy8gbWFuYWdpbmcgYSBzcGVjaWZpYyB0ZW5hbnQncyB1c2VycyBzaG91bGQgc2F2ZSBhZ2FpbnN0IHRoYXQgdGVuYW50LCBub3QgdGhlIHVzZXIncyBvd24pLlxuICAgIGlmICh0aGlzLmRhdGE/LmNsaWVudF9pZCAhPSBudWxsKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuY2xpZW50X2lkLnNldFZhbHVlKHRoaXMuZGF0YS5jbGllbnRfaWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcudXNlckNvbmZpZy5zaG93Um9sZXMgfHwgdGhpcy5jb25maWcudXNlckNvbmZpZy5zaG93Rm9ybVJvbGVzKSB7XG4gICAgICB0aGlzLmxvYWRSb2xlcygpO1xuICAgIH1cbiAgICB0aGlzLmZpbGVDb25maWcgPSB7XG4gICAgICBmaWxlSWQ6ICdzdWJqZWN0RmlsZScsXG4gICAgICBjb250YWluZXJJZDogJ3N1YmplY3RGaWxlQ29udGFpbmVyJyxcbiAgICAgIHN0eWxlczoge1xuICAgICAgICBoZWlnaHQ6ICcyMDBweCdcbiAgICAgIH0sXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBhY2NlcHRGaWxlOiAnKicsXG4gICAgICBtYXhTaXplOiAxMCxcbiAgICAgIGFjY2VwdEZpbGVUZXh0OiAnUE5HIGFuZCBKUEVHIG9ubHknXG4gICAgfTtcblxuICAgIHRoaXMudmlld2VyQ29uZmlnID0ge1xuICAgICAgaW1hZ2VTdHlsZToge1xuICAgICAgICBoZWlnaHQ6ICcyMDBweCcsXG4gICAgICAgIHdpZHRoOiAnNDAwcHgnXG4gICAgICB9LFxuICAgICAgdmlld2VyU3R5bGU6IHtcbiAgICAgICAgaGVpZ2h0OiAnMjAwcHgnLFxuICAgICAgICB3aWR0aDogJzEwMCUnXG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jYW5VcGRhdGVVc2VyQ3JlZGVudGlhbCkge1xuICAgICAgdGhpcy5mb3JtLmdldCgnZW1haWwnKS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBsb2FkUm9sZXMoKSB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGZpbHRlciA9IHtcbiAgICAgIGNsaWVudF9pZDogdGhpcy5kYXRhPy5jbGllbnRfaWQgfHwgdGhpcy5kYXRhPy5tb2RlbD8uY2xpZW50X2lkIHx8ICcnLFxuICAgICAgaXNfc3Vic2NyaWJlZDogdHJ1ZSxcbiAgICAgIHNvcnRfYnk6ICdsYWJlbHxhc2MnXG4gICAgfTtcbiAgICB0aGlzLmh0dHAuZ2V0KCdhcGkvcm9sZXMnLCB7IHBhcmFtczogZmlsdGVyIH0pLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJvbGVzID0gcmVzLmRhdGE7XG4gICAgICAgIC8qIExldHMgc2V0IHRoZSByb2xlcyB0aGlzIHVzZXIgaGFzICovXG4gICAgICAgIGZvciAobGV0IHJvbGUgb2Ygcm9sZXMpIHtcbiAgICAgICAgICByb2xlLnNlbGVjdGVkID0gdGhpcy5mb3JtLnZhbHVlLnJvbGVzX2V4aXN0cy5maW5kKHJvbGVEYXRhID0+IHJvbGVEYXRhLmlkID09IHJvbGUuaWQpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucm9sZXMgPSByb2xlcztcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICBsZXQgcm9sZXMgPSBbXTtcblxuICAgIHRoaXMucm9sZXMuZm9yRWFjaCgocm9sZTogYW55KSA9PiB7XG4gICAgICBpZiAocm9sZS5zZWxlY3RlZCkge1xuICAgICAgICByb2xlc1tyb2xlLmlkXSA9IHJvbGU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgZGF0YS5yb2xlcyA9IHJvbGVzO1xuXG4gICAgc3VwZXIuc3VibWl0KGRhdGEpO1xuICB9XG5cbiAgcm9sZVNlbGVjdGVkKGV2ZW50OiBhbnksIHJvbGVJZDogbnVtYmVyKSB7XG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKChyb2xlOiBhbnkpID0+IHtcbiAgICAgIGlmIChyb2xlLmlkID09IHJvbGVJZCkge1xuICAgICAgICByb2xlLnNlbGVjdGVkID0gZXZlbnQuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGZpbGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbGVMaXN0ID0gZXZlbnQ7XG5cbiAgICBpZiAodGhpcy5maWxlTGlzdC5sZW5ndGggPiAwKSB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgdGhpcy51cGxvYWRFbnRpdHlGaWxlKFxuICAgICAgICB0aGlzLmZpbGVMaXN0WzBdXG4gICAgICApO1xuICAgICAgdGhpcy5mb3JtXG4gICAgICAgIC5nZXQoJ3NpZ25hdHVyZScpXG4gICAgICAgIC5zZXRWYWx1ZShyZXN1bHQuaXRlbS5maWxlKTtcbiAgICAgIHRoaXMuZm9ybVxuICAgICAgICAuZ2V0KCdzaWduYXR1cmVfdXJsJylcbiAgICAgICAgLnNldFZhbHVlKHJlc3VsdC5pdGVtLnVybCk7XG4gICAgICB0aGlzLmZpbGVMaXN0ID0gW107XG4gICAgfVxuICB9XG5cblxuICBhc3luYyByZW1vdmVGaWxlKCkge1xuICAgIGlmICh0aGlzLmZvcm0udmFsdWUuc2lnbmF0dXJlKSB7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIHNpZ25hdHVyZTogJycsXG4gICAgICAgIHNpZ25hdHVyZV91cmw6ICcnXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgdXBsb2FkRW50aXR5RmlsZShmaWxlOiBGaWxlKSB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlRGF0YScsIGZpbGUsIGZpbGUubmFtZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnNraXBIZWFkZXIoKVxuICAgICAgLnBvc3QoXG4gICAgICAgICdhcGkvZW50aXR5LWZpbGVzLXVwbG9hZCcsXG4gICAgICAgIGZvcm1EYXRhLFxuICAgICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNhdmUoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcyBjZW50ZXIgZ2FwLTFcIiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGg1IGNsYXNzPVwiZnctYm9sZCB0ZXh0LWNlbnRlclwiPnt7IGlzVXBkYXRlID8gJ0VkaXQnIDogJ0NyZWF0ZSAnIH19IFVzZXI8L2g1PlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1maWxsIGdhcC0xXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPkZ1bGwgbmFtZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBbcmVxdWlyZWRdPVwiISFmb3JtLmdldCgnbmFtZScpLnZhbGlkYXRvclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBtYXRJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGdWxsIE5hbWVcIiB0eXBlPVwidGV4dFwiIC8+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnbmFtZScpICYmICEhZm9ybS5nZXQoJ25hbWUnKS52YWxpZGF0b3JcIj57eyBnZXRFcnJvck1lc3NhZ2UoJ25hbWUnKSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD5FbWFpbDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBbcmVxdWlyZWRdPVwiISFmb3JtLmdldCgnZW1haWwnKS52YWxpZGF0b3JcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiRW1haWxcIlxuICAgICAgICAgICAgdHlwZT1cImVtYWlsXCIgLz5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdlbWFpbCcpICYmICEhZm9ybS5nZXQoJ2VtYWlsJykudmFsaWRhdG9yXCI+XG4gICAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ2VtYWlsJykgfX1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidGhpcy5jb25maWcudXNlckNvbmZpZy5zaG93UGhvbmVcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlBob25lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIGZvcm1Db250cm9sTmFtZT1cInBob25lXCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJQaG9uZVwiIHR5cGU9XCJ0ZXh0XCIgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+UGFzc3dvcmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgW3JlcXVpcmVkXT1cImlzUGFzc3dvcmRSZXF1aXJlZCAmJiAhIWZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbGlkYXRvclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiUGFzc3dvcmRcIiB0eXBlPVwicGFzc3dvcmRcIiAvPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3Bhc3N3b3JkJykgJiYgISFmb3JtLmdldCgncGFzc3dvcmQnKS52YWxpZGF0b3JcIj5cbiAgICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgncGFzc3dvcmQnKSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0xXCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJpc190ZW1wb3JhcnlfcGFzc3dvcmRcIj5JcyBUZW1wb3JhcnkgUGFzc3dvcmQ/PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5TaG91bGQgdGhpcyB1c2VyIHRvIHVwZGF0ZSBwYXNzd29yZCBvbiBmaXJzdCBsb2dpbj88L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5jb25maWcudXNlckNvbmZpZy5zaG93U2lnbmF0dXJlXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNmaWxlVXBsb2FkPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgICAgPGRpdj5Vc2VyIFNpZ25hdHVyZTwvZGl2PlxuICAgICAgICAgICAgICA8YXBwLWZpbGUtZHJvcHBlciAoZmlsZUNoYW5nZWQpPVwiZmlsZUNoYW5nZWQoJGV2ZW50KVwiIFtjb25maWddPVwiZmlsZUNvbmZpZ1wiIFtmaWxlQXJyYXldPVwiZmlsZUxpc3RcIj5cbiAgICAgICAgICAgICAgPC9hcHAtZmlsZS1kcm9wcGVyPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm0uZ2V0KCdzaWduYXR1cmUnKS52YWx1ZTtlbHNlIGZpbGVVcGxvYWQ7XCIgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgIDxhcHAtZG9jdW1lbnQtdmlld2VyIChyZW1vdmUpPVwicmVtb3ZlRmlsZSgpXCIgW2NvbmZpZ109XCJ0aGlzLnZpZXdlckNvbmZpZ1wiXG4gICAgICAgICAgICAgIFtmaWxlVXJsXT1cImZvcm0uZ2V0KCdzaWduYXR1cmVfdXJsJykudmFsdWVcIiBbZmlsZV09XCJmb3JtLmdldCgnc2lnbmF0dXJlJykudmFsdWVcIj5cbiAgICAgICAgICAgIDwvYXBwLWRvY3VtZW50LXZpZXdlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cInRoaXMuY29uZmlnLnVzZXJDb25maWcuc2hvd1VzZXJUeXBlc1wiIGNsYXNzPVwibXQtM1wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+VXNlciBUeXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgYXV0b2NvbXBsZXRlPVwib2ZmXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlcl90eXBlX2lkXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdXNlclR5cGUgb2YgdXNlclR5cGVzXCIgW3ZhbHVlXT1cInVzZXJUeXBlLnZhbHVlXCI+XG4gICAgICAgICAgICAgIHt7IHVzZXJUeXBlLnRpdGxlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3VzZXJfdHlwZV9pZCcpXCI+e3sgZ2V0RXJyb3JNZXNzYWdlKCd1c2VyX3R5cGVfaWQnKSB9fTwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIodGhpcy5jb25maWcudXNlckNvbmZpZy5zaG93Um9sZXMgfHwgdGhpcy5jb25maWcudXNlckNvbmZpZy5zaG93Rm9ybVJvbGVzKSAmJiB0aGlzLmZvcm0uZ2V0KCd1c2VyX3R5cGVfaWQnKS52YWx1ZSA9PSAzXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4LWZpbGwgbWwtNFwiPlxuICAgICAgICA8cCBjbGFzcz1cIm1iLTAgZnctYm9sZFwiPlxuICAgICAgICAgIFJvbGVzXG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcm9sZSBvZiByb2xlc1wiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cInJvbGVTZWxlY3RlZCgkZXZlbnQsIHJvbGUuaWQpXCIgW2NoZWNrZWRdPVwicm9sZS5zZWxlY3RlZFwiPlxuICAgICAgICAgICAge3sgcm9sZS5sYWJlbCB9fVxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNXb3JraW5nXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cInN1Ym1pdFwiPlxuICAgICAgICBTYXZlXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBbZGlzYWJsZWRdPVwiaXNXb3JraW5nXCIgbWF0LWZsYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgQ2FuY2VsXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19