@linzjs/step-ag-grid 27.2.2 → 27.3.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.
@@ -13,6 +13,8 @@ export interface GridProps<TData extends GridBaseRow = GridBaseRow> {
13
13
  readOnly?: boolean;
14
14
  defaultPostSort?: boolean;
15
15
  selectable?: boolean;
16
+ enableClickSelection?: boolean;
17
+ enableSelectionWithoutKeys?: boolean;
16
18
  hideSelectColumn?: boolean;
17
19
  theme?: string;
18
20
  ['data-testid']?: string;
@@ -2992,7 +2992,8 @@ const Grid = ({ 'data-testid': dataTestId, defaultPostSort = true, rowSelection
2992
2992
  * Handle double click edit
2993
2993
  */
2994
2994
  const onCellDoubleClick = React.useCallback((event) => {
2995
- if (!invokeEditAction(event)) {
2995
+ const editable = fnOrVar(event.colDef?.editable, event);
2996
+ if (editable && !invokeEditAction(event)) {
2996
2997
  void startCellEditing({ rowId: event.data.id, colId: event.column.getColId() });
2997
2998
  }
2998
2999
  }, [startCellEditing]);
@@ -3000,7 +3001,8 @@ const Grid = ({ 'data-testid': dataTestId, defaultPostSort = true, rowSelection
3000
3001
  * Handle single click edits
3001
3002
  */
3002
3003
  const onCellClicked = React.useCallback((event) => {
3003
- if (event.colDef.singleClickEdit ?? singleClickEdit) {
3004
+ const editable = fnOrVar(event.colDef?.editable, event);
3005
+ if ((editable && event.colDef.singleClickEdit) ?? singleClickEdit) {
3004
3006
  void startCellEditing({ rowId: event.data.id, colId: event.column.getColId() });
3005
3007
  }
3006
3008
  }, [singleClickEdit, startCellEditing]);
@@ -3185,7 +3187,8 @@ const Grid = ({ 'data-testid': dataTestId, defaultPostSort = true, rowSelection
3185
3187
  const headerRowCount = columnDefs.some((c) => c.children) ? 2 : 1;
3186
3188
  return (jsxRuntime.jsxs("div", { "data-testid": dataTestId, className: clsx('Grid-container', theme, 'theme-specific', staleGrid && 'Grid-sortIsStale', gridReady && rowData && autoSized && 'Grid-ready'), children: [gridContextMenu.component, jsxRuntime.jsx("div", { style: { flex: 1 }, ref: gridDivRef, children: jsxRuntime.jsx(agGridReact.AgGridReact, { theme: 'legacy', rowSelection: selectable
3187
3189
  ? {
3188
- enableClickSelection: false,
3190
+ enableSelectionWithoutKeys: params.enableSelectionWithoutKeys ?? false,
3191
+ enableClickSelection: params.enableClickSelection ?? false,
3189
3192
  mode: rowSelection == 'single' ? 'singleRow' : 'multiRow',
3190
3193
  }
3191
3194
  : undefined, rowHeight: rowHeight, animateRows: params.animateRows ?? false, rowClassRules: params.rowClassRules, getRowId: (params) => `${params.data.id}`, onGridSizeChanged: onGridSizeChanged, suppressColumnVirtualisation: suppressColumnVirtualization, suppressClickEdit: true, onColumnVisible: setInitialContentSize, onRowDataUpdated: onRowDataChanged, onCellKeyDown: onCellKeyPress, onCellClicked: onCellClicked, onCellDoubleClicked: onCellDoubleClick, onCellEditingStarted: refreshSelectedRows, domLayout: params.domLayout, onColumnResized: onColumnResized, defaultColDef: { minWidth: 48, ...lodashEs.omit(params.defaultColDef, ['editable']) }, columnDefs: columnDefsAdjusted, rowData: rowData, noRowsOverlayComponent: (event) => {
@@ -3406,6 +3409,7 @@ const GridCellFiller = () => ({
3406
3409
  colId: GridCellFillerColId,
3407
3410
  headerName: '',
3408
3411
  flex: 1,
3412
+ editable: false,
3409
3413
  });
3410
3414
 
3411
3415
  const Editor = (props) => ({
@@ -5378,6 +5382,7 @@ const GridContextProvider = (props) => {
5378
5382
  const shouldSelectNode = !rowNode.isSelected();
5379
5383
  if (shouldSelectNode) {
5380
5384
  externallySelectedItemsAreInSyncRef.current = false;
5385
+ setExternallySelectedItemsAreInSync(false);
5381
5386
  rowNode.setSelected(true, true);
5382
5387
  await waitForExternallySelectedItemsToBeInSync();
5383
5388
  }