@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.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@linzjs/step-ag-grid",
3
3
  "repository": "github:linz/step-ag-grid.git",
4
4
  "license": "MIT",
5
- "version": "27.2.2",
5
+ "version": "27.3.0",
6
6
  "keywords": [
7
7
  "aggrid",
8
8
  "ag-grid",
@@ -50,6 +50,8 @@ export interface GridProps<TData extends GridBaseRow = GridBaseRow> {
50
50
  readOnly?: boolean; // set all editables to false when read only, make all styles black, otherwise style is gray for not editable
51
51
  defaultPostSort?: boolean; // Retain sort order after edit, Defaults to true.
52
52
  selectable?: boolean;
53
+ enableClickSelection?: boolean;
54
+ enableSelectionWithoutKeys?: boolean;
53
55
  hideSelectColumn?: boolean;
54
56
  theme?: string; // should have prefix ag-theme-
55
57
  ['data-testid']?: string;
@@ -423,7 +425,8 @@ export const Grid = <TData extends GridBaseRow = GridBaseRow>({
423
425
  */
424
426
  const onCellDoubleClick = useCallback(
425
427
  (event: CellDoubleClickedEvent) => {
426
- if (!invokeEditAction(event)) {
428
+ const editable = fnOrVar(event.colDef?.editable, event);
429
+ if (editable && !invokeEditAction(event)) {
427
430
  void startCellEditing({ rowId: event.data.id, colId: event.column.getColId() });
428
431
  }
429
432
  },
@@ -435,7 +438,8 @@ export const Grid = <TData extends GridBaseRow = GridBaseRow>({
435
438
  */
436
439
  const onCellClicked = useCallback(
437
440
  (event: CellClickedEvent) => {
438
- if (event.colDef.singleClickEdit ?? singleClickEdit) {
441
+ const editable = fnOrVar(event.colDef?.editable, event);
442
+ if ((editable && event.colDef.singleClickEdit) ?? singleClickEdit) {
439
443
  void startCellEditing({ rowId: event.data.id, colId: event.column.getColId() });
440
444
  }
441
445
  },
@@ -666,7 +670,8 @@ export const Grid = <TData extends GridBaseRow = GridBaseRow>({
666
670
  rowSelection={
667
671
  selectable
668
672
  ? {
669
- enableClickSelection: false,
673
+ enableSelectionWithoutKeys: params.enableSelectionWithoutKeys ?? false,
674
+ enableClickSelection: params.enableClickSelection ?? false,
670
675
  mode: rowSelection == 'single' ? 'singleRow' : 'multiRow',
671
676
  }
672
677
  : undefined
@@ -10,4 +10,5 @@ export const GridCellFiller = <TData extends GridBaseRow>(): ColDef<TData, any>
10
10
  colId: GridCellFillerColId,
11
11
  headerName: '',
12
12
  flex: 1,
13
+ editable: false,
13
14
  });
@@ -509,6 +509,7 @@ export const GridContextProvider = <TData extends GridBaseRow>(props: PropsWithC
509
509
  const shouldSelectNode = !rowNode.isSelected();
510
510
  if (shouldSelectNode) {
511
511
  externallySelectedItemsAreInSyncRef.current = false;
512
+ setExternallySelectedItemsAreInSync(false);
512
513
  rowNode.setSelected(true, true);
513
514
  await waitForExternallySelectedItemsToBeInSync();
514
515
  }
@@ -244,6 +244,8 @@ const GridReadOnlyTemplate: StoryFn<typeof Grid> = (props: GridProps) => {
244
244
  data-testid={'readonly'}
245
245
  {...props}
246
246
  selectable={true}
247
+ enableClickSelection={true}
248
+ enableSelectionWithoutKeys={true}
247
249
  autoSelectFirstRow={true}
248
250
  externalSelectedItems={externalSelectedItems}
249
251
  setExternalSelectedItems={setExternalSelectedItems}