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
@@ -9,23 +9,23 @@ import { MaterialModule } from '../material.module';
9
9
  import { SearchableSelectorModule } from '../searchable-selector/searchable-selector.module';
10
10
  import * as i0 from "@angular/core";
11
11
  export class TechlifyTaggerTagSelectorModule {
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyTaggerTagSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyTaggerTagSelectorModule, declarations: [TechlifyTaggerTagSelectorComponent], imports: [CommonModule,
14
+ MaterialModule,
15
+ FlexLayoutModule,
16
+ MatAutocompleteModule,
17
+ ReactiveFormsModule,
18
+ SearchableSelectorModule,
19
+ MatButtonToggleModule], exports: [TechlifyTaggerTagSelectorComponent] });
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyTaggerTagSelectorModule, imports: [CommonModule,
21
+ MaterialModule,
22
+ FlexLayoutModule,
23
+ MatAutocompleteModule,
24
+ ReactiveFormsModule,
25
+ SearchableSelectorModule,
26
+ MatButtonToggleModule] });
12
27
  }
13
- TechlifyTaggerTagSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyTaggerTagSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- TechlifyTaggerTagSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TechlifyTaggerTagSelectorModule, declarations: [TechlifyTaggerTagSelectorComponent], imports: [CommonModule,
15
- MaterialModule,
16
- FlexLayoutModule,
17
- MatAutocompleteModule,
18
- ReactiveFormsModule,
19
- SearchableSelectorModule,
20
- MatButtonToggleModule], exports: [TechlifyTaggerTagSelectorComponent] });
21
- TechlifyTaggerTagSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyTaggerTagSelectorModule, imports: [CommonModule,
22
- MaterialModule,
23
- FlexLayoutModule,
24
- MatAutocompleteModule,
25
- ReactiveFormsModule,
26
- SearchableSelectorModule,
27
- MatButtonToggleModule] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyTaggerTagSelectorModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyTaggerTagSelectorModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  declarations: [
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
43
43
  exports: [TechlifyTaggerTagSelectorComponent]
44
44
  }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQW1CN0YsTUFBTSxPQUFPLCtCQUErQjs7NkhBQS9CLCtCQUErQjs4SEFBL0IsK0JBQStCLGlCQWJ4QyxrQ0FBa0MsYUFHbEMsWUFBWTtRQUNaLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIscUJBQXFCLGFBRWIsa0NBQWtDOzhIQUVqQywrQkFBK0IsWUFWeEMsWUFBWTtRQUNaLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIscUJBQXFCOzRGQUlaLCtCQUErQjtrQkFmM0MsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlY2hsaWZ5VGFnZ2VyVGFnU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi4vc2VhcmNoYWJsZS1zZWxlY3Rvci9zZWFyY2hhYmxlLXNlbGVjdG9yLm1vZHVsZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yTW9kdWxlIHsgfVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQW1CN0YsTUFBTSxPQUFPLCtCQUErQjt3R0FBL0IsK0JBQStCO3lHQUEvQiwrQkFBK0IsaUJBYnhDLGtDQUFrQyxhQUdsQyxZQUFZO1lBQ1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixxQkFBcUIsYUFFYixrQ0FBa0M7eUdBRWpDLCtCQUErQixZQVZ4QyxZQUFZO1lBQ1osY0FBYztZQUNkLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixxQkFBcUI7OzRGQUlaLCtCQUErQjtrQkFmM0MsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlY2hsaWZ5VGFnZ2VyVGFnU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi4vc2VhcmNoYWJsZS1zZWxlY3Rvci9zZWFyY2hhYmxlLXNlbGVjdG9yLm1vZHVsZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,124 @@
1
+ import { UntypedFormControl, Validators } from '@angular/forms';
2
+ import { Component, EventEmitter, Inject, Output } from '@angular/core';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { Editor } from 'ngx-editor';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "../../core/form-validator.service";
9
+ import * as i4 from "../../core/alert.service";
10
+ import * as i5 from "./../techlify-update.service";
11
+ import * as i6 from "@angular/common";
12
+ import * as i7 from "@angular/material/button";
13
+ import * as i8 from "@angular/material/form-field";
14
+ import * as i9 from "@angular/material/icon";
15
+ import * as i10 from "@angular/material/input";
16
+ import * as i11 from "@angular/material/datepicker";
17
+ import * as i12 from "@angular/material/button-toggle";
18
+ import * as i13 from "@angular/flex-layout/flex";
19
+ import * as i14 from "ngx-editor";
20
+ const errorMessages = {
21
+ title: {
22
+ required: "Title is required",
23
+ },
24
+ released_on: {
25
+ required: "Released On is required",
26
+ },
27
+ version: {
28
+ required: "Version is required",
29
+ },
30
+ description: {
31
+ required: "Description is required",
32
+ },
33
+ learn_more_link: {
34
+ pattern: "Please enter valid link",
35
+ }
36
+ };
37
+ export class TechlifyUpdateFormComponent {
38
+ dialogRef;
39
+ data;
40
+ fb;
41
+ formValidatorService;
42
+ alertService;
43
+ techlifyUpdateService;
44
+ onSave = new EventEmitter();
45
+ techlifyUpdateForm;
46
+ isUpdateMode = false;
47
+ editor;
48
+ toolbar = [
49
+ ['bold', 'italic'],
50
+ ['bullet_list'],
51
+ ];
52
+ constructor(dialogRef, data, fb, formValidatorService, alertService, techlifyUpdateService) {
53
+ this.dialogRef = dialogRef;
54
+ this.data = data;
55
+ this.fb = fb;
56
+ this.formValidatorService = formValidatorService;
57
+ this.alertService = alertService;
58
+ this.techlifyUpdateService = techlifyUpdateService;
59
+ this.createForm();
60
+ }
61
+ createForm() {
62
+ this.techlifyUpdateForm = this.fb.group({
63
+ id: new UntypedFormControl(''),
64
+ title: new UntypedFormControl('', Validators.required),
65
+ description: new UntypedFormControl('', Validators.required),
66
+ version: new UntypedFormControl('', Validators.required),
67
+ released_on: new UntypedFormControl('', Validators.required),
68
+ learn_more_link: new UntypedFormControl('', Validators.compose([Validators.pattern('(https?://)?([\\da-z.-]+)\\.([a-z.]{2,6})[/\\w .-]*/?')])),
69
+ is_pinned: [false]
70
+ });
71
+ if (this.data.techlifyUpdateDetails) {
72
+ this.isUpdateMode = true;
73
+ this.techlifyUpdateForm.patchValue(this.data.techlifyUpdateDetails);
74
+ }
75
+ }
76
+ ngOnInit() {
77
+ this.editor = new Editor();
78
+ }
79
+ async submit() {
80
+ if (this.techlifyUpdateForm.valid) {
81
+ let result;
82
+ const model = this.techlifyUpdateForm.value;
83
+ try {
84
+ result = this.isUpdateMode ? await this.techlifyUpdateService.updateTechlifyUpdate(model)
85
+ : await this.techlifyUpdateService.createTechlifyUpdate(model);
86
+ this.alertService.addAlert("Techlify app update saved successfully", "success");
87
+ }
88
+ catch (error) {
89
+ this.alertService.addAlert("Unable to process, try later", "warn");
90
+ }
91
+ finally {
92
+ if (result) {
93
+ this.dialogRef.close(result);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ resetFieldValue(field) {
99
+ this.techlifyUpdateForm.get(field).setValue('');
100
+ }
101
+ getFieldValue(field) {
102
+ return this.techlifyUpdateForm.get(field).value;
103
+ }
104
+ /** Method to evaluate form fields*/
105
+ isFieldValid(field) {
106
+ return this.formValidatorService.isFieldValid(field, this.techlifyUpdateForm, true);
107
+ }
108
+ /** Method to find error in form fields*/
109
+ getErrorMessage(field) {
110
+ return this.formValidatorService.getErrorMessage(field, this.techlifyUpdateForm, errorMessages);
111
+ }
112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateFormComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.UntypedFormBuilder }, { token: i3.FormValidatorService }, { token: i4.AlertService }, { token: i5.TechlifyUpdateService }], target: i0.ɵɵFactoryTarget.Component });
113
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TechlifyUpdateFormComponent, selector: "app-techlify-update-form", outputs: { onSave: "onSave" }, ngImport: i0, template: "<form [formGroup]=\"techlifyUpdateForm\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <h2>\n App Update Form\n </h2>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutGap=\"1rem\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Title</mat-label>\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" required />\n <button mat-button *ngIf=\"getFieldValue('title')\" matSuffix mat-icon-button (click)=\"resetFieldValue('title')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('title')\">\n {{getErrorMessage('title')}}\n </mat-error>\n </mat-form-field>\n\n <h3 class=\"text-secondary mb-4\" fxFlex=\"100%\">\n Is Pinned\n <mat-button-toggle-group formControlName=\"is_pinned\">\n <mat-button-toggle [value]=\"true\">Yes</mat-button-toggle>\n <mat-button-toggle [value]=\"false\">No</mat-button-toggle>\n </mat-button-toggle-group>\n </h3>\n\n <mat-form-field fxFlex=\"100%\">\n <input matInput [matDatepicker]=\"released_on\" formControlName=\"released_on\" placeholder=\"Released on\" readonly\n (click)=\"released_on.open()\" required />\n <mat-datepicker-toggle matSuffix [for]=\"released_on\"></mat-datepicker-toggle>\n <mat-datepicker #released_on></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue('released_on')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('released_on')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('released_on')\">\n {{getErrorMessage('released_on')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Version</mat-label>\n <input matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" required />\n <button mat-button *ngIf=\"getFieldValue('version')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('version')\">\n {{getErrorMessage('version')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Learn more link</mat-label>\n <input matInput formControlName=\"learn_more_link\" placeholder=\"Learn More Link\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"getFieldValue('learn_more_link')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('learn_more_link')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('learn_more_link')\">\n {{getErrorMessage('learn_more_link')}}\n </mat-error>\n </mat-form-field>\n\n <div fxFlex=\"100%\">\n <div class=\"NgxEditor__Wrapper\">\n <ngx-editor-menu [toolbar]=\"toolbar\" [editor]=\"editor\"> </ngx-editor-menu>\n <ngx-editor formControlName=\"description\" [editor]=\"editor\" placeholder=\"Description\">\n </ngx-editor>\n </div>\n <mat-error *ngIf=\"isFieldValid('description')\">\n {{getErrorMessage('description')}}\n </mat-error>\n </div>\n </div>\n <div mat-dialog-actions fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" class=\"btn-primary mt-2\">\n Save\n </button>\n </div>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i11.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i12.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i12.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: i13.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: i13.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: i13.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: i13.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: i14.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i14.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }] });
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateFormComponent, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: 'app-techlify-update-form', template: "<form [formGroup]=\"techlifyUpdateForm\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <h2>\n App Update Form\n </h2>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutGap=\"1rem\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Title</mat-label>\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" required />\n <button mat-button *ngIf=\"getFieldValue('title')\" matSuffix mat-icon-button (click)=\"resetFieldValue('title')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('title')\">\n {{getErrorMessage('title')}}\n </mat-error>\n </mat-form-field>\n\n <h3 class=\"text-secondary mb-4\" fxFlex=\"100%\">\n Is Pinned\n <mat-button-toggle-group formControlName=\"is_pinned\">\n <mat-button-toggle [value]=\"true\">Yes</mat-button-toggle>\n <mat-button-toggle [value]=\"false\">No</mat-button-toggle>\n </mat-button-toggle-group>\n </h3>\n\n <mat-form-field fxFlex=\"100%\">\n <input matInput [matDatepicker]=\"released_on\" formControlName=\"released_on\" placeholder=\"Released on\" readonly\n (click)=\"released_on.open()\" required />\n <mat-datepicker-toggle matSuffix [for]=\"released_on\"></mat-datepicker-toggle>\n <mat-datepicker #released_on></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue('released_on')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('released_on')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('released_on')\">\n {{getErrorMessage('released_on')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Version</mat-label>\n <input matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" required />\n <button mat-button *ngIf=\"getFieldValue('version')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('version')\">\n {{getErrorMessage('version')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Learn more link</mat-label>\n <input matInput formControlName=\"learn_more_link\" placeholder=\"Learn More Link\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"getFieldValue('learn_more_link')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('learn_more_link')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('learn_more_link')\">\n {{getErrorMessage('learn_more_link')}}\n </mat-error>\n </mat-form-field>\n\n <div fxFlex=\"100%\">\n <div class=\"NgxEditor__Wrapper\">\n <ngx-editor-menu [toolbar]=\"toolbar\" [editor]=\"editor\"> </ngx-editor-menu>\n <ngx-editor formControlName=\"description\" [editor]=\"editor\" placeholder=\"Description\">\n </ngx-editor>\n </div>\n <mat-error *ngIf=\"isFieldValid('description')\">\n {{getErrorMessage('description')}}\n </mat-error>\n </div>\n </div>\n <div mat-dialog-actions fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" class=\"btn-primary mt-2\">\n Save\n </button>\n </div>\n </div>\n</form>" }]
118
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
119
+ type: Inject,
120
+ args: [MAT_DIALOG_DATA]
121
+ }] }, { type: i2.UntypedFormBuilder }, { type: i3.FormValidatorService }, { type: i4.AlertService }, { type: i5.TechlifyUpdateService }]; }, propDecorators: { onSave: [{
122
+ type: Output
123
+ }] } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEYsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFXLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLE1BQU0sYUFBYSxHQUFRO0lBQ3pCLEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRCxXQUFXLEVBQUU7UUFDWCxRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtLQUNoQztJQUNELFdBQVcsRUFBRTtRQUNYLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEM7SUFDRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUseUJBQXlCO0tBQ25DO0NBQ0YsQ0FBQTtBQU9ELE1BQU0sT0FBTywyQkFBMkI7SUFZN0I7SUFDeUI7SUFDeEI7SUFDQTtJQUNBO0lBQ0E7SUFmQSxNQUFNLEdB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QUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ0QseUNBQXlDO0lBQ3pDLGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7d0dBL0VVLDJCQUEyQiw4Q0FhNUIsZUFBZTs0RkFiZCwyQkFBMkIsK0ZDaEN4QywydEhBcUZPOzs0RkRyRE0sMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBaUJqQyxNQUFNOzJCQUFDLGVBQWU7K0tBWGYsTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvYWxlcnQuc2VydmljZVwiO1xuaW1wb3J0IHsgVGVjaGxpZnlVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi8uLi90ZWNobGlmeS11cGRhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRWRpdG9yLCBUb29sYmFyIH0gZnJvbSAnbmd4LWVkaXRvcic7XG5cbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgdGl0bGU6IHtcbiAgICByZXF1aXJlZDogXCJUaXRsZSBpcyByZXF1aXJlZFwiLFxuICB9LFxuICByZWxlYXNlZF9vbjoge1xuICAgIHJlcXVpcmVkOiBcIlJlbGVhc2VkIE9uIGlzIHJlcXVpcmVkXCIsXG4gIH0sXG4gIHZlcnNpb246IHtcbiAgICByZXF1aXJlZDogXCJWZXJzaW9uIGlzIHJlcXVpcmVkXCIsXG4gIH0sXG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgcmVxdWlyZWQ6IFwiRGVzY3JpcHRpb24gaXMgcmVxdWlyZWRcIixcbiAgfSxcbiAgbGVhcm5fbW9yZV9saW5rOiB7XG4gICAgcGF0dGVybjogXCJQbGVhc2UgZW50ZXIgdmFsaWQgbGlua1wiLFxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS11cGRhdGUtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWNobGlmeS11cGRhdGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RlY2hsaWZ5LXVwZGF0ZS1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlVcGRhdGVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgb25TYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHRlY2hsaWZ5VXBkYXRlRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgaXNVcGRhdGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIGVkaXRvcjogRWRpdG9yO1xuICB0b29sYmFyOiBUb29sYmFyID0gW1xuICAgIFsnYm9sZCcsICdpdGFsaWMnXSxcbiAgICBbJ2J1bGxldF9saXN0J10sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRlY2hsaWZ5VXBkYXRlRm9ybUNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZWNobGlmeVVwZGF0ZVNlcnZpY2U6IFRlY2hsaWZ5VXBkYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLnRlY2hsaWZ5VXBkYXRlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpLFxuICAgICAgdGl0bGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgdmVyc2lvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICByZWxlYXNlZF9vbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBsZWFybl9tb3JlX2xpbms6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5wYXR0ZXJuKCcoaHR0cHM/Oi8vKT8oW1xcXFxkYS16Li1dKylcXFxcLihbYS16Ll17Miw2fSlbL1xcXFx3IC4tXSovPycpXSkpLFxuICAgICAgaXNfcGlubmVkOiBbZmFsc2VdXG4gICAgfSk7XG4gICAgaWYgKHRoaXMuZGF0YS50ZWNobGlmeVVwZGF0ZURldGFpbHMpIHtcbiAgICAgIHRoaXMuaXNVcGRhdGVNb2RlID0gdHJ1ZTtcbiAgICAgIHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtLnBhdGNoVmFsdWUodGhpcy5kYXRhLnRlY2hsaWZ5VXBkYXRlRGV0YWlscyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9yKCk7XG4gIH1cblxuICBhc3luYyBzdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtLnZhbGlkKSB7XG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLnRlY2hsaWZ5VXBkYXRlRm9ybS52YWx1ZTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5pc1VwZGF0ZU1vZGUgPyBhd2FpdCB0aGlzLnRlY2hsaWZ5VXBkYXRlU2VydmljZS51cGRhdGVUZWNobGlmeVVwZGF0ZShtb2RlbClcbiAgICAgICAgICA6IGF3YWl0IHRoaXMudGVjaGxpZnlVcGRhdGVTZXJ2aWNlLmNyZWF0ZVRlY2hsaWZ5VXBkYXRlKG1vZGVsKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXG4gICAgICAgICAgXCJUZWNobGlmeSBhcHAgdXBkYXRlIHNhdmVkIHN1Y2Nlc3NmdWxseVwiLFxuICAgICAgICAgIFwic3VjY2Vzc1wiXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcIlVuYWJsZSB0byBwcm9jZXNzLCB0cnkgbGF0ZXJcIiwgXCJ3YXJuXCIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXNldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xuICAgIHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtLmdldChmaWVsZCkuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtLmdldChmaWVsZCkudmFsdWU7XG4gIH1cblxuICAvKiogTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtLCB0cnVlKTtcbiAgfVxuICAvKiogTWV0aG9kIHRvIGZpbmQgZXJyb3IgaW4gZm9ybSBmaWVsZHMqL1xuICBnZXRFcnJvck1lc3NhZ2UoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShmaWVsZCwgdGhpcy50ZWNobGlmeVVwZGF0ZUZvcm0sIGVycm9yTWVzc2FnZXMpO1xuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwidGVjaGxpZnlVcGRhdGVGb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgIDxoMj5cbiAgICAgICAgQXBwIFVwZGF0ZSBGb3JtXG4gICAgICA8L2gyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiPlxuICAgICAgICA8bWF0LWxhYmVsPlRpdGxlPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHBsYWNlaG9sZGVyPVwiVGl0bGVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiByZXF1aXJlZCAvPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCd0aXRsZScpXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCd0aXRsZScpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3RpdGxlJylcIj5cbiAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgndGl0bGUnKX19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPGgzIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgbWItNFwiIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgSXMgUGlubmVkXG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJpc19waW5uZWRcIj5cbiAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cInRydWVcIj5ZZXM8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZmFsc2VcIj5ObzwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICA8L2gzPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwicmVsZWFzZWRfb25cIiBmb3JtQ29udHJvbE5hbWU9XCJyZWxlYXNlZF9vblwiIHBsYWNlaG9sZGVyPVwiUmVsZWFzZWQgb25cIiByZWFkb25seVxuICAgICAgICAgIChjbGljayk9XCJyZWxlYXNlZF9vbi5vcGVuKClcIiByZXF1aXJlZCAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInJlbGVhc2VkX29uXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcmVsZWFzZWRfb24+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgncmVsZWFzZWRfb24nKVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdyZWxlYXNlZF9vbicpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3JlbGVhc2VkX29uJylcIj5cbiAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgncmVsZWFzZWRfb24nKX19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5WZXJzaW9uPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ2ZXJzaW9uXCIgcGxhY2Vob2xkZXI9XCJWZXJzaW9uXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgndmVyc2lvbicpXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJyZXNldEZpZWxkVmFsdWUoJ3ZlcnNpb24nKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCd2ZXJzaW9uJylcIj5cbiAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgndmVyc2lvbicpfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiPlxuICAgICAgICA8bWF0LWxhYmVsPkxlYXJuIG1vcmUgbGluazwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibGVhcm5fbW9yZV9saW5rXCIgcGxhY2Vob2xkZXI9XCJMZWFybiBNb3JlIExpbmtcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdsZWFybl9tb3JlX2xpbmsnKVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdsZWFybl9tb3JlX2xpbmsnKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdsZWFybl9tb3JlX2xpbmsnKVwiPlxuICAgICAgICAgIHt7Z2V0RXJyb3JNZXNzYWdlKCdsZWFybl9tb3JlX2xpbmsnKX19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPGRpdiBmeEZsZXg9XCIxMDAlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJOZ3hFZGl0b3JfX1dyYXBwZXJcIj5cbiAgICAgICAgICA8bmd4LWVkaXRvci1tZW51IFt0b29sYmFyXT1cInRvb2xiYXJcIiBbZWRpdG9yXT1cImVkaXRvclwiPiA8L25neC1lZGl0b3ItbWVudT5cbiAgICAgICAgICA8bmd4LWVkaXRvciBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiIFtlZGl0b3JdPVwiZWRpdG9yXCIgcGxhY2Vob2xkZXI9XCJEZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDwvbmd4LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2Rlc2NyaXB0aW9uJylcIj5cbiAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgnZGVzY3JpcHRpb24nKX19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgZnhGbGV4PVwiMTAwJVwiIGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeExheW91dEdhcD1cIjFyZW1cIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cIm10LTJcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCI+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0bi1wcmltYXJ5IG10LTJcIj5cbiAgICAgICAgU2F2ZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPiJdfQ==
@@ -7,19 +7,19 @@ import { TechlifyUpdateFormComponent } from './techlify-update-form.component';
7
7
  import { NgxEditorModule } from 'ngx-editor';
8
8
  import * as i0 from "@angular/core";
9
9
  export class TechlifyUpdateFormModule {
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateFormModule, declarations: [TechlifyUpdateFormComponent], imports: [CommonModule,
12
+ ReactiveFormsModule,
13
+ MaterialModule,
14
+ FlexLayoutModule,
15
+ NgxEditorModule], exports: [TechlifyUpdateFormComponent] });
16
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateFormModule, imports: [CommonModule,
17
+ ReactiveFormsModule,
18
+ MaterialModule,
19
+ FlexLayoutModule,
20
+ NgxEditorModule] });
10
21
  }
11
- TechlifyUpdateFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- TechlifyUpdateFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateFormModule, declarations: [TechlifyUpdateFormComponent], imports: [CommonModule,
13
- ReactiveFormsModule,
14
- MaterialModule,
15
- FlexLayoutModule,
16
- NgxEditorModule], exports: [TechlifyUpdateFormComponent] });
17
- TechlifyUpdateFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateFormModule, imports: [CommonModule,
18
- ReactiveFormsModule,
19
- MaterialModule,
20
- FlexLayoutModule,
21
- NgxEditorModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateFormModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateFormModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  declarations: [TechlifyUpdateFormComponent],
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
35
35
  ]
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQWU3QyxNQUFNLE9BQU8sd0JBQXdCOztzSEFBeEIsd0JBQXdCO3VIQUF4Qix3QkFBd0IsaUJBWmxCLDJCQUEyQixhQUV0QyxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZUFBZSxhQUdmLDJCQUEyQjt1SEFHdEIsd0JBQXdCLFlBVjdCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixlQUFlOzRGQU1WLHdCQUF3QjtrQkFicEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDJCQUEyQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXVwZGF0ZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hFZGl0b3JNb2R1bGUgfSBmcm9tICduZ3gtZWRpdG9yJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgRmxleExheW91dE1vZHVsZSxcbiAgICAgICAgTmd4RWRpdG9yTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5VXBkYXRlRm9ybU1vZHVsZSB7IH1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQWU3QyxNQUFNLE9BQU8sd0JBQXdCO3dHQUF4Qix3QkFBd0I7eUdBQXhCLHdCQUF3QixpQkFabEIsMkJBQTJCLGFBRXRDLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlLGFBR2YsMkJBQTJCO3lHQUd0Qix3QkFBd0IsWUFWN0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7OzRGQU1WLHdCQUF3QjtrQkFicEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDJCQUEyQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXVwZGF0ZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hFZGl0b3JNb2R1bGUgfSBmcm9tICduZ3gtZWRpdG9yJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgRmxleExheW91dE1vZHVsZSxcbiAgICAgICAgTmd4RWRpdG9yTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5VXBkYXRlRm9ybU1vZHVsZSB7IH1cbiJdfQ==
@@ -14,15 +14,15 @@ const routes = [
14
14
  }
15
15
  ];
16
16
  export class TechlifyUpdateHistoryRoutingModule {
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
19
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
17
20
  }
18
- TechlifyUpdateHistoryRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- TechlifyUpdateHistoryRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
20
- TechlifyUpdateHistoryRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryRoutingModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  imports: [RouterModule.forChild(routes)],
25
25
  exports: [RouterModule]
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3Rvcnktcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXZELE1BQU0sTUFBTSxHQUFXO0lBQ3JCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUM3RCxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsOEJBQThCLEVBQUU7SUFFckUsVUFBVTtJQUNWO1FBQ0UsSUFBSSxFQUFFLElBQUk7UUFDVixVQUFVLEVBQUUsS0FBSztRQUNqQixTQUFTLEVBQUUsTUFBTTtLQUNsQjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sa0NBQWtDOztnSUFBbEMsa0NBQWtDO2lJQUFsQyxrQ0FBa0Msd0NBRm5DLFlBQVk7aUlBRVgsa0NBQWtDLFlBSG5DLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7NEZBRVgsa0NBQWtDO2tCQUo5QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAgeyBwYXRoOiAnJywgcmVkaXJlY3RUbzogJ3VwZGF0ZS1oaXN0b3J5JywgcGF0aE1hdGNoOiAnZnVsbCcgfSxcbiAgeyBwYXRoOiAndXBkYXRlLWhpc3RvcnknLCBjb21wb25lbnQ6IFRlY2hsaWZ5VXBkYXRlSGlzdG9yeUNvbXBvbmVudCB9LFxuXG4gIC8vZmFsbGJhY2tcbiAge1xuICAgIHBhdGg6ICcqKicsXG4gICAgcmVkaXJlY3RUbzogJ2FsbCcsXG4gICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgfVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlVcGRhdGVIaXN0b3J5Um91dGluZ01vZHVsZSB7IH1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3Rvcnktcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXZELE1BQU0sTUFBTSxHQUFXO0lBQ3JCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUM3RCxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsOEJBQThCLEVBQUU7SUFFckUsVUFBVTtJQUNWO1FBQ0UsSUFBSSxFQUFFLElBQUk7UUFDVixVQUFVLEVBQUUsS0FBSztRQUNqQixTQUFTLEVBQUUsTUFBTTtLQUNsQjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sa0NBQWtDO3dHQUFsQyxrQ0FBa0M7eUdBQWxDLGtDQUFrQyx3Q0FGbkMsWUFBWTt5R0FFWCxrQ0FBa0MsWUFIbkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTs7NEZBRVgsa0NBQWtDO2tCQUo5QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAgeyBwYXRoOiAnJywgcmVkaXJlY3RUbzogJ3VwZGF0ZS1oaXN0b3J5JywgcGF0aE1hdGNoOiAnZnVsbCcgfSxcbiAgeyBwYXRoOiAndXBkYXRlLWhpc3RvcnknLCBjb21wb25lbnQ6IFRlY2hsaWZ5VXBkYXRlSGlzdG9yeUNvbXBvbmVudCB9LFxuXG4gIC8vZmFsbGJhY2tcbiAge1xuICAgIHBhdGg6ICcqKicsXG4gICAgcmVkaXJlY3RUbzogJ2FsbCcsXG4gICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgfVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlVcGRhdGVIaXN0b3J5Um91dGluZ01vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,151 @@
1
+ import { __decorate } from "tslib";
2
+ import { UntilDestroy } from '@ngneat/until-destroy';
3
+ import { untilDestroyed } from '@ngneat/until-destroy';
4
+ import { UpdateViewComponent } from './../update-view/update-view.component';
5
+ import { UntypedFormControl } from '@angular/forms';
6
+ import { Component } from '@angular/core';
7
+ import { debounceTime } from 'rxjs/operators';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/dialog";
10
+ import * as i2 from "./../techlify-update.service";
11
+ import * as i3 from "@angular/forms";
12
+ import * as i4 from "./../../core/alert.service";
13
+ import * as i5 from "@angular/common";
14
+ import * as i6 from "ngx-infinite-scroll";
15
+ import * as i7 from "@angular/flex-layout/flex";
16
+ import * as i8 from "@angular/material/button";
17
+ import * as i9 from "@angular/material/form-field";
18
+ import * as i10 from "@angular/material/icon";
19
+ import * as i11 from "@angular/material/input";
20
+ import * as i12 from "@angular/material/sort";
21
+ import * as i13 from "@angular/material/table";
22
+ import * as i14 from "../../read-more/read-more.component";
23
+ let TechlifyUpdateHistoryComponent = class TechlifyUpdateHistoryComponent {
24
+ dialog;
25
+ techlifyUpdateService;
26
+ fb;
27
+ alertService;
28
+ techlifyUpdates = [];
29
+ displayedColumns = [
30
+ 'index',
31
+ 'title',
32
+ 'is_pinned',
33
+ 'version',
34
+ 'released_on',
35
+ 'learn_more_link',
36
+ 'description',
37
+ 'creator',
38
+ 'actions'
39
+ ];
40
+ page = 1;
41
+ lastPage;
42
+ perPage = 25;
43
+ isWorking = false;
44
+ filterFormGroup;
45
+ constructor(dialog, techlifyUpdateService, fb, alertService) {
46
+ this.dialog = dialog;
47
+ this.techlifyUpdateService = techlifyUpdateService;
48
+ this.fb = fb;
49
+ this.alertService = alertService;
50
+ this.filterFormGroup = this.fb.group({
51
+ search: new UntypedFormControl(''),
52
+ version: new UntypedFormControl(''),
53
+ sort_by: new UntypedFormControl('released_on|DESC'),
54
+ });
55
+ }
56
+ ngOnInit() {
57
+ this.loadData();
58
+ this.listenChanges();
59
+ this.updateCurrentUserUpdates();
60
+ }
61
+ listenChanges() {
62
+ this.filterFormGroup.valueChanges.pipe(debounceTime(500), untilDestroyed(this))
63
+ .subscribe(changes => {
64
+ this.reload();
65
+ });
66
+ }
67
+ ngOnDestroy() { }
68
+ async loadData() {
69
+ try {
70
+ this.isWorking = true;
71
+ var filters = this.filterFormGroup.value;
72
+ filters.perPage = this.perPage;
73
+ filters.page = this.page;
74
+ let result = await this.techlifyUpdateService.getTechlifyUpdates(filters);
75
+ this.lastPage = result.last_page || this.page;
76
+ this.techlifyUpdates = this.techlifyUpdates.concat(result.data);
77
+ }
78
+ catch (error) {
79
+ this.alertService.addAlert("Unable to process, try later", "warn");
80
+ }
81
+ finally {
82
+ this.isWorking = false;
83
+ }
84
+ }
85
+ reload() {
86
+ this.techlifyUpdates = [];
87
+ this.page = 1;
88
+ if (!this.isWorking) {
89
+ this.loadData();
90
+ }
91
+ }
92
+ onScroll() {
93
+ if (!this.isWorking && this.page < this.lastPage) {
94
+ this.page += 1;
95
+ this.loadData();
96
+ }
97
+ }
98
+ resetFieldValue(field) {
99
+ this.filterFormGroup.get(field).setValue("");
100
+ }
101
+ sortColumn(event) {
102
+ var direction = event.direction.toString().toUpperCase();
103
+ this.assignFilter(event.active, direction);
104
+ }
105
+ assignFilter(column, direction) {
106
+ switch (column) {
107
+ case 'title': {
108
+ return this.filterFormGroup.get('sort_by').setValue("title|" + direction);
109
+ }
110
+ case 'released_on': {
111
+ return this.filterFormGroup.get('sort_by').setValue("released_on|" + direction);
112
+ }
113
+ case 'version': {
114
+ return this.filterFormGroup.get('sort_by').setValue("version|" + direction);
115
+ }
116
+ default: {
117
+ return this.filterFormGroup.get('sort_by').setValue("created_at|DESC");
118
+ }
119
+ }
120
+ ;
121
+ }
122
+ openUpdateView(techlifyUpdate) {
123
+ const dialogRef = this.dialog.open(UpdateViewComponent, {
124
+ width: "800px",
125
+ autoFocus: false,
126
+ data: {
127
+ techlifyUpdate: techlifyUpdate,
128
+ isFromHistory: true,
129
+ } // Any data passed here will be injected into the model
130
+ });
131
+ }
132
+ async updateCurrentUserUpdates() {
133
+ try {
134
+ await this.techlifyUpdateService.updateCurrentUserUpdates();
135
+ }
136
+ catch (error) {
137
+ this.alertService.addAlert("Unable to process, try later", "warn");
138
+ }
139
+ }
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryComponent, deps: [{ token: i1.MatDialog }, { token: i2.TechlifyUpdateService }, { token: i3.UntypedFormBuilder }, { token: i4.AlertService }], target: i0.ɵɵFactoryTarget.Component });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TechlifyUpdateHistoryComponent, selector: "app-techlify-update-history", ngImport: i0, template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n App Updates\n </h3>\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Course Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\n </ng-container>\n\n <!--Is Pinned Column-->\n <ng-container matColumnDef=\"is_pinned\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Is Pinned </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_pinned ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <!-- Version Column -->\n <ng-container matColumnDef=\"version\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\n </ng-container>\n\n <!-- Released On Column -->\n <ng-container matColumnDef=\"released_on\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\n </ng-container>\n\n <!-- Learn More Link Column -->\n <ng-container matColumnDef=\"learn_more_link\">\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\n {{element?.learn_more_link}}\n </a>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.creator?.name}}\n <div fxLayout class=\"small\">\n {{element?.created_at | date : 'mediumDate'}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"openUpdateView(element)\">\n <mat-icon>remove_red_eye</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { 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.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.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i12.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i12.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i14.ReadMoreComponent, selector: "app-read-more", inputs: ["text", "maxLength"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
142
+ };
143
+ TechlifyUpdateHistoryComponent = __decorate([
144
+ UntilDestroy()
145
+ ], TechlifyUpdateHistoryComponent);
146
+ export { TechlifyUpdateHistoryComponent };
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryComponent, decorators: [{
148
+ type: Component,
149
+ args: [{ selector: 'app-techlify-update-history', template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n App Updates\n </h3>\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Course Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\n </ng-container>\n\n <!--Is Pinned Column-->\n <ng-container matColumnDef=\"is_pinned\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Is Pinned </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_pinned ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <!-- Version Column -->\n <ng-container matColumnDef=\"version\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\n </ng-container>\n\n <!-- Released On Column -->\n <ng-container matColumnDef=\"released_on\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\n </ng-container>\n\n <!-- Learn More Link Column -->\n <ng-container matColumnDef=\"learn_more_link\">\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\n {{element?.learn_more_link}}\n </a>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.creator?.name}}\n <div fxLayout class=\"small\">\n {{element?.created_at | date : 'mediumDate'}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"openUpdateView(element)\">\n <mat-icon>remove_red_eye</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>" }]
150
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.TechlifyUpdateService }, { type: i3.UntypedFormBuilder }, { type: i4.AlertService }]; } });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBR3hFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUXZDLElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBb0IvQjtJQUNBO0lBQ0E7SUFDQTtJQXRCVixlQUFlLEdBQVUsRUFBRSxDQUFDO0lBQzVCLGdCQUFnQixHQUFhO1FBQzNCLE9BQU87UUFDUCxPQUFPO1FBQ1AsV0FBVztRQUNYLFNBQVM7UUFDVCxhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixTQUFTO1FBQ1QsU0FBUztLQUNWLENBQUM7SUFDRixJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBQ2pCLFFBQVEsQ0FBUztJ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cEIsQ0FBQyx1REFBdUQ7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyx3QkFBd0I7UUFDNUIsSUFBSTtZQUNGLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDN0Q7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQzt3R0E1SFUsOEJBQThCOzRGQUE5Qiw4QkFBOEIsbUVDakIzQyx1NUlBbUdVOztBRGxGRyw4QkFBOEI7SUFOMUMsWUFBWSxFQUFFO0dBTUYsOEJBQThCLENBNkgxQztTQTdIWSw4QkFBOEI7NEZBQTlCLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9jb3JlL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vLi4vdXBkYXRlLXZpZXcvdXBkYXRlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFRlY2hsaWZ5VXBkYXRlU2VydmljZSB9IGZyb20gJy4vLi4vdGVjaGxpZnktdXBkYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB0ZWNobGlmeVVwZGF0ZXM6IGFueVtdID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ3RpdGxlJyxcbiAgICAnaXNfcGlubmVkJyxcbiAgICAndmVyc2lvbicsXG4gICAgJ3JlbGVhc2VkX29uJyxcbiAgICAnbGVhcm5fbW9yZV9saW5rJyxcbiAgICAnZGVzY3JpcHRpb24nLFxuICAgICdjcmVhdG9yJyxcbiAgICAnYWN0aW9ucydcbiAgXTtcbiAgcGFnZTogbnVtYmVyID0gMTtcbiAgbGFzdFBhZ2U6IG51bWJlcjtcbiAgcGVyUGFnZTogbnVtYmVyID0gMjU7XG4gIGlzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBmaWx0ZXJGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHRlY2hsaWZ5VXBkYXRlU2VydmljZTogVGVjaGxpZnlVcGRhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzZWFyY2g6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpLFxuICAgICAgdmVyc2lvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyksXG4gICAgICBzb3J0X2J5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCdyZWxlYXNlZF9vbnxERVNDJyksXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgdGhpcy5saXN0ZW5DaGFuZ2VzKCk7XG4gICAgdGhpcy51cGRhdGVDdXJyZW50VXNlclVwZGF0ZXMoKTtcbiAgfVxuXG4gIGxpc3RlbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7IH1cblxuICBhc3luYyBsb2FkRGF0YSgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgICAgdmFyIGZpbHRlcnM6IGFueSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xuICAgICAgZmlsdGVycy5wZXJQYWdlID0gdGhpcy5wZXJQYWdlO1xuICAgICAgZmlsdGVycy5wYWdlID0gdGhpcy5wYWdlO1xuICAgICAgbGV0IHJlc3VsdDogYW55ID0gYXdhaXQgdGhpcy50ZWNobGlmeVVwZGF0ZVNlcnZpY2UuZ2V0VGVjaGxpZnlVcGRhdGVzKFxuICAgICAgICBmaWx0ZXJzXG4gICAgICApO1xuICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3VsdC5sYXN0X3BhZ2UgfHwgdGhpcy5wYWdlO1xuICAgICAgdGhpcy50ZWNobGlmeVVwZGF0ZXMgPSB0aGlzLnRlY2hsaWZ5VXBkYXRlcy5jb25jYXQocmVzdWx0LmRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcIlVuYWJsZSB0byBwcm9jZXNzLCB0cnkgbGF0ZXJcIiwgXCJ3YXJuXCIpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMudGVjaGxpZnlVcGRhdGVzID0gW107XG4gICAgdGhpcy5wYWdlID0gMTtcbiAgICBpZiAoIXRoaXMuaXNXb3JraW5nKSB7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGwoKSB7XG4gICAgaWYgKCF0aGlzLmlzV29ya2luZyAmJiB0aGlzLnBhZ2UgPCB0aGlzLmxhc3RQYWdlKSB7XG4gICAgICB0aGlzLnBhZ2UgKz0gMTtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICByZXNldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChmaWVsZCkuc2V0VmFsdWUoXCJcIik7XG4gIH1cblxuICBzb3J0Q29sdW1uKGV2ZW50KSB7XG4gICAgdmFyIGRpcmVjdGlvbiA9IGV2ZW50LmRpcmVjdGlvbi50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy5hc3NpZ25GaWx0ZXIoZXZlbnQuYWN0aXZlLCBkaXJlY3Rpb24pO1xuICB9XG5cbiAgYXNzaWduRmlsdGVyKGNvbHVtbiwgZGlyZWN0aW9uKSB7XG4gICAgc3dpdGNoIChjb2x1bW4pIHtcbiAgICAgIGNhc2UgJ3RpdGxlJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoXCJ0aXRsZXxcIiArIGRpcmVjdGlvbik7XG4gICAgICB9XG4gICAgICBjYXNlICdyZWxlYXNlZF9vbic6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldCgnc29ydF9ieScpLnNldFZhbHVlKFwicmVsZWFzZWRfb258XCIgKyBkaXJlY3Rpb24pO1xuICAgICAgfVxuICAgICAgY2FzZSAndmVyc2lvbic6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldCgnc29ydF9ieScpLnNldFZhbHVlKFwidmVyc2lvbnxcIiArIGRpcmVjdGlvbik7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoJ3NvcnRfYnknKS5zZXRWYWx1ZShcImNyZWF0ZWRfYXR8REVTQ1wiKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgb3BlblVwZGF0ZVZpZXcodGVjaGxpZnlVcGRhdGU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVXBkYXRlVmlld0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IFwiODAwcHhcIixcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRlY2hsaWZ5VXBkYXRlOiB0ZWNobGlmeVVwZGF0ZSxcbiAgICAgICAgaXNGcm9tSGlzdG9yeTogdHJ1ZSxcbiAgICAgIH0gLy8gQW55IGRhdGEgcGFzc2VkIGhlcmUgd2lsbCBiZSBpbmplY3RlZCBpbnRvIHRoZSBtb2RlbFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlQ3VycmVudFVzZXJVcGRhdGVzKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnRlY2hsaWZ5VXBkYXRlU2VydmljZS51cGRhdGVDdXJyZW50VXNlclVwZGF0ZXMoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXCJVbmFibGUgdG8gcHJvY2VzcywgdHJ5IGxhdGVyXCIsIFwid2FyblwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwicC00XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgPGgzIGNsYXNzPVwicHJpbWFyeS1jb2xvciB0ZXh0LWNlbnRlclwiPlxuICAgIEFwcCBVcGRhdGVzXG4gIDwvaDM+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybUdyb3VwXCIgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCIgZnhGbGV4PVwiMTAwJVwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIwIDEgY2FsYygxMDAlIC0gMC41cmVtKVwiIGZ4RmxleC5ndC1tZD1cIjAgMSBjYWxjKDE1JSAtIDAuNXJlbSlcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICBmeEZsZXguZ3Qtc209XCIwIDEgY2FsYygyMCUgLSAwLjVyZW0pXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlRpdGxlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImZpbHRlckZvcm1Hcm91cC5nZXQoJ3NlYXJjaCcpLnZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdzZWFyY2gnKVwiPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMCAxIGNhbGMoMTAwJSAtIDAuNXJlbSlcIiBmeEZsZXguZ3QtbWQ9XCIwIDEgY2FsYygxNSUgLSAwLjVyZW0pXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgZnhGbGV4Lmd0LXNtPVwiMCAxIGNhbGMoMjAlIC0gMC41cmVtKVwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidmVyc2lvblwiIHBsYWNlaG9sZGVyPVwiVmVyc2lvblwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJmaWx0ZXJGb3JtR3JvdXAuZ2V0KCd2ZXJzaW9uJykudmFsdWVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJyZXNldEZpZWxkVmFsdWUoJ3ZlcnNpb24nKVwiPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9mb3JtPlxuXG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwidGVjaGxpZnlVcGRhdGVzXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4IHctMTAwXCIgbWF0U29ydCBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcbiAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0Q29sdW1uKCRldmVudClcIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIlxuICAgIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCI+XG5cbiAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDtsZXQgaT1kYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIENvdXJzZSBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgZGlzYWJsZUNsZWFyPiBUaXRsZSA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50Py50aXRsZX19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tSXMgUGlubmVkIENvbHVtbi0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfcGlubmVkXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBkaXNhYmxlQ2xlYXI+IElzIFBpbm5lZCA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50Py5pc19waW5uZWQgPyAnWWVzJyA6ICdObyd9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBWZXJzaW9uIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZlcnNpb25cIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGRpc2FibGVDbGVhcj4gVmVyc2lvbiA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50Py52ZXJzaW9ufX0gPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gUmVsZWFzZWQgT24gQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVsZWFzZWRfb25cIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyIGRpc2FibGVDbGVhcj4gUmVsZWFzZWQgT24gPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8ucmVsZWFzZWRfb24gfCBkYXRlOidtZWRpdW1EYXRlJ319IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIExlYXJuIE1vcmUgTGluayBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsZWFybl9tb3JlX2xpbmtcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IExlYXJuIG1vcmUgbGluayA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgPGEgW2hyZWZdPVwiZWxlbWVudD8ubGVhcm5fbW9yZV9saW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3tlbGVtZW50Py5sZWFybl9tb3JlX2xpbmt9fVxuICAgICAgICA8L2E+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBEZXNjcmlwdGlvbiBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRGVzY3JpcHRpb24gPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgIDxhcHAtcmVhZC1tb3JlIFt0ZXh0XT1cImVsZW1lbnQ/LmRlc2NyaXB0aW9uXCIgW21heExlbmd0aF09XCI1MFwiPjwvYXBwLXJlYWQtbW9yZT5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIENyZWF0b3IgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRvclwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQ3JlYXRvciA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAge3tlbGVtZW50Py5jcmVhdG9yPy5uYW1lfX1cbiAgICAgICAgPGRpdiBmeExheW91dCBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAge3tlbGVtZW50Py5jcmVhdGVkX2F0IHwgZGF0ZSA6ICdtZWRpdW1EYXRlJ319XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwic2Vjb25kYXJ5LWNvbG9yXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2Vjb25kYXJ5LWNvbG9yXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuVXBkYXRlVmlldyhlbGVtZW50KVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5yZW1vdmVfcmVkX2V5ZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgPC90YWJsZT5cbjwvc2VjdGlvbj4iXX0=
@@ -10,25 +10,25 @@ import { FlexLayoutModule } from '@angular/flex-layout';
10
10
  import { ActionPopupModule } from '../../action-popup/action-popup.module';
11
11
  import * as i0 from "@angular/core";
12
12
  export class TechlifyUpdateHistoryModule {
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryModule, declarations: [TechlifyUpdateHistoryComponent], imports: [CommonModule,
15
+ ReactiveFormsModule,
16
+ InfiniteScrollModule,
17
+ FlexLayoutModule,
18
+ MaterialModule,
19
+ ActionPopupModule,
20
+ ReadMoreModule,
21
+ TechlifyUpdateHistoryRoutingModule] });
22
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryModule, imports: [CommonModule,
23
+ ReactiveFormsModule,
24
+ InfiniteScrollModule,
25
+ FlexLayoutModule,
26
+ MaterialModule,
27
+ ActionPopupModule,
28
+ ReadMoreModule,
29
+ TechlifyUpdateHistoryRoutingModule] });
13
30
  }
14
- TechlifyUpdateHistoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- TechlifyUpdateHistoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryModule, declarations: [TechlifyUpdateHistoryComponent], imports: [CommonModule,
16
- ReactiveFormsModule,
17
- InfiniteScrollModule,
18
- FlexLayoutModule,
19
- MaterialModule,
20
- ActionPopupModule,
21
- ReadMoreModule,
22
- TechlifyUpdateHistoryRoutingModule] });
23
- TechlifyUpdateHistoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryModule, imports: [CommonModule,
24
- ReactiveFormsModule,
25
- InfiniteScrollModule,
26
- FlexLayoutModule,
27
- MaterialModule,
28
- ActionPopupModule,
29
- ReadMoreModule,
30
- TechlifyUpdateHistoryRoutingModule] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TechlifyUpdateHistoryModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyUpdateHistoryModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  imports: [
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
44
44
  declarations: [TechlifyUpdateHistoryComponent]
45
45
  }]
46
46
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3RvcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBZTNFLE1BQU0sT0FBTywyQkFBMkI7O3lIQUEzQiwyQkFBMkI7MEhBQTNCLDJCQUEyQixpQkFGdkIsOEJBQThCLGFBVDNDLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxrQ0FBa0M7MEhBSXpCLDJCQUEyQixZQVhwQyxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2Qsa0NBQWtDOzRGQUl6QiwyQkFBMkI7a0JBYnZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsa0NBQWtDO3FCQUNuQztvQkFDRCxZQUFZLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGVjaGxpZnlVcGRhdGVIaXN0b3J5Um91dGluZ01vZHVsZSB9IGZyb20gJy4vdGVjaGxpZnktdXBkYXRlLWhpc3Rvcnktcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhZE1vcmVNb2R1bGUgfSBmcm9tICcuLi8uLi9yZWFkLW1vcmUvcmVhZC1tb3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlY2hsaWZ5VXBkYXRlSGlzdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgQWN0aW9uUG9wdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9hY3Rpb24tcG9wdXAvYWN0aW9uLXBvcHVwLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEFjdGlvblBvcHVwTW9kdWxlLFxuICAgIFJlYWRNb3JlTW9kdWxlLFxuICAgIFRlY2hsaWZ5VXBkYXRlSGlzdG9yeVJvdXRpbmdNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbVGVjaGxpZnlVcGRhdGVIaXN0b3J5Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlNb2R1bGUgeyB9XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3RvcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBZTNFLE1BQU0sT0FBTywyQkFBMkI7d0dBQTNCLDJCQUEyQjt5R0FBM0IsMkJBQTJCLGlCQUZ2Qiw4QkFBOEIsYUFUM0MsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsY0FBYztZQUNkLGtDQUFrQzt5R0FJekIsMkJBQTJCLFlBWHBDLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxrQ0FBa0M7OzRGQUl6QiwyQkFBMkI7a0JBYnZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsa0NBQWtDO3FCQUNuQztvQkFDRCxZQUFZLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGVjaGxpZnlVcGRhdGVIaXN0b3J5Um91dGluZ01vZHVsZSB9IGZyb20gJy4vdGVjaGxpZnktdXBkYXRlLWhpc3Rvcnktcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhZE1vcmVNb2R1bGUgfSBmcm9tICcuLi8uLi9yZWFkLW1vcmUvcmVhZC1tb3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlY2hsaWZ5VXBkYXRlSGlzdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgQWN0aW9uUG9wdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9hY3Rpb24tcG9wdXAvYWN0aW9uLXBvcHVwLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEFjdGlvblBvcHVwTW9kdWxlLFxuICAgIFJlYWRNb3JlTW9kdWxlLFxuICAgIFRlY2hsaWZ5VXBkYXRlSGlzdG9yeVJvdXRpbmdNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbVGVjaGxpZnlVcGRhdGVIaXN0b3J5Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlNb2R1bGUgeyB9XG4iXX0=