ngx-techlify-core 15.0.2 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +135 -0
  2. package/{esm2020 → esm2022}/lib/access-control-config/access-control-config-routing.module.mjs +5 -5
  3. package/esm2022/lib/access-control-config/access-control-config.component.mjs +137 -0
  4. package/esm2022/lib/access-control-config/access-control-config.model.mjs +34 -0
  5. package/{esm2020 → esm2022}/lib/access-control-config/access-control-config.module.mjs +24 -24
  6. package/esm2022/lib/access-control-config/access-control-config.service.mjs +32 -0
  7. package/esm2022/lib/action-popup/action-popup.component.mjs +36 -0
  8. package/{esm2020 → esm2022}/lib/action-popup/action-popup.model.mjs +4 -1
  9. package/{esm2020 → esm2022}/lib/action-popup/action-popup.module.mjs +9 -9
  10. package/{esm2020 → esm2022}/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +5 -5
  11. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +54 -0
  12. package/{esm2020 → esm2022}/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +15 -15
  13. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +5 -5
  14. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +146 -0
  15. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list/audit-log-list.module.mjs +19 -19
  16. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +5 -5
  17. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +79 -0
  18. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +15 -15
  19. package/{esm2020 → esm2022}/lib/audit-log/audit-log-routing.module.mjs +5 -5
  20. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +5 -5
  21. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +55 -0
  22. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view/audit-log-view.module.mjs +11 -11
  23. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +5 -5
  24. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +60 -0
  25. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +11 -11
  26. package/{esm2020 → esm2022}/lib/audit-log/audit-log.module.mjs +11 -11
  27. package/{esm2020 → esm2022}/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +5 -5
  28. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +40 -0
  29. package/{esm2020 → esm2022}/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +11 -11
  30. package/esm2022/lib/base-model/techlify-form-component.class.mjs +52 -0
  31. package/esm2022/lib/base-model/techlify-listing-component.class.mjs +64 -0
  32. package/esm2022/lib/base-model/techlify-service.class.mjs +69 -0
  33. package/{esm2020 → esm2022}/lib/change-password/change-password-routing.module.mjs +5 -5
  34. package/esm2022/lib/change-password/change-password.component.mjs +96 -0
  35. package/{esm2020 → esm2022}/lib/change-password/change-password.module.mjs +19 -19
  36. package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +36 -0
  37. package/{esm2020 → esm2022}/lib/column-selector/column-selector.module.mjs +13 -13
  38. package/esm2022/lib/core/alert.service.mjs +39 -0
  39. package/esm2022/lib/core/api-prefix.interceptor.mjs +27 -0
  40. package/esm2022/lib/core/authentication.guard.mjs +37 -0
  41. package/esm2022/lib/core/authentication.service.mjs +65 -0
  42. package/esm2022/lib/core/cache.interceptor.mjs +59 -0
  43. package/esm2022/lib/core/config.service.mjs +46 -0
  44. package/esm2022/lib/core/core.module.mjs +63 -0
  45. package/esm2022/lib/core/credentials.service.mjs +80 -0
  46. package/esm2022/lib/core/dataManager.service.mjs +120 -0
  47. package/esm2022/lib/core/error-handler.interceptor.mjs +50 -0
  48. package/esm2022/lib/core/error-handler.service.mjs +57 -0
  49. package/esm2022/lib/core/filter.service.mjs +39 -0
  50. package/{esm2020 → esm2022}/lib/core/form-validator.service.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/core/header.interceptor.mjs +4 -4
  52. package/esm2022/lib/core/http-cache.service.mjs +110 -0
  53. package/esm2022/lib/core/http.service.mjs +89 -0
  54. package/esm2022/lib/core/logger.service.mjs +101 -0
  55. package/{esm2020 → esm2022}/lib/core/route-reusable-strategy.mjs +4 -4
  56. package/esm2022/lib/core/snack/snack.component.mjs +35 -0
  57. package/{esm2020 → esm2022}/lib/core/snack/snack.module.mjs +11 -11
  58. package/esm2022/lib/core/storage.service.mjs +38 -0
  59. package/esm2022/lib/core/techlify-config.model.mjs +30 -0
  60. package/esm2022/lib/core/token.interceptor.mjs +29 -0
  61. package/esm2022/lib/data-table/data-table.component.mjs +211 -0
  62. package/esm2022/lib/data-table/data-table.model.mjs +46 -0
  63. package/{esm2020 → esm2022}/lib/data-table/data-table.module.mjs +11 -11
  64. package/esm2022/lib/document-viewer/document-viewer.component.mjs +69 -0
  65. package/{esm2020 → esm2022}/lib/document-viewer/document-viewer.module.mjs +11 -11
  66. package/{esm2020 → esm2022}/lib/document-viewer/viewer-config.model.mjs +4 -1
  67. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +5 -5
  68. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +77 -0
  69. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +13 -13
  70. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-routing.module.mjs +5 -5
  71. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +5 -5
  72. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +118 -0
  73. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +17 -17
  74. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +5 -5
  75. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +164 -0
  76. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +17 -17
  77. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +5 -5
  78. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +7 -7
  79. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +5 -5
  80. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +114 -0
  81. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +17 -17
  82. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +5 -5
  83. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +169 -0
  84. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +19 -19
  85. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +5 -5
  86. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +54 -0
  87. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +15 -15
  88. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +5 -5
  89. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +7 -7
  90. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription.module.mjs +7 -7
  91. package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +174 -0
  92. package/esm2022/lib/entity-files/entity-file.service.mjs +37 -0
  93. package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +364 -0
  94. package/{esm2020 → esm2022}/lib/entity-files/entity-files-view-all.module.mjs +29 -29
  95. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +31 -0
  96. package/{esm2020 → esm2022}/lib/export-excel/export-excel.module.mjs +7 -7
  97. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +92 -0
  98. package/{esm2020 → esm2022}/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +13 -13
  99. package/esm2022/lib/file-dropper/file-dropper.component.mjs +129 -0
  100. package/esm2022/lib/file-dropper/file-dropper.model.mjs +11 -0
  101. package/{esm2020 → esm2022}/lib/file-dropper/file-dropper.module.mjs +9 -9
  102. package/{esm2020 → esm2022}/lib/forgot-password/forgot-password-routing.module.mjs +5 -5
  103. package/esm2022/lib/forgot-password/forgot-password.component.mjs +81 -0
  104. package/{esm2020 → esm2022}/lib/forgot-password/forgot-password.module.mjs +11 -11
  105. package/{esm2020 → esm2022}/lib/import-csv/data-import/data-import.component.mjs +5 -4
  106. package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +38 -0
  107. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +160 -0
  108. package/esm2022/lib/import-csv/import-csv.component.mjs +207 -0
  109. package/{esm2020 → esm2022}/lib/import-csv/import-csv.module.mjs +28 -28
  110. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +75 -0
  111. package/esm2022/lib/import-csv/import-success/import-success.component.mjs +26 -0
  112. package/{esm2020 → esm2022}/lib/ip-address-selector/ip-address-selector.module.mjs +17 -17
  113. package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +108 -0
  114. package/esm2022/lib/loader/loader.component.mjs +23 -0
  115. package/{esm2020 → esm2022}/lib/loader/loader.module.mjs +7 -7
  116. package/{esm2020 → esm2022}/lib/login/login-routing.module.mjs +5 -5
  117. package/esm2022/lib/login/login.component.mjs +170 -0
  118. package/{esm2020 → esm2022}/lib/login/login.module.mjs +19 -19
  119. package/{esm2020 → esm2022}/lib/login-history-for-user/login-history-for-user-routing.module.mjs +5 -5
  120. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +96 -0
  121. package/{esm2020 → esm2022}/lib/login-history-for-user/login-history-for-user.module.mjs +17 -17
  122. package/{esm2020 → esm2022}/lib/material.module.mjs +53 -53
  123. package/{esm2020 → esm2022}/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +5 -5
  124. package/{esm2020 → esm2022}/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +7 -7
  125. package/esm2022/lib/note/comment-form/comment-form.component.mjs +82 -0
  126. package/esm2022/lib/note/note-form/note-form.component.mjs +88 -0
  127. package/esm2022/lib/note/note-list/note-list.component.mjs +153 -0
  128. package/{esm2020 → esm2022}/lib/note/note.module.mjs +19 -19
  129. package/esm2022/lib/note/note.service.mjs +30 -0
  130. package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +104 -0
  131. package/{esm2020 → esm2022}/lib/number-input-button/number-input-button.module.mjs +9 -9
  132. package/{esm2020 → esm2022}/lib/password-requirement-check/password-check.service.mjs +4 -4
  133. package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +50 -0
  134. package/{esm2020 → esm2022}/lib/password-requirement-check/password-requirement-check.module.mjs +5 -5
  135. package/esm2022/lib/profile/profile-edit.component.mjs +84 -0
  136. package/{esm2020 → esm2022}/lib/profile/profile-routing.module.mjs +5 -5
  137. package/{esm2020 → esm2022}/lib/profile/profile.module.mjs +11 -11
  138. package/esm2022/lib/read-more/read-more.component.mjs +44 -0
  139. package/{esm2020 → esm2022}/lib/read-more/read-more.module.mjs +9 -9
  140. package/esm2022/lib/request-helper/request-helper.service.mjs +107 -0
  141. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +93 -0
  142. package/{esm2020 → esm2022}/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +11 -11
  143. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +20 -0
  144. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +93 -0
  145. package/{esm2020 → esm2022}/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +9 -9
  146. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +20 -0
  147. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +94 -0
  148. package/{esm2020 → esm2022}/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +11 -11
  149. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +20 -0
  150. package/esm2022/lib/restrictors/restrictor.service.mjs +20 -0
  151. package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +111 -0
  152. package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +49 -0
  153. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +152 -0
  154. package/{esm2020 → esm2022}/lib/restrictors/restrictors-routing.module.mjs +5 -5
  155. package/{esm2020 → esm2022}/lib/restrictors/restrictors.module.mjs +43 -43
  156. package/{esm2020 → esm2022}/lib/role/permission/permission.model.mjs +4 -1
  157. package/{esm2020 → esm2022}/lib/role/permission/permission.module.mjs +15 -15
  158. package/{esm2020 → esm2022}/lib/role/permission/permission.routes.mjs +5 -5
  159. package/esm2022/lib/role/permission/permissions-management.component.mjs +127 -0
  160. package/esm2022/lib/role/role-form.component.mjs +109 -0
  161. package/esm2022/lib/role/role-view/role-view.component.mjs +44 -0
  162. package/esm2022/lib/role/role.model.mjs +66 -0
  163. package/{esm2020 → esm2022}/lib/role/role.module.mjs +21 -21
  164. package/{esm2020 → esm2022}/lib/role/role.routes.mjs +5 -5
  165. package/esm2022/lib/role/role.service.mjs +27 -0
  166. package/esm2022/lib/role/roles-view-all.component.mjs +140 -0
  167. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +365 -0
  168. package/{esm2020 → esm2022}/lib/searchable-selector/searchable-selector.module.mjs +11 -11
  169. package/{esm2020 → esm2022}/lib/signup/signup-routing.module.mjs +5 -5
  170. package/esm2022/lib/signup/signup.component.mjs +87 -0
  171. package/{esm2020 → esm2022}/lib/signup/signup.module.mjs +11 -11
  172. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +73 -0
  173. package/{esm2020 → esm2022}/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +9 -9
  174. package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +27 -0
  175. package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +79 -0
  176. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +179 -0
  177. package/{esm2020 → esm2022}/lib/techlify-feature/techlify-feature.module.mjs +17 -17
  178. package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +27 -0
  179. package/{esm2020 → esm2022}/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier-routing.module.mjs +5 -5
  180. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +109 -0
  181. package/{esm2020 → esm2022}/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.module.mjs +15 -15
  182. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +5 -5
  183. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +90 -0
  184. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +13 -13
  185. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-routing.module.mjs +5 -5
  186. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard-routing.module.mjs +5 -5
  187. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +180 -0
  188. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.module.mjs +19 -19
  189. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form-routing.module.mjs +5 -5
  190. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +131 -0
  191. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.module.mjs +17 -17
  192. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list-routing.module.mjs +5 -5
  193. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +186 -0
  194. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.module.mjs +19 -19
  195. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter-routing.module.mjs +5 -5
  196. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +72 -0
  197. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module.mjs +15 -15
  198. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-routing.module.mjs +5 -5
  199. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber.module.mjs +19 -19
  200. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +6 -0
  201. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form-routing.module.mjs +5 -5
  202. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +111 -0
  203. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.module.mjs +19 -19
  204. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list-routing.module.mjs +5 -5
  205. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +171 -0
  206. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.module.mjs +17 -17
  207. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-routing.module.mjs +5 -5
  208. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type.module.mjs +17 -17
  209. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-user-status.model.mjs +3 -3
  210. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification.module.mjs +7 -7
  211. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +24 -0
  212. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +301 -0
  213. package/{esm2020 → esm2022}/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +13 -13
  214. package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +189 -0
  215. package/{esm2020 → esm2022}/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +17 -17
  216. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +124 -0
  217. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +13 -13
  218. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +5 -5
  219. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +151 -0
  220. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +19 -19
  221. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-routing.module.mjs +5 -5
  222. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update.module.mjs +21 -21
  223. package/esm2022/lib/techlify-update/techlify-update.service.mjs +42 -0
  224. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +169 -0
  225. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +63 -0
  226. package/{esm2020 → esm2022}/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +11 -11
  227. package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +85 -0
  228. package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +57 -0
  229. package/{esm2020 → esm2022}/lib/techlify-update/update-notifier/update-notifier.module.mjs +13 -13
  230. package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +43 -0
  231. package/{esm2020 → esm2022}/lib/techlify-update/update-view/update-view.module.mjs +9 -9
  232. package/{esm2020 → esm2022}/lib/timeline-filter/timeline-filter-routing.module.mjs +5 -5
  233. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +253 -0
  234. package/{esm2020 → esm2022}/lib/timeline-filter/timeline-filter.module.mjs +25 -25
  235. package/esm2022/lib/timeline-filter/timeline.model.mjs +18 -0
  236. package/esm2022/lib/user/current-user.service.mjs +155 -0
  237. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +65 -0
  238. package/esm2022/lib/user/user-explore.component.mjs +55 -0
  239. package/esm2022/lib/user/user-form.component.mjs +234 -0
  240. package/esm2022/lib/user/user-view.component.mjs +76 -0
  241. package/esm2022/lib/user/user.model.mjs +49 -0
  242. package/{esm2020 → esm2022}/lib/user/user.module.mjs +42 -42
  243. package/{esm2020 → esm2022}/lib/user/user.routes.mjs +5 -5
  244. package/esm2022/lib/user/user.service.mjs +42 -0
  245. package/esm2022/lib/user/users-view-all.component.mjs +226 -0
  246. package/esm2022/lib/user-config/user-config.model.mjs +81 -0
  247. package/esm2022/lib/user-config/user-config.service.mjs +68 -0
  248. package/esm2022/lib/user-selector/user-data.service.mjs +37 -0
  249. package/esm2022/lib/user-selector/user-selector.component.mjs +100 -0
  250. package/{esm2020 → esm2022}/lib/user-selector/user-selector.module.mjs +11 -11
  251. package/{esm2020 → esm2022}/lib/utility/date-utils.service.mjs +4 -4
  252. package/esm2022/lib/utility/num-items-selector.component.mjs +33 -0
  253. package/esm2022/lib/utility/number-selector.component.mjs +46 -0
  254. package/{esm2020 → esm2022}/lib/utility/utility.module.mjs +7 -7
  255. package/{fesm2020 → fesm2022}/ngx-techlify-core.mjs +3117 -2394
  256. package/{fesm2020 → fesm2022}/ngx-techlify-core.mjs.map +1 -1
  257. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +1 -1
  258. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +1 -1
  259. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +1 -1
  260. package/lib/column-selector/column-selector/column-selector.component.d.ts +1 -1
  261. package/lib/data-table/data-table.component.d.ts +1 -1
  262. package/lib/document-viewer/document-viewer.component.d.ts +1 -1
  263. package/lib/entity-files/entity-files-view-all.component.d.ts +1 -1
  264. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +1 -1
  265. package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +1 -1
  266. package/lib/file-dropper/file-dropper.component.d.ts +1 -1
  267. package/lib/import-csv/data-import/data-import.component.d.ts +1 -1
  268. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +1 -1
  269. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +1 -1
  270. package/lib/import-csv/import-csv.component.d.ts +1 -1
  271. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +1 -1
  272. package/lib/import-csv/import-success/import-success.component.d.ts +1 -1
  273. package/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.d.ts +1 -1
  274. package/lib/loader/loader.component.d.ts +1 -1
  275. package/lib/login-history-for-user/login-history-for-user.component.d.ts +1 -1
  276. package/lib/note/comment-form/comment-form.component.d.ts +1 -1
  277. package/lib/note/note-list/note-list.component.d.ts +1 -1
  278. package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +1 -1
  279. package/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.d.ts +1 -1
  280. package/lib/read-more/read-more.component.d.ts +1 -1
  281. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.d.ts +1 -1
  282. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.d.ts +1 -1
  283. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.d.ts +1 -1
  284. package/lib/restrictors/restrictors-form/restrictors-form.component.d.ts +1 -1
  285. package/lib/role/permission/permissions-management.component.d.ts +1 -1
  286. package/lib/role/roles-view-all.component.d.ts +1 -1
  287. package/lib/searchable-selector/searchable-selector.component.d.ts +1 -1
  288. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +1 -1
  289. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +1 -1
  290. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +1 -1
  291. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.d.ts +1 -1
  292. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +1 -1
  293. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +1 -1
  294. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.d.ts +1 -1
  295. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +1 -1
  296. package/lib/timeline-filter/timeline-filter.component.d.ts +1 -1
  297. package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +1 -1
  298. package/lib/user/user-form.component.d.ts +1 -1
  299. package/lib/user/users-view-all.component.d.ts +1 -1
  300. package/lib/user-selector/user-selector.component.d.ts +1 -1
  301. package/lib/utility/num-items-selector.component.d.ts +1 -1
  302. package/lib/utility/number-selector.component.d.ts +1 -1
  303. package/package.json +19 -25
  304. package/esm2020/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +0 -127
  305. package/esm2020/lib/access-control-config/access-control-config.component.mjs +0 -131
  306. package/esm2020/lib/access-control-config/access-control-config.model.mjs +0 -21
  307. package/esm2020/lib/access-control-config/access-control-config.service.mjs +0 -31
  308. package/esm2020/lib/action-popup/action-popup.component.mjs +0 -34
  309. package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +0 -51
  310. package/esm2020/lib/audit-log/audit-log-list/audit-log-list.component.mjs +0 -139
  311. package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +0 -74
  312. package/esm2020/lib/audit-log/audit-log-view/audit-log-view.component.mjs +0 -51
  313. package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +0 -56
  314. package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +0 -37
  315. package/esm2020/lib/base-model/techlify-form-component.class.mjs +0 -49
  316. package/esm2020/lib/base-model/techlify-listing-component.class.mjs +0 -65
  317. package/esm2020/lib/base-model/techlify-service.class.mjs +0 -68
  318. package/esm2020/lib/change-password/change-password.component.mjs +0 -87
  319. package/esm2020/lib/column-selector/column-selector/column-selector.component.mjs +0 -37
  320. package/esm2020/lib/core/alert.service.mjs +0 -38
  321. package/esm2020/lib/core/api-prefix.interceptor.mjs +0 -26
  322. package/esm2020/lib/core/authentication.guard.mjs +0 -35
  323. package/esm2020/lib/core/authentication.service.mjs +0 -62
  324. package/esm2020/lib/core/cache.interceptor.mjs +0 -58
  325. package/esm2020/lib/core/config.service.mjs +0 -45
  326. package/esm2020/lib/core/core.module.mjs +0 -63
  327. package/esm2020/lib/core/credentials.service.mjs +0 -79
  328. package/esm2020/lib/core/dataManager.service.mjs +0 -119
  329. package/esm2020/lib/core/error-handler.interceptor.mjs +0 -48
  330. package/esm2020/lib/core/error-handler.service.mjs +0 -55
  331. package/esm2020/lib/core/filter.service.mjs +0 -37
  332. package/esm2020/lib/core/http-cache.service.mjs +0 -107
  333. package/esm2020/lib/core/http.service.mjs +0 -84
  334. package/esm2020/lib/core/logger.service.mjs +0 -100
  335. package/esm2020/lib/core/snack/snack.component.mjs +0 -33
  336. package/esm2020/lib/core/storage.service.mjs +0 -38
  337. package/esm2020/lib/core/techlify-config.model.mjs +0 -28
  338. package/esm2020/lib/core/token.interceptor.mjs +0 -28
  339. package/esm2020/lib/data-table/data-table.component.mjs +0 -204
  340. package/esm2020/lib/data-table/data-table.model.mjs +0 -11
  341. package/esm2020/lib/document-viewer/document-viewer.component.mjs +0 -65
  342. package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +0 -76
  343. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +0 -105
  344. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +0 -161
  345. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +0 -101
  346. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +0 -165
  347. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +0 -52
  348. package/esm2020/lib/entity-files/entity-file-form/entity-file-form.component.mjs +0 -161
  349. package/esm2020/lib/entity-files/entity-file.service.mjs +0 -36
  350. package/esm2020/lib/entity-files/entity-files-view-all.component.mjs +0 -346
  351. package/esm2020/lib/export-excel/export-excel-button/export-excel-button.component.mjs +0 -32
  352. package/esm2020/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +0 -90
  353. package/esm2020/lib/file-dropper/file-dropper.component.mjs +0 -125
  354. package/esm2020/lib/file-dropper/file-dropper.model.mjs +0 -3
  355. package/esm2020/lib/forgot-password/forgot-password.component.mjs +0 -69
  356. package/esm2020/lib/import-csv/failed-items-list/failed-items-list.component.mjs +0 -35
  357. package/esm2020/lib/import-csv/field-mapping/field-mapping.component.mjs +0 -153
  358. package/esm2020/lib/import-csv/import-csv.component.mjs +0 -199
  359. package/esm2020/lib/import-csv/import-history-list/import-history-list.component.mjs +0 -71
  360. package/esm2020/lib/import-csv/import-success/import-success.component.mjs +0 -24
  361. package/esm2020/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +0 -109
  362. package/esm2020/lib/loader/loader.component.mjs +0 -23
  363. package/esm2020/lib/login/login.component.mjs +0 -153
  364. package/esm2020/lib/login-history-for-user/login-history-for-user.component.mjs +0 -92
  365. package/esm2020/lib/note/comment-form/comment-form.component.mjs +0 -77
  366. package/esm2020/lib/note/note-form/note-form.component.mjs +0 -79
  367. package/esm2020/lib/note/note-list/note-list.component.mjs +0 -148
  368. package/esm2020/lib/note/note.service.mjs +0 -29
  369. package/esm2020/lib/number-input-button/number-input-button/number-input-button.component.mjs +0 -104
  370. package/esm2020/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +0 -47
  371. package/esm2020/lib/profile/profile-edit.component.mjs +0 -75
  372. package/esm2020/lib/read-more/read-more.component.mjs +0 -43
  373. package/esm2020/lib/request-helper/request-helper.service.mjs +0 -105
  374. package/esm2020/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +0 -91
  375. package/esm2020/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +0 -19
  376. package/esm2020/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +0 -91
  377. package/esm2020/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +0 -19
  378. package/esm2020/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +0 -92
  379. package/esm2020/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +0 -19
  380. package/esm2020/lib/restrictors/restrictor.service.mjs +0 -19
  381. package/esm2020/lib/restrictors/restrictors-form/restrictors-form.component.mjs +0 -102
  382. package/esm2020/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +0 -44
  383. package/esm2020/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +0 -143
  384. package/esm2020/lib/role/permission/permissions-management.component.mjs +0 -114
  385. package/esm2020/lib/role/role-form.component.mjs +0 -99
  386. package/esm2020/lib/role/role-view/role-view.component.mjs +0 -39
  387. package/esm2020/lib/role/role.model.mjs +0 -56
  388. package/esm2020/lib/role/role.service.mjs +0 -26
  389. package/esm2020/lib/role/roles-view-all.component.mjs +0 -131
  390. package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +0 -348
  391. package/esm2020/lib/signup/signup.component.mjs +0 -78
  392. package/esm2020/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +0 -68
  393. package/esm2020/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +0 -24
  394. package/esm2020/lib/techlify-feature/techlify-feature-enabled.directive.mjs +0 -73
  395. package/esm2020/lib/techlify-feature/techlify-feature-listing.component.mjs +0 -169
  396. package/esm2020/lib/techlify-feature/techlify-feature.service.mjs +0 -26
  397. package/esm2020/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +0 -103
  398. package/esm2020/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +0 -86
  399. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +0 -173
  400. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +0 -117
  401. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +0 -180
  402. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +0 -69
  403. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +0 -6
  404. package/esm2020/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +0 -99
  405. package/esm2020/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +0 -166
  406. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +0 -15
  407. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +0 -285
  408. package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +0 -180
  409. package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +0 -116
  410. package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +0 -145
  411. package/esm2020/lib/techlify-update/techlify-update.service.mjs +0 -41
  412. package/esm2020/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +0 -163
  413. package/esm2020/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +0 -60
  414. package/esm2020/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +0 -77
  415. package/esm2020/lib/techlify-update/update-notifier/update-notifier.component.mjs +0 -53
  416. package/esm2020/lib/techlify-update/update-view/update-view.component.mjs +0 -38
  417. package/esm2020/lib/timeline-filter/timeline-filter.component.mjs +0 -243
  418. package/esm2020/lib/timeline-filter/timeline.model.mjs +0 -18
  419. package/esm2020/lib/user/current-user.service.mjs +0 -151
  420. package/esm2020/lib/user/user-enable-button-component/user-enable-button.component.mjs +0 -59
  421. package/esm2020/lib/user/user-explore.component.mjs +0 -50
  422. package/esm2020/lib/user/user-form.component.mjs +0 -219
  423. package/esm2020/lib/user/user-view.component.mjs +0 -68
  424. package/esm2020/lib/user/user.model.mjs +0 -30
  425. package/esm2020/lib/user/user.service.mjs +0 -41
  426. package/esm2020/lib/user/users-view-all.component.mjs +0 -212
  427. package/esm2020/lib/user-config/user-config.model.mjs +0 -50
  428. package/esm2020/lib/user-config/user-config.service.mjs +0 -65
  429. package/esm2020/lib/user-selector/user-data.service.mjs +0 -35
  430. package/esm2020/lib/user-selector/user-selector.component.mjs +0 -91
  431. package/esm2020/lib/utility/num-items-selector.component.mjs +0 -31
  432. package/esm2020/lib/utility/number-selector.component.mjs +0 -42
  433. package/fesm2015/ngx-techlify-core.mjs +0 -13476
  434. package/fesm2015/ngx-techlify-core.mjs.map +0 -1
  435. /package/{esm2020 → esm2022}/lib/action-popup/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/lib/base-model/index.mjs +0 -0
  437. /package/{esm2020 → esm2022}/lib/column-selector/index.mjs +0 -0
  438. /package/{esm2020 → esm2022}/lib/core/index.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/data-table/index.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/date-validator.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/document-viewer/index.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +0 -0
  446. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +0 -0
  448. /package/{esm2020 → esm2022}/lib/entity-files/index.mjs +0 -0
  449. /package/{esm2020 → esm2022}/lib/file-dropper/index.mjs +0 -0
  450. /package/{esm2020 → esm2022}/lib/forgot-password/index.mjs +0 -0
  451. /package/{esm2020 → esm2022}/lib/import-csv/import-csv-config.mjs +0 -0
  452. /package/{esm2020 → esm2022}/lib/loader/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/lib/login/index.mjs +0 -0
  454. /package/{esm2020 → esm2022}/lib/note/index.mjs +0 -0
  455. /package/{esm2020 → esm2022}/lib/number-input-button/index.mjs +0 -0
  456. /package/{esm2020 → esm2022}/lib/password-requirement-check/password-check-result.mjs +0 -0
  457. /package/{esm2020 → esm2022}/lib/profile/index.mjs +0 -0
  458. /package/{esm2020 → esm2022}/lib/restrictors/index.mjs +0 -0
  459. /package/{esm2020 → esm2022}/lib/role/index.mjs +0 -0
  460. /package/{esm2020 → esm2022}/lib/searchable-selector/index.mjs +0 -0
  461. /package/{esm2020 → esm2022}/lib/signup/index.mjs +0 -0
  462. /package/{esm2020 → esm2022}/lib/techlify-company-switcher/index.mjs +0 -0
  463. /package/{esm2020 → esm2022}/lib/techlify-feature/techlify-feature.routing.mjs +0 -0
  464. /package/{esm2020 → esm2022}/lib/techlify-notifications/index.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/timeline-filter/calculate-timeline.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/timeline-filter/index.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/user/index.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/user/user-type.enum.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/user-config/index.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/user-selector/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/utility/index.mjs +0 -0
  472. /package/{esm2020 → esm2022}/ngx-techlify-core.mjs +0 -0
  473. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,93 @@
1
+ /* tslint:disable:component-selector variable-name */
2
+ import { Component, Input } from '@angular/core';
3
+ import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../restrictor-status.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/button-toggle";
8
+ import * as i4 from "@angular/forms";
9
+ export class RestrictorStatusSelectorComponent {
10
+ restrictorStatusService;
11
+ constructor(restrictorStatusService) {
12
+ this.restrictorStatusService = restrictorStatusService;
13
+ }
14
+ label = 'Status';
15
+ multiple = false;
16
+ showLabel = true;
17
+ _value;
18
+ valueChanged = false;
19
+ disabled = false;
20
+ selectedOption = new FormControl();
21
+ options = [];
22
+ onChange = (value) => { };
23
+ onTouched = () => { };
24
+ ngOnInit() {
25
+ // fetch the data
26
+ this.fetchData();
27
+ // listen for input changes
28
+ this.selectedOption.valueChanges.subscribe((value) => {
29
+ if (this._value || this._value === '') {
30
+ this.valueChanged = true;
31
+ this.onChange(value);
32
+ this.onTouched();
33
+ }
34
+ this._value = value;
35
+ });
36
+ }
37
+ writeValue(value) {
38
+ this.selectedOption.setValue(value);
39
+ }
40
+ registerOnChange(fn) {
41
+ this.onChange = (value) => {
42
+ this.valueChanged = true;
43
+ this._value = value;
44
+ fn(value);
45
+ };
46
+ }
47
+ registerOnTouched(fn) {
48
+ this.onTouched = fn;
49
+ }
50
+ setDisabledState(isDisabled) {
51
+ this.disabled = isDisabled;
52
+ }
53
+ /**
54
+ * Reset the form control value
55
+ */
56
+ resetField() {
57
+ this.selectedOption.setValue('');
58
+ }
59
+ /**
60
+ * Get task types.
61
+ * @private
62
+ */
63
+ fetchData() {
64
+ this.restrictorStatusService.index().subscribe((response) => {
65
+ this.options = response?.data;
66
+ });
67
+ }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusSelectorComponent, deps: [{ token: i1.RestrictorStatusService }], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RestrictorStatusSelectorComponent, selector: "techlify-restrictor-status-selector", inputs: { label: "label", multiple: "multiple", showLabel: "showLabel" }, providers: [
70
+ {
71
+ provide: NG_VALUE_ACCESSOR,
72
+ multi: true,
73
+ useExisting: RestrictorStatusSelectorComponent
74
+ }
75
+ ], ngImport: i0, template: "<div *ngIf=\"options?.length > 0\">\n <span *ngIf=\"showLabel\" class=\"mr-1\">{{ label }}</span> <br *ngIf=\"showLabel\">\n <mat-button-toggle-group [formControl]=\"selectedOption\" [multiple]=\"multiple\">\n <mat-button-toggle *ngFor=\"let option of options\"\n [value]=\"option?.id\">\n {{ option?.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusSelectorComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'techlify-restrictor-status-selector', providers: [
80
+ {
81
+ provide: NG_VALUE_ACCESSOR,
82
+ multi: true,
83
+ useExisting: RestrictorStatusSelectorComponent
84
+ }
85
+ ], template: "<div *ngIf=\"options?.length > 0\">\n <span *ngIf=\"showLabel\" class=\"mr-1\">{{ label }}</span> <br *ngIf=\"showLabel\">\n <mat-button-toggle-group [formControl]=\"selectedOption\" [multiple]=\"multiple\">\n <mat-button-toggle *ngFor=\"let option of options\"\n [value]=\"option?.id\">\n {{ option?.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n" }]
86
+ }], ctorParameters: function () { return [{ type: i1.RestrictorStatusService }]; }, propDecorators: { label: [{
87
+ type: Input
88
+ }], multiple: [{
89
+ type: Input
90
+ }], showLabel: [{
91
+ type: Input
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFEQUFxRDtBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWU5RCxNQUFNLE9BQU8saUNBQWlDO0lBR2xDO0lBRFYsWUFDVSx1QkFBZ0Q7UUFBaEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtJQUN0RCxDQUFDO0lBRUksS0FBSyxHQUFHLFFBQVEsQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxDQUFNO0lBQ3BCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixjQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxPQUFPLEdBQVUsRUFBRSxDQUFDO0lBRXBCLFFBQVEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRTlCLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFckIsUUFBUTtRQUNOLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3hELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSyxTQUFTO1FBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxFQUFFLElBQUksQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBdEVVLGlDQUFpQzs0RkFBakMsaUNBQWlDLHdJQVJqQztZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxpQ0FBaUM7YUFDL0M7U0FDRiwwQkNmSCx5WkFTQTs7NEZEUWEsaUNBQWlDO2tCQVo3QyxTQUFTOytCQUNFLHFDQUFxQyxhQUdwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLG1DQUFtQzt5QkFDL0M7cUJBQ0Y7OEdBUVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOmNvbXBvbmVudC1zZWxlY3RvciB2YXJpYWJsZS1uYW1lICovXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZXN0cmljdG9yU3RhdHVzU2VydmljZX0gZnJvbSAnLi4vcmVzdHJpY3Rvci1zdGF0dXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RlY2hsaWZ5LXJlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3IuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFJlc3RyaWN0b3JTdGF0dXNTZWxlY3RvckNvbXBvbmVudFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzdHJpY3RvclN0YXR1c1NlcnZpY2U6IFJlc3RyaWN0b3JTdGF0dXNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgQElucHV0KCkgbGFiZWwgPSAnU3RhdHVzJztcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0xhYmVsID0gdHJ1ZTtcblxuICBwcml2YXRlIF92YWx1ZTogYW55O1xuICB2YWx1ZUNoYW5nZWQgPSBmYWxzZTtcblxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBzZWxlY3RlZE9wdGlvbiA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBvcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIGZldGNoIHRoZSBkYXRhXG4gICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICAvLyBsaXN0ZW4gZm9yIGlucHV0IGNoYW5nZXNcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmICh0aGlzLl92YWx1ZSB8fCB0aGlzLl92YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgIGZuKHZhbHVlKTtcbiAgICB9O1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIGZvcm0gY29udHJvbCB2YWx1ZVxuICAgKi9cbiAgcmVzZXRGaWVsZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGFzayB0eXBlcy5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZmV0Y2hEYXRhKCk6IHZvaWQge1xuICAgIHRoaXMucmVzdHJpY3RvclN0YXR1c1NlcnZpY2UuaW5kZXgoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlPy5kYXRhO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJvcHRpb25zPy5sZW5ndGggPiAwXCI+XG4gIDxzcGFuICpuZ0lmPVwic2hvd0xhYmVsXCIgY2xhc3M9XCJtci0xXCI+e3sgbGFiZWwgfX08L3NwYW4+IDxiciAqbmdJZj1cInNob3dMYWJlbFwiPlxuICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGVkT3B0aW9uXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCI+XG4gICAgPG1hdC1idXR0b24tdG9nZ2xlICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24/LmlkXCI+XG4gICAgICB7eyBvcHRpb24/LnRpdGxlIH19XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbjwvZGl2PlxuIl19
@@ -5,15 +5,15 @@ import { MatButtonToggleModule } from '@angular/material/button-toggle';
5
5
  import { ReactiveFormsModule } from '@angular/forms';
6
6
  import * as i0 from "@angular/core";
7
7
  export class RestrictorStatusSelectorModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusSelectorModule, declarations: [RestrictorStatusSelectorComponent], imports: [CommonModule,
10
+ MatButtonToggleModule,
11
+ ReactiveFormsModule], exports: [RestrictorStatusSelectorComponent] });
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusSelectorModule, imports: [CommonModule,
13
+ MatButtonToggleModule,
14
+ ReactiveFormsModule] });
8
15
  }
9
- RestrictorStatusSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RestrictorStatusSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- RestrictorStatusSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RestrictorStatusSelectorModule, declarations: [RestrictorStatusSelectorComponent], imports: [CommonModule,
11
- MatButtonToggleModule,
12
- ReactiveFormsModule], exports: [RestrictorStatusSelectorComponent] });
13
- RestrictorStatusSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RestrictorStatusSelectorModule, imports: [CommonModule,
14
- MatButtonToggleModule,
15
- ReactiveFormsModule] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RestrictorStatusSelectorModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusSelectorModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  declarations: [
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
29
29
  ]
30
30
  }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBaUJuRCxNQUFNLE9BQU8sOEJBQThCOzs0SEFBOUIsOEJBQThCOzZIQUE5Qiw4QkFBOEIsaUJBWHZDLGlDQUFpQyxhQUdqQyxZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLG1CQUFtQixhQUduQixpQ0FBaUM7NkhBR3hCLDhCQUE4QixZQVJ2QyxZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLG1CQUFtQjs0RkFNViw4QkFBOEI7a0JBYjFDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQ0FBaUM7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJ1dHRvblRvZ2dsZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJlc3RyaWN0b3JTdGF0dXNTZWxlY3RvckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JNb2R1bGUgeyB9XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci9yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBaUJuRCxNQUFNLE9BQU8sOEJBQThCO3dHQUE5Qiw4QkFBOEI7eUdBQTlCLDhCQUE4QixpQkFYdkMsaUNBQWlDLGFBR2pDLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsbUJBQW1CLGFBR25CLGlDQUFpQzt5R0FHeEIsOEJBQThCLFlBUnZDLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsbUJBQW1COzs0RkFNViw4QkFBOEI7a0JBYjFDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQ0FBaUM7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yL3Jlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJ1dHRvblRvZ2dsZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJlc3RyaWN0b3JTdGF0dXNTZWxlY3RvckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yU3RhdHVzU2VsZWN0b3JNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from '../../base-model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../core";
5
+ export class RestrictorStatusService extends TechlifyServiceBaseClass {
6
+ httpService;
7
+ constructor(httpService) {
8
+ super(httpService, 'restrictor-statuses');
9
+ this.httpService = httpService;
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
12
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusService, providedIn: 'root' });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorStatusService, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci1zdGF0dXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3IvcmVzdHJpY3Rvci1zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHdCQUF3QjtJQUd6RDtJQURWLFlBQ1UsV0FBd0I7UUFFaEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBRmxDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2xDLENBQUM7d0dBTlUsdUJBQXVCOzRHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cFNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3N9IGZyb20gJy4uLy4uL2Jhc2UtbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yU3RhdHVzU2VydmljZSBleHRlbmRzIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cFNlcnZpY2UsICdyZXN0cmljdG9yLXN0YXR1c2VzJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,94 @@
1
+ /* tslint:disable:component-selector variable-name */
2
+ import { Component, Input } from '@angular/core';
3
+ import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../restrictor-type.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/button-toggle";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "@angular/material/tooltip";
10
+ export class RestrictorTypeSelectorComponent {
11
+ restrictorTypeService;
12
+ constructor(restrictorTypeService) {
13
+ this.restrictorTypeService = restrictorTypeService;
14
+ }
15
+ label = 'Type';
16
+ multiple = false;
17
+ showLabel = true;
18
+ _value;
19
+ valueChanged = false;
20
+ disabled = false;
21
+ selectedOption = new FormControl();
22
+ options = [];
23
+ onChange = (value) => { };
24
+ onTouched = () => { };
25
+ ngOnInit() {
26
+ // fetch the data
27
+ this.fetchData();
28
+ // listen for input changes
29
+ this.selectedOption.valueChanges.subscribe((value) => {
30
+ if (this._value || this._value === '') {
31
+ this.valueChanged = true;
32
+ this.onChange(value);
33
+ this.onTouched();
34
+ }
35
+ this._value = value;
36
+ });
37
+ }
38
+ writeValue(value) {
39
+ this.selectedOption.setValue(value);
40
+ }
41
+ registerOnChange(fn) {
42
+ this.onChange = (value) => {
43
+ this.valueChanged = true;
44
+ this._value = value;
45
+ fn(value);
46
+ };
47
+ }
48
+ registerOnTouched(fn) {
49
+ this.onTouched = fn;
50
+ }
51
+ setDisabledState(isDisabled) {
52
+ this.disabled = isDisabled;
53
+ }
54
+ /**
55
+ * Reset the form control value
56
+ */
57
+ resetField() {
58
+ this.selectedOption.setValue('');
59
+ }
60
+ /**
61
+ * Get task types.
62
+ * @private
63
+ */
64
+ fetchData() {
65
+ this.restrictorTypeService.index().subscribe((response) => {
66
+ this.options = response?.data;
67
+ });
68
+ }
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeSelectorComponent, deps: [{ token: i1.RestrictorTypeService }], target: i0.ɵɵFactoryTarget.Component });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RestrictorTypeSelectorComponent, selector: "techlify-restrictor-type-selector", inputs: { label: "label", multiple: "multiple", showLabel: "showLabel" }, providers: [
71
+ {
72
+ provide: NG_VALUE_ACCESSOR,
73
+ multi: true,
74
+ useExisting: RestrictorTypeSelectorComponent
75
+ }
76
+ ], ngImport: i0, template: "<div *ngIf=\"options?.length > 0\">\n <span *ngIf=\"showLabel\" class=\"mr-1\">{{ label }}</span> <br *ngIf=\"showLabel\">\n <mat-button-toggle-group [formControl]=\"selectedOption\" [multiple]=\"multiple\">\n <mat-button-toggle *ngFor=\"let option of options\"\n [value]=\"option?.id\"\n [matTooltip]=\"option?.description\">\n {{ option?.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeSelectorComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'techlify-restrictor-type-selector', providers: [
81
+ {
82
+ provide: NG_VALUE_ACCESSOR,
83
+ multi: true,
84
+ useExisting: RestrictorTypeSelectorComponent
85
+ }
86
+ ], template: "<div *ngIf=\"options?.length > 0\">\n <span *ngIf=\"showLabel\" class=\"mr-1\">{{ label }}</span> <br *ngIf=\"showLabel\">\n <mat-button-toggle-group [formControl]=\"selectedOption\" [multiple]=\"multiple\">\n <mat-button-toggle *ngFor=\"let option of options\"\n [value]=\"option?.id\"\n [matTooltip]=\"option?.description\">\n {{ option?.title }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n" }]
87
+ }], ctorParameters: function () { return [{ type: i1.RestrictorTypeService }]; }, propDecorators: { label: [{
88
+ type: Input
89
+ }], multiple: [{
90
+ type: Input
91
+ }], showLabel: [{
92
+ type: Input
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci9yZXN0cmljdG9yLXR5cGUtc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9yLXR5cGUtc2VsZWN0b3IvcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUF1QixXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWNwRixNQUFNLE9BQU8sK0JBQStCO0lBR2hDO0lBRFYsWUFDVSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUNsRCxDQUFDO0lBRUksS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUNmLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUVsQixNQUFNLENBQU07SUFDcEIsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ25DLE9BQU8sR0FBVSxFQUFFLENBQUM7SUFFcEIsUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFOUIsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVyQixRQUFRO1FBQ04saUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFNBQVM7UUFDZixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLEVBQUUsSUFBSSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F0RVUsK0JBQStCOzRGQUEvQiwrQkFBK0Isc0lBUi9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLCtCQUErQjthQUM3QztTQUNGLDBCQ2ZILHNkQVVBOzs0RkRPYSwrQkFBK0I7a0JBWjNDLFNBQVM7K0JBQ0UsbUNBQW1DLGFBR2xDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsaUNBQWlDO3lCQUM3QztxQkFDRjs0R0FRUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6Y29tcG9uZW50LXNlbGVjdG9yIHZhcmlhYmxlLW5hbWUgKi9cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVzdHJpY3RvclR5cGVTZXJ2aWNlfSBmcm9tICcuLi9yZXN0cmljdG9yLXR5cGUuc2VydmljZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGVjaGxpZnktcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogUmVzdHJpY3RvclR5cGVTZWxlY3RvckNvbXBvbmVudFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yVHlwZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXN0cmljdG9yVHlwZVNlcnZpY2U6IFJlc3RyaWN0b3JUeXBlU2VydmljZVxuICApIHsgfVxuXG4gIEBJbnB1dCgpIGxhYmVsID0gJ1R5cGUnO1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG4gIHZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIHNlbGVjdGVkT3B0aW9uID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIG9wdGlvbnM6IGFueVtdID0gW107XG5cbiAgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gZmV0Y2ggdGhlIGRhdGFcbiAgICB0aGlzLmZldGNoRGF0YSgpO1xuICAgIC8vIGxpc3RlbiBmb3IgaW5wdXQgY2hhbmdlc1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlIHx8IHRoaXMuX3ZhbHVlID09PSAnJykge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24uc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgZm4odmFsdWUpO1xuICAgIH07XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgZm9ybSBjb250cm9sIHZhbHVlXG4gICAqL1xuICByZXNldEZpZWxkKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24uc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrIHR5cGVzLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5yZXN0cmljdG9yVHlwZVNlcnZpY2UuaW5kZXgoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlPy5kYXRhO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwib3B0aW9ucz8ubGVuZ3RoID4gMFwiPlxuICA8c3BhbiAqbmdJZj1cInNob3dMYWJlbFwiIGNsYXNzPVwibXItMVwiPnt7IGxhYmVsIH19PC9zcGFuPiA8YnIgKm5nSWY9XCJzaG93TGFiZWxcIj5cbiAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIFtmb3JtQ29udHJvbF09XCJzZWxlY3RlZE9wdGlvblwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiPlxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIm9wdGlvbj8uZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7IG9wdGlvbj8udGl0bGUgfX1cbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuPC9kaXY+XG4iXX0=
@@ -6,17 +6,17 @@ import { ReactiveFormsModule } from '@angular/forms';
6
6
  import { MatTooltipModule } from '@angular/material/tooltip';
7
7
  import * as i0 from "@angular/core";
8
8
  export class RestrictorTypeSelectorModule {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeSelectorModule, declarations: [RestrictorTypeSelectorComponent], imports: [CommonModule,
11
+ MatButtonToggleModule,
12
+ ReactiveFormsModule,
13
+ MatTooltipModule], exports: [RestrictorTypeSelectorComponent] });
14
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeSelectorModule, imports: [CommonModule,
15
+ MatButtonToggleModule,
16
+ ReactiveFormsModule,
17
+ MatTooltipModule] });
9
18
  }
10
- RestrictorTypeSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RestrictorTypeSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- RestrictorTypeSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RestrictorTypeSelectorModule, declarations: [RestrictorTypeSelectorComponent], imports: [CommonModule,
12
- MatButtonToggleModule,
13
- ReactiveFormsModule,
14
- MatTooltipModule], exports: [RestrictorTypeSelectorComponent] });
15
- RestrictorTypeSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RestrictorTypeSelectorModule, imports: [CommonModule,
16
- MatButtonToggleModule,
17
- ReactiveFormsModule,
18
- MatTooltipModule] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RestrictorTypeSelectorModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeSelectorModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
33
33
  ]
34
34
  }]
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDaEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBa0IzRCxNQUFNLE9BQU8sNEJBQTRCOzswSEFBNUIsNEJBQTRCOzJIQUE1Qiw0QkFBNEIsaUJBWnJDLCtCQUErQixhQUcvQixZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixnQkFBZ0IsYUFHaEIsK0JBQStCOzJIQUd0Qiw0QkFBNEIsWUFUckMsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsZ0JBQWdCOzRGQU1QLDRCQUE0QjtrQkFkeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osK0JBQStCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsK0JBQStCO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVzdHJpY3RvclR5cGVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRCdXR0b25Ub2dnbGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHtSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUmVzdHJpY3RvclR5cGVTZWxlY3RvckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFJlc3RyaWN0b3JUeXBlU2VsZWN0b3JDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yVHlwZVNlbGVjdG9yTW9kdWxlIHsgfVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDaEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBa0IzRCxNQUFNLE9BQU8sNEJBQTRCO3dHQUE1Qiw0QkFBNEI7eUdBQTVCLDRCQUE0QixpQkFackMsK0JBQStCLGFBRy9CLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLGdCQUFnQixhQUdoQiwrQkFBK0I7eUdBR3RCLDRCQUE0QixZQVRyQyxZQUFZO1lBQ1oscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQixnQkFBZ0I7OzRGQU1QLDRCQUE0QjtrQkFkeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osK0JBQStCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsK0JBQStCO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVzdHJpY3RvclR5cGVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRCdXR0b25Ub2dnbGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHtSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUmVzdHJpY3RvclR5cGVTZWxlY3RvckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFJlc3RyaWN0b3JUeXBlU2VsZWN0b3JDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yVHlwZVNlbGVjdG9yTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from '../../base-model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../core";
5
+ export class RestrictorTypeService extends TechlifyServiceBaseClass {
6
+ httpService;
7
+ constructor(httpService) {
8
+ super(httpService, 'restrictor-types');
9
+ this.httpService = httpService;
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
12
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeService, providedIn: 'root' });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorTypeService, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci10eXBlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvci9yZXN0cmljdG9yLXR5cGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHdCQUF3QjtJQUd2RDtJQURWLFlBQ1UsV0FBd0I7UUFFaEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRi9CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2xDLENBQUM7d0dBTlUscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQge1RlY2hsaWZ5U2VydmljZUJhc2VDbGFzc30gZnJvbSAnLi4vLi4vYmFzZS1tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlc3RyaWN0b3JUeXBlU2VydmljZSBleHRlbmRzIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cFNlcnZpY2UsICdyZXN0cmljdG9yLXR5cGVzJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from '../base-model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../core";
5
+ export class RestrictorService extends TechlifyServiceBaseClass {
6
+ httpService;
7
+ constructor(httpService) {
8
+ super(httpService, 'restrictors');
9
+ this.httpService = httpService;
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
12
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorService, providedIn: 'root' });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorService, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9yZXN0cmljdG9ycy9yZXN0cmljdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUt2RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsd0JBQXdCO0lBR25EO0lBRFYsWUFDVSxXQUF3QjtRQUVoQyxLQUFLLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRjFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2xDLENBQUM7d0dBTlUsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7VGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzfSBmcm9tICcuLi9iYXNlLW1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVzdHJpY3RvclNlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHBTZXJ2aWNlLCAncmVzdHJpY3RvcnMnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,111 @@
1
+ /* tslint:disable:no-bitwise component-selector */
2
+ import { Component, Input } from '@angular/core';
3
+ import { Validators } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../../request-helper/request-helper.service";
8
+ import * as i4 from "../../core";
9
+ import * as i5 from "../restrictor.service";
10
+ import * as i6 from "@angular/material/button";
11
+ import * as i7 from "@angular/flex-layout/flex";
12
+ import * as i8 from "../restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component";
13
+ import * as i9 from "@angular/material/input";
14
+ import * as i10 from "@angular/material/form-field";
15
+ import * as i11 from "@angular/material/datepicker";
16
+ import * as i12 from "@angular/material/select";
17
+ import * as i13 from "@angular/material/core";
18
+ import * as i14 from "../../ip-address-selector/ip-range-selector/ip-range-selector.component";
19
+ import * as i15 from "../restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component";
20
+ import * as i16 from "../../searchable-selector/searchable-selector.component";
21
+ export class RestrictorsFormComponent {
22
+ fb;
23
+ location;
24
+ requestHelperService;
25
+ alertService;
26
+ restrictorService;
27
+ datePipe;
28
+ restrictor;
29
+ form;
30
+ isSaving;
31
+ constructor(fb, location, requestHelperService, alertService, restrictorService, datePipe) {
32
+ this.fb = fb;
33
+ this.location = location;
34
+ this.requestHelperService = requestHelperService;
35
+ this.alertService = alertService;
36
+ this.restrictorService = restrictorService;
37
+ this.datePipe = datePipe;
38
+ this.form = this.fb.group({
39
+ id: [''],
40
+ type_id: ['', Validators.required],
41
+ start_date: [''],
42
+ start_time: [''],
43
+ end_date: [''],
44
+ end_time: [''],
45
+ ip_range: [''],
46
+ level_id: ['', Validators.required],
47
+ restricted_object_id: ['', Validators.required],
48
+ notes: ['']
49
+ });
50
+ }
51
+ ngOnInit() {
52
+ if (this.restrictor) {
53
+ const startDate = this.datePipe.transform(this.restrictor?.data?.start_time, 'yyyy-MM-dd');
54
+ const endDate = this.datePipe.transform(this.restrictor?.data?.end_time, 'yyyy-MM-dd');
55
+ const startTime = this.datePipe.transform(this.restrictor?.data?.start_time, 'HH:mm');
56
+ const endTime = this.datePipe.transform(this.restrictor?.data?.end_time, 'HH:mm');
57
+ // set form values
58
+ this.form.patchValue({
59
+ id: this.restrictor?.id,
60
+ type_id: this.restrictor?.type_id,
61
+ start_date: startDate,
62
+ end_date: endDate,
63
+ start_time: startTime,
64
+ end_time: endTime,
65
+ ip_range: this.restrictor?.data?.ip_range,
66
+ level_id: this.restrictor?.level_id,
67
+ restricted_object_id: this.restrictor?.restrictable_id,
68
+ notes: this.restrictor?.notes
69
+ });
70
+ }
71
+ }
72
+ /**
73
+ * Send the request to save the restrictor record.
74
+ */
75
+ save() {
76
+ const data = this.requestHelperService.convertToFormData(this.form.value);
77
+ if (data?.type_id === 1) {
78
+ data.start_time = data.start_date + ' ' + data.start_time + ':00';
79
+ data.end_time = data.end_date + ' ' + data.end_time + ':00';
80
+ }
81
+ this.isSaving = true;
82
+ // prepare create or update request.
83
+ let request = this.restrictorService.store(data);
84
+ if (this.restrictor?.id) {
85
+ request = this.restrictorService.update(data);
86
+ }
87
+ request.subscribe({
88
+ next: () => {
89
+ this.isSaving = false;
90
+ this.alertService.addAlert('The restrictor record saved successfully!', 'success');
91
+ this.redirectBack();
92
+ },
93
+ error: () => this.isSaving = false
94
+ });
95
+ }
96
+ /**
97
+ * Redirect back to last location.
98
+ */
99
+ redirectBack() {
100
+ this.location.back();
101
+ }
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorsFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.Location }, { token: i3.RequestHelperService }, { token: i4.AlertService }, { token: i5.RestrictorService }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
103
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RestrictorsFormComponent, selector: "techlify-restrictors-form", inputs: { restrictor: "restrictor" }, ngImport: i0, template: "<div fxLayout fxLayoutAlign=\"center\" class=\"mb-0\">\n <h3>Restrictor Form</h3>\n</div>\n\n<form [formGroup]=\"form\"\n fxLayout=\"row wrap\" fxLayoutAlign=\"start\" fxLayoutGap=\"10px\"\n (submit)=\"save()\">\n\n <techlify-restrictor-type-selector formControlName=\"type_id\"\n fxFlex=\"calc(100% - 10px)\"></techlify-restrictor-type-selector>\n\n <div fxLayout fxLayoutGap=\"10px\" fxFlex=\"calc(100% - 10px)\"\n class=\"mt-2\"\n *ngIf=\"form.value?.type_id === 1\">\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>Start Date</mat-label>\n <input formControlName=\"start_date\" matInput [matDatepicker]=\"startDatePicker\" (focus)=\"startDatePicker.open()\">\n <mat-datepicker #startDatePicker></mat-datepicker>\n <mat-hint>From what time should we allow user access.</mat-hint>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>Start Time</mat-label>\n <input formControlName=\"start_time\" matInput type=\"time\">\n </mat-form-field>\n </div>\n\n <div fxLayout fxLayoutGap=\"10px\" fxFlex=\"calc(100% - 10px)\"\n class=\"mt-2\"\n *ngIf=\"form.value?.type_id === 1\">\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>End Date</mat-label>\n <input formControlName=\"end_date\" matInput [matDatepicker]=\"endDatePicker\" (focus)=\"endDatePicker.open()\">\n <mat-datepicker #endDatePicker></mat-datepicker>\n <mat-hint>Up to what time should we allow user access.</mat-hint>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>End Time</mat-label>\n <input formControlName=\"end_time\" matInput type=\"time\">\n </mat-form-field>\n </div>\n\n <techlify-ip-range-selector fxFlex=\"calc(100% - 10px)\"\n label=\"IP Address Range (IP & Subnet Field)\"\n formControlName=\"ip_range\"\n *ngIf=\"form.value?.type_id === 2\"\n class=\"mt-2 mb-3\"></techlify-ip-range-selector>\n\n <div fxLayout fxLayoutGap=\"10px\" fxFlex=\"calc(100% - 10px)\"\n class=\"mt-2\">\n <techlify-restrictor-level-selector fxFlex=\"calc(50% - 10px)\"\n formControlName=\"level_id\"></techlify-restrictor-level-selector>\n\n <mat-form-field fxFlex=\"calc(50% - 10px)\" *ngIf=\"form.value?.level_id\">\n <mat-label>Object</mat-label>\n <mat-select *ngIf=\"form.value?.level_id === 1\" formControlName=\"restricted_object_id\">\n <mat-option [value]=\"2\">Client Admin</mat-option>\n <mat-option [value]=\"3\">Client User</mat-option>\n </mat-select>\n <app-searchable-selector *ngIf=\"form.value?.level_id === 2\"\n apiUrl=\"api/roles\"\n titleField=\"label\"\n formControlName=\"restricted_object_id\"></app-searchable-selector>\n <app-searchable-selector *ngIf=\"form.value?.level_id === 3\"\n apiUrl=\"api/users\"\n titleField=\"name\"\n formControlName=\"restricted_object_id\"></app-searchable-selector>\n </mat-form-field>\n </div>\n\n <mat-form-field fxFlex=\"calc(100% - 10px)\" class=\"mt-2\">\n <mat-label>Notes</mat-label>\n <textarea matInput formControlName=\"notes\"></textarea>\n </mat-form-field>\n\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\">\n <button [disabled]=\"isSaving\" type=\"submit\" mat-raised-button color=\"primary\">Save</button>\n <button [disabled]=\"isSaving\" (click)=\"redirectBack()\" type=\"button\" mat-flat-button>Cancel</button>\n </div>\n\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i8.RestrictorTypeSelectorComponent, selector: "techlify-restrictor-type-selector", inputs: ["label", "multiple", "showLabel"] }, { 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.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.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: i12.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i13.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i14.IpRangeSelectorComponent, selector: "techlify-ip-range-selector", inputs: ["label"] }, { kind: "component", type: i15.RestrictorLevelSelectorComponent, selector: "techlify-restrictor-level-selector", inputs: ["label", "multiple", "showLabel"] }, { kind: "component", type: i16.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }] });
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorsFormComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ selector: 'techlify-restrictors-form', template: "<div fxLayout fxLayoutAlign=\"center\" class=\"mb-0\">\n <h3>Restrictor Form</h3>\n</div>\n\n<form [formGroup]=\"form\"\n fxLayout=\"row wrap\" fxLayoutAlign=\"start\" fxLayoutGap=\"10px\"\n (submit)=\"save()\">\n\n <techlify-restrictor-type-selector formControlName=\"type_id\"\n fxFlex=\"calc(100% - 10px)\"></techlify-restrictor-type-selector>\n\n <div fxLayout fxLayoutGap=\"10px\" fxFlex=\"calc(100% - 10px)\"\n class=\"mt-2\"\n *ngIf=\"form.value?.type_id === 1\">\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>Start Date</mat-label>\n <input formControlName=\"start_date\" matInput [matDatepicker]=\"startDatePicker\" (focus)=\"startDatePicker.open()\">\n <mat-datepicker #startDatePicker></mat-datepicker>\n <mat-hint>From what time should we allow user access.</mat-hint>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>Start Time</mat-label>\n <input formControlName=\"start_time\" matInput type=\"time\">\n </mat-form-field>\n </div>\n\n <div fxLayout fxLayoutGap=\"10px\" fxFlex=\"calc(100% - 10px)\"\n class=\"mt-2\"\n *ngIf=\"form.value?.type_id === 1\">\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>End Date</mat-label>\n <input formControlName=\"end_date\" matInput [matDatepicker]=\"endDatePicker\" (focus)=\"endDatePicker.open()\">\n <mat-datepicker #endDatePicker></mat-datepicker>\n <mat-hint>Up to what time should we allow user access.</mat-hint>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"calc(50% - 10px)\">\n <mat-label>End Time</mat-label>\n <input formControlName=\"end_time\" matInput type=\"time\">\n </mat-form-field>\n </div>\n\n <techlify-ip-range-selector fxFlex=\"calc(100% - 10px)\"\n label=\"IP Address Range (IP & Subnet Field)\"\n formControlName=\"ip_range\"\n *ngIf=\"form.value?.type_id === 2\"\n class=\"mt-2 mb-3\"></techlify-ip-range-selector>\n\n <div fxLayout fxLayoutGap=\"10px\" fxFlex=\"calc(100% - 10px)\"\n class=\"mt-2\">\n <techlify-restrictor-level-selector fxFlex=\"calc(50% - 10px)\"\n formControlName=\"level_id\"></techlify-restrictor-level-selector>\n\n <mat-form-field fxFlex=\"calc(50% - 10px)\" *ngIf=\"form.value?.level_id\">\n <mat-label>Object</mat-label>\n <mat-select *ngIf=\"form.value?.level_id === 1\" formControlName=\"restricted_object_id\">\n <mat-option [value]=\"2\">Client Admin</mat-option>\n <mat-option [value]=\"3\">Client User</mat-option>\n </mat-select>\n <app-searchable-selector *ngIf=\"form.value?.level_id === 2\"\n apiUrl=\"api/roles\"\n titleField=\"label\"\n formControlName=\"restricted_object_id\"></app-searchable-selector>\n <app-searchable-selector *ngIf=\"form.value?.level_id === 3\"\n apiUrl=\"api/users\"\n titleField=\"name\"\n formControlName=\"restricted_object_id\"></app-searchable-selector>\n </mat-form-field>\n </div>\n\n <mat-form-field fxFlex=\"calc(100% - 10px)\" class=\"mt-2\">\n <mat-label>Notes</mat-label>\n <textarea matInput formControlName=\"notes\"></textarea>\n </mat-form-field>\n\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\">\n <button [disabled]=\"isSaving\" type=\"submit\" mat-raised-button color=\"primary\">Save</button>\n <button [disabled]=\"isSaving\" (click)=\"redirectBack()\" type=\"button\" mat-flat-button>Cancel</button>\n </div>\n\n</form>\n" }]
108
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.Location }, { type: i3.RequestHelperService }, { type: i4.AlertService }, { type: i5.RestrictorService }, { type: i2.DatePipe }]; }, propDecorators: { restrictor: [{
109
+ type: Input
110
+ }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3RvcnMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3JzLWZvcm0vcmVzdHJpY3RvcnMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3JzLWZvcm0vcmVzdHJpY3RvcnMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUF5QixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWWxFLE1BQU0sT0FBTyx3QkFBd0I7SUFRekI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBWEQsVUFBVSxDQUFNO0lBRXpCLElBQUksQ0FBWTtJQUNoQixRQUFRLENBQVU7SUFFbEIsWUFDVSxFQUFlLEVBQ2YsUUFBa0IsRUFDbEIsb0JBQTBDLEVBQzFDLFlBQTBCLEVBQzFCLGlCQUFvQyxFQUNwQyxRQUFrQjtRQUxsQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNSLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoQixVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEIsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDbkcsTUFBTSxPQUFPLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQy9GLE1BQU0sU0FBUyxHQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5RixNQUFNLE9BQU8sR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFMUYsa0JBQWtCO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNuQixFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPO2dCQUNqQyxVQUFVLEVBQUUsU0FBUztnQkFDckIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVE7Z0JBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVE7Z0JBQ25DLG9CQUFvQixFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZTtnQkFDdEQsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSzthQUM5QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLElBQUksRUFBRSxPQUFPLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUM3RDtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9DQUFvQztRQUNwQyxJQUFJLE9BQU8sR0FBb0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUNoQixJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQywyQ0FBMkMsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLO1NBQ25DLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBbEZVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHVHQ2RyQyxndkhBa0ZBOzs0RkRwRWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLDJCQUEyQjs4T0FNNUIsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm5vLWJpdHdpc2UgY29tcG9uZW50LXNlbGVjdG9yICovXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZVBpcGUsIExvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBbGVydFNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtSZXN0cmljdG9yU2VydmljZX0gZnJvbSAnLi4vcmVzdHJpY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1JlcXVlc3RIZWxwZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXF1ZXN0LWhlbHBlci9yZXF1ZXN0LWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGVjaGxpZnktcmVzdHJpY3RvcnMtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN0cmljdG9ycy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzdHJpY3RvcnMtZm9ybS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVzdHJpY3RvcnNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSByZXN0cmljdG9yOiBhbnk7XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuICBpc1NhdmluZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIHJlcXVlc3RIZWxwZXJTZXJ2aWNlOiBSZXF1ZXN0SGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVzdHJpY3RvclNlcnZpY2U6IFJlc3RyaWN0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICB0eXBlX2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgc3RhcnRfZGF0ZTogWycnXSxcbiAgICAgIHN0YXJ0X3RpbWU6IFsnJ10sXG4gICAgICBlbmRfZGF0ZTogWycnXSxcbiAgICAgIGVuZF90aW1lOiBbJyddLFxuICAgICAgaXBfcmFuZ2U6IFsnJ10sXG4gICAgICBsZXZlbF9pZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHJlc3RyaWN0ZWRfb2JqZWN0X2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbm90ZXM6IFsnJ11cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc3RyaWN0b3IpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZTogc3RyaW5nID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yZXN0cmljdG9yPy5kYXRhPy5zdGFydF90aW1lLCAneXl5eS1NTS1kZCcpO1xuICAgICAgY29uc3QgZW5kRGF0ZTogc3RyaW5nID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yZXN0cmljdG9yPy5kYXRhPy5lbmRfdGltZSwgJ3l5eXktTU0tZGQnKTtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZTogc3RyaW5nID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yZXN0cmljdG9yPy5kYXRhPy5zdGFydF90aW1lLCAnSEg6bW0nKTtcbiAgICAgIGNvbnN0IGVuZFRpbWU6IHN0cmluZyA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmVzdHJpY3Rvcj8uZGF0YT8uZW5kX3RpbWUsICdISDptbScpO1xuXG4gICAgICAvLyBzZXQgZm9ybSB2YWx1ZXNcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgaWQ6IHRoaXMucmVzdHJpY3Rvcj8uaWQsXG4gICAgICAgIHR5cGVfaWQ6IHRoaXMucmVzdHJpY3Rvcj8udHlwZV9pZCxcbiAgICAgICAgc3RhcnRfZGF0ZTogc3RhcnREYXRlLFxuICAgICAgICBlbmRfZGF0ZTogZW5kRGF0ZSxcbiAgICAgICAgc3RhcnRfdGltZTogc3RhcnRUaW1lLFxuICAgICAgICBlbmRfdGltZTogZW5kVGltZSxcbiAgICAgICAgaXBfcmFuZ2U6IHRoaXMucmVzdHJpY3Rvcj8uZGF0YT8uaXBfcmFuZ2UsXG4gICAgICAgIGxldmVsX2lkOiB0aGlzLnJlc3RyaWN0b3I/LmxldmVsX2lkLFxuICAgICAgICByZXN0cmljdGVkX29iamVjdF9pZDogdGhpcy5yZXN0cmljdG9yPy5yZXN0cmljdGFibGVfaWQsXG4gICAgICAgIG5vdGVzOiB0aGlzLnJlc3RyaWN0b3I/Lm5vdGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VuZCB0aGUgcmVxdWVzdCB0byBzYXZlIHRoZSByZXN0cmljdG9yIHJlY29yZC5cbiAgICovXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YTogYW55ID0gdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZS5jb252ZXJ0VG9Gb3JtRGF0YSh0aGlzLmZvcm0udmFsdWUpO1xuICAgIGlmIChkYXRhPy50eXBlX2lkID09PSAxKSB7XG4gICAgICBkYXRhLnN0YXJ0X3RpbWUgPSBkYXRhLnN0YXJ0X2RhdGUgKyAnICcgKyBkYXRhLnN0YXJ0X3RpbWUgKyAnOjAwJztcbiAgICAgIGRhdGEuZW5kX3RpbWUgPSBkYXRhLmVuZF9kYXRlICsgJyAnICsgZGF0YS5lbmRfdGltZSArICc6MDAnO1xuICAgIH1cbiAgICB0aGlzLmlzU2F2aW5nID0gdHJ1ZTtcbiAgICAvLyBwcmVwYXJlIGNyZWF0ZSBvciB1cGRhdGUgcmVxdWVzdC5cbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5yZXN0cmljdG9yU2VydmljZS5zdG9yZShkYXRhKTtcbiAgICBpZiAodGhpcy5yZXN0cmljdG9yPy5pZCkge1xuICAgICAgcmVxdWVzdCA9IHRoaXMucmVzdHJpY3RvclNlcnZpY2UudXBkYXRlKGRhdGEpO1xuICAgIH1cbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1RoZSByZXN0cmljdG9yIHJlY29yZCBzYXZlZCBzdWNjZXNzZnVsbHkhJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgdGhpcy5yZWRpcmVjdEJhY2soKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5pc1NhdmluZyA9IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVkaXJlY3QgYmFjayB0byBsYXN0IGxvY2F0aW9uLlxuICAgKi9cbiAgcmVkaXJlY3RCYWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG59XG4iLCI8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIiBjbGFzcz1cIm1iLTBcIj5cbiAgPGgzPlJlc3RyaWN0b3IgRm9ybTwvaDM+XG48L2Rpdj5cblxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgIGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjEwcHhcIlxuICAgICAgKHN1Ym1pdCk9XCJzYXZlKClcIj5cblxuICA8dGVjaGxpZnktcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInR5cGVfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4RmxleD1cImNhbGMoMTAwJSAtIDEwcHgpXCI+PC90ZWNobGlmeS1yZXN0cmljdG9yLXR5cGUtc2VsZWN0b3I+XG5cbiAgPGRpdiBmeExheW91dCBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZsZXg9XCJjYWxjKDEwMCUgLSAxMHB4KVwiXG4gICAgICAgY2xhc3M9XCJtdC0yXCJcbiAgICAgICAqbmdJZj1cImZvcm0udmFsdWU/LnR5cGVfaWQgPT09IDFcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiY2FsYyg1MCUgLSAxMHB4KVwiPlxuICAgICAgPG1hdC1sYWJlbD5TdGFydCBEYXRlPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRfZGF0ZVwiIG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cInN0YXJ0RGF0ZVBpY2tlclwiIChmb2N1cyk9XCJzdGFydERhdGVQaWNrZXIub3BlbigpXCI+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3N0YXJ0RGF0ZVBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgICAgPG1hdC1oaW50PkZyb20gd2hhdCB0aW1lIHNob3VsZCB3ZSBhbGxvdyB1c2VyIGFjY2Vzcy48L21hdC1oaW50PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiY2FsYyg1MCUgLSAxMHB4KVwiPlxuICAgICAgPG1hdC1sYWJlbD5TdGFydCBUaW1lPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRfdGltZVwiIG1hdElucHV0IHR5cGU9XCJ0aW1lXCI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBmeExheW91dCBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZsZXg9XCJjYWxjKDEwMCUgLSAxMHB4KVwiXG4gICAgICAgY2xhc3M9XCJtdC0yXCJcbiAgICAgICAqbmdJZj1cImZvcm0udmFsdWU/LnR5cGVfaWQgPT09IDFcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiY2FsYyg1MCUgLSAxMHB4KVwiPlxuICAgICAgPG1hdC1sYWJlbD5FbmQgRGF0ZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVuZF9kYXRlXCIgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiZW5kRGF0ZVBpY2tlclwiIChmb2N1cyk9XCJlbmREYXRlUGlja2VyLm9wZW4oKVwiPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNlbmREYXRlUGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICA8bWF0LWhpbnQ+VXAgdG8gd2hhdCB0aW1lIHNob3VsZCB3ZSBhbGxvdyB1c2VyIGFjY2Vzcy48L21hdC1oaW50PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiY2FsYyg1MCUgLSAxMHB4KVwiPlxuICAgICAgPG1hdC1sYWJlbD5FbmQgVGltZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVuZF90aW1lXCIgbWF0SW5wdXQgdHlwZT1cInRpbWVcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8dGVjaGxpZnktaXAtcmFuZ2Utc2VsZWN0b3IgZnhGbGV4PVwiY2FsYygxMDAlIC0gMTBweClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJJUCBBZGRyZXNzIFJhbmdlIChJUCAmIFN1Ym5ldCBGaWVsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXBfcmFuZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtLnZhbHVlPy50eXBlX2lkID09PSAyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMiBtYi0zXCI+PC90ZWNobGlmeS1pcC1yYW5nZS1zZWxlY3Rvcj5cblxuICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4RmxleD1cImNhbGMoMTAwJSAtIDEwcHgpXCJcbiAgICAgICBjbGFzcz1cIm10LTJcIj5cbiAgICA8dGVjaGxpZnktcmVzdHJpY3Rvci1sZXZlbC1zZWxlY3RvciBmeEZsZXg9XCJjYWxjKDUwJSAtIDEwcHgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGV2ZWxfaWRcIj48L3RlY2hsaWZ5LXJlc3RyaWN0b3ItbGV2ZWwtc2VsZWN0b3I+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiY2FsYyg1MCUgLSAxMHB4KVwiICpuZ0lmPVwiZm9ybS52YWx1ZT8ubGV2ZWxfaWRcIj5cbiAgICAgIDxtYXQtbGFiZWw+T2JqZWN0PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCAqbmdJZj1cImZvcm0udmFsdWU/LmxldmVsX2lkID09PSAxXCIgZm9ybUNvbnRyb2xOYW1lPVwicmVzdHJpY3RlZF9vYmplY3RfaWRcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjJcIj5DbGllbnQgQWRtaW48L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCIzXCI+Q2xpZW50IFVzZXI8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgKm5nSWY9XCJmb3JtLnZhbHVlPy5sZXZlbF9pZCA9PT0gMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpVXJsPVwiYXBpL3JvbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZUZpZWxkPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlc3RyaWN0ZWRfb2JqZWN0X2lkXCI+PC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvciAqbmdJZj1cImZvcm0udmFsdWU/LmxldmVsX2lkID09PSAzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGlVcmw9XCJhcGkvdXNlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlRmllbGQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXN0cmljdGVkX29iamVjdF9pZFwiPjwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cImNhbGMoMTAwJSAtIDEwcHgpXCIgY2xhc3M9XCJtdC0yXCI+XG4gICAgPG1hdC1sYWJlbD5Ob3RlczwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJub3Rlc1wiPjwvdGV4dGFyZWE+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPGRpdiBmeEZsZXg9XCIxMDAlXCIgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzU2F2aW5nXCIgdHlwZT1cInN1Ym1pdFwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlNhdmU8L2J1dHRvbj5cbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiIChjbGljayk9XCJyZWRpcmVjdEJhY2soKVwiIHR5cGU9XCJidXR0b25cIiBtYXQtZmxhdC1idXR0b24+Q2FuY2VsPC9idXR0b24+XG4gIDwvZGl2PlxuXG48L2Zvcm0+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "../restrictor.service";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "@angular/flex-layout/flex";
7
+ import * as i5 from "@angular/material/card";
8
+ import * as i6 from "@angular/material/progress-bar";
9
+ import * as i7 from "../restrictors-form/restrictors-form.component";
10
+ export class RestrictorsFormPageComponent {
11
+ activatedRoute;
12
+ restrictorService;
13
+ id;
14
+ restrictor;
15
+ isWorking;
16
+ constructor(activatedRoute, restrictorService) {
17
+ this.activatedRoute = activatedRoute;
18
+ this.restrictorService = restrictorService;
19
+ this.id = this.activatedRoute.snapshot.params?.id;
20
+ if (this.id) {
21
+ // fetch restrictor data
22
+ this.fetchData();
23
+ }
24
+ }
25
+ ngOnInit() {
26
+ }
27
+ /**
28
+ * Fetch restrictor data.
29
+ *
30
+ * @private
31
+ */
32
+ fetchData() {
33
+ this.isWorking = true;
34
+ this.restrictorService.show(this.id).subscribe({
35
+ next: (response) => {
36
+ this.restrictor = response;
37
+ this.isWorking = false;
38
+ },
39
+ error: () => this.isWorking = false
40
+ });
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorsFormPageComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.RestrictorService }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RestrictorsFormPageComponent, selector: "lib-restrictors-form-page", ngImport: i0, template: "<div fxLayout fxLayoutAlign=\"start center\">\n <mat-card fxFlex=\"50%\" fxFlexOffset=\"25%\">\n <mat-card-content>\n <techlify-restrictors-form *ngIf=\"!isWorking else progressBarTemplate\"\n [restrictor]=\"restrictor\"></techlify-restrictors-form>\n </mat-card-content>\n </mat-card>\n</div>\n\n<ng-template #progressBarTemplate>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.RestrictorsFormComponent, selector: "techlify-restrictors-form", inputs: ["restrictor"] }] });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RestrictorsFormPageComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'lib-restrictors-form-page', template: "<div fxLayout fxLayoutAlign=\"start center\">\n <mat-card fxFlex=\"50%\" fxFlexOffset=\"25%\">\n <mat-card-content>\n <techlify-restrictors-form *ngIf=\"!isWorking else progressBarTemplate\"\n [restrictor]=\"restrictor\"></techlify-restrictors-form>\n </mat-card-content>\n </mat-card>\n</div>\n\n<ng-template #progressBarTemplate>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n</ng-template>\n" }]
48
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.RestrictorService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3RvcnMtZm9ybS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3RvcnMtZm9ybS1wYWdlL3Jlc3RyaWN0b3JzLWZvcm0tcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3JzLWZvcm0tcGFnZS9yZXN0cmljdG9ycy1mb3JtLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBU2xELE1BQU0sT0FBTyw0QkFBNEI7SUFPN0I7SUFDQTtJQU5WLEVBQUUsQ0FBUztJQUNYLFVBQVUsQ0FBTTtJQUNoQixTQUFTLENBQVU7SUFFbkIsWUFDVSxjQUE4QixFQUM5QixpQkFBb0M7UUFEcEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFFNUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssU0FBUztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQVEsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbENVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLGlFQ1R6Qyw0Y0FZQTs7NEZESGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtSZXN0cmljdG9yU2VydmljZX0gZnJvbSAnLi4vcmVzdHJpY3Rvci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJlc3RyaWN0b3JzLWZvcm0tcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN0cmljdG9ycy1mb3JtLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXN0cmljdG9ycy1mb3JtLXBhZ2UuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlc3RyaWN0b3JzRm9ybVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGlkOiBudW1iZXI7XG4gIHJlc3RyaWN0b3I6IGFueTtcbiAgaXNXb3JraW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVzdHJpY3RvclNlcnZpY2U6IFJlc3RyaWN0b3JTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcz8uaWQ7XG4gICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgIC8vIGZldGNoIHJlc3RyaWN0b3IgZGF0YVxuICAgICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCByZXN0cmljdG9yIGRhdGEuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGZldGNoRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5yZXN0cmljdG9yU2VydmljZS5zaG93KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnJlc3RyaWN0b3IgPSByZXNwb25zZTtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgPG1hdC1jYXJkIGZ4RmxleD1cIjUwJVwiIGZ4RmxleE9mZnNldD1cIjI1JVwiPlxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgPHRlY2hsaWZ5LXJlc3RyaWN0b3JzLWZvcm0gKm5nSWY9XCIhaXNXb3JraW5nIGVsc2UgcHJvZ3Jlc3NCYXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzdHJpY3Rvcl09XCJyZXN0cmljdG9yXCI+PC90ZWNobGlmeS1yZXN0cmljdG9ycy1mb3JtPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3Byb2dyZXNzQmFyVGVtcGxhdGU+XG4gIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==