@zeedhi/common 3.0.1 → 3.0.3

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 (383) hide show
  1. package/coverage/clover.xml +1858 -3152
  2. package/coverage/coverage-final.json +143 -172
  3. package/coverage/lcov-report/index.html +40 -130
  4. package/coverage/lcov-report/src/components/index.html +5 -5
  5. package/coverage/lcov-report/src/components/index.ts.html +154 -160
  6. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +3 -3
  7. package/coverage/lcov-report/src/components/zd-alert/index.html +1 -1
  8. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +3 -3
  9. package/coverage/lcov-report/src/components/zd-badge/index.html +1 -1
  10. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +3 -3
  11. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +1 -1
  12. package/coverage/lcov-report/src/components/zd-button/button.ts.html +35 -35
  13. package/coverage/lcov-report/src/components/zd-button/index.html +1 -1
  14. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +3 -3
  15. package/coverage/lcov-report/src/components/zd-button-group/index.html +1 -1
  16. package/coverage/lcov-report/src/components/zd-card/card.ts.html +3 -3
  17. package/coverage/lcov-report/src/components/zd-card/index.html +1 -1
  18. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +3 -3
  19. package/coverage/lcov-report/src/components/zd-carousel/index.html +1 -1
  20. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +5 -5
  21. package/coverage/lcov-report/src/components/zd-checkbox/index.html +1 -1
  22. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +6 -6
  23. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +1 -1
  24. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +3 -3
  25. package/coverage/lcov-report/src/components/zd-chip/index.html +1 -1
  26. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +4 -4
  27. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +1 -1
  28. package/coverage/lcov-report/src/components/zd-col/col.ts.html +3 -3
  29. package/coverage/lcov-report/src/components/zd-col/index.html +1 -1
  30. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +3 -3
  31. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +1 -1
  32. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +2 -2
  33. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +5 -5
  34. package/coverage/lcov-report/src/components/zd-component/component.ts.html +63 -63
  35. package/coverage/lcov-report/src/components/zd-component/index.html +1 -1
  36. package/coverage/lcov-report/src/components/zd-container/container.ts.html +3 -3
  37. package/coverage/lcov-report/src/components/zd-container/index.html +1 -1
  38. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +9 -9
  39. package/coverage/lcov-report/src/components/zd-currency/index.html +1 -1
  40. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +33 -15
  41. package/coverage/lcov-report/src/components/zd-date-input/index.html +7 -7
  42. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +146 -38
  43. package/coverage/lcov-report/src/components/zd-date-range/index.html +9 -9
  44. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +30 -30
  45. package/coverage/lcov-report/src/components/zd-dialog/index.html +1 -1
  46. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +3 -3
  47. package/coverage/lcov-report/src/components/zd-divider/index.html +1 -1
  48. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +3 -3
  49. package/coverage/lcov-report/src/components/zd-dropdown/index.html +1 -1
  50. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +3 -3
  51. package/coverage/lcov-report/src/components/zd-footer/index.html +1 -1
  52. package/coverage/lcov-report/src/components/zd-form/form.ts.html +22 -22
  53. package/coverage/lcov-report/src/components/zd-form/index.html +1 -1
  54. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +7 -7
  55. package/coverage/lcov-report/src/components/zd-frame/index.html +1 -1
  56. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +4 -4
  57. package/coverage/lcov-report/src/components/zd-frame-page/index.html +1 -1
  58. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +3 -3
  59. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +4 -4
  60. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +11 -11
  61. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +4 -4
  62. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +85 -85
  63. package/coverage/lcov-report/src/components/zd-grid/index.html +1 -1
  64. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +12 -12
  65. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +11 -11
  66. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +15 -15
  67. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +3 -3
  68. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +5 -5
  69. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +3 -3
  70. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +32 -32
  71. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +15 -15
  72. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +1 -1
  73. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +3 -3
  74. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +2 -2
  75. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +2 -2
  76. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +7 -7
  77. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +3 -3
  78. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +5 -5
  79. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +9 -9
  80. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +5 -5
  81. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +13 -10
  82. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +3 -3
  83. package/coverage/lcov-report/src/components/zd-header/header.ts.html +3 -3
  84. package/coverage/lcov-report/src/components/zd-header/index.html +1 -1
  85. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +3 -3
  86. package/coverage/lcov-report/src/components/zd-icon/index.html +1 -1
  87. package/coverage/lcov-report/src/components/zd-image/image.ts.html +3 -3
  88. package/coverage/lcov-report/src/components/zd-image/index.html +1 -1
  89. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +5 -5
  90. package/coverage/lcov-report/src/components/zd-increment/index.html +1 -1
  91. package/coverage/lcov-report/src/components/zd-input/index.html +1 -1
  92. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +4 -4
  93. package/coverage/lcov-report/src/components/zd-input/input.ts.html +48 -48
  94. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +2 -2
  95. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +96 -96
  96. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +24 -24
  97. package/coverage/lcov-report/src/components/zd-iterable/index.html +15 -15
  98. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +3 -3
  99. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +15 -15
  100. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +4 -4
  101. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +5 -5
  102. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +3 -3
  103. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +5 -5
  104. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +3 -3
  105. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +43 -43
  106. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +8 -8
  107. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +1 -1
  108. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +5 -5
  109. package/coverage/lcov-report/src/components/zd-layout/index.html +1 -1
  110. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +3 -3
  111. package/coverage/lcov-report/src/components/zd-list/index.html +1 -1
  112. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +2 -2
  113. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +4 -4
  114. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +3 -3
  115. package/coverage/lcov-report/src/components/zd-list/list.ts.html +4 -4
  116. package/coverage/lcov-report/src/components/zd-loading/index.html +1 -1
  117. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +3 -3
  118. package/coverage/lcov-report/src/components/zd-login/index.html +1 -1
  119. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +4 -4
  120. package/coverage/lcov-report/src/components/zd-login/login.ts.html +3 -3
  121. package/coverage/lcov-report/src/components/zd-main/index.html +1 -1
  122. package/coverage/lcov-report/src/components/zd-main/main.ts.html +3 -3
  123. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +3 -3
  124. package/coverage/lcov-report/src/components/zd-master-detail/index.html +1 -1
  125. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +6 -6
  126. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +3 -3
  127. package/coverage/lcov-report/src/components/zd-menu/index.html +1 -1
  128. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +4 -4
  129. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +3 -3
  130. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +3 -3
  131. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +3 -3
  132. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +4 -4
  133. package/coverage/lcov-report/src/components/zd-modal/index.html +1 -1
  134. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +4 -4
  135. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +27 -27
  136. package/coverage/lcov-report/src/components/zd-month/index.html +1 -1
  137. package/coverage/lcov-report/src/components/zd-month/month.ts.html +6 -6
  138. package/coverage/lcov-report/src/components/zd-number-input/index.html +1 -1
  139. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +9 -9
  140. package/coverage/lcov-report/src/components/zd-password/index.html +1 -1
  141. package/coverage/lcov-report/src/components/zd-password/password.ts.html +7 -7
  142. package/coverage/lcov-report/src/components/zd-progress/index.html +1 -1
  143. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +3 -3
  144. package/coverage/lcov-report/src/components/zd-radio/index.html +1 -1
  145. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +6 -6
  146. package/coverage/lcov-report/src/components/zd-row/index.html +1 -1
  147. package/coverage/lcov-report/src/components/zd-row/row.ts.html +3 -3
  148. package/coverage/lcov-report/src/components/zd-select/index.html +1 -1
  149. package/coverage/lcov-report/src/components/zd-select/select.ts.html +9 -9
  150. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +1 -1
  151. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +5 -5
  152. package/coverage/lcov-report/src/components/zd-svg-map/index.html +1 -1
  153. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +4 -4
  154. package/coverage/lcov-report/src/components/zd-switch/index.html +1 -1
  155. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +5 -5
  156. package/coverage/lcov-report/src/components/zd-table/index.html +1 -1
  157. package/coverage/lcov-report/src/components/zd-table/table.ts.html +4 -4
  158. package/coverage/lcov-report/src/components/zd-tabs/index.html +1 -1
  159. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +2 -2
  160. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +3 -3
  161. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +5 -5
  162. package/coverage/lcov-report/src/components/zd-tag/index.html +1 -1
  163. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +4 -4
  164. package/coverage/lcov-report/src/components/zd-text/index.html +1 -1
  165. package/coverage/lcov-report/src/components/zd-text/text.ts.html +10 -10
  166. package/coverage/lcov-report/src/components/zd-text-input/index.html +1 -1
  167. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +25 -16
  168. package/coverage/lcov-report/src/components/zd-textarea/index.html +1 -1
  169. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +5 -5
  170. package/coverage/lcov-report/src/components/zd-time/index.html +7 -7
  171. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +2 -2
  172. package/coverage/lcov-report/src/components/zd-time/time.ts.html +32 -14
  173. package/coverage/lcov-report/src/components/zd-toggleable/index.html +1 -1
  174. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +5 -5
  175. package/coverage/lcov-report/src/components/zd-tooltip/index.html +1 -1
  176. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +3 -3
  177. package/coverage/lcov-report/src/components/zd-tree/index.html +1 -1
  178. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +7 -7
  179. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +1 -1
  180. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +7 -7
  181. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +2 -2
  182. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +2 -2
  183. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +3 -3
  184. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +3 -3
  185. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +11 -11
  186. package/coverage/lcov-report/src/error/delete-rows.ts.html +3 -3
  187. package/coverage/lcov-report/src/error/index.html +9 -24
  188. package/coverage/lcov-report/src/{utils/is-nil.ts.html → error/index.ts.html} +13 -13
  189. package/coverage/lcov-report/src/error/non-initialized.ts.html +5 -5
  190. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +3 -3
  191. package/coverage/lcov-report/src/index.html +5 -5
  192. package/coverage/lcov-report/src/index.ts.html +13 -13
  193. package/coverage/lcov-report/src/services/index.html +1 -1
  194. package/coverage/lcov-report/src/services/index.ts.html +5 -5
  195. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +3 -3
  196. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +3 -3
  197. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +5 -5
  198. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +3 -3
  199. package/coverage/lcov-report/src/services/zd-alert/index.html +1 -1
  200. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +6 -6
  201. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +4 -4
  202. package/coverage/lcov-report/src/services/zd-dialog/index.html +1 -1
  203. package/coverage/lcov-report/src/services/zd-loading/index.html +1 -1
  204. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +2 -2
  205. package/coverage/lcov-report/src/services/zd-modal/index.html +1 -1
  206. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +10 -10
  207. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +3 -3
  208. package/coverage/lcov-report/src/utils/data-value-out/index.html +1 -1
  209. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +3 -3
  210. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +3 -3
  211. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +1 -1
  212. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +3 -3
  213. package/coverage/lcov-report/src/utils/icons/icons.ts.html +6 -6
  214. package/coverage/lcov-report/src/utils/icons/index.html +1 -1
  215. package/coverage/lcov-report/src/utils/index.html +7 -22
  216. package/coverage/lcov-report/src/utils/index.ts.html +10 -19
  217. package/coverage/lcov-report/src/utils/omit/index.html +1 -1
  218. package/coverage/lcov-report/src/utils/omit/omit.ts.html +2 -2
  219. package/coverage/lcov-report/src/utils/theme/index.html +1 -1
  220. package/coverage/lcov-report/src/utils/theme/theme.ts.html +4 -4
  221. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +1 -1
  222. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +3 -3
  223. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +2 -2
  224. package/coverage/lcov-report/src/utils/unique-by/index.html +1 -1
  225. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +3 -3
  226. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +1 -1
  227. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +1 -1
  228. package/coverage/lcov.info +2471 -5080
  229. package/dist/types/components/index.d.ts +0 -1
  230. package/dist/types/components/zd-date-input/date-input.d.ts +1 -0
  231. package/dist/types/components/zd-date-range/date-range.d.ts +8 -2
  232. package/dist/types/components/zd-grid-editable/index.d.ts +1 -0
  233. package/dist/types/components/zd-text-input/interfaces.d.ts +1 -0
  234. package/dist/types/components/zd-text-input/text-input.d.ts +1 -0
  235. package/dist/types/components/zd-time/time.d.ts +1 -0
  236. package/dist/types/error/index.d.ts +1 -0
  237. package/dist/types/index.d.ts +2 -1
  238. package/dist/types/utils/index.d.ts +0 -3
  239. package/dist/zd-common.js +187 -3433
  240. package/dist/zd-common.min.js +187 -3433
  241. package/package.json +3 -3
  242. package/src/components/index.ts +0 -2
  243. package/src/components/zd-date-input/date-input.ts +6 -0
  244. package/src/components/zd-date-range/date-range.ts +47 -11
  245. package/src/components/zd-grid-editable/index.ts +1 -0
  246. package/src/components/zd-text-input/interfaces.ts +1 -0
  247. package/src/components/zd-text-input/text-input.ts +3 -0
  248. package/src/components/zd-time/time.ts +7 -1
  249. package/src/error/index.ts +1 -0
  250. package/src/index.ts +2 -2
  251. package/src/utils/index.ts +0 -3
  252. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +0 -151
  253. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +0 -145
  254. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +0 -145
  255. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +0 -1351
  256. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +0 -1429
  257. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +0 -205
  258. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +0 -340
  259. package/coverage/lcov-report/src/components/tek-grid/index.html +0 -326
  260. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +0 -139
  261. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +0 -1072
  262. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +0 -148
  263. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +0 -829
  264. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +0 -161
  265. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +0 -94
  266. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +0 -193
  267. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +0 -1027
  268. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +0 -757
  269. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +0 -664
  270. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +0 -131
  271. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +0 -169
  272. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +0 -196
  273. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +0 -505
  274. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +0 -400
  275. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +0 -163
  276. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +0 -146
  277. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +0 -94
  278. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +0 -340
  279. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +0 -131
  280. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +0 -91
  281. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +0 -1186
  282. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +0 -3451
  283. package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +0 -1045
  284. package/coverage/lcov-report/src/components/zd-code-editor/index.html +0 -116
  285. package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +0 -325
  286. package/coverage/lcov-report/src/components/zd-field-group/index.html +0 -116
  287. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +0 -130
  288. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +0 -109
  289. package/coverage/lcov-report/src/utils/is-filled-object/index.html +0 -116
  290. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +0 -100
  291. package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +0 -106
  292. package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +0 -94
  293. package/coverage/lcov-report/tests/unit/__helpers__/index.html +0 -146
  294. package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +0 -172
  295. package/dist/types/components/tek-breadcrumb-header/breadcrumb-header.d.ts +0 -14
  296. package/dist/types/components/tek-breadcrumb-header/interfaces.d.ts +0 -7
  297. package/dist/types/components/tek-grid/columns-searcher.d.ts +0 -5
  298. package/dist/types/components/tek-grid/dynamic-filter-datasource-factory.d.ts +0 -6
  299. package/dist/types/components/tek-grid/filter-helper.d.ts +0 -7
  300. package/dist/types/components/tek-grid/grid-filter-button.d.ts +0 -27
  301. package/dist/types/components/tek-grid/grouped-data-manager.d.ts +0 -82
  302. package/dist/types/components/tek-grid/grouped-data-selector.d.ts +0 -7
  303. package/dist/types/components/tek-grid/grouped-view-navigator.d.ts +0 -14
  304. package/dist/types/components/tek-grid/index.d.ts +0 -18
  305. package/dist/types/components/tek-grid/interfaces.d.ts +0 -259
  306. package/dist/types/components/tek-grid/keymap-grouped.d.ts +0 -7
  307. package/dist/types/components/tek-grid/layout-options.d.ts +0 -39
  308. package/dist/types/components/tek-grid/tek-datasource/index.d.ts +0 -3
  309. package/dist/types/components/tek-grid/tek-datasource/interfaces.d.ts +0 -16
  310. package/dist/types/components/tek-grid/tek-datasource/tek-memory-datasource.d.ts +0 -93
  311. package/dist/types/components/tek-grid/tek-datasource/tek-rest-datasource.d.ts +0 -95
  312. package/dist/types/components/tek-grid/tek-grid-column.d.ts +0 -42
  313. package/dist/types/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.d.ts +0 -8
  314. package/dist/types/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.d.ts +0 -12
  315. package/dist/types/components/tek-grid/tek-grid-controller.d.ts +0 -31
  316. package/dist/types/components/tek-grid/tek-grid-events.d.ts +0 -31
  317. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.d.ts +0 -17
  318. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/index.d.ts +0 -3
  319. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/interfaces.d.ts +0 -5
  320. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.d.ts +0 -12
  321. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/index.d.ts +0 -2
  322. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.d.ts +0 -23
  323. package/dist/types/components/tek-grid/tek-grid.d.ts +0 -220
  324. package/dist/types/components/zd-field-group/field-group.d.ts +0 -53
  325. package/dist/types/components/zd-field-group/interfaces.d.ts +0 -16
  326. package/dist/types/components/zd-number/interfaces.d.ts +0 -8
  327. package/dist/types/components/zd-number/number.d.ts +0 -43
  328. package/dist/types/error/tek-grid-delete-rows.d.ts +0 -7
  329. package/dist/types/error/teknisa-common-error.d.ts +0 -6
  330. package/dist/types/utils/config/config.d.ts +0 -7
  331. package/dist/types/utils/is-filled-object/is-filled-object.d.ts +0 -2
  332. package/dist/types/utils/is-nil.d.ts +0 -1
  333. package/src/components/tek-grid/columns-searcher.ts +0 -22
  334. package/src/components/tek-grid/dynamic-filter-datasource-factory.ts +0 -20
  335. package/src/components/tek-grid/filter-helper.ts +0 -20
  336. package/src/components/tek-grid/grid-filter-button.ts +0 -422
  337. package/src/components/tek-grid/grouped-data-manager.ts +0 -448
  338. package/src/components/tek-grid/grouped-data-selector.ts +0 -40
  339. package/src/components/tek-grid/grouped-view-navigator.ts +0 -85
  340. package/src/components/tek-grid/index.ts +0 -18
  341. package/src/components/tek-grid/interfaces.ts +0 -329
  342. package/src/components/tek-grid/keymap-grouped.ts +0 -21
  343. package/src/components/tek-grid/layout-options.ts +0 -248
  344. package/src/components/tek-grid/tek-datasource/index.ts +0 -3
  345. package/src/components/tek-grid/tek-datasource/interfaces.ts +0 -36
  346. package/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts +0 -314
  347. package/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts +0 -224
  348. package/src/components/tek-grid/tek-grid-column.ts +0 -193
  349. package/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts +0 -28
  350. package/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts +0 -37
  351. package/src/components/tek-grid/tek-grid-controller.ts +0 -140
  352. package/src/components/tek-grid/tek-grid-events.ts +0 -105
  353. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts +0 -26
  354. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts +0 -3
  355. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/interfaces.ts +0 -6
  356. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts +0 -85
  357. package/src/components/tek-grid/tek-grid-toolbar-provider/index.ts +0 -2
  358. package/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts +0 -367
  359. package/src/components/tek-grid/tek-grid.ts +0 -1122
  360. package/src/error/tek-grid-delete-rows.ts +0 -15
  361. package/src/error/teknisa-common-error.ts +0 -8
  362. package/src/utils/config/config.ts +0 -8
  363. package/src/utils/is-filled-object/is-filled-object.ts +0 -5
  364. package/src/utils/is-nil.ts +0 -3
  365. package/tests/unit/components/tek-grid/button-option.spec.ts +0 -49
  366. package/tests/unit/components/tek-grid/columns-searcher.spec.ts +0 -112
  367. package/tests/unit/components/tek-grid/dynamic-filter-datasource-factory.spec.ts +0 -90
  368. package/tests/unit/components/tek-grid/filter-helper.spec.ts +0 -52
  369. package/tests/unit/components/tek-grid/grid-filter-button.spec.ts +0 -842
  370. package/tests/unit/components/tek-grid/grouped-data-manager.spec.ts +0 -593
  371. package/tests/unit/components/tek-grid/grouped-data-selector.spec.ts +0 -136
  372. package/tests/unit/components/tek-grid/grouped-view-navigator.spec.ts +0 -244
  373. package/tests/unit/components/tek-grid/keymap-grouped.spec.ts +0 -20
  374. package/tests/unit/components/tek-grid/layout-options.spec.ts +0 -1020
  375. package/tests/unit/components/tek-grid/multi-option.spec.ts +0 -139
  376. package/tests/unit/components/tek-grid/tek-grid-column.spec.ts +0 -312
  377. package/tests/unit/components/tek-grid/tek-grid-columns-button.spec.ts +0 -228
  378. package/tests/unit/components/tek-grid/tek-grid-controller.spec.ts +0 -253
  379. package/tests/unit/components/tek-grid/tek-grid-events.spec.ts +0 -186
  380. package/tests/unit/components/tek-grid/tek-grid-toolbar-provider.spec.ts +0 -34
  381. package/tests/unit/components/tek-grid/tek-grid.spec.ts +0 -895
  382. package/tests/unit/components/tek-grid/tek-memory-datasource.spec.ts +0 -482
  383. package/tests/unit/components/tek-grid/tek-rest-datasource.spec.ts +0 -422
@@ -1,314 +0,0 @@
1
- import { DatasourceFactory, IDatasource, IDictionary, MemoryDatasource, URL, Utils } from '@zeedhi/core';
2
- import {
3
- DynamicFilterOperations,
4
- DynamicFilterRelations,
5
- IDynamicFilterItem,
6
- ITekMemoryDatasource,
7
- } from './interfaces';
8
-
9
- export class TekMemoryDatasource extends MemoryDatasource implements ITekMemoryDatasource {
10
- /** Dynamic filter data */
11
- public dynamicFilter!: IDictionary<IDynamicFilterItem[]>;
12
-
13
- /** Search Join data */
14
- public searchJoin!: IDictionary<Array<string | number>>;
15
-
16
- /**
17
- * Dynamic Filter Operations
18
- */
19
- public dynamicFilterOperations = DynamicFilterOperations;
20
-
21
- /**
22
- * Dynamic Filter Relations
23
- */
24
- public dynamicFilterRelations = DynamicFilterRelations;
25
-
26
- /**
27
- * Dynamic Filter applied flag
28
- */
29
- protected dynamicFilterApplied = '';
30
-
31
- /**
32
- * Create new datasource
33
- * @param props Datasource properties
34
- */
35
- constructor(props: ITekMemoryDatasource) {
36
- super(props);
37
-
38
- if (!this.watchUrl) {
39
- this.dynamicFilter = this.getInitValue('dynamicFilter', props.dynamicFilter, {});
40
- this.searchJoin = this.getInitValue('searchJoin', props.searchJoin, {});
41
- }
42
-
43
- this.createAccessors();
44
- this.createObjAccessors(this.dynamicFilter, 'dynamicFilter');
45
- this.createObjAccessors(this.searchJoin, 'searchJoin');
46
- }
47
-
48
- protected updateReservedKeys() {
49
- this.reservedKeys.dynamic_filter = true;
50
- this.reservedKeys.search_join = true;
51
- }
52
-
53
- protected updateInternalProperties(datasource: IDatasource = {}) {
54
- if (!this.watchUrl) return;
55
- this.updateReservedKeys();
56
- super.updateInternalProperties(datasource);
57
- const queryString = URL.getParsedQueryStringFromUrl();
58
- this.dynamicFilter = this.getEncodedParam(queryString.dynamic_filter, datasource.dynamicFilter);
59
- this.searchJoin = this.getEncodedParam(queryString.search_join, datasource.searchJoin);
60
- }
61
-
62
- protected getEncodedParam(urlParam: string, datasourceParam: IDictionary<any> = {}): IDictionary<any> {
63
- return urlParam ? JSON.parse(atob(urlParam)) : datasourceParam;
64
- }
65
-
66
- protected getQueryStringValues(): IDictionary<any> {
67
- const values = super.getQueryStringValues();
68
- if (this.dynamicFilter && Object.keys(this.dynamicFilter).length) {
69
- values.dynamic_filter = btoa(JSON.stringify(this.dynamicFilter));
70
- }
71
- if (this.searchJoin && Object.keys(this.searchJoin).length) {
72
- values.search_join = btoa(JSON.stringify(this.searchJoin));
73
- }
74
- return values;
75
- }
76
-
77
- protected getUrlQueryString() {
78
- const superQueryString = super.getUrlQueryString();
79
- const query = URL.getParsedQueryStringFromUrl();
80
-
81
- let dynamicFilterQuerystring = '';
82
- if (query.dynamic_filter) {
83
- dynamicFilterQuerystring = `&${URL.getFormattedQueryString({
84
- dynamic_filter: query.dynamic_filter,
85
- })}`;
86
- }
87
-
88
- let searchJoinQuerystring = '';
89
- if (query.search_join) {
90
- searchJoinQuerystring = `&${URL.getFormattedQueryString({
91
- search_join: query.search_join,
92
- })}`;
93
- }
94
- return superQueryString + dynamicFilterQuerystring + searchJoinQuerystring;
95
- }
96
-
97
- /**
98
- * Adds a new dynamic filter position or replace if exists
99
- * @param column Dynamic Filter column name
100
- * @param value Dynamic Filter value
101
- * @returns Promise with data collection
102
- */
103
- public addDynamicFilter(column: string, value: any) {
104
- if (this.isValidDynamicFilterValue(column, value)) {
105
- this.dynamicFilter[column] = value;
106
- return this.updateDynamicFilter();
107
- }
108
- return this.removeDynamicFilter(column);
109
- }
110
-
111
- /**
112
- * Removes a dynamic filter position
113
- * @param column Dynamic Filter column name
114
- * @returns Promise with data collection
115
- */
116
- public removeDynamicFilter(column: string) {
117
- delete this.dynamicFilter[column];
118
- return this.updateDynamicFilter();
119
- }
120
-
121
- /**
122
- * Sets new dynamic filter value
123
- * @param filter Dynamic Filter value
124
- * @returns Promise with data collection
125
- */
126
- public setDynamicFilter(filter: IDictionary<any>) {
127
- this.dynamicFilter = {};
128
- Object.keys(filter).forEach((column: string) => {
129
- if (this.isValidDynamicFilterValue(column, filter[column])) {
130
- this.dynamicFilter[column] = filter[column];
131
- } else {
132
- delete this.dynamicFilter[column];
133
- }
134
- });
135
- return this.updateDynamicFilter();
136
- }
137
-
138
- /**
139
- * Clears Dynamic filter value
140
- * @returns Promise with data collection
141
- */
142
- public clearDynamicFilter() {
143
- this.dynamicFilter = {};
144
- return this.updateDynamicFilter();
145
- }
146
-
147
- /**
148
- * Resets page and selected rows and tries to update the url
149
- * @returns Promise with data collection
150
- */
151
- public async updateDynamicFilter() {
152
- this.page = this.firstPage;
153
- this.selectedRows = [];
154
- this.visibleSelectedRows = [];
155
- if (this.watchUrl) {
156
- if (this.dynamicFilter && Object.keys(this.dynamicFilter).length) {
157
- URL.updateQueryString({
158
- dynamic_filter: btoa(JSON.stringify(this.dynamicFilter)),
159
- });
160
- } else {
161
- URL.updateQueryString({
162
- dynamic_filter: undefined,
163
- });
164
- }
165
- }
166
- return this.get();
167
- }
168
-
169
- /**
170
- * Checks if a filter value is valid
171
- * @param value Filter value
172
- * @returns Is valid filter value
173
- */
174
- protected isValidDynamicFilterValue(column: string, value?: IDictionary<any>[]) {
175
- return (
176
- !this.reservedKeys[column] &&
177
- value &&
178
- value.length > 0 &&
179
- value.every(
180
- (filterValue) =>
181
- this.dynamicFilterOperations[filterValue.operation] &&
182
- this.dynamicFilterRelations[filterValue.relation] &&
183
- filterValue.value !== '' &&
184
- filterValue.value !== null,
185
- )
186
- );
187
- }
188
-
189
- public clone() {
190
- return {
191
- ...super.clone(),
192
- dynamicFilter: this.dynamicFilter,
193
- searchJoin: this.searchJoin,
194
- type: 'tek-memory',
195
- };
196
- }
197
-
198
- /**
199
- * Updates filtered data
200
- */
201
- protected updateFilteredData() {
202
- // first apply filters (simple and dynamic)
203
- this.filteredData = Object.keys(this.filter).length
204
- ? this.allData.filter((row) => this.getRowByFilter(row))
205
- : Array.from(this.allData);
206
-
207
- if (this.dynamicFilter && Object.keys(this.dynamicFilter).length) {
208
- this.filteredData = this.filteredData.filter((row) => this.getRowByDynamicFilter(row));
209
- }
210
-
211
- const searchWithoutSearchJoin = (row: IDictionary<any>) => {
212
- const searchRow = { ...row };
213
- if (this.searchJoin) {
214
- // do not search on columns with searchJoin
215
- Object.keys(this.searchJoin).forEach((key) => delete searchRow[key]);
216
- }
217
- return this.getRowBySearch(searchRow);
218
- };
219
-
220
- // only after do the search
221
- const searchData = this.search ? this.filteredData.filter(searchWithoutSearchJoin) : this.filteredData;
222
-
223
- let searchIds = searchData.map((row) => row[this.uniqueKey]);
224
-
225
- if (this.searchJoin && Object.keys(this.searchJoin).length) {
226
- const searchJoinData = this.filteredData.filter((row) => this.getRowBySearchJoin(row));
227
-
228
- // get the ids from search and searchJoin
229
- searchIds = searchIds.concat(searchJoinData.map((row) => row[this.uniqueKey])).sort();
230
- }
231
-
232
- // filter filteredData using searchIds
233
- this.filteredData = this.allData.filter((row) => searchIds.indexOf(row[this.uniqueKey]) !== -1);
234
- }
235
-
236
- protected getRowByDynamicFilter(row: IDictionary<any>) {
237
- let filtered: any;
238
- try {
239
- Object.keys(this.dynamicFilter).forEach((key) => {
240
- const filterItems = this.dynamicFilter[key];
241
- filterItems.forEach((item) => {
242
- if (filtered === false && item.relation === 'AND') return;
243
- if (filtered === true && item.relation === 'OR') return;
244
-
245
- const columnValue = Utils.normalize(row[key].toString());
246
- let value: string | string[] = '';
247
- if (Array.isArray(item.value)) {
248
- value = item.value.map((val: string) => Utils.normalize(val.toString()));
249
-
250
- switch (item.operation) {
251
- case 'IN':
252
- filtered = value.includes(columnValue);
253
- break;
254
- case 'NOT_IN':
255
- filtered = !value.includes(columnValue);
256
- break;
257
- case 'BETWEEN':
258
- filtered =
259
- (Number(columnValue) || columnValue) >= (Number(value[0]) || value[0]) &&
260
- (Number(columnValue) || columnValue) <= (Number(value[1]) || value[1]);
261
- break;
262
- default:
263
- break;
264
- }
265
- } else {
266
- value = Utils.normalize(item.value.toString());
267
-
268
- switch (item.operation) {
269
- case 'CONTAINS':
270
- filtered = columnValue.indexOf(value) !== -1;
271
- break;
272
- case 'NOT_CONTAINS':
273
- filtered = columnValue.indexOf(value) === -1;
274
- break;
275
- case 'EQUALS':
276
- filtered = columnValue === value;
277
- break;
278
- case 'NOT_EQUALS':
279
- filtered = columnValue !== value;
280
- break;
281
- case 'GREATER_THAN':
282
- filtered = (Number(columnValue) || columnValue) > (Number(value) || value);
283
- break;
284
- case 'LESS_THAN':
285
- filtered = (Number(columnValue) || columnValue) < (Number(value) || value);
286
- break;
287
- case 'GREATER_THAN_EQUALS':
288
- filtered = (Number(columnValue) || columnValue) >= (Number(value) || value);
289
- break;
290
- case 'LESS_THAN_EQUALS':
291
- filtered = (Number(columnValue) || columnValue) <= (Number(value) || value);
292
- break;
293
- default:
294
- break;
295
- }
296
- }
297
- });
298
- });
299
- } catch {
300
- // do nothing
301
- }
302
- return filtered;
303
- }
304
-
305
- protected getRowBySearchJoin(row: IDictionary<any>) {
306
- return Object.keys(this.searchJoin).some((key) => this.searchJoin[key].includes(row[key]));
307
- }
308
-
309
- public hasFilter(columnName: string): boolean {
310
- return this.dynamicFilter[columnName] && this.dynamicFilter[columnName].length > 0;
311
- }
312
- }
313
-
314
- DatasourceFactory.register('tek-memory', TekMemoryDatasource);
@@ -1,224 +0,0 @@
1
- import { DatasourceFactory, IDatasource, IDictionary, RestDatasource, URL } from '@zeedhi/core';
2
- import { DynamicFilterOperations, DynamicFilterRelations, IDynamicFilterItem, ITekRestDatasource } from './interfaces';
3
-
4
- export class TekRestDatasource extends RestDatasource implements ITekRestDatasource {
5
- /** Dynamic filter data */
6
- public dynamicFilter!: IDictionary<IDynamicFilterItem[]>;
7
-
8
- /** Search Join data */
9
- public searchJoin!: IDictionary<Array<string | number>>;
10
-
11
- /**
12
- * Dynamic Filter Operations
13
- */
14
- public dynamicFilterOperations = DynamicFilterOperations;
15
-
16
- /**
17
- * Dynamic Filter Relations
18
- */
19
- public dynamicFilterRelations = DynamicFilterRelations;
20
-
21
- /**
22
- * Dynamic Filter applied flag
23
- */
24
- protected dynamicFilterApplied = '';
25
-
26
- /**
27
- * Create new datasource
28
- * @param props Datasource properties
29
- */
30
- constructor(props: ITekRestDatasource) {
31
- super({ ...props, lazyLoad: true });
32
-
33
- if (!this.watchUrl) {
34
- this.dynamicFilter = this.getInitValue('dynamicFilter', props.dynamicFilter, {});
35
- this.searchJoin = this.getInitValue('searchJoin', props.searchJoin, {});
36
- }
37
- this.lazyLoad = this.getInitValue('lazyLoad', props.lazyLoad, this.lazyLoad);
38
-
39
- this.createAccessors();
40
- this.createObjAccessors(this.dynamicFilter, 'dynamicFilter');
41
- this.createObjAccessors(this.searchJoin, 'searchJoin');
42
- }
43
-
44
- protected updateReservedKeys() {
45
- this.reservedKeys.dynamic_filter = true;
46
- this.reservedKeys.search_join = true;
47
- }
48
-
49
- protected updateInternalProperties(datasource: IDatasource = {}) {
50
- if (!this.watchUrl) return;
51
- this.updateReservedKeys();
52
- super.updateInternalProperties(datasource);
53
- const queryString = URL.getParsedQueryStringFromUrl();
54
- this.dynamicFilter = this.getEncodedParam(queryString.dynamic_filter, datasource.dynamicFilter);
55
- this.searchJoin = this.getEncodedParam(queryString.search_join, datasource.searchJoin);
56
- }
57
-
58
- protected getEncodedParam(urlParam: string, datasourceParam: IDictionary<any> = {}): IDictionary<any> {
59
- return urlParam ? JSON.parse(atob(urlParam)) : datasourceParam;
60
- }
61
-
62
- protected getQueryStringValues(): IDictionary<any> {
63
- const values = super.getQueryStringValues();
64
- if (this.dynamicFilter && Object.keys(this.dynamicFilter).length) {
65
- values.dynamic_filter = btoa(JSON.stringify(this.dynamicFilter));
66
- }
67
- if (this.searchJoin && Object.keys(this.searchJoin).length) {
68
- values.search_join = btoa(JSON.stringify(this.searchJoin));
69
- }
70
- return values;
71
- }
72
-
73
- protected getUrlQueryString() {
74
- const superQueryString = super.getUrlQueryString();
75
- const query = URL.getParsedQueryStringFromUrl();
76
-
77
- let dynamicFilterQuerystring = '';
78
- if (query.dynamic_filter) {
79
- dynamicFilterQuerystring = `&${URL.getFormattedQueryString({
80
- dynamic_filter: query.dynamic_filter,
81
- })}`;
82
- }
83
-
84
- let searchJoinQuerystring = '';
85
- if (query.search_join) {
86
- searchJoinQuerystring = `&${URL.getFormattedQueryString({
87
- search_join: query.search_join,
88
- })}`;
89
- }
90
-
91
- return superQueryString + dynamicFilterQuerystring + searchJoinQuerystring;
92
- }
93
-
94
- /**
95
- * Adds a new dynamic filter position or replace if exists
96
- * @param column Dynamic Filter column name
97
- * @param value Dynamic Filter value
98
- * @returns Promise with data collection
99
- */
100
- public addDynamicFilter(column: string, value: any) {
101
- if (this.isValidDynamicFilterValue(column, value)) {
102
- this.dynamicFilter[column] = value;
103
- return this.updateDynamicFilter();
104
- }
105
- return this.removeDynamicFilter(column);
106
- }
107
-
108
- /**
109
- * Removes a dynamic filter position
110
- * @param column Dynamic Filter column name
111
- * @returns Promise with data collection
112
- */
113
- public removeDynamicFilter(column: string) {
114
- delete this.dynamicFilter[column];
115
- return this.updateDynamicFilter();
116
- }
117
-
118
- /**
119
- * Sets new dynamic filter value
120
- * @param filter Dynamic Filter value
121
- * @returns Promise with data collection
122
- */
123
- public setDynamicFilter(filter: IDictionary<any>) {
124
- this.dynamicFilter = {};
125
- Object.keys(filter).forEach((column: string) => {
126
- if (this.isValidDynamicFilterValue(column, filter[column])) {
127
- this.dynamicFilter[column] = filter[column];
128
- } else {
129
- delete this.dynamicFilter[column];
130
- }
131
- });
132
- return this.updateDynamicFilter();
133
- }
134
-
135
- /**
136
- * Clears Dynamic filter value
137
- * @returns Promise with data collection
138
- */
139
- public clearDynamicFilter() {
140
- this.dynamicFilter = {};
141
- return this.updateDynamicFilter();
142
- }
143
-
144
- /**
145
- * Resets page and selected rows and tries to update the url
146
- * @returns Promise with data collection
147
- */
148
- public async updateDynamicFilter() {
149
- this.page = this.firstPage;
150
- this.selectedRows = [];
151
- this.visibleSelectedRows = [];
152
- if (this.watchUrl) {
153
- if (this.dynamicFilter && Object.keys(this.dynamicFilter).length) {
154
- URL.updateQueryString({
155
- dynamic_filter: btoa(JSON.stringify(this.dynamicFilter)),
156
- });
157
- } else {
158
- URL.updateQueryString({
159
- dynamic_filter: undefined,
160
- });
161
- }
162
- }
163
- return this.get();
164
- }
165
-
166
- /**
167
- * Checks if a filter value is valid
168
- * @param value Filter value
169
- * @returns Is valid filter value
170
- */
171
- protected isValidDynamicFilterValue(column: string, value?: IDictionary<any>[]) {
172
- return (
173
- !this.reservedKeys[column] &&
174
- value &&
175
- value.length > 0 &&
176
- value.every(
177
- (filterValue) =>
178
- this.dynamicFilterOperations[filterValue.operation] &&
179
- this.dynamicFilterRelations[filterValue.relation] &&
180
- filterValue.value !== '' &&
181
- filterValue.value !== null,
182
- )
183
- );
184
- }
185
-
186
- /**
187
- * Retrieves request params
188
- */
189
- protected getRequestParams(): any {
190
- const requestParams = super.getRequestParams();
191
- const isNotEmptyObj = (obj?: IDictionary) => !!(obj && Object.keys(obj).length);
192
- const isValid =
193
- this.dynamicFilter &&
194
- Object.keys(this.dynamicFilter).every((column) => {
195
- const value = this.dynamicFilter[column];
196
-
197
- return value && value.length > 0 && this.isValidDynamicFilterValue(column, value);
198
- });
199
-
200
- if (isNotEmptyObj(this.dynamicFilter) && isValid) {
201
- requestParams.dynamic_filter = btoa(JSON.stringify(this.dynamicFilter));
202
- }
203
-
204
- if (isNotEmptyObj(this.searchJoin)) {
205
- requestParams.search_join = btoa(JSON.stringify(this.searchJoin));
206
- }
207
- return requestParams;
208
- }
209
-
210
- public hasFilter(columnName: string): boolean {
211
- return this.dynamicFilter[columnName] && this.dynamicFilter[columnName].length > 0;
212
- }
213
-
214
- public clone() {
215
- return {
216
- ...super.clone(),
217
- dynamicFilter: this.dynamicFilter,
218
- searchJoin: this.searchJoin,
219
- type: 'tek-rest',
220
- };
221
- }
222
- }
223
-
224
- DatasourceFactory.register('tek-rest', TekRestDatasource);