From a7cbb806451a7070c42268217d5724ebd032e70b Mon Sep 17 00:00:00 2001 From: helloqian12138 Date: Thu, 28 Nov 2024 15:25:28 +0800 Subject: [PATCH 1/7] fix: column delete add column index --- .../editable-table/components/column-header/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx b/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx index b0066cf7a..1542d06b9 100644 --- a/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx +++ b/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx @@ -285,6 +285,7 @@ ExtraOptions extends Partial = never, columns.splice(columnIndex, 1); setTableColumns(columns, tableIndex); props.onClick?.('column-delete', { + columnIndex, columns, currentTableID: props.tableConfig.tableId, tableConfig: props.tableConfig, From 80e9d065b1f18e6cff27fbc4e1ed8a5b8cae26d9 Mon Sep 17 00:00:00 2001 From: helloqian12138 Date: Thu, 28 Nov 2024 15:27:24 +0800 Subject: [PATCH 2/7] release: drip-table-generator v3.2.1-alpha.13 --- packages/drip-table-generator/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/drip-table-generator/package.json b/packages/drip-table-generator/package.json index cc320779e..453bc4c65 100755 --- a/packages/drip-table-generator/package.json +++ b/packages/drip-table-generator/package.json @@ -1,6 +1,6 @@ { "name": "drip-table-generator", - "version": "3.2.1-alpha.12", + "version": "3.2.1-alpha.13", "description": "A visualization tool for generating schema of drip-table.", "main": "dist/index.min.js", "module": "lib/index.js", From cf7cc9b0005a9ca29cf1a4b2871528007f8ae574 Mon Sep 17 00:00:00 2001 From: helloqian12138 Date: Mon, 2 Dec 2024 11:10:36 +0800 Subject: [PATCH 3/7] feat: onColumnAdded and left right ColumnAdded append columnIndex param --- .../editable-table/components/column-header/index.tsx | 2 ++ .../editable-table/components/components-selector/index.tsx | 6 +++++- packages/drip-table-generator/src/typing.ts | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx b/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx index 1542d06b9..03eae39bb 100644 --- a/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx +++ b/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/column-header/index.tsx @@ -108,6 +108,7 @@ ExtraOptions extends Partial = never, columns: newColumns, currentTableID: props.tableConfig.tableId, tableConfig: props.tableConfig, + columnIndex: index, }); return newColumns; }} @@ -135,6 +136,7 @@ ExtraOptions extends Partial = never, columns: newColumns, currentTableID: props.tableConfig.tableId, tableConfig: props.tableConfig, + columnIndex: index, }); return newColumns; }} diff --git a/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/components-selector/index.tsx b/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/components-selector/index.tsx index 7cb45e223..8fb8147b1 100644 --- a/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/components-selector/index.tsx +++ b/packages/drip-table-generator/src/layouts/table-workstation/editable-table/components/components-selector/index.tsx @@ -203,15 +203,19 @@ ExtraOptions extends Partial = never, } else { const lastSortableColumnIndex = tableConfigs[tableIndex].columns.map(item => !!item.fixed).lastIndexOf(false); let columns = [...tableConfigs[tableIndex].columns]; + let columnIndex = columns.length - 1; if (props.customColumns) { columns = props.customColumns(tableConfigs[tableIndex].columns, column); + columnIndex = columns.findIndex(item => item.key === column.key); } else if (lastSortableColumnIndex < columns.length - 1) { columns.splice(lastSortableColumnIndex + 1, 0, column); + columnIndex = lastSortableColumnIndex + 1; } else { columns = [...tableConfigs[tableIndex].columns, column]; + columnIndex += 1; } setTableColumns(columns, tableIndex, (configs) => { - props.onColumnAdded?.(column, getSchemaValue(configs)); + props.onColumnAdded?.(column, getSchemaValue(configs), columnIndex); }); } initStates(); diff --git a/packages/drip-table-generator/src/typing.ts b/packages/drip-table-generator/src/typing.ts index b4d3767db..04f543c78 100644 --- a/packages/drip-table-generator/src/typing.ts +++ b/packages/drip-table-generator/src/typing.ts @@ -277,7 +277,7 @@ export interface DripTableGeneratorProps< onExportSchema?: (schema: DripTableSchema) => void; onSchemaChange?: (schema: DripTableSchema) => void; onDataSourceChange?: (dataSource: DripTableProps['dataSource']) => void; - onColumnAdded?: (column: DripTableSchema['columns'][number], schema: DripTableSchema) => void; + onColumnAdded?: (column: DripTableSchema['columns'][number], schema: DripTableSchema, columnIndex: number) => void; onClose?: (schema?: DripTableSchema) => void; onSave?: (schema: DripTableSchema) => void; /** From 6eeeb7ea85eff89abb517c39b9f5b83f940866c7 Mon Sep 17 00:00:00 2001 From: helloqian12138 Date: Mon, 2 Dec 2024 11:11:29 +0800 Subject: [PATCH 4/7] release: drip-table-generator v3.2.1-alpha.14 --- packages/drip-table-generator/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/drip-table-generator/package.json b/packages/drip-table-generator/package.json index 453bc4c65..4356b6d12 100755 --- a/packages/drip-table-generator/package.json +++ b/packages/drip-table-generator/package.json @@ -1,6 +1,6 @@ { "name": "drip-table-generator", - "version": "3.2.1-alpha.13", + "version": "3.2.1-alpha.14", "description": "A visualization tool for generating schema of drip-table.", "main": "dist/index.min.js", "module": "lib/index.js", From 64479a15155104966ec755bd26773664ff93fcf6 Mon Sep 17 00:00:00 2001 From: helloqian12138 Date: Fri, 27 Dec 2024 10:43:42 +0800 Subject: [PATCH 5/7] feat: generator support check column --- docs/drip-table-generator/demo/demo.tsx | 2 ++ packages/drip-table-generator/package.json | 2 +- packages/drip-table-generator/src/wrapper/index.tsx | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/drip-table-generator/demo/demo.tsx b/docs/drip-table-generator/demo/demo.tsx index 13d1a7274..ca84c3cbb 100755 --- a/docs/drip-table-generator/demo/demo.tsx +++ b/docs/drip-table-generator/demo/demo.tsx @@ -25,6 +25,7 @@ const { createFromIconfontCN, IconProvider, setTwoToneColor, getTwoToneColor, .. console.log(createFromIconfontCN, IconProvider, setTwoToneColor, getTwoToneColor); function Demo() { + const generatorRef = React.useRef(); return ( + ref={generatorRef} mockDataSource mode="page" icons={Icons} diff --git a/packages/drip-table-generator/package.json b/packages/drip-table-generator/package.json index 4356b6d12..de3c012d7 100755 --- a/packages/drip-table-generator/package.json +++ b/packages/drip-table-generator/package.json @@ -1,6 +1,6 @@ { "name": "drip-table-generator", - "version": "3.2.1-alpha.14", + "version": "3.2.1-alpha.15", "description": "A visualization tool for generating schema of drip-table.", "main": "dist/index.min.js", "module": "lib/index.js", diff --git a/packages/drip-table-generator/src/wrapper/index.tsx b/packages/drip-table-generator/src/wrapper/index.tsx index 3bb4c9123..f9e5b909c 100644 --- a/packages/drip-table-generator/src/wrapper/index.tsx +++ b/packages/drip-table-generator/src/wrapper/index.tsx @@ -117,6 +117,9 @@ const DripTableGenerator = React.forwardRef(< setTableConfigs: tableConfigsContext.setTableConfigs, setTableColumns: tableConfigsContext.setTableColumns, }, + checkColumn: (tableId: string, columnId: string) => { + setGeneratorStates({ ...generatorStates, currentTableID: tableId, currentColumnID: columnId }); + }, })); React.useEffect(() => { From 7011615ec6938ce33602a0b8550247c5298c5803 Mon Sep 17 00:00:00 2001 From: helloqian12138 Date: Fri, 27 Dec 2024 10:49:43 +0800 Subject: [PATCH 6/7] docs: update ref --- docs/drip-table-generator/demo/demo.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/drip-table-generator/demo/demo.tsx b/docs/drip-table-generator/demo/demo.tsx index ca84c3cbb..28ed1d173 100755 --- a/docs/drip-table-generator/demo/demo.tsx +++ b/docs/drip-table-generator/demo/demo.tsx @@ -10,7 +10,7 @@ import './demo.module.less'; import * as AntIcons from '@ant-design/icons'; import { CloudSyncOutlined } from '@ant-design/icons'; import { Button, message } from 'antd'; -import DripTableGenerator from 'drip-table-generator'; +import DripTableGenerator, { DripTableGeneratorHandler } from 'drip-table-generator'; import React from 'react'; import { DripTableSchema } from '@/packages/drip-table/lib'; @@ -25,7 +25,7 @@ const { createFromIconfontCN, IconProvider, setTwoToneColor, getTwoToneColor, .. console.log(createFromIconfontCN, IconProvider, setTwoToneColor, getTwoToneColor); function Demo() { - const generatorRef = React.useRef(); + const generatorRef = React.useRef(null); return ( Date: Mon, 6 Jan 2025 21:48:12 +0800 Subject: [PATCH 7/7] fix: update checkedColumn --- packages/drip-table-generator/package.json | 2 +- packages/drip-table-generator/src/typing.ts | 2 ++ packages/drip-table-generator/src/wrapper/index.tsx | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/drip-table-generator/package.json b/packages/drip-table-generator/package.json index de3c012d7..63f94ee2c 100755 --- a/packages/drip-table-generator/package.json +++ b/packages/drip-table-generator/package.json @@ -1,6 +1,6 @@ { "name": "drip-table-generator", - "version": "3.2.1-alpha.15", + "version": "3.2.1-alpha.16", "description": "A visualization tool for generating schema of drip-table.", "main": "dist/index.min.js", "module": "lib/index.js", diff --git a/packages/drip-table-generator/src/typing.ts b/packages/drip-table-generator/src/typing.ts index 04f543c78..16f816b44 100644 --- a/packages/drip-table-generator/src/typing.ts +++ b/packages/drip-table-generator/src/typing.ts @@ -256,6 +256,8 @@ export interface DripTableGeneratorProps< */ tableTools?: ('config' | 'subtable')[]; columnTools?: ('config' | 'copy' | 'more' | 'delete')[]; + checkedTableId?: string; + checkedColumnId?: string; /** * 自定义列添加面板 */ diff --git a/packages/drip-table-generator/src/wrapper/index.tsx b/packages/drip-table-generator/src/wrapper/index.tsx index f9e5b909c..5aaf6fce3 100644 --- a/packages/drip-table-generator/src/wrapper/index.tsx +++ b/packages/drip-table-generator/src/wrapper/index.tsx @@ -37,7 +37,8 @@ const generateStates = < RecordType extends DataSourceTypeAbbr>, ExtraOptions extends Partial = never, >(props: DripTableGeneratorProps): DripTableGeneratorStates => ({ - currentTableID: void 0, + currentTableID: props.checkedTableId, + currentColumnID: props.checkedColumnId, previewDataSource: [...props.dataSource || []], mode: props.defaultMode ?? 'edit', });