ngx-techlify-core 11.4.8 → 11.5.2

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 (627) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +27 -0
  3. package/package.json +29 -37
  4. package/src/lib/action-popup/action-popup.component.html +21 -0
  5. package/src/lib/action-popup/action-popup.component.scss +0 -0
  6. package/src/lib/action-popup/action-popup.component.spec.ts +25 -0
  7. package/src/lib/action-popup/action-popup.component.ts +31 -0
  8. package/{lib/action-popup/action-popup.model.d.ts → src/lib/action-popup/action-popup.model.ts} +2 -2
  9. package/src/lib/action-popup/action-popup.module.ts +23 -0
  10. package/{lib/action-popup/index.d.ts → src/lib/action-popup/index.ts} +1 -1
  11. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.ts +10 -0
  12. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.html +9 -0
  13. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.scss +0 -0
  14. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.spec.ts +25 -0
  15. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.ts +49 -0
  16. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.module.ts +24 -0
  17. package/src/lib/audit-log/audit-log-list/audit-log-list-routing.module.ts +10 -0
  18. package/src/lib/audit-log/audit-log-list/audit-log-list.component.html +92 -0
  19. package/src/lib/audit-log/audit-log-list/audit-log-list.component.scss +21 -0
  20. package/src/lib/audit-log/audit-log-list/audit-log-list.component.spec.ts +25 -0
  21. package/src/lib/audit-log/audit-log-list/audit-log-list.component.ts +138 -0
  22. package/src/lib/audit-log/audit-log-list/audit-log-list.module.ts +28 -0
  23. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.ts +10 -0
  24. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.html +49 -0
  25. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.scss +0 -0
  26. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.spec.ts +26 -0
  27. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.ts +74 -0
  28. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.ts +24 -0
  29. package/src/lib/audit-log/audit-log-routing.module.ts +18 -0
  30. package/src/lib/audit-log/audit-log-view/audit-log-view-routing.module.ts +10 -0
  31. package/src/lib/audit-log/audit-log-view/audit-log-view.component.html +46 -0
  32. package/src/lib/audit-log/audit-log-view/audit-log-view.component.scss +0 -0
  33. package/src/lib/audit-log/audit-log-view/audit-log-view.component.spec.ts +25 -0
  34. package/src/lib/audit-log/audit-log-view/audit-log-view.component.ts +54 -0
  35. package/src/lib/audit-log/audit-log-view/audit-log-view.module.ts +20 -0
  36. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.ts +10 -0
  37. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.html +38 -0
  38. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.scss +4 -0
  39. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.spec.ts +25 -0
  40. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.ts +53 -0
  41. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.module.ts +20 -0
  42. package/src/lib/audit-log/audit-log.module.ts +20 -0
  43. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.ts +10 -0
  44. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.html +4 -0
  45. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.scss +4 -0
  46. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.spec.ts +25 -0
  47. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.ts +28 -0
  48. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.ts +20 -0
  49. package/src/lib/base-model/index.ts +3 -0
  50. package/src/lib/base-model/techlify-form-component.class.ts +60 -0
  51. package/src/lib/base-model/techlify-listing-component.class.ts +67 -0
  52. package/src/lib/base-model/techlify-service.class.ts +73 -0
  53. package/src/lib/core/alert.service.ts +32 -0
  54. package/src/lib/core/api-prefix.interceptor.ts +22 -0
  55. package/src/lib/core/authentication.guard.ts +34 -0
  56. package/src/lib/core/authentication.service.ts +53 -0
  57. package/src/lib/core/cache.interceptor.ts +59 -0
  58. package/src/lib/core/config.service.ts +52 -0
  59. package/src/lib/core/core.module.ts +44 -0
  60. package/src/lib/core/credentials.service.ts +91 -0
  61. package/{lib/core/dataManager.service.d.ts → src/lib/core/dataManager.service.ts} +76 -22
  62. package/src/lib/core/error-handler.interceptor.ts +43 -0
  63. package/src/lib/core/error-handler.service.ts +61 -0
  64. package/src/lib/core/filter.service.ts +42 -0
  65. package/src/lib/core/form-validator.service.ts +23 -0
  66. package/src/lib/core/header.interceptor.ts +22 -0
  67. package/src/lib/core/http-cache.service.ts +122 -0
  68. package/src/lib/core/http.service.ts +137 -0
  69. package/{lib/core/index.d.ts → src/lib/core/index.ts} +2 -0
  70. package/src/lib/core/logger.service.ts +113 -0
  71. package/src/lib/core/route-reusable-strategy.ts +36 -0
  72. package/src/lib/core/snack/error-snack.html +8 -0
  73. package/src/lib/core/snack/snack.component.ts +19 -0
  74. package/src/lib/core/snack/snack.module.ts +22 -0
  75. package/src/lib/core/snack/snack.scss +18 -0
  76. package/src/lib/core/snack/success-snack.html +8 -0
  77. package/src/lib/core/storage.service.ts +38 -0
  78. package/src/lib/core/techlify-config.model.ts +32 -0
  79. package/src/lib/core/token.interceptor.ts +25 -0
  80. package/src/lib/data-table/data-table.component.html +139 -0
  81. package/src/lib/data-table/data-table.component.scss +54 -0
  82. package/src/lib/data-table/data-table.component.spec.ts +25 -0
  83. package/src/lib/data-table/data-table.component.ts +232 -0
  84. package/{lib/data-table/data-table.model.d.ts → src/lib/data-table/data-table.model.ts} +9 -6
  85. package/src/lib/data-table/data-table.module.ts +23 -0
  86. package/{lib/data-table/index.d.ts → src/lib/data-table/index.ts} +1 -1
  87. package/src/lib/date-validator.ts +12 -0
  88. package/src/lib/document-viewer/document-viewer.component.css +5 -0
  89. package/src/lib/document-viewer/document-viewer.component.html +19 -0
  90. package/src/lib/document-viewer/document-viewer.component.ts +66 -0
  91. package/src/lib/document-viewer/document-viewer.module.ts +22 -0
  92. package/{lib/document-viewer/index.d.ts → src/lib/document-viewer/index.ts} +1 -1
  93. package/src/lib/document-viewer/viewer-config.model.ts +5 -0
  94. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.ts +25 -0
  95. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.html +23 -0
  96. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.scss +4 -0
  97. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.spec.ts +25 -0
  98. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.ts +74 -0
  99. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.ts +22 -0
  100. package/{lib/email-subscription/email-subscription-for-user/index.d.ts → src/lib/email-subscription/email-subscription-for-user/index.ts} +0 -0
  101. package/src/lib/email-subscription/email-subscription-routing.module.ts +10 -0
  102. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.ts +10 -0
  103. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.html +47 -0
  104. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.scss +0 -0
  105. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.spec.ts +25 -0
  106. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.ts +113 -0
  107. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.ts +28 -0
  108. package/{lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts → src/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.ts} +0 -0
  109. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.ts +29 -0
  110. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.html +76 -0
  111. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.scss +4 -0
  112. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.spec.ts +25 -0
  113. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.ts +170 -0
  114. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.ts +26 -0
  115. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.ts +1 -0
  116. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.ts +11 -0
  117. package/src/lib/email-subscription/email-subscription-type/email-subscription-type.module.ts +14 -0
  118. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.ts +10 -0
  119. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.html +38 -0
  120. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.scss +0 -0
  121. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.spec.ts +25 -0
  122. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.ts +113 -0
  123. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.ts +26 -0
  124. package/{lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.ts} +0 -0
  125. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.ts +27 -0
  126. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.html +74 -0
  127. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.scss +5 -0
  128. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.spec.ts +25 -0
  129. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.ts +174 -0
  130. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.ts +28 -0
  131. package/{lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.ts} +0 -0
  132. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.ts +10 -0
  133. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.html +21 -0
  134. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.scss +0 -0
  135. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.spec.ts +25 -0
  136. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.ts +56 -0
  137. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.ts +24 -0
  138. package/{lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.ts} +0 -0
  139. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.ts +11 -0
  140. package/src/lib/email-subscription/email-subscription-user/email-subscription-user.module.ts +14 -0
  141. package/src/lib/email-subscription/email-subscription.module.ts +15 -0
  142. package/src/lib/entity-files/entity-file-form/entity-file-form.component.css +0 -0
  143. package/src/lib/entity-files/entity-file-form/entity-file-form.component.html +45 -0
  144. package/src/lib/entity-files/entity-file-form/entity-file-form.component.ts +172 -0
  145. package/src/lib/entity-files/entity-file.service.ts +46 -0
  146. package/src/lib/entity-files/entity-files-view-all.component.css +0 -0
  147. package/src/lib/entity-files/entity-files-view-all.component.html +236 -0
  148. package/src/lib/entity-files/entity-files-view-all.component.ts +325 -0
  149. package/src/lib/entity-files/entity-files-view-all.module.ts +38 -0
  150. package/src/lib/entity-files/index.ts +2 -0
  151. package/src/lib/export-excel/export-excel-button/export-excel-button.component.html +1 -0
  152. package/src/lib/export-excel/export-excel-button/export-excel-button.component.scss +0 -0
  153. package/src/lib/export-excel/export-excel-button/export-excel-button.component.spec.ts +25 -0
  154. package/src/lib/export-excel/export-excel-button/export-excel-button.component.ts +31 -0
  155. package/src/lib/export-excel/export-excel.module.ts +16 -0
  156. package/src/lib/file-dropper/file-dropper.component.html +41 -0
  157. package/src/lib/file-dropper/file-dropper.component.scss +8 -0
  158. package/src/lib/file-dropper/file-dropper.component.ts +139 -0
  159. package/src/lib/file-dropper/file-dropper.model.ts +10 -0
  160. package/src/lib/file-dropper/file-dropper.module.ts +18 -0
  161. package/{lib/file-dropper/index.d.ts → src/lib/file-dropper/index.ts} +1 -1
  162. package/src/lib/import-csv/data-import/data-import.component.html +11 -0
  163. package/src/lib/import-csv/data-import/data-import.component.scss +0 -0
  164. package/src/lib/import-csv/data-import/data-import.component.spec.ts +28 -0
  165. package/src/lib/import-csv/data-import/data-import.component.ts +16 -0
  166. package/src/lib/import-csv/failed-items-list/failed-items-list.component.html +61 -0
  167. package/src/lib/import-csv/failed-items-list/failed-items-list.component.scss +0 -0
  168. package/src/lib/import-csv/failed-items-list/failed-items-list.component.spec.ts +28 -0
  169. package/src/lib/import-csv/failed-items-list/failed-items-list.component.ts +30 -0
  170. package/src/lib/import-csv/field-mapping/field-mapping.component.html +70 -0
  171. package/src/lib/import-csv/field-mapping/field-mapping.component.scss +15 -0
  172. package/src/lib/import-csv/field-mapping/field-mapping.component.ts +161 -0
  173. package/src/lib/import-csv/import-csv-config.ts +17 -0
  174. package/src/lib/import-csv/import-csv.component.html +71 -0
  175. package/src/lib/import-csv/import-csv.component.scss +15 -0
  176. package/src/lib/import-csv/import-csv.component.spec.ts +28 -0
  177. package/src/lib/import-csv/import-csv.component.ts +198 -0
  178. package/src/lib/import-csv/import-csv.module.ts +43 -0
  179. package/src/lib/import-csv/import-history-list/import-history-list.component.html +43 -0
  180. package/src/lib/import-csv/import-history-list/import-history-list.component.scss +0 -0
  181. package/src/lib/import-csv/import-history-list/import-history-list.component.spec.ts +28 -0
  182. package/src/lib/import-csv/import-history-list/import-history-list.component.ts +74 -0
  183. package/src/lib/import-csv/import-success/import-success.component.html +22 -0
  184. package/src/lib/import-csv/import-success/import-success.component.scss +0 -0
  185. package/src/lib/import-csv/import-success/import-success.component.spec.ts +28 -0
  186. package/src/lib/import-csv/import-success/import-success.component.ts +17 -0
  187. package/{lib/loader/index.d.ts → src/lib/loader/index.ts} +0 -0
  188. package/src/lib/loader/loader.component.html +4 -0
  189. package/src/lib/loader/loader.component.scss +8 -0
  190. package/src/lib/loader/loader.component.spec.ts +73 -0
  191. package/src/lib/loader/loader.component.ts +18 -0
  192. package/src/lib/loader/loader.module.ts +18 -0
  193. package/src/lib/login-history-for-user/login-history-for-user-routing.module.ts +18 -0
  194. package/src/lib/login-history-for-user/login-history-for-user.component.html +31 -0
  195. package/src/lib/login-history-for-user/login-history-for-user.component.scss +4 -0
  196. package/src/lib/login-history-for-user/login-history-for-user.component.spec.ts +25 -0
  197. package/src/lib/login-history-for-user/login-history-for-user.component.ts +94 -0
  198. package/src/lib/login-history-for-user/login-history-for-user.module.ts +26 -0
  199. package/src/lib/material.module.ts +68 -0
  200. package/src/lib/note/comment-form/comment-form.component.html +45 -0
  201. package/src/lib/note/comment-form/comment-form.component.scss +7 -0
  202. package/src/lib/note/comment-form/comment-form.component.spec.ts +24 -0
  203. package/src/lib/note/comment-form/comment-form.component.ts +84 -0
  204. package/{lib/note/index.d.ts → src/lib/note/index.ts} +0 -0
  205. package/src/lib/note/note-form/note-form.component.css +0 -0
  206. package/src/lib/note/note-form/note-form.component.html +26 -0
  207. package/src/lib/note/note-form/note-form.component.spec.ts +25 -0
  208. package/src/lib/note/note-form/note-form.component.ts +93 -0
  209. package/src/lib/note/note-list/note-list.component.css +4 -0
  210. package/src/lib/note/note-list/note-list.component.html +58 -0
  211. package/src/lib/note/note-list/note-list.component.spec.ts +25 -0
  212. package/src/lib/note/note-list/note-list.component.ts +156 -0
  213. package/src/lib/note/note.module.ts +33 -0
  214. package/src/lib/note/note.service.spec.ts +16 -0
  215. package/src/lib/note/note.service.ts +26 -0
  216. package/src/lib/read-more/read-more.component.html +3 -0
  217. package/src/lib/read-more/read-more.component.scss +8 -0
  218. package/src/lib/read-more/read-more.component.spec.ts +24 -0
  219. package/src/lib/read-more/read-more.component.ts +41 -0
  220. package/src/lib/read-more/read-more.module.ts +18 -0
  221. package/src/lib/request-helper/request-helper.service.ts +92 -0
  222. package/src/lib/searchable-selector/index.ts +2 -0
  223. package/src/lib/searchable-selector/mat-select-infinite-scroll.directive.ts +89 -0
  224. package/src/lib/searchable-selector/searchable-selector.component.html +21 -0
  225. package/src/lib/searchable-selector/searchable-selector.component.scss +8 -0
  226. package/src/lib/searchable-selector/searchable-selector.component.spec.ts +25 -0
  227. package/src/lib/searchable-selector/searchable-selector.component.ts +337 -0
  228. package/src/lib/searchable-selector/searchable-selector.module.ts +25 -0
  229. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.html +4 -0
  230. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.scss +0 -0
  231. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.spec.ts +28 -0
  232. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.ts +25 -0
  233. package/src/lib/techlify-feature/techlify-feature-enabled.directive.ts +71 -0
  234. package/src/lib/techlify-feature/techlify-feature-listing.component.html +65 -0
  235. package/src/lib/techlify-feature/techlify-feature-listing.component.scss +0 -0
  236. package/src/lib/techlify-feature/techlify-feature-listing.component.ts +174 -0
  237. package/src/lib/techlify-feature/techlify-feature.module.ts +28 -0
  238. package/src/lib/techlify-feature/techlify-feature.routing.ts +13 -0
  239. package/src/lib/techlify-feature/techlify-feature.service.ts +23 -0
  240. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.ts +25 -0
  241. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.html +18 -0
  242. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.scss +6 -0
  243. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.spec.ts +25 -0
  244. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.ts +308 -0
  245. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.ts +24 -0
  246. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.html +8 -0
  247. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.scss +0 -0
  248. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.spec.ts +25 -0
  249. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.ts +180 -0
  250. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.ts +28 -0
  251. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.html +78 -0
  252. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.scss +0 -0
  253. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.spec.ts +25 -0
  254. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.ts +113 -0
  255. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.module.ts +25 -0
  256. package/src/lib/techlify-update/techlify-update-history/index.ts +1 -0
  257. package/src/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.ts +21 -0
  258. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.html +94 -0
  259. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.scss +0 -0
  260. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.ts +142 -0
  261. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.module.ts +25 -0
  262. package/src/lib/techlify-update/techlify-update-routing.module.ts +21 -0
  263. package/src/lib/techlify-update/techlify-update.module.ts +27 -0
  264. package/src/lib/techlify-update/techlify-update.service.spec.ts +16 -0
  265. package/src/lib/techlify-update/techlify-update.service.ts +42 -0
  266. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.html +104 -0
  267. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.scss +0 -0
  268. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.spec.ts +25 -0
  269. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.ts +167 -0
  270. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.html +39 -0
  271. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.scss +57 -0
  272. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.spec.ts +25 -0
  273. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.ts +76 -0
  274. package/src/lib/techlify-update/update-notifier/update-notifier.component.html +0 -0
  275. package/src/lib/techlify-update/update-notifier/update-notifier.component.scss +3 -0
  276. package/src/lib/techlify-update/update-notifier/update-notifier.component.spec.ts +25 -0
  277. package/src/lib/techlify-update/update-notifier/update-notifier.component.ts +56 -0
  278. package/src/lib/techlify-update/update-notifier/update-notifier.module.ts +27 -0
  279. package/src/lib/techlify-update/update-view/update-view.component.html +63 -0
  280. package/src/lib/techlify-update/update-view/update-view.component.scss +19 -0
  281. package/src/lib/techlify-update/update-view/update-view.component.spec.ts +25 -0
  282. package/src/lib/techlify-update/update-view/update-view.component.ts +36 -0
  283. package/src/lib/techlify-update/update-view/update-view.module.ts +23 -0
  284. package/src/lib/timeline-filter/README.md +60 -0
  285. package/src/lib/timeline-filter/calculate-timeline.ts +109 -0
  286. package/{lib/timeline-filter/index.d.ts → src/lib/timeline-filter/index.ts} +1 -1
  287. package/src/lib/timeline-filter/timeline-filter-routing.module.ts +10 -0
  288. package/src/lib/timeline-filter/timeline-filter.component.html +54 -0
  289. package/src/lib/timeline-filter/timeline-filter.component.scss +0 -0
  290. package/src/lib/timeline-filter/timeline-filter.component.spec.ts +25 -0
  291. package/src/lib/timeline-filter/timeline-filter.component.ts +220 -0
  292. package/src/lib/timeline-filter/timeline-filter.module.ts +22 -0
  293. package/src/lib/timeline-filter/timeline.model.ts +17 -0
  294. package/src/lib/utility/date-utils.service.ts +51 -0
  295. package/{lib/utility/index.d.ts → src/lib/utility/index.ts} +1 -1
  296. package/src/lib/utility/num-items-selector.component.ts +29 -0
  297. package/src/lib/utility/num-items-selector.html +13 -0
  298. package/src/lib/utility/number-selector.component.ts +38 -0
  299. package/src/lib/utility/number-selector.html +6 -0
  300. package/src/lib/utility/utility.module.ts +20 -0
  301. package/{public-api.d.ts → src/public-api.ts} +31 -0
  302. package/src/test.ts +26 -0
  303. package/tsconfig.lib.json +26 -0
  304. package/tsconfig.lib.prod.json +10 -0
  305. package/tsconfig.spec.json +17 -0
  306. package/tslint.json +17 -0
  307. package/bundles/ngx-techlify-core.umd.js +0 -8325
  308. package/bundles/ngx-techlify-core.umd.js.map +0 -1
  309. package/bundles/ngx-techlify-core.umd.min.js +0 -2
  310. package/bundles/ngx-techlify-core.umd.min.js.map +0 -1
  311. package/esm2015/lib/action-popup/action-popup.component.js +0 -32
  312. package/esm2015/lib/action-popup/action-popup.model.js +0 -3
  313. package/esm2015/lib/action-popup/action-popup.module.js +0 -26
  314. package/esm2015/lib/action-popup/index.js +0 -3
  315. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +0 -12
  316. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +0 -49
  317. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +0 -25
  318. package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +0 -12
  319. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +0 -132
  320. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +0 -29
  321. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +0 -12
  322. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +0 -67
  323. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +0 -25
  324. package/esm2015/lib/audit-log/audit-log-routing.module.js +0 -19
  325. package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +0 -12
  326. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +0 -60
  327. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +0 -21
  328. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +0 -12
  329. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +0 -57
  330. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +0 -21
  331. package/esm2015/lib/audit-log/audit-log.module.js +0 -20
  332. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +0 -12
  333. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +0 -35
  334. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +0 -21
  335. package/esm2015/lib/base-model/index.js +0 -4
  336. package/esm2015/lib/base-model/techlify-form-component.class.js +0 -51
  337. package/esm2015/lib/base-model/techlify-listing-component.class.js +0 -41
  338. package/esm2015/lib/base-model/techlify-service.class.js +0 -64
  339. package/esm2015/lib/core/alert.service.js +0 -40
  340. package/esm2015/lib/core/api-prefix.interceptor.js +0 -28
  341. package/esm2015/lib/core/authentication.guard.js +0 -39
  342. package/esm2015/lib/core/authentication.service.js +0 -59
  343. package/esm2015/lib/core/cache.interceptor.js +0 -60
  344. package/esm2015/lib/core/config.service.js +0 -47
  345. package/esm2015/lib/core/core.module.js +0 -42
  346. package/esm2015/lib/core/credentials.service.js +0 -84
  347. package/esm2015/lib/core/dataManager.service.js +0 -121
  348. package/esm2015/lib/core/error-handler.interceptor.js +0 -53
  349. package/esm2015/lib/core/error-handler.service.js +0 -60
  350. package/esm2015/lib/core/form-validator.service.js +0 -23
  351. package/esm2015/lib/core/header.interceptor.js +0 -22
  352. package/esm2015/lib/core/http-cache.service.js +0 -110
  353. package/esm2015/lib/core/http.service.js +0 -82
  354. package/esm2015/lib/core/index.js +0 -21
  355. package/esm2015/lib/core/logger.service.js +0 -100
  356. package/esm2015/lib/core/route-reusable-strategy.js +0 -35
  357. package/esm2015/lib/core/snack/snack.component.js +0 -33
  358. package/esm2015/lib/core/snack/snack.module.js +0 -25
  359. package/esm2015/lib/core/storage.service.js +0 -37
  360. package/esm2015/lib/core/techlify-config.model.js +0 -28
  361. package/esm2015/lib/core/token.interceptor.js +0 -30
  362. package/esm2015/lib/data-table/data-table.component.js +0 -190
  363. package/esm2015/lib/data-table/data-table.model.js +0 -11
  364. package/esm2015/lib/data-table/data-table.module.js +0 -25
  365. package/esm2015/lib/data-table/index.js +0 -3
  366. package/esm2015/lib/date-validator.js +0 -10
  367. package/esm2015/lib/document-viewer/document-viewer.component.js +0 -58
  368. package/esm2015/lib/document-viewer/document-viewer.module.js +0 -25
  369. package/esm2015/lib/document-viewer/index.js +0 -3
  370. package/esm2015/lib/document-viewer/viewer-config.model.js +0 -3
  371. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +0 -26
  372. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +0 -72
  373. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +0 -23
  374. package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +0 -2
  375. package/esm2015/lib/email-subscription/email-subscription-routing.module.js +0 -12
  376. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +0 -12
  377. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +0 -102
  378. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +0 -28
  379. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +0 -2
  380. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +0 -28
  381. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +0 -153
  382. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +0 -27
  383. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +0 -2
  384. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +0 -12
  385. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +0 -15
  386. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +0 -12
  387. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +0 -99
  388. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +0 -27
  389. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +0 -2
  390. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +0 -28
  391. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +0 -155
  392. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +0 -29
  393. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +0 -2
  394. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +0 -12
  395. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +0 -50
  396. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +0 -25
  397. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +0 -2
  398. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +0 -12
  399. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +0 -15
  400. package/esm2015/lib/email-subscription/email-subscription.module.js +0 -15
  401. package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +0 -138
  402. package/esm2015/lib/entity-files/entity-file.service.js +0 -42
  403. package/esm2015/lib/entity-files/entity-files-view-all.component.js +0 -208
  404. package/esm2015/lib/entity-files/entity-files-view-all.module.js +0 -34
  405. package/esm2015/lib/entity-files/index.js +0 -3
  406. package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +0 -32
  407. package/esm2015/lib/export-excel/export-excel.module.js +0 -17
  408. package/esm2015/lib/file-dropper/file-dropper.component.js +0 -122
  409. package/esm2015/lib/file-dropper/file-dropper.model.js +0 -3
  410. package/esm2015/lib/file-dropper/file-dropper.module.js +0 -21
  411. package/esm2015/lib/file-dropper/index.js +0 -3
  412. package/esm2015/lib/import-csv/data-import/data-import.component.js +0 -18
  413. package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +0 -33
  414. package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +0 -148
  415. package/esm2015/lib/import-csv/import-csv-config.js +0 -2
  416. package/esm2015/lib/import-csv/import-csv.component.js +0 -196
  417. package/esm2015/lib/import-csv/import-csv.module.js +0 -46
  418. package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +0 -71
  419. package/esm2015/lib/import-csv/import-success/import-success.component.js +0 -19
  420. package/esm2015/lib/loader/index.js +0 -2
  421. package/esm2015/lib/loader/loader.component.js +0 -22
  422. package/esm2015/lib/loader/loader.module.js +0 -21
  423. package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +0 -20
  424. package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +0 -88
  425. package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +0 -27
  426. package/esm2015/lib/material.module.js +0 -60
  427. package/esm2015/lib/note/comment-form/comment-form.component.js +0 -73
  428. package/esm2015/lib/note/index.js +0 -4
  429. package/esm2015/lib/note/note-form/note-form.component.js +0 -81
  430. package/esm2015/lib/note/note-list/note-list.component.js +0 -151
  431. package/esm2015/lib/note/note.module.js +0 -36
  432. package/esm2015/lib/note/note.service.js +0 -31
  433. package/esm2015/lib/read-more/read-more.component.js +0 -43
  434. package/esm2015/lib/read-more/read-more.module.js +0 -21
  435. package/esm2015/lib/searchable-selector/index.js +0 -3
  436. package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +0 -81
  437. package/esm2015/lib/searchable-selector/searchable-selector.component.js +0 -307
  438. package/esm2015/lib/searchable-selector/searchable-selector.module.js +0 -28
  439. package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +0 -27
  440. package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +0 -78
  441. package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +0 -177
  442. package/esm2015/lib/techlify-feature/techlify-feature.module.js +0 -30
  443. package/esm2015/lib/techlify-feature/techlify-feature.routing.js +0 -12
  444. package/esm2015/lib/techlify-feature/techlify-feature.service.js +0 -28
  445. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +0 -15
  446. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +0 -269
  447. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +0 -25
  448. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +0 -168
  449. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +0 -29
  450. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +0 -114
  451. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +0 -28
  452. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +0 -22
  453. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +0 -143
  454. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +0 -28
  455. package/esm2015/lib/techlify-update/techlify-update-routing.module.js +0 -22
  456. package/esm2015/lib/techlify-update/techlify-update.module.js +0 -30
  457. package/esm2015/lib/techlify-update/techlify-update.service.js +0 -43
  458. package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +0 -161
  459. package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +0 -82
  460. package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +0 -62
  461. package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +0 -29
  462. package/esm2015/lib/techlify-update/update-view/update-view.component.js +0 -36
  463. package/esm2015/lib/techlify-update/update-view/update-view.module.js +0 -24
  464. package/esm2015/lib/timeline-filter/calculate-timeline.js +0 -102
  465. package/esm2015/lib/timeline-filter/index.js +0 -4
  466. package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +0 -12
  467. package/esm2015/lib/timeline-filter/timeline-filter.component.js +0 -213
  468. package/esm2015/lib/timeline-filter/timeline-filter.module.js +0 -23
  469. package/esm2015/lib/timeline-filter/timeline.model.js +0 -18
  470. package/esm2015/lib/utility/date-utils.service.js +0 -48
  471. package/esm2015/lib/utility/index.js +0 -4
  472. package/esm2015/lib/utility/num-items-selector.component.js +0 -30
  473. package/esm2015/lib/utility/number-selector.component.js +0 -38
  474. package/esm2015/lib/utility/utility.module.js +0 -21
  475. package/esm2015/ngx-techlify-core.js +0 -60
  476. package/esm2015/public-api.js +0 -96
  477. package/fesm2015/ngx-techlify-core.js +0 -7039
  478. package/fesm2015/ngx-techlify-core.js.map +0 -1
  479. package/lib/action-popup/action-popup.component.d.ts +0 -14
  480. package/lib/action-popup/action-popup.module.d.ts +0 -2
  481. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +0 -2
  482. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +0 -12
  483. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +0 -2
  484. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +0 -2
  485. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +0 -32
  486. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +0 -2
  487. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +0 -2
  488. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +0 -19
  489. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +0 -2
  490. package/lib/audit-log/audit-log-routing.module.d.ts +0 -2
  491. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +0 -2
  492. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +0 -17
  493. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +0 -2
  494. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +0 -2
  495. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +0 -15
  496. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +0 -2
  497. package/lib/audit-log/audit-log.module.d.ts +0 -2
  498. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +0 -2
  499. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +0 -11
  500. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +0 -2
  501. package/lib/base-model/index.d.ts +0 -3
  502. package/lib/base-model/techlify-form-component.class.d.ts +0 -43
  503. package/lib/base-model/techlify-listing-component.class.d.ts +0 -47
  504. package/lib/base-model/techlify-service.class.d.ts +0 -52
  505. package/lib/core/alert.service.d.ts +0 -12
  506. package/lib/core/api-prefix.interceptor.d.ts +0 -11
  507. package/lib/core/authentication.guard.d.ts +0 -10
  508. package/lib/core/authentication.service.d.ts +0 -23
  509. package/lib/core/cache.interceptor.d.ts +0 -21
  510. package/lib/core/config.service.d.ts +0 -19
  511. package/lib/core/core.module.d.ts +0 -3
  512. package/lib/core/credentials.service.d.ts +0 -36
  513. package/lib/core/error-handler.interceptor.d.ts +0 -14
  514. package/lib/core/error-handler.service.d.ts +0 -14
  515. package/lib/core/form-validator.service.d.ts +0 -8
  516. package/lib/core/header.interceptor.d.ts +0 -8
  517. package/lib/core/http-cache.service.d.ts +0 -54
  518. package/lib/core/http.service.d.ts +0 -56
  519. package/lib/core/logger.service.d.ts +0 -85
  520. package/lib/core/route-reusable-strategy.d.ts +0 -13
  521. package/lib/core/snack/snack.component.d.ts +0 -8
  522. package/lib/core/snack/snack.module.d.ts +0 -2
  523. package/lib/core/storage.service.d.ts +0 -15
  524. package/lib/core/techlify-config.model.d.ts +0 -18
  525. package/lib/core/token.interceptor.d.ts +0 -11
  526. package/lib/data-table/data-table.component.d.ts +0 -60
  527. package/lib/data-table/data-table.module.d.ts +0 -2
  528. package/lib/date-validator.d.ts +0 -1
  529. package/lib/document-viewer/document-viewer.component.d.ts +0 -16
  530. package/lib/document-viewer/document-viewer.module.d.ts +0 -2
  531. package/lib/document-viewer/viewer-config.model.d.ts +0 -5
  532. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +0 -7
  533. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +0 -17
  534. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +0 -2
  535. package/lib/email-subscription/email-subscription-routing.module.d.ts +0 -2
  536. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +0 -2
  537. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +0 -32
  538. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +0 -2
  539. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +0 -9
  540. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +0 -30
  541. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +0 -2
  542. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +0 -1
  543. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +0 -2
  544. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +0 -2
  545. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +0 -2
  546. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +0 -32
  547. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +0 -2
  548. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +0 -9
  549. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +0 -32
  550. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +0 -2
  551. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +0 -2
  552. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +0 -13
  553. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +0 -2
  554. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +0 -2
  555. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +0 -2
  556. package/lib/email-subscription/email-subscription.module.d.ts +0 -2
  557. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +0 -34
  558. package/lib/entity-files/entity-file.service.d.ts +0 -10
  559. package/lib/entity-files/entity-files-view-all.component.d.ts +0 -45
  560. package/lib/entity-files/entity-files-view-all.module.d.ts +0 -2
  561. package/lib/entity-files/index.d.ts +0 -2
  562. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +0 -8
  563. package/lib/export-excel/export-excel.module.d.ts +0 -2
  564. package/lib/file-dropper/file-dropper.component.d.ts +0 -33
  565. package/lib/file-dropper/file-dropper.model.d.ts +0 -10
  566. package/lib/file-dropper/file-dropper.module.d.ts +0 -2
  567. package/lib/import-csv/data-import/data-import.component.d.ts +0 -6
  568. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +0 -12
  569. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +0 -34
  570. package/lib/import-csv/import-csv-config.d.ts +0 -17
  571. package/lib/import-csv/import-csv.component.d.ts +0 -33
  572. package/lib/import-csv/import-csv.module.d.ts +0 -2
  573. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +0 -21
  574. package/lib/import-csv/import-success/import-success.component.d.ts +0 -8
  575. package/lib/loader/loader.component.d.ts +0 -8
  576. package/lib/loader/loader.module.d.ts +0 -2
  577. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +0 -2
  578. package/lib/login-history-for-user/login-history-for-user.component.d.ts +0 -23
  579. package/lib/login-history-for-user/login-history-for-user.module.d.ts +0 -2
  580. package/lib/material.module.d.ts +0 -2
  581. package/lib/note/comment-form/comment-form.component.d.ts +0 -22
  582. package/lib/note/note-form/note-form.component.d.ts +0 -27
  583. package/lib/note/note-list/note-list.component.d.ts +0 -28
  584. package/lib/note/note.module.d.ts +0 -2
  585. package/lib/note/note.service.d.ts +0 -9
  586. package/lib/read-more/read-more.component.d.ts +0 -12
  587. package/lib/read-more/read-more.module.d.ts +0 -2
  588. package/lib/searchable-selector/index.d.ts +0 -2
  589. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +0 -23
  590. package/lib/searchable-selector/searchable-selector.component.d.ts +0 -81
  591. package/lib/searchable-selector/searchable-selector.module.d.ts +0 -2
  592. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +0 -9
  593. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +0 -17
  594. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -37
  595. package/lib/techlify-feature/techlify-feature.module.d.ts +0 -2
  596. package/lib/techlify-feature/techlify-feature.routing.d.ts +0 -2
  597. package/lib/techlify-feature/techlify-feature.service.d.ts +0 -8
  598. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +0 -12
  599. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +0 -76
  600. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +0 -2
  601. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +0 -58
  602. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +0 -2
  603. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +0 -30
  604. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +0 -2
  605. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +0 -2
  606. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +0 -31
  607. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +0 -2
  608. package/lib/techlify-update/techlify-update-routing.module.d.ts +0 -2
  609. package/lib/techlify-update/techlify-update.module.d.ts +0 -2
  610. package/lib/techlify-update/techlify-update.service.d.ts +0 -13
  611. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -31
  612. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +0 -25
  613. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +0 -16
  614. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +0 -2
  615. package/lib/techlify-update/update-view/update-view.component.d.ts +0 -14
  616. package/lib/techlify-update/update-view/update-view.module.d.ts +0 -2
  617. package/lib/timeline-filter/calculate-timeline.d.ts +0 -6
  618. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +0 -2
  619. package/lib/timeline-filter/timeline-filter.component.d.ts +0 -61
  620. package/lib/timeline-filter/timeline-filter.module.d.ts +0 -2
  621. package/lib/timeline-filter/timeline.model.d.ts +0 -17
  622. package/lib/utility/date-utils.service.d.ts +0 -21
  623. package/lib/utility/num-items-selector.component.d.ts +0 -16
  624. package/lib/utility/number-selector.component.d.ts +0 -20
  625. package/lib/utility/utility.module.d.ts +0 -2
  626. package/ngx-techlify-core.d.ts +0 -59
  627. package/ngx-techlify-core.metadata.json +0 -1
@@ -1,25 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TechlifyTaggerTagFormFieldComponent } from './techlify-tagger-tag-form-field.component';
4
- import { FlexLayoutModule } from '@angular/flex-layout';
5
- import { ReactiveFormsModule } from '@angular/forms';
6
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
7
- import { MaterialModule } from '../material.module';
8
- export class TechlifyTaggerTagFormFieldModule {
9
- }
10
- TechlifyTaggerTagFormFieldModule.decorators = [
11
- { type: NgModule, args: [{
12
- declarations: [
13
- TechlifyTaggerTagFormFieldComponent
14
- ],
15
- imports: [
16
- CommonModule,
17
- MaterialModule,
18
- FlexLayoutModule,
19
- MatAutocompleteModule,
20
- ReactiveFormsModule
21
- ],
22
- exports: [TechlifyTaggerTagFormFieldComponent]
23
- },] }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUJwRCxNQUFNLE9BQU8sZ0NBQWdDOzs7WUFiNUMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixtQ0FBbUM7aUJBQ3BDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7YUFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vbWF0ZXJpYWwubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRlY2hsaWZ5VGFnZ2VyVGFnRm9ybUZpZWxkQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVGVjaGxpZnlUYWdnZXJUYWdGb3JtRmllbGRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1GaWVsZE1vZHVsZSB7IH1cclxuIl19
@@ -1,168 +0,0 @@
1
- var TechlifyTaggerTagSelectorComponent_1;
2
- import { __decorate } from "tslib";
3
- import { FocusMonitor } from '@angular/cdk/a11y';
4
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
- import { Component, ElementRef, Input, Inject, Optional, Self } from '@angular/core';
6
- import { FormControl, NgControl } from '@angular/forms';
7
- import { MatFormField, MatFormFieldControl, MAT_FORM_FIELD } from '@angular/material/form-field';
8
- import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
9
- import { Subject } from 'rxjs';
10
- import { HttpService } from '../core/http.service';
11
- let TechlifyTaggerTagSelectorComponent = TechlifyTaggerTagSelectorComponent_1 = class TechlifyTaggerTagSelectorComponent {
12
- constructor(_focusMonitor, _elementRef, httpService, _formField, ngControl) {
13
- this._focusMonitor = _focusMonitor;
14
- this._elementRef = _elementRef;
15
- this.httpService = httpService;
16
- this._formField = _formField;
17
- this.ngControl = ngControl;
18
- /**Pass the Categories to filter for a model */
19
- this.categories = [];
20
- this.multiple = false;
21
- this.enableSearch = true;
22
- this.tagSelectorCtrl = new FormControl();
23
- this.showAllTags = false;
24
- this.useSelectButtonStyle = false;
25
- this.tags = [];
26
- this.stateChanges = new Subject();
27
- this.focused = false;
28
- this.controlType = 'techlify-tagger-selector';
29
- this.id = `techlify-tagger-selector-${TechlifyTaggerTagSelectorComponent_1.nextId++}`;
30
- this.onChange = (_) => { };
31
- this.onTouched = () => { };
32
- this._required = false;
33
- this._disabled = false;
34
- //Set Focus Monitor
35
- _focusMonitor.monitor(_elementRef, true).subscribe(origin => {
36
- if (this.focused && !origin) {
37
- this.onTouched();
38
- }
39
- this.focused = !!origin;
40
- this.stateChanges.next();
41
- });
42
- if (this.ngControl != null) {
43
- this.ngControl.valueAccessor = this;
44
- }
45
- }
46
- get apiUrl() {
47
- var _a;
48
- if (this.showAllTags) {
49
- return 'api/techlify-tagger-tags';
50
- }
51
- else if (((_a = this.categories) === null || _a === void 0 ? void 0 : _a.length) > 0) {
52
- return 'api/techlify-tagger-tags?categories=' + this.categories.join(',');
53
- }
54
- else {
55
- return '';
56
- }
57
- }
58
- //Default Getter and Setters for a Form Field Implementation
59
- get empty() {
60
- return this.value.length == 0;
61
- }
62
- get shouldLabelFloat() {
63
- return this.focused || !this.empty;
64
- }
65
- get required() {
66
- return this._required;
67
- }
68
- set required(value) {
69
- this._required = coerceBooleanProperty(value);
70
- this.stateChanges.next();
71
- }
72
- get disabled() {
73
- return this._disabled;
74
- }
75
- set disabled(value) {
76
- this._disabled = coerceBooleanProperty(value);
77
- this._disabled ? this.tagSelectorCtrl.disable() : this.tagSelectorCtrl.enable();
78
- this.stateChanges.next();
79
- }
80
- get value() {
81
- return this._value;
82
- }
83
- set value(val) {
84
- this._value = val;
85
- this.tagSelectorCtrl.setValue(val);
86
- this.stateChanges.next();
87
- }
88
- get errorState() {
89
- return this.tagSelectorCtrl.dirty && this.required && (this.value.length == 0);
90
- }
91
- get placeholder() {
92
- return this._placeholder;
93
- }
94
- set placeholder(value) {
95
- this._placeholder = value;
96
- this.stateChanges.next();
97
- }
98
- ngOnInit() {
99
- if (this.useSelectButtonStyle) {
100
- this.httpService.get(this.apiUrl)
101
- .pipe(untilDestroyed(this))
102
- .subscribe((res) => {
103
- this.tags = res.data;
104
- });
105
- }
106
- }
107
- selectionChange(value) {
108
- this.value = value;
109
- this._handleInput();
110
- }
111
- setDescribedByIds(ids) {
112
- // Just a empty implementation for Mat Form Field Interface
113
- }
114
- onContainerClick() {
115
- // Just a empty implementation for Mat Form Field Interface
116
- }
117
- writeValue(val) {
118
- this.value = val;
119
- }
120
- registerOnChange(fn) {
121
- this.onChange = fn;
122
- }
123
- registerOnTouched(fn) {
124
- this.onTouched = fn;
125
- }
126
- setDisabledState(isDisabled) {
127
- this.disabled = isDisabled;
128
- }
129
- _handleInput() {
130
- this.onChange(this.value);
131
- }
132
- ngOnDestroy() {
133
- this.stateChanges.complete();
134
- this._focusMonitor.stopMonitoring(this._elementRef);
135
- }
136
- };
137
- TechlifyTaggerTagSelectorComponent.nextId = 0;
138
- TechlifyTaggerTagSelectorComponent.decorators = [
139
- { type: Component, args: [{
140
- selector: 'app-techlify-tagger-tag-selector',
141
- template: "<app-searchable-selector *ngIf=\"apiUrl && !useSelectButtonStyle\" [formControl]=\"tagSelectorCtrl\" [apiUrl]=\"apiUrl\"\r\n [enableSearch]=\"enableSearch\" [multiple]=\"multiple\" (selectionChange)=\"selectionChange($event)\">\r\n</app-searchable-selector>\r\n\r\n<mat-button-toggle-group *ngIf=\"apiUrl && useSelectButtonStyle\" [formControl]=\"tagSelectorCtrl\" [multiple]=\"multiple\"\r\n (change)=\"selectionChange($event.value)\">\r\n <mat-button-toggle *ngFor=\"let tag of tags\" [value]=\"tag.id\">{{tag.title}}</mat-button-toggle>\r\n</mat-button-toggle-group>",
142
- providers: [{ provide: MatFormFieldControl, useExisting: TechlifyTaggerTagSelectorComponent_1 }],
143
- styles: [""]
144
- },] }
145
- ];
146
- TechlifyTaggerTagSelectorComponent.ctorParameters = () => [
147
- { type: FocusMonitor },
148
- { type: ElementRef },
149
- { type: HttpService },
150
- { type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }] },
151
- { type: NgControl, decorators: [{ type: Optional }, { type: Self }] }
152
- ];
153
- TechlifyTaggerTagSelectorComponent.propDecorators = {
154
- categories: [{ type: Input }],
155
- multiple: [{ type: Input }],
156
- enableSearch: [{ type: Input }],
157
- showAllTags: [{ type: Input }],
158
- useSelectButtonStyle: [{ type: Input }],
159
- required: [{ type: Input }],
160
- disabled: [{ type: Input }],
161
- value: [{ type: Input }],
162
- placeholder: [{ type: Input }]
163
- };
164
- TechlifyTaggerTagSelectorComponent = TechlifyTaggerTagSelectorComponent_1 = __decorate([
165
- UntilDestroy()
166
- ], TechlifyTaggerTagSelectorComponent);
167
- export { TechlifyTaggerTagSelectorComponent };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLEtBQUssRUFBYSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQXdCLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7SUFTdEMsa0NBQWtDLGdEQUFsQyxrQ0FBa0M7SUF5RzdDLFlBQ1UsYUFBMkIsRUFDM0IsV0FBb0MsRUFDcEMsV0FBd0IsRUFDVyxVQUF3QixFQUN4QyxTQUFvQjtRQUp2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDVyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUE1R2pELCtDQUErQztRQUN0QyxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUUvQyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsMEJBQTBCLENBQUM7UUFDekMsT0FBRSxHQUFHLDRCQUE0QixvQ0FBa0MsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRS9FLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUErQmQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVdsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBbUR4QixtQkFBbUI7UUFDbkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUNyQztJQUNILENBQUM7SUF2R0QsSUFBSSxNQUFNOztRQUNSLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLDBCQUEwQixDQUFBO1NBQ2xDO2FBQ0ksSUFBSSxPQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sSUFBRyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxzQ0FBc0MsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzRTthQUNJO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFRCw0REFBNEQ7SUFDNUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBS0QsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFRO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7aUJBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzFCLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQXVCRCxpQkFBaUIsQ0FBQyxHQUFhO1FBQzdCLDJEQUEyRDtJQUM3RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsMkRBQTJEO0lBQzdELENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBS0QsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FFRixDQUFBO0FBdEpRLHlDQUFNLEdBQUcsQ0FBQyxDQUFDOztZQWxCbkIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLDhrQkFBNEQ7Z0JBRTVELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxvQ0FBa0MsRUFBRSxDQUFDOzthQUMvRjs7O1lBaEJRLFlBQVk7WUFFRCxVQUFVO1lBTXJCLFdBQVc7WUFKWCxZQUFZLHVCQTBIaEIsUUFBUSxZQUFJLE1BQU0sU0FBQyxjQUFjO1lBM0hNLFNBQVMsdUJBNEhoRCxRQUFRLFlBQUksSUFBSTs7O3lCQTNHbEIsS0FBSzt1QkFDTCxLQUFLOzJCQUNMLEtBQUs7MEJBRUwsS0FBSzttQ0FDTCxLQUFLO3VCQWtDTCxLQUFLO3VCQVVMLEtBQUs7b0JBYUwsS0FBSzswQkFjTCxLQUFLOztBQS9FSyxrQ0FBa0M7SUFQOUMsWUFBWSxFQUFFO0dBT0Ysa0NBQWtDLENBa0s5QztTQWxLWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBPbkRlc3Ryb3ksIEluamVjdCwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0Rm9ybUZpZWxkQ29udHJvbCwgTUFUX0ZPUk1fRklFTEQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC5zZXJ2aWNlJztcclxuXHJcbkBVbnRpbERlc3Ryb3koKVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS10YWdnZXItdGFnLXNlbGVjdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IFRlY2hsaWZ5VGFnZ2VyVGFnU2VsZWN0b3JDb21wb25lbnQgfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+LCBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipQYXNzIHRoZSBDYXRlZ29yaWVzIHRvIGZpbHRlciBmb3IgYSBtb2RlbCAqL1xyXG4gIEBJbnB1dCgpIGNhdGVnb3JpZXM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHRhZ1NlbGVjdG9yQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIEBJbnB1dCgpIHNob3dBbGxUYWdzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlU2VsZWN0QnV0dG9uU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgdGFnczogYW55W10gPSBbXTtcclxuXHJcbiAgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgY29udHJvbFR5cGUgPSAndGVjaGxpZnktdGFnZ2VyLXNlbGVjdG9yJztcclxuICBpZCA9IGB0ZWNobGlmeS10YWdnZXItc2VsZWN0b3ItJHtUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50Lm5leHRJZCsrfWA7XHJcblxyXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgZ2V0IGFwaVVybCgpIHtcclxuICAgIGlmICh0aGlzLnNob3dBbGxUYWdzKSB7XHJcbiAgICAgIHJldHVybiAnYXBpL3RlY2hsaWZ5LXRhZ2dlci10YWdzJ1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5jYXRlZ29yaWVzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiAnYXBpL3RlY2hsaWZ5LXRhZ2dlci10YWdzP2NhdGVnb3JpZXM9JyArIHRoaXMuY2F0ZWdvcmllcy5qb2luKCcsJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9EZWZhdWx0IEdldHRlciBhbmQgU2V0dGVycyBmb3IgYSBGb3JtIEZpZWxkIEltcGxlbWVudGF0aW9uXHJcbiAgZ2V0IGVtcHR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoID09IDA7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gIH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuX2Rpc2FibGVkID8gdGhpcy50YWdTZWxlY3RvckN0cmwuZGlzYWJsZSgpIDogdGhpcy50YWdTZWxlY3RvckN0cmwuZW5hYmxlKCk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG5cclxuICBwcml2YXRlIF92YWx1ZTogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWw7XHJcbiAgICB0aGlzLnRhZ1NlbGVjdG9yQ3RybC5zZXRWYWx1ZSh2YWwpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50YWdTZWxlY3RvckN0cmwuZGlydHkgJiYgdGhpcy5yZXF1aXJlZCAmJiAodGhpcy52YWx1ZS5sZW5ndGggPT0gMCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gIH1cclxuICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXNlU2VsZWN0QnV0dG9uU3R5bGUpIHtcclxuICAgICAgdGhpcy5odHRwU2VydmljZS5nZXQodGhpcy5hcGlVcmwpXHJcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudGFncyA9IHJlcy5kYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3Rpb25DaGFuZ2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5faGFuZGxlSW5wdXQoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRk9STV9GSUVMRCkgcHVibGljIF9mb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCxcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcblxyXG4gICAgLy9TZXQgRm9jdXMgTW9uaXRvclxyXG4gICAgX2ZvY3VzTW9uaXRvci5tb25pdG9yKF9lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcclxuICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiAhb3JpZ2luKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICAvLyBKdXN0IGEgZW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIE1hdCBGb3JtIEZpZWxkIEludGVyZmFjZVxyXG4gIH1cclxuXHJcbiAgb25Db250YWluZXJDbGljaygpIHtcclxuICAgIC8vIEp1c3QgYSBlbXB0eSBpbXBsZW1lbnRhdGlvbiBmb3IgTWF0IEZvcm0gRmllbGQgSW50ZXJmYWNlXHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVJbnB1dCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVxdWlyZWQ6IEJvb2xlYW5JbnB1dDtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,29 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TechlifyTaggerTagSelectorComponent } from './techlify-tagger-tag-selector.component';
4
- import { FlexLayoutModule } from '@angular/flex-layout';
5
- import { ReactiveFormsModule } from '@angular/forms';
6
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
7
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
8
- import { MaterialModule } from '../material.module';
9
- import { SearchableSelectorModule } from '../searchable-selector/searchable-selector.module';
10
- export class TechlifyTaggerTagSelectorModule {
11
- }
12
- TechlifyTaggerTagSelectorModule.decorators = [
13
- { type: NgModule, args: [{
14
- declarations: [
15
- TechlifyTaggerTagSelectorComponent
16
- ],
17
- imports: [
18
- CommonModule,
19
- MaterialModule,
20
- FlexLayoutModule,
21
- MatAutocompleteModule,
22
- ReactiveFormsModule,
23
- SearchableSelectorModule,
24
- MatButtonToggleModule
25
- ],
26
- exports: [TechlifyTaggerTagSelectorComponent]
27
- },] }
28
- ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXRhZ2dlci10YWctc2VsZWN0b3IvdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBbUI3RixNQUFNLE9BQU8sK0JBQStCOzs7WUFmM0MsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixrQ0FBa0M7aUJBQ25DO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLG1CQUFtQjtvQkFDbkIsd0JBQXdCO29CQUN4QixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2FBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVGVjaGxpZnlUYWdnZXJUYWdTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2hhYmxlLXNlbGVjdG9yL3NlYXJjaGFibGUtc2VsZWN0b3IubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRlY2hsaWZ5VGFnZ2VyVGFnU2VsZWN0b3JDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtUZWNobGlmeVRhZ2dlclRhZ1NlbGVjdG9yQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlUYWdnZXJUYWdTZWxlY3Rvck1vZHVsZSB7IH1cclxuIl19
@@ -1,114 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { AlertService } from "../../core/alert.service";
3
- import { TechlifyUpdateService } from './../techlify-update.service';
4
- import { FormControl, Validators } from '@angular/forms';
5
- import { Component, EventEmitter, Inject, Output } from '@angular/core';
6
- import { FormBuilder } from '@angular/forms';
7
- import { FormValidatorService } from '../../core/form-validator.service';
8
- import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
9
- import { Editor } from 'ngx-editor';
10
- const errorMessages = {
11
- title: {
12
- required: "Title is required",
13
- },
14
- released_on: {
15
- required: "Released On is required",
16
- },
17
- version: {
18
- required: "Version is required",
19
- },
20
- description: {
21
- required: "Description is required",
22
- },
23
- learn_more_link: {
24
- pattern: "Please enter valid link",
25
- }
26
- };
27
- export class TechlifyUpdateFormComponent {
28
- constructor(dialogRef, data, fb, formValidatorService, alertService, techlifyUpdateService) {
29
- this.dialogRef = dialogRef;
30
- this.data = data;
31
- this.fb = fb;
32
- this.formValidatorService = formValidatorService;
33
- this.alertService = alertService;
34
- this.techlifyUpdateService = techlifyUpdateService;
35
- this.onSave = new EventEmitter();
36
- this.isUpdateMode = false;
37
- this.toolbar = [
38
- ['bold', 'italic'],
39
- ['bullet_list'],
40
- ];
41
- this.createForm();
42
- }
43
- createForm() {
44
- this.techlifyUpdateForm = this.fb.group({
45
- id: new FormControl(''),
46
- title: new FormControl('', Validators.required),
47
- description: new FormControl('', Validators.required),
48
- version: new FormControl('', Validators.required),
49
- released_on: new FormControl('', Validators.required),
50
- learn_more_link: new FormControl('', Validators.compose([Validators.pattern('(https?://)?([\\da-z.-]+)\\.([a-z.]{2,6})[/\\w .-]*/?')])),
51
- });
52
- if (this.data.techlifyUpdateDetails) {
53
- this.isUpdateMode = true;
54
- this.techlifyUpdateForm.patchValue(this.data.techlifyUpdateDetails);
55
- }
56
- }
57
- ngOnInit() {
58
- this.editor = new Editor();
59
- }
60
- submit() {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- if (this.techlifyUpdateForm.valid) {
63
- let result;
64
- const model = this.techlifyUpdateForm.value;
65
- try {
66
- result = this.isUpdateMode ? yield this.techlifyUpdateService.updateTechlifyUpdate(model)
67
- : yield this.techlifyUpdateService.createTechlifyUpdate(model);
68
- this.alertService.addAlert("Techlify app update saved successfully", "success");
69
- }
70
- catch (error) {
71
- this.alertService.addAlert("Unable to process, try later", "warn");
72
- }
73
- finally {
74
- if (result) {
75
- this.dialogRef.close(result);
76
- }
77
- }
78
- }
79
- });
80
- }
81
- resetFieldValue(field) {
82
- this.techlifyUpdateForm.get(field).setValue('');
83
- }
84
- getFieldValue(field) {
85
- return this.techlifyUpdateForm.get(field).value;
86
- }
87
- /** Method to evaluate form fields*/
88
- isFieldValid(field) {
89
- return this.formValidatorService.isFieldValid(field, this.techlifyUpdateForm, true);
90
- }
91
- /** Method to find error in form fields*/
92
- getErrorMessage(field) {
93
- return this.formValidatorService.getErrorMessage(field, this.techlifyUpdateForm, errorMessages);
94
- }
95
- }
96
- TechlifyUpdateFormComponent.decorators = [
97
- { type: Component, args: [{
98
- selector: 'app-techlify-update-form',
99
- template: "<form [formGroup]=\"techlifyUpdateForm\" (ngSubmit)=\"submit()\">\r\n <div fxLayout=\"column\" class=\"mat-typography\">\r\n <div mat-dialog-title class=\"text-center\">\r\n <h2>\r\n App Update Form\r\n </h2>\r\n </div>\r\n <div mat-dialog-content fxLayout=\"column\" fxLayoutGap=\"1rem\">\r\n <mat-form-field fxFlex=\"100%\">\r\n <mat-label>Title</mat-label>\r\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" required />\r\n <button mat-button *ngIf=\"getFieldValue('title')\" matSuffix mat-icon-button (click)=\"resetFieldValue('title')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"isFieldValid('title')\">\r\n {{getErrorMessage('title')}}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field fxFlex=\"100%\">\r\n <input matInput [matDatepicker]=\"released_on\" formControlName=\"released_on\" placeholder=\"Released on\" readonly\r\n (click)=\"released_on.open()\" required />\r\n <mat-datepicker-toggle matSuffix [for]=\"released_on\"></mat-datepicker-toggle>\r\n <mat-datepicker #released_on></mat-datepicker>\r\n <button mat-button *ngIf=\"getFieldValue('released_on')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('released_on')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"isFieldValid('released_on')\">\r\n {{getErrorMessage('released_on')}}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field fxFlex=\"100%\">\r\n <mat-label>Version</mat-label>\r\n <input matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" required />\r\n <button mat-button *ngIf=\"getFieldValue('version')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('version')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"isFieldValid('version')\">\r\n {{getErrorMessage('version')}}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field fxFlex=\"100%\">\r\n <mat-label>Learn more link</mat-label>\r\n <input matInput formControlName=\"learn_more_link\" placeholder=\"Learn More Link\" autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"getFieldValue('learn_more_link')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('learn_more_link')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"isFieldValid('learn_more_link')\">\r\n {{getErrorMessage('learn_more_link')}}\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <div fxFlex=\"100%\">\r\n <div class=\"NgxEditor__Wrapper\">\r\n <ngx-editor-menu [toolbar]=\"toolbar\" [editor]=\"editor\"> </ngx-editor-menu>\r\n <ngx-editor formControlName=\"description\" [editor]=\"editor\" placeholder=\"Description\">\r\n </ngx-editor>\r\n </div>\r\n <mat-error *ngIf=\"isFieldValid('description')\">\r\n {{getErrorMessage('description')}}\r\n </mat-error>\r\n </div>\r\n </div>\r\n <div mat-dialog-actions fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\r\n <button mat-button class=\"mt-2\" type=\"button\" (click)=\"dialogRef.close()\">\r\n Cancel\r\n </button>\r\n <button mat-raised-button type=\"submit\" class=\"btn-primary mt-2\">\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n</form>",
100
- styles: [""]
101
- },] }
102
- ];
103
- TechlifyUpdateFormComponent.ctorParameters = () => [
104
- { type: MatDialogRef },
105
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
106
- { type: FormBuilder },
107
- { type: FormValidatorService },
108
- { type: AlertService },
109
- { type: TechlifyUpdateService }
110
- ];
111
- TechlifyUpdateFormComponent.propDecorators = {
112
- onSave: [{ type: Output }]
113
- };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQVcsTUFBTSxZQUFZLENBQUM7QUFFN0MsTUFBTSxhQUFhLEdBQVE7SUFDekIsS0FBSyxFQUFFO1FBQ0wsUUFBUSxFQUFFLG1CQUFtQjtLQUM5QjtJQUNELFdBQVcsRUFBRTtRQUNYLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEM7SUFDRCxPQUFPLEVBQUU7UUFDUCxRQUFRLEVBQUUscUJBQXFCO0tBQ2hDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSx5QkFBeUI7S0FDbkM7Q0FDRixDQUFBO0FBT0QsTUFBTSxPQUFPLDJCQUEyQjtJQVd0QyxZQUNTLFNBQW9ELEVBQzNCLElBQVMsRUFDakMsRUFBZSxFQUNmLG9CQUEwQyxFQUMxQyxZQUEwQixFQUMxQixxQkFBNEM7UUFMN0MsY0FBUyxHQUFULFNBQVMsQ0FBMkM7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBZjVDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTNDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLFlBQU8sR0FBWTtZQUNqQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7WUFDbEIsQ0FBQyxhQUFhLENBQUM7U0FDaEIsQ0FBQztRQVVBLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEMsRUFBRSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN2QixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0MsV0FBVyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3JELE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRCxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsZUFBZSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4SSxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUssTUFBTTs7WUFDVixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLElBQUksTUFBTSxDQUFDO2dCQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7Z0JBRTVDLElBQUk7b0JBQ0YsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQzt3QkFDdkYsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDeEIsd0NBQXdDLEVBQ3hDLFNBQVMsQ0FDVixDQUFDO2lCQUNIO2dCQUFDLE9BQU8sS0FBSyxFQUFFO29CQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUNwRTt3QkFBUztvQkFDUixJQUFJLE1BQU0sRUFBRTt3QkFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDOUI7aUJBQ0Y7YUFDRjtRQUNILENBQUM7S0FBQTtJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELHlDQUF5QztJQUN6QyxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRyxDQUFDOzs7WUFuRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLGdqSEFBb0Q7O2FBRXJEOzs7WUF6QlEsWUFBWTs0Q0F1Q2hCLE1BQU0sU0FBQyxlQUFlO1lBekNsQixXQUFXO1lBQ1gsb0JBQW9CO1lBTHBCLFlBQVk7WUFDWixxQkFBcUI7OztxQkFpQzNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9hbGVydC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRlY2hsaWZ5VXBkYXRlU2VydmljZSB9IGZyb20gJy4vLi4vdGVjaGxpZnktdXBkYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEVkaXRvciwgVG9vbGJhciB9IGZyb20gJ25neC1lZGl0b3InO1xyXG5cclxuY29uc3QgZXJyb3JNZXNzYWdlczogYW55ID0ge1xyXG4gIHRpdGxlOiB7XHJcbiAgICByZXF1aXJlZDogXCJUaXRsZSBpcyByZXF1aXJlZFwiLFxyXG4gIH0sXHJcbiAgcmVsZWFzZWRfb246IHtcclxuICAgIHJlcXVpcmVkOiBcIlJlbGVhc2VkIE9uIGlzIHJlcXVpcmVkXCIsXHJcbiAgfSxcclxuICB2ZXJzaW9uOiB7XHJcbiAgICByZXF1aXJlZDogXCJWZXJzaW9uIGlzIHJlcXVpcmVkXCIsXHJcbiAgfSxcclxuICBkZXNjcmlwdGlvbjoge1xyXG4gICAgcmVxdWlyZWQ6IFwiRGVzY3JpcHRpb24gaXMgcmVxdWlyZWRcIixcclxuICB9LFxyXG4gIGxlYXJuX21vcmVfbGluazoge1xyXG4gICAgcGF0dGVybjogXCJQbGVhc2UgZW50ZXIgdmFsaWQgbGlua1wiLFxyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGVjaGxpZnktdXBkYXRlLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWNobGlmeS11cGRhdGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlVcGRhdGVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQE91dHB1dCgpIG9uU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHRlY2hsaWZ5VXBkYXRlRm9ybTogRm9ybUdyb3VwO1xyXG4gIGlzVXBkYXRlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVkaXRvcjogRWRpdG9yO1xyXG4gIHRvb2xiYXI6IFRvb2xiYXIgPSBbXHJcbiAgICBbJ2JvbGQnLCAnaXRhbGljJ10sXHJcbiAgICBbJ2J1bGxldF9saXN0J10sXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVjaGxpZnlVcGRhdGVGb3JtQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRlY2hsaWZ5VXBkYXRlU2VydmljZTogVGVjaGxpZnlVcGRhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgIHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHZlcnNpb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHJlbGVhc2VkX29uOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICBsZWFybl9tb3JlX2xpbms6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnBhdHRlcm4oJyhodHRwcz86Ly8pPyhbXFxcXGRhLXouLV0rKVxcXFwuKFthLXouXXsyLDZ9KVsvXFxcXHcgLi1dKi8/JyldKSksXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmRhdGEudGVjaGxpZnlVcGRhdGVEZXRhaWxzKSB7XHJcbiAgICAgIHRoaXMuaXNVcGRhdGVNb2RlID0gdHJ1ZTtcclxuICAgICAgdGhpcy50ZWNobGlmeVVwZGF0ZUZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmRhdGEudGVjaGxpZnlVcGRhdGVEZXRhaWxzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9yKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy50ZWNobGlmeVVwZGF0ZUZvcm0udmFsaWQpIHtcclxuICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLnRlY2hsaWZ5VXBkYXRlRm9ybS52YWx1ZTtcclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5pc1VwZGF0ZU1vZGUgPyBhd2FpdCB0aGlzLnRlY2hsaWZ5VXBkYXRlU2VydmljZS51cGRhdGVUZWNobGlmeVVwZGF0ZShtb2RlbClcclxuICAgICAgICAgIDogYXdhaXQgdGhpcy50ZWNobGlmeVVwZGF0ZVNlcnZpY2UuY3JlYXRlVGVjaGxpZnlVcGRhdGUobW9kZWwpO1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxyXG4gICAgICAgICAgXCJUZWNobGlmeSBhcHAgdXBkYXRlIHNhdmVkIHN1Y2Nlc3NmdWxseVwiLFxyXG4gICAgICAgICAgXCJzdWNjZXNzXCJcclxuICAgICAgICApO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFwiVW5hYmxlIHRvIHByb2Nlc3MsIHRyeSBsYXRlclwiLCBcIndhcm5cIik7XHJcbiAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRlY2hsaWZ5VXBkYXRlRm9ybS5nZXQoZmllbGQpLnNldFZhbHVlKCcnKTtcclxuICB9XHJcblxyXG4gIGdldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMudGVjaGxpZnlVcGRhdGVGb3JtLmdldChmaWVsZCkudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKiogTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cclxuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLnRlY2hsaWZ5VXBkYXRlRm9ybSwgdHJ1ZSk7XHJcbiAgfVxyXG4gIC8qKiBNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShmaWVsZCwgdGhpcy50ZWNobGlmeVVwZGF0ZUZvcm0sIGVycm9yTWVzc2FnZXMpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,28 +0,0 @@
1
- import { FlexLayoutModule } from '@angular/flex-layout';
2
- import { ReactiveFormsModule } from '@angular/forms';
3
- import { MaterialModule } from './../../material.module';
4
- import { NgModule } from '@angular/core';
5
- import { CommonModule } from '@angular/common';
6
- import { TechlifyUpdateFormComponent } from './techlify-update-form.component';
7
- import { NgxEditorModule } from 'ngx-editor';
8
- export class TechlifyUpdateFormModule {
9
- }
10
- TechlifyUpdateFormModule.decorators = [
11
- { type: NgModule, args: [{
12
- declarations: [TechlifyUpdateFormComponent],
13
- imports: [
14
- CommonModule,
15
- ReactiveFormsModule,
16
- MaterialModule,
17
- FlexLayoutModule,
18
- NgxEditorModule,
19
- ],
20
- exports: [
21
- TechlifyUpdateFormComponent
22
- ],
23
- entryComponents: [
24
- TechlifyUpdateFormComponent
25
- ]
26
- },] }
27
- ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBa0I3QyxNQUFNLE9BQU8sd0JBQXdCOzs7WUFoQnBDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDM0MsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDJCQUEyQjtpQkFDNUI7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLDJCQUEyQjtpQkFDNUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXVwZGF0ZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5neEVkaXRvck1vZHVsZSB9IGZyb20gJ25neC1lZGl0b3InO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBOZ3hFZGl0b3JNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUZWNobGlmeVVwZGF0ZUZvcm1Db21wb25lbnRcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgVGVjaGxpZnlVcGRhdGVGb3JtQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlVcGRhdGVGb3JtTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,22 +0,0 @@
1
- import { TechlifyUpdateHistoryComponent } from './techlify-update-history.component';
2
- import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- const routes = [
5
- { path: '', redirectTo: 'update-history', pathMatch: 'full' },
6
- { path: 'update-history', component: TechlifyUpdateHistoryComponent },
7
- //fallback
8
- {
9
- path: '**',
10
- redirectTo: 'all',
11
- pathMatch: 'full'
12
- }
13
- ];
14
- export class TechlifyUpdateHistoryRoutingModule {
15
- }
16
- TechlifyUpdateHistoryRoutingModule.decorators = [
17
- { type: NgModule, args: [{
18
- imports: [RouterModule.forChild(routes)],
19
- exports: [RouterModule]
20
- },] }
21
- ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3Rvcnktcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxNQUFNLE1BQU0sR0FBVztJQUNyQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDN0QsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLDhCQUE4QixFQUFFO0lBRXJFLFVBQVU7SUFDVjtRQUNFLElBQUksRUFBRSxJQUFJO1FBQ1YsVUFBVSxFQUFFLEtBQUs7UUFDakIsU0FBUyxFQUFFLE1BQU07S0FDbEI7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLGtDQUFrQzs7O1lBSjlDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHsgcGF0aDogJycsIHJlZGlyZWN0VG86ICd1cGRhdGUtaGlzdG9yeScsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXHJcbiAgeyBwYXRoOiAndXBkYXRlLWhpc3RvcnknLCBjb21wb25lbnQ6IFRlY2hsaWZ5VXBkYXRlSGlzdG9yeUNvbXBvbmVudCB9LFxyXG5cclxuICAvL2ZhbGxiYWNrXHJcbiAge1xyXG4gICAgcGF0aDogJyoqJyxcclxuICAgIHJlZGlyZWN0VG86ICdhbGwnLFxyXG4gICAgcGF0aE1hdGNoOiAnZnVsbCdcclxuICB9XHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5VXBkYXRlSGlzdG9yeVJvdXRpbmdNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,143 +0,0 @@
1
- import { __awaiter, __decorate } from "tslib";
2
- import { UntilDestroy } from '@ngneat/until-destroy';
3
- import { untilDestroyed } from '@ngneat/until-destroy';
4
- import { AlertService } from './../../core/alert.service';
5
- import { UpdateViewComponent } from './../update-view/update-view.component';
6
- import { TechlifyUpdateService } from './../techlify-update.service';
7
- import { FormControl, FormBuilder } from '@angular/forms';
8
- import { MatDialog } from '@angular/material/dialog';
9
- import { Component } from '@angular/core';
10
- import { debounceTime } from 'rxjs/operators';
11
- let TechlifyUpdateHistoryComponent = class TechlifyUpdateHistoryComponent {
12
- constructor(dialog, techlifyUpdateService, fb, alertService) {
13
- this.dialog = dialog;
14
- this.techlifyUpdateService = techlifyUpdateService;
15
- this.fb = fb;
16
- this.alertService = alertService;
17
- this.techlifyUpdates = [];
18
- this.displayedColumns = [
19
- 'index',
20
- 'title',
21
- 'version',
22
- 'released_on',
23
- 'learn_more_link',
24
- 'description',
25
- 'creator',
26
- 'actions'
27
- ];
28
- this.page = 1;
29
- this.perPage = 25;
30
- this.isWorking = false;
31
- this.filterFormGroup = this.fb.group({
32
- search: new FormControl(''),
33
- version: new FormControl(''),
34
- sort_by: new FormControl('released_on|DESC'),
35
- });
36
- }
37
- ngOnInit() {
38
- this.loadData();
39
- this.listenChanges();
40
- this.updateCurrentUserUpdates();
41
- }
42
- listenChanges() {
43
- this.filterFormGroup.valueChanges.pipe(debounceTime(500), untilDestroyed(this))
44
- .subscribe(changes => {
45
- this.reload();
46
- });
47
- }
48
- ngOnDestroy() { }
49
- loadData() {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- try {
52
- this.isWorking = true;
53
- var filters = this.filterFormGroup.value;
54
- filters.perPage = this.perPage;
55
- filters.page = this.page;
56
- let result = yield this.techlifyUpdateService.getTechlifyUpdates(filters);
57
- this.lastPage = result.last_page || this.page;
58
- this.techlifyUpdates = this.techlifyUpdates.concat(result.data);
59
- }
60
- catch (error) {
61
- this.alertService.addAlert("Unable to process, try later", "warn");
62
- }
63
- finally {
64
- this.isWorking = false;
65
- }
66
- });
67
- }
68
- reload() {
69
- this.techlifyUpdates = [];
70
- this.page = 1;
71
- if (!this.isWorking) {
72
- this.loadData();
73
- }
74
- }
75
- onScroll() {
76
- if (!this.isWorking && this.page < this.lastPage) {
77
- this.page += 1;
78
- this.loadData();
79
- }
80
- }
81
- resetFieldValue(field) {
82
- this.filterFormGroup.get(field).setValue("");
83
- }
84
- sortColumn(event) {
85
- var direction = event.direction.toString().toUpperCase();
86
- this.assignFilter(event.active, direction);
87
- }
88
- assignFilter(column, direction) {
89
- switch (column) {
90
- case 'title': {
91
- return this.filterFormGroup.get('sort_by').setValue("title|" + direction);
92
- }
93
- case 'released_on': {
94
- return this.filterFormGroup.get('sort_by').setValue("released_on|" + direction);
95
- }
96
- case 'version': {
97
- return this.filterFormGroup.get('sort_by').setValue("version|" + direction);
98
- }
99
- default: {
100
- return this.filterFormGroup.get('sort_by').setValue("created_at|DESC");
101
- }
102
- }
103
- ;
104
- }
105
- openUpdateView(techlifyUpdate) {
106
- const dialogRef = this.dialog.open(UpdateViewComponent, {
107
- width: "800px",
108
- autoFocus: false,
109
- data: {
110
- techlifyUpdate: techlifyUpdate,
111
- isFromHistory: true,
112
- } // Any data passed here will be injected into the model
113
- });
114
- }
115
- updateCurrentUserUpdates() {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- try {
118
- yield this.techlifyUpdateService.updateCurrentUserUpdates();
119
- }
120
- catch (error) {
121
- this.alertService.addAlert("Unable to process, try later", "warn");
122
- }
123
- });
124
- }
125
- };
126
- TechlifyUpdateHistoryComponent.decorators = [
127
- { type: Component, args: [{
128
- selector: 'app-techlify-update-history',
129
- template: "<section class=\"p-4\" fxLayout=\"column\">\r\n <h3 class=\"primary-color text-center\">\r\n App Updates\r\n </h3>\r\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\r\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\r\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\r\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('search')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\r\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\r\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('version')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </form>\r\n\r\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\r\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\r\n (scrolled)=\"onScroll()\">\r\n\r\n <!-- Index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef> # </th>\r\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\r\n </ng-container>\r\n\r\n <!-- Course Column -->\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\r\n </ng-container>\r\n\r\n <!-- Version Column -->\r\n <ng-container matColumnDef=\"version\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\r\n </ng-container>\r\n\r\n <!-- Released On Column -->\r\n <ng-container matColumnDef=\"released_on\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\r\n </ng-container>\r\n\r\n <!-- Learn More Link Column -->\r\n <ng-container matColumnDef=\"learn_more_link\">\r\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\r\n {{element?.learn_more_link}}\r\n </a>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Description Column -->\r\n <ng-container matColumnDef=\"description\">\r\n <th mat-header-cell *matHeaderCellDef> Description </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Creator Column -->\r\n <ng-container matColumnDef=\"creator\">\r\n <th mat-header-cell *matHeaderCellDef> Creator </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{element?.creator?.name}}\r\n <div fxLayout class=\"small\">\r\n {{element?.created_at | date : 'mediumDate'}}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Actions Column -->\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef> Actions </th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\r\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"openUpdateView(element)\">\r\n <mat-icon>remove_red_eye</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</section>\r\n",
130
- styles: [""]
131
- },] }
132
- ];
133
- TechlifyUpdateHistoryComponent.ctorParameters = () => [
134
- { type: MatDialog },
135
- { type: TechlifyUpdateService },
136
- { type: FormBuilder },
137
- { type: AlertService }
138
- ];
139
- TechlifyUpdateHistoryComponent = __decorate([
140
- UntilDestroy()
141
- ], TechlifyUpdateHistoryComponent);
142
- export { TechlifyUpdateHistoryComponent };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztJQVFqQyw4QkFBOEIsU0FBOUIsOEJBQThCO0lBa0J6QyxZQUNVLE1BQWlCLEVBQ2pCLHFCQUE0QyxFQUM1QyxFQUFlLEVBQ2YsWUFBMEI7UUFIMUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXJCcEMsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFDNUIscUJBQWdCLEdBQWE7WUFDM0IsT0FBTztZQUNQLE9BQU87WUFD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QXFCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQzthQUM3RDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7WUFqSUEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLG8wSUFBdUQ7O2FBRXhEOzs7WUFUUSxTQUFTO1lBSFQscUJBQXFCO1lBQ1IsV0FBVztZQUh4QixZQUFZOztBQWVSLDhCQUE4QjtJQU4xQyxZQUFZLEVBQUU7R0FNRiw4QkFBOEIsQ0E0SDFDO1NBNUhZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XHJcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9jb3JlL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVcGRhdGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi8uLi91cGRhdGUtdmlldy91cGRhdGUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZWNobGlmeVVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuLy4uL3RlY2hsaWZ5LXVwZGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBVbnRpbERlc3Ryb3koKVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS11cGRhdGUtaGlzdG9yeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVVwZGF0ZUhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRlY2hsaWZ5VXBkYXRlczogYW55W10gPSBbXTtcclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcclxuICAgICdpbmRleCcsXHJcbiAgICAndGl0bGUnLFxyXG4gICAgJ3ZlcnNpb24nLFxyXG4gICAgJ3JlbGVhc2VkX29uJyxcclxuICAgICdsZWFybl9tb3JlX2xpbmsnLFxyXG4gICAgJ2Rlc2NyaXB0aW9uJyxcclxuICAgICdjcmVhdG9yJyxcclxuICAgICdhY3Rpb25zJ1xyXG4gIF07XHJcbiAgcGFnZTogbnVtYmVyID0gMTtcclxuICBsYXN0UGFnZTogbnVtYmVyO1xyXG4gIHBlclBhZ2U6IG51bWJlciA9IDI1O1xyXG4gIGlzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGZpbHRlckZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHRlY2hsaWZ5VXBkYXRlU2VydmljZTogVGVjaGxpZnlVcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBzZWFyY2g6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAgIHZlcnNpb246IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAgIHNvcnRfYnk6IG5ldyBGb3JtQ29udHJvbCgncmVsZWFzZWRfb258REVTQycpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICAgIHRoaXMubGlzdGVuQ2hhbmdlcygpO1xyXG4gICAgdGhpcy51cGRhdGVDdXJyZW50VXNlclVwZGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIGxpc3RlbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXHJcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHsgfVxyXG5cclxuICBhc3luYyBsb2FkRGF0YSgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcclxuICAgICAgdmFyIGZpbHRlcnM6IGFueSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xyXG4gICAgICBmaWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XHJcbiAgICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcclxuICAgICAgbGV0IHJlc3VsdDogYW55ID0gYXdhaXQgdGhpcy50ZWNobGlmeVVwZGF0ZVNlcnZpY2UuZ2V0VGVjaGxpZnlVcGRhdGVzKFxyXG4gICAgICAgIGZpbHRlcnNcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3VsdC5sYXN0X3BhZ2UgfHwgdGhpcy5wYWdlO1xyXG4gICAgICB0aGlzLnRlY2hsaWZ5VXBkYXRlcyA9IHRoaXMudGVjaGxpZnlVcGRhdGVzLmNvbmNhdChyZXN1bHQuZGF0YSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcIlVuYWJsZSB0byBwcm9jZXNzLCB0cnkgbGF0ZXJcIiwgXCJ3YXJuXCIpO1xyXG4gICAgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRlY2hsaWZ5VXBkYXRlcyA9IFtdO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIGlmICghdGhpcy5pc1dvcmtpbmcpIHtcclxuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TY3JvbGwoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNXb3JraW5nICYmIHRoaXMucGFnZSA8IHRoaXMubGFzdFBhZ2UpIHtcclxuICAgICAgdGhpcy5wYWdlICs9IDE7XHJcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoZmllbGQpLnNldFZhbHVlKFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgc29ydENvbHVtbihldmVudCkge1xyXG4gICAgdmFyIGRpcmVjdGlvbiA9IGV2ZW50LmRpcmVjdGlvbi50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLmFzc2lnbkZpbHRlcihldmVudC5hY3RpdmUsIGRpcmVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBhc3NpZ25GaWx0ZXIoY29sdW1uLCBkaXJlY3Rpb24pIHtcclxuICAgIHN3aXRjaCAoY29sdW1uKSB7XHJcbiAgICAgIGNhc2UgJ3RpdGxlJzoge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoJ3NvcnRfYnknKS5zZXRWYWx1ZShcInRpdGxlfFwiICsgZGlyZWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdyZWxlYXNlZF9vbic6IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoXCJyZWxlYXNlZF9vbnxcIiArIGRpcmVjdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAndmVyc2lvbic6IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoXCJ2ZXJzaW9ufFwiICsgZGlyZWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldCgnc29ydF9ieScpLnNldFZhbHVlKFwiY3JlYXRlZF9hdHxERVNDXCIpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb3BlblVwZGF0ZVZpZXcodGVjaGxpZnlVcGRhdGU6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVcGRhdGVWaWV3Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjgwMHB4XCIsXHJcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0ZWNobGlmeVVwZGF0ZTogdGVjaGxpZnlVcGRhdGUsXHJcbiAgICAgICAgaXNGcm9tSGlzdG9yeTogdHJ1ZSxcclxuICAgICAgfSAvLyBBbnkgZGF0YSBwYXNzZWQgaGVyZSB3aWxsIGJlIGluamVjdGVkIGludG8gdGhlIG1vZGVsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZUN1cnJlbnRVc2VyVXBkYXRlcygpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMudGVjaGxpZnlVcGRhdGVTZXJ2aWNlLnVwZGF0ZUN1cnJlbnRVc2VyVXBkYXRlcygpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXCJVbmFibGUgdG8gcHJvY2VzcywgdHJ5IGxhdGVyXCIsIFwid2FyblwiKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19