ngx-techlify-core 18.88.0 → 18.89.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 (235) hide show
  1. package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +9 -10
  2. package/esm2022/lib/access-control-config/access-control-config.component.mjs +6 -7
  3. package/esm2022/lib/access-control-config/access-control-config.module.mjs +8 -40
  4. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +7 -8
  5. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.mjs +8 -43
  6. package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.mjs +9 -10
  7. package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.mjs +5 -46
  8. package/esm2022/lib/app-admin/app-admin-home/app-admin-home.component.mjs +2 -2
  9. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +8 -16
  10. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +9 -9
  11. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +8 -31
  12. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +6 -6
  13. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +8 -24
  14. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +8 -12
  15. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +8 -12
  16. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +1 -1
  17. package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +42 -4
  18. package/esm2022/lib/change-password/change-password.component.mjs +4 -5
  19. package/esm2022/lib/change-password/change-password.module.mjs +5 -24
  20. package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +7 -8
  21. package/esm2022/lib/column-selector/column-selector.module.mjs +5 -53
  22. package/esm2022/lib/core/core.module.mjs +1 -1
  23. package/esm2022/lib/data-table/data-table.component.mjs +11 -13
  24. package/esm2022/lib/data-table/data-table.module.mjs +5 -17
  25. package/esm2022/lib/document-viewer/document-viewer.component.mjs +5 -6
  26. package/esm2022/lib/document-viewer/document-viewer.module.mjs +1 -5
  27. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +5 -17
  28. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +5 -6
  29. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +5 -21
  30. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +13 -14
  31. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +5 -21
  32. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +5 -6
  33. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +5 -21
  34. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +13 -14
  35. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +5 -21
  36. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +4 -5
  37. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +5 -21
  38. package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +8 -8
  39. package/esm2022/lib/entity-files/entity-file-list/entity-file-list.component.mjs +19 -19
  40. package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs +2 -4
  41. package/esm2022/lib/entity-files/entity-file-list.module.mjs +1 -13
  42. package/esm2022/lib/entity-files/entity-file.service.mjs +3 -3
  43. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +21 -8
  44. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +5 -21
  45. package/esm2022/lib/file-dropper/file-dropper.component.mjs +4 -6
  46. package/esm2022/lib/file-dropper/file-dropper.module.mjs +1 -5
  47. package/esm2022/lib/forgot-password/forgot-password.component.mjs +1 -1
  48. package/esm2022/lib/forgot-password/forgot-password.module.mjs +5 -13
  49. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.mjs +3 -4
  50. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.mjs +5 -17
  51. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +5 -5
  52. package/esm2022/lib/import-csv/import-csv.component.mjs +6 -6
  53. package/esm2022/lib/import-csv/import-csv.module.mjs +8 -38
  54. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +3 -3
  55. package/esm2022/lib/import-csv/import-success/import-success.component.mjs +5 -5
  56. package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +5 -29
  57. package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +7 -8
  58. package/esm2022/lib/locked-date/locked-date-form/locked-date-form.component.mjs +1 -1
  59. package/esm2022/lib/locked-date/locked-date.module.mjs +5 -32
  60. package/esm2022/lib/locked-date/locked-dates-list/locked-date-list.component.mjs +3 -3
  61. package/esm2022/lib/login/login-form-fields/login-form-fields.component.mjs +5 -8
  62. package/esm2022/lib/login/login.module.mjs +5 -29
  63. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +5 -6
  64. package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +8 -28
  65. package/esm2022/lib/material.module.mjs +7 -3
  66. package/esm2022/lib/note/comment-form/comment-form.component.mjs +4 -8
  67. package/esm2022/lib/note/note-comment-list/note-comment-list.component.mjs +3 -4
  68. package/esm2022/lib/note/note-list/note-list.component.mjs +17 -18
  69. package/esm2022/lib/note/note.module.mjs +3 -7
  70. package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +7 -7
  71. package/esm2022/lib/number-input-button/number-input-button.module.mjs +5 -13
  72. package/esm2022/lib/number-selector/number-selector.component.mjs +4 -6
  73. package/esm2022/lib/pdf-button/pdf-button.component.mjs +3 -3
  74. package/esm2022/lib/pdf-button/pdf-button.module.mjs +5 -13
  75. package/esm2022/lib/phone-number-selector/phone-number-selector.component.mjs +4 -4
  76. package/esm2022/lib/profile/profile-edit.component.mjs +1 -1
  77. package/esm2022/lib/profile/profile.module.mjs +5 -13
  78. package/esm2022/lib/read-more/read-more.module.mjs +3 -7
  79. package/esm2022/lib/reset-password/reset-password.component.mjs +4 -4
  80. package/esm2022/lib/reset-password/reset-password.module.mjs +5 -24
  81. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +3 -3
  82. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +5 -17
  83. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +3 -3
  84. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +5 -13
  85. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +4 -4
  86. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +5 -17
  87. package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +9 -10
  88. package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +6 -7
  89. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +12 -13
  90. package/esm2022/lib/restrictors/restrictors.module.mjs +8 -60
  91. package/esm2022/lib/role/permission/permission.module.mjs +8 -23
  92. package/esm2022/lib/role/permission/permissions-management.component.mjs +6 -6
  93. package/esm2022/lib/role/role-form.component.mjs +1 -1
  94. package/esm2022/lib/role/role-list/role-list.component.mjs +8 -8
  95. package/esm2022/lib/role/role-view/role-view.module.mjs +8 -27
  96. package/esm2022/lib/role/role.module.mjs +8 -30
  97. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +6 -6
  98. package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +1 -5
  99. package/esm2022/lib/shared.module.mjs +27 -3
  100. package/esm2022/lib/signup/signup.component.mjs +1 -1
  101. package/esm2022/lib/signup/signup.module.mjs +5 -13
  102. package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +3 -4
  103. package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +8 -24
  104. package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +18 -19
  105. package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +8 -35
  106. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +15 -16
  107. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +8 -32
  108. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +5 -6
  109. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +8 -16
  110. package/esm2022/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.mjs +12 -26
  111. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +4 -4
  112. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +5 -21
  113. package/esm2022/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.mjs +19 -37
  114. package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +1 -1
  115. package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +5 -29
  116. package/esm2022/lib/techlify-app-selector/techlify-app-selector.component.mjs +5 -6
  117. package/esm2022/lib/techlify-app-selector/techlify-app-selector.module.mjs +6 -13
  118. package/esm2022/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.mjs +11 -22
  119. package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +1 -1
  120. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +9 -10
  121. package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +7 -30
  122. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +3 -4
  123. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +5 -17
  124. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +4 -5
  125. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +5 -17
  126. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +10 -11
  127. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +5 -29
  128. package/esm2022/lib/techlify-update/techlify-update.module.mjs +7 -31
  129. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +10 -11
  130. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +7 -8
  131. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +5 -17
  132. package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +3 -4
  133. package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +8 -20
  134. package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +3 -4
  135. package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +5 -13
  136. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.mjs +7 -9
  137. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.mjs +7 -15
  138. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.component.mjs +3 -4
  139. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.module.mjs +5 -24
  140. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.mjs +6 -18
  141. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +4 -5
  142. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.mjs +8 -32
  143. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +10 -11
  144. package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +1 -5
  145. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +1 -5
  146. package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +5 -17
  147. package/esm2022/lib/user/user-explore.component.mjs +3 -4
  148. package/esm2022/lib/user/user-form/user-form.component.mjs +11 -15
  149. package/esm2022/lib/user/user-list/user-list.component.mjs +10 -21
  150. package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.module.mjs +5 -13
  151. package/esm2022/lib/user/user.module.mjs +1 -9
  152. package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.mjs +5 -13
  153. package/esm2022/lib/user-clients-list/user-clients-list.module.mjs +5 -13
  154. package/esm2022/lib/user-selector/user-selector.component.mjs +3 -3
  155. package/esm2022/lib/user-selector/user-selector.module.mjs +5 -17
  156. package/esm2022/lib/utility/utility.module.mjs +5 -9
  157. package/fesm2022/ngx-techlify-core.mjs +993 -1795
  158. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  159. package/lib/access-control-config/access-control-config.module.d.ts +3 -11
  160. package/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.d.ts +3 -11
  161. package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.d.ts +2 -10
  162. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -4
  163. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +3 -9
  164. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -6
  165. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -3
  166. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -3
  167. package/lib/base-model/techlify-list/techlify-list.component.d.ts +20 -0
  168. package/lib/change-password/change-password.module.d.ts +3 -7
  169. package/lib/column-selector/column-selector.module.d.ts +2 -12
  170. package/lib/data-table/data-table.module.d.ts +2 -5
  171. package/lib/document-viewer/document-viewer.module.d.ts +3 -4
  172. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +3 -6
  173. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +4 -8
  174. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +4 -8
  175. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +4 -8
  176. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +5 -9
  177. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +3 -7
  178. package/lib/entity-files/entity-file-list.module.d.ts +5 -8
  179. package/lib/entity-files/entity-file.service.d.ts +1 -1
  180. package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +3 -1
  181. package/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.d.ts +2 -6
  182. package/lib/file-dropper/file-dropper.module.d.ts +2 -3
  183. package/lib/forgot-password/forgot-password.module.d.ts +3 -5
  184. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.d.ts +3 -6
  185. package/lib/import-csv/import-csv.module.d.ts +3 -9
  186. package/lib/ip-address-selector/ip-address-selector.module.d.ts +2 -8
  187. package/lib/locked-date/locked-date.module.d.ts +2 -9
  188. package/lib/login/login.module.d.ts +4 -10
  189. package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -7
  190. package/lib/material.module.d.ts +25 -24
  191. package/lib/note/note.module.d.ts +3 -4
  192. package/lib/number-input-button/number-input-button.module.d.ts +2 -4
  193. package/lib/pdf-button/pdf-button.module.d.ts +2 -4
  194. package/lib/profile/profile.module.d.ts +3 -5
  195. package/lib/read-more/read-more.module.d.ts +1 -2
  196. package/lib/reset-password/reset-password.module.d.ts +4 -8
  197. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.d.ts +2 -5
  198. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.d.ts +2 -4
  199. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.d.ts +2 -5
  200. package/lib/restrictors/restrictors.module.d.ts +6 -19
  201. package/lib/role/permission/permission.module.d.ts +2 -5
  202. package/lib/role/role-view/role-view.module.d.ts +2 -6
  203. package/lib/role/role.module.d.ts +2 -7
  204. package/lib/searchable-selector/searchable-selector.module.d.ts +3 -4
  205. package/lib/shared.module.d.ts +14 -8
  206. package/lib/signup/signup.module.d.ts +3 -5
  207. package/lib/subscription/subscription-form/subscription-form.module.d.ts +2 -6
  208. package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +3 -9
  209. package/lib/subscription/subscription-package-listing/subscription-package-listing.module.d.ts +2 -8
  210. package/lib/subscription/subscription-package-view/subscription-package-view.module.d.ts +2 -4
  211. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -6
  212. package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -8
  213. package/lib/techlify-app-selector/techlify-app-selector.module.d.ts +4 -5
  214. package/lib/techlify-feature/techlify-feature.module.d.ts +4 -9
  215. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.d.ts +3 -6
  216. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +3 -6
  217. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +3 -9
  218. package/lib/techlify-update/techlify-update.module.d.ts +4 -10
  219. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.d.ts +2 -5
  220. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +3 -6
  221. package/lib/techlify-update/update-view/update-view.module.d.ts +2 -4
  222. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.d.ts +2 -4
  223. package/lib/techlify-view/techlify-view-form/techlify-view-form.module.d.ts +2 -6
  224. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.d.ts +3 -6
  225. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.d.ts +2 -8
  226. package/lib/timeline-filter/timeline-filter.module.d.ts +10 -11
  227. package/lib/user/app-admin-user-view/app-admin-user-view.module.d.ts +6 -7
  228. package/lib/user/user-enable-button-component/user-enable-button.module.d.ts +2 -5
  229. package/lib/user/user-sessions/user-sessions/user-sessions.module.d.ts +2 -4
  230. package/lib/user/user.module.d.ts +7 -9
  231. package/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.d.ts +2 -4
  232. package/lib/user-clients-list/user-clients-list.module.d.ts +3 -5
  233. package/lib/user-selector/user-selector.module.d.ts +2 -4
  234. package/lib/utility/utility.module.d.ts +2 -3
  235. package/package.json +2 -1
@@ -1,69 +1,30 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
2
  import { RestrictorsRoutingModule } from './restrictors-routing.module';
4
3
  import { RestrictorsListPageComponent } from './restrictors-list-page/restrictors-list-page.component';
5
- import { MatButtonModule } from '@angular/material/button';
6
4
  import { RestrictorsFormPageComponent } from './restrictors-form-page/restrictors-form-page.component';
7
5
  import { RestrictorsFormComponent } from './restrictors-form/restrictors-form.component';
8
- import { FlexModule } from '@angular/flex-layout';
9
- import { MatCardModule } from '@angular/material/card';
10
6
  import { RestrictorTypeSelectorModule } from './restrictor-type-selector/restrictor-type-selector.module';
11
- import { MatInputModule } from '@angular/material/input';
12
- import { MatDatepickerModule } from '@angular/material/datepicker';
13
- import { ReactiveFormsModule } from '@angular/forms';
14
- import { MatSelectModule } from '@angular/material/select';
15
7
  import { IpAddressSelectorModule } from '../ip-address-selector/ip-address-selector.module';
16
8
  import { RestrictorLevelSelectorModule } from './restrictor-level-selector/restrictor-level-selector.module';
17
- import { SearchableSelectorModule } from '../searchable-selector/searchable-selector.module';
18
- import { MatIconModule } from '@angular/material/icon';
19
9
  import { RestrictorStatusSelectorModule } from './restrictor-status-selector/restrictor-status-selector.module';
20
- import { MatTableModule } from '@angular/material/table';
21
- import { MatProgressBarModule } from '@angular/material/progress-bar';
22
- import { MatSortModule } from '@angular/material/sort';
23
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
10
+ import { SharedModule } from '../shared.module';
24
11
  import * as i0 from "@angular/core";
25
12
  export class RestrictorsModule {
26
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestrictorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
27
14
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RestrictorsModule, declarations: [RestrictorsListPageComponent,
28
15
  RestrictorsFormPageComponent,
29
- RestrictorsFormComponent], imports: [CommonModule,
16
+ RestrictorsFormComponent], imports: [SharedModule,
30
17
  RestrictorsRoutingModule,
31
- MatButtonModule,
32
- FlexModule,
33
- MatCardModule,
34
18
  RestrictorTypeSelectorModule,
35
- MatInputModule,
36
- MatDatepickerModule,
37
- ReactiveFormsModule,
38
- MatSelectModule,
39
19
  IpAddressSelectorModule,
40
20
  RestrictorLevelSelectorModule,
41
- SearchableSelectorModule,
42
- MatIconModule,
43
- RestrictorStatusSelectorModule,
44
- MatTableModule,
45
- MatProgressBarModule,
46
- MatSortModule,
47
- InfiniteScrollModule] }); }
48
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestrictorsModule, imports: [CommonModule,
21
+ RestrictorStatusSelectorModule] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestrictorsModule, imports: [SharedModule,
49
23
  RestrictorsRoutingModule,
50
- MatButtonModule,
51
- FlexModule,
52
- MatCardModule,
53
24
  RestrictorTypeSelectorModule,
54
- MatInputModule,
55
- MatDatepickerModule,
56
- ReactiveFormsModule,
57
- MatSelectModule,
58
25
  IpAddressSelectorModule,
59
26
  RestrictorLevelSelectorModule,
60
- SearchableSelectorModule,
61
- MatIconModule,
62
- RestrictorStatusSelectorModule,
63
- MatTableModule,
64
- MatProgressBarModule,
65
- MatSortModule,
66
- InfiniteScrollModule] }); }
27
+ RestrictorStatusSelectorModule] }); }
67
28
  }
68
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestrictorsModule, decorators: [{
69
30
  type: NgModule,
@@ -74,26 +35,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
74
35
  RestrictorsFormComponent
75
36
  ],
76
37
  imports: [
77
- CommonModule,
38
+ SharedModule,
78
39
  RestrictorsRoutingModule,
79
- MatButtonModule,
80
- FlexModule,
81
- MatCardModule,
82
40
  RestrictorTypeSelectorModule,
83
- MatInputModule,
84
- MatDatepickerModule,
85
- ReactiveFormsModule,
86
- MatSelectModule,
87
41
  IpAddressSelectorModule,
88
42
  RestrictorLevelSelectorModule,
89
- SearchableSelectorModule,
90
- MatIconModule,
91
- RestrictorStatusSelectorModule,
92
- MatTableModule,
93
- MatProgressBarModule,
94
- MatSortModule,
95
- InfiniteScrollModule
43
+ RestrictorStatusSelectorModule
96
44
  ]
97
45
  }]
98
46
  }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3RvcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9ycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDOUcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUErQnpELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQTFCMUIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1Qix3QkFBd0IsYUFHeEIsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsVUFBVTtZQUNWLGFBQWE7WUFDYiw0QkFBNEI7WUFDNUIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0Isd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYiw4QkFBOEI7WUFDOUIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2Isb0JBQW9CO2dIQUdYLGlCQUFpQixZQXJCMUIsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsVUFBVTtZQUNWLGFBQWE7WUFDYiw0QkFBNEI7WUFDNUIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0Isd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYiw4QkFBOEI7WUFDOUIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2Isb0JBQW9COzs0RkFHWCxpQkFBaUI7a0JBNUI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0Isd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLDhCQUE4Qjt3QkFDOUIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2Isb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBSZXN0cmljdG9yc1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3Jlc3RyaWN0b3JzLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IFJlc3RyaWN0b3JzTGlzdFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3Jlc3RyaWN0b3JzLWxpc3QtcGFnZS9yZXN0cmljdG9ycy1saXN0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgUmVzdHJpY3RvcnNGb3JtUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcmVzdHJpY3RvcnMtZm9ybS1wYWdlL3Jlc3RyaWN0b3JzLWZvcm0tcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzdHJpY3RvcnNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN0cmljdG9ycy1mb3JtL3Jlc3RyaWN0b3JzLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7RmxleE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7UmVzdHJpY3RvclR5cGVTZWxlY3Rvck1vZHVsZX0gZnJvbSAnLi9yZXN0cmljdG9yLXR5cGUtc2VsZWN0b3IvcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdERhdGVwaWNrZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7SXBBZGRyZXNzU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL2lwLWFkZHJlc3Mtc2VsZWN0b3IvaXAtYWRkcmVzcy1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHtSZXN0cmljdG9yTGV2ZWxTZWxlY3Rvck1vZHVsZX0gZnJvbSAnLi9yZXN0cmljdG9yLWxldmVsLXNlbGVjdG9yL3Jlc3RyaWN0b3ItbGV2ZWwtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4uL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7UmVzdHJpY3RvclN0YXR1c1NlbGVjdG9yTW9kdWxlfSBmcm9tICcuL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHtNYXRTb3J0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7SW5maW5pdGVTY3JvbGxNb2R1bGV9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJlc3RyaWN0b3JzTGlzdFBhZ2VDb21wb25lbnQsXG4gICAgUmVzdHJpY3RvcnNGb3JtUGFnZUNvbXBvbmVudCxcbiAgICBSZXN0cmljdG9yc0Zvcm1Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZXN0cmljdG9yc1JvdXRpbmdNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEZsZXhNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBSZXN0cmljdG9yVHlwZVNlbGVjdG9yTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgSXBBZGRyZXNzU2VsZWN0b3JNb2R1bGUsXG4gICAgUmVzdHJpY3RvckxldmVsU2VsZWN0b3JNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUmVzdHJpY3RvclN0YXR1c1NlbGVjdG9yTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yc01vZHVsZSB7IH1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3RvcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9ycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN4RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUMzRyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBa0JoRCxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFiMUIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1Qix3QkFBd0IsYUFHeEIsWUFBWTtZQUNaLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3Qiw4QkFBOEI7Z0hBR3JCLGlCQUFpQixZQVIxQixZQUFZO1lBQ1osd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDhCQUE4Qjs7NEZBR3JCLGlCQUFpQjtrQkFmN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVzdHJpY3RvcnNSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9yZXN0cmljdG9ycy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBSZXN0cmljdG9yc0xpc3RQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN0cmljdG9ycy1saXN0LXBhZ2UvcmVzdHJpY3RvcnMtbGlzdC1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXN0cmljdG9yc0Zvcm1QYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN0cmljdG9ycy1mb3JtLXBhZ2UvcmVzdHJpY3RvcnMtZm9ybS1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXN0cmljdG9yc0Zvcm1Db21wb25lbnQgfSBmcm9tICcuL3Jlc3RyaWN0b3JzLWZvcm0vcmVzdHJpY3RvcnMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtSZXN0cmljdG9yVHlwZVNlbGVjdG9yTW9kdWxlfSBmcm9tICcuL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci9yZXN0cmljdG9yLXR5cGUtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7SXBBZGRyZXNzU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL2lwLWFkZHJlc3Mtc2VsZWN0b3IvaXAtYWRkcmVzcy1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHtSZXN0cmljdG9yTGV2ZWxTZWxlY3Rvck1vZHVsZX0gZnJvbSAnLi9yZXN0cmljdG9yLWxldmVsLXNlbGVjdG9yL3Jlc3RyaWN0b3ItbGV2ZWwtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7UmVzdHJpY3RvclN0YXR1c1NlbGVjdG9yTW9kdWxlfSBmcm9tICcuL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQubW9kdWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBSZXN0cmljdG9yc0xpc3RQYWdlQ29tcG9uZW50LFxuICAgIFJlc3RyaWN0b3JzRm9ybVBhZ2VDb21wb25lbnQsXG4gICAgUmVzdHJpY3RvcnNGb3JtQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgUmVzdHJpY3RvcnNSb3V0aW5nTW9kdWxlLFxuICAgIFJlc3RyaWN0b3JUeXBlU2VsZWN0b3JNb2R1bGUsXG4gICAgSXBBZGRyZXNzU2VsZWN0b3JNb2R1bGUsXG4gICAgUmVzdHJpY3RvckxldmVsU2VsZWN0b3JNb2R1bGUsXG4gICAgUmVzdHJpY3RvclN0YXR1c1NlbGVjdG9yTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVzdHJpY3RvcnNNb2R1bGUgeyB9XG4iXX0=
@@ -1,38 +1,23 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
2
  /* Components */
4
3
  import { PermissionsManagementComponent } from './permissions-management.component';
5
4
  /* Routing Provider */
6
5
  import { PermissionRoutingProvider } from './permission.routes';
7
- import { MaterialModule } from '../../material.module';
8
- import { FlexLayoutModule } from '@angular/flex-layout';
9
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import { SharedModule } from '../../shared.module';
10
7
  import * as i0 from "@angular/core";
11
8
  export class PermissionModule {
12
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PermissionModule, declarations: [PermissionsManagementComponent], imports: [CommonModule,
14
- PermissionRoutingProvider,
15
- FlexLayoutModule,
16
- MaterialModule,
17
- FormsModule,
18
- ReactiveFormsModule], exports: [PermissionsManagementComponent] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionModule, imports: [CommonModule,
20
- PermissionRoutingProvider,
21
- FlexLayoutModule,
22
- MaterialModule,
23
- FormsModule,
24
- ReactiveFormsModule] }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: PermissionModule, declarations: [PermissionsManagementComponent], imports: [SharedModule,
11
+ PermissionRoutingProvider], exports: [PermissionsManagementComponent] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionModule, imports: [SharedModule,
13
+ PermissionRoutingProvider] }); }
25
14
  }
26
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionModule, decorators: [{
27
16
  type: NgModule,
28
17
  args: [{
29
18
  imports: [
30
- CommonModule,
31
- PermissionRoutingProvider,
32
- FlexLayoutModule,
33
- MaterialModule,
34
- FormsModule,
35
- ReactiveFormsModule,
19
+ SharedModule,
20
+ PermissionRoutingProvider
36
21
  ],
37
22
  declarations: [
38
23
  PermissionsManagementComponent
@@ -42,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
42
27
  ]
43
28
  }]
44
29
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3JvbGUvcGVybWlzc2lvbi9wZXJtaXNzaW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxnQkFBZ0I7QUFDaEIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEYsc0JBQXNCO0FBQ3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBa0JsRSxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFOckIsOEJBQThCLGFBUjlCLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsbUJBQW1CLGFBTW5CLDhCQUE4QjtnSEFHekIsZ0JBQWdCLFlBZHJCLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsbUJBQW1COzs0RkFTZCxnQkFBZ0I7a0JBaEI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsOEJBQThCO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsOEJBQThCO3FCQUNqQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qIENvbXBvbmVudHMgKi9cbmltcG9ydCB7IFBlcm1pc3Npb25zTWFuYWdlbWVudENvbXBvbmVudCB9IGZyb20gJy4vcGVybWlzc2lvbnMtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuXG4vKiBSb3V0aW5nIFByb3ZpZGVyICovXG5pbXBvcnQgeyBQZXJtaXNzaW9uUm91dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9wZXJtaXNzaW9uLnJvdXRlcyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBlcm1pc3Npb25Sb3V0aW5nUHJvdmlkZXIsXG4gICAgICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBQZXJtaXNzaW9uc01hbmFnZW1lbnRDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGVybWlzc2lvbnNNYW5hZ2VtZW50Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uTW9kdWxlIHsgfVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3JvbGUvcGVybWlzc2lvbi9wZXJtaXNzaW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRixzQkFBc0I7QUFDdEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFOckIsOEJBQThCLGFBSjlCLFlBQVk7WUFDWix5QkFBeUIsYUFNekIsOEJBQThCO2dIQUd6QixnQkFBZ0IsWUFWckIsWUFBWTtZQUNaLHlCQUF5Qjs7NEZBU3BCLGdCQUFnQjtrQkFaNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWix5QkFBeUI7cUJBQzVCO29CQUNELFlBQVksRUFBRTt3QkFDViw4QkFBOEI7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDTCw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiBDb21wb25lbnRzICovXG5pbXBvcnQgeyBQZXJtaXNzaW9uc01hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL3Blcm1pc3Npb25zLW1hbmFnZW1lbnQuY29tcG9uZW50JztcblxuLyogUm91dGluZyBQcm92aWRlciAqL1xuaW1wb3J0IHsgUGVybWlzc2lvblJvdXRpbmdQcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi5yb3V0ZXMnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBTaGFyZWRNb2R1bGUsXG4gICAgICAgIFBlcm1pc3Npb25Sb3V0aW5nUHJvdmlkZXJcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBQZXJtaXNzaW9uc01hbmFnZW1lbnRDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGVybWlzc2lvbnNNYW5hZ2VtZW50Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uTW9kdWxlIHsgfVxuIl19
@@ -7,11 +7,11 @@ import * as i2 from "@angular/router";
7
7
  import * as i3 from "../../user-config";
8
8
  import * as i4 from "@angular/forms";
9
9
  import * as i5 from "@angular/common";
10
- import * as i6 from "@angular/material/button";
11
- import * as i7 from "@angular/material/form-field";
12
- import * as i8 from "@angular/material/icon";
13
- import * as i9 from "@angular/material/input";
14
- import * as i10 from "@angular/material/core";
10
+ import * as i6 from "@angular/material/core";
11
+ import * as i7 from "@angular/material/button";
12
+ import * as i8 from "@angular/material/form-field";
13
+ import * as i9 from "@angular/material/icon";
14
+ import * as i10 from "@angular/material/input";
15
15
  import * as i11 from "@angular/material/select";
16
16
  import * as i12 from "@angular/material/card";
17
17
  /**
@@ -116,7 +116,7 @@ export class PermissionsManagementComponent {
116
116
  }
117
117
  }
118
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionsManagementComponent, deps: [{ token: i1.HttpService }, { token: i1.AlertService }, { token: i2.ActivatedRoute }, { token: i1.CredentialsService }, { token: i1.ErrorHandlerService }, { token: i3.UserConfigService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PermissionsManagementComponent, selector: "role-permissions-management", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"d-flex flex-column justify-content-start m-2\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <h5 class=\"m-0 fw-bold\">\n Manage Role Permissions\n </h5>\n <button *ngIf=\"!config.permissionConfig.disableUsers\" [routerLink]=\"['../users']\" class=\"ml-1\"\n mat-raised-button>\n <i class=\"icon fas fa-users\"></i> Users\n </button>\n <button *ngIf=\"!config.permissionConfig.disableRoles\" [routerLink]=\"['../roles']\" class=\"ml-1\"\n mat-raised-button>\n <i class=\"fas fa-user-md\"></i> Manage Roles\n </button>\n </div>\n <form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input autocomplete=\"off\" formControlName=\"search\" matInput placeholder=\"Search Permissions\" type=\"text\" />\n <button (click)=\"filterForm.get('search').setValue('')\" *ngIf=\"filterForm.get('search').value\" mat-icon-button\n matSuffix type=\"button\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"roles\" appearance=\"outline\" class=\"ml-2\">\n <mat-label>Show Roles</mat-label>\n <mat-select formControlName='role_ids' multiple>\n <mat-option *ngFor=\"let role of roles\" [value]=\"role?.id\">\n {{ role.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </form>\n </mat-card-content>\n </mat-card>\n\n <mat-card class=\"mt-2 p-0\">\n <form>\n <table aria-describedby=\"Role Permissions\" class=\"table table-sm table-bordered table-condensed table-striped\">\n <thead>\n <tr>\n <th>Permissions</th>\n <ng-container *ngFor=\"let role of roles\">\n <th *ngIf=\"filterForm.get('role_ids').value.includes(role.id)\" class=\"text-center\">\n {{ role.label }}\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let permission of filteredPermissions\">\n <td>\n {{ permission.label }}\n </td>\n <ng-container *ngFor=\"let role of roles\">\n <td *ngIf=\"filterForm.get('role_ids').value.includes(role.id)\" class=\"text-center align-middle\">\n <div class=\"d-flex justify-content-center align-items-center h-100\">\n <input (change)=\"updateRolePermission(role, permission)\"\n [checked]=\"role.hasPermission(permission.slug)\" name=\"{{role.id}}[{{permission?.label}}]\"\n type=\"checkbox\" [disabled]=\"role?.client_id == null\" />\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </form>\n </mat-card>\n</div>", styles: ["input[type=checkbox]{color-scheme:light}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.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: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i11.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: "component", type: i12.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i12.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PermissionsManagementComponent, selector: "role-permissions-management", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"d-flex flex-column justify-content-start m-2\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <h5 class=\"m-0 fw-bold\">\n Manage Role Permissions\n </h5>\n <button *ngIf=\"!config.permissionConfig.disableUsers\" [routerLink]=\"['../users']\" class=\"ml-1\"\n mat-raised-button>\n <i class=\"icon fas fa-users\"></i> Users\n </button>\n <button *ngIf=\"!config.permissionConfig.disableRoles\" [routerLink]=\"['../roles']\" class=\"ml-1\"\n mat-raised-button>\n <i class=\"fas fa-user-md\"></i> Manage Roles\n </button>\n </div>\n <form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input autocomplete=\"off\" formControlName=\"search\" matInput placeholder=\"Search Permissions\" type=\"text\" />\n <button (click)=\"filterForm.get('search').setValue('')\" *ngIf=\"filterForm.get('search').value\" mat-icon-button\n matSuffix type=\"button\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"roles\" appearance=\"outline\" class=\"ml-2\">\n <mat-label>Show Roles</mat-label>\n <mat-select formControlName='role_ids' multiple>\n <mat-option *ngFor=\"let role of roles\" [value]=\"role?.id\">\n {{ role.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </form>\n </mat-card-content>\n </mat-card>\n\n <mat-card class=\"mt-2 p-0\">\n <form>\n <table aria-describedby=\"Role Permissions\" class=\"table table-sm table-bordered table-condensed table-striped\">\n <thead>\n <tr>\n <th>Permissions</th>\n <ng-container *ngFor=\"let role of roles\">\n <th *ngIf=\"filterForm.get('role_ids').value.includes(role.id)\" class=\"text-center\">\n {{ role.label }}\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let permission of filteredPermissions\">\n <td>\n {{ permission.label }}\n </td>\n <ng-container *ngFor=\"let role of roles\">\n <td *ngIf=\"filterForm.get('role_ids').value.includes(role.id)\" class=\"text-center align-middle\">\n <div class=\"d-flex justify-content-center align-items-center h-100\">\n <input (change)=\"updateRolePermission(role, permission)\"\n [checked]=\"role.hasPermission(permission.slug)\" name=\"{{role.id}}[{{permission?.label}}]\"\n type=\"checkbox\" [disabled]=\"role?.client_id == null\" />\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </form>\n </mat-card>\n</div>", styles: ["input[type=checkbox]{color-scheme:light}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.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: i11.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: "component", type: i12.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i12.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
120
120
  }
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionsManagementComponent, decorators: [{
122
122
  type: Component,
@@ -70,7 +70,7 @@ export class RoleFormComponent {
70
70
  return this.formValidatorService.getErrorMessage(field, this.roleForm, errorMessages);
71
71
  }
72
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleFormComponent, deps: [{ token: i1.AlertService }, { token: i1.CredentialsService }, { token: i2.UntypedFormBuilder }, { token: i1.FormValidatorService }, { token: i3.UserConfigService }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i5.RoleService }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RoleFormComponent, selector: "role-form", ngImport: i0, template: "<mat-card-content>\n <form [formGroup]=\"roleForm\" (ngSubmit)=\"save()\">\n <div class=\"d-flex flex-column\">\n <h5 class=\"text-center\"> Role Form </h5>\n <mat-form-field class=\"w-100\">\n <input matInput formControlName=\"label\" placeholder=\"Role\" type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('label')\">{{getErrorMessage('label')}}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"w-100\">\n <textarea matInput placeholder=\"Description\" formControlName=\"description\"></textarea>\n </mat-form-field>\n\n <ng-container *ngIf=\"isAdminUser && roleForm.get('client_id').value\">\n <mat-checkbox formControlName=\"is_editable\"> Is Editable</mat-checkbox>\n </ng-container>\n\n <div class=\"d-flex justify-content-end gap-3 mt-2\">\n <button mat-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n </form>\n</mat-card-content>", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.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: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.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: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RoleFormComponent, selector: "role-form", ngImport: i0, template: "<mat-card-content>\n <form [formGroup]=\"roleForm\" (ngSubmit)=\"save()\">\n <div class=\"d-flex flex-column\">\n <h5 class=\"text-center\"> Role Form </h5>\n <mat-form-field class=\"w-100\">\n <input matInput formControlName=\"label\" placeholder=\"Role\" type=\"text\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('label')\">{{getErrorMessage('label')}}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"w-100\">\n <textarea matInput placeholder=\"Description\" formControlName=\"description\"></textarea>\n </mat-form-field>\n\n <ng-container *ngIf=\"isAdminUser && roleForm.get('client_id').value\">\n <mat-checkbox formControlName=\"is_editable\"> Is Editable</mat-checkbox>\n </ng-container>\n\n <div class=\"d-flex justify-content-end gap-3 mt-2\">\n <button mat-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n </form>\n</mat-card-content>", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.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: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.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: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
74
74
  }
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleFormComponent, decorators: [{
76
76
  type: Component,
@@ -8,13 +8,13 @@ import * as i3 from "../../user-config";
8
8
  import * as i4 from "@angular/material/dialog";
9
9
  import * as i5 from "../../user";
10
10
  import * as i6 from "@angular/common";
11
- import * as i7 from "@angular/material/button";
12
- import * as i8 from "@angular/material/icon";
13
- import * as i9 from "@angular/material/table";
14
- import * as i10 from "@angular/material/card";
15
- import * as i11 from "@angular/material/tooltip";
16
- import * as i12 from "@angular/material/progress-bar";
17
- import * as i13 from "ngx-infinite-scroll";
11
+ import * as i7 from "ngx-infinite-scroll";
12
+ import * as i8 from "@angular/material/button";
13
+ import * as i9 from "@angular/material/icon";
14
+ import * as i10 from "@angular/material/table";
15
+ import * as i11 from "@angular/material/card";
16
+ import * as i12 from "@angular/material/tooltip";
17
+ import * as i13 from "@angular/material/progress-bar";
18
18
  import * as i14 from "../../techlify-icon/techlify-icon.component";
19
19
  import * as i15 from "../role-form-button.component";
20
20
  export class RoleListComponent {
@@ -109,7 +109,7 @@ export class RoleListComponent {
109
109
  });
110
110
  }
111
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleListComponent, deps: [{ token: i1.HttpService }, { token: i2.ActivatedRoute }, { token: i1.CredentialsService }, { token: i3.UserConfigService }, { token: i4.MatDialog }, { token: i5.CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RoleListComponent, selector: "role-list", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"d-flex flex-column m-2\">\n <mat-card appearance=\"outlined\">\n <mat-card-content class=\"d-flex justify-content-start align-items-center gap-2\">\n <h3 class=\"m-0\">\n Manage Roles\n </h3>\n <app-role-form-button (success)=\"reload()\" class=\"mx-2\"\n *ngIf=\"(!config.roleConfig.disableAddRole) && currentUserService?.hasPermission('role_create')\"\n [clientId]=\"clientId\"></app-role-form-button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../users']\" *ngIf=\"!config.roleConfig.disableUsers\"\n class=\"ml-1\">\n <mat-icon>people</mat-icon>\n Users\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../role-permissions']\"\n *ngIf=\"!config.roleConfig.disablePermissions\" class=\"ml-1\">\n <mat-icon>lock</mat-icon>\n Role Permissions\n </button>\n </mat-card-content>\n </mat-card>\n\n <mat-card appearance=\"outlined\" class=\"mt-2 p-0\">\n <mat-card-content>\n <table mat-table [dataSource]=\"roles\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" aria-describedby=\"Roles\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Label Column -->\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef> Label </th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\">{{element?.label}}</p>\n <span class=\"badge\"\n [ngClass]=\"{'badge-primary':element?.client_id == null, 'badge-secondary': element?.client_id != null}\">\n {{(element?.client_id == null) ? 'App role' : 'Custom role'}}\n </span>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.description }} </td>\n </ng-container>\n\n <!-- Module Column -->\n <ng-container matColumnDef=\"module\">\n <th mat-header-cell *matHeaderCellDef> Module </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.module?.name}} </td>\n </ng-container>\n\n <!-- Editable Column -->\n <ng-container matColumnDef=\"editable\">\n <th mat-header-cell *matHeaderCellDef> Editable </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.is_editable\" class=\"btn btn-success btn-xs\">Yes</span>\n <span *ngIf=\"!element?.is_editable\" class=\"btn btn-danger btn-xs\">No</span>\n </td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"users\">\n <th mat-header-cell *matHeaderCellDef> # Users </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.role_users_count}} </td>\n </ng-container>\n\n <!-- Permissions Column -->\n <ng-container matColumnDef=\"permissions\">\n <th mat-header-cell *matHeaderCellDef> Permissions </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.permissions_count}} </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let role\" class=\"text-muted\">\n <div class=\"d-flex align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"view\" matTooltip=\"view\" class=\"clickable\"\n [routerLink]=\"['../roles/', role?.id]\"></app-techlify-icon>\n <app-role-form-button class=\"ml-1\" (success)=\"reload()\" [role]=\"role\" [isUpdate]=\"true\"\n *ngIf=\"(isAdminUser || role.is_editable) && currentUserService.hasPermission('role_update')\"\n [clientId]=\"clientId\"></app-role-form-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n\n</div>", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i10.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i13.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i14.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "component", type: i15.RoleFormButtonComponent, selector: "app-role-form-button", inputs: ["config", "clientId", "isUpdate", "role"], outputs: ["success"] }] }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RoleListComponent, selector: "role-list", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"d-flex flex-column m-2\">\n <mat-card appearance=\"outlined\">\n <mat-card-content class=\"d-flex justify-content-start align-items-center gap-2\">\n <h3 class=\"m-0\">\n Manage Roles\n </h3>\n <app-role-form-button (success)=\"reload()\" class=\"mx-2\"\n *ngIf=\"(!config.roleConfig.disableAddRole) && currentUserService?.hasPermission('role_create')\"\n [clientId]=\"clientId\"></app-role-form-button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../users']\" *ngIf=\"!config.roleConfig.disableUsers\"\n class=\"ml-1\">\n <mat-icon>people</mat-icon>\n Users\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../role-permissions']\"\n *ngIf=\"!config.roleConfig.disablePermissions\" class=\"ml-1\">\n <mat-icon>lock</mat-icon>\n Role Permissions\n </button>\n </mat-card-content>\n </mat-card>\n\n <mat-card appearance=\"outlined\" class=\"mt-2 p-0\">\n <mat-card-content>\n <table mat-table [dataSource]=\"roles\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" aria-describedby=\"Roles\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Label Column -->\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef> Label </th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\">{{element?.label}}</p>\n <span class=\"badge\"\n [ngClass]=\"{'badge-primary':element?.client_id == null, 'badge-secondary': element?.client_id != null}\">\n {{(element?.client_id == null) ? 'App role' : 'Custom role'}}\n </span>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.description }} </td>\n </ng-container>\n\n <!-- Module Column -->\n <ng-container matColumnDef=\"module\">\n <th mat-header-cell *matHeaderCellDef> Module </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.module?.name}} </td>\n </ng-container>\n\n <!-- Editable Column -->\n <ng-container matColumnDef=\"editable\">\n <th mat-header-cell *matHeaderCellDef> Editable </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.is_editable\" class=\"btn btn-success btn-xs\">Yes</span>\n <span *ngIf=\"!element?.is_editable\" class=\"btn btn-danger btn-xs\">No</span>\n </td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"users\">\n <th mat-header-cell *matHeaderCellDef> # Users </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.role_users_count}} </td>\n </ng-container>\n\n <!-- Permissions Column -->\n <ng-container matColumnDef=\"permissions\">\n <th mat-header-cell *matHeaderCellDef> Permissions </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.permissions_count}} </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let role\" class=\"text-muted\">\n <div class=\"d-flex align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"view\" matTooltip=\"view\" class=\"clickable\"\n [routerLink]=\"['../roles/', role?.id]\"></app-techlify-icon>\n <app-role-form-button class=\"ml-1\" (success)=\"reload()\" [role]=\"role\" [isUpdate]=\"true\"\n *ngIf=\"(isAdminUser || role.is_editable) && currentUserService.hasPermission('role_update')\"\n [clientId]=\"clientId\"></app-role-form-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n\n</div>", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i14.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i15.RoleFormButtonComponent, selector: "app-role-form-button", inputs: ["config", "clientId", "isUpdate", "role"], outputs: ["success"] }] }); }
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleListComponent, decorators: [{
115
115
  type: Component,
@@ -1,40 +1,21 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
- import { FlexLayoutModule } from '@angular/flex-layout';
4
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
5
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
2
  import { RoleViewRoutingModule } from './role-view-routing.module';
7
- import { MaterialModule } from '../../material.module';
3
+ import { SharedModule } from '../../shared.module';
8
4
  import { RoleViewComponent } from './role-view.component';
9
5
  import * as i0 from "@angular/core";
10
6
  export class RoleViewModule {
11
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RoleViewModule, declarations: [RoleViewComponent], imports: [CommonModule,
13
- RoleViewRoutingModule,
14
- MaterialModule,
15
- FlexLayoutModule,
16
- FormsModule,
17
- ReactiveFormsModule,
18
- InfiniteScrollModule], exports: [RoleViewComponent] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleViewModule, imports: [CommonModule,
20
- RoleViewRoutingModule,
21
- MaterialModule,
22
- FlexLayoutModule,
23
- FormsModule,
24
- ReactiveFormsModule,
25
- InfiniteScrollModule] }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RoleViewModule, declarations: [RoleViewComponent], imports: [SharedModule,
9
+ RoleViewRoutingModule], exports: [RoleViewComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleViewModule, imports: [SharedModule,
11
+ RoleViewRoutingModule] }); }
26
12
  }
27
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleViewModule, decorators: [{
28
14
  type: NgModule,
29
15
  args: [{
30
16
  imports: [
31
- CommonModule,
32
- RoleViewRoutingModule,
33
- MaterialModule,
34
- FlexLayoutModule,
35
- FormsModule,
36
- ReactiveFormsModule,
37
- InfiniteScrollModule
17
+ SharedModule,
18
+ RoleViewRoutingModule
38
19
  ],
39
20
  declarations: [
40
21
  RoleViewComponent,
@@ -44,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
44
25
  ]
45
26
  }]
46
27
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcm9sZS9yb2xlLXZpZXcvcm9sZS12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQW1CMUQsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQU5uQixpQkFBaUIsYUFUakIsWUFBWTtZQUNaLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsb0JBQW9CLGFBTXBCLGlCQUFpQjtnSEFHWixjQUFjLFlBZm5CLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG9CQUFvQjs7NEZBU2YsY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDdkI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGlCQUFpQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb2xlVmlld1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3JvbGUtdmlldy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBSb2xlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vcm9sZS12aWV3LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvbGVWaWV3Um91dGluZ01vZHVsZSxcbiAgICAgICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFJvbGVWaWV3Q29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBSb2xlVmlld0NvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUm9sZVZpZXdNb2R1bGUgeyB9XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcm9sZS9yb2xlLXZpZXcvcm9sZS12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFjMUQsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQU5uQixpQkFBaUIsYUFKakIsWUFBWTtZQUNaLHFCQUFxQixhQU1yQixpQkFBaUI7Z0hBR1osY0FBYyxZQVZuQixZQUFZO1lBQ1oscUJBQXFCOzs0RkFTaEIsY0FBYztrQkFaMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixxQkFBcUI7cUJBQ3hCO29CQUNELFlBQVksRUFBRTt3QkFDVixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvbGVWaWV3Um91dGluZ01vZHVsZSB9IGZyb20gJy4vcm9sZS12aWV3LXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgUm9sZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3JvbGUtdmlldy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBSb2xlVmlld1JvdXRpbmdNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBSb2xlVmlld0NvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUm9sZVZpZXdDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVWaWV3TW9kdWxlIHsgfVxuIl19
@@ -1,49 +1,27 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
2
  import { RoleListComponent } from './role-list/role-list.component';
4
3
  import { RoleRoutingProvider } from './role.routes';
5
4
  import { RoleFormComponent } from './role-form.component';
6
- import { MaterialModule } from '../material.module';
7
- import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
8
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
9
- import { MatProgressBarModule } from '@angular/material/progress-bar';
10
5
  import { RoleFormButtonComponent } from './role-form-button.component';
11
- import { TechlifyIconModule } from '../techlify-icon/techlify-icon.module';
6
+ import { SharedModule } from '../shared.module';
12
7
  import * as i0 from "@angular/core";
13
8
  export class RoleModule {
14
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
10
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RoleModule, declarations: [RoleFormComponent,
16
11
  RoleListComponent,
17
- RoleFormButtonComponent], imports: [CommonModule,
18
- RoleRoutingProvider,
19
- MaterialModule,
20
- FormsModule,
21
- ReactiveFormsModule,
22
- InfiniteScrollDirective,
23
- MatProgressBarModule,
24
- TechlifyIconModule], exports: [RoleListComponent,
12
+ RoleFormButtonComponent], imports: [SharedModule,
13
+ RoleRoutingProvider], exports: [RoleListComponent,
25
14
  RoleFormButtonComponent,
26
15
  RoleFormComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleModule, imports: [CommonModule,
28
- RoleRoutingProvider,
29
- MaterialModule,
30
- FormsModule,
31
- ReactiveFormsModule,
32
- MatProgressBarModule,
33
- TechlifyIconModule] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleModule, imports: [SharedModule,
17
+ RoleRoutingProvider] }); }
34
18
  }
35
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleModule, decorators: [{
36
20
  type: NgModule,
37
21
  args: [{
38
22
  imports: [
39
- CommonModule,
40
- RoleRoutingProvider,
41
- MaterialModule,
42
- FormsModule,
43
- ReactiveFormsModule,
44
- InfiniteScrollDirective,
45
- MatProgressBarModule,
46
- TechlifyIconModule
23
+ SharedModule,
24
+ RoleRoutingProvider
47
25
  ],
48
26
  declarations: [
49
27
  RoleFormComponent,
@@ -57,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
57
35
  ]
58
36
  }]
59
37
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3JvbGUvcm9sZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBd0IzRSxNQUFNLE9BQU8sVUFBVTsrR0FBVixVQUFVO2dIQUFWLFVBQVUsaUJBVmYsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQix1QkFBdUIsYUFadkIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsV0FBVztZQUNYLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLGtCQUFrQixhQVFsQixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtnSEFHWixVQUFVLFlBcEJmLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFFbkIsb0JBQW9CO1lBQ3BCLGtCQUFrQjs7NEZBYWIsVUFBVTtrQkF0QnRCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3FCQUNyQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb2xlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcm9sZS1saXN0L3JvbGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm9sZVJvdXRpbmdQcm92aWRlciB9IGZyb20gJy4vcm9sZS5yb3V0ZXMnO1xuaW1wb3J0IHsgUm9sZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3JvbGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgUm9sZUZvcm1CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JvbGUtZm9ybS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFRlY2hsaWZ5SWNvbk1vZHVsZSB9IGZyb20gJy4uL3RlY2hsaWZ5LWljb24vdGVjaGxpZnktaWNvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb2xlUm91dGluZ1Byb3ZpZGVyLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICAgICAgVGVjaGxpZnlJY29uTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUm9sZUZvcm1Db21wb25lbnQsXG4gICAgICAgIFJvbGVMaXN0Q29tcG9uZW50LFxuICAgICAgICBSb2xlRm9ybUJ1dHRvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBSb2xlTGlzdENvbXBvbmVudCxcbiAgICAgICAgUm9sZUZvcm1CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvbGVGb3JtQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSb2xlTW9kdWxlIHsgfVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3JvbGUvcm9sZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWtCaEQsTUFBTSxPQUFPLFVBQVU7K0dBQVYsVUFBVTtnSEFBVixVQUFVLGlCQVZmLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsdUJBQXVCLGFBTnZCLFlBQVk7WUFDWixtQkFBbUIsYUFRbkIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixpQkFBaUI7Z0hBR1osVUFBVSxZQWRmLFlBQVk7WUFDWixtQkFBbUI7OzRGQWFkLFVBQVU7a0JBaEJ0QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix1QkFBdUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3FCQUNwQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb2xlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcm9sZS1saXN0L3JvbGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm9sZVJvdXRpbmdQcm92aWRlciB9IGZyb20gJy4vcm9sZS5yb3V0ZXMnO1xuaW1wb3J0IHsgUm9sZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3JvbGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm9sZUZvcm1CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JvbGUtZm9ybS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBSb2xlUm91dGluZ1Byb3ZpZGVyXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUm9sZUZvcm1Db21wb25lbnQsXG4gICAgICAgIFJvbGVMaXN0Q29tcG9uZW50LFxuICAgICAgICBSb2xlRm9ybUJ1dHRvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBSb2xlTGlzdENvbXBvbmVudCxcbiAgICAgICAgUm9sZUZvcm1CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvbGVGb3JtQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSb2xlTW9kdWxlIHsgfVxuIl19
@@ -10,11 +10,11 @@ import * as i2 from "@angular/cdk/a11y";
10
10
  import * as i3 from "../core/http.service";
11
11
  import * as i4 from "@angular/material/dialog";
12
12
  import * as i5 from "@angular/common";
13
- import * as i6 from "@angular/material/form-field";
14
- import * as i7 from "@angular/material/icon";
15
- import * as i8 from "@angular/material/input";
16
- import * as i9 from "@angular/cdk/scrolling";
17
- import * as i10 from "@angular/material/core";
13
+ import * as i6 from "@angular/cdk/scrolling";
14
+ import * as i7 from "@angular/material/core";
15
+ import * as i8 from "@angular/material/form-field";
16
+ import * as i9 from "@angular/material/icon";
17
+ import * as i10 from "@angular/material/input";
18
18
  import * as i11 from "@angular/material/select";
19
19
  import * as i12 from "@angular/material/progress-bar";
20
20
  export class SearchableSelectorComponent {
@@ -303,7 +303,7 @@ export class SearchableSelectorComponent {
303
303
  provide: MatFormFieldControl,
304
304
  useExisting: SearchableSelectorComponent
305
305
  }
306
- ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"selectorForm\">\n <div class=\"searchable-selector-container\">\n <!-- Selector and Suffix Icons -->\n <mat-select formControlName=\"select_value\" [multiple]=\"multiple\" [required]=\"required\"\n (selectionChange)=\"this.isEmitInitialEvent = false;_handleInput()\" (openedChange)=\"openedChange($event)\"\n [panelWidth]=\"panelWidth\">\n <!-- Search Field -->\n <mat-form-field *ngIf=\"enableSearch\" class=\"p-1 w-100\">\n <input matInput formControlName=\"search\" placeholder=\"Search...\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\" #searchInput>\n </mat-form-field>\n\n <!-- Options with Scrollable Container -->\n <div class=\"searchable-selector-scrollable-container\" cdkScrollable (scrollend)=\"onScroll()\">\n <mat-option *ngFor=\"let item of dataItems\" [value]=\"getPropertyValue(item, valueField)\">\n <span>{{ getPropertyValue(item, titleField) }}</span>\n <span *ngIf=\"subtitleField\" class=\"text-secondary\" style=\"font-size: 14px;\">\n - {{ getPropertyValue(item, subtitleField) }}\n </span>\n </mat-option>\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n </mat-select>\n\n <!-- Add and Edit Buttons -->\n <mat-icon class=\"cursor-pointer\" *ngIf=\"add\" (click)=\"addItem($event)\">\n add\n </mat-icon>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"edit && selectedValue\" (click)=\"editItem($event)\">\n edit\n </mat-icon>\n </div>\n</ng-container>", styles: [".searchable-selector-container{display:flex;align-items:center}.searchable-selector-container mat-select{flex-grow:1}.searchable-selector-container mat-icon{margin-left:2px}.relative-icon{position:relative;top:-4px}.searchable-selector-scrollable-container{max-height:175px;overflow-y:auto}:host ::ng-deep .mat-mdc-floating-label{pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.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: "directive", type: i9.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i11.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: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
306
+ ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"selectorForm\">\n <div class=\"searchable-selector-container\">\n <!-- Selector and Suffix Icons -->\n <mat-select formControlName=\"select_value\" [multiple]=\"multiple\" [required]=\"required\"\n (selectionChange)=\"this.isEmitInitialEvent = false;_handleInput()\" (openedChange)=\"openedChange($event)\"\n [panelWidth]=\"panelWidth\">\n <!-- Search Field -->\n <mat-form-field *ngIf=\"enableSearch\" class=\"p-1 w-100\">\n <input matInput formControlName=\"search\" placeholder=\"Search...\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\" #searchInput>\n </mat-form-field>\n\n <!-- Options with Scrollable Container -->\n <div class=\"searchable-selector-scrollable-container\" cdkScrollable (scrollend)=\"onScroll()\">\n <mat-option *ngFor=\"let item of dataItems\" [value]=\"getPropertyValue(item, valueField)\">\n <span>{{ getPropertyValue(item, titleField) }}</span>\n <span *ngIf=\"subtitleField\" class=\"text-secondary\" style=\"font-size: 14px;\">\n - {{ getPropertyValue(item, subtitleField) }}\n </span>\n </mat-option>\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n </mat-select>\n\n <!-- Add and Edit Buttons -->\n <mat-icon class=\"cursor-pointer\" *ngIf=\"add\" (click)=\"addItem($event)\">\n add\n </mat-icon>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"edit && selectedValue\" (click)=\"editItem($event)\">\n edit\n </mat-icon>\n </div>\n</ng-container>", styles: [".searchable-selector-container{display:flex;align-items:center}.searchable-selector-container mat-select{flex-grow:1}.searchable-selector-container mat-icon{margin-left:2px}.relative-icon{position:relative;top:-4px}.searchable-selector-scrollable-container{max-height:175px;overflow-y:auto}:host ::ng-deep .mat-mdc-floating-label{pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.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: i11.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: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
307
307
  }
308
308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchableSelectorComponent, decorators: [{
309
309
  type: Component,
@@ -1,7 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { SearchableSelectorComponent } from './searchable-selector.component';
4
- import { FlexLayoutModule } from '@angular/flex-layout';
5
4
  import { ReactiveFormsModule } from '@angular/forms';
6
5
  import { MaterialModule } from '../material.module';
7
6
  import { MatProgressBar } from '@angular/material/progress-bar';
@@ -10,12 +9,10 @@ export class SearchableSelectorModule {
10
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchableSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
10
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SearchableSelectorModule, declarations: [SearchableSelectorComponent], imports: [CommonModule,
12
11
  ReactiveFormsModule,
13
- FlexLayoutModule,
14
12
  MaterialModule,
15
13
  MatProgressBar], exports: [SearchableSelectorComponent] }); }
16
14
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchableSelectorModule, imports: [CommonModule,
17
15
  ReactiveFormsModule,
18
- FlexLayoutModule,
19
16
  MaterialModule,
20
17
  MatProgressBar] }); }
21
18
  }
@@ -25,7 +22,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
25
22
  imports: [
26
23
  CommonModule,
27
24
  ReactiveFormsModule,
28
- FlexLayoutModule,
29
25
  MaterialModule,
30
26
  MatProgressBar,
31
27
  ],
@@ -37,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
37
33
  ]
38
34
  }]
39
35
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFpQmhFLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQU5qQywyQkFBMkIsYUFQM0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGNBQWMsYUFNZCwyQkFBMkI7Z0hBR2xCLHdCQUF3QixZQWJqQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsY0FBYzs7NEZBU0wsd0JBQXdCO2tCQWZwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGNBQWM7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlIHsgfVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFnQmhFLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQU5qQywyQkFBMkIsYUFOM0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsY0FBYyxhQU1kLDJCQUEyQjtnSEFHbEIsd0JBQXdCLFlBWmpDLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGNBQWM7OzRGQVNMLHdCQUF3QjtrQkFkcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYztxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2hhYmxlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXIsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUgeyB9XG4iXX0=