@nokecy/qc-ui 1.0.81 → 1.0.83
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/cjs/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -130
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -13
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
- package/dist/cjs/array-table/index.js +30 -118
- package/dist/cjs/draggableModal/index.d.ts +1 -1
- package/dist/cjs/draggableModal/index.js +251 -25
- package/dist/cjs/draggableModal/style.less +185 -12
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -130
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
- package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/esm/ag-grid-plus/setting/index.js +5 -13
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/esm/ag-grid-plus/types.d.ts +2 -0
- package/dist/esm/array-table/index.js +31 -119
- package/dist/esm/draggableModal/index.d.ts +1 -1
- package/dist/esm/draggableModal/index.js +252 -27
- package/dist/esm/draggableModal/style.less +185 -12
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
- package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
|
@@ -8,35 +8,31 @@ export function validateScheme(scheme, currentColumnDefs) {
|
|
|
8
8
|
var invalidColumns = [];
|
|
9
9
|
var validatedState = [];
|
|
10
10
|
|
|
11
|
-
// 获取当前有效的列
|
|
12
|
-
var
|
|
11
|
+
// 获取当前有效的列 field 集合
|
|
12
|
+
var validFields = new Set(currentColumnDefs.filter(function (col) {
|
|
13
13
|
return col.field || col.colId;
|
|
14
14
|
}).map(function (col) {
|
|
15
15
|
return col.field || col.colId;
|
|
16
16
|
}));
|
|
17
17
|
|
|
18
|
-
//
|
|
19
|
-
scheme.
|
|
20
|
-
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
// 验证每个列配置项
|
|
19
|
+
scheme.columnConfig.forEach(function (item) {
|
|
20
|
+
// 只验证列类型(非分组),因为分组没有对应的 field
|
|
21
|
+
if (item.type === 'column' && item.field) {
|
|
22
|
+
// 检查列是否仍然存在于表格定义中
|
|
23
|
+
if (!validFields.has(item.field)) {
|
|
24
|
+
invalidColumns.push(item.field);
|
|
25
|
+
warnings.push("\u5217 \"".concat(item.field, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
|
-
|
|
26
|
-
// 检查列是否仍然存在于表格定义中
|
|
27
|
-
if (!validColIds.has(colId)) {
|
|
28
|
-
invalidColumns.push(colId);
|
|
29
|
-
warnings.push("\u5217 \"".concat(colId, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// 列有效,添加到验证后的状态中
|
|
34
|
-
validatedState.push(columnState);
|
|
35
28
|
});
|
|
36
29
|
var valid = invalidColumns.length === 0;
|
|
37
30
|
if (!valid) {
|
|
38
31
|
warnings.push("\u5171\u6709 ".concat(invalidColumns.length, " \u4E2A\u5217\u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u81EA\u52A8\u8FC7\u6EE4"));
|
|
39
32
|
}
|
|
33
|
+
|
|
34
|
+
// 注意: validatedState 保持为空数组,因为 columnConfig 不是 ColumnState 格式
|
|
35
|
+
// 如果需要转换,应在调用方进行
|
|
40
36
|
return {
|
|
41
37
|
valid: valid,
|
|
42
38
|
invalidColumns: invalidColumns,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 列配置表单组件
|
|
3
|
+
* 使用 Formily ArrayTable 展示和编辑列配置
|
|
4
|
+
* 支持表头分组的树形结构展示
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { Form } from '@formily/core';
|
|
8
|
+
interface ColumnConfigFormProps {
|
|
9
|
+
form: Form;
|
|
10
|
+
onDeleteNode: (nodeId: string) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 列配置表单组件
|
|
14
|
+
*/
|
|
15
|
+
declare const ColumnConfigForm: React.FC<ColumnConfigFormProps>;
|
|
16
|
+
export default ColumnConfigForm;
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 列配置表单组件
|
|
3
|
+
* 使用 Formily ArrayTable 展示和编辑列配置
|
|
4
|
+
* 支持表头分组的树形结构展示
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import React, { useCallback } from 'react';
|
|
8
|
+
import { Button, Popconfirm, Space, Tooltip } from 'antd';
|
|
9
|
+
import { DeleteOutlined, HolderOutlined } from '@ant-design/icons';
|
|
10
|
+
import { FormGrid, FormItem, FormLayout, Input, Select, NumberPicker, Switch } from '@formily/antd-v5';
|
|
11
|
+
import { createSchemaField } from '@formily/react';
|
|
12
|
+
import ArrayTable from "../../array-table";
|
|
13
|
+
import NameColumnRenderer from "./NameColumnRenderer";
|
|
14
|
+
var SchemaField = createSchemaField({
|
|
15
|
+
components: {
|
|
16
|
+
FormItem: FormItem,
|
|
17
|
+
FormGrid: FormGrid,
|
|
18
|
+
Space: Space,
|
|
19
|
+
Input: Input,
|
|
20
|
+
Select: Select,
|
|
21
|
+
ArrayTable: ArrayTable,
|
|
22
|
+
NumberPicker: NumberPicker,
|
|
23
|
+
Switch: Switch
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 自定义排序抓手
|
|
29
|
+
*/
|
|
30
|
+
var CustomSortHandle = function CustomSortHandle() {
|
|
31
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
32
|
+
title: "\u62D6\u52A8\u6392\u5E8F\uFF08\u4EC5\u652F\u6301\u540C\u7EA7\uFF09"
|
|
33
|
+
}, /*#__PURE__*/React.createElement(HolderOutlined, {
|
|
34
|
+
style: {
|
|
35
|
+
fontSize: 16,
|
|
36
|
+
color: '#999',
|
|
37
|
+
cursor: 'move'
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 列配置表单组件
|
|
44
|
+
*/
|
|
45
|
+
var ColumnConfigForm = function ColumnConfigForm(_ref) {
|
|
46
|
+
var form = _ref.form,
|
|
47
|
+
onDeleteNode = _ref.onDeleteNode;
|
|
48
|
+
/**
|
|
49
|
+
* 渲染操作列
|
|
50
|
+
* 根据节点类型显示不同的操作按钮
|
|
51
|
+
*/
|
|
52
|
+
var renderActions = useCallback(function (record) {
|
|
53
|
+
var type = record.type,
|
|
54
|
+
id = record.id,
|
|
55
|
+
headerName = record.headerName,
|
|
56
|
+
_isNew = record._isNew;
|
|
57
|
+
if (type === 'group') {
|
|
58
|
+
return /*#__PURE__*/React.createElement(Space, null, _isNew && /*#__PURE__*/React.createElement(Popconfirm, {
|
|
59
|
+
title: "\u786E\u5B9A\u8981\u5220\u9664\u5206\u7EC4\"".concat(headerName, "\"\u53CA\u5176\u6240\u6709\u5B50\u5217\u5417\uFF1F"),
|
|
60
|
+
onConfirm: function onConfirm() {
|
|
61
|
+
return onDeleteNode(id);
|
|
62
|
+
},
|
|
63
|
+
okText: "\u786E\u5B9A",
|
|
64
|
+
cancelText: "\u53D6\u6D88"
|
|
65
|
+
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
66
|
+
title: "\u5220\u9664\u5206\u7EC4"
|
|
67
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
68
|
+
type: "link",
|
|
69
|
+
size: "small",
|
|
70
|
+
danger: true,
|
|
71
|
+
icon: /*#__PURE__*/React.createElement(DeleteOutlined, null)
|
|
72
|
+
}))));
|
|
73
|
+
} else {
|
|
74
|
+
// 列不允许删除
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}, [onDeleteNode]);
|
|
78
|
+
|
|
79
|
+
// 配置 ArrayTable 属性
|
|
80
|
+
var tableProps = {
|
|
81
|
+
onRowDrag: true,
|
|
82
|
+
components: {
|
|
83
|
+
SortHandle: CustomSortHandle
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
return /*#__PURE__*/React.createElement(FormLayout, null, /*#__PURE__*/React.createElement(SchemaField, null, /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
87
|
+
"x-component": "FormGrid",
|
|
88
|
+
"x-component-props": {
|
|
89
|
+
maxColumns: [1, 3],
|
|
90
|
+
strictAutoFit: true
|
|
91
|
+
}
|
|
92
|
+
}, /*#__PURE__*/React.createElement(SchemaField.Array, {
|
|
93
|
+
name: "items",
|
|
94
|
+
title: "",
|
|
95
|
+
"x-component": "ArrayTable",
|
|
96
|
+
"x-component-props": tableProps,
|
|
97
|
+
"x-decorator": "FormItem",
|
|
98
|
+
"x-decorator-props": {
|
|
99
|
+
gridSpan: 3
|
|
100
|
+
}
|
|
101
|
+
}, /*#__PURE__*/React.createElement(SchemaField.Object, null, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
102
|
+
name: "id",
|
|
103
|
+
"x-display": "hidden"
|
|
104
|
+
}), /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
105
|
+
name: "type",
|
|
106
|
+
"x-display": "hidden"
|
|
107
|
+
}), /*#__PURE__*/React.createElement(SchemaField.Number, {
|
|
108
|
+
name: "level",
|
|
109
|
+
"x-display": "hidden"
|
|
110
|
+
}), /*#__PURE__*/React.createElement(SchemaField.Number, {
|
|
111
|
+
name: "order",
|
|
112
|
+
"x-display": "hidden"
|
|
113
|
+
}), /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
114
|
+
name: "parentId",
|
|
115
|
+
"x-display": "hidden"
|
|
116
|
+
}), /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
117
|
+
name: "groupId",
|
|
118
|
+
"x-display": "hidden"
|
|
119
|
+
}), /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
120
|
+
name: "field",
|
|
121
|
+
"x-display": "hidden"
|
|
122
|
+
}), /*#__PURE__*/React.createElement(SchemaField.Boolean, {
|
|
123
|
+
name: "_isNew",
|
|
124
|
+
"x-display": "hidden"
|
|
125
|
+
}), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
126
|
+
"x-component": "ArrayTable.Column",
|
|
127
|
+
"x-component-props": {
|
|
128
|
+
width: 60,
|
|
129
|
+
title: '排序',
|
|
130
|
+
align: 'center'
|
|
131
|
+
}
|
|
132
|
+
}, /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
133
|
+
"x-decorator": "FormItem",
|
|
134
|
+
required: true,
|
|
135
|
+
"x-component": "ArrayTable.SortHandle"
|
|
136
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
137
|
+
"x-component": "ArrayTable.Column",
|
|
138
|
+
"x-component-props": {
|
|
139
|
+
width: 200,
|
|
140
|
+
title: '名称'
|
|
141
|
+
}
|
|
142
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
143
|
+
name: "headerName",
|
|
144
|
+
"x-decorator": "FormItem",
|
|
145
|
+
"x-component": function xComponent(props) {
|
|
146
|
+
var _props$name;
|
|
147
|
+
var index = (_props$name = props.name) === null || _props$name === void 0 || (_props$name = _props$name.toString().match(/\d+/)) === null || _props$name === void 0 ? void 0 : _props$name[0];
|
|
148
|
+
var items = form.values.items || [];
|
|
149
|
+
var record = items[parseInt(index || '0')];
|
|
150
|
+
return /*#__PURE__*/React.createElement(NameColumnRenderer, {
|
|
151
|
+
value: props.value,
|
|
152
|
+
record: record,
|
|
153
|
+
allItems: items,
|
|
154
|
+
onChange: props.onChange
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
158
|
+
"x-component": "ArrayTable.Column",
|
|
159
|
+
"x-component-props": {
|
|
160
|
+
width: 180,
|
|
161
|
+
title: '操作',
|
|
162
|
+
align: 'center'
|
|
163
|
+
}
|
|
164
|
+
}, /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
165
|
+
"x-component": function xComponent(props) {
|
|
166
|
+
var _props$name2;
|
|
167
|
+
var index = (_props$name2 = props.name) === null || _props$name2 === void 0 || (_props$name2 = _props$name2.toString().match(/\d+/)) === null || _props$name2 === void 0 ? void 0 : _props$name2[0];
|
|
168
|
+
var items = form.values.items || [];
|
|
169
|
+
var record = items[parseInt(index || '0')];
|
|
170
|
+
if (!record) return null;
|
|
171
|
+
return renderActions(record);
|
|
172
|
+
}
|
|
173
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
174
|
+
"x-component": "ArrayTable.Column",
|
|
175
|
+
"x-component-props": {
|
|
176
|
+
width: 100,
|
|
177
|
+
title: '宽度'
|
|
178
|
+
}
|
|
179
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
180
|
+
name: "width",
|
|
181
|
+
"x-decorator": "FormItem",
|
|
182
|
+
"x-component": function xComponent(props) {
|
|
183
|
+
var _props$name3;
|
|
184
|
+
var index = (_props$name3 = props.name) === null || _props$name3 === void 0 || (_props$name3 = _props$name3.toString().match(/\d+/)) === null || _props$name3 === void 0 ? void 0 : _props$name3[0];
|
|
185
|
+
var items = form.values.items || [];
|
|
186
|
+
var record = items[parseInt(index || '0')];
|
|
187
|
+
if ((record === null || record === void 0 ? void 0 : record.type) !== 'column') {
|
|
188
|
+
return /*#__PURE__*/React.createElement("span", null, "-");
|
|
189
|
+
}
|
|
190
|
+
return /*#__PURE__*/React.createElement(NumberPicker, {
|
|
191
|
+
value: props.value,
|
|
192
|
+
onChange: props.onChange
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
196
|
+
"x-component": "ArrayTable.Column",
|
|
197
|
+
"x-component-props": {
|
|
198
|
+
width: 100,
|
|
199
|
+
title: '占满'
|
|
200
|
+
}
|
|
201
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
202
|
+
name: "flex",
|
|
203
|
+
"x-decorator": "FormItem",
|
|
204
|
+
"x-component": function xComponent(props) {
|
|
205
|
+
var _props$name4;
|
|
206
|
+
var index = (_props$name4 = props.name) === null || _props$name4 === void 0 || (_props$name4 = _props$name4.toString().match(/\d+/)) === null || _props$name4 === void 0 ? void 0 : _props$name4[0];
|
|
207
|
+
var items = form.values.items || [];
|
|
208
|
+
var record = items[parseInt(index || '0')];
|
|
209
|
+
if ((record === null || record === void 0 ? void 0 : record.type) !== 'column') {
|
|
210
|
+
return /*#__PURE__*/React.createElement("span", null, "-");
|
|
211
|
+
}
|
|
212
|
+
return /*#__PURE__*/React.createElement(Select, {
|
|
213
|
+
value: props.value,
|
|
214
|
+
onChange: props.onChange,
|
|
215
|
+
options: [{
|
|
216
|
+
value: 1,
|
|
217
|
+
label: '占满'
|
|
218
|
+
}, {
|
|
219
|
+
value: 0,
|
|
220
|
+
label: '不占满'
|
|
221
|
+
}]
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
225
|
+
"x-component": "ArrayTable.Column",
|
|
226
|
+
"x-component-props": {
|
|
227
|
+
width: 100,
|
|
228
|
+
title: '固定'
|
|
229
|
+
}
|
|
230
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
231
|
+
name: "pinned",
|
|
232
|
+
"x-decorator": "FormItem",
|
|
233
|
+
"x-component": function xComponent(props) {
|
|
234
|
+
var _props$name5;
|
|
235
|
+
var index = (_props$name5 = props.name) === null || _props$name5 === void 0 || (_props$name5 = _props$name5.toString().match(/\d+/)) === null || _props$name5 === void 0 ? void 0 : _props$name5[0];
|
|
236
|
+
var items = form.values.items || [];
|
|
237
|
+
var record = items[parseInt(index || '0')];
|
|
238
|
+
if ((record === null || record === void 0 ? void 0 : record.type) !== 'column') {
|
|
239
|
+
return /*#__PURE__*/React.createElement("span", null, "-");
|
|
240
|
+
}
|
|
241
|
+
return /*#__PURE__*/React.createElement(Select, {
|
|
242
|
+
value: props.value,
|
|
243
|
+
onChange: props.onChange,
|
|
244
|
+
options: [{
|
|
245
|
+
value: 'left',
|
|
246
|
+
label: '左固定'
|
|
247
|
+
}, {
|
|
248
|
+
value: 'right',
|
|
249
|
+
label: '右固定'
|
|
250
|
+
}, {
|
|
251
|
+
value: 'notPinned',
|
|
252
|
+
label: '不固定'
|
|
253
|
+
}]
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
257
|
+
"x-component": "ArrayTable.Column",
|
|
258
|
+
"x-component-props": {
|
|
259
|
+
width: 80,
|
|
260
|
+
title: '隐藏',
|
|
261
|
+
align: 'center'
|
|
262
|
+
}
|
|
263
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
264
|
+
name: "hide",
|
|
265
|
+
"x-decorator": "FormItem",
|
|
266
|
+
"x-component": function xComponent(props) {
|
|
267
|
+
var _props$name6;
|
|
268
|
+
var index = (_props$name6 = props.name) === null || _props$name6 === void 0 || (_props$name6 = _props$name6.toString().match(/\d+/)) === null || _props$name6 === void 0 ? void 0 : _props$name6[0];
|
|
269
|
+
var items = form.values.items || [];
|
|
270
|
+
var record = items[parseInt(index || '0')];
|
|
271
|
+
if ((record === null || record === void 0 ? void 0 : record.type) !== 'column') {
|
|
272
|
+
return /*#__PURE__*/React.createElement("span", null, "-");
|
|
273
|
+
}
|
|
274
|
+
return /*#__PURE__*/React.createElement(Switch, {
|
|
275
|
+
checked: props.value,
|
|
276
|
+
onChange: props.onChange
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
280
|
+
"x-component": "ArrayTable.Column",
|
|
281
|
+
"x-component-props": {
|
|
282
|
+
width: 120,
|
|
283
|
+
title: '布局'
|
|
284
|
+
}
|
|
285
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
286
|
+
name: "cellClass",
|
|
287
|
+
"x-decorator": "FormItem",
|
|
288
|
+
"x-component": function xComponent(props) {
|
|
289
|
+
var _props$name7;
|
|
290
|
+
var index = (_props$name7 = props.name) === null || _props$name7 === void 0 || (_props$name7 = _props$name7.toString().match(/\d+/)) === null || _props$name7 === void 0 ? void 0 : _props$name7[0];
|
|
291
|
+
var items = form.values.items || [];
|
|
292
|
+
var record = items[parseInt(index || '0')];
|
|
293
|
+
if ((record === null || record === void 0 ? void 0 : record.type) !== 'column') {
|
|
294
|
+
return /*#__PURE__*/React.createElement("span", null, "-");
|
|
295
|
+
}
|
|
296
|
+
return /*#__PURE__*/React.createElement(Select, {
|
|
297
|
+
value: props.value || 'custom-cell-left',
|
|
298
|
+
onChange: props.onChange,
|
|
299
|
+
options: [{
|
|
300
|
+
value: 'custom-cell-left',
|
|
301
|
+
label: '左对齐'
|
|
302
|
+
}, {
|
|
303
|
+
value: 'custom-cell-right',
|
|
304
|
+
label: '右对齐'
|
|
305
|
+
}, {
|
|
306
|
+
value: 'custom-cell-centered',
|
|
307
|
+
label: '居中'
|
|
308
|
+
}]
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
312
|
+
"x-component": "ArrayTable.Column",
|
|
313
|
+
"x-component-props": {
|
|
314
|
+
width: 100,
|
|
315
|
+
title: '列过滤',
|
|
316
|
+
align: 'center'
|
|
317
|
+
}
|
|
318
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
319
|
+
name: "suppressHeaderFilterButton",
|
|
320
|
+
"x-decorator": "FormItem",
|
|
321
|
+
"x-component": function xComponent(props) {
|
|
322
|
+
var _props$name8;
|
|
323
|
+
var index = (_props$name8 = props.name) === null || _props$name8 === void 0 || (_props$name8 = _props$name8.toString().match(/\d+/)) === null || _props$name8 === void 0 ? void 0 : _props$name8[0];
|
|
324
|
+
var items = form.values.items || [];
|
|
325
|
+
var record = items[parseInt(index || '0')];
|
|
326
|
+
if ((record === null || record === void 0 ? void 0 : record.type) !== 'column') {
|
|
327
|
+
return /*#__PURE__*/React.createElement("span", null, "-");
|
|
328
|
+
}
|
|
329
|
+
return /*#__PURE__*/React.createElement(Switch, {
|
|
330
|
+
checked: !props.value,
|
|
331
|
+
onChange: function onChange(checked) {
|
|
332
|
+
return props.onChange(!checked);
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
})))))));
|
|
337
|
+
};
|
|
338
|
+
export default ColumnConfigForm;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 列配置表格组件
|
|
3
|
+
* 使用简单的 Ant Design Table 替代 Formily ArrayTable
|
|
4
|
+
* 通过 React useState 直接管理数据状态,确保 type 字段不会丢失
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { FlatColumnItem } from './columnGroupTypes';
|
|
8
|
+
interface ColumnConfigTableProps {
|
|
9
|
+
/** 扁平化的列配置数据 */
|
|
10
|
+
items: FlatColumnItem[];
|
|
11
|
+
/** 数据变更回调 */
|
|
12
|
+
onChange: (items: FlatColumnItem[]) => void;
|
|
13
|
+
/** 简化模式 - 隐藏分组相关功能 (用于 formArrayTable) */
|
|
14
|
+
simple?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 列配置表格组件
|
|
18
|
+
*/
|
|
19
|
+
declare const ColumnConfigTable: React.FC<ColumnConfigTableProps>;
|
|
20
|
+
export default ColumnConfigTable;
|