ngx-techlify-core 11.5.2 → 14.2.1

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 (801) hide show
  1. package/esm2020/lib/action-popup/action-popup.component.mjs +34 -0
  2. package/esm2020/lib/action-popup/action-popup.model.mjs +3 -0
  3. package/esm2020/lib/action-popup/action-popup.module.mjs +32 -0
  4. package/esm2020/lib/action-popup/index.mjs +3 -0
  5. package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +18 -0
  6. package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +51 -0
  7. package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +40 -0
  8. package/esm2020/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +18 -0
  9. package/esm2020/lib/audit-log/audit-log-list/audit-log-list.component.mjs +139 -0
  10. package/esm2020/lib/audit-log/audit-log-list/audit-log-list.module.mjs +48 -0
  11. package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +18 -0
  12. package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +74 -0
  13. package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +40 -0
  14. package/esm2020/lib/audit-log/audit-log-routing.module.mjs +25 -0
  15. package/esm2020/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +18 -0
  16. package/esm2020/lib/audit-log/audit-log-view/audit-log-view.component.mjs +51 -0
  17. package/esm2020/lib/audit-log/audit-log-view/audit-log-view.module.mjs +32 -0
  18. package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +18 -0
  19. package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +56 -0
  20. package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +32 -0
  21. package/esm2020/lib/audit-log/audit-log.module.mjs +31 -0
  22. package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +18 -0
  23. package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +37 -0
  24. package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +32 -0
  25. package/esm2020/lib/base-model/index.mjs +4 -0
  26. package/esm2020/lib/base-model/techlify-form-component.class.mjs +49 -0
  27. package/esm2020/lib/base-model/techlify-listing-component.class.mjs +41 -0
  28. package/esm2020/lib/base-model/techlify-service.class.mjs +64 -0
  29. package/esm2020/lib/core/alert.service.mjs +38 -0
  30. package/esm2020/lib/core/api-prefix.interceptor.mjs +26 -0
  31. package/esm2020/lib/core/authentication.guard.mjs +35 -0
  32. package/esm2020/lib/core/authentication.service.mjs +54 -0
  33. package/esm2020/lib/core/cache.interceptor.mjs +58 -0
  34. package/esm2020/lib/core/config.service.mjs +45 -0
  35. package/esm2020/lib/core/core.module.mjs +63 -0
  36. package/esm2020/lib/core/credentials.service.mjs +79 -0
  37. package/esm2020/lib/core/dataManager.service.mjs +119 -0
  38. package/esm2020/lib/core/error-handler.interceptor.mjs +48 -0
  39. package/esm2020/lib/core/error-handler.service.mjs +55 -0
  40. package/esm2020/lib/core/filter.service.mjs +37 -0
  41. package/esm2020/lib/core/form-validator.service.mjs +24 -0
  42. package/esm2020/lib/core/header.interceptor.mjs +24 -0
  43. package/esm2020/lib/core/http-cache.service.mjs +107 -0
  44. package/esm2020/lib/core/http.service.mjs +84 -0
  45. package/esm2020/lib/core/index.mjs +22 -0
  46. package/esm2020/lib/core/logger.service.mjs +100 -0
  47. package/esm2020/lib/core/route-reusable-strategy.mjs +36 -0
  48. package/esm2020/lib/core/snack/snack.component.mjs +33 -0
  49. package/esm2020/lib/core/snack/snack.module.mjs +36 -0
  50. package/esm2020/lib/core/storage.service.mjs +38 -0
  51. package/esm2020/lib/core/techlify-config.model.mjs +28 -0
  52. package/esm2020/lib/core/token.interceptor.mjs +28 -0
  53. package/esm2020/lib/data-table/data-table.component.mjs +208 -0
  54. package/esm2020/lib/data-table/data-table.model.mjs +11 -0
  55. package/esm2020/lib/data-table/data-table.module.mjs +36 -0
  56. package/esm2020/lib/data-table/index.mjs +3 -0
  57. package/esm2020/lib/date-validator.mjs +10 -0
  58. package/esm2020/lib/document-viewer/document-viewer.component.mjs +65 -0
  59. package/esm2020/lib/document-viewer/document-viewer.module.mjs +36 -0
  60. package/esm2020/lib/document-viewer/index.mjs +3 -0
  61. package/esm2020/lib/document-viewer/viewer-config.model.mjs +3 -0
  62. package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +32 -0
  63. package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +76 -0
  64. package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +36 -0
  65. package/esm2020/lib/email-subscription/email-subscription-for-user/index.mjs +2 -0
  66. package/esm2020/lib/email-subscription/email-subscription-routing.module.mjs +18 -0
  67. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +18 -0
  68. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +105 -0
  69. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +44 -0
  70. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +2 -0
  71. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +34 -0
  72. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +161 -0
  73. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +44 -0
  74. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +2 -0
  75. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +18 -0
  76. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +22 -0
  77. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +18 -0
  78. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +101 -0
  79. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +43 -0
  80. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +2 -0
  81. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +34 -0
  82. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +165 -0
  83. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +48 -0
  84. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +2 -0
  85. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +18 -0
  86. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +52 -0
  87. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +40 -0
  88. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +2 -0
  89. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +18 -0
  90. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +22 -0
  91. package/esm2020/lib/email-subscription/email-subscription.module.mjs +22 -0
  92. package/esm2020/lib/entity-files/entity-file-form/entity-file-form.component.mjs +144 -0
  93. package/esm2020/lib/entity-files/entity-file.service.mjs +43 -0
  94. package/esm2020/lib/entity-files/entity-files-view-all.component.mjs +320 -0
  95. package/esm2020/lib/entity-files/entity-files-view-all.module.mjs +66 -0
  96. package/esm2020/lib/entity-files/index.mjs +3 -0
  97. package/esm2020/lib/export-excel/export-excel-button/export-excel-button.component.mjs +32 -0
  98. package/esm2020/lib/export-excel/export-excel.module.mjs +24 -0
  99. package/esm2020/lib/file-dropper/file-dropper.component.mjs +125 -0
  100. package/esm2020/lib/file-dropper/file-dropper.model.mjs +3 -0
  101. package/esm2020/lib/file-dropper/file-dropper.module.mjs +30 -0
  102. package/esm2020/lib/file-dropper/index.mjs +3 -0
  103. package/esm2020/lib/import-csv/data-import/data-import.component.mjs +18 -0
  104. package/esm2020/lib/import-csv/failed-items-list/failed-items-list.component.mjs +35 -0
  105. package/esm2020/lib/import-csv/field-mapping/field-mapping.component.mjs +153 -0
  106. package/esm2020/lib/import-csv/import-csv-config.mjs +2 -0
  107. package/esm2020/lib/import-csv/import-csv.component.mjs +198 -0
  108. package/esm2020/lib/import-csv/import-csv.module.mjs +74 -0
  109. package/esm2020/lib/import-csv/import-history-list/import-history-list.component.mjs +71 -0
  110. package/esm2020/lib/import-csv/import-success/import-success.component.mjs +24 -0
  111. package/esm2020/lib/loader/index.mjs +2 -0
  112. package/esm2020/lib/loader/loader.component.mjs +23 -0
  113. package/esm2020/lib/loader/loader.module.mjs +28 -0
  114. package/esm2020/lib/login-history-for-user/login-history-for-user-routing.module.mjs +26 -0
  115. package/esm2020/lib/login-history-for-user/login-history-for-user.component.mjs +92 -0
  116. package/esm2020/lib/login-history-for-user/login-history-for-user.module.mjs +44 -0
  117. package/esm2020/lib/material.module.mjs +115 -0
  118. package/esm2020/lib/note/comment-form/comment-form.component.mjs +77 -0
  119. package/esm2020/lib/note/index.mjs +4 -0
  120. package/esm2020/lib/note/note-form/note-form.component.mjs +79 -0
  121. package/esm2020/lib/note/note-list/note-list.component.mjs +148 -0
  122. package/esm2020/lib/note/note.module.mjs +54 -0
  123. package/esm2020/lib/note/note.service.mjs +29 -0
  124. package/esm2020/lib/read-more/read-more.component.mjs +43 -0
  125. package/esm2020/lib/read-more/read-more.module.mjs +30 -0
  126. package/esm2020/lib/request-helper/request-helper.service.mjs +105 -0
  127. package/esm2020/lib/searchable-selector/index.mjs +3 -0
  128. package/esm2020/lib/searchable-selector/mat-select-infinite-scroll.directive.mjs +84 -0
  129. package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +350 -0
  130. package/esm2020/lib/searchable-selector/searchable-selector.module.mjs +41 -0
  131. package/esm2020/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +24 -0
  132. package/esm2020/lib/techlify-feature/techlify-feature-enabled.directive.mjs +73 -0
  133. package/esm2020/lib/techlify-feature/techlify-feature-listing.component.mjs +172 -0
  134. package/esm2020/lib/techlify-feature/techlify-feature.module.mjs +48 -0
  135. package/esm2020/lib/techlify-feature/techlify-feature.routing.mjs +12 -0
  136. package/esm2020/lib/techlify-feature/techlify-feature.service.mjs +26 -0
  137. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +15 -0
  138. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +285 -0
  139. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +38 -0
  140. package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +180 -0
  141. package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +46 -0
  142. package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +114 -0
  143. package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +38 -0
  144. package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +28 -0
  145. package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +144 -0
  146. package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +47 -0
  147. package/esm2020/lib/techlify-update/techlify-update-routing.module.mjs +28 -0
  148. package/esm2020/lib/techlify-update/techlify-update.module.mjs +51 -0
  149. package/esm2020/lib/techlify-update/techlify-update.service.mjs +41 -0
  150. package/esm2020/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +162 -0
  151. package/esm2020/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +77 -0
  152. package/esm2020/lib/techlify-update/update-notifier/update-notifier.component.mjs +53 -0
  153. package/esm2020/lib/techlify-update/update-notifier/update-notifier.module.mjs +39 -0
  154. package/esm2020/lib/techlify-update/update-view/update-view.component.mjs +38 -0
  155. package/esm2020/lib/techlify-update/update-view/update-view.module.mjs +30 -0
  156. package/esm2020/lib/timeline-filter/calculate-timeline.mjs +101 -0
  157. package/esm2020/lib/timeline-filter/index.mjs +4 -0
  158. package/esm2020/lib/timeline-filter/timeline-filter-routing.module.mjs +18 -0
  159. package/esm2020/lib/timeline-filter/timeline-filter.component.mjs +237 -0
  160. package/esm2020/lib/timeline-filter/timeline-filter.module.mjs +60 -0
  161. package/esm2020/lib/timeline-filter/timeline.model.mjs +18 -0
  162. package/esm2020/lib/utility/date-utils.service.mjs +50 -0
  163. package/esm2020/lib/utility/index.mjs +4 -0
  164. package/esm2020/lib/utility/num-items-selector.component.mjs +31 -0
  165. package/esm2020/lib/utility/number-selector.component.mjs +42 -0
  166. package/esm2020/lib/utility/utility.module.mjs +28 -0
  167. package/esm2020/ngx-techlify-core.mjs +5 -0
  168. package/esm2020/public-api.mjs +97 -0
  169. package/fesm2015/ngx-techlify-core.mjs +7888 -0
  170. package/fesm2015/ngx-techlify-core.mjs.map +1 -0
  171. package/fesm2020/ngx-techlify-core.mjs +7793 -0
  172. package/fesm2020/ngx-techlify-core.mjs.map +1 -0
  173. package/index.d.ts +6 -0
  174. package/lib/action-popup/action-popup.component.d.ts +18 -0
  175. package/lib/action-popup/action-popup.component.d.ts.map +1 -0
  176. package/lib/action-popup/action-popup.model.d.ts +6 -0
  177. package/lib/action-popup/action-popup.model.d.ts.map +1 -0
  178. package/lib/action-popup/action-popup.module.d.ts +11 -0
  179. package/lib/action-popup/action-popup.module.d.ts.map +1 -0
  180. package/lib/action-popup/index.d.ts +3 -0
  181. package/lib/action-popup/index.d.ts.map +1 -0
  182. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +8 -0
  183. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts.map +1 -0
  184. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +16 -0
  185. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts.map +1 -0
  186. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +14 -0
  187. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts.map +1 -0
  188. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +8 -0
  189. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts.map +1 -0
  190. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +36 -0
  191. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts.map +1 -0
  192. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +16 -0
  193. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts.map +1 -0
  194. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +8 -0
  195. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts.map +1 -0
  196. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +23 -0
  197. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts.map +1 -0
  198. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +14 -0
  199. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts.map +1 -0
  200. package/lib/audit-log/audit-log-routing.module.d.ts +8 -0
  201. package/lib/audit-log/audit-log-routing.module.d.ts.map +1 -0
  202. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +8 -0
  203. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts.map +1 -0
  204. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +21 -0
  205. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts.map +1 -0
  206. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +12 -0
  207. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts.map +1 -0
  208. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +8 -0
  209. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts.map +1 -0
  210. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +19 -0
  211. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts.map +1 -0
  212. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +12 -0
  213. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts.map +1 -0
  214. package/lib/audit-log/audit-log.module.d.ts +11 -0
  215. package/lib/audit-log/audit-log.module.d.ts.map +1 -0
  216. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +8 -0
  217. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts.map +1 -0
  218. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +15 -0
  219. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts.map +1 -0
  220. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +12 -0
  221. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts.map +1 -0
  222. package/lib/base-model/index.d.ts +4 -0
  223. package/lib/base-model/index.d.ts.map +1 -0
  224. package/lib/base-model/techlify-form-component.class.d.ts +44 -0
  225. package/lib/base-model/techlify-form-component.class.d.ts.map +1 -0
  226. package/lib/base-model/techlify-listing-component.class.d.ts +48 -0
  227. package/lib/base-model/techlify-listing-component.class.d.ts.map +1 -0
  228. package/lib/base-model/techlify-service.class.d.ts +53 -0
  229. package/lib/base-model/techlify-service.class.d.ts.map +1 -0
  230. package/lib/core/alert.service.d.ts +16 -0
  231. package/lib/core/alert.service.d.ts.map +1 -0
  232. package/lib/core/api-prefix.interceptor.d.ts +15 -0
  233. package/lib/core/api-prefix.interceptor.d.ts.map +1 -0
  234. package/lib/core/authentication.guard.d.ts +14 -0
  235. package/lib/core/authentication.guard.d.ts.map +1 -0
  236. package/lib/core/authentication.service.d.ts +27 -0
  237. package/lib/core/authentication.service.d.ts.map +1 -0
  238. package/lib/core/cache.interceptor.d.ts +25 -0
  239. package/lib/core/cache.interceptor.d.ts.map +1 -0
  240. package/lib/core/config.service.d.ts +23 -0
  241. package/lib/core/config.service.d.ts.map +1 -0
  242. package/lib/core/core.module.d.ts +12 -0
  243. package/lib/core/core.module.d.ts.map +1 -0
  244. package/lib/core/credentials.service.d.ts +40 -0
  245. package/lib/core/credentials.service.d.ts.map +1 -0
  246. package/{src/lib/core/dataManager.service.ts → lib/core/dataManager.service.d.ts} +26 -76
  247. package/lib/core/dataManager.service.d.ts.map +1 -0
  248. package/lib/core/error-handler.interceptor.d.ts +18 -0
  249. package/lib/core/error-handler.interceptor.d.ts.map +1 -0
  250. package/lib/core/error-handler.service.d.ts +18 -0
  251. package/lib/core/error-handler.service.d.ts.map +1 -0
  252. package/lib/core/filter.service.d.ts +12 -0
  253. package/lib/core/filter.service.d.ts.map +1 -0
  254. package/lib/core/form-validator.service.d.ts +12 -0
  255. package/lib/core/form-validator.service.d.ts.map +1 -0
  256. package/lib/core/header.interceptor.d.ts +12 -0
  257. package/lib/core/header.interceptor.d.ts.map +1 -0
  258. package/lib/core/http-cache.service.d.ts +58 -0
  259. package/lib/core/http-cache.service.d.ts.map +1 -0
  260. package/lib/core/http.service.d.ts +60 -0
  261. package/lib/core/http.service.d.ts.map +1 -0
  262. package/{src/lib/core/index.ts → lib/core/index.d.ts} +1 -1
  263. package/lib/core/index.d.ts.map +1 -0
  264. package/lib/core/logger.service.d.ts +86 -0
  265. package/lib/core/logger.service.d.ts.map +1 -0
  266. package/lib/core/route-reusable-strategy.d.ts +17 -0
  267. package/lib/core/route-reusable-strategy.d.ts.map +1 -0
  268. package/lib/core/snack/snack.component.d.ts +14 -0
  269. package/lib/core/snack/snack.component.d.ts.map +1 -0
  270. package/lib/core/snack/snack.module.d.ts +11 -0
  271. package/lib/core/snack/snack.module.d.ts.map +1 -0
  272. package/lib/core/storage.service.d.ts +19 -0
  273. package/lib/core/storage.service.d.ts.map +1 -0
  274. package/lib/core/techlify-config.model.d.ts +19 -0
  275. package/lib/core/techlify-config.model.d.ts.map +1 -0
  276. package/lib/core/token.interceptor.d.ts +15 -0
  277. package/lib/core/token.interceptor.d.ts.map +1 -0
  278. package/lib/data-table/data-table.component.d.ts +64 -0
  279. package/lib/data-table/data-table.component.d.ts.map +1 -0
  280. package/{src/lib/data-table/data-table.model.ts → lib/data-table/data-table.model.d.ts} +7 -9
  281. package/lib/data-table/data-table.model.d.ts.map +1 -0
  282. package/lib/data-table/data-table.module.d.ts +12 -0
  283. package/lib/data-table/data-table.module.d.ts.map +1 -0
  284. package/lib/data-table/index.d.ts +3 -0
  285. package/lib/data-table/index.d.ts.map +1 -0
  286. package/lib/date-validator.d.ts +2 -0
  287. package/lib/date-validator.d.ts.map +1 -0
  288. package/lib/document-viewer/document-viewer.component.d.ts +20 -0
  289. package/lib/document-viewer/document-viewer.component.d.ts.map +1 -0
  290. package/lib/document-viewer/document-viewer.module.d.ts +12 -0
  291. package/lib/document-viewer/document-viewer.module.d.ts.map +1 -0
  292. package/lib/document-viewer/index.d.ts +3 -0
  293. package/lib/document-viewer/index.d.ts.map +1 -0
  294. package/lib/document-viewer/viewer-config.model.d.ts +6 -0
  295. package/lib/document-viewer/viewer-config.model.d.ts.map +1 -0
  296. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +13 -0
  297. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts.map +1 -0
  298. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +21 -0
  299. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts.map +1 -0
  300. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +13 -0
  301. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts.map +1 -0
  302. package/{src/lib/email-subscription/email-subscription-for-user/index.ts → lib/email-subscription/email-subscription-for-user/index.d.ts} +1 -0
  303. package/lib/email-subscription/email-subscription-for-user/index.d.ts.map +1 -0
  304. package/lib/email-subscription/email-subscription-routing.module.d.ts +8 -0
  305. package/lib/email-subscription/email-subscription-routing.module.d.ts.map +1 -0
  306. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +8 -0
  307. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts.map +1 -0
  308. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +36 -0
  309. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts.map +1 -0
  310. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +15 -0
  311. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts.map +1 -0
  312. package/{src/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.ts → lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts} +1 -0
  313. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts.map +1 -0
  314. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +15 -0
  315. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts.map +1 -0
  316. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +34 -0
  317. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts.map +1 -0
  318. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +15 -0
  319. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts.map +1 -0
  320. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +2 -0
  321. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts.map +1 -0
  322. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +8 -0
  323. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts.map +1 -0
  324. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +9 -0
  325. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts.map +1 -0
  326. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +8 -0
  327. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts.map +1 -0
  328. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +36 -0
  329. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts.map +1 -0
  330. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +15 -0
  331. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts.map +1 -0
  332. package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts} +1 -0
  333. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts.map +1 -0
  334. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +15 -0
  335. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts.map +1 -0
  336. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +36 -0
  337. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts.map +1 -0
  338. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +16 -0
  339. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts.map +1 -0
  340. package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts} +1 -0
  341. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts.map +1 -0
  342. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +8 -0
  343. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts.map +1 -0
  344. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +17 -0
  345. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts.map +1 -0
  346. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +14 -0
  347. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts.map +1 -0
  348. package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts} +1 -0
  349. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts.map +1 -0
  350. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +8 -0
  351. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts.map +1 -0
  352. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +9 -0
  353. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts.map +1 -0
  354. package/lib/email-subscription/email-subscription.module.d.ts +9 -0
  355. package/lib/email-subscription/email-subscription.module.d.ts.map +1 -0
  356. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +42 -0
  357. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts.map +1 -0
  358. package/lib/entity-files/entity-file.service.d.ts +15 -0
  359. package/lib/entity-files/entity-file.service.d.ts.map +1 -0
  360. package/lib/entity-files/entity-files-view-all.component.d.ts +69 -0
  361. package/lib/entity-files/entity-files-view-all.component.d.ts.map +1 -0
  362. package/lib/entity-files/entity-files-view-all.module.d.ts +20 -0
  363. package/lib/entity-files/entity-files-view-all.module.d.ts.map +1 -0
  364. package/lib/entity-files/index.d.ts +3 -0
  365. package/lib/entity-files/index.d.ts.map +1 -0
  366. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +12 -0
  367. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts.map +1 -0
  368. package/lib/export-excel/export-excel.module.d.ts +10 -0
  369. package/lib/export-excel/export-excel.module.d.ts.map +1 -0
  370. package/lib/file-dropper/file-dropper.component.d.ts +37 -0
  371. package/lib/file-dropper/file-dropper.component.d.ts.map +1 -0
  372. package/lib/file-dropper/file-dropper.model.d.ts +11 -0
  373. package/lib/file-dropper/file-dropper.model.d.ts.map +1 -0
  374. package/lib/file-dropper/file-dropper.module.d.ts +11 -0
  375. package/lib/file-dropper/file-dropper.module.d.ts.map +1 -0
  376. package/lib/file-dropper/index.d.ts +3 -0
  377. package/lib/file-dropper/index.d.ts.map +1 -0
  378. package/lib/import-csv/data-import/data-import.component.d.ts +10 -0
  379. package/lib/import-csv/data-import/data-import.component.d.ts.map +1 -0
  380. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +16 -0
  381. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts.map +1 -0
  382. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +38 -0
  383. package/lib/import-csv/field-mapping/field-mapping.component.d.ts.map +1 -0
  384. package/lib/import-csv/import-csv-config.d.ts +18 -0
  385. package/lib/import-csv/import-csv-config.d.ts.map +1 -0
  386. package/lib/import-csv/import-csv.component.d.ts +37 -0
  387. package/lib/import-csv/import-csv.component.d.ts.map +1 -0
  388. package/lib/import-csv/import-csv.module.d.ts +21 -0
  389. package/lib/import-csv/import-csv.module.d.ts.map +1 -0
  390. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +25 -0
  391. package/lib/import-csv/import-history-list/import-history-list.component.d.ts.map +1 -0
  392. package/lib/import-csv/import-success/import-success.component.d.ts +12 -0
  393. package/lib/import-csv/import-success/import-success.component.d.ts.map +1 -0
  394. package/{src/lib/loader/index.ts → lib/loader/index.d.ts} +1 -0
  395. package/lib/loader/index.d.ts.map +1 -0
  396. package/lib/loader/loader.component.d.ts +12 -0
  397. package/lib/loader/loader.component.d.ts.map +1 -0
  398. package/lib/loader/loader.module.d.ts +10 -0
  399. package/lib/loader/loader.module.d.ts.map +1 -0
  400. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +8 -0
  401. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts.map +1 -0
  402. package/lib/login-history-for-user/login-history-for-user.component.d.ts +27 -0
  403. package/lib/login-history-for-user/login-history-for-user.component.d.ts.map +1 -0
  404. package/lib/login-history-for-user/login-history-for-user.module.d.ts +15 -0
  405. package/lib/login-history-for-user/login-history-for-user.module.d.ts.map +1 -0
  406. package/lib/material.module.d.ts +27 -0
  407. package/lib/material.module.d.ts.map +1 -0
  408. package/lib/note/comment-form/comment-form.component.d.ts +26 -0
  409. package/lib/note/comment-form/comment-form.component.d.ts.map +1 -0
  410. package/{src/lib/note/index.ts → lib/note/index.d.ts} +1 -0
  411. package/lib/note/index.d.ts.map +1 -0
  412. package/lib/note/note-form/note-form.component.d.ts +31 -0
  413. package/lib/note/note-form/note-form.component.d.ts.map +1 -0
  414. package/lib/note/note-list/note-list.component.d.ts +32 -0
  415. package/lib/note/note-list/note-list.component.d.ts.map +1 -0
  416. package/lib/note/note.module.d.ts +17 -0
  417. package/lib/note/note.module.d.ts.map +1 -0
  418. package/lib/note/note.service.d.ts +13 -0
  419. package/lib/note/note.service.d.ts.map +1 -0
  420. package/lib/read-more/read-more.component.d.ts +16 -0
  421. package/lib/read-more/read-more.component.d.ts.map +1 -0
  422. package/lib/read-more/read-more.module.d.ts +11 -0
  423. package/lib/read-more/read-more.module.d.ts.map +1 -0
  424. package/lib/request-helper/request-helper.service.d.ts +41 -0
  425. package/lib/request-helper/request-helper.service.d.ts.map +1 -0
  426. package/lib/searchable-selector/index.d.ts +3 -0
  427. package/lib/searchable-selector/index.d.ts.map +1 -0
  428. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +27 -0
  429. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts.map +1 -0
  430. package/lib/searchable-selector/searchable-selector.component.d.ts +85 -0
  431. package/lib/searchable-selector/searchable-selector.component.d.ts.map +1 -0
  432. package/lib/searchable-selector/searchable-selector.module.d.ts +13 -0
  433. package/lib/searchable-selector/searchable-selector.module.d.ts.map +1 -0
  434. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +13 -0
  435. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts.map +1 -0
  436. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +21 -0
  437. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts.map +1 -0
  438. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +41 -0
  439. package/lib/techlify-feature/techlify-feature-listing.component.d.ts.map +1 -0
  440. package/lib/techlify-feature/techlify-feature.module.d.ts +17 -0
  441. package/lib/techlify-feature/techlify-feature.module.d.ts.map +1 -0
  442. package/lib/techlify-feature/techlify-feature.routing.d.ts +3 -0
  443. package/lib/techlify-feature/techlify-feature.routing.d.ts.map +1 -0
  444. package/lib/techlify-feature/techlify-feature.service.d.ts +12 -0
  445. package/lib/techlify-feature/techlify-feature.service.d.ts.map +1 -0
  446. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +13 -0
  447. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts.map +1 -0
  448. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +80 -0
  449. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts.map +1 -0
  450. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +13 -0
  451. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts.map +1 -0
  452. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +62 -0
  453. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts.map +1 -0
  454. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +15 -0
  455. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts.map +1 -0
  456. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +34 -0
  457. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts.map +1 -0
  458. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +13 -0
  459. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts.map +1 -0
  460. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +8 -0
  461. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts.map +1 -0
  462. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +35 -0
  463. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts.map +1 -0
  464. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +16 -0
  465. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts.map +1 -0
  466. package/lib/techlify-update/techlify-update-routing.module.d.ts +8 -0
  467. package/lib/techlify-update/techlify-update-routing.module.d.ts.map +1 -0
  468. package/lib/techlify-update/techlify-update.module.d.ts +17 -0
  469. package/lib/techlify-update/techlify-update.module.d.ts.map +1 -0
  470. package/lib/techlify-update/techlify-update.service.d.ts +17 -0
  471. package/lib/techlify-update/techlify-update.service.d.ts.map +1 -0
  472. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +35 -0
  473. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts.map +1 -0
  474. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +29 -0
  475. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts.map +1 -0
  476. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +20 -0
  477. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts.map +1 -0
  478. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +14 -0
  479. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts.map +1 -0
  480. package/lib/techlify-update/update-view/update-view.component.d.ts +18 -0
  481. package/lib/techlify-update/update-view/update-view.component.d.ts.map +1 -0
  482. package/lib/techlify-update/update-view/update-view.module.d.ts +11 -0
  483. package/lib/techlify-update/update-view/update-view.module.d.ts.map +1 -0
  484. package/lib/timeline-filter/calculate-timeline.d.ts +7 -0
  485. package/lib/timeline-filter/calculate-timeline.d.ts.map +1 -0
  486. package/lib/timeline-filter/index.d.ts +4 -0
  487. package/lib/timeline-filter/index.d.ts.map +1 -0
  488. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +8 -0
  489. package/lib/timeline-filter/timeline-filter-routing.module.d.ts.map +1 -0
  490. package/lib/timeline-filter/timeline-filter.component.d.ts +66 -0
  491. package/lib/timeline-filter/timeline-filter.component.d.ts.map +1 -0
  492. package/lib/timeline-filter/timeline-filter.module.d.ts +19 -0
  493. package/lib/timeline-filter/timeline-filter.module.d.ts.map +1 -0
  494. package/lib/timeline-filter/timeline.model.d.ts +18 -0
  495. package/lib/timeline-filter/timeline.model.d.ts.map +1 -0
  496. package/lib/utility/date-utils.service.d.ts +25 -0
  497. package/lib/utility/date-utils.service.d.ts.map +1 -0
  498. package/{src/lib/utility/index.ts → lib/utility/index.d.ts} +2 -1
  499. package/lib/utility/index.d.ts.map +1 -0
  500. package/lib/utility/num-items-selector.component.d.ts +20 -0
  501. package/lib/utility/num-items-selector.component.d.ts.map +1 -0
  502. package/lib/utility/number-selector.component.d.ts +24 -0
  503. package/lib/utility/number-selector.component.d.ts.map +1 -0
  504. package/lib/utility/utility.module.d.ts +11 -0
  505. package/lib/utility/utility.module.d.ts.map +1 -0
  506. package/ngx-techlify-core.d.ts.map +1 -0
  507. package/package.json +49 -29
  508. package/{src/public-api.ts → public-api.d.ts} +1 -30
  509. package/public-api.d.ts.map +1 -0
  510. package/karma.conf.js +0 -44
  511. package/ng-package.json +0 -27
  512. package/src/lib/action-popup/action-popup.component.html +0 -21
  513. package/src/lib/action-popup/action-popup.component.scss +0 -0
  514. package/src/lib/action-popup/action-popup.component.spec.ts +0 -25
  515. package/src/lib/action-popup/action-popup.component.ts +0 -31
  516. package/src/lib/action-popup/action-popup.model.ts +0 -5
  517. package/src/lib/action-popup/action-popup.module.ts +0 -23
  518. package/src/lib/action-popup/index.ts +0 -2
  519. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.ts +0 -10
  520. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.html +0 -9
  521. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.scss +0 -0
  522. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.spec.ts +0 -25
  523. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.ts +0 -49
  524. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.module.ts +0 -24
  525. package/src/lib/audit-log/audit-log-list/audit-log-list-routing.module.ts +0 -10
  526. package/src/lib/audit-log/audit-log-list/audit-log-list.component.html +0 -92
  527. package/src/lib/audit-log/audit-log-list/audit-log-list.component.scss +0 -21
  528. package/src/lib/audit-log/audit-log-list/audit-log-list.component.spec.ts +0 -25
  529. package/src/lib/audit-log/audit-log-list/audit-log-list.component.ts +0 -138
  530. package/src/lib/audit-log/audit-log-list/audit-log-list.module.ts +0 -28
  531. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.ts +0 -10
  532. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.html +0 -49
  533. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.scss +0 -0
  534. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.spec.ts +0 -26
  535. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.ts +0 -74
  536. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.ts +0 -24
  537. package/src/lib/audit-log/audit-log-routing.module.ts +0 -18
  538. package/src/lib/audit-log/audit-log-view/audit-log-view-routing.module.ts +0 -10
  539. package/src/lib/audit-log/audit-log-view/audit-log-view.component.html +0 -46
  540. package/src/lib/audit-log/audit-log-view/audit-log-view.component.scss +0 -0
  541. package/src/lib/audit-log/audit-log-view/audit-log-view.component.spec.ts +0 -25
  542. package/src/lib/audit-log/audit-log-view/audit-log-view.component.ts +0 -54
  543. package/src/lib/audit-log/audit-log-view/audit-log-view.module.ts +0 -20
  544. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.ts +0 -10
  545. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.html +0 -38
  546. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.scss +0 -4
  547. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.spec.ts +0 -25
  548. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.ts +0 -53
  549. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.module.ts +0 -20
  550. package/src/lib/audit-log/audit-log.module.ts +0 -20
  551. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.ts +0 -10
  552. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.html +0 -4
  553. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.scss +0 -4
  554. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.spec.ts +0 -25
  555. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.ts +0 -28
  556. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.ts +0 -20
  557. package/src/lib/base-model/index.ts +0 -3
  558. package/src/lib/base-model/techlify-form-component.class.ts +0 -60
  559. package/src/lib/base-model/techlify-listing-component.class.ts +0 -67
  560. package/src/lib/base-model/techlify-service.class.ts +0 -73
  561. package/src/lib/core/alert.service.ts +0 -32
  562. package/src/lib/core/api-prefix.interceptor.ts +0 -22
  563. package/src/lib/core/authentication.guard.ts +0 -34
  564. package/src/lib/core/authentication.service.ts +0 -53
  565. package/src/lib/core/cache.interceptor.ts +0 -59
  566. package/src/lib/core/config.service.ts +0 -52
  567. package/src/lib/core/core.module.ts +0 -44
  568. package/src/lib/core/credentials.service.ts +0 -91
  569. package/src/lib/core/error-handler.interceptor.ts +0 -43
  570. package/src/lib/core/error-handler.service.ts +0 -61
  571. package/src/lib/core/filter.service.ts +0 -42
  572. package/src/lib/core/form-validator.service.ts +0 -23
  573. package/src/lib/core/header.interceptor.ts +0 -22
  574. package/src/lib/core/http-cache.service.ts +0 -122
  575. package/src/lib/core/http.service.ts +0 -137
  576. package/src/lib/core/logger.service.ts +0 -113
  577. package/src/lib/core/route-reusable-strategy.ts +0 -36
  578. package/src/lib/core/snack/error-snack.html +0 -8
  579. package/src/lib/core/snack/snack.component.ts +0 -19
  580. package/src/lib/core/snack/snack.module.ts +0 -22
  581. package/src/lib/core/snack/snack.scss +0 -18
  582. package/src/lib/core/snack/success-snack.html +0 -8
  583. package/src/lib/core/storage.service.ts +0 -38
  584. package/src/lib/core/techlify-config.model.ts +0 -32
  585. package/src/lib/core/token.interceptor.ts +0 -25
  586. package/src/lib/data-table/data-table.component.html +0 -139
  587. package/src/lib/data-table/data-table.component.scss +0 -54
  588. package/src/lib/data-table/data-table.component.spec.ts +0 -25
  589. package/src/lib/data-table/data-table.component.ts +0 -232
  590. package/src/lib/data-table/data-table.module.ts +0 -23
  591. package/src/lib/data-table/index.ts +0 -2
  592. package/src/lib/date-validator.ts +0 -12
  593. package/src/lib/document-viewer/document-viewer.component.css +0 -5
  594. package/src/lib/document-viewer/document-viewer.component.html +0 -19
  595. package/src/lib/document-viewer/document-viewer.component.ts +0 -66
  596. package/src/lib/document-viewer/document-viewer.module.ts +0 -22
  597. package/src/lib/document-viewer/index.ts +0 -2
  598. package/src/lib/document-viewer/viewer-config.model.ts +0 -5
  599. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.ts +0 -25
  600. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.html +0 -23
  601. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.scss +0 -4
  602. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.spec.ts +0 -25
  603. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.ts +0 -74
  604. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.ts +0 -22
  605. package/src/lib/email-subscription/email-subscription-routing.module.ts +0 -10
  606. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.ts +0 -10
  607. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.html +0 -47
  608. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.scss +0 -0
  609. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.spec.ts +0 -25
  610. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.ts +0 -113
  611. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.ts +0 -28
  612. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.ts +0 -29
  613. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.html +0 -76
  614. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.scss +0 -4
  615. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.spec.ts +0 -25
  616. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.ts +0 -170
  617. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.ts +0 -26
  618. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.ts +0 -1
  619. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.ts +0 -11
  620. package/src/lib/email-subscription/email-subscription-type/email-subscription-type.module.ts +0 -14
  621. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.ts +0 -10
  622. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.html +0 -38
  623. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.scss +0 -0
  624. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.spec.ts +0 -25
  625. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.ts +0 -113
  626. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.ts +0 -26
  627. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.ts +0 -27
  628. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.html +0 -74
  629. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.scss +0 -5
  630. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.spec.ts +0 -25
  631. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.ts +0 -174
  632. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.ts +0 -28
  633. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.ts +0 -10
  634. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.html +0 -21
  635. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.scss +0 -0
  636. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.spec.ts +0 -25
  637. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.ts +0 -56
  638. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.ts +0 -24
  639. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.ts +0 -11
  640. package/src/lib/email-subscription/email-subscription-user/email-subscription-user.module.ts +0 -14
  641. package/src/lib/email-subscription/email-subscription.module.ts +0 -15
  642. package/src/lib/entity-files/entity-file-form/entity-file-form.component.css +0 -0
  643. package/src/lib/entity-files/entity-file-form/entity-file-form.component.html +0 -45
  644. package/src/lib/entity-files/entity-file-form/entity-file-form.component.ts +0 -172
  645. package/src/lib/entity-files/entity-file.service.ts +0 -46
  646. package/src/lib/entity-files/entity-files-view-all.component.css +0 -0
  647. package/src/lib/entity-files/entity-files-view-all.component.html +0 -236
  648. package/src/lib/entity-files/entity-files-view-all.component.ts +0 -325
  649. package/src/lib/entity-files/entity-files-view-all.module.ts +0 -38
  650. package/src/lib/entity-files/index.ts +0 -2
  651. package/src/lib/export-excel/export-excel-button/export-excel-button.component.html +0 -1
  652. package/src/lib/export-excel/export-excel-button/export-excel-button.component.scss +0 -0
  653. package/src/lib/export-excel/export-excel-button/export-excel-button.component.spec.ts +0 -25
  654. package/src/lib/export-excel/export-excel-button/export-excel-button.component.ts +0 -31
  655. package/src/lib/export-excel/export-excel.module.ts +0 -16
  656. package/src/lib/file-dropper/file-dropper.component.html +0 -41
  657. package/src/lib/file-dropper/file-dropper.component.scss +0 -8
  658. package/src/lib/file-dropper/file-dropper.component.ts +0 -139
  659. package/src/lib/file-dropper/file-dropper.model.ts +0 -10
  660. package/src/lib/file-dropper/file-dropper.module.ts +0 -18
  661. package/src/lib/file-dropper/index.ts +0 -2
  662. package/src/lib/import-csv/data-import/data-import.component.html +0 -11
  663. package/src/lib/import-csv/data-import/data-import.component.scss +0 -0
  664. package/src/lib/import-csv/data-import/data-import.component.spec.ts +0 -28
  665. package/src/lib/import-csv/data-import/data-import.component.ts +0 -16
  666. package/src/lib/import-csv/failed-items-list/failed-items-list.component.html +0 -61
  667. package/src/lib/import-csv/failed-items-list/failed-items-list.component.scss +0 -0
  668. package/src/lib/import-csv/failed-items-list/failed-items-list.component.spec.ts +0 -28
  669. package/src/lib/import-csv/failed-items-list/failed-items-list.component.ts +0 -30
  670. package/src/lib/import-csv/field-mapping/field-mapping.component.html +0 -70
  671. package/src/lib/import-csv/field-mapping/field-mapping.component.scss +0 -15
  672. package/src/lib/import-csv/field-mapping/field-mapping.component.ts +0 -161
  673. package/src/lib/import-csv/import-csv-config.ts +0 -17
  674. package/src/lib/import-csv/import-csv.component.html +0 -71
  675. package/src/lib/import-csv/import-csv.component.scss +0 -15
  676. package/src/lib/import-csv/import-csv.component.spec.ts +0 -28
  677. package/src/lib/import-csv/import-csv.component.ts +0 -198
  678. package/src/lib/import-csv/import-csv.module.ts +0 -43
  679. package/src/lib/import-csv/import-history-list/import-history-list.component.html +0 -43
  680. package/src/lib/import-csv/import-history-list/import-history-list.component.scss +0 -0
  681. package/src/lib/import-csv/import-history-list/import-history-list.component.spec.ts +0 -28
  682. package/src/lib/import-csv/import-history-list/import-history-list.component.ts +0 -74
  683. package/src/lib/import-csv/import-success/import-success.component.html +0 -22
  684. package/src/lib/import-csv/import-success/import-success.component.scss +0 -0
  685. package/src/lib/import-csv/import-success/import-success.component.spec.ts +0 -28
  686. package/src/lib/import-csv/import-success/import-success.component.ts +0 -17
  687. package/src/lib/loader/loader.component.html +0 -4
  688. package/src/lib/loader/loader.component.scss +0 -8
  689. package/src/lib/loader/loader.component.spec.ts +0 -73
  690. package/src/lib/loader/loader.component.ts +0 -18
  691. package/src/lib/loader/loader.module.ts +0 -18
  692. package/src/lib/login-history-for-user/login-history-for-user-routing.module.ts +0 -18
  693. package/src/lib/login-history-for-user/login-history-for-user.component.html +0 -31
  694. package/src/lib/login-history-for-user/login-history-for-user.component.scss +0 -4
  695. package/src/lib/login-history-for-user/login-history-for-user.component.spec.ts +0 -25
  696. package/src/lib/login-history-for-user/login-history-for-user.component.ts +0 -94
  697. package/src/lib/login-history-for-user/login-history-for-user.module.ts +0 -26
  698. package/src/lib/material.module.ts +0 -68
  699. package/src/lib/note/comment-form/comment-form.component.html +0 -45
  700. package/src/lib/note/comment-form/comment-form.component.scss +0 -7
  701. package/src/lib/note/comment-form/comment-form.component.spec.ts +0 -24
  702. package/src/lib/note/comment-form/comment-form.component.ts +0 -84
  703. package/src/lib/note/note-form/note-form.component.css +0 -0
  704. package/src/lib/note/note-form/note-form.component.html +0 -26
  705. package/src/lib/note/note-form/note-form.component.spec.ts +0 -25
  706. package/src/lib/note/note-form/note-form.component.ts +0 -93
  707. package/src/lib/note/note-list/note-list.component.css +0 -4
  708. package/src/lib/note/note-list/note-list.component.html +0 -58
  709. package/src/lib/note/note-list/note-list.component.spec.ts +0 -25
  710. package/src/lib/note/note-list/note-list.component.ts +0 -156
  711. package/src/lib/note/note.module.ts +0 -33
  712. package/src/lib/note/note.service.spec.ts +0 -16
  713. package/src/lib/note/note.service.ts +0 -26
  714. package/src/lib/read-more/read-more.component.html +0 -3
  715. package/src/lib/read-more/read-more.component.scss +0 -8
  716. package/src/lib/read-more/read-more.component.spec.ts +0 -24
  717. package/src/lib/read-more/read-more.component.ts +0 -41
  718. package/src/lib/read-more/read-more.module.ts +0 -18
  719. package/src/lib/request-helper/request-helper.service.ts +0 -92
  720. package/src/lib/searchable-selector/index.ts +0 -2
  721. package/src/lib/searchable-selector/mat-select-infinite-scroll.directive.ts +0 -89
  722. package/src/lib/searchable-selector/searchable-selector.component.html +0 -21
  723. package/src/lib/searchable-selector/searchable-selector.component.scss +0 -8
  724. package/src/lib/searchable-selector/searchable-selector.component.spec.ts +0 -25
  725. package/src/lib/searchable-selector/searchable-selector.component.ts +0 -337
  726. package/src/lib/searchable-selector/searchable-selector.module.ts +0 -25
  727. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.html +0 -4
  728. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.scss +0 -0
  729. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.spec.ts +0 -28
  730. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.ts +0 -25
  731. package/src/lib/techlify-feature/techlify-feature-enabled.directive.ts +0 -71
  732. package/src/lib/techlify-feature/techlify-feature-listing.component.html +0 -65
  733. package/src/lib/techlify-feature/techlify-feature-listing.component.scss +0 -0
  734. package/src/lib/techlify-feature/techlify-feature-listing.component.ts +0 -174
  735. package/src/lib/techlify-feature/techlify-feature.module.ts +0 -28
  736. package/src/lib/techlify-feature/techlify-feature.routing.ts +0 -13
  737. package/src/lib/techlify-feature/techlify-feature.service.ts +0 -23
  738. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.ts +0 -25
  739. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.html +0 -18
  740. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.scss +0 -6
  741. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.spec.ts +0 -25
  742. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.ts +0 -308
  743. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.ts +0 -24
  744. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.html +0 -8
  745. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.scss +0 -0
  746. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.spec.ts +0 -25
  747. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.ts +0 -180
  748. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.ts +0 -28
  749. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.html +0 -78
  750. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.scss +0 -0
  751. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.spec.ts +0 -25
  752. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.ts +0 -113
  753. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.module.ts +0 -25
  754. package/src/lib/techlify-update/techlify-update-history/index.ts +0 -1
  755. package/src/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.ts +0 -21
  756. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.html +0 -94
  757. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.scss +0 -0
  758. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.ts +0 -142
  759. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.module.ts +0 -25
  760. package/src/lib/techlify-update/techlify-update-routing.module.ts +0 -21
  761. package/src/lib/techlify-update/techlify-update.module.ts +0 -27
  762. package/src/lib/techlify-update/techlify-update.service.spec.ts +0 -16
  763. package/src/lib/techlify-update/techlify-update.service.ts +0 -42
  764. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.html +0 -104
  765. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.scss +0 -0
  766. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.spec.ts +0 -25
  767. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.ts +0 -167
  768. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.html +0 -39
  769. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.scss +0 -57
  770. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.spec.ts +0 -25
  771. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.ts +0 -76
  772. package/src/lib/techlify-update/update-notifier/update-notifier.component.html +0 -0
  773. package/src/lib/techlify-update/update-notifier/update-notifier.component.scss +0 -3
  774. package/src/lib/techlify-update/update-notifier/update-notifier.component.spec.ts +0 -25
  775. package/src/lib/techlify-update/update-notifier/update-notifier.component.ts +0 -56
  776. package/src/lib/techlify-update/update-notifier/update-notifier.module.ts +0 -27
  777. package/src/lib/techlify-update/update-view/update-view.component.html +0 -63
  778. package/src/lib/techlify-update/update-view/update-view.component.scss +0 -19
  779. package/src/lib/techlify-update/update-view/update-view.component.spec.ts +0 -25
  780. package/src/lib/techlify-update/update-view/update-view.component.ts +0 -36
  781. package/src/lib/techlify-update/update-view/update-view.module.ts +0 -23
  782. package/src/lib/timeline-filter/calculate-timeline.ts +0 -109
  783. package/src/lib/timeline-filter/index.ts +0 -3
  784. package/src/lib/timeline-filter/timeline-filter-routing.module.ts +0 -10
  785. package/src/lib/timeline-filter/timeline-filter.component.html +0 -54
  786. package/src/lib/timeline-filter/timeline-filter.component.scss +0 -0
  787. package/src/lib/timeline-filter/timeline-filter.component.spec.ts +0 -25
  788. package/src/lib/timeline-filter/timeline-filter.component.ts +0 -220
  789. package/src/lib/timeline-filter/timeline-filter.module.ts +0 -22
  790. package/src/lib/timeline-filter/timeline.model.ts +0 -17
  791. package/src/lib/utility/date-utils.service.ts +0 -51
  792. package/src/lib/utility/num-items-selector.component.ts +0 -29
  793. package/src/lib/utility/num-items-selector.html +0 -13
  794. package/src/lib/utility/number-selector.component.ts +0 -38
  795. package/src/lib/utility/number-selector.html +0 -6
  796. package/src/lib/utility/utility.module.ts +0 -20
  797. package/src/test.ts +0 -26
  798. package/tsconfig.lib.json +0 -26
  799. package/tsconfig.lib.prod.json +0 -10
  800. package/tsconfig.spec.json +0 -17
  801. package/tslint.json +0 -17
@@ -0,0 +1,320 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { EntityFileFormComponent } from './entity-file-form/entity-file-form.component';
4
+ import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
5
+ import { debounceTime } from 'rxjs/operators';
6
+ import { MatTableDataSource } from '@angular/material/table';
7
+ import { ActionPopupComponent } from '../action-popup/action-popup.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./entity-file.service";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "../core/alert.service";
12
+ import * as i4 from "@angular/material/dialog";
13
+ import * as i5 from "@angular/forms";
14
+ import * as i6 from "../core/error-handler.service";
15
+ import * as i7 from "@angular/flex-layout/flex";
16
+ import * as i8 from "@angular/flex-layout/extended";
17
+ import * as i9 from "../file-dropper/file-dropper.component";
18
+ import * as i10 from "../document-viewer/document-viewer.component";
19
+ import * as i11 from "ngx-infinite-scroll";
20
+ import * as i12 from "@angular/material/button";
21
+ import * as i13 from "@angular/material/checkbox";
22
+ import * as i14 from "@angular/material/form-field";
23
+ import * as i15 from "@angular/material/icon";
24
+ import * as i16 from "@angular/material/input";
25
+ import * as i17 from "@angular/material/sort";
26
+ import * as i18 from "@angular/material/table";
27
+ import * as i19 from "@angular/material/card";
28
+ import * as i20 from "@angular/material/chips";
29
+ import * as i21 from "@angular/material/tooltip";
30
+ import * as i22 from "@angular/material/sidenav";
31
+ import * as i23 from "../techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component";
32
+ import * as i24 from "../searchable-selector/searchable-selector.component";
33
+ import * as i25 from "../read-more/read-more.component";
34
+ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
35
+ constructor(entityFileService, location, alertService, dialog, fb, errorHandler) {
36
+ this.entityFileService = entityFileService;
37
+ this.location = location;
38
+ this.alertService = alertService;
39
+ this.dialog = dialog;
40
+ this.fb = fb;
41
+ this.errorHandler = errorHandler;
42
+ this.viewOnly = false;
43
+ this.allowMultipleFiles = false;
44
+ this.allowBulkUpdate = false;
45
+ this.documentIds = [];
46
+ this.isAllSelected = false;
47
+ /**
48
+ * Should we allow tagging entity-files?
49
+ */
50
+ this.useTechlifyTags = false;
51
+ this.title = "File";
52
+ this.filters = {};
53
+ this.entityFiles = [];
54
+ this.displayedColumns = [
55
+ 'index',
56
+ 'title',
57
+ 'details',
58
+ 'file_size',
59
+ 'uploaded_on',
60
+ ];
61
+ this.isWorking = false;
62
+ this.page = 1;
63
+ this.perPage = 25;
64
+ this.lastPage = 0;
65
+ this.fileList = [];
66
+ this.dataSource = new MatTableDataSource();
67
+ this.isReload = false;
68
+ this.filterFormGroup = this.fb.group({
69
+ title: [""],
70
+ tag_ids: [""]
71
+ });
72
+ this.updateRowForm = this.fb.group({
73
+ title: [''],
74
+ details: [''],
75
+ tag_ids: [''],
76
+ });
77
+ }
78
+ ngOnInit() {
79
+ //File dropper config
80
+ this.fileConfig = {
81
+ fileId: "entityDashboardDropper",
82
+ containerId: "entityDashboardDropperContainer",
83
+ styles: {
84
+ height: "500px"
85
+ },
86
+ multiple: this.allowMultipleFiles,
87
+ acceptFile: "*",
88
+ maxSize: 10,
89
+ acceptFileText: "All Files"
90
+ };
91
+ this.viewerConfig = {
92
+ imageStyle: {
93
+ height: '200px',
94
+ width: '200px'
95
+ },
96
+ viewerStyle: {
97
+ height: ' 160px',
98
+ width: '200px'
99
+ },
100
+ hideRemove: true
101
+ };
102
+ if (this.hideTitleAndDetails) {
103
+ this.displayedColumns = this.displayedColumns.filter(x => (x !== 'details') && (x !== 'title'));
104
+ }
105
+ this.listenRoutes();
106
+ this.filters = {
107
+ entity_type: this.entityType,
108
+ entity_id: this.entityId,
109
+ title: ""
110
+ };
111
+ this.fetchEntityFilesDetails();
112
+ if (this.useTechlifyTags) {
113
+ this.displayedColumns.push('tag');
114
+ }
115
+ if (!this.viewOnly) {
116
+ this.displayedColumns.push('actions');
117
+ }
118
+ if (this.allowBulkUpdate) {
119
+ this.displayedColumns.push('select');
120
+ }
121
+ }
122
+ listenRoutes() {
123
+ this.filterFormGroup.valueChanges.pipe(debounceTime(500), untilDestroyed(this))
124
+ .subscribe(changes => {
125
+ this.reload();
126
+ });
127
+ }
128
+ async fetchEntityFilesDetails() {
129
+ this.filters.page = this.page;
130
+ this.filters.perPage = this.perPage;
131
+ let formGroup = this.filterFormGroup.value;
132
+ formGroup.tag_ids = formGroup.tag_ids.toString();
133
+ this.filters = {
134
+ ...this.filters,
135
+ ...formGroup
136
+ };
137
+ this.isWorking = true;
138
+ const result = await this.entityFileService.getEntityFiles(this.filters);
139
+ this.lastPage = result.last_page || this.page;
140
+ this.entityFiles = this.entityFiles.concat(result.data);
141
+ this.dataSource = new MatTableDataSource(this.entityFiles);
142
+ this.isWorking = false;
143
+ }
144
+ addEntityFile() {
145
+ this.isWorking = true;
146
+ const dialogRef = this.dialog.open(EntityFileFormComponent, {
147
+ width: "700px",
148
+ data: {
149
+ entity: this.filters,
150
+ hideTitleAndDetails: this.hideTitleAndDetails,
151
+ useTechlifyTags: this.useTechlifyTags,
152
+ },
153
+ autoFocus: false,
154
+ restoreFocus: false
155
+ });
156
+ dialogRef.afterClosed().subscribe(async (result) => {
157
+ this.isWorking = false;
158
+ if (result) {
159
+ const files = [...this.entityFiles];
160
+ files.push(result);
161
+ this.entityFiles = files;
162
+ this.dataSource = new MatTableDataSource(this.entityFiles);
163
+ }
164
+ });
165
+ }
166
+ editEntityFile(file) {
167
+ this.isWorking = true;
168
+ const dialogRef = this.dialog.open(EntityFileFormComponent, {
169
+ width: "700px",
170
+ autoFocus: false,
171
+ data: {
172
+ file: file,
173
+ hideTitleAndDetails: this.hideTitleAndDetails,
174
+ useTechlifyTags: this.useTechlifyTags,
175
+ } // Any data passed here will be injected into the model
176
+ });
177
+ dialogRef.afterClosed().subscribe(result => {
178
+ this.isWorking = false;
179
+ if (result) {
180
+ this.reload();
181
+ }
182
+ });
183
+ }
184
+ deleteEntityFile(file) {
185
+ const dialogRef = this.dialog.open(ActionPopupComponent, {
186
+ width: "400px",
187
+ data: {
188
+ title: "Delete File",
189
+ message: `Are you sure to proceed delete the file ${file.title}?`
190
+ },
191
+ autoFocus: false
192
+ });
193
+ dialogRef.afterClosed().subscribe(async (result) => {
194
+ if (result) {
195
+ //Action confirmed
196
+ const result = await this.entityFileService.deleteEntityFile(file);
197
+ this.alertService.addAlert("File successfully deleted", "success");
198
+ this.reload();
199
+ }
200
+ });
201
+ }
202
+ onScroll() {
203
+ if (this.page < this.lastPage && !this.isWorking) {
204
+ this.page += 1;
205
+ this.fetchEntityFilesDetails();
206
+ }
207
+ }
208
+ reload() {
209
+ this.entityFiles = [];
210
+ this.documentIds = [];
211
+ this.isReload = false;
212
+ this.page = 1;
213
+ if (!this.isWorking) {
214
+ this.fetchEntityFilesDetails();
215
+ }
216
+ }
217
+ ngOnDestroy() { }
218
+ resetFieldValue(event, field) {
219
+ event.stopPropagation();
220
+ this.filterFormGroup.get(field).setValue("");
221
+ }
222
+ sizeOf(bytes) {
223
+ if (!bytes) {
224
+ return "0.00 B";
225
+ }
226
+ var e = Math.floor(Math.log(bytes) / Math.log(1024));
227
+ return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';
228
+ }
229
+ async fileChanged(event) {
230
+ this.fileList = event;
231
+ if (this.fileList.length > 0) {
232
+ await this.fileList.forEach(async (file) => {
233
+ const result = await this.entityFileService.uploadEntityFile(file, {
234
+ entity_type: this.entityType,
235
+ entity_id: this.entityId,
236
+ });
237
+ this.reload();
238
+ });
239
+ this.fileList = [];
240
+ this.alertService.addAlert('Successfull uploaded', 'success');
241
+ }
242
+ }
243
+ selectAll() {
244
+ this.documentIds = [];
245
+ this.entityFiles.map((employee) => {
246
+ employee.is_selected = this.isAllSelected;
247
+ if (this.isAllSelected) {
248
+ this.documentIds.push(employee.id);
249
+ }
250
+ });
251
+ this.dataSource = new MatTableDataSource(this.entityFiles);
252
+ }
253
+ employeeListModified(event, employee) {
254
+ this.isAllSelected = false;
255
+ if (event.checked) {
256
+ this.documentIds.push(employee.id);
257
+ }
258
+ else {
259
+ this.documentIds = this.documentIds.filter((employeeData) => employeeData != employee.id);
260
+ }
261
+ }
262
+ unCheckAll() {
263
+ this.isAllSelected = false;
264
+ this.documentIds = [];
265
+ this.entityFiles.map((employee) => {
266
+ employee.is_selected = false;
267
+ });
268
+ this.dataSource = new MatTableDataSource(this.entityFiles);
269
+ }
270
+ resetFieldValueOfRow(field, event) {
271
+ event.stopPropagation();
272
+ this.updateRowForm.get(field).setValue("");
273
+ }
274
+ async bulkUpdate(fieldName) {
275
+ var data = this.updateRowForm.value;
276
+ this.isReload = this.isWorking = true;
277
+ data.field_name = fieldName;
278
+ data.document_ids = this.documentIds;
279
+ try {
280
+ await this.entityFileService.bulkUpdate(data).then(res => {
281
+ this.alertService.addAlert("Successfully updated", "success");
282
+ this.isWorking = false;
283
+ });
284
+ }
285
+ catch (error) {
286
+ this.errorHandler.handleError(error);
287
+ }
288
+ }
289
+ };
290
+ EntityFilesViewAllComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EntityFilesViewAllComponent, deps: [{ token: i1.EntityFileService }, { token: i2.Location }, { token: i3.AlertService }, { token: i4.MatDialog }, { token: i5.UntypedFormBuilder }, { token: i6.ErrorHandlerService }], target: i0.ɵɵFactoryTarget.Component });
291
+ EntityFilesViewAllComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: EntityFilesViewAllComponent, selector: "app-entity-files-view-all", inputs: { entityId: "entityId", entityType: "entityType", viewOnly: "viewOnly", removeSearch: "removeSearch", hideTitleAndDetails: "hideTitleAndDetails", displayMode: "displayMode", allowMultipleFiles: "allowMultipleFiles", allowBulkUpdate: "allowBulkUpdate", useTechlifyTags: "useTechlifyTags", title: "title" }, ngImport: i0, template: "<mat-drawer-container>\r\n <mat-drawer style=\"z-index: 1;\" fxLayout=\"column\" [fxHide]=\"!this.documentIds.length\" fxHide.xs fxHide.sm fxHide.lt-md\r\n mode=\"side\" position=\"end\" opened>\r\n <mat-card class=\"update_card\" *ngIf=\"this.documentIds.length\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n <div mat-dialog-title class=\"mt-2 ml-2 text-center\">\r\n <div>Update Selected Rows</div>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content fxLayout=\"column\">\r\n <form [formGroup]=\"updateRowForm\">\r\n <div fxLayout=\"column\">\r\n\r\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\r\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"updateRowForm.get('title').value || updateRowForm.get('title').value===0\"\r\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('title', $event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('title').value || updateRowForm.get('title').value===0)\r\n && updateRowForm.get('title').valid\" (click)=\"bulkUpdate('title')\">\r\n <mat-icon>done</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\r\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\r\n <button mat-button *ngIf=\"updateRowForm.get('details').value || updateRowForm.get('details').value===0\"\r\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('details', $event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('details').value || updateRowForm.get('details').value===0)\r\n && updateRowForm.get('details').valid\" (click)=\"bulkUpdate('details')\">\r\n <mat-icon>done</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <ng-container *ngIf=\"useTechlifyTags\">\r\n <mat-form-field>\r\n <mat-label>Tag</mat-label>\r\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\r\n placeholder=\"Enter new tag\">\r\n </app-techlify-tagger-tag-form-field>\r\n <button mat-button *ngIf=\"updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0\"\r\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('tag_ids', $event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0)\r\n && updateRowForm.get('tag_ids').valid\" (click)=\"bulkUpdate('tag_ids')\">\r\n <mat-icon>done</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n </form>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n </mat-drawer>\r\n\r\n <mat-drawer-content>\r\n <div class=\"mat-typography\" *ngIf=\"!displayMode\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\r\n <mat-card [fxFlex]=\"this.documentIds.length ? '100%' : '70%'\">\r\n <mat-card-title>\r\n <div fxLayout fxLayoutGap=\"1rem\">\r\n <h3 class=\"font-weight-bold primary-color\" fxLayout=\"center center\">\r\n <mat-icon>\r\n <span class=\"material-icons\">\r\n description\r\n </span>\r\n </mat-icon>\r\n {{title}}s\r\n </h3>\r\n <div>\r\n <button type=\"button\" class=\"mx-1\" mat-raised-button color=\"primary\" (click)=\"addEntityFile()\"\r\n *ngIf=\"!viewOnly\">\r\n <mat-icon>\r\n <span class=\"material-icons\">\r\n add_circle_outline\r\n </span>\r\n </mat-icon>\r\n {{title}}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n <form [formGroup]=\"filterFormGroup\" style=\"font-size: 10px;\" fxLayout fxLayoutGap=\"1rem\">\r\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\r\n <mat-label>Search</mat-label>\r\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\"\r\n autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue($event, 'title')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" *ngIf=\"useTechlifyTags && !isWorking\">\r\n <mat-label>Tag</mat-label>\r\n <app-searchable-selector formControlName=\"tag_ids\" apiUrl=\"api/techlify-tagger-tags\" [multiple]=\"true\"\r\n placeHolder=\"Tag\">\r\n </app-searchable-selector>\r\n <button mat-icon-button matSuffix *ngIf=\"filterFormGroup.get('tag_ids').value.length\"\r\n (click)=\"resetFieldValue($event, 'tag_ids')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"reload()\" *ngIf=\"isReload\" type=\"button\" matTooltip=\"Refresh\">\r\n <mat-icon>\r\n <span class=\"material-icons\">\r\n refresh\r\n </span>\r\n </mat-icon>\r\n </button>\r\n </form>\r\n </mat-card-subtitle>\r\n <mat-card-content class=\"entity-file-card\">\r\n <table mat-table [dataSource]=\"dataSource\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\r\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\r\n\r\n <!-- Select Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef style=\"width:30px\">\r\n <mat-checkbox name=\"employee\" [(ngModel)]=\"isAllSelected\" (change)=\"selectAll()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\" style=\"width:30px\">\r\n <mat-checkbox name=\"employee[{{element?.id}}]\" (click)=\"$event.stopPropagation()\"\r\n [(ngModel)]=\"element.is_selected\" (change)=\"employeeListModified($event, element)\"\r\n [disabled]=\"!entityFiles.length\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\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 <!-- Title Column -->\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef> Title </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div>\r\n <span>\r\n {{element.title}}\r\n </span>\r\n <span>\r\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted\">\r\n <button mat-icon-button type=\"button\">\r\n <mat-icon>download</mat-icon>\r\n </button>\r\n </a>\r\n </span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Details Column -->\r\n <ng-container matColumnDef=\"details\">\r\n <th mat-header-cell *matHeaderCellDef> Details </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- File size Column -->\r\n <ng-container matColumnDef=\"file_size\">\r\n <th mat-header-cell *matHeaderCellDef> File Size </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{ sizeOf(element.file_size)}} </td>\r\n </ng-container>\r\n\r\n <!-- Tags Column -->\r\n <ng-container matColumnDef=\"tag\">\r\n <th mat-header-cell *matHeaderCellDef> Tag </th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"p-1\">\r\n <mat-chip-list aria-label=\"Tags\">\r\n <mat-chip *ngFor=\"let taggerModel of element.tags\">\r\n {{taggerModel?.tag?.title}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Uploaded On Column -->\r\n <ng-container matColumnDef=\"uploaded_on\">\r\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div>\r\n {{element.created_at | date: 'mediumDate'}}\r\n </div>\r\n <div class=\"text-muted\">\r\n By {{element.creator?.name}}\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\" style=\"min-width:110px\" class=\"text-muted\">\r\n <button type=\"button\" mat-icon-button (click)=\"editEntityFile(element)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"deleteEntityFile(element)\">\r\n <mat-icon>delete</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 </mat-card-content>\r\n </mat-card>\r\n <section fxFlex=\"30%\" *ngIf=\"!this.documentIds.length\">\r\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\r\n </app-file-dropper>\r\n </section>\r\n </div>\r\n </div>\r\n </mat-drawer-content>\r\n\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" class=\"mat-typography p-4\" *ngIf=\"displayMode\">\r\n <div *ngFor=\"let efile of entityFiles\">\r\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\r\n </app-document-viewer>\r\n <a href=\"{{efile.url}}\" target=\"_blank\">\r\n <button mat-button type=\"button\">View</button>\r\n </a>\r\n </div>\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i8.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "component", type: i9.FileDropperComponent, selector: "app-file-dropper", inputs: ["fileArray", "config", "styles"], outputs: ["fileChanged"] }, { kind: "component", type: i10.DocumentViewerComponent, selector: "app-document-viewer", inputs: ["config", "file", "fileUrl", "disableEdit"], outputs: ["remove"] }, { kind: "directive", type: i11.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i12.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "component", type: i14.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i14.MatLabel, selector: "mat-label" }, { kind: "directive", type: i14.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i15.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i16.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i17.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i18.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i18.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i18.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i18.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i18.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i18.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i18.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i18.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i18.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i18.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i19.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i19.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i19.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i19.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i19.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i20.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i20.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i21.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i22.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i22.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i22.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i23.TechlifyTaggerTagFormFieldComponent, selector: "app-techlify-tagger-tag-form-field", inputs: ["config", "modelType", "modelId", "allTags", "categories", "defaultCreateCategory", "required", "disabled", "value", "placeholder"] }, { kind: "component", type: i24.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i25.ReadMoreComponent, selector: "app-read-more", inputs: ["text", "maxLength"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
292
+ EntityFilesViewAllComponent = __decorate([
293
+ UntilDestroy()
294
+ ], EntityFilesViewAllComponent);
295
+ export { EntityFilesViewAllComponent };
296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EntityFilesViewAllComponent, decorators: [{
297
+ type: Component,
298
+ args: [{ selector: 'app-entity-files-view-all', template: "<mat-drawer-container>\r\n <mat-drawer style=\"z-index: 1;\" fxLayout=\"column\" [fxHide]=\"!this.documentIds.length\" fxHide.xs fxHide.sm fxHide.lt-md\r\n mode=\"side\" position=\"end\" opened>\r\n <mat-card class=\"update_card\" *ngIf=\"this.documentIds.length\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n <div mat-dialog-title class=\"mt-2 ml-2 text-center\">\r\n <div>Update Selected Rows</div>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content fxLayout=\"column\">\r\n <form [formGroup]=\"updateRowForm\">\r\n <div fxLayout=\"column\">\r\n\r\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\r\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"updateRowForm.get('title').value || updateRowForm.get('title').value===0\"\r\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('title', $event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('title').value || updateRowForm.get('title').value===0)\r\n && updateRowForm.get('title').valid\" (click)=\"bulkUpdate('title')\">\r\n <mat-icon>done</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\r\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\r\n <button mat-button *ngIf=\"updateRowForm.get('details').value || updateRowForm.get('details').value===0\"\r\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('details', $event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('details').value || updateRowForm.get('details').value===0)\r\n && updateRowForm.get('details').valid\" (click)=\"bulkUpdate('details')\">\r\n <mat-icon>done</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <ng-container *ngIf=\"useTechlifyTags\">\r\n <mat-form-field>\r\n <mat-label>Tag</mat-label>\r\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\r\n placeholder=\"Enter new tag\">\r\n </app-techlify-tagger-tag-form-field>\r\n <button mat-button *ngIf=\"updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0\"\r\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('tag_ids', $event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0)\r\n && updateRowForm.get('tag_ids').valid\" (click)=\"bulkUpdate('tag_ids')\">\r\n <mat-icon>done</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n </form>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n </mat-drawer>\r\n\r\n <mat-drawer-content>\r\n <div class=\"mat-typography\" *ngIf=\"!displayMode\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\r\n <mat-card [fxFlex]=\"this.documentIds.length ? '100%' : '70%'\">\r\n <mat-card-title>\r\n <div fxLayout fxLayoutGap=\"1rem\">\r\n <h3 class=\"font-weight-bold primary-color\" fxLayout=\"center center\">\r\n <mat-icon>\r\n <span class=\"material-icons\">\r\n description\r\n </span>\r\n </mat-icon>\r\n {{title}}s\r\n </h3>\r\n <div>\r\n <button type=\"button\" class=\"mx-1\" mat-raised-button color=\"primary\" (click)=\"addEntityFile()\"\r\n *ngIf=\"!viewOnly\">\r\n <mat-icon>\r\n <span class=\"material-icons\">\r\n add_circle_outline\r\n </span>\r\n </mat-icon>\r\n {{title}}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n <form [formGroup]=\"filterFormGroup\" style=\"font-size: 10px;\" fxLayout fxLayoutGap=\"1rem\">\r\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\r\n <mat-label>Search</mat-label>\r\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\"\r\n autocomplete=\"off\" />\r\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue($event, 'title')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" *ngIf=\"useTechlifyTags && !isWorking\">\r\n <mat-label>Tag</mat-label>\r\n <app-searchable-selector formControlName=\"tag_ids\" apiUrl=\"api/techlify-tagger-tags\" [multiple]=\"true\"\r\n placeHolder=\"Tag\">\r\n </app-searchable-selector>\r\n <button mat-icon-button matSuffix *ngIf=\"filterFormGroup.get('tag_ids').value.length\"\r\n (click)=\"resetFieldValue($event, 'tag_ids')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"reload()\" *ngIf=\"isReload\" type=\"button\" matTooltip=\"Refresh\">\r\n <mat-icon>\r\n <span class=\"material-icons\">\r\n refresh\r\n </span>\r\n </mat-icon>\r\n </button>\r\n </form>\r\n </mat-card-subtitle>\r\n <mat-card-content class=\"entity-file-card\">\r\n <table mat-table [dataSource]=\"dataSource\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\r\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\r\n\r\n <!-- Select Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef style=\"width:30px\">\r\n <mat-checkbox name=\"employee\" [(ngModel)]=\"isAllSelected\" (change)=\"selectAll()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\" style=\"width:30px\">\r\n <mat-checkbox name=\"employee[{{element?.id}}]\" (click)=\"$event.stopPropagation()\"\r\n [(ngModel)]=\"element.is_selected\" (change)=\"employeeListModified($event, element)\"\r\n [disabled]=\"!entityFiles.length\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\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 <!-- Title Column -->\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef> Title </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div>\r\n <span>\r\n {{element.title}}\r\n </span>\r\n <span>\r\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted\">\r\n <button mat-icon-button type=\"button\">\r\n <mat-icon>download</mat-icon>\r\n </button>\r\n </a>\r\n </span>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Details Column -->\r\n <ng-container matColumnDef=\"details\">\r\n <th mat-header-cell *matHeaderCellDef> Details </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- File size Column -->\r\n <ng-container matColumnDef=\"file_size\">\r\n <th mat-header-cell *matHeaderCellDef> File Size </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{ sizeOf(element.file_size)}} </td>\r\n </ng-container>\r\n\r\n <!-- Tags Column -->\r\n <ng-container matColumnDef=\"tag\">\r\n <th mat-header-cell *matHeaderCellDef> Tag </th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"p-1\">\r\n <mat-chip-list aria-label=\"Tags\">\r\n <mat-chip *ngFor=\"let taggerModel of element.tags\">\r\n {{taggerModel?.tag?.title}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Uploaded On Column -->\r\n <ng-container matColumnDef=\"uploaded_on\">\r\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div>\r\n {{element.created_at | date: 'mediumDate'}}\r\n </div>\r\n <div class=\"text-muted\">\r\n By {{element.creator?.name}}\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\" style=\"min-width:110px\" class=\"text-muted\">\r\n <button type=\"button\" mat-icon-button (click)=\"editEntityFile(element)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"deleteEntityFile(element)\">\r\n <mat-icon>delete</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 </mat-card-content>\r\n </mat-card>\r\n <section fxFlex=\"30%\" *ngIf=\"!this.documentIds.length\">\r\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\r\n </app-file-dropper>\r\n </section>\r\n </div>\r\n </div>\r\n </mat-drawer-content>\r\n\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" class=\"mat-typography p-4\" *ngIf=\"displayMode\">\r\n <div *ngFor=\"let efile of entityFiles\">\r\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\r\n </app-document-viewer>\r\n <a href=\"{{efile.url}}\" target=\"_blank\">\r\n <button mat-button type=\"button\">View</button>\r\n </a>\r\n </div>\r\n </div>\r\n" }]
299
+ }], ctorParameters: function () { return [{ type: i1.EntityFileService }, { type: i2.Location }, { type: i3.AlertService }, { type: i4.MatDialog }, { type: i5.UntypedFormBuilder }, { type: i6.ErrorHandlerService }]; }, propDecorators: { entityId: [{
300
+ type: Input
301
+ }], entityType: [{
302
+ type: Input
303
+ }], viewOnly: [{
304
+ type: Input
305
+ }], removeSearch: [{
306
+ type: Input
307
+ }], hideTitleAndDetails: [{
308
+ type: Input
309
+ }], displayMode: [{
310
+ type: Input
311
+ }], allowMultipleFiles: [{
312
+ type: Input
313
+ }], allowBulkUpdate: [{
314
+ type: Input
315
+ }], useTechlifyTags: [{
316
+ type: Input
317
+ }], title: [{
318
+ type: Input
319
+ }] } });
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZXMtdmlldy1hbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBR3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFhakUsMkJBQTJCLFNBQTNCLDJCQUEyQjtJQXVDdEMsWUFDVSxpQkFBb0MsRUFDckMsUUFBa0IsRUFDakIsWUFBMEIsRUFDMUIsTUFBaUIsRUFDakIsRUFBc0IsRUFDdEIsWUFBaUM7UUFMakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBMUNsQyxhQUFR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QUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELE9BQU8sS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTt3SEE3U1ksMkJBQTJCOzRHQUEzQiwyQkFBMkIsMlhDdkJ4QyxzOFhBNE9BO0FEck5hLDJCQUEyQjtJQU52QyxZQUFZLEVBQUU7R0FNRiwyQkFBMkIsQ0E2U3ZDO1NBN1NZLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQjtxUEFLNUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFPRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEVudGl0eUZpbGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktZmlsZS1mb3JtL2VudGl0eS1maWxlLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW50aXR5RmlsZVNlcnZpY2UgfSBmcm9tICcuL2VudGl0eS1maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQG5nbmVhdC91bnRpbC1kZXN0cm95XCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmlld2VyQ29uZmlnIH0gZnJvbSAnLi4vZG9jdW1lbnQtdmlld2VyL3ZpZXdlci1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlRHJvcHBlckNvbmZpZyB9IGZyb20gJy4uL2ZpbGUtZHJvcHBlcic7XHJcbmltcG9ydCB7IEFjdGlvblBvcHVwIH0gZnJvbSAnLi4vYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5tb2RlbCc7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcblxyXG5cclxuQFVudGlsRGVzdHJveSgpXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWVudGl0eS1maWxlcy12aWV3LWFsbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50aXR5RmlsZXNWaWV3QWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBlbnRpdHlJZDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuICBASW5wdXQoKSB2aWV3T25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJlbW92ZVNlYXJjaDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlVGl0bGVBbmREZXRhaWxzOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlNb2RlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFsbG93TXVsdGlwbGVGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFsbG93QnVsa1VwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRvY3VtZW50SWRzOiBhbnlbXSA9IFtdO1xyXG4gIGlzQWxsU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdWxkIHdlIGFsbG93IHRhZ2dpbmcgZW50aXR5LWZpbGVzP1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHVzZVRlY2hsaWZ5VGFnczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICB2aWV3ZXJDb25maWc6IFZpZXdlckNvbmZpZztcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gXCJGaWxlXCI7XHJcbiAgZmlsdGVyczogYW55ID0ge307XHJcbiAgZW50aXR5RmlsZXM6IGFueVtdID0gW107XHJcbiAgZGlzcGxheWVkQ29sdW1ucyA9IFtcclxuICAgICdpbmRleCcsXHJcbiAgICAndGl0bGUnLFxyXG4gICAgJ2RldGFpbHMnLFxyXG4gICAgJ2ZpbGVfc2l6ZScsXHJcbiAgICAndXBsb2FkZWRfb24nLFxyXG4gIF07XHJcbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGFnZTogbnVtYmVyID0gMTtcclxuICBwZXJQYWdlOiBudW1iZXIgPSAyNTtcclxuICBsYXN0UGFnZTogbnVtYmVyID0gMDtcclxuICBmaWxlQ29uZmlnOiBGaWxlRHJvcHBlckNvbmZpZztcclxuICBmaWxlTGlzdDogYW55W10gPSBbXTtcclxuICBmaWx0ZXJGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoKTtcclxuICB1cGRhdGVSb3dGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIGlzUmVsb2FkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbnRpdHlGaWxlU2VydmljZTogRW50aXR5RmlsZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHRpdGxlOiBbXCJcIl0sXHJcbiAgICAgIHRhZ19pZHM6IFtcIlwiXVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVSb3dGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHRpdGxlOiBbJyddLFxyXG4gICAgICBkZXRhaWxzOiBbJyddLFxyXG4gICAgICB0YWdfaWRzOiBbJyddLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vRmlsZSBkcm9wcGVyIGNvbmZpZ1xyXG4gICAgdGhpcy5maWxlQ29uZmlnID0ge1xyXG4gICAgICBmaWxlSWQ6IFwiZW50aXR5RGFzaGJvYXJkRHJvcHBlclwiLFxyXG4gICAgICBjb250YWluZXJJZDogXCJlbnRpdHlEYXNoYm9hcmREcm9wcGVyQ29udGFpbmVyXCIsXHJcbiAgICAgIHN0eWxlczoge1xyXG4gICAgICAgIGhlaWdodDogXCI1MDBweFwiXHJcbiAgICAgIH0sXHJcbiAgICAgIG11bHRpcGxlOiB0aGlzLmFsbG93TXVsdGlwbGVGaWxlcyxcclxuICAgICAgYWNjZXB0RmlsZTogXCIqXCIsXHJcbiAgICAgIG1heFNpemU6IDEwLFxyXG4gICAgICBhY2NlcHRGaWxlVGV4dDogXCJBbGwgRmlsZXNcIlxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnZpZXdlckNvbmZpZyA9IHtcclxuICAgICAgaW1hZ2VTdHlsZToge1xyXG4gICAgICAgIGhlaWdodDogJzIwMHB4JyxcclxuICAgICAgICB3aWR0aDogJzIwMHB4J1xyXG4gICAgICB9LFxyXG4gICAgICB2aWV3ZXJTdHlsZToge1xyXG4gICAgICAgIGhlaWdodDogJyAxNjBweCcsXHJcbiAgICAgICAgd2lkdGg6ICcyMDBweCdcclxuICAgICAgfSxcclxuICAgICAgaGlkZVJlbW92ZTogdHJ1ZVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5oaWRlVGl0bGVBbmREZXRhaWxzKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5maWx0ZXIoeCA9PiAoeCAhPT0gJ2RldGFpbHMnKSAmJiAoeCAhPT0gJ3RpdGxlJykpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saXN0ZW5Sb3V0ZXMoKTtcclxuICAgIHRoaXMuZmlsdGVycyA9IHtcclxuICAgICAgZW50aXR5X3R5cGU6IHRoaXMuZW50aXR5VHlwZSxcclxuICAgICAgZW50aXR5X2lkOiB0aGlzLmVudGl0eUlkLFxyXG4gICAgICB0aXRsZTogXCJcIlxyXG4gICAgfTtcclxuICAgIHRoaXMuZmV0Y2hFbnRpdHlGaWxlc0RldGFpbHMoKTtcclxuICAgIGlmICh0aGlzLnVzZVRlY2hsaWZ5VGFncykge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgndGFnJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMudmlld09ubHkpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ2FjdGlvbnMnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFsbG93QnVsa1VwZGF0ZSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgnc2VsZWN0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5Sb3V0ZXMoKSB7XHJcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXHJcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBmZXRjaEVudGl0eUZpbGVzRGV0YWlscygpIHtcclxuICAgIHRoaXMuZmlsdGVycy5wYWdlID0gdGhpcy5wYWdlO1xyXG4gICAgdGhpcy5maWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XHJcbiAgICBsZXQgZm9ybUdyb3VwID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWU7XHJcbiAgICBmb3JtR3JvdXAudGFnX2lkcyA9IGZvcm1Hcm91cC50YWdfaWRzLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSB7XHJcbiAgICAgIC4uLnRoaXMuZmlsdGVycyxcclxuICAgICAgLi4uZm9ybUdyb3VwXHJcbiAgICB9XHJcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHRoaXMuZW50aXR5RmlsZVNlcnZpY2UuZ2V0RW50aXR5RmlsZXModGhpcy5maWx0ZXJzKTtcclxuICAgIHRoaXMubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlIHx8IHRoaXMucGFnZTtcclxuICAgIHRoaXMuZW50aXR5RmlsZXMgPSB0aGlzLmVudGl0eUZpbGVzLmNvbmNhdChyZXN1bHQuZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZW50aXR5RmlsZXMpO1xyXG4gICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGFkZEVudGl0eUZpbGUoKSB7XHJcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEVudGl0eUZpbGVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjcwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBlbnRpdHk6IHRoaXMuZmlsdGVycyxcclxuICAgICAgICBoaWRlVGl0bGVBbmREZXRhaWxzOiB0aGlzLmhpZGVUaXRsZUFuZERldGFpbHMsXHJcbiAgICAgICAgdXNlVGVjaGxpZnlUYWdzOiB0aGlzLnVzZVRlY2hsaWZ5VGFncyxcclxuICAgICAgfSxcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICBjb25zdCBmaWxlcyA9IFsuLi50aGlzLmVudGl0eUZpbGVzXTtcclxuICAgICAgICBmaWxlcy5wdXNoKHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5lbnRpdHlGaWxlcyA9IGZpbGVzO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5lbnRpdHlGaWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZWRpdEVudGl0eUZpbGUoZmlsZTogYW55KSB7XHJcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEVudGl0eUZpbGVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjcwMHB4XCIsXHJcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIGhpZGVUaXRsZUFuZERldGFpbHM6IHRoaXMuaGlkZVRpdGxlQW5kRGV0YWlscyxcclxuICAgICAgICB1c2VUZWNobGlmeVRhZ3M6IHRoaXMudXNlVGVjaGxpZnlUYWdzLFxyXG4gICAgICB9IC8vIEFueSBkYXRhIHBhc3NlZCBoZXJlIHdpbGwgYmUgaW5qZWN0ZWQgaW50byB0aGUgbW9kZWxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFbnRpdHlGaWxlKGZpbGU6IGFueSkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogXCI0MDBweFwiLFxyXG4gICAgICBkYXRhOiA8QWN0aW9uUG9wdXA+e1xyXG4gICAgICAgIHRpdGxlOiBcIkRlbGV0ZSBGaWxlXCIsXHJcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkIGRlbGV0ZSB0aGUgZmlsZSAke2ZpbGUudGl0bGV9P2BcclxuICAgICAgfSxcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAvL0FjdGlvbiBjb25maXJtZWRcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLmRlbGV0ZUVudGl0eUZpbGUoXHJcbiAgICAgICAgICBmaWxlXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcclxuICAgICAgICAgIFwiRmlsZSBzdWNjZXNzZnVsbHkgZGVsZXRlZFwiLFxyXG4gICAgICAgICAgXCJzdWNjZXNzXCJcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMucmVsb2FkKCk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU2Nyb2xsKCkge1xyXG4gICAgaWYgKHRoaXMucGFnZSA8IHRoaXMubGFzdFBhZ2UgJiYgIXRoaXMuaXNXb3JraW5nKSB7XHJcbiAgICAgIHRoaXMucGFnZSArPSAxO1xyXG4gICAgICB0aGlzLmZldGNoRW50aXR5RmlsZXNEZXRhaWxzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWxvYWQoKSB7XHJcbiAgICB0aGlzLmVudGl0eUZpbGVzID0gW107XHJcbiAgICB0aGlzLmRvY3VtZW50SWRzID0gW107XHJcbiAgICB0aGlzLmlzUmVsb2FkID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgaWYgKCF0aGlzLmlzV29ya2luZykge1xyXG4gICAgICB0aGlzLmZldGNoRW50aXR5RmlsZXNEZXRhaWxzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHsgfVxyXG5cclxuICByZXNldEZpZWxkVmFsdWUoZXZlbnQ6IGFueSwgZmllbGQ6IGFueSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoZmllbGQpLnNldFZhbHVlKFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgc2l6ZU9mKGJ5dGVzKSB7XHJcbiAgICBpZiAoIWJ5dGVzKSB7IHJldHVybiBcIjAuMDAgQlwiOyB9XHJcbiAgICB2YXIgZSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coMTAyNCkpO1xyXG4gICAgcmV0dXJuIChieXRlcyAvIE1hdGgucG93KDEwMjQsIGUpKS50b0ZpeGVkKDIpICsgJyAnICsgJyBLTUdUUCcuY2hhckF0KGUpICsgJ0InO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZmlsZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5maWxlTGlzdCA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMuZmlsZUxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICBhd2FpdCB0aGlzLmZpbGVMaXN0LmZvckVhY2goYXN5bmMgZmlsZSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLnVwbG9hZEVudGl0eUZpbGUoXHJcbiAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBlbnRpdHlfdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxyXG4gICAgICAgICAgICBlbnRpdHlfaWQ6IHRoaXMuZW50aXR5SWQsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5maWxlTGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3VjY2Vzc2Z1bGwgdXBsb2FkZWQnLCAnc3VjY2VzcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKCkge1xyXG4gICAgdGhpcy5kb2N1bWVudElkcyA9IFtdO1xyXG4gICAgdGhpcy5lbnRpdHlGaWxlcy5tYXAoKGVtcGxveWVlOiBhbnkpID0+IHtcclxuICAgICAgZW1wbG95ZWUuaXNfc2VsZWN0ZWQgPSB0aGlzLmlzQWxsU2VsZWN0ZWQ7XHJcbiAgICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQpIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50SWRzLnB1c2goZW1wbG95ZWUuaWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5lbnRpdHlGaWxlcyk7XHJcbiAgfVxyXG5cclxuICBlbXBsb3llZUxpc3RNb2RpZmllZChldmVudDogYW55LCBlbXBsb3llZTogYW55KSB7XHJcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRJZHMucHVzaChlbXBsb3llZS5pZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5kb2N1bWVudElkcyA9IHRoaXMuZG9jdW1lbnRJZHMuZmlsdGVyKChlbXBsb3llZURhdGE6IGFueSkgPT4gZW1wbG95ZWVEYXRhICE9IGVtcGxveWVlLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVuQ2hlY2tBbGwoKSB7XHJcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRJZHMgPSBbXTtcclxuICAgIHRoaXMuZW50aXR5RmlsZXMubWFwKChlbXBsb3llZTogYW55KSA9PiB7XHJcbiAgICAgIGVtcGxveWVlLmlzX3NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5lbnRpdHlGaWxlcyk7XHJcbiAgfVxyXG5cclxuICByZXNldEZpZWxkVmFsdWVPZlJvdyhmaWVsZDogc3RyaW5nLCBldmVudDogYW55KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudXBkYXRlUm93Rm9ybS5nZXQoZmllbGQpLnNldFZhbHVlKFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYnVsa1VwZGF0ZShmaWVsZE5hbWU6IGFueSkge1xyXG4gICAgdmFyIGRhdGEgPSB0aGlzLnVwZGF0ZVJvd0Zvcm0udmFsdWU7XHJcbiAgICB0aGlzLmlzUmVsb2FkID0gdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xyXG4gICAgZGF0YS5maWVsZF9uYW1lID0gZmllbGROYW1lO1xyXG4gICAgZGF0YS5kb2N1bWVudF9pZHMgPSB0aGlzLmRvY3VtZW50SWRzO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuZW50aXR5RmlsZVNlcnZpY2UuYnVsa1VwZGF0ZShkYXRhKS50aGVuKFxyXG4gICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcIlN1Y2Nlc3NmdWxseSB1cGRhdGVkXCIsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1kcmF3ZXItY29udGFpbmVyPlxyXG4gIDxtYXQtZHJhd2VyIHN0eWxlPVwiei1pbmRleDogMTtcIiBmeExheW91dD1cImNvbHVtblwiIFtmeEhpZGVdPVwiIXRoaXMuZG9jdW1lbnRJZHMubGVuZ3RoXCIgZnhIaWRlLnhzIGZ4SGlkZS5zbSBmeEhpZGUubHQtbWRcclxuICAgIG1vZGU9XCJzaWRlXCIgcG9zaXRpb249XCJlbmRcIiBvcGVuZWQ+XHJcbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJ1cGRhdGVfY2FyZFwiICpuZ0lmPVwidGhpcy5kb2N1bWVudElkcy5sZW5ndGhcIj5cclxuICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtdC0yIG1sLTIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdj5VcGRhdGUgU2VsZWN0ZWQgUm93czwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJ1cGRhdGVSb3dGb3JtXCI+XHJcbiAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcblxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiIGNsYXNzPVwicHgtMVwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHBsYWNlaG9sZGVyPVwiVGl0bGVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cInVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnZhbHVlPT09MFwiXHJcbiAgICAgICAgICAgICAgICBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHN0eWxlPVwiY29sb3I6cmVkXCIgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZU9mUm93KCd0aXRsZScsICRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwiY29sb3I6Z3JlZW5cIiAqbmdJZj1cIih1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZT09PTApXHJcbiAgICAgICAgICAgICAgICAmJiB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWxpZFwiIChjbGljayk9XCJidWxrVXBkYXRlKCd0aXRsZScpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZG9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiIGNsYXNzPVwicHgtMVwiPlxyXG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJkZXRhaWxzXCIgcGxhY2Vob2xkZXI9XCJEZXRhaWxzXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJ1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsdWU9PT0wXCJcclxuICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gc3R5bGU9XCJjb2xvcjpyZWRcIiAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlT2ZSb3coJ2RldGFpbHMnLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cImNvbG9yOmdyZWVuXCIgKm5nSWY9XCIodXBkYXRlUm93Rm9ybS5nZXQoJ2RldGFpbHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlPT09MClcclxuICAgICAgICAgICAgICAgICYmIHVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsaWRcIiAoY2xpY2spPVwiYnVsa1VwZGF0ZSgnZGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZG9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlVGVjaGxpZnlUYWdzXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5UYWc8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkIG1vZGVsVHlwZT1cImVudGl0eS1maWxlXCIgZm9ybUNvbnRyb2xOYW1lPVwidGFnX2lkc1wiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgbmV3IHRhZ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwidXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbHVlPT09MFwiXHJcbiAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gc3R5bGU9XCJjb2xvcjpyZWRcIiAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlT2ZSb3coJ3RhZ19pZHMnLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cImNvbG9yOmdyZWVuXCIgKm5nSWY9XCIodXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbHVlPT09MClcclxuICAgICAgICAgICAgICAgICAgJiYgdXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWxpZFwiIChjbGljayk9XCJidWxrVXBkYXRlKCd0YWdfaWRzJylcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgIDwvbWF0LWNhcmQ+XHJcblxyXG4gIDwvbWF0LWRyYXdlcj5cclxuXHJcbiAgPG1hdC1kcmF3ZXItY29udGVudD5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiICpuZ0lmPVwiIWRpc3BsYXlNb2RlXCI+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjFyZW1cIj5cclxuICAgICAgICA8bWF0LWNhcmQgW2Z4RmxleF09XCJ0aGlzLmRvY3VtZW50SWRzLmxlbmd0aCA/ICcxMDAlJyA6ICc3MCUnXCI+XHJcbiAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcbiAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBwcmltYXJ5LWNvbG9yXCIgZnhMYXlvdXQ9XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAge3t0aXRsZX19c1xyXG4gICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibXgtMVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGRFbnRpdHlGaWxlKClcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiF2aWV3T25seVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgYWRkX2NpcmNsZV9vdXRsaW5lXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICB7e3RpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybUdyb3VwXCIgc3R5bGU9XCJmb250LXNpemU6IDEwcHg7XCIgZnhMYXlvdXQgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIXJlbW92ZVNlYXJjaFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIG5hbWU9XCJ0aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJmaWx0ZXJzLnRpdGxlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCRldmVudCwgJ3RpdGxlJylcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJ1c2VUZWNobGlmeVRhZ3MgJiYgIWlzV29ya2luZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5UYWc8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvciBmb3JtQ29udHJvbE5hbWU9XCJ0YWdfaWRzXCIgYXBpVXJsPVwiYXBpL3RlY2hsaWZ5LXRhZ2dlci10YWdzXCIgW211bHRpcGxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZUhvbGRlcj1cIlRhZ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCAqbmdJZj1cImZpbHRlckZvcm1Hcm91cC5nZXQoJ3RhZ19pZHMnKS52YWx1ZS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCRldmVudCwgJ3RhZ19pZHMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVsb2FkKClcIiAqbmdJZj1cImlzUmVsb2FkXCIgdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJSZWZyZXNoXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoXHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImVudGl0eS1maWxlLWNhcmRcIj5cclxuICAgICAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgY2xhc3M9XCJ3LTEwMFwiIG1hdFNvcnQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzIGluZmluaXRlU2Nyb2xsXHJcbiAgICAgICAgICAgICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMS41XCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIFNlbGVjdCBDb2x1bW4gLS0+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9XCJ3aWR0aDozMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggbmFtZT1cImVtcGxveWVlXCIgWyhuZ01vZGVsKV09XCJpc0FsbFNlbGVjdGVkXCIgKGNoYW5nZSk9XCJzZWxlY3RBbGwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIHN0eWxlPVwid2lkdGg6MzBweFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IG5hbWU9XCJlbXBsb3llZVt7e2VsZW1lbnQ/LmlkfX1dXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbGVtZW50LmlzX3NlbGVjdGVkXCIgKGNoYW5nZSk9XCJlbXBsb3llZUxpc3RNb2RpZmllZCgkZXZlbnQsIGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVudGl0eUZpbGVzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGRhdGFJbmRleFwiPiB7eyBpKzEgfX0gPC90ZD5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBUaXRsZSBDb2x1bW4gLS0+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVGl0bGUgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7e2VsZW1lbnQudXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi1ub25lIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIERldGFpbHMgQ29sdW1uIC0tPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRGV0YWlscyA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1yZWFkLW1vcmUgW3RleHRdPVwiZWxlbWVudC5kZXRhaWxzXCIgW21heExlbmd0aF09XCI1MFwiPjwvYXBwLXJlYWQtbW9yZT5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gRmlsZSBzaXplIENvbHVtbiAtLT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImZpbGVfc2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRmlsZSBTaXplIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBzaXplT2YoZWxlbWVudC5maWxlX3NpemUpfX0gPC90ZD5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBUYWdzIENvbHVtbiAtLT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRhZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVGFnIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwicC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0IGFyaWEtbGFiZWw9XCJUYWdzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCB0YWdnZXJNb2RlbCBvZiBlbGVtZW50LnRhZ3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7dGFnZ2VyTW9kZWw/LnRhZz8udGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gVXBsb2FkZWQgT24gQ29sdW1uIC0tPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXBsb2FkZWRfb25cIj5cclxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFVwbG9hZGVkIE9uIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5jcmVhdGVkX2F0IHwgZGF0ZTogJ21lZGl1bURhdGUnfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQnkge3tlbGVtZW50LmNyZWF0b3I/Lm5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIHN0eWxlPVwibWluLXdpZHRoOjExMHB4XCIgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdEVudGl0eUZpbGUoZWxlbWVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRlbGV0ZUVudGl0eUZpbGUoZWxlbWVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxyXG4gICAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9tYXQtY2FyZD5cclxuICAgICAgICA8c2VjdGlvbiBmeEZsZXg9XCIzMCVcIiAqbmdJZj1cIiF0aGlzLmRvY3VtZW50SWRzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgPGFwcC1maWxlLWRyb3BwZXIgW2NvbmZpZ109XCJmaWxlQ29uZmlnXCIgKGZpbGVDaGFuZ2VkKT1cImZpbGVDaGFuZ2VkKCRldmVudClcIiBbZmlsZUFycmF5XT1cImZpbGVMaXN0XCI+XHJcbiAgICAgICAgICA8L2FwcC1maWxlLWRyb3BwZXI+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWRyYXdlci1jb250ZW50PlxyXG5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEdhcD1cIjFyZW1cIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5IHAtNFwiICpuZ0lmPVwiZGlzcGxheU1vZGVcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVmaWxlIG9mIGVudGl0eUZpbGVzXCI+XHJcbiAgICAgIDxhcHAtZG9jdW1lbnQtdmlld2VyIFtmaWxlXT1cImVmaWxlLmZpbGVcIiBbZmlsZVVybF09XCJlZmlsZS51cmxcIiBbY29uZmlnXT1cInRoaXMudmlld2VyQ29uZmlnXCIgW2Rpc2FibGVFZGl0XT1cInRydWVcIj5cclxuICAgICAgPC9hcHAtZG9jdW1lbnQtdmlld2VyPlxyXG4gICAgICA8YSBocmVmPVwie3tlZmlsZS51cmx9fVwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+VmlldzwvYnV0dG9uPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuIl19
@@ -0,0 +1,66 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EntityFileFormComponent } from './entity-file-form/entity-file-form.component';
4
+ import { EntityFilesViewAllComponent } from './entity-files-view-all.component';
5
+ import { ReactiveFormsModule, FormsModule } from '@angular/forms';
6
+ import { FlexLayoutModule } from '@angular/flex-layout';
7
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
8
+ import { FileDropperModule } from '../file-dropper/file-dropper.module';
9
+ import { DocumentViewerModule } from '../document-viewer/document-viewer.module';
10
+ import { ActionPopupModule } from '../action-popup/action-popup.module';
11
+ import { MaterialModule } from '../material.module';
12
+ import { TechlifyTaggerTagFormFieldModule } from '../techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module';
13
+ import { SearchableSelectorModule } from '../searchable-selector/searchable-selector.module';
14
+ import { ReadMoreModule } from '../read-more/read-more.module';
15
+ import * as i0 from "@angular/core";
16
+ export class EntityFilesViewAllModule {
17
+ }
18
+ EntityFilesViewAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EntityFilesViewAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ EntityFilesViewAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: EntityFilesViewAllModule, declarations: [EntityFileFormComponent, EntityFilesViewAllComponent], imports: [CommonModule,
20
+ FormsModule,
21
+ ReactiveFormsModule,
22
+ FlexLayoutModule,
23
+ FileDropperModule,
24
+ DocumentViewerModule,
25
+ InfiniteScrollModule,
26
+ ActionPopupModule,
27
+ MaterialModule,
28
+ TechlifyTaggerTagFormFieldModule,
29
+ SearchableSelectorModule,
30
+ ReadMoreModule], exports: [EntityFilesViewAllComponent] });
31
+ EntityFilesViewAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EntityFilesViewAllModule, imports: [CommonModule,
32
+ FormsModule,
33
+ ReactiveFormsModule,
34
+ FlexLayoutModule,
35
+ FileDropperModule,
36
+ DocumentViewerModule,
37
+ InfiniteScrollModule,
38
+ ActionPopupModule,
39
+ MaterialModule,
40
+ TechlifyTaggerTagFormFieldModule,
41
+ SearchableSelectorModule,
42
+ ReadMoreModule] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: EntityFilesViewAllModule, decorators: [{
44
+ type: NgModule,
45
+ args: [{
46
+ declarations: [EntityFileFormComponent, EntityFilesViewAllComponent],
47
+ imports: [
48
+ CommonModule,
49
+ FormsModule,
50
+ ReactiveFormsModule,
51
+ FlexLayoutModule,
52
+ FileDropperModule,
53
+ DocumentViewerModule,
54
+ InfiniteScrollModule,
55
+ ActionPopupModule,
56
+ MaterialModule,
57
+ TechlifyTaggerTagFormFieldModule,
58
+ SearchableSelectorModule,
59
+ ReadMoreModule
60
+ ],
61
+ exports: [
62
+ EntityFilesViewAllComponent
63
+ ]
64
+ }]
65
+ }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGVzLXZpZXctYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlcy12aWV3LWFsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBdUIvRCxNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3NIQUF4Qix3QkFBd0IsaUJBbkJsQix1QkFBdUIsRUFBRSwyQkFBMkIsYUFFL0QsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsZ0NBQWdDO1FBQ2hDLHdCQUF3QjtRQUN4QixjQUFjLGFBR2QsMkJBQTJCO3NIQUd0Qix3QkFBd0IsWUFqQjdCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGdDQUFnQztRQUNoQyx3QkFBd0I7UUFDeEIsY0FBYzsyRkFNVCx3QkFBd0I7a0JBcEJwQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLDJCQUEyQixDQUFDO29CQUNwRSxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsZ0NBQWdDO3dCQUNoQyx3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCwyQkFBMkI7cUJBQzlCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRW50aXR5RmlsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1maWxlLWZvcm0vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnRpdHlGaWxlc1ZpZXdBbGxDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcclxuaW1wb3J0IHsgRmlsZURyb3BwZXJNb2R1bGUgfSBmcm9tICcuLi9maWxlLWRyb3BwZXIvZmlsZS1kcm9wcGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld2VyTW9kdWxlIH0gZnJvbSAnLi4vZG9jdW1lbnQtdmlld2VyL2RvY3VtZW50LXZpZXdlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cE1vZHVsZSB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1GaWVsZE1vZHVsZSB9IGZyb20gJy4uL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZC90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQubW9kdWxlJztcclxuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi4vc2VhcmNoYWJsZS1zZWxlY3Rvci9zZWFyY2hhYmxlLXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IFJlYWRNb3JlTW9kdWxlIH0gZnJvbSAnLi4vcmVhZC1tb3JlL3JlYWQtbW9yZS5tb2R1bGUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtFbnRpdHlGaWxlRm9ybUNvbXBvbmVudCwgRW50aXR5RmlsZXNWaWV3QWxsQ29tcG9uZW50XSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgICAgIEZpbGVEcm9wcGVyTW9kdWxlLFxyXG4gICAgICAgIERvY3VtZW50Vmlld2VyTW9kdWxlLFxyXG4gICAgICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxyXG4gICAgICAgIEFjdGlvblBvcHVwTW9kdWxlLFxyXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgICAgIFRlY2hsaWZ5VGFnZ2VyVGFnRm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgICAgIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSxcclxuICAgICAgICBSZWFkTW9yZU1vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBFbnRpdHlGaWxlc1ZpZXdBbGxDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudGl0eUZpbGVzVmlld0FsbE1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './entity-files-view-all.component';
2
+ export * from './entity-file-form/entity-file-form.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS1maWxlLWZvcm0vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQnOyJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as XLSX from 'xlsx';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ export class ExportExcelButtonComponent {
6
+ constructor() {
7
+ this.name = 'Export_Data';
8
+ this.data = [];
9
+ }
10
+ ngOnInit() {
11
+ }
12
+ exportExcel() {
13
+ const fileName = `${this.name}_${new Date().getTime()}.xlsx`;
14
+ const ws = XLSX.utils.json_to_sheet(this.data);
15
+ /* generate workbook and add the worksheet */
16
+ const wb = XLSX.utils.book_new();
17
+ XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
18
+ /* save to file */
19
+ XLSX.writeFile(wb, fileName);
20
+ }
21
+ }
22
+ ExportExcelButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ExportExcelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ ExportExcelButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { name: "name", data: "data" }, ngImport: i0, template: "<button mat-raised-button color=\"accent\" (click)=\"exportExcel()\">Export Excel</button>", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ExportExcelButtonComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'app-export-excel-button', template: "<button mat-raised-button color=\"accent\" (click)=\"exportExcel()\">Export Excel</button>" }]
27
+ }], ctorParameters: function () { return []; }, propDecorators: { name: [{
28
+ type: Input
29
+ }], data: [{
30
+ type: Input
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWV4Y2VsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwtYnV0dG9uL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9leHBvcnQtZXhjZWwvZXhwb3J0LWV4Y2VsLWJ1dHRvbi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOzs7QUFPN0IsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQztRQUhTLFNBQUksR0FBVyxhQUFhLENBQUM7UUFDN0IsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUVWLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUM3RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsNkNBQTZDO1FBQzdDLE1BQU0sRUFBRSxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvQyxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7dUhBbkJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHVHQ1J2Qyw0RkFBc0Y7MkZEUXpFLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7MEVBTTFCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWV4cG9ydC1leGNlbC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cG9ydEV4Y2VsQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJ0V4cG9ydF9EYXRhJztcclxuICBASW5wdXQoKSBkYXRhOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIGV4cG9ydEV4Y2VsKCkge1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBgJHt0aGlzLm5hbWV9XyR7bmV3IERhdGUoKS5nZXRUaW1lKCl9Lnhsc3hgO1xyXG4gICAgY29uc3Qgd3MgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQodGhpcy5kYXRhKTtcclxuICAgIC8qIGdlbmVyYXRlIHdvcmtib29rIGFuZCBhZGQgdGhlIHdvcmtzaGVldCAqL1xyXG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgJ1NoZWV0MScpO1xyXG5cclxuICAgIC8qIHNhdmUgdG8gZmlsZSAqL1xyXG4gICAgWExTWC53cml0ZUZpbGUod2IsIGZpbGVOYW1lKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImV4cG9ydEV4Y2VsKClcIj5FeHBvcnQgRXhjZWw8L2J1dHRvbj4iXX0=