xmirror-components 1.0.30-alpha.8 → 1.0.30
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/README.md +1129 -11
- package/build/dist/index.cjs +36 -36
- package/build/dist/index.mjs +1914 -1884
- package/build/es/components/ConfigProvider/index.js +11 -14
- package/build/es/components/ConfigProvider/types.d.ts +2 -0
- package/build/es/components/IntlProvider/FormattedMessage/index.d.ts +7 -0
- package/build/es/components/IntlProvider/FormattedMessage/index.js +8 -0
- package/build/es/components/IntlProvider/index.d.ts +12 -0
- package/build/es/components/IntlProvider/index.js +17 -0
- package/build/es/components/IntlProvider/types.d.ts +7 -0
- package/build/es/components/IntlProvider/types.js +1 -0
- package/build/es/components/IntlProvider/useIntl/index.d.ts +14 -0
- package/build/es/components/IntlProvider/useIntl/index.js +26 -0
- package/build/es/components/SearchArea/ToggleButton/index.js +2 -1
- package/build/es/components/SearchArea/index.js +6 -3
- package/build/es/components/Table/Footer/index.d.ts +1 -1
- package/build/es/components/Table/Footer/index.js +1 -1
- package/build/es/components/Table/PopoverSetColumns/index.js +1 -1
- package/build/es/hooks/useTable/index.js +1 -1
- package/build/es/locale/en-us.d.ts +25 -0
- package/build/es/locale/en-us.js +27 -0
- package/build/es/locale/index.d.ts +3 -0
- package/build/es/locale/index.js +7 -0
- package/build/es/locale/types.d.ts +9 -0
- package/build/es/locale/types.js +1 -0
- package/build/es/locale/zh-cn.d.ts +25 -0
- package/build/es/locale/zh-cn.js +28 -0
- package/build/lib/components/ConfigProvider/index.js +11 -14
- package/build/lib/components/IntlProvider/FormattedMessage/index.js +11 -0
- package/build/lib/components/IntlProvider/index.js +25 -0
- package/build/lib/components/IntlProvider/types.js +2 -0
- package/build/lib/components/IntlProvider/useIntl/index.js +31 -0
- package/build/lib/components/SearchArea/ToggleButton/index.js +2 -1
- package/build/lib/components/SearchArea/index.js +6 -3
- package/build/lib/components/Table/Footer/index.js +2 -2
- package/build/lib/components/Table/PopoverSetColumns/index.js +2 -2
- package/build/lib/hooks/useTable/index.js +2 -2
- package/build/lib/index.d.ts +3 -0
- package/build/lib/locale/en-us.d.ts +25 -0
- package/build/lib/locale/en-us.js +29 -0
- package/build/lib/locale/index.d.ts +3 -0
- package/build/lib/locale/index.js +13 -0
- package/build/lib/locale/types.d.ts +9 -0
- package/build/lib/locale/types.js +2 -0
- package/build/lib/locale/zh-cn.d.ts +25 -0
- package/build/lib/locale/zh-cn.js +30 -0
- package/build/package.json +1 -1
- package/build/types/components/ConfigProvider/types.d.ts +2 -0
- package/build/types/components/IntlProvider/FormattedMessage/index.d.ts +7 -0
- package/build/types/components/IntlProvider/index.d.ts +12 -0
- package/build/types/components/IntlProvider/types.d.ts +7 -0
- package/build/types/components/IntlProvider/useIntl/index.d.ts +14 -0
- package/build/types/components/Table/Footer/index.d.ts +1 -1
- package/build/types/locale/en-us.d.ts +25 -0
- package/build/types/locale/index.d.ts +3 -0
- package/build/types/locale/types.d.ts +9 -0
- package/build/types/locale/zh-cn.d.ts +25 -0
- package/package.json +1 -1
|
@@ -9,18 +9,9 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
-
var t = {};
|
|
14
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
-
t[p] = s[p];
|
|
16
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
-
t[p[i]] = s[p[i]];
|
|
20
|
-
}
|
|
21
|
-
return t;
|
|
22
|
-
};
|
|
23
12
|
import React from 'react';
|
|
13
|
+
import IntlProvider from '../IntlProvider';
|
|
14
|
+
import { messages } from '../../locale';
|
|
24
15
|
// 递归合并函数
|
|
25
16
|
function deepMerge(target, source) {
|
|
26
17
|
var result = __assign({}, target);
|
|
@@ -40,14 +31,20 @@ var baseConfig = {
|
|
|
40
31
|
iconButton: {
|
|
41
32
|
size: 'small',
|
|
42
33
|
render: function (_a) {
|
|
43
|
-
var children = _a.children
|
|
34
|
+
var children = _a.children;
|
|
44
35
|
return children;
|
|
45
36
|
}
|
|
46
37
|
},
|
|
47
|
-
iconFont: {}
|
|
38
|
+
iconFont: {},
|
|
39
|
+
locale: 'zh'
|
|
48
40
|
};
|
|
49
41
|
export var ConfigContext = React.createContext(baseConfig);
|
|
50
42
|
export default function ConfigProvider(_a) {
|
|
51
43
|
var children = _a.children, config = _a.config;
|
|
52
|
-
|
|
44
|
+
var mergeConfig = deepMerge(baseConfig, config);
|
|
45
|
+
return (React.createElement(ConfigContext.Provider, { value: mergeConfig },
|
|
46
|
+
React.createElement(IntlProvider, { config: {
|
|
47
|
+
locale: config.locale,
|
|
48
|
+
messages: messages
|
|
49
|
+
} }, children)));
|
|
53
50
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { IconButtonProps } from "../IconButton";
|
|
3
3
|
import { IconFontProps } from "../IconFont";
|
|
4
|
+
import { type MessagesKeys } from "../../locale";
|
|
4
5
|
type IconButtonConfig = Pick<IconButtonProps, 'size' | 'className' | 'style'> & {
|
|
5
6
|
render: (props: IconButtonProps & {
|
|
6
7
|
children: React.ReactNode;
|
|
@@ -10,6 +11,7 @@ type IconFontConfig = Pick<IconFontProps, 'className' | 'style'>;
|
|
|
10
11
|
export interface ConfigContextProps {
|
|
11
12
|
iconButton: IconButtonConfig;
|
|
12
13
|
iconFont: IconFontConfig;
|
|
14
|
+
locale: MessagesKeys;
|
|
13
15
|
}
|
|
14
16
|
export type ConfigProviderConfigProps = Partial<ConfigContextProps>;
|
|
15
17
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { IntlContext } from '../index';
|
|
3
|
+
import { formatMessageFn } from '../useIntl';
|
|
4
|
+
export default function FormattedMessage(_a) {
|
|
5
|
+
var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
|
|
6
|
+
var _b = useContext(IntlContext), messages = _b.messages, locale = _b.locale;
|
|
7
|
+
return formatMessageFn({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IntlContextProps, IntlProviderConfigProps } from './types';
|
|
3
|
+
export type { IntlProviderConfigProps, IntlContextProps } from './types';
|
|
4
|
+
import FormattedMessage from './FormattedMessage';
|
|
5
|
+
import useIntl from './useIntl';
|
|
6
|
+
export declare const IntlContext: React.Context<IntlContextProps>;
|
|
7
|
+
interface IntlProviderProps {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
config: IntlProviderConfigProps;
|
|
10
|
+
}
|
|
11
|
+
export default function IntlProvider({ children, config }: IntlProviderProps): React.JSX.Element;
|
|
12
|
+
export { FormattedMessage, useIntl };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { messages } from '../../locale';
|
|
3
|
+
import FormattedMessage from './FormattedMessage';
|
|
4
|
+
import useIntl from './useIntl';
|
|
5
|
+
var baseConfig = {
|
|
6
|
+
locale: 'zh',
|
|
7
|
+
messages: messages
|
|
8
|
+
};
|
|
9
|
+
export var IntlContext = React.createContext(baseConfig);
|
|
10
|
+
export default function IntlProvider(_a) {
|
|
11
|
+
var children = _a.children, config = _a.config;
|
|
12
|
+
return (React.createElement(IntlContext.Provider, { value: {
|
|
13
|
+
locale: config.locale,
|
|
14
|
+
messages: messages
|
|
15
|
+
} }, children));
|
|
16
|
+
}
|
|
17
|
+
export { FormattedMessage, useIntl };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface FormattedMessageProps {
|
|
2
|
+
id: string;
|
|
3
|
+
defaultMessage?: string;
|
|
4
|
+
values?: Record<string, any>;
|
|
5
|
+
}
|
|
6
|
+
export declare const formatMessageFn: ({ messages, locale }: {
|
|
7
|
+
messages: any;
|
|
8
|
+
locale: string;
|
|
9
|
+
}) => ({ id, defaultMessage, values }: FormattedMessageProps) => any;
|
|
10
|
+
export default function useIntl(): {
|
|
11
|
+
$t: ({ id, defaultMessage }: FormattedMessageProps, values?: Record<string, any>) => any;
|
|
12
|
+
formatMessage: ({ id, defaultMessage, values }: FormattedMessageProps) => any;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { IntlContext } from '../index';
|
|
3
|
+
export var formatMessageFn = function (_a) {
|
|
4
|
+
var messages = _a.messages, locale = _a.locale;
|
|
5
|
+
return function (_a) {
|
|
6
|
+
var _b;
|
|
7
|
+
var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
|
|
8
|
+
var message = ((_b = messages === null || messages === void 0 ? void 0 : messages[locale]) === null || _b === void 0 ? void 0 : _b[id]) || defaultMessage;
|
|
9
|
+
if (typeof values === 'object') {
|
|
10
|
+
Object.keys(values).forEach(function (key) {
|
|
11
|
+
message = message.replace("{".concat(key, "}"), values[key]);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return message;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default function useIntl() {
|
|
18
|
+
var _a = useContext(IntlContext), messages = _a.messages, locale = _a.locale;
|
|
19
|
+
return {
|
|
20
|
+
$t: function (_a, values) {
|
|
21
|
+
var id = _a.id, defaultMessage = _a.defaultMessage;
|
|
22
|
+
return formatMessageFn({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
|
|
23
|
+
},
|
|
24
|
+
formatMessage: formatMessageFn({ messages: messages, locale: locale })
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -6,6 +6,7 @@ import React, { useCallback, useMemo } from 'react';
|
|
|
6
6
|
import { Button } from 'antd';
|
|
7
7
|
import { CaretUpOutlined } from '@ant-design/icons';
|
|
8
8
|
import styled from '@emotion/styled';
|
|
9
|
+
import { FormattedMessage } from '../../IntlProvider';
|
|
9
10
|
var AnimatedIcon = styled(CaretUpOutlined, {
|
|
10
11
|
shouldForwardProp: function (prop) { return prop !== 'show'; },
|
|
11
12
|
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"], ["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"])), function (props) { return props.show ? '0deg' : '180deg'; });
|
|
@@ -24,7 +25,7 @@ function ToggleButton(_a) {
|
|
|
24
25
|
onChange === null || onChange === void 0 ? void 0 : onChange(!(panel === null || panel === void 0 ? void 0 : panel.show));
|
|
25
26
|
}, [panel]);
|
|
26
27
|
return (React.createElement(Button, { type: "link", style: { paddingLeft: 0, paddingRight: 0 }, onClick: toggle },
|
|
27
|
-
"
|
|
28
|
+
React.createElement(FormattedMessage, { id: "comgponent.searcharea.togle", defaultMessage: '高级搜索' }),
|
|
28
29
|
React.createElement(AnimatedIcon, { show: show })));
|
|
29
30
|
}
|
|
30
31
|
export default ToggleButton;
|
|
@@ -30,6 +30,7 @@ import { UpOutlined } from '@ant-design/icons';
|
|
|
30
30
|
import styled from '@emotion/styled';
|
|
31
31
|
import Item from './Item';
|
|
32
32
|
import ToggleButton from './ToggleButton';
|
|
33
|
+
import { FormattedMessage } from '../IntlProvider';
|
|
33
34
|
var AnimatedContainer = styled('div', {
|
|
34
35
|
shouldForwardProp: function (prop) { return prop !== 'show'; },
|
|
35
36
|
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"], ["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"])), function (props) { return props.show ? '450px' : '0'; });
|
|
@@ -106,13 +107,15 @@ function InternalSearchArea(_a) {
|
|
|
106
107
|
: children,
|
|
107
108
|
React.createElement(Col, { flex: 1 },
|
|
108
109
|
React.createElement(SearchAreaHandle, null,
|
|
109
|
-
React.createElement(Button, { loading: loading, type: "primary", onClick: submit },
|
|
110
|
-
|
|
110
|
+
React.createElement(Button, { loading: loading, type: "primary", onClick: submit },
|
|
111
|
+
React.createElement(FormattedMessage, { id: "component.searcharea.submit", defaultMessage: '筛选' })),
|
|
112
|
+
React.createElement(Button, { loading: loading, onClick: reset },
|
|
113
|
+
React.createElement(FormattedMessage, { id: "component.searcharea.reset", defaultMessage: '重置' })),
|
|
111
114
|
React.createElement(Button, { type: "link", style: {
|
|
112
115
|
paddingLeft: 0,
|
|
113
116
|
paddingRight: 0
|
|
114
117
|
}, onClick: close },
|
|
115
|
-
"
|
|
118
|
+
React.createElement(FormattedMessage, { id: "component.searcharea.close", defaultMessage: '收起' }),
|
|
116
119
|
React.createElement(UpOutlined, null))))))));
|
|
117
120
|
}
|
|
118
121
|
var SearchArea = InternalSearchArea;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useMemo, useRef } from 'react';
|
|
2
|
-
import { FormattedMessage } from '
|
|
2
|
+
import { FormattedMessage } from '../../IntlProvider';
|
|
3
3
|
import { Checkbox, Col } from 'antd';
|
|
4
4
|
import { CSSTransition } from 'react-transition-group';
|
|
5
5
|
import { CloseOutlined } from '@ant-design/icons';
|
|
@@ -9,7 +9,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
9
9
|
};
|
|
10
10
|
import React, { useMemo, useRef } from 'react';
|
|
11
11
|
import { Checkbox, Popover } from 'antd';
|
|
12
|
-
import { FormattedMessage } from '
|
|
12
|
+
import { FormattedMessage } from '../../IntlProvider';
|
|
13
13
|
import { HolderOutlined } from '@ant-design/icons';
|
|
14
14
|
// import { message, IconFont } from 'xmirror-components'
|
|
15
15
|
import { message } from '../../AntdApp';
|
|
@@ -55,7 +55,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
55
55
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
56
56
|
};
|
|
57
57
|
import { useEffect, useRef, useState, useCallback } from 'react';
|
|
58
|
-
import { useIntl } from '
|
|
58
|
+
import { useIntl } from '../../components/IntlProvider';
|
|
59
59
|
import { useMemoizedFn } from 'ahooks';
|
|
60
60
|
import { message } from '../../components/AntdApp';
|
|
61
61
|
var ORDER_MAP = {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare const messages: {
|
|
2
|
+
'operation.add': string;
|
|
3
|
+
'operation.delete': string;
|
|
4
|
+
'operation.batchDelete': string;
|
|
5
|
+
'operation.edit': string;
|
|
6
|
+
'operation.download': string;
|
|
7
|
+
'operation.logout': string;
|
|
8
|
+
'operation.export': string;
|
|
9
|
+
'operation.close': string;
|
|
10
|
+
'operation.details': string;
|
|
11
|
+
'operation.confirm': string;
|
|
12
|
+
'operation.save': string;
|
|
13
|
+
'operation.cancel': string;
|
|
14
|
+
'component.table.selected': string;
|
|
15
|
+
'component.table.total': string;
|
|
16
|
+
'component.table.visibleError': string;
|
|
17
|
+
'component.searcharea.toggle': string;
|
|
18
|
+
'component.searcharea.submit': string;
|
|
19
|
+
'component.searcharea.reset': string;
|
|
20
|
+
'component.searcharea.close': string;
|
|
21
|
+
'message.delete': string;
|
|
22
|
+
'message.success': string;
|
|
23
|
+
'table.pagination.total': string;
|
|
24
|
+
};
|
|
25
|
+
export default messages;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var messages = {
|
|
2
|
+
'operation.add': 'Add',
|
|
3
|
+
'operation.delete': 'Delete',
|
|
4
|
+
'operation.batchDelete': 'Batch Delete',
|
|
5
|
+
'operation.edit': 'Edit',
|
|
6
|
+
'operation.download': 'Download',
|
|
7
|
+
'operation.logout': 'Logout',
|
|
8
|
+
'operation.export': 'Export',
|
|
9
|
+
'operation.close': 'Close',
|
|
10
|
+
'operation.details': 'Details',
|
|
11
|
+
'operation.confirm': 'Confirm',
|
|
12
|
+
'operation.save': 'Save',
|
|
13
|
+
'operation.cancel': 'Cancel',
|
|
14
|
+
// Components
|
|
15
|
+
'component.table.selected': '{length} selected',
|
|
16
|
+
'component.table.total': 'Total {total} items',
|
|
17
|
+
'component.table.visibleError': 'At least one field must be visible',
|
|
18
|
+
'component.searcharea.toggle': 'Advanced Search',
|
|
19
|
+
'component.searcharea.submit': 'Submit',
|
|
20
|
+
'component.searcharea.reset': 'Reset',
|
|
21
|
+
'component.searcharea.close': 'Close',
|
|
22
|
+
// Messages
|
|
23
|
+
'message.delete': 'This action cannot be undone, confirm delete?',
|
|
24
|
+
'message.success': 'Operation successful',
|
|
25
|
+
'table.pagination.total': 'Total {total} items',
|
|
26
|
+
};
|
|
27
|
+
export default messages;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare const messages: {
|
|
2
|
+
'operation.add': string;
|
|
3
|
+
'operation.delete': string;
|
|
4
|
+
'operation.batchDelete': string;
|
|
5
|
+
'operation.edit': string;
|
|
6
|
+
'operation.download': string;
|
|
7
|
+
'operation.logout': string;
|
|
8
|
+
'operation.export': string;
|
|
9
|
+
'operation.close': string;
|
|
10
|
+
'operation.details': string;
|
|
11
|
+
'operation.confirm': string;
|
|
12
|
+
'operation.save': string;
|
|
13
|
+
'operation.cancel': string;
|
|
14
|
+
'component.table.selected': string;
|
|
15
|
+
'component.table.total': string;
|
|
16
|
+
'component.table.visibleError': string;
|
|
17
|
+
'component.searcharea.toggle': string;
|
|
18
|
+
'component.searcharea.submit': string;
|
|
19
|
+
'component.searcharea.reset': string;
|
|
20
|
+
'component.searcharea.close': string;
|
|
21
|
+
'message.delete': string;
|
|
22
|
+
'message.success': string;
|
|
23
|
+
'table.pagination.total': string;
|
|
24
|
+
};
|
|
25
|
+
export default messages;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var messages = {
|
|
2
|
+
// 操作类
|
|
3
|
+
'operation.add': '添加',
|
|
4
|
+
'operation.delete': '删除',
|
|
5
|
+
'operation.batchDelete': '批量删除',
|
|
6
|
+
'operation.edit': '编辑',
|
|
7
|
+
'operation.download': '下载',
|
|
8
|
+
'operation.logout': '退出登录',
|
|
9
|
+
'operation.export': '导出',
|
|
10
|
+
'operation.close': '关闭',
|
|
11
|
+
'operation.details': '详情',
|
|
12
|
+
'operation.confirm': '确认',
|
|
13
|
+
'operation.save': '保存',
|
|
14
|
+
'operation.cancel': '取消',
|
|
15
|
+
// 组件
|
|
16
|
+
'component.table.selected': '已选{length}条',
|
|
17
|
+
'component.table.total': '共{total}条',
|
|
18
|
+
'component.table.visibleError': '列表最少保留一个字段',
|
|
19
|
+
'component.searcharea.toggle': '高级搜索',
|
|
20
|
+
'component.searcharea.submit': '筛选',
|
|
21
|
+
'component.searcharea.reset': '重置',
|
|
22
|
+
'component.searcharea.close': '收起',
|
|
23
|
+
// 提示类
|
|
24
|
+
'message.delete': '删除操作无法恢复,确认删除?',
|
|
25
|
+
'message.success': '操作成功',
|
|
26
|
+
'table.pagination.total': '共{total}条',
|
|
27
|
+
};
|
|
28
|
+
export default messages;
|
|
@@ -10,17 +10,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
15
|
};
|
|
@@ -28,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
28
17
|
exports.ConfigContext = void 0;
|
|
29
18
|
exports.default = ConfigProvider;
|
|
30
19
|
var react_1 = __importDefault(require("react"));
|
|
20
|
+
var IntlProvider_1 = __importDefault(require("../IntlProvider"));
|
|
21
|
+
var locale_1 = require("../../locale");
|
|
31
22
|
// 递归合并函数
|
|
32
23
|
function deepMerge(target, source) {
|
|
33
24
|
var result = __assign({}, target);
|
|
@@ -47,14 +38,20 @@ var baseConfig = {
|
|
|
47
38
|
iconButton: {
|
|
48
39
|
size: 'small',
|
|
49
40
|
render: function (_a) {
|
|
50
|
-
var children = _a.children
|
|
41
|
+
var children = _a.children;
|
|
51
42
|
return children;
|
|
52
43
|
}
|
|
53
44
|
},
|
|
54
|
-
iconFont: {}
|
|
45
|
+
iconFont: {},
|
|
46
|
+
locale: 'zh'
|
|
55
47
|
};
|
|
56
48
|
exports.ConfigContext = react_1.default.createContext(baseConfig);
|
|
57
49
|
function ConfigProvider(_a) {
|
|
58
50
|
var children = _a.children, config = _a.config;
|
|
59
|
-
|
|
51
|
+
var mergeConfig = deepMerge(baseConfig, config);
|
|
52
|
+
return (react_1.default.createElement(exports.ConfigContext.Provider, { value: mergeConfig },
|
|
53
|
+
react_1.default.createElement(IntlProvider_1.default, { config: {
|
|
54
|
+
locale: config.locale,
|
|
55
|
+
messages: locale_1.messages
|
|
56
|
+
} }, children)));
|
|
60
57
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = FormattedMessage;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var index_1 = require("../index");
|
|
6
|
+
var useIntl_1 = require("../useIntl");
|
|
7
|
+
function FormattedMessage(_a) {
|
|
8
|
+
var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
|
|
9
|
+
var _b = (0, react_1.useContext)(index_1.IntlContext), messages = _b.messages, locale = _b.locale;
|
|
10
|
+
return (0, useIntl_1.formatMessageFn)({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
|
|
11
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useIntl = exports.FormattedMessage = exports.IntlContext = void 0;
|
|
7
|
+
exports.default = IntlProvider;
|
|
8
|
+
var react_1 = __importDefault(require("react"));
|
|
9
|
+
var locale_1 = require("../../locale");
|
|
10
|
+
var FormattedMessage_1 = __importDefault(require("./FormattedMessage"));
|
|
11
|
+
exports.FormattedMessage = FormattedMessage_1.default;
|
|
12
|
+
var useIntl_1 = __importDefault(require("./useIntl"));
|
|
13
|
+
exports.useIntl = useIntl_1.default;
|
|
14
|
+
var baseConfig = {
|
|
15
|
+
locale: 'zh',
|
|
16
|
+
messages: locale_1.messages
|
|
17
|
+
};
|
|
18
|
+
exports.IntlContext = react_1.default.createContext(baseConfig);
|
|
19
|
+
function IntlProvider(_a) {
|
|
20
|
+
var children = _a.children, config = _a.config;
|
|
21
|
+
return (react_1.default.createElement(exports.IntlContext.Provider, { value: {
|
|
22
|
+
locale: config.locale,
|
|
23
|
+
messages: locale_1.messages
|
|
24
|
+
} }, children));
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatMessageFn = void 0;
|
|
4
|
+
exports.default = useIntl;
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var index_1 = require("../index");
|
|
7
|
+
var formatMessageFn = function (_a) {
|
|
8
|
+
var messages = _a.messages, locale = _a.locale;
|
|
9
|
+
return function (_a) {
|
|
10
|
+
var _b;
|
|
11
|
+
var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
|
|
12
|
+
var message = ((_b = messages === null || messages === void 0 ? void 0 : messages[locale]) === null || _b === void 0 ? void 0 : _b[id]) || defaultMessage;
|
|
13
|
+
if (typeof values === 'object') {
|
|
14
|
+
Object.keys(values).forEach(function (key) {
|
|
15
|
+
message = message.replace("{".concat(key, "}"), values[key]);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return message;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.formatMessageFn = formatMessageFn;
|
|
22
|
+
function useIntl() {
|
|
23
|
+
var _a = (0, react_1.useContext)(index_1.IntlContext), messages = _a.messages, locale = _a.locale;
|
|
24
|
+
return {
|
|
25
|
+
$t: function (_a, values) {
|
|
26
|
+
var id = _a.id, defaultMessage = _a.defaultMessage;
|
|
27
|
+
return (0, exports.formatMessageFn)({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
|
|
28
|
+
},
|
|
29
|
+
formatMessage: (0, exports.formatMessageFn)({ messages: messages, locale: locale })
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -44,6 +44,7 @@ var react_1 = __importStar(require("react"));
|
|
|
44
44
|
var antd_1 = require("antd");
|
|
45
45
|
var icons_1 = require("@ant-design/icons");
|
|
46
46
|
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
47
|
+
var IntlProvider_1 = require("../../IntlProvider");
|
|
47
48
|
var AnimatedIcon = (0, styled_1.default)(icons_1.CaretUpOutlined, {
|
|
48
49
|
shouldForwardProp: function (prop) { return prop !== 'show'; },
|
|
49
50
|
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"], ["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"])), function (props) { return props.show ? '0deg' : '180deg'; });
|
|
@@ -62,7 +63,7 @@ function ToggleButton(_a) {
|
|
|
62
63
|
onChange === null || onChange === void 0 ? void 0 : onChange(!(panel === null || panel === void 0 ? void 0 : panel.show));
|
|
63
64
|
}, [panel]);
|
|
64
65
|
return (react_1.default.createElement(antd_1.Button, { type: "link", style: { paddingLeft: 0, paddingRight: 0 }, onClick: toggle },
|
|
65
|
-
"
|
|
66
|
+
react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "comgponent.searcharea.togle", defaultMessage: '高级搜索' }),
|
|
66
67
|
react_1.default.createElement(AnimatedIcon, { show: show })));
|
|
67
68
|
}
|
|
68
69
|
exports.default = ToggleButton;
|
|
@@ -68,6 +68,7 @@ var icons_1 = require("@ant-design/icons");
|
|
|
68
68
|
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
69
69
|
var Item_1 = __importDefault(require("./Item"));
|
|
70
70
|
var ToggleButton_1 = __importDefault(require("./ToggleButton"));
|
|
71
|
+
var IntlProvider_1 = require("../IntlProvider");
|
|
71
72
|
var AnimatedContainer = (0, styled_1.default)('div', {
|
|
72
73
|
shouldForwardProp: function (prop) { return prop !== 'show'; },
|
|
73
74
|
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"], ["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"])), function (props) { return props.show ? '450px' : '0'; });
|
|
@@ -144,13 +145,15 @@ function InternalSearchArea(_a) {
|
|
|
144
145
|
: children,
|
|
145
146
|
react_1.default.createElement(antd_1.Col, { flex: 1 },
|
|
146
147
|
react_1.default.createElement(SearchAreaHandle, null,
|
|
147
|
-
react_1.default.createElement(antd_1.Button, { loading: loading, type: "primary", onClick: submit },
|
|
148
|
-
|
|
148
|
+
react_1.default.createElement(antd_1.Button, { loading: loading, type: "primary", onClick: submit },
|
|
149
|
+
react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.searcharea.submit", defaultMessage: '筛选' })),
|
|
150
|
+
react_1.default.createElement(antd_1.Button, { loading: loading, onClick: reset },
|
|
151
|
+
react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.searcharea.reset", defaultMessage: '重置' })),
|
|
149
152
|
react_1.default.createElement(antd_1.Button, { type: "link", style: {
|
|
150
153
|
paddingLeft: 0,
|
|
151
154
|
paddingRight: 0
|
|
152
155
|
}, onClick: close },
|
|
153
|
-
"
|
|
156
|
+
react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.searcharea.close", defaultMessage: '收起' }),
|
|
154
157
|
react_1.default.createElement(icons_1.UpOutlined, null))))))));
|
|
155
158
|
}
|
|
156
159
|
var SearchArea = InternalSearchArea;
|
|
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
var react_1 = __importStar(require("react"));
|
|
37
|
-
var
|
|
37
|
+
var IntlProvider_1 = require("../../IntlProvider");
|
|
38
38
|
var antd_1 = require("antd");
|
|
39
39
|
var react_transition_group_1 = require("react-transition-group");
|
|
40
40
|
var icons_1 = require("@ant-design/icons");
|
|
@@ -111,7 +111,7 @@ function Index(props) {
|
|
|
111
111
|
return (react_1.default.createElement(styles_1.StyledRow, { ref: transitionNodeRef, justify: "space-between" },
|
|
112
112
|
react_1.default.createElement(antd_1.Col, { style: { display: 'flex', alignItems: 'center' } },
|
|
113
113
|
react_1.default.createElement(antd_1.Checkbox, { checked: checked, indeterminate: indeterminate, onChange: changeCheckAll },
|
|
114
|
-
react_1.default.createElement(
|
|
114
|
+
react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.table.selected", defaultMessage: '已选{length}条', values: {
|
|
115
115
|
length: (_b = (_a = rowSelection.selectedRowKeys) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0
|
|
116
116
|
} }))),
|
|
117
117
|
react_1.default.createElement(antd_1.Col, { style: { display: 'flex', alignItems: 'center' } },
|
|
@@ -47,7 +47,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
48
|
var react_1 = __importStar(require("react"));
|
|
49
49
|
var antd_1 = require("antd");
|
|
50
|
-
var
|
|
50
|
+
var IntlProvider_1 = require("../../IntlProvider");
|
|
51
51
|
var icons_1 = require("@ant-design/icons");
|
|
52
52
|
// import { message, IconFont } from 'xmirror-components'
|
|
53
53
|
var AntdApp_1 = require("../../AntdApp");
|
|
@@ -122,7 +122,7 @@ function PopoverSetColumns(_a) {
|
|
|
122
122
|
var checked = _a.target.checked;
|
|
123
123
|
var dataIndex = _b.dataIndex;
|
|
124
124
|
if (visibleItems.length === 1 && !checked) {
|
|
125
|
-
AntdApp_1.message.error(react_1.default.createElement(
|
|
125
|
+
AntdApp_1.message.error(react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.table.visibleError", defaultMessage: '列表最少保留一个字段' }));
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
128
|
var id = Array.isArray(dataIndex) ? dataIndex.join(',') : dataIndex;
|
|
@@ -57,7 +57,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
57
57
|
};
|
|
58
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
59
|
var react_1 = require("react");
|
|
60
|
-
var
|
|
60
|
+
var IntlProvider_1 = require("../../components/IntlProvider");
|
|
61
61
|
var ahooks_1 = require("ahooks");
|
|
62
62
|
var AntdApp_1 = require("../../components/AntdApp");
|
|
63
63
|
var ORDER_MAP = {
|
|
@@ -84,7 +84,7 @@ var defaultOptions = {
|
|
|
84
84
|
function useTable(request, options) {
|
|
85
85
|
var _this = this;
|
|
86
86
|
if (options === void 0) { options = {}; }
|
|
87
|
-
var intl = (0,
|
|
87
|
+
var intl = (0, IntlProvider_1.useIntl)();
|
|
88
88
|
var _a = __assign(__assign({}, defaultOptions), options), rowKey = _a.rowKey, interval = _a.interval, immediate = _a.immediate, defaultPagination = _a.defaultPagination, showRowSelection = _a.showRowSelection, multiPageSelection = _a.multiPageSelection, onBeforeRequest = _a.onBeforeRequest, onAfterRequest = _a.onAfterRequest;
|
|
89
89
|
var tableTimerRef = (0, react_1.useRef)(null);
|
|
90
90
|
var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
|
package/build/lib/index.d.ts
CHANGED
|
@@ -126,6 +126,7 @@ export declare const ConfigContext: default_2.Context<ConfigContextProps>;
|
|
|
126
126
|
declare interface ConfigContextProps {
|
|
127
127
|
iconButton: IconButtonConfig;
|
|
128
128
|
iconFont: IconFontConfig;
|
|
129
|
+
locale: MessagesKeys;
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
export declare function ConfigProvider({ children, config }: ConfigProviderProps): default_2.JSX.Element;
|
|
@@ -229,6 +230,8 @@ declare interface InternalSearchAreaProps extends FormProps<any> {
|
|
|
229
230
|
|
|
230
231
|
export declare let message: MessageInstance;
|
|
231
232
|
|
|
233
|
+
declare type MessagesKeys = 'zh' | 'en';
|
|
234
|
+
|
|
232
235
|
export declare let modal: Omit<ModalStaticFunctions, 'warn'>;
|
|
233
236
|
|
|
234
237
|
export declare let notification: NotificationInstance;
|