ngx-techlify-core 11.4.8 → 11.4.9

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 (341) hide show
  1. package/README.md +24 -24
  2. package/bundles/ngx-techlify-core.umd.js +8085 -8047
  3. package/bundles/ngx-techlify-core.umd.js.map +1 -1
  4. package/bundles/ngx-techlify-core.umd.min.js +1 -1
  5. package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
  6. package/esm2015/lib/action-popup/action-popup.component.js +32 -32
  7. package/esm2015/lib/action-popup/action-popup.model.js +3 -3
  8. package/esm2015/lib/action-popup/action-popup.module.js +26 -26
  9. package/esm2015/lib/action-popup/index.js +3 -3
  10. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +12 -12
  11. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +49 -49
  12. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +25 -25
  13. package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +12 -12
  14. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +132 -132
  15. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +29 -29
  16. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +12 -12
  17. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +67 -67
  18. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +25 -25
  19. package/esm2015/lib/audit-log/audit-log-routing.module.js +19 -19
  20. package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +12 -12
  21. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +60 -60
  22. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +21 -21
  23. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +12 -12
  24. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +57 -57
  25. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +21 -21
  26. package/esm2015/lib/audit-log/audit-log.module.js +20 -20
  27. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +12 -12
  28. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +35 -35
  29. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +21 -21
  30. package/esm2015/lib/base-model/index.js +4 -4
  31. package/esm2015/lib/base-model/techlify-form-component.class.js +51 -51
  32. package/esm2015/lib/base-model/techlify-listing-component.class.js +41 -41
  33. package/esm2015/lib/base-model/techlify-service.class.js +64 -64
  34. package/esm2015/lib/core/alert.service.js +39 -39
  35. package/esm2015/lib/core/api-prefix.interceptor.js +28 -28
  36. package/esm2015/lib/core/authentication.guard.js +39 -39
  37. package/esm2015/lib/core/authentication.service.js +59 -59
  38. package/esm2015/lib/core/cache.interceptor.js +60 -60
  39. package/esm2015/lib/core/config.service.js +47 -47
  40. package/esm2015/lib/core/core.module.js +42 -42
  41. package/esm2015/lib/core/credentials.service.js +84 -84
  42. package/esm2015/lib/core/dataManager.service.js +120 -120
  43. package/esm2015/lib/core/error-handler.interceptor.js +53 -53
  44. package/esm2015/lib/core/error-handler.service.js +59 -59
  45. package/esm2015/lib/core/form-validator.service.js +23 -23
  46. package/esm2015/lib/core/header.interceptor.js +22 -22
  47. package/esm2015/lib/core/http-cache.service.js +110 -110
  48. package/esm2015/lib/core/http.service.js +82 -82
  49. package/esm2015/lib/core/index.js +21 -21
  50. package/esm2015/lib/core/logger.service.js +100 -100
  51. package/esm2015/lib/core/route-reusable-strategy.js +35 -35
  52. package/esm2015/lib/core/snack/snack.component.js +33 -33
  53. package/esm2015/lib/core/snack/snack.module.js +25 -25
  54. package/esm2015/lib/core/storage.service.js +36 -36
  55. package/esm2015/lib/core/techlify-config.model.js +28 -28
  56. package/esm2015/lib/core/token.interceptor.js +30 -30
  57. package/esm2015/lib/data-table/data-table.component.js +190 -190
  58. package/esm2015/lib/data-table/data-table.model.js +11 -11
  59. package/esm2015/lib/data-table/data-table.module.js +25 -25
  60. package/esm2015/lib/data-table/index.js +3 -3
  61. package/esm2015/lib/date-validator.js +10 -10
  62. package/esm2015/lib/document-viewer/document-viewer.component.js +58 -58
  63. package/esm2015/lib/document-viewer/document-viewer.module.js +25 -25
  64. package/esm2015/lib/document-viewer/index.js +3 -3
  65. package/esm2015/lib/document-viewer/viewer-config.model.js +3 -3
  66. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +26 -26
  67. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +72 -72
  68. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +23 -23
  69. package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +2 -2
  70. package/esm2015/lib/email-subscription/email-subscription-routing.module.js +12 -12
  71. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +12 -12
  72. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +102 -102
  73. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +28 -28
  74. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +2 -2
  75. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +28 -28
  76. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +153 -153
  77. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +27 -27
  78. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +1 -1
  79. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +12 -12
  80. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +15 -15
  81. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +12 -12
  82. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +99 -99
  83. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +27 -27
  84. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +2 -2
  85. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +28 -28
  86. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +155 -155
  87. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +29 -29
  88. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +2 -2
  89. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +12 -12
  90. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +50 -50
  91. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +25 -25
  92. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +2 -2
  93. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +12 -12
  94. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +15 -15
  95. package/esm2015/lib/email-subscription/email-subscription.module.js +15 -15
  96. package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +147 -138
  97. package/esm2015/lib/entity-files/entity-file.service.js +42 -42
  98. package/esm2015/lib/entity-files/entity-files-view-all.component.js +234 -208
  99. package/esm2015/lib/entity-files/entity-files-view-all.module.js +40 -34
  100. package/esm2015/lib/entity-files/index.js +3 -3
  101. package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +32 -32
  102. package/esm2015/lib/export-excel/export-excel.module.js +17 -17
  103. package/esm2015/lib/file-dropper/file-dropper.component.js +122 -122
  104. package/esm2015/lib/file-dropper/file-dropper.model.js +3 -3
  105. package/esm2015/lib/file-dropper/file-dropper.module.js +21 -21
  106. package/esm2015/lib/file-dropper/index.js +3 -3
  107. package/esm2015/lib/import-csv/data-import/data-import.component.js +18 -18
  108. package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +33 -33
  109. package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +148 -148
  110. package/esm2015/lib/import-csv/import-csv-config.js +2 -2
  111. package/esm2015/lib/import-csv/import-csv.component.js +196 -196
  112. package/esm2015/lib/import-csv/import-csv.module.js +46 -46
  113. package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +71 -71
  114. package/esm2015/lib/import-csv/import-success/import-success.component.js +19 -19
  115. package/esm2015/lib/loader/index.js +2 -2
  116. package/esm2015/lib/loader/loader.component.js +22 -22
  117. package/esm2015/lib/loader/loader.module.js +21 -21
  118. package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +20 -20
  119. package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +88 -88
  120. package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +27 -27
  121. package/esm2015/lib/material.module.js +60 -60
  122. package/esm2015/lib/note/comment-form/comment-form.component.js +73 -73
  123. package/esm2015/lib/note/index.js +4 -4
  124. package/esm2015/lib/note/note-form/note-form.component.js +81 -81
  125. package/esm2015/lib/note/note-list/note-list.component.js +151 -151
  126. package/esm2015/lib/note/note.module.js +36 -36
  127. package/esm2015/lib/note/note.service.js +31 -31
  128. package/esm2015/lib/read-more/read-more.component.js +43 -43
  129. package/esm2015/lib/read-more/read-more.module.js +21 -21
  130. package/esm2015/lib/searchable-selector/index.js +3 -3
  131. package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +81 -81
  132. package/esm2015/lib/searchable-selector/searchable-selector.component.js +307 -307
  133. package/esm2015/lib/searchable-selector/searchable-selector.module.js +28 -28
  134. package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +27 -27
  135. package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +78 -78
  136. package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +177 -177
  137. package/esm2015/lib/techlify-feature/techlify-feature.module.js +30 -30
  138. package/esm2015/lib/techlify-feature/techlify-feature.routing.js +12 -12
  139. package/esm2015/lib/techlify-feature/techlify-feature.service.js +28 -28
  140. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +15 -15
  141. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +269 -269
  142. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +25 -25
  143. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +168 -168
  144. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +29 -29
  145. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +114 -114
  146. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +28 -28
  147. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +22 -22
  148. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +143 -143
  149. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +28 -28
  150. package/esm2015/lib/techlify-update/techlify-update-routing.module.js +22 -22
  151. package/esm2015/lib/techlify-update/techlify-update.module.js +30 -30
  152. package/esm2015/lib/techlify-update/techlify-update.service.js +43 -43
  153. package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +161 -161
  154. package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +82 -82
  155. package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +62 -62
  156. package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +29 -29
  157. package/esm2015/lib/techlify-update/update-view/update-view.component.js +36 -36
  158. package/esm2015/lib/techlify-update/update-view/update-view.module.js +24 -24
  159. package/esm2015/lib/timeline-filter/calculate-timeline.js +102 -102
  160. package/esm2015/lib/timeline-filter/index.js +4 -4
  161. package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +12 -12
  162. package/esm2015/lib/timeline-filter/timeline-filter.component.js +213 -213
  163. package/esm2015/lib/timeline-filter/timeline-filter.module.js +23 -23
  164. package/esm2015/lib/timeline-filter/timeline.model.js +18 -18
  165. package/esm2015/lib/utility/date-utils.service.js +48 -48
  166. package/esm2015/lib/utility/index.js +4 -4
  167. package/esm2015/lib/utility/num-items-selector.component.js +29 -29
  168. package/esm2015/lib/utility/number-selector.component.js +38 -38
  169. package/esm2015/lib/utility/utility.module.js +20 -20
  170. package/esm2015/ngx-techlify-core.js +60 -60
  171. package/esm2015/public-api.js +96 -96
  172. package/fesm2015/ngx-techlify-core.js +6941 -6903
  173. package/fesm2015/ngx-techlify-core.js.map +1 -1
  174. package/lib/action-popup/action-popup.component.d.ts +14 -14
  175. package/lib/action-popup/action-popup.model.d.ts +5 -5
  176. package/lib/action-popup/action-popup.module.d.ts +2 -2
  177. package/lib/action-popup/index.d.ts +2 -2
  178. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +2 -2
  179. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +12 -12
  180. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -2
  181. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +2 -2
  182. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +32 -32
  183. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +2 -2
  184. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +2 -2
  185. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +19 -19
  186. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -2
  187. package/lib/audit-log/audit-log-routing.module.d.ts +2 -2
  188. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +2 -2
  189. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +17 -17
  190. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -2
  191. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +2 -2
  192. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +15 -15
  193. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -2
  194. package/lib/audit-log/audit-log.module.d.ts +2 -2
  195. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +2 -2
  196. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +11 -11
  197. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +2 -2
  198. package/lib/base-model/index.d.ts +3 -3
  199. package/lib/base-model/techlify-form-component.class.d.ts +43 -43
  200. package/lib/base-model/techlify-listing-component.class.d.ts +47 -47
  201. package/lib/base-model/techlify-service.class.d.ts +52 -52
  202. package/lib/core/alert.service.d.ts +12 -12
  203. package/lib/core/api-prefix.interceptor.d.ts +11 -11
  204. package/lib/core/authentication.guard.d.ts +10 -10
  205. package/lib/core/authentication.service.d.ts +23 -23
  206. package/lib/core/cache.interceptor.d.ts +21 -21
  207. package/lib/core/config.service.d.ts +19 -19
  208. package/lib/core/core.module.d.ts +3 -3
  209. package/lib/core/credentials.service.d.ts +36 -36
  210. package/lib/core/dataManager.service.d.ts +70 -70
  211. package/lib/core/error-handler.interceptor.d.ts +14 -14
  212. package/lib/core/error-handler.service.d.ts +14 -14
  213. package/lib/core/form-validator.service.d.ts +8 -8
  214. package/lib/core/header.interceptor.d.ts +8 -8
  215. package/lib/core/http-cache.service.d.ts +54 -54
  216. package/lib/core/http.service.d.ts +56 -56
  217. package/lib/core/index.d.ts +20 -20
  218. package/lib/core/logger.service.d.ts +85 -85
  219. package/lib/core/route-reusable-strategy.d.ts +13 -13
  220. package/lib/core/snack/snack.component.d.ts +8 -8
  221. package/lib/core/snack/snack.module.d.ts +2 -2
  222. package/lib/core/storage.service.d.ts +15 -15
  223. package/lib/core/techlify-config.model.d.ts +18 -18
  224. package/lib/core/token.interceptor.d.ts +11 -11
  225. package/lib/data-table/data-table.component.d.ts +60 -60
  226. package/lib/data-table/data-table.model.d.ts +46 -46
  227. package/lib/data-table/data-table.module.d.ts +2 -2
  228. package/lib/data-table/index.d.ts +2 -2
  229. package/lib/date-validator.d.ts +1 -1
  230. package/lib/document-viewer/document-viewer.component.d.ts +16 -16
  231. package/lib/document-viewer/document-viewer.module.d.ts +2 -2
  232. package/lib/document-viewer/index.d.ts +2 -2
  233. package/lib/document-viewer/viewer-config.model.d.ts +5 -5
  234. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +7 -7
  235. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +17 -17
  236. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +2 -2
  237. package/lib/email-subscription/email-subscription-for-user/index.d.ts +1 -1
  238. package/lib/email-subscription/email-subscription-routing.module.d.ts +2 -2
  239. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +2 -2
  240. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +32 -32
  241. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +2 -2
  242. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +1 -1
  243. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +9 -9
  244. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +30 -30
  245. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +2 -2
  246. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +1 -1
  247. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +2 -2
  248. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +2 -2
  249. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +2 -2
  250. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +32 -32
  251. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +2 -2
  252. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +1 -1
  253. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +9 -9
  254. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +32 -32
  255. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +2 -2
  256. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +1 -1
  257. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +2 -2
  258. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +13 -13
  259. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +2 -2
  260. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +1 -1
  261. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +2 -2
  262. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +2 -2
  263. package/lib/email-subscription/email-subscription.module.d.ts +2 -2
  264. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +38 -34
  265. package/lib/entity-files/entity-file.service.d.ts +10 -10
  266. package/lib/entity-files/entity-files-view-all.component.d.ts +51 -45
  267. package/lib/entity-files/entity-files-view-all.module.d.ts +2 -2
  268. package/lib/entity-files/index.d.ts +2 -2
  269. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +8 -8
  270. package/lib/export-excel/export-excel.module.d.ts +2 -2
  271. package/lib/file-dropper/file-dropper.component.d.ts +33 -33
  272. package/lib/file-dropper/file-dropper.model.d.ts +10 -10
  273. package/lib/file-dropper/file-dropper.module.d.ts +2 -2
  274. package/lib/file-dropper/index.d.ts +2 -2
  275. package/lib/import-csv/data-import/data-import.component.d.ts +6 -6
  276. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +12 -12
  277. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +34 -34
  278. package/lib/import-csv/import-csv-config.d.ts +17 -17
  279. package/lib/import-csv/import-csv.component.d.ts +33 -33
  280. package/lib/import-csv/import-csv.module.d.ts +2 -2
  281. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +21 -21
  282. package/lib/import-csv/import-success/import-success.component.d.ts +8 -8
  283. package/lib/loader/index.d.ts +1 -1
  284. package/lib/loader/loader.component.d.ts +8 -8
  285. package/lib/loader/loader.module.d.ts +2 -2
  286. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +2 -2
  287. package/lib/login-history-for-user/login-history-for-user.component.d.ts +23 -23
  288. package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -2
  289. package/lib/material.module.d.ts +2 -2
  290. package/lib/note/comment-form/comment-form.component.d.ts +22 -22
  291. package/lib/note/index.d.ts +3 -3
  292. package/lib/note/note-form/note-form.component.d.ts +27 -27
  293. package/lib/note/note-list/note-list.component.d.ts +28 -28
  294. package/lib/note/note.module.d.ts +2 -2
  295. package/lib/note/note.service.d.ts +9 -9
  296. package/lib/read-more/read-more.component.d.ts +12 -12
  297. package/lib/read-more/read-more.module.d.ts +2 -2
  298. package/lib/searchable-selector/index.d.ts +2 -2
  299. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +23 -23
  300. package/lib/searchable-selector/searchable-selector.component.d.ts +81 -81
  301. package/lib/searchable-selector/searchable-selector.module.d.ts +2 -2
  302. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +9 -9
  303. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +17 -17
  304. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +37 -37
  305. package/lib/techlify-feature/techlify-feature.module.d.ts +2 -2
  306. package/lib/techlify-feature/techlify-feature.routing.d.ts +2 -2
  307. package/lib/techlify-feature/techlify-feature.service.d.ts +8 -8
  308. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +12 -12
  309. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +76 -76
  310. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -2
  311. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +58 -58
  312. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -2
  313. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +30 -30
  314. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +2 -2
  315. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +2 -2
  316. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +31 -31
  317. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +2 -2
  318. package/lib/techlify-update/techlify-update-routing.module.d.ts +2 -2
  319. package/lib/techlify-update/techlify-update.module.d.ts +2 -2
  320. package/lib/techlify-update/techlify-update.service.d.ts +13 -13
  321. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +31 -31
  322. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +25 -25
  323. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +16 -16
  324. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +2 -2
  325. package/lib/techlify-update/update-view/update-view.component.d.ts +14 -14
  326. package/lib/techlify-update/update-view/update-view.module.d.ts +2 -2
  327. package/lib/timeline-filter/calculate-timeline.d.ts +6 -6
  328. package/lib/timeline-filter/index.d.ts +3 -3
  329. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +2 -2
  330. package/lib/timeline-filter/timeline-filter.component.d.ts +61 -61
  331. package/lib/timeline-filter/timeline-filter.module.d.ts +2 -2
  332. package/lib/timeline-filter/timeline.model.d.ts +17 -17
  333. package/lib/utility/date-utils.service.d.ts +21 -21
  334. package/lib/utility/index.d.ts +3 -3
  335. package/lib/utility/num-items-selector.component.d.ts +16 -16
  336. package/lib/utility/number-selector.component.d.ts +20 -20
  337. package/lib/utility/utility.module.d.ts +2 -2
  338. package/ngx-techlify-core.d.ts +59 -59
  339. package/ngx-techlify-core.metadata.json +1 -1
  340. package/package.json +2 -2
  341. package/public-api.d.ts +92 -92
@@ -1,25 +1,25 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { EmailSubscriptionUserListFilterRoutingModule } from './email-subscription-user-list-filter-routing.module';
4
- import { EmailSubscriptionUserListFilterComponent } from './email-subscription-user-list-filter.component';
5
- import { MaterialModule } from '../../../material.module';
6
- import { SearchableSelectorModule } from '../../../searchable-selector/searchable-selector.module';
7
- import { FlexLayoutModule } from '@angular/flex-layout';
8
- import { ReactiveFormsModule } from '@angular/forms';
9
- export class EmailSubscriptionUserListFilterModule {
10
- }
11
- EmailSubscriptionUserListFilterModule.decorators = [
12
- { type: NgModule, args: [{
13
- declarations: [EmailSubscriptionUserListFilterComponent],
14
- imports: [
15
- CommonModule,
16
- MaterialModule,
17
- FlexLayoutModule,
18
- ReactiveFormsModule,
19
- SearchableSelectorModule,
20
- EmailSubscriptionUserListFilterRoutingModule
21
- ],
22
- exports: [EmailSubscriptionUserListFilterComponent]
23
- },] }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3BILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWVyRCxNQUFNLE9BQU8scUNBQXFDOzs7WUFaakQsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2dCQUN4RCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQix3QkFBd0I7b0JBQ3hCLDRDQUE0QztpQkFDN0M7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsd0NBQXdDLENBQUM7YUFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRW1haWxTdWJzY3JpcHRpb25Vc2VyTGlzdEZpbHRlclJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QtZmlsdGVyLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgRW1haWxTdWJzY3JpcHRpb25Vc2VyTGlzdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zZWFyY2hhYmxlLXNlbGVjdG9yL3NlYXJjaGFibGUtc2VsZWN0b3IubW9kdWxlJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0VtYWlsU3Vic2NyaXB0aW9uVXNlckxpc3RGaWx0ZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBFbWFpbFN1YnNjcmlwdGlvblVzZXJMaXN0RmlsdGVyUm91dGluZ01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0VtYWlsU3Vic2NyaXB0aW9uVXNlckxpc3RGaWx0ZXJDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbWFpbFN1YnNjcmlwdGlvblVzZXJMaXN0RmlsdGVyTW9kdWxlIHsgfVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EmailSubscriptionUserListFilterRoutingModule } from './email-subscription-user-list-filter-routing.module';
4
+ import { EmailSubscriptionUserListFilterComponent } from './email-subscription-user-list-filter.component';
5
+ import { MaterialModule } from '../../../material.module';
6
+ import { SearchableSelectorModule } from '../../../searchable-selector/searchable-selector.module';
7
+ import { FlexLayoutModule } from '@angular/flex-layout';
8
+ import { ReactiveFormsModule } from '@angular/forms';
9
+ export class EmailSubscriptionUserListFilterModule {
10
+ }
11
+ EmailSubscriptionUserListFilterModule.decorators = [
12
+ { type: NgModule, args: [{
13
+ declarations: [EmailSubscriptionUserListFilterComponent],
14
+ imports: [
15
+ CommonModule,
16
+ MaterialModule,
17
+ FlexLayoutModule,
18
+ ReactiveFormsModule,
19
+ SearchableSelectorModule,
20
+ EmailSubscriptionUserListFilterRoutingModule
21
+ ],
22
+ exports: [EmailSubscriptionUserListFilterComponent]
23
+ },] }
24
+ ];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3BILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWVyRCxNQUFNLE9BQU8scUNBQXFDOzs7WUFaakQsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2dCQUN4RCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQix3QkFBd0I7b0JBQ3hCLDRDQUE0QztpQkFDN0M7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsd0NBQXdDLENBQUM7YUFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRW1haWxTdWJzY3JpcHRpb25Vc2VyTGlzdEZpbHRlclJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QtZmlsdGVyLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IEVtYWlsU3Vic2NyaXB0aW9uVXNlckxpc3RGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zZWFyY2hhYmxlLXNlbGVjdG9yL3NlYXJjaGFibGUtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0VtYWlsU3Vic2NyaXB0aW9uVXNlckxpc3RGaWx0ZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgRW1haWxTdWJzY3JpcHRpb25Vc2VyTGlzdEZpbHRlclJvdXRpbmdNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0VtYWlsU3Vic2NyaXB0aW9uVXNlckxpc3RGaWx0ZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEVtYWlsU3Vic2NyaXB0aW9uVXNlckxpc3RGaWx0ZXJNb2R1bGUgeyB9XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './email-subscription-user-list-filter.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci5jb21wb25lbnQnO1xyXG4iXX0=
1
+ export * from './email-subscription-user-list-filter.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci5jb21wb25lbnQnO1xuIl19
@@ -1,12 +1,12 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- const routes = [];
4
- export class EmailSubscriptionUserRoutingModule {
5
- }
6
- EmailSubscriptionUserRoutingModule.decorators = [
7
- { type: NgModule, args: [{
8
- imports: [RouterModule.forChild(routes)],
9
- exports: [RouterModule]
10
- },] }
11
- ];
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLGtDQUFrQzs7O1lBSjlDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1haWxTdWJzY3JpcHRpb25Vc2VyUm91dGluZ01vZHVsZSB7IH1cclxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ const routes = [];
4
+ export class EmailSubscriptionUserRoutingModule {
5
+ }
6
+ EmailSubscriptionUserRoutingModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ imports: [RouterModule.forChild(routes)],
9
+ exports: [RouterModule]
10
+ },] }
11
+ ];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLGtDQUFrQzs7O1lBSjlDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW107XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVtYWlsU3Vic2NyaXB0aW9uVXNlclJvdXRpbmdNb2R1bGUgeyB9XG4iXX0=
@@ -1,15 +1,15 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { EmailSubscriptionUserRoutingModule } from './email-subscription-user-routing.module';
4
- export class EmailSubscriptionUserModule {
5
- }
6
- EmailSubscriptionUserModule.decorators = [
7
- { type: NgModule, args: [{
8
- declarations: [],
9
- imports: [
10
- CommonModule,
11
- EmailSubscriptionUserRoutingModule
12
- ]
13
- },] }
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBVTlGLE1BQU0sT0FBTywyQkFBMkI7OztZQVB2QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGtDQUFrQztpQkFDbkM7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBFbWFpbFN1YnNjcmlwdGlvblVzZXJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1yb3V0aW5nLm1vZHVsZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEVtYWlsU3Vic2NyaXB0aW9uVXNlclJvdXRpbmdNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbWFpbFN1YnNjcmlwdGlvblVzZXJNb2R1bGUgeyB9XHJcbiJdfQ==
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EmailSubscriptionUserRoutingModule } from './email-subscription-user-routing.module';
4
+ export class EmailSubscriptionUserModule {
5
+ }
6
+ EmailSubscriptionUserModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [],
9
+ imports: [
10
+ CommonModule,
11
+ EmailSubscriptionUserRoutingModule
12
+ ]
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBVTlGLE1BQU0sT0FBTywyQkFBMkI7OztZQVB2QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGtDQUFrQztpQkFDbkM7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBFbWFpbFN1YnNjcmlwdGlvblVzZXJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1yb3V0aW5nLm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBFbWFpbFN1YnNjcmlwdGlvblVzZXJSb3V0aW5nTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW1haWxTdWJzY3JpcHRpb25Vc2VyTW9kdWxlIHsgfVxuIl19
@@ -1,15 +1,15 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { EmailSubscriptionRoutingModule } from './email-subscription-routing.module';
4
- export class EmailSubscriptionModule {
5
- }
6
- EmailSubscriptionModule.decorators = [
7
- { type: NgModule, args: [{
8
- declarations: [],
9
- imports: [
10
- CommonModule,
11
- EmailSubscriptionRoutingModule
12
- ]
13
- },] }
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFXckYsTUFBTSxPQUFPLHVCQUF1Qjs7O1lBUG5DLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osOEJBQThCO2lCQUMvQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEVtYWlsU3Vic2NyaXB0aW9uUm91dGluZ01vZHVsZSB9IGZyb20gJy4vZW1haWwtc3Vic2NyaXB0aW9uLXJvdXRpbmcubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEVtYWlsU3Vic2NyaXB0aW9uUm91dGluZ01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYWlsU3Vic2NyaXB0aW9uTW9kdWxlIHsgfVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EmailSubscriptionRoutingModule } from './email-subscription-routing.module';
4
+ export class EmailSubscriptionModule {
5
+ }
6
+ EmailSubscriptionModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [],
9
+ imports: [
10
+ CommonModule,
11
+ EmailSubscriptionRoutingModule
12
+ ]
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc3Vic2NyaXB0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFXckYsTUFBTSxPQUFPLHVCQUF1Qjs7O1lBUG5DLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osOEJBQThCO2lCQUMvQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEVtYWlsU3Vic2NyaXB0aW9uUm91dGluZ01vZHVsZSB9IGZyb20gJy4vZW1haWwtc3Vic2NyaXB0aW9uLXJvdXRpbmcubW9kdWxlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRW1haWxTdWJzY3JpcHRpb25Sb3V0aW5nTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW1haWxTdWJzY3JpcHRpb25Nb2R1bGUgeyB9XG4iXX0=
@@ -1,138 +1,147 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, Inject } from "@angular/core";
3
- import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
4
- import { FormBuilder, Validators } from "@angular/forms";
5
- import { EntityFileService } from '../entity-file.service';
6
- import { FormValidatorService } from '../../core/form-validator.service';
7
- import { AlertService } from "../../core/alert.service";
8
- const errorMessages = {
9
- url: {
10
- required: "File is required"
11
- },
12
- };
13
- export class EntityFileFormComponent {
14
- constructor(dialogRef, data, formValidatorService, fb, entityFileService, alertService) {
15
- this.dialogRef = dialogRef;
16
- this.data = data;
17
- this.formValidatorService = formValidatorService;
18
- this.fb = fb;
19
- this.entityFileService = entityFileService;
20
- this.alertService = alertService;
21
- this.fileList = [];
22
- this.createForm();
23
- }
24
- /** Method to create a form **/
25
- createForm() {
26
- //TODO: Finialize and add more validations.
27
- this.entityFileGroup = this.fb.group({
28
- id: [''],
29
- title: [''],
30
- details: [''],
31
- entity_type: [''],
32
- entity_id: [],
33
- file: ['', Validators.required],
34
- url: ['', Validators.required],
35
- file_size: ['', Validators.required],
36
- });
37
- }
38
- ngOnInit() {
39
- var _a, _b;
40
- if (this.data.entity) {
41
- this.entityFileGroup.get('entity_type').setValue(this.data.entity.entity_type);
42
- this.entityFileGroup.get('entity_id').setValue(this.data.entity.entity_id);
43
- }
44
- if (this.data.file) {
45
- this.updateMode = true;
46
- this.entityFileGroup.patchValue(this.data.file);
47
- }
48
- if ((_a = this.data) === null || _a === void 0 ? void 0 : _a.hideTitleAndDetails) {
49
- this.hideTitleAndDetails = (_b = this.data) === null || _b === void 0 ? void 0 : _b.hideTitleAndDetails;
50
- }
51
- //File dropper config
52
- this.fileConfig = {
53
- fileId: "subjectFile",
54
- containerId: "subjectFileContainer",
55
- styles: {
56
- height: "200px"
57
- },
58
- multiple: false,
59
- acceptFile: "*",
60
- maxSize: 10,
61
- acceptFileText: "All Files"
62
- };
63
- this.viewerConfig = {
64
- viewerStyle: {
65
- height: '200px',
66
- width: '100%'
67
- }
68
- };
69
- }
70
- //Method to trigger submit
71
- submit() {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- this.assignmentFileFirstAttempt = true;
74
- if (!this.entityFileGroup.valid) {
75
- return;
76
- }
77
- const model = this.entityFileGroup.value;
78
- if (this.hideTitleAndDetails) {
79
- model.title = model.file;
80
- }
81
- const result = this.updateMode
82
- ? yield this.entityFileService.updateEntityFile(model)
83
- : yield this.entityFileService.createEntityFile(model);
84
- this.dialogRef.close(result.item);
85
- this.alertService.addAlert("File submitted successfully", "success");
86
- });
87
- }
88
- fileChanged(event) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- this.fileList = event;
91
- if (this.fileList.length > 0) {
92
- const result = yield this.entityFileService.uploadEntityFile(this.fileList[0]);
93
- this.entityFileGroup.patchValue(result.item);
94
- ;
95
- this.fileList = [];
96
- }
97
- });
98
- }
99
- removeFile() {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- if (this.entityFileGroup.value.file) {
102
- try {
103
- this.entityFileGroup.patchValue({
104
- file: "",
105
- url: ""
106
- });
107
- }
108
- catch (error) {
109
- this.alertService.addAlert("Unable to remove file, try later", "warn");
110
- }
111
- }
112
- });
113
- }
114
- /**Method to evaluate form fields*/
115
- isFieldValid(field) {
116
- return this.formValidatorService.isFieldValid(field, this.entityFileGroup, this.assignmentFileFirstAttempt);
117
- }
118
- /**Method to find error in form fields*/
119
- getErrorMessage(field) {
120
- return this.formValidatorService.getErrorMessage(field, this.entityFileGroup, errorMessages);
121
- }
122
- }
123
- EntityFileFormComponent.decorators = [
124
- { type: Component, args: [{
125
- selector: 'entity-file-form',
126
- template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\r\n <div fxLayout=\"column\" class=\"mat-typography\">\r\n <div mat-dialog-title class=\"text-center\">\r\n <div>Entity File</div>\r\n </div>\r\n <div mat-dialog-content fxLayout=\"column\" fxLayoutAlign.=\"start\">\r\n <ng-container *ngIf=\"!hideTitleAndDetails\">\r\n <mat-form-field>\r\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n <ng-template #fileUpload>\r\n <section fxFlex=\"100%\">\r\n <div>Entity File*</div>\r\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\r\n </app-file-dropper>\r\n <div class=\"text-danger\" *ngIf=\"isFieldValid('url')\">\r\n {{getErrorMessage(\"url\")}}\r\n </div>\r\n </section>\r\n </ng-template>\r\n <div fxFlex=\"100%\" class=\"mt-2\" *ngIf=\"entityFileGroup.get('url').value;else fileUpload;\">\r\n <app-document-viewer [file]=\"entityFileGroup.get('file').value\" [fileUrl]=\"entityFileGroup.get('url').value\"\r\n [config]=\"this.viewerConfig\" (remove)=\"removeFile()\" [disableEdit]=\"updateMode\">\r\n </app-document-viewer>\r\n </div>\r\n <div class=\"mt-4 mb-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\r\n <button mat-raised-button type=\"button\" (click)=\"dialogRef.close()\">\r\n Cancel\r\n </button>\r\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n",
127
- styles: [""]
128
- },] }
129
- ];
130
- EntityFileFormComponent.ctorParameters = () => [
131
- { type: MatDialogRef },
132
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
133
- { type: FormValidatorService },
134
- { type: FormBuilder },
135
- { type: EntityFileService },
136
- { type: AlertService }
137
- ];
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZS1mb3JtL2VudGl0eS1maWxlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBYSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE1BQU0sYUFBYSxHQUFRO0lBQ3pCLEdBQUcsRUFBRTtRQUNILFFBQVEsRUFBRSxrQkFBa0I7S0FDN0I7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLHVCQUF1QjtJQVVsQyxZQUNTLFNBQWdELEVBQ3ZCLElBQVMsRUFDakMsb0JBQTBDLEVBQzFDLEVBQWUsRUFDZixpQkFBb0MsRUFDcEMsWUFBMEI7UUFMM0IsY0FBUyxHQUFULFNBQVMsQ0FBdUM7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBVnBDLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFZbkIsSUFBSSxDQUFDLFVBQVUsRUFB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ZSxDQUM5QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLGVBQWUsRUFDcEIsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDOzs7WUEvSUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHk0REFBZ0Q7O2FBRWpEOzs7WUFsQlEsWUFBWTs0Q0ErQmhCLE1BQU0sU0FBQyxlQUFlO1lBMUJsQixvQkFBb0I7WUFKVCxXQUFXO1lBQ3RCLGlCQUFpQjtZQUlqQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEVudGl0eUZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vZW50aXR5LWZpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVEcm9wcGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vZmlsZS1kcm9wcGVyL2ZpbGUtZHJvcHBlci5tb2RlbCc7XHJcbmltcG9ydCB7IFZpZXdlckNvbmZpZyB9IGZyb20gJy4uLy4uL2RvY3VtZW50LXZpZXdlci92aWV3ZXItY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9hbGVydC5zZXJ2aWNlXCI7XHJcblxyXG5jb25zdCBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XHJcbiAgdXJsOiB7XHJcbiAgICByZXF1aXJlZDogXCJGaWxlIGlzIHJlcXVpcmVkXCJcclxuICB9LFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlbnRpdHktZmlsZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudGl0eUZpbGVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgZW50aXR5RmlsZUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgYXNzaWdubWVudEZpbGVGaXJzdEF0dGVtcHQ6IGJvb2xlYW47XHJcbiAgdXBkYXRlTW9kZTogYm9vbGVhbjtcclxuICBmaWxlQ29uZmlnOiBGaWxlRHJvcHBlckNvbmZpZztcclxuICBmaWxlTGlzdDogYW55W10gPSBbXTtcclxuICB2aWV3ZXJDb25maWc6IFZpZXdlckNvbmZpZztcclxuICBoaWRlVGl0bGVBbmREZXRhaWxzOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxFbnRpdHlGaWxlRm9ybUNvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcclxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGVudGl0eUZpbGVTZXJ2aWNlOiBFbnRpdHlGaWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIE1ldGhvZCB0byBjcmVhdGUgYSBmb3JtICoqL1xyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgIC8vVE9ETzogRmluaWFsaXplIGFuZCBhZGQgbW9yZSB2YWxpZGF0aW9ucy5cclxuICAgIHRoaXMuZW50aXR5RmlsZUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGlkOiBbJyddLFxyXG4gICAgICB0aXRsZTogWycnXSxcclxuICAgICAgZGV0YWlsczogWycnXSxcclxuICAgICAgZW50aXR5X3R5cGU6IFsnJ10sXHJcbiAgICAgIGVudGl0eV9pZDogW10sXHJcbiAgICAgIGZpbGU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIHVybDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgZmlsZV9zaXplOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRhdGEuZW50aXR5KSB7XHJcbiAgICAgIHRoaXMuZW50aXR5RmlsZUdyb3VwLmdldCgnZW50aXR5X3R5cGUnKS5zZXRWYWx1ZSh0aGlzLmRhdGEuZW50aXR5LmVudGl0eV90eXBlKTtcclxuICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAuZ2V0KCdlbnRpdHlfaWQnKS5zZXRWYWx1ZSh0aGlzLmRhdGEuZW50aXR5LmVudGl0eV9pZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLmZpbGUpIHtcclxuICAgICAgdGhpcy51cGRhdGVNb2RlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmRhdGEuZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YT8uaGlkZVRpdGxlQW5kRGV0YWlscykge1xyXG4gICAgICB0aGlzLmhpZGVUaXRsZUFuZERldGFpbHMgPSB0aGlzLmRhdGE/LmhpZGVUaXRsZUFuZERldGFpbHM7XHJcbiAgICB9XHJcblxyXG4gICAgLy9GaWxlIGRyb3BwZXIgY29uZmlnXHJcbiAgICB0aGlzLmZpbGVDb25maWcgPSB7XHJcbiAgICAgIGZpbGVJZDogXCJzdWJqZWN0RmlsZVwiLFxyXG4gICAgICBjb250YWluZXJJZDogXCJzdWJqZWN0RmlsZUNvbnRhaW5lclwiLFxyXG4gICAgICBzdHlsZXM6IHtcclxuICAgICAgICBoZWlnaHQ6IFwiMjAwcHhcIlxyXG4gICAgICB9LFxyXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXHJcbiAgICAgIGFjY2VwdEZpbGU6IFwiKlwiLFxyXG4gICAgICBtYXhTaXplOiAxMCxcclxuICAgICAgYWNjZXB0RmlsZVRleHQ6IFwiQWxsIEZpbGVzXCJcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy52aWV3ZXJDb25maWcgPSB7XHJcbiAgICAgIHZpZXdlclN0eWxlOiB7XHJcbiAgICAgICAgaGVpZ2h0OiAnMjAwcHgnLFxyXG4gICAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vTWV0aG9kIHRvIHRyaWdnZXIgc3VibWl0XHJcbiAgYXN5bmMgc3VibWl0KCkge1xyXG4gICAgdGhpcy5hc3NpZ25tZW50RmlsZUZpcnN0QXR0ZW1wdCA9IHRydWU7XHJcbiAgICBpZiAoIXRoaXMuZW50aXR5RmlsZUdyb3VwLnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5lbnRpdHlGaWxlR3JvdXAudmFsdWU7XHJcblxyXG4gICAgaWYgKHRoaXMuaGlkZVRpdGxlQW5kRGV0YWlscykge1xyXG4gICAgICBtb2RlbC50aXRsZSA9IG1vZGVsLmZpbGU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB0aGlzLnVwZGF0ZU1vZGVcclxuICAgICAgPyBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLnVwZGF0ZUVudGl0eUZpbGUobW9kZWwpXHJcbiAgICAgIDogYXdhaXQgdGhpcy5lbnRpdHlGaWxlU2VydmljZS5jcmVhdGVFbnRpdHlGaWxlKG1vZGVsKTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdC5pdGVtKTtcclxuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxyXG4gICAgICBcIkZpbGUgc3VibWl0dGVkIHN1Y2Nlc3NmdWxseVwiLFxyXG4gICAgICBcInN1Y2Nlc3NcIlxyXG4gICAgKTtcclxuXHJcbiAgfVxyXG5cclxuICBhc3luYyBmaWxlQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmZpbGVMaXN0ID0gZXZlbnQ7XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsZUxpc3QubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLnVwbG9hZEVudGl0eUZpbGUoXHJcbiAgICAgICAgdGhpcy5maWxlTGlzdFswXSxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAucGF0Y2hWYWx1ZShyZXN1bHQuaXRlbSk7O1xyXG4gICAgICB0aGlzLmZpbGVMaXN0ID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgYXN5bmMgcmVtb3ZlRmlsZSgpIHtcclxuICAgIGlmICh0aGlzLmVudGl0eUZpbGVHcm91cC52YWx1ZS5maWxlKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICBmaWxlOiBcIlwiLFxyXG4gICAgICAgICAgdXJsOiBcIlwiXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXCJVbmFibGUgdG8gcmVtb3ZlIGZpbGUsIHRyeSBsYXRlclwiLCBcIndhcm5cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKk1ldGhvZCB0byBldmFsdWF0ZSBmb3JtIGZpZWxkcyovXHJcbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmlzRmllbGRWYWxpZChcclxuICAgICAgZmllbGQsXHJcbiAgICAgIHRoaXMuZW50aXR5RmlsZUdyb3VwLFxyXG4gICAgICB0aGlzLmFzc2lnbm1lbnRGaWxlRmlyc3RBdHRlbXB0XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqTWV0aG9kIHRvIGZpbmQgZXJyb3IgaW4gZm9ybSBmaWVsZHMqL1xyXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoXHJcbiAgICAgIGZpZWxkLFxyXG4gICAgICB0aGlzLmVudGl0eUZpbGVHcm91cCxcclxuICAgICAgZXJyb3JNZXNzYWdlc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
1
+ import { __awaiter } from "tslib";
2
+ import { Component, Inject } from "@angular/core";
3
+ import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
4
+ import { FormBuilder, Validators } from "@angular/forms";
5
+ import { EntityFileService } from '../entity-file.service';
6
+ import { FormValidatorService } from '../../core/form-validator.service';
7
+ import { AlertService } from "../../core/alert.service";
8
+ const errorMessages = {
9
+ url: {
10
+ required: "File is required"
11
+ },
12
+ };
13
+ export class EntityFileFormComponent {
14
+ constructor(dialogRef, data, formValidatorService, fb, entityFileService, alertService) {
15
+ this.dialogRef = dialogRef;
16
+ this.data = data;
17
+ this.formValidatorService = formValidatorService;
18
+ this.fb = fb;
19
+ this.entityFileService = entityFileService;
20
+ this.alertService = alertService;
21
+ this.fileList = [];
22
+ /**
23
+ * Should we allow tagging entity-files?
24
+ */
25
+ this.useTechlifyTags = false;
26
+ this.createForm();
27
+ }
28
+ /** Method to create a form **/
29
+ createForm() {
30
+ //TODO: Finialize and add more validations.
31
+ this.entityFileGroup = this.fb.group({
32
+ id: [''],
33
+ title: [''],
34
+ details: [''],
35
+ entity_type: [''],
36
+ entity_id: [],
37
+ file: ['', Validators.required],
38
+ url: ['', Validators.required],
39
+ file_size: ['', Validators.required],
40
+ tag_ids: [[]]
41
+ });
42
+ }
43
+ ngOnInit() {
44
+ var _a, _b, _c, _d;
45
+ if (this.data.entity) {
46
+ this.entityFileGroup.get('entity_type').setValue(this.data.entity.entity_type);
47
+ this.entityFileGroup.get('entity_id').setValue(this.data.entity.entity_id);
48
+ }
49
+ if (this.data.file) {
50
+ this.updateMode = true;
51
+ this.entityFileGroup.patchValue(this.data.file);
52
+ }
53
+ if ((_a = this.data) === null || _a === void 0 ? void 0 : _a.hideTitleAndDetails) {
54
+ this.hideTitleAndDetails = (_b = this.data) === null || _b === void 0 ? void 0 : _b.hideTitleAndDetails;
55
+ }
56
+ if ((_c = this.data) === null || _c === void 0 ? void 0 : _c.useTechlifyTags) {
57
+ this.useTechlifyTags = (_d = this.data) === null || _d === void 0 ? void 0 : _d.useTechlifyTags;
58
+ }
59
+ //File dropper config
60
+ this.fileConfig = {
61
+ fileId: "subjectFile",
62
+ containerId: "subjectFileContainer",
63
+ styles: {
64
+ height: "200px"
65
+ },
66
+ multiple: false,
67
+ acceptFile: "*",
68
+ maxSize: 10,
69
+ acceptFileText: "All Files"
70
+ };
71
+ this.viewerConfig = {
72
+ viewerStyle: {
73
+ height: '200px',
74
+ width: '100%'
75
+ }
76
+ };
77
+ }
78
+ //Method to trigger submit
79
+ submit() {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ this.assignmentFileFirstAttempt = true;
82
+ if (!this.entityFileGroup.valid) {
83
+ return;
84
+ }
85
+ const model = this.entityFileGroup.value;
86
+ if (this.hideTitleAndDetails) {
87
+ model.title = model.file;
88
+ }
89
+ model.tag_ids = model.tag_ids.toString();
90
+ const result = this.updateMode
91
+ ? yield this.entityFileService.updateEntityFile(model)
92
+ : yield this.entityFileService.createEntityFile(model);
93
+ this.dialogRef.close(result.item);
94
+ this.alertService.addAlert("File submitted successfully", "success");
95
+ });
96
+ }
97
+ fileChanged(event) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ this.fileList = event;
100
+ if (this.fileList.length > 0) {
101
+ const result = yield this.entityFileService.uploadEntityFile(this.fileList[0]);
102
+ this.entityFileGroup.patchValue(result.item);
103
+ ;
104
+ this.fileList = [];
105
+ }
106
+ });
107
+ }
108
+ removeFile() {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ if (this.entityFileGroup.value.file) {
111
+ try {
112
+ this.entityFileGroup.patchValue({
113
+ file: "",
114
+ url: ""
115
+ });
116
+ }
117
+ catch (error) {
118
+ this.alertService.addAlert("Unable to remove file, try later", "warn");
119
+ }
120
+ }
121
+ });
122
+ }
123
+ /**Method to evaluate form fields*/
124
+ isFieldValid(field) {
125
+ return this.formValidatorService.isFieldValid(field, this.entityFileGroup, this.assignmentFileFirstAttempt);
126
+ }
127
+ /**Method to find error in form fields*/
128
+ getErrorMessage(field) {
129
+ return this.formValidatorService.getErrorMessage(field, this.entityFileGroup, errorMessages);
130
+ }
131
+ }
132
+ EntityFileFormComponent.decorators = [
133
+ { type: Component, args: [{
134
+ selector: 'entity-file-form',
135
+ template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Entity File</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutAlign.=\"start\">\n <ng-container *ngIf=\"!hideTitleAndDetails\">\n <mat-form-field>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\">\n </mat-form-field>\n <mat-form-field>\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n </mat-form-field>\n </ng-container>\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n [modelId]=\"entityFileGroup.get('id').value\" placeholder=\"Enter new tag\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n <ng-template #fileUpload>\n <section fxFlex=\"100%\">\n <div>Entity File*</div>\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n <div class=\"text-danger\" *ngIf=\"isFieldValid('url')\">\n {{getErrorMessage(\"url\")}}\n </div>\n </section>\n </ng-template>\n <div fxFlex=\"100%\" class=\"mt-2\" *ngIf=\"entityFileGroup.get('url').value;else fileUpload;\">\n <app-document-viewer [file]=\"entityFileGroup.get('file').value\" [fileUrl]=\"entityFileGroup.get('url').value\"\n [config]=\"this.viewerConfig\" (remove)=\"removeFile()\" [disableEdit]=\"updateMode\">\n </app-document-viewer>\n </div>\n <div class=\"mt-4 mb-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\n </div>\n </div>\n </div>\n</form>\n",
136
+ styles: [""]
137
+ },] }
138
+ ];
139
+ EntityFileFormComponent.ctorParameters = () => [
140
+ { type: MatDialogRef },
141
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
142
+ { type: FormValidatorService },
143
+ { type: FormBuilder },
144
+ { type: EntityFileService },
145
+ { type: AlertService }
146
+ ];
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZS1mb3JtL2VudGl0eS1maWxlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBYSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE1BQU0sYUFBYSxHQUFRO0lBQ3pCLEdBQUcsRUFBRTtRQUNILFFBQVEsRUFBRSxrQkFBa0I7S0FDN0I7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLHVCQUF1QjtJQWVsQyxZQUNTLFNBQWdELEVBQ3ZCLElBQVMsRUFDakMsb0JBQTBDLEVBQzFDLEVBQWUsRUFDZixpQkFBb0MsRUFDcEMsWUFBMEI7UUFMM0IsY0FBUyxHQUFULFNBQVMsQ0FBdUM7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZnBDLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFJckI7O1dBRUc7UUFDSCxvQkFBZSxH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Q0Y7UUFDSCxDQUFDO0tBQUE7SUFFRCxtQ0FBbUM7SUFDbkMsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUMzQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLDBCQUEwQixDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVELHdDQUF3QztJQUN4QyxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQzlDLEtBQUssRUFDTCxJQUFJLENBQUMsZUFBZSxFQUNwQixhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7OztZQTFKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsbXNFQUFnRDs7YUFFakQ7OztZQWxCUSxZQUFZOzRDQW9DaEIsTUFBTSxTQUFDLGVBQWU7WUEvQmxCLG9CQUFvQjtZQUpULFdBQVc7WUFDdEIsaUJBQWlCO1lBSWpCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRW50aXR5RmlsZVNlcnZpY2UgfSBmcm9tICcuLi9lbnRpdHktZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVEcm9wcGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vZmlsZS1kcm9wcGVyL2ZpbGUtZHJvcHBlci5tb2RlbCc7XG5pbXBvcnQgeyBWaWV3ZXJDb25maWcgfSBmcm9tICcuLi8uLi9kb2N1bWVudC12aWV3ZXIvdmlld2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9hbGVydC5zZXJ2aWNlXCI7XG5cbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgdXJsOiB7XG4gICAgcmVxdWlyZWQ6IFwiRmlsZSBpcyByZXF1aXJlZFwiXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRpdHktZmlsZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1maWxlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRpdHktZmlsZS1mb3JtLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlGaWxlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZW50aXR5RmlsZUdyb3VwOiBGb3JtR3JvdXA7XG4gIGFzc2lnbm1lbnRGaWxlRmlyc3RBdHRlbXB0OiBib29sZWFuO1xuICB1cGRhdGVNb2RlOiBib29sZWFuO1xuICBmaWxlQ29uZmlnOiBGaWxlRHJvcHBlckNvbmZpZztcbiAgZmlsZUxpc3Q6IGFueVtdID0gW107XG4gIHZpZXdlckNvbmZpZzogVmlld2VyQ29uZmlnO1xuICBoaWRlVGl0bGVBbmREZXRhaWxzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgd2UgYWxsb3cgdGFnZ2luZyBlbnRpdHktZmlsZXM/XG4gICAqL1xuICB1c2VUZWNobGlmeVRhZ3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RW50aXR5RmlsZUZvcm1Db21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZW50aXR5RmlsZVNlcnZpY2U6IEVudGl0eUZpbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICAvKiogTWV0aG9kIHRvIGNyZWF0ZSBhIGZvcm0gKiovXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICAvL1RPRE86IEZpbmlhbGl6ZSBhbmQgYWRkIG1vcmUgdmFsaWRhdGlvbnMuXG4gICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGlkOiBbJyddLFxuICAgICAgdGl0bGU6IFsnJ10sXG4gICAgICBkZXRhaWxzOiBbJyddLFxuICAgICAgZW50aXR5X3R5cGU6IFsnJ10sXG4gICAgICBlbnRpdHlfaWQ6IFtdLFxuICAgICAgZmlsZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHVybDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGZpbGVfc2l6ZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHRhZ19pZHM6IFtbXV1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGEuZW50aXR5KSB7XG4gICAgICB0aGlzLmVudGl0eUZpbGVHcm91cC5nZXQoJ2VudGl0eV90eXBlJykuc2V0VmFsdWUodGhpcy5kYXRhLmVudGl0eS5lbnRpdHlfdHlwZSk7XG4gICAgICB0aGlzLmVudGl0eUZpbGVHcm91cC5nZXQoJ2VudGl0eV9pZCcpLnNldFZhbHVlKHRoaXMuZGF0YS5lbnRpdHkuZW50aXR5X2lkKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGF0YS5maWxlKSB7XG4gICAgICB0aGlzLnVwZGF0ZU1vZGUgPSB0cnVlO1xuICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmRhdGEuZmlsZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0YT8uaGlkZVRpdGxlQW5kRGV0YWlscykge1xuICAgICAgdGhpcy5oaWRlVGl0bGVBbmREZXRhaWxzID0gdGhpcy5kYXRhPy5oaWRlVGl0bGVBbmREZXRhaWxzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGE/LnVzZVRlY2hsaWZ5VGFncykge1xuICAgICAgdGhpcy51c2VUZWNobGlmeVRhZ3MgPSB0aGlzLmRhdGE/LnVzZVRlY2hsaWZ5VGFncztcbiAgICB9XG5cbiAgICAvL0ZpbGUgZHJvcHBlciBjb25maWdcbiAgICB0aGlzLmZpbGVDb25maWcgPSB7XG4gICAgICBmaWxlSWQ6IFwic3ViamVjdEZpbGVcIixcbiAgICAgIGNvbnRhaW5lcklkOiBcInN1YmplY3RGaWxlQ29udGFpbmVyXCIsXG4gICAgICBzdHlsZXM6IHtcbiAgICAgICAgaGVpZ2h0OiBcIjIwMHB4XCJcbiAgICAgIH0sXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBhY2NlcHRGaWxlOiBcIipcIixcbiAgICAgIG1heFNpemU6IDEwLFxuICAgICAgYWNjZXB0RmlsZVRleHQ6IFwiQWxsIEZpbGVzXCJcbiAgICB9O1xuXG4gICAgdGhpcy52aWV3ZXJDb25maWcgPSB7XG4gICAgICB2aWV3ZXJTdHlsZToge1xuICAgICAgICBoZWlnaHQ6ICcyMDBweCcsXG4gICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vTWV0aG9kIHRvIHRyaWdnZXIgc3VibWl0XG4gIGFzeW5jIHN1Ym1pdCgpIHtcbiAgICB0aGlzLmFzc2lnbm1lbnRGaWxlRmlyc3RBdHRlbXB0ID0gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuZW50aXR5RmlsZUdyb3VwLnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5lbnRpdHlGaWxlR3JvdXAudmFsdWU7XG5cbiAgICBpZiAodGhpcy5oaWRlVGl0bGVBbmREZXRhaWxzKSB7XG4gICAgICBtb2RlbC50aXRsZSA9IG1vZGVsLmZpbGU7XG4gICAgfVxuICAgIG1vZGVsLnRhZ19pZHMgPSBtb2RlbC50YWdfaWRzLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHRoaXMudXBkYXRlTW9kZVxuICAgICAgPyBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLnVwZGF0ZUVudGl0eUZpbGUobW9kZWwpXG4gICAgICA6IGF3YWl0IHRoaXMuZW50aXR5RmlsZVNlcnZpY2UuY3JlYXRlRW50aXR5RmlsZShtb2RlbCk7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0Lml0ZW0pO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgXCJGaWxlIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHlcIixcbiAgICAgIFwic3VjY2Vzc1wiXG4gICAgKTtcblxuICB9XG5cbiAgYXN5bmMgZmlsZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmlsZUxpc3QgPSBldmVudDtcblxuICAgIGlmICh0aGlzLmZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcblxuICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLnVwbG9hZEVudGl0eUZpbGUoXG4gICAgICAgIHRoaXMuZmlsZUxpc3RbMF0sXG4gICAgICApO1xuICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAucGF0Y2hWYWx1ZShyZXN1bHQuaXRlbSk7O1xuICAgICAgdGhpcy5maWxlTGlzdCA9IFtdO1xuICAgIH1cbiAgfVxuXG5cbiAgYXN5bmMgcmVtb3ZlRmlsZSgpIHtcbiAgICBpZiAodGhpcy5lbnRpdHlGaWxlR3JvdXAudmFsdWUuZmlsZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgZmlsZTogXCJcIixcbiAgICAgICAgICB1cmw6IFwiXCJcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcIlVuYWJsZSB0byByZW1vdmUgZmlsZSwgdHJ5IGxhdGVyXCIsIFwid2FyblwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmlzRmllbGRWYWxpZChcbiAgICAgIGZpZWxkLFxuICAgICAgdGhpcy5lbnRpdHlGaWxlR3JvdXAsXG4gICAgICB0aGlzLmFzc2lnbm1lbnRGaWxlRmlyc3RBdHRlbXB0XG4gICAgKTtcbiAgfVxuXG4gIC8qKk1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoXG4gICAgICBmaWVsZCxcbiAgICAgIHRoaXMuZW50aXR5RmlsZUdyb3VwLFxuICAgICAgZXJyb3JNZXNzYWdlc1xuICAgICk7XG4gIH1cblxufVxuIl19
@@ -1,42 +1,42 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpService } from '../core/http.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../core/http.service";
5
- export class EntityFileService {
6
- constructor(http) {
7
- this.http = http;
8
- }
9
- getEntityFiles(filters) {
10
- return this.http.get(`api/entity-files`, { params: filters }).toPromise();
11
- }
12
- createEntityFile(model) {
13
- return this.http.post("api/entity-files", model).toPromise();
14
- }
15
- updateEntityFile(model) {
16
- return this.http.put(`api/entity-files/${model.id}`, model).toPromise();
17
- }
18
- deleteEntityFile(model) {
19
- return this.http.delete(`api/entity-files/${model.id}`).toPromise();
20
- }
21
- uploadEntityFile(file, params) {
22
- const formData = new FormData();
23
- formData.append("fileData", file, file.name);
24
- if (params === null || params === void 0 ? void 0 : params.entity_id) {
25
- formData.append('entity_id', params.entity_id);
26
- formData.append('entity_type', params.entity_type);
27
- }
28
- return this.http
29
- .skipHeader()
30
- .post("api/entity-files-upload", formData).toPromise();
31
- }
32
- }
33
- EntityFileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntityFileService_Factory() { return new EntityFileService(i0.ɵɵinject(i1.HttpService)); }, token: EntityFileService, providedIn: "root" });
34
- EntityFileService.decorators = [
35
- { type: Injectable, args: [{
36
- providedIn: 'root'
37
- },] }
38
- ];
39
- EntityFileService.ctorParameters = () => [
40
- { type: HttpService }
41
- ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUtuRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBSSxDQUFDO0lBRTFDLGNBQWMsQ0FBQyxPQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLE1BQVk7UUFDdkMsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsRUFBRTtZQUNyQixRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLFVBQVUsRUFBRTthQUNaLElBQUksQ0FDSCx5QkFBeUIsRUFDekIsUUFBUSxDQUNULENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpRLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50aXR5RmlsZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlKSB7IH1cclxuXHJcbiAgZ2V0RW50aXR5RmlsZXMoZmlsdGVyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgYXBpL2VudGl0eS1maWxlc2AsIHsgcGFyYW1zOiBmaWx0ZXJzIH0pLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRW50aXR5RmlsZShtb2RlbDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXCJhcGkvZW50aXR5LWZpbGVzXCIsIG1vZGVsKS50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUVudGl0eUZpbGUobW9kZWw6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYGFwaS9lbnRpdHktZmlsZXMvJHttb2RlbC5pZH1gLCBtb2RlbCkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFbnRpdHlGaWxlKG1vZGVsOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGBhcGkvZW50aXR5LWZpbGVzLyR7bW9kZWwuaWR9YCkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRFbnRpdHlGaWxlKGZpbGU6IEZpbGUsIHBhcmFtcz86IGFueSkge1xyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlRGF0YVwiLCBmaWxlLCBmaWxlLm5hbWUpO1xyXG4gICAgaWYgKHBhcmFtcz8uZW50aXR5X2lkKSB7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZW50aXR5X2lkJywgcGFyYW1zLmVudGl0eV9pZCk7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZW50aXR5X3R5cGUnLCBwYXJhbXMuZW50aXR5X3R5cGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuc2tpcEhlYWRlcigpXHJcbiAgICAgIC5wb3N0KFxyXG4gICAgICAgIFwiYXBpL2VudGl0eS1maWxlcy11cGxvYWRcIixcclxuICAgICAgICBmb3JtRGF0YSxcclxuICAgICAgKS50b1Byb21pc2UoKTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpService } from '../core/http.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../core/http.service";
5
+ export class EntityFileService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ getEntityFiles(filters) {
10
+ return this.http.get(`api/entity-files`, { params: filters }).toPromise();
11
+ }
12
+ createEntityFile(model) {
13
+ return this.http.post("api/entity-files", model).toPromise();
14
+ }
15
+ updateEntityFile(model) {
16
+ return this.http.put(`api/entity-files/${model.id}`, model).toPromise();
17
+ }
18
+ deleteEntityFile(model) {
19
+ return this.http.delete(`api/entity-files/${model.id}`).toPromise();
20
+ }
21
+ uploadEntityFile(file, params) {
22
+ const formData = new FormData();
23
+ formData.append("fileData", file, file.name);
24
+ if (params === null || params === void 0 ? void 0 : params.entity_id) {
25
+ formData.append('entity_id', params.entity_id);
26
+ formData.append('entity_type', params.entity_type);
27
+ }
28
+ return this.http
29
+ .skipHeader()
30
+ .post("api/entity-files-upload", formData).toPromise();
31
+ }
32
+ }
33
+ EntityFileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntityFileService_Factory() { return new EntityFileService(i0.ɵɵinject(i1.HttpService)); }, token: EntityFileService, providedIn: "root" });
34
+ EntityFileService.decorators = [
35
+ { type: Injectable, args: [{
36
+ providedIn: 'root'
37
+ },] }
38
+ ];
39
+ EntityFileService.ctorParameters = () => [
40
+ { type: HttpService }
41
+ ];
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUtuRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBSSxDQUFDO0lBRTFDLGNBQWMsQ0FBQyxPQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLE1BQVk7UUFDdkMsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsRUFBRTtZQUNyQixRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLFVBQVUsRUFBRTthQUNaLElBQUksQ0FDSCx5QkFBeUIsRUFDekIsUUFBUSxDQUNULENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpRLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5RmlsZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UpIHsgfVxuXG4gIGdldEVudGl0eUZpbGVzKGZpbHRlcnM6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBhcGkvZW50aXR5LWZpbGVzYCwgeyBwYXJhbXM6IGZpbHRlcnMgfSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBjcmVhdGVFbnRpdHlGaWxlKG1vZGVsOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXCJhcGkvZW50aXR5LWZpbGVzXCIsIG1vZGVsKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHVwZGF0ZUVudGl0eUZpbGUobW9kZWw6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGBhcGkvZW50aXR5LWZpbGVzLyR7bW9kZWwuaWR9YCwgbW9kZWwpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZGVsZXRlRW50aXR5RmlsZShtb2RlbDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYGFwaS9lbnRpdHktZmlsZXMvJHttb2RlbC5pZH1gKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHVwbG9hZEVudGl0eUZpbGUoZmlsZTogRmlsZSwgcGFyYW1zPzogYW55KSB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZURhdGFcIiwgZmlsZSwgZmlsZS5uYW1lKTtcbiAgICBpZiAocGFyYW1zPy5lbnRpdHlfaWQpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZW50aXR5X2lkJywgcGFyYW1zLmVudGl0eV9pZCk7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2VudGl0eV90eXBlJywgcGFyYW1zLmVudGl0eV90eXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnNraXBIZWFkZXIoKVxuICAgICAgLnBvc3QoXG4gICAgICAgIFwiYXBpL2VudGl0eS1maWxlcy11cGxvYWRcIixcbiAgICAgICAgZm9ybURhdGEsXG4gICAgICApLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=