@uxf/data-grid 11.36.0 → 11.37.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 (67) hide show
  1. package/_store/reducer.js +17 -14
  2. package/components.d.ts +0 -5
  3. package/components.js +0 -5
  4. package/data-grid-custom-example.stories.js +2 -2
  5. package/data-grid.js +7 -8
  6. package/data-grid.stories.js +3 -3
  7. package/export-button/export-button.d.ts +1 -3
  8. package/export-button/export-button.js +2 -5
  9. package/filter-list/filter-list.d.ts +2 -6
  10. package/filter-list/filter-list.js +2 -5
  11. package/filters/filters.d.ts +1 -3
  12. package/filters/filters.js +2 -5
  13. package/filters-button/filters-button.d.ts +1 -3
  14. package/filters-button/filters-button.js +2 -5
  15. package/footer/footer.d.ts +0 -2
  16. package/footer/footer.js +1 -3
  17. package/fulltext-input/fulltext-input.d.ts +1 -3
  18. package/fulltext-input/fulltext-input.js +2 -5
  19. package/linear-progress/linear-progress.d.ts +2 -6
  20. package/linear-progress/linear-progress.js +2 -5
  21. package/package.json +2 -2
  22. package/pagination/pagination.d.ts +2 -6
  23. package/pagination/pagination.js +2 -5
  24. package/root/root.d.ts +0 -2
  25. package/root/root.js +1 -2
  26. package/row-counts/row-counts.d.ts +2 -6
  27. package/row-counts/row-counts.js +2 -5
  28. package/rows-per-page-select/rows-per-page-select.d.ts +1 -3
  29. package/rows-per-page-select/rows-per-page-select.js +2 -5
  30. package/selected-rows-toolbar/selected-rows-toolbar.d.ts +2 -6
  31. package/selected-rows-toolbar/selected-rows-toolbar.js +2 -5
  32. package/styles.css +0 -8
  33. package/table/hooks/use-react-data-grid-columns.d.ts +2 -2
  34. package/table/hooks/use-react-data-grid-columns.js +1 -1
  35. package/table/table.d.ts +1 -3
  36. package/table/table.js +2 -5
  37. package/table/types.d.ts +1 -3
  38. package/table-v2/hooks/use-resizable-columns.js +5 -1
  39. package/table-v2/table-v2.d.ts +1 -3
  40. package/table-v2/table-v2.js +7 -6
  41. package/table-v2/types.d.ts +1 -3
  42. package/table-v2/utils/get-grid-template-columns.d.ts +5 -1
  43. package/table-v2/utils/get-grid-template-columns.js +5 -4
  44. package/table-v2/utils/get-grid-template-rows.d.ts +2 -2
  45. package/toolbar/toolbar.d.ts +0 -1
  46. package/toolbar/toolbar.js +1 -3
  47. package/toolbar-control/toolbar-control.d.ts +2 -6
  48. package/toolbar-control/toolbar-control.js +2 -5
  49. package/toolbar-customs/toolbar-customs.d.ts +2 -6
  50. package/toolbar-customs/toolbar-customs.js +2 -5
  51. package/toolbar-tabs/toolbar-tabs.d.ts +4 -6
  52. package/toolbar-tabs/toolbar-tabs.js +8 -10
  53. package/types/components.d.ts +1 -0
  54. package/types/data-grid-props.d.ts +2 -3
  55. package/types/index.d.ts +6 -6
  56. package/types/index.js +0 -20
  57. package/types/schema.d.ts +0 -5
  58. package/types/schema.js +0 -7
  59. package/use-data-grid-control/actions-factory.d.ts +2 -1
  60. package/use-data-grid-control/actions-factory.js +1 -1
  61. package/use-data-grid-control/use-data-grid-control.d.ts +1 -1
  62. package/data-grid-v2.d.ts +0 -3
  63. package/data-grid-v2.js +0 -43
  64. package/data-grid-v2.stories.d.ts +0 -2
  65. package/data-grid-v2.stories.js +0 -92
  66. package/utils/classes.d.ts +0 -1
  67. package/utils/classes.js +0 -4
package/table/table.js CHANGED
@@ -26,8 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.DataGridTable = void 0;
30
- exports.Table = Table;
29
+ exports.DataGridTable = DataGridTable;
31
30
  const show_1 = require("@uxf/core-react/components/show");
32
31
  const use_is_mounted_1 = require("@uxf/core-react/hooks/use-is-mounted");
33
32
  const empty_array_1 = require("@uxf/core/constants/empty-array");
@@ -41,7 +40,7 @@ const no_rows_fallback_1 = require("./no-rows-fallback");
41
40
  const defaultKeyExtractor = (r) => r.id;
42
41
  const DefaultNoRowsFallback = no_rows_fallback_1.NoRowsFallback;
43
42
  /** @deprecated will be remove, use DataGridTableV2 */
44
- function Table(props) {
43
+ function DataGridTable(props) {
45
44
  var _a, _b, _c, _d, _e, _f, _g;
46
45
  const isMounted = (0, use_is_mounted_1.useIsMounted)();
47
46
  const rowHeight = (_a = props.rowHeight) !== null && _a !== void 0 ? _a : 44;
@@ -91,5 +90,3 @@ function Table(props) {
91
90
  return (react_1.default.createElement(show_1.Show, { when: isMounted },
92
91
  react_1.default.createElement(react_data_grid_1.default, { className: rdgVisuals.className, columns: columns, enableVirtualization: false, headerRowHeight: rdgVisuals.headerRowHeight, onSelectedRowsChange: onSelectRows, onSortColumnsChange: onSortColumnChange, ref: rdgVisuals.ref, renderers: components, rowClass: props.rowClass, rowHeight: rdgVisuals.rowHeight, rowKeyGetter: (_e = props.keyExtractor) !== null && _e !== void 0 ? _e : defaultKeyExtractor, rows: props.data, selectedRows: new Set((_g = (_f = props.state.selectedRows) === null || _f === void 0 ? void 0 : _f.map(keyExtractor)) !== null && _g !== void 0 ? _g : empty_array_1.EMPTY_ARRAY), sortColumns: sortColumns, style: reactDataGridStyles })));
93
92
  }
94
- /** @deprecated will be remove, use DataGridTableV2 */
95
- exports.DataGridTable = Table;
package/table/types.d.ts CHANGED
@@ -4,8 +4,7 @@ import { KeyExtractor } from "../types/core";
4
4
  import { Schema } from "../types/schema";
5
5
  import { DataGridControl } from "../use-data-grid-control";
6
6
  import { NoRowsFallbackComponent } from "./no-rows-fallback";
7
- /** @deprecated Use DataGridTableProps */
8
- export interface TableProps<Row> extends DataGridControl {
7
+ export interface DataGridTableProps<Row> extends DataGridControl {
9
8
  schema: Schema<any>;
10
9
  data: Row[];
11
10
  isLoading?: boolean;
@@ -20,4 +19,3 @@ export interface TableProps<Row> extends DataGridControl {
20
19
  NoRowsFallback?: NoRowsFallbackComponent;
21
20
  isRowSelectable?: boolean;
22
21
  }
23
- export type DataGridTableProps<Row> = TableProps<Row>;
@@ -29,7 +29,11 @@ function useResizableColumns(columns, actionCell, actions, selectRowsCellWidth)
29
29
  // TODO @vejvis - jak tohle udělat lépe??
30
30
  tempColumnSizes = gridColumns;
31
31
  if (tableRef.current) {
32
- tableRef.current.style.gridTemplateColumns = (0, get_grid_template_columns_1.getGridTemplateColumns)(gridColumns.map((size) => ((0, is_not_nil_1.isNotNil)(size) ? (0, rem_1.rem)(size) : "1fr")), actionCellWidth, selectRowsCellWidth);
32
+ tableRef.current.style.gridTemplateColumns = (0, get_grid_template_columns_1.getGridTemplateColumns)({
33
+ actionColumnWidth: actionCellWidth,
34
+ columns: gridColumns.map((size) => ((0, is_not_nil_1.isNotNil)(size) ? (0, rem_1.rem)(size) : "1fr")),
35
+ selectRowColumnWidth: selectRowsCellWidth,
36
+ });
33
37
  }
34
38
  };
35
39
  const onMouseUp = () => {
@@ -1,5 +1,3 @@
1
1
  import React from "react";
2
2
  import { DataGridTableProps } from "./types";
3
- /** @deprecated Use DataGridTableV2 */
4
- export declare function TableV2(props: DataGridTableProps<any>): React.JSX.Element;
5
- export declare const DataGridTableV2: typeof TableV2;
3
+ export declare function DataGridTableV2(props: DataGridTableProps<any>): React.JSX.Element;
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DataGridTableV2 = void 0;
7
- exports.TableV2 = TableV2;
6
+ exports.DataGridTableV2 = DataGridTableV2;
8
7
  const show_1 = require("@uxf/core-react/components/show");
9
8
  const empty_array_1 = require("@uxf/core/constants/empty-array");
10
9
  const is_nil_1 = require("@uxf/core/utils/is-nil");
@@ -20,8 +19,7 @@ const get_grid_template_rows_1 = require("./utils/get-grid-template-rows");
20
19
  const SELECT_ROWS_CELL_WIDTH = 40;
21
20
  const defaultKeyExtractor = (r) => r.id;
22
21
  const DefaultBodyCell = () => "Unknown body cell.";
23
- /** @deprecated Use DataGridTableV2 */
24
- function TableV2(props) {
22
+ function DataGridTableV2(props) {
25
23
  var _a, _b, _c, _d, _e;
26
24
  const keyExtractor = (_a = props.keyExtractor) !== null && _a !== void 0 ? _a : defaultKeyExtractor;
27
25
  const visibleColumns = props.schema.columns
@@ -33,7 +31,11 @@ function TableV2(props) {
33
31
  const gridTemplateBasicColumns = visibleColumns
34
32
  .map((column) => { var _a, _b, _c, _d; return (_c = (_b = (_a = props.state.userConfig.columns) === null || _a === void 0 ? void 0 : _a[column.name]) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : (_d = column.config) === null || _d === void 0 ? void 0 : _d.width; })
35
33
  .map((width) => ((0, is_nil_1.isNil)(width) ? "1fr" : (0, rem_1.rem)(width)));
36
- const gridTemplateColumns = (0, get_grid_template_columns_1.getGridTemplateColumns)(gridTemplateBasicColumns, selectedRowColumnWidth, (_d = props.actionCell) === null || _d === void 0 ? void 0 : _d.width);
34
+ const gridTemplateColumns = (0, get_grid_template_columns_1.getGridTemplateColumns)({
35
+ columns: gridTemplateBasicColumns,
36
+ selectRowColumnWidth: selectedRowColumnWidth,
37
+ actionColumnWidth: (_d = props.actionCell) === null || _d === void 0 ? void 0 : _d.width,
38
+ });
37
39
  const selectedRows = (_e = props.state.selectedRows) !== null && _e !== void 0 ? _e : empty_array_1.EMPTY_ARRAY;
38
40
  const selectRowHandler = (rowId) => () => {
39
41
  const isRowSelected = selectedRows.find((r) => keyExtractor(r) === rowId);
@@ -69,4 +71,3 @@ function TableV2(props) {
69
71
  (0, is_not_nil_1.isNotNil)(props.actionCell) && (react_1.default.createElement(components_1.Table.ActionCell, null,
70
72
  react_1.default.createElement(props.actionCell.Component, { reload: () => { var _a; return (_a = props.onReload) === null || _a === void 0 ? void 0 : _a.call(props); }, row: row })))))))));
71
73
  }
72
- exports.DataGridTableV2 = TableV2;
@@ -4,8 +4,7 @@ import { KeyExtractor } from "../types/core";
4
4
  import { Schema } from "../types/schema";
5
5
  import { DataGridControl } from "../use-data-grid-control";
6
6
  import { NoRowsFallbackComponent } from "./no-rows-fallback";
7
- /** @deprecated Use DataGridTableProps */
8
- export interface TableProps<Row> extends DataGridControl {
7
+ export interface DataGridTableProps<Row> extends DataGridControl {
9
8
  schema: Schema<any>;
10
9
  data: Row[];
11
10
  isLoading?: boolean;
@@ -23,4 +22,3 @@ export interface TableProps<Row> extends DataGridControl {
23
22
  NoRowsFallback?: NoRowsFallbackComponent;
24
23
  isRowSelectable?: boolean;
25
24
  }
26
- export type DataGridTableProps<Row> = TableProps<Row>;
@@ -1,2 +1,6 @@
1
1
  import { Nullish } from "@uxf/core/types";
2
- export declare function getGridTemplateColumns(columns: string[], selectRowColumnWidth: number | Nullish, actionColumnWidth: number | Nullish): string;
2
+ export declare function getGridTemplateColumns(config: {
3
+ columns: string[];
4
+ selectRowColumnWidth: number | Nullish;
5
+ actionColumnWidth: number | Nullish;
6
+ }): string;
@@ -4,10 +4,11 @@ exports.getGridTemplateColumns = getGridTemplateColumns;
4
4
  const buildArray_1 = require("@uxf/core/utils/buildArray");
5
5
  const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
6
6
  const rem_1 = require("@uxf/styles/units/rem");
7
- function getGridTemplateColumns(columns, selectRowColumnWidth, actionColumnWidth) {
7
+ function getGridTemplateColumns(config) {
8
+ var _a, _b;
8
9
  return (0, buildArray_1.buildArray)()
9
- .when((0, is_not_nil_1.isNotNil)(selectRowColumnWidth), (0, rem_1.rem)(selectRowColumnWidth !== null && selectRowColumnWidth !== void 0 ? selectRowColumnWidth : 0))
10
- .add(columns.join(" "))
11
- .when((0, is_not_nil_1.isNotNil)(actionColumnWidth), `minmax(${(0, rem_1.rem)(actionColumnWidth !== null && actionColumnWidth !== void 0 ? actionColumnWidth : 0)}, auto)`)
10
+ .when((0, is_not_nil_1.isNotNil)(config.selectRowColumnWidth), (0, rem_1.rem)((_a = config.selectRowColumnWidth) !== null && _a !== void 0 ? _a : 0))
11
+ .add(config.columns.join(" "))
12
+ .when((0, is_not_nil_1.isNotNil)(config.actionColumnWidth), `minmax(${(0, rem_1.rem)((_b = config.actionColumnWidth) !== null && _b !== void 0 ? _b : 0)}, auto)`)
12
13
  .join(" ");
13
14
  }
@@ -1,2 +1,2 @@
1
- import { TableProps } from "../types";
2
- export declare function getGridTemplateRows(rows: any[], headerRowHeight: number, rowHeight: TableProps<any>["rowHeight"]): string | undefined;
1
+ import { DataGridTableProps } from "../types";
2
+ export declare function getGridTemplateRows(rows: any[], headerRowHeight: number, rowHeight: DataGridTableProps<any>["rowHeight"]): string | undefined;
@@ -1,6 +1,5 @@
1
1
  import React, { ReactNode } from "react";
2
2
  export interface DataGridToolbarProps {
3
3
  children: ReactNode;
4
- noBorder?: boolean;
5
4
  }
6
5
  export declare function DataGridToolbar(props: DataGridToolbarProps): React.JSX.Element;
@@ -4,9 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DataGridToolbar = DataGridToolbar;
7
- const cx_1 = require("@uxf/core/utils/cx");
8
7
  const react_1 = __importDefault(require("react"));
9
- const classes_1 = require("../utils/classes");
10
8
  function DataGridToolbar(props) {
11
- return react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-data-grid__toolbar", props.noBorder && classes_1.NO_BORDER_CLASS) }, props.children);
9
+ return react_1.default.createElement("div", { className: "uxf-data-grid__toolbar" }, props.children);
12
10
  }
@@ -3,14 +3,10 @@ import React from "react";
3
3
  import { FilterHandlers } from "../filter-handler";
4
4
  import { CsvDownloadHandler, Schema } from "../types";
5
5
  import { DataGridControl } from "../use-data-grid-control";
6
- /** @deprecated Use DataGridToolbarControlProps */
7
- export interface ToolbarControlProps extends DataGridControl {
6
+ export interface DataGridToolbarControlProps extends DataGridControl {
8
7
  schema: Schema<any>;
9
8
  filterHandlers: FilterHandlers;
10
9
  onCsvDownload?: CsvDownloadHandler;
11
10
  isBorderHidden?: boolean | Nullish;
12
11
  }
13
- export type DataGridToolbarControlProps = ToolbarControlProps;
14
- /** @deprecated Use DataGridToolbarControl */
15
- export declare function ToolbarControl(props: ToolbarControlProps): React.JSX.Element;
16
- export declare const DataGridToolbarControl: typeof ToolbarControl;
12
+ export declare function DataGridToolbarControl(props: DataGridToolbarControlProps): React.JSX.Element;
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DataGridToolbarControl = void 0;
7
- exports.ToolbarControl = ToolbarControl;
6
+ exports.DataGridToolbarControl = DataGridToolbarControl;
8
7
  const hide_1 = require("@uxf/core-react/components/hide");
9
8
  const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
10
9
  const react_1 = __importDefault(require("react"));
@@ -12,8 +11,7 @@ const export_button_1 = require("../export-button");
12
11
  const filters_button_1 = require("../filters-button");
13
12
  const fulltext_input_1 = require("../fulltext-input");
14
13
  const hidden_columns_button_1 = require("../hidden-columns-button");
15
- /** @deprecated Use DataGridToolbarControl */
16
- function ToolbarControl(props) {
14
+ function DataGridToolbarControl(props) {
17
15
  return (react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-control" },
18
16
  react_1.default.createElement(hide_1.Hide, { when: !props.schema.fullText },
19
17
  react_1.default.createElement(fulltext_input_1.DataGridFulltextInput, { actions: props.actions, state: props.state })),
@@ -21,4 +19,3 @@ function ToolbarControl(props) {
21
19
  react_1.default.createElement(hidden_columns_button_1.DataGridHiddenColumnsButton, { actions: props.actions, schema: props.schema, state: props.state }),
22
20
  react_1.default.createElement(filters_button_1.DataGridFiltersButton, { actions: props.actions, filterHandlers: props.filterHandlers, schema: props.schema, state: props.state })));
23
21
  }
24
- exports.DataGridToolbarControl = ToolbarControl;
@@ -1,7 +1,6 @@
1
1
  import { ButtonVariant } from "@uxf/ui/button";
2
2
  import React, { ReactElement } from "react";
3
- /** @deprecated Use DataGridToolbarCustomsProps */
4
- export interface ToolbarCustomsProps {
3
+ export interface DataGridToolbarCustomsProps {
5
4
  buttons?: {
6
5
  label: string | ReactElement;
7
6
  onClick?: () => void;
@@ -9,7 +8,4 @@ export interface ToolbarCustomsProps {
9
8
  variant?: ButtonVariant;
10
9
  }[];
11
10
  }
12
- export type DataGridToolbarCustomsProps = ToolbarCustomsProps;
13
- /** @deprecated Use DataGridToolbarCustoms */
14
- export declare function ToolbarCustoms(props: ToolbarCustomsProps): React.JSX.Element | null;
15
- export declare const DataGridToolbarCustoms: typeof ToolbarCustoms;
11
+ export declare function DataGridToolbarCustoms(props: DataGridToolbarCustomsProps): React.JSX.Element | null;
@@ -3,14 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DataGridToolbarCustoms = void 0;
7
- exports.ToolbarCustoms = ToolbarCustoms;
6
+ exports.DataGridToolbarCustoms = DataGridToolbarCustoms;
8
7
  const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
9
8
  const button_1 = require("@uxf/ui/button");
10
9
  const button_list_1 = require("@uxf/ui/button-list");
11
10
  const react_1 = __importDefault(require("react"));
12
- /** @deprecated Use DataGridToolbarCustoms */
13
- function ToolbarCustoms(props) {
11
+ function DataGridToolbarCustoms(props) {
14
12
  if (!props.buttons) {
15
13
  return null;
16
14
  }
@@ -19,4 +17,3 @@ function ToolbarCustoms(props) {
19
17
  react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs-mobile" }, (0, is_not_nil_1.isNotNil)(firstButton) ? (react_1.default.createElement(button_1.Button, { href: firstButton.href, onClick: firstButton.onClick, size: "sm", variant: firstButton.variant }, firstButton.label)) : (react_1.default.createElement(button_list_1.ButtonList, { buttons: props.buttons, openButton: { variant: "secondary" }, size: "sm", visibleButtonsCount: 1 }))),
20
18
  react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs-desktop" }, props.buttons.map((button, index) => (react_1.default.createElement(button_1.Button, { href: button.href, key: index, onClick: button.onClick, size: "sm", variant: button.variant }, button.label))))));
21
19
  }
22
- exports.DataGridToolbarCustoms = ToolbarCustoms;
@@ -1,11 +1,9 @@
1
1
  import React from "react";
2
+ import { ChangeTabFilterBehavior } from "../types";
2
3
  import { Schema } from "../types/schema";
3
4
  import { DataGridControl } from "../use-data-grid-control";
4
- /** @deprecated Use DataGridToolbarTabsProps */
5
- export interface ToolbarTabsProps extends DataGridControl {
5
+ export interface DataGridToolbarTabsProps extends DataGridControl {
6
+ changeTabFilterBehavior?: ChangeTabFilterBehavior;
6
7
  schema: Schema<any>;
7
8
  }
8
- export type DataGridToolbarTabsProps = ToolbarTabsProps;
9
- /** @deprecated Use DataGridToolbarTabs */
10
- export declare function ToolbarTabs(props: DataGridToolbarTabsProps): React.JSX.Element;
11
- export declare const DataGridToolbarTabs: typeof ToolbarTabs;
9
+ export declare function DataGridToolbarTabs(props: DataGridToolbarTabsProps): React.JSX.Element;
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DataGridToolbarTabs = void 0;
7
- exports.ToolbarTabs = ToolbarTabs;
6
+ exports.DataGridToolbarTabs = DataGridToolbarTabs;
8
7
  const show_1 = require("@uxf/core-react/components/show");
9
8
  const cx_1 = require("@uxf/core/utils/cx");
10
9
  const button_1 = require("@uxf/ui/button");
@@ -14,25 +13,24 @@ const react_1 = __importDefault(require("react"));
14
13
  function Tab(props) {
15
14
  return (react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-data-grid__toolbar-tab", props.isActive && "is-active"), onClick: props.onClick }, props.title));
16
15
  }
17
- /** @deprecated Use DataGridToolbarTabs */
18
- function ToolbarTabs(props) {
16
+ function DataGridToolbarTabs(props) {
19
17
  var _a, _b, _c, _d;
20
18
  return (react_1.default.createElement(show_1.Show, { when: Boolean((_a = props.schema.tabs) === null || _a === void 0 ? void 0 : _a.length) },
21
19
  react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-tabs" },
22
- react_1.default.createElement("nav", { "aria-label": "Tabs", className: "uxf-data-grid__toolbar-tabs-nav uxf-data-grid__toolbar-tabs-nav--desktop" }, (_b = props.schema.tabs) === null || _b === void 0 ? void 0 : _b.map((t) => (react_1.default.createElement(Tab, { isActive: props.state.request.tab === t.name, key: t.name, onClick: () => props.actions.changeTab(t), title: t.label })))),
20
+ react_1.default.createElement("nav", { "aria-label": "Tabs", className: "uxf-data-grid__toolbar-tabs-nav uxf-data-grid__toolbar-tabs-nav--desktop" }, (_b = props.schema.tabs) === null || _b === void 0 ? void 0 : _b.map((tab) => (react_1.default.createElement(Tab, { isActive: props.state.request.tab === tab.name, key: tab.name, onClick: () => { var _a; return props.actions.changeTab(tab, (_a = props.changeTabFilterBehavior) !== null && _a !== void 0 ? _a : "filtersPerTab"); }, title: tab.label })))),
23
21
  react_1.default.createElement("nav", { className: "uxf-data-grid__toolbar-tabs-nav uxf-data-grid__toolbar-tabs-nav--mobile" },
24
22
  react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__toolbar-tabs-button", onClick: () => {
25
23
  var _a;
26
24
  return (0, modal_service_1.openModal)({
27
- children: (react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-tabs-modal-content" }, (_a = props.schema.tabs) === null || _a === void 0 ? void 0 : _a.map((item) => (react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__toolbar-tabs-modal-button", key: item.name, onClick: () => {
28
- props.actions.changeTab(item);
25
+ children: (react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-tabs-modal-content" }, (_a = props.schema.tabs) === null || _a === void 0 ? void 0 : _a.map((tab) => (react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__toolbar-tabs-modal-button", key: tab.name, onClick: () => {
26
+ var _a;
27
+ props.actions.changeTab(tab, (_a = props.changeTabFilterBehavior) !== null && _a !== void 0 ? _a : "filtersPerTab");
29
28
  (0, modal_service_1.closeModal)();
30
29
  }, size: "xl", variant: "text" },
31
- item.name === props.state.request.tab && (react_1.default.createElement(icon_1.Icon, { className: "uxf-data-grid__toolbar-tabs-modal-active-tab-icon", name: "check", size: 20 })),
32
- react_1.default.createElement("span", { className: "uxf-data-grid__toolbar-tabs-modal-button-text" }, item.label)))))),
30
+ tab.name === props.state.request.tab && (react_1.default.createElement(icon_1.Icon, { className: "uxf-data-grid__toolbar-tabs-modal-active-tab-icon", name: "check", size: 20 })),
31
+ react_1.default.createElement("span", { className: "uxf-data-grid__toolbar-tabs-modal-button-text" }, tab.label)))))),
33
32
  });
34
33
  }, size: "sm", variant: "text" },
35
34
  react_1.default.createElement("span", { className: "uxf-data-grid__toolbar-tabs-nav-text" }, (_d = (_c = props.schema.tabs) === null || _c === void 0 ? void 0 : _c.find((t) => t.name === props.state.request.tab)) === null || _d === void 0 ? void 0 : _d.label),
36
35
  react_1.default.createElement(icon_1.Icon, { className: "uxf-data-grid__toolbar-tabs-button-icon", name: "caretDown", size: 16 }))))));
37
36
  }
38
- exports.DataGridToolbarTabs = ToolbarTabs;
@@ -28,3 +28,4 @@ export interface FilterProps<StateValue> {
28
28
  onChange: (value: StateValue | undefined, op?: string) => void;
29
29
  onClear: () => void;
30
30
  }
31
+ export type ChangeTabFilterBehavior = "sharedFilters" | "filtersPerTab";
@@ -5,7 +5,7 @@ import { DataGridTableProps } from "../table/types";
5
5
  import { DataGridToolbarCustomsProps } from "../toolbar-customs";
6
6
  import { DataGridControl } from "../use-data-grid-control";
7
7
  import { DataGridFetchingResult } from "../use-data-grid-fetching";
8
- import { BodyCellComponents } from "./components";
8
+ import { BodyCellComponents, ChangeTabFilterBehavior } from "./components";
9
9
  import { CsvDownloadHandler, KeyExtractor } from "./core";
10
10
  import { BaseGridType, Schema } from "./schema";
11
11
  export type DataGridControlProps = DataGridControl;
@@ -15,8 +15,6 @@ export type DataGridBaseProps<GridType extends BaseGridType, Row> = {
15
15
  gridName?: string;
16
16
  keyExtractor?: KeyExtractor;
17
17
  onCsvDownload?: CsvDownloadHandler;
18
- /** @deprecated will be remove, create custom data grid https://fe.uxf.dev/docs/data-grid/data-grid-custom-example */
19
- noBorder?: boolean;
20
18
  rowHeight?: number | ((row: Row) => number);
21
19
  headerRowHeight?: number;
22
20
  rowClass?: (row: Row) => "success" | "warning" | "error" | "primary" | "secondary" | string | null | undefined;
@@ -29,5 +27,6 @@ export type DataGridBaseProps<GridType extends BaseGridType, Row> = {
29
27
  SelectedRowsToolbarActions?: SelectedRowsToolbarActionsComponent;
30
28
  isRowSelectable?: boolean;
31
29
  isDebug?: boolean;
30
+ changeTabFilterBehavior?: ChangeTabFilterBehavior;
32
31
  };
33
32
  export type DataGridProps<GridType extends BaseGridType, Row> = DataGridBaseProps<GridType, Row> & DataGridDataProps<Row> & DataGridControlProps;
package/types/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export * from "./api";
2
- export * from "./components";
3
- export * from "./core";
4
- export * from "./data-grid-props";
5
- export * from "./schema";
6
- export * from "./state";
1
+ export type * from "./api";
2
+ export type * from "./components";
3
+ export type * from "./core";
4
+ export type * from "./data-grid-props";
5
+ export type * from "./schema";
6
+ export type * from "./state";
package/types/index.js CHANGED
@@ -1,22 +1,2 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./api"), exports);
18
- __exportStar(require("./components"), exports);
19
- __exportStar(require("./core"), exports);
20
- __exportStar(require("./data-grid-props"), exports);
21
- __exportStar(require("./schema"), exports);
22
- __exportStar(require("./state"), exports);
package/types/schema.d.ts CHANGED
@@ -1,9 +1,4 @@
1
1
  import { ReactElement } from "react";
2
- /** @deprecated use 'asc' or 'desc' */
3
- export declare enum DataGridSortDir {
4
- Asc = "asc",
5
- Desc = "desc"
6
- }
7
2
  export interface DataGridSort {
8
3
  name: string;
9
4
  dir: "asc" | "desc";
package/types/schema.js CHANGED
@@ -1,9 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataGridSortDir = void 0;
4
- /** @deprecated use 'asc' or 'desc' */
5
- var DataGridSortDir;
6
- (function (DataGridSortDir) {
7
- DataGridSortDir["Asc"] = "asc";
8
- DataGridSortDir["Desc"] = "desc";
9
- })(DataGridSortDir || (exports.DataGridSortDir = DataGridSortDir = {}));
@@ -1,4 +1,5 @@
1
1
  import { Dispatch } from "react";
2
+ import type { ChangeTabFilterBehavior } from "../types";
2
3
  import { Tab } from "../types/schema";
3
4
  import { DataGridUserConfig } from "../types/state";
4
5
  export declare function createActions(dispatch: Dispatch<any>): {
@@ -10,7 +11,7 @@ export declare function createActions(dispatch: Dispatch<any>): {
10
11
  sort: (columnName: string, direction?: string | null) => void;
11
12
  sortClear: () => void;
12
13
  search: (search: string) => void;
13
- changeTab: (tab: Tab) => void;
14
+ changeTab: (tab: Tab, filterBehavior: ChangeTabFilterBehavior) => void;
14
15
  setSelectedRows: (rows: any[]) => void;
15
16
  hideColumn: (name: string) => void;
16
17
  showColumn: (name: string) => void;
@@ -11,7 +11,7 @@ function createActions(dispatch) {
11
11
  sort: (columnName, direction = null) => dispatch({ type: "SORT", columnName, direction }),
12
12
  sortClear: () => dispatch({ type: "SORT_CLEAR" }),
13
13
  search: (search) => dispatch({ type: "FULLTEXT", search }),
14
- changeTab: (tab) => dispatch({ type: "CHANGE_TAB", tab }),
14
+ changeTab: (tab, filterBehavior) => dispatch({ type: "CHANGE_TAB", tab, filterBehavior }),
15
15
  setSelectedRows: (rows) => dispatch({ type: "SET_SELECTED_ROWS", rows }),
16
16
  hideColumn: (name) => dispatch({ type: "HIDE_COLUMN", name }),
17
17
  showColumn: (name) => dispatch({ type: "SHOW_COLUMN", name }),
@@ -19,7 +19,7 @@ export declare function useDataGridControl<T extends BaseGridType>(config: UseDa
19
19
  sort: (columnName: string, direction?: string | null) => void;
20
20
  sortClear: () => void;
21
21
  search: (search: string) => void;
22
- changeTab: (tab: import("../types/schema").Tab) => void;
22
+ changeTab: (tab: import("../types/schema").Tab, filterBehavior: import("..").ChangeTabFilterBehavior) => void;
23
23
  setSelectedRows: (rows: any[]) => void;
24
24
  hideColumn: (name: string) => void;
25
25
  showColumn: (name: string) => void;
package/data-grid-v2.d.ts DELETED
@@ -1,3 +0,0 @@
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;
package/data-grid-v2.js DELETED
@@ -1,43 +0,0 @@
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 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 classes_1 = require("./utils/classes");
26
- const DefaultSelectedRowsToolbarActions = () => null;
27
- function DataGridV2(props) {
28
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
29
- return (react_1.default.createElement(react_1.default.Fragment, null,
30
- react_1.default.createElement(root_1.DataGridRoot, { className: props.className, noBorder: props.noBorder },
31
- react_1.default.createElement(toolbar_1.DataGridToolbar, { noBorder: props.noBorder },
32
- react_1.default.createElement(toolbar_tabs_1.DataGridToolbarTabs, { actions: props.actions, schema: props.schema, state: props.state }),
33
- react_1.default.createElement(toolbar_control_1.DataGridToolbarControl, { actions: props.actions, filterHandlers: (_a = props.filterHandlers) !== null && _a !== void 0 ? _a : filter_handler_1.defaultFilterHandlers, onCsvDownload: props.onCsvDownload, schema: props.schema, state: props.state }),
34
- react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: props.customActions })),
35
- react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: props.isLoading }),
36
- react_1.default.createElement(filter_list_1.DataGridFilterList, { actions: props.actions, className: props.noBorder ? classes_1.NO_BORDER_CLASS : undefined, filterHandlers: (_b = props.filterHandlers) !== null && _b !== void 0 ? _b : filter_handler_1.defaultFilterHandlers, schema: props.schema, state: props.state }),
37
- react_1.default.createElement(table_v2_1.DataGridTableV2, { 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, onReload: props.onReload, rowClass: props.rowClass, rowHeight: props.rowHeight, schema: props.schema, state: props.state }),
38
- react_1.default.createElement(footer_1.DataGridFooter, { noBorder: props.noBorder },
39
- react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { actions: props.actions, state: props.state }),
40
- 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 }),
41
- 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 }))),
42
- react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_o = props.SelectedRowsToolbarActions) !== null && _o !== void 0 ? _o : DefaultSelectedRowsToolbarActions, actions: props.actions, state: props.state })));
43
- }
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare function Default(): React.JSX.Element;
@@ -1,92 +0,0 @@
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 buildArray_1 = require("@uxf/core/utils/buildArray");
28
- const toggle_1 = require("@uxf/ui/toggle");
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 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, buildArray_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
- function Default() {
71
- const [noBorder, setNoBorder] = (0, react_1.useState)(false);
72
- const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({
73
- schema: schema_1.schema,
74
- initialUserConfig: {
75
- columns: {
76
- id: { width: 100 },
77
- text: { minWidth: 300 },
78
- mail: { minWidth: 300 },
79
- tel: { minWidth: 300 },
80
- },
81
- },
82
- });
83
- const { isLoading, error, data, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
84
- loader: loader_1.loader,
85
- schema: schema_1.schema,
86
- state,
87
- });
88
- return (react_1.default.createElement("div", { className: "p-10" },
89
- react_1.default.createElement(toggle_1.Toggle, { label: "No border", name: "noBorder", onChange: (value) => setNoBorder(Boolean(value)), value: noBorder }),
90
- react_1.default.createElement(data_grid_v2_1.DataGridV2, { actionCell: actionCell, actions: actions, data: data, error: error, isLoading: isLoading, isRowSelectable: true, noBorder: noBorder, onCsvDownload: console.log, onReload: onReload, schema: schemaWithFrontendConfig, state: state }),
91
- react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
92
- }
@@ -1 +0,0 @@
1
- export declare const NO_BORDER_CLASS = "no-border";
package/utils/classes.js DELETED
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NO_BORDER_CLASS = void 0;
4
- exports.NO_BORDER_CLASS = "no-border";