@zeedhi/common 1.111.1 → 3.0.0

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 (1104) hide show
  1. package/coverage/clover.xml +5996 -0
  2. package/coverage/coverage-final.json +160 -0
  3. package/coverage/lcov-report/base.css +224 -0
  4. package/coverage/lcov-report/block-navigation.js +87 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +1256 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +196 -0
  11. package/coverage/lcov-report/src/components/index.html +116 -0
  12. package/coverage/lcov-report/src/components/index.ts.html +634 -0
  13. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +151 -0
  14. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +145 -0
  15. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +145 -0
  16. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +1351 -0
  17. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +1429 -0
  18. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +205 -0
  19. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +340 -0
  20. package/coverage/lcov-report/src/components/tek-grid/index.html +326 -0
  21. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +139 -0
  22. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +1072 -0
  23. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +148 -0
  24. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +829 -0
  25. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +161 -0
  26. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +94 -0
  27. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +193 -0
  28. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +1027 -0
  29. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +757 -0
  30. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +664 -0
  31. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +131 -0
  32. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +169 -0
  33. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +196 -0
  34. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +505 -0
  35. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +400 -0
  36. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +163 -0
  37. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +146 -0
  38. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +94 -0
  39. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +340 -0
  40. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +131 -0
  41. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +91 -0
  42. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +1186 -0
  43. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +3451 -0
  44. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +502 -0
  45. package/coverage/lcov-report/src/components/zd-alert/index.html +116 -0
  46. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +226 -0
  47. package/coverage/lcov-report/src/components/zd-badge/index.html +116 -0
  48. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +226 -0
  49. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +116 -0
  50. package/coverage/lcov-report/src/components/zd-button/button.ts.html +706 -0
  51. package/coverage/lcov-report/src/components/zd-button/index.html +116 -0
  52. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +430 -0
  53. package/coverage/lcov-report/src/components/zd-button-group/index.html +116 -0
  54. package/coverage/lcov-report/src/components/zd-card/card.ts.html +748 -0
  55. package/coverage/lcov-report/src/components/zd-card/index.html +116 -0
  56. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +949 -0
  57. package/coverage/lcov-report/src/components/zd-carousel/index.html +116 -0
  58. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +148 -0
  59. package/coverage/lcov-report/src/components/zd-checkbox/index.html +116 -0
  60. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +358 -0
  61. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +116 -0
  62. package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +1045 -0
  63. package/coverage/lcov-report/src/components/zd-code-editor/index.html +116 -0
  64. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +682 -0
  65. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +116 -0
  66. package/coverage/lcov-report/src/components/zd-col/col.ts.html +250 -0
  67. package/coverage/lcov-report/src/components/zd-col/index.html +116 -0
  68. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +331 -0
  69. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +116 -0
  70. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +109 -0
  71. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +160 -0
  72. package/coverage/lcov-report/src/components/zd-component/component.ts.html +1036 -0
  73. package/coverage/lcov-report/src/components/zd-component/index.html +146 -0
  74. package/coverage/lcov-report/src/components/zd-container/container.ts.html +289 -0
  75. package/coverage/lcov-report/src/components/zd-container/index.html +116 -0
  76. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +1765 -0
  77. package/coverage/lcov-report/src/components/zd-date-input/index.html +116 -0
  78. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +541 -0
  79. package/coverage/lcov-report/src/components/zd-dialog/index.html +116 -0
  80. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +178 -0
  81. package/coverage/lcov-report/src/components/zd-divider/index.html +116 -0
  82. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +460 -0
  83. package/coverage/lcov-report/src/components/zd-dropdown/index.html +116 -0
  84. package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +325 -0
  85. package/coverage/lcov-report/src/components/zd-field-group/index.html +116 -0
  86. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +451 -0
  87. package/coverage/lcov-report/src/components/zd-footer/index.html +116 -0
  88. package/coverage/lcov-report/src/components/zd-form/form.ts.html +805 -0
  89. package/coverage/lcov-report/src/components/zd-form/index.html +116 -0
  90. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +763 -0
  91. package/coverage/lcov-report/src/components/zd-frame/index.html +116 -0
  92. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +169 -0
  93. package/coverage/lcov-report/src/components/zd-frame-page/index.html +116 -0
  94. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +304 -0
  95. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +532 -0
  96. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +709 -0
  97. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +244 -0
  98. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +1042 -0
  99. package/coverage/lcov-report/src/components/zd-grid/index.html +266 -0
  100. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +118 -0
  101. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +274 -0
  102. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +241 -0
  103. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +313 -0
  104. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +427 -0
  105. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +175 -0
  106. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +826 -0
  107. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +1570 -0
  108. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +146 -0
  109. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +91 -0
  110. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +109 -0
  111. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +109 -0
  112. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +130 -0
  113. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +139 -0
  114. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +430 -0
  115. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +1477 -0
  116. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +221 -0
  117. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +106 -0
  118. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +139 -0
  119. package/coverage/lcov-report/src/components/zd-header/header.ts.html +502 -0
  120. package/coverage/lcov-report/src/components/zd-header/index.html +116 -0
  121. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +325 -0
  122. package/coverage/lcov-report/src/components/zd-icon/index.html +116 -0
  123. package/coverage/lcov-report/src/components/zd-image/image.ts.html +424 -0
  124. package/coverage/lcov-report/src/components/zd-image/index.html +116 -0
  125. package/coverage/lcov-report/src/components/zd-input/index.html +131 -0
  126. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +130 -0
  127. package/coverage/lcov-report/src/components/zd-input/input.ts.html +1333 -0
  128. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +109 -0
  129. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +823 -0
  130. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +523 -0
  131. package/coverage/lcov-report/src/components/zd-iterable/index.html +281 -0
  132. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +136 -0
  133. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +313 -0
  134. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +166 -0
  135. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +244 -0
  136. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +106 -0
  137. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +421 -0
  138. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +208 -0
  139. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +820 -0
  140. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +343 -0
  141. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +116 -0
  142. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +592 -0
  143. package/coverage/lcov-report/src/components/zd-layout/index.html +116 -0
  144. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +145 -0
  145. package/coverage/lcov-report/src/components/zd-list/index.html +161 -0
  146. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +109 -0
  147. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +241 -0
  148. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +298 -0
  149. package/coverage/lcov-report/src/components/zd-list/list.ts.html +460 -0
  150. package/coverage/lcov-report/src/components/zd-loading/index.html +116 -0
  151. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +217 -0
  152. package/coverage/lcov-report/src/components/zd-login/index.html +131 -0
  153. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +421 -0
  154. package/coverage/lcov-report/src/components/zd-login/login.ts.html +340 -0
  155. package/coverage/lcov-report/src/components/zd-main/index.html +116 -0
  156. package/coverage/lcov-report/src/components/zd-main/main.ts.html +133 -0
  157. package/coverage/lcov-report/src/components/zd-menu/index.html +176 -0
  158. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +241 -0
  159. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +400 -0
  160. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +337 -0
  161. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +106 -0
  162. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +1384 -0
  163. package/coverage/lcov-report/src/components/zd-modal/index.html +131 -0
  164. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +220 -0
  165. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +355 -0
  166. package/coverage/lcov-report/src/components/zd-number-input/index.html +116 -0
  167. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +532 -0
  168. package/coverage/lcov-report/src/components/zd-password/index.html +116 -0
  169. package/coverage/lcov-report/src/components/zd-password/password.ts.html +220 -0
  170. package/coverage/lcov-report/src/components/zd-radio/index.html +116 -0
  171. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +289 -0
  172. package/coverage/lcov-report/src/components/zd-row/index.html +116 -0
  173. package/coverage/lcov-report/src/components/zd-row/row.ts.html +256 -0
  174. package/coverage/lcov-report/src/components/zd-select/index.html +116 -0
  175. package/coverage/lcov-report/src/components/zd-select/select.ts.html +2089 -0
  176. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +116 -0
  177. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +1549 -0
  178. package/coverage/lcov-report/src/components/zd-switch/index.html +116 -0
  179. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +163 -0
  180. package/coverage/lcov-report/src/components/zd-table/index.html +116 -0
  181. package/coverage/lcov-report/src/components/zd-table/table.ts.html +280 -0
  182. package/coverage/lcov-report/src/components/zd-tabs/index.html +146 -0
  183. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +127 -0
  184. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +370 -0
  185. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +586 -0
  186. package/coverage/lcov-report/src/components/zd-tag/index.html +116 -0
  187. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +142 -0
  188. package/coverage/lcov-report/src/components/zd-text/index.html +116 -0
  189. package/coverage/lcov-report/src/components/zd-text/text.ts.html +136 -0
  190. package/coverage/lcov-report/src/components/zd-text-input/index.html +116 -0
  191. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +769 -0
  192. package/coverage/lcov-report/src/components/zd-textarea/index.html +116 -0
  193. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +418 -0
  194. package/coverage/lcov-report/src/components/zd-toggleable/index.html +116 -0
  195. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +196 -0
  196. package/coverage/lcov-report/src/components/zd-tooltip/index.html +116 -0
  197. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +340 -0
  198. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +191 -0
  199. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +103 -0
  200. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +202 -0
  201. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +154 -0
  202. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +235 -0
  203. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +448 -0
  204. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +1390 -0
  205. package/coverage/lcov-report/src/error/delete-rows.ts.html +124 -0
  206. package/coverage/lcov-report/src/error/index.html +176 -0
  207. package/coverage/lcov-report/src/error/non-initialized.ts.html +118 -0
  208. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +130 -0
  209. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +109 -0
  210. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +109 -0
  211. package/coverage/lcov-report/src/index.html +116 -0
  212. package/coverage/lcov-report/src/index.ts.html +163 -0
  213. package/coverage/lcov-report/src/services/index.html +116 -0
  214. package/coverage/lcov-report/src/services/index.ts.html +97 -0
  215. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +205 -0
  216. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +220 -0
  217. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +316 -0
  218. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +172 -0
  219. package/coverage/lcov-report/src/services/zd-alert/index.html +176 -0
  220. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +100 -0
  221. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +205 -0
  222. package/coverage/lcov-report/src/services/zd-dialog/index.html +116 -0
  223. package/coverage/lcov-report/src/services/zd-loading/index.html +116 -0
  224. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +157 -0
  225. package/coverage/lcov-report/src/services/zd-modal/index.html +116 -0
  226. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +298 -0
  227. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +202 -0
  228. package/coverage/lcov-report/src/utils/data-value-out/index.html +131 -0
  229. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +91 -0
  230. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +241 -0
  231. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +131 -0
  232. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +91 -0
  233. package/coverage/lcov-report/src/utils/icons/icons.ts.html +547 -0
  234. package/coverage/lcov-report/src/utils/icons/index.html +116 -0
  235. package/coverage/lcov-report/src/utils/index.html +131 -0
  236. package/coverage/lcov-report/src/utils/index.ts.html +115 -0
  237. package/coverage/lcov-report/src/utils/is-filled-object/index.html +116 -0
  238. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +100 -0
  239. package/coverage/lcov-report/src/utils/is-nil.ts.html +94 -0
  240. package/coverage/lcov-report/src/utils/omit/index.html +116 -0
  241. package/coverage/lcov-report/src/utils/omit/omit.ts.html +124 -0
  242. package/coverage/lcov-report/src/utils/theme/index.html +116 -0
  243. package/coverage/lcov-report/src/utils/theme/theme.ts.html +679 -0
  244. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +131 -0
  245. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +91 -0
  246. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +1642 -0
  247. package/coverage/lcov-report/src/utils/unique-by/index.html +116 -0
  248. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +130 -0
  249. package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +106 -0
  250. package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +94 -0
  251. package/coverage/lcov-report/tests/unit/__helpers__/index.html +146 -0
  252. package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +172 -0
  253. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +166 -0
  254. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +116 -0
  255. package/coverage/lcov.info +10874 -0
  256. package/dist/style.css +1 -1
  257. package/dist/types/components/index.d.ts +150 -0
  258. package/dist/types/components/tek-breadcrumb-header/breadcrumb-header.d.ts +14 -0
  259. package/dist/types/components/tek-breadcrumb-header/interfaces.d.ts +7 -0
  260. package/dist/types/components/tek-grid/columns-searcher.d.ts +5 -0
  261. package/dist/types/components/tek-grid/dynamic-filter-datasource-factory.d.ts +6 -0
  262. package/dist/types/components/tek-grid/filter-helper.d.ts +7 -0
  263. package/dist/types/components/tek-grid/grid-filter-button.d.ts +27 -0
  264. package/dist/types/components/tek-grid/grouped-data-manager.d.ts +82 -0
  265. package/dist/types/components/tek-grid/grouped-data-selector.d.ts +7 -0
  266. package/dist/types/components/tek-grid/grouped-view-navigator.d.ts +14 -0
  267. package/dist/types/components/tek-grid/index.d.ts +18 -0
  268. package/dist/types/components/tek-grid/interfaces.d.ts +259 -0
  269. package/dist/types/components/tek-grid/keymap-grouped.d.ts +7 -0
  270. package/dist/types/components/tek-grid/layout-options.d.ts +39 -0
  271. package/dist/types/components/tek-grid/tek-datasource/index.d.ts +3 -0
  272. package/dist/types/components/tek-grid/tek-datasource/interfaces.d.ts +16 -0
  273. package/dist/types/components/tek-grid/tek-datasource/tek-memory-datasource.d.ts +93 -0
  274. package/dist/types/components/tek-grid/tek-datasource/tek-rest-datasource.d.ts +95 -0
  275. package/dist/types/components/tek-grid/tek-grid-column.d.ts +42 -0
  276. package/dist/types/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.d.ts +8 -0
  277. package/dist/types/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.d.ts +12 -0
  278. package/dist/types/components/tek-grid/tek-grid-controller.d.ts +31 -0
  279. package/dist/types/components/tek-grid/tek-grid-events.d.ts +31 -0
  280. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.d.ts +17 -0
  281. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/index.d.ts +3 -0
  282. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/interfaces.d.ts +5 -0
  283. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.d.ts +12 -0
  284. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/index.d.ts +2 -0
  285. package/dist/types/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.d.ts +23 -0
  286. package/dist/types/components/tek-grid/tek-grid.d.ts +220 -0
  287. package/dist/types/components/zd-alert/alert.d.ts +94 -0
  288. package/dist/types/components/zd-alert/interfaces.d.ts +18 -0
  289. package/dist/types/components/zd-badge/badge.d.ts +28 -0
  290. package/dist/types/components/zd-badge/interfaces.d.ts +10 -0
  291. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +32 -0
  292. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +24 -0
  293. package/dist/types/components/zd-button/button.d.ts +89 -0
  294. package/dist/types/components/zd-button/interfaces.d.ts +48 -0
  295. package/dist/types/components/zd-button-group/button-group.d.ts +67 -0
  296. package/dist/types/components/zd-button-group/interfaces.d.ts +25 -0
  297. package/dist/types/components/zd-card/card.d.ts +152 -0
  298. package/dist/types/components/zd-card/interfaces.d.ts +40 -0
  299. package/dist/types/components/zd-carousel/carousel.d.ts +163 -0
  300. package/dist/types/components/zd-carousel/interfaces.d.ts +49 -0
  301. package/dist/types/components/zd-checkbox/checkbox.d.ts +12 -0
  302. package/dist/types/components/zd-checkbox/interfaces.d.ts +5 -0
  303. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +39 -0
  304. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +13 -0
  305. package/dist/types/components/zd-chip/chip.d.ts +60 -0
  306. package/dist/types/components/zd-chip/interfaces.d.ts +18 -0
  307. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +86 -0
  308. package/dist/types/components/zd-code-viewer/interfaces.d.ts +13 -0
  309. package/dist/types/components/zd-col/col.d.ts +33 -0
  310. package/dist/types/components/zd-col/interfaces.d.ts +15 -0
  311. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +56 -0
  312. package/dist/types/components/zd-collapse-card/interfaces.d.ts +14 -0
  313. package/dist/types/components/zd-component/child-not-found.d.ts +6 -0
  314. package/dist/types/components/zd-component/component-render.d.ts +16 -0
  315. package/dist/types/components/zd-component/component.d.ts +120 -0
  316. package/dist/types/components/zd-component/interfaces.d.ts +74 -0
  317. package/dist/types/components/zd-container/container.d.ts +45 -0
  318. package/dist/types/components/zd-container/interfaces.d.ts +12 -0
  319. package/dist/types/components/zd-currency/currency.d.ts +12 -0
  320. package/dist/types/components/zd-currency/interfaces.d.ts +6 -0
  321. package/dist/types/components/zd-date-input/date-input.d.ts +151 -0
  322. package/dist/types/components/zd-date-input/interfaces.d.ts +27 -0
  323. package/dist/types/components/zd-dialog/dialog.d.ts +76 -0
  324. package/dist/types/components/zd-dialog/interfaces.d.ts +13 -0
  325. package/dist/types/components/zd-divider/divider.d.ts +20 -0
  326. package/dist/types/components/zd-divider/interfaces.d.ts +8 -0
  327. package/dist/types/components/zd-dropdown/dropdown.d.ts +81 -0
  328. package/dist/types/components/zd-dropdown/interfaces.d.ts +23 -0
  329. package/dist/types/components/zd-field-group/field-group.d.ts +53 -0
  330. package/dist/types/components/zd-field-group/interfaces.d.ts +16 -0
  331. package/dist/types/components/zd-footer/footer.d.ts +80 -0
  332. package/dist/types/components/zd-footer/interfaces.d.ts +26 -0
  333. package/dist/types/components/zd-form/form.d.ts +159 -0
  334. package/dist/types/components/zd-form/interfaces.d.ts +33 -0
  335. package/dist/types/components/zd-frame/frame.d.ts +81 -0
  336. package/dist/types/components/zd-frame/interfaces.d.ts +23 -0
  337. package/dist/types/components/zd-frame-page/frame-page.d.ts +14 -0
  338. package/dist/types/components/zd-frame-page/interfaces.d.ts +4 -0
  339. package/dist/types/components/zd-grid/data-navigator.d.ts +12 -0
  340. package/dist/types/components/zd-grid/data-selector.d.ts +25 -0
  341. package/dist/types/components/zd-grid/grid-column.d.ts +47 -0
  342. package/dist/types/components/zd-grid/grid-events.d.ts +26 -0
  343. package/dist/types/components/zd-grid/grid.d.ts +85 -0
  344. package/dist/types/components/zd-grid/index.d.ts +11 -0
  345. package/dist/types/components/zd-grid/interfaces.d.ts +148 -0
  346. package/dist/types/components/zd-grid/iterable-table.d.ts +28 -0
  347. package/dist/types/components/zd-grid/keymap-merger.d.ts +26 -0
  348. package/dist/types/components/zd-grid/keymap-navigation.d.ts +6 -0
  349. package/dist/types/components/zd-grid/table-action-builder.d.ts +19 -0
  350. package/dist/types/components/zd-grid/view-navigator.d.ts +10 -0
  351. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +35 -0
  352. package/dist/types/components/zd-grid-editable/data-editor.d.ts +64 -0
  353. package/dist/types/components/zd-grid-editable/errors/index.d.ts +2 -0
  354. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +6 -0
  355. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +6 -0
  356. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +9 -0
  357. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +8 -0
  358. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +32 -0
  359. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +124 -0
  360. package/dist/types/components/zd-grid-editable/index.d.ts +7 -0
  361. package/dist/types/components/zd-grid-editable/interfaces.d.ts +66 -0
  362. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +7 -0
  363. package/dist/types/components/zd-header/header.d.ts +94 -0
  364. package/dist/types/components/zd-header/interfaces.d.ts +29 -0
  365. package/dist/types/components/zd-icon/icon.d.ts +55 -0
  366. package/dist/types/components/zd-icon/interfaces.d.ts +13 -0
  367. package/dist/types/components/zd-image/image.d.ts +73 -0
  368. package/dist/types/components/zd-image/interfaces.d.ts +17 -0
  369. package/dist/types/components/zd-increment/increment.d.ts +56 -0
  370. package/dist/types/components/zd-increment/interfaces.d.ts +9 -0
  371. package/dist/types/components/zd-input/input-factory.d.ts +6 -0
  372. package/dist/types/components/zd-input/input.d.ts +221 -0
  373. package/dist/types/components/zd-input/interfaces.d.ts +36 -0
  374. package/dist/types/components/zd-iterable/column-not-found.d.ts +6 -0
  375. package/dist/types/components/zd-iterable/column.d.ts +78 -0
  376. package/dist/types/components/zd-iterable/conditions-manager.d.ts +49 -0
  377. package/dist/types/components/zd-iterable/interfaces.d.ts +103 -0
  378. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +9 -0
  379. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +35 -0
  380. package/dist/types/components/zd-iterable/iterable-controller.d.ts +8 -0
  381. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +27 -0
  382. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +7 -0
  383. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +62 -0
  384. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +28 -0
  385. package/dist/types/components/zd-iterable/iterable.d.ts +77 -0
  386. package/dist/types/components/zd-iterable/search.d.ts +31 -0
  387. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +34 -0
  388. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +84 -0
  389. package/dist/types/components/zd-layout/interfaces.d.ts +7 -0
  390. package/dist/types/components/zd-layout/layout.d.ts +9 -0
  391. package/dist/types/components/zd-list/interfaces.d.ts +44 -0
  392. package/dist/types/components/zd-list/item-not-found.d.ts +6 -0
  393. package/dist/types/components/zd-list/list-group.d.ts +30 -0
  394. package/dist/types/components/zd-list/list-item.d.ts +46 -0
  395. package/dist/types/components/zd-list/list.d.ts +81 -0
  396. package/dist/types/components/zd-loading/interfaces.d.ts +7 -0
  397. package/dist/types/components/zd-loading/loading.d.ts +21 -0
  398. package/dist/types/components/zd-login/interfaces.d.ts +25 -0
  399. package/dist/types/components/zd-login/login-button.d.ts +50 -0
  400. package/dist/types/components/zd-login/login.d.ts +54 -0
  401. package/dist/types/components/zd-main/interfaces.d.ts +5 -0
  402. package/dist/types/components/zd-main/main.d.ts +7 -0
  403. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +7 -0
  404. package/dist/types/components/zd-master-detail/interfaces.d.ts +10 -0
  405. package/dist/types/components/zd-master-detail/master-detail.d.ts +18 -0
  406. package/dist/types/components/zd-master-detail/master-not-found.d.ts +7 -0
  407. package/dist/types/components/zd-menu/interfaces.d.ts +68 -0
  408. package/dist/types/components/zd-menu/menu-button.d.ts +29 -0
  409. package/dist/types/components/zd-menu/menu-group.d.ts +61 -0
  410. package/dist/types/components/zd-menu/menu-link.d.ts +50 -0
  411. package/dist/types/components/zd-menu/menu-separator.d.ts +7 -0
  412. package/dist/types/components/zd-menu/menu.d.ts +199 -0
  413. package/dist/types/components/zd-modal/interfaces.d.ts +35 -0
  414. package/dist/types/components/zd-modal/modal-close-button.d.ts +28 -0
  415. package/dist/types/components/zd-modal/modal.d.ts +53 -0
  416. package/dist/types/components/zd-month/interfaces.d.ts +6 -0
  417. package/dist/types/components/zd-month/month.d.ts +33 -0
  418. package/dist/types/components/zd-number/interfaces.d.ts +8 -0
  419. package/dist/types/components/zd-number/number.d.ts +43 -0
  420. package/dist/types/components/zd-number-input/interfaces.d.ts +8 -0
  421. package/dist/types/components/zd-number-input/number-input.d.ts +43 -0
  422. package/dist/types/components/zd-password/interfaces.d.ts +6 -0
  423. package/dist/types/components/zd-password/password.d.ts +17 -0
  424. package/dist/types/components/zd-progress/interfaces.d.ts +10 -0
  425. package/dist/types/components/zd-progress/progress.d.ts +41 -0
  426. package/dist/types/components/zd-radio/interfaces.d.ts +11 -0
  427. package/dist/types/components/zd-radio/radio.d.ts +35 -0
  428. package/dist/types/components/zd-row/interfaces.d.ts +13 -0
  429. package/dist/types/components/zd-row/row.d.ts +39 -0
  430. package/dist/types/components/zd-select/interfaces.d.ts +24 -0
  431. package/dist/types/components/zd-select/select.d.ts +238 -0
  432. package/dist/types/components/zd-select-multiple/interfaces.d.ts +18 -0
  433. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +113 -0
  434. package/dist/types/components/zd-svg-map/interfaces.d.ts +26 -0
  435. package/dist/types/components/zd-svg-map/svg-map.d.ts +35 -0
  436. package/dist/types/components/zd-switch/interfaces.d.ts +7 -0
  437. package/dist/types/components/zd-switch/switch.d.ts +16 -0
  438. package/dist/types/components/zd-table/interfaces.d.ts +25 -0
  439. package/dist/types/components/zd-table/table.d.ts +42 -0
  440. package/dist/types/components/zd-tabs/interfaces.d.ts +40 -0
  441. package/dist/types/components/zd-tabs/tab-not-found.d.ts +11 -0
  442. package/dist/types/components/zd-tabs/tab.d.ts +57 -0
  443. package/dist/types/components/zd-tabs/tabs.d.ts +86 -0
  444. package/dist/types/components/zd-tag/interfaces.d.ts +7 -0
  445. package/dist/types/components/zd-tag/tag.d.ts +13 -0
  446. package/dist/types/components/zd-text/interfaces.d.ts +9 -0
  447. package/dist/types/components/zd-text/text.d.ts +8 -0
  448. package/dist/types/components/zd-text-input/interfaces.d.ts +22 -0
  449. package/dist/types/components/zd-text-input/text-input.d.ts +90 -0
  450. package/dist/types/components/zd-textarea/interfaces.d.ts +21 -0
  451. package/dist/types/components/zd-textarea/textarea.d.ts +71 -0
  452. package/dist/types/components/zd-time/interfaces.d.ts +22 -0
  453. package/dist/types/components/zd-time/time-format-selector.d.ts +8 -0
  454. package/dist/types/components/zd-time/time.d.ts +148 -0
  455. package/dist/types/components/zd-toggleable/interfaces.d.ts +6 -0
  456. package/dist/types/components/zd-toggleable/toggleable.d.ts +21 -0
  457. package/dist/types/components/zd-tooltip/interfaces.d.ts +18 -0
  458. package/dist/types/components/zd-tooltip/tooltip.d.ts +57 -0
  459. package/dist/types/components/zd-tree/interfaces.d.ts +107 -0
  460. package/dist/types/components/zd-tree/tree.d.ts +161 -0
  461. package/dist/types/components/zd-tree-grid/index.d.ts +6 -0
  462. package/dist/types/components/zd-tree-grid/interfaces.d.ts +35 -0
  463. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +10 -0
  464. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +7 -0
  465. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +10 -0
  466. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +18 -0
  467. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +119 -0
  468. package/dist/types/error/delete-rows.d.ts +7 -0
  469. package/dist/types/error/index.d.ts +2 -0
  470. package/dist/types/error/non-initialized.d.ts +7 -0
  471. package/dist/types/error/tek-grid-delete-rows.d.ts +7 -0
  472. package/dist/types/error/teknisa-common-error.d.ts +6 -0
  473. package/dist/types/error/zeedhi-error.d.ts +6 -0
  474. package/dist/types/index.d.ts +5 -0
  475. package/dist/types/services/index.d.ts +4 -0
  476. package/dist/types/services/zd-alert/alert-queue.d.ts +13 -0
  477. package/dist/types/services/zd-alert/alert-replace.d.ts +18 -0
  478. package/dist/types/services/zd-alert/alert-service.d.ts +45 -0
  479. package/dist/types/services/zd-alert/alert-stack.d.ts +9 -0
  480. package/dist/types/services/zd-alert/index.d.ts +5 -0
  481. package/dist/types/services/zd-alert/interfaces.d.ts +6 -0
  482. package/dist/types/services/zd-dialog/dialog-service.d.ts +24 -0
  483. package/dist/types/services/zd-loading/loading-service.d.ts +17 -0
  484. package/dist/types/services/zd-modal/modal-service.d.ts +39 -0
  485. package/dist/types/utils/config/config.d.ts +7 -0
  486. package/dist/types/utils/data-value-out/data-value-out.d.ts +5 -0
  487. package/dist/types/utils/data-value-out/index.d.ts +2 -0
  488. package/dist/types/utils/data-value-out/interfaces.d.ts +8 -0
  489. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +6 -0
  490. package/dist/types/utils/datasource-searcher/index.d.ts +2 -0
  491. package/dist/types/utils/datasource-searcher/interfaces.d.ts +5 -0
  492. package/dist/types/utils/icons/icons.d.ts +24 -0
  493. package/dist/types/utils/index.d.ts +10 -0
  494. package/dist/types/utils/is-filled-object/is-filled-object.d.ts +2 -0
  495. package/dist/types/utils/is-nil.d.ts +1 -0
  496. package/dist/types/utils/omit/omit.d.ts +11 -0
  497. package/dist/types/utils/theme/theme.d.ts +34 -0
  498. package/dist/types/utils/tree-data-structure/index.d.ts +2 -0
  499. package/dist/types/utils/tree-data-structure/interfaces.d.ts +30 -0
  500. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +155 -0
  501. package/dist/types/utils/unique-by/unique-by.d.ts +3 -0
  502. package/dist/zd-common.js +15769 -0
  503. package/dist/zd-common.min.js +15769 -0
  504. package/jest.config.cjs +10 -0
  505. package/package.json +27 -28
  506. package/rollup.config.js +27 -0
  507. package/rollup.scss.config.js +10 -10
  508. package/src/components/index.ts +215 -0
  509. package/src/components/tek-grid/columns-searcher.ts +22 -0
  510. package/src/components/tek-grid/dynamic-filter-datasource-factory.ts +20 -0
  511. package/src/components/tek-grid/filter-helper.ts +20 -0
  512. package/src/components/tek-grid/grid-filter-button.ts +422 -0
  513. package/src/components/tek-grid/grouped-data-manager.ts +448 -0
  514. package/src/components/tek-grid/grouped-data-selector.ts +40 -0
  515. package/src/components/tek-grid/grouped-view-navigator.ts +85 -0
  516. package/src/components/tek-grid/index.ts +18 -0
  517. package/src/components/tek-grid/interfaces.ts +329 -0
  518. package/src/components/tek-grid/keymap-grouped.ts +21 -0
  519. package/src/components/tek-grid/layout-options.ts +248 -0
  520. package/src/components/tek-grid/tek-datasource/index.ts +3 -0
  521. package/src/components/tek-grid/tek-datasource/interfaces.ts +36 -0
  522. package/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts +314 -0
  523. package/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts +224 -0
  524. package/src/components/tek-grid/tek-grid-column.ts +193 -0
  525. package/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts +28 -0
  526. package/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts +37 -0
  527. package/src/components/tek-grid/tek-grid-controller.ts +140 -0
  528. package/src/components/tek-grid/tek-grid-events.ts +105 -0
  529. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts +26 -0
  530. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts +3 -0
  531. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/interfaces.ts +6 -0
  532. package/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts +85 -0
  533. package/src/components/tek-grid/tek-grid-toolbar-provider/index.ts +2 -0
  534. package/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts +367 -0
  535. package/src/components/tek-grid/tek-grid.ts +1122 -0
  536. package/src/components/zd-alert/alert.ts +139 -0
  537. package/src/components/zd-alert/interfaces.ts +19 -0
  538. package/src/components/zd-badge/badge.ts +47 -0
  539. package/src/components/zd-badge/interfaces.ts +12 -0
  540. package/src/components/zd-breadcrumbs/breadcrumbs.ts +47 -0
  541. package/src/components/zd-breadcrumbs/interfaces.ts +27 -0
  542. package/src/components/zd-button/button.ts +207 -0
  543. package/src/components/zd-button/interfaces.ts +51 -0
  544. package/src/components/zd-button-group/button-group.ts +109 -0
  545. package/src/components/zd-button-group/interfaces.ts +27 -0
  546. package/src/components/zd-card/card.ts +221 -0
  547. package/src/components/zd-card/interfaces.ts +63 -0
  548. package/src/components/zd-carousel/carousel.ts +288 -0
  549. package/src/components/zd-carousel/interfaces.ts +53 -0
  550. package/src/components/zd-checkbox/checkbox.ts +21 -0
  551. package/src/components/zd-checkbox/interfaces.ts +7 -0
  552. package/src/components/zd-checkbox-multiple/checkbox-multiple.ts +76 -0
  553. package/src/components/zd-checkbox-multiple/interfaces.ts +15 -0
  554. package/src/components/zd-chip/chip.ts +89 -0
  555. package/src/components/zd-chip/interfaces.ts +20 -0
  556. package/src/components/zd-code-viewer/code-viewer.ts +199 -0
  557. package/src/components/zd-code-viewer/interfaces.ts +14 -0
  558. package/src/components/zd-col/col.ts +55 -0
  559. package/src/components/zd-col/interfaces.ts +17 -0
  560. package/src/components/zd-collapse-card/collapse-card.ts +86 -0
  561. package/src/components/zd-collapse-card/interfaces.ts +15 -0
  562. package/src/components/zd-component/child-not-found.ts +8 -0
  563. package/src/components/zd-component/component-render.ts +25 -0
  564. package/src/components/zd-component/component.ts +333 -0
  565. package/src/components/zd-component/interfaces.ts +79 -0
  566. package/src/components/zd-container/container.ts +68 -0
  567. package/src/components/zd-container/interfaces.ts +13 -0
  568. package/src/components/zd-currency/currency.ts +58 -0
  569. package/src/components/zd-currency/interfaces.ts +7 -0
  570. package/src/components/zd-date-input/date-input.ts +565 -0
  571. package/src/components/zd-date-input/interfaces.ts +30 -0
  572. package/src/components/zd-dialog/dialog.ts +152 -0
  573. package/src/components/zd-dialog/interfaces.ts +14 -0
  574. package/src/components/zd-divider/divider.ts +31 -0
  575. package/src/components/zd-divider/interfaces.ts +10 -0
  576. package/src/components/zd-dropdown/dropdown.ts +125 -0
  577. package/src/components/zd-dropdown/interfaces.ts +25 -0
  578. package/src/components/zd-footer/footer.ts +122 -0
  579. package/src/components/zd-footer/interfaces.ts +28 -0
  580. package/src/components/zd-form/form.ts +240 -0
  581. package/src/components/zd-form/interfaces.ts +38 -0
  582. package/src/components/zd-frame/frame.ts +226 -0
  583. package/src/components/zd-frame/interfaces.ts +26 -0
  584. package/src/components/zd-frame-page/frame-page.ts +28 -0
  585. package/src/components/zd-frame-page/interfaces.ts +5 -0
  586. package/src/components/zd-grid/data-navigator.ts +73 -0
  587. package/src/components/zd-grid/data-selector.ts +149 -0
  588. package/src/components/zd-grid/grid-column.ts +208 -0
  589. package/src/components/zd-grid/grid-events.ts +53 -0
  590. package/src/components/zd-grid/grid.ts +319 -0
  591. package/src/components/zd-grid/index.ts +11 -0
  592. package/src/components/zd-grid/interfaces.ts +159 -0
  593. package/src/components/zd-grid/iterable-table.ts +63 -0
  594. package/src/components/zd-grid/keymap-merger.ts +52 -0
  595. package/src/components/zd-grid/keymap-navigation.ts +76 -0
  596. package/src/components/zd-grid/table-action-builder.ts +114 -0
  597. package/src/components/zd-grid/view-navigator.ts +30 -0
  598. package/src/components/zd-grid-editable/data-editor-with-add.ts +247 -0
  599. package/src/components/zd-grid-editable/data-editor.ts +495 -0
  600. package/src/components/zd-grid-editable/errors/index.ts +2 -0
  601. package/src/components/zd-grid-editable/errors/not-editing.ts +8 -0
  602. package/src/components/zd-grid-editable/errors/row-not-found.ts +8 -0
  603. package/src/components/zd-grid-editable/grid-column-editable.ts +15 -0
  604. package/src/components/zd-grid-editable/grid-editable-controller.ts +18 -0
  605. package/src/components/zd-grid-editable/grid-editable-events.ts +115 -0
  606. package/src/components/zd-grid-editable/grid-editable.ts +464 -0
  607. package/src/components/zd-grid-editable/index.ts +7 -0
  608. package/src/components/zd-grid-editable/interfaces.ts +66 -0
  609. package/src/components/zd-grid-editable/keymap-editing.ts +18 -0
  610. package/src/components/zd-header/header.ts +139 -0
  611. package/src/components/zd-header/interfaces.ts +32 -0
  612. package/src/components/zd-icon/icon.ts +80 -0
  613. package/src/components/zd-icon/interfaces.ts +14 -0
  614. package/src/components/zd-image/image.ts +113 -0
  615. package/src/components/zd-image/interfaces.ts +19 -0
  616. package/src/components/zd-increment/increment.ts +117 -0
  617. package/src/components/zd-increment/interfaces.ts +11 -0
  618. package/src/components/zd-input/input-factory.ts +15 -0
  619. package/src/components/zd-input/input.ts +416 -0
  620. package/src/components/zd-input/interfaces.ts +38 -0
  621. package/src/components/zd-iterable/column-not-found.ts +8 -0
  622. package/src/components/zd-iterable/column.ts +246 -0
  623. package/src/components/zd-iterable/conditions-manager.ts +146 -0
  624. package/src/components/zd-iterable/interfaces.ts +117 -0
  625. package/src/components/zd-iterable/iterable-columns-button-controller.ts +17 -0
  626. package/src/components/zd-iterable/iterable-columns-button.ts +76 -0
  627. package/src/components/zd-iterable/iterable-controller.ts +27 -0
  628. package/src/components/zd-iterable/iterable-page-component.ts +53 -0
  629. package/src/components/zd-iterable/iterable-page-info.ts +7 -0
  630. package/src/components/zd-iterable/iterable-page-size.ts +112 -0
  631. package/src/components/zd-iterable/iterable-pagination.ts +41 -0
  632. package/src/components/zd-iterable/iterable.ts +245 -0
  633. package/src/components/zd-iterable/search.ts +86 -0
  634. package/src/components/zd-iterable-component-render/interfaces.ts +36 -0
  635. package/src/components/zd-iterable-component-render/iterable-component-render.ts +169 -0
  636. package/src/components/zd-layout/interfaces.ts +8 -0
  637. package/src/components/zd-layout/layout.ts +20 -0
  638. package/src/components/zd-list/interfaces.ts +47 -0
  639. package/src/components/zd-list/item-not-found.ts +8 -0
  640. package/src/components/zd-list/list-group.ts +52 -0
  641. package/src/components/zd-list/list-item.ts +71 -0
  642. package/src/components/zd-list/list.ts +125 -0
  643. package/src/components/zd-loading/interfaces.ts +9 -0
  644. package/src/components/zd-loading/loading.ts +44 -0
  645. package/src/components/zd-login/interfaces.ts +28 -0
  646. package/src/components/zd-login/login-button.ts +112 -0
  647. package/src/components/zd-login/login.ts +85 -0
  648. package/src/components/zd-main/interfaces.ts +6 -0
  649. package/src/components/zd-main/main.ts +16 -0
  650. package/src/components/zd-master-detail/detail-not-found.ts +11 -0
  651. package/src/components/zd-master-detail/interfaces.ts +11 -0
  652. package/src/components/zd-master-detail/master-detail.ts +82 -0
  653. package/src/components/zd-master-detail/master-not-found.ts +11 -0
  654. package/src/components/zd-menu/interfaces.ts +76 -0
  655. package/src/components/zd-menu/menu-button.ts +52 -0
  656. package/src/components/zd-menu/menu-group.ts +105 -0
  657. package/src/components/zd-menu/menu-link.ts +84 -0
  658. package/src/components/zd-menu/menu-separator.ts +7 -0
  659. package/src/components/zd-menu/menu.ts +433 -0
  660. package/src/components/zd-modal/interfaces.ts +39 -0
  661. package/src/components/zd-modal/modal-close-button.ts +45 -0
  662. package/src/components/zd-modal/modal.ts +90 -0
  663. package/src/components/zd-month/interfaces.ts +7 -0
  664. package/src/components/zd-month/month.ts +161 -0
  665. package/src/components/zd-number-input/interfaces.ts +10 -0
  666. package/src/components/zd-number-input/number-input.ts +149 -0
  667. package/src/components/zd-password/interfaces.ts +7 -0
  668. package/src/components/zd-password/password.ts +45 -0
  669. package/src/components/zd-progress/interfaces.ts +11 -0
  670. package/src/components/zd-progress/progress.ts +59 -0
  671. package/src/components/zd-radio/interfaces.ts +13 -0
  672. package/src/components/zd-radio/radio.ts +68 -0
  673. package/src/components/zd-row/interfaces.ts +15 -0
  674. package/src/components/zd-row/row.ts +57 -0
  675. package/src/components/zd-select/interfaces.ts +25 -0
  676. package/src/components/zd-select/select.ts +668 -0
  677. package/src/components/zd-select-multiple/interfaces.ts +21 -0
  678. package/src/components/zd-select-multiple/select-multiple.ts +488 -0
  679. package/src/components/zd-svg-map/interfaces.ts +30 -0
  680. package/src/components/zd-svg-map/svg-map.ts +130 -0
  681. package/src/components/zd-switch/interfaces.ts +9 -0
  682. package/src/components/zd-switch/switch.ts +26 -0
  683. package/src/components/zd-table/interfaces.ts +29 -0
  684. package/src/components/zd-table/table.ts +65 -0
  685. package/src/components/zd-tabs/interfaces.ts +49 -0
  686. package/src/components/zd-tabs/tab-not-found.ts +14 -0
  687. package/src/components/zd-tabs/tab.ts +95 -0
  688. package/src/components/zd-tabs/tabs.ts +167 -0
  689. package/src/components/zd-tag/interfaces.ts +9 -0
  690. package/src/components/zd-tag/tag.ts +19 -0
  691. package/src/components/zd-text/interfaces.ts +11 -0
  692. package/src/components/zd-text/text.ts +17 -0
  693. package/src/components/zd-text-input/interfaces.ts +25 -0
  694. package/src/components/zd-text-input/text-input.ts +228 -0
  695. package/src/components/zd-textarea/interfaces.ts +23 -0
  696. package/src/components/zd-textarea/textarea.ts +111 -0
  697. package/src/components/zd-time/interfaces.ts +24 -0
  698. package/src/components/zd-time/time-format-selector.ts +24 -0
  699. package/src/components/zd-time/time.ts +506 -0
  700. package/src/components/zd-toggleable/interfaces.ts +8 -0
  701. package/src/components/zd-toggleable/toggleable.ts +37 -0
  702. package/src/components/zd-tooltip/interfaces.ts +20 -0
  703. package/src/components/zd-tooltip/tooltip.ts +85 -0
  704. package/src/components/zd-tree/interfaces.ts +111 -0
  705. package/src/components/zd-tree/tree.ts +588 -0
  706. package/src/components/zd-tree-grid/index.ts +6 -0
  707. package/src/components/zd-tree-grid/interfaces.ts +39 -0
  708. package/src/components/zd-tree-grid/iterable-tree.ts +39 -0
  709. package/src/components/zd-tree-grid/keymap-tree.ts +23 -0
  710. package/src/components/zd-tree-grid/tree-data-navigator.ts +50 -0
  711. package/src/components/zd-tree-grid/tree-data-selector.ts +121 -0
  712. package/src/components/zd-tree-grid/tree-grid.ts +435 -0
  713. package/src/error/delete-rows.ts +13 -0
  714. package/src/error/index.ts +2 -0
  715. package/src/error/non-initialized.ts +11 -0
  716. package/src/error/tek-grid-delete-rows.ts +15 -0
  717. package/src/error/teknisa-common-error.ts +8 -0
  718. package/src/error/zeedhi-error.ts +8 -0
  719. package/src/index.ts +26 -0
  720. package/src/services/index.ts +4 -0
  721. package/src/services/zd-alert/alert-queue.ts +40 -0
  722. package/src/services/zd-alert/alert-replace.ts +45 -0
  723. package/src/services/zd-alert/alert-service.ts +77 -0
  724. package/src/services/zd-alert/alert-stack.ts +29 -0
  725. package/src/services/zd-alert/index.ts +5 -0
  726. package/src/services/zd-alert/interfaces.ts +7 -0
  727. package/src/services/zd-dialog/dialog-service.ts +40 -0
  728. package/src/services/zd-loading/loading-service.ts +24 -0
  729. package/src/services/zd-modal/modal-service.ts +71 -0
  730. package/src/styles/_display.scss +38 -0
  731. package/src/styles/_elevation.scss +129 -0
  732. package/src/styles/_functions.scss +57 -0
  733. package/src/styles/_text.scss +46 -0
  734. package/src/styles/_utilities.scss +515 -0
  735. package/src/styles/_variables.scss +70 -0
  736. package/src/styles/index.scss +5 -0
  737. package/src/utils/config/config.ts +8 -0
  738. package/src/utils/data-value-out/data-value-out.ts +39 -0
  739. package/src/utils/data-value-out/index.ts +2 -0
  740. package/src/utils/data-value-out/interfaces.ts +9 -0
  741. package/src/utils/datasource-searcher/datasource-searcher.ts +52 -0
  742. package/src/utils/datasource-searcher/index.ts +2 -0
  743. package/src/utils/datasource-searcher/interfaces.ts +12 -0
  744. package/src/utils/icons/icons.ts +154 -0
  745. package/src/utils/index.ts +10 -0
  746. package/src/utils/is-filled-object/is-filled-object.ts +5 -0
  747. package/src/utils/is-nil.ts +3 -0
  748. package/src/utils/omit/omit.ts +13 -0
  749. package/src/utils/theme/theme.ts +198 -0
  750. package/src/utils/tree-data-structure/index.ts +2 -0
  751. package/src/utils/tree-data-structure/interfaces.ts +32 -0
  752. package/src/utils/tree-data-structure/tree-data-structure.ts +520 -0
  753. package/src/utils/unique-by/unique-by.ts +15 -0
  754. package/tests/unit/__helpers__/component-event-helper.ts +9 -0
  755. package/tests/unit/__helpers__/create-component.ts +8 -0
  756. package/tests/unit/__helpers__/find-component.ts +18 -0
  757. package/tests/unit/__helpers__/flush-promises-helper.ts +3 -0
  758. package/tests/unit/__helpers__/get-child-helper.ts +27 -0
  759. package/tests/unit/__helpers__/index.ts +10 -0
  760. package/tests/unit/__helpers__/mock-http-get-helper.spec.ts +55 -0
  761. package/tests/unit/__helpers__/mock-http-get-helper.ts +29 -0
  762. package/tests/unit/__helpers__/mock-i18n.ts +13 -0
  763. package/tests/unit/__helpers__/mock-loader-get-instance.ts +6 -0
  764. package/tests/unit/__helpers__/mock-loader-value-accessor.ts +7 -0
  765. package/tests/unit/__helpers__/spy-on-all-methods.ts +46 -0
  766. package/tests/unit/components/tek-grid/button-option.spec.ts +49 -0
  767. package/tests/unit/components/tek-grid/columns-searcher.spec.ts +112 -0
  768. package/tests/unit/components/tek-grid/dynamic-filter-datasource-factory.spec.ts +90 -0
  769. package/tests/unit/components/tek-grid/filter-helper.spec.ts +52 -0
  770. package/tests/unit/components/tek-grid/grid-filter-button.spec.ts +842 -0
  771. package/tests/unit/components/tek-grid/grouped-data-manager.spec.ts +593 -0
  772. package/tests/unit/components/tek-grid/grouped-data-selector.spec.ts +136 -0
  773. package/tests/unit/components/tek-grid/grouped-view-navigator.spec.ts +244 -0
  774. package/tests/unit/components/tek-grid/keymap-grouped.spec.ts +20 -0
  775. package/tests/unit/components/tek-grid/layout-options.spec.ts +1020 -0
  776. package/tests/unit/components/tek-grid/multi-option.spec.ts +139 -0
  777. package/tests/unit/components/tek-grid/tek-grid-column.spec.ts +312 -0
  778. package/tests/unit/components/tek-grid/tek-grid-columns-button.spec.ts +228 -0
  779. package/tests/unit/components/tek-grid/tek-grid-controller.spec.ts +253 -0
  780. package/tests/unit/components/tek-grid/tek-grid-events.spec.ts +186 -0
  781. package/tests/unit/components/tek-grid/tek-grid-toolbar-provider.spec.ts +34 -0
  782. package/tests/unit/components/tek-grid/tek-grid.spec.ts +895 -0
  783. package/tests/unit/components/tek-grid/tek-memory-datasource.spec.ts +482 -0
  784. package/tests/unit/components/tek-grid/tek-rest-datasource.spec.ts +422 -0
  785. package/tests/unit/components/zd-alert/alert.spec.ts +62 -0
  786. package/tests/unit/components/zd-badge/badge.spec.ts +36 -0
  787. package/tests/unit/components/zd-breadcrumbs/breadcrumbs.spec.ts +39 -0
  788. package/tests/unit/components/zd-button/button.spec.ts +79 -0
  789. package/tests/unit/components/zd-button-group/button-group.spec.ts +95 -0
  790. package/tests/unit/components/zd-card/card.spec.ts +82 -0
  791. package/tests/unit/components/zd-carousel/carousel.spec.ts +304 -0
  792. package/tests/unit/components/zd-checkbox/checkbox.spec.ts +26 -0
  793. package/tests/unit/components/zd-checkbox-multiple/checkbox-multiple.spec.ts +107 -0
  794. package/tests/unit/components/zd-chip/chip.spec.ts +53 -0
  795. package/tests/unit/components/zd-code-viewer/code-viewer.spec.ts +247 -0
  796. package/tests/unit/components/zd-col/col.spec.ts +46 -0
  797. package/tests/unit/components/zd-collapse-card/collapse-card.spec.ts +84 -0
  798. package/tests/unit/components/zd-component/ComponentMock.ts +27 -0
  799. package/tests/unit/components/zd-component/child-not-found.spec.ts +10 -0
  800. package/tests/unit/components/zd-component/component-render.spec.ts +10 -0
  801. package/tests/unit/components/zd-component/component.spec.ts +554 -0
  802. package/tests/unit/components/zd-container/container.spec.ts +43 -0
  803. package/tests/unit/components/zd-currency/currency.spec.ts +110 -0
  804. package/tests/unit/components/zd-date-input/date-input.spec.ts +1111 -0
  805. package/tests/unit/components/zd-dialog/dialog.spec.ts +145 -0
  806. package/tests/unit/components/zd-divider/divider.spec.ts +31 -0
  807. package/tests/unit/components/zd-dropdown/dropdown.spec.ts +68 -0
  808. package/tests/unit/components/zd-footer/footer.spec.ts +69 -0
  809. package/tests/unit/components/zd-form/form.spec.ts +251 -0
  810. package/tests/unit/components/zd-frame/frame.spec.ts +381 -0
  811. package/tests/unit/components/zd-frame-page/frame-page.spec.ts +58 -0
  812. package/tests/unit/components/zd-grid/grid-column.spec.ts +251 -0
  813. package/tests/unit/components/zd-grid/grid.spec.ts +1638 -0
  814. package/tests/unit/components/zd-grid-editable/data-editor-with-add.spec.ts +118 -0
  815. package/tests/unit/components/zd-grid-editable/data-editor.spec.ts +621 -0
  816. package/tests/unit/components/zd-grid-editable/grid-editable-controller.spec.ts +53 -0
  817. package/tests/unit/components/zd-grid-editable/grid-editable.spec.ts +2733 -0
  818. package/tests/unit/components/zd-header/header.spec.ts +67 -0
  819. package/tests/unit/components/zd-icon/icon.spec.ts +55 -0
  820. package/tests/unit/components/zd-image/image.spec.ts +63 -0
  821. package/tests/unit/components/zd-increment/increment.spec.ts +75 -0
  822. package/tests/unit/components/zd-input/input-factory.spec.ts +19 -0
  823. package/tests/unit/components/zd-input/input.spec.ts +340 -0
  824. package/tests/unit/components/zd-iterable/column-not-found.spec.ts +10 -0
  825. package/tests/unit/components/zd-iterable/column.spec.ts +301 -0
  826. package/tests/unit/components/zd-iterable/conditions-manager.spec.ts +123 -0
  827. package/tests/unit/components/zd-iterable/iterable-columns-button-controller.spec.ts +54 -0
  828. package/tests/unit/components/zd-iterable/iterable-columns-button.spec.ts +134 -0
  829. package/tests/unit/components/zd-iterable/iterable-page-component.spec.ts +92 -0
  830. package/tests/unit/components/zd-iterable/iterable-page-info.spec.ts +19 -0
  831. package/tests/unit/components/zd-iterable/iterable-page-size.spec.ts +123 -0
  832. package/tests/unit/components/zd-iterable/iterable-pagination.spec.ts +42 -0
  833. package/tests/unit/components/zd-iterable/search.spec.ts +168 -0
  834. package/tests/unit/components/zd-iterable-component-render/iterable-component-render.spec.ts +216 -0
  835. package/tests/unit/components/zd-layout/layout.spec.ts +28 -0
  836. package/tests/unit/components/zd-list/list-group.spec.ts +96 -0
  837. package/tests/unit/components/zd-list/list-item.spec.ts +51 -0
  838. package/tests/unit/components/zd-list/list.spec.ts +107 -0
  839. package/tests/unit/components/zd-loading/loading.spec.ts +72 -0
  840. package/tests/unit/components/zd-login/login-button.spec.ts +305 -0
  841. package/tests/unit/components/zd-login/login.spec.ts +52 -0
  842. package/tests/unit/components/zd-main/main.spec.ts +22 -0
  843. package/tests/unit/components/zd-master-detail/detail-not-found.spec.ts +11 -0
  844. package/tests/unit/components/zd-master-detail/master-detail.spec.ts +213 -0
  845. package/tests/unit/components/zd-master-detail/master-not-found.spec.ts +10 -0
  846. package/tests/unit/components/zd-menu/menu-button.spec.ts +85 -0
  847. package/tests/unit/components/zd-menu/menu-group.spec.ts +130 -0
  848. package/tests/unit/components/zd-menu/menu-link.spec.ts +120 -0
  849. package/tests/unit/components/zd-menu/menu-separator.spec.ts +14 -0
  850. package/tests/unit/components/zd-menu/menu.spec.ts +286 -0
  851. package/tests/unit/components/zd-modal/modal.spec.ts +169 -0
  852. package/tests/unit/components/zd-month/month.spec.ts +450 -0
  853. package/tests/unit/components/zd-number/number.spec.ts +276 -0
  854. package/tests/unit/components/zd-password/password.spec.ts +76 -0
  855. package/tests/unit/components/zd-progress/progress.spec.ts +43 -0
  856. package/tests/unit/components/zd-radio/radio.spec.ts +75 -0
  857. package/tests/unit/components/zd-row/row.spec.ts +40 -0
  858. package/tests/unit/components/zd-select/select.spec.ts +1316 -0
  859. package/tests/unit/components/zd-select-multiple/select-multiple.spec.ts +1994 -0
  860. package/tests/unit/components/zd-svg-map/svg-map.spec.ts +212 -0
  861. package/tests/unit/components/zd-switch/switch.spec.ts +28 -0
  862. package/tests/unit/components/zd-table/table.spec.ts +53 -0
  863. package/tests/unit/components/zd-tabs/tab-not-found.spec.ts +10 -0
  864. package/tests/unit/components/zd-tabs/tab.spec.ts +21 -0
  865. package/tests/unit/components/zd-tabs/tabs.spec.ts +171 -0
  866. package/tests/unit/components/zd-tag/tag.spec.ts +10 -0
  867. package/tests/unit/components/zd-text/text.spec.ts +24 -0
  868. package/tests/unit/components/zd-text-input/text-input.spec.ts +362 -0
  869. package/tests/unit/components/zd-textarea/textarea.spec.ts +86 -0
  870. package/tests/unit/components/zd-time/time.spec.ts +1036 -0
  871. package/tests/unit/components/zd-toggleable/toggleable.spec.ts +46 -0
  872. package/tests/unit/components/zd-tooltip/tooltip.spec.ts +51 -0
  873. package/tests/unit/components/zd-tree/tree.spec.ts +905 -0
  874. package/tests/unit/components/zd-tree-grid/tree-grid.spec.ts +893 -0
  875. package/tests/unit/services/alert-queue.spec.ts +44 -0
  876. package/tests/unit/services/alert-replace.spec.ts +19 -0
  877. package/tests/unit/services/alert-service.spec.ts +65 -0
  878. package/tests/unit/services/alert-stack.spec.ts +45 -0
  879. package/tests/unit/utils/data-value-out.spec.ts +105 -0
  880. package/tests/unit/utils/datasource-searcher.spec.ts +61 -0
  881. package/tests/unit/utils/icons.spec.ts +258 -0
  882. package/tests/unit/utils/is-filled-object.spec.ts +33 -0
  883. package/tests/unit/utils/theme.spec.ts +197 -0
  884. package/tests/unit/utils/tree-data-structure.spec.ts +404 -0
  885. package/tests/unit/utils/unique-by.spec.ts +56 -0
  886. package/tsconfig.build.json +7 -0
  887. package/tsconfig.json +3 -0
  888. package/LICENSE +0 -24
  889. package/README.md +0 -9
  890. package/dist/zd-common.esm.js +0 -16042
  891. package/dist/zd-common.umd.js +0 -16164
  892. package/tsconfig.eslint.json +0 -9
  893. package/types/components/index.d.ts +0 -161
  894. package/types/components/zd-alert/alert.d.ts +0 -101
  895. package/types/components/zd-alert/interfaces.d.ts +0 -18
  896. package/types/components/zd-apex-chart/apex-chart.d.ts +0 -257
  897. package/types/components/zd-apex-chart/interfaces.d.ts +0 -51
  898. package/types/components/zd-badge/badge.d.ts +0 -28
  899. package/types/components/zd-badge/interfaces.d.ts +0 -10
  900. package/types/components/zd-breadcrumbs/breadcrumbs.d.ts +0 -32
  901. package/types/components/zd-breadcrumbs/interfaces.d.ts +0 -23
  902. package/types/components/zd-button/button.d.ts +0 -122
  903. package/types/components/zd-button/interfaces.d.ts +0 -33
  904. package/types/components/zd-button-group/button-group.d.ts +0 -75
  905. package/types/components/zd-button-group/interfaces.d.ts +0 -24
  906. package/types/components/zd-card/card.d.ts +0 -110
  907. package/types/components/zd-card/interfaces.d.ts +0 -30
  908. package/types/components/zd-carousel/carousel.d.ts +0 -181
  909. package/types/components/zd-carousel/interfaces.d.ts +0 -45
  910. package/types/components/zd-checkbox/checkbox.d.ts +0 -12
  911. package/types/components/zd-checkbox/interfaces.d.ts +0 -6
  912. package/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +0 -42
  913. package/types/components/zd-checkbox-multiple/interfaces.d.ts +0 -13
  914. package/types/components/zd-chip/chip.d.ts +0 -64
  915. package/types/components/zd-chip/interfaces.d.ts +0 -19
  916. package/types/components/zd-code-editor/code-editor.d.ts +0 -90
  917. package/types/components/zd-code-editor/interfaces.d.ts +0 -14
  918. package/types/components/zd-col/col.d.ts +0 -37
  919. package/types/components/zd-col/interfaces.d.ts +0 -16
  920. package/types/components/zd-collapse-card/collapse-card.d.ts +0 -56
  921. package/types/components/zd-collapse-card/interfaces.d.ts +0 -14
  922. package/types/components/zd-component/child-not-found.d.ts +0 -6
  923. package/types/components/zd-component/component-render.d.ts +0 -16
  924. package/types/components/zd-component/component.d.ts +0 -178
  925. package/types/components/zd-component/interfaces.d.ts +0 -46
  926. package/types/components/zd-container/container.d.ts +0 -51
  927. package/types/components/zd-container/interfaces.d.ts +0 -12
  928. package/types/components/zd-currency/currency.d.ts +0 -12
  929. package/types/components/zd-currency/interfaces.d.ts +0 -6
  930. package/types/components/zd-dashboard/dashboard.d.ts +0 -122
  931. package/types/components/zd-dashboard/interfaces.d.ts +0 -37
  932. package/types/components/zd-date/date-range.d.ts +0 -152
  933. package/types/components/zd-date/date.d.ts +0 -155
  934. package/types/components/zd-date/interfaces.d.ts +0 -31
  935. package/types/components/zd-dialog/dialog.d.ts +0 -76
  936. package/types/components/zd-dialog/interfaces.d.ts +0 -13
  937. package/types/components/zd-divider/divider.d.ts +0 -20
  938. package/types/components/zd-divider/interfaces.d.ts +0 -8
  939. package/types/components/zd-dropdown/dropdown.d.ts +0 -85
  940. package/types/components/zd-dropdown/interfaces.d.ts +0 -24
  941. package/types/components/zd-file-input/file-input.d.ts +0 -101
  942. package/types/components/zd-file-input/interfaces.d.ts +0 -20
  943. package/types/components/zd-footer/footer.d.ts +0 -81
  944. package/types/components/zd-footer/interfaces.d.ts +0 -26
  945. package/types/components/zd-form/form.d.ts +0 -153
  946. package/types/components/zd-form/interfaces.d.ts +0 -34
  947. package/types/components/zd-frame/frame.d.ts +0 -90
  948. package/types/components/zd-frame/interfaces.d.ts +0 -25
  949. package/types/components/zd-frame-page/frame-page.d.ts +0 -14
  950. package/types/components/zd-frame-page/interfaces.d.ts +0 -4
  951. package/types/components/zd-grid/errors/delete-rows.d.ts +0 -6
  952. package/types/components/zd-grid/errors/not-editing.d.ts +0 -6
  953. package/types/components/zd-grid/errors/row-not-found.d.ts +0 -6
  954. package/types/components/zd-grid/grid-column-editable.d.ts +0 -13
  955. package/types/components/zd-grid/grid-column.d.ts +0 -46
  956. package/types/components/zd-grid/grid-editable-controller.d.ts +0 -8
  957. package/types/components/zd-grid/grid-editable.d.ts +0 -272
  958. package/types/components/zd-grid/grid.d.ts +0 -260
  959. package/types/components/zd-grid/interfaces.d.ts +0 -75
  960. package/types/components/zd-header/header.d.ts +0 -93
  961. package/types/components/zd-header/interfaces.d.ts +0 -31
  962. package/types/components/zd-icon/icon.d.ts +0 -55
  963. package/types/components/zd-icon/interfaces.d.ts +0 -13
  964. package/types/components/zd-image/image.d.ts +0 -85
  965. package/types/components/zd-image/interfaces.d.ts +0 -22
  966. package/types/components/zd-increment/increment.d.ts +0 -53
  967. package/types/components/zd-increment/interfaces.d.ts +0 -9
  968. package/types/components/zd-input/input-factory.d.ts +0 -6
  969. package/types/components/zd-input/input.d.ts +0 -223
  970. package/types/components/zd-input/interfaces.d.ts +0 -39
  971. package/types/components/zd-iterable/column-not-found.d.ts +0 -6
  972. package/types/components/zd-iterable/column.d.ts +0 -97
  973. package/types/components/zd-iterable/interfaces.d.ts +0 -72
  974. package/types/components/zd-iterable/iterable-columns-button-controller.d.ts +0 -9
  975. package/types/components/zd-iterable/iterable-columns-button.d.ts +0 -34
  976. package/types/components/zd-iterable/iterable-controller.d.ts +0 -12
  977. package/types/components/zd-iterable/iterable-page-component.d.ts +0 -27
  978. package/types/components/zd-iterable/iterable-page-info.d.ts +0 -7
  979. package/types/components/zd-iterable/iterable-page-size.d.ts +0 -62
  980. package/types/components/zd-iterable/iterable-pagination.d.ts +0 -28
  981. package/types/components/zd-iterable/iterable.d.ts +0 -102
  982. package/types/components/zd-iterable/search.d.ts +0 -25
  983. package/types/components/zd-iterable-component-render/interfaces.d.ts +0 -19
  984. package/types/components/zd-iterable-component-render/iterable-component-render.d.ts +0 -83
  985. package/types/components/zd-list/interfaces.d.ts +0 -45
  986. package/types/components/zd-list/item-not-found.d.ts +0 -6
  987. package/types/components/zd-list/list-group.d.ts +0 -30
  988. package/types/components/zd-list/list-item.d.ts +0 -49
  989. package/types/components/zd-list/list.d.ts +0 -85
  990. package/types/components/zd-loading/interfaces.d.ts +0 -6
  991. package/types/components/zd-loading/loading.d.ts +0 -20
  992. package/types/components/zd-login/interfaces.d.ts +0 -25
  993. package/types/components/zd-login/login-button.d.ts +0 -50
  994. package/types/components/zd-login/login.d.ts +0 -54
  995. package/types/components/zd-master-detail/detail-not-found.d.ts +0 -6
  996. package/types/components/zd-master-detail/interfaces.d.ts +0 -10
  997. package/types/components/zd-master-detail/master-detail.d.ts +0 -43
  998. package/types/components/zd-master-detail/master-not-found.d.ts +0 -6
  999. package/types/components/zd-menu/interfaces.d.ts +0 -68
  1000. package/types/components/zd-menu/menu-button.d.ts +0 -28
  1001. package/types/components/zd-menu/menu-group.d.ts +0 -61
  1002. package/types/components/zd-menu/menu-link.d.ts +0 -50
  1003. package/types/components/zd-menu/menu-separator.d.ts +0 -7
  1004. package/types/components/zd-menu/menu.d.ts +0 -198
  1005. package/types/components/zd-modal/interfaces.d.ts +0 -37
  1006. package/types/components/zd-modal/modal-close-button.d.ts +0 -28
  1007. package/types/components/zd-modal/modal.d.ts +0 -61
  1008. package/types/components/zd-month/interfaces.d.ts +0 -6
  1009. package/types/components/zd-month/month.d.ts +0 -31
  1010. package/types/components/zd-number/interfaces.d.ts +0 -8
  1011. package/types/components/zd-number/number.d.ts +0 -60
  1012. package/types/components/zd-password/interfaces.d.ts +0 -6
  1013. package/types/components/zd-password/password.d.ts +0 -21
  1014. package/types/components/zd-progress/interfaces.d.ts +0 -12
  1015. package/types/components/zd-progress/progress.d.ts +0 -41
  1016. package/types/components/zd-radio/interfaces.d.ts +0 -11
  1017. package/types/components/zd-radio/radio.d.ts +0 -34
  1018. package/types/components/zd-range-slider/interfaces.d.ts +0 -34
  1019. package/types/components/zd-range-slider/range-slider.d.ts +0 -69
  1020. package/types/components/zd-row/interfaces.d.ts +0 -14
  1021. package/types/components/zd-row/row.d.ts +0 -43
  1022. package/types/components/zd-select/interfaces.d.ts +0 -29
  1023. package/types/components/zd-select/select.d.ts +0 -248
  1024. package/types/components/zd-select-multiple/interfaces.d.ts +0 -19
  1025. package/types/components/zd-select-multiple/select-multiple.d.ts +0 -116
  1026. package/types/components/zd-select-tree/interfaces.d.ts +0 -55
  1027. package/types/components/zd-select-tree/select-tree.d.ts +0 -181
  1028. package/types/components/zd-select-tree-multiple/interfaces.d.ts +0 -29
  1029. package/types/components/zd-select-tree-multiple/select-tree-multiple.d.ts +0 -87
  1030. package/types/components/zd-selectable-list/interfaces.d.ts +0 -15
  1031. package/types/components/zd-selectable-list/selectable-list.d.ts +0 -63
  1032. package/types/components/zd-speed-dial/interfaces.d.ts +0 -13
  1033. package/types/components/zd-speed-dial/speed-dial.d.ts +0 -47
  1034. package/types/components/zd-steppers/interfaces.d.ts +0 -23
  1035. package/types/components/zd-steppers/steppers.d.ts +0 -40
  1036. package/types/components/zd-svg-map/interfaces.d.ts +0 -26
  1037. package/types/components/zd-svg-map/svg-map.d.ts +0 -91
  1038. package/types/components/zd-switch/interfaces.d.ts +0 -7
  1039. package/types/components/zd-switch/switch.d.ts +0 -16
  1040. package/types/components/zd-table/interfaces.d.ts +0 -18
  1041. package/types/components/zd-table/table.d.ts +0 -43
  1042. package/types/components/zd-tabs/interfaces.d.ts +0 -26
  1043. package/types/components/zd-tabs/tab-not-found.d.ts +0 -11
  1044. package/types/components/zd-tabs/tab.d.ts +0 -15
  1045. package/types/components/zd-tabs/tabs.d.ts +0 -66
  1046. package/types/components/zd-tag/interfaces.d.ts +0 -7
  1047. package/types/components/zd-tag/tag.d.ts +0 -13
  1048. package/types/components/zd-text/interfaces.d.ts +0 -15
  1049. package/types/components/zd-text/text.d.ts +0 -16
  1050. package/types/components/zd-text-input/interfaces.d.ts +0 -23
  1051. package/types/components/zd-text-input/text-input.d.ts +0 -97
  1052. package/types/components/zd-textarea/interfaces.d.ts +0 -22
  1053. package/types/components/zd-textarea/textarea.d.ts +0 -75
  1054. package/types/components/zd-time/interfaces.d.ts +0 -23
  1055. package/types/components/zd-time/time-format-selector.d.ts +0 -8
  1056. package/types/components/zd-time/time.d.ts +0 -147
  1057. package/types/components/zd-toggleable/interfaces.d.ts +0 -6
  1058. package/types/components/zd-toggleable/toggleable.d.ts +0 -21
  1059. package/types/components/zd-tooltip/interfaces.d.ts +0 -19
  1060. package/types/components/zd-tooltip/tooltip.d.ts +0 -61
  1061. package/types/components/zd-tree/interfaces.d.ts +0 -78
  1062. package/types/components/zd-tree/tree.d.ts +0 -159
  1063. package/types/components/zd-tree-grid/interfaces.d.ts +0 -21
  1064. package/types/components/zd-tree-grid/tree-grid-editable.d.ts +0 -205
  1065. package/types/components/zd-tree-grid/tree-grid.d.ts +0 -111
  1066. package/types/formatters/column-zdselect.d.ts +0 -1
  1067. package/types/formatters/column-zdselectmultiple.d.ts +0 -1
  1068. package/types/formatters/index.d.ts +0 -2
  1069. package/types/index.d.ts +0 -6
  1070. package/types/services/index.d.ts +0 -4
  1071. package/types/services/zd-alert/alert-queue.d.ts +0 -13
  1072. package/types/services/zd-alert/alert-replace.d.ts +0 -5
  1073. package/types/services/zd-alert/alert-service.d.ts +0 -34
  1074. package/types/services/zd-alert/alert-stack.d.ts +0 -9
  1075. package/types/services/zd-alert/interfaces.d.ts +0 -6
  1076. package/types/services/zd-dialog/dialog-service.d.ts +0 -24
  1077. package/types/services/zd-json-cache/json-cache-service.d.ts +0 -12
  1078. package/types/services/zd-loading/loading-service.d.ts +0 -23
  1079. package/types/services/zd-modal/modal-service.d.ts +0 -39
  1080. package/types/utils/data-value-out/data-value-out.d.ts +0 -5
  1081. package/types/utils/data-value-out/index.d.ts +0 -2
  1082. package/types/utils/data-value-out/interfaces.d.ts +0 -8
  1083. package/types/utils/icons/icons.d.ts +0 -24
  1084. package/types/utils/index.d.ts +0 -6
  1085. package/types/utils/report/dataset-formatters/grouped-pdf-formatter.d.ts +0 -47
  1086. package/types/utils/report/dataset-formatters/index.d.ts +0 -1
  1087. package/types/utils/report/errors/empty-data-error.d.ts +0 -6
  1088. package/types/utils/report/index.d.ts +0 -10
  1089. package/types/utils/report/interfaces.d.ts +0 -15
  1090. package/types/utils/report/report-type/base-report.d.ts +0 -17
  1091. package/types/utils/report/report-type/csv-report.d.ts +0 -9
  1092. package/types/utils/report/report-type/index.d.ts +0 -5
  1093. package/types/utils/report/report-type/interfaces.d.ts +0 -79
  1094. package/types/utils/report/report-type/pdf-report.d.ts +0 -16
  1095. package/types/utils/report/report-type/report-column-transformer.d.ts +0 -9
  1096. package/types/utils/report/report-type/xls-report.d.ts +0 -10
  1097. package/types/utils/report/report-type/xls2-report.d.ts +0 -17
  1098. package/types/utils/report/report-type/xls3-report.d.ts +0 -17
  1099. package/types/utils/report/report.d.ts +0 -18
  1100. package/types/utils/themes/themes.d.ts +0 -71
  1101. package/types/utils/tree-data-structure/index.d.ts +0 -2
  1102. package/types/utils/tree-data-structure/interfaces.d.ts +0 -9
  1103. package/types/utils/tree-data-structure/tree-data-structure.d.ts +0 -152
  1104. package/types/utils/watch-url/watch-url.d.ts +0 -59
@@ -0,0 +1,1638 @@
1
+ import {
2
+ Config,
3
+ Datasource,
4
+ I18n,
5
+ IDictionary, IEventParam, KeyMap, Loader, Metadata,
6
+ SimpleControllerBuilder,
7
+ } from '@zeedhi/core';
8
+ import {
9
+ Button,
10
+ Grid, GridColumn,
11
+ IGridProps,
12
+ ConditionsManager,
13
+ } from '../../../../src';
14
+ import { mockLoaderGetInstance } from '../../__helpers__/mock-loader-get-instance';
15
+
16
+ const originalConfig = { ...Config };
17
+
18
+ const setupInstance = (props: Partial<IGridProps> = {}) => {
19
+ const instance = new Grid({
20
+ name: 'Grid',
21
+ component: 'ZdGrid',
22
+ columns: [
23
+ { name: 'first' },
24
+ { name: 'second' },
25
+ { name: 'third' },
26
+ ],
27
+ datasource: {
28
+ limit: 2,
29
+ page: 1,
30
+ data: [
31
+ { id: 1 },
32
+ { id: 2 },
33
+ { id: 3 },
34
+ { id: 4 },
35
+ { id: 5 },
36
+ { id: 6 },
37
+ { id: 7 },
38
+ ],
39
+ },
40
+ ...props,
41
+ });
42
+ const elem = document.createElement('DIV');
43
+ (KeyMap as any).isElementActive = () => true;
44
+ instance.onCreated();
45
+ instance.onMounted(elem);
46
+
47
+ return instance;
48
+ };
49
+
50
+ const clearInstance = (instance: Grid) => {
51
+ instance.onBeforeDestroy();
52
+ (KeyMap as any).isElementActive = () => false;
53
+ };
54
+
55
+ describe('Grid', () => {
56
+ beforeAll(() => {
57
+ Loader.setBuilder(new SimpleControllerBuilder());
58
+ });
59
+
60
+ describe('constructor()', () => {
61
+ it('should create new grid with default values', () => {
62
+ const instance = new Grid({ name: 'Grid', component: 'ZdGrid' });
63
+ expect(instance.columns).toEqual([]);
64
+ expect(instance.dense).toBeTruthy();
65
+ expect(instance.events).toEqual({});
66
+ expect(instance.footerSlot).toEqual([
67
+ {
68
+ name: 'Grid_iterablePagination',
69
+ component: 'ZdIterablePagination',
70
+ },
71
+ {
72
+ name: 'Grid_iterableInfoDiv',
73
+ component: 'ZdTag',
74
+ cssClass: 'zd-grid-div-footer',
75
+ tag: 'div',
76
+ children: [
77
+ {
78
+ name: 'Grid_iterablePageSize',
79
+ component: 'ZdIterablePageSize',
80
+ iterableComponentName: 'Grid',
81
+ },
82
+ {
83
+ name: 'Grid_iterablePageInfo',
84
+ component: 'ZdIterablePageInfo',
85
+ iterableComponentName: 'Grid',
86
+ },
87
+ ],
88
+ },
89
+ ]);
90
+ expect(instance.backgroundColor).toBe('transparent');
91
+ expect(instance.headerBackground).toBe('');
92
+ expect(instance.height).toBe('auto');
93
+ expect(instance.minHeight).toBe('auto');
94
+ expect(instance.maxHeight).toBe('none');
95
+ expect(instance.fillHeight).toBeFalsy();
96
+ expect(instance.width).toBe('100%');
97
+ expect(instance.minWidth).toBe('auto');
98
+ expect(instance.maxWidth).toBe('none');
99
+ expect(instance.pageSizes).toEqual(['5', '10', '25', '50']);
100
+ expect(instance.selectable).toBeFalsy();
101
+ expect(instance.showFooter).toBeTruthy();
102
+ expect(instance.showHeader).toBeTruthy();
103
+ expect(instance.toolbarSlot).toEqual([{ name: 'Grid_gridSearch', component: 'ZdSearch' }]);
104
+ expect(instance.disableSelection).toBeUndefined();
105
+ expect(instance.showSelectAll).toBeTruthy();
106
+ expect(instance.selectAllPages).toBeFalsy();
107
+ expect(instance.cellSelection).toBeFalsy();
108
+ });
109
+
110
+ it('should create new Grid replacing default values', () => {
111
+ const fn = jest.fn();
112
+ const instance = new Grid({
113
+ name: 'grid',
114
+ component: 'Grid',
115
+ columns: [{ name: 'id' }],
116
+ dense: false,
117
+ footerSlot: [{ name: 'button', component: 'ZdButton' }],
118
+ headerBackground: 'red',
119
+ backgroundColor: 'blue',
120
+ height: '400px',
121
+ maxHeight: '500px',
122
+ minHeight: '500px',
123
+ width: '400px',
124
+ maxWidth: '500px',
125
+ minWidth: '500px',
126
+ fillHeight: true,
127
+ pageSizes: ['6', '30'],
128
+ selectable: true,
129
+ showFooter: false,
130
+ showHeader: false,
131
+ toolbarSlot: [{ name: 'left', component: 'slot' }],
132
+ disableSelection: fn,
133
+ showSelectAll: false,
134
+ selectAllPages: true,
135
+ cellSelection: true,
136
+ });
137
+ expect(JSON.stringify(instance.columns)).toBe(JSON.stringify([new GridColumn({ name: 'id' })]));
138
+ expect(instance.dense).toBeFalsy();
139
+ expect(instance.footerSlot).toEqual([
140
+ { name: 'button', component: 'ZdButton' },
141
+ ]);
142
+ expect(instance.headerBackground).toBe('red');
143
+ expect(instance.backgroundColor).toBe('blue');
144
+ expect(instance.height).toBe('400px');
145
+ expect(instance.maxHeight).toBe('500px');
146
+ expect(instance.minHeight).toBe('500px');
147
+ expect(instance.width).toBe('400px');
148
+ expect(instance.maxWidth).toBe('500px');
149
+ expect(instance.minWidth).toBe('500px');
150
+ expect(instance.fillHeight).toBeTruthy();
151
+ expect(instance.pageSizes).toEqual(['6', '30']);
152
+ expect(instance.selectable).toBeTruthy();
153
+ expect(instance.showFooter).toBeFalsy();
154
+ expect(instance.showHeader).toBeFalsy();
155
+ expect(instance.toolbarSlot).toEqual([
156
+ { name: 'left', component: 'slot' },
157
+ ]);
158
+ expect(instance.disableSelection).toEqual(fn);
159
+ expect(instance.showSelectAll).toBeFalsy();
160
+ expect(instance.selectAllPages).toBeTruthy();
161
+ expect(instance.cellSelection).toBeTruthy();
162
+ });
163
+
164
+ it('should create new grid with change default slot names', () => {
165
+ const instance = new Grid({
166
+ name: 'Grid',
167
+ component: 'ZdGrid',
168
+ footerSlot: [
169
+ { name: 'iterablePagination', component: 'ZdIterablePagination' },
170
+ { name: 'iterablePageSize', component: 'ZdIterablePageSize' },
171
+ { name: 'iterablePageInfo', component: 'ZdIterablePageInfo' },
172
+ ],
173
+ toolbarSlot: [{ name: 'gridSearch', component: 'ZdSearch' }],
174
+ });
175
+ expect(instance.footerSlot).toEqual([
176
+ { name: 'iterablePagination', component: 'ZdIterablePagination' },
177
+ { name: 'iterablePageSize', component: 'ZdIterablePageSize' },
178
+ { name: 'iterablePageInfo', component: 'ZdIterablePageInfo' },
179
+ ]);
180
+ expect(instance.toolbarSlot).toEqual([{ name: 'gridSearch', component: 'ZdSearch' }]);
181
+ });
182
+
183
+ it('should not add action columns in datasource searchIn', () => {
184
+ const instance = setupInstance({
185
+ name: 'iterable',
186
+ component: 'Iterable',
187
+ pageSizes: [],
188
+ columns: [
189
+ { name: 'column', component: 'Column' },
190
+ { name: 'actionColumn', component: 'Column', type: 'action' },
191
+ { name: 'column2', component: 'Column' },
192
+ { name: 'actionColumn2', component: 'Column', type: 'action' },
193
+ ],
194
+ datasource: {
195
+ data: [
196
+ { name: 'name', value: 'value' },
197
+ ],
198
+ },
199
+ });
200
+ expect(instance.datasource.searchIn).toEqual(['column', 'column2']);
201
+ });
202
+
203
+ it('should not add hidden columns in datasource searchIn', () => {
204
+ const instance = setupInstance({
205
+ name: 'iterable',
206
+ component: 'Iterable',
207
+ pageSizes: [],
208
+ columns: [
209
+ { name: 'column', component: 'Column' },
210
+ { name: 'hiddenColumn', component: 'Column', isVisible: false },
211
+ { name: 'column2', component: 'Column' },
212
+ { name: 'hiddenColumn2', component: 'Column', isVisible: false },
213
+ ],
214
+ datasource: {
215
+ data: [
216
+ { name: 'name', value: 'value' },
217
+ ],
218
+ },
219
+ });
220
+ expect(instance.datasource.searchIn).toEqual(['column', 'column2']);
221
+ });
222
+
223
+ it('should add hidden columns in datasource searchIn if searchVisibleOnly is false', () => {
224
+ const instance = setupInstance({
225
+ name: 'iterable',
226
+ component: 'Iterable',
227
+ searchVisibleOnly: false,
228
+ pageSizes: [],
229
+ columns: [
230
+ { name: 'column', component: 'Column' },
231
+ { name: 'hiddenColumn', component: 'Column', isVisible: false },
232
+ { name: 'column2', component: 'Column' },
233
+ { name: 'hiddenColumn2', component: 'Column', isVisible: false },
234
+ ],
235
+ datasource: {
236
+ data: [
237
+ { name: 'name', value: 'value' },
238
+ ],
239
+ },
240
+ });
241
+ expect(instance.datasource.searchIn).toEqual(['column', 'hiddenColumn', 'column2', 'hiddenColumn2']);
242
+ });
243
+
244
+ it('when a column becomes visible, should add it to searchIn', () => {
245
+ const instance = setupInstance({
246
+ name: 'iterable',
247
+ component: 'Iterable',
248
+ pageSizes: [],
249
+ columns: [
250
+ { name: 'column', component: 'Column' },
251
+ { name: 'hiddenColumn', component: 'Column', isVisible: false },
252
+ ],
253
+ datasource: {
254
+ data: [
255
+ { name: 'name', value: 'value' },
256
+ ],
257
+ },
258
+ });
259
+ expect(instance.datasource.searchIn).toEqual(['column']);
260
+
261
+ instance.columns[1].isVisible = true;
262
+ expect(instance.datasource.searchIn).toEqual(['column', 'hiddenColumn']);
263
+
264
+ instance.datasource.searchIn = ['column'];
265
+ expect(instance.datasource.searchIn).toEqual(['column']);
266
+ });
267
+
268
+ it('should add hidden columns in datasource searchIn if Config.iterableSearchVisibleOnly is false', () => {
269
+ Config.set({ iterableSearchVisibleOnly: false });
270
+ const instance = setupInstance({
271
+ name: 'iterable',
272
+ component: 'Iterable',
273
+ pageSizes: [],
274
+ columns: [
275
+ { name: 'column', component: 'Column' },
276
+ { name: 'hiddenColumn', component: 'Column', isVisible: false },
277
+ { name: 'column2', component: 'Column' },
278
+ { name: 'hiddenColumn2', component: 'Column', isVisible: false },
279
+ ],
280
+ datasource: {
281
+ data: [
282
+ { name: 'name', value: 'value' },
283
+ ],
284
+ },
285
+ });
286
+ expect(instance.datasource.searchIn).toEqual(['column', 'hiddenColumn', 'column2', 'hiddenColumn2']);
287
+ Config.set(originalConfig);
288
+ });
289
+
290
+ it('should set defaultSearchVisibleOnly as true when Config.iterableSearchVisibleOnly is undefined', () => {
291
+ Config.set({ iterableSearchVisibleOnly: undefined });
292
+ const instance = setupInstance();
293
+ expect(instance.defaultSearchVisibleOnly).toBeTruthy();
294
+ Config.set(originalConfig);
295
+ });
296
+
297
+ it('should create new Iterable with accessor datasource', () => {
298
+ const controller = {
299
+ datasource: {
300
+ uniqueKey: 'id',
301
+ data: [{ id: '1' }],
302
+ }
303
+ }
304
+ mockLoaderGetInstance(controller);
305
+
306
+ const instance = setupInstance({
307
+ name: 'iterable',
308
+ component: 'Iterable',
309
+ datasource: '{{Controller.datasource}}' as any,
310
+ });
311
+
312
+ expect(instance.datasource).toBeInstanceOf(Datasource);
313
+ expect(instance.datasource.data).toEqual([{ id: '1' }]);
314
+ });
315
+ });
316
+
317
+ describe('changeColumnOrder()', () => {
318
+ it('should order by id column', () => {
319
+ const instance = setupInstance({
320
+ name: 'Grid',
321
+ component: 'ZdGrid',
322
+ columns: [
323
+ { name: 'id' },
324
+ ],
325
+ });
326
+
327
+ const idColumn = instance.columns[0] as GridColumn;
328
+ instance.changeOrder([{ key: idColumn.name, order: 'asc' }]);
329
+ expect(instance.datasource.getOrderByColumn(idColumn.name)).toBe('asc');
330
+ });
331
+ });
332
+
333
+ describe('rowClick', () => {
334
+ it('should call rowClick event', () => {
335
+ jest.resetAllMocks();
336
+ let rowClicked = false;
337
+ const instance = setupInstance({
338
+ name: 'Grid',
339
+ component: 'ZdGrid',
340
+ datasource: {
341
+ limit: 2,
342
+ page: 1,
343
+ data: [
344
+ { id: 1 },
345
+ { id: 2 },
346
+ ],
347
+ },
348
+ });
349
+ const event = new MouseEvent('click');
350
+ const element = document.createElement('div');
351
+ instance.rowClick({ id: 1 }, event, element);
352
+ expect(instance.datasource.currentRow).toEqual({ id: 1 });
353
+ expect(rowClicked).toBeFalsy();
354
+
355
+ instance.events.rowClick = () => { rowClicked = true; };
356
+
357
+ instance.rowClick({ id: 2 }, event, element);
358
+ expect(instance.datasource.currentRow).toEqual({ id: 2 });
359
+ expect(rowClicked).toBeTruthy();
360
+ });
361
+ });
362
+
363
+ describe('cellClick', () => {
364
+ it('should call cellClick event', () => {
365
+ const controller = {
366
+ filter: { id: '1' },
367
+ };
368
+ mockLoaderGetInstance(controller);
369
+ let cellClicked = '';
370
+ const instance = new Grid({
371
+ name: 'Grid',
372
+ component: 'ZdGrid',
373
+ columns: [
374
+ { name: 'id' },
375
+ ],
376
+ datasource: {
377
+ limit: 2,
378
+ page: 1,
379
+ filter: '{{AppController.filter}}' as Object,
380
+ data: [
381
+ { id: 1 },
382
+ ],
383
+ },
384
+ events: {
385
+ cellClick: ({ column }: any) => { cellClicked = column.name; },
386
+ },
387
+ });
388
+ instance.onCreated();
389
+ const event = new MouseEvent('click');
390
+ const element = document.createElement('div');
391
+ instance.cellClick({ id: 1 }, instance.columns[0] as GridColumn, event, element);
392
+ expect(instance.datasource.currentRow).toEqual({});
393
+ expect(instance.datasource.filter).toEqual({ id: '1' });
394
+ expect(cellClicked).toBe('id');
395
+ });
396
+
397
+ it('should call rowClick after cellClick event', () => {
398
+ let cellClicked = '';
399
+ let rowClicked = false;
400
+ const instance = setupInstance({
401
+ name: 'Grid',
402
+ component: 'ZdGrid',
403
+ columns: [
404
+ { name: 'id' },
405
+ ],
406
+ datasource: {
407
+ limit: 2,
408
+ page: 1,
409
+ data: [
410
+ { id: 1 },
411
+ ],
412
+ },
413
+ events: {
414
+ rowClick: () => { rowClicked = true; },
415
+ cellClick: ({ column }: any) => { cellClicked = column.name; },
416
+ },
417
+ });
418
+ const event = new MouseEvent('click');
419
+ const element = document.createElement('div');
420
+ instance.cellClick({ id: 1 }, instance.columns[0] as GridColumn, event, element);
421
+ instance.rowClick({ id: 1 }, event, element);
422
+ expect(instance.datasource.currentRow).toEqual({ id: 1 });
423
+ expect(cellClicked).toBe('id');
424
+ expect(rowClicked).toBeTruthy();
425
+ });
426
+
427
+ it('should not call rowClick if cellClick prevents it', () => {
428
+ let cellClicked = '';
429
+ let rowClicked = false;
430
+ const instance = setupInstance({
431
+ name: 'Grid',
432
+ component: 'ZdGrid',
433
+ columns: [
434
+ { name: 'id' },
435
+ ],
436
+ datasource: {
437
+ limit: 2,
438
+ page: 1,
439
+ data: [
440
+ { id: 1 },
441
+ ],
442
+ },
443
+ events: {
444
+ rowClick: () => { rowClicked = true; },
445
+ cellClick: ({ column }: any) => {
446
+ cellClicked = column.name;
447
+ return true;
448
+ },
449
+ },
450
+ });
451
+ const event = new MouseEvent('click');
452
+ const element = document.createElement('div');
453
+ instance.cellClick({ id: 1 }, instance.columns[0] as GridColumn, event, element);
454
+ instance.rowClick({ id: 1 }, event, element);
455
+ expect(instance.datasource.currentRow).toEqual({});
456
+ expect(cellClicked).toBe('id');
457
+ expect(rowClicked).toBeFalsy();
458
+ });
459
+
460
+ it('should not call rowClick', () => {
461
+ let rowClicked = false;
462
+ const instance = new Grid({
463
+ name: 'Grid',
464
+ component: 'ZdGrid',
465
+ columns: [
466
+ { name: 'id' },
467
+ ],
468
+ datasource: {
469
+ limit: 2,
470
+ page: 1,
471
+ data: [
472
+ { id: 1 },
473
+ ],
474
+ },
475
+ events: {
476
+ rowClick: () => { rowClicked = true; },
477
+ },
478
+ });
479
+ const event = new MouseEvent('click');
480
+ const element = document.createElement('div');
481
+ instance.cellClick({ id: 1 }, instance.columns[0] as GridColumn, event, element);
482
+ expect(rowClicked).toBeFalsy();
483
+ });
484
+ });
485
+
486
+ describe('selectClick', () => {
487
+ it('should call selected/unselected events', () => {
488
+ const selectedFn = jest.fn();
489
+ const unselectedFn = jest.fn();
490
+ const instance = new Grid({
491
+ name: 'Grid',
492
+ component: 'ZdGrid',
493
+ datasource: {
494
+ limit: 2,
495
+ page: 1,
496
+ data: [
497
+ { id: 1 },
498
+ ],
499
+ },
500
+ events: {
501
+ selected: selectedFn,
502
+ unselected: unselectedFn,
503
+ },
504
+ });
505
+ const event = new MouseEvent('click');
506
+ const element = document.createElement('div');
507
+ instance.selectClick({ id: 1 }, true, event, element);
508
+ expect(selectedFn).toHaveBeenCalled();
509
+ instance.selectClick({ id: 1 }, false, event, element);
510
+ expect(unselectedFn).toHaveBeenCalled();
511
+ });
512
+ });
513
+
514
+ describe('selectAllClick', () => {
515
+ it('should call selectedAll/unselectedAll events', () => {
516
+ const selectedAllFn = jest.fn();
517
+ const unselectedAllFn = jest.fn();
518
+ const instance = new Grid({
519
+ name: 'Grid',
520
+ component: 'ZdGrid',
521
+ datasource: {
522
+ limit: 2,
523
+ page: 1,
524
+ data: [
525
+ { id: 1 },
526
+ ],
527
+ },
528
+ events: {
529
+ selectedAll: selectedAllFn,
530
+ unselectedAll: unselectedAllFn,
531
+ },
532
+ });
533
+ const event = new MouseEvent('click');
534
+ const element = document.createElement('div');
535
+ instance.selectAllClick(true, event, element);
536
+ expect(selectedAllFn).toHaveBeenCalled();
537
+ instance.selectAllClick(false, event, element);
538
+ expect(unselectedAllFn).toHaveBeenCalled();
539
+ });
540
+ });
541
+
542
+ describe('navigation', () => {
543
+ const dispatchEvent = (key: string, modifiers: any) => {
544
+ const event = new KeyboardEvent('keydown', modifiers);
545
+ delete (event as any).key;
546
+ Object.defineProperty(event, 'key', { value: key });
547
+ delete (event as any).code;
548
+ Object.defineProperty(event, 'code', { value: key });
549
+ document.dispatchEvent(event);
550
+ };
551
+
552
+ it('should navigate through grid lines using keys', () => {
553
+ const instance = setupInstance();
554
+
555
+ instance.navigateDatasource('down');
556
+ expect(instance.datasource.currentRow).toEqual({ id: 1 });
557
+ instance.navigateDatasource('down');
558
+ expect(instance.datasource.currentRow).toEqual({ id: 2 });
559
+ instance.navigateDatasource('down');
560
+ expect(instance.datasource.page).toBe(2);
561
+
562
+ instance.navigateDatasource('up');
563
+ expect(instance.datasource.currentRow).toEqual({ id: 4 });
564
+ instance.navigateDatasource('up');
565
+ expect(instance.datasource.currentRow).toEqual({ id: 3 });
566
+ instance.navigateDatasource('up');
567
+ expect(instance.datasource.page).toBe(1);
568
+
569
+ dispatchEvent('pagedown', {}); // page down
570
+ expect(instance.datasource.page).toBe(1);
571
+ dispatchEvent('pageup', {}); // page up
572
+ expect(instance.datasource.page).toBe(2);
573
+ dispatchEvent('pageup', {}); // page up
574
+ expect(instance.datasource.page).toBe(3);
575
+ dispatchEvent('pageup', {}); // page up
576
+ expect(instance.datasource.page).toBe(4);
577
+ dispatchEvent('pageup', {}); // page up
578
+ expect(instance.datasource.page).toBe(4);
579
+ dispatchEvent('pagedown', {}); // page down
580
+ expect(instance.datasource.page).toBe(3);
581
+
582
+ clearInstance(instance);
583
+ });
584
+
585
+ it('when using cellSelection, should navigate using viewNavigate', () => {
586
+ const instance = setupInstance({ cellSelection: true });
587
+ const fn = jest.fn();
588
+ instance.setViewNavigate(fn);
589
+
590
+ dispatchEvent('arrowright', {});
591
+ expect(fn).toHaveBeenLastCalledWith('right', expect.any(Object));
592
+ dispatchEvent('arrowleft', {});
593
+ expect(fn).toHaveBeenLastCalledWith('left', expect.any(Object));
594
+ dispatchEvent('arrowup', {});
595
+ expect(fn).toHaveBeenLastCalledWith('up');
596
+ dispatchEvent('arrowdown', {});
597
+ expect(fn).toHaveBeenLastCalledWith('down');
598
+ dispatchEvent('enter', {});
599
+ expect(fn).toHaveBeenLastCalledWith('down');
600
+ dispatchEvent('shift+enter', {});
601
+ expect(fn).toHaveBeenLastCalledWith('up');
602
+ dispatchEvent('tab', {});
603
+ expect(fn).toHaveBeenLastCalledWith('right', expect.any(Object));
604
+ dispatchEvent('shift+tab', {});
605
+ expect(fn).toHaveBeenLastCalledWith('left', expect.any(Object));
606
+
607
+ clearInstance(instance);
608
+ });
609
+
610
+ it('when using cellSelection, if viewNavigate is not defined, should do nothing', () => {
611
+ const instance = setupInstance({ cellSelection: true });
612
+
613
+ expect(() => instance.navigateDown()).not.toThrow();
614
+ expect(() => instance.navigateLeft({} as IEventParam<any>)).not.toThrow();
615
+ expect(() => instance.navigateRight({} as IEventParam<any>)).not.toThrow();
616
+ expect(() => instance.navigateUp()).not.toThrow();
617
+
618
+ clearInstance(instance);
619
+ });
620
+
621
+ it('when not using cellSelection, horizontal navigation should not call viewNavigator', () => {
622
+ const instance = setupInstance();
623
+ const fn = jest.fn();
624
+ instance.setViewNavigate(fn);
625
+
626
+ dispatchEvent('arrowright', {});
627
+ expect(fn).not.toHaveBeenCalled();
628
+ dispatchEvent('arrowleft', {});
629
+ expect(fn).not.toHaveBeenCalled();
630
+
631
+ clearInstance(instance);
632
+ });
633
+ });
634
+
635
+ describe('deleteRows()', () => {
636
+ it('should delete selected rows', async () => {
637
+ const instance = new Grid({
638
+ name: 'Grid',
639
+ component: 'ZdGrid',
640
+ columns: [
641
+ {
642
+ name: 'name',
643
+ align: 'right',
644
+ },
645
+ ],
646
+ datasource: {
647
+ data: [
648
+ { id: '1', name: 'name1' },
649
+ { id: '2', name: 'name2' },
650
+ { id: '3', name: 'name3' },
651
+ ],
652
+ },
653
+ });
654
+ instance.onCreated();
655
+
656
+ instance.selectedRows = [{ id: '1', name: 'name1' }, { id: '3', name: 'name3' }];
657
+
658
+ await instance.deleteRows();
659
+ expect(instance.datasource.data).toEqual([
660
+ { id: '2', name: 'name2' },
661
+ ]);
662
+ });
663
+
664
+ it('when deleteRows is called with selectAllPages, should throw', async () => {
665
+ const instance = new Grid({
666
+ name: 'Grid',
667
+ component: 'ZdGrid',
668
+ selectAllPages: true,
669
+ columns: [{
670
+ name: 'name',
671
+ align: 'right',
672
+ }],
673
+ datasource: {
674
+ data: [
675
+ { id: '1', name: 'name1' },
676
+ { id: '2', name: 'name2' },
677
+ { id: '3', name: 'name3' },
678
+ ],
679
+ },
680
+ });
681
+
682
+ expect(instance.deleteRows()).rejects.toThrow();
683
+ });
684
+ });
685
+
686
+ describe('getActionComponent()', () => {
687
+ afterEach(() => {
688
+ jest.resetAllMocks();
689
+ });
690
+
691
+ it('should return action component', () => {
692
+ const clickFn = jest.fn();
693
+ const instance = setupInstance({
694
+ name: 'Grid',
695
+ component: 'ZdGrid',
696
+ columns: [
697
+ {
698
+ name: 'id',
699
+ label: 'ID',
700
+ sortable: false,
701
+ },
702
+ {
703
+ name: 'name',
704
+ label: 'Name',
705
+ },
706
+ {
707
+ name: 'action1',
708
+ type: 'action',
709
+ children: [
710
+ {
711
+ name: 'btn',
712
+ component: 'ZdButton',
713
+ icon: true,
714
+ small: true,
715
+ iconName: 'emailOutline',
716
+ conditions: {
717
+ color: () => 'green',
718
+ },
719
+ events: {
720
+ click: clickFn,
721
+ },
722
+ },
723
+ ],
724
+ },
725
+ ],
726
+ datasource: {
727
+ data: [
728
+ { id: '1', name: 'name1' },
729
+ ],
730
+ },
731
+ });
732
+
733
+ let comp: any = instance.getActionComponent(
734
+ instance.columns[2].children[0],
735
+ instance.columns[2] as GridColumn,
736
+ instance.datasource.data[0],
737
+ );
738
+ expect(comp.color).toBeUndefined();
739
+
740
+ instance.reapplyConditions(instance.datasource.data[0]);
741
+ comp = instance.getActionComponent(
742
+ instance.columns[2].children[0],
743
+ instance.columns[2] as GridColumn,
744
+ instance.datasource.data[0],
745
+ );
746
+ comp.events.click({ component: new Button(comp), event: 'click' });
747
+ expect(clickFn).toBeTruthy();
748
+ expect(comp.color).toBe('green');
749
+ });
750
+
751
+ it('should return action compEvents is click', () => {
752
+ const clickFn = jest.fn();
753
+ const instance = setupInstance({
754
+ name: 'Grid',
755
+ component: 'ZdGrid',
756
+ columns: [
757
+ {
758
+ name: 'id',
759
+ label: 'ID',
760
+ sortable: false,
761
+ },
762
+ {
763
+ name: 'name',
764
+ label: 'Name',
765
+ },
766
+ {
767
+ name: 'action1',
768
+ type: 'action',
769
+ children: [
770
+ {
771
+ name: 'btn',
772
+ component: 'ZdButton',
773
+ events: {},
774
+ },
775
+ ],
776
+ },
777
+ ],
778
+ datasource: {
779
+ data: [
780
+ { id: '1', name: 'name1' },
781
+ ],
782
+ },
783
+ });
784
+
785
+ instance.reapplyConditions(instance.datasource.data[0]);
786
+ const comp: any = instance
787
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
788
+ if (comp.events.click) {
789
+ comp.events.click({ component: new Button(comp), event: 'click' });
790
+ expect(clickFn).toBeTruthy();
791
+ }
792
+ });
793
+
794
+ it('should return action component new event', () => {
795
+ const clickFn = jest.fn();
796
+ const instance = setupInstance({
797
+ name: 'Grid',
798
+ component: 'ZdGrid',
799
+ columns: [
800
+ {
801
+ name: 'id',
802
+ label: 'ID',
803
+ sortable: false,
804
+ },
805
+ {
806
+ name: 'name',
807
+ label: 'Name',
808
+ },
809
+ {
810
+ name: 'action1',
811
+ type: 'action',
812
+ children: [
813
+ {
814
+ name: 'btn',
815
+ component: 'ZdButton',
816
+ newComponent: {
817
+ name: 'btnComp',
818
+ component: 'ZdButton',
819
+ events: {
820
+ click: clickFn,
821
+ },
822
+ },
823
+ },
824
+ ],
825
+ },
826
+ ],
827
+ datasource: {
828
+ data: [
829
+ { id: '1', name: 'name1' },
830
+ ],
831
+ },
832
+ });
833
+
834
+ instance.reapplyConditions(instance.datasource.data[0]);
835
+ const comp: any = instance
836
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
837
+ const newBtn = new Button(comp);
838
+ comp.newComponent.events.click({ component: newBtn });
839
+ expect(clickFn).toHaveBeenCalled();
840
+ });
841
+
842
+ it('should return action component new event in activator', () => {
843
+ const clickFn = jest.fn();
844
+ const instance = setupInstance({
845
+ name: 'Grid',
846
+ component: 'ZdGrid',
847
+ columns: [
848
+ {
849
+ name: 'id',
850
+ label: 'ID',
851
+ sortable: false,
852
+ },
853
+ {
854
+ name: 'name',
855
+ label: 'Name',
856
+ },
857
+ {
858
+ name: 'action1',
859
+ type: 'action',
860
+ children: [
861
+ {
862
+ name: 'action1',
863
+ type: 'action',
864
+ children: [
865
+ {
866
+ name: 'btnComp',
867
+ component: 'ZdDropdown',
868
+ activator: {
869
+ name: 'activatorDropdown',
870
+ component: 'Button',
871
+ label: 'Dropdown',
872
+ events: {
873
+ click: clickFn,
874
+ },
875
+ },
876
+ children: [
877
+ {
878
+ name: 'FlatButton1',
879
+ component: 'ZdButton',
880
+ label: 'Flat 1',
881
+ flat: true,
882
+ events: {
883
+ click: clickFn,
884
+ },
885
+ },
886
+ ],
887
+ },
888
+ ],
889
+ },
890
+ ],
891
+ },
892
+ ],
893
+ datasource: {
894
+ data: [
895
+ { id: '1', name: 'name1' },
896
+ ],
897
+ },
898
+ });
899
+
900
+ const comp: any = instance.getActionComponent(
901
+ instance.columns[2].children[0],
902
+ instance.columns[2] as GridColumn,
903
+ instance.datasource.data[0],
904
+ );
905
+ const newBtn = new Button(comp.children[0].activator);
906
+ comp.children[0].activator.events.click({ component: newBtn });
907
+ expect(clickFn).toHaveBeenCalled();
908
+ });
909
+
910
+ it('should call update instance when the action component already exists', () => {
911
+ const clickFn = jest.fn();
912
+ const spy = jest.spyOn(Metadata, 'updateInstance');
913
+ const instance = setupInstance({
914
+ name: 'Grid',
915
+ component: 'ZdGrid',
916
+ columns: [
917
+ {
918
+ name: 'id',
919
+ label: 'ID',
920
+ sortable: false,
921
+ },
922
+ {
923
+ name: 'name',
924
+ label: 'Name',
925
+ },
926
+ {
927
+ name: 'action1',
928
+ type: 'action',
929
+ children: [
930
+ {
931
+ name: 'btnComp',
932
+ component: 'ZdButton',
933
+ events: {
934
+ click: clickFn,
935
+ },
936
+ },
937
+ ],
938
+ },
939
+ ],
940
+ datasource: {
941
+ data: [
942
+ { id: '1', name: 'name1' },
943
+ ],
944
+ },
945
+ });
946
+
947
+ instance.reapplyConditions(instance.datasource.data[0]);
948
+ const comp: any = instance
949
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
950
+ const newBtn = new Button(comp);
951
+ Metadata.addInstance(newBtn, newBtn.allowDuplicate);
952
+
953
+ instance
954
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
955
+ newBtn.click({} as Event, {} as HTMLElement);
956
+ expect(clickFn).toHaveBeenCalled();
957
+ expect(spy).toHaveBeenCalledTimes(2);
958
+ expect(spy).toHaveBeenLastCalledWith('btnComp_1', {
959
+ name: 'btnComp_1',
960
+ component: 'ZdButton',
961
+ allowDuplicate: true,
962
+ autoRegister: false,
963
+ children: [],
964
+ });
965
+ });
966
+
967
+ it('should return action component of nested components', () => {
968
+ const clickFn = jest.fn();
969
+ const instance = setupInstance({
970
+ name: 'Grid',
971
+ component: 'ZdGrid',
972
+ columns: [
973
+ {
974
+ name: 'id',
975
+ label: 'ID',
976
+ sortable: false,
977
+ },
978
+ {
979
+ name: 'name',
980
+ label: 'Name',
981
+ },
982
+ {
983
+ name: 'action1',
984
+ type: 'action',
985
+ children: [
986
+ {
987
+ name: 'tooltip-1',
988
+ component: 'ZdTooltip',
989
+ children: [
990
+ {
991
+ name: 'btn-1',
992
+ component: 'ZdButton',
993
+ conditions: {
994
+ color: () => 'green',
995
+ },
996
+ events: {
997
+ click: clickFn,
998
+ },
999
+ },
1000
+ ],
1001
+ },
1002
+ ],
1003
+ },
1004
+ ],
1005
+ datasource: {
1006
+ data: [
1007
+ { id: '1', name: 'name1' },
1008
+ ],
1009
+ },
1010
+ });
1011
+
1012
+ instance.reapplyConditions(instance.datasource.data[0]);
1013
+ const comp: any = instance
1014
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
1015
+
1016
+ const button = new Button(comp.children[0]);
1017
+ const event = new Event('click');
1018
+ button.click(event, {});
1019
+
1020
+ expect(button.color).toBe('green');
1021
+ expect(clickFn).toHaveBeenCalledWith({
1022
+ event,
1023
+ component: button,
1024
+ element: {},
1025
+ row: instance.datasource.data[0],
1026
+ column: instance.columns[2],
1027
+ });
1028
+ });
1029
+
1030
+ it('action conditions should override action properties', () => {
1031
+ const instance = setupInstance({
1032
+ name: 'Grid',
1033
+ component: 'ZdGrid',
1034
+ columns: [
1035
+ {
1036
+ name: 'id',
1037
+ label: 'ID',
1038
+ sortable: false,
1039
+ },
1040
+ {
1041
+ name: 'name',
1042
+ label: 'Name',
1043
+ },
1044
+ {
1045
+ name: 'action1',
1046
+ type: 'action',
1047
+ children: [
1048
+ {
1049
+ name: 'btn-1',
1050
+ component: 'ZdButton',
1051
+ color: 'blue',
1052
+ cssStyle: {
1053
+ padding: 0,
1054
+ backgroundColor: 'blue',
1055
+ },
1056
+ conditions: {
1057
+ color: () => 'green',
1058
+ cssStyle: {
1059
+ backgroundColor: () => 'green',
1060
+ },
1061
+ },
1062
+ },
1063
+ ],
1064
+ },
1065
+ ],
1066
+ datasource: {
1067
+ data: [
1068
+ { id: '1', name: 'name1' },
1069
+ ],
1070
+ },
1071
+ });
1072
+
1073
+ instance.reapplyConditions(instance.datasource.data[0]);
1074
+ const comp: any = instance
1075
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
1076
+
1077
+ const button: any = new Button(comp);
1078
+
1079
+ expect(button.color).toBe('green');
1080
+ expect(button.cssStyle).toEqual({ padding: 0, backgroundColor: 'green' });
1081
+ });
1082
+
1083
+ it('should call update instance despite having accessors in the action', () => {
1084
+ const controller = {
1085
+ get visible() {
1086
+ return true;
1087
+ },
1088
+ };
1089
+ mockLoaderGetInstance(controller);
1090
+ const clickFn = jest.fn();
1091
+ const spy = jest.spyOn(Metadata, 'updateInstance');
1092
+ const instance = setupInstance({
1093
+ name: 'Grid',
1094
+ component: 'ZdGrid',
1095
+ columns: [
1096
+ {
1097
+ name: 'id',
1098
+ label: 'ID',
1099
+ sortable: false,
1100
+ },
1101
+ {
1102
+ name: 'name',
1103
+ label: 'Name',
1104
+ },
1105
+ {
1106
+ name: 'action1',
1107
+ type: 'action',
1108
+ children: [
1109
+ {
1110
+ name: 'btnComp',
1111
+ component: 'ZdButton',
1112
+ isVisible: '{{AppController.visible}}',
1113
+ events: {
1114
+ click: clickFn,
1115
+ },
1116
+ },
1117
+ ],
1118
+ },
1119
+ ],
1120
+ datasource: {
1121
+ data: [
1122
+ { id: '1', name: 'name1' },
1123
+ ],
1124
+ },
1125
+ });
1126
+
1127
+ instance.reapplyConditions(instance.datasource.data[0]);
1128
+ const comp: any = instance
1129
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
1130
+ const newBtn = new Button(comp);
1131
+ Metadata.addInstance(newBtn, newBtn.allowDuplicate);
1132
+
1133
+ instance
1134
+ .getActionComponent(instance.columns[2].children[0], instance.columns[2] as GridColumn, instance.datasource.data[0]);
1135
+ newBtn.click({} as Event, {} as HTMLElement);
1136
+ expect(clickFn).toHaveBeenCalled();
1137
+ expect(spy).toHaveBeenCalledTimes(2);
1138
+ expect(spy).toHaveBeenLastCalledWith('btnComp_1', {
1139
+ name: 'btnComp_1',
1140
+ component: 'ZdButton',
1141
+ autoRegister: false,
1142
+ allowDuplicate: true,
1143
+ children: [],
1144
+ });
1145
+ });
1146
+ });
1147
+
1148
+ describe('callDisableSelection', () => {
1149
+ it('when called, should call disableSelection function', () => {
1150
+ const disableSelection = jest.fn();
1151
+ const instance = new Grid({
1152
+ name: 'grid',
1153
+ component: 'ZdGrid',
1154
+ disableSelection,
1155
+ datasource: {
1156
+ data: [
1157
+ { id: 1 },
1158
+ { id: 2 },
1159
+ ],
1160
+ },
1161
+ });
1162
+
1163
+ instance.callDisableSelection({ id: 1 });
1164
+ expect(disableSelection).toHaveBeenCalledWith({ row: { id: 1 }, component: instance });
1165
+
1166
+ instance.callDisableSelection({ id: 2 });
1167
+ expect(disableSelection).toHaveBeenCalledWith({ row: { id: 2 }, component: instance });
1168
+
1169
+ expect(disableSelection).toHaveBeenCalledTimes(2);
1170
+ });
1171
+ });
1172
+
1173
+ describe('selectAll', () => {
1174
+ it('Should select all rows', () => {
1175
+ const data = [
1176
+ { id: '1', name: 'First', department: 1 },
1177
+ { id: '2', name: 'Second', department: 1 },
1178
+ { id: '3', name: 'Third', department: 1 },
1179
+ ];
1180
+ const disabledRows = ({ row }: any) => {
1181
+ if (row.id === '2') return true;
1182
+ return false;
1183
+ };
1184
+ const grid = setupInstance({
1185
+ name: 'grid',
1186
+ component: 'TekGrid',
1187
+ selectable: true,
1188
+ disableSelection: disabledRows,
1189
+ columns: [
1190
+ { name: 'id' },
1191
+ { name: 'name' },
1192
+ { name: 'department', grouped: true },
1193
+ ],
1194
+ datasource: {
1195
+ uniqueKey: 'id',
1196
+ data,
1197
+ },
1198
+ });
1199
+
1200
+ grid.selectAll(true);
1201
+
1202
+ expect(grid.selectedRows.length).toBe(2);
1203
+
1204
+ grid.selectAll(false);
1205
+
1206
+ expect(grid.selectedRows.length).toBe(0);
1207
+ });
1208
+
1209
+ it('Should not select all rows when grid is not selectable', () => {
1210
+ const data = [
1211
+ { id: '1', name: 'First', department: 1 },
1212
+ { id: '2', name: 'Second', department: 1 },
1213
+ { id: '3', name: 'Third', department: 1 },
1214
+ ];
1215
+ const grid = new Grid({
1216
+ name: 'grid',
1217
+ component: 'TekGrid',
1218
+ selectable: false,
1219
+ columns: [
1220
+ { name: 'id' },
1221
+ { name: 'name' },
1222
+ { name: 'department', grouped: true },
1223
+ ],
1224
+ datasource: {
1225
+ uniqueKey: 'id',
1226
+ data,
1227
+ },
1228
+ });
1229
+
1230
+ grid.selectAll(true);
1231
+
1232
+ expect(grid.selectedRows.length).toBe(0);
1233
+ });
1234
+ });
1235
+
1236
+ describe('selectRow', () => {
1237
+ it('when selectRow is called, should change the selection of a row', () => {
1238
+ const data = [
1239
+ { id: '1', name: 'First', department: 1 },
1240
+ { id: '2', name: 'Second', department: 1 },
1241
+ { id: '3', name: 'Third', department: 1 },
1242
+ ];
1243
+ const grid = setupInstance({
1244
+ name: 'grid',
1245
+ component: 'ZdGrid',
1246
+ selectable: true,
1247
+ columns: [
1248
+ { name: 'id' },
1249
+ { name: 'name' },
1250
+ { name: 'department', grouped: true },
1251
+ ],
1252
+ datasource: {
1253
+ uniqueKey: 'id',
1254
+ data,
1255
+ },
1256
+ });
1257
+
1258
+ grid.selectRow(data[0], true);
1259
+ grid.selectRow(data[1], true);
1260
+
1261
+ expect(grid.selectedRows).toEqual(expect.arrayContaining([data[0], data[1]]));
1262
+
1263
+ grid.selectRow(data[0], false);
1264
+
1265
+ expect(grid.selectedRows).toEqual(expect.arrayContaining([data[1]]));
1266
+ });
1267
+
1268
+ it('when selectRow is called with selectAllPages, should change the selection of a row', () => {
1269
+ const data = [
1270
+ { id: '1', name: 'First', department: 1 },
1271
+ { id: '2', name: 'Second', department: 1 },
1272
+ { id: '3', name: 'Third', department: 1 },
1273
+ ];
1274
+ const grid = setupInstance({
1275
+ name: 'grid',
1276
+ component: 'ZdGrid',
1277
+ selectable: true,
1278
+ selectAllPages: true,
1279
+ columns: [
1280
+ { name: 'id' },
1281
+ { name: 'name' },
1282
+ { name: 'department', grouped: true },
1283
+ ],
1284
+ datasource: {
1285
+ uniqueKey: 'id',
1286
+ data,
1287
+ },
1288
+ });
1289
+
1290
+ grid.selectRow(data[0], true);
1291
+ grid.selectRow(data[1], true);
1292
+
1293
+ expect(grid.selectionState.allSelected).toBeFalsy();
1294
+ expect(grid.selectionState.except).toEqual(expect.arrayContaining([data[0], data[1]]));
1295
+
1296
+ grid.selectRow(data[0], false);
1297
+
1298
+ expect(grid.selectionState.except).toEqual(expect.arrayContaining([data[1]]));
1299
+ });
1300
+ });
1301
+
1302
+ describe('toggleRow', () => {
1303
+ it('when toggleRow is called, should toggle the selection of a row', () => {
1304
+ const data = [
1305
+ { id: '1', name: 'First', department: 1 },
1306
+ { id: '2', name: 'Second', department: 1 },
1307
+ { id: '3', name: 'Third', department: 1 },
1308
+ ];
1309
+ const grid = setupInstance({
1310
+ name: 'grid',
1311
+ component: 'ZdGrid',
1312
+ selectable: true,
1313
+ columns: [
1314
+ { name: 'id' },
1315
+ { name: 'name' },
1316
+ { name: 'department', grouped: true },
1317
+ ],
1318
+ datasource: {
1319
+ uniqueKey: 'id',
1320
+ data,
1321
+ },
1322
+ });
1323
+
1324
+ grid.toggleRow(data[0]);
1325
+
1326
+ expect(grid.selectedRows).toEqual(expect.arrayContaining([data[0]]));
1327
+
1328
+ grid.toggleRow(data[0]);
1329
+
1330
+ expect(grid.selectedRows).not.toEqual(expect.arrayContaining([data[0]]));
1331
+ });
1332
+
1333
+ it('when toggleRow is called with selectAllPages, should toggle the selection of a row', () => {
1334
+ const data = [
1335
+ { id: '1', name: 'First', department: 1 },
1336
+ { id: '2', name: 'Second', department: 1 },
1337
+ { id: '3', name: 'Third', department: 1 },
1338
+ ];
1339
+ const grid = setupInstance({
1340
+ name: 'grid',
1341
+ component: 'ZdGrid',
1342
+ selectable: true,
1343
+ selectAllPages: true,
1344
+ columns: [
1345
+ { name: 'id' },
1346
+ { name: 'name' },
1347
+ { name: 'department', grouped: true },
1348
+ ],
1349
+ datasource: {
1350
+ uniqueKey: 'id',
1351
+ data,
1352
+ },
1353
+ });
1354
+
1355
+ grid.toggleRow(data[0]);
1356
+
1357
+ expect(grid.selectionState.except).toEqual(expect.arrayContaining([data[0]]));
1358
+
1359
+ grid.toggleRow(data[0]);
1360
+
1361
+ expect(grid.selectionState.except).not.toEqual(expect.arrayContaining([data[0]]));
1362
+ });
1363
+ });
1364
+
1365
+ describe('getRowStyleConditions', () => {
1366
+ it('Should get rowStyleConditions', () => {
1367
+ const data = [
1368
+ { id: 1, name: 'First' },
1369
+ { id: 2, name: 'Second' },
1370
+ ];
1371
+ const rowConditions = (row: IDictionary) => {
1372
+ if (row.id === 2) {
1373
+ return {
1374
+ cssClass: 'second',
1375
+ cssStyle: {
1376
+ color: 'red',
1377
+ },
1378
+ };
1379
+ }
1380
+ return {};
1381
+ };
1382
+ const grid = setupInstance({
1383
+ name: 'grid',
1384
+ component: 'TekGrid',
1385
+ selectable: true,
1386
+ rowStyleConditions: rowConditions,
1387
+ columns: [
1388
+ { name: 'id' },
1389
+ { name: 'name' },
1390
+ ],
1391
+ datasource: {
1392
+ uniqueKey: 'id',
1393
+ data,
1394
+ },
1395
+ });
1396
+
1397
+ grid.reapplyRowStyleConditions(data[1]);
1398
+
1399
+ expect(grid.getRowStyleConditions(data[1])).toEqual({
1400
+ cssClass: 'second',
1401
+ cssStyle: {
1402
+ color: 'red',
1403
+ },
1404
+ });
1405
+
1406
+ const grid2 = setupInstance({
1407
+ name: 'grid',
1408
+ component: 'TekGrid',
1409
+ selectable: true,
1410
+ columns: [
1411
+ { name: 'id' },
1412
+ { name: 'name' },
1413
+ ],
1414
+ datasource: {
1415
+ uniqueKey: 'id',
1416
+ data,
1417
+ },
1418
+ });
1419
+
1420
+ expect(grid2.getRowStyleConditions(data[1])).toEqual({});
1421
+ });
1422
+ });
1423
+
1424
+ describe('onMounted', () => {
1425
+ it('when keyMap is defined, should overwrite default keyMapping', () => {
1426
+ const fn = jest.fn();
1427
+ KeyMap.bind = jest.fn();
1428
+ const grid = new Grid({ name: 'grid', component: 'ZdGrid', keyMap: { up: { event: fn } } });
1429
+ grid.onMounted({} as HTMLElement);
1430
+
1431
+ expect(KeyMap.bind).toHaveBeenLastCalledWith(expect.not.objectContaining({
1432
+ up: expect.anything(),
1433
+ }), expect.anything(), expect.anything());
1434
+ });
1435
+ });
1436
+
1437
+ describe('selectCell', () => {
1438
+ it('when called, should select a cell', () => {
1439
+ const grid = setupInstance({ name: 'grid', component: 'ZdGrid', columns: [{ name: 'id' }] });
1440
+
1441
+ grid.selectCell({ id: '1' }, grid.columns[0] as any);
1442
+
1443
+ expect(grid.datasource.currentRow).toEqual({ id: '1' });
1444
+ expect(grid.currentColumn).toEqual(grid.columns[0]);
1445
+ });
1446
+ });
1447
+
1448
+ describe('getAppliedConditions', () => {
1449
+ test('should call ConditionsManager getAppliedConditions', () => {
1450
+ const spy = jest.spyOn(ConditionsManager.prototype, 'getAppliedConditions');
1451
+
1452
+ const grid = setupInstance({ name: 'grid', component: 'ZdGrid', columns: [{ name: 'id' }] });
1453
+
1454
+ const mockRow = { id: 1 };
1455
+ grid.getAppliedConditions({ row: mockRow, column: grid.columns[0] })
1456
+
1457
+ expect(spy).toHaveBeenCalledWith({ row: mockRow, column: grid.columns[0] })
1458
+ })
1459
+ });
1460
+
1461
+ describe('getCurrentRowIndex', () => {
1462
+ test('should return the index of the currentRow', () => {
1463
+ const row = { id: 1 };
1464
+ const grid = setupInstance({
1465
+ name: 'grid',
1466
+ component: 'ZdGrid',
1467
+ columns: [{ name: 'id' }],
1468
+ datasource: {
1469
+ data: [row],
1470
+ },
1471
+ });
1472
+
1473
+ grid.setCurrentRow(row);
1474
+
1475
+ expect(grid.getCurrentRowIndex()).toBe(0)
1476
+ })
1477
+ })
1478
+
1479
+ describe('getColumn()', () => {
1480
+ it('should return a column', () => {
1481
+ const instance = new Grid({
1482
+ name: 'iterable',
1483
+ component: 'Iterable',
1484
+ columns: [
1485
+ { name: 'column', component: 'Column' },
1486
+ ],
1487
+ });
1488
+ expect(instance.getColumn('column')).toBeInstanceOf(GridColumn);
1489
+ });
1490
+
1491
+ it('should throw an error if column does not exist', () => {
1492
+ const instance = new Grid({
1493
+ name: 'iterable',
1494
+ component: 'Iterable',
1495
+ columns: [
1496
+ { name: 'column', component: 'Column' },
1497
+ ],
1498
+ });
1499
+ expect(() => { instance.getColumn('column2'); }).toThrow();
1500
+ });
1501
+ });
1502
+
1503
+ describe('pageText', () => {
1504
+ it('should get paging info', () => {
1505
+ const instance = setupInstance();
1506
+
1507
+ const spy = jest.spyOn(I18n.instance, 't').mockImplementation(() => 'gridPageText');
1508
+ expect(instance.pageText).toBe('1 - 2 of 7');
1509
+ instance.datasource.page = 4;
1510
+ expect(instance.pageText).toBe('7 - 7 of 7');
1511
+ instance.datasource.page = 1;
1512
+ instance.datasource.data = [];
1513
+ instance.datasource.total = 0;
1514
+ expect(instance.pageText).toBe('0 - 0 of 0');
1515
+ spy.mockImplementation(() => '1 - 2 of 11');
1516
+ expect(instance.pageText).toBe('1 - 2 of 11');
1517
+ spy.mockClear();
1518
+
1519
+ clearInstance(instance);
1520
+ });
1521
+ });
1522
+
1523
+ describe('paginationLength', () => {
1524
+ it('should get total of pages', () => {
1525
+ const instance = setupInstance();
1526
+ expect(instance.paginationLength).toBe(4);
1527
+
1528
+ clearInstance(instance);
1529
+ });
1530
+
1531
+ it('should return 0 for invalid values', () => {
1532
+ const instance = setupInstance();
1533
+ instance.datasource.total = 10;
1534
+ instance.datasource.limit = 0;
1535
+ expect(instance.paginationLength).toBe(0);
1536
+
1537
+ (instance.datasource.limit as any) = '0';
1538
+ expect(instance.paginationLength).toBe(0);
1539
+
1540
+ (instance.datasource.limit as any) = '';
1541
+ expect(instance.paginationLength).toBe(0);
1542
+
1543
+ (instance.datasource.limit as any) = 'abc';
1544
+ expect(instance.paginationLength).toBe(0);
1545
+
1546
+ (instance.datasource.limit as any) = 10;
1547
+ instance.datasource.total = 0;
1548
+ expect(instance.paginationLength).toBe(0);
1549
+
1550
+ (instance.datasource.total as any) = '0';
1551
+ expect(instance.paginationLength).toBe(0);
1552
+
1553
+ (instance.datasource.total as any) = '';
1554
+ expect(instance.paginationLength).toBe(0);
1555
+
1556
+ (instance.datasource.total as any) = 'abc';
1557
+ expect(instance.paginationLength).toBe(0);
1558
+
1559
+ clearInstance(instance);
1560
+ });
1561
+ });
1562
+
1563
+ describe('getCellWithAppliedConditions', () => {
1564
+ test('should call reapplyConditions', () => {
1565
+ const grid = setupInstance();
1566
+ const spy = jest.spyOn(grid, 'reapplyConditions');
1567
+
1568
+ grid.getCellWithAppliedConditions(grid.columns, { id: 1 });
1569
+
1570
+ expect(spy).toHaveBeenCalledWith({ id: 1 }, grid.columns)
1571
+
1572
+ clearInstance(grid);
1573
+ })
1574
+ })
1575
+
1576
+ describe('changeData', () => {
1577
+ it('should call reapplyConditions for each row', () => {
1578
+ const grid = setupInstance();
1579
+ const spy = jest.spyOn(grid, 'reapplyConditions');
1580
+
1581
+ grid.changeData();
1582
+
1583
+ expect(spy).toHaveBeenCalledTimes(2);
1584
+ clearInstance(grid);
1585
+ });
1586
+
1587
+ it('should call reapplyConditions for each of the defined rows', () => {
1588
+ const grid = setupInstance();
1589
+ const spy = jest.spyOn(grid, 'reapplyConditions');
1590
+
1591
+ grid.changeData([{ id: '1' }]);
1592
+
1593
+ expect(spy).toHaveBeenCalledTimes(1);
1594
+ clearInstance(grid);
1595
+ });
1596
+ });
1597
+
1598
+ describe('setSearch', () => {
1599
+ test('should call datasource setSearch', async () => {
1600
+ const grid = setupInstance();
1601
+ const spy = jest.spyOn(grid.datasource, 'setSearch');
1602
+
1603
+ await grid.setSearch('test');
1604
+
1605
+ expect(spy).toHaveBeenCalledWith('test');
1606
+ clearInstance(grid);
1607
+ });
1608
+ });
1609
+
1610
+ describe('getConditionalProps', () => {
1611
+ it('should return an empty object when no conditions are applied', () => {
1612
+ const grid = setupInstance();
1613
+ const row = grid.datasource.data[0];
1614
+ const column = grid.columns[0];
1615
+ const result = grid.getConditionalProps({ row, column });
1616
+ expect(result).toEqual({});
1617
+ });
1618
+
1619
+ it('should merge row style conditions and cell applied conditions', () => {
1620
+ const grid = setupInstance();
1621
+ grid.getRowStyleConditions = jest.fn().mockReturnValue({ backgroundColor: 'red' });
1622
+ grid.getAppliedConditions = jest.fn().mockReturnValue({ fontSize: '12px' });
1623
+ const row = grid.datasource.data[0];
1624
+ const column = grid.columns[0];
1625
+ const result = grid.getConditionalProps({ row, column });
1626
+ expect(result).toEqual({ backgroundColor: 'red', fontSize: '12px' });
1627
+ });
1628
+ });
1629
+
1630
+ describe('findRow', () => {
1631
+ it('should retrieve a row from datasource', () => {
1632
+ const grid = setupInstance();
1633
+ const row = grid.datasource.data[0];
1634
+ const result = grid.findRow(grid.getRowKey(row));
1635
+ expect(result).toEqual(row);
1636
+ });
1637
+ });
1638
+ });