@crystaldesign/grid 26.2.0-beta.2 → 26.2.0-beta.4

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.
@@ -30,18 +30,19 @@ import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
30
30
  import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
31
31
  import classnames from 'classnames';
32
32
  import MaToolbar from '@mui/material/Toolbar';
33
- import ButtonGroup from '@mui/material/ButtonGroup';
34
33
  import Button from '@mui/material/Button';
34
+ import ButtonGroup from '@mui/material/ButtonGroup';
35
35
  import AccordionDetails from '@mui/material/AccordionDetails';
36
36
  import Accordion from '@mui/material/Accordion';
37
37
  import AccordionSummary from '@mui/material/AccordionSummary';
38
38
  import FilterListIcon from '@mui/icons-material/FilterList';
39
- import Tooltip from '@mui/material/Tooltip';
40
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
41
- import _regeneratorRuntime from '@babel/runtime/regenerator';
42
39
  import MoreVertIcon from '@mui/icons-material/MoreVert';
40
+ import Tooltip from '@mui/material/Tooltip';
43
41
  import Menu from '@mui/material/Menu';
44
42
  import MenuItem from '@mui/material/MenuItem';
43
+ import Stack from '@mui/material/Stack';
44
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
45
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
45
46
  import ImageList from '@mui/material/ImageList';
46
47
  import ImageListItem from '@mui/material/ImageListItem';
47
48
  import Grid$1 from '@mui/material/Grid2';
@@ -693,7 +694,13 @@ function Toolbar(_ref) {
693
694
  _ref$onViewSwitch = _ref.onViewSwitch,
694
695
  onViewSwitch = _ref$onViewSwitch === void 0 ? function () {} : _ref$onViewSwitch,
695
696
  selectedView = _ref.selectedView,
696
- customElement = _ref.customElement;
697
+ customElement = _ref.customElement,
698
+ _ref$actionsVisibleCo = _ref.actionsVisibleCount,
699
+ actionsVisibleCount = _ref$actionsVisibleCo === void 0 ? 3 : _ref$actionsVisibleCo,
700
+ _ref$actionsPosition = _ref.actionsPosition,
701
+ actionsPosition = _ref$actionsPosition === void 0 ? 'right' : _ref$actionsPosition,
702
+ _ref$hasSelection = _ref.hasSelection,
703
+ hasSelection = _ref$hasSelection === void 0 ? false : _ref$hasSelection;
697
704
  var _React$useState = React.useState(false),
698
705
  _React$useState2 = _slicedToArray(_React$useState, 2),
699
706
  expanded = _React$useState2[0],
@@ -703,6 +710,23 @@ function Toolbar(_ref) {
703
710
  _useState2 = _slicedToArray(_useState, 2),
704
711
  showCustomElement = _useState2[0],
705
712
  setShowCustomElement = _useState2[1];
713
+ var _useState3 = useState(null),
714
+ _useState4 = _slicedToArray(_useState3, 2),
715
+ menuAnchorEl = _useState4[0],
716
+ setMenuAnchorEl = _useState4[1];
717
+ var menuOpen = Boolean(menuAnchorEl);
718
+ var handleMenuOpen = function handleMenuOpen(event) {
719
+ setMenuAnchorEl(event.currentTarget);
720
+ };
721
+ var handleMenuClose = function handleMenuClose() {
722
+ setMenuAnchorEl(null);
723
+ };
724
+
725
+ // Split actions into visible and overflow
726
+ // If there are more actions than the visible count, reserve the last position for the menu button
727
+ var hasOverflow = actions.length > actionsVisibleCount;
728
+ var visibleActions = hasOverflow ? actions.slice(0, actionsVisibleCount - 1) : actions.slice(0, actionsVisibleCount);
729
+ var overflowActions = hasOverflow ? actions.slice(actionsVisibleCount - 1) : [];
706
730
  useEffect(function () {
707
731
  if (ref.current) {
708
732
  var resizeObserver = new ResizeObserver(function (entries) {
@@ -719,6 +743,72 @@ function Toolbar(_ref) {
719
743
  //toolbar would be completely empty, so it doesn't have to show at all.
720
744
  return /*#__PURE__*/jsx(Fragment, {});
721
745
  }
746
+ var renderActionButtons = function renderActionButtons() {
747
+ return /*#__PURE__*/jsx(Fragment, {
748
+ children: /*#__PURE__*/jsxs(Stack, {
749
+ direction: "row",
750
+ spacing: 1,
751
+ sx: {
752
+ marginRight: actionsPosition === 'right' ? 2 : 0,
753
+ marginLeft: actionsPosition === 'left' ? 0 : 0
754
+ },
755
+ children: [visibleActions.map(function (action, i) {
756
+ var _action$tooltip;
757
+ return /*#__PURE__*/jsx(Tooltip, {
758
+ title: (_action$tooltip = action.tooltip) !== null && _action$tooltip !== void 0 ? _action$tooltip : '',
759
+ disableHoverListener: !action.tooltip,
760
+ children: /*#__PURE__*/jsx("span", {
761
+ children: /*#__PURE__*/jsx(Button, {
762
+ onClick: action.onClick,
763
+ variant: action.selected ? 'contained' : 'outlined',
764
+ disabled: action.disabled,
765
+ color: "primary",
766
+ children: action.label
767
+ })
768
+ })
769
+ }, i);
770
+ }), overflowActions.length > 0 && /*#__PURE__*/jsxs(Fragment, {
771
+ children: [/*#__PURE__*/jsx(Button, {
772
+ variant: "outlined",
773
+ onClick: handleMenuOpen,
774
+ children: /*#__PURE__*/jsx(MoreVertIcon, {})
775
+ }), /*#__PURE__*/jsx(Menu, {
776
+ id: "actions-menu",
777
+ anchorEl: menuAnchorEl,
778
+ open: menuOpen,
779
+ onClose: handleMenuClose,
780
+ anchorOrigin: {
781
+ vertical: 'bottom',
782
+ horizontal: 'right'
783
+ },
784
+ transformOrigin: {
785
+ vertical: 'top',
786
+ horizontal: 'right'
787
+ },
788
+ children: overflowActions.map(function (action, i) {
789
+ var _action$tooltip2;
790
+ return /*#__PURE__*/jsx(Tooltip, {
791
+ title: (_action$tooltip2 = action.tooltip) !== null && _action$tooltip2 !== void 0 ? _action$tooltip2 : '',
792
+ disableHoverListener: !action.tooltip,
793
+ placement: "left",
794
+ children: /*#__PURE__*/jsx("span", {
795
+ children: /*#__PURE__*/jsx(MenuItem, {
796
+ onClick: function onClick(e) {
797
+ action.onClick(e);
798
+ handleMenuClose();
799
+ },
800
+ disabled: action.disabled,
801
+ selected: action.selected,
802
+ children: action.label
803
+ })
804
+ })
805
+ }, i);
806
+ })
807
+ })]
808
+ })]
809
+ })
810
+ });
811
+ };
722
812
  return /*#__PURE__*/jsxs(Accordion, {
723
813
  expanded: expanded,
724
814
  className: "grid-toolbar",
@@ -754,32 +844,11 @@ function Toolbar(_ref) {
754
844
  minWidth: '100%',
755
845
  minHeight: '45px'
756
846
  },
757
- children: [showCustomElement && customElement, /*#__PURE__*/jsx("div", {
847
+ children: [actionsPosition === 'left' && actions.length > 0 && hasSelection && renderActionButtons(), showCustomElement && customElement, /*#__PURE__*/jsx("div", {
758
848
  style: {
759
849
  flexGrow: 1
760
850
  }
761
- }), /*#__PURE__*/jsx(ButtonGroup, {
762
- style: {
763
- marginRight: 10
764
- },
765
- color: "primary",
766
- "aria-label": "actions",
767
- children: actions.map(function (action, i) {
768
- var _action$tooltip;
769
- return /*#__PURE__*/jsx(Tooltip, {
770
- title: (_action$tooltip = action.tooltip) !== null && _action$tooltip !== void 0 ? _action$tooltip : '',
771
- disableHoverListener: !action.tooltip,
772
- children: /*#__PURE__*/jsx("span", {
773
- children: /*#__PURE__*/jsx(Button, {
774
- onClick: action.onClick,
775
- variant: action.selected ? 'contained' : 'outlined',
776
- disabled: action.disabled,
777
- children: action.label
778
- })
779
- })
780
- }, i);
781
- })
782
- }), /*#__PURE__*/jsx(ButtonGroup, {
851
+ }), actionsPosition === 'right' && actions.length > 0 && hasSelection && renderActionButtons(), /*#__PURE__*/jsx(ButtonGroup, {
783
852
  style: {
784
853
  marginRight: 10
785
854
  },
@@ -1392,7 +1461,7 @@ function apiFetchSelectValues(_x, _x2, _x3, _x4) {
1392
1461
  */
1393
1462
  function _apiFetchSelectValues() {
1394
1463
  _apiFetchSelectValues = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(endpoint, organizationId, authToken, catalogServiceUrl) {
1395
- var headers, response, data, valuesArray;
1464
+ var headers, response, data, valuesArray, dedublicationMap, _iterator2, _step2, _item$key, item;
1396
1465
  return _regeneratorRuntime.wrap(function _callee$(_context) {
1397
1466
  while (1) switch (_context.prev = _context.next) {
1398
1467
  case 0:
@@ -1422,22 +1491,34 @@ function _apiFetchSelectValues() {
1422
1491
  data = _context.sent;
1423
1492
  // Extract the values array from the response using valuePath
1424
1493
  valuesArray = getNestedValue$1(data, endpoint.valuePath);
1425
- if (!Array.isArray(valuesArray)) {
1494
+ if (!(!Array.isArray(valuesArray) || valuesArray.length === 0)) {
1426
1495
  _context.next = 15;
1427
1496
  break;
1428
1497
  }
1429
- return _context.abrupt("return", valuesArray);
1430
- case 15:
1431
1498
  return _context.abrupt("return", []);
1432
- case 18:
1433
- _context.prev = 18;
1499
+ case 15:
1500
+ dedublicationMap = new Map();
1501
+ _iterator2 = _createForOfIteratorHelper$1(valuesArray);
1502
+ try {
1503
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1504
+ item = _step2.value;
1505
+ dedublicationMap.set((_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : '', item);
1506
+ }
1507
+ } catch (err) {
1508
+ _iterator2.e(err);
1509
+ } finally {
1510
+ _iterator2.f();
1511
+ }
1512
+ return _context.abrupt("return", Array.from(dedublicationMap.values()));
1513
+ case 21:
1514
+ _context.prev = 21;
1434
1515
  _context.t0 = _context["catch"](0);
1435
1516
  throw _context.t0;
1436
- case 21:
1517
+ case 24:
1437
1518
  case "end":
1438
1519
  return _context.stop();
1439
1520
  }
1440
- }, _callee, null, [[0, 18]]);
1521
+ }, _callee, null, [[0, 21]]);
1441
1522
  }));
1442
1523
  return _apiFetchSelectValues.apply(this, arguments);
1443
1524
  }
@@ -3150,7 +3231,7 @@ function useApiInterface(_ref) {
3150
3231
  var _useReducer = useReducer(reducer, {
3151
3232
  data: [],
3152
3233
  total: 0,
3153
- loading: false,
3234
+ loading: true,
3154
3235
  custom: {}
3155
3236
  }),
3156
3237
  _useReducer2 = _slicedToArray(_useReducer, 2),
@@ -3699,9 +3780,13 @@ var useSelection = function useSelection(hooks) {
3699
3780
 
3700
3781
  hooks.useInstance.push(function (instance) {
3701
3782
  var selectedRootRows = useMemo(function () {
3702
- return instance.selectedFlatRows.filter(function (row) {
3783
+ var selected = instance.selectedFlatRows.filter(function (row) {
3703
3784
  return row.depth == 0;
3704
3785
  });
3786
+ instance.onRowSelectionChange(selected.map(function (row) {
3787
+ return row.id;
3788
+ }));
3789
+ return selected;
3705
3790
  }, [instance.selectedFlatRows]);
3706
3791
  Object.assign(instance, {
3707
3792
  selectedRootRows: selectedRootRows
@@ -3749,7 +3834,10 @@ function Grid(_ref) {
3749
3834
  prepareRowHook = _ref.prepareRow,
3750
3835
  customElement = _ref.customElement,
3751
3836
  noData = _ref.noData,
3752
- forceNewData = _ref.forceNewData;
3837
+ forceNewData = _ref.forceNewData,
3838
+ toolbarActionsVisibleCount = _ref.toolbarActionsVisibleCount,
3839
+ _ref$toolbarActionsPo = _ref.toolbarActionsPosition,
3840
+ toolbarActionsPosition = _ref$toolbarActionsPo === void 0 ? 'right' : _ref$toolbarActionsPo;
3753
3841
  var classes = useStyles();
3754
3842
  var _useTranslation = useTranslation(),
3755
3843
  t = _useTranslation.t;
@@ -3827,7 +3915,11 @@ function Grid(_ref) {
3827
3915
  groupBy: parsedOptions.groupBy || [],
3828
3916
  sortBy: parsedOptions.sortBy || [],
3829
3917
  pageSize: ((_parsedOptions$pagina2 = parsedOptions.pagination) === null || _parsedOptions$pagina2 === void 0 ? void 0 : _parsedOptions$pagina2.defaultPageSize) || 20,
3830
- hiddenColumns: parsedOptions.hiddenColumns
3918
+ hiddenColumns: parsedOptions.hiddenColumns,
3919
+ selectedRowIds: selected ? selected.reduce(function (acc, idx) {
3920
+ acc[idx] = true;
3921
+ return acc;
3922
+ }, {}) : {}
3831
3923
  },
3832
3924
  manualFilters: options.apiInterface.filterServerSide,
3833
3925
  manualGlobalFilter: options.apiInterface.filterServerSide,
@@ -3858,6 +3950,12 @@ function Grid(_ref) {
3858
3950
  onNew: onInternalNew,
3859
3951
  onEdit: onInternalEdit,
3860
3952
  onDelete: onInternalDelete,
3953
+ onRowSelectionChange: useCallback(function (selected) {
3954
+ if (isLoading) return;
3955
+ onSelect(selected.map(function (idx) {
3956
+ return data[parseInt(idx)];
3957
+ }));
3958
+ }, [data]),
3861
3959
  custom: custom
3862
3960
  }, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useSelection, useEditActions, useHightlight, function (hooks) {
3863
3961
  hooks.getCellProps.push(function (props, meta) {
@@ -3929,9 +4027,9 @@ function Grid(_ref) {
3929
4027
  toggleAllRowsExpanded = _useTable.toggleAllRowsExpanded,
3930
4028
  toggleRowSelected = _useTable.toggleRowSelected,
3931
4029
  toggleAllRowsSelected = _useTable.toggleAllRowsSelected,
3932
- selectedFlatRows = _useTable.selectedFlatRows,
3933
- selectedRootRows = _useTable.selectedRootRows,
3934
- flatRows = _useTable.flatRows,
4030
+ selectedFlatRows = _useTable.selectedFlatRows;
4031
+ _useTable.selectedRootRows;
4032
+ var flatRows = _useTable.flatRows,
3935
4033
  _useTable$state = _useTable.state,
3936
4034
  pageIndex = _useTable$state.pageIndex,
3937
4035
  pageSize = _useTable$state.pageSize,
@@ -3952,23 +4050,16 @@ function Grid(_ref) {
3952
4050
  });
3953
4051
  }, [pageIndex, pageSize, globalFilter, filters, sortBy]);
3954
4052
  useEffect(function () {
3955
- if (options.selectable && selected) {
3956
- flatRows.filter(function (r) {
3957
- return selected === null || selected === void 0 ? void 0 : selected.includes(r.id);
3958
- }).forEach(function (r) {
3959
- return toggleRowSelected(r.id, true);
4053
+ if (options.selectable && selected && !isLoading) {
4054
+ // Sync the selection state with the external selected prop
4055
+ flatRows.forEach(function (r) {
4056
+ var shouldBeSelected = selected.includes(r.id);
4057
+ if (r.isSelected !== shouldBeSelected) {
4058
+ toggleRowSelected(r.id, shouldBeSelected);
4059
+ }
3960
4060
  });
3961
4061
  }
3962
- }, [selected, options.selectable]);
3963
- useEffect(function () {
3964
- if (options.selectable) {
3965
- onSelect(selectedRootRows.filter(function (r) {
3966
- return !r.isGrouped;
3967
- }).map(function (r) {
3968
- return r.original;
3969
- }));
3970
- }
3971
- }, [selectedRootRows, options.selectable]);
4062
+ }, [selected, options.selectable, flatRows, isLoading]);
3972
4063
  useEffect(function () {
3973
4064
  if (options.apiInterface.filterServerSide && pageIndex > total / pageSize) {
3974
4065
  gotoPage(0);
@@ -4053,21 +4144,29 @@ function Grid(_ref) {
4053
4144
  children: h.render('Filter')
4054
4145
  }, h.id);
4055
4146
  }),
4147
+ actionsVisibleCount: toolbarActionsVisibleCount,
4148
+ actionsPosition: toolbarActionsPosition,
4149
+ hasSelection: selectedFlatRows.length > 0,
4056
4150
  actions: toolbarActions === null || toolbarActions === void 0 ? void 0 : toolbarActions.map(function (a) {
4057
4151
  var selectedItems = selectedFlatRows.map(function (r) {
4058
4152
  return r.original;
4059
4153
  });
4060
- var noSelection = parsedOptions.selectable === 'multi' && selectedFlatRows.length === 0;
4061
- var actionDisabled = a.disabled ? a.disabled(selectedItems) : false;
4062
- var isDisabled = noSelection || actionDisabled;
4154
+ var isDisabled = a.disabled ? a.disabled(selectedItems) : false;
4063
4155
  return {
4064
4156
  label: a.label,
4065
4157
  selected: a.selected,
4066
4158
  onClick: function onClick(e) {
4067
4159
  var selectedRows = _toConsumableArray(selectedFlatRows);
4068
- var removeSelectedItems = function removeSelectedItems() {
4160
+ var removeSelectedItems = function removeSelectedItems(itemsToRemove) {
4161
+ var rowsToDelete = selectedRows;
4162
+ if (itemsToRemove && itemsToRemove.length > 0) {
4163
+ rowsToDelete = selectedRows.filter(function (r) {
4164
+ return itemsToRemove.includes(r.original);
4165
+ });
4166
+ }
4167
+
4069
4168
  // Get indices in reverse order to avoid index shifting issues
4070
- var indices = selectedRows.map(function (r) {
4169
+ var indices = rowsToDelete.map(function (r) {
4071
4170
  return r.index;
4072
4171
  }).sort(function (a, b) {
4073
4172
  return b - a;
@@ -4075,14 +4174,20 @@ function Grid(_ref) {
4075
4174
  indices.forEach(function (index) {
4076
4175
  return deleteData(index);
4077
4176
  });
4078
- toggleAllRowsSelected(false);
4177
+ if (!itemsToRemove || itemsToRemove.length === selectedRows.length || rowsToDelete.length === selectedRows.length) {
4178
+ toggleAllRowsSelected(false);
4179
+ } else {
4180
+ rowsToDelete.forEach(function (r) {
4181
+ return toggleRowSelected(r.id, false);
4182
+ });
4183
+ }
4079
4184
  };
4080
4185
  a.onClick(selectedRows.map(function (r) {
4081
4186
  return r.original;
4082
4187
  }), e, removeSelectedItems);
4083
4188
  },
4084
4189
  disabled: isDisabled,
4085
- tooltip: noSelection ? t('grid.toolbarActions.noRowsSelected') : actionDisabled && a.disabledTooltip ? a.disabledTooltip : undefined
4190
+ tooltip: isDisabled && a.disabledTooltip ? a.disabledTooltip : undefined
4086
4191
  };
4087
4192
  }),
4088
4193
  onViewSwitch: setView,
@@ -1,6 +1,16 @@
1
1
  import React from 'react';
2
2
  import { Row, MetaBase } from 'react-table';
3
3
  import { GridColumnActions, GridOptions } from './GirdOptions';
4
+ /**
5
+ * Configuration for a toolbar action button
6
+ */
7
+ export interface GridToolbarAction<D extends object> {
8
+ label: string | JSX.Element;
9
+ onClick: (selectedItems?: D[], e?: React.MouseEvent<any>, removeSelectedItems?: (itemsToRemove?: D[]) => void) => void;
10
+ selected?: boolean;
11
+ disabled?: (selectedItems: D[]) => boolean;
12
+ disabledTooltip?: string;
13
+ }
4
14
  export interface GridProps<D extends object> {
5
15
  /**
6
16
  * A set of options to configure the grid
@@ -16,13 +26,7 @@ export interface GridProps<D extends object> {
16
26
  * @param e - The click event
17
27
  * @param removeSelectedItems - Call this function after the action to remove the selected items from the grid
18
28
  */
19
- toolbarActions?: {
20
- label: string | JSX.Element;
21
- onClick: (selectedItems?: D[], e?: React.MouseEvent<any>, removeSelectedItems?: () => void) => void;
22
- selected?: boolean;
23
- disabled?: (selectedItems: D[]) => boolean;
24
- disabledTooltip?: string;
25
- }[];
29
+ toolbarActions?: GridToolbarAction<D>[];
26
30
  /**
27
31
  * A list of actions, displayed as buttons in the footer
28
32
  */
@@ -93,6 +97,16 @@ export interface GridProps<D extends object> {
93
97
  */
94
98
  noData?: any;
95
99
  forceNewData?: boolean;
100
+ /**
101
+ * The number of toolbar action buttons to show before collapsing the rest into a dropdown menu.
102
+ * @default 2
103
+ */
104
+ toolbarActionsVisibleCount?: number;
105
+ /**
106
+ * The position of the toolbar actions.
107
+ * @default 'right'
108
+ */
109
+ toolbarActionsPosition?: 'left' | 'right';
96
110
  }
97
- export default function Grid<D extends object>({ options, gallery, table, columnActions, toolbarActions, footerActions, selected, onSelect, onEdit, onDelete, onUpdate, onNew, onLoaded, prepareRow: prepareRowHook, customElement, noData, forceNewData, }: GridProps<D>): React.JSX.Element;
111
+ export default function Grid<D extends object>({ options, gallery, table, columnActions, toolbarActions, footerActions, selected, onSelect, onEdit, onDelete, onUpdate, onNew, onLoaded, prepareRow: prepareRowHook, customElement, noData, forceNewData, toolbarActionsVisibleCount, toolbarActionsPosition, }: GridProps<D>): React.JSX.Element;
98
112
  //# sourceMappingURL=Grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../../src/Grid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../../src/Grid.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiFetchSelectValues.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/useApiInterface/apiFetchSelectValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAA8B,oBAAoB,CAChD,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAgC5B"}
1
+ {"version":3,"file":"apiFetchSelectValues.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/useApiInterface/apiFetchSelectValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAA8B,oBAAoB,CAChD,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAmC5B"}
@@ -7,6 +7,7 @@ export interface UseEditableTableOptions<D extends object> {
7
7
  onNew: () => void;
8
8
  onEdit: (item: D, index: number) => void;
9
9
  onDelete: (item: D, index: number) => void;
10
+ onRowSelectionChange: (selected: string[]) => void;
10
11
  custom?: {
11
12
  [key: string]: string | number;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useEditActions.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useEditActions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAe,KAAK,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAM3F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAExD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM;IACvD,cAAc,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACxG,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAC7D,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;CAAG;AAEjG,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAE5E"}
1
+ {"version":3,"file":"useEditActions.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useEditActions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAe,KAAK,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAM3F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAExD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM;IACvD,cAAc,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACxG,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAC7D,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;CAAG;AAEjG,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAgB,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM;IACzD,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY;KAAI,CAAC,SAAS,MAAM,cAAc,KAAK,CAAC,CAAC,CAAC;;CAalE,CAAC"}
1
+ {"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAgB,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM;IACzD,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY;KAAI,CAAC,SAAS,MAAM,cAAc,KAAK,CAAC,CAAC,CAAC;;CAelE,CAAC"}
@@ -5,6 +5,7 @@ import 'regenerator-runtime/runtime';
5
5
  import Grid from './Grid';
6
6
  import { cellStyleHelper, Loading } from './ui/components/Table';
7
7
  export * from './GirdOptions';
8
+ export type { GridToolbarAction } from './Grid';
8
9
  export type { Row } from 'react-table';
9
10
  export default Grid;
10
11
  export { cellStyleHelper, Loading };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,cAAc,eAAe,CAAC;AAG9B,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC"}
@@ -40,10 +40,28 @@ export interface ToolbarProps {
40
40
  * A custom element to be rendered in the header toolbar
41
41
  */
42
42
  customElement?: any;
43
+ /**
44
+ * The number of action buttons to show before collapsing the rest into a dropdown menu.
45
+ * When there are more actions than this count, the last visible position is reserved for the menu button.
46
+ * @default 3
47
+ */
48
+ actionsVisibleCount?: number;
49
+ /**
50
+ * The position of the toolbar actions.
51
+ * 'right' places them on the right side (default).
52
+ * 'left' places them to the left of the custom element.
53
+ * @default 'right'
54
+ */
55
+ actionsPosition?: 'left' | 'right';
56
+ /**
57
+ * Whether any rows are currently selected.
58
+ * If false, action buttons will be hidden.
59
+ */
60
+ hasSelection?: boolean;
43
61
  }
44
62
  /**
45
63
  * The toolbar component for the grid, it holds filters and general action buttons.
46
64
  * If there are filters specified it is expandable, otherwise it its a simple toolbar.
47
65
  */
48
- export default function Toolbar({ globalFilter, filters, actions, views, onViewSwitch, selectedView, customElement, }: ToolbarProps): React.JSX.Element;
66
+ export default function Toolbar({ globalFilter, filters, actions, views, onViewSwitch, selectedView, customElement, actionsVisibleCount, actionsPosition, hasSelection, }: ToolbarProps): React.JSX.Element;
49
67
  //# sourceMappingURL=Toolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AActE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,eAAe,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC;QAC5C,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IAC7C;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEnJ;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,YAAY,EACZ,OAAY,EACZ,OAAY,EACZ,KAAU,EACV,YAAuB,EACvB,YAAY,EACZ,aAAa,GACd,EAAE,YAAY,qBA+Ed"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAkBtE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,eAAe,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC;QAC5C,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IAC7C;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEnJ;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC;IAEpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,YAAY,EACZ,OAAY,EACZ,OAAY,EACZ,KAAU,EACV,YAAuB,EACvB,YAAY,EACZ,aAAa,EACb,mBAAuB,EACvB,eAAyB,EACzB,YAAoB,GACrB,EAAE,YAAY,qBA2Id"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/grid",
3
- "version": "26.2.0-beta.2",
3
+ "version": "26.2.0-beta.4",
4
4
  "license": "COMMERCIAL",
5
5
  "devDependencies": {
6
6
  "@mui/x-date-pickers": "^7.22.0",
@@ -12,9 +12,9 @@
12
12
  "react-dom": "18.3.1"
13
13
  },
14
14
  "dependencies": {
15
- "@crystaldesign/content-box": "26.2.0-beta.2",
16
- "@crystaldesign/rtf-editor": "26.2.0-beta.2",
17
- "@crystaldesign/searchfield": "26.2.0-beta.2",
15
+ "@crystaldesign/content-box": "26.2.0-beta.4",
16
+ "@crystaldesign/rtf-editor": "26.2.0-beta.4",
17
+ "@crystaldesign/searchfield": "26.2.0-beta.4",
18
18
  "@hello-pangea/dnd": "^18.0.1",
19
19
  "@mui/icons-material": "^6.1.5",
20
20
  "@mui/lab": "^6.0.0-beta.13",
@@ -40,5 +40,5 @@
40
40
  },
41
41
  "module": "build/esm/index.js",
42
42
  "types": "./build/types/grid/src/index.d.ts",
43
- "gitHead": "2119c9ff4865319a544346a1d5c68244406926b8"
43
+ "gitHead": "ecddfa86bdb756f7feb2a688a58c3bab41df93dd"
44
44
  }