Skip to content

Commit 56c08dd

Browse files
anaisbergSimonClo
authored andcommitted
🐛 make add new row span new column
1 parent 17a2dba commit 56c08dd

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

src/frontend/apps/impress/src/features/docs/doc-editor/components/custom-blocks/DatabaseBlock/DatabaseGrid.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ColDef, ICellRendererParams } from 'ag-grid-community';
1+
import { ColDef, ColSpanParams, ICellRendererParams } from 'ag-grid-community';
22
import { AgGridReact } from 'ag-grid-react';
33
import { useEffect } from 'react';
44

@@ -60,7 +60,8 @@ export const DatabaseGrid = ({
6060

6161
const columns: ColDef[] = columnNames.map((key) => ({
6262
field: key,
63-
colSpan: newRowColSpan,
63+
colSpan: (params: ColSpanParams<Record<string, string>, unknown>) =>
64+
newRowColSpan(params, columnNames.length + 1),
6465
cellRendererSelector: (
6566
params: ICellRendererParams<Record<string, string>>,
6667
) => addRowCellRenderer(params, columnNames, setRowData),
@@ -97,20 +98,15 @@ export const DatabaseGrid = ({
9798
const columnNames = getColumnNames(colDefs);
9899
const newColDef: ColDef = {
99100
field: columnName,
100-
colSpan: newRowColSpan,
101+
colSpan: (params: ColSpanParams<Record<string, string>, unknown>) =>
102+
newRowColSpan(params, columnNames.length + 1),
101103
cellRendererSelector: (
102104
params: ICellRendererParams<Record<string, string>>,
103105
) => addRowCellRenderer(params, columnNames, setRowData),
104106
};
105107

106108
setColDefs((prev) => {
107-
const addColumn = prev?.pop();
108-
109-
return [
110-
...(prev ?? []),
111-
newColDef,
112-
...(addColumn !== undefined ? [addColumn] : []),
113-
];
109+
return [...(prev ?? []), newColDef];
114110
});
115111

116112
void createColumns(documentId, tableId, [

src/frontend/apps/impress/src/features/docs/doc-editor/components/custom-blocks/DatabaseBlock/utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,12 @@ export const addRowCellRenderer = (
5252

5353
export const newRowColSpan = (
5454
params: ColSpanParams<Record<string, string>>,
55+
columnNumber: number,
5556
) => {
5657
const colsValues = params.data ?? {};
5758
const isNewRow = Object.values(colsValues)[0] === ADD_NEW_ROW;
5859
if (isNewRow) {
59-
return Object.keys(colsValues).length;
60+
return columnNumber;
6061
}
6162

6263
return 1;

0 commit comments

Comments
 (0)