tntd 2.6.0 → 2.6.2
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/ellipsis/index.less +7 -2
- package/es/label/label.js +140 -0
- package/es/label/label.js.map +1 -0
- package/es/label/label.test.js +12 -0
- package/es/label/label.test.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
- package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +1 -1
- package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -1
- package/lib/ellipsis/index.less +7 -2
- package/lib/label/label.d.ts +52 -0
- package/lib/label/label.d.ts.map +1 -0
- package/lib/label/label.js +150 -0
- package/lib/label/label.js.map +1 -0
- package/lib/label/label.test.d.ts +2 -0
- package/lib/label/label.test.d.ts.map +1 -0
- package/lib/label/label.test.js +14 -0
- package/lib/label/label.test.js.map +1 -0
- package/lib/mention/index.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -1
- package/package.json +1 -1
- package/lib/tntd-form/CustomForm/components/Item.js +0 -50
- package/lib/tntd-form/CustomForm/components/ItemComp.js +0 -169
- package/lib/tntd-form/CustomForm/components/List.js +0 -96
- package/lib/tntd-form/CustomForm/index.js +0 -66
- package/lib/tntd-form/CustomForm/interface.js +0 -5
- package/lib/tntd-form/CustomForm/store.js +0 -10
- package/lib/tntd-form/CustomForm/utils.js +0 -235
package/es/ellipsis/index.less
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.tnt-ellipsis {
|
|
2
|
-
display:
|
|
3
|
-
|
|
2
|
+
display: flex;
|
|
3
|
+
|
|
4
4
|
.overflow {
|
|
5
5
|
// white-space:nowrap; //溢出不换行
|
|
6
6
|
overflow: hidden; //超出的文本隐藏
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
.fix-align {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
width: 100%;
|
|
16
|
+
}
|
|
17
|
+
|
|
13
18
|
.min-width-0 {
|
|
14
19
|
min-width: 0;
|
|
15
20
|
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
4
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
5
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
6
|
+
}
|
|
7
|
+
return t;
|
|
8
|
+
};
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
import React, { useMemo } from 'react';
|
|
11
|
+
import alpha from 'color-alpha';
|
|
12
|
+
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
13
|
+
import AntdTag from 'antd/es/tag';
|
|
14
|
+
import Ellipsis from '../ellipsis';
|
|
15
|
+
import './label.less';
|
|
16
|
+
export var LabelColors;
|
|
17
|
+
(function (LabelColors) {
|
|
18
|
+
LabelColors["cyan"] = "cyan";
|
|
19
|
+
LabelColors["green"] = "green";
|
|
20
|
+
LabelColors["iris"] = "iris";
|
|
21
|
+
LabelColors["blue"] = "blue";
|
|
22
|
+
LabelColors["lavender"] = "lavender";
|
|
23
|
+
LabelColors["orange"] = "orange";
|
|
24
|
+
LabelColors["golden"] = "golden";
|
|
25
|
+
LabelColors["red"] = "red";
|
|
26
|
+
LabelColors["grey"] = "grey";
|
|
27
|
+
})(LabelColors || (LabelColors = {}));
|
|
28
|
+
const colors = {
|
|
29
|
+
[LabelColors.cyan]: '#1e9493',
|
|
30
|
+
[LabelColors.green]: '#07c790',
|
|
31
|
+
[LabelColors.iris]: '#5e47d3',
|
|
32
|
+
[LabelColors.blue]: '#126bfb',
|
|
33
|
+
[LabelColors.lavender]: '#945fb9',
|
|
34
|
+
[LabelColors.orange]: '#ed7b20',
|
|
35
|
+
[LabelColors.golden]: '#de8a02',
|
|
36
|
+
[LabelColors.red]: '#d96156',
|
|
37
|
+
[LabelColors.grey]: '#5e6e90'
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* 计算标签样式
|
|
41
|
+
*
|
|
42
|
+
* @param type
|
|
43
|
+
* @param preset
|
|
44
|
+
* @param textColorSame
|
|
45
|
+
*/
|
|
46
|
+
const computeTagStyle = (type, color, textColorSame) => {
|
|
47
|
+
if (!color) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
switch (type) {
|
|
51
|
+
case 'dot':
|
|
52
|
+
if (textColorSame) {
|
|
53
|
+
return {
|
|
54
|
+
color
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return;
|
|
58
|
+
case 'filled':
|
|
59
|
+
return {
|
|
60
|
+
color: '#fff',
|
|
61
|
+
backgroundColor: color
|
|
62
|
+
};
|
|
63
|
+
case 'rounded':
|
|
64
|
+
return {
|
|
65
|
+
color,
|
|
66
|
+
backgroundColor: alpha(color, 0.1)
|
|
67
|
+
};
|
|
68
|
+
case 'outline':
|
|
69
|
+
return {
|
|
70
|
+
color,
|
|
71
|
+
borderColor: alpha(color, 0.4),
|
|
72
|
+
backgroundColor: alpha(color, 0.1)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
export const Label = _a => {
|
|
77
|
+
var {
|
|
78
|
+
className,
|
|
79
|
+
children,
|
|
80
|
+
type,
|
|
81
|
+
color,
|
|
82
|
+
icon,
|
|
83
|
+
style,
|
|
84
|
+
textColorSame = icon != null,
|
|
85
|
+
iconPosition = 'prefix',
|
|
86
|
+
ellipsisOptions
|
|
87
|
+
} = _a,
|
|
88
|
+
props = __rest(_a, ["className", "children", "type", "color", "icon", "style", "textColorSame", "iconPosition", "ellipsisOptions"]);
|
|
89
|
+
const normalizeType = useMemo(() => {
|
|
90
|
+
if (icon) {
|
|
91
|
+
return 'dot';
|
|
92
|
+
}
|
|
93
|
+
return type;
|
|
94
|
+
}, [icon, type]);
|
|
95
|
+
const computedColor = useMemo(() => colors[color] || color, [color]);
|
|
96
|
+
const tagStyle = useMemo(() => computeTagStyle(normalizeType, computedColor, textColorSame), [normalizeType, computedColor, textColorSame]);
|
|
97
|
+
const hasIcon = useMemo(() => icon != null, [icon]);
|
|
98
|
+
return React.createElement(ConfigConsumer, null, ({
|
|
99
|
+
getPrefixCls
|
|
100
|
+
}) => {
|
|
101
|
+
const prefixCls = getPrefixCls('label');
|
|
102
|
+
const displayEllipsisOptions = (() => {
|
|
103
|
+
const options = Object.assign({}, ellipsisOptions);
|
|
104
|
+
const iconElement = React.createElement("span", {
|
|
105
|
+
className: `${prefixCls}-icon`,
|
|
106
|
+
style: {
|
|
107
|
+
color: computedColor
|
|
108
|
+
}
|
|
109
|
+
}, icon);
|
|
110
|
+
if (iconPosition === 'prefix') {
|
|
111
|
+
options.prefix = iconElement;
|
|
112
|
+
}
|
|
113
|
+
if (iconPosition === 'suffix') {
|
|
114
|
+
options.suffix = iconElement;
|
|
115
|
+
}
|
|
116
|
+
if (options.Popover === true) {
|
|
117
|
+
options.content = children;
|
|
118
|
+
} else {
|
|
119
|
+
options.title = children;
|
|
120
|
+
}
|
|
121
|
+
return options;
|
|
122
|
+
})();
|
|
123
|
+
return React.createElement(AntdTag, Object.assign({}, props, {
|
|
124
|
+
className: classNames(className, prefixCls, {
|
|
125
|
+
[`${prefixCls}-dot`]: normalizeType === 'dot',
|
|
126
|
+
[`${prefixCls}-outline`]: normalizeType === 'outline',
|
|
127
|
+
[`${prefixCls}-filled`]: normalizeType === 'filled',
|
|
128
|
+
[`${prefixCls}-rounded`]: normalizeType === 'rounded'
|
|
129
|
+
}),
|
|
130
|
+
style: Object.assign(Object.assign({}, style), tagStyle)
|
|
131
|
+
}), normalizeType === 'dot' && icon == null && React.createElement("span", {
|
|
132
|
+
className: `${prefixCls}-dot-symbol`,
|
|
133
|
+
style: {
|
|
134
|
+
backgroundColor: computedColor
|
|
135
|
+
}
|
|
136
|
+
}), hasIcon ? React.createElement(Ellipsis, Object.assign({}, displayEllipsisOptions), children) : children);
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
Label.CheckableLabel = AntdTag.CheckableTag;
|
|
140
|
+
export default Label;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/label/label.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,EAAa,OAAO,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,KAAK,MAAM,aAAa,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,OAAO,MAAM,aAAa,CAAA;AAEjC,OAAO,QAAQ,MAAM,aAAa,CAAA;AAElC,OAAO,cAAc,CAAA;AAErB,MAAM,CAAN,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,0BAAW,CAAA;IACX,4BAAa,CAAA;AACf,CAAC,EAVW,WAAW,KAAX,WAAW,QAUtB;AAED,MAAM,MAAM,GAAG;IACb,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS;IAC9B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS;IACjC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAC/B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAC/B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;CAC9B,CAAA;AAmCD;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CACtB,IAAwB,EACxB,KAAc,EACd,aAAuB,EACI,EAAE;IAC7B,IAAI,CAAC,KAAK,EAAE;QACV,OAAM;KACP;IAED,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK;YACR,IAAI,aAAa,EAAE;gBACjB,OAAO;oBACL,KAAK;iBACN,CAAA;aACF;YAED,OAAM;QACR,KAAK,QAAQ;YACX,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE,KAAK;aACvB,CAAA;QACH,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK;gBACL,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;aACnC,CAAA;QACH,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK;gBACL,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC9B,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;aACnC,CAAA;KACJ;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAWT,EAAE,EAAE;QAXK,EACpB,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,aAAa,GAAG,IAAI,IAAI,IAAI,EAC5B,YAAY,GAAG,QAAQ,EACvB,eAAe,OAEJ,EADR,KAAK,cAVY,+GAWrB,CADS;IAER,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,IAAI,EAAE;YACR,OAAO,KAAK,CAAA;SACb;QAED,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAChB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAoB,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACnF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAClE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAC9C,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEnD,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;YACnC,MAAM,OAAO,qBACR,eAAe,CACnB,CAAA;YACD,MAAM,WAAW,GAAG,CAClB,8BAAM,SAAS,EAAE,GAAG,SAAS,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAClE,IAAI,CACA,CACR,CAAA;YAED,IAAI,YAAY,KAAK,QAAQ,EAAE;gBAC7B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAA;aAC7B;YAED,IAAI,YAAY,KAAK,QAAQ,EAAE;gBAC7B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAA;aAC7B;YAED,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE;gBAC5B,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAA;aAC3B;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAA;aACzB;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,EAAE,CAAA;QAEJ,OAAO,CACL,oBAAC,OAAO,oBACF,KAAK,IACT,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC1C,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,aAAa,KAAK,KAAK;gBAC7C,CAAC,GAAG,SAAS,UAAU,CAAC,EAAE,aAAa,KAAK,SAAS;gBACrD,CAAC,GAAG,SAAS,SAAS,CAAC,EAAE,aAAa,KAAK,QAAQ;gBACnD,CAAC,GAAG,SAAS,UAAU,CAAC,EAAE,aAAa,KAAK,SAAS;aACtD,CAAC,EACF,KAAK,kCACA,KAAK,GACL,QAAQ;YAGZ,aAAa,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,CAC1C,8BACE,SAAS,EAAE,GAAG,SAAS,aAAa,EACpC,KAAK,EAAE;oBACL,eAAe,EAAE,aAAa;iBAC/B,GACD,CACH;YACA,OAAO,CAAC,CAAC,CAAC,oBAAC,QAAQ,oBAAK,sBAAsB,GAAG,QAAQ,CAAY,CAAC,CAAC,CAAC,QAAQ,CACzE,CACX,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,CAAA;AAE3C,eAAe,KAAK,CAAA","sourcesContent":["import classNames from 'classnames'\nimport React, { ReactNode, useMemo } from 'react'\nimport alpha from 'color-alpha'\n\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport type { TagProps as AntdTagProps } from 'antd/es/tag'\nimport AntdTag from 'antd/es/tag'\nimport type { CSSProperties } from 'react'\nimport Ellipsis from '../ellipsis'\n\nimport './label.less'\n\nexport enum LabelColors {\n cyan = 'cyan',\n green = 'green',\n iris = 'iris',\n blue = 'blue',\n lavender = 'lavender',\n orange = 'orange',\n golden = 'golden',\n red = 'red',\n grey = 'grey',\n}\n\nconst colors = {\n [LabelColors.cyan]: '#1e9493',\n [LabelColors.green]: '#07c790',\n [LabelColors.iris]: '#5e47d3',\n [LabelColors.blue]: '#126bfb',\n [LabelColors.lavender]: '#945fb9',\n [LabelColors.orange]: '#ed7b20',\n [LabelColors.golden]: '#de8a02',\n [LabelColors.red]: '#d96156',\n [LabelColors.grey]: '#5e6e90',\n}\n\nexport interface LabelProps extends AntdTagProps {\n /**\n * 类型\n */\n type?: 'dot' | 'filled' | 'outline' | 'rounded'\n /**\n * 颜色\n */\n color?: LabelColors | string\n /**\n * 文字是否同色\n */\n textColorSame?: boolean\n /**\n * 图标\n */\n icon?: ReactNode\n /**\n * 图标位置\n */\n iconPosition?: 'prefix' | 'suffix'\n /**\n * 省略配置\n */\n ellipsisOptions?: {\n Popover?: boolean\n emptyText?: string\n widthLimit?: number | string\n lines?: number\n [key: string]: unknown\n }\n}\n\n/**\n * 计算标签样式\n *\n * @param type\n * @param preset\n * @param textColorSame\n */\nconst computeTagStyle = (\n type: LabelProps['type'],\n color?: string,\n textColorSame?: boolean\n): CSSProperties | undefined => {\n if (!color) {\n return\n }\n\n switch (type) {\n case 'dot':\n if (textColorSame) {\n return {\n color,\n }\n }\n\n return\n case 'filled':\n return {\n color: '#fff',\n backgroundColor: color,\n }\n case 'rounded':\n return {\n color,\n backgroundColor: alpha(color, 0.1),\n }\n case 'outline':\n return {\n color,\n borderColor: alpha(color, 0.4),\n backgroundColor: alpha(color, 0.1),\n }\n }\n}\n\nexport const Label = ({\n className,\n children,\n type,\n color,\n icon,\n style,\n textColorSame = icon != null,\n iconPosition = 'prefix',\n ellipsisOptions,\n ...props\n}: LabelProps) => {\n const normalizeType = useMemo(() => {\n if (icon) {\n return 'dot'\n }\n\n return type\n }, [icon, type])\n const computedColor = useMemo(() => colors[color as LabelColors] || color, [color])\n const tagStyle = useMemo(\n () => computeTagStyle(normalizeType, computedColor, textColorSame),\n [normalizeType, computedColor, textColorSame]\n )\n const hasIcon = useMemo(() => icon != null, [icon])\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('label')\n const displayEllipsisOptions = (() => {\n const options = {\n ...ellipsisOptions,\n }\n const iconElement = (\n <span className={`${prefixCls}-icon`} style={{ color: computedColor }}>\n {icon}\n </span>\n )\n\n if (iconPosition === 'prefix') {\n options.prefix = iconElement\n }\n\n if (iconPosition === 'suffix') {\n options.suffix = iconElement\n }\n\n if (options.Popover === true) {\n options.content = children\n } else {\n options.title = children\n }\n\n return options\n })()\n\n return (\n <AntdTag\n {...props}\n className={classNames(className, prefixCls, {\n [`${prefixCls}-dot`]: normalizeType === 'dot',\n [`${prefixCls}-outline`]: normalizeType === 'outline',\n [`${prefixCls}-filled`]: normalizeType === 'filled',\n [`${prefixCls}-rounded`]: normalizeType === 'rounded',\n })}\n style={{\n ...style,\n ...tagStyle,\n }}\n >\n {normalizeType === 'dot' && icon == null && (\n <span\n className={`${prefixCls}-dot-symbol`}\n style={{\n backgroundColor: computedColor,\n }}\n />\n )}\n {hasIcon ? <Ellipsis {...displayEllipsisOptions}>{children}</Ellipsis> : children}\n </AntdTag>\n )\n }}\n </ConfigConsumer>\n )\n}\n\nLabel.CheckableLabel = AntdTag.CheckableTag\n\nexport default Label\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { Label } from './label';
|
|
4
|
+
describe('Label component', () => {
|
|
5
|
+
it('renders the component', () => {
|
|
6
|
+
const {
|
|
7
|
+
getByText
|
|
8
|
+
} = render(React.createElement(Label, null));
|
|
9
|
+
const component = getByText('Component');
|
|
10
|
+
expect(component).toBeDefined();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.test.js","sourceRoot":"","sources":["../../src/label/label.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,KAAK,OAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;QAExC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { render } from '@testing-library/react'\n\nimport { Label } from './label'\n\ndescribe('Label component', () => {\n it('renders the component', () => {\n const { getByText } = render(<Label />)\n const component = getByText('Component')\n\n expect(component).toBeDefined()\n })\n})\n"]}
|
|
@@ -9,7 +9,7 @@ export default function useSearchConfig(showSearch) {
|
|
|
9
9
|
}
|
|
10
10
|
let searchConfig = {
|
|
11
11
|
matchInputWidth: true,
|
|
12
|
-
limit:
|
|
12
|
+
limit: false
|
|
13
13
|
};
|
|
14
14
|
if (showSearch && typeof showSearch === 'object') {
|
|
15
15
|
searchConfig = Object.assign(Object.assign({}, searchConfig), showSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAGzC,wCAAwC;AACxC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAGzC,wCAAwC;AACxC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,KAAK;SACb,CAAA;QAED,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,YAAY,mCACP,YAAY,GACZ,UAAU,CACd,CAAA;SACF;QAED,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,EAAE;YAC3B,OAAO,YAAY,CAAC,KAAK,CAAA;YAEzB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACzC,OAAO,CAAC,KAAK,EAAE,2DAA2D,CAAC,CAAA;aAC5E;SACF;QAED,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AAClB,CAAC","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport warning from 'rc-util/lib/warning'\nimport type { CascaderProps, ShowSearchType } from '../Cascader'\n\n// Convert `showSearch` to unique config\nexport default function useSearchConfig(showSearch?: CascaderProps['showSearch']) {\n return React.useMemo<[boolean, ShowSearchType]>(() => {\n if (!showSearch) {\n return [false, {}]\n }\n\n let searchConfig: ShowSearchType = {\n matchInputWidth: true,\n limit: false,\n }\n\n if (showSearch && typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n if (searchConfig.limit <= 0) {\n delete searchConfig.limit\n\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"'limit' of showSearch should be positive number or false.\")\n }\n }\n\n return [true, searchConfig]\n }, [showSearch])\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,6BAA6B,CAAA;AAExD,MAAM,aAAa,GAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAExF,MAAM,aAAa,GAA6B,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAC1F,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEtD,eAAe,CACb,MAAc,EACd,OAA4B,EAC5B,UAA8B,EAC9B,SAAiB,EACjB,MAAsB,EACtB,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { DefaultOptionType, ShowSearchType, InternalFieldNames } from '../Cascader'\nimport * as React from 'react'\n\nexport const SEARCH_MARK = '__rc_cascader_search_mark__'\n\nconst defaultFilter: ShowSearchType['filter'] = (search, options, { label }) =>\n options.some((opt) => String(opt[label]).toLowerCase().includes(search.toLowerCase()))\n\nconst defaultRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) =>\n path.map((opt) => opt[fieldNames.label]).join(' / ')\n\nexport default (\n search: string,\n options: DefaultOptionType[],\n fieldNames: InternalFieldNames,\n prefixCls: string,\n config: ShowSearchType,\n changeOnSelect: boolean\n) => {\n const { filter = defaultFilter, render = defaultRender, limit = false, sort } = config\n\n return React.useMemo(() => {\n const filteredOptions: DefaultOptionType[] = []\n if (!search) {\n return []\n }\n\n function dig(list: DefaultOptionType[], pathOptions: DefaultOptionType[]) {\n list.forEach((option) => {\n // Perf saving when `sort` is disabled and `limit` is provided\n if (!sort && limit > 0 && filteredOptions.length >= limit) {\n return\n }\n\n const connectedPathOptions = [...pathOptions, option]\n const children = option[fieldNames.children]\n\n // If current option is filterable\n if (\n // If is leaf option\n !children ||\n children.length === 0 ||\n // If is changeOnSelect\n changeOnSelect\n ) {\n if (filter(search, connectedPathOptions, { label: fieldNames.label })) {\n filteredOptions.push({\n ...option,\n [fieldNames.label as 'label']: render(\n search,\n connectedPathOptions,\n prefixCls,\n fieldNames\n ),\n [SEARCH_MARK]: connectedPathOptions,\n })\n }\n }\n\n if (children) {\n dig(option[fieldNames.children] as DefaultOptionType[], connectedPathOptions)\n }\n })\n }\n\n dig(options, [])\n\n // Do sort\n if (sort) {\n filteredOptions.sort((a, b) => {\n return sort(a[SEARCH_MARK], b[SEARCH_MARK], search, fieldNames)\n })\n }\n\n return limit > 0 ? filteredOptions.slice(0, limit as number) : filteredOptions\n }, [search, options, fieldNames, prefixCls, render, changeOnSelect, filter, sort, limit])\n}\n"]}
|
package/lib/ellipsis/index.less
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.tnt-ellipsis {
|
|
2
|
-
display:
|
|
3
|
-
|
|
2
|
+
display: flex;
|
|
3
|
+
|
|
4
4
|
.overflow {
|
|
5
5
|
// white-space:nowrap; //溢出不换行
|
|
6
6
|
overflow: hidden; //超出的文本隐藏
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
.fix-align {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
width: 100%;
|
|
16
|
+
}
|
|
17
|
+
|
|
13
18
|
.min-width-0 {
|
|
14
19
|
min-width: 0;
|
|
15
20
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { TagProps as AntdTagProps } from 'antd/lib/tag';
|
|
3
|
+
import './label.less';
|
|
4
|
+
export declare enum LabelColors {
|
|
5
|
+
cyan = "cyan",
|
|
6
|
+
green = "green",
|
|
7
|
+
iris = "iris",
|
|
8
|
+
blue = "blue",
|
|
9
|
+
lavender = "lavender",
|
|
10
|
+
orange = "orange",
|
|
11
|
+
golden = "golden",
|
|
12
|
+
red = "red",
|
|
13
|
+
grey = "grey"
|
|
14
|
+
}
|
|
15
|
+
export interface LabelProps extends AntdTagProps {
|
|
16
|
+
/**
|
|
17
|
+
* 类型
|
|
18
|
+
*/
|
|
19
|
+
type?: 'dot' | 'filled' | 'outline' | 'rounded';
|
|
20
|
+
/**
|
|
21
|
+
* 颜色
|
|
22
|
+
*/
|
|
23
|
+
color?: LabelColors | string;
|
|
24
|
+
/**
|
|
25
|
+
* 文字是否同色
|
|
26
|
+
*/
|
|
27
|
+
textColorSame?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 图标
|
|
30
|
+
*/
|
|
31
|
+
icon?: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* 图标位置
|
|
34
|
+
*/
|
|
35
|
+
iconPosition?: 'prefix' | 'suffix';
|
|
36
|
+
/**
|
|
37
|
+
* 省略配置
|
|
38
|
+
*/
|
|
39
|
+
ellipsisOptions?: {
|
|
40
|
+
Popover?: boolean;
|
|
41
|
+
emptyText?: string;
|
|
42
|
+
widthLimit?: number | string;
|
|
43
|
+
lines?: number;
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export declare const Label: {
|
|
48
|
+
({ className, children, type, color, icon, style, textColorSame, iconPosition, ellipsisOptions, ...props }: LabelProps): JSX.Element;
|
|
49
|
+
CheckableLabel: typeof import("antd/lib/tag/CheckableTag").default;
|
|
50
|
+
};
|
|
51
|
+
export default Label;
|
|
52
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/label/label.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAW,MAAM,OAAO,CAAA;AAIjD,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAK3D,OAAO,cAAc,CAAA;AAErB,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAcD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;CACF;AA8CD,eAAO,MAAM,KAAK;gHAWf,UAAU;;CA0EZ,CAAA;AAID,eAAe,KAAK,CAAA"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.LabelColors = exports.Label = void 0;
|
|
7
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _colorAlpha = _interopRequireDefault(require("color-alpha"));
|
|
10
|
+
var _configProvider = require("antd/lib/config-provider");
|
|
11
|
+
var _tag = _interopRequireDefault(require("antd/lib/tag"));
|
|
12
|
+
var _ellipsis = _interopRequireDefault(require("../ellipsis"));
|
|
13
|
+
require("./label.less");
|
|
14
|
+
var _colors;
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
19
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
20
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
22
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
23
|
+
var t = {};
|
|
24
|
+
for (var p in s) {
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
26
|
+
}
|
|
27
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
28
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
32
|
+
var LabelColors;
|
|
33
|
+
exports.LabelColors = LabelColors;
|
|
34
|
+
(function (LabelColors) {
|
|
35
|
+
LabelColors["cyan"] = "cyan";
|
|
36
|
+
LabelColors["green"] = "green";
|
|
37
|
+
LabelColors["iris"] = "iris";
|
|
38
|
+
LabelColors["blue"] = "blue";
|
|
39
|
+
LabelColors["lavender"] = "lavender";
|
|
40
|
+
LabelColors["orange"] = "orange";
|
|
41
|
+
LabelColors["golden"] = "golden";
|
|
42
|
+
LabelColors["red"] = "red";
|
|
43
|
+
LabelColors["grey"] = "grey";
|
|
44
|
+
})(LabelColors || (exports.LabelColors = LabelColors = {}));
|
|
45
|
+
var colors = (_colors = {}, _defineProperty(_colors, LabelColors.cyan, '#1e9493'), _defineProperty(_colors, LabelColors.green, '#07c790'), _defineProperty(_colors, LabelColors.iris, '#5e47d3'), _defineProperty(_colors, LabelColors.blue, '#126bfb'), _defineProperty(_colors, LabelColors.lavender, '#945fb9'), _defineProperty(_colors, LabelColors.orange, '#ed7b20'), _defineProperty(_colors, LabelColors.golden, '#de8a02'), _defineProperty(_colors, LabelColors.red, '#d96156'), _defineProperty(_colors, LabelColors.grey, '#5e6e90'), _colors);
|
|
46
|
+
/**
|
|
47
|
+
* 计算标签样式
|
|
48
|
+
*
|
|
49
|
+
* @param type
|
|
50
|
+
* @param preset
|
|
51
|
+
* @param textColorSame
|
|
52
|
+
*/
|
|
53
|
+
var computeTagStyle = function computeTagStyle(type, color, textColorSame) {
|
|
54
|
+
if (!color) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
switch (type) {
|
|
58
|
+
case 'dot':
|
|
59
|
+
if (textColorSame) {
|
|
60
|
+
return {
|
|
61
|
+
color: color
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
case 'filled':
|
|
66
|
+
return {
|
|
67
|
+
color: '#fff',
|
|
68
|
+
backgroundColor: color
|
|
69
|
+
};
|
|
70
|
+
case 'rounded':
|
|
71
|
+
return {
|
|
72
|
+
color: color,
|
|
73
|
+
backgroundColor: (0, _colorAlpha["default"])(color, 0.1)
|
|
74
|
+
};
|
|
75
|
+
case 'outline':
|
|
76
|
+
return {
|
|
77
|
+
color: color,
|
|
78
|
+
borderColor: (0, _colorAlpha["default"])(color, 0.4),
|
|
79
|
+
backgroundColor: (0, _colorAlpha["default"])(color, 0.1)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var Label = function Label(_a) {
|
|
84
|
+
var className = _a.className,
|
|
85
|
+
children = _a.children,
|
|
86
|
+
type = _a.type,
|
|
87
|
+
color = _a.color,
|
|
88
|
+
icon = _a.icon,
|
|
89
|
+
style = _a.style,
|
|
90
|
+
_a$textColorSame = _a.textColorSame,
|
|
91
|
+
textColorSame = _a$textColorSame === void 0 ? icon != null : _a$textColorSame,
|
|
92
|
+
_a$iconPosition = _a.iconPosition,
|
|
93
|
+
iconPosition = _a$iconPosition === void 0 ? 'prefix' : _a$iconPosition,
|
|
94
|
+
ellipsisOptions = _a.ellipsisOptions,
|
|
95
|
+
props = __rest(_a, ["className", "children", "type", "color", "icon", "style", "textColorSame", "iconPosition", "ellipsisOptions"]);
|
|
96
|
+
var normalizeType = (0, _react.useMemo)(function () {
|
|
97
|
+
if (icon) {
|
|
98
|
+
return 'dot';
|
|
99
|
+
}
|
|
100
|
+
return type;
|
|
101
|
+
}, [icon, type]);
|
|
102
|
+
var computedColor = (0, _react.useMemo)(function () {
|
|
103
|
+
return colors[color] || color;
|
|
104
|
+
}, [color]);
|
|
105
|
+
var tagStyle = (0, _react.useMemo)(function () {
|
|
106
|
+
return computeTagStyle(normalizeType, computedColor, textColorSame);
|
|
107
|
+
}, [normalizeType, computedColor, textColorSame]);
|
|
108
|
+
var hasIcon = (0, _react.useMemo)(function () {
|
|
109
|
+
return icon != null;
|
|
110
|
+
}, [icon]);
|
|
111
|
+
return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
|
|
112
|
+
var _classNames;
|
|
113
|
+
var getPrefixCls = _ref.getPrefixCls;
|
|
114
|
+
var prefixCls = getPrefixCls('label');
|
|
115
|
+
var displayEllipsisOptions = function () {
|
|
116
|
+
var options = Object.assign({}, ellipsisOptions);
|
|
117
|
+
var iconElement = _react["default"].createElement("span", {
|
|
118
|
+
className: "".concat(prefixCls, "-icon"),
|
|
119
|
+
style: {
|
|
120
|
+
color: computedColor
|
|
121
|
+
}
|
|
122
|
+
}, icon);
|
|
123
|
+
if (iconPosition === 'prefix') {
|
|
124
|
+
options.prefix = iconElement;
|
|
125
|
+
}
|
|
126
|
+
if (iconPosition === 'suffix') {
|
|
127
|
+
options.suffix = iconElement;
|
|
128
|
+
}
|
|
129
|
+
if (options.Popover === true) {
|
|
130
|
+
options.content = children;
|
|
131
|
+
} else {
|
|
132
|
+
options.title = children;
|
|
133
|
+
}
|
|
134
|
+
return options;
|
|
135
|
+
}();
|
|
136
|
+
return _react["default"].createElement(_tag["default"], Object.assign({}, props, {
|
|
137
|
+
className: (0, _classnames["default"])(className, prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-dot"), normalizeType === 'dot'), _defineProperty(_classNames, "".concat(prefixCls, "-outline"), normalizeType === 'outline'), _defineProperty(_classNames, "".concat(prefixCls, "-filled"), normalizeType === 'filled'), _defineProperty(_classNames, "".concat(prefixCls, "-rounded"), normalizeType === 'rounded'), _classNames)),
|
|
138
|
+
style: Object.assign(Object.assign({}, style), tagStyle)
|
|
139
|
+
}), normalizeType === 'dot' && icon == null && _react["default"].createElement("span", {
|
|
140
|
+
className: "".concat(prefixCls, "-dot-symbol"),
|
|
141
|
+
style: {
|
|
142
|
+
backgroundColor: computedColor
|
|
143
|
+
}
|
|
144
|
+
}), hasIcon ? _react["default"].createElement(_ellipsis["default"], Object.assign({}, displayEllipsisOptions), children) : children);
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
exports.Label = Label;
|
|
148
|
+
Label.CheckableLabel = _tag["default"].CheckableTag;
|
|
149
|
+
var _default = Label;
|
|
150
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/label/label.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport React, { ReactNode, useMemo } from 'react'\nimport alpha from 'color-alpha'\n\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport type { TagProps as AntdTagProps } from 'antd/lib/tag'\nimport AntdTag from 'antd/lib/tag'\nimport type { CSSProperties } from 'react'\nimport Ellipsis from '../ellipsis'\n\nimport './label.less'\n\nexport enum LabelColors {\n cyan = 'cyan',\n green = 'green',\n iris = 'iris',\n blue = 'blue',\n lavender = 'lavender',\n orange = 'orange',\n golden = 'golden',\n red = 'red',\n grey = 'grey',\n}\n\nconst colors = {\n [LabelColors.cyan]: '#1e9493',\n [LabelColors.green]: '#07c790',\n [LabelColors.iris]: '#5e47d3',\n [LabelColors.blue]: '#126bfb',\n [LabelColors.lavender]: '#945fb9',\n [LabelColors.orange]: '#ed7b20',\n [LabelColors.golden]: '#de8a02',\n [LabelColors.red]: '#d96156',\n [LabelColors.grey]: '#5e6e90',\n}\n\nexport interface LabelProps extends AntdTagProps {\n /**\n * 类型\n */\n type?: 'dot' | 'filled' | 'outline' | 'rounded'\n /**\n * 颜色\n */\n color?: LabelColors | string\n /**\n * 文字是否同色\n */\n textColorSame?: boolean\n /**\n * 图标\n */\n icon?: ReactNode\n /**\n * 图标位置\n */\n iconPosition?: 'prefix' | 'suffix'\n /**\n * 省略配置\n */\n ellipsisOptions?: {\n Popover?: boolean\n emptyText?: string\n widthLimit?: number | string\n lines?: number\n [key: string]: unknown\n }\n}\n\n/**\n * 计算标签样式\n *\n * @param type\n * @param preset\n * @param textColorSame\n */\nconst computeTagStyle = (\n type: LabelProps['type'],\n color?: string,\n textColorSame?: boolean\n): CSSProperties | undefined => {\n if (!color) {\n return\n }\n\n switch (type) {\n case 'dot':\n if (textColorSame) {\n return {\n color,\n }\n }\n\n return\n case 'filled':\n return {\n color: '#fff',\n backgroundColor: color,\n }\n case 'rounded':\n return {\n color,\n backgroundColor: alpha(color, 0.1),\n }\n case 'outline':\n return {\n color,\n borderColor: alpha(color, 0.4),\n backgroundColor: alpha(color, 0.1),\n }\n }\n}\n\nexport const Label = ({\n className,\n children,\n type,\n color,\n icon,\n style,\n textColorSame = icon != null,\n iconPosition = 'prefix',\n ellipsisOptions,\n ...props\n}: LabelProps) => {\n const normalizeType = useMemo(() => {\n if (icon) {\n return 'dot'\n }\n\n return type\n }, [icon, type])\n const computedColor = useMemo(() => colors[color as LabelColors] || color, [color])\n const tagStyle = useMemo(\n () => computeTagStyle(normalizeType, computedColor, textColorSame),\n [normalizeType, computedColor, textColorSame]\n )\n const hasIcon = useMemo(() => icon != null, [icon])\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('label')\n const displayEllipsisOptions = (() => {\n const options = {\n ...ellipsisOptions,\n }\n const iconElement = (\n <span className={`${prefixCls}-icon`} style={{ color: computedColor }}>\n {icon}\n </span>\n )\n\n if (iconPosition === 'prefix') {\n options.prefix = iconElement\n }\n\n if (iconPosition === 'suffix') {\n options.suffix = iconElement\n }\n\n if (options.Popover === true) {\n options.content = children\n } else {\n options.title = children\n }\n\n return options\n })()\n\n return (\n <AntdTag\n {...props}\n className={classNames(className, prefixCls, {\n [`${prefixCls}-dot`]: normalizeType === 'dot',\n [`${prefixCls}-outline`]: normalizeType === 'outline',\n [`${prefixCls}-filled`]: normalizeType === 'filled',\n [`${prefixCls}-rounded`]: normalizeType === 'rounded',\n })}\n style={{\n ...style,\n ...tagStyle,\n }}\n >\n {normalizeType === 'dot' && icon == null && (\n <span\n className={`${prefixCls}-dot-symbol`}\n style={{\n backgroundColor: computedColor,\n }}\n />\n )}\n {hasIcon ? <Ellipsis {...displayEllipsisOptions}>{children}</Ellipsis> : children}\n </AntdTag>\n )\n }}\n </ConfigConsumer>\n )\n}\n\nLabel.CheckableLabel = AntdTag.CheckableTag\n\nexport default Label\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.test.d.ts","sourceRoot":"","sources":["../../src/label/label.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
|
+
var _label = require("./label");
|
|
6
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
7
|
+
describe('Label component', function () {
|
|
8
|
+
it('renders the component', function () {
|
|
9
|
+
var _render = (0, _react2.render)(_react["default"].createElement(_label.Label, null)),
|
|
10
|
+
getByText = _render.getByText;
|
|
11
|
+
var component = getByText('Component');
|
|
12
|
+
expect(component).toBeDefined();
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.test.js","sourceRoot":"","sources":["../../src/label/label.test.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,kDAA+C;AAE/C,mCAA+B;AAE/B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,aAAK,OAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;QAExC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { render } from '@testing-library/react'\n\nimport { Label } from './label'\n\ndescribe('Label component', () => {\n it('renders the component', () => {\n const { getByText } = render(<Label />)\n const component = getByText('Component')\n\n expect(component).toBeDefined()\n })\n})\n"]}
|
package/lib/mention/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mention/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mention/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8DAAqC;AAErC,iCAA8B;AAE9B,kDAA+B;AAE/B,kBAAe,iBAAO,CAAA","sourcesContent":["import Mention from 'antd/lib/mention'\n\nimport 'antd/lib/mention/style'\n\nexport * from 'antd/lib/mention'\n\nexport default Mention\n"]}
|
|
@@ -18,7 +18,7 @@ function useSearchConfig(showSearch) {
|
|
|
18
18
|
}
|
|
19
19
|
var searchConfig = {
|
|
20
20
|
matchInputWidth: true,
|
|
21
|
-
limit:
|
|
21
|
+
limit: false
|
|
22
22
|
};
|
|
23
23
|
if (showSearch && _typeof(showSearch) === 'object') {
|
|
24
24
|
searchConfig = Object.assign(Object.assign({}, searchConfig), showSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,6CAA8B;AAC9B,kEAAyC;AAGzC,wCAAwC;AACxC,SAAwB,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,6CAA8B;AAC9B,kEAAyC;AAGzC,wCAAwC;AACxC,SAAwB,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,KAAK;SACb,CAAA;QAED,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,YAAY,mCACP,YAAY,GACZ,UAAU,CACd,CAAA;SACF;QAED,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,EAAE;YAC3B,OAAO,YAAY,CAAC,KAAK,CAAA;YAEzB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACzC,IAAA,iBAAO,EAAC,KAAK,EAAE,2DAA2D,CAAC,CAAA;aAC5E;SACF;QAED,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AAClB,CAAC;AA5BD,kCA4BC","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport warning from 'rc-util/lib/warning'\nimport type { CascaderProps, ShowSearchType } from '../Cascader'\n\n// Convert `showSearch` to unique config\nexport default function useSearchConfig(showSearch?: CascaderProps['showSearch']) {\n return React.useMemo<[boolean, ShowSearchType]>(() => {\n if (!showSearch) {\n return [false, {}]\n }\n\n let searchConfig: ShowSearchType = {\n matchInputWidth: true,\n limit: false,\n }\n\n if (showSearch && typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n if (searchConfig.limit <= 0) {\n delete searchConfig.limit\n\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"'limit' of showSearch should be positive number or false.\")\n }\n }\n\n return [true, searchConfig]\n }, [showSearch])\n}\n"]}
|
|
@@ -36,7 +36,7 @@ var _default = function _default(search, options, fieldNames, prefixCls, config,
|
|
|
36
36
|
_config$render = config.render,
|
|
37
37
|
render = _config$render === void 0 ? defaultRender : _config$render,
|
|
38
38
|
_config$limit = config.limit,
|
|
39
|
-
limit = _config$limit === void 0 ?
|
|
39
|
+
limit = _config$limit === void 0 ? false : _config$limit,
|
|
40
40
|
sort = config.sort;
|
|
41
41
|
return React.useMemo(function () {
|
|
42
42
|
var filteredOptions = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,6CAA8B;AAEjB,QAAA,WAAW,GAAG,6BAA6B,CAAA;AAExD,MAAM,aAAa,GAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAExF,MAAM,aAAa,GAA6B,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAC1F,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEtD,kBAAe,CACb,MAAc,EACd,OAA4B,EAC5B,UAA8B,EAC9B,SAAiB,EACjB,MAAsB,EACtB,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { DefaultOptionType, ShowSearchType, InternalFieldNames } from '../Cascader'\nimport * as React from 'react'\n\nexport const SEARCH_MARK = '__rc_cascader_search_mark__'\n\nconst defaultFilter: ShowSearchType['filter'] = (search, options, { label }) =>\n options.some((opt) => String(opt[label]).toLowerCase().includes(search.toLowerCase()))\n\nconst defaultRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) =>\n path.map((opt) => opt[fieldNames.label]).join(' / ')\n\nexport default (\n search: string,\n options: DefaultOptionType[],\n fieldNames: InternalFieldNames,\n prefixCls: string,\n config: ShowSearchType,\n changeOnSelect: boolean\n) => {\n const { filter = defaultFilter, render = defaultRender, limit = false, sort } = config\n\n return React.useMemo(() => {\n const filteredOptions: DefaultOptionType[] = []\n if (!search) {\n return []\n }\n\n function dig(list: DefaultOptionType[], pathOptions: DefaultOptionType[]) {\n list.forEach((option) => {\n // Perf saving when `sort` is disabled and `limit` is provided\n if (!sort && limit > 0 && filteredOptions.length >= limit) {\n return\n }\n\n const connectedPathOptions = [...pathOptions, option]\n const children = option[fieldNames.children]\n\n // If current option is filterable\n if (\n // If is leaf option\n !children ||\n children.length === 0 ||\n // If is changeOnSelect\n changeOnSelect\n ) {\n if (filter(search, connectedPathOptions, { label: fieldNames.label })) {\n filteredOptions.push({\n ...option,\n [fieldNames.label as 'label']: render(\n search,\n connectedPathOptions,\n prefixCls,\n fieldNames\n ),\n [SEARCH_MARK]: connectedPathOptions,\n })\n }\n }\n\n if (children) {\n dig(option[fieldNames.children] as DefaultOptionType[], connectedPathOptions)\n }\n })\n }\n\n dig(options, [])\n\n // Do sort\n if (sort) {\n filteredOptions.sort((a, b) => {\n return sort(a[SEARCH_MARK], b[SEARCH_MARK], search, fieldNames)\n })\n }\n\n return limit > 0 ? filteredOptions.slice(0, limit as number) : filteredOptions\n }, [search, options, fieldNames, prefixCls, render, changeOnSelect, filter, sort, limit])\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _ItemComp = _interopRequireDefault(require("./ItemComp"));
|
|
10
|
-
var _store = require("../store");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
-
/*
|
|
15
|
-
* @Descripttion: CustomForm.Item
|
|
16
|
-
* @Author: 郑泳健
|
|
17
|
-
* @Date: 2023-02-22 23:25:24
|
|
18
|
-
* @LastEditors: 郑泳健
|
|
19
|
-
* @LastEditTime: 2023-03-17 16:50:32
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
var Item = function Item(_ref) {
|
|
23
|
-
var name = _ref.name,
|
|
24
|
-
children = _ref.children,
|
|
25
|
-
style = _ref.style,
|
|
26
|
-
rules = _ref.rules,
|
|
27
|
-
shouldUpdate = _ref.shouldUpdate,
|
|
28
|
-
initialValue = _ref.initialValue,
|
|
29
|
-
dependencies = _ref.dependencies;
|
|
30
|
-
var _useContext = (0, _react.useContext)(_store.FormContext),
|
|
31
|
-
form = _useContext.form,
|
|
32
|
-
initialValues = _useContext.initialValues,
|
|
33
|
-
currentChangeKeys = _useContext.currentChangeKeys,
|
|
34
|
-
setCurrentChangeKeys = _useContext.setCurrentChangeKeys;
|
|
35
|
-
return _react["default"].createElement(_ItemComp["default"], Object.assign({}, {
|
|
36
|
-
style: style,
|
|
37
|
-
rules: rules,
|
|
38
|
-
name: name,
|
|
39
|
-
children: children,
|
|
40
|
-
form: form,
|
|
41
|
-
currentChangeKeys: currentChangeKeys,
|
|
42
|
-
setCurrentChangeKeys: setCurrentChangeKeys,
|
|
43
|
-
initialValues: initialValues,
|
|
44
|
-
initialValue: initialValue,
|
|
45
|
-
shouldUpdate: shouldUpdate,
|
|
46
|
-
dependencies: dependencies
|
|
47
|
-
}));
|
|
48
|
-
};
|
|
49
|
-
var _default = (0, _react.memo)(Item);
|
|
50
|
-
exports["default"] = _default;
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _utils = require("../utils");
|
|
10
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
14
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
-
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
|
18
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
19
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
22
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
24
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
|
-
var ItemComp = function ItemComp(_ref) {
|
|
26
|
-
var form = _ref.form,
|
|
27
|
-
name = _ref.name,
|
|
28
|
-
children = _ref.children,
|
|
29
|
-
style = _ref.style,
|
|
30
|
-
initialValues = _ref.initialValues,
|
|
31
|
-
initialValue = _ref.initialValue,
|
|
32
|
-
rules = _ref.rules,
|
|
33
|
-
setCurrentChangeKeys = _ref.setCurrentChangeKeys;
|
|
34
|
-
var _useState = (0, _react.useState)(undefined),
|
|
35
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
-
value = _useState2[0],
|
|
37
|
-
setValue = _useState2[1];
|
|
38
|
-
var _useState3 = (0, _react.useState)(undefined),
|
|
39
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
40
|
-
errorMsg = _useState4[0],
|
|
41
|
-
setErrorMsg = _useState4[1];
|
|
42
|
-
/**
|
|
43
|
-
* 动态修改form内部的值,为啥不在useEffect里面处理的原因是子组件的useEffect会比父组件useEffect先执行,需要保证在子组件useEffect监听value变化的时候获取到的formData永远是最新的
|
|
44
|
-
* @param name
|
|
45
|
-
* @param value
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
var generateFormData = function generateFormData(name, value) {
|
|
49
|
-
if (!name || !form) return;
|
|
50
|
-
var _name = _toArray(name),
|
|
51
|
-
str = _name[0],
|
|
52
|
-
rest = _name.slice(1);
|
|
53
|
-
rest.forEach(function (i) {
|
|
54
|
-
if (form.formData[str]) {
|
|
55
|
-
form.formData[str][i].value = value;
|
|
56
|
-
form.formData[str][i].checkItem = function () {
|
|
57
|
-
var error = (0, _utils.handleCheckItem)(value, rules);
|
|
58
|
-
setErrorMsg(error);
|
|
59
|
-
return error;
|
|
60
|
-
};
|
|
61
|
-
} else {
|
|
62
|
-
form.formData[str] = _defineProperty({}, i, {
|
|
63
|
-
value: value,
|
|
64
|
-
checkItem: function checkItem() {
|
|
65
|
-
var error = (0, _utils.handleCheckItem)(value, rules);
|
|
66
|
-
setErrorMsg(error);
|
|
67
|
-
return error;
|
|
68
|
-
},
|
|
69
|
-
setItemValue: function setItemValue() {},
|
|
70
|
-
errorMsg: undefined
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
// 为了给最外层提供方法去校验,比如保存的时候.
|
|
76
|
-
// 这里依赖不要添加value,因为子组件的useEffect会比父组件useEffect先执行,如果添加了依赖value会导致子组件获取到的formData永远是上一次的
|
|
77
|
-
(0, _react.useEffect)(function () {
|
|
78
|
-
if (!name || !form) return;
|
|
79
|
-
var _name2 = _toArray(name),
|
|
80
|
-
str = _name2[0],
|
|
81
|
-
rest = _name2.slice(1);
|
|
82
|
-
var addItem = {
|
|
83
|
-
setItemValue: function setItemValue(_val, callback) {
|
|
84
|
-
var error = (0, _utils.handleCheckItem)(_val, rules);
|
|
85
|
-
setValue(_val);
|
|
86
|
-
setErrorMsg(error);
|
|
87
|
-
callback === null || callback === void 0 ? void 0 : callback();
|
|
88
|
-
},
|
|
89
|
-
checkItem: function checkItem() {
|
|
90
|
-
var error = (0, _utils.handleCheckItem)(value, rules);
|
|
91
|
-
setErrorMsg(error);
|
|
92
|
-
return error;
|
|
93
|
-
},
|
|
94
|
-
value: value,
|
|
95
|
-
errorMsg: errorMsg
|
|
96
|
-
};
|
|
97
|
-
rest.forEach(function (i) {
|
|
98
|
-
if (form.formData[str]) {
|
|
99
|
-
form.formData[str][i] = addItem;
|
|
100
|
-
} else {
|
|
101
|
-
form.formData[str] = _defineProperty({}, i, addItem);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}, [rules, name, errorMsg, form]);
|
|
105
|
-
/** 这段代码不能删除,当增加/删除列的时候有些默认值需要更新 */
|
|
106
|
-
(0, _react.useEffect)(function () {
|
|
107
|
-
if (initialValue) {
|
|
108
|
-
setValue(initialValue);
|
|
109
|
-
generateFormData(name, initialValue);
|
|
110
|
-
}
|
|
111
|
-
}, [initialValue]);
|
|
112
|
-
// 初始化设置默认值,
|
|
113
|
-
(0, _react.useEffect)(function () {
|
|
114
|
-
var _a;
|
|
115
|
-
var initValue = (0, _utils.getInitValue)(initialValues, name);
|
|
116
|
-
// @ts-ignore
|
|
117
|
-
var _value = ['', null, undefined].includes(initValue) ? initialValue : initValue;
|
|
118
|
-
setValue(_value);
|
|
119
|
-
generateFormData(name, _value);
|
|
120
|
-
if (name) {
|
|
121
|
-
setCurrentChangeKeys([(_a = (0, _utils.getNames)(name)) === null || _a === void 0 ? void 0 : _a.join('.')]);
|
|
122
|
-
}
|
|
123
|
-
}, []);
|
|
124
|
-
// 默认方法
|
|
125
|
-
var handleChange = function handleChange(e) {
|
|
126
|
-
var _a, _b;
|
|
127
|
-
var val;
|
|
128
|
-
if (_typeof(e) === 'object') {
|
|
129
|
-
val = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.value;
|
|
130
|
-
} else {
|
|
131
|
-
val = e;
|
|
132
|
-
}
|
|
133
|
-
setValue(val);
|
|
134
|
-
generateFormData(name, val);
|
|
135
|
-
var error = (0, _utils.handleCheckItem)(val, rules);
|
|
136
|
-
setErrorMsg(error);
|
|
137
|
-
if (name) {
|
|
138
|
-
setCurrentChangeKeys([(_b = (0, _utils.getNames)(name)) === null || _b === void 0 ? void 0 : _b.join('.')]);
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
return _react["default"].createElement("div", {
|
|
142
|
-
className: errorMsg ? 'has-error custom-form-item-wrapper' : 'custom-form-item-wrapper',
|
|
143
|
-
style: style
|
|
144
|
-
}, _react["default"].Children.map(children, function (child) {
|
|
145
|
-
var _a;
|
|
146
|
-
if (_react["default"].isValidElement(child)) {
|
|
147
|
-
return _react["default"].cloneElement(child, Object.assign({
|
|
148
|
-
value: value,
|
|
149
|
-
form: form,
|
|
150
|
-
onChange: handleChange,
|
|
151
|
-
'data-key': (_a = (0, _utils.getNames)(name)) === null || _a === void 0 ? void 0 : _a.join('.')
|
|
152
|
-
}, child.props));
|
|
153
|
-
}
|
|
154
|
-
return null;
|
|
155
|
-
}), errorMsg && _react["default"].createElement("div", {
|
|
156
|
-
className: "ant-form-explain ant-form-item-explain-error"
|
|
157
|
-
}, errorMsg));
|
|
158
|
-
};
|
|
159
|
-
function arePropsEqual(prevProps, nextProps) {
|
|
160
|
-
if (Array.isArray(nextProps.currentChangeKeys) && nextProps.currentChangeKeys.length && (0, _isEqual2["default"])(prevProps.initialValues, nextProps.initialValues) && !nextProps.currentChangeKeys.includes((0, _utils.getNames)(nextProps.name).join('.')) && !nextProps.shouldUpdate && Array.isArray(nextProps.dependencies) && nextProps.dependencies.every(function (i) {
|
|
161
|
-
var _a;
|
|
162
|
-
return !((_a = nextProps.currentChangeKeys) === null || _a === void 0 ? void 0 : _a.includes((0, _utils.getNames)(i).join('.')));
|
|
163
|
-
})) {
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
var _default = (0, _react.memo)(ItemComp, arePropsEqual);
|
|
169
|
-
exports["default"] = _default;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
9
|
-
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _utils = require("../utils");
|
|
12
|
-
var _store = require("../store");
|
|
13
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
17
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
20
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
21
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
22
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
|
-
var List = function List(_ref) {
|
|
24
|
-
var name = _ref.name,
|
|
25
|
-
children = _ref.children;
|
|
26
|
-
var maxRef = (0, _react.useRef)(-1);
|
|
27
|
-
var _useContext = (0, _react.useContext)(_store.FormContext),
|
|
28
|
-
form = _useContext.form,
|
|
29
|
-
initialValues = _useContext.initialValues;
|
|
30
|
-
var _useState = (0, _react.useState)([]),
|
|
31
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
-
dataLevel = _useState2[0],
|
|
33
|
-
setDataLevel = _useState2[1];
|
|
34
|
-
(0, _react.useEffect)(function () {
|
|
35
|
-
var key = Array.isArray(name) ? name === null || name === void 0 ? void 0 : name[0] : name;
|
|
36
|
-
if (form && form.dataLevel) {
|
|
37
|
-
form.dataLevel[key] = dataLevel;
|
|
38
|
-
}
|
|
39
|
-
}, [form, dataLevel, name]);
|
|
40
|
-
/** 根据默认数值自动生成dataLevel */
|
|
41
|
-
(0, _react.useEffect)(function () {
|
|
42
|
-
var dataSource = initialValues;
|
|
43
|
-
var attrs = (0, _utils.getNames)(name);
|
|
44
|
-
var _iterator = _createForOfIteratorHelper(attrs),
|
|
45
|
-
_step;
|
|
46
|
-
try {
|
|
47
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
48
|
-
var key = _step.value;
|
|
49
|
-
dataSource = (dataSource === null || dataSource === void 0 ? void 0 : dataSource[key]) || [{}];
|
|
50
|
-
}
|
|
51
|
-
} catch (err) {
|
|
52
|
-
_iterator.e(err);
|
|
53
|
-
} finally {
|
|
54
|
-
_iterator.f();
|
|
55
|
-
}
|
|
56
|
-
if (Array.isArray(dataSource)) {
|
|
57
|
-
var _level = dataSource.map(function (i, index) {
|
|
58
|
-
return {
|
|
59
|
-
key: index,
|
|
60
|
-
name: "".concat(attrs.join('.'), ".").concat(index)
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
setDataLevel(_level);
|
|
64
|
-
maxRef.current = dataSource.length - 1;
|
|
65
|
-
}
|
|
66
|
-
}, [initialValues, name]);
|
|
67
|
-
/** 新增一列 */
|
|
68
|
-
var handleAdd = function handleAdd(index) {
|
|
69
|
-
var tempDataLevel = (0, _cloneDeep2["default"])(dataLevel);
|
|
70
|
-
maxRef.current++;
|
|
71
|
-
var attrs = (0, _utils.getNames)(name);
|
|
72
|
-
tempDataLevel.splice(index + 1, 0, {
|
|
73
|
-
key: maxRef.current,
|
|
74
|
-
name: "".concat(attrs === null || attrs === void 0 ? void 0 : attrs.join('.'), ".").concat(maxRef.current)
|
|
75
|
-
});
|
|
76
|
-
setDataLevel(tempDataLevel);
|
|
77
|
-
};
|
|
78
|
-
/** 删除一列 */
|
|
79
|
-
var handleDel = function handleDel(index) {
|
|
80
|
-
var temp = (0, _cloneDeep2["default"])(dataLevel);
|
|
81
|
-
temp.splice(index, 1);
|
|
82
|
-
setDataLevel(temp);
|
|
83
|
-
};
|
|
84
|
-
return _react["default"].createElement(_react["default"].Fragment, null, children === null || children === void 0 ? void 0 : children(dataLevel, {
|
|
85
|
-
add: handleAdd,
|
|
86
|
-
remove: handleDel
|
|
87
|
-
}));
|
|
88
|
-
};
|
|
89
|
-
// name 没有改变就不需要重复render
|
|
90
|
-
var _default = (0, _react.memo)(List, function (nextProps, prevProps) {
|
|
91
|
-
if ((0, _isEqual2["default"])(nextProps.name, prevProps.name) && !!prevProps.name) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
return false;
|
|
95
|
-
});
|
|
96
|
-
exports["default"] = _default;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _utils = require("./utils");
|
|
10
|
-
var _store = require("./store");
|
|
11
|
-
var _List = _interopRequireDefault(require("./components/List"));
|
|
12
|
-
var _Item = _interopRequireDefault(require("./components/Item"));
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
20
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
21
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
-
var CustomForm = function CustomForm(_ref) {
|
|
23
|
-
var form = _ref.form,
|
|
24
|
-
initialValues = _ref.initialValues,
|
|
25
|
-
children = _ref.children;
|
|
26
|
-
// 这个是为了获取当前是哪一个单元格在输入
|
|
27
|
-
var _useState = (0, _react.useState)([]),
|
|
28
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
-
currentChangeKeys = _useState2[0],
|
|
30
|
-
setCurrentChangeKeys = _useState2[1];
|
|
31
|
-
return _react["default"].createElement(_store.FormContext.Provider, {
|
|
32
|
-
value: {
|
|
33
|
-
form: form,
|
|
34
|
-
initialValues: initialValues,
|
|
35
|
-
currentChangeKeys: currentChangeKeys,
|
|
36
|
-
setCurrentChangeKeys: setCurrentChangeKeys
|
|
37
|
-
}
|
|
38
|
-
}, children);
|
|
39
|
-
};
|
|
40
|
-
CustomForm.useForm = function () {
|
|
41
|
-
var form = (0, _react.useRef)({
|
|
42
|
-
dataLevel: [],
|
|
43
|
-
formData: {},
|
|
44
|
-
validateFields: function validateFields() {
|
|
45
|
-
return (0, _utils.validateFields)(form.current);
|
|
46
|
-
},
|
|
47
|
-
getFieldsValue: function getFieldsValue() {
|
|
48
|
-
return (0, _utils.getFieldsValue)(form.current);
|
|
49
|
-
},
|
|
50
|
-
getFieldValue: function getFieldValue(field) {
|
|
51
|
-
return (0, _utils.getFieldValue)(form.current, field);
|
|
52
|
-
},
|
|
53
|
-
setFieldsValue: function setFieldsValue(obj) {
|
|
54
|
-
for (var i in obj) {
|
|
55
|
-
for (var attr in obj[i]) {
|
|
56
|
-
form.current.formData[i][attr].setItemValue(obj[i][attr]);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
return [form.current];
|
|
62
|
-
};
|
|
63
|
-
CustomForm.List = _List["default"];
|
|
64
|
-
CustomForm.Item = _Item["default"];
|
|
65
|
-
var _default = CustomForm;
|
|
66
|
-
exports["default"] = _default;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.FormContext = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
9
|
-
var FormContext = _react["default"].createContext({});
|
|
10
|
-
exports.FormContext = FormContext;
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.validateFields = exports.recursionSort = exports.recursionCheck = exports.isValidKey = exports.handleCheckItem = exports.getNames = exports.getInitValue = exports.getFieldsValue = exports.getFieldValue = void 0;
|
|
7
|
-
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
|
8
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
11
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
12
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
/**
|
|
14
|
-
* 将xx.xx.xx 转换为数组
|
|
15
|
-
* @param {*} name
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
var getNames = function getNames(name) {
|
|
19
|
-
var attrs = [];
|
|
20
|
-
if (Array.isArray(name)) {
|
|
21
|
-
var _name = _toArray(name),
|
|
22
|
-
str = _name[0],
|
|
23
|
-
rest = _name.slice(1);
|
|
24
|
-
attrs = str.split('.').concat(rest);
|
|
25
|
-
} else {
|
|
26
|
-
attrs = typeof name === 'string' ? name.split('.') : [];
|
|
27
|
-
}
|
|
28
|
-
return attrs;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* 对数据进行校验
|
|
32
|
-
* @param {*} list
|
|
33
|
-
* @param {*} dataLevel
|
|
34
|
-
* @param {*} formData
|
|
35
|
-
* @returns
|
|
36
|
-
*/
|
|
37
|
-
exports.getNames = getNames;
|
|
38
|
-
var recursionCheck = function recursionCheck(list, dataLevel, formData) {
|
|
39
|
-
var errorList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
40
|
-
try {
|
|
41
|
-
if (Array.isArray(list)) {
|
|
42
|
-
list.forEach(function (item) {
|
|
43
|
-
var key = item.name;
|
|
44
|
-
var attrs = Object.keys(formData[key]);
|
|
45
|
-
attrs.forEach(function (attr) {
|
|
46
|
-
var _a;
|
|
47
|
-
var error = (_a = formData[item.name][attr]) === null || _a === void 0 ? void 0 : _a.checkItem();
|
|
48
|
-
if (error) {
|
|
49
|
-
errorList.push("".concat([item.name + '.' + attr], ":"), error);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
if (dataLevel[key]) {
|
|
53
|
-
recursionCheck(dataLevel[key], dataLevel, formData, errorList);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return errorList;
|
|
58
|
-
} catch (e) {
|
|
59
|
-
if (typeof e === 'string') {
|
|
60
|
-
throw e.toUpperCase();
|
|
61
|
-
} else if (e instanceof Error) {
|
|
62
|
-
throw e.message;
|
|
63
|
-
}
|
|
64
|
-
throw e;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* 将数据进行排序
|
|
69
|
-
* @param {*} list
|
|
70
|
-
* @param {*} dataLevel
|
|
71
|
-
* @param {*} formData
|
|
72
|
-
* @param {*} errorList
|
|
73
|
-
* @returns
|
|
74
|
-
*/
|
|
75
|
-
exports.recursionCheck = recursionCheck;
|
|
76
|
-
var recursionSort = function recursionSort(list, dataLevel, formData) {
|
|
77
|
-
try {
|
|
78
|
-
if (Array.isArray(list)) {
|
|
79
|
-
var values = list.reduce(function (total, item, index) {
|
|
80
|
-
var attrObj = {};
|
|
81
|
-
var key = item.name;
|
|
82
|
-
var prefixs = key.split('.');
|
|
83
|
-
var attrs = Object.keys(formData[key]);
|
|
84
|
-
attrs.forEach(function (attr) {
|
|
85
|
-
var _a;
|
|
86
|
-
attrObj[attr] = (_a = formData[key][attr]) === null || _a === void 0 ? void 0 : _a.value;
|
|
87
|
-
});
|
|
88
|
-
var children = [];
|
|
89
|
-
if (dataLevel[key]) {
|
|
90
|
-
children = recursionSort(dataLevel[key], dataLevel, formData);
|
|
91
|
-
}
|
|
92
|
-
var len = prefixs.length - 2;
|
|
93
|
-
if (total[prefixs[len]]) {
|
|
94
|
-
total[prefixs[len]][index] = Object.assign(Object.assign({}, attrObj), children || []);
|
|
95
|
-
} else {
|
|
96
|
-
total[prefixs[len]] = [Object.assign(Object.assign({}, attrObj), children || [])];
|
|
97
|
-
}
|
|
98
|
-
return total;
|
|
99
|
-
}, {});
|
|
100
|
-
return values;
|
|
101
|
-
}
|
|
102
|
-
} catch (e) {
|
|
103
|
-
if (typeof e === 'string') {
|
|
104
|
-
console.error(e.toUpperCase());
|
|
105
|
-
throw e.toUpperCase();
|
|
106
|
-
} else if (e instanceof Error) {
|
|
107
|
-
console.error(e.message);
|
|
108
|
-
throw e.message;
|
|
109
|
-
}
|
|
110
|
-
throw e;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* 获取form表单的value
|
|
115
|
-
* @param {*} formCurrent
|
|
116
|
-
* @returns
|
|
117
|
-
*/
|
|
118
|
-
exports.recursionSort = recursionSort;
|
|
119
|
-
var getFieldsValue = function getFieldsValue(formCurrent) {
|
|
120
|
-
try {
|
|
121
|
-
var formData = formCurrent.formData,
|
|
122
|
-
dataLevel = formCurrent.dataLevel;
|
|
123
|
-
var firstKey = '';
|
|
124
|
-
// 这里不直接用Object.keys的原因是Object.keys并不能保证一定是按照属性顺序
|
|
125
|
-
for (var i in dataLevel) {
|
|
126
|
-
firstKey = i;
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
var recursionStart = dataLevel[firstKey];
|
|
130
|
-
var values = recursionSort(recursionStart, dataLevel, formData);
|
|
131
|
-
return values;
|
|
132
|
-
} catch (e) {
|
|
133
|
-
if (typeof e === 'string') {
|
|
134
|
-
console.error(e.toUpperCase());
|
|
135
|
-
return e.toUpperCase();
|
|
136
|
-
} else if (e instanceof Error) {
|
|
137
|
-
console.error(e.message);
|
|
138
|
-
return e.message;
|
|
139
|
-
}
|
|
140
|
-
return e;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
/**
|
|
144
|
-
* 获取form表单的value
|
|
145
|
-
* @param {*} formCurrent
|
|
146
|
-
* @returns
|
|
147
|
-
*/
|
|
148
|
-
exports.getFieldsValue = getFieldsValue;
|
|
149
|
-
var getFieldValue = function getFieldValue(formCurrent, field) {
|
|
150
|
-
var _a, _b;
|
|
151
|
-
try {
|
|
152
|
-
var formData = formCurrent.formData;
|
|
153
|
-
return formData && ((_b = (_a = formData === null || formData === void 0 ? void 0 : formData[field[0]]) === null || _a === void 0 ? void 0 : _a[field[1]]) === null || _b === void 0 ? void 0 : _b.value);
|
|
154
|
-
} catch (e) {
|
|
155
|
-
if (typeof e === 'string') {
|
|
156
|
-
return e.toUpperCase();
|
|
157
|
-
} else if (e instanceof Error) {
|
|
158
|
-
return e.message;
|
|
159
|
-
}
|
|
160
|
-
return e;
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
/**
|
|
164
|
-
* 提交时候校验的方法
|
|
165
|
-
* @param {*} formCurrent
|
|
166
|
-
* @returns
|
|
167
|
-
*/
|
|
168
|
-
exports.getFieldValue = getFieldValue;
|
|
169
|
-
var validateFields = function validateFields(formCurrent) {
|
|
170
|
-
return new Promise(function (resolve) {
|
|
171
|
-
var formData = formCurrent.formData,
|
|
172
|
-
dataLevel = formCurrent.dataLevel;
|
|
173
|
-
var firstKey = '';
|
|
174
|
-
// 这里不直接用Object.keys的原因是Object.keys并不能保证一定是按照属性顺序
|
|
175
|
-
for (var i in dataLevel) {
|
|
176
|
-
firstKey = i;
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
var recursionStart = dataLevel[firstKey];
|
|
180
|
-
var errorList = recursionCheck(recursionStart, dataLevel, formData);
|
|
181
|
-
if (Array.isArray(errorList) && errorList.length) {
|
|
182
|
-
console.error(JSON.stringify(errorList));
|
|
183
|
-
} else {
|
|
184
|
-
resolve(recursionSort(recursionStart, dataLevel, formData));
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
/** 获取初始化的值 */
|
|
189
|
-
exports.validateFields = validateFields;
|
|
190
|
-
var getInitValue = function getInitValue(initialValues, names) {
|
|
191
|
-
var keys;
|
|
192
|
-
if (Array.isArray(names)) {
|
|
193
|
-
var _names = _toArray(names),
|
|
194
|
-
str = _names[0],
|
|
195
|
-
rest = _names.slice(1);
|
|
196
|
-
keys = str.split('.').concat(rest);
|
|
197
|
-
}
|
|
198
|
-
if (Array.isArray(keys)) {
|
|
199
|
-
keys.forEach(function (i) {
|
|
200
|
-
initialValues = ['', null, undefined].includes(initialValues === null || initialValues === void 0 ? void 0 : initialValues[i]) ? undefined : initialValues === null || initialValues === void 0 ? void 0 : initialValues[i];
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return initialValues;
|
|
204
|
-
};
|
|
205
|
-
/** 校验表单是否正确的方法 */
|
|
206
|
-
exports.getInitValue = getInitValue;
|
|
207
|
-
var handleCheckItem = function handleCheckItem(value, rules) {
|
|
208
|
-
try {
|
|
209
|
-
if (Array.isArray(rules)) {
|
|
210
|
-
rules.forEach(function (i) {
|
|
211
|
-
// @ts-ignore
|
|
212
|
-
if (i.required && ['', null, undefined].includes(value)) {
|
|
213
|
-
throw new Error((i === null || i === void 0 ? void 0 : i.message) || 'error');
|
|
214
|
-
}
|
|
215
|
-
if (i === null || i === void 0 ? void 0 : i.validator) {
|
|
216
|
-
i.validator(rules, value, function (_errorMsg) {
|
|
217
|
-
throw new Error(_errorMsg);
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
return;
|
|
223
|
-
} catch (e) {
|
|
224
|
-
if (typeof e === 'string') {
|
|
225
|
-
return e.toUpperCase();
|
|
226
|
-
} else if (e instanceof Error) {
|
|
227
|
-
return e.message;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
exports.handleCheckItem = handleCheckItem;
|
|
232
|
-
var isValidKey = function isValidKey(key, object) {
|
|
233
|
-
return key in object;
|
|
234
|
-
};
|
|
235
|
-
exports.isValidKey = isValidKey;
|