@uxf/data-grid 11.74.0 → 11.74.2

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 (289) hide show
  1. package/_api/index.d.ts +8 -0
  2. package/_api/index.js +11 -0
  3. package/_components/drawer.d.ts +8 -0
  4. package/_components/drawer.js +19 -0
  5. package/_store/reducer.d.ts +8 -0
  6. package/_store/reducer.js +209 -0
  7. package/_story-utils/data.d.ts +34 -0
  8. package/_story-utils/data.js +229 -0
  9. package/_story-utils/grid-type.d.ts +32 -0
  10. package/_story-utils/grid-type.js +2 -0
  11. package/_story-utils/json-renderer.d.ts +7 -0
  12. package/_story-utils/json-renderer.js +12 -0
  13. package/_story-utils/loader.d.ts +2 -0
  14. package/_story-utils/loader.js +33 -0
  15. package/_story-utils/schema.d.ts +3 -0
  16. package/_story-utils/schema.js +76 -0
  17. package/body-cell/body-cell-boolean.d.ts +2 -0
  18. package/body-cell/body-cell-boolean.js +18 -0
  19. package/body-cell/body-cell-chip.d.ts +12 -0
  20. package/body-cell/body-cell-chip.js +21 -0
  21. package/body-cell/body-cell-date.d.ts +2 -0
  22. package/body-cell/body-cell-date.js +15 -0
  23. package/body-cell/body-cell-datetime.d.ts +2 -0
  24. package/body-cell/body-cell-datetime.js +15 -0
  25. package/body-cell/body-cell-default.d.ts +2 -0
  26. package/body-cell/body-cell-default.js +17 -0
  27. package/body-cell/body-cell-email.d.ts +2 -0
  28. package/body-cell/body-cell-email.js +16 -0
  29. package/body-cell/body-cell-money.d.ts +8 -0
  30. package/body-cell/body-cell-money.js +15 -0
  31. package/body-cell/body-cell-phone.d.ts +2 -0
  32. package/body-cell/body-cell-phone.js +16 -0
  33. package/body-cell/body-cell-to-many.d.ts +2 -0
  34. package/body-cell/body-cell-to-many.js +17 -0
  35. package/body-cell/body-cell-to-one.d.ts +2 -0
  36. package/body-cell/body-cell-to-one.js +14 -0
  37. package/body-cell/body-cell-url.d.ts +2 -0
  38. package/body-cell/body-cell-url.js +16 -0
  39. package/body-cell/index.d.ts +2 -0
  40. package/body-cell/index.js +33 -0
  41. package/components.d.ts +97 -0
  42. package/components.js +124 -0
  43. package/data-grid-custom-example.stories.d.ts +2 -0
  44. package/data-grid-custom-example.stories.js +58 -0
  45. package/data-grid-v2.d.ts +3 -0
  46. package/data-grid-v2.js +41 -0
  47. package/data-grid-v2.stories.d.ts +2 -0
  48. package/data-grid-v2.stories.js +99 -0
  49. package/data-grid.d.ts +3 -0
  50. package/data-grid.js +42 -0
  51. package/data-grid.stories.d.ts +2 -0
  52. package/data-grid.stories.js +106 -0
  53. package/export-button/export-button.d.ts +8 -0
  54. package/export-button/export-button.js +18 -0
  55. package/export-button/export-button.stories.d.ts +2 -0
  56. package/export-button/export-button.stories.js +17 -0
  57. package/export-button/index.d.ts +1 -0
  58. package/export-button/index.js +17 -0
  59. package/filter-handler/boolean-select.d.ts +4 -0
  60. package/filter-handler/boolean-select.js +27 -0
  61. package/filter-handler/checkbox.d.ts +4 -0
  62. package/filter-handler/checkbox.js +19 -0
  63. package/filter-handler/date.d.ts +7 -0
  64. package/filter-handler/date.js +96 -0
  65. package/filter-handler/datetime.d.ts +7 -0
  66. package/filter-handler/datetime.js +34 -0
  67. package/filter-handler/entity-multi-select.d.ts +5 -0
  68. package/filter-handler/entity-multi-select.js +27 -0
  69. package/filter-handler/entity-select.d.ts +5 -0
  70. package/filter-handler/entity-select.js +23 -0
  71. package/filter-handler/index.d.ts +4 -0
  72. package/filter-handler/index.js +41 -0
  73. package/filter-handler/interval.d.ts +7 -0
  74. package/filter-handler/interval.js +47 -0
  75. package/filter-handler/multi-select.d.ts +5 -0
  76. package/filter-handler/multi-select.js +27 -0
  77. package/filter-handler/select.d.ts +5 -0
  78. package/filter-handler/select.js +22 -0
  79. package/filter-handler/string.d.ts +4 -0
  80. package/filter-handler/string.js +26 -0
  81. package/filter-handler/types.d.ts +7 -0
  82. package/filter-handler/types.js +2 -0
  83. package/filter-list/filter-list.d.ts +10 -0
  84. package/filter-list/filter-list.js +31 -0
  85. package/filter-list/filter-list.stories.d.ts +2 -0
  86. package/filter-list/filter-list.stories.js +18 -0
  87. package/filter-list/index.d.ts +1 -0
  88. package/filter-list/index.js +17 -0
  89. package/filters/filters.d.ts +9 -0
  90. package/filters/filters.js +21 -0
  91. package/filters/filters.stories.d.ts +2 -0
  92. package/filters/filters.stories.js +18 -0
  93. package/filters/index.d.ts +1 -0
  94. package/filters/index.js +17 -0
  95. package/filters-button/filters-button.d.ts +10 -0
  96. package/filters-button/filters-button.js +47 -0
  97. package/filters-button/filters-button.stories.d.ts +2 -0
  98. package/filters-button/filters-button.stories.js +18 -0
  99. package/filters-button/index.d.ts +1 -0
  100. package/filters-button/index.js +17 -0
  101. package/footer/footer.d.ts +5 -0
  102. package/footer/footer.js +10 -0
  103. package/footer/index.d.ts +1 -0
  104. package/footer/index.js +17 -0
  105. package/fulltext-input/fulltext-input.d.ts +6 -0
  106. package/fulltext-input/fulltext-input.js +15 -0
  107. package/fulltext-input/fulltext-input.stories.d.ts +2 -0
  108. package/fulltext-input/fulltext-input.stories.js +17 -0
  109. package/fulltext-input/index.d.ts +1 -0
  110. package/fulltext-input/index.js +17 -0
  111. package/hidden-columns/hidden-columns.d.ts +8 -0
  112. package/hidden-columns/hidden-columns.js +37 -0
  113. package/hidden-columns/hidden-columns.stories.d.ts +2 -0
  114. package/hidden-columns/hidden-columns.stories.js +17 -0
  115. package/hidden-columns/index.d.ts +1 -0
  116. package/hidden-columns/index.js +17 -0
  117. package/hidden-columns-button/hidden-columns-button.d.ts +8 -0
  118. package/hidden-columns-button/hidden-columns-button.js +44 -0
  119. package/hidden-columns-button/hidden-columns-button.stories.d.ts +2 -0
  120. package/hidden-columns-button/hidden-columns-button.stories.js +17 -0
  121. package/hidden-columns-button/index.d.ts +1 -0
  122. package/hidden-columns-button/index.js +17 -0
  123. package/hooks/useCallbackRef.d.ts +2 -0
  124. package/hooks/useCallbackRef.js +6 -0
  125. package/index.d.ts +5 -0
  126. package/index.js +25 -0
  127. package/linear-progress/index.d.ts +1 -0
  128. package/linear-progress/index.js +17 -0
  129. package/linear-progress/linear-progress.d.ts +5 -0
  130. package/linear-progress/linear-progress.js +12 -0
  131. package/package.json +3 -3
  132. package/pagination/index.d.ts +1 -0
  133. package/pagination/index.js +17 -0
  134. package/pagination/pagination.d.ts +12 -0
  135. package/pagination/pagination.js +15 -0
  136. package/pagination/pagination.stories.d.ts +2 -0
  137. package/pagination/pagination.stories.js +17 -0
  138. package/root/index.d.ts +1 -0
  139. package/root/index.js +17 -0
  140. package/root/root.d.ts +6 -0
  141. package/root/root.js +11 -0
  142. package/row-counts/index.d.ts +1 -0
  143. package/row-counts/index.js +17 -0
  144. package/row-counts/row-counts.d.ts +8 -0
  145. package/row-counts/row-counts.js +23 -0
  146. package/row-counts/row-counts.stories.d.ts +2 -0
  147. package/row-counts/row-counts.stories.js +14 -0
  148. package/rows-per-page-select/index.d.ts +1 -0
  149. package/rows-per-page-select/index.js +17 -0
  150. package/rows-per-page-select/rows-per-page-select.d.ts +3 -0
  151. package/rows-per-page-select/rows-per-page-select.js +21 -0
  152. package/rows-per-page-select/rows-per-page-select.stories.d.ts +2 -0
  153. package/rows-per-page-select/rows-per-page-select.stories.js +17 -0
  154. package/selected-rows-toolbar/index.d.ts +1 -0
  155. package/selected-rows-toolbar/index.js +17 -0
  156. package/selected-rows-toolbar/selected-rows-toolbar.d.ts +11 -0
  157. package/selected-rows-toolbar/selected-rows-toolbar.js +33 -0
  158. package/selected-rows-toolbar/selected-rows-toolbar.stories.d.ts +2 -0
  159. package/selected-rows-toolbar/selected-rows-toolbar.stories.js +44 -0
  160. package/table/components/action-cell-wrapper.d.ts +6 -0
  161. package/table/components/action-cell-wrapper.js +57 -0
  162. package/table/components/action-cell.d.ts +7 -0
  163. package/table/components/action-cell.js +13 -0
  164. package/table/components/select-row-checkbox.d.ts +3 -0
  165. package/table/components/select-row-checkbox.js +40 -0
  166. package/table/hooks/use-rdg-visuals.d.ts +16 -0
  167. package/table/hooks/use-rdg-visuals.js +46 -0
  168. package/table/hooks/use-react-data-grid-columns.d.ts +4 -0
  169. package/table/hooks/use-react-data-grid-columns.js +86 -0
  170. package/table/index.d.ts +3 -0
  171. package/table/index.js +19 -0
  172. package/table/no-rows-fallback.d.ts +7 -0
  173. package/table/no-rows-fallback.js +16 -0
  174. package/table/table.d.ts +4 -0
  175. package/table/table.js +91 -0
  176. package/table/table.stories.d.ts +2 -0
  177. package/table/table.stories.js +20 -0
  178. package/table/types.d.ts +19 -0
  179. package/table/types.js +2 -0
  180. package/table-v2/components/action-cell-wrapper.d.ts +6 -0
  181. package/table-v2/components/action-cell-wrapper.js +10 -0
  182. package/table-v2/components/action-cell.d.ts +8 -0
  183. package/table-v2/components/action-cell.js +16 -0
  184. package/table-v2/components/body.d.ts +6 -0
  185. package/table-v2/components/body.js +10 -0
  186. package/table-v2/components/cell.d.ts +8 -0
  187. package/table-v2/components/cell.js +10 -0
  188. package/table-v2/components/header-action-cell.d.ts +2 -0
  189. package/table-v2/components/header-action-cell.js +10 -0
  190. package/table-v2/components/header-cell.d.ts +10 -0
  191. package/table-v2/components/header-cell.js +47 -0
  192. package/table-v2/components/header-select-all-rows-checkbox.d.ts +8 -0
  193. package/table-v2/components/header-select-all-rows-checkbox.js +24 -0
  194. package/table-v2/components/header.d.ts +6 -0
  195. package/table-v2/components/header.js +10 -0
  196. package/table-v2/components/index.d.ts +21 -0
  197. package/table-v2/components/index.js +26 -0
  198. package/table-v2/components/root.d.ts +7 -0
  199. package/table-v2/components/root.js +31 -0
  200. package/table-v2/components/row.d.ts +7 -0
  201. package/table-v2/components/row.js +11 -0
  202. package/table-v2/components/select-row-checkbox.d.ts +7 -0
  203. package/table-v2/components/select-row-checkbox.js +14 -0
  204. package/table-v2/hooks/use-resizable-columns.d.ts +9 -0
  205. package/table-v2/hooks/use-resizable-columns.js +69 -0
  206. package/table-v2/index.d.ts +1 -0
  207. package/table-v2/index.js +17 -0
  208. package/table-v2/no-rows-fallback.d.ts +7 -0
  209. package/table-v2/no-rows-fallback.js +16 -0
  210. package/table-v2/table-v2.d.ts +3 -0
  211. package/table-v2/table-v2.js +91 -0
  212. package/table-v2/table-v2.stories.d.ts +2 -0
  213. package/table-v2/table-v2.stories.js +23 -0
  214. package/table-v2/types.d.ts +23 -0
  215. package/table-v2/types.js +2 -0
  216. package/table-v2/utils/get-grid-template-columns.d.ts +9 -0
  217. package/table-v2/utils/get-grid-template-columns.js +23 -0
  218. package/table-v2/utils/get-grid-template-rows.d.ts +2 -0
  219. package/table-v2/utils/get-grid-template-rows.js +14 -0
  220. package/toolbar/index.d.ts +1 -0
  221. package/toolbar/index.js +17 -0
  222. package/toolbar/toolbar.d.ts +5 -0
  223. package/toolbar/toolbar.js +10 -0
  224. package/toolbar-control/index.d.ts +1 -0
  225. package/toolbar-control/index.js +17 -0
  226. package/toolbar-control/toolbar-control.d.ts +13 -0
  227. package/toolbar-control/toolbar-control.js +22 -0
  228. package/toolbar-control/toolbar-control.stories.d.ts +2 -0
  229. package/toolbar-control/toolbar-control.stories.js +19 -0
  230. package/toolbar-customs/index.d.ts +1 -0
  231. package/toolbar-customs/index.js +17 -0
  232. package/toolbar-customs/toolbar-customs.d.ts +13 -0
  233. package/toolbar-customs/toolbar-customs.js +20 -0
  234. package/toolbar-customs/toolbar-customs.stories.d.ts +2 -0
  235. package/toolbar-customs/toolbar-customs.stories.js +15 -0
  236. package/toolbar-tabs/index.d.ts +1 -0
  237. package/toolbar-tabs/index.js +17 -0
  238. package/toolbar-tabs/toolbar-tabs.d.ts +11 -0
  239. package/toolbar-tabs/toolbar-tabs.js +41 -0
  240. package/toolbar-tabs/toolbar-tabs.stories.d.ts +2 -0
  241. package/toolbar-tabs/toolbar-tabs.stories.js +17 -0
  242. package/translations/cs.json +47 -0
  243. package/translations/de.json +47 -0
  244. package/translations/en.json +47 -0
  245. package/translations/sk.json +47 -0
  246. package/types/api.d.ts +23 -0
  247. package/types/api.js +2 -0
  248. package/types/components.d.ts +32 -0
  249. package/types/components.js +2 -0
  250. package/types/core.d.ts +20 -0
  251. package/types/core.js +2 -0
  252. package/types/data-grid-props.d.ts +34 -0
  253. package/types/data-grid-props.js +2 -0
  254. package/types/index.d.ts +6 -0
  255. package/types/index.js +2 -0
  256. package/types/schema.d.ts +56 -0
  257. package/types/schema.js +2 -0
  258. package/types/state.d.ts +25 -0
  259. package/types/state.js +2 -0
  260. package/types/user-config-storage-adapter.d.ts +8 -0
  261. package/types/user-config-storage-adapter.js +2 -0
  262. package/use-data-grid-control/action.d.ts +47 -0
  263. package/use-data-grid-control/action.js +9 -0
  264. package/use-data-grid-control/actions-factory.d.ts +21 -0
  265. package/use-data-grid-control/actions-factory.js +21 -0
  266. package/use-data-grid-control/index.d.ts +1 -0
  267. package/use-data-grid-control/index.js +17 -0
  268. package/use-data-grid-control/use-data-grid-control.d.ts +32 -0
  269. package/use-data-grid-control/use-data-grid-control.js +12 -0
  270. package/use-data-grid-control/use-middleware-reducer.d.ts +3 -0
  271. package/use-data-grid-control/use-middleware-reducer.js +19 -0
  272. package/use-data-grid-fetching/index.d.ts +1 -0
  273. package/use-data-grid-fetching/index.js +17 -0
  274. package/use-data-grid-fetching/loader.d.ts +2 -0
  275. package/use-data-grid-fetching/loader.js +6 -0
  276. package/use-data-grid-fetching/use-data-grid-fetching.d.ts +24 -0
  277. package/use-data-grid-fetching/use-data-grid-fetching.js +40 -0
  278. package/user-config-storage-adapters/local-storage.d.ts +3 -0
  279. package/user-config-storage-adapters/local-storage.js +32 -0
  280. package/utils/create-filter-component-props.d.ts +4 -0
  281. package/utils/create-filter-component-props.js +15 -0
  282. package/utils/get-config-key.d.ts +2 -0
  283. package/utils/get-config-key.js +6 -0
  284. package/utils/merge-schema-with-config.d.ts +3 -0
  285. package/utils/merge-schema-with-config.js +30 -0
  286. package/utils/merge-schema-with-config.test.d.ts +1 -0
  287. package/utils/merge-schema-with-config.test.js +57 -0
  288. package/utils.d.ts +6 -0
  289. package/utils.js +37 -0
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DataGrid = DataGrid;
7
+ const empty_array_1 = require("@uxf/core/constants/empty-array");
8
+ const react_1 = __importDefault(require("react"));
9
+ const loader_1 = require("./_story-utils/loader");
10
+ const schema_1 = require("./_story-utils/schema");
11
+ const body_cell_1 = require("./body-cell");
12
+ const filter_handler_1 = require("./filter-handler");
13
+ const filter_list_1 = require("./filter-list");
14
+ const footer_1 = require("./footer");
15
+ const linear_progress_1 = require("./linear-progress");
16
+ const pagination_1 = require("./pagination");
17
+ const root_1 = require("./root");
18
+ const row_counts_1 = require("./row-counts");
19
+ const rows_per_page_select_1 = require("./rows-per-page-select");
20
+ const selected_rows_toolbar_1 = require("./selected-rows-toolbar");
21
+ const table_v2_1 = require("./table-v2");
22
+ const toolbar_1 = require("./toolbar");
23
+ const toolbar_control_1 = require("./toolbar-control");
24
+ const toolbar_customs_1 = require("./toolbar-customs");
25
+ const toolbar_tabs_1 = require("./toolbar-tabs");
26
+ const use_data_grid_control_1 = require("./use-data-grid-control");
27
+ const use_data_grid_fetching_1 = require("./use-data-grid-fetching");
28
+ function DataGrid() {
29
+ var _a, _b, _c, _d;
30
+ /** implement me - can be given by props */
31
+ const schema = schema_1.schema;
32
+ const filterHandlers = filter_handler_1.defaultFilterHandlers;
33
+ const bodyCells = body_cell_1.BodyCells;
34
+ const actionCell = undefined;
35
+ const toolbarCustomButtons = [];
36
+ /** END implement me */
37
+ const control = (0, use_data_grid_control_1.useDataGridControl)({ schema });
38
+ const { isLoading, error, data, reload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
39
+ loader: loader_1.loader,
40
+ schema,
41
+ state: control.state,
42
+ isWithTabCounts: true,
43
+ });
44
+ return (react_1.default.createElement(react_1.default.Fragment, null,
45
+ react_1.default.createElement(root_1.DataGridRoot, null,
46
+ react_1.default.createElement(toolbar_1.DataGridToolbar, null,
47
+ react_1.default.createElement(toolbar_tabs_1.DataGridToolbarTabs, { ...control, schema: schema, tabCounts: data === null || data === void 0 ? void 0 : data.tabCounts }),
48
+ react_1.default.createElement(toolbar_control_1.DataGridToolbarControl, { ...control, filterHandlers: filterHandlers, schema: schema }),
49
+ react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: toolbarCustomButtons })),
50
+ react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: isLoading }),
51
+ react_1.default.createElement(filter_list_1.DataGridFilterList, { ...control, filterHandlers: filterHandlers, schema: schema }),
52
+ react_1.default.createElement(table_v2_1.DataGridTableV2, { ...control, actionCell: actionCell, bodyCells: bodyCells, data: (_a = data === null || data === void 0 ? void 0 : data.result) !== null && _a !== void 0 ? _a : empty_array_1.EMPTY_ARRAY, error: error, isLoading: isLoading, reload: reload, schema: schema }),
53
+ react_1.default.createElement(footer_1.DataGridFooter, null,
54
+ react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { ...control }),
55
+ react_1.default.createElement(row_counts_1.DataGridRowCounts, { ...control, count: (_b = data === null || data === void 0 ? void 0 : data.count) !== null && _b !== void 0 ? _b : 0, totalCount: (_c = data === null || data === void 0 ? void 0 : data.totalCount) !== null && _c !== void 0 ? _c : 0 }),
56
+ react_1.default.createElement(pagination_1.DataGridPagination, { ...control, count: (_d = data === null || data === void 0 ? void 0 : data.count) !== null && _d !== void 0 ? _d : 0 }))),
57
+ react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { ...control, reload: reload })));
58
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { BaseGridType, DataGridProps } from "./types";
3
+ export declare function DataGridV2<GridType extends BaseGridType, R = any>(props: DataGridProps<GridType, R>): React.JSX.Element;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DataGridV2 = DataGridV2;
7
+ const empty_array_1 = require("@uxf/core/constants/empty-array");
8
+ const react_1 = __importDefault(require("react"));
9
+ const body_cell_1 = require("./body-cell");
10
+ const filter_handler_1 = require("./filter-handler");
11
+ const filter_list_1 = require("./filter-list");
12
+ const footer_1 = require("./footer");
13
+ const linear_progress_1 = require("./linear-progress");
14
+ const pagination_1 = require("./pagination");
15
+ const root_1 = require("./root");
16
+ const row_counts_1 = require("./row-counts");
17
+ const rows_per_page_select_1 = require("./rows-per-page-select");
18
+ const selected_rows_toolbar_1 = require("./selected-rows-toolbar");
19
+ const table_v2_1 = require("./table-v2");
20
+ const toolbar_1 = require("./toolbar");
21
+ const toolbar_control_1 = require("./toolbar-control");
22
+ const toolbar_customs_1 = require("./toolbar-customs");
23
+ const toolbar_tabs_1 = require("./toolbar-tabs");
24
+ const DefaultSelectedRowsToolbarActions = () => null;
25
+ function DataGridV2(props) {
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
27
+ return (react_1.default.createElement(react_1.default.Fragment, null,
28
+ react_1.default.createElement(root_1.DataGridRoot, { className: props.className },
29
+ react_1.default.createElement(toolbar_1.DataGridToolbar, null,
30
+ react_1.default.createElement(toolbar_tabs_1.DataGridToolbarTabs, { actions: props.actions, changeTabFilterBehavior: props.changeTabFilterBehavior, schema: props.schema, state: props.state }),
31
+ react_1.default.createElement(toolbar_control_1.DataGridToolbarControl, { actions: props.actions, filterHandlers: (_a = props.filterHandlers) !== null && _a !== void 0 ? _a : filter_handler_1.defaultFilterHandlers, getCsvDownloadUrl: props.getCsvDownloadUrl, schema: props.schema, state: props.state }),
32
+ react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: props.customActions })),
33
+ react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: props.isLoading }),
34
+ react_1.default.createElement(filter_list_1.DataGridFilterList, { actions: props.actions, filterHandlers: (_b = props.filterHandlers) !== null && _b !== void 0 ? _b : filter_handler_1.defaultFilterHandlers, schema: props.schema, state: props.state }),
35
+ react_1.default.createElement(table_v2_1.DataGridTableV2, { NoRowsFallback: props.NoRowsFallback, actionCell: props.actionCell, actions: props.actions, bodyCells: (_c = props.bodyCells) !== null && _c !== void 0 ? _c : body_cell_1.BodyCells, data: (_e = (_d = props.data) === null || _d === void 0 ? void 0 : _d.result) !== null && _e !== void 0 ? _e : empty_array_1.EMPTY_ARRAY, error: props.error, headerRowHeight: props.headerRowHeight, isLoading: props.isLoading, isRowSelectable: props.isRowSelectable, keyExtractor: props.keyExtractor, reload: props.reload, rowAccent: props.rowAccent, rowClassName: props.rowClassName, rowHeight: props.rowHeight, schema: props.schema, state: props.state }),
36
+ react_1.default.createElement(footer_1.DataGridFooter, null,
37
+ react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { actions: props.actions, state: props.state }),
38
+ react_1.default.createElement(row_counts_1.DataGridRowCounts, { count: (_g = (_f = props.data) === null || _f === void 0 ? void 0 : _f.count) !== null && _g !== void 0 ? _g : 0, state: props.state, totalCount: (_j = (_h = props.data) === null || _h === void 0 ? void 0 : _h.totalCount) !== null && _j !== void 0 ? _j : 0 }),
39
+ react_1.default.createElement(pagination_1.DataGridPagination, { actions: props.actions, count: (_l = (_k = props.data) === null || _k === void 0 ? void 0 : _k.count) !== null && _l !== void 0 ? _l : 0, showFirstButton: true, showLastButton: true, size: "sm", state: props.state }))),
40
+ react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_m = props.SelectedRowsToolbarActions) !== null && _m !== void 0 ? _m : DefaultSelectedRowsToolbarActions, actions: props.actions, reload: props.reload, state: props.state })));
41
+ }
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Default = Default;
27
+ const build_array_1 = require("@uxf/core/utils/build-array");
28
+ const radio_group_1 = require("@uxf/ui/radio-group");
29
+ const react_1 = __importStar(require("react"));
30
+ const json_renderer_1 = require("./_story-utils/json-renderer");
31
+ const loader_1 = require("./_story-utils/loader");
32
+ const schema_1 = require("./_story-utils/schema");
33
+ const data_grid_v2_1 = require("./data-grid-v2");
34
+ const action_cell_1 = require("./table-v2/components/action-cell");
35
+ const use_data_grid_control_1 = require("./use-data-grid-control");
36
+ const use_data_grid_fetching_1 = require("./use-data-grid-fetching");
37
+ const local_storage_1 = require("./user-config-storage-adapters/local-storage");
38
+ const merge_schema_with_config_1 = require("./utils/merge-schema-with-config");
39
+ const actionCell = {
40
+ width: 92,
41
+ Component: () => {
42
+ const actionCellActions = (0, build_array_1.buildArray)()
43
+ .add({
44
+ icon: "arrow-right",
45
+ isIconButton: true,
46
+ href: "https://www.uxf.cz",
47
+ target: "_blank",
48
+ })
49
+ .add({
50
+ icon: "file",
51
+ label: "Download",
52
+ onClick: console.log,
53
+ })
54
+ .add({
55
+ icon: "cloud",
56
+ label: "Reload",
57
+ onClick: console.log,
58
+ });
59
+ return react_1.default.createElement(action_cell_1.ActionCell, { buttons: actionCellActions, visibleButtonsCount: 1 });
60
+ },
61
+ };
62
+ const schemaWithFrontendConfig = (0, merge_schema_with_config_1.mergeSchemaWithConfig)(schema_1.schema, {
63
+ perPage: 100,
64
+ columns: {
65
+ text: { width: 200 },
66
+ tel: { minWidth: 160, width: 400 },
67
+ mail: { minWidth: 200 },
68
+ bool: { width: 120 },
69
+ chips: { minWidth: 200 },
70
+ toMany: { minWidth: 200 },
71
+ money: { width: "2fr" },
72
+ },
73
+ filters: {
74
+ text: { placeholder: "Custom placeholder ..." },
75
+ },
76
+ });
77
+ const FILTER_BEHAVIOR_OPTIONS = [
78
+ { id: "filtersPerTab", label: "filterPerTab" },
79
+ { id: "sharedFiltersAndSearch", label: "sharedFiltersAndSearch" },
80
+ { id: "sharedFiltersAndSearchAndSort", label: "sharedFiltersAndSearchAndSort" },
81
+ ];
82
+ function Default() {
83
+ const [filterBehavior, setFilterBehavior] = (0, react_1.useState)("filtersPerTab");
84
+ const { middleware, useUserConfig } = (0, local_storage_1.useUserConfigLocalStorageAdapter)(schema_1.schema);
85
+ const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({
86
+ schema: schema_1.schema,
87
+ middleware,
88
+ });
89
+ useUserConfig(actions);
90
+ const { isLoading, error, data, reload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
91
+ loader: loader_1.loader,
92
+ schema: schema_1.schema,
93
+ state,
94
+ });
95
+ return (react_1.default.createElement("div", { className: "p-10" },
96
+ react_1.default.createElement(radio_group_1.RadioGroup, { label: "Chov\u00E1n\u00ED p\u0159ep\u00EDn\u00E1n\u00ED tab\u016F", name: "filterBehavior", onChange: (value) => setFilterBehavior(value), options: FILTER_BEHAVIOR_OPTIONS, value: filterBehavior, variant: "row" }),
97
+ react_1.default.createElement(data_grid_v2_1.DataGridV2, { actionCell: actionCell, actions: actions, changeTabFilterBehavior: filterBehavior !== null && filterBehavior !== void 0 ? filterBehavior : "filtersPerTab", data: data, error: error, getCsvDownloadUrl: () => ``, isLoading: isLoading, isRowSelectable: true, reload: reload, rowAccent: (row) => (row.id === 2 ? "success" : undefined), rowClassName: (row) => (row.id === 3 ? "some-custom-classname" : undefined), rowHeight: "auto", schema: schemaWithFrontendConfig, state: state }),
98
+ react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
99
+ }
package/data-grid.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { BaseGridType, DataGridProps } from "./types";
3
+ export declare function DataGrid<GridType extends BaseGridType, R = any>(props: DataGridProps<GridType, R>): React.JSX.Element;
package/data-grid.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DataGrid = DataGrid;
7
+ const empty_array_1 = require("@uxf/core/constants/empty-array");
8
+ const react_1 = __importDefault(require("react"));
9
+ const body_cell_1 = require("./body-cell");
10
+ const filter_handler_1 = require("./filter-handler");
11
+ const filter_list_1 = require("./filter-list");
12
+ const footer_1 = require("./footer");
13
+ const linear_progress_1 = require("./linear-progress");
14
+ const pagination_1 = require("./pagination");
15
+ const root_1 = require("./root");
16
+ const row_counts_1 = require("./row-counts");
17
+ const rows_per_page_select_1 = require("./rows-per-page-select");
18
+ const selected_rows_toolbar_1 = require("./selected-rows-toolbar");
19
+ const table_1 = require("./table");
20
+ const no_rows_fallback_1 = require("./table/no-rows-fallback");
21
+ const toolbar_1 = require("./toolbar");
22
+ const toolbar_control_1 = require("./toolbar-control");
23
+ const toolbar_customs_1 = require("./toolbar-customs");
24
+ const toolbar_tabs_1 = require("./toolbar-tabs");
25
+ const DefaultSelectedRowsToolbarActions = () => null;
26
+ function DataGrid(props) {
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
28
+ return (react_1.default.createElement(react_1.default.Fragment, null,
29
+ react_1.default.createElement(root_1.DataGridRoot, { className: props.className },
30
+ react_1.default.createElement(toolbar_1.DataGridToolbar, null,
31
+ react_1.default.createElement(toolbar_tabs_1.DataGridToolbarTabs, { actions: props.actions, changeTabFilterBehavior: props.changeTabFilterBehavior, schema: props.schema, state: props.state }),
32
+ react_1.default.createElement(toolbar_control_1.DataGridToolbarControl, { actions: props.actions, filterHandlers: (_a = props.filterHandlers) !== null && _a !== void 0 ? _a : filter_handler_1.defaultFilterHandlers, getCsvDownloadUrl: props.getCsvDownloadUrl, schema: props.schema, state: props.state }),
33
+ react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: props.customActions })),
34
+ react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: props.isLoading }),
35
+ react_1.default.createElement(filter_list_1.DataGridFilterList, { actions: props.actions, filterHandlers: (_b = props.filterHandlers) !== null && _b !== void 0 ? _b : filter_handler_1.defaultFilterHandlers, schema: props.schema, state: props.state }),
36
+ react_1.default.createElement(table_1.DataGridTable, { NoRowsFallback: (_c = props.NoRowsFallback) !== null && _c !== void 0 ? _c : no_rows_fallback_1.NoRowsFallback, actionCell: props.actionCell, actions: props.actions, bodyCells: (_d = props.bodyCells) !== null && _d !== void 0 ? _d : body_cell_1.BodyCells, data: (_f = (_e = props.data) === null || _e === void 0 ? void 0 : _e.result) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY, error: props.error, headerRowHeight: props.headerRowHeight, isLoading: props.isLoading, isRowSelectable: props.isRowSelectable, keyExtractor: props.keyExtractor, reload: props.reload, rowClass: props.rowAccent, rowHeight: props.rowHeight === "auto" ? undefined : props.rowHeight, schema: props.schema, state: props.state }),
37
+ react_1.default.createElement(footer_1.DataGridFooter, null,
38
+ react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { actions: props.actions, state: props.state }),
39
+ react_1.default.createElement(row_counts_1.DataGridRowCounts, { count: (_h = (_g = props.data) === null || _g === void 0 ? void 0 : _g.count) !== null && _h !== void 0 ? _h : 0, state: props.state, totalCount: (_k = (_j = props.data) === null || _j === void 0 ? void 0 : _j.totalCount) !== null && _k !== void 0 ? _k : 0 }),
40
+ react_1.default.createElement(pagination_1.DataGridPagination, { actions: props.actions, count: (_m = (_l = props.data) === null || _l === void 0 ? void 0 : _l.count) !== null && _m !== void 0 ? _m : 0, showFirstButton: true, showLastButton: true, size: "sm", state: props.state }))),
41
+ react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_o = props.SelectedRowsToolbarActions) !== null && _o !== void 0 ? _o : DefaultSelectedRowsToolbarActions, actions: props.actions, reload: props.reload, state: props.state })));
42
+ }
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Default = Default;
27
+ const build_array_1 = require("@uxf/core/utils/build-array");
28
+ const radio_group_1 = require("@uxf/ui/radio-group");
29
+ const react_1 = __importStar(require("react"));
30
+ const json_renderer_1 = require("./_story-utils/json-renderer");
31
+ const loader_1 = require("./_story-utils/loader");
32
+ const schema_1 = require("./_story-utils/schema");
33
+ const data_grid_1 = require("./data-grid");
34
+ const table_1 = require("./table");
35
+ const use_data_grid_control_1 = require("./use-data-grid-control");
36
+ const use_data_grid_fetching_1 = require("./use-data-grid-fetching");
37
+ const merge_schema_with_config_1 = require("./utils/merge-schema-with-config");
38
+ const actionCell = {
39
+ width: 100,
40
+ Component: () => {
41
+ const actionCellActions = (0, build_array_1.buildArray)()
42
+ .add({
43
+ icon: "arrow-right",
44
+ isIconButton: true,
45
+ href: "https://www.uxf.cz",
46
+ target: "_blank",
47
+ })
48
+ .add({
49
+ icon: "file",
50
+ label: "Download",
51
+ onClick: console.log,
52
+ })
53
+ .add({
54
+ icon: "cloud",
55
+ label: "Reload",
56
+ onClick: console.log,
57
+ });
58
+ return react_1.default.createElement(table_1.ActionCell, { buttons: actionCellActions, visibleButtonsCount: 1 });
59
+ },
60
+ };
61
+ const schemaWithFrontendConfig = (0, merge_schema_with_config_1.mergeSchemaWithConfig)(schema_1.schema, {
62
+ perPage: 100,
63
+ columns: {
64
+ bool: { width: 80 },
65
+ },
66
+ filters: {
67
+ text: { placeholder: "Custom placeholder ..." },
68
+ },
69
+ });
70
+ const FILTER_BEHAVIOR_OPTIONS = [
71
+ { id: "filtersPerTab", label: "filterPerTab" },
72
+ { id: "sharedFiltersAndSearch", label: "sharedFiltersAndSearch" },
73
+ { id: "sharedFiltersAndSearchAndSort", label: "sharedFiltersAndSearchAndSort" },
74
+ ];
75
+ function Default() {
76
+ const [filterBehavior, setFilterBehavior] = (0, react_1.useState)("filtersPerTab");
77
+ const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({
78
+ schema: schema_1.schema,
79
+ initialUserConfig: {
80
+ columns: {
81
+ id: { width: 60 },
82
+ link: { width: 200 },
83
+ day: { width: 150 },
84
+ dayAndTime: { width: 200 },
85
+ text: { minWidth: 150 },
86
+ mail: { minWidth: 150 },
87
+ tel: { minWidth: 150 },
88
+ uuid: { minWidth: 300 },
89
+ chip: { minWidth: 100 },
90
+ chips: { minWidth: 200 },
91
+ money: { minWidth: 100 },
92
+ toOne: { minWidth: 150 },
93
+ toMany: { minWidth: 200 },
94
+ },
95
+ },
96
+ });
97
+ const { isLoading, error, data, reload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
98
+ loader: loader_1.loader,
99
+ schema: schema_1.schema,
100
+ state,
101
+ });
102
+ return (react_1.default.createElement("div", { className: "p-10" },
103
+ react_1.default.createElement(radio_group_1.RadioGroup, { label: "Chov\u00E1n\u00ED p\u0159ep\u00EDn\u00E1n\u00ED tab\u016F", name: "filterBehavior", onChange: (value) => setFilterBehavior(value), options: FILTER_BEHAVIOR_OPTIONS, value: filterBehavior, variant: "row" }),
104
+ react_1.default.createElement(data_grid_1.DataGrid, { actionCell: actionCell, actions: actions, changeTabFilterBehavior: filterBehavior !== null && filterBehavior !== void 0 ? filterBehavior : "filtersPerTab", data: data, error: error, getCsvDownloadUrl: () => "", isLoading: isLoading, isRowSelectable: true, reload: reload, schema: schemaWithFrontendConfig, state: state }),
105
+ react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
106
+ }
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { CsvDownloadGetUrl, Schema } from "../types";
3
+ import { DataGridControl } from "../use-data-grid-control";
4
+ export interface DataGridExportButtonProps extends DataGridControl {
5
+ getCsvDownloadUrl: CsvDownloadGetUrl;
6
+ schema: Schema<any>;
7
+ }
8
+ export declare function DataGridExportButton(props: DataGridExportButtonProps): React.JSX.Element;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ "use client";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DataGridExportButton = DataGridExportButton;
8
+ const translations_1 = require("@uxf/core-react/translations");
9
+ const download_file_1 = require("@uxf/core/utils/download-file");
10
+ const button_1 = require("@uxf/ui/button");
11
+ const icon_1 = require("@uxf/ui/icon");
12
+ const react_1 = __importDefault(require("react"));
13
+ const utils_1 = require("../utils");
14
+ function DataGridExportButton(props) {
15
+ const t = (0, translations_1.useUxfTranslation)();
16
+ return (react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__plugin-button", isIconButton: true, onClick: () => (0, download_file_1.downloadFile)(props.getCsvDownloadUrl((0, utils_1.createRequest)(props.state.request)), "export.csv"), size: "sm", title: t("uxf-data-grid-export-button:download-csv"), variant: "secondary" },
17
+ react_1.default.createElement(icon_1.Icon, { name: "file-arrow-down" })));
18
+ }
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Default = Default;
7
+ const react_1 = __importDefault(require("react"));
8
+ const json_renderer_1 = require("../_story-utils/json-renderer");
9
+ const schema_1 = require("../_story-utils/schema");
10
+ const use_data_grid_control_1 = require("../use-data-grid-control");
11
+ const export_button_1 = require("./export-button");
12
+ function Default() {
13
+ const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({ schema: schema_1.schema });
14
+ return (react_1.default.createElement(react_1.default.Fragment, null,
15
+ react_1.default.createElement(export_button_1.DataGridExportButton, { actions: actions, getCsvDownloadUrl: () => "", schema: schema_1.schema, state: state }),
16
+ react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
17
+ }
@@ -0,0 +1 @@
1
+ export * from "./export-button";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./export-button"), exports);
@@ -0,0 +1,4 @@
1
+ import { FilterHandler } from "./types";
2
+ type StateValue = 1 | 0 | null;
3
+ declare const filterHandler: FilterHandler<StateValue>;
4
+ export default filterHandler;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const translations_1 = require("@uxf/core-react/translations");
7
+ const chip_1 = require("@uxf/ui/chip");
8
+ const select_1 = require("@uxf/ui/select");
9
+ const react_1 = __importDefault(require("react"));
10
+ const filterHandler = {
11
+ Input(props) {
12
+ var _a;
13
+ const t = (0, translations_1.useUxfTranslation)();
14
+ return (react_1.default.createElement(select_1.Select, { isClearable: true, label: props.filter.label, name: props.filter.name, onChange: (value) => props.onChange(value), options: [
15
+ { id: 1, label: t("uxf-data-grid-boolean-filter:yes") },
16
+ { id: 0, label: t("uxf-data-grid-boolean-filter:no") },
17
+ ], placeholder: (_a = props.filter.config) === null || _a === void 0 ? void 0 : _a.placeholder, value: props.value }));
18
+ },
19
+ ListItem(props) {
20
+ const t = (0, translations_1.useUxfTranslation)();
21
+ return (react_1.default.createElement(chip_1.Chip, { onClose: props.onClear },
22
+ props.filter.label,
23
+ ":\u00A0",
24
+ props.value ? t("uxf-data-grid-boolean-filter:yes") : t("uxf-data-grid-boolean-filter:no")));
25
+ },
26
+ };
27
+ exports.default = filterHandler;
@@ -0,0 +1,4 @@
1
+ import { FilterHandler } from "./types";
2
+ type StateValue = boolean | undefined;
3
+ declare const filterHandler: FilterHandler<StateValue>;
4
+ export default filterHandler;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const checkbox_input_1 = require("@uxf/ui/checkbox-input");
7
+ const chip_1 = require("@uxf/ui/chip");
8
+ const react_1 = __importDefault(require("react"));
9
+ const filterHandler = {
10
+ Input(props) {
11
+ var _a;
12
+ return (react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: props.filter.label, name: props.filter.name, onChange: (value) => props.onChange(value ? value : undefined), value: (_a = props.value) !== null && _a !== void 0 ? _a : false }));
13
+ },
14
+ ListItem: (props) => (react_1.default.createElement(chip_1.Chip, { onClose: props.onClear },
15
+ props.filter.label,
16
+ ":\u00A0",
17
+ props.value ? "Ano" : "Ne")),
18
+ };
19
+ exports.default = filterHandler;
@@ -0,0 +1,7 @@
1
+ import { FilterHandler } from "./types";
2
+ type StateValue = {
3
+ from?: string;
4
+ to?: string;
5
+ } | undefined;
6
+ declare const filterHandler: FilterHandler<StateValue>;
7
+ export default filterHandler;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const filter_nullish_1 = require("@uxf/core/utils/filter-nullish");
30
+ const is_nil_1 = require("@uxf/core/utils/is-nil");
31
+ const chip_1 = require("@uxf/ui/chip");
32
+ const date_picker_input_1 = require("@uxf/ui/date-picker-input");
33
+ const dayjs_1 = __importDefault(require("dayjs"));
34
+ const react_1 = __importStar(require("react"));
35
+ const filterHandler = {
36
+ Input(props) {
37
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
38
+ const [date, setDate] = (0, react_1.useState)();
39
+ const onChangeFrom = (value) => {
40
+ var _a, _b;
41
+ if ((0, is_nil_1.isNil)(value) && (0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.to)) {
42
+ props.onChange(undefined);
43
+ setDate(null);
44
+ }
45
+ else {
46
+ if ((0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isValid()) {
47
+ props.onChange({ ...props.value, from: value !== null && value !== void 0 ? value : undefined });
48
+ setDate(null);
49
+ }
50
+ else {
51
+ setDate({ from: value, to: ((_b = props.value) === null || _b === void 0 ? void 0 : _b.to) || null });
52
+ if ((0, is_nil_1.isNil)(value)) {
53
+ props.onChange({ ...props.value, from: undefined });
54
+ }
55
+ }
56
+ }
57
+ };
58
+ const onChangeTo = (value) => {
59
+ var _a, _b;
60
+ if ((0, is_nil_1.isNil)(value) && (0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.from)) {
61
+ props.onChange(undefined);
62
+ setDate(null);
63
+ }
64
+ else {
65
+ if ((0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isValid()) {
66
+ props.onChange({ ...props.value, to: value !== null && value !== void 0 ? value : undefined });
67
+ setDate(null);
68
+ }
69
+ else {
70
+ setDate({ from: ((_b = props.value) === null || _b === void 0 ? void 0 : _b.from) || null, to: value });
71
+ if ((0, is_nil_1.isNil)(value)) {
72
+ props.onChange({ ...props.value, to: undefined });
73
+ }
74
+ }
75
+ }
76
+ };
77
+ return (react_1.default.createElement("div", { className: "uxf-data-grid__filter uxf-data-grid__filter--date" },
78
+ react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (od)`, maxDate: (_a = props.value) === null || _a === void 0 ? void 0 : _a.to, name: `${props.filter.name}.from`, onChange: onChangeFrom, placeholder: (_b = props.filter.config) === null || _b === void 0 ? void 0 : _b.placeholder, value: (_e = (_c = date === null || date === void 0 ? void 0 : date.from) !== null && _c !== void 0 ? _c : (_d = props.value) === null || _d === void 0 ? void 0 : _d.from) !== null && _e !== void 0 ? _e : null }),
79
+ react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (do)`, minDate: (_f = props.value) === null || _f === void 0 ? void 0 : _f.from, name: `${props.filter.name}.to`, onChange: onChangeTo, placeholder: (_g = props.filter.config) === null || _g === void 0 ? void 0 : _g.placeholder, value: (_k = (_h = date === null || date === void 0 ? void 0 : date.to) !== null && _h !== void 0 ? _h : (_j = props.value) === null || _j === void 0 ? void 0 : _j.to) !== null && _k !== void 0 ? _k : null })));
80
+ },
81
+ ListItem: function (props) {
82
+ var _a, _b;
83
+ if ((0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.from) && (0, is_nil_1.isNil)((_b = props.value) === null || _b === void 0 ? void 0 : _b.to)) {
84
+ return null;
85
+ }
86
+ const formatDate = [
87
+ props.value.from ? "od " + (0, dayjs_1.default)(props.value.from).format("l") : null,
88
+ props.value.to ? "do " + (0, dayjs_1.default)(props.value.to).format("l") : null,
89
+ ];
90
+ return (react_1.default.createElement(chip_1.Chip, { onClose: props.onClear },
91
+ props.filter.label,
92
+ ": ",
93
+ (0, filter_nullish_1.filterNullish)(formatDate).join(" ")));
94
+ },
95
+ };
96
+ exports.default = filterHandler;
@@ -0,0 +1,7 @@
1
+ import { FilterHandler } from "./types";
2
+ type StateValue = {
3
+ from?: string;
4
+ to?: string;
5
+ } | undefined;
6
+ declare const filterHandler: FilterHandler<StateValue>;
7
+ export default filterHandler;