tntd 3.0.0-beta.19 → 3.0.0-beta.20
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/es/array-input/index.js +57 -42
- package/es/array-input/index.js.map +1 -1
- package/es/array-input/index.less +4 -1
- package/es/locale/en_US.js +3 -0
- package/es/locale/en_US.js.map +1 -1
- package/es/locale/zh_CN.js +3 -0
- package/es/locale/zh_CN.js.map +1 -1
- package/es/table/expand.less +12 -14
- package/es/table/hooks/use-expand-fixed.js +4 -2
- package/es/table/hooks/use-expand-fixed.js.map +1 -1
- package/es/table/table.js +15 -82
- package/es/table/table.js.map +1 -1
- package/es/tntd-action/Action.js +1 -1
- package/es/tntd-action/Action.js.map +1 -1
- package/lib/array-input/index.d.ts +1 -12
- package/lib/array-input/index.d.ts.map +1 -1
- package/lib/array-input/index.js +62 -55
- package/lib/array-input/index.js.map +1 -1
- package/lib/array-input/index.less +4 -1
- package/lib/locale/default.d.ts +3 -0
- package/lib/locale/default.d.ts.map +1 -1
- package/lib/locale/en_US.d.ts +3 -0
- package/lib/locale/en_US.d.ts.map +1 -1
- package/lib/locale/en_US.js +3 -0
- package/lib/locale/en_US.js.map +1 -1
- package/lib/locale/zh_CN.d.ts +3 -0
- package/lib/locale/zh_CN.d.ts.map +1 -1
- package/lib/locale/zh_CN.js +3 -0
- package/lib/locale/zh_CN.js.map +1 -1
- package/lib/table/expand.less +12 -14
- package/lib/table/hooks/use-expand-fixed.d.ts.map +1 -1
- package/lib/table/hooks/use-expand-fixed.js +6 -4
- package/lib/table/hooks/use-expand-fixed.js.map +1 -1
- package/lib/table/table.d.ts +1 -2
- package/lib/table/table.d.ts.map +1 -1
- package/lib/table/table.js +15 -78
- package/lib/table/table.js.map +1 -1
- package/lib/tntd-action/Action.d.ts +1 -1
- package/lib/tntd-action/Action.js +1 -1
- package/lib/tntd-action/Action.js.map +1 -1
- package/package.json +2 -2
- package/es/array-input/1.png +0 -1
- package/es/array-input/111.gif +0 -0
- package/es/array-input/icon.js +0 -25
- package/es/array-input/icon.js.map +0 -1
- package/es/query-form/Field/Composition/FieldPopover.js +0 -328
- package/es/query-form/Field/Composition/FieldPopover.js.map +0 -1
- package/es/query-form/Field/Composition/FieldPopover.less +0 -35
- package/es/query-form/Field/Composition/Select.js +0 -107
- package/es/query-form/Field/Composition/Select.js.map +0 -1
- package/es/query-form/Field/Composition/index.js +0 -210
- package/es/query-form/Field/Composition/index.js.map +0 -1
- package/es/query-form/Field/Composition/index.less +0 -114
- package/es/query-form/Field/Composition/utils.js +0 -132
- package/es/query-form/Field/Composition/utils.js.map +0 -1
- package/es/query-form2/Field/Checkbox.js +0 -23
- package/es/query-form2/Field/Checkbox.js.map +0 -1
- package/es/query-form2/Field/Composition/FieldPopover.js +0 -308
- package/es/query-form2/Field/Composition/FieldPopover.js.map +0 -1
- package/es/query-form2/Field/Composition/FieldPopover.less +0 -35
- package/es/query-form2/Field/Composition/Select.js +0 -104
- package/es/query-form2/Field/Composition/Select.js.map +0 -1
- package/es/query-form2/Field/Composition/index.js +0 -299
- package/es/query-form2/Field/Composition/index.js.map +0 -1
- package/es/query-form2/Field/Composition/index.less +0 -114
- package/es/query-form2/Field/Composition/utils.js +0 -19
- package/es/query-form2/Field/Composition/utils.js.map +0 -1
- package/es/query-form2/Field/Select.js +0 -59
- package/es/query-form2/Field/Select.js.map +0 -1
- package/es/query-form2/Field/SelectInput.js +0 -87
- package/es/query-form2/Field/SelectInput.js.map +0 -1
- package/es/query-form2/Field/fieldsMap.js +0 -28
- package/es/query-form2/Field/fieldsMap.js.map +0 -1
- package/es/query-form2/Field/index.js +0 -117
- package/es/query-form2/Field/index.js.map +0 -1
- package/es/query-form2/createActions.js +0 -47
- package/es/query-form2/createActions.js.map +0 -1
- package/es/query-form2/index.js +0 -345
- package/es/query-form2/index.js.map +0 -1
- package/es/query-form2/index.less +0 -136
- package/es/query-form2/useForm.js +0 -6
- package/es/query-form2/useForm.js.map +0 -1
- package/lib/array-input/1.png +0 -1
- package/lib/array-input/111.gif +0 -0
- package/lib/array-input/icon.d.ts +0 -4
- package/lib/array-input/icon.d.ts.map +0 -1
- package/lib/array-input/icon.js +0 -32
- package/lib/array-input/icon.js.map +0 -1
- package/lib/query-form/Field/Composition/FieldPopover.d.ts +0 -19
- package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/FieldPopover.js +0 -368
- package/lib/query-form/Field/Composition/FieldPopover.js.map +0 -1
- package/lib/query-form/Field/Composition/FieldPopover.less +0 -35
- package/lib/query-form/Field/Composition/Select.d.ts +0 -4
- package/lib/query-form/Field/Composition/Select.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/Select.js +0 -131
- package/lib/query-form/Field/Composition/Select.js.map +0 -1
- package/lib/query-form/Field/Composition/index.d.ts +0 -10
- package/lib/query-form/Field/Composition/index.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/index.js +0 -257
- package/lib/query-form/Field/Composition/index.js.map +0 -1
- package/lib/query-form/Field/Composition/index.less +0 -114
- package/lib/query-form/Field/Composition/utils.d.ts +0 -22
- package/lib/query-form/Field/Composition/utils.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/utils.js +0 -147
- package/lib/query-form/Field/Composition/utils.js.map +0 -1
- package/lib/query-form2/Field/Checkbox.d.ts +0 -8
- package/lib/query-form2/Field/Checkbox.d.ts.map +0 -1
- package/lib/query-form2/Field/Checkbox.js +0 -28
- package/lib/query-form2/Field/Checkbox.js.map +0 -1
- package/lib/query-form2/Field/Composition/FieldPopover.d.ts +0 -19
- package/lib/query-form2/Field/Composition/FieldPopover.d.ts.map +0 -1
- package/lib/query-form2/Field/Composition/FieldPopover.js +0 -347
- package/lib/query-form2/Field/Composition/FieldPopover.js.map +0 -1
- package/lib/query-form2/Field/Composition/FieldPopover.less +0 -35
- package/lib/query-form2/Field/Composition/Select.d.ts +0 -4
- package/lib/query-form2/Field/Composition/Select.d.ts.map +0 -1
- package/lib/query-form2/Field/Composition/Select.js +0 -128
- package/lib/query-form2/Field/Composition/Select.js.map +0 -1
- package/lib/query-form2/Field/Composition/index.d.ts +0 -14
- package/lib/query-form2/Field/Composition/index.d.ts.map +0 -1
- package/lib/query-form2/Field/Composition/index.js +0 -349
- package/lib/query-form2/Field/Composition/index.js.map +0 -1
- package/lib/query-form2/Field/Composition/index.less +0 -114
- package/lib/query-form2/Field/Composition/utils.d.ts +0 -6
- package/lib/query-form2/Field/Composition/utils.d.ts.map +0 -1
- package/lib/query-form2/Field/Composition/utils.js +0 -27
- package/lib/query-form2/Field/Composition/utils.js.map +0 -1
- package/lib/query-form2/Field/Select.d.ts +0 -4
- package/lib/query-form2/Field/Select.d.ts.map +0 -1
- package/lib/query-form2/Field/Select.js +0 -80
- package/lib/query-form2/Field/Select.js.map +0 -1
- package/lib/query-form2/Field/SelectInput.d.ts +0 -4
- package/lib/query-form2/Field/SelectInput.d.ts.map +0 -1
- package/lib/query-form2/Field/SelectInput.js +0 -100
- package/lib/query-form2/Field/SelectInput.js.map +0 -1
- package/lib/query-form2/Field/fieldsMap.d.ts +0 -27
- package/lib/query-form2/Field/fieldsMap.d.ts.map +0 -1
- package/lib/query-form2/Field/fieldsMap.js +0 -35
- package/lib/query-form2/Field/fieldsMap.js.map +0 -1
- package/lib/query-form2/Field/index.d.ts +0 -14
- package/lib/query-form2/Field/index.d.ts.map +0 -1
- package/lib/query-form2/Field/index.js +0 -147
- package/lib/query-form2/Field/index.js.map +0 -1
- package/lib/query-form2/createActions.d.ts +0 -14
- package/lib/query-form2/createActions.d.ts.map +0 -1
- package/lib/query-form2/createActions.js +0 -54
- package/lib/query-form2/createActions.js.map +0 -1
- package/lib/query-form2/index.d.ts +0 -36
- package/lib/query-form2/index.d.ts.map +0 -1
- package/lib/query-form2/index.js +0 -385
- package/lib/query-form2/index.js.map +0 -1
- package/lib/query-form2/index.less +0 -136
- package/lib/query-form2/useForm.d.ts +0 -13
- package/lib/query-form2/useForm.d.ts.map +0 -1
- package/lib/query-form2/useForm.js +0 -13
- package/lib/query-form2/useForm.js.map +0 -1
package/es/array-input/index.js
CHANGED
|
@@ -13,17 +13,19 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
13
13
|
return t;
|
|
14
14
|
};
|
|
15
15
|
import React, { isValidElement, useCallback, useEffect, useState } from 'react';
|
|
16
|
-
import
|
|
16
|
+
import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
|
|
17
17
|
import Col from '../col';
|
|
18
18
|
import Row from '../row';
|
|
19
19
|
import Table from '../table';
|
|
20
20
|
import Tooltip from '../tooltip';
|
|
21
|
+
import Icon from '../icon';
|
|
22
|
+
import Button from '../button';
|
|
21
23
|
import './index.less';
|
|
22
24
|
const {
|
|
23
25
|
Column
|
|
24
26
|
} = Table;
|
|
25
27
|
const getWidth = span => 1000 / span;
|
|
26
|
-
|
|
28
|
+
function ArrayInput({
|
|
27
29
|
children,
|
|
28
30
|
defaultValue,
|
|
29
31
|
value,
|
|
@@ -33,11 +35,17 @@ export default function ArrayInput({
|
|
|
33
35
|
require = false,
|
|
34
36
|
deleteTip = '',
|
|
35
37
|
plusTip = '',
|
|
36
|
-
addText
|
|
38
|
+
addText,
|
|
39
|
+
locale,
|
|
40
|
+
xProps = {},
|
|
41
|
+
renderAction
|
|
37
42
|
}) {
|
|
38
43
|
if (!_isFunction(children)) {
|
|
39
44
|
throw new Error('ArrayInput的children必须是函数');
|
|
40
45
|
}
|
|
46
|
+
if (addText === undefined) {
|
|
47
|
+
addText = locale === null || locale === void 0 ? void 0 : locale.add;
|
|
48
|
+
}
|
|
41
49
|
const [_value, setValue] = useState(value || defaultValue);
|
|
42
50
|
useEffect(() => {
|
|
43
51
|
setValue(value);
|
|
@@ -79,6 +87,7 @@ export default function ArrayInput({
|
|
|
79
87
|
if (!_isArray(fields)) {
|
|
80
88
|
fields = _get(fields, 'props.children', []);
|
|
81
89
|
}
|
|
90
|
+
const actionSpan = 24 - _sum(fields.map(f => _get(f, 'props.span', 4))) % 24;
|
|
82
91
|
return React.createElement(Row, {
|
|
83
92
|
gutter: gutter,
|
|
84
93
|
key: index,
|
|
@@ -109,29 +118,26 @@ export default function ArrayInput({
|
|
|
109
118
|
}
|
|
110
119
|
}, other)));
|
|
111
120
|
}), React.createElement(Col, {
|
|
112
|
-
span:
|
|
121
|
+
span: actionSpan
|
|
113
122
|
}, React.createElement("span", {
|
|
114
123
|
className: "tntd-array-input-action"
|
|
115
|
-
},
|
|
116
|
-
title:
|
|
117
|
-
placement: "left"
|
|
118
|
-
}, React.createElement("span", {
|
|
119
|
-
className: "mr10",
|
|
120
|
-
onClick: () => onAdd(index)
|
|
121
|
-
}, plusIcon)) : React.createElement("span", {
|
|
122
|
-
className: "mr10",
|
|
123
|
-
onClick: () => onAdd(index)
|
|
124
|
-
}, plusIcon), deleteTip ? React.createElement(Tooltip, {
|
|
125
|
-
title: deleteTip,
|
|
126
|
-
placement: "right"
|
|
124
|
+
}, renderAction ? renderAction(item, index, onDelete, onAdd) : React.createElement(React.Fragment, null, deleteTip ? React.createElement(Tooltip, {
|
|
125
|
+
title: deleteTip
|
|
127
126
|
}, React.createElement("span", {
|
|
128
127
|
onClick: () => onDelete(index)
|
|
129
|
-
},
|
|
128
|
+
}, React.createElement(Icon, {
|
|
129
|
+
type: "delete"
|
|
130
|
+
}))) : React.createElement("span", {
|
|
130
131
|
onClick: () => onDelete(index)
|
|
131
|
-
},
|
|
132
|
-
|
|
132
|
+
}, React.createElement(Icon, {
|
|
133
|
+
type: "delete"
|
|
134
|
+
}))))));
|
|
135
|
+
}), React.createElement(Button, {
|
|
136
|
+
type: "link",
|
|
133
137
|
onClick: () => onAdd()
|
|
134
|
-
},
|
|
138
|
+
}, React.createElement(Icon, {
|
|
139
|
+
type: "plus"
|
|
140
|
+
}), addText));
|
|
135
141
|
} else {
|
|
136
142
|
let fields = children({}, 0);
|
|
137
143
|
if (!_isArray(fields)) {
|
|
@@ -149,15 +155,11 @@ export default function ArrayInput({
|
|
|
149
155
|
});
|
|
150
156
|
return React.createElement("div", {
|
|
151
157
|
className: "tntd-array-input"
|
|
152
|
-
}, React.createElement(Table, {
|
|
158
|
+
}, React.createElement(Table, Object.assign({
|
|
153
159
|
dataSource: dataSource,
|
|
154
160
|
pagination: false,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
onClick: () => onAdd()
|
|
158
|
-
}, addText)
|
|
159
|
-
}
|
|
160
|
-
}, fields.map(field => {
|
|
161
|
+
bordered: true
|
|
162
|
+
}, xProps), fields.map(field => {
|
|
161
163
|
const {
|
|
162
164
|
name,
|
|
163
165
|
span,
|
|
@@ -191,26 +193,39 @@ export default function ArrayInput({
|
|
|
191
193
|
title: "\u64CD\u4F5C",
|
|
192
194
|
width: getWidth(24 - _sumBy(fields, 'props.span') % 24),
|
|
193
195
|
render: (text, row, index) => {
|
|
196
|
+
if (renderAction) {
|
|
197
|
+
return renderAction(row, index, onDelete, onAdd);
|
|
198
|
+
}
|
|
194
199
|
return React.createElement("span", {
|
|
195
200
|
className: "tntd-array-input-action"
|
|
196
|
-
},
|
|
197
|
-
title:
|
|
198
|
-
placement: "left"
|
|
199
|
-
}, React.createElement("span", {
|
|
200
|
-
className: "mr10",
|
|
201
|
-
onClick: () => onAdd(index)
|
|
202
|
-
}, plusIcon)) : React.createElement("span", {
|
|
203
|
-
className: "mr10",
|
|
204
|
-
onClick: () => onAdd(index)
|
|
205
|
-
}, plusIcon), deleteTip ? React.createElement(Tooltip, {
|
|
206
|
-
title: deleteTip,
|
|
207
|
-
placement: "right"
|
|
201
|
+
}, deleteTip ? React.createElement(Tooltip, {
|
|
202
|
+
title: deleteTip
|
|
208
203
|
}, React.createElement("span", {
|
|
209
204
|
onClick: () => onDelete(index)
|
|
210
|
-
},
|
|
205
|
+
}, React.createElement(Icon, {
|
|
206
|
+
type: "delete"
|
|
207
|
+
}))) : React.createElement("span", {
|
|
211
208
|
onClick: () => onDelete(index)
|
|
212
|
-
},
|
|
209
|
+
}, React.createElement(Icon, {
|
|
210
|
+
type: "delete"
|
|
211
|
+
})));
|
|
213
212
|
}
|
|
214
|
-
}))
|
|
213
|
+
})), React.createElement(Button, {
|
|
214
|
+
type: "dashed",
|
|
215
|
+
block: true,
|
|
216
|
+
className: "mt10",
|
|
217
|
+
onClick: () => onAdd()
|
|
218
|
+
}, React.createElement(Icon, {
|
|
219
|
+
type: "plus"
|
|
220
|
+
}), addText));
|
|
215
221
|
}
|
|
222
|
+
}
|
|
223
|
+
export default function WarpArrayInput(props) {
|
|
224
|
+
return React.createElement(LocaleReceiver, {
|
|
225
|
+
componentName: "ArrayInput"
|
|
226
|
+
}, locale => {
|
|
227
|
+
return React.createElement(ArrayInput, Object.assign({}, props, {
|
|
228
|
+
locale: locale
|
|
229
|
+
}));
|
|
230
|
+
});
|
|
216
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useEffect, useState } from 'react'\nimport { deleteIcon, plusIcon } from './icon'\n\nimport Col from '../col'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\n\nimport './index.less'\n\nconst { Column } = Table\nconst getWidth = (span) => 1000 / span\n\nexport default function ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText = '添加',\n}) {\n if (!isFunction(children)) {\n throw new Error('ArrayInput的children必须是函数')\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const _onChange = useCallback((value) => {\n if (onChange) {\n onChange(value)\n } else {\n setValue(value)\n }\n }, [])\n\n let inValue = _value || []\n if (require && inValue.length === 0) {\n inValue = [{}]\n }\n\n const changeValue = (index, name, value) => {\n inValue[index] = {\n ...inValue[index],\n [name]: value,\n }\n _onChange([...inValue])\n }\n\n const onAdd = (index) => {\n if (index === undefined) {\n _onChange([...inValue, {}])\n } else {\n inValue.splice(index + 1, 0, {})\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n if (mode === 'list') {\n return (\n <div className=\"tntd-array-input\">\n {inValue.map((item, index) => {\n let fields = children(item, index)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n return (\n <Row gutter={gutter} key={index} className=\"tntd-array-input-item\">\n {fields.map((field, i) => {\n if (!isValidElement(field)) {\n return field ? (\n <Col span={4} key={i}>\n {field}\n </Col>\n ) : (\n ''\n )\n }\n const { name, span = 4, onChange: fieldChange, ...other } = field?.props\n return (\n <Col span={span} key={i}>\n {React.cloneElement(field, {\n value: item[name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n ...other,\n })}\n </Col>\n )\n })}\n <Col span={24 - (sum(fields.map((f) => get(f, 'props.span', 4))) % 24)}>\n <span className=\"tntd-array-input-action\">\n {plusTip ? (\n <Tooltip title={plusTip} placement=\"left\">\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n </Tooltip>\n ) : (\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n )}\n {deleteTip ? (\n <Tooltip title={deleteTip} placement=\"right\">\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n )}\n </span>\n </Col>\n </Row>\n )\n })}\n {inValue.length === 0 && <a onClick={() => onAdd()}>{addText}</a>}\n </div>\n )\n } else {\n let fields = children({}, 0)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const dataSource = inValue.map((value, index) => {\n const fields = children(value, index)\n const back = {}\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n return (\n <div className=\"tntd-array-input\">\n <Table\n dataSource={dataSource}\n pagination={false}\n locale={{\n emptyText: <a onClick={() => onAdd()}>{addText}</a>,\n }}\n >\n {fields.map((field) => {\n const { name, span, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={getWidth(span || 24 / (fields.length + 1))}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { onChange: fieldChange } = field.props\n return React.cloneElement(field, {\n value: inValue[index][name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n })\n }}\n ></Column>\n )\n })}\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title=\"操作\"\n width={getWidth(24 - (sumBy(fields, 'props.span') % 24))}\n render={(text, row, index) => {\n return (\n <span className=\"tntd-array-input-action\">\n {plusTip ? (\n <Tooltip title={plusTip} placement=\"left\">\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n </Tooltip>\n ) : (\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n )}\n {deleteTip ? (\n <Tooltip title={deleteTip} placement=\"right\">\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n )}\n </span>\n )\n }}\n ></Column>\n </Table>\n </div>\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useEffect, useState } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Col from '../col'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport Icon from '../icon'\nimport Button from '../button'\n\nimport './index.less'\n\nconst { Column } = Table\nconst getWidth = (span) => 1000 / span\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n renderAction,\n}) {\n if (!isFunction(children)) {\n throw new Error('ArrayInput的children必须是函数')\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const _onChange = useCallback((value) => {\n if (onChange) {\n onChange(value)\n } else {\n setValue(value)\n }\n }, [])\n\n let inValue = _value || []\n if (require && inValue.length === 0) {\n inValue = [{}]\n }\n\n const changeValue = (index, name, value) => {\n inValue[index] = {\n ...inValue[index],\n [name]: value,\n }\n _onChange([...inValue])\n }\n\n const onAdd = (index) => {\n if (index === undefined) {\n _onChange([...inValue, {}])\n } else {\n inValue.splice(index + 1, 0, {})\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n if (mode === 'list') {\n return (\n <div className=\"tntd-array-input\">\n {inValue.map((item, index) => {\n let fields = children(item, index)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const actionSpan = 24 - (sum(fields.map((f) => get(f, 'props.span', 4))) % 24)\n return (\n <Row gutter={gutter} key={index} className=\"tntd-array-input-item\">\n {fields.map((field, i) => {\n if (!isValidElement(field)) {\n return field ? (\n <Col span={4} key={i}>\n {field}\n </Col>\n ) : (\n ''\n )\n }\n const { name, span = 4, onChange: fieldChange, ...other } = field?.props\n return (\n <Col span={span} key={i}>\n {React.cloneElement(field, {\n value: item[name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n ...other,\n })}\n </Col>\n )\n })}\n <Col span={actionSpan}>\n <span className=\"tntd-array-input-action\">\n {renderAction ? (\n renderAction(item, index, onDelete, onAdd)\n ) : (\n <>\n {deleteTip ? (\n <Tooltip title={deleteTip}>\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n )}\n </>\n )}\n </span>\n </Col>\n </Row>\n )\n })}\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n </div>\n )\n } else {\n let fields = children({}, 0)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const dataSource = inValue.map((value, index) => {\n const fields = children(value, index)\n const back = {}\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n return (\n <div className=\"tntd-array-input\">\n <Table dataSource={dataSource} pagination={false} bordered {...xProps}>\n {fields.map((field) => {\n const { name, span, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={getWidth(span || 24 / (fields.length + 1))}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { onChange: fieldChange } = field.props\n return React.cloneElement(field, {\n value: inValue[index][name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n })\n }}\n ></Column>\n )\n })}\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title=\"操作\"\n width={getWidth(24 - (sumBy(fields, 'props.span') % 24))}\n render={(text, row, index) => {\n if (renderAction) {\n return renderAction(row, index, onDelete, onAdd)\n }\n return (\n <span className=\"tntd-array-input-action\">\n {deleteTip ? (\n <Tooltip title={deleteTip}>\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n )}\n </span>\n )\n }}\n ></Column>\n </Table>\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n </div>\n )\n }\n}\n\nexport default function WarpArrayInput(props) {\n return (\n <LocaleReceiver componentName=\"ArrayInput\">\n {(locale) => {\n return <ArrayInput {...props} locale={locale} />\n }}\n </LocaleReceiver>\n )\n}\n"]}
|
package/es/locale/en_US.js
CHANGED
package/es/locale/en_US.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en_US.js","sourceRoot":"","sources":["../../src/locale/en_US.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,yCAAyC;AACzC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;IAChC,KAAK,EAAE;QACL,kBAAkB,EAAE,YAAY;QAChC,gBAAgB,EAAE,SAAS;QAC3B,KAAK,EAAE,4BAA4B;KACpC;IACD,KAAK,EAAE;QACL,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,eAAe;QAC7B,mBAAmB,EAAE,sBAAsB;QAC3C,cAAc,EAAE,iBAAiB;QACjC,SAAS,EAAE,uBAAuB;QAClC,MAAM,EAAE,SAAS;KAClB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,UAAU,EAAE,aAAa;YACzB,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,aAAa;SAC1B;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;KACb;IACD,SAAS,EAAE;QACT,KAAK,EAAE,0CAA0C;QACjD,KAAK,EAAE,0CAA0C;QACjD,KAAK,EAAE,yCAAyC;KACjD;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,SAAS;KAClB;IACD,UAAU,EAAE;QACV,MAAM,EAAE,SAAS;KAClB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE,EAAE;IACf,SAAS,EAAE;QACT,WAAW,EAAE,0BAA0B;QACvC,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,sBAAsB;KAClC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-11-01 17:14:46\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-11-03 17:02:30\n * @FilePath: /tntd/packages/tntd/src/locale/en_US.ts\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport sourceLocale from 'antd/es/locale/en_US'\n\nimport { merge } from 'lodash'\n\n// 覆盖原始的语言包,以便在使用 LocalReceiver 时获取正确的语言包\nconst en_US = merge(sourceLocale, {\n Table: {\n loadingDescription: 'loading...',\n emptyDescription: 'No data',\n total: 'Totally ${total} Record(s)',\n },\n Empty: {\n noGraphData: 'No data',\n noPermission: 'No permission',\n createdSuccessfully: 'Created successfully',\n creationFailed: 'Creation failed',\n noNetwork: 'Network not connected',\n noData: 'No data',\n },\n Calendar: {\n lang: {\n timeSelect: 'Select time',\n ok: 'OK',\n dateSelect: 'Select date',\n },\n },\n Handle: {\n more: 'More',\n },\n Exception: {\n '403': \"Sorry, we don't have access to this page\",\n '404': 'Sorry, there are no results on this page',\n '500': \"I'm sorry, the server reported an error\",\n },\n TntdCascader: {\n noData: 'No data',\n },\n TntdSelect: {\n noData: 'No data',\n },\n PageLoading: {\n text: 'loading...',\n },\n TntdSecondPage: {\n back: 'Back',\n },\n ColorPicker: {},\n QueryForm: {\n placeholder: 'Attribute type filtering',\n yes: 'Yes',\n no: 'No',\n propTitle: 'Attribute type',\n propValue: 'Attribute type value',\n },\n Drawer: {\n okText: 'Submit',\n cancelText: 'Cancel',\n },\n})\n\nexport default en_US\n"]}
|
|
1
|
+
{"version":3,"file":"en_US.js","sourceRoot":"","sources":["../../src/locale/en_US.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,yCAAyC;AACzC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;IAChC,KAAK,EAAE;QACL,kBAAkB,EAAE,YAAY;QAChC,gBAAgB,EAAE,SAAS;QAC3B,KAAK,EAAE,4BAA4B;KACpC;IACD,KAAK,EAAE;QACL,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,eAAe;QAC7B,mBAAmB,EAAE,sBAAsB;QAC3C,cAAc,EAAE,iBAAiB;QACjC,SAAS,EAAE,uBAAuB;QAClC,MAAM,EAAE,SAAS;KAClB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,UAAU,EAAE,aAAa;YACzB,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,aAAa;SAC1B;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;KACb;IACD,SAAS,EAAE;QACT,KAAK,EAAE,0CAA0C;QACjD,KAAK,EAAE,0CAA0C;QACjD,KAAK,EAAE,yCAAyC;KACjD;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,SAAS;KAClB;IACD,UAAU,EAAE;QACV,MAAM,EAAE,SAAS;KAClB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE,EAAE;IACf,SAAS,EAAE;QACT,WAAW,EAAE,0BAA0B;QACvC,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,sBAAsB;KAClC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,KAAK;KACX;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-11-01 17:14:46\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-11-03 17:02:30\n * @FilePath: /tntd/packages/tntd/src/locale/en_US.ts\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport sourceLocale from 'antd/es/locale/en_US'\n\nimport { merge } from 'lodash'\n\n// 覆盖原始的语言包,以便在使用 LocalReceiver 时获取正确的语言包\nconst en_US = merge(sourceLocale, {\n Table: {\n loadingDescription: 'loading...',\n emptyDescription: 'No data',\n total: 'Totally ${total} Record(s)',\n },\n Empty: {\n noGraphData: 'No data',\n noPermission: 'No permission',\n createdSuccessfully: 'Created successfully',\n creationFailed: 'Creation failed',\n noNetwork: 'Network not connected',\n noData: 'No data',\n },\n Calendar: {\n lang: {\n timeSelect: 'Select time',\n ok: 'OK',\n dateSelect: 'Select date',\n },\n },\n Handle: {\n more: 'More',\n },\n Exception: {\n '403': \"Sorry, we don't have access to this page\",\n '404': 'Sorry, there are no results on this page',\n '500': \"I'm sorry, the server reported an error\",\n },\n TntdCascader: {\n noData: 'No data',\n },\n TntdSelect: {\n noData: 'No data',\n },\n PageLoading: {\n text: 'loading...',\n },\n TntdSecondPage: {\n back: 'Back',\n },\n ColorPicker: {},\n QueryForm: {\n placeholder: 'Attribute type filtering',\n yes: 'Yes',\n no: 'No',\n propTitle: 'Attribute type',\n propValue: 'Attribute type value',\n },\n Drawer: {\n okText: 'Submit',\n cancelText: 'Cancel',\n },\n ArrayInput: {\n add: 'Add',\n },\n})\n\nexport default en_US\n"]}
|
package/es/locale/zh_CN.js
CHANGED
package/es/locale/zh_CN.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh_CN.js","sourceRoot":"","sources":["../../src/locale/zh_CN.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,yCAAyC;AACzC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;IAChC,KAAK,EAAE;QACL,kBAAkB,EAAE,UAAU;QAC9B,gBAAgB,EAAE,MAAM;QACxB,KAAK,EAAE,gBAAgB;KACxB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM;QACpB,mBAAmB,EAAE,MAAM;QAC3B,cAAc,EAAE,MAAM;QACtB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,MAAM;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI;KACX;IACD,SAAS,EAAE;QACT,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,WAAW;KACnB;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM;KACf;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;KACf;IACD,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,IAAI;KACX;IACD,WAAW,EAAE,EAAE;IACf,SAAS,EAAE;QACT,WAAW,EAAE,QAAQ;QACrB,GAAG,EAAE,GAAG;QACR,EAAE,EAAE,GAAG;QACP,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;KACnB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,IAAI;KACjB;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAA","sourcesContent":["import sourceLocale from 'antd/es/locale/zh_CN'\n\nimport { merge } from 'lodash'\n\n// 覆盖原始的语言包,以便在使用 LocalReceiver 时获取正确的语言包\nconst zh_CN = merge(sourceLocale, {\n Table: {\n loadingDescription: '数据加载中...',\n emptyDescription: '暂无数据',\n total: '共 ${total} 条记录',\n },\n Empty: {\n noGraphData: '暂无图表',\n noPermission: '暂无权限',\n createdSuccessfully: '创建成功',\n creationFailed: '创建失败',\n noNetwork: '网络未连接',\n noData: '暂无数据',\n },\n Handle: {\n more: '更多',\n },\n Exception: {\n '403': '很抱歉,暂无该页面访问权限',\n '404': '很抱歉,本页暂无结果',\n '500': '很抱歉,服务器报错',\n },\n TntdCascader: {\n noData: '暂无数据',\n },\n PageLoading: {\n text: '加载中...',\n },\n TntdSelect: {\n noData: '暂无数据',\n },\n TntdSecondPage: {\n back: '返回',\n },\n ColorPicker: {},\n QueryForm: {\n placeholder: '属性类型筛选',\n yes: '是',\n no: '否',\n propTitle: '属性类型',\n propValue: '属性类型值',\n },\n Drawer: {\n okText: '确定',\n cancelText: '取消',\n },\n})\n\nexport default zh_CN\n"]}
|
|
1
|
+
{"version":3,"file":"zh_CN.js","sourceRoot":"","sources":["../../src/locale/zh_CN.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,yCAAyC;AACzC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;IAChC,KAAK,EAAE;QACL,kBAAkB,EAAE,UAAU;QAC9B,gBAAgB,EAAE,MAAM;QACxB,KAAK,EAAE,gBAAgB;KACxB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM;QACpB,mBAAmB,EAAE,MAAM;QAC3B,cAAc,EAAE,MAAM;QACtB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,MAAM;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI;KACX;IACD,SAAS,EAAE;QACT,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,WAAW;KACnB;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM;KACf;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;KACf;IACD,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,IAAI;KACX;IACD,WAAW,EAAE,EAAE;IACf,SAAS,EAAE;QACT,WAAW,EAAE,QAAQ;QACrB,GAAG,EAAE,GAAG;QACR,EAAE,EAAE,GAAG;QACP,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;KACnB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,IAAI;KACjB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,IAAI;KACV;CACF,CAAC,CAAA;AAEF,eAAe,KAAK,CAAA","sourcesContent":["import sourceLocale from 'antd/es/locale/zh_CN'\n\nimport { merge } from 'lodash'\n\n// 覆盖原始的语言包,以便在使用 LocalReceiver 时获取正确的语言包\nconst zh_CN = merge(sourceLocale, {\n Table: {\n loadingDescription: '数据加载中...',\n emptyDescription: '暂无数据',\n total: '共 ${total} 条记录',\n },\n Empty: {\n noGraphData: '暂无图表',\n noPermission: '暂无权限',\n createdSuccessfully: '创建成功',\n creationFailed: '创建失败',\n noNetwork: '网络未连接',\n noData: '暂无数据',\n },\n Handle: {\n more: '更多',\n },\n Exception: {\n '403': '很抱歉,暂无该页面访问权限',\n '404': '很抱歉,本页暂无结果',\n '500': '很抱歉,服务器报错',\n },\n TntdCascader: {\n noData: '暂无数据',\n },\n PageLoading: {\n text: '加载中...',\n },\n TntdSelect: {\n noData: '暂无数据',\n },\n TntdSecondPage: {\n back: '返回',\n },\n ColorPicker: {},\n QueryForm: {\n placeholder: '属性类型筛选',\n yes: '是',\n no: '否',\n propTitle: '属性类型',\n propValue: '属性类型值',\n },\n Drawer: {\n okText: '确定',\n cancelText: '取消',\n },\n ArrayInput: {\n add: '添加',\n },\n})\n\nexport default zh_CN\n"]}
|
package/es/table/expand.less
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
@table-prefix-cls: ~'@{ant-prefix}-table';
|
|
2
|
-
@pagination-prefix-cls: ~'@{ant-prefix}-pagination';
|
|
3
|
-
@spin-prefix-cls: ~'@{ant-prefix}-spin';
|
|
4
|
-
@table-borderless-shadow: 0 0 14px rgba(0, 0, 0, 0.08);
|
|
5
2
|
|
|
6
3
|
// .@{table-prefix-cls} {
|
|
7
4
|
.tnt-table-wrapper {
|
|
@@ -15,7 +12,6 @@
|
|
|
15
12
|
tr.@{table-prefix-cls}-expanded-row.@{table-prefix-cls}-expanded-row-level-1 {
|
|
16
13
|
position: relative;
|
|
17
14
|
z-index: 10;
|
|
18
|
-
background: #f3f4f6;
|
|
19
15
|
|
|
20
16
|
> td:not([colspan]) {
|
|
21
17
|
display: none;
|
|
@@ -23,29 +19,31 @@
|
|
|
23
19
|
|
|
24
20
|
// 兼容低版本浏览器
|
|
25
21
|
> td[colspan] {
|
|
26
|
-
|
|
22
|
+
position: relative;
|
|
27
23
|
z-index: 100;
|
|
28
24
|
padding: 0;
|
|
29
|
-
border: none;
|
|
30
25
|
|
|
31
26
|
> .@{table-prefix-cls}-expanded-row-fixed {
|
|
32
27
|
position: sticky;
|
|
33
28
|
left: 0px;
|
|
34
29
|
overflow: hidden;
|
|
35
|
-
padding: 16px;
|
|
36
|
-
background: inherit;
|
|
37
|
-
border-top: 1px solid #e1e6ee;
|
|
30
|
+
padding: 0px 16px;
|
|
38
31
|
}
|
|
39
32
|
}
|
|
40
33
|
}
|
|
41
34
|
}
|
|
42
35
|
}
|
|
43
36
|
|
|
44
|
-
.@{table-prefix-cls}-fixed-left table {
|
|
45
|
-
width: fit-content;
|
|
46
|
-
}
|
|
47
|
-
.@{table-prefix-cls}-fixed-right table {
|
|
37
|
+
.@{table-prefix-cls}-fixed-left table, .@{table-prefix-cls}-fixed-right table {
|
|
48
38
|
width: fit-content;
|
|
39
|
+
|
|
40
|
+
tr.@{table-prefix-cls}-expanded-row.@{table-prefix-cls}-expanded-row-level-1 {
|
|
41
|
+
> td {
|
|
42
|
+
position: relative;
|
|
43
|
+
z-index: -1;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
49
46
|
}
|
|
47
|
+
|
|
50
48
|
}
|
|
51
|
-
}
|
|
49
|
+
}
|
|
@@ -18,11 +18,13 @@ export const useExpandFixed = () => {
|
|
|
18
18
|
};
|
|
19
19
|
const expand = async () => {
|
|
20
20
|
const [main, right, left] = getDom(String(activeKeyRef.current) || '');
|
|
21
|
+
const border = 2;
|
|
22
|
+
const height = (main === null || main === void 0 ? void 0 : main.offsetHeight) - border || 0;
|
|
21
23
|
if (right) {
|
|
22
|
-
right.setAttribute('style', `display: inline-block; height: ${
|
|
24
|
+
right.setAttribute('style', `display: inline-block; height: ${height}px; overflow: hidden;`);
|
|
23
25
|
}
|
|
24
26
|
if (left) {
|
|
25
|
-
left.setAttribute('style', `display: inline-block; height: ${
|
|
27
|
+
left.setAttribute('style', `display: inline-block; height: ${height}px; overflow: hidden;`);
|
|
26
28
|
}
|
|
27
29
|
if (main) {
|
|
28
30
|
// 解决 expandIconAsCell为true 且 iconCell的td元素为display: none;时, 展开内容滚动到最右边,会多出一部分iconCell所占据的空间 的问题
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-expand-fixed.js","sourceRoot":"","sources":["../../../src/table/hooks/use-expand-fixed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAUzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,WAAW,GAAG,MAAM,CAAU,cAAc,EAAE,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IAChD,MAAM,eAAe,GAAG,MAAM,CAAS;QACrC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAA;IAEtD,MAAM,MAAM,GAAG,CAAC,GAAgC,EAAE,EAAE;QAClD,MAAM,IAAI,GACP,QAAQ,CAAC,aAAa,CACrB,IAAI,WAAW,CAAC,OAAO,qCAAqC,GAAG,cAAc,CAC3D;YACnB,QAAQ,CAAC,aAAa,CACrB,IAAI,WAAW,CAAC,OAAO,sCAAsC,GAAG,cAAc,CAC5D,CAAA;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAClC,IAAI,WAAW,CAAC,OAAO,0CAA0C,GAAG,cAAc,CACjE,CAAA;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CACjC,IAAI,WAAW,CAAC,OAAO,yCAAyC,GAAG,cAAc,CAChE,CAAA;QACnB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"use-expand-fixed.js","sourceRoot":"","sources":["../../../src/table/hooks/use-expand-fixed.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef } from 'react'\nimport { makeRandomCode } from '../utils'\n\nexport type keyType = string | number | null\n\ninterface OldDom {\n main: HTMLDivElement | null\n right: HTMLDivElement | null\n left: HTMLDivElement | null\n}\n\nexport const useExpandFixed = () => {\n const curTableKey = useRef<keyType>(makeRandomCode())\n const activeKeyRef = useRef<string | null>(null)\n const oldActiveKeyRef = useRef<OldDom>({\n main: null,\n right: null,\n left: null,\n })\n const container = useRef<HTMLDivElement | null>(null)\n const observer = useRef<MutationObserver | null>(null)\n\n const getDom = (key: string | number | undefined) => {\n const main =\n (document.querySelector(\n `.${curTableKey.current} .ant-table-scroll [data-row-key=\"${key}-extra-row\"]`\n ) as HTMLDivElement) ||\n (document.querySelector(\n `.${curTableKey.current} .ant-table-default [data-row-key=\"${key}-extra-row\"]`\n ) as HTMLDivElement)\n const right = document.querySelector(\n `.${curTableKey.current} .ant-table-fixed-right [data-row-key=\"${key}-extra-row\"]`\n ) as HTMLDivElement\n const left = document.querySelector(\n `.${curTableKey.current} .ant-table-fixed-left [data-row-key=\"${key}-extra-row\"]`\n ) as HTMLDivElement\n return [main, right, left]\n }\n\n const expand = async () => {\n const [main, right, left] = getDom(String(activeKeyRef.current) || '')\n const border = 2\n const height = main?.offsetHeight - border || 0\n if (right) {\n right.setAttribute('style', `display: inline-block; height: ${height}px; overflow: hidden;`)\n }\n\n if (left) {\n left.setAttribute('style', `display: inline-block; height: ${height}px; overflow: hidden;`)\n }\n\n if (main) {\n // 解决 expandIconAsCell为true 且 iconCell的td元素为display: none;时, 展开内容滚动到最右边,会多出一部分iconCell所占据的空间 的问题\n const td = main.childNodes[1] as HTMLDivElement\n\n const colspan = td.getAttribute('colspan') || 0\n const Oldcolspan = td.getAttribute('oldcolspan') || 0\n const newColspan = Oldcolspan ? Oldcolspan : Number(colspan) + 1 + ''\n if (!Oldcolspan) td.setAttribute('oldcolspan', newColspan)\n\n td.setAttribute('colspan', newColspan)\n //\n }\n\n oldActiveKeyRef.current = {\n main,\n right,\n left,\n }\n }\n\n const ob = () => {\n const classname = curTableKey.current\n if (!classname) return\n\n container.current = document.querySelector(\n `.${classname}.ant-table-wrapper.collapse-panel > .ant-spin-nested-loading > .ant-spin-container > .ant-table`\n ) as HTMLDivElement\n\n observer.current = new MutationObserver(expand)\n observer.current.observe(container.current, {\n childList: true, // 子节点的变动\n attributes: true,\n })\n }\n\n const setChangedKey = (key: string) => {\n activeKeyRef.current = key\n }\n\n const trigger = (key: string) => {\n setChangedKey(key)\n const className = curTableKey.current\n if (!className) return\n const dom = document?.querySelector(\n `.${className}.ant-table-wrapper.collapse-panel > .ant-spin-nested-loading > .ant-spin-container > .ant-table`\n )\n dom?.setAttribute('c-data', 'Mutation')\n }\n\n useEffect(() => {\n ob()\n }, [curTableKey.current])\n\n return [curTableKey.current, trigger as (key: string) => void] as const\n}\n\nexport const findRowKey = (\n record: any,\n rowKey: string | ((record: any, index: number) => string)\n) => {\n let res: string | number = ''\n if (typeof rowKey === 'function') {\n res = [record].map(rowKey)[0]\n } else if (typeof rowKey === 'string') {\n res = record[rowKey]\n }\n\n return res\n}\n"]}
|
package/es/table/table.js
CHANGED
|
@@ -10,12 +10,11 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
10
10
|
};
|
|
11
11
|
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
12
12
|
import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
|
|
13
|
-
import Icon from '../icon/index';
|
|
14
13
|
import { default as AntdTable } from 'antd/es/table';
|
|
15
14
|
import Column from 'antd/es/table/Column';
|
|
16
15
|
import ColumnGroup from 'antd/es/table/ColumnGroup';
|
|
17
16
|
import classNames from 'classnames';
|
|
18
|
-
import React, { useMemo, useRef } from 'react';
|
|
17
|
+
import React, { useMemo, useRef, useState } from 'react';
|
|
19
18
|
import Ellipsis from '../ellipsis';
|
|
20
19
|
import { TableContext } from './context';
|
|
21
20
|
import { useColumnSetting, useExpandFixed } from './hooks';
|
|
@@ -57,7 +56,7 @@ export const Table = _a => {
|
|
|
57
56
|
storageKey,
|
|
58
57
|
columns,
|
|
59
58
|
children,
|
|
60
|
-
sticky =
|
|
59
|
+
sticky = false,
|
|
61
60
|
shadowed,
|
|
62
61
|
striped = true,
|
|
63
62
|
showCellBorders = false,
|
|
@@ -68,16 +67,11 @@ export const Table = _a => {
|
|
|
68
67
|
unUpperConverted,
|
|
69
68
|
// 强制不要转换
|
|
70
69
|
unTooltip,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// expandedRowKeys = [],
|
|
74
|
-
onExpand,
|
|
75
|
-
rowClassName,
|
|
76
|
-
smallPadding
|
|
70
|
+
smallPadding,
|
|
71
|
+
rowClassName
|
|
77
72
|
} = _a,
|
|
78
|
-
rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "sticky", "shadowed", "striped", "showCellBorders", "enableToolbar", "refresh", "upperCaseIgnore", "unUpperConverted", "unTooltip", "
|
|
73
|
+
rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "sticky", "shadowed", "striped", "showCellBorders", "enableToolbar", "refresh", "upperCaseIgnore", "unUpperConverted", "unTooltip", "smallPadding", "rowClassName"]);
|
|
79
74
|
const tableContainer = useRef(null);
|
|
80
|
-
const tableContainerWidth = React.useRef(0);
|
|
81
75
|
// const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(
|
|
82
76
|
// TABLE_SIZE_STORAGE_KEY,
|
|
83
77
|
// 'default'
|
|
@@ -110,6 +104,7 @@ export const Table = _a => {
|
|
|
110
104
|
}
|
|
111
105
|
return rowClassName;
|
|
112
106
|
};
|
|
107
|
+
const [fixedWidth, setFixedWidth] = useState(Number);
|
|
113
108
|
const lang = getLanguage();
|
|
114
109
|
let newColumns = displayColumns;
|
|
115
110
|
// 非中文做处理
|
|
@@ -193,87 +188,25 @@ export const Table = _a => {
|
|
|
193
188
|
* expand 与 fix 兼容,expand悬浮
|
|
194
189
|
*/
|
|
195
190
|
const [tableKey, trigger] = useExpandFixed();
|
|
196
|
-
// 自定义展开收起
|
|
197
|
-
const customExpandIcon = p => {
|
|
198
|
-
const {
|
|
199
|
-
expanded
|
|
200
|
-
} = p;
|
|
201
|
-
if (expanded) {
|
|
202
|
-
return React.createElement("span", {
|
|
203
|
-
style: {
|
|
204
|
-
marginLeft: !rest.rowSelection ? '0px' : undefined,
|
|
205
|
-
paddingLeft: !rest.rowSelection ? '0px' : undefined
|
|
206
|
-
},
|
|
207
|
-
className: "expand",
|
|
208
|
-
onClick: e => {
|
|
209
|
-
e.stopPropagation();
|
|
210
|
-
p === null || p === void 0 ? void 0 : p.onExpand(p.record, e);
|
|
211
|
-
if (onExpand) onExpand(p.expanded, p.record);
|
|
212
|
-
}
|
|
213
|
-
}, React.createElement(Icon, {
|
|
214
|
-
type: "minus-square"
|
|
215
|
-
}));
|
|
216
|
-
}
|
|
217
|
-
return React.createElement("span", {
|
|
218
|
-
style: {
|
|
219
|
-
marginLeft: !rest.rowSelection ? '0px' : undefined,
|
|
220
|
-
paddingLeft: !rest.rowSelection ? '0px' : undefined
|
|
221
|
-
},
|
|
222
|
-
className: "expand",
|
|
223
|
-
onClick: e => {
|
|
224
|
-
e.stopPropagation();
|
|
225
|
-
p === null || p === void 0 ? void 0 : p.onExpand(p.record, e);
|
|
226
|
-
if (onExpand) onExpand(p.expanded, p.record);
|
|
227
|
-
}
|
|
228
|
-
}, React.createElement(Icon, {
|
|
229
|
-
type: "plus-square"
|
|
230
|
-
}));
|
|
231
|
-
};
|
|
232
|
-
const expandIconColumnIndex = (rest === null || rest === void 0 ? void 0 : rest.rowSelection) ? 1 : rest.expandIconColumnIndex || 0; // 确定checkbox框位置
|
|
233
|
-
// 设置expandIcon的默认值
|
|
234
|
-
let expandIcon = rest.expandIcon;
|
|
235
|
-
if (expandedRowRender && !rest.expandIcon) {
|
|
236
|
-
expandIcon = props => customExpandIcon(Object.assign(Object.assign({}, props), {
|
|
237
|
-
needIndentSpaced: true
|
|
238
|
-
}));
|
|
239
|
-
} else if (!expandedRowRender) {
|
|
240
|
-
expandIcon = undefined;
|
|
241
|
-
}
|
|
242
|
-
// const [activeKeys, setActiveKeys] = React.useState<string[] | number[] | []>(
|
|
243
|
-
// expandedRowKeys.splice(0, 1) as string[] | number[] | []
|
|
244
|
-
// )
|
|
245
191
|
const stickyProps = useMemo(() => {
|
|
246
192
|
return {
|
|
247
193
|
onExpandedRowsChange: arg => {
|
|
248
194
|
const key = arg && arg[arg.length - 1];
|
|
249
|
-
if (onExpandedRowsChange) onExpandedRowsChange([Number(key)]);
|
|
195
|
+
if (rest === null || rest === void 0 ? void 0 : rest.onExpandedRowsChange) rest === null || rest === void 0 ? void 0 : rest.onExpandedRowsChange([Number(key)]);
|
|
250
196
|
// 触发MutationObserver监听
|
|
251
197
|
trigger(key);
|
|
252
198
|
},
|
|
253
|
-
expandedRowRender: expandedRowRender ? (record, index, indent, expanded) => {
|
|
199
|
+
expandedRowRender: (rest === null || rest === void 0 ? void 0 : rest.expandedRowRender) ? (record, index, indent, expanded) => {
|
|
254
200
|
const padding = 0;
|
|
255
201
|
return React.createElement("div", {
|
|
256
202
|
className: "ant-table-expanded-row-fixed",
|
|
257
203
|
style: {
|
|
258
|
-
width:
|
|
204
|
+
width: fixedWidth + padding
|
|
259
205
|
}
|
|
260
|
-
}, expandedRowRender && expandedRowRender(record, index, indent, expanded));
|
|
261
|
-
} : undefined
|
|
262
|
-
expandIconAsCell: true,
|
|
263
|
-
expandIconColumnIndex: expandIconColumnIndex,
|
|
264
|
-
expandIcon: expandIcon
|
|
265
|
-
// expandedRowKeys: activeKeys,
|
|
266
|
-
// onExpand: (expanded: boolean, record: any) => {
|
|
267
|
-
// const rowKeys: string[] | number[] = [findRowKey(record, rest.rowKey || 'key')] as
|
|
268
|
-
// | string[]
|
|
269
|
-
// | number[]
|
|
270
|
-
// setActiveKeys(expanded ? rowKeys : [])
|
|
271
|
-
// },
|
|
206
|
+
}, (rest === null || rest === void 0 ? void 0 : rest.expandedRowRender) && (rest === null || rest === void 0 ? void 0 : rest.expandedRowRender(record, index, indent, expanded)));
|
|
207
|
+
} : undefined
|
|
272
208
|
};
|
|
273
|
-
}, [expandedRowRender,
|
|
274
|
-
// activeKeys,
|
|
275
|
-
// rest.rowKey,
|
|
276
|
-
onExpandedRowsChange, trigger]);
|
|
209
|
+
}, [rest === null || rest === void 0 ? void 0 : rest.expandedRowRender, rest === null || rest === void 0 ? void 0 : rest.onExpandedRowsChange, trigger]);
|
|
277
210
|
return React.createElement(TableContext.Provider, {
|
|
278
211
|
value: {
|
|
279
212
|
// size: innerSize,
|
|
@@ -300,7 +233,7 @@ export const Table = _a => {
|
|
|
300
233
|
onResize: ({
|
|
301
234
|
width
|
|
302
235
|
}) => {
|
|
303
|
-
|
|
236
|
+
setFixedWidth(width);
|
|
304
237
|
}
|
|
305
238
|
}, React.createElement(AntdTable, Object.assign({
|
|
306
239
|
className: classNames(
|
|
@@ -313,8 +246,8 @@ export const Table = _a => {
|
|
|
313
246
|
[`${prefixCls}-striped`]: striped,
|
|
314
247
|
[`${prefixCls}-shadowed`]: shadowed,
|
|
315
248
|
[`${prefixCls}-has-footer`]: rest.footer,
|
|
316
|
-
[`${prefixCls}-
|
|
317
|
-
[`${prefixCls}-
|
|
249
|
+
[`${prefixCls}-small-padding`]: smallPadding,
|
|
250
|
+
[`${prefixCls}-sticky`]: sticky
|
|
318
251
|
}, className),
|
|
319
252
|
locale: locale,
|
|
320
253
|
bordered: bordered,
|