tntd 2.7.16 → 2.7.17
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/handle/handle.js +102 -0
- package/es/handle/handle.js.map +1 -0
- package/es/mention/index.js +4 -0
- package/es/mention/index.js.map +1 -0
- package/es/modal/modal.js +6 -6
- package/es/modal/modal.js.map +1 -1
- package/es/steps/style/nav.less +1 -1
- package/es/table/table.js +31 -11
- package/es/table/table.js.map +1 -1
- package/es/tabs/tabs.js +3 -29
- package/es/tabs/tabs.js.map +1 -1
- package/es/tntd-form/TntdForm/components/Item.js +55 -0
- package/es/tntd-form/TntdForm/components/Item.js.map +1 -0
- package/es/tntd-form/TntdForm/components/ItemComp.js +186 -0
- package/es/tntd-form/TntdForm/components/ItemComp.js.map +1 -0
- package/es/tntd-form/TntdForm/components/List.js +102 -0
- package/es/tntd-form/TntdForm/components/List.js.map +1 -0
- package/es/tntd-form/TntdForm/index.js +55 -0
- package/es/tntd-form/TntdForm/index.js.map +1 -0
- package/es/tntd-form/TntdForm/interface.js +1 -0
- package/es/tntd-form/TntdForm/interface.js.map +1 -0
- package/es/tntd-form/TntdForm/store.js +2 -0
- package/es/tntd-form/TntdForm/store.js.map +1 -0
- package/es/tntd-form/TntdForm/utils.js +219 -0
- package/es/tntd-form/TntdForm/utils.js.map +1 -0
- package/es/utils/lang.js +1 -0
- package/es/utils/lang.js.map +1 -1
- package/lib/handle/handle.d.ts +3 -0
- package/lib/handle/handle.d.ts.map +1 -0
- package/lib/handle/handle.js +130 -0
- package/lib/handle/handle.js.map +1 -0
- package/lib/mention/index.js +25 -0
- package/lib/modal/modal.d.ts +11 -10
- package/lib/modal/modal.d.ts.map +1 -1
- package/lib/modal/modal.js +25 -14
- package/lib/modal/modal.js.map +1 -1
- package/lib/steps/style/nav.less +1 -1
- package/lib/table/table.d.ts +1 -1
- package/lib/table/table.d.ts.map +1 -1
- package/lib/table/table.js +31 -11
- package/lib/table/table.js.map +1 -1
- package/lib/tabs/tabs.d.ts.map +1 -1
- package/lib/tabs/tabs.js +3 -29
- package/lib/tabs/tabs.js.map +1 -1
- package/lib/tntd-form/TntdForm/components/Item.js +65 -0
- package/lib/tntd-form/TntdForm/components/ItemComp.js +215 -0
- package/lib/tntd-form/TntdForm/components/List.js +123 -0
- package/lib/tntd-form/TntdForm/index.js +72 -0
- package/lib/tntd-form/TntdForm/interface.js +5 -0
- package/lib/tntd-form/TntdForm/store.js +10 -0
- package/lib/tntd-form/TntdForm/utils.js +239 -0
- package/lib/utils/lang.d.ts.map +1 -1
- package/lib/utils/lang.js +5 -1
- package/lib/utils/lang.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,102 @@
|
|
|
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)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React, { Fragment, useEffect, useState } from 'react';
|
|
13
|
+
import Icon from '../tntd-icon';
|
|
14
|
+
import Divider from '../divider';
|
|
15
|
+
import Dropdown from '../dropdown';
|
|
16
|
+
import Menu from '../menu';
|
|
17
|
+
const clsPrefix = 'tntd-more-menus';
|
|
18
|
+
export default (props) => {
|
|
19
|
+
const _a = props || {}, { children = [], type, num = 3, lang, divider = true, lessOneMoreFit, popConfirmHandle, isIconBtn, stopPropagation = true, localeCode, locale } = _a, rest = __rest(_a, ["children", "type", "num", "lang", "divider", "lessOneMoreFit", "popConfirmHandle", "isIconBtn", "stopPropagation", "localeCode", "locale"]);
|
|
20
|
+
// 非中文
|
|
21
|
+
let isCn = lang === 'cn';
|
|
22
|
+
if (!lang) {
|
|
23
|
+
isCn = localeCode === 'zh-cn';
|
|
24
|
+
}
|
|
25
|
+
const [newChildren, setNewChildren] = useState([]);
|
|
26
|
+
const [specialSceneDefaultShow, setSpecialSceneDefaultShow] = useState();
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
var _a;
|
|
29
|
+
if (children) {
|
|
30
|
+
let curChildren = [];
|
|
31
|
+
if (Array.isArray(children)) {
|
|
32
|
+
curChildren = ((_a = [...children || []]) === null || _a === void 0 ? void 0 : _a.filter((item) => !!item)) || [];
|
|
33
|
+
}
|
|
34
|
+
else if (children) {
|
|
35
|
+
curChildren.push(children);
|
|
36
|
+
}
|
|
37
|
+
// 子元素大于1个,且不是 icon元素
|
|
38
|
+
const specialSceneDefaultShow = (curChildren === null || curChildren === void 0 ? void 0 : curChildren.length) > 1 && !isIconBtn;
|
|
39
|
+
if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {
|
|
40
|
+
curChildren === null || curChildren === void 0 ? void 0 : curChildren.forEach((v, i) => {
|
|
41
|
+
const { type, props } = v;
|
|
42
|
+
if ((type === null || type === void 0 ? void 0 : type.name) === 'Popconfirm' ||
|
|
43
|
+
(props.hasOwnProperty('onConfirm') && typeof (props === null || props === void 0 ? void 0 : props.onConfirm) === 'function')) {
|
|
44
|
+
let placement = {};
|
|
45
|
+
if (!isCn ||
|
|
46
|
+
(num &&
|
|
47
|
+
!isNaN(num) &&
|
|
48
|
+
i + 1 > num &&
|
|
49
|
+
!(lessOneMoreFit && curChildren.length - num === 1))) {
|
|
50
|
+
placement = {
|
|
51
|
+
placement: 'left',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
curChildren[i] = React.cloneElement(v, Object.assign(Object.assign(Object.assign(Object.assign({ overlayStyle: { width: 180 } }, ((v === null || v === void 0 ? void 0 : v.props) || {})), { onClick: (e) => e.stopPropagation() }), placement), { trigger: 'hover', getPopupContainer: (trigger) => trigger.parentNode }));
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
setNewChildren(curChildren);
|
|
59
|
+
setSpecialSceneDefaultShow(specialSceneDefaultShow);
|
|
60
|
+
}
|
|
61
|
+
}, [children, isCn, isIconBtn, lessOneMoreFit, num, popConfirmHandle]);
|
|
62
|
+
let [preChildPart, lastChildPart] = [newChildren, null];
|
|
63
|
+
// 只有1个时不适配
|
|
64
|
+
if (lessOneMoreFit && newChildren.length - num === 1) {
|
|
65
|
+
preChildPart = newChildren;
|
|
66
|
+
}
|
|
67
|
+
else if (newChildren && num && !isNaN(num) && newChildren.length > num) {
|
|
68
|
+
preChildPart = newChildren.slice(0, num);
|
|
69
|
+
lastChildPart = newChildren.slice(num);
|
|
70
|
+
}
|
|
71
|
+
if (divider && preChildPart) {
|
|
72
|
+
const preChildLen = preChildPart.length;
|
|
73
|
+
preChildPart = preChildPart.map((dom, i) => (React.createElement(Fragment, { key: i },
|
|
74
|
+
dom,
|
|
75
|
+
!((i === preChildLen - 1 && !(lastChildPart === null || lastChildPart === void 0 ? void 0 : lastChildPart.length)) // 没有更多 且 是最后一个时 不显示 Divider
|
|
76
|
+
) && React.createElement(Divider, { type: "vertical" }))));
|
|
77
|
+
}
|
|
78
|
+
const menu = (childArr) => (React.createElement(Menu, { className: "org-pop-opera-btn" }, childArr === null || childArr === void 0 ? void 0 : childArr.map((child, i) => (React.createElement(Menu.Item, { key: i }, child)))));
|
|
79
|
+
if (!isCn && specialSceneDefaultShow) {
|
|
80
|
+
return (React.createElement(Dropdown, { overlay: menu(newChildren || []), arrow: true, onClick: (e) => {
|
|
81
|
+
if (stopPropagation) {
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
}
|
|
84
|
+
} }, type === 'icon' ?
|
|
85
|
+
React.createElement(Icon, { type: "more" }) :
|
|
86
|
+
React.createElement("a", { className: "ant-dropdown-more" }, locale === null || locale === void 0 ? void 0 :
|
|
87
|
+
locale.more,
|
|
88
|
+
React.createElement("i", { className: `${clsPrefix}-dropdown-icon` },
|
|
89
|
+
React.createElement(Icon, { type: "down" })))));
|
|
90
|
+
}
|
|
91
|
+
return (React.createElement("div", Object.assign({ onClick: (e) => {
|
|
92
|
+
if (stopPropagation) {
|
|
93
|
+
e.stopPropagation();
|
|
94
|
+
}
|
|
95
|
+
} }, rest),
|
|
96
|
+
preChildPart,
|
|
97
|
+
!!(lastChildPart === null || lastChildPart === void 0 ? void 0 : lastChildPart.length) && (React.createElement(Dropdown, { overlay: menu(lastChildPart || []), arrow: true }, type === 'icon' ? (React.createElement(Icon, { type: "more" })) : (React.createElement("a", { className: "ant-dropdown-more" }, locale === null || locale === void 0 ? void 0 :
|
|
98
|
+
locale.more,
|
|
99
|
+
React.createElement("i", { className: `${clsPrefix}-dropdown-icon` },
|
|
100
|
+
React.createElement(Icon, { type: "down" }))))))));
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/handle/handle.js"],"names":[],"mappings":"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","sourcesContent":["import React, { Fragment, useEffect, useState } from 'react'\nimport Icon from '../tntd-icon'\nimport Divider from '../divider'\nimport Dropdown from '../dropdown'\nimport Menu from '../menu'\nconst clsPrefix = 'tntd-more-menus'\nexport default (props)=>{\n const {\n children = [],\n type,\n num = 3,\n lang,\n divider = true,\n lessOneMoreFit,\n popConfirmHandle,\n isIconBtn,\n stopPropagation=true,\n localeCode,\n locale,\n ...rest\n } = props || {}\n\n // 非中文\n let isCn = lang === 'cn'\n if (!lang) {\n isCn = localeCode === 'zh-cn'\n }\n\n const [newChildren, setNewChildren] = useState([]);\n const [specialSceneDefaultShow,setSpecialSceneDefaultShow] = useState()\n\n useEffect(()=>{\n if(children){\n let curChildren = []\n if (Array.isArray(children)) {\n curChildren = [...children||[]]?.filter((item) => !!item) || []\n } else if (children) {\n curChildren.push(children)\n }\n // 子元素大于1个,且不是 icon元素\n const specialSceneDefaultShow = curChildren?.length > 1 && !isIconBtn\n\n if (specialSceneDefaultShow && (!isCn || popConfirmHandle)) {\n curChildren?.forEach((v, i) => {\n const { type, props } = v\n if (\n type?.name === 'Popconfirm' ||\n (props.hasOwnProperty('onConfirm') && typeof props?.onConfirm === 'function')\n ) {\n let placement = {}\n if (\n !isCn ||\n (num &&\n !isNaN(num) &&\n i + 1 > num &&\n !(lessOneMoreFit && curChildren.length - num === 1))\n ) {\n placement = {\n placement: 'left',\n }\n }\n curChildren[i] = React.cloneElement(v, {\n overlayStyle: { width: 180 },\n ...(v?.props || {}),\n onClick: (e) => e.stopPropagation(),\n ...placement,\n trigger: 'hover',\n getPopupContainer: (trigger) => trigger.parentNode,\n })\n }\n })\n }\n\n setNewChildren(curChildren)\n setSpecialSceneDefaultShow(specialSceneDefaultShow);\n }\n },[children, isCn, isIconBtn, lessOneMoreFit, num, popConfirmHandle])\n\n\n let [preChildPart, lastChildPart] = [newChildren, null]\n\n // 只有1个时不适配\n if (lessOneMoreFit && newChildren.length - num === 1) {\n preChildPart = newChildren\n } else if (newChildren && num && !isNaN(num) && newChildren.length > num) {\n preChildPart = newChildren.slice(0, num)\n lastChildPart = newChildren.slice(num)\n }\n\n if (divider && preChildPart) {\n const preChildLen = preChildPart.length\n preChildPart = preChildPart.map((dom, i) => (\n <Fragment key={i}>\n {dom}\n {!(\n (i === preChildLen - 1 && !lastChildPart?.length) // 没有更多 且 是最后一个时 不显示 Divider\n ) && <Divider type=\"vertical\" />}\n </Fragment>\n ))\n }\n const menu = (childArr)=>(\n <Menu className=\"org-pop-opera-btn\">\n {\n childArr?.map(\n (child,i) => (\n <Menu.Item key={i}>\n {child}\n </Menu.Item>\n )\n )\n }\n </Menu>\n );\n\n\n if(!isCn && specialSceneDefaultShow ){\n return (\n <Dropdown overlay={menu(newChildren||[])} arrow onClick={(e)=>{\n if(stopPropagation){\n e.stopPropagation()\n }\n }}>\n {\n type === 'icon' ?\n <Icon type=\"more\" /> :\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n }\n </Dropdown>\n );\n }\n\n return (\n <div\n onClick={(e) => {\n if(stopPropagation){\n e.stopPropagation()\n }\n }}\n {...rest}\n >\n {preChildPart}\n {!!lastChildPart?.length && (\n <Dropdown overlay={menu(lastChildPart || [])} arrow>\n {type === 'icon' ? (\n <Icon type=\"more\" />\n ) : (\n <a className=\"ant-dropdown-more\">\n {locale?.more}\n <i className={`${clsPrefix}-dropdown-icon`}>\n <Icon type=\"down\" />\n </i>\n </a>\n )}\n </Dropdown>\n )}\n </div>\n )\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mention/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,iBAAiB,CAAA;AAErC,OAAO,uBAAuB,CAAA;AAE9B,cAAc,iBAAiB,CAAA;AAE/B,eAAe,OAAO,CAAA","sourcesContent":["import Mention from 'antd/es/mention'\n\nimport 'antd/es/mention/style'\n\nexport * from 'antd/es/mention'\n\nexport default Mention\n"]}
|
package/es/modal/modal.js
CHANGED
|
@@ -17,20 +17,20 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
17
17
|
* @FilePath: /tntd/packages/tntd/src/modal/modal.tsx
|
|
18
18
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
19
19
|
*/
|
|
20
|
-
import React from 'react';
|
|
20
|
+
import React, { forwardRef } from 'react';
|
|
21
21
|
import 'antd/es/locale-provider/LocaleReceiver';
|
|
22
22
|
import classNames from 'classnames';
|
|
23
23
|
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
24
24
|
import { default as AntdModal } from 'antd/es/modal';
|
|
25
|
+
import { doUpperTitle } from '../utils';
|
|
25
26
|
export * from 'antd/es/modal';
|
|
26
27
|
export {} from 'antd/es/modal';
|
|
27
|
-
export
|
|
28
|
-
var { className } = _a, rest = __rest(_a, ["className"]);
|
|
28
|
+
export const Modal = forwardRef((_a, ref) => {
|
|
29
|
+
var { title, className } = _a, rest = __rest(_a, ["title", "className"]);
|
|
29
30
|
return (React.createElement(ConfigConsumer, null, ({ getPrefixCls }) => {
|
|
30
|
-
|
|
31
|
-
return React.createElement(AntdModal, Object.assign({ className: classNames(prefixCls, 'tntd-modal', className) }, rest));
|
|
31
|
+
return (React.createElement(AntdModal, Object.assign({ className: classNames('tntd-modal', className) }, rest, { title: doUpperTitle(title), ref: ref })));
|
|
32
32
|
}));
|
|
33
|
-
}
|
|
33
|
+
});
|
|
34
34
|
Modal.info = AntdModal.info;
|
|
35
35
|
Modal.success = AntdModal.success;
|
|
36
36
|
Modal.error = AntdModal.error;
|
package/es/modal/modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/modal/modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/modal/modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAA2B,wCAAwC,CAAA;AAEnE,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAiD,MAAM,eAAe,CAAA;AAa7E,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAA4B,CAAC,EAA6B,EAAE,GAAG,EAAE,EAAE;QAAtC,EAAE,KAAK,EAAE,SAAS,OAAW,EAAN,IAAI,cAA3B,sBAA6B,CAAF;IACrF,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,oBAAC,SAAS,kBACR,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,IAC1C,IAAI,IACR,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAC1B,GAAG,EAAE,GAAG,IACR,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAmB,CAAA;AAEpB,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;AAC3B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;AACjC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;AAC7B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;AACjC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;AAC3B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;AACjC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-03-08 17:45:01\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-03-08 19:01:48\n * @FilePath: /tntd/packages/tntd/src/modal/modal.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type { ModalProps as AntdModalProps } from 'antd/es/modal'\nimport classNames from 'classnames'\nimport { ConfigConsumer } from 'antd/es/config-provider'\n\nimport { default as AntdModal } from 'antd/es/modal'\nimport { doUpperTitle } from '../utils'\n\nexport * from 'antd/es/modal'\nexport { ActionButtonProps, ModalProps, ModalFuncProps } from 'antd/es/modal'\n\ninterface ModalComponent\n extends React.ForwardRefExoticComponent<AntdModalProps & React.RefAttributes<AntdModal>> {\n info: typeof AntdModal.info\n success: typeof AntdModal.success\n error: typeof AntdModal.error\n warning: typeof AntdModal.warning\n warn: typeof AntdModal.warn\n confirm: typeof AntdModal.confirm\n destroyAll: typeof AntdModal.destroyAll\n}\n\nexport const Modal = forwardRef<AntdModal, AntdModalProps>(({ title, className, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdModal\n className={classNames('tntd-modal', className)}\n {...rest}\n title={doUpperTitle(title)}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n}) as ModalComponent\n\nModal.info = AntdModal.info\nModal.success = AntdModal.success\nModal.error = AntdModal.error\nModal.warning = AntdModal.warning\nModal.warn = AntdModal.warn\nModal.confirm = AntdModal.confirm\nModal.destroyAll = AntdModal.destroyAll\n"]}
|
package/es/steps/style/nav.less
CHANGED
package/es/table/table.js
CHANGED
|
@@ -32,7 +32,11 @@ const sizeWidthMap = {
|
|
|
32
32
|
const getDefaultPagination = (locale) => ({
|
|
33
33
|
showTotal: (total) => React.createElement(TotalShower, { total: total, locale: locale }),
|
|
34
34
|
});
|
|
35
|
-
const titleHandle = (str, upperCaseIgnore) => {
|
|
35
|
+
const titleHandle = (str, upperCaseIgnore, isPrompt) => {
|
|
36
|
+
if (isPrompt) {
|
|
37
|
+
const lowerCaseWord = str.toLowerCase();
|
|
38
|
+
return lowerCaseWord.charAt(0).toUpperCase() + lowerCaseWord.slice(1);
|
|
39
|
+
}
|
|
36
40
|
const words = str.split(' ');
|
|
37
41
|
const capitalizedWords = words.map((word, i) => {
|
|
38
42
|
const lowerCaseWord = word.toLowerCase();
|
|
@@ -51,7 +55,7 @@ const titleHandle = (str, upperCaseIgnore) => {
|
|
|
51
55
|
return capitalizedWords.join(' ');
|
|
52
56
|
};
|
|
53
57
|
// 表头转换为首字母大写
|
|
54
|
-
const titleCaseUpper = (str, upperCaseIgnore) => {
|
|
58
|
+
const titleCaseUpper = (str, upperCaseIgnore, isPrompt) => {
|
|
55
59
|
if (!str) {
|
|
56
60
|
return str;
|
|
57
61
|
}
|
|
@@ -61,14 +65,28 @@ const titleCaseUpper = (str, upperCaseIgnore) => {
|
|
|
61
65
|
const parWords = str.split('/');
|
|
62
66
|
return parWords
|
|
63
67
|
.map((str1) => {
|
|
64
|
-
return titleHandle(str1, upperCaseIgnore);
|
|
68
|
+
return titleHandle(str1, upperCaseIgnore, isPrompt);
|
|
65
69
|
})
|
|
66
70
|
.join('/');
|
|
67
71
|
}
|
|
68
|
-
return titleHandle(str, upperCaseIgnore);
|
|
72
|
+
return titleHandle(str, upperCaseIgnore, isPrompt);
|
|
69
73
|
}
|
|
70
74
|
return str;
|
|
71
75
|
};
|
|
76
|
+
// 判断是否是特殊的tooltip
|
|
77
|
+
const checkIsPrompt = (dom) => {
|
|
78
|
+
var _a;
|
|
79
|
+
console.log('dom', dom);
|
|
80
|
+
let isPrompt = false;
|
|
81
|
+
if (React.isValidElement(dom)) {
|
|
82
|
+
if ((dom === null || dom === void 0 ? void 0 : dom.type) && typeof (dom === null || dom === void 0 ? void 0 : dom.type) === 'function') {
|
|
83
|
+
if (['Tooltip', 'Popconfirm'].includes((_a = dom === null || dom === void 0 ? void 0 : dom.type) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
84
|
+
isPrompt = true;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return isPrompt;
|
|
89
|
+
};
|
|
72
90
|
export const Table = (_a) => {
|
|
73
91
|
var { className, locale, bordered, size, storageKey, columns, children, shadowed = !bordered, striped = false, showCellBorders = false,
|
|
74
92
|
// pagination,
|
|
@@ -86,32 +104,34 @@ export const Table = (_a) => {
|
|
|
86
104
|
if (lang !== 'cn') {
|
|
87
105
|
newColumns = displayColumns === null || displayColumns === void 0 ? void 0 : displayColumns.map((column) => {
|
|
88
106
|
return Object.assign(Object.assign({}, column), { title: (options) => {
|
|
107
|
+
var _a;
|
|
89
108
|
let title = column.title;
|
|
90
109
|
if (typeof title === 'function') {
|
|
91
110
|
title = title(options);
|
|
92
111
|
}
|
|
93
112
|
if (React.isValidElement(title)) {
|
|
94
|
-
const renderChildren = (children) => {
|
|
113
|
+
const renderChildren = (children, isPrompt) => {
|
|
95
114
|
if (React.isValidElement(children) || Array.isArray(children)) {
|
|
96
115
|
return React.Children.map(children, (child) => {
|
|
97
116
|
var _a;
|
|
98
117
|
if (React.isValidElement(child)) {
|
|
99
118
|
const childProps = (child.props || {});
|
|
100
119
|
return React.cloneElement(child, Object.assign(Object.assign({}, childProps), { children: ((_a = childProps.children) === null || _a === void 0 ? void 0 : _a.length)
|
|
101
|
-
? renderChildren(childProps.children)
|
|
102
|
-
: childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore) }));
|
|
120
|
+
? renderChildren(childProps.children, checkIsPrompt(child))
|
|
121
|
+
: childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore, isPrompt) }));
|
|
103
122
|
}
|
|
104
123
|
else {
|
|
105
|
-
return titleCaseUpper(child, upperCaseIgnore);
|
|
124
|
+
return titleCaseUpper(child, upperCaseIgnore, isPrompt);
|
|
106
125
|
}
|
|
107
126
|
});
|
|
108
127
|
}
|
|
109
|
-
return titleCaseUpper(children, upperCaseIgnore);
|
|
128
|
+
return titleCaseUpper(children, upperCaseIgnore, isPrompt);
|
|
110
129
|
};
|
|
111
|
-
|
|
130
|
+
const parentPrompt = checkIsPrompt(title);
|
|
131
|
+
return Object.assign(Object.assign({}, title), { props: Object.assign(Object.assign({}, ((title === null || title === void 0 ? void 0 : title.props) || {})), { title: titleCaseUpper((_a = title === null || title === void 0 ? void 0 : title.props) === null || _a === void 0 ? void 0 : _a.title, upperCaseIgnore, parentPrompt), children: renderChildren(title.props.children, parentPrompt) }) });
|
|
112
132
|
}
|
|
113
133
|
if (typeof title === 'string') {
|
|
114
|
-
return titleCaseUpper(title, upperCaseIgnore);
|
|
134
|
+
return titleCaseUpper(title, upperCaseIgnore, false);
|
|
115
135
|
}
|
|
116
136
|
} });
|
|
117
137
|
});
|
package/es/table/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type {\n TableProps as AntdTableProps,\n ColumnProps,\n TableStateFilters,\n SortOrder,\n} from 'antd/es/table'\nimport { default as AntdTable } from 'antd/es/table'\nimport Column from 'antd/es/table/Column'\nimport ColumnGroup from 'antd/es/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef } from 'react'\nimport Ellipsis from '../ellipsis'\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\nimport { TotalShower } from './total-shower'\nimport { getLanguage } from '../prev-locale'\nimport { articles, prepositions } from './constants'\n\nconst sizeWidthMap = {\n default: 40, //20\n middle: 20, //10\n small: 20, //10\n xs: 16, // 8\n}\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n striped?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n upperCaseIgnore?: string[]\n}\n\nconst getDefaultPagination = (locale: NonNullable<AntdTableProps<unknown>['locale']>) => ({\n showTotal: (total: number) => <TotalShower total={total} locale={locale} />,\n})\n\nconst titleHandle = (str: string, upperCaseIgnore: string[] | undefined): string => {\n const words: string[] = str.split(' ')\n const capitalizedWords: string[] = words.map((word: string, i: number) => {\n const lowerCaseWord: string = word.toLowerCase()\n let ignoreList = prepositions.concat(articles)\n if (upperCaseIgnore?.length) {\n ignoreList = ignoreList.concat(upperCaseIgnore)\n ignoreList = Array.from(new Set(ignoreList))\n }\n if (ignoreList.includes(lowerCaseWord) && i !== 0) {\n return lowerCaseWord\n } else {\n return word.charAt(0).toUpperCase() + word.slice(1)\n }\n })\n return capitalizedWords.join(' ')\n}\n\n// 表头转换为首字母大写\nconst titleCaseUpper = (str: string, upperCaseIgnore: string[] | undefined) => {\n if (!str) {\n return str\n }\n if (typeof str === 'string') {\n // 有斜杠根据斜杠划分\n if (str?.includes('/')) {\n const parWords: string[] = str.split('/')\n return parWords\n .map((str1) => {\n return titleHandle(str1, upperCaseIgnore)\n })\n .join('/')\n }\n return titleHandle(str, upperCaseIgnore)\n }\n return str\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n shadowed = !bordered,\n striped = false,\n showCellBorders = false,\n // pagination,\n enableToolbar = false,\n refresh,\n upperCaseIgnore,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n const lang = getLanguage()\n let newColumns = displayColumns\n // 非中文做处理\n if (lang !== 'cn') {\n newColumns = displayColumns?.map((column) => {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n if (React.isValidElement(title)) {\n const renderChildren = (children: [] | string): React.ReactNode => {\n if (React.isValidElement(children) || Array.isArray(children)) {\n return React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n return React.cloneElement(child, {\n ...childProps,\n children: childProps.children?.length\n ? renderChildren(childProps.children)\n : childProps.children,\n title: titleCaseUpper(childProps?.title, upperCaseIgnore),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore)\n }\n return renderChildren(title.props.children)\n }\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore)\n }\n },\n }\n })\n newColumns = newColumns?.map((column) => {\n if (!(column.width && !String(column.width).includes('%'))) {\n return column\n } else {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n let widthLimitObj = {}\n if (column.width && !String(column.width).includes('%')) {\n let width = column.width\n if (typeof width === 'string') {\n width = width.replace(/[^\\d]/g, ' ')\n }\n widthLimitObj = {\n widthLimit:\n Number(width) -\n Number(sizeWidthMap[size || 'default']) -\n (column.sorter ? 20 : 0),\n }\n }\n return (\n <Ellipsis\n {...widthLimitObj}\n placement={column?.placement || 'topLeft'}\n title={title}\n />\n )\n },\n }\n }\n })\n }\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n upperCaseIgnore,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n // const locale = localeObject as Record<string, string>\n // const paginationConfig = pagination ? getDefaultPagination(locale) : pagination\n return (\n <AntdTable\n className={classNames(\n // prefixCls,\n 'tnt-table-wrapper',\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped,\n [`${prefixCls}-shadowed`]: shadowed,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={newColumns}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = titleCaseUpper\n"]}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type {\n TableProps as AntdTableProps,\n ColumnProps,\n TableStateFilters,\n SortOrder,\n} from 'antd/es/table'\nimport { default as AntdTable } from 'antd/es/table'\nimport Column from 'antd/es/table/Column'\nimport ColumnGroup from 'antd/es/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef } from 'react'\nimport Ellipsis from '../ellipsis'\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\nimport { TotalShower } from './total-shower'\nimport { getLanguage } from '../prev-locale'\nimport { articles, prepositions } from './constants'\n\nconst sizeWidthMap = {\n default: 40, //20\n middle: 20, //10\n small: 20, //10\n xs: 16, // 8\n}\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n striped?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n upperCaseIgnore?: string[]\n}\n\nconst getDefaultPagination = (locale: NonNullable<AntdTableProps<unknown>['locale']>) => ({\n showTotal: (total: number) => <TotalShower total={total} locale={locale} />,\n})\n\nconst titleHandle = (\n str: string,\n upperCaseIgnore: string[] | undefined,\n isPrompt: boolean\n): string => {\n if (isPrompt) {\n const lowerCaseWord = str.toLowerCase()\n return lowerCaseWord.charAt(0).toUpperCase() + lowerCaseWord.slice(1)\n }\n const words: string[] = str.split(' ')\n const capitalizedWords: string[] = words.map((word: string, i: number) => {\n const lowerCaseWord: string = word.toLowerCase()\n let ignoreList = prepositions.concat(articles)\n if (upperCaseIgnore?.length) {\n ignoreList = ignoreList.concat(upperCaseIgnore)\n ignoreList = Array.from(new Set(ignoreList))\n }\n if (ignoreList.includes(lowerCaseWord) && i !== 0) {\n return lowerCaseWord\n } else {\n return word.charAt(0).toUpperCase() + word.slice(1)\n }\n })\n return capitalizedWords.join(' ')\n}\n\n// 表头转换为首字母大写\nconst titleCaseUpper = (str: string, upperCaseIgnore: string[] | undefined, isPrompt: boolean) => {\n if (!str) {\n return str\n }\n if (typeof str === 'string') {\n // 有斜杠根据斜杠划分\n if (str?.includes('/')) {\n const parWords: string[] = str.split('/')\n return parWords\n .map((str1) => {\n return titleHandle(str1, upperCaseIgnore, isPrompt)\n })\n .join('/')\n }\n return titleHandle(str, upperCaseIgnore, isPrompt)\n }\n return str\n}\n\n// 判断是否是特殊的tooltip\nconst checkIsPrompt = (dom: any): boolean => {\n console.log('dom', dom)\n let isPrompt: boolean = false\n if (React.isValidElement(dom)) {\n if (dom?.type && typeof dom?.type === 'function') {\n if (['Tooltip', 'Popconfirm'].includes(dom?.type?.name)) {\n isPrompt = true\n }\n }\n }\n return isPrompt\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n shadowed = !bordered,\n striped = false,\n showCellBorders = false,\n // pagination,\n enableToolbar = false,\n refresh,\n upperCaseIgnore,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n const lang = getLanguage()\n let newColumns = displayColumns\n // 非中文做处理\n if (lang !== 'cn') {\n newColumns = displayColumns?.map((column) => {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n if (React.isValidElement(title)) {\n const renderChildren = (children: [] | string, isPrompt: boolean): React.ReactNode => {\n if (React.isValidElement(children) || Array.isArray(children)) {\n return React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n return React.cloneElement(child, {\n ...childProps,\n children: childProps.children?.length\n ? renderChildren(childProps.children, checkIsPrompt(child))\n : childProps.children,\n title: titleCaseUpper(childProps?.title, upperCaseIgnore, isPrompt),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore, isPrompt)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore, isPrompt)\n }\n\n const parentPrompt = checkIsPrompt(title)\n return {\n ...title,\n props: {\n ...(title?.props || {}),\n title: titleCaseUpper(title?.props?.title, upperCaseIgnore, parentPrompt),\n children: renderChildren(title.props.children, parentPrompt),\n },\n }\n }\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore, false)\n }\n },\n }\n })\n newColumns = newColumns?.map((column) => {\n if (!(column.width && !String(column.width).includes('%'))) {\n return column\n } else {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n let widthLimitObj = {}\n if (column.width && !String(column.width).includes('%')) {\n let width = column.width\n if (typeof width === 'string') {\n width = width.replace(/[^\\d]/g, ' ')\n }\n widthLimitObj = {\n widthLimit:\n Number(width) -\n Number(sizeWidthMap[size || 'default']) -\n (column.sorter ? 20 : 0),\n }\n }\n return (\n <Ellipsis\n {...widthLimitObj}\n placement={column?.placement || 'topLeft'}\n title={title}\n />\n )\n },\n }\n }\n })\n }\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n upperCaseIgnore,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n // const locale = localeObject as Record<string, string>\n // const paginationConfig = pagination ? getDefaultPagination(locale) : pagination\n return (\n <AntdTable\n className={classNames(\n // prefixCls,\n 'tnt-table-wrapper',\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped,\n [`${prefixCls}-shadowed`]: shadowed,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={newColumns}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = titleCaseUpper\n"]}
|
package/es/tabs/tabs.js
CHANGED
|
@@ -20,45 +20,19 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
import React, { forwardRef } from 'react';
|
|
21
21
|
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
22
22
|
import { default as AntdTabs } from 'antd/es/tabs';
|
|
23
|
+
import { doUpperTitle } from '../utils';
|
|
23
24
|
export * from 'antd/es/tabs';
|
|
24
25
|
export const Tabs = forwardRef((_a, ref) => {
|
|
25
26
|
var { children } = _a, rest = __rest(_a, ["children"]);
|
|
26
|
-
const titleHandle = (tab) => {
|
|
27
|
-
var _a, _b, _c, _d, _e, _f;
|
|
28
|
-
if (!tab) {
|
|
29
|
-
return tab;
|
|
30
|
-
}
|
|
31
|
-
if (typeof tab === 'string') {
|
|
32
|
-
const words = tab.split(' ');
|
|
33
|
-
const capitalizedWords = words.map((word) => {
|
|
34
|
-
const lowerCaseWord = word === null || word === void 0 ? void 0 : word.toLowerCase();
|
|
35
|
-
return lowerCaseWord.charAt(0).toUpperCase() + lowerCaseWord.slice(1);
|
|
36
|
-
});
|
|
37
|
-
tab = capitalizedWords.join(' ');
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
if (React.isValidElement(tab)) {
|
|
41
|
-
if (((_a = tab === null || tab === void 0 ? void 0 : tab.props) === null || _a === void 0 ? void 0 : _a.children) && Array.isArray((_b = tab === null || tab === void 0 ? void 0 : tab.props) === null || _b === void 0 ? void 0 : _b.children)) {
|
|
42
|
-
return Object.assign(Object.assign({}, tab), { props: Object.assign(Object.assign({}, tab.props), { children: (_d = (_c = tab === null || tab === void 0 ? void 0 : tab.props) === null || _c === void 0 ? void 0 : _c.children) === null || _d === void 0 ? void 0 : _d.map((subTab) => {
|
|
43
|
-
return titleHandle(subTab);
|
|
44
|
-
}) }) });
|
|
45
|
-
}
|
|
46
|
-
else if (typeof ((_e = tab === null || tab === void 0 ? void 0 : tab.props) === null || _e === void 0 ? void 0 : _e.children) === 'string') {
|
|
47
|
-
tab = Object.assign(Object.assign({}, tab), { props: Object.assign(Object.assign({}, tab.props), { children: titleHandle((_f = tab === null || tab === void 0 ? void 0 : tab.props) === null || _f === void 0 ? void 0 : _f.children) }) });
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return tab;
|
|
52
|
-
};
|
|
53
27
|
let newChildren = children;
|
|
54
28
|
if (Array.isArray(newChildren)) {
|
|
55
29
|
newChildren = newChildren === null || newChildren === void 0 ? void 0 : newChildren.map((child) => {
|
|
56
30
|
var _a;
|
|
57
31
|
if (React.isValidElement(child)) {
|
|
58
|
-
return Object.assign(Object.assign({}, child), { props: Object.assign(Object.assign({}, child === null || child === void 0 ? void 0 : child.props), { tab:
|
|
32
|
+
return Object.assign(Object.assign({}, child), { props: Object.assign(Object.assign({}, child === null || child === void 0 ? void 0 : child.props), { tab: doUpperTitle((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.tab) }) });
|
|
59
33
|
}
|
|
60
34
|
if (typeof child === 'string') {
|
|
61
|
-
return
|
|
35
|
+
return doUpperTitle(child);
|
|
62
36
|
}
|
|
63
37
|
return child;
|
|
64
38
|
});
|
package/es/tabs/tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/tabs/tabs.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/tabs/tabs.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,cAAc,cAAc,CAAA;AAU5B,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAsB,CAAC,EAAqB,EAAE,GAAG,EAAE,EAAE;QAA9B,EAAE,QAAQ,OAAW,EAAN,IAAI,cAAnB,YAAqB,CAAF;IACtE,IAAI,WAAW,GAA6B,QAAQ,CAAA;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC9B,WAAW,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,CAAC,KAA+B,EAAE,EAAE;;YACjE,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBAC/B,uCACK,KAAK,KACR,KAAK,kCACA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,KACf,GAAG,EAAE,YAAY,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,GAAG,CAAC,OAEvC;aACF;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;aAC3B;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;KACH;IAED,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,oBAAC,QAAQ,oBAAK,IAAI,IAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAChE,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAkB,CAAA;AAEnB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-16 11:08:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-16 16:24:53\n * @FilePath: /tntd/packages/tntd/src/tabs/tabs.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport type { TabsProps as AntdTabsProps } from 'antd/es/tabs'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdTabs } from 'antd/es/tabs'\nimport { doUpperTitle } from '../utils'\nexport * from 'antd/es/tabs'\nexport interface TabsProps extends AntdTabsProps {\n children?: Array<React.ReactElement>\n}\n\ninterface TabsComponent\n extends React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<AntdTabs>> {\n TabPane: typeof AntdTabs.TabPane\n}\n\nexport const Tabs = forwardRef<AntdTabs, TabsProps>(({ children, ...rest }, ref) => {\n let newChildren: string | React.ReactNode = children\n if (Array.isArray(newChildren)) {\n newChildren = newChildren?.map((child: string | React.ReactNode) => {\n if (React.isValidElement(child)) {\n return {\n ...child,\n props: {\n ...child?.props,\n tab: doUpperTitle(child?.props?.tab),\n },\n }\n }\n if (typeof child === 'string') {\n return doUpperTitle(child)\n }\n return child\n })\n }\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdTabs {...rest} children={newChildren} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as TabsComponent\n\nTabs.TabPane = AntdTabs.TabPane\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import _isEqual from "lodash/isEqual";
|
|
2
|
+
/*
|
|
3
|
+
* @Descripttion: TntdForm.Item
|
|
4
|
+
* @Author: 郑泳健
|
|
5
|
+
* @Date: 2023-02-22 23:25:24
|
|
6
|
+
* @LastEditors: 郑泳健
|
|
7
|
+
* @LastEditTime: 2023-04-06 17:46:57
|
|
8
|
+
*/
|
|
9
|
+
import React, { memo, useRef, useContext, useEffect } from 'react';
|
|
10
|
+
import ItemComp from './ItemComp';
|
|
11
|
+
import { FormContext } from '../store';
|
|
12
|
+
import { getNames } from '../utils';
|
|
13
|
+
const Item = ({
|
|
14
|
+
name,
|
|
15
|
+
children,
|
|
16
|
+
style,
|
|
17
|
+
rules,
|
|
18
|
+
shouldUpdate,
|
|
19
|
+
initialValue,
|
|
20
|
+
dependencies
|
|
21
|
+
}) => {
|
|
22
|
+
const {
|
|
23
|
+
form,
|
|
24
|
+
initialValues,
|
|
25
|
+
updateRefs,
|
|
26
|
+
compsRefs
|
|
27
|
+
} = useContext(FormContext);
|
|
28
|
+
const ref = useRef();
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
compsRefs.current[getNames(name).join('.')] = () => {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
(_b = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.onRefresh) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
33
|
+
};
|
|
34
|
+
}, [compsRefs, name]);
|
|
35
|
+
return React.createElement(ItemComp, Object.assign({}, {
|
|
36
|
+
form,
|
|
37
|
+
initialValues,
|
|
38
|
+
updateRefs,
|
|
39
|
+
compsRefs,
|
|
40
|
+
style,
|
|
41
|
+
rules,
|
|
42
|
+
name,
|
|
43
|
+
ref,
|
|
44
|
+
children,
|
|
45
|
+
initialValue,
|
|
46
|
+
shouldUpdate,
|
|
47
|
+
dependencies
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
export default memo(Item, (nextProps, prevProps) => {
|
|
51
|
+
if (_isEqual(nextProps.name, prevProps.name) && !!prevProps.name) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/tntd-form/TntdForm/components/Item.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,IAAI,GAAwB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,CAAe,WAAW,CAAC,CAAA;IAC5F,MAAM,GAAG,GAAG,MAAM,EAAoB,CAAA;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;;YACjD,MAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,SAAS,kDAAI,CAAA;QAC5B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAErB,OAAO,CACL,oBAAC,QAAQ,oBACH;QACF,IAAI;QACJ,aAAa;QACb,UAAU;QACV,SAAS;QACT,KAAK;QACL,KAAK;QACL,IAAI;QACJ,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,YAAY;KACb,EACD,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;IACjD,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;QAC/D,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA","sourcesContent":["/*\n * @Descripttion: TntdForm.Item\n * @Author: 郑泳健\n * @Date: 2023-02-22 23:25:24\n * @LastEditors: 郑泳健\n * @LastEditTime: 2023-04-06 17:46:57\n */\n\nimport React, { memo, useRef, useContext, useEffect } from 'react'\nimport { isEqual } from 'lodash'\nimport ItemComp from './ItemComp'\nimport { FormContext } from '../store'\nimport type { IFormItem, IFormContext, IChildrenCompFun } from '../interface'\nimport { getNames } from '../utils'\n\nconst Item: React.FC<IFormItem> = ({\n name,\n children,\n style,\n rules,\n shouldUpdate,\n initialValue,\n dependencies,\n}) => {\n const { form, initialValues, updateRefs, compsRefs } = useContext<IFormContext>(FormContext)\n const ref = useRef<IChildrenCompFun>()\n\n useEffect(() => {\n compsRefs.current[getNames(name).join('.')] = () => {\n ref.current?.onRefresh?.()\n }\n }, [compsRefs, name])\n\n return (\n <ItemComp\n {...{\n form,\n initialValues,\n updateRefs,\n compsRefs,\n style,\n rules,\n name,\n ref,\n children,\n initialValue,\n shouldUpdate,\n dependencies,\n }}\n />\n )\n}\n\nexport default memo(Item, (nextProps, prevProps) => {\n if (isEqual(nextProps.name, prevProps.name) && !!prevProps.name) {\n return true\n }\n return false\n})\n"]}
|