tntd 2.7.25 → 2.7.27

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.
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/table/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,OAAO,CAAA;AAwChD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAoB,EAAE,CAAC,CAAA","sourcesContent":["import { createContext, RefObject } from 'react'\n\nimport type { ColumnSetting } from './hooks/use-column-setting'\n\nexport interface TableContextValue {\n /**\n * column setting\n */\n columnSetting?: ColumnSetting[]\n\n // /**\n // * size\n // */\n // size?: TableProps<unknown>['size']\n\n /**\n * container ref\n */\n tableContainer?: RefObject<HTMLDivElement>\n\n /**\n * set column setting function\n */\n setColumnSetting?(columnSetting: ColumnSetting[] | undefined): void\n\n /**\n * refresh function\n */\n refresh?(): void\n\n upperCaseIgnore?: string[]\n\n unUpperConverted?: boolean\n\n // /**\n // * set size function\n // */\n // setSize?(size: TableProps<unknown>['size']): void\n}\n\nexport const TableContext = createContext<TableContextValue>({})\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/table/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,OAAO,CAAA;AA0ChD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAoB,EAAE,CAAC,CAAA","sourcesContent":["import { createContext, RefObject } from 'react'\n\nimport type { ColumnSetting } from './hooks/use-column-setting'\n\nexport interface TableContextValue {\n /**\n * column setting\n */\n columnSetting?: ColumnSetting[]\n\n // /**\n // * size\n // */\n // size?: TableProps<unknown>['size']\n\n /**\n * container ref\n */\n tableContainer?: RefObject<HTMLDivElement>\n\n /**\n * set column setting function\n */\n setColumnSetting?(columnSetting: ColumnSetting[] | undefined): void\n\n /**\n * refresh function\n */\n refresh?(): void\n\n upperCaseIgnore?: string[]\n\n unUpperConverted?: boolean\n\n unTooltip?: boolean\n\n // /**\n // * set size function\n // */\n // setSize?(size: TableProps<unknown>['size']): void\n}\n\nexport const TableContext = createContext<TableContextValue>({})\n"]}
package/es/table/table.js CHANGED
@@ -74,23 +74,22 @@ const titleCaseUpper = (str, upperCaseIgnore, isPrompt) => {
74
74
  return str;
75
75
  };
76
76
  // 判断是否是特殊的tooltip
77
- const checkIsPrompt = (dom) => {
78
- var _a;
79
- let isPrompt = false;
80
- if (React.isValidElement(dom)) {
81
- if ((dom === null || dom === void 0 ? void 0 : dom.type) && typeof (dom === null || dom === void 0 ? void 0 : dom.type) === 'function') {
82
- if (['Tooltip', 'Popconfirm'].includes((_a = dom === null || dom === void 0 ? void 0 : dom.type) === null || _a === void 0 ? void 0 : _a.name)) {
83
- isPrompt = true;
84
- }
85
- }
86
- }
87
- return isPrompt;
88
- };
77
+ // const checkIsPrompt = (dom: any): boolean => {
78
+ // let isPrompt: boolean = false
79
+ // if (React.isValidElement(dom)) {
80
+ // if (dom?.type && typeof dom?.type === 'function') {
81
+ // if (['Tooltip', 'Popconfirm'].includes(dom?.type?.name)) {
82
+ // isPrompt = true
83
+ // }
84
+ // }
85
+ // }
86
+ // return isPrompt
87
+ // }
89
88
  export const Table = (_a) => {
90
89
  var { className, locale, bordered, size, storageKey, columns, children, shadowed = !bordered, striped = false, showCellBorders = false,
91
90
  // pagination,
92
- enableToolbar = false, refresh, upperCaseIgnore, unUpperConverted } = _a, // 强制不要转换
93
- rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "shadowed", "striped", "showCellBorders", "enableToolbar", "refresh", "upperCaseIgnore", "unUpperConverted"]);
91
+ enableToolbar = false, refresh, upperCaseIgnore, unUpperConverted, // 强制不要转换
92
+ unTooltip } = _a, rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "shadowed", "striped", "showCellBorders", "enableToolbar", "refresh", "upperCaseIgnore", "unUpperConverted", "unTooltip"]);
94
93
  const tableContainer = useRef(null);
95
94
  // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(
96
95
  // TABLE_SIZE_STORAGE_KEY,
@@ -101,64 +100,68 @@ export const Table = (_a) => {
101
100
  const lang = getLanguage();
102
101
  let newColumns = displayColumns;
103
102
  // 非中文做处理
104
- if (lang !== 'cn' && !unUpperConverted) {
105
- newColumns = displayColumns === null || displayColumns === void 0 ? void 0 : displayColumns.map((column) => {
106
- return Object.assign(Object.assign({}, column), { title: (options) => {
107
- let title = column.title;
108
- if (typeof title === 'function') {
109
- title = title(options);
110
- }
111
- if (React.isValidElement(title)) {
112
- const renderChildren = (children) => {
113
- if (React.isValidElement(children) || Array.isArray(children)) {
114
- return React.Children.map(children, (child) => {
115
- var _a;
116
- if (React.isValidElement(child)) {
117
- const childProps = (child.props || {});
118
- return React.cloneElement(child, Object.assign(Object.assign({}, childProps), { children: ((_a = childProps.children) === null || _a === void 0 ? void 0 : _a.length)
119
- ? renderChildren(childProps.children)
120
- : childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore, true) }));
121
- }
122
- else {
123
- return titleCaseUpper(child, upperCaseIgnore, false);
124
- }
125
- });
126
- }
127
- return titleCaseUpper(children, upperCaseIgnore, false);
128
- };
129
- return renderChildren(title.props.children);
130
- }
131
- if (typeof title === 'string') {
132
- return titleCaseUpper(title, upperCaseIgnore, false);
133
- }
134
- } });
135
- });
136
- newColumns = newColumns === null || newColumns === void 0 ? void 0 : newColumns.map((column) => {
137
- if (!(column.width && !String(column.width).includes('%'))) {
138
- return column;
139
- }
140
- else {
103
+ if (lang !== 'cn') {
104
+ if (!unUpperConverted) {
105
+ newColumns = displayColumns === null || displayColumns === void 0 ? void 0 : displayColumns.map((column) => {
141
106
  return Object.assign(Object.assign({}, column), { title: (options) => {
142
107
  let title = column.title;
143
108
  if (typeof title === 'function') {
144
109
  title = title(options);
145
110
  }
146
- let widthLimitObj = {};
147
- if (column.width && !String(column.width).includes('%')) {
148
- let width = column.width;
149
- if (typeof width === 'string') {
150
- width = width.replace(/[^\d]/g, ' ');
151
- }
152
- widthLimitObj = {
153
- widthLimit: Number(width) -
154
- Number(sizeWidthMap[size || 'default']) -
155
- (column.sorter ? 20 : 0),
111
+ if (React.isValidElement(title)) {
112
+ const renderChildren = (children) => {
113
+ if (React.isValidElement(children) || Array.isArray(children)) {
114
+ return React.Children.map(children, (child) => {
115
+ var _a;
116
+ if (React.isValidElement(child)) {
117
+ const childProps = (child.props || {});
118
+ return React.cloneElement(child, Object.assign(Object.assign({}, childProps), { children: ((_a = childProps.children) === null || _a === void 0 ? void 0 : _a.length)
119
+ ? renderChildren(childProps.children)
120
+ : childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore, true) }));
121
+ }
122
+ else {
123
+ return titleCaseUpper(child, upperCaseIgnore, false);
124
+ }
125
+ });
126
+ }
127
+ return titleCaseUpper(children, upperCaseIgnore, false);
156
128
  };
129
+ return renderChildren(title.props.children);
130
+ }
131
+ if (typeof title === 'string') {
132
+ return titleCaseUpper(title, upperCaseIgnore, false);
157
133
  }
158
- return (React.createElement(Ellipsis, Object.assign({}, widthLimitObj, { placement: (column === null || column === void 0 ? void 0 : column.placement) || 'topLeft', title: title })));
159
134
  } });
160
- }
161
- });
135
+ });
136
+ }
137
+ if (!unTooltip) {
138
+ newColumns = newColumns === null || newColumns === void 0 ? void 0 : newColumns.map((column) => {
139
+ if (!(column.width && !String(column.width).includes('%'))) {
140
+ return column;
141
+ }
142
+ else {
143
+ return Object.assign(Object.assign({}, column), { title: (options) => {
144
+ let title = column.title;
145
+ if (typeof title === 'function') {
146
+ title = title(options);
147
+ }
148
+ let widthLimitObj = {};
149
+ if (column.width && !String(column.width).includes('%')) {
150
+ let width = column.width;
151
+ if (typeof width === 'string') {
152
+ width = width.replace(/[^\d]/g, ' ');
153
+ }
154
+ widthLimitObj = {
155
+ widthLimit: Number(width) -
156
+ Number(sizeWidthMap[size || 'default']) -
157
+ (column.sorter ? 20 : 0),
158
+ };
159
+ }
160
+ return (React.createElement(Ellipsis, Object.assign({}, widthLimitObj, { placement: (column === null || column === void 0 ? void 0 : column.placement) || 'topLeft', title: title })));
161
+ } });
162
+ }
163
+ });
164
+ }
162
165
  }
163
166
  /**
164
167
  * update the innerSize when props size changes
@@ -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 unUpperConverted?: boolean // 不要转换表头\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 | undefined\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 = (\n str: string,\n upperCaseIgnore: string[] | undefined,\n isPrompt: boolean | undefined\n) => {\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 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 unUpperConverted, // 强制不要转换\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' && !unUpperConverted) {\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, true),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore, false)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore, false)\n }\n\n return renderChildren(title.props.children)\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"]}
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 unUpperConverted?: boolean // 不要转换表头\n unTooltip?: boolean // 不要tooltip\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 | undefined\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 = (\n str: string,\n upperCaseIgnore: string[] | undefined,\n isPrompt: boolean | undefined\n) => {\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\n// const checkIsPrompt = (dom: any): boolean => {\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 unUpperConverted, // 强制不要转换\n unTooltip,\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 if (!unUpperConverted) {\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, true),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore, false)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore, false)\n }\n\n return renderChildren(title.props.children)\n }\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore, false)\n }\n },\n }\n })\n }\n if (!unTooltip) {\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 /**\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"]}
@@ -19,6 +19,7 @@ export interface TableContextValue {
19
19
  refresh?(): void;
20
20
  upperCaseIgnore?: string[];
21
21
  unUpperConverted?: boolean;
22
+ unTooltip?: boolean;
22
23
  }
23
24
  export declare const TableContext: import("react").Context<TableContextValue>;
24
25
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/table/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAO/B;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;IAE1C;;OAEG;IACH,gBAAgB,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,GAAG,IAAI,CAAA;IAEnE;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAA;IAEhB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAM3B;AAED,eAAO,MAAM,YAAY,4CAAuC,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/table/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAO/B;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;IAE1C;;OAEG;IACH,gBAAgB,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,GAAG,IAAI,CAAA;IAEnE;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAA;IAEhB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B,SAAS,CAAC,EAAE,OAAO,CAAA;CAMpB;AAED,eAAO,MAAM,YAAY,4CAAuC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/table/context.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAwCnC,QAAA,YAAY,GAAG,IAAA,qBAAa,EAAoB,EAAE,CAAC,CAAA","sourcesContent":["import { createContext, RefObject } from 'react'\n\nimport type { ColumnSetting } from './hooks/use-column-setting'\n\nexport interface TableContextValue {\n /**\n * column setting\n */\n columnSetting?: ColumnSetting[]\n\n // /**\n // * size\n // */\n // size?: TableProps<unknown>['size']\n\n /**\n * container ref\n */\n tableContainer?: RefObject<HTMLDivElement>\n\n /**\n * set column setting function\n */\n setColumnSetting?(columnSetting: ColumnSetting[] | undefined): void\n\n /**\n * refresh function\n */\n refresh?(): void\n\n upperCaseIgnore?: string[]\n\n unUpperConverted?: boolean\n\n // /**\n // * set size function\n // */\n // setSize?(size: TableProps<unknown>['size']): void\n}\n\nexport const TableContext = createContext<TableContextValue>({})\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/table/context.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AA0CnC,QAAA,YAAY,GAAG,IAAA,qBAAa,EAAoB,EAAE,CAAC,CAAA","sourcesContent":["import { createContext, RefObject } from 'react'\n\nimport type { ColumnSetting } from './hooks/use-column-setting'\n\nexport interface TableContextValue {\n /**\n * column setting\n */\n columnSetting?: ColumnSetting[]\n\n // /**\n // * size\n // */\n // size?: TableProps<unknown>['size']\n\n /**\n * container ref\n */\n tableContainer?: RefObject<HTMLDivElement>\n\n /**\n * set column setting function\n */\n setColumnSetting?(columnSetting: ColumnSetting[] | undefined): void\n\n /**\n * refresh function\n */\n refresh?(): void\n\n upperCaseIgnore?: string[]\n\n unUpperConverted?: boolean\n\n unTooltip?: boolean\n\n // /**\n // * set size function\n // */\n // setSize?(size: TableProps<unknown>['size']): void\n}\n\nexport const TableContext = createContext<TableContextValue>({})\n"]}
@@ -14,10 +14,11 @@ export declare type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {
14
14
  };
15
15
  refresh?(): void;
16
16
  unUpperConverted?: boolean;
17
+ unTooltip?: boolean;
17
18
  upperCaseIgnore?: string[];
18
19
  };
19
20
  export declare const Table: {
20
- <T>({ className, locale, bordered, size, storageKey, columns, children, shadowed, striped, showCellBorders, enableToolbar, refresh, upperCaseIgnore, unUpperConverted, ...rest }: TableProps<T>): JSX.Element;
21
+ <T>({ className, locale, bordered, size, storageKey, columns, children, shadowed, striped, showCellBorders, enableToolbar, refresh, upperCaseIgnore, unUpperConverted, unTooltip, ...rest }: TableProps<T>): JSX.Element;
21
22
  Column: typeof Column;
22
23
  ColumnGroup: typeof ColumnGroup;
23
24
  displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAI7B,MAAM,eAAe,CAAA;AAEtB,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAkBnD,oBAAY,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACrC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAA;AAqED,eAAO,MAAM,KAAK;;;;;0BAnCX,MAAM,mBACM,MAAM,EAAE,GAAG,SAAS,YAC3B,OAAO,GAAG,SAAS;CAsN9B,CAAA"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAI7B,MAAM,eAAe,CAAA;AAEtB,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAkBnD,oBAAY,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACrC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAA;AAqED,eAAO,MAAM,KAAK;;;;;0BAnCX,MAAM,mBACM,MAAM,EAAE,GAAG,SAAS,YAC3B,OAAO,GAAG,SAAS;CA2N9B,CAAA"}
@@ -103,23 +103,22 @@ const titleCaseUpper = (str, upperCaseIgnore, isPrompt) => {
103
103
  return str;
104
104
  };
105
105
  // 判断是否是特殊的tooltip
106
- const checkIsPrompt = (dom) => {
107
- var _a;
108
- let isPrompt = false;
109
- if (react_1.default.isValidElement(dom)) {
110
- if ((dom === null || dom === void 0 ? void 0 : dom.type) && typeof (dom === null || dom === void 0 ? void 0 : dom.type) === 'function') {
111
- if (['Tooltip', 'Popconfirm'].includes((_a = dom === null || dom === void 0 ? void 0 : dom.type) === null || _a === void 0 ? void 0 : _a.name)) {
112
- isPrompt = true;
113
- }
114
- }
115
- }
116
- return isPrompt;
117
- };
106
+ // const checkIsPrompt = (dom: any): boolean => {
107
+ // let isPrompt: boolean = false
108
+ // if (React.isValidElement(dom)) {
109
+ // if (dom?.type && typeof dom?.type === 'function') {
110
+ // if (['Tooltip', 'Popconfirm'].includes(dom?.type?.name)) {
111
+ // isPrompt = true
112
+ // }
113
+ // }
114
+ // }
115
+ // return isPrompt
116
+ // }
118
117
  const Table = (_a) => {
119
118
  var { className, locale, bordered, size, storageKey, columns, children, shadowed = !bordered, striped = false, showCellBorders = false,
120
119
  // pagination,
121
- enableToolbar = false, refresh, upperCaseIgnore, unUpperConverted } = _a, // 强制不要转换
122
- rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "shadowed", "striped", "showCellBorders", "enableToolbar", "refresh", "upperCaseIgnore", "unUpperConverted"]);
120
+ enableToolbar = false, refresh, upperCaseIgnore, unUpperConverted, // 强制不要转换
121
+ unTooltip } = _a, rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "shadowed", "striped", "showCellBorders", "enableToolbar", "refresh", "upperCaseIgnore", "unUpperConverted", "unTooltip"]);
123
122
  const tableContainer = (0, react_1.useRef)(null);
124
123
  // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(
125
124
  // TABLE_SIZE_STORAGE_KEY,
@@ -130,64 +129,68 @@ const Table = (_a) => {
130
129
  const lang = (0, prev_locale_1.getLanguage)();
131
130
  let newColumns = displayColumns;
132
131
  // 非中文做处理
133
- if (lang !== 'cn' && !unUpperConverted) {
134
- newColumns = displayColumns === null || displayColumns === void 0 ? void 0 : displayColumns.map((column) => {
135
- return Object.assign(Object.assign({}, column), { title: (options) => {
136
- let title = column.title;
137
- if (typeof title === 'function') {
138
- title = title(options);
139
- }
140
- if (react_1.default.isValidElement(title)) {
141
- const renderChildren = (children) => {
142
- if (react_1.default.isValidElement(children) || Array.isArray(children)) {
143
- return react_1.default.Children.map(children, (child) => {
144
- var _a;
145
- if (react_1.default.isValidElement(child)) {
146
- const childProps = (child.props || {});
147
- return react_1.default.cloneElement(child, Object.assign(Object.assign({}, childProps), { children: ((_a = childProps.children) === null || _a === void 0 ? void 0 : _a.length)
148
- ? renderChildren(childProps.children)
149
- : childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore, true) }));
150
- }
151
- else {
152
- return titleCaseUpper(child, upperCaseIgnore, false);
153
- }
154
- });
155
- }
156
- return titleCaseUpper(children, upperCaseIgnore, false);
157
- };
158
- return renderChildren(title.props.children);
159
- }
160
- if (typeof title === 'string') {
161
- return titleCaseUpper(title, upperCaseIgnore, false);
162
- }
163
- } });
164
- });
165
- newColumns = newColumns === null || newColumns === void 0 ? void 0 : newColumns.map((column) => {
166
- if (!(column.width && !String(column.width).includes('%'))) {
167
- return column;
168
- }
169
- else {
132
+ if (lang !== 'cn') {
133
+ if (!unUpperConverted) {
134
+ newColumns = displayColumns === null || displayColumns === void 0 ? void 0 : displayColumns.map((column) => {
170
135
  return Object.assign(Object.assign({}, column), { title: (options) => {
171
136
  let title = column.title;
172
137
  if (typeof title === 'function') {
173
138
  title = title(options);
174
139
  }
175
- let widthLimitObj = {};
176
- if (column.width && !String(column.width).includes('%')) {
177
- let width = column.width;
178
- if (typeof width === 'string') {
179
- width = width.replace(/[^\d]/g, ' ');
180
- }
181
- widthLimitObj = {
182
- widthLimit: Number(width) -
183
- Number(sizeWidthMap[size || 'default']) -
184
- (column.sorter ? 20 : 0),
140
+ if (react_1.default.isValidElement(title)) {
141
+ const renderChildren = (children) => {
142
+ if (react_1.default.isValidElement(children) || Array.isArray(children)) {
143
+ return react_1.default.Children.map(children, (child) => {
144
+ var _a;
145
+ if (react_1.default.isValidElement(child)) {
146
+ const childProps = (child.props || {});
147
+ return react_1.default.cloneElement(child, Object.assign(Object.assign({}, childProps), { children: ((_a = childProps.children) === null || _a === void 0 ? void 0 : _a.length)
148
+ ? renderChildren(childProps.children)
149
+ : childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore, true) }));
150
+ }
151
+ else {
152
+ return titleCaseUpper(child, upperCaseIgnore, false);
153
+ }
154
+ });
155
+ }
156
+ return titleCaseUpper(children, upperCaseIgnore, false);
185
157
  };
158
+ return renderChildren(title.props.children);
159
+ }
160
+ if (typeof title === 'string') {
161
+ return titleCaseUpper(title, upperCaseIgnore, false);
186
162
  }
187
- return (react_1.default.createElement(ellipsis_1.default, Object.assign({}, widthLimitObj, { placement: (column === null || column === void 0 ? void 0 : column.placement) || 'topLeft', title: title })));
188
163
  } });
189
- }
190
- });
164
+ });
165
+ }
166
+ if (!unTooltip) {
167
+ newColumns = newColumns === null || newColumns === void 0 ? void 0 : newColumns.map((column) => {
168
+ if (!(column.width && !String(column.width).includes('%'))) {
169
+ return column;
170
+ }
171
+ else {
172
+ return Object.assign(Object.assign({}, column), { title: (options) => {
173
+ let title = column.title;
174
+ if (typeof title === 'function') {
175
+ title = title(options);
176
+ }
177
+ let widthLimitObj = {};
178
+ if (column.width && !String(column.width).includes('%')) {
179
+ let width = column.width;
180
+ if (typeof width === 'string') {
181
+ width = width.replace(/[^\d]/g, ' ');
182
+ }
183
+ widthLimitObj = {
184
+ widthLimit: Number(width) -
185
+ Number(sizeWidthMap[size || 'default']) -
186
+ (column.sorter ? 20 : 0),
187
+ };
188
+ }
189
+ return (react_1.default.createElement(ellipsis_1.default, Object.assign({}, widthLimitObj, { placement: (column === null || column === void 0 ? void 0 : column.placement) || 'topLeft', title: title })));
190
+ } });
191
+ }
192
+ });
193
+ }
191
194
  }
192
195
  /**
193
196
  * update the innerSize when props size changes
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAAwD;AACxD,4FAAmE;AAOnE,0DAAoD;AACpD,kEAAyC;AACzC,4EAAmD;AACnD,4DAAmC;AACnC,+CAA8C;AAC9C,2DAAkC;AAClC,uCAAwC;AACxC,mCAA0C;AAC1C,mCAA0C;AAC1C,iDAA4C;AAC5C,gDAA4C;AAC5C,2CAAoD;AAEpD,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,EAAE,EAAE,EAAE,EAAE,IAAI;CACb,CAAA;AAiBD,MAAM,oBAAoB,GAAG,CAAC,MAAsD,EAAE,EAAE,CAAC,CAAC;IACxF,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,8BAAC,0BAAW,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI;CAC5E,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAClB,GAAW,EACX,eAAqC,EACrC,QAA6B,EACrB,EAAE;IACV,IAAI,QAAQ,EAAE;QACZ,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QACvC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACtE;IACD,MAAM,KAAK,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,gBAAgB,GAAa,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,CAAS,EAAE,EAAE;QACvE,MAAM,aAAa,GAAW,IAAI,CAAC,WAAW,EAAE,CAAA;QAChD,IAAI,UAAU,GAAG,wBAAY,CAAC,MAAM,CAAC,oBAAQ,CAAC,CAAA;QAC9C,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,EAAE;YAC3B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAC/C,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;SAC7C;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjD,OAAO,aAAa,CAAA;SACrB;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SACpD;IACH,CAAC,CAAC,CAAA;IACF,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,aAAa;AACb,MAAM,cAAc,GAAG,CACrB,GAAW,EACX,eAAqC,EACrC,QAA6B,EAC7B,EAAE;IACF,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,GAAG,CAAA;KACX;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,YAAY;QACZ,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,QAAQ,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzC,OAAO,QAAQ;iBACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,OAAO,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAA;YACrD,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,CAAA;SACb;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAA;KACnD;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,kBAAkB;AAClB,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAW,EAAE;;IAC1C,IAAI,QAAQ,GAAY,KAAK,CAAA;IAC7B,IAAI,eAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QAC7B,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,KAAK,UAAU,EAAE;YAChD,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,IAAI,CAAC,EAAE;gBACvD,QAAQ,GAAG,IAAI,CAAA;aAChB;SACF;KACF;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAEM,MAAM,KAAK,GAAG,CAAK,EAiBV,EAAE,EAAE;QAjBM,EACxB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,CAAC,QAAQ,EACpB,OAAO,GAAG,KAAK,EACf,eAAe,GAAG,KAAK;IACvB,gBAAgB;IAChB,aAAa,GAAG,KAAK,EACrB,OAAO,EACP,eAAe,EACf,gBAAgB,OAEF,EAFI,SAAS;IACxB,IAAI,cAhBiB,6LAiBzB,CADQ;IAEP,MAAM,cAAc,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAA;IACnD,4EAA4E;IAC5E,4BAA4B;IAC5B,cAAc;IACd,IAAI;IACJ,MAAM,iBAAiB,GAAG,IAAA,eAAO,EAC/B,GAAG,EAAE,CAAC,OAAO,IAAI,IAAA,wBAAgB,EAAI,QAA+B,CAAC,EACrE,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAA;IACD,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,wBAAgB,EACxE,iBAAiB,EACjB,UAAU,CACX,CAAA;IAED,MAAM,IAAI,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC1B,IAAI,UAAU,GAAG,cAAc,CAAA;IAC/B,WAAW;IACX,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE;QACtC,UAAU,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,uCACK,MAAM,KACT,KAAK,EAAE,CAAC,OAIP,EAAE,EAAE;oBACH,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;oBACxB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;wBAC/B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;qBACvB;oBACD,IAAI,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;wBAC/B,MAAM,cAAc,GAAG,CAAC,QAAqB,EAAmB,EAAE;4BAChE,IAAI,eAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gCAC7D,OAAO,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;;oCAC5C,IAAI,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;wCAC/B,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAQ,CAAA;wCAC7C,OAAO,eAAK,CAAC,YAAY,CAAC,KAAK,kCAC1B,UAAU,KACb,QAAQ,EAAE,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,MAAM;gDACnC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC;gDACrC,CAAC,CAAC,UAAU,CAAC,QAAQ,EACvB,KAAK,EAAE,cAAc,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,IAC/D,CAAA;qCACH;yCAAM;wCACL,OAAO,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;qCACrD;gCACH,CAAC,CAAC,CAAA;6BACH;4BAED,OAAO,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;wBACzD,CAAC,CAAA;wBAED,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;qBAC5C;oBACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7B,OAAO,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;qBACrD;gBACH,CAAC,IACF;QACH,CAAC,CAAC,CAAA;QACF,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC1D,OAAO,MAAM,CAAA;aACd;iBAAM;gBACL,uCACK,MAAM,KACT,KAAK,EAAE,CAAC,OAIP,EAAE,EAAE;wBACH,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;wBACxB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;4BAC/B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;yBACvB;wBAED,IAAI,aAAa,GAAG,EAAE,CAAA;wBACtB,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACvD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;4BACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gCAC7B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;6BACrC;4BACD,aAAa,GAAG;gCACd,UAAU,EACR,MAAM,CAAC,KAAK,CAAC;oCACb,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;oCACvC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC3B,CAAA;yBACF;wBACD,OAAO,CACL,8BAAC,kBAAQ,oBACH,aAAa,IACjB,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,SAAS,EACzC,KAAK,EAAE,KAAK,IACZ,CACH,CAAA;oBACH,CAAC,IACF;aACF;QACH,CAAC,CAAC,CAAA;KACH;IAED;;OAEG;IACH,oBAAoB;IACpB,gBAAgB;IAChB,yBAAyB;IACzB,MAAM;IACN,2BAA2B;IAE3B,OAAO,CACL,8BAAC,sBAAY,CAAC,QAAQ,IACpB,KAAK,EAAE;YACL,mBAAmB;YACnB,cAAc;YACd,aAAa;YACb,OAAO;YACP,eAAe;YACf,yBAAyB;YACzB,gBAAgB;SACjB;QAED,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACvC,OAAO,CACL,uCAAK,GAAG,EAAE,cAAc;gBACtB,8BAAC,wBAAc,IAAC,aAAa,EAAC,OAAO,EAAC,aAAa,EAAE,MAAM,IACxD,CAAC,YAAY,EAAE,EAAE;oBAChB,0DAA0D;oBAC1D,oFAAoF;oBACpF,OAAO,CACL,8BAAC,eAAS,kBACR,SAAS,EAAE,IAAA,oBAAU;wBACnB,aAAa;wBACb,mBAAmB,EACnB;4BACE,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,CAAC,QAAQ;4BACtC,CAAC,GAAG,SAAS,oBAAoB,CAAC,EAAE,CAAC,eAAe;4BACpD,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,IAAI,KAAK,OAAO;4BAC7C,CAAC,GAAG,SAAS,cAAc,CAAC,EAAE,IAAI,KAAK,QAAQ;4BAC/C,CAAC,GAAG,SAAS,cAAc,CAAC,EAAE,IAAI,KAAK,QAAQ;4BAC/C,CAAC,GAAG,SAAS,UAAU,CAAC,EAAE,OAAO;4BACjC,CAAC,GAAG,SAAS,WAAW,CAAC,EAAE,QAAQ;yBACpC,EACD,SAAS,CACV,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,UAAU,IACf,IAAI,EACR,CACH,CAAA;gBACH,CAAC,CACc,CACb,CACP,CAAA;QACH,CAAC,CACc,CACK,CACzB,CAAA;AACH,CAAC,CAAA;AArLY,QAAA,KAAK,SAqLjB;AAED,aAAK,CAAC,MAAM,GAAG,gBAAM,CAAA;AACrB,aAAK,CAAC,WAAW,GAAG,qBAAW,CAAA;AAC/B,aAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAC3B,aAAK,CAAC,cAAc,GAAG,cAAc,CAAA","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 unUpperConverted?: boolean // 不要转换表头\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 | undefined\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 = (\n str: string,\n upperCaseIgnore: string[] | undefined,\n isPrompt: boolean | undefined\n) => {\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 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 unUpperConverted, // 强制不要转换\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' && !unUpperConverted) {\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, true),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore, false)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore, false)\n }\n\n return renderChildren(title.props.children)\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"]}
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 unUpperConverted?: boolean // 不要转换表头\n unTooltip?: boolean // 不要tooltip\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 | undefined\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 = (\n str: string,\n upperCaseIgnore: string[] | undefined,\n isPrompt: boolean | undefined\n) => {\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\n// const checkIsPrompt = (dom: any): boolean => {\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 unUpperConverted, // 强制不要转换\n unTooltip,\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 if (!unUpperConverted) {\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, true),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore, false)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore, false)\n }\n\n return renderChildren(title.props.children)\n }\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore, false)\n }\n },\n }\n })\n }\n if (!unTooltip) {\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 /**\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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "2.7.25",
3
+ "version": "2.7.27",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "@icon-park/react": "^1.3.5",