@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/dist/src/components/Grid.d.ts +2 -0
- package/dist/step-ag-grid.cjs +8 -3
- package/dist/step-ag-grid.cjs.map +1 -1
- package/dist/step-ag-grid.esm.js +8 -3
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Grid.tsx +8 -3
- package/src/components/GridCellFiller.tsx +1 -0
- package/src/contexts/GridContextProvider.tsx +1 -0
- package/src/stories/grid/GridReadOnly.stories.tsx +2 -0
package/package.json
CHANGED
package/src/components/Grid.tsx
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
673
|
+
enableSelectionWithoutKeys: params.enableSelectionWithoutKeys ?? false,
|
|
674
|
+
enableClickSelection: params.enableClickSelection ?? false,
|
|
670
675
|
mode: rowSelection == 'single' ? 'singleRow' : 'multiRow',
|
|
671
676
|
}
|
|
672
677
|
: undefined
|
|
@@ -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}
|