tntd 3.0.17 → 3.0.18

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.
@@ -7,21 +7,6 @@ export function highlightSubstring(str, substring) {
7
7
  const highlighted = `<span class="tnt-highlight">${substring}</span>`;
8
8
  return str.replace(new RegExp(substring, 'g'), highlighted);
9
9
  }
10
- export function getLabelFromOptions(key, options, fieldNames = {
11
- label: 'label',
12
- value: 'value'
13
- }) {
14
- let labelValue = key;
15
- if (options) {
16
- const target = options === null || options === void 0 ? void 0 : options.find(item => {
17
- const valueKey = fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.value;
18
- const itemValue = item instanceof Object ? item[valueKey] : item;
19
- return itemValue === key;
20
- });
21
- labelValue = target instanceof Object ? target === null || target === void 0 ? void 0 : target[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label] : target;
22
- }
23
- return labelValue;
24
- }
25
10
  export function getLabelByValue({
26
11
  value,
27
12
  options,
@@ -36,7 +21,11 @@ export function getLabelByValue({
36
21
  const itemValue = item instanceof Object ? item[valueKey] : item;
37
22
  return itemValue === value;
38
23
  });
39
- return target instanceof Object ? target === null || target === void 0 ? void 0 : target[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label] : target;
24
+ if (target) {
25
+ return target instanceof Object ? target === null || target === void 0 ? void 0 : target[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label] : target;
26
+ } else {
27
+ return value;
28
+ }
40
29
  };
41
30
  if (_isArray(value)) {
42
31
  return value.map(getLabel).join(' | ');
@@ -57,7 +46,7 @@ export function formatLabel(reactDom) {
57
46
  export function parseObjectToArray(value, data) {
58
47
  var _a, _b;
59
48
  return (_b = (_a = Object.keys(value)) === null || _a === void 0 ? void 0 : _a.map(key => {
60
- var _a, _b, _c;
49
+ var _a;
61
50
  const target = data === null || data === void 0 ? void 0 : data.find(item => {
62
51
  var _a;
63
52
  return ((_a = item.props) === null || _a === void 0 ? void 0 : _a.name) === key;
@@ -68,59 +57,33 @@ export function parseObjectToArray(value, data) {
68
57
  type,
69
58
  component,
70
59
  setLabel,
71
- props: fieldProps,
72
- propsTitle,
73
- title,
74
- name
60
+ props: fieldProps
75
61
  } = dataItem || {};
76
- const _propsTitle = propsTitle || title || name;
77
62
  const {
78
- options,
79
- format
63
+ options
80
64
  } = fieldProps || {};
81
- const fieldNames = ((_a = dataItem === null || dataItem === void 0 ? void 0 : dataItem.props) === null || _a === void 0 ? void 0 : _a.fieldNames) || {
82
- label: 'label',
83
- value: 'value'
84
- };
85
- let labelValue = value[key];
86
65
  if (!type && component) {
87
66
  if (!setLabel) {
88
67
  console.error('自定义组件需要传入setLabel()方法');
89
68
  }
90
- } else if (setLabel) {
91
- // setLabel: 对于自定义组件,无法控制label的显示,可以通过setLabel方法控制
92
- labelValue = setLabel(labelValue);
93
69
  } else if (options) {
94
70
  if (type === 'selectInput') {
95
- const selectKey = (_b = Object.keys(labelValue)) === null || _b === void 0 ? void 0 : _b[0];
71
+ const selectKey = (_a = Object.keys(value[key])) === null || _a === void 0 ? void 0 : _a[0];
96
72
  if (!selectKey) {
97
73
  // 17. inputSelect组件,初始值{},展示undefined:undefined
98
74
  return false;
99
75
  }
100
- const inputValue = labelValue[selectKey];
101
- const selectLabel = (_c = options === null || options === void 0 ? void 0 : options.find(v => v.value === selectKey)) === null || _c === void 0 ? void 0 : _c.label;
102
76
  return {
103
77
  key,
104
78
  value: value[key],
105
- closable: true,
106
- label: selectLabel + ':' + inputValue
79
+ closable: true
107
80
  };
108
81
  }
109
- labelValue = getLabelByValue({
110
- value: labelValue,
111
- options,
112
- fieldNames
113
- });
114
- } else if (type === 'dateRange' && format) {
115
- labelValue = [moment(labelValue[0]).format(format), moment(labelValue[1]).format(format)].join('~');
116
- } else if (type === 'date' && format) {
117
- labelValue = moment(labelValue).format(format);
118
82
  }
119
83
  return {
120
84
  key,
121
85
  value: value[key],
122
- closable: true,
123
- label: _propsTitle + ':' + labelValue
86
+ closable: true
124
87
  };
125
88
  })) === null || _b === void 0 ? void 0 : _b.filter(item => !!item);
126
89
  }
@@ -129,4 +92,60 @@ export function parseArrayToObject(value) {
129
92
  acc[v.key] = v.value;
130
93
  return acc;
131
94
  }, {});
95
+ }
96
+ export function getLabel({
97
+ key,
98
+ value
99
+ }, data, locale) {
100
+ var _a, _b, _c;
101
+ const target = data === null || data === void 0 ? void 0 : data.find(item => {
102
+ var _a;
103
+ return ((_a = item.props) === null || _a === void 0 ? void 0 : _a.name) === key;
104
+ });
105
+ if (!target) return null;
106
+ const dataItem = (target === null || target === void 0 ? void 0 : target.props) || {};
107
+ const {
108
+ type,
109
+ setLabel,
110
+ props: fieldProps,
111
+ propsTitle,
112
+ title,
113
+ name
114
+ } = dataItem || {};
115
+ const _propsTitle = propsTitle || title || name;
116
+ const {
117
+ options,
118
+ format
119
+ } = fieldProps || {};
120
+ let labelValue = value;
121
+ if (setLabel) {
122
+ // setLabel: 对于自定义组件,无法控制label的显示,可以通过setLabel方法控制
123
+ labelValue = setLabel(value);
124
+ } else if (options) {
125
+ if (type === 'selectInput') {
126
+ const selectKey = (_a = Object.keys(value)) === null || _a === void 0 ? void 0 : _a[0];
127
+ if (!selectKey) {
128
+ // 17. inputSelect组件,初始值{},展示undefined:undefined
129
+ return false;
130
+ }
131
+ const inputValue = value[selectKey];
132
+ const selectLabel = (_b = options === null || options === void 0 ? void 0 : options.find(v => v.value === selectKey)) === null || _b === void 0 ? void 0 : _b.label;
133
+ return selectLabel + ':' + inputValue;
134
+ }
135
+ labelValue = getLabelByValue({
136
+ value,
137
+ options,
138
+ fieldNames: ((_c = dataItem === null || dataItem === void 0 ? void 0 : dataItem.props) === null || _c === void 0 ? void 0 : _c.fieldNames) || {
139
+ label: 'label',
140
+ value: 'value'
141
+ }
142
+ });
143
+ } else if (type === 'checkbox') {
144
+ labelValue = value ? locale.yes : locale.no;
145
+ } else if (type === 'dateRange' && format) {
146
+ labelValue = [moment(value[0]).format(format), moment(value[1]).format(format)].join('~');
147
+ } else if (type === 'date' && format) {
148
+ labelValue = moment(value).format(format);
149
+ }
150
+ return _propsTitle + ':' + (labelValue === undefined ? '' : labelValue);
132
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/query-form/Field/Composition/utils.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport { isArray, isString, flatten } from 'lodash'\nimport moment from 'moment'\n\nexport function highlightSubstring(str, substring) {\n const highlighted = `<span class=\"tnt-highlight\">${substring}</span>`\n return str.replace(new RegExp(substring, 'g'), highlighted)\n}\n\nexport function getLabelFromOptions(\n key,\n options,\n fieldNames = {\n label: 'label',\n value: 'value',\n }\n) {\n let labelValue = key\n if (options) {\n const target = options?.find((item) => {\n const valueKey = fieldNames?.value\n const itemValue = item instanceof Object ? item[valueKey] : item\n return itemValue === key\n })\n labelValue = target instanceof Object ? target?.[fieldNames?.label] : target\n }\n return labelValue\n}\n\nexport function getLabelByValue({\n value,\n options,\n fieldNames = {\n label: 'label',\n value: 'value',\n },\n}) {\n const getLabel = (value) => {\n const target = options?.find((item) => {\n const valueKey = fieldNames?.value\n const itemValue = item instanceof Object ? item[valueKey] : item\n return itemValue === value\n })\n return target instanceof Object ? target?.[fieldNames?.label] : target\n }\n if (isArray(value)) {\n return value.map(getLabel).join(' | ')\n } else {\n return getLabel(value)\n }\n}\n\nexport function formatLabel(reactDom) {\n return flatten(\n React.Children.map(reactDom.props.children, (child) => {\n if (React.isValidElement(child)) {\n return formatLabel(child)\n } else if (isString(child)) {\n return child\n }\n return ''\n })\n ).join('')\n}\n\nexport function parseObjectToArray(value, data) {\n return Object.keys(value)\n ?.map((key) => {\n const target = data?.find((item) => item.props?.name === key)\n if (!target) return null\n const dataItem = target?.props || {}\n const {\n type,\n component,\n setLabel,\n props: fieldProps,\n propsTitle,\n title,\n name,\n } = dataItem || {}\n const _propsTitle = propsTitle || title || name\n const { options, format } = fieldProps || {}\n const fieldNames = dataItem?.props?.fieldNames || {\n label: 'label',\n value: 'value',\n }\n let labelValue = value[key]\n if (!type && component) {\n if (!setLabel) {\n console.error('自定义组件需要传入setLabel()方法')\n }\n } else if (setLabel) {\n // setLabel: 对于自定义组件,无法控制label的显示,可以通过setLabel方法控制\n labelValue = setLabel(labelValue)\n } else if (options) {\n if (type === 'selectInput') {\n const selectKey = Object.keys(labelValue)?.[0]\n if (!selectKey) {\n // 17. inputSelect组件,初始值{},展示undefined:undefined\n return false\n }\n const inputValue = labelValue[selectKey]\n const selectLabel = options?.find((v) => v.value === selectKey)?.label\n return {\n key,\n value: value[key],\n closable: true,\n label: selectLabel + ':' + inputValue,\n }\n }\n labelValue = getLabelByValue({ value: labelValue, options, fieldNames })\n } else if (type === 'dateRange' && format) {\n labelValue = [\n moment(labelValue[0]).format(format),\n moment(labelValue[1]).format(format),\n ].join('~')\n } else if (type === 'date' && format) {\n labelValue = moment(labelValue).format(format)\n }\n return {\n key,\n value: value[key],\n closable: true,\n label: _propsTitle + ':' + labelValue,\n }\n })\n ?.filter((item) => !!item)\n}\n\nexport function parseArrayToObject(value) {\n return value?.reduce((acc, v) => {\n acc[v.key] = v.value\n return acc\n }, {})\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/query-form/Field/Composition/utils.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport { isArray, isString, flatten } from 'lodash'\nimport moment from 'moment'\n\nexport function highlightSubstring(str, substring) {\n const highlighted = `<span class=\"tnt-highlight\">${substring}</span>`\n return str.replace(new RegExp(substring, 'g'), highlighted)\n}\n\nexport function getLabelByValue({\n value,\n options,\n fieldNames = {\n label: 'label',\n value: 'value',\n },\n}) {\n const getLabel = (value) => {\n const target = options?.find((item) => {\n const valueKey = fieldNames?.value\n const itemValue = item instanceof Object ? item[valueKey] : item\n return itemValue === value\n })\n if (target) {\n return target instanceof Object ? target?.[fieldNames?.label] : target\n } else {\n return value\n }\n }\n if (isArray(value)) {\n return value.map(getLabel).join(' | ')\n } else {\n return getLabel(value)\n }\n}\n\nexport function formatLabel(reactDom) {\n return flatten(\n React.Children.map(reactDom.props.children, (child) => {\n if (React.isValidElement(child)) {\n return formatLabel(child)\n } else if (isString(child)) {\n return child\n }\n return ''\n })\n ).join('')\n}\n\nexport function parseObjectToArray(value, data) {\n return Object.keys(value)\n ?.map((key) => {\n const target = data?.find((item) => item.props?.name === key)\n if (!target) return null\n const dataItem = target?.props || {}\n const { type, component, setLabel, props: fieldProps } = dataItem || {}\n const { options } = fieldProps || {}\n\n if (!type && component) {\n if (!setLabel) {\n console.error('自定义组件需要传入setLabel()方法')\n }\n } else if (options) {\n if (type === 'selectInput') {\n const selectKey = Object.keys(value[key])?.[0]\n if (!selectKey) {\n // 17. inputSelect组件,初始值{},展示undefined:undefined\n return false\n }\n return {\n key,\n value: value[key],\n closable: true,\n }\n }\n }\n return {\n key,\n value: value[key],\n closable: true,\n }\n })\n ?.filter((item) => !!item)\n}\n\nexport function parseArrayToObject(value) {\n return value?.reduce((acc, v) => {\n acc[v.key] = v.value\n return acc\n }, {})\n}\n\nexport function getLabel({ key, value }, data, locale) {\n const target = data?.find((item) => item.props?.name === key)\n if (!target) return null\n const dataItem = target?.props || {}\n const { type, setLabel, props: fieldProps, propsTitle, title, name } = dataItem || {}\n const _propsTitle = propsTitle || title || name\n const { options, format } = fieldProps || {}\n let labelValue = value\n if (setLabel) {\n // setLabel: 对于自定义组件,无法控制label的显示,可以通过setLabel方法控制\n labelValue = setLabel(value)\n } else if (options) {\n if (type === 'selectInput') {\n const selectKey = Object.keys(value)?.[0]\n if (!selectKey) {\n // 17. inputSelect组件,初始值{},展示undefined:undefined\n return false\n }\n const inputValue = value[selectKey]\n const selectLabel = options?.find((v) => v.value === selectKey)?.label\n return selectLabel + ':' + inputValue\n }\n labelValue = getLabelByValue({\n value,\n options,\n fieldNames: dataItem?.props?.fieldNames || {\n label: 'label',\n value: 'value',\n },\n })\n } else if (type === 'checkbox') {\n labelValue = value ? locale.yes : locale.no\n } else if (type === 'dateRange' && format) {\n labelValue = [moment(value[0]).format(format), moment(value[1]).format(format)].join('~')\n } else if (type === 'date' && format) {\n labelValue = moment(value).format(format)\n }\n return _propsTitle + ':' + (labelValue === undefined ? '' : labelValue)\n}\n"]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = WarpArrayInput;
8
- var _sumBy2 = _interopRequireDefault(require("lodash/sumBy"));
9
8
  var _sum2 = _interopRequireDefault(require("lodash/sum"));
10
9
  var _set2 = _interopRequireDefault(require("lodash/set"));
11
10
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
@@ -50,9 +49,6 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
50
49
  };
51
50
  var Column = _table["default"].Column;
52
51
  var RowContext = _react["default"].createContext({});
53
- var getWidth = function getWidth(span) {
54
- return 1000 / span;
55
- };
56
52
  var key = 1;
57
53
  function DragHandle() {
58
54
  var _useContext = (0, _react.useContext)(RowContext),
@@ -119,6 +115,8 @@ function ArrayInput(_ref) {
119
115
  _ref$xProps = _ref.xProps,
120
116
  xProps = _ref$xProps === void 0 ? {} : _ref$xProps,
121
117
  renderAction = _ref.renderAction,
118
+ _ref$actionWidth = _ref.actionWidth,
119
+ actionWidth = _ref$actionWidth === void 0 ? 80 : _ref$actionWidth,
122
120
  _ref$disabled = _ref.disabled,
123
121
  disabled = _ref$disabled === void 0 ? false : _ref$disabled;
124
122
  if (!(0, _isFunction2["default"])(children)) {
@@ -308,13 +306,14 @@ function ArrayInput(_ref) {
308
306
  }), fields.map(function (field) {
309
307
  var _ref3 = (field === null || field === void 0 ? void 0 : field.props) || {},
310
308
  name = _ref3.name,
311
- span = _ref3.span,
309
+ _ref3$width = _ref3.width,
310
+ width = _ref3$width === void 0 ? 160 : _ref3$width,
312
311
  title = _ref3.title;
313
312
  return _react["default"].createElement(Column, {
314
313
  key: name,
315
314
  dataIndex: name,
316
315
  title: title,
317
- width: getWidth(span || 24 / (fields.length + 1)),
316
+ width: width,
318
317
  render: function render(field, row, index) {
319
318
  if (!(0, _react.isValidElement)(field)) {
320
319
  return field;
@@ -335,7 +334,7 @@ function ArrayInput(_ref) {
335
334
  key: "action",
336
335
  dataIndex: "action",
337
336
  title: locale.action,
338
- width: getWidth(24 - (0, _sumBy2["default"])(fields, 'props.span') % 24),
337
+ width: actionWidth,
339
338
  render: function render(text, row, index) {
340
339
  if (renderAction) {
341
340
  return renderAction(row, index, onDelete, onAdd);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { DndContext } from '@dnd-kit/core'\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport {\n SortableContext,\n arrayMove,\n useSortable,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport Button from '../button'\nimport Col from '../col'\nimport Icon from '../icon'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport './index.less'\n\nconst { Column } = Table\nconst RowContext = React.createContext({})\nconst getWidth = (span) => 1000 / span\nlet key = 1\n\nfunction DragHandle() {\n const { setActivatorNodeRef, listeners } = useContext(RowContext)\n return (\n <Button\n className=\"drag-btn\"\n type=\"tertiary\"\n size=\"small\"\n icon=\"drag\"\n ref={setActivatorNodeRef}\n {...listeners}\n />\n )\n}\nfunction BodyRow(props) {\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: props['data-row-key'],\n })\n const style = {\n ...props.style,\n transform: CSS.Translate.toString(transform),\n transition,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n }\n : {}),\n }\n const contextValue = useMemo(\n () => ({\n setActivatorNodeRef,\n listeners,\n }),\n [setActivatorNodeRef, listeners]\n )\n return (\n <RowContext.Provider value={contextValue}>\n <tr {...props} ref={setNodeRef} style={style} {...attributes} />\n </RowContext.Provider>\n )\n}\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n drag = false, // 只做了table的拖拽排序\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n renderAction,\n disabled = false,\n}) {\n if (!isFunction(children)) {\n throw new Error(locale.error)\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n let newValue = value\n // 如果数组没有key\n if (Array.isArray(value) && value.some((obj) => !obj.key)) {\n newValue = value.map((obj) => ({ ...obj, key: obj.key || key++ }))\n _onChange(newValue)\n } else {\n setValue(newValue)\n }\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 = [{ key: key++ }]\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, { key: key++ }])\n } else {\n inValue.splice(index + 1, 0, { key: key++ })\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n const onDragEnd = ({ active, over }) => {\n if (active.id !== over?.id) {\n _onChange((prevState) => {\n const activeIndex = prevState.findIndex((record) => record.key === active?.id)\n const overIndex = prevState.findIndex((record) => record.key === over?.id)\n return arrayMove(prevState, activeIndex, overIndex)\n })\n }\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 disabled,\n ...other,\n })}\n </Col>\n )\n })}\n {!disabled && (\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 )}\n </Row>\n )\n })}\n {!disabled && (\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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 = { key: value.key }\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n\n return (\n <div className=\"tntd-array-input\">\n <DndContext modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext\n items={dataSource.map((i) => i.key)}\n strategy={verticalListSortingStrategy}\n >\n <Table\n dataSource={dataSource}\n pagination={false}\n components={{\n body: {\n row: BodyRow,\n },\n }}\n bordered\n {...xProps}\n >\n {drag && (\n <Column\n key=\"dragger\"\n dataIndex=\"dragger\"\n width={60}\n render={() => <DragHandle />}\n ></Column>\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 disabled,\n })\n }}\n ></Column>\n )\n })}\n {!disabled && (\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title={locale.action}\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 )}\n </Table>\n </SortableContext>\n </DndContext>\n {!disabled && (\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA0C;AAC1C,kDAA2D;AAC3D,gDAK0B;AAC1B,kDAAwC;AACxC,4FAAmE;AACnE,mCAAkE;AAClE,+CAAoG;AACpG,uDAA8B;AAC9B,iDAAwB;AACxB,mDAA0B;AAC1B,iDAAwB;AACxB,qDAA4B;AAC5B,yDAAgC;AAChC,wBAAqB;AAErB,MAAM,EAAE,MAAM,EAAE,GAAG,eAAK,CAAA;AACxB,MAAM,UAAU,GAAG,eAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;AAC1C,IAAI,GAAG,GAAG,CAAC,CAAA;AAEX,SAAS,UAAU;IACjB,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAA;IACjE,OAAO,CACL,8BAAC,gBAAM,kBACL,SAAS,EAAC,UAAU,EACpB,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,mBAAmB,IACpB,SAAS,EACb,CACH,CAAA;AACH,CAAC;AACD,SAAS,OAAO,CAAC,KAAK;IACpB,MAAM,EACJ,UAAU,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,UAAU,GACX,GAAG,IAAA,sBAAW,EAAC;QACd,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC;KAC1B,CAAC,CAAA;IACF,MAAM,KAAK,iDACN,KAAK,CAAC,KAAK,KACd,SAAS,EAAE,eAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC5C,UAAU,KACP,CAAC,UAAU;QACZ,CAAC,CAAC;YACE,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,IAAI;SACb;QACH,CAAC,CAAC,EAAE,CAAC,CACR,CAAA;IACD,MAAM,YAAY,GAAG,IAAA,eAAO,EAC1B,GAAG,EAAE,CAAC,CAAC;QACL,mBAAmB;QACnB,SAAS;KACV,CAAC,EACF,CAAC,mBAAmB,EAAE,SAAS,CAAC,CACjC,CAAA;IACD,OAAO,CACL,8BAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;QACtC,sDAAQ,KAAK,IAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,IAAM,UAAU,EAAI,CAC5C,CACvB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,IAAI,GAAG,MAAM,EACb,IAAI,GAAG,KAAK,EAAE,gBAAgB;AAC9B,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,EAAE,EACZ,OAAO,EACP,MAAM,EACN,MAAM,GAAG,EAAE,EACX,YAAY,EACZ,WAAW,GAAG,EAAE,EAChB,QAAQ,GAAG,KAAK,GACjB;IACC,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;KAC9B;IACD,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA;KACtB;IAED,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,IAAI,YAAY,CAAC,CAAA;IAE1D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,YAAY;QACZ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACzD,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,IAAG,CAAC,CAAA;YAClE,SAAS,CAAC,QAAQ,CAAC,CAAA;SACpB;aAAM;YACL,QAAQ,CAAC,QAAQ,CAAC,CAAA;SACnB;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,KAAK,EAAE,EAAE;QACtC,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;aAAM;YACL,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,OAAO,GAAG,MAAM,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;KAC3B;IAED,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,mCACT,OAAO,CAAC,KAAK,CAAC,KACjB,CAAC,IAAI,CAAC,EAAE,KAAK,GACd,CAAA;QACD,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE;QACtB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;SACxC;aAAM;YACL,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YAC5C,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAA;SACxB;IACH,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACpB,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,EAAE,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA,EAAE;YAC1B,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;gBACtB,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,CAAC,CAAA;gBAC9E,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA,CAAC,CAAA;gBAC1E,OAAO,IAAA,oBAAS,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;YACrD,CAAC,CAAC,CAAA;SACH;IACH,CAAC,CAAA;IAED,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAO,CACL,uCAAK,SAAS,EAAC,kBAAkB;YAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC3B,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBAClC,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,EAAE;oBACpB,MAAM,GAAG,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;iBAC3C;gBACD,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,IAAA,YAAG,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAG,EAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC9E,OAAO,CACL,8BAAC,aAAG,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,uBAAuB;oBAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACvB,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE;4BAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,8BAAC,aAAG,IAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IACjB,KAAK,CACF,CACP,CAAC,CAAC,CAAC,CACF,EAAE,CACH,CAAA;yBACF;wBACD,MAAM,KAAsD,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAlE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,OAA2B,EAAtB,KAAK,cAAjD,4BAAmD,CAAe,CAAA;wBACxE,OAAO,CACL,8BAAC,aAAG,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IACpB,eAAK,CAAC,YAAY,CAAC,KAAK,kBACvB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gCACd,WAAW,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;gCACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gCAC9C,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;4BACpC,CAAC,EACD,QAAQ,IACL,KAAK,EACR,CACE,CACP,CAAA;oBACH,CAAC,CAAC;oBACD,CAAC,QAAQ,IAAI,CACZ,8BAAC,aAAG,IAAC,IAAI,EAAE,UAAU;wBACnB,wCAAM,SAAS,EAAC,yBAAyB,IACtC,YAAY,CAAC,CAAC,CAAC,CACd,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC3C,CAAC,CAAC,CAAC,CACF,8DACG,SAAS,CAAC,CAAC,CAAC,CACX,8BAAC,iBAAO,IAAC,KAAK,EAAE,SAAS;4BACvB,wCAAM,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAClC,8BAAC,cAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,CACjB,CACC,CACX,CAAC,CAAC,CAAC,CACF,wCAAM,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAClC,8BAAC,cAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,CACjB,CACR,CACA,CACJ,CACI,CACH,CACP,CACG,CACP,CAAA;YACH,CAAC,CAAC;YACD,CAAC,QAAQ,IAAI,CACZ,8BAAC,gBAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;gBACxC,8BAAC,cAAI,IAAC,IAAI,EAAC,MAAM,GAAG;gBACnB,OAAO,CACD,CACV,CACG,CACP,CAAA;KACF;SAAM;QACL,IAAI,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,EAAE;YACpB,MAAM,GAAG,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;SAC3C;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;YAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;gBACvB,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,IAAI,CAAA;gBAC/B,IAAI,IAAI,IAAA,YAAG,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,OAAO,CACL,uCAAK,SAAS,EAAC,kBAAkB;YAC/B,8BAAC,iBAAU,IAAC,SAAS,EAAE,CAAC,kCAAsB,CAAC,EAAE,SAAS,EAAE,SAAS;gBACnE,8BAAC,0BAAe,IACd,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACnC,QAAQ,EAAE,sCAA2B;oBAErC,8BAAC,eAAK,kBACJ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,GAAG,EAAE,OAAO;6BACb;yBACF,EACD,QAAQ,UACJ,MAAM;wBAET,IAAI,IAAI,CACP,8BAAC,MAAM,IACL,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,GAAG,EAAE,CAAC,8BAAC,UAAU,OAAG,GACpB,CACX;wBACA,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;4BACpB,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,KAAI,EAAE,CAAA;4BACvD,OAAO,CACL,8BAAC,MAAM,IACL,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;oCAC5B,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE;wCAC1B,OAAO,KAAK,CAAA;qCACb;oCACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAA;oCAC7C,OAAO,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE;wCAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS;wCACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4CACd,WAAW,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;4CACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;4CAC9C,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;wCACpC,CAAC;wCACD,QAAQ;qCACT,CAAC,CAAA;gCACJ,CAAC,GACO,CACX,CAAA;wBACH,CAAC,CAAC;wBACD,CAAC,QAAQ,IAAI,CACZ,8BAAC,MAAM,IACL,GAAG,EAAC,QAAQ,EACZ,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;gCAC3B,IAAI,YAAY,EAAE;oCAChB,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;iCACjD;gCACD,OAAO,CACL,wCAAM,SAAS,EAAC,yBAAyB,IACtC,SAAS,CAAC,CAAC,CAAC,CACX,8BAAC,iBAAO,IAAC,KAAK,EAAE,SAAS;oCACvB,wCAAM,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;wCAClC,8BAAC,cAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,CACjB,CACC,CACX,CAAC,CAAC,CAAC,CACF,wCAAM,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oCAClC,8BAAC,cAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,CACjB,CACR,CACI,CACR,CAAA;4BACH,CAAC,GACO,CACX,CACK,CACQ,CACP;YACZ,CAAC,QAAQ,IAAI,CACZ,8BAAC,gBAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,QAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;gBACjE,8BAAC,cAAI,IAAC,IAAI,EAAC,MAAM,GAAG;gBACnB,OAAO,CACD,CACV,CACG,CACP,CAAA;KACF;AACH,CAAC;AAED,SAAwB,cAAc,CAAC,KAAK;IAC1C,OAAO,CACL,8BAAC,wBAAc,IAAC,aAAa,EAAC,YAAY,IACvC,CAAC,MAAM,EAAE,EAAE;QACV,OAAO,8BAAC,UAAU,oBAAK,KAAK,IAAE,MAAM,EAAE,MAAM,IAAI,CAAA;IAClD,CAAC,CACc,CAClB,CAAA;AACH,CAAC;AARD,iCAQC","sourcesContent":["import { DndContext } from '@dnd-kit/core'\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport {\n SortableContext,\n arrayMove,\n useSortable,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport Button from '../button'\nimport Col from '../col'\nimport Icon from '../icon'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport './index.less'\n\nconst { Column } = Table\nconst RowContext = React.createContext({})\nlet key = 1\n\nfunction DragHandle() {\n const { setActivatorNodeRef, listeners } = useContext(RowContext)\n return (\n <Button\n className=\"drag-btn\"\n type=\"tertiary\"\n size=\"small\"\n icon=\"drag\"\n ref={setActivatorNodeRef}\n {...listeners}\n />\n )\n}\nfunction BodyRow(props) {\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: props['data-row-key'],\n })\n const style = {\n ...props.style,\n transform: CSS.Translate.toString(transform),\n transition,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n }\n : {}),\n }\n const contextValue = useMemo(\n () => ({\n setActivatorNodeRef,\n listeners,\n }),\n [setActivatorNodeRef, listeners]\n )\n return (\n <RowContext.Provider value={contextValue}>\n <tr {...props} ref={setNodeRef} style={style} {...attributes} />\n </RowContext.Provider>\n )\n}\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n drag = false, // 只做了table的拖拽排序\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n renderAction,\n actionWidth = 80,\n disabled = false,\n}) {\n if (!isFunction(children)) {\n throw new Error(locale.error)\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n let newValue = value\n // 如果数组没有key\n if (Array.isArray(value) && value.some((obj) => !obj.key)) {\n newValue = value.map((obj) => ({ ...obj, key: obj.key || key++ }))\n _onChange(newValue)\n } else {\n setValue(newValue)\n }\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 = [{ key: key++ }]\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, { key: key++ }])\n } else {\n inValue.splice(index + 1, 0, { key: key++ })\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n const onDragEnd = ({ active, over }) => {\n if (active.id !== over?.id) {\n _onChange((prevState) => {\n const activeIndex = prevState.findIndex((record) => record.key === active?.id)\n const overIndex = prevState.findIndex((record) => record.key === over?.id)\n return arrayMove(prevState, activeIndex, overIndex)\n })\n }\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 disabled,\n ...other,\n })}\n </Col>\n )\n })}\n {!disabled && (\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 )}\n </Row>\n )\n })}\n {!disabled && (\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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 = { key: value.key }\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n\n return (\n <div className=\"tntd-array-input\">\n <DndContext modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext\n items={dataSource.map((i) => i.key)}\n strategy={verticalListSortingStrategy}\n >\n <Table\n dataSource={dataSource}\n pagination={false}\n components={{\n body: {\n row: BodyRow,\n },\n }}\n bordered\n {...xProps}\n >\n {drag && (\n <Column\n key=\"dragger\"\n dataIndex=\"dragger\"\n width={60}\n render={() => <DragHandle />}\n ></Column>\n )}\n {fields.map((field) => {\n const { name, width = 160, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={width}\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 disabled,\n })\n }}\n ></Column>\n )\n })}\n {!disabled && (\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title={locale.action}\n width={actionWidth}\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 )}\n </Table>\n </SortableContext>\n </DndContext>\n {!disabled && (\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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"]}
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _get2 = _interopRequireDefault(require("lodash/get"));
9
8
  var _find2 = _interopRequireDefault(require("lodash/find"));
10
9
  var _filter2 = _interopRequireDefault(require("lodash/filter"));
11
10
  var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
12
  var _empty = require("../../../empty");
14
13
  var _popover = _interopRequireDefault(require("../../../popover"));
14
+ var _ellipsis = _interopRequireDefault(require("../../../ellipsis"));
15
15
  var _Select = _interopRequireDefault(require("./Select"));
16
16
  var _utils = require("./utils");
17
17
  var _fieldsMap = _interopRequireDefault(require("../fieldsMap"));
@@ -71,8 +71,7 @@ var FieldPopover = function FieldPopover(_a, ref) {
71
71
  copyValue.push({
72
72
  key: props.name,
73
73
  value: type === 'array' ? [] : undefined,
74
- closable: true,
75
- label: (props.propsTitle || props.title || props.name) + ':'
74
+ closable: true
76
75
  });
77
76
  }
78
77
  setFieldItem(props);
@@ -94,7 +93,7 @@ var FieldPopover = function FieldPopover(_a, ref) {
94
93
  };
95
94
  });
96
95
  var onSelectChange = function onSelectChange(v, isMultiple) {
97
- var _a, _b, _c, _d, _e, _f;
96
+ var _a, _b, _c, _d;
98
97
  var propObj = (v === null || v === void 0 ? void 0 : v.propItem) || propItem || {};
99
98
  var fieldProps = propObj.props; // 直接搜索拿v.xx的值
100
99
  var copyValue = (0, _cloneDeep2["default"])(value || []);
@@ -143,62 +142,22 @@ var FieldPopover = function FieldPopover(_a, ref) {
143
142
  copyValue[index].value = v === null || v === void 0 ? void 0 : v.value;
144
143
  close();
145
144
  }
146
- var labelPrefix = "".concat(propObj.propsTitle || propObj.title || propObj.name, ": ");
147
- if (propObj.setLabel) {
148
- copyValue[index].label = labelPrefix + propObj.setLabel(copyValue[index].value);
149
- } else {
150
- copyValue[index].label = labelPrefix + (0, _utils.getLabelByValue)({
151
- value: copyValue[index].value,
152
- options: ((_e = propObj.props) === null || _e === void 0 ? void 0 : _e.options) || v.options,
153
- fieldNames: ((_f = propObj.props) === null || _f === void 0 ? void 0 : _f.fieldNames) || {
154
- label: 'label',
155
- value: 'value'
156
- }
157
- });
158
- }
159
145
  copyValue[index].closable = true;
160
146
  onChange(copyValue, false, true);
161
147
  (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange) && fieldProps.onChange(copyValue[index].value);
162
148
  };
163
149
  var onFieldChange = function onFieldChange() {
164
- var _a, _b;
150
+ var _a;
165
151
  var _ref2 = propItem || {},
166
152
  type = _ref2.type,
167
153
  component = _ref2.component,
168
- fieldProps = _ref2.props,
169
- setLabel = _ref2.setLabel,
170
- propsTitle = _ref2.propsTitle,
171
- title = _ref2.title,
172
- name = _ref2.name;
173
- var _ref3 = fieldProps || {},
174
- options = _ref3.options;
154
+ fieldProps = _ref2.props;
175
155
  var copyValue = (0, _cloneDeep2["default"])(value);
176
156
  var index = copyValue.findIndex(function (v) {
177
157
  return v.key === (propItem === null || propItem === void 0 ? void 0 : propItem.name);
178
158
  });
179
159
  copyValue[index].value = arguments.length <= 0 ? undefined : arguments[0];
180
- var labelPrefix = "".concat(propsTitle || title || name, ": ");
181
- if (setLabel) {
182
- // setLabel: 对于自定义组件,无法控制label的显示,可以通过setLabel方法控制
183
- copyValue[index].label = labelPrefix + setLabel(arguments.length <= 0 ? undefined : arguments[0]);
184
- } else if (type === 'date') {
185
- copyValue[index].label = labelPrefix + (arguments.length <= 1 ? undefined : arguments[1]);
186
- close();
187
- } else if (type === 'dateRange') {
188
- copyValue[index].label = labelPrefix + ((_a = arguments.length <= 1 ? undefined : arguments[1]) === null || _a === void 0 ? void 0 : _a.join('~'));
189
- if ((_b = arguments.length <= 1 ? undefined : arguments[1]) === null || _b === void 0 ? void 0 : _b[1]) {
190
- close();
191
- }
192
- } else if (type === 'selectInput') {
193
- var key = (0, _get2["default"])(Object.keys(arguments.length <= 0 ? undefined : arguments[0]), '0');
194
- var val = (0, _get2["default"])(arguments.length <= 0 ? undefined : arguments[0], key);
195
- var label = (0, _utils.getLabelFromOptions)(key, options);
196
- copyValue[index].label = "".concat(label, ": ").concat(val);
197
- } else if (type === 'checkbox') {
198
- copyValue[index].label = labelPrefix + ((arguments.length <= 0 ? undefined : arguments[0]) ? locale.yes : locale.no);
199
- close();
200
- } else if (!type && component) {
201
- copyValue[index].label = labelPrefix + ((arguments.length <= 1 ? undefined : arguments[1]) || (arguments.length <= 0 ? undefined : arguments[0]));
160
+ if (!type && component || ['date', 'checkbox'].includes(type) || type === 'dateRange' && ((_a = arguments.length <= 1 ? undefined : arguments[1]) === null || _a === void 0 ? void 0 : _a[1])) {
202
161
  close();
203
162
  }
204
163
  copyValue[index].closable = true;
@@ -225,12 +184,12 @@ var FieldPopover = function FieldPopover(_a, ref) {
225
184
  bool2 = false;
226
185
  if (searchText && !propItem) {
227
186
  fieldItems === null || fieldItems === void 0 ? void 0 : fieldItems.forEach(function (v) {
228
- var _ref4 = v.props || {},
229
- name = _ref4.name,
230
- propsTitle = _ref4.propsTitle,
231
- title = _ref4.title,
232
- type = _ref4.type,
233
- props = _ref4.props;
187
+ var _ref3 = v.props || {},
188
+ name = _ref3.name,
189
+ propsTitle = _ref3.propsTitle,
190
+ title = _ref3.title,
191
+ type = _ref3.type,
192
+ props = _ref3.props;
234
193
  var _propsTitle = propsTitle || title || name;
235
194
  if ((_propsTitle === null || _propsTitle === void 0 ? void 0 : _propsTitle.indexOf(searchText)) > -1) {
236
195
  bool1 = true;
@@ -256,17 +215,17 @@ var FieldPopover = function FieldPopover(_a, ref) {
256
215
  }, [fieldItems, searchText, propItem]);
257
216
  var renderFirstOptions = function renderFirstOptions() {
258
217
  var firstItems = searchText ? (0, _filter2["default"])(fieldItems, function (v) {
259
- var _ref5 = v.props || {},
260
- name = _ref5.name,
261
- propsTitle = _ref5.propsTitle,
262
- title = _ref5.title;
218
+ var _ref4 = v.props || {},
219
+ name = _ref4.name,
220
+ propsTitle = _ref4.propsTitle,
221
+ title = _ref4.title;
263
222
  var _propsTitle = propsTitle || title || name;
264
223
  return (_propsTitle === null || _propsTitle === void 0 ? void 0 : _propsTitle.indexOf(searchText)) > -1;
265
224
  }) : fieldItems;
266
225
  var secondItems = searchText ? (0, _filter2["default"])(fieldItems, function (v) {
267
- var _ref6 = v.props || {},
268
- type = _ref6.type,
269
- props = _ref6.props;
226
+ var _ref5 = v.props || {},
227
+ type = _ref5.type,
228
+ props = _ref5.props;
270
229
  var options = props.options,
271
230
  loadData = props.loadData,
272
231
  fieldNames = props.fieldNames;
@@ -281,12 +240,12 @@ var FieldPopover = function FieldPopover(_a, ref) {
281
240
  return _react["default"].createElement("div", null, firstItems.length > 0 && _react["default"].createElement(_react["default"].Fragment, null, (!searchText || (searchTarget === null || searchTarget === void 0 ? void 0 : searchTarget.propsTitle)) && _react["default"].createElement("label", null, locale.propTitle), _react["default"].createElement("ul", {
282
241
  className: "ant-select-dropdown-menu"
283
242
  }, firstItems.map(function (v) {
284
- var _ref7 = v.props || {},
285
- name = _ref7.name,
286
- propsTitle = _ref7.propsTitle,
287
- title = _ref7.title,
288
- type = _ref7.type,
289
- props = _ref7.props;
243
+ var _ref6 = v.props || {},
244
+ name = _ref6.name,
245
+ propsTitle = _ref6.propsTitle,
246
+ title = _ref6.title,
247
+ type = _ref6.type,
248
+ props = _ref6.props;
290
249
  var _propsTitle = propsTitle || title || name;
291
250
  return _react["default"].createElement("li", {
292
251
  className: "ant-select-dropdown-menu-item",
@@ -298,16 +257,19 @@ var FieldPopover = function FieldPopover(_a, ref) {
298
257
  onClick: function onClick() {
299
258
  onPropsClick(v.props);
300
259
  }
301
- }, searchText ? _react["default"].createElement("span", {
302
- dangerouslySetInnerHTML: {
303
- __html: (0, _utils.highlightSubstring)(_propsTitle, searchText)
304
- }
305
- }) : _propsTitle);
260
+ }, _react["default"].createElement(_ellipsis["default"], {
261
+ widthLimit: 220,
262
+ title: searchText ? _react["default"].createElement("span", {
263
+ dangerouslySetInnerHTML: {
264
+ __html: (0, _utils.highlightSubstring)(_propsTitle, searchText)
265
+ }
266
+ }) : _propsTitle
267
+ }));
306
268
  }))), secondItems.length > 0 && _react["default"].createElement("div", null, (searchTarget === null || searchTarget === void 0 ? void 0 : searchTarget.propsValue) && _react["default"].createElement("label", null, locale.propValue), fieldItems === null || fieldItems === void 0 ? void 0 : fieldItems.map(function (v) {
307
- var _ref8 = v.props || {},
308
- name = _ref8.name,
309
- type = _ref8.type,
310
- props = _ref8.props;
269
+ var _ref7 = v.props || {},
270
+ name = _ref7.name,
271
+ type = _ref7.type,
272
+ props = _ref7.props;
311
273
  var target = value === null || value === void 0 ? void 0 : value.find(function (v) {
312
274
  return v.key === name;
313
275
  });
@@ -329,14 +291,14 @@ var FieldPopover = function FieldPopover(_a, ref) {
329
291
  };
330
292
  var renderSecondOptions = function renderSecondOptions() {
331
293
  var _a;
332
- var _ref9 = propItem || {},
333
- name = _ref9.name,
334
- propsTitle = _ref9.propsTitle,
335
- title = _ref9.title,
336
- type = _ref9.type,
337
- className = _ref9.className,
338
- component = _ref9.component,
339
- fieldProps = _ref9.props;
294
+ var _ref8 = propItem || {},
295
+ name = _ref8.name,
296
+ propsTitle = _ref8.propsTitle,
297
+ title = _ref8.title,
298
+ type = _ref8.type,
299
+ className = _ref8.className,
300
+ component = _ref8.component,
301
+ fieldProps = _ref8.props;
340
302
  var target = value === null || value === void 0 ? void 0 : value.find(function (v) {
341
303
  return v.key === name;
342
304
  });