amis 1.9.1-beta.13 → 1.9.1-beta.19
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/Select.js +2 -2
- package/lib/components/Select.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +44 -40
- package/lib/components/formula/Editor.js +16 -5
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +88 -41
- package/lib/components/formula/Picker.js +49 -22
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.js +2 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.js +3 -0
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +6 -2
- package/lib/renderers/Form/InputFormula.js +4 -3
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +4 -0
- package/lib/renderers/Form/InputTree.js +2 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Table/index.js +2 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +6 -2
- package/lib/renderers/Tabs.js +21 -0
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/themes/ang-ie11.css +45 -6
- package/lib/themes/ang.css +40 -6
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +45 -6
- package/lib/themes/antd.css +40 -6
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +45 -6
- package/lib/themes/cxd.css +40 -6
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +45 -6
- package/lib/themes/dark.css +40 -6
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +45 -6
- package/lib/themes/default.css +40 -6
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/formula.js +4 -3
- package/lib/utils/formula.js.map +2 -2
- package/package.json +2 -2
- package/schema.json +41 -38
- package/scss/components/_formula.scss +45 -4
- package/scss/components/form/_checks.scss +47 -44
- package/scss/components/form/_select.scss +3 -2
- package/sdk/ang-ie11.css +52 -6
- package/sdk/ang.css +47 -6
- package/sdk/antd-ie11.css +52 -6
- package/sdk/antd.css +47 -6
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +52 -6
- package/sdk/cxd.css +47 -6
- package/sdk/dark-ie11.css +52 -6
- package/sdk/dark.css +47 -6
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +52 -6
- package/sdk/sdk.css +47 -6
- package/sdk/sdk.js +1339 -1339
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/components/Select.tsx +3 -6
- package/src/components/formula/Editor.tsx +51 -23
- package/src/components/formula/Picker.tsx +67 -9
- package/src/locale/zh-CN.ts +1 -1
- package/src/renderers/Action.tsx +2 -1
- package/src/renderers/CRUD.tsx +2 -0
- package/src/renderers/Form/InputFormula.tsx +11 -3
- package/src/renderers/Form/InputTree.tsx +7 -0
- package/src/renderers/Table/index.tsx +9 -7
- package/src/renderers/Tabs.tsx +33 -3
- package/src/utils/formula.ts +5 -3
@@ -15,6 +15,7 @@ var Modal_1 = (0, tslib_1.__importDefault)(require("../Modal"));
|
|
15
15
|
var theme_1 = require("../../theme");
|
16
16
|
var locale_1 = require("../../locale");
|
17
17
|
var amis_formula_1 = require("amis-formula");
|
18
|
+
var Input_1 = (0, tslib_1.__importDefault)(require("../Input"));
|
18
19
|
var FormulaPicker = /** @class */ (function (_super) {
|
19
20
|
(0, tslib_1.__extends)(FormulaPicker, _super);
|
20
21
|
function FormulaPicker(props) {
|
@@ -50,16 +51,27 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
50
51
|
var _this = this;
|
51
52
|
this.setState({ value: value }, function () { return _this.handleConfirm(); });
|
52
53
|
};
|
54
|
+
FormulaPicker.prototype.handleInputGroupChange = function (e) {
|
55
|
+
var onChange = this.props.onChange;
|
56
|
+
onChange && onChange(e.currentTarget.value);
|
57
|
+
};
|
53
58
|
FormulaPicker.prototype.handleEditorChange = function (value) {
|
59
|
+
var onlyVariable = this.props.onlyVariable;
|
60
|
+
if (onlyVariable) {
|
61
|
+
return this.confirm(value);
|
62
|
+
}
|
54
63
|
this.setState({
|
55
64
|
editorValue: value,
|
56
65
|
isError: false
|
57
66
|
});
|
58
67
|
};
|
59
68
|
FormulaPicker.prototype.handleEditorConfirm = function () {
|
60
|
-
var _this = this;
|
61
69
|
var __ = this.props.translate;
|
62
70
|
var value = this.state.editorValue;
|
71
|
+
this.confirm(value);
|
72
|
+
};
|
73
|
+
FormulaPicker.prototype.confirm = function (value) {
|
74
|
+
var _this = this;
|
63
75
|
var validate = this.validate(value);
|
64
76
|
if (validate === true) {
|
65
77
|
this.setState({ value: value }, function () {
|
@@ -123,7 +135,7 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
123
135
|
FormulaPicker.prototype.render = function () {
|
124
136
|
var _a, _b, _c;
|
125
137
|
var _d, _e, _f, _g, _h;
|
126
|
-
var _j = this.props, cx = _j.classnames, __ = _j.translate, disabled = _j.disabled, allowInput = _j.allowInput, className = _j.className, onChange = _j.onChange, size = _j.size, borderMode = _j.borderMode, placeholder = _j.placeholder, mode = _j.mode, btnLabel = _j.btnLabel, level = _j.level, btnSize = _j.btnSize, icon = _j.icon, title = _j.title, clearable = _j.clearable, variables = _j.variables, functions = _j.functions, children = _j.children, variableMode = _j.variableMode, rest = (0, tslib_1.__rest)(_j, ["classnames", "translate", "disabled", "allowInput", "className", "onChange", "size", "borderMode", "placeholder", "mode", "btnLabel", "level", "btnSize", "icon", "title", "clearable", "variables", "functions", "children", "variableMode"]);
|
138
|
+
var _j = this.props, cx = _j.classnames, __ = _j.translate, disabled = _j.disabled, allowInput = _j.allowInput, className = _j.className, onChange = _j.onChange, size = _j.size, borderMode = _j.borderMode, placeholder = _j.placeholder, mode = _j.mode, btnLabel = _j.btnLabel, level = _j.level, btnSize = _j.btnSize, icon = _j.icon, title = _j.title, clearable = _j.clearable, variables = _j.variables, functions = _j.functions, children = _j.children, variableMode = _j.variableMode, onlyVariable = _j.onlyVariable, rest = (0, tslib_1.__rest)(_j, ["classnames", "translate", "disabled", "allowInput", "className", "onChange", "size", "borderMode", "placeholder", "mode", "btnLabel", "level", "btnSize", "icon", "title", "clearable", "variables", "functions", "children", "variableMode", "onlyVariable"]);
|
127
139
|
var _k = this.state, isOpened = _k.isOpened, value = _k.value, editorValue = _k.editorValue, isError = _k.isError;
|
128
140
|
var iconElement = (0, icon_1.generateIcon)(cx, icon, 'Icon');
|
129
141
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
@@ -131,34 +143,43 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
131
143
|
isOpened: this.state.isOpened,
|
132
144
|
onClick: this.handleClick,
|
133
145
|
setState: this.updateState
|
134
|
-
})) : (react_1.default.createElement("div", { className: cx('FormulaPicker', className
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
146
|
+
})) : (react_1.default.createElement("div", { className: cx('FormulaPicker', className, mode === 'input-group' ? 'is-input-group' : '') },
|
147
|
+
mode === 'button' && (react_1.default.createElement(Button_1.default, { className: cx('FormulaPicker-action', 'w-full'), level: level, size: btnSize, onClick: this.handleClick },
|
148
|
+
iconElement ? (react_1.default.cloneElement(iconElement, {
|
149
|
+
className: cx((_e = (_d = iconElement === null || iconElement === void 0 ? void 0 : iconElement.props) === null || _d === void 0 ? void 0 : _d.className) !== null && _e !== void 0 ? _e : '', 'FormulaPicker-icon', (_a = {},
|
150
|
+
_a['is-filled'] = !!value,
|
151
|
+
_a))
|
152
|
+
})) : (react_1.default.createElement(icons_1.Icon, { icon: "function", className: cx('FormulaPicker-icon', 'icon', (_b = {},
|
153
|
+
_b['is-filled'] = !!value,
|
154
|
+
_b)) })),
|
155
|
+
react_1.default.createElement("span", { className: cx('FormulaPicker-label') }, __(btnLabel || 'FormulaEditor.btnLabel')))),
|
156
|
+
mode === 'input-button' && (react_1.default.createElement(react_1.default.Fragment, null,
|
157
|
+
react_1.default.createElement(ResultBox_1.default, { className: cx('FormulaPicker-input', isOpened ? 'is-active' : '', !!isError ? 'is-error' : ''), allowInput: allowInput, clearable: clearable, value: value, result: allowInput
|
158
|
+
? void 0
|
159
|
+
: Editor_1.FormulaEditor.highlightValue(value, variables, this.props.evalMode), itemRender: this.renderFormulaValue, onResultChange: helper_1.noop, onChange: this.handleInputChange, disabled: disabled, borderMode: borderMode, placeholder: placeholder }),
|
160
|
+
react_1.default.createElement(Button_1.default, { className: cx('FormulaPicker-action'), onClick: this.handleClick },
|
161
|
+
react_1.default.createElement(icons_1.Icon, { icon: "function", className: cx('FormulaPicker-icon', 'icon', (_c = {},
|
162
|
+
_c['is-filled'] = !!value,
|
163
|
+
_c)) })))),
|
164
|
+
mode === 'input-group' && (react_1.default.createElement(react_1.default.Fragment, null,
|
165
|
+
react_1.default.createElement(Input_1.default, { className: cx('FormulaPicker-input'), onChange: this.handleInputGroupChange, placeholder: allowInput ? placeholder : '', autoComplete: "off", value: value, disabled: disabled, readOnly: !allowInput }),
|
166
|
+
react_1.default.createElement("a", { className: cx("FormulaPicker-toggler"), onClick: this.handleClick },
|
167
|
+
react_1.default.createElement(icons_1.Icon, { icon: onlyVariable ? 'ellipsis-v' : 'function', className: "icon" })))))),
|
150
168
|
react_1.default.createElement(Modal_1.default, { size: "md", closeOnEsc: true, show: this.state.isOpened, onHide: this.close },
|
151
169
|
react_1.default.createElement(Modal_1.default.Header, { onClose: this.close, className: "font-bold" }, __(title || 'FormulaEditor.title')),
|
152
170
|
react_1.default.createElement(Modal_1.default.Body, null,
|
153
|
-
react_1.default.createElement(Editor_2.default, (0, tslib_1.__assign)({}, rest, { variables: (_f = this.state.variables) !== null && _f !== void 0 ? _f : variables, functions: (_g = this.state.functions) !== null && _g !== void 0 ? _g : functions, variableMode: (_h = this.state.variableMode) !== null && _h !== void 0 ? _h : variableMode, value: editorValue, onChange: this.handleEditorChange }))),
|
171
|
+
react_1.default.createElement(Editor_2.default, (0, tslib_1.__assign)({}, rest, { variables: (_f = this.state.variables) !== null && _f !== void 0 ? _f : variables, functions: (_g = this.state.functions) !== null && _g !== void 0 ? _g : functions, variableMode: (_h = this.state.variableMode) !== null && _h !== void 0 ? _h : variableMode, onlyVariable: onlyVariable, value: editorValue, onChange: this.handleEditorChange }))),
|
154
172
|
react_1.default.createElement(Modal_1.default.Footer, null,
|
155
173
|
!!isError ? (react_1.default.createElement("div", { className: cx('Dialog-info'), key: "info" },
|
156
174
|
react_1.default.createElement("span", { className: cx('Dialog-error') }, __('FormulaEditor.invalidData', { err: isError })))) : null,
|
157
|
-
react_1.default.createElement(
|
158
|
-
|
175
|
+
onlyVariable ? null : (react_1.default.createElement(react_1.default.Fragment, null,
|
176
|
+
react_1.default.createElement(Button_1.default, { onClick: this.close }, __('cancel')),
|
177
|
+
react_1.default.createElement(Button_1.default, { onClick: this.handleEditorConfirm, level: "primary" }, __('confirm'))))))));
|
159
178
|
};
|
179
|
+
var _a;
|
160
180
|
FormulaPicker.defaultProps = {
|
161
|
-
evalMode: true
|
181
|
+
evalMode: true,
|
182
|
+
onlyVariable: false
|
162
183
|
};
|
163
184
|
(0, tslib_1.__decorate)([
|
164
185
|
helper_1.autobind,
|
@@ -178,6 +199,12 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
178
199
|
(0, tslib_1.__metadata)("design:paramtypes", [String]),
|
179
200
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
180
201
|
], FormulaPicker.prototype, "handleInputChange", null);
|
202
|
+
(0, tslib_1.__decorate)([
|
203
|
+
helper_1.autobind,
|
204
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
205
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof react_1.default !== "undefined" && react_1.default.ChangeEvent) === "function" ? _a : Object]),
|
206
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
207
|
+
], FormulaPicker.prototype, "handleInputGroupChange", null);
|
181
208
|
(0, tslib_1.__decorate)([
|
182
209
|
helper_1.autobind,
|
183
210
|
(0, tslib_1.__metadata)("design:type", Function),
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/formula/Picker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,iDAA8C;AAC9C,6DAA0B;AAC1B,mCAKkB;AAClB,6CAAkD;AAClD,yCAA8C;AAC9C,iEAA8B;AAC9B,wEAAqC;AACrC,kEAA+B;AAC/B,kCAA8B;AAC9B,gEAA6B;AAC7B,qCAAsC;AACtC,uCAAwC;AAExC,6CAA8C;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div className={cx('FormulaPicker', className)}>\n {mode === 'button' ? (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n ) : (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
|
11
|
+
"import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\nimport Input from '../Input';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button' | 'input-group';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 只展示变量,不需要其他面板\n */\n onlyVariable?: boolean;\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true,\n onlyVariable: false\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>) {\n const onChange = this.props.onChange;\n onChange && onChange(e.currentTarget.value);\n }\n\n @autobind\n handleEditorChange(value: string) {\n const {onlyVariable} = this.props;\n if (onlyVariable) {\n return this.confirm(value);\n }\n\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n this.confirm(value);\n }\n\n confirm(value: string) {\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n onlyVariable,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div\n className={cx(\n 'FormulaPicker',\n className,\n mode === 'input-group' ? 'is-input-group' : ''\n )}\n >\n {mode === 'button' && (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n )}\n {mode === 'input-button' && (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n {mode === 'input-group' && (\n <>\n <Input\n className={cx('FormulaPicker-input')}\n onChange={this.handleInputGroupChange}\n placeholder={allowInput ? placeholder : ''}\n autoComplete=\"off\"\n value={value}\n disabled={disabled}\n readOnly={!allowInput}\n />\n\n <a\n className={cx(`FormulaPicker-toggler`)}\n onClick={this.handleClick}\n >\n <Icon\n icon={onlyVariable ? 'ellipsis-v' : 'function'}\n className=\"icon\"\n />\n </a>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n onlyVariable={onlyVariable}\n value={editorValue}\n onChange={this.handleEditorChange}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n {onlyVariable ? null : (\n <>\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </>\n )}\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/index.js
CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerLocale = exports.setDefaultLocale = exports.getDefaultLocale = exports.classnames = exports.getClassPrefix = exports.classPrefix = exports.getTheme = exports.theme = exports.setDefaultTheme = exports.validateObject = exports.validate = exports.ScopedContext = exports.Scoped = exports.registerIcon = exports.Icon = exports.setIconVendor = exports.resolveVariableAndFilter = exports.resolveVariable = exports.relativeValueRe = exports.filterDate = exports.filterSchema = exports.resolveRenderer = exports.registerOptionsControl = exports.registerFormItem = exports.getRenderers = exports.unRegisterRenderer = exports.registerRenderer = exports.getRendererByName = exports.normalizeOptions = exports.str2rules = exports.addRule = exports.setCustomEvalExpression = exports.setCustomEvalJs = exports.evalJS = exports.evalExpression = exports.registerTplEnginer = exports.registerFilter = exports.resizeSensor = exports.utils = exports.filter = exports.buildApi = exports.wrapFetcher = exports.OptionsControl = exports.FormItemWrap = exports.FormItem = exports.RegisterStore = exports.Renderer = exports.updateEnv = exports.clearStoresCache = exports.render = void 0;
|
4
4
|
exports.DataScope = exports.DataSchema = exports.animation = exports.makeTranslator = void 0;
|
5
5
|
var tslib_1 = require("tslib");
|
6
|
-
/** @license amis v1.9.1-beta.
|
6
|
+
/** @license amis v1.9.1-beta.19
|
7
7
|
*
|
8
8
|
* Copyright Baidu
|
9
9
|
*
|
package/lib/locale/zh-CN.js
CHANGED
@@ -203,7 +203,7 @@ var locale_1 = require("../locale");
|
|
203
203
|
'Select.clearAll': '移除所有',
|
204
204
|
'Select.createLabel': '新增选项',
|
205
205
|
'Select.placeholder': '请选择',
|
206
|
-
'Select.searchPromptText': '
|
206
|
+
'Select.searchPromptText': '搜索',
|
207
207
|
'sort': '排序',
|
208
208
|
'SubForm.button': '设置',
|
209
209
|
'SubForm.editDetail': '编辑详情',
|
package/lib/locale/zh-CN.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/locale/zh-CN.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": ";;AAAA,oCAAmC;AAEnC,IAAA,iBAAQ,EAAC,OAAO,EAAE;IAChB,kBAAkB,EAAE,mBAAmB;IACvC,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAAE,IAAI;IACX,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,UAAU;IAChC,eAAe,EAAE,OAAO;IACxB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,sBAAsB,EAAE,KAAK;IAC7B,gBAAgB,EAAE,QAAQ;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,kBAAkB,EAAE,MAAM;IAC1B,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,WAAW;IAC9B,aAAa,EAAE,SAAS;IACxB,OAAO,EAAE,IAAI;IACb,yBAAyB,EAAE,OAAO;IAClC,aAAa,EAAE,MAAM;IACrB,KAAK,EAAE,IAAI;IACX,oBAAoB,EAAE,MAAM;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,iBAAiB,EAAE,0BAA0B;IAC7C,iBAAiB,EAAE,8BAA8B;IACjD,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,QAAQ;IAC1B,kBAAkB,EAAE,UAAU;IAC9B,kBAAkB,EAAE,MAAM;IAC1B,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,eAAe;IAChC,mBAAmB,EAAE,kBAAkB;IACvC,kBAAkB,EAAE,qBAAqB;IACzC,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IACtB,WAAW,EAAE,sCAAsC;IACnD,uBAAuB,EAAE,IAAI;IAC7B,yBAAyB,EAAE,GAAG;IAC9B,+BAA+B,EAAE,OAAO;IACxC,mBAAmB,EAAE,eAAe;IACpC,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,kBAAkB;IAC1C,uBAAuB,EAAE,eAAe;IACxC,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,YAAY;IAC5B,gBAAgB,EAAE,YAAY;IAC9B,iBAAiB,EAAE,QAAQ;IAC3B,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,QAAQ;IAC/B,eAAe,EAAE,cAAc;IAC/B,iBAAiB,EAAE,cAAc;IACjC,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,cAAc;IAChC,kBAAkB,EAAE,cAAc;IAClC,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,iBAAiB;IACrC,oBAAoB,EAAE,iBAAiB;IACvC,uBAAuB,EAAE,QAAQ;IACjC,yBAAyB,EAAE,SAAS;IACpC,mBAAmB,EAAE,OAAO;IAC5B,qBAAqB,EAAE,QAAQ;IAC/B,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,aAAa;IAC9B,iBAAiB,EAAE,aAAa;IAChC,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,OAAO;IAC1B,mBAAmB,EAAE,aAAa;IAClC,qBAAqB,EAAE,aAAa;IACpC,oBAAoB,EAAE,cAAc;IACpC,sBAAsB,EAAE,cAAc;IACtC,qBAAqB,EAAE,eAAe;IACtC,uBAAuB,EAAE,eAAe;IACxC,uBAAuB,EAAE,kBAAkB;IAC3C,yBAAyB,EAAE,kBAAkB;IAC7C,oBAAoB,EAAE,cAAc;IACpC,sBAAsB,EAAE,cAAc;IACtC,oBAAoB,EAAE,eAAe;IACrC,sBAAsB,EAAE,eAAe;IACvC,oBAAoB,EAAE,MAAM;IAC5B,mBAAmB,EAAE,MAAM;IAC3B,oBAAoB,EAAE,MAAM;IAC5B,qBAAqB,EAAE,OAAO;IAC9B,qBAAqB,EAAE,OAAO;IAC9B,oBAAoB,EAAE,IAAI;IAC1B,qBAAqB,EAAE,KAAK;IAC5B,uBAAuB,EAAE,MAAM;IAC/B,uBAAuB,EAAE,SAAS;IAClC,oBAAoB,EAAE,KAAK;IAC3B,qBAAqB,EAAE,KAAK;IAC5B,uBAAuB,EAAE,MAAM;IAC/B,uBAAuB,EAAE,KAAK;IAC9B,sBAAsB,EAAE,WAAW;IACnC,wBAAwB,EAAE,SAAS;IACnC,0BAA0B,EAAE,SAAS;IACrC,uBAAuB,EAAE,SAAS;IAClC,oBAAoB,EAAE,IAAI;IAC1B,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,QAAQ;IACzB,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,gBAAgB;IACrC,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,mBAAmB;IACxC,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,OAAO;IACtB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,WAAW;IAC5B,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,WAAW;IAC9B,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,uCAAuC;IAC3D,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,4DAA4D;IAC5E,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,4CAA4C;IAC3D,YAAY,EAAE,MAAM;IACpB,gBAAgB,EAAE,uBAAuB;IACzC,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,MAAM;IACtB,mBAAmB,EAAE,cAAc;IACnC,gBAAgB,EAAE,QAAQ;IAC1B,8BAA8B,EAAE,cAAc;IAC9C,wBAAwB,EAAE,sBAAsB;IAChD,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,QAAQ;IACvB,qBAAqB,EAAE,eAAe;IACtC,kBAAkB,EAAE,eAAe;IACnC,mBAAmB,EAAE,mBAAmB;IACxC,YAAY,EAAE,MAAM;IACpB,gBAAgB,EAAE,UAAU;IAC5B,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,wBAAwB;IAC5C,gBAAgB,EAAE,aAAa;IAC/B,mBAAmB,EAAE,gBAAgB;IACrC,YAAY,EAAE,4BAA4B;IAC1C,eAAe,EAAE,oBAAoB;IACrC,eAAe,EAAE,oBAAoB;IACrC,oBAAoB,EAAE,gBAAgB;IACtC,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,wBAAwB;IAC1C,gBAAgB,EAAE,wBAAwB;IAC1C,oBAAoB,EAAE,aAAa;IACnC,oBAAoB,EAAE,MAAM;IAC5B,uBAAuB,EAAE,OAAO;IAChC,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,OAAO;IACvB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK;IAChB,4BAA4B,EAAE,OAAO;IACrC,mBAAmB,EAAE,OAAO;IAC5B,iBAAiB,EAAE,QAAQ;IAC3B,cAAc,EAAE,oBAAoB;IACpC,UAAU,EAAE,SAAS;IACrB,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,OAAO;IACjC,mBAAmB,EAAE,gBAAgB;IACrC,mBAAmB,EAAE,aAAa;IAClC,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,YAAY;IACpC,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,sBAAsB,EAAE,MAAM;IAC9B,wBAAwB,EAAE,QAAQ;IAClC,qBAAqB,EAAE,OAAO;IAC9B,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,IAAI;IACZ,sBAAsB,EAAE,OAAO;IAC/B,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;IACzB,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,yBAAyB,EAAE,IAAI;IAC/B,MAAM,EAAE,IAAI;IACZ,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,MAAM;IAC5B,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,WAAW;IAC1B,qBAAqB,EAAE,OAAO;IAC9B,2BAA2B,EAAE,YAAY;IACzC,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,yBAAyB,EAAE,SAAS;IACpC,iBAAiB,EAAE,OAAO;IAC1B,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,cAAc;IAC/B,eAAe,EAAE,WAAW;IAC5B,eAAe,EAAE,OAAO;IACxB,gBAAgB,EAAE,kCAAkC;IACpD,aAAa,EAAE,kCAAkC;IACjD,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,iCAAiC;IACnD,iBAAiB,EAAE,QAAQ;IAC3B,kBAAkB,EAAE,gBAAgB;IACpC,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,KAAK;IAC3B,oBAAoB,EAAE,QAAQ;IAC9B,iBAAiB,EAAE,MAAM;IACzB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,cAAc;IAC1B,kBAAkB,EAAE,OAAO;IAC3B,sBAAsB,EAAE,kBAAkB;IAC1C,sBAAsB,EAAE,UAAU;IAClC,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,yBAAyB,EAAE,SAAS;IACpC,eAAe,EAAE,OAAO;IACxB,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE,OAAO;IACxB,iBAAiB,EAAE,OAAO;IAC1B,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,eAAe;IAClC,sBAAsB,EAAE,gBAAgB;IACxC,aAAa,EAAE,aAAa;IAC5B,kBAAkB,EAAE,OAAO;IAC3B,yBAAyB,EAAE,WAAW;IACtC,kBAAkB,EAAE,aAAa;IACjC,kBAAkB,EAAE,UAAU;IAC9B,eAAe,EAAE,YAAY;IAC7B,gBAAgB,EAAE,SAAS;IAC3B,iBAAiB,EAAE,YAAY;IAC/B,mBAAmB,EAAE,eAAe;IACpC,oBAAoB,EAAE,OAAO;IAC7B,wBAAwB,EAAE,YAAY;IACtC,qBAAqB,EAAE,OAAO;IAC9B,sBAAsB,EAAE,YAAY;IACpC,gBAAgB,EAAE,WAAW;IAC7B,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,OAAO;IAC3B,oBAAoB,EAAE,YAAY;IAClC,aAAa,EAAE,aAAa;IAC5B,sBAAsB,EAAE,iCAAiC;IACzD,kBAAkB,EAAE,eAAe;IACnC,oBAAoB,EAAE,wBAAwB;IAC9C,kBAAkB,EAAE,eAAe;IACnC,oBAAoB,EAAE,uBAAuB;IAC7C,yBAAyB,EAAE,YAAY;IACvC,gBAAgB,EAAE,QAAQ;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,QAAQ;IAC9B,cAAc,EAAE,uBAAuB;IACvC,kBAAkB,EAAE,MAAM;IAC1B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,mBAAmB,EAAE,IAAI;IACzB,uBAAuB,EAAE,MAAM;IAC/B,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,MAAM;IAC5B,0BAA0B,EAAE,OAAO;IACnC,6BAA6B,EAAE,KAAK;IACpC,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,KAAK;IAC5B,gBAAgB,EAAE,IAAI;IACtB,yBAAyB,EAAE,OAAO;IAClC,mBAAmB,EAAE,IAAI;IACzB,4BAA4B,EAAE,OAAO;IACrC,mBAAmB,EAAE,MAAM;IAC3B,uBAAuB,EAAE,OAAO;IAChC,oBAAoB,EAAE,IAAI;IAC1B,wBAAwB,EAAE,KAAK;IAC/B,gBAAgB,EAAE,MAAM;IACxB,oBAAoB,EAAE,KAAK;IAC3B,uBAAuB,EAAE,MAAM;IAC/B,qBAAqB,EAAE,MAAM;IAC7B,yBAAyB,EAAE,IAAI;IAC/B,6BAA6B,EAAE,KAAK;IACpC,yBAAyB,EAAE,IAAI;IAC/B,6BAA6B,EAAE,KAAK;IACpC,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,OAAO;IACrC,6BAA6B,EAAE,OAAO;IACtC,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,KAAK;IAC7B,+BAA+B,EAAE,OAAO;IACxC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,sBAAsB;IAChD,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,IAAI;IAC3B,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,wBAAwB,EAAE,MAAM;IAChC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,2BAA2B;IACxD,yBAAyB,EAAE,WAAW;IACtC,yBAAyB,EAAE,WAAW;IACtC,yBAAyB,EAAE,QAAQ;IACnC,yBAAyB,EAAE,MAAM;IACjC,oBAAoB,EAAE,UAAU;IAChC,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,QAAQ;IACjC,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,IAAI;IAC1B,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE,KAAK;IACvB,wBAAwB,EAAE,IAAI;IAC9B,qBAAqB,EAAE,MAAM;IAC7B,wBAAwB,EAAE,MAAM;IAChC,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {register} from '../locale';\n\nregister('zh-CN', {\n 'Action.countDown': '请等待 ${timeLeft} 秒',\n 'Alert.info': '系统消息',\n 'App.home': '首页',\n 'App.navigation': '导航',\n 'asc': '正序',\n 'Calendar.datepicker': '日期选择',\n 'Calendar.yearmonth': 'YYYY年MM月',\n 'Calendar.year': 'YYYY年',\n 'Calendar.begin': '开始',\n 'Calendar.end': '结束',\n 'Calendar.beginAndEnd': '始/终',\n 'Calendar.toast': '超出日期范围',\n 'Calendar.startPick': '开始时间',\n 'Calendar.endPick': '结束时间',\n 'Schedule': '日程',\n 'Time': '时间',\n 'Content': '内容',\n 'cancel': '取消',\n 'Card.dragTip': '请拖动顶部的按钮进行排序',\n 'Card.toggleDrag': '对卡片进行排序操作',\n 'City.street': '请输入街道信息',\n 'clear': '清空',\n 'ColorPicker.placeholder': '请选择颜色',\n 'SubForm.add': '新增一项',\n 'add': '新增',\n 'Combo.dragDropSort': '拖拽排序',\n 'Combo.invalidData': '数值格式不正确',\n 'Combo.maxLength': '组合表单超出{{maxLength}}个,请删除',\n 'Combo.minLength': '组合表单数量不足{{minLength}}个,请添加更多',\n 'Combo.type': '类型',\n 'confirm': '确认',\n 'Copyable.tip': '点击复制',\n 'CRUD.exportCSV': '导出 CSV',\n 'CRUD.exportExcel': '导出 Excel',\n 'CRUD.fetchFailed': '获取失败',\n 'CRUD.filter': '筛选',\n 'CRUD.selected': '已选{{total}}条:',\n 'CRUD.invalidArray': 'data.items 必须是数组',\n 'CRUD.invalidData': '返回数据格式不正确,data 没有数据',\n 'CRUD.loadMore': '加载更多',\n 'CRUD.perPage': '每页显示',\n 'CRUD.stat': '{{page}}/{{lastPage}} 总共:{{total}} 项',\n 'CRUD.paginationGoText': '前往',\n 'CRUD.paginationPageText': '页',\n 'PaginationWrapper.placeholder': '请配置内容',\n 'Pagination.select': '{{count}} 条/页',\n 'Pagination.goto': '跳转至',\n 'Pagination.go': 'GO',\n 'Pagination.totalPage': '共 {{lastPage}} 页',\n 'Pagination.totalCount': '共 {{total}} 条',\n 'Date.titleYear': '选择年',\n 'Date.titleMonth': '选择年月',\n 'Date.titleDate': '选择年月日',\n 'Date.titleTime': '选择时间',\n 'Date.daysago': '{{days}}天前',\n 'Date.dayslater': '{{days}}天后',\n 'Date.endOfMonth': '本月最后一天',\n 'Date.endOfWeek': '周日',\n 'Date.endOfLastMonth': '上月最后一天',\n 'Date.hoursago': '{{hours}}小时前',\n 'Date.hourslater': '{{hours}}小时后',\n 'Date.invalid': '日期无效',\n 'Date.monday': '本周一',\n 'Date.monthsago': '{{months}}月前',\n 'Date.monthslater': '{{months}}月后',\n 'Date.now': '现在',\n 'Date.placeholder': '请选择日期',\n 'Date.quartersago': '{{quarters}}季度前',\n 'Date.quarterslater': '{{quarters}}季度后',\n 'Date.startOfLastMonth': '上个月第一天',\n 'Date.startOfLastQuarter': '上个季度第一天',\n 'Date.startOfMonth': '本月第一天',\n 'Date.startOfQuarter': '本季度第一天',\n 'Date.today': '今天',\n 'Date.tomorrow': '明天',\n 'Date.weeksago': '{{weeks}}周前',\n 'Date.weekslater': '{{weeks}}周后',\n 'Date.yesterday': '昨天',\n 'dateformat.year': 'YYYY年',\n 'DateRange.daysago': '最近{{days}}天',\n 'DateRange.dayslater': '{{days}}天以内',\n 'DateRange.weeksago': '最近{{weeks}}周',\n 'DateRange.weekslater': '{{weeks}}周以内',\n 'DateRange.monthsago': '最近{{months}}月',\n 'DateRange.monthslater': '{{months}}月以内',\n 'DateRange.quartersago': '最近{{quarters}}季度',\n 'DateRange.quarterslater': '{{quarters}}季度以内',\n 'DateRange.yearsago': '最近{{years}}年',\n 'DateRange.yearslater': '{{years}}年以内',\n 'DateRange.hoursago': '最近{{hours}}小时',\n 'DateRange.hourslater': '{{hours}}小时以内',\n 'DateRange.1daysago': '最近1天',\n 'DateRange.1dayago': '最近1天',\n 'DateRange.7daysago': '最近7天',\n 'DateRange.30daysago': '最近30天',\n 'DateRange.90daysago': '最近90天',\n 'DateRange.lastWeek': '上周',\n 'DateRange.lastMonth': '上个月',\n 'DateRange.lastQuarter': '上个季度',\n 'DateRange.placeholder': '请选择日期范围',\n 'DateRange.thisWeek': '这个周',\n 'DateRange.thisMonth': '这个月',\n 'DateRange.thisQuarter': '这个季度',\n 'DateRange.valueConcat': ' 至 ',\n 'DateTime.placeholder': '请选择日期以及时间',\n 'MonthRange.placeholder': '请选择月份范围',\n 'QuarterRange.placeholder': '请选择季度范围',\n 'YearRange.placeholder': '请选择年份范围',\n 'DateRange.thisYear': '今年',\n 'DateRange.lastYear': '去年',\n 'delete': '删除',\n 'deleteConfirm': '确认要删除?',\n 'deleteFailed': '删除失败',\n 'desc': '降序',\n 'Dialog.close': '关闭',\n 'Dialog.title': '弹框',\n 'Embed.invalidRoot': '选择器不对,页面上没有此元素',\n 'Embed.downloading': '文件即将开始下载',\n 'Excel.placeholder': '拖拽 Excel 到这,或点击上传',\n 'Excel.parsed': '已解析 {{filename}}',\n 'fetchFailed': '初始化失败',\n 'File.continueAdd': '继续添加',\n 'File.downloadTpl': '下载模板',\n 'File.dragDrop': '将文件拖到此处,或',\n 'File.clickUpload': '点击上传',\n 'File.helpText': '帮助文档',\n 'File.errorRetry': '文件上传失败请重试',\n 'File.failed': '失败文件',\n 'File.invalidType': '{{files}} 不符合类型的 {{accept}} 的设定,请仔细检查',\n 'File.maxLength': '最多上传 {{maxLength}} 个文件',\n 'File.maxSize': '{{filename}} 大小为 {{actualSize}} 超出了最大为 {{maxSize}} (字节)的限制',\n 'File.pause': '暂停上传',\n 'File.repick': '重新选择',\n 'File.result': '已成功上传 {{uploaded}} 个文件,{{failed}} 个文件上传失败,',\n 'File.retry': '重试上传',\n 'File.sizeLimit': '文件大小不超过 {{maxSize}} B',\n 'File.start': '开始上传',\n 'File.upload': '文件上传',\n 'Image.upload': '图片上传',\n 'File.uploadFailed': '接口返回错误,请仔细检查',\n 'File.uploading': '上传中...',\n 'FormItem.autoUpdateloadFaild': '接口返回错误,请仔细检查',\n 'Form.loadOptionsFailed': '加载选项失败,原因:{{reason}}',\n 'Form.submit': '提交',\n 'Form.title': '表单',\n 'Form.unique': '当前值不唯一',\n 'Form.validateFailed': '依赖的部分字段没有通过验证',\n 'Form.nestedError': '表单不要直接嵌套在表单下面',\n 'Image.configError': '图片多选配置和裁剪配置只能设置一个',\n 'Image.crop': '裁剪图片',\n 'Image.dragDrop': '将图片拖拽到此处',\n 'Image.height': '高度 {{height}}px',\n 'Image.limitRatio': '请上传尺寸比率为 {{ratio}} 的图片',\n 'Image.pasteTip': '可以粘贴剪切板中的图片',\n 'Image.placeholder': '点击选择图片或拖拽图片到这里',\n 'Image.size': '尺寸({{width}} x {{height}})',\n 'Image.sizeMax': '请上传不要大于{{info}}的图片',\n 'Image.sizeMin': '请上传不要小于{{info}}的图片',\n 'Image.sizeNotEqual': '请上传{{info}}的图片',\n 'Image.width': '宽度 {{width}}px',\n 'Image.zoomIn': '查看大图',\n 'Image.limitMax': '上传图片大于{{info}},请检查图片尺寸',\n 'Image.limitMin': '上传图片小于{{info}},请检查图片尺寸',\n 'Log.mustHaveSource': '需要配置 Source',\n 'Log.showLineNumber': '显示行数',\n 'Log.notShowLineNumber': '不现实行数',\n 'Log.expand': '展开工具栏',\n 'Log.collapse': '收起工具栏',\n 'link': '链接',\n 'loading': '加载中',\n 'LocationPicker.placeholder': '请选择位置',\n 'Month.placeholder': '请选择月份',\n 'Nav.sourceError': '获取链接错误',\n 'networkError': '网络错误,可能是未配置跨域 CORS',\n 'noResult': '未找到任何结果',\n 'NumberInput.placeholder': '请输入数字',\n 'Options.addPlaceholder': '请输入名称',\n 'Options.deleteAPI': '必须设置 deleteAPI',\n 'Options.editLabel': '编辑{{label}}',\n 'Options.label': '选项',\n 'Options.createFailed': '新增失败,请仔细检查',\n 'placeholder.empty': '<空>',\n 'placeholder.enter': '请输入',\n 'placeholder.noData': '暂无数据',\n 'placeholder.noOption': '暂无选项',\n 'placeholder.selectData': '请先选择数据',\n 'Quarter.placeholder': '请选择季度',\n 'Repeat.pre': '每',\n 'reset': '重置',\n 'saveFailed': '保存失败',\n 'saveSuccess': '保存成功',\n 'search': '搜索',\n 'searchResult': '搜索结果',\n 'stop': '停止',\n 'Checkboxes.selectAll': '全选/不选',\n 'Select.checkAll': '全选',\n 'Select.clear': '移除',\n 'Select.upload': '重新上传',\n 'Select.clearAll': '移除所有',\n 'Select.createLabel': '新增选项',\n 'Select.placeholder': '请选择',\n 'Select.searchPromptText': '输入内容进行检索',\n 'sort': '排序',\n 'SubForm.button': '设置',\n 'SubForm.editDetail': '编辑详情',\n 'System.error': '系统错误',\n 'System.notify': '系统消息',\n 'System.copy': '内容已复制到粘贴板',\n 'System.requestError': '接口报错:',\n 'System.requestErrorStatus': '接口出错,状态码是:',\n 'Table.addRow': '新增一行',\n 'Table.copyRow': '复制一行',\n 'Table.columnsVisibility': '点击选择显示列',\n 'Table.deleteRow': '删除当前行',\n 'Table.discard': '放弃',\n 'Table.dragTip': '请拖动左边的按钮进行排序',\n 'Table.editing': '请先处理表格编辑项',\n 'Table.editRow': '编辑当前行',\n 'Table.modified': '当前有 {{modified}} 条记录修改但没有提交,你可以:',\n 'Table.moved': '当前有 {{moved}} 条记录修改了顺序但没有提交,你可以:',\n 'Table.operation': '操作',\n 'Table.playload': 'action 上请配置 payload, 否则不清楚要删除哪个',\n 'Table.startSort': '点击开始排序',\n 'Table.valueField': '请配置 valueField',\n 'Table.index': '序号',\n 'Table.toggleColumn': '显示列',\n 'Table.searchFields': '设置查询字段',\n 'Tag.placeholder': '暂无标签',\n 'Tag.tip': '最近使用的标签',\n 'Text.add': '新增:{{label}}',\n 'Time.placeholder': '请选择时间',\n 'Transfer.configError': '配置错误,选项无法与左侧选项对应',\n 'Transfer.refreshIcon': '点击刷新重新加载',\n 'Transfer.searchKeyword': '请输入关键字',\n 'Transfer.available': '可选项',\n 'Transfer.selectd': '已选项',\n 'Transfer.selectFromLeft': '请选择左侧数据',\n 'Tree.addChild': '添加子节点',\n 'Tree.addRoot': '添加一级节点',\n 'Tree.editNode': '编辑该节点',\n 'Tree.removeNode': '移除该节点',\n 'Tree.root': '顶级',\n 'validate.equals': '输入的数据与 $1 不一致',\n 'validate.equalsField': '输入的数据与 $1 值不一致',\n 'validate.gt': '请输入大于 $1 的值',\n 'validate.isAlpha': '请输入字母',\n 'validate.isAlphanumeric': '请输入字母或者数字',\n 'validate.isEmail': 'Email 格式不正确',\n 'validate.isFloat': '请输入浮点型数值',\n 'validate.isId': '请输入合法的身份证号',\n 'validate.isInt': '请输入整型数字',\n 'validate.isJson': 'JSON 格式不正确',\n 'validate.isLength': '请输入长度为 $1 的内容',\n 'validate.isNumeric': '请输入数字',\n 'validate.isPhoneNumber': '请输入合法的手机号码',\n 'validate.isRequired': '这是必填项',\n 'validate.isTelNumber': '请输入合法的电话号码',\n 'validate.isUrl': 'URL 格式不正确',\n 'validate.isUrlPath': '只能输入字母、数字、`-` 和 `_`.',\n 'validate.isWords': '请输入单词',\n 'validate.isZipcode': '请输入合法的邮编地址',\n 'validate.lt': '请输入小于 $1 的值',\n 'validate.matchRegexp': '格式不正确, 请输入符合规则为 `${1|raw}` 的内容。',\n 'validate.maximum': '当前输入值超出最大值 $1',\n 'validate.maxLength': '请控制内容长度, 不要输入 $1 个以上字符',\n 'validate.minimum': '当前输入值低于最小值 $1',\n 'validate.minLength': '请输入更多的内容,至少输入 $1 个字符。',\n 'validate.notEmptyString': '请不要全输入空白字符',\n 'validateFailed': '表单验证失败',\n 'Wizard.configError': '配置错误',\n 'Wizard.finish': '完成',\n 'Wizard.next': '下一步',\n 'Wizard.prev': '上一步',\n 'Wizard.saveAndNext': '保存并下一步',\n 'year-to-year': '{{from}} 年 - {{to}} 年',\n 'Year.placeholder': '请选择年',\n 'reload': '刷新',\n 'rotate': '旋转',\n 'Editor.fullscreen': '全屏',\n 'Editor.exitFullscreen': '退出全屏',\n 'Condition.not': '非',\n 'Condition.and': '并且',\n 'Condition.or': '或者',\n 'Condition.add_cond': '添加条件',\n 'Condition.add_cond_group': '添加条件组',\n 'Condition.delete_cond_group': '删除组',\n 'Condition.equal': '等于',\n 'Condition.not_equal': '不等于',\n 'Condition.less': '小于',\n 'Condition.less_or_equal': '小于或等于',\n 'Condition.greater': '大于',\n 'Condition.greater_or_equal': '大于或等于',\n 'Condition.between': '属于范围',\n 'Condition.not_between': '不属于范围',\n 'Condition.is_empty': '为空',\n 'Condition.is_not_empty': '不为空',\n 'Condition.like': '模糊匹配',\n 'Condition.not_like': '不匹配',\n 'Condition.starts_with': '匹配开头',\n 'Condition.ends_with': '匹配结尾',\n 'Condition.select_equals': '等于',\n 'Condition.select_not_equals': '不等于',\n 'Condition.select_any_in': '包含',\n 'Condition.select_not_any_in': '不包含',\n 'Condition.placeholder': '请输入文本',\n 'Condition.cond_placeholder': '请选择操作',\n 'Condition.field_placeholder': '请选择字段',\n 'Condition.blank': '空',\n 'Condition.expression': '表达式',\n 'Condition.formula_placeholder': '请输入公式',\n 'Condition.fun_error': '方法未定义',\n 'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证',\n 'Timeline.collapseText': '展开',\n 'Timeline.expandText': '折叠',\n 'collapse': '展开',\n 'expand': '折叠',\n 'FormulaEditor.btnLabel': '公式编辑',\n 'FormulaEditor.title': '公式编辑器',\n 'FormulaEditor.variable': '变量',\n 'FormulaEditor.function': '函数',\n 'FormulaEditor.invalidData': '公式值校验错误,错误的位置/原因是 {{err}}',\n 'pullRefresh.pullingText': '下拉即可刷新...',\n 'pullRefresh.loosingText': '释放即可刷新...',\n 'pullRefresh.loadingText': '加载中...',\n 'pullRefresh.successText': '加载成功',\n 'Picker.placeholder': '请点击右侧的图标',\n 'UserSelect.edit': '编辑',\n 'UserSelect.save': '保存',\n 'UserSelect.resultSort': '选择结果排序',\n 'UserSelect.selected': '已选',\n 'UserSelect.clear': '清空',\n 'SchemaType.string': '文本',\n 'SchemaType.number': '数字',\n 'SchemaType.integer': '整数',\n 'SchemaType.object': '对象',\n 'SchemaType.array': '数组',\n 'SchemaType.boolean': '布尔',\n 'SchemaType.null': 'Null',\n 'SchemaType.any': '任意',\n 'JSONSchema.title': '名称',\n 'JSONSchema.default': '默认值',\n 'JSONSchema.key': '字段名',\n 'JSONSchema.description': '描述',\n 'JSONSchema.add_prop': '添加属性',\n 'JSONSchema.array_items': '成员类型',\n 'Required': '必填',\n 'TimeNow': '此刻'\n});\n"
|
11
|
+
"import {register} from '../locale';\n\nregister('zh-CN', {\n 'Action.countDown': '请等待 ${timeLeft} 秒',\n 'Alert.info': '系统消息',\n 'App.home': '首页',\n 'App.navigation': '导航',\n 'asc': '正序',\n 'Calendar.datepicker': '日期选择',\n 'Calendar.yearmonth': 'YYYY年MM月',\n 'Calendar.year': 'YYYY年',\n 'Calendar.begin': '开始',\n 'Calendar.end': '结束',\n 'Calendar.beginAndEnd': '始/终',\n 'Calendar.toast': '超出日期范围',\n 'Calendar.startPick': '开始时间',\n 'Calendar.endPick': '结束时间',\n 'Schedule': '日程',\n 'Time': '时间',\n 'Content': '内容',\n 'cancel': '取消',\n 'Card.dragTip': '请拖动顶部的按钮进行排序',\n 'Card.toggleDrag': '对卡片进行排序操作',\n 'City.street': '请输入街道信息',\n 'clear': '清空',\n 'ColorPicker.placeholder': '请选择颜色',\n 'SubForm.add': '新增一项',\n 'add': '新增',\n 'Combo.dragDropSort': '拖拽排序',\n 'Combo.invalidData': '数值格式不正确',\n 'Combo.maxLength': '组合表单超出{{maxLength}}个,请删除',\n 'Combo.minLength': '组合表单数量不足{{minLength}}个,请添加更多',\n 'Combo.type': '类型',\n 'confirm': '确认',\n 'Copyable.tip': '点击复制',\n 'CRUD.exportCSV': '导出 CSV',\n 'CRUD.exportExcel': '导出 Excel',\n 'CRUD.fetchFailed': '获取失败',\n 'CRUD.filter': '筛选',\n 'CRUD.selected': '已选{{total}}条:',\n 'CRUD.invalidArray': 'data.items 必须是数组',\n 'CRUD.invalidData': '返回数据格式不正确,data 没有数据',\n 'CRUD.loadMore': '加载更多',\n 'CRUD.perPage': '每页显示',\n 'CRUD.stat': '{{page}}/{{lastPage}} 总共:{{total}} 项',\n 'CRUD.paginationGoText': '前往',\n 'CRUD.paginationPageText': '页',\n 'PaginationWrapper.placeholder': '请配置内容',\n 'Pagination.select': '{{count}} 条/页',\n 'Pagination.goto': '跳转至',\n 'Pagination.go': 'GO',\n 'Pagination.totalPage': '共 {{lastPage}} 页',\n 'Pagination.totalCount': '共 {{total}} 条',\n 'Date.titleYear': '选择年',\n 'Date.titleMonth': '选择年月',\n 'Date.titleDate': '选择年月日',\n 'Date.titleTime': '选择时间',\n 'Date.daysago': '{{days}}天前',\n 'Date.dayslater': '{{days}}天后',\n 'Date.endOfMonth': '本月最后一天',\n 'Date.endOfWeek': '周日',\n 'Date.endOfLastMonth': '上月最后一天',\n 'Date.hoursago': '{{hours}}小时前',\n 'Date.hourslater': '{{hours}}小时后',\n 'Date.invalid': '日期无效',\n 'Date.monday': '本周一',\n 'Date.monthsago': '{{months}}月前',\n 'Date.monthslater': '{{months}}月后',\n 'Date.now': '现在',\n 'Date.placeholder': '请选择日期',\n 'Date.quartersago': '{{quarters}}季度前',\n 'Date.quarterslater': '{{quarters}}季度后',\n 'Date.startOfLastMonth': '上个月第一天',\n 'Date.startOfLastQuarter': '上个季度第一天',\n 'Date.startOfMonth': '本月第一天',\n 'Date.startOfQuarter': '本季度第一天',\n 'Date.today': '今天',\n 'Date.tomorrow': '明天',\n 'Date.weeksago': '{{weeks}}周前',\n 'Date.weekslater': '{{weeks}}周后',\n 'Date.yesterday': '昨天',\n 'dateformat.year': 'YYYY年',\n 'DateRange.daysago': '最近{{days}}天',\n 'DateRange.dayslater': '{{days}}天以内',\n 'DateRange.weeksago': '最近{{weeks}}周',\n 'DateRange.weekslater': '{{weeks}}周以内',\n 'DateRange.monthsago': '最近{{months}}月',\n 'DateRange.monthslater': '{{months}}月以内',\n 'DateRange.quartersago': '最近{{quarters}}季度',\n 'DateRange.quarterslater': '{{quarters}}季度以内',\n 'DateRange.yearsago': '最近{{years}}年',\n 'DateRange.yearslater': '{{years}}年以内',\n 'DateRange.hoursago': '最近{{hours}}小时',\n 'DateRange.hourslater': '{{hours}}小时以内',\n 'DateRange.1daysago': '最近1天',\n 'DateRange.1dayago': '最近1天',\n 'DateRange.7daysago': '最近7天',\n 'DateRange.30daysago': '最近30天',\n 'DateRange.90daysago': '最近90天',\n 'DateRange.lastWeek': '上周',\n 'DateRange.lastMonth': '上个月',\n 'DateRange.lastQuarter': '上个季度',\n 'DateRange.placeholder': '请选择日期范围',\n 'DateRange.thisWeek': '这个周',\n 'DateRange.thisMonth': '这个月',\n 'DateRange.thisQuarter': '这个季度',\n 'DateRange.valueConcat': ' 至 ',\n 'DateTime.placeholder': '请选择日期以及时间',\n 'MonthRange.placeholder': '请选择月份范围',\n 'QuarterRange.placeholder': '请选择季度范围',\n 'YearRange.placeholder': '请选择年份范围',\n 'DateRange.thisYear': '今年',\n 'DateRange.lastYear': '去年',\n 'delete': '删除',\n 'deleteConfirm': '确认要删除?',\n 'deleteFailed': '删除失败',\n 'desc': '降序',\n 'Dialog.close': '关闭',\n 'Dialog.title': '弹框',\n 'Embed.invalidRoot': '选择器不对,页面上没有此元素',\n 'Embed.downloading': '文件即将开始下载',\n 'Excel.placeholder': '拖拽 Excel 到这,或点击上传',\n 'Excel.parsed': '已解析 {{filename}}',\n 'fetchFailed': '初始化失败',\n 'File.continueAdd': '继续添加',\n 'File.downloadTpl': '下载模板',\n 'File.dragDrop': '将文件拖到此处,或',\n 'File.clickUpload': '点击上传',\n 'File.helpText': '帮助文档',\n 'File.errorRetry': '文件上传失败请重试',\n 'File.failed': '失败文件',\n 'File.invalidType': '{{files}} 不符合类型的 {{accept}} 的设定,请仔细检查',\n 'File.maxLength': '最多上传 {{maxLength}} 个文件',\n 'File.maxSize': '{{filename}} 大小为 {{actualSize}} 超出了最大为 {{maxSize}} (字节)的限制',\n 'File.pause': '暂停上传',\n 'File.repick': '重新选择',\n 'File.result': '已成功上传 {{uploaded}} 个文件,{{failed}} 个文件上传失败,',\n 'File.retry': '重试上传',\n 'File.sizeLimit': '文件大小不超过 {{maxSize}} B',\n 'File.start': '开始上传',\n 'File.upload': '文件上传',\n 'Image.upload': '图片上传',\n 'File.uploadFailed': '接口返回错误,请仔细检查',\n 'File.uploading': '上传中...',\n 'FormItem.autoUpdateloadFaild': '接口返回错误,请仔细检查',\n 'Form.loadOptionsFailed': '加载选项失败,原因:{{reason}}',\n 'Form.submit': '提交',\n 'Form.title': '表单',\n 'Form.unique': '当前值不唯一',\n 'Form.validateFailed': '依赖的部分字段没有通过验证',\n 'Form.nestedError': '表单不要直接嵌套在表单下面',\n 'Image.configError': '图片多选配置和裁剪配置只能设置一个',\n 'Image.crop': '裁剪图片',\n 'Image.dragDrop': '将图片拖拽到此处',\n 'Image.height': '高度 {{height}}px',\n 'Image.limitRatio': '请上传尺寸比率为 {{ratio}} 的图片',\n 'Image.pasteTip': '可以粘贴剪切板中的图片',\n 'Image.placeholder': '点击选择图片或拖拽图片到这里',\n 'Image.size': '尺寸({{width}} x {{height}})',\n 'Image.sizeMax': '请上传不要大于{{info}}的图片',\n 'Image.sizeMin': '请上传不要小于{{info}}的图片',\n 'Image.sizeNotEqual': '请上传{{info}}的图片',\n 'Image.width': '宽度 {{width}}px',\n 'Image.zoomIn': '查看大图',\n 'Image.limitMax': '上传图片大于{{info}},请检查图片尺寸',\n 'Image.limitMin': '上传图片小于{{info}},请检查图片尺寸',\n 'Log.mustHaveSource': '需要配置 Source',\n 'Log.showLineNumber': '显示行数',\n 'Log.notShowLineNumber': '不现实行数',\n 'Log.expand': '展开工具栏',\n 'Log.collapse': '收起工具栏',\n 'link': '链接',\n 'loading': '加载中',\n 'LocationPicker.placeholder': '请选择位置',\n 'Month.placeholder': '请选择月份',\n 'Nav.sourceError': '获取链接错误',\n 'networkError': '网络错误,可能是未配置跨域 CORS',\n 'noResult': '未找到任何结果',\n 'NumberInput.placeholder': '请输入数字',\n 'Options.addPlaceholder': '请输入名称',\n 'Options.deleteAPI': '必须设置 deleteAPI',\n 'Options.editLabel': '编辑{{label}}',\n 'Options.label': '选项',\n 'Options.createFailed': '新增失败,请仔细检查',\n 'placeholder.empty': '<空>',\n 'placeholder.enter': '请输入',\n 'placeholder.noData': '暂无数据',\n 'placeholder.noOption': '暂无选项',\n 'placeholder.selectData': '请先选择数据',\n 'Quarter.placeholder': '请选择季度',\n 'Repeat.pre': '每',\n 'reset': '重置',\n 'saveFailed': '保存失败',\n 'saveSuccess': '保存成功',\n 'search': '搜索',\n 'searchResult': '搜索结果',\n 'stop': '停止',\n 'Checkboxes.selectAll': '全选/不选',\n 'Select.checkAll': '全选',\n 'Select.clear': '移除',\n 'Select.upload': '重新上传',\n 'Select.clearAll': '移除所有',\n 'Select.createLabel': '新增选项',\n 'Select.placeholder': '请选择',\n 'Select.searchPromptText': '搜索',\n 'sort': '排序',\n 'SubForm.button': '设置',\n 'SubForm.editDetail': '编辑详情',\n 'System.error': '系统错误',\n 'System.notify': '系统消息',\n 'System.copy': '内容已复制到粘贴板',\n 'System.requestError': '接口报错:',\n 'System.requestErrorStatus': '接口出错,状态码是:',\n 'Table.addRow': '新增一行',\n 'Table.copyRow': '复制一行',\n 'Table.columnsVisibility': '点击选择显示列',\n 'Table.deleteRow': '删除当前行',\n 'Table.discard': '放弃',\n 'Table.dragTip': '请拖动左边的按钮进行排序',\n 'Table.editing': '请先处理表格编辑项',\n 'Table.editRow': '编辑当前行',\n 'Table.modified': '当前有 {{modified}} 条记录修改但没有提交,你可以:',\n 'Table.moved': '当前有 {{moved}} 条记录修改了顺序但没有提交,你可以:',\n 'Table.operation': '操作',\n 'Table.playload': 'action 上请配置 payload, 否则不清楚要删除哪个',\n 'Table.startSort': '点击开始排序',\n 'Table.valueField': '请配置 valueField',\n 'Table.index': '序号',\n 'Table.toggleColumn': '显示列',\n 'Table.searchFields': '设置查询字段',\n 'Tag.placeholder': '暂无标签',\n 'Tag.tip': '最近使用的标签',\n 'Text.add': '新增:{{label}}',\n 'Time.placeholder': '请选择时间',\n 'Transfer.configError': '配置错误,选项无法与左侧选项对应',\n 'Transfer.refreshIcon': '点击刷新重新加载',\n 'Transfer.searchKeyword': '请输入关键字',\n 'Transfer.available': '可选项',\n 'Transfer.selectd': '已选项',\n 'Transfer.selectFromLeft': '请选择左侧数据',\n 'Tree.addChild': '添加子节点',\n 'Tree.addRoot': '添加一级节点',\n 'Tree.editNode': '编辑该节点',\n 'Tree.removeNode': '移除该节点',\n 'Tree.root': '顶级',\n 'validate.equals': '输入的数据与 $1 不一致',\n 'validate.equalsField': '输入的数据与 $1 值不一致',\n 'validate.gt': '请输入大于 $1 的值',\n 'validate.isAlpha': '请输入字母',\n 'validate.isAlphanumeric': '请输入字母或者数字',\n 'validate.isEmail': 'Email 格式不正确',\n 'validate.isFloat': '请输入浮点型数值',\n 'validate.isId': '请输入合法的身份证号',\n 'validate.isInt': '请输入整型数字',\n 'validate.isJson': 'JSON 格式不正确',\n 'validate.isLength': '请输入长度为 $1 的内容',\n 'validate.isNumeric': '请输入数字',\n 'validate.isPhoneNumber': '请输入合法的手机号码',\n 'validate.isRequired': '这是必填项',\n 'validate.isTelNumber': '请输入合法的电话号码',\n 'validate.isUrl': 'URL 格式不正确',\n 'validate.isUrlPath': '只能输入字母、数字、`-` 和 `_`.',\n 'validate.isWords': '请输入单词',\n 'validate.isZipcode': '请输入合法的邮编地址',\n 'validate.lt': '请输入小于 $1 的值',\n 'validate.matchRegexp': '格式不正确, 请输入符合规则为 `${1|raw}` 的内容。',\n 'validate.maximum': '当前输入值超出最大值 $1',\n 'validate.maxLength': '请控制内容长度, 不要输入 $1 个以上字符',\n 'validate.minimum': '当前输入值低于最小值 $1',\n 'validate.minLength': '请输入更多的内容,至少输入 $1 个字符。',\n 'validate.notEmptyString': '请不要全输入空白字符',\n 'validateFailed': '表单验证失败',\n 'Wizard.configError': '配置错误',\n 'Wizard.finish': '完成',\n 'Wizard.next': '下一步',\n 'Wizard.prev': '上一步',\n 'Wizard.saveAndNext': '保存并下一步',\n 'year-to-year': '{{from}} 年 - {{to}} 年',\n 'Year.placeholder': '请选择年',\n 'reload': '刷新',\n 'rotate': '旋转',\n 'Editor.fullscreen': '全屏',\n 'Editor.exitFullscreen': '退出全屏',\n 'Condition.not': '非',\n 'Condition.and': '并且',\n 'Condition.or': '或者',\n 'Condition.add_cond': '添加条件',\n 'Condition.add_cond_group': '添加条件组',\n 'Condition.delete_cond_group': '删除组',\n 'Condition.equal': '等于',\n 'Condition.not_equal': '不等于',\n 'Condition.less': '小于',\n 'Condition.less_or_equal': '小于或等于',\n 'Condition.greater': '大于',\n 'Condition.greater_or_equal': '大于或等于',\n 'Condition.between': '属于范围',\n 'Condition.not_between': '不属于范围',\n 'Condition.is_empty': '为空',\n 'Condition.is_not_empty': '不为空',\n 'Condition.like': '模糊匹配',\n 'Condition.not_like': '不匹配',\n 'Condition.starts_with': '匹配开头',\n 'Condition.ends_with': '匹配结尾',\n 'Condition.select_equals': '等于',\n 'Condition.select_not_equals': '不等于',\n 'Condition.select_any_in': '包含',\n 'Condition.select_not_any_in': '不包含',\n 'Condition.placeholder': '请输入文本',\n 'Condition.cond_placeholder': '请选择操作',\n 'Condition.field_placeholder': '请选择字段',\n 'Condition.blank': '空',\n 'Condition.expression': '表达式',\n 'Condition.formula_placeholder': '请输入公式',\n 'Condition.fun_error': '方法未定义',\n 'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证',\n 'Timeline.collapseText': '展开',\n 'Timeline.expandText': '折叠',\n 'collapse': '展开',\n 'expand': '折叠',\n 'FormulaEditor.btnLabel': '公式编辑',\n 'FormulaEditor.title': '公式编辑器',\n 'FormulaEditor.variable': '变量',\n 'FormulaEditor.function': '函数',\n 'FormulaEditor.invalidData': '公式值校验错误,错误的位置/原因是 {{err}}',\n 'pullRefresh.pullingText': '下拉即可刷新...',\n 'pullRefresh.loosingText': '释放即可刷新...',\n 'pullRefresh.loadingText': '加载中...',\n 'pullRefresh.successText': '加载成功',\n 'Picker.placeholder': '请点击右侧的图标',\n 'UserSelect.edit': '编辑',\n 'UserSelect.save': '保存',\n 'UserSelect.resultSort': '选择结果排序',\n 'UserSelect.selected': '已选',\n 'UserSelect.clear': '清空',\n 'SchemaType.string': '文本',\n 'SchemaType.number': '数字',\n 'SchemaType.integer': '整数',\n 'SchemaType.object': '对象',\n 'SchemaType.array': '数组',\n 'SchemaType.boolean': '布尔',\n 'SchemaType.null': 'Null',\n 'SchemaType.any': '任意',\n 'JSONSchema.title': '名称',\n 'JSONSchema.default': '默认值',\n 'JSONSchema.key': '字段名',\n 'JSONSchema.description': '描述',\n 'JSONSchema.add_prop': '添加属性',\n 'JSONSchema.array_items': '成员类型',\n 'Required': '必填',\n 'TimeNow': '此刻'\n});\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Action.js
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Action.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport hotkeys from 'hotkeys-js';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport {Renderer, RendererProps} from '../factory';\nimport {filter} from '../utils/tpl';\nimport Button from '../components/Button';\nimport {ScopedContext} from '../Scoped';\nimport {isObject} from '../utils/helper';\n\nimport type {IScopedContext} from '../Scoped';\nimport type {Action as ICmptAction} from '../types';\n\nexport interface ButtonSchema extends BaseSchema {\n /**\n * 主要用于用户行为跟踪里区分是哪个按钮\n */\n id?: string;\n\n /**\n * 是否为块状展示,默认为内联。\n */\n block?: boolean;\n\n /**\n * 禁用时的文案提示。\n */\n disabledTip?: string;\n\n /**\n * 按钮图标, iconfont 的类名\n */\n icon?: SchemaIcon;\n\n /**\n * icon 上的css 类名\n */\n iconClassName?: SchemaClassName;\n\n /**\n * 右侧按钮图标, iconfont 的类名\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 右侧 icon 上的 css 类名\n */\n rightIconClassName?: SchemaClassName;\n /**\n * loading 上的css 类名\n */\n loadingClassName?: SchemaClassName;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light'\n | 'secondary';\n\n /**\n * @deprecated 通过 level 来配置\n */\n primary?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n tooltip?: SchemaTooltip;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 指定按钮类型,支持 button、submit或者reset三种类型。\n */\n type: 'button' | 'submit' | 'reset';\n\n /**\n * 提示文字,配置了操作前会要求用户确认。\n */\n confirmText?: string;\n\n /**\n * 如果按钮在form中,配置此属性会要求用户把指定的字段通过验证后才会触发行为。\n */\n required?: Array<string>;\n\n /**\n * 激活状态时的样式\n */\n activeLevel?: string;\n\n /**\n * 激活状态时的类名\n */\n activeClassName?: string;\n\n /**\n * 如果按钮在弹框中,可以配置这个动作完成后是否关闭弹窗,或者指定关闭目标弹框。\n */\n close?: boolean | string;\n\n /**\n * 当按钮时批量操作按钮时,默认必须有勾选元素才能可点击,如果此属性配置成 false,则没有点选成员也能点击。\n */\n requireSelected?: boolean;\n\n /**\n * 是否将弹框中数据 merge 到父级作用域。\n */\n mergeData?: boolean;\n\n /**\n * 可以指定让谁来触发这个动作。\n */\n target?: string;\n\n /**\n * 点击后的禁止倒计时(秒)\n */\n countDown?: number;\n\n /**\n * 倒计时文字自定义\n */\n countDownTpl?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n\n /**\n * 键盘快捷键\n */\n hotKey?: string;\n /**\n * 是否显示loading效果\n */\n loadingOn?: string;\n\n /**\n * 自定义事件处理函数\n */\n onClick?: string | any;\n\n /**\n * 子内容\n */\n body?: SchemaCollection;\n}\n\nexport interface AjaxActionSchema extends ButtonSchema {\n /**\n * 指定为发送 ajax 的行为。\n */\n actionType: 'ajax';\n\n /**\n * 配置 ajax 发送地址\n */\n api: SchemaApi;\n\n feedback?: FeedbackDialog;\n\n reload?: SchemaReload;\n redirect?: string;\n ignoreConfirm?: boolean;\n}\n\nexport interface DownloadActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为下载行为\n */\n actionType: 'download';\n}\n\nexport interface SaveAsActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为保存到本地\n */\n actionType: 'saveAs';\n}\n\nexport interface UrlActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接\n */\n actionType: 'url';\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n\n /**\n * 打开的目标地址\n */\n url: string;\n}\n\nexport interface DialogActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗\n */\n actionType: 'dialog';\n\n /**\n * 弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\n dialog: DialogSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface DrawerActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'drawer';\n\n /**\n * 抽出式弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\n drawer: DrawerSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface ToastActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'toast';\n\n /**\n * 轻提示详情\n * 文档:https://baidu.gitee.io/amis/docs/components/toast\n */\n toast: ToastSchemaBase;\n}\n\nexport interface CopyActionSchema extends ButtonSchema {\n /**\n * 指定为复制内容行为\n */\n actionType: 'copy';\n\n /**\n * 复制啥内容由此配置,支持模板语法。\n */\n copy: SchemaTpl;\n}\n\nexport interface LinkActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接行为,跟 url 不同的时这个行为为单页模式。\n */\n actionType: 'link';\n\n /**\n * 跳转到哪?支持配置相对路径。\n */\n link: string;\n}\n\nexport interface ReloadActionSchema extends ButtonSchema {\n /**\n * 指定为刷新目标组件。\n */\n actionType: 'reload';\n\n /**\n * 指定目标组件。\n */\n target?: SchemaReload;\n}\n\nexport interface EmailActionSchema extends ButtonSchema {\n /**\n * 指定为打开邮箱行为\n */\n actionType: 'email';\n\n /**\n * 收件人邮箱\n */\n to: string;\n\n /**\n * 抄送邮箱\n */\n cc?: string;\n\n /**\n * 匿名抄送邮箱\n */\n bcc?: string;\n\n /**\n * 邮件主题\n */\n subject?: string;\n\n /**\n * 邮件正文\n */\n body?: string;\n}\n\nexport interface OtherActionSchema extends ButtonSchema {\n actionType:\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'add'\n | 'reset'\n | 'reset-and-submit';\n [propName: string]: any;\n}\n\nexport interface VanillaAction extends ButtonSchema {\n actionType?: string;\n}\n\n/**\n * 按钮动作渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/action\n */\nexport type ActionSchema =\n | AjaxActionSchema\n | UrlActionSchema\n | LinkActionSchema\n | DialogActionSchema\n | DrawerActionSchema\n | ToastActionSchema\n | CopyActionSchema\n | ReloadActionSchema\n | EmailActionSchema\n | OtherActionSchema\n | VanillaAction;\n\nconst ActionProps = [\n 'id',\n 'dialog',\n 'drawer',\n 'toast',\n 'url',\n 'link',\n 'confirmText',\n 'tooltip',\n 'disabledTip',\n 'className',\n 'asyncApi',\n 'redirect',\n 'size',\n 'level',\n 'primary',\n 'feedback',\n 'api',\n 'blank',\n 'tooltipPlacement',\n 'to',\n 'cc',\n 'bcc',\n 'subject',\n 'body',\n 'content',\n 'required',\n 'type',\n 'actionType',\n 'label',\n 'icon',\n 'rightIcon',\n 'reload',\n 'target',\n 'close',\n 'messages',\n 'mergeData',\n 'index',\n 'copy',\n 'copyFormat',\n 'payload',\n 'requireSelected',\n 'countDown'\n];\nimport {filterContents} from './Remark';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {autobind, createObject} from '../utils/helper';\nimport {\n BaseSchema,\n FeedbackDialog,\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaIcon,\n SchemaReload,\n SchemaTooltip,\n SchemaTpl\n} from '../Schema';\nimport {DialogSchema, DialogSchemaBase} from './Dialog';\nimport {DrawerSchema, DrawerSchemaBase} from './Drawer';\nimport {ToastSchemaBase} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {BadgeSchema, withBadge} from '../components/Badge';\nimport {normalizeApi, str2AsyncFunction} from '../utils/api';\nimport {TooltipWrapper} from '../components/TooltipWrapper';\n\n// 构造一个假的 React 事件避免可能的报错,主要用于快捷键功能\n// 来自 https://stackoverflow.com/questions/27062455/reactjs-can-i-create-my-own-syntheticevent\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type\n };\n};\n\nexport interface ActionProps\n extends Omit<\n ButtonSchema,\n 'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'\n >,\n ThemeProps,\n Omit<\n AjaxActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n UrlActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n LinkActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DialogActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DrawerActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ToastSchemaBase,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n CopyActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ReloadActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n EmailActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n | 'body'\n >,\n Omit<\n OtherActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n > {\n actionType: any;\n onAction?: (\n e: React.MouseEvent<any> | void | null,\n action: ActionSchema\n ) => void;\n isCurrentUrl?: (link: string) => boolean;\n onClick?:\n | ((e: React.MouseEvent<any>, props: any) => void)\n | string\n | Function\n | null;\n componentClass: React.ReactType;\n tooltipContainer?: any;\n data?: any;\n isMenuItem?: boolean;\n active?: boolean;\n}\n\nconst allowedType = ['button', 'submit', 'reset'];\n\ninterface ActionState {\n inCountDown: boolean; // 是否在倒计时\n countDownEnd: number; // 倒计时结束的精确时间\n timeLeft: number; // 倒计时剩余时间\n}\n\nexport class Action extends React.Component<ActionProps, ActionState> {\n static defaultProps = {\n type: 'button' as 'button',\n componentClass: 'button' as React.ReactType,\n tooltipPlacement: 'bottom' as 'bottom',\n activeClassName: 'is-active',\n countDownTpl: 'Action.countDown',\n countDown: 0\n };\n\n state: ActionState = {\n inCountDown: false,\n countDownEnd: 0,\n timeLeft: 0\n };\n\n localStorageKey: string;\n\n dom: any;\n\n constructor(props: ActionProps) {\n super(props);\n this.localStorageKey = 'amis-countdownend-' + (this.props.name || '');\n const countDownEnd = parseInt(\n localStorage.getItem(this.localStorageKey) || '0'\n );\n if (countDownEnd && this.props.countDown) {\n if (Date.now() < countDownEnd) {\n this.state = {\n inCountDown: true,\n countDownEnd,\n timeLeft: Math.floor((countDownEnd - Date.now()) / 1000)\n };\n this.handleCountDown();\n }\n }\n }\n\n @autobind\n async handleAction(e: React.MouseEvent<any>) {\n const {onAction, disabled, countDown, env} = this.props;\n // https://reactjs.org/docs/legacy-event-pooling.html\n e.persist(); // 等 react 17之后去掉 event pooling 了,这个应该就没用了\n let onClick = this.props.onClick;\n\n if (typeof onClick === 'string') {\n onClick = str2AsyncFunction(onClick, 'event', 'props');\n }\n const result: any = onClick && (await onClick(e, this.props));\n\n if (\n disabled ||\n e.isDefaultPrevented() ||\n result === false ||\n !onAction ||\n this.state.inCountDown\n ) {\n return;\n }\n\n e.preventDefault();\n const action = pick(this.props, ActionProps) as ActionSchema;\n const actionType = action.actionType;\n\n // ajax 会在 wrapFetcher 里记录,这里再处理就重复了,因此去掉\n // add 一般是 input-table 之类的,会触发 formItemChange,为了避免重复也去掉\n if (\n actionType !== 'ajax' &&\n actionType !== 'download' &&\n actionType !== 'add'\n ) {\n env?.tracker(\n {\n eventType: actionType || this.props.type || 'click',\n eventData: omit(action, ['type', 'actionType', 'tooltipPlacement'])\n },\n this.props\n );\n }\n\n // download 是一种 ajax 的简写\n if (actionType === 'download') {\n action.actionType = 'ajax';\n const api = normalizeApi((action as AjaxActionSchema).api);\n api.responseType = 'blob';\n (action as AjaxActionSchema).api = api;\n }\n\n await onAction(e, action);\n if (countDown) {\n const countDownEnd = Date.now() + countDown * 1000;\n this.setState({\n countDownEnd: countDownEnd,\n inCountDown: true,\n timeLeft: countDown\n });\n localStorage.setItem(this.localStorageKey, String(countDownEnd));\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n handleCountDown() {\n // setTimeout 一般会晚于 1s,经过几十次后就不准了,所以使用真实时间进行 diff\n const timeLeft = Math.floor((this.state.countDownEnd - Date.now()) / 1000);\n if (timeLeft <= 0) {\n this.setState({\n inCountDown: false,\n timeLeft: timeLeft\n });\n } else {\n this.setState({\n timeLeft: timeLeft\n });\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n componentDidMount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys(hotKey, event => {\n event.preventDefault();\n const click = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n this.handleAction(createSyntheticEvent(click) as any);\n });\n }\n }\n\n @autobind\n componentWillUnmount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys.unbind(hotKey);\n }\n }\n\n render() {\n const {\n type,\n icon,\n iconClassName,\n rightIcon,\n rightIconClassName,\n loadingClassName,\n primary,\n size,\n level,\n countDownTpl,\n block,\n className,\n componentClass,\n tooltip,\n disabledTip,\n tooltipPlacement,\n actionType,\n link,\n data,\n translate: __,\n activeClassName,\n isCurrentUrl,\n isMenuItem,\n active,\n activeLevel,\n tooltipTrigger,\n tooltipContainer,\n tooltipRootClose,\n loading,\n body,\n render,\n onMouseEnter,\n onMouseLeave,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (actionType !== 'email' && body) {\n return (\n <TooltipWrapper\n classPrefix={ns}\n classnames={cx}\n placement={tooltipPlacement}\n tooltip={tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <div\n className={cx('Action', className)}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {render('body', body) as JSX.Element}\n </div>\n </TooltipWrapper>\n );\n }\n\n let label = this.props.label;\n let disabled = this.props.disabled;\n let isActive = !!active;\n\n if (actionType === 'link' && !isActive && link && isCurrentUrl) {\n isActive = isCurrentUrl(link);\n }\n\n // 倒计时\n if (this.state.inCountDown) {\n label = filterContents(__(countDownTpl), {\n ...data,\n timeLeft: this.state.timeLeft\n }) as string;\n disabled = true;\n }\n\n const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);\n const rightIconElement = generateIcon(\n cx,\n rightIcon,\n 'Button-icon',\n rightIconClassName\n );\n\n return (\n <Button\n className={cx(className, {\n [activeClassName || 'is-active']: isActive\n })}\n size={size}\n level={\n activeLevel && isActive\n ? activeLevel\n : level || (primary ? 'primary' : undefined)\n }\n loadingClassName={loadingClassName}\n loading={loading}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n type={type && ~allowedType.indexOf(type) ? type : 'button'}\n disabled={disabled}\n componentClass={isMenuItem ? 'a' : componentClass}\n overrideClassName={isMenuItem}\n tooltip={tooltip}\n disabledTip={disabledTip}\n tooltipPlacement={tooltipPlacement}\n tooltipContainer={tooltipContainer}\n tooltipTrigger={tooltipTrigger}\n tooltipRootClose={tooltipRootClose}\n block={block}\n iconOnly={!!(icon && !label && level !== 'link')}\n >\n {!loading ? iconElement : ''}\n {label ? <span>{filter(String(label), data)}</span> : null}\n {rightIconElement}\n </Button>\n );\n }\n}\n\nexport default themeable(Action);\n\nexport type ActionRendererProps = RendererProps &\n Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {\n onAction: (\n e: React.MouseEvent<any> | string | void | null,\n action: object,\n data: any\n ) => void;\n btnDisabled?: boolean;\n };\n\n@Renderer({\n type: 'action'\n})\n// @ts-ignore 类型没搞定\n@withBadge\nexport class ActionRenderer extends React.Component<ActionRendererProps> {\n static contextType = ScopedContext;\n\n constructor(props: ActionRendererProps, scoped: IScopedContext) {\n super(props);\n\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n /**\n * 动作处理\n */\n doAction(\n action: ICmptAction,\n args: {\n value?: string | {[key: string]: string};\n }\n ) {\n const actionType = action?.actionType;\n\n if (actionType === 'click') {\n this.handleAction(actionType, action);\n }\n }\n\n @autobind\n async handleAction(\n e: React.MouseEvent<any> | string | void | null,\n action: any\n ) {\n const {env, onAction, data, ignoreConfirm, dispatchEvent} = this.props;\n let mergedData = data;\n\n if (action?.actionType === 'click' && isObject(action?.args)) {\n mergedData = createObject(data, action.args);\n }\n\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n e as React.MouseEvent<any> | string,\n mergedData\n );\n\n // 阻止原有动作执行\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (!ignoreConfirm && action.confirmText && env.confirm) {\n let confirmed = await env.confirm(filter(action.confirmText, mergedData));\n if (confirmed) {\n await onAction(e, action, mergedData);\n } else if (action.countDown) {\n throw new Error('cancel');\n }\n } else {\n await onAction(e, action, mergedData);\n }\n }\n\n @autobind\n handleMouseEnter(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n handleMouseLeave(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n isCurrentAction(link: string) {\n const {env, data} = this.props;\n return env.isCurrentUrl(filter(link, data));\n }\n\n render() {\n const {env, disabled, btnDisabled, loading, ...rest} = this.props;\n\n return (\n <Action\n {...(rest as any)}\n env={env}\n disabled={disabled || btnDisabled}\n onAction={this.handleAction}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n loading={loading}\n isCurrentUrl={this.isCurrentAction}\n tooltipContainer={\n env.getModalContainer ? env.getModalContainer : undefined\n }\n />\n );\n }\n}\n\n@Renderer({\n type: 'button'\n})\nexport class ButtonRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'submit'\n})\nexport class SubmitRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'reset'\n})\nexport class ResetRenderer extends ActionRenderer {}\n"
|
11
|
+
"import React from 'react';\nimport hotkeys from 'hotkeys-js';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport {Renderer, RendererProps} from '../factory';\nimport {filter} from '../utils/tpl';\nimport Button from '../components/Button';\nimport {ScopedContext} from '../Scoped';\nimport {isObject} from '../utils/helper';\n\nimport type {IScopedContext} from '../Scoped';\nimport type {Action as ICmptAction} from '../types';\n\nexport interface ButtonSchema extends BaseSchema {\n /**\n * 主要用于用户行为跟踪里区分是哪个按钮\n */\n id?: string;\n\n /**\n * 是否为块状展示,默认为内联。\n */\n block?: boolean;\n\n /**\n * 禁用时的文案提示。\n */\n disabledTip?: string;\n\n /**\n * 按钮图标, iconfont 的类名\n */\n icon?: SchemaIcon;\n\n /**\n * icon 上的css 类名\n */\n iconClassName?: SchemaClassName;\n\n /**\n * 右侧按钮图标, iconfont 的类名\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 右侧 icon 上的 css 类名\n */\n rightIconClassName?: SchemaClassName;\n /**\n * loading 上的css 类名\n */\n loadingClassName?: SchemaClassName;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light'\n | 'secondary';\n\n /**\n * @deprecated 通过 level 来配置\n */\n primary?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n tooltip?: SchemaTooltip;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 指定按钮类型,支持 button、submit或者reset三种类型。\n */\n type: 'button' | 'submit' | 'reset';\n\n /**\n * 提示文字,配置了操作前会要求用户确认。\n */\n confirmText?: string;\n\n /**\n * 如果按钮在form中,配置此属性会要求用户把指定的字段通过验证后才会触发行为。\n */\n required?: Array<string>;\n\n /**\n * 激活状态时的样式\n */\n activeLevel?: string;\n\n /**\n * 激活状态时的类名\n */\n activeClassName?: string;\n\n /**\n * 如果按钮在弹框中,可以配置这个动作完成后是否关闭弹窗,或者指定关闭目标弹框。\n */\n close?: boolean | string;\n\n /**\n * 当按钮时批量操作按钮时,默认必须有勾选元素才能可点击,如果此属性配置成 false,则没有点选成员也能点击。\n */\n requireSelected?: boolean;\n\n /**\n * 是否将弹框中数据 merge 到父级作用域。\n */\n mergeData?: boolean;\n\n /**\n * 可以指定让谁来触发这个动作。\n */\n target?: string;\n\n /**\n * 点击后的禁止倒计时(秒)\n */\n countDown?: number;\n\n /**\n * 倒计时文字自定义\n */\n countDownTpl?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n\n /**\n * 键盘快捷键\n */\n hotKey?: string;\n /**\n * 是否显示loading效果\n */\n loadingOn?: string;\n\n /**\n * 自定义事件处理函数\n */\n onClick?: string | any;\n\n /**\n * 子内容\n */\n body?: SchemaCollection;\n}\n\nexport interface AjaxActionSchema extends ButtonSchema {\n /**\n * 指定为发送 ajax 的行为。\n */\n actionType: 'ajax';\n\n /**\n * 配置 ajax 发送地址\n */\n api: SchemaApi;\n\n feedback?: FeedbackDialog;\n\n reload?: SchemaReload;\n redirect?: string;\n ignoreConfirm?: boolean;\n}\n\nexport interface DownloadActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为下载行为\n */\n actionType: 'download';\n}\n\nexport interface SaveAsActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为保存到本地\n */\n actionType: 'saveAs';\n}\n\nexport interface UrlActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接\n */\n actionType: 'url';\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n\n /**\n * 打开的目标地址\n */\n url: string;\n}\n\nexport interface DialogActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗\n */\n actionType: 'dialog';\n\n /**\n * 弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\n dialog: DialogSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface DrawerActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'drawer';\n\n /**\n * 抽出式弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\n drawer: DrawerSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface ToastActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'toast';\n\n /**\n * 轻提示详情\n * 文档:https://baidu.gitee.io/amis/docs/components/toast\n */\n toast: ToastSchemaBase;\n}\n\nexport interface CopyActionSchema extends ButtonSchema {\n /**\n * 指定为复制内容行为\n */\n actionType: 'copy';\n\n /**\n * 复制啥内容由此配置,支持模板语法。\n */\n copy: SchemaTpl;\n}\n\nexport interface LinkActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接行为,跟 url 不同的时这个行为为单页模式。\n */\n actionType: 'link';\n\n /**\n * 跳转到哪?支持配置相对路径。\n */\n link: string;\n}\n\nexport interface ReloadActionSchema extends ButtonSchema {\n /**\n * 指定为刷新目标组件。\n */\n actionType: 'reload';\n\n /**\n * 指定目标组件。\n */\n target?: SchemaReload;\n}\n\nexport interface EmailActionSchema extends ButtonSchema {\n /**\n * 指定为打开邮箱行为\n */\n actionType: 'email';\n\n /**\n * 收件人邮箱\n */\n to: string;\n\n /**\n * 抄送邮箱\n */\n cc?: string;\n\n /**\n * 匿名抄送邮箱\n */\n bcc?: string;\n\n /**\n * 邮件主题\n */\n subject?: string;\n\n /**\n * 邮件正文\n */\n body?: string;\n}\n\nexport interface OtherActionSchema extends ButtonSchema {\n actionType:\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'add'\n | 'reset'\n | 'reset-and-submit';\n [propName: string]: any;\n}\n\nexport interface VanillaAction extends ButtonSchema {\n actionType?: string;\n}\n\n/**\n * 按钮动作渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/action\n */\nexport type ActionSchema =\n | AjaxActionSchema\n | UrlActionSchema\n | LinkActionSchema\n | DialogActionSchema\n | DrawerActionSchema\n | ToastActionSchema\n | CopyActionSchema\n | ReloadActionSchema\n | EmailActionSchema\n | OtherActionSchema\n | VanillaAction;\n\nconst ActionProps = [\n 'id',\n 'dialog',\n 'drawer',\n 'toast',\n 'url',\n 'link',\n 'confirmText',\n 'tooltip',\n 'disabledTip',\n 'className',\n 'asyncApi',\n 'redirect',\n 'size',\n 'level',\n 'primary',\n 'feedback',\n 'api',\n 'blank',\n 'tooltipPlacement',\n 'to',\n 'cc',\n 'bcc',\n 'subject',\n 'body',\n 'content',\n 'required',\n 'type',\n 'actionType',\n 'label',\n 'icon',\n 'rightIcon',\n 'reload',\n 'target',\n 'close',\n 'messages',\n 'mergeData',\n 'index',\n 'copy',\n 'copyFormat',\n 'payload',\n 'requireSelected',\n 'countDown',\n 'fileName'\n];\nimport {filterContents} from './Remark';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {autobind, createObject} from '../utils/helper';\nimport {\n BaseSchema,\n FeedbackDialog,\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaIcon,\n SchemaReload,\n SchemaTooltip,\n SchemaTpl\n} from '../Schema';\nimport {DialogSchema, DialogSchemaBase} from './Dialog';\nimport {DrawerSchema, DrawerSchemaBase} from './Drawer';\nimport {ToastSchemaBase} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {BadgeSchema, withBadge} from '../components/Badge';\nimport {normalizeApi, str2AsyncFunction} from '../utils/api';\nimport {TooltipWrapper} from '../components/TooltipWrapper';\n\n// 构造一个假的 React 事件避免可能的报错,主要用于快捷键功能\n// 来自 https://stackoverflow.com/questions/27062455/reactjs-can-i-create-my-own-syntheticevent\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type\n };\n};\n\nexport interface ActionProps\n extends Omit<\n ButtonSchema,\n 'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'\n >,\n ThemeProps,\n Omit<\n AjaxActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n UrlActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n LinkActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DialogActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DrawerActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ToastSchemaBase,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n CopyActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ReloadActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n EmailActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n | 'body'\n >,\n Omit<\n OtherActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n > {\n actionType: any;\n onAction?: (\n e: React.MouseEvent<any> | void | null,\n action: ActionSchema\n ) => void;\n isCurrentUrl?: (link: string) => boolean;\n onClick?:\n | ((e: React.MouseEvent<any>, props: any) => void)\n | string\n | Function\n | null;\n componentClass: React.ReactType;\n tooltipContainer?: any;\n data?: any;\n isMenuItem?: boolean;\n active?: boolean;\n}\n\nconst allowedType = ['button', 'submit', 'reset'];\n\ninterface ActionState {\n inCountDown: boolean; // 是否在倒计时\n countDownEnd: number; // 倒计时结束的精确时间\n timeLeft: number; // 倒计时剩余时间\n}\n\nexport class Action extends React.Component<ActionProps, ActionState> {\n static defaultProps = {\n type: 'button' as 'button',\n componentClass: 'button' as React.ReactType,\n tooltipPlacement: 'bottom' as 'bottom',\n activeClassName: 'is-active',\n countDownTpl: 'Action.countDown',\n countDown: 0\n };\n\n state: ActionState = {\n inCountDown: false,\n countDownEnd: 0,\n timeLeft: 0\n };\n\n localStorageKey: string;\n\n dom: any;\n\n constructor(props: ActionProps) {\n super(props);\n this.localStorageKey = 'amis-countdownend-' + (this.props.name || '');\n const countDownEnd = parseInt(\n localStorage.getItem(this.localStorageKey) || '0'\n );\n if (countDownEnd && this.props.countDown) {\n if (Date.now() < countDownEnd) {\n this.state = {\n inCountDown: true,\n countDownEnd,\n timeLeft: Math.floor((countDownEnd - Date.now()) / 1000)\n };\n this.handleCountDown();\n }\n }\n }\n\n @autobind\n async handleAction(e: React.MouseEvent<any>) {\n const {onAction, disabled, countDown, env} = this.props;\n // https://reactjs.org/docs/legacy-event-pooling.html\n e.persist(); // 等 react 17之后去掉 event pooling 了,这个应该就没用了\n let onClick = this.props.onClick;\n\n if (typeof onClick === 'string') {\n onClick = str2AsyncFunction(onClick, 'event', 'props');\n }\n const result: any = onClick && (await onClick(e, this.props));\n\n if (\n disabled ||\n e.isDefaultPrevented() ||\n result === false ||\n !onAction ||\n this.state.inCountDown\n ) {\n return;\n }\n\n e.preventDefault();\n const action = pick(this.props, ActionProps) as ActionSchema;\n const actionType = action.actionType;\n\n // ajax 会在 wrapFetcher 里记录,这里再处理就重复了,因此去掉\n // add 一般是 input-table 之类的,会触发 formItemChange,为了避免重复也去掉\n if (\n actionType !== 'ajax' &&\n actionType !== 'download' &&\n actionType !== 'add'\n ) {\n env?.tracker(\n {\n eventType: actionType || this.props.type || 'click',\n eventData: omit(action, ['type', 'actionType', 'tooltipPlacement'])\n },\n this.props\n );\n }\n\n // download 是一种 ajax 的简写\n if (actionType === 'download') {\n action.actionType = 'ajax';\n const api = normalizeApi((action as AjaxActionSchema).api);\n api.responseType = 'blob';\n (action as AjaxActionSchema).api = api;\n }\n\n await onAction(e, action);\n if (countDown) {\n const countDownEnd = Date.now() + countDown * 1000;\n this.setState({\n countDownEnd: countDownEnd,\n inCountDown: true,\n timeLeft: countDown\n });\n localStorage.setItem(this.localStorageKey, String(countDownEnd));\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n handleCountDown() {\n // setTimeout 一般会晚于 1s,经过几十次后就不准了,所以使用真实时间进行 diff\n const timeLeft = Math.floor((this.state.countDownEnd - Date.now()) / 1000);\n if (timeLeft <= 0) {\n this.setState({\n inCountDown: false,\n timeLeft: timeLeft\n });\n } else {\n this.setState({\n timeLeft: timeLeft\n });\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n componentDidMount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys(hotKey, event => {\n event.preventDefault();\n const click = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n this.handleAction(createSyntheticEvent(click) as any);\n });\n }\n }\n\n @autobind\n componentWillUnmount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys.unbind(hotKey);\n }\n }\n\n render() {\n const {\n type,\n icon,\n iconClassName,\n rightIcon,\n rightIconClassName,\n loadingClassName,\n primary,\n size,\n level,\n countDownTpl,\n block,\n className,\n componentClass,\n tooltip,\n disabledTip,\n tooltipPlacement,\n actionType,\n link,\n data,\n translate: __,\n activeClassName,\n isCurrentUrl,\n isMenuItem,\n active,\n activeLevel,\n tooltipTrigger,\n tooltipContainer,\n tooltipRootClose,\n loading,\n body,\n render,\n onMouseEnter,\n onMouseLeave,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (actionType !== 'email' && body) {\n return (\n <TooltipWrapper\n classPrefix={ns}\n classnames={cx}\n placement={tooltipPlacement}\n tooltip={tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <div\n className={cx('Action', className)}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {render('body', body) as JSX.Element}\n </div>\n </TooltipWrapper>\n );\n }\n\n let label = this.props.label;\n let disabled = this.props.disabled;\n let isActive = !!active;\n\n if (actionType === 'link' && !isActive && link && isCurrentUrl) {\n isActive = isCurrentUrl(link);\n }\n\n // 倒计时\n if (this.state.inCountDown) {\n label = filterContents(__(countDownTpl), {\n ...data,\n timeLeft: this.state.timeLeft\n }) as string;\n disabled = true;\n }\n\n const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);\n const rightIconElement = generateIcon(\n cx,\n rightIcon,\n 'Button-icon',\n rightIconClassName\n );\n\n return (\n <Button\n className={cx(className, {\n [activeClassName || 'is-active']: isActive\n })}\n size={size}\n level={\n activeLevel && isActive\n ? activeLevel\n : level || (primary ? 'primary' : undefined)\n }\n loadingClassName={loadingClassName}\n loading={loading}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n type={type && ~allowedType.indexOf(type) ? type : 'button'}\n disabled={disabled}\n componentClass={isMenuItem ? 'a' : componentClass}\n overrideClassName={isMenuItem}\n tooltip={tooltip}\n disabledTip={disabledTip}\n tooltipPlacement={tooltipPlacement}\n tooltipContainer={tooltipContainer}\n tooltipTrigger={tooltipTrigger}\n tooltipRootClose={tooltipRootClose}\n block={block}\n iconOnly={!!(icon && !label && level !== 'link')}\n >\n {!loading ? iconElement : ''}\n {label ? <span>{filter(String(label), data)}</span> : null}\n {rightIconElement}\n </Button>\n );\n }\n}\n\nexport default themeable(Action);\n\nexport type ActionRendererProps = RendererProps &\n Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {\n onAction: (\n e: React.MouseEvent<any> | string | void | null,\n action: object,\n data: any\n ) => void;\n btnDisabled?: boolean;\n };\n\n@Renderer({\n type: 'action'\n})\n// @ts-ignore 类型没搞定\n@withBadge\nexport class ActionRenderer extends React.Component<ActionRendererProps> {\n static contextType = ScopedContext;\n\n constructor(props: ActionRendererProps, scoped: IScopedContext) {\n super(props);\n\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n /**\n * 动作处理\n */\n doAction(\n action: ICmptAction,\n args: {\n value?: string | {[key: string]: string};\n }\n ) {\n const actionType = action?.actionType;\n\n if (actionType === 'click') {\n this.handleAction(actionType, action);\n }\n }\n\n @autobind\n async handleAction(\n e: React.MouseEvent<any> | string | void | null,\n action: any\n ) {\n const {env, onAction, data, ignoreConfirm, dispatchEvent} = this.props;\n let mergedData = data;\n\n if (action?.actionType === 'click' && isObject(action?.args)) {\n mergedData = createObject(data, action.args);\n }\n\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n e as React.MouseEvent<any> | string,\n mergedData\n );\n\n // 阻止原有动作执行\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (!ignoreConfirm && action.confirmText && env.confirm) {\n let confirmed = await env.confirm(filter(action.confirmText, mergedData));\n if (confirmed) {\n await onAction(e, action, mergedData);\n } else if (action.countDown) {\n throw new Error('cancel');\n }\n } else {\n await onAction(e, action, mergedData);\n }\n }\n\n @autobind\n handleMouseEnter(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n handleMouseLeave(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n isCurrentAction(link: string) {\n const {env, data} = this.props;\n return env.isCurrentUrl(filter(link, data));\n }\n\n render() {\n const {env, disabled, btnDisabled, loading, ...rest} = this.props;\n\n return (\n <Action\n {...(rest as any)}\n env={env}\n disabled={disabled || btnDisabled}\n onAction={this.handleAction}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n loading={loading}\n isCurrentUrl={this.isCurrentAction}\n tooltipContainer={\n env.getModalContainer ? env.getModalContainer : undefined\n }\n />\n );\n }\n}\n\n@Renderer({\n type: 'button'\n})\nexport class ButtonRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'submit'\n})\nexport class SubmitRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'reset'\n})\nexport class ResetRenderer extends ActionRenderer {}\n"
|
12
12
|
]
|
13
13
|
}
|