nuxeo-development-framework 0.0.2 → 0.0.6

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 (433) hide show
  1. package/README.md +24 -24
  2. package/bundles/nuxeo-development-framework.umd.js +18534 -50
  3. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  4. package/esm2015/lib/Core/adapters/adapter.service.js +50 -0
  5. package/esm2015/lib/Core/core.module.js +104 -0
  6. package/esm2015/lib/Core/enums/language.enum.js +6 -0
  7. package/esm2015/lib/Core/models/component.model.js +8 -0
  8. package/esm2015/lib/Core/services/callApi/call-api.service.js +33 -0
  9. package/esm2015/lib/Core/services/initialization/initialization.service.js +57 -0
  10. package/esm2015/lib/Core/services/localStorag/local-storag.service.js +123 -0
  11. package/esm2015/lib/Core/services/nuxeo/nuxeo-override.js +82 -0
  12. package/esm2015/lib/Core/services/nuxeo/nuxeo.service.js +120 -0
  13. package/esm2015/lib/Core/services/roles/roles.service.js +103 -0
  14. package/esm2015/lib/Core/services/translation/translate-loader.service.js +150 -0
  15. package/esm2015/lib/Core/services/translation/translation.service.js +171 -0
  16. package/esm2015/lib/Core/services/user/user-preferences.service.js +153 -0
  17. package/esm2015/lib/Core/utilities/moment-date-adapter.js +178 -0
  18. package/esm2015/lib/Core/utilities/utility.service.js +81 -0
  19. package/esm2015/lib/components/activity/activity/activity.component.js +28 -0
  20. package/esm2015/lib/components/activity/activity.module.js +37 -0
  21. package/esm2015/lib/components/avatar/avatar/avatar.component.js +55 -0
  22. package/esm2015/lib/components/avatar/avatar.module.js +32 -0
  23. package/esm2015/lib/components/card/card.component.js +48 -0
  24. package/esm2015/lib/components/card/card.module.js +23 -0
  25. package/esm2015/lib/components/comments/comments.module.js +76 -0
  26. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +33 -0
  27. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +78 -0
  28. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +68 -0
  29. package/esm2015/lib/components/comments/constants/comment.js +25 -0
  30. package/esm2015/lib/components/comments/services/comment-api.service.js +49 -0
  31. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +73 -0
  32. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +27 -0
  33. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +29 -0
  34. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +134 -0
  35. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +133 -0
  36. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +110 -0
  37. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +49 -0
  38. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +61 -0
  39. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +111 -0
  40. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +115 -0
  41. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +50 -0
  42. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +62 -0
  43. package/esm2015/lib/components/create-entity/create-entity.module.js +36 -0
  44. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +73 -0
  45. package/esm2015/lib/components/cts-tags/cts-tags.module.js +65 -0
  46. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +61 -0
  47. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +82 -0
  48. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +36 -0
  49. package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +2 -0
  50. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +41 -0
  51. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +156 -0
  52. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +72 -0
  53. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +255 -0
  54. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +929 -0
  55. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +159 -0
  56. package/esm2015/lib/components/documents/components/documents/documents.component.js +61 -0
  57. package/esm2015/lib/components/documents/constants/document-templates.js +32 -0
  58. package/esm2015/lib/components/documents/constants/documents.js +86 -0
  59. package/esm2015/lib/components/documents/documents.module.js +123 -0
  60. package/esm2015/lib/components/documents/services/document-templates.service.js +115 -0
  61. package/esm2015/lib/components/documents/services/documents.service.js +217 -0
  62. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +342 -0
  63. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +34 -0
  64. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +164 -0
  65. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +542 -0
  66. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +106 -0
  67. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +26 -0
  68. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +124 -0
  69. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +94 -0
  70. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +127 -0
  71. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +102 -0
  72. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +35 -0
  73. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +165 -0
  74. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +71 -0
  75. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +202 -0
  76. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +78 -0
  77. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/constants/department.js +13 -0
  78. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +185 -0
  79. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +207 -0
  80. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +94 -0
  81. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +85 -0
  82. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +128 -0
  83. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +81 -0
  84. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +36 -0
  85. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +106 -0
  86. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +93 -0
  87. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +207 -0
  88. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +302 -0
  89. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +44 -0
  90. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +176 -0
  91. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +76 -0
  92. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +180 -0
  93. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +250 -0
  94. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +63 -0
  95. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +269 -0
  96. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +47 -0
  97. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +172 -0
  98. package/esm2015/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.js +768 -0
  99. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +35 -0
  100. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.js +17 -0
  101. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +34 -0
  102. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.js +17 -0
  103. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +38 -0
  104. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.js +30 -0
  105. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +17 -0
  106. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +289 -0
  107. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.js +2 -0
  108. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.js +2 -0
  109. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.js +2 -0
  110. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.js +2 -0
  111. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.js +2 -0
  112. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.js +2 -0
  113. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.js +2 -0
  114. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.js +2 -0
  115. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.js +2 -0
  116. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.js +10 -0
  117. package/esm2015/lib/components/dynamic-form/models/dynamic-form-baseitem.model.js +63 -0
  118. package/esm2015/lib/components/dynamic-form/models/dynamic-form-boolitem.model.js +20 -0
  119. package/esm2015/lib/components/dynamic-form/models/dynamic-form-dateitem.model.js +24 -0
  120. package/esm2015/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.js +12 -0
  121. package/esm2015/lib/components/dynamic-form/models/dynamic-form-mapitem.model.js +16 -0
  122. package/esm2015/lib/components/dynamic-form/models/dynamic-form-selectitem.model.js +17 -0
  123. package/esm2015/lib/components/dynamic-form/models/dynamic-form-textitem.model.js +32 -0
  124. package/esm2015/lib/components/dynamic-form/models/dynamic-form.models.js +8 -0
  125. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +46 -0
  126. package/esm2015/lib/components/dynamic-form/services/dynamic-component-mapper.service.js +60 -0
  127. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +74 -0
  128. package/esm2015/lib/components/dynamic-form/validators/length-validator.js +15 -0
  129. package/esm2015/lib/components/dynamic-form/validators/regex-validator.js +15 -0
  130. package/esm2015/lib/components/dynamic-form/validators/required-validator.js +9 -0
  131. package/esm2015/lib/components/dynamic-form/validators/value-validator.js +15 -0
  132. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +148 -0
  133. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +57 -0
  134. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +204 -0
  135. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +44 -0
  136. package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +16 -0
  137. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +36 -0
  138. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +32 -0
  139. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +49 -0
  140. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +71 -0
  141. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +60 -0
  142. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +54 -0
  143. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +40 -0
  144. package/esm2015/lib/components/filter/filter/filter.component.js +94 -0
  145. package/esm2015/lib/components/filter/filter.module.js +45 -0
  146. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +114 -0
  147. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +111 -0
  148. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +165 -0
  149. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +32 -0
  150. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +54 -0
  151. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +71 -0
  152. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +25 -0
  153. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +43 -0
  154. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +26 -0
  155. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/consts.js +5 -0
  156. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +75 -0
  157. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +70 -0
  158. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +27 -0
  159. package/esm2015/lib/components/latest-activity/constants/activitylog.js +80 -0
  160. package/esm2015/lib/components/latest-activity/latest-activity.module.js +53 -0
  161. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +33 -0
  162. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +69 -0
  163. package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +22 -0
  164. package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +57 -0
  165. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +129 -0
  166. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +149 -0
  167. package/esm2015/lib/components/notifications/notifications.module.js +109 -0
  168. package/esm2015/lib/components/notifications/notifications.service.js +277 -0
  169. package/esm2015/lib/components/pagination/pagination/pagination.component.js +123 -0
  170. package/esm2015/lib/components/pagination/pagination.module.js +32 -0
  171. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +24 -0
  172. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +228 -0
  173. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +181 -0
  174. package/esm2015/lib/components/select/select/select.component.js +130 -0
  175. package/esm2015/lib/components/select/select.module.js +37 -0
  176. package/esm2015/lib/components/table/table/table.component.js +174 -0
  177. package/esm2015/lib/components/table/table.module.js +57 -0
  178. package/esm2015/lib/components/users-card/users-card.component.js +43 -0
  179. package/esm2015/lib/components/users-card/users-card.module.js +28 -0
  180. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +33 -0
  181. package/esm2015/lib/components/viewer-log/viewer-log.module.js +20 -0
  182. package/esm2015/lib/components/vocabulary/interfaces/op-type.interface.js +2 -0
  183. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +49 -0
  184. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +106 -0
  185. package/esm2015/lib/components/vocabulary/vocabulary.module.js +34 -0
  186. package/esm2015/lib/configuration/app-config.service.js +26 -0
  187. package/esm2015/lib/configuration/helpers/app-initializer.js +4 -0
  188. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +61 -0
  189. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +29 -0
  190. package/esm2015/lib/directive/directive.module.js +48 -0
  191. package/esm2015/lib/directive/permissions/evaluators.service.js +118 -0
  192. package/esm2015/lib/directive/permissions/permissions.directive.js +106 -0
  193. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +28 -0
  194. package/esm2015/lib/directive/rtl/set-rtl.directive.js +29 -0
  195. package/esm2015/lib/nuxeo-development-framework.component.js +26 -18
  196. package/esm2015/lib/nuxeo-development-framework.module.js +45 -16
  197. package/esm2015/lib/nuxeo-development-framework.service.js +14 -13
  198. package/esm2015/lib/pipes/file-size.pipe.js +57 -0
  199. package/esm2015/lib/pipes/hijri-date.pipe.js +46 -0
  200. package/esm2015/lib/pipes/localized-date.pipe.js +81 -0
  201. package/esm2015/lib/pipes/multi-value.pipe.js +42 -0
  202. package/esm2015/lib/pipes/pipes.module.js +29 -0
  203. package/esm2015/lib/pipes/secure-html.pipe.js +34 -0
  204. package/esm2015/lib/pipes/secure.pipe.js +40 -0
  205. package/esm2015/lib/pipes/time-ago.pipe.js +68 -0
  206. package/esm2015/lib/shared/components/button/button.component.js +87 -0
  207. package/esm2015/lib/shared/components/item-list/item-list.component.js +76 -0
  208. package/esm2015/lib/shared/components/no-data/no-data.component.js +37 -0
  209. package/esm2015/lib/shared/components/read-more/read-more.component.js +107 -0
  210. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +144 -0
  211. package/esm2015/lib/shared/components/spinner/spinner.component.js +29 -0
  212. package/esm2015/lib/shared/components/user-card/user-card.component.js +49 -0
  213. package/esm2015/lib/shared/libraryShared.module.js +80 -0
  214. package/esm2015/nuxeo-development-framework.js +4 -4
  215. package/esm2015/public-api.js +156 -7
  216. package/fesm2015/nuxeo-development-framework.js +17027 -49
  217. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  218. package/lib/Core/adapters/adapter.service.d.ts +11 -0
  219. package/lib/Core/core.module.d.ts +14 -0
  220. package/lib/Core/enums/language.enum.d.ts +4 -0
  221. package/lib/Core/models/component.model.d.ts +6 -0
  222. package/lib/Core/services/callApi/call-api.service.d.ts +11 -0
  223. package/lib/Core/services/initialization/initialization.service.d.ts +14 -0
  224. package/lib/Core/services/localStorag/local-storag.service.d.ts +41 -0
  225. package/lib/Core/services/nuxeo/nuxeo-override.d.ts +8 -0
  226. package/lib/Core/services/nuxeo/nuxeo.service.d.ts +33 -0
  227. package/lib/Core/services/roles/roles.service.d.ts +11 -0
  228. package/lib/Core/services/translation/translate-loader.service.d.ts +26 -0
  229. package/lib/Core/services/translation/translation.service.d.ts +71 -0
  230. package/lib/Core/services/user/user-preferences.service.d.ts +80 -0
  231. package/lib/Core/utilities/moment-date-adapter.d.ts +37 -0
  232. package/lib/Core/utilities/utility.service.d.ts +11 -0
  233. package/lib/components/activity/activity/activity.component.d.ts +13 -0
  234. package/lib/components/activity/activity.module.d.ts +13 -0
  235. package/lib/components/avatar/avatar/avatar.component.d.ts +23 -0
  236. package/lib/components/avatar/avatar.module.d.ts +13 -0
  237. package/lib/components/card/card.component.d.ts +32 -0
  238. package/lib/components/card/card.module.d.ts +12 -0
  239. package/lib/components/comments/comments.module.d.ts +25 -0
  240. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +13 -0
  241. package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +45 -0
  242. package/lib/components/comments/components/comments-list/comments-list.component.d.ts +26 -0
  243. package/lib/components/comments/constants/comment.d.ts +25 -0
  244. package/lib/components/comments/services/comment-api.service.d.ts +14 -0
  245. package/lib/components/confirm-caller/confirm-caller.dialog.d.ts +46 -0
  246. package/lib/components/confirm-caller/confirm-caller.module.d.ts +16 -0
  247. package/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.d.ts +12 -0
  248. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +34 -0
  249. package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +42 -0
  250. package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +31 -0
  251. package/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.d.ts +18 -0
  252. package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +31 -0
  253. package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +30 -0
  254. package/lib/components/correspondence-relation/services/correspondence-realation.service.d.ts +24 -0
  255. package/lib/components/correspondence-relation/services/viewer-files.service.d.ts +18 -0
  256. package/lib/components/create-entity/create-entity/create-entity.component.d.ts +17 -0
  257. package/lib/components/create-entity/create-entity.module.d.ts +11 -0
  258. package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +28 -0
  259. package/lib/components/cts-tags/cts-tags.module.d.ts +21 -0
  260. package/lib/components/cts-tags/services/tags-api.service.d.ts +15 -0
  261. package/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.d.ts +30 -0
  262. package/lib/components/custom-toastr/custom-toastr.module.d.ts +12 -0
  263. package/lib/components/custom-toastr/interfaces/toast-type.interface.d.ts +1 -0
  264. package/lib/components/custom-toastr/services/custom-toastr.service.d.ts +18 -0
  265. package/lib/components/documents/components/attachments-list/attachments-list.component.d.ts +54 -0
  266. package/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.d.ts +37 -0
  267. package/lib/components/documents/components/document-list/documents-list.component.d.ts +81 -0
  268. package/lib/components/documents/components/document-scan/document-scan.component.d.ts +103 -0
  269. package/lib/components/documents/components/document-upload/document-upload.component.d.ts +58 -0
  270. package/lib/components/documents/components/documents/documents.component.d.ts +27 -0
  271. package/lib/components/documents/constants/document-templates.d.ts +33 -0
  272. package/lib/components/documents/constants/documents.d.ts +95 -0
  273. package/lib/components/documents/documents.module.d.ts +33 -0
  274. package/lib/components/documents/services/document-templates.service.d.ts +24 -0
  275. package/lib/components/documents/services/documents.service.d.ts +36 -0
  276. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +63 -0
  277. package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +16 -0
  278. package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +33 -0
  279. package/lib/components/dynamic-chart/services/chart-data.service.d.ts +37 -0
  280. package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +45 -0
  281. package/lib/components/dynamic-filter/dynamic-filter.module.d.ts +16 -0
  282. package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +28 -0
  283. package/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.d.ts +26 -0
  284. package/lib/components/dynamic-form/components/dynamic-form/fields.adapter.d.ts +6 -0
  285. package/lib/components/dynamic-form/components/dynamic-form/form-builder.service.d.ts +21 -0
  286. package/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.d.ts +17 -0
  287. package/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.d.ts +57 -0
  288. package/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.d.ts +35 -0
  289. package/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.d.ts +70 -0
  290. package/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.d.ts +52 -0
  291. package/lib/components/dynamic-form/components/dynamic-form-department/constants/department.d.ts +12 -0
  292. package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +65 -0
  293. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +29 -0
  294. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +21 -0
  295. package/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.d.ts +30 -0
  296. package/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.d.ts +61 -0
  297. package/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.d.ts +25 -0
  298. package/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.d.ts +15 -0
  299. package/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.d.ts +45 -0
  300. package/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.d.ts +41 -0
  301. package/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.d.ts +65 -0
  302. package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +83 -0
  303. package/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.d.ts +13 -0
  304. package/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.d.ts +79 -0
  305. package/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.d.ts +37 -0
  306. package/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.d.ts +71 -0
  307. package/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.d.ts +86 -0
  308. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +19 -0
  309. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +88 -0
  310. package/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.d.ts +16 -0
  311. package/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.d.ts +76 -0
  312. package/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.d.ts +599 -0
  313. package/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.d.ts +13 -0
  314. package/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.d.ts +2 -0
  315. package/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.d.ts +13 -0
  316. package/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.d.ts +2 -0
  317. package/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.d.ts +16 -0
  318. package/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.d.ts +2 -0
  319. package/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.d.ts +9 -0
  320. package/lib/components/dynamic-form/dynamic-form.module.d.ts +64 -0
  321. package/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.d.ts +5 -0
  322. package/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.d.ts +5 -0
  323. package/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.d.ts +15 -0
  324. package/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.d.ts +4 -0
  325. package/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.d.ts +12 -0
  326. package/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.d.ts +8 -0
  327. package/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.d.ts +10 -0
  328. package/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.d.ts +5 -0
  329. package/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.d.ts +8 -0
  330. package/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.d.ts +9 -0
  331. package/lib/components/dynamic-form/models/dynamic-form-baseitem.model.d.ts +21 -0
  332. package/lib/components/dynamic-form/models/dynamic-form-boolitem.model.d.ts +11 -0
  333. package/lib/components/dynamic-form/models/dynamic-form-dateitem.model.d.ts +13 -0
  334. package/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.d.ts +9 -0
  335. package/lib/components/dynamic-form/models/dynamic-form-mapitem.model.d.ts +8 -0
  336. package/lib/components/dynamic-form/models/dynamic-form-selectitem.model.d.ts +11 -0
  337. package/lib/components/dynamic-form/models/dynamic-form-textitem.model.d.ts +15 -0
  338. package/lib/components/dynamic-form/models/dynamic-form.models.d.ts +7 -0
  339. package/lib/components/dynamic-form/services/card-item-types.service.d.ts +13 -0
  340. package/lib/components/dynamic-form/services/dynamic-component-mapper.service.d.ts +36 -0
  341. package/lib/components/dynamic-form/services/dynamic-form-update.service.d.ts +30 -0
  342. package/lib/components/dynamic-form/validators/length-validator.d.ts +7 -0
  343. package/lib/components/dynamic-form/validators/regex-validator.d.ts +7 -0
  344. package/lib/components/dynamic-form/validators/required-validator.d.ts +5 -0
  345. package/lib/components/dynamic-form/validators/value-validator.d.ts +7 -0
  346. package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +71 -0
  347. package/lib/components/dynamic-search/dynamic-search.module.d.ts +19 -0
  348. package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +96 -0
  349. package/lib/components/dynamic-table/dynamic-table.module.d.ts +16 -0
  350. package/lib/components/dynamic-table/services/dynamic-table.service.d.ts +8 -0
  351. package/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.d.ts +13 -0
  352. package/lib/components/dynamic-view/data-viewer/data-viewer.component.d.ts +12 -0
  353. package/lib/components/dynamic-view/date-viewer/date-viewer.component.d.ts +17 -0
  354. package/lib/components/dynamic-view/department-viewer/department-viewer.component.d.ts +29 -0
  355. package/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.d.ts +37 -0
  356. package/lib/components/dynamic-view/dynamic-view.module.d.ts +20 -0
  357. package/lib/components/dynamic-view/list-viewer/list-viewer.component.d.ts +20 -0
  358. package/lib/components/filter/filter/filter.component.d.ts +31 -0
  359. package/lib/components/filter/filter.module.d.ts +15 -0
  360. package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.d.ts +34 -0
  361. package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.d.ts +32 -0
  362. package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.d.ts +39 -0
  363. package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.d.ts +9 -0
  364. package/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.d.ts +14 -0
  365. package/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.d.ts +15 -0
  366. package/lib/components/hijri-gregorian-datepicker/services/date-helper.service.d.ts +8 -0
  367. package/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.d.ts +11 -0
  368. package/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.d.ts +10 -0
  369. package/lib/components/hijri-gregorian-datepicker/utils/consts.d.ts +4 -0
  370. package/lib/components/latest-activity/components/activity-line/activity-line.component.d.ts +19 -0
  371. package/lib/components/latest-activity/components/latest-activity/latest-activity.component.d.ts +22 -0
  372. package/lib/components/latest-activity/components/single-activity/single-activity.component.d.ts +10 -0
  373. package/lib/components/latest-activity/constants/activitylog.d.ts +82 -0
  374. package/lib/components/latest-activity/latest-activity.module.d.ts +19 -0
  375. package/lib/components/latest-activity/services/activity-log.service.d.ts +12 -0
  376. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +15 -0
  377. package/lib/components/notifications/components/notification-options/notification-options.component.d.ts +10 -0
  378. package/lib/components/notifications/components/notification-toast/notification-toast.component.d.ts +19 -0
  379. package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +25 -0
  380. package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +45 -0
  381. package/lib/components/notifications/notifications.module.d.ts +24 -0
  382. package/lib/components/notifications/notifications.service.d.ts +61 -0
  383. package/lib/components/pagination/pagination/pagination.component.d.ts +46 -0
  384. package/lib/components/pagination/pagination.module.d.ts +13 -0
  385. package/lib/components/pdf-tron/pdf-tron.module.d.ts +8 -0
  386. package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +54 -0
  387. package/lib/components/pdf-tron/pdftron/pdftron.service.d.ts +30 -0
  388. package/lib/components/select/select/select.component.d.ts +43 -0
  389. package/lib/components/select/select.module.d.ts +12 -0
  390. package/lib/components/table/table/table.component.d.ts +89 -0
  391. package/lib/components/table/table.module.d.ts +18 -0
  392. package/lib/components/users-card/users-card.component.d.ts +22 -0
  393. package/lib/components/users-card/users-card.module.d.ts +17 -0
  394. package/lib/components/viewer-log/components/viewer-log/viewer-log.component.d.ts +12 -0
  395. package/lib/components/viewer-log/viewer-log.module.d.ts +10 -0
  396. package/lib/components/vocabulary/interfaces/op-type.interface.d.ts +1 -0
  397. package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +16 -0
  398. package/lib/components/vocabulary/vocabulary/vocabulary.component.d.ts +37 -0
  399. package/lib/components/vocabulary/vocabulary.module.d.ts +11 -0
  400. package/lib/configuration/app-config.service.d.ts +11 -0
  401. package/lib/configuration/helpers/app-initializer.d.ts +2 -0
  402. package/lib/directive/app-has-role/app-has-role.directive.d.ts +18 -0
  403. package/lib/directive/clickOutSide/click-outside.directive.d.ts +11 -0
  404. package/lib/directive/directive.module.d.ts +16 -0
  405. package/lib/directive/permissions/evaluators.service.d.ts +26 -0
  406. package/lib/directive/permissions/permissions.directive.d.ts +46 -0
  407. package/lib/directive/rtl/set-dir-rtl.directive.d.ts +13 -0
  408. package/lib/directive/rtl/set-rtl.directive.d.ts +13 -0
  409. package/lib/nuxeo-development-framework.component.d.ts +8 -5
  410. package/lib/nuxeo-development-framework.module.d.ts +12 -2
  411. package/lib/nuxeo-development-framework.service.d.ts +6 -3
  412. package/lib/pipes/file-size.pipe.d.ts +34 -0
  413. package/lib/pipes/hijri-date.pipe.d.ts +32 -0
  414. package/lib/pipes/localized-date.pipe.d.ts +44 -0
  415. package/lib/pipes/multi-value.pipe.d.ts +32 -0
  416. package/lib/pipes/pipes.module.d.ts +18 -0
  417. package/lib/pipes/secure-html.pipe.d.ts +26 -0
  418. package/lib/pipes/secure.pipe.d.ts +29 -0
  419. package/lib/pipes/time-ago.pipe.d.ts +34 -0
  420. package/lib/shared/components/button/button.component.d.ts +38 -0
  421. package/lib/shared/components/item-list/item-list.component.d.ts +45 -0
  422. package/lib/shared/components/no-data/no-data.component.d.ts +21 -0
  423. package/lib/shared/components/read-more/read-more.component.d.ts +37 -0
  424. package/lib/shared/components/search-autocomplete/search-autocomplete.component.d.ts +49 -0
  425. package/lib/shared/components/spinner/spinner.component.d.ts +18 -0
  426. package/lib/shared/components/user-card/user-card.component.d.ts +30 -0
  427. package/lib/shared/libraryShared.module.d.ts +25 -0
  428. package/nuxeo-development-framework.d.ts +5 -4
  429. package/package.json +57 -16
  430. package/public-api.d.ts +145 -3
  431. package/bundles/nuxeo-development-framework.umd.min.js +0 -2
  432. package/bundles/nuxeo-development-framework.umd.min.js.map +0 -1
  433. package/nuxeo-development-framework.metadata.json +0 -1
@@ -0,0 +1,148 @@
1
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { FormGroup, FormControl } from '@angular/forms';
3
+ import * as _ from 'lodash';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@angular/cdk/layout";
7
+ import * as i3 from "../../dynamic-filter/dynamic-filter/dynamic-filter.component";
8
+ import * as i4 from "../../card/card.component";
9
+ import * as i5 from "../../dynamic-table/dynamic-table/dynamic-table.component";
10
+ import * as i6 from "@angular/material/progress-spinner";
11
+ import * as i7 from "@angular/common";
12
+ import * as i8 from "@angular/forms";
13
+ import * as i9 from "@ngx-translate/core";
14
+ /**
15
+ * Dynamic search component uses [Dynamic Table]{@link DynamicTableComponent} & [Dynamic Filter]{@link DynamicFilterComponent} internally,
16
+ * and utilizes its inputs to perform advanced search and filtering on any nuxeo Provider
17
+ * @title
18
+ * Dynamic Search
19
+ *
20
+ * @example
21
+ * <cts-dynamic-search
22
+ * [pageProvider]="'pageProviderName'"
23
+ * [columns]="columnsArray"
24
+ * [responsiveColumns]="responsiveColumnsArray"
25
+ * [entityType]="'documents'"
26
+ * [prefix]="prefix"
27
+ * [fields]="fields"
28
+ * [headers]="headers"
29
+ * [sortingBy]="sortingBy"
30
+ * [pageSize]="PageSize"
31
+ * >
32
+ * </cts-dynamic-search>
33
+ */
34
+ export class DynamicSearchComponent {
35
+ constructor(route, router, breakpointObserver) {
36
+ this.route = route;
37
+ this.router = router;
38
+ this.breakpointObserver = breakpointObserver;
39
+ /** Translations prefix */
40
+ this.prefix = '';
41
+ /** Sorting column */
42
+ this.sortingBy = {};
43
+ this.queryParams = {};
44
+ this.searchForm = new FormGroup({
45
+ text: new FormControl(null),
46
+ });
47
+ this.loading = false;
48
+ }
49
+ ngOnInit() {
50
+ this.text = this.route.snapshot.queryParams['search_query'];
51
+ this.searchInputPopulate();
52
+ this.updateQueryParams({ system_fulltext: this.text });
53
+ this.route.queryParams.subscribe((params) => {
54
+ var _a;
55
+ if ((this.text !== params['search_query'] && params['search_query']) ||
56
+ (((_a = params['search_query']) === null || _a === void 0 ? void 0 : _a.length) == 0 &&
57
+ this.text !== params['search_query'])) {
58
+ this.text = params['search_query'];
59
+ this.searchInputPopulate();
60
+ this.updateQueryParams({ system_fulltext: this.text });
61
+ }
62
+ });
63
+ this.breakpoint();
64
+ }
65
+ updateQueryParams(newQueryparams) {
66
+ this.queryParams = Object.assign(Object.assign({}, this.queryParams), newQueryparams);
67
+ }
68
+ searchInputPopulate() {
69
+ this.searchForm.patchValue({
70
+ text: this.text,
71
+ });
72
+ }
73
+ FilterSelected(val) {
74
+ this.loading = true;
75
+ this.filters = Object.assign(Object.assign({}, this.filters), val.filter); //store filters
76
+ this.updateQueryParams(this.filters);
77
+ }
78
+ paginationChange(event) { }
79
+ getTableData(data) {
80
+ this.loading = false;
81
+ this.aggregations = Object.entries(data.aggregations).map((item) => {
82
+ return item[1];
83
+ });
84
+ this.aggregations = this.aggregations.filter((item) => this.sortingArray.includes(item.id));
85
+ this.aggregations = _.sortBy(this.aggregations, (item) => {
86
+ return this.sortingArray.indexOf(item.id);
87
+ });
88
+ console.log('aggregations', this.aggregations);
89
+ this.totalRecords = data.totalSize;
90
+ }
91
+ submitForm() {
92
+ this.router.navigate(['.'], {
93
+ relativeTo: this.route,
94
+ queryParams: {
95
+ search_query: this.searchForm.controls.text.value,
96
+ },
97
+ });
98
+ }
99
+ openViewer(row) {
100
+ this.router.navigate([{ outlets: { viewer: ['view', row['uid']] } }], {
101
+ queryParams: { location: this.router.url },
102
+ });
103
+ }
104
+ onOpenFilter() {
105
+ this.openFilter = !this.openFilter;
106
+ }
107
+ breakpoint() {
108
+ this.breakpointObserver
109
+ .observe(['(min-width: 1200px)'])
110
+ .subscribe((result) => {
111
+ if (result.matches) {
112
+ this.openFilter = false;
113
+ }
114
+ });
115
+ }
116
+ }
117
+ DynamicSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
118
+ DynamicSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicSearchComponent, selector: "cts-dynamic-search", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", sortingBy: "sortingBy", sortingArray: "sortingArray" }, ngImport: i0, template: "<div class=\"search-toolbar d-md-flex d-xl-none\">\r\n <button (click)=\"onOpenFilter()\" class=\"my-button\">\r\n <span> {{ \"FILTER\" | translate }}</span>\r\n <i class=\"bi bi-filter\" *ngIf=\"!openFilter\"></i>\r\n <i class=\"bi bi-x\" *ngIf=\"openFilter\"></i>\r\n </button>\r\n <div *ngIf=\"openFilter\">\r\n <i class=\"bi bi-caret-up-fill arrow-up\"></i>\r\n </div>\r\n</div>\r\n<div class=\"row wrapper\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"openFilter\">\r\n <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"aggregation.field === 'corr:to' ||aggregation.field === 'corr:from'\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\r\n <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"aggregation.field === 'corr:to' ||aggregation.field === 'corr:from'\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-12 col-xl-9\">\r\n <app-card>\r\n <div class=\"title\">\r\n <h3>\r\n {{ \"search.header\" | translate }}\r\n </h3>\r\n </div>\r\n <div class=\"body\">\r\n <div *ngIf=\"aggregations\" class=\"table-toolbar\">\r\n <div class=\"result-count\">\r\n <span>\r\n {{\r\n \"search.\" + \"resultsNumber\"\r\n | translate: { value: totalRecords ? totalRecords : 0 }\r\n }}\r\n </span>\r\n </div>\r\n <!-- <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form> -->\r\n </div>\r\n <cts-dynamic-table\r\n [pageSize]=\"pageSize\"\r\n [columns]=\"columns\"\r\n [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\"\r\n [quickFilter]=\"filter\"\r\n [entityType]=\"entityType\"\r\n [fields]=\"fields\"\r\n [queryParam]=\"queryParams\"\r\n [headers]=\"headers\"\r\n [prefix]=\"prefix\"\r\n [sortingBy]=\"sortingBy\"\r\n (onRowSelected)=\"openViewer($event)\"\r\n (onGettingData)=\"getTableData($event)\"\r\n ></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\r\n <ng-template #progressSpinner>\r\n <div class=\"progress-spinner\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.search-sideMenu .search-form{display:flex;color:#6a768e;width:100%}.search-sideMenu .search-form .search-input{width:100%;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.search-sideMenu .search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-sideMenu .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-sideMenu .search-form .search-icon{background:#465573;color:#fff;width:12%;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}.search-toolbar{position:relative;display:flex;justify-content:flex-end;margin-bottom:16px}.search-toolbar .my-button{width:90px}.search-toolbar .arrow-up{position:absolute;top:26px;right:28px;font-size:25px;color:#8f98aab3}.wrapper{position:relative}.wrapper .popup-filter{flex-direction:column;position:absolute;right:0;z-index:9999;max-height:70vh;max-width:400px;background-color:#fff;overflow:scroll;box-shadow:0 1px 10px 2px #00000054;top:-4px;border-radius:5px}.wrapper .popup-filter .search-form{margin-top:10px!important}.wrapper .popup-filter .search-input{width:100%!important}.wrapper .search-container{background-color:#fff;border-radius:5px;border:0px;padding:16px;height:-webkit-max-content;height:max-content}.wrapper .search-container .table-toolbar{display:flex;align-items:center;margin-bottom:8px;justify-content:space-between}.progress-spinner{margin-top:10px;margin-block-end:0;display:grid;place-items:center;width:100%}.rtl .popup-filter{left:0px;right:unset!important}.rtl .arrow-up{position:absolute;top:33px;left:28px;right:unset!important}\n"], components: [{ type: i3.DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department"], outputs: ["onFilterSelected"] }, { type: i4.CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { type: i5.DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "sortingBy", "queryParam", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "tableActions", "defultSort", "range"], outputs: ["onRowSelected", "actionOnRow", "onGettingData"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchComponent, decorators: [{
120
+ type: Component,
121
+ args: [{
122
+ selector: 'cts-dynamic-search',
123
+ templateUrl: './dynamic-search.component.html',
124
+ styleUrls: ['./dynamic-search.component.scss'],
125
+ encapsulation: ViewEncapsulation.None
126
+ }]
127
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.BreakpointObserver }]; }, propDecorators: { columns: [{
128
+ type: Input
129
+ }], responsiveColumns: [{
130
+ type: Input
131
+ }], entityType: [{
132
+ type: Input
133
+ }], prefix: [{
134
+ type: Input
135
+ }], headers: [{
136
+ type: Input
137
+ }], fields: [{
138
+ type: Input
139
+ }], pageProvider: [{
140
+ type: Input
141
+ }], pageSize: [{
142
+ type: Input
143
+ }], sortingBy: [{
144
+ type: Input
145
+ }], sortingArray: [{
146
+ type: Input
147
+ }] } });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7O0FBRTVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQWlDakMsWUFDVSxLQUFxQixFQUNyQixNQUFjLEVBQ2Ysa0JBQXNDO1FBRnJDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBM0IvQywwQkFBMEI7UUFDakIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQVNyQixxQkFBcUI7UUFDWixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBR2pCLGVBQVUsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN6QixJQUFJLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1NBQzVCLENB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b0JBQzlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzsySkFLVSxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBWU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kb2N1bWVudHMvY29uc3RhbnRzL2RvY3VtZW50cyc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5cclxuLyoqXHJcbiAqIER5bmFtaWMgc2VhcmNoIGNvbXBvbmVudCB1c2VzIFtEeW5hbWljIFRhYmxlXXtAbGluayBEeW5hbWljVGFibGVDb21wb25lbnR9ICYgW0R5bmFtaWMgRmlsdGVyXXtAbGluayBEeW5hbWljRmlsdGVyQ29tcG9uZW50fSBpbnRlcm5hbGx5LFxyXG4gKiBhbmQgdXRpbGl6ZXMgaXRzIGlucHV0cyB0byBwZXJmb3JtIGFkdmFuY2VkIHNlYXJjaCBhbmQgZmlsdGVyaW5nIG9uIGFueSBudXhlbyBQcm92aWRlclxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBTZWFyY2hcclxuICpcclxuICogQGV4YW1wbGVcclxuICogPGN0cy1keW5hbWljLXNlYXJjaFxyXG4gKiAgIFtwYWdlUHJvdmlkZXJdPVwiJ3BhZ2VQcm92aWRlck5hbWUnXCJcclxuICogICBbY29sdW1uc109XCJjb2x1bW5zQXJyYXlcIlxyXG4gKiAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc0FycmF5XCJcclxuICogICBbZW50aXR5VHlwZV09XCInZG9jdW1lbnRzJ1wiXHJcbiAqICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICogICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgW3BhZ2VTaXplXT1cIlBhZ2VTaXplXCJcclxuICogPlxyXG4gKiA8L2N0cy1keW5hbWljLXNlYXJjaD5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtc2VhcmNoJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1NlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGFnZ3JlZ2F0aW9ucztcclxuICAvKiogQXJyYXkgb2YgY29sdW1ucyAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgb24gc21hbGxlciBzY3JlZW5zICovXHJcbiAgQElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM/O1xyXG4gIC8qKiBEZWZpbmVzIHRoZSBwYWdlIGluIHdoaWNoIHRhYmxlIGlzIGJlaW5nIHVzZWQgKi9cclxuICBASW5wdXQoKSBlbnRpdHlUeXBlOiBzdHJpbmc7XHJcbiAgLyoqIFRyYW5zbGF0aW9ucyBwcmVmaXggKi9cclxuICBASW5wdXQoKSBwcmVmaXggPSAnJztcclxuICAvKiogSGVhZGVycyB0byBiZSBzZW50IHdpdGggQVBJIFJlcXVlc3QgKi9cclxuICBASW5wdXQoKSBoZWFkZXJzO1xyXG4gIC8qKiBGaWVsZHMga2V5bWFwIHRvIGJlIG1hcHBlZCBpbiB0aGUgYWRhcHRlciAqL1xyXG4gIEBJbnB1dCgpIGZpZWxkcztcclxuICAvKiogUGFnZSBQcm92aWRlciBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHJldHJpZXZlIGRhdGEgKi9cclxuICBASW5wdXQoKSBwYWdlUHJvdmlkZXI7XHJcbiAgLyoqIENvbnRyb2xzIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0YWJsZSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplO1xyXG4gIC8qKiBTb3J0aW5nIGNvbHVtbiAqL1xyXG4gIEBJbnB1dCgpIHNvcnRpbmdCeT89IHt9O1xyXG5cclxuICBxdWVyeVBhcmFtcyA9IHt9O1xyXG4gIGZpbHRlcjtcclxuICBmaWx0ZXJzO1xyXG4gIHNlYXJjaEZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHRleHQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICB9KTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgdG90YWxSZWNvcmRzO1xyXG4gIG9wZW5GaWx0ZXI6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBzb3J0aW5nQXJyYXk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGV4dCA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ3NlYXJjaF9xdWVyeSddO1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dFBvcHVsYXRlKCk7XHJcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHsgc3lzdGVtX2Z1bGx0ZXh0OiB0aGlzLnRleHQgfSk7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAodGhpcy50ZXh0ICE9PSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddICYmIHBhcmFtc1snc2VhcmNoX3F1ZXJ5J10pIHx8XHJcbiAgICAgICAgKHBhcmFtc1snc2VhcmNoX3F1ZXJ5J10/Lmxlbmd0aCA9PSAwICYmXHJcbiAgICAgICAgICB0aGlzLnRleHQgIT09IHBhcmFtc1snc2VhcmNoX3F1ZXJ5J10pXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMudGV4dCA9IHBhcmFtc1snc2VhcmNoX3F1ZXJ5J107XHJcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dFBvcHVsYXRlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyh7IHN5c3RlbV9mdWxsdGV4dDogdGhpcy50ZXh0IH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuYnJlYWtwb2ludCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUXVlcnlQYXJhbXMobmV3UXVlcnlwYXJhbXM6IG9iamVjdCkge1xyXG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHtcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtcyxcclxuICAgICAgLi4ubmV3UXVlcnlwYXJhbXMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoSW5wdXRQb3B1bGF0ZSgpIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgdGV4dDogdGhpcy50ZXh0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEZpbHRlclNlbGVjdGVkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWx0ZXJzID0geyAuLi50aGlzLmZpbHRlcnMsIC4uLnZhbC5maWx0ZXIgfTsgLy9zdG9yZSBmaWx0ZXJzXHJcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7IH1cclxuXHJcbiAgZ2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBPYmplY3QuZW50cmllcyhkYXRhLmFnZ3JlZ2F0aW9ucykubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtWzFdO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHRoaXMuYWdncmVnYXRpb25zLmZpbHRlcigoaXRlbSkgPT5cclxuICAgICAgdGhpcy5zb3J0aW5nQXJyYXkuaW5jbHVkZXMoaXRlbS5pZClcclxuICAgICk7XHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IF8uc29ydEJ5KHRoaXMuYWdncmVnYXRpb25zLCAoaXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5zb3J0aW5nQXJyYXkuaW5kZXhPZihpdGVtLmlkKTtcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2coJ2FnZ3JlZ2F0aW9ucycsIHRoaXMuYWdncmVnYXRpb25zKTtcclxuICAgIHRoaXMudG90YWxSZWNvcmRzID0gZGF0YS50b3RhbFNpemU7XHJcbiAgfVxyXG4gIHN1Ym1pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIHNlYXJjaF9xdWVyeTogdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLnRleHQudmFsdWUsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5WaWV3ZXIocm93KSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IHZpZXdlcjogWyd2aWV3Jywgcm93Wyd1aWQnXV0gfSB9XSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25PcGVuRmlsdGVyKCkge1xyXG4gICAgdGhpcy5vcGVuRmlsdGVyID0gIXRoaXMub3BlbkZpbHRlcjtcclxuICB9XHJcblxyXG4gIGJyZWFrcG9pbnQoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICAgICAub2JzZXJ2ZShbJyhtaW4td2lkdGg6IDEyMDBweCknXSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5tYXRjaGVzKSB7XHJcbiAgICAgICAgICB0aGlzLm9wZW5GaWx0ZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VhcmNoLXRvb2xiYXIgZC1tZC1mbGV4IGQteGwtbm9uZVwiPlxyXG4gIDxidXR0b24gKGNsaWNrKT1cIm9uT3BlbkZpbHRlcigpXCIgY2xhc3M9XCJteS1idXR0b25cIj5cclxuICAgIDxzcGFuPiB7eyBcIkZJTFRFUlwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPGkgY2xhc3M9XCJiaSBiaS1maWx0ZXJcIiAqbmdJZj1cIiFvcGVuRmlsdGVyXCI+PC9pPlxyXG4gICAgPGkgY2xhc3M9XCJiaSBiaS14XCIgKm5nSWY9XCJvcGVuRmlsdGVyXCI+PC9pPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgKm5nSWY9XCJvcGVuRmlsdGVyXCI+XHJcbiAgICA8aSBjbGFzcz1cImJpIGJpLWNhcmV0LXVwLWZpbGwgYXJyb3ctdXBcIj48L2k+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicm93IHdyYXBwZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwicG9wdXAtZmlsdGVyIHB4LTMgZC1mbGV4IGQteGwtbm9uZVwiICpuZ0lmPVwib3BlbkZpbHRlclwiPlxyXG4gICAgPGZvcm1cclxuICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcclxuICAgICAgY2xhc3M9XCJzZWFyY2gtZm9ybVwiXHJcbiAgICAgIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIlxyXG4gICAgPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRleHRcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2IChjbGljayk9XCJzdWJtaXRGb3JtKClcIiBjbGFzcz1cInNlYXJjaC1pY29uIGJpIGJpLXNlYXJjaFwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uczsgZWxzZSBwcm9ncmVzc1NwaW5uZXJcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWdncmVnYXRpb24gb2YgYWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGN0cy1keW5hbWljLWZpbHRlclxyXG4gICAgICAgICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYWdncmVnYXRpb24uYnVja2V0c1wiXHJcbiAgICAgICAgICAgIFtpZF09XCJhZ2dyZWdhdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uLnNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhZ2dyZWdhdGlvbi5maWVsZFwiXHJcbiAgICAgICAgICAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gICAgICAgICAgICBbZGVwYXJ0bWVudF09XCJhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6dG8nIHx8YWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOmZyb20nXCJcclxuICAgICAgICAgICAgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC14bC0zIHNlYXJjaC1zaWRlTWVudSBkLW5vbmUgZC14bC1ibG9ja1wiPlxyXG4gICAgPGZvcm1cclxuICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcclxuICAgICAgY2xhc3M9XCJzZWFyY2gtZm9ybVwiXHJcbiAgICAgIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIlxyXG4gICAgPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRleHRcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2IChjbGljayk9XCJzdWJtaXRGb3JtKClcIiBjbGFzcz1cInNlYXJjaC1pY29uIGJpIGJpLXNlYXJjaFwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uczsgZWxzZSBwcm9ncmVzc1NwaW5uZXJcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWdncmVnYXRpb24gb2YgYWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGN0cy1keW5hbWljLWZpbHRlclxyXG4gICAgICAgICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYWdncmVnYXRpb24uYnVja2V0c1wiXHJcbiAgICAgICAgICAgIFtpZF09XCJhZ2dyZWdhdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uLnNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhZ2dyZWdhdGlvbi5maWVsZFwiXHJcbiAgICAgICAgICAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gICAgICAgICAgICBbZGVwYXJ0bWVudF09XCJhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6dG8nIHx8YWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOmZyb20nXCJcclxuICAgICAgICAgICAgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wteGwtOVwiPlxyXG4gICAgPGFwcC1jYXJkPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICA8aDM+XHJcbiAgICAgICAgICB7eyBcInNlYXJjaC5oZWFkZXJcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhZ2dyZWdhdGlvbnNcIiBjbGFzcz1cInRhYmxlLXRvb2xiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY291bnRcIj5cclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIFwic2VhcmNoLlwiICsgXCJyZXN1bHRzTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgdmFsdWU6IHRvdGFsUmVjb3JkcyA/IHRvdGFsUmVjb3JkcyA6IDAgfVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPCEtLSA8Zm9ybVxyXG4gICAgICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcclxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWZvcm1cIlxyXG4gICAgICAgICAgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgICAgICA8L2Zvcm0+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgICAgICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICAgICAgICAgIFtwYWdlUHJvdmlkZXJdPVwicGFnZVByb3ZpZGVyXCJcclxuICAgICAgICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgICAgW2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiXHJcbiAgICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgICAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtc1wiXHJcbiAgICAgICAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgIFtzb3J0aW5nQnldPVwic29ydGluZ0J5XCJcclxuICAgICAgICAgIChvblJvd1NlbGVjdGVkKT1cIm9wZW5WaWV3ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25HZXR0aW5nRGF0YSk9XCJnZXRUYWJsZURhdGEoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvY3RzLWR5bmFtaWMtdGFibGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9hcHAtY2FyZD5cclxuICA8L2Rpdj5cclxuICA8bmctdGVtcGxhdGUgI3Byb2dyZXNzU3Bpbm5lcj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1zcGlubmVyXCI+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cIndhcm5cIiBbZGlhbWV0ZXJdPVwiMjVcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { CardModule } from '../card/card.module';
7
+ import { DynamicFilterModule } from '../dynamic-filter/dynamic-filter.module';
8
+ import { DynamicFormModule } from '../dynamic-form/dynamic-form.module';
9
+ import { DynamicTableModule } from '../dynamic-table/dynamic-table.module';
10
+ import { DynamicSearchComponent } from './dynamic-search/dynamic-search.component';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * @title
14
+ * Dynamic Search Module
15
+ */
16
+ export class DynamicSearchModule {
17
+ }
18
+ DynamicSearchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ DynamicSearchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchModule, declarations: [DynamicSearchComponent], imports: [CommonModule,
20
+ CardModule,
21
+ DynamicTableModule,
22
+ DynamicFilterModule,
23
+ DynamicFormModule,
24
+ ReactiveFormsModule,
25
+ FormsModule,
26
+ TranslateModule,
27
+ MatProgressSpinnerModule], exports: [DynamicSearchComponent] });
28
+ DynamicSearchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchModule, imports: [[
29
+ CommonModule,
30
+ CardModule,
31
+ DynamicTableModule,
32
+ DynamicFilterModule,
33
+ DynamicFormModule,
34
+ ReactiveFormsModule,
35
+ FormsModule,
36
+ TranslateModule,
37
+ MatProgressSpinnerModule,
38
+ ]] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchModule, decorators: [{
40
+ type: NgModule,
41
+ args: [{
42
+ declarations: [DynamicSearchComponent],
43
+ imports: [
44
+ CommonModule,
45
+ CardModule,
46
+ DynamicTableModule,
47
+ DynamicFilterModule,
48
+ DynamicFormModule,
49
+ ReactiveFormsModule,
50
+ FormsModule,
51
+ TranslateModule,
52
+ MatProgressSpinnerModule,
53
+ ],
54
+ exports: [DynamicSearchComponent],
55
+ }]
56
+ }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRW5GOzs7R0FHRztBQWdCSCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBZGYsc0JBQXNCLGFBRW5DLFlBQVk7UUFDWixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxlQUFlO1FBQ2Ysd0JBQXdCLGFBRWhCLHNCQUFzQjtpSEFFckIsbUJBQW1CLFlBYnJCO1lBQ1AsWUFBWTtZQUNaLFVBQVU7WUFDVixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGVBQWU7WUFDZix3QkFBd0I7U0FDekI7MkZBR1UsbUJBQW1CO2tCQWYvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJy4uL2NhcmQvY2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRmlsdGVyTW9kdWxlIH0gZnJvbSAnLi4vZHluYW1pYy1maWx0ZXIvZHluYW1pYy1maWx0ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tICcuLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZU1vZHVsZSB9IGZyb20gJy4uL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEeW5hbWljU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFNlYXJjaCBNb2R1bGVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRHluYW1pY1NlYXJjaENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIER5bmFtaWNUYWJsZU1vZHVsZSxcclxuICAgIER5bmFtaWNGaWx0ZXJNb2R1bGUsXHJcbiAgICBEeW5hbWljRm9ybU1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtEeW5hbWljU2VhcmNoQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWFyY2hNb2R1bGUge31cclxuIl19
@@ -0,0 +1,204 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { catchError, map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../Core/adapters/adapter.service";
5
+ import * as i2 from "../../../Core/services/callApi/call-api.service";
6
+ import * as i3 from "../services/dynamic-table.service";
7
+ import * as i4 from "../../table/table/table.component";
8
+ import * as i5 from "../../../shared/components/spinner/spinner.component";
9
+ import * as i6 from "../../pagination/pagination/pagination.component";
10
+ import * as i7 from "@angular/common";
11
+ import * as i8 from "@ngx-translate/core";
12
+ /**
13
+ * this component is an additional layer that uses [Table Component]{@link TableComponent} internally,
14
+ * you can use this component to configure a page provider listing out of the box easily,
15
+ * and it will handle all of the basic features such as getting data from API, Listing, Pagination, sorting and filtering
16
+ * ![Screenshot-1](../screenshots/dynamicTable.png)
17
+ * @title
18
+ * Dynamic Table
19
+ * @example
20
+ *
21
+ * <cts-dynamic-table
22
+ * [columns]="columns"
23
+ * [responsiveColumns]="responsiveColumns"
24
+ * [fullWidth]="fullWidth"
25
+ * [pageSize]="PageSize"
26
+ * [pageProvider]="pageProvider"
27
+ * [quickFilter]="filter"
28
+ * [sortingBy]="sortingBy"
29
+ * [entityType]="'all'"
30
+ * [fields]="fields"
31
+ * [prefix]="prefix"
32
+ * [rowCursor]="true"
33
+ * [queryParam]="queryParam"
34
+ * [headers]="headers"
35
+ * (onRowSelected)="openViewer($event)"
36
+ * (actionOnRow)="performAction($event)">
37
+ * </cts-dynamic-table>
38
+ */
39
+ export class DynamicTableComponent {
40
+ constructor(adapter, callApi, dynamicTableService) {
41
+ this.adapter = adapter;
42
+ this.callApi = callApi;
43
+ this.dynamicTableService = dynamicTableService;
44
+ /** event to emit when selecting single row */
45
+ this.onRowSelected = new EventEmitter();
46
+ /** event to emit when perform action on row (delte, edit, ... ) */
47
+ this.actionOnRow = new EventEmitter();
48
+ /** event to emit to the higher level when getting data from api is finished */
49
+ this.onGettingData = new EventEmitter();
50
+ /** Translations prefix */
51
+ this.prefix = '';
52
+ /** Sorting column */
53
+ this.sortingBy = {};
54
+ this.queryParam = {};
55
+ this.fullWidth = 'auto';
56
+ /** 'list' for noraml table 'card' for cards mode like in memos */
57
+ this.tableMode = 'list';
58
+ this.defultSort = [{ prop: 'properties.createdAt', dir: 'desc' }];
59
+ this.filterParams = {};
60
+ this.pageNum = 1;
61
+ this.rows = [];
62
+ this.totalRecords = 0;
63
+ this.sorting = false;
64
+ }
65
+ ngOnInit() {
66
+ this.myDataSubscription = this.dynamicTableService.refreshData.subscribe(filterData => {
67
+ if (filterData) {
68
+ this.filterParams = Object.assign({}, filterData);
69
+ // reset page number when start new filtering
70
+ this.pageNum = 1;
71
+ }
72
+ this.getData();
73
+ });
74
+ this.getData();
75
+ }
76
+ ngOnDestroy() {
77
+ this.myDataSubscription ? this.myDataSubscription.unsubscribe() : '';
78
+ }
79
+ ngOnChanges(simpleChange) {
80
+ const isFirstChange = Object.values(simpleChange).some((c) => c.isFirstChange());
81
+ if (isFirstChange) {
82
+ return;
83
+ }
84
+ if ((simpleChange.queryParam &&
85
+ simpleChange.queryParam.previousValue !==
86
+ simpleChange.queryParam.currentValue) ||
87
+ (simpleChange.quickFilter &&
88
+ simpleChange.quickFilter.previousValue !==
89
+ simpleChange.quickFilter.currentValue)) {
90
+ this.pageNum = 1; // reset page number befor recalling api with filters
91
+ this.getData();
92
+ }
93
+ }
94
+ getData() {
95
+ this.loading = true;
96
+ let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, this.filterParams), this.queryParam), this.sortingBy), this.quickFilter), { currentPageIndex: this.pageNum - 1, pageSize: this.pageSize, offset: 0, dublincore_created_agg: this.range });
97
+ // don't refresh all table in case of sorting only
98
+ if (!this.sorting) { // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
99
+ this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
100
+ }
101
+ this.sorting = false; // reset sorting status to false and for next sorting func sorting set it to true again
102
+ this.callApi
103
+ .query(Object.assign({ pageProvider: this.pageProvider }, params), {
104
+ headers: this.headers,
105
+ })
106
+ .pipe(map((data) => {
107
+ data.entries.map((item) => this.adapter.adaptIn(item, this.fields));
108
+ return data;
109
+ }), catchError((err) => {
110
+ throw err;
111
+ }))
112
+ .subscribe((res) => {
113
+ this.loading = false;
114
+ res.entries.forEach((element) => {
115
+ var _a, _b, _c, _d, _e, _f, _g, _h;
116
+ console.log("element", element);
117
+ if (element.properties && ((_a = element.properties) === null || _a === void 0 ? void 0 : _a.creator) && ((_b = element.properties.creator) === null || _b === void 0 ? void 0 : _b.properties)) {
118
+ element.properties.creator =
119
+ ((_d = (_c = element.properties.creator) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.firstName) +
120
+ ' ' +
121
+ ((_f = (_e = element.properties.creator) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.lastName);
122
+ }
123
+ if (element.properties && ((_g = element.properties) === null || _g === void 0 ? void 0 : _g.assignee)) {
124
+ element.properties.assignee = (_h = element.properties) === null || _h === void 0 ? void 0 : _h.assignee.fullName;
125
+ }
126
+ });
127
+ this.totalRecords = res.resultsCount;
128
+ this.rows = res.entries;
129
+ console.log("data", res.entries);
130
+ this.onGettingData.emit(res);
131
+ });
132
+ }
133
+ // function to be executed when clicking on single row
134
+ rowDetails(event) {
135
+ this.onRowSelected.emit(event);
136
+ }
137
+ //function to handle all operations on single row (delete , edit , ...)
138
+ performAction(action) {
139
+ this.actionOnRow.emit(action);
140
+ }
141
+ // handle sorting functionality of the table
142
+ onSort(sortObject) {
143
+ this.sortingBy = sortObject;
144
+ this.sorting = true;
145
+ this.getData();
146
+ }
147
+ PaginationChange(event) {
148
+ this.pageNum = event;
149
+ this.getData();
150
+ }
151
+ }
152
+ DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i1.AdapterService }, { token: i2.CallApiService }, { token: i3.DynamicTableService }], target: i0.ɵɵFactoryTarget.Component });
153
+ DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", sortingBy: "sortingBy", queryParam: "queryParam", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", tableActions: "tableActions", defultSort: "defultSort", range: "range" }, outputs: { onRowSelected: "onRowSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping\">\r\n <div class=\"table-reposition\">\r\n <cts-table\r\n *ngIf=\"rows.length\"\r\n [rows]=\"rows\"\r\n [columns]=\"columns\"\r\n [responsiveColumns]=\"responsiveColumns\"\r\n [rowCursor]=\"rowCursor\"\r\n [fullWidth]=\"fullWidth\"\r\n [entityType]=\"entityType\"\r\n [prefix]=\"prefix\"\r\n [totalRecords]=\"totalRecords\"\r\n [tableMode]=\"tableMode\"\r\n [tableActions]=\"tableActions\"\r\n [defultSort]=\"defultSort\"\r\n (onRowSelected)=\"rowDetails($event)\"\r\n (actionOnRow)=\"performAction($event)\"\r\n (onSorting)=\"onSort($event)\"\r\n ></cts-table>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <cts-spinner></cts-spinner>\r\n </ng-container>\r\n <div\r\n class=\"d-flex justify-content-center align-items-center my-3\"\r\n *ngIf=\"rows.length\"\r\n >\r\n <cts-pagination\r\n [page]=\"pageNum\"\r\n (change)=\"PaginationChange($event)\"\r\n [size]=\"pageSize\"\r\n [count]=\"totalRecords\"\r\n ></cts-pagination>\r\n </div>\r\n\r\n <div class=\"empty-state\" *ngIf=\"rows.length === 0\">\r\n <div class=\"text\">{{ 'noData' | translate}}</div>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.wrapping{position:relative}.wrapping .table-reposition{overflow:auto;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:auto}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}\n"], components: [{ type: i4.TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "tableMode", "tableActions", "defultSort"], outputs: ["onRowSelected", "onIconSelected", "actionOnRow", "onSorting"] }, { type: i5.SpinnerComponent, selector: "cts-spinner" }, { type: i6.PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableComponent, decorators: [{
155
+ type: Component,
156
+ args: [{
157
+ selector: 'cts-dynamic-table',
158
+ templateUrl: './dynamic-table.component.html',
159
+ styleUrls: ['./dynamic-table.component.scss'],
160
+ }]
161
+ }], ctorParameters: function () { return [{ type: i1.AdapterService }, { type: i2.CallApiService }, { type: i3.DynamicTableService }]; }, propDecorators: { onRowSelected: [{
162
+ type: Output
163
+ }], actionOnRow: [{
164
+ type: Output
165
+ }], onGettingData: [{
166
+ type: Output
167
+ }], columns: [{
168
+ type: Input
169
+ }], responsiveColumns: [{
170
+ type: Input
171
+ }], entityType: [{
172
+ type: Input
173
+ }], prefix: [{
174
+ type: Input
175
+ }], headers: [{
176
+ type: Input
177
+ }], fields: [{
178
+ type: Input
179
+ }], pageProvider: [{
180
+ type: Input
181
+ }], pageSize: [{
182
+ type: Input
183
+ }], sortingBy: [{
184
+ type: Input
185
+ }], queryParam: [{
186
+ type: Input
187
+ }], quickFilter: [{
188
+ type: Input
189
+ }], report: [{
190
+ type: Input
191
+ }], rowCursor: [{
192
+ type: Input
193
+ }], fullWidth: [{
194
+ type: Input
195
+ }], tableMode: [{
196
+ type: Input
197
+ }], tableActions: [{
198
+ type: Input
199
+ }], defultSort: [{
200
+ type: Input
201
+ }], range: [{
202
+ type: Input
203
+ }] } });
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBSXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUE2Q2hDLFlBQ1UsT0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIsbUJBQXdDO1FBRnhDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUEvQ2xELCtDQUErQztRQUNyQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsbUVBQW1FO1FBQ3pELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQyxnRkFBZ0Y7UUFDdEUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTzdDLDBCQUEwQjtRQUNqQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBU3JCLHFCQUFxQjtRQUNaLGNB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TUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHluYW1pYy10YWJsZS5zZXJ2aWNlJztcclxuLyoqXHJcbiAqIHRoaXMgY29tcG9uZW50IGlzIGFuIGFkZGl0aW9uYWwgbGF5ZXIgdGhhdCB1c2VzIFtUYWJsZSBDb21wb25lbnRde0BsaW5rIFRhYmxlQ29tcG9uZW50fSBpbnRlcm5hbGx5LFxyXG4gKiB5b3UgY2FuIHVzZSB0aGlzIGNvbXBvbmVudCB0byBjb25maWd1cmUgYSBwYWdlIHByb3ZpZGVyIGxpc3Rpbmcgb3V0IG9mIHRoZSBib3ggZWFzaWx5LFxyXG4gKiBhbmQgaXQgd2lsbCBoYW5kbGUgYWxsIG9mIHRoZSBiYXNpYyBmZWF0dXJlcyBzdWNoIGFzIGdldHRpbmcgZGF0YSBmcm9tIEFQSSwgTGlzdGluZywgUGFnaW5hdGlvbiwgc29ydGluZyBhbmQgZmlsdGVyaW5nXHJcbiAqICFbU2NyZWVuc2hvdC0xXSguLi9zY3JlZW5zaG90cy9keW5hbWljVGFibGUucG5nKVxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBUYWJsZVxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLWR5bmFtaWMtdGFibGVcclxuICogICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAqICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAqICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgW3BhZ2VTaXplXT1cIlBhZ2VTaXplXCJcclxuICogICAgW3BhZ2VQcm92aWRlcl09XCJwYWdlUHJvdmlkZXJcIlxyXG4gKiAgICBbcXVpY2tGaWx0ZXJdPVwiZmlsdGVyXCJcclxuICogICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgICBbZW50aXR5VHlwZV09XCInYWxsJ1wiXHJcbiAqICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICogICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICBbcm93Q3Vyc29yXT1cInRydWVcIlxyXG4gKiAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtXCJcclxuICogICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgIChvblJvd1NlbGVjdGVkKT1cIm9wZW5WaWV3ZXIoJGV2ZW50KVwiXHJcbiAqICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy10YWJsZT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgICovXHJcbiAgQE91dHB1dCgpIG9uUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zICovXHJcbiAgQElucHV0KCkgY29sdW1ucztcclxuICAvKiogQXJyYXkgb2YgY29sdW1ucyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuICBASW5wdXQoKSByZXNwb25zaXZlQ29sdW1ucz87XHJcbiAgLyoqIERlZmluZXMgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG4gIEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuICAvKiogVHJhbnNsYXRpb25zIHByZWZpeCAqL1xyXG4gIEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG4gIC8qKiBIZWFkZXJzIHRvIGJlIHNlbnQgd2l0aCBBUEkgUmVxdWVzdCAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlcnM7XHJcbiAgLyoqIEZpZWxkcyBrZXltYXAgdG8gYmUgbWFwcGVkIGluIHRoZSBhZGFwdGVyICovXHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIC8qKiBQYWdlIFByb3ZpZGVyIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmV0cmlldmUgZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VQcm92aWRlcjtcclxuICAvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcbiAgQElucHV0KCkgcGFnZVNpemU7XHJcbiAgLyoqIFNvcnRpbmcgY29sdW1uICovXHJcbiAgQElucHV0KCkgc29ydGluZ0J5Pz0ge307XHJcbiAgQElucHV0KCkgcXVlcnlQYXJhbT89IHt9O1xyXG4gIEBJbnB1dCgpIHF1aWNrRmlsdGVyPztcclxuICAgIC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG4gICAgQElucHV0KCkgcmVwb3J0O1xyXG4gIC8qKiB0byBtYWtlIGN1cnNvciB3aGVuIGhvdmVyIG9uIHJvdyBvciBub3QgKi9cclxuICBASW5wdXQoKSByb3dDdXJzb3I/O1xyXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aD89ICdhdXRvJztcclxuICAgLyoqICdsaXN0JyBmb3Igbm9yYW1sIHRhYmxlICdjYXJkJyBmb3IgY2FyZHMgbW9kZSBsaWtlIGluIG1lbW9zICovXHJcbiAgIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuICAgLyoqIGFjdGlvbiB0byBiZSB1c2VkIGluIGNhc2Ugb2YgY2FyZCBtb2RlICovXHJcbiAgIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICAgQElucHV0KCkgZGVmdWx0U29ydCA9IFt7IHByb3A6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcgLCBkaXI6ICdkZXNjJyB9XTtcclxuICAgQElucHV0KCkgcmFuZ2U7XHJcbiAgZmlsdGVyUGFyYW1zID0ge307XHJcbiAgcGFnZU51bSA9IDE7XHJcbiAgcm93cyA9IFtdO1xyXG4gIHRvdGFsUmVjb3JkcyA9IDA7XHJcbiAgbXlEYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgbG9hZGluZztcclxuICBzb3J0aW5nID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgZHluYW1pY1RhYmxlU2VydmljZTogRHluYW1pY1RhYmxlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5teURhdGFTdWJzY3JpcHRpb24gPSB0aGlzLmR5bmFtaWNUYWJsZVNlcnZpY2UucmVmcmVzaERhdGEuc3Vic2NyaWJlKGZpbHRlckRhdGEgPT4ge1xyXG4gICAgICBpZiAoZmlsdGVyRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJEYXRhIH07XHJcbiAgICAgICAgLy8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcbiAgICAgICAgdGhpcy5wYWdlTnVtID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uID8gdGhpcy5teURhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhzaW1wbGVDaGFuZ2UpLnNvbWUoKGMpID0+XHJcbiAgICAgIGMuaXNGaXJzdENoYW5nZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICAoc2ltcGxlQ2hhbmdlLnF1ZXJ5UGFyYW0gJiZcclxuICAgICAgICBzaW1wbGVDaGFuZ2UucXVlcnlQYXJhbS5wcmV2aW91c1ZhbHVlICE9PVxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWVyeVBhcmFtLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgKHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlciAmJlxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlci5wcmV2aW91c1ZhbHVlICE9PVxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlci5jdXJyZW50VmFsdWUpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wYWdlTnVtID0gMTsgLy8gcmVzZXQgcGFnZSBudW1iZXIgYmVmb3IgcmVjYWxsaW5nIGFwaSB3aXRoIGZpbHRlcnNcclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcbiAgICAgIC4uLnRoaXMuc29ydGluZ0J5LFxyXG4gICAgICAuLi50aGlzLnF1aWNrRmlsdGVyLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiB0aGlzLnBhZ2VOdW0gLSAxLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGRvbid0IHJlZnJlc2ggYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBvbmx5XHJcbiAgICBpZiAoIXRoaXMuc29ydGluZykgeyAvLyB1c2VkIHRvIG5vdCByZWZyZXNoaW5nIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgc2luY2UgdGFibGUgbG9zZSBzb3J0aW5nIHN0YXRlIHdoZW4gcmVmcmVzaCBhbGwgdGFibGVcclxuICAgICAgdGhpcy5yb3dzID0gW107IC8vIHVzZWQgdG8gcmVmcmVzaCB0YWJsZSB0byBmZWVsIGNoYW5nZXMgaW4gYWN0aW9ucyB3aGVuIHBlcmZvcm0gYWN0aW9uIGFuZCBuZWVkIHRvIHJlZnJlc2ggYWN0aW9uc1xyXG4gICAgfVxyXG4gICAgdGhpcy5zb3J0aW5nID0gZmFsc2U7IC8vIHJlc2V0IHNvcnRpbmcgc3RhdHVzIHRvIGZhbHNlIGFuZCBmb3IgbmV4dCBzb3J0aW5nIGZ1bmMgc29ydGluZyBzZXQgaXQgdG8gdHJ1ZSBhZ2FpblxyXG4gICAgdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcmVzLmVudHJpZXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJlbGVtZW50XCIsIGVsZW1lbnQpO1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiYgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgPVxyXG4gICAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/Lmxhc3ROYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5hc3NpZ25lZSA9IGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUuZnVsbE5hbWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5yZXN1bHRzQ291bnQ7XHJcbiAgICAgICAgdGhpcy5yb3dzID0gcmVzLmVudHJpZXM7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkYXRhXCIsIHJlcy5lbnRyaWVzKVxyXG4gICAgICAgIHRoaXMub25HZXR0aW5nRGF0YS5lbWl0KHJlcyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiBjbGlja2luZyBvbiBzaW5nbGUgcm93XHJcbiAgcm93RGV0YWlscyhldmVudCkge1xyXG4gICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcbiAgcGVyZm9ybUFjdGlvbihhY3Rpb24pIHtcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFuZGxlIHNvcnRpbmcgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGVcclxuICBvblNvcnQoc29ydE9iamVjdCkge1xyXG4gICAgdGhpcy5zb3J0aW5nQnkgPSBzb3J0T2JqZWN0O1xyXG4gICAgdGhpcy5zb3J0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFBhZ2luYXRpb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMucGFnZU51bSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGluZ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXBvc2l0aW9uXCI+XHJcbiAgICA8Y3RzLXRhYmxlXHJcbiAgICAgICpuZ0lmPVwicm93cy5sZW5ndGhcIlxyXG4gICAgICBbcm93c109XCJyb3dzXCJcclxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAgICAgIFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuICAgICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgIFt0YWJsZU1vZGVdPVwidGFibGVNb2RlXCJcclxuICAgICAgW3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG4gICAgICBbZGVmdWx0U29ydF09XCJkZWZ1bHRTb3J0XCJcclxuICAgICAgKG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICAgICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIChvblNvcnRpbmcpPVwib25Tb3J0KCRldmVudClcIlxyXG4gICAgPjwvY3RzLXRhYmxlPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICA8Y3RzLXNwaW5uZXI+PC9jdHMtc3Bpbm5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBteS0zXCJcclxuICAgICpuZ0lmPVwicm93cy5sZW5ndGhcIlxyXG4gID5cclxuICAgIDxjdHMtcGFnaW5hdGlvblxyXG4gICAgICBbcGFnZV09XCJwYWdlTnVtXCJcclxuICAgICAgKGNoYW5nZSk9XCJQYWdpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbc2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgIFtjb3VudF09XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgPjwvY3RzLXBhZ2luYXRpb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwicm93cy5sZW5ndGggPT09IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+e3sgJ25vRGF0YScgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,44 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DynamicTableComponent } from './dynamic-table/dynamic-table.component';
4
+ import { TableModule } from '../table/table.module';
5
+ import { PaginationModule } from '../../components/pagination/pagination.module';
6
+ import { LibrarySharedModule } from '../../shared/libraryShared.module';
7
+ import { TranslateModule } from '@ngx-translate/core';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * @title
11
+ * Dynamic Table API
12
+ */
13
+ export class DynamicTableModule {
14
+ }
15
+ DynamicTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ DynamicTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableModule, declarations: [DynamicTableComponent], imports: [CommonModule,
17
+ TableModule,
18
+ PaginationModule,
19
+ LibrarySharedModule,
20
+ TranslateModule], exports: [DynamicTableComponent] });
21
+ DynamicTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableModule, imports: [[
22
+ CommonModule,
23
+ TableModule,
24
+ PaginationModule,
25
+ LibrarySharedModule,
26
+ TranslateModule
27
+ ]] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ declarations: [DynamicTableComponent],
32
+ imports: [
33
+ CommonModule,
34
+ TableModule,
35
+ PaginationModule,
36
+ LibrarySharedModule,
37
+ TranslateModule
38
+ ],
39
+ exports: [
40
+ DynamicTableComponent
41
+ ]
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdEQ7OztHQUdHO0FBY0gsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVpkLHFCQUFxQixhQUVsQyxZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsZUFBZSxhQUdmLHFCQUFxQjtnSEFHWixrQkFBa0IsWUFYcEI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZUFBZTtTQUNoQjsyRkFLVSxrQkFBa0I7a0JBYjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBQzt3QkFDTixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHluYW1pY1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICcuLi90YWJsZS90YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTGlicmFyeVNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWJyYXJ5U2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBUYWJsZSBBUElcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRHluYW1pY1RhYmxlQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUYWJsZU1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBMaWJyYXJ5U2hhcmVkTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOltcclxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZU1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Injectable, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DynamicTableService {
4
+ constructor() {
5
+ this.refreshData = new EventEmitter();
6
+ }
7
+ }
8
+ DynamicTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
+ DynamicTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableService, providedIn: 'root' });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicTableService, decorators: [{
11
+ type: Injectable,
12
+ args: [{
13
+ providedIn: 'root'
14
+ }]
15
+ }], ctorParameters: function () { return []; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXRhYmxlL3NlcnZpY2VzL2R5bmFtaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFHLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QjtRQURBLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNqQixDQUFDOztnSEFGTixtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlICwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlU2VydmljZSB7XHJcbiAgcmVmcmVzaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxufVxyXG4iXX0=