amis 1.9.1-beta.12 → 1.9.1-beta.21
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/lib/components/AssociatedSelection.d.ts +40 -40
- package/lib/components/Badge.d.ts +1 -1
- package/lib/components/Badge.js.map +1 -1
- package/lib/components/ChainedSelection.d.ts +40 -40
- package/lib/components/GroupedSelection.d.ts +40 -40
- package/lib/components/GroupedSelection.js +3 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +1 -0
- package/lib/components/PickerContainer.js +4 -4
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Radios.d.ts +10 -10
- package/lib/components/ResultBox.d.ts +44 -40
- package/lib/components/ResultBox.js +40 -6
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +43 -53
- package/lib/components/ResultList.js +34 -22
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/ResultTableList.d.ts +40 -40
- package/lib/components/ResultTableList.js +16 -17
- package/lib/components/ResultTableList.js.map +2 -2
- package/lib/components/ResultTreeList.d.ts +40 -40
- package/lib/components/Select.d.ts +498 -294
- package/lib/components/Select.js +58 -10
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.d.ts +41 -40
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/TableSelection.d.ts +42 -40
- package/lib/components/TableSelection.js +7 -2
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +2 -2
- package/lib/components/TabsTransfer.js.map +1 -1
- package/lib/components/TooltipWrapper.d.ts +1 -1
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +40 -40
- package/lib/components/Transfer.js +1 -1
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +43 -40
- package/lib/components/TransferDropDown.js +2 -2
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +40 -40
- package/lib/components/TreeSelection.js +3 -2
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +45 -41
- package/lib/components/formula/Editor.js +8 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +43 -41
- package/lib/components/formula/Picker.js +40 -20
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.d.ts +2 -0
- package/lib/components/formula/VariableList.js +15 -5
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/index.d.ts +3 -1
- package/lib/components/index.js +5 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableList.d.ts +1 -0
- package/lib/components/schema-editor/SchemaVariableList.js +2 -2
- package/lib/components/schema-editor/SchemaVariableList.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +1 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
- package/lib/components/table/HeadCellFilter.js +4 -1
- package/lib/components/table/HeadCellFilter.js.map +2 -2
- package/lib/components/table/HeadCellSort.js +30 -24
- package/lib/components/table/HeadCellSort.js.map +2 -2
- package/lib/components/table/index.d.ts +6 -3
- package/lib/components/table/index.js +72 -86
- package/lib/components/table/index.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +21 -4
- package/lib/renderers/Action.js +44 -20
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +2 -2
- package/lib/renderers/Breadcrumb.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 +5 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTag.d.ts +8 -0
- package/lib/renderers/Form/InputTag.js +2 -2
- package/lib/renderers/Form/InputTag.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/Form/Picker.d.ts +1 -1
- package/lib/renderers/Form/Picker.js +38 -23
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +19 -0
- package/lib/renderers/Form/Select.js +2 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +1 -0
- package/lib/renderers/Form/Transfer.js +4 -0
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +10 -10
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/QRCode.d.ts +16 -0
- package/lib/renderers/QRCode.js +25 -1
- package/lib/renderers/QRCode.js.map +2 -2
- package/lib/renderers/Service.js +0 -1
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +2 -2
- package/lib/renderers/Steps.js +1 -1
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/exportExcel.js +50 -36
- package/lib/renderers/Table/exportExcel.js.map +2 -2
- package/lib/renderers/Table/index.js +2 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
- package/lib/renderers/Table-v2/index.d.ts +10 -4
- package/lib/renderers/Table-v2/index.js +109 -58
- package/lib/renderers/Table-v2/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/store/table-v2.d.ts +210 -4
- package/lib/store/table-v2.js +82 -5
- package/lib/store/table-v2.js.map +2 -2
- package/lib/themes/ang-ie11.css +140 -44
- package/lib/themes/ang.css +140 -33
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +140 -44
- package/lib/themes/antd.css +140 -33
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +297 -197
- package/lib/themes/cxd.css +151 -38
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +140 -44
- package/lib/themes/dark.css +140 -33
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +297 -197
- package/lib/themes/default.css +151 -38
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/formula.js +7 -5
- package/lib/utils/formula.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -0
- package/lib/utils/helper.js +11 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +2 -2
- package/schema.json +103 -35
- package/scss/_properties.scss +11 -6
- package/scss/components/_formula.scss +45 -4
- package/scss/components/_modal.scss +1 -1
- package/scss/components/_result-box.scss +34 -2
- package/scss/components/form/_checks.scss +47 -44
- package/scss/components/form/_date.scss +28 -19
- package/scss/components/form/_icon-picker.scss +10 -6
- package/scss/components/form/_select.scss +77 -34
- package/scss/components/form/_selection.scss +9 -6
- package/scss/components/form/_switch.scss +1 -0
- package/scss/components/form/_text.scss +2 -0
- package/scss/components/form/_transfer.scss +2 -1
- package/scss/themes/_cxd-variables.scss +3 -1
- package/scss/themes/cxd.scss +9 -6
- package/sdk/ang-ie11.css +159 -46
- package/sdk/ang.css +159 -35
- package/sdk/antd-ie11.css +159 -46
- package/sdk/antd.css +159 -35
- 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 +317 -199
- package/sdk/cxd.css +171 -40
- package/sdk/dark-ie11.css +159 -46
- package/sdk/dark.css +159 -35
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +2 -2
- 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 +317 -199
- package/sdk/sdk.css +171 -40
- package/sdk/sdk.js +1353 -1351
- 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/Badge.tsx +1 -1
- package/src/components/GroupedSelection.tsx +3 -2
- package/src/components/PickerContainer.tsx +13 -8
- package/src/components/ResultBox.tsx +95 -11
- package/src/components/ResultList.tsx +48 -51
- package/src/components/ResultTableList.tsx +32 -33
- package/src/components/Select.tsx +138 -17
- package/src/components/Selection.tsx +1 -0
- package/src/components/TableSelection.tsx +15 -8
- package/src/components/TabsTransfer.tsx +2 -2
- package/src/components/TooltipWrapper.tsx +20 -14
- package/src/components/Transfer.tsx +0 -4
- package/src/components/TransferDropDown.tsx +9 -1
- package/src/components/TreeSelection.tsx +2 -1
- package/src/components/formula/Editor.tsx +17 -2
- package/src/components/formula/Picker.tsx +44 -7
- package/src/components/formula/VariableList.tsx +36 -2
- package/src/components/index.tsx +4 -0
- package/src/components/schema-editor/SchemaVariableList.tsx +4 -2
- package/src/components/schema-editor/SchemaVariableListPicker.tsx +4 -1
- package/src/components/table/HeadCellFilter.tsx +4 -1
- package/src/components/table/HeadCellSort.tsx +1 -1
- package/src/components/table/index.tsx +66 -90
- package/src/locale/de-DE.ts +2 -2
- package/src/locale/en-US.ts +2 -2
- package/src/locale/zh-CN.ts +1 -1
- package/src/renderers/Action.tsx +64 -19
- package/src/renderers/Breadcrumb.tsx +11 -12
- package/src/renderers/CRUD.tsx +2 -0
- package/src/renderers/Form/InputFormula.tsx +9 -2
- package/src/renderers/Form/InputImage.tsx +4 -2
- package/src/renderers/Form/InputTag.tsx +14 -0
- package/src/renderers/Form/InputTree.tsx +7 -0
- package/src/renderers/Form/Picker.tsx +11 -1
- package/src/renderers/Form/Select.tsx +32 -1
- package/src/renderers/Form/Transfer.tsx +6 -0
- package/src/renderers/Form/wrapControl.tsx +10 -10
- package/src/renderers/QRCode.tsx +50 -1
- package/src/renderers/Service.tsx +0 -1
- package/src/renderers/Steps.tsx +5 -5
- package/src/renderers/Table/exportExcel.ts +29 -12
- package/src/renderers/Table/index.tsx +9 -7
- package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
- package/src/renderers/Table-v2/index.tsx +130 -58
- package/src/renderers/Tabs.tsx +33 -3
- package/src/store/table-v2.ts +104 -7
- package/src/types.ts +2 -1
- package/src/utils/formula.ts +7 -5
- package/src/utils/helper.ts +12 -2
@@ -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,6 +51,10 @@ 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) {
|
54
59
|
this.setState({
|
55
60
|
editorValue: value,
|
@@ -57,9 +62,12 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
57
62
|
});
|
58
63
|
};
|
59
64
|
FormulaPicker.prototype.handleEditorConfirm = function () {
|
60
|
-
var _this = this;
|
61
65
|
var __ = this.props.translate;
|
62
66
|
var value = this.state.editorValue;
|
67
|
+
this.confirm(value);
|
68
|
+
};
|
69
|
+
FormulaPicker.prototype.confirm = function (value) {
|
70
|
+
var _this = this;
|
63
71
|
var validate = this.validate(value);
|
64
72
|
if (validate === true) {
|
65
73
|
this.setState({ value: value }, function () {
|
@@ -106,11 +114,10 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
106
114
|
FormulaPicker.prototype.validate = function (value) {
|
107
115
|
var __ = this.props.translate;
|
108
116
|
try {
|
109
|
-
|
117
|
+
(0, amis_formula_1.parse)(value, {
|
110
118
|
evalMode: this.props.evalMode,
|
111
119
|
allowFilter: false
|
112
120
|
});
|
113
|
-
new amis_formula_1.Evaluator({}).evalute(ast);
|
114
121
|
return true;
|
115
122
|
}
|
116
123
|
catch (e) {
|
@@ -132,32 +139,39 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
132
139
|
isOpened: this.state.isOpened,
|
133
140
|
onClick: this.handleClick,
|
134
141
|
setState: this.updateState
|
135
|
-
})) : (react_1.default.createElement("div", { className: cx('FormulaPicker', className
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
142
|
+
})) : (react_1.default.createElement("div", { className: cx('FormulaPicker', className, mode === 'input-group' ? 'is-input-group' : '') },
|
143
|
+
mode === 'button' && (react_1.default.createElement(Button_1.default, { className: cx('FormulaPicker-action', 'w-full'), level: level, size: btnSize, onClick: this.handleClick },
|
144
|
+
iconElement ? (react_1.default.cloneElement(iconElement, {
|
145
|
+
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 = {},
|
146
|
+
_a['is-filled'] = !!value,
|
147
|
+
_a))
|
148
|
+
})) : (react_1.default.createElement(icons_1.Icon, { icon: "function", className: cx('FormulaPicker-icon', 'icon', (_b = {},
|
149
|
+
_b['is-filled'] = !!value,
|
150
|
+
_b)) })),
|
151
|
+
react_1.default.createElement("span", { className: cx('FormulaPicker-label') }, __(btnLabel || 'FormulaEditor.btnLabel')))),
|
152
|
+
mode === 'input-button' && (react_1.default.createElement(react_1.default.Fragment, null,
|
153
|
+
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
|
154
|
+
? void 0
|
155
|
+
: 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 }),
|
156
|
+
react_1.default.createElement(Button_1.default, { className: cx('FormulaPicker-action'), onClick: this.handleClick },
|
157
|
+
react_1.default.createElement(icons_1.Icon, { icon: "function", className: cx('FormulaPicker-icon', 'icon', (_c = {},
|
158
|
+
_c['is-filled'] = !!value,
|
159
|
+
_c)) })))),
|
160
|
+
mode === 'input-group' && (react_1.default.createElement(react_1.default.Fragment, null,
|
161
|
+
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 }),
|
162
|
+
react_1.default.createElement("a", { className: cx("FormulaPicker-toggler"), onClick: this.handleClick },
|
163
|
+
react_1.default.createElement(icons_1.Icon, { icon: "function", className: "icon" })))))),
|
151
164
|
react_1.default.createElement(Modal_1.default, { size: "md", closeOnEsc: true, show: this.state.isOpened, onHide: this.close },
|
152
165
|
react_1.default.createElement(Modal_1.default.Header, { onClose: this.close, className: "font-bold" }, __(title || 'FormulaEditor.title')),
|
153
166
|
react_1.default.createElement(Modal_1.default.Body, null,
|
154
|
-
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 }))),
|
167
|
+
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, selfVariableName: this.props.selfVariableName }))),
|
155
168
|
react_1.default.createElement(Modal_1.default.Footer, null,
|
156
169
|
!!isError ? (react_1.default.createElement("div", { className: cx('Dialog-info'), key: "info" },
|
157
170
|
react_1.default.createElement("span", { className: cx('Dialog-error') }, __('FormulaEditor.invalidData', { err: isError })))) : null,
|
158
171
|
react_1.default.createElement(Button_1.default, { onClick: this.close }, __('cancel')),
|
159
172
|
react_1.default.createElement(Button_1.default, { onClick: this.handleEditorConfirm, level: "primary" }, __('confirm'))))));
|
160
173
|
};
|
174
|
+
var _a;
|
161
175
|
FormulaPicker.defaultProps = {
|
162
176
|
evalMode: true
|
163
177
|
};
|
@@ -179,6 +193,12 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
179
193
|
(0, tslib_1.__metadata)("design:paramtypes", [String]),
|
180
194
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
181
195
|
], FormulaPicker.prototype, "handleInputChange", null);
|
196
|
+
(0, tslib_1.__decorate)([
|
197
|
+
helper_1.autobind,
|
198
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
199
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof react_1.default !== "undefined" && react_1.default.ChangeEvent) === "function" ? _a : Object]),
|
200
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
201
|
+
], FormulaPicker.prototype, "handleInputGroupChange", null);
|
182
202
|
(0, tslib_1.__decorate)([
|
183
203
|
helper_1.autobind,
|
184
204
|
(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 const ast = parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n new Evaluator({}).evalute(ast);\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 * 按钮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 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 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 ...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 icon=\"function\" className=\"icon\" />\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 value={editorValue}\n onChange={this.handleEditorChange}\n selfVariableName={this.props.selfVariableName}\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"
|
12
12
|
]
|
13
13
|
}
|
@@ -13,7 +13,9 @@ export interface VariableListProps extends ThemeProps {
|
|
13
13
|
selectMode?: 'list' | 'tree' | 'tabs';
|
14
14
|
tabsMode?: TabsMode;
|
15
15
|
itemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;
|
16
|
+
placeholderRender?: (props: any) => JSX.Element | null;
|
16
17
|
onSelect?: (item: VariableItem) => void;
|
18
|
+
selfVariableName?: string;
|
17
19
|
}
|
18
20
|
declare function VariableList(props: VariableListProps): JSX.Element;
|
19
21
|
declare const _default: {
|
@@ -8,15 +8,25 @@ var Tabs_1 = tslib_1.__importStar(require("../Tabs"));
|
|
8
8
|
var TreeSelection_1 = (0, tslib_1.__importDefault)(require("../TreeSelection"));
|
9
9
|
var SearchBox_1 = (0, tslib_1.__importDefault)(require("../SearchBox"));
|
10
10
|
var helper_1 = require("../../utils/helper");
|
11
|
+
var Badge_1 = require("../Badge");
|
11
12
|
function VariableList(props) {
|
12
|
-
var list = props.data, className = props.className, cx = props.classnames, _a = props.tabsMode, tabsMode = _a === void 0 ? 'line' : _a, themePrefix = props.classPrefix, itemClassName = props.itemClassName, selectMode = props.selectMode, onSelect = props.onSelect;
|
13
|
+
var list = props.data, className = props.className, cx = props.classnames, _a = props.tabsMode, tabsMode = _a === void 0 ? 'line' : _a, themePrefix = props.classPrefix, itemClassName = props.itemClassName, selectMode = props.selectMode, onSelect = props.onSelect, placeholderRender = props.placeholderRender, selfVariableName = props.selfVariableName;
|
13
14
|
var _b = react_1.default.useState(list), filterVars = _b[0], setFilterVars = _b[1];
|
14
15
|
var classPrefix = "".concat(themePrefix, "FormulaEditor-VariableList");
|
15
16
|
var itemRender = props.itemRender && typeof props.itemRender === 'function'
|
16
17
|
? props.itemRender
|
17
18
|
: function (option, states) {
|
18
19
|
return (react_1.default.createElement("span", { className: cx("".concat(classPrefix, "-item"), itemClassName) },
|
19
|
-
react_1.default.createElement(
|
20
|
+
option.label && option.label === selfVariableName && (react_1.default.createElement(Badge_1.Badge, { classnames: cx, badge: {
|
21
|
+
mode: "text",
|
22
|
+
text: "self",
|
23
|
+
offset: [
|
24
|
+
15,
|
25
|
+
2
|
26
|
+
]
|
27
|
+
} },
|
28
|
+
react_1.default.createElement("label", null, option.label))),
|
29
|
+
option.label && option.label !== selfVariableName && (react_1.default.createElement("label", null, option.label)),
|
20
30
|
(option === null || option === void 0 ? void 0 : option.tag) ? (react_1.default.createElement("span", { className: cx("".concat(classPrefix, "-item-tag")) }, option.tag)) : null));
|
21
31
|
};
|
22
32
|
function onSearch(term) {
|
@@ -28,11 +38,11 @@ function VariableList(props) {
|
|
28
38
|
react_1.default.createElement(SearchBox_1.default, { mini: false, onSearch: onSearch })));
|
29
39
|
}
|
30
40
|
return (react_1.default.createElement("div", { className: cx(className, 'FormulaEditor-VariableList', selectMode && "FormulaEditor-VariableList-".concat(selectMode)) }, selectMode === 'tabs' ? (react_1.default.createElement(Tabs_1.default, { tabsMode: tabsMode, className: cx("".concat(classPrefix, "-base ").concat(classPrefix, "-tabs")) }, filterVars.map(function (item, index) { return (react_1.default.createElement(Tabs_1.Tab, { className: cx("".concat(classPrefix, "-tab")), eventKey: index, key: index, title: item.label },
|
31
|
-
react_1.default.createElement(VariableList, { classnames: cx, classPrefix: "".concat(classPrefix, "-sub-"), className: cx("".concat(classPrefix, "-sub")), itemRender: itemRender, selectMode: item.selectMode, data: item.children, onSelect: onSelect }))); }))) : selectMode === 'tree' ? (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-body') },
|
41
|
+
react_1.default.createElement(VariableList, { classnames: cx, classPrefix: "".concat(classPrefix, "-sub-"), className: cx("".concat(classPrefix, "-sub")), itemRender: itemRender, placeholderRender: placeholderRender, selectMode: item.selectMode, data: item.children, onSelect: onSelect, selfVariableName: selfVariableName }))); }))) : selectMode === 'tree' ? (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-body') },
|
32
42
|
renderSearchBox(),
|
33
|
-
react_1.default.createElement(TreeSelection_1.default, { itemRender: itemRender, className: cx("".concat(classPrefix, "-base"), 'is-scrollable'), multiple: false, options: filterVars, onChange: function (item) { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(item); } }))) : (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-body') },
|
43
|
+
react_1.default.createElement(TreeSelection_1.default, { itemRender: itemRender, placeholderRender: placeholderRender, className: cx("".concat(classPrefix, "-base"), 'is-scrollable'), multiple: false, options: filterVars, onChange: function (item) { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(item); } }))) : (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-body') },
|
34
44
|
renderSearchBox(),
|
35
|
-
react_1.default.createElement(GroupedSelection_1.default, { itemRender: itemRender, className: cx("".concat(classPrefix, "-base"), 'is-scrollable'), multiple: false, options: filterVars, onChange: function (item) { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(item); } })))));
|
45
|
+
react_1.default.createElement(GroupedSelection_1.default, { itemRender: itemRender, placeholderRender: placeholderRender, className: cx("".concat(classPrefix, "-base"), 'is-scrollable'), multiple: false, options: filterVars, onChange: function (item) { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(item); } })))));
|
36
46
|
}
|
37
47
|
exports.default = (0, theme_1.themeable)(VariableList);
|
38
48
|
//# sourceMappingURL=./components/formula/VariableList.js.map
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/formula/VariableList.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA,6DAA0B;AAE1B,qCAAkD;AAClD,sFAAmD;AACnD,2DAAkC;AAClC,gFAA6C;AAC7C,wEAAqC;AACrC,6CAA4C;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport GroupedSelection from '../GroupedSelection';\nimport Tabs, {Tab} from '../Tabs';\nimport TreeSelection from '../TreeSelection';\nimport SearchBox from '../SearchBox';\nimport {findTree} from '../../utils/helper';\n\nimport type {VariableItem} from './Editor';\nimport type {ItemRenderStates} from '../Selection';\nimport type {Option} from '../Select';\nimport type {TabsMode} from '../Tabs';\n\nexport interface VariableListProps extends ThemeProps {\n className?: string;\n itemClassName?: string;\n value?: any;\n data: Array<VariableItem>;\n selectMode?: 'list' | 'tree' | 'tabs';\n tabsMode?: TabsMode;\n itemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;\n onSelect?: (item: VariableItem) => void;\n}\n\nfunction VariableList(props: VariableListProps) {\n const {\n data: list,\n className,\n classnames: cx,\n tabsMode = 'line',\n classPrefix: themePrefix,\n itemClassName,\n selectMode,\n onSelect\n } = props;\n const [filterVars, setFilterVars] = React.useState(list);\n const classPrefix = `${themePrefix}FormulaEditor-VariableList`;\n const itemRender =\n props.itemRender && typeof props.itemRender === 'function'\n ? props.itemRender\n : (option: Option, states: ItemRenderStates): JSX.Element => {\n return (\n <span className={cx(`${classPrefix}-item`, itemClassName)}>\n <label
|
11
|
+
"import React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport GroupedSelection from '../GroupedSelection';\nimport Tabs, {Tab} from '../Tabs';\nimport TreeSelection from '../TreeSelection';\nimport SearchBox from '../SearchBox';\nimport {findTree} from '../../utils/helper';\nimport {Badge} from '../Badge';\n\nimport type {VariableItem} from './Editor';\nimport type {ItemRenderStates} from '../Selection';\nimport type {Option} from '../Select';\nimport type {TabsMode} from '../Tabs';\n\nexport interface VariableListProps extends ThemeProps {\n className?: string;\n itemClassName?: string;\n value?: any;\n data: Array<VariableItem>;\n selectMode?: 'list' | 'tree' | 'tabs';\n tabsMode?: TabsMode;\n itemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;\n placeholderRender?: (props: any) => JSX.Element | null;\n onSelect?: (item: VariableItem) => void;\n selfVariableName?: string;\n}\n\nfunction VariableList(props: VariableListProps) {\n const {\n data: list,\n className,\n classnames: cx,\n tabsMode = 'line',\n classPrefix: themePrefix,\n itemClassName,\n selectMode,\n onSelect,\n placeholderRender,\n selfVariableName\n } = props;\n const [filterVars, setFilterVars] = React.useState(list);\n const classPrefix = `${themePrefix}FormulaEditor-VariableList`;\n const itemRender =\n props.itemRender && typeof props.itemRender === 'function'\n ? props.itemRender\n : (option: Option, states: ItemRenderStates): JSX.Element => {\n return (\n <span className={cx(`${classPrefix}-item`, itemClassName)}>\n {\n option.label && option.label === selfVariableName && (\n <Badge\n classnames={cx}\n badge={{\n mode: \"text\",\n text: \"self\",\n offset: [\n 15,\n 2\n ]\n }}\n >\n <label>\n {option.label}\n </label>\n </Badge>\n )\n }\n {\n option.label && option.label !== selfVariableName && (\n <label>\n {option.label}\n </label>\n )\n }\n {option?.tag ? (\n <span className={cx(`${classPrefix}-item-tag`)}>\n {option.tag}\n </span>\n ) : null}\n </span>\n );\n };\n\n function onSearch(term: string) {\n const tree = findTree(list, i => ~i.label.indexOf(term));\n setFilterVars(!term ? list : tree ? [tree] : list);\n }\n\n function renderSearchBox() {\n return (\n <div className={cx('FormulaEditor-VariableList-searchBox')}>\n <SearchBox mini={false} onSearch={onSearch} />\n </div>\n );\n }\n\n return (\n <div\n className={cx(\n className,\n 'FormulaEditor-VariableList',\n selectMode && `FormulaEditor-VariableList-${selectMode}`\n )}\n >\n {selectMode === 'tabs' ? (\n <Tabs\n tabsMode={tabsMode}\n className={cx(`${classPrefix}-base ${classPrefix}-tabs`)}\n >\n {filterVars.map((item, index) => (\n <Tab\n className={cx(`${classPrefix}-tab`)}\n eventKey={index}\n key={index}\n title={item.label}\n >\n <VariableList\n classnames={cx}\n classPrefix={`${classPrefix}-sub-`}\n className={cx(`${classPrefix}-sub`)}\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n selectMode={item.selectMode}\n data={item.children!}\n onSelect={onSelect}\n selfVariableName={selfVariableName}\n />\n </Tab>\n ))}\n </Tabs>\n ) : selectMode === 'tree' ? (\n <div className={cx('FormulaEditor-VariableList-body')}>\n {renderSearchBox()}\n <TreeSelection\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n className={cx(`${classPrefix}-base`, 'is-scrollable')}\n multiple={false}\n options={filterVars}\n onChange={(item: any) => onSelect?.(item)}\n />\n </div>\n ) : (\n <div className={cx('FormulaEditor-VariableList-body')}>\n {renderSearchBox()}\n <GroupedSelection\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n className={cx(`${classPrefix}-base`, 'is-scrollable')}\n multiple={false}\n options={filterVars}\n onChange={(item: any) => onSelect?.(item)}\n />\n </div>\n )}\n </div>\n );\n}\n\nexport default themeable(VariableList);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -59,6 +59,8 @@ import PullRefresh from './PullRefresh';
|
|
59
59
|
import Table from './table';
|
60
60
|
import SchemaVariableListPicker from './schema-editor/SchemaVariableListPicker';
|
61
61
|
import SchemaVariableList from './schema-editor/SchemaVariableList';
|
62
|
+
import VariableList from './formula/VariableList';
|
62
63
|
import FormulaPicker from './formula/Picker';
|
64
|
+
import PickerContainer from './PickerContainer';
|
63
65
|
import InputJSONSchema from './json-schema';
|
64
|
-
export { NotFound, Alert as AlertComponent, alert, Avatar, confirm, prompt, ContextMenu, openContextMenus, Alert2, AsideNav, Button, Breadcrumb, Checkbox, Checkboxes, Collapse, CollapseGroup, DatePicker, DateRangePicker, Drawer, Tabs, Tab, Editor, Html, Icons, Layout, LazyComponent, Modal, Overlay, PopOver, Radios, Range, Rating, Select, SparkLine, Spinner, Switch, Textarea, TitleBar, ToastComponent, toast, Tooltip, TooltipWrapper, Tree, Transfer, TabsTransfer, Selection, GroupedSelection, ChainedSelection, TableSelection, TreeSelection, AssociatedSelection, ResultBox, InputBox, SearchBox, ListGroup, NumberInput, ArrayInput, AnchorNav, PullRefresh, Table, SchemaVariableListPicker, SchemaVariableList, FormulaPicker, InputJSONSchema };
|
66
|
+
export { NotFound, Alert as AlertComponent, alert, Avatar, confirm, prompt, ContextMenu, openContextMenus, Alert2, AsideNav, Button, Breadcrumb, Checkbox, Checkboxes, Collapse, CollapseGroup, DatePicker, DateRangePicker, Drawer, Tabs, Tab, Editor, Html, Icons, Layout, LazyComponent, Modal, Overlay, PopOver, Radios, Range, Rating, Select, SparkLine, Spinner, Switch, Textarea, TitleBar, ToastComponent, toast, Tooltip, TooltipWrapper, Tree, Transfer, TabsTransfer, Selection, GroupedSelection, ChainedSelection, TableSelection, TreeSelection, AssociatedSelection, ResultBox, InputBox, SearchBox, ListGroup, NumberInput, ArrayInput, AnchorNav, PullRefresh, Table, SchemaVariableListPicker, SchemaVariableList, VariableList, PickerContainer, FormulaPicker, InputJSONSchema };
|
package/lib/components/index.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
*/
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
8
8
|
exports.TreeSelection = exports.TableSelection = exports.ChainedSelection = exports.GroupedSelection = exports.Selection = exports.TabsTransfer = exports.Transfer = exports.Tree = exports.TooltipWrapper = exports.Tooltip = exports.toast = exports.ToastComponent = exports.TitleBar = exports.Textarea = exports.Switch = exports.Spinner = exports.SparkLine = exports.Select = exports.Rating = exports.Range = exports.Radios = exports.PopOver = exports.Overlay = exports.Modal = exports.LazyComponent = exports.Layout = exports.Icons = exports.Html = exports.Editor = exports.Tab = exports.Tabs = exports.Drawer = exports.DateRangePicker = exports.DatePicker = exports.CollapseGroup = exports.Collapse = exports.Checkboxes = exports.Checkbox = exports.Breadcrumb = exports.Button = exports.AsideNav = exports.Alert2 = exports.openContextMenus = exports.ContextMenu = exports.prompt = exports.confirm = exports.Avatar = exports.alert = exports.AlertComponent = exports.NotFound = void 0;
|
9
|
-
exports.InputJSONSchema = exports.FormulaPicker = exports.SchemaVariableList = exports.SchemaVariableListPicker = exports.Table = exports.PullRefresh = exports.AnchorNav = exports.ArrayInput = exports.NumberInput = exports.ListGroup = exports.SearchBox = exports.InputBox = exports.ResultBox = exports.AssociatedSelection = void 0;
|
9
|
+
exports.InputJSONSchema = exports.FormulaPicker = exports.PickerContainer = exports.VariableList = exports.SchemaVariableList = exports.SchemaVariableListPicker = exports.Table = exports.PullRefresh = exports.AnchorNav = exports.ArrayInput = exports.NumberInput = exports.ListGroup = exports.SearchBox = exports.InputBox = exports.ResultBox = exports.AssociatedSelection = void 0;
|
10
10
|
var tslib_1 = require("tslib");
|
11
11
|
var _404_1 = (0, tslib_1.__importDefault)(require("./404"));
|
12
12
|
exports.NotFound = _404_1.default;
|
@@ -127,8 +127,12 @@ var SchemaVariableListPicker_1 = (0, tslib_1.__importDefault)(require("./schema-
|
|
127
127
|
exports.SchemaVariableListPicker = SchemaVariableListPicker_1.default;
|
128
128
|
var SchemaVariableList_1 = (0, tslib_1.__importDefault)(require("./schema-editor/SchemaVariableList"));
|
129
129
|
exports.SchemaVariableList = SchemaVariableList_1.default;
|
130
|
+
var VariableList_1 = (0, tslib_1.__importDefault)(require("./formula/VariableList"));
|
131
|
+
exports.VariableList = VariableList_1.default;
|
130
132
|
var Picker_1 = (0, tslib_1.__importDefault)(require("./formula/Picker"));
|
131
133
|
exports.FormulaPicker = Picker_1.default;
|
134
|
+
var PickerContainer_1 = (0, tslib_1.__importDefault)(require("./PickerContainer"));
|
135
|
+
exports.PickerContainer = PickerContainer_1.default;
|
132
136
|
var json_schema_1 = (0, tslib_1.__importDefault)(require("./json-schema"));
|
133
137
|
exports.InputJSONSchema = json_schema_1.default;
|
134
138
|
//# sourceMappingURL=./components/index.js.map
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/index.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;;GAIG;;;;;AAEH,4DAA6B;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Index\n * @description\n * @author fex\n */\n\nimport NotFound from './404';\nimport {default as Alert, alert, confirm, prompt} from './Alert';\nimport {default as ContextMenu, openContextMenus} from './ContextMenu';\nimport AsideNav from './AsideNav';\nimport Avatar from './Avatar';\nimport Button from './Button';\nimport Breadcrumb from './Breadcrumb';\nimport Checkbox from './Checkbox';\nimport Checkboxes from './Selection';\nimport Collapse from './Collapse';\nimport CollapseGroup from './CollapseGroup';\nimport DatePicker from './DatePicker';\nimport DateRangePicker from './DateRangePicker';\nimport Drawer from './Drawer';\nimport {default as Tabs, Tab} from './Tabs';\nimport Editor from './Editor';\nimport Html from './Html';\nimport * as Icons from './icons';\nimport Layout from './Layout';\nimport LazyComponent from './LazyComponent';\nimport Modal from './Modal';\nimport Overlay from './Overlay';\nimport PopOver from './PopOver';\nimport Radios from './Radios';\nimport Range from './Range';\nimport Rating from './Rating';\n// import RichText from './RichText';\nimport Select from './Select';\nimport SparkLine from './SparkLine';\nimport Spinner from './Spinner';\nimport Switch from './Switch';\nimport Textarea from './Textarea';\nimport TitleBar from './TitleBar';\nimport {default as ToastComponent, toast} from './Toast';\nimport Tooltip from './Tooltip';\nimport TooltipWrapper from './TooltipWrapper';\nimport Tree from './Tree';\nimport Alert2 from './Alert2';\nimport Transfer from './Transfer';\nimport TabsTransfer from './TabsTransfer';\nimport ResultBox from './ResultBox';\nimport InputBox from './InputBox';\nimport ListGroup from './ListGroup';\nimport NumberInput from './NumberInput';\nimport ArrayInput from './ArrayInput';\nimport SearchBox from './SearchBox';\nimport AnchorNav from './AnchorNav';\nimport Selection from './Selection';\nimport GroupedSelection from './GroupedSelection';\nimport ChainedSelection from './ChainedSelection';\nimport TableSelection from './TableSelection';\nimport TreeSelection from './TreeSelection';\nimport AssociatedSelection from './AssociatedSelection';\nimport PullRefresh from './PullRefresh';\nimport Table from './table';\nimport SchemaVariableListPicker from './schema-editor/SchemaVariableListPicker';\nimport SchemaVariableList from './schema-editor/SchemaVariableList';\nimport FormulaPicker from './formula/Picker';\nimport InputJSONSchema from './json-schema';\n\nexport {\n NotFound,\n Alert as AlertComponent,\n alert,\n Avatar,\n confirm,\n prompt,\n ContextMenu,\n openContextMenus,\n Alert2,\n AsideNav,\n Button,\n Breadcrumb,\n Checkbox,\n Checkboxes,\n Collapse,\n CollapseGroup,\n DatePicker,\n DateRangePicker,\n Drawer,\n Tabs,\n Tab,\n Editor,\n Html,\n Icons,\n Layout,\n LazyComponent,\n Modal,\n Overlay,\n PopOver,\n Radios,\n Range,\n Rating,\n // RichText,\n Select,\n SparkLine,\n Spinner,\n Switch,\n Textarea,\n TitleBar,\n ToastComponent,\n toast,\n Tooltip,\n TooltipWrapper,\n Tree,\n Transfer,\n TabsTransfer,\n Selection,\n GroupedSelection,\n ChainedSelection,\n TableSelection,\n TreeSelection,\n AssociatedSelection,\n ResultBox,\n InputBox,\n SearchBox,\n ListGroup,\n NumberInput,\n ArrayInput,\n AnchorNav,\n PullRefresh,\n Table,\n SchemaVariableListPicker,\n SchemaVariableList,\n FormulaPicker,\n InputJSONSchema\n};\n"
|
11
|
+
"/**\n * @file Index\n * @description\n * @author fex\n */\n\nimport NotFound from './404';\nimport {default as Alert, alert, confirm, prompt} from './Alert';\nimport {default as ContextMenu, openContextMenus} from './ContextMenu';\nimport AsideNav from './AsideNav';\nimport Avatar from './Avatar';\nimport Button from './Button';\nimport Breadcrumb from './Breadcrumb';\nimport Checkbox from './Checkbox';\nimport Checkboxes from './Selection';\nimport Collapse from './Collapse';\nimport CollapseGroup from './CollapseGroup';\nimport DatePicker from './DatePicker';\nimport DateRangePicker from './DateRangePicker';\nimport Drawer from './Drawer';\nimport {default as Tabs, Tab} from './Tabs';\nimport Editor from './Editor';\nimport Html from './Html';\nimport * as Icons from './icons';\nimport Layout from './Layout';\nimport LazyComponent from './LazyComponent';\nimport Modal from './Modal';\nimport Overlay from './Overlay';\nimport PopOver from './PopOver';\nimport Radios from './Radios';\nimport Range from './Range';\nimport Rating from './Rating';\n// import RichText from './RichText';\nimport Select from './Select';\nimport SparkLine from './SparkLine';\nimport Spinner from './Spinner';\nimport Switch from './Switch';\nimport Textarea from './Textarea';\nimport TitleBar from './TitleBar';\nimport {default as ToastComponent, toast} from './Toast';\nimport Tooltip from './Tooltip';\nimport TooltipWrapper from './TooltipWrapper';\nimport Tree from './Tree';\nimport Alert2 from './Alert2';\nimport Transfer from './Transfer';\nimport TabsTransfer from './TabsTransfer';\nimport ResultBox from './ResultBox';\nimport InputBox from './InputBox';\nimport ListGroup from './ListGroup';\nimport NumberInput from './NumberInput';\nimport ArrayInput from './ArrayInput';\nimport SearchBox from './SearchBox';\nimport AnchorNav from './AnchorNav';\nimport Selection from './Selection';\nimport GroupedSelection from './GroupedSelection';\nimport ChainedSelection from './ChainedSelection';\nimport TableSelection from './TableSelection';\nimport TreeSelection from './TreeSelection';\nimport AssociatedSelection from './AssociatedSelection';\nimport PullRefresh from './PullRefresh';\nimport Table from './table';\nimport SchemaVariableListPicker from './schema-editor/SchemaVariableListPicker';\nimport SchemaVariableList from './schema-editor/SchemaVariableList';\nimport VariableList from './formula/VariableList';\nimport FormulaPicker from './formula/Picker';\nimport PickerContainer from './PickerContainer';\nimport InputJSONSchema from './json-schema';\n\nexport {\n NotFound,\n Alert as AlertComponent,\n alert,\n Avatar,\n confirm,\n prompt,\n ContextMenu,\n openContextMenus,\n Alert2,\n AsideNav,\n Button,\n Breadcrumb,\n Checkbox,\n Checkboxes,\n Collapse,\n CollapseGroup,\n DatePicker,\n DateRangePicker,\n Drawer,\n Tabs,\n Tab,\n Editor,\n Html,\n Icons,\n Layout,\n LazyComponent,\n Modal,\n Overlay,\n PopOver,\n Radios,\n Range,\n Rating,\n // RichText,\n Select,\n SparkLine,\n Spinner,\n Switch,\n Textarea,\n TitleBar,\n ToastComponent,\n toast,\n Tooltip,\n TooltipWrapper,\n Tree,\n Transfer,\n TabsTransfer,\n Selection,\n GroupedSelection,\n ChainedSelection,\n TableSelection,\n TreeSelection,\n AssociatedSelection,\n ResultBox,\n InputBox,\n SearchBox,\n ListGroup,\n NumberInput,\n ArrayInput,\n AnchorNav,\n PullRefresh,\n Table,\n SchemaVariableListPicker,\n SchemaVariableList,\n VariableList,\n PickerContainer,\n FormulaPicker,\n InputJSONSchema\n};\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -10,6 +10,7 @@ export interface SchemaVariableListProps extends LocaleProps, ThemeProps {
|
|
10
10
|
value?: string;
|
11
11
|
onSelect?: (value: string, schema: JSONSchema) => void;
|
12
12
|
selectMode?: 'list' | 'tree' | 'tabs';
|
13
|
+
placeholderRender?: (props: any) => JSX.Element | null;
|
13
14
|
beforeBuildVariables?: (dataSchema: DataSchema) => void;
|
14
15
|
}
|
15
16
|
export interface SchemaVariableListState {
|
@@ -52,8 +52,8 @@ var SchemaVariableList = /** @class */ (function (_super) {
|
|
52
52
|
react_1.default.createElement("span", { className: cx("FormulaEditor-VariableList-item-tag") }, __("SchemaType.".concat(option.type || 'any'))))));
|
53
53
|
};
|
54
54
|
SchemaVariableList.prototype.render = function () {
|
55
|
-
var
|
56
|
-
return (react_1.default.createElement(VariableList_1.default, { data: this.state.variables, value:
|
55
|
+
var _a = this.props, selectMode = _a.selectMode, value = _a.value, placeholderRender = _a.placeholderRender;
|
56
|
+
return (react_1.default.createElement(VariableList_1.default, { data: this.state.variables, value: value, onSelect: this.handleSelect, selectMode: selectMode || 'tree', itemRender: this.itemRender, placeholderRender: placeholderRender }));
|
57
57
|
};
|
58
58
|
(0, tslib_1.__decorate)([
|
59
59
|
helper_1.autobind,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/schema-editor/SchemaVariableList.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uCAAqD;AACrD,qCAAkD;AAClD,qDAAkD;AAElD,6CAA4C;AAE5C,sFAAmD;AACnD,kFAA+C;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {localeable, LocaleProps} from '../../locale';\nimport {themeable, ThemeProps} from '../../theme';\nimport {DataSchema} from '../../utils/DataSchema';\nimport type {JSONSchema} from '../../utils/DataScope';\nimport {autobind} from '../../utils/helper';\nimport {VariableItem} from '../formula/Editor';\nimport VariableList from '../formula/VariableList';\nimport TooltipWrapper from '../TooltipWrapper';\n\nexport interface SchemaVariableListProps extends LocaleProps, ThemeProps {\n schemas?: Array<JSONSchema> | JSONSchema;\n value?: string;\n onSelect?: (value: string, schema: JSONSchema) => void;\n selectMode?: 'list' | 'tree' | 'tabs';\n beforeBuildVariables?: (dataSchema: DataSchema) => void;\n}\n\nexport interface SchemaVariableListState {\n variables: Array<VariableItem>;\n}\n\nexport class SchemaVariableList extends React.Component<\n SchemaVariableListProps,\n SchemaVariableListState\n> {\n state = {\n variables: this.schemasToVaraibles(this.props)\n };\n\n dataSchema?: DataSchema;\n\n componentDidUpdate(prevProps: SchemaVariableListProps) {\n const props = this.props;\n\n if (props.schemas !== prevProps.schemas) {\n this.setState({\n variables: this.schemasToVaraibles(props)\n });\n }\n }\n\n schemasToVaraibles(props: SchemaVariableListProps) {\n const schemas = Array.isArray(props.schemas)\n ? props.schemas.concat()\n : props.schemas\n ? [props.schemas]\n : [];\n const dataSchema = new DataSchema(schemas);\n this.dataSchema = dataSchema;\n this.props.beforeBuildVariables?.(dataSchema);\n return dataSchema.getDataPropsAsOptions();\n }\n\n @autobind\n handleSelect(item: any) {\n const {onSelect} = this.props;\n const schema = this.dataSchema?.getSchemaByPath(item.value);\n\n onSelect?.(item.value, schema!);\n }\n\n @autobind\n itemRender(option: any) {\n const {classnames: cx, translate: __} = this.props;\n\n return (\n <span className={cx(`FormulaEditor-VariableList-item`)}>\n <label>{option.label}</label>\n <TooltipWrapper tooltip={option.description} tooltipTheme=\"dark\">\n <span className={cx(`FormulaEditor-VariableList-item-tag`)}>\n {__(`SchemaType.${option.type || 'any'}`)}\n </span>\n </TooltipWrapper>\n </span>\n );\n }\n\n render() {\n const {selectMode} = this.props;\n\n return (\n <VariableList\n data={this.state.variables}\n value={
|
11
|
+
"import React from 'react';\nimport {localeable, LocaleProps} from '../../locale';\nimport {themeable, ThemeProps} from '../../theme';\nimport {DataSchema} from '../../utils/DataSchema';\nimport type {JSONSchema} from '../../utils/DataScope';\nimport {autobind} from '../../utils/helper';\nimport {VariableItem} from '../formula/Editor';\nimport VariableList from '../formula/VariableList';\nimport TooltipWrapper from '../TooltipWrapper';\n\nexport interface SchemaVariableListProps extends LocaleProps, ThemeProps {\n schemas?: Array<JSONSchema> | JSONSchema;\n value?: string;\n onSelect?: (value: string, schema: JSONSchema) => void;\n selectMode?: 'list' | 'tree' | 'tabs';\n placeholderRender?: (props: any) => JSX.Element | null;\n beforeBuildVariables?: (dataSchema: DataSchema) => void;\n}\n\nexport interface SchemaVariableListState {\n variables: Array<VariableItem>;\n}\n\nexport class SchemaVariableList extends React.Component<\n SchemaVariableListProps,\n SchemaVariableListState\n> {\n state = {\n variables: this.schemasToVaraibles(this.props)\n };\n\n dataSchema?: DataSchema;\n\n componentDidUpdate(prevProps: SchemaVariableListProps) {\n const props = this.props;\n\n if (props.schemas !== prevProps.schemas) {\n this.setState({\n variables: this.schemasToVaraibles(props)\n });\n }\n }\n\n schemasToVaraibles(props: SchemaVariableListProps) {\n const schemas = Array.isArray(props.schemas)\n ? props.schemas.concat()\n : props.schemas\n ? [props.schemas]\n : [];\n const dataSchema = new DataSchema(schemas);\n this.dataSchema = dataSchema;\n this.props.beforeBuildVariables?.(dataSchema);\n return dataSchema.getDataPropsAsOptions();\n }\n\n @autobind\n handleSelect(item: any) {\n const {onSelect} = this.props;\n const schema = this.dataSchema?.getSchemaByPath(item.value);\n\n onSelect?.(item.value, schema!);\n }\n\n @autobind\n itemRender(option: any) {\n const {classnames: cx, translate: __} = this.props;\n\n return (\n <span className={cx(`FormulaEditor-VariableList-item`)}>\n <label>{option.label}</label>\n <TooltipWrapper tooltip={option.description} tooltipTheme=\"dark\">\n <span className={cx(`FormulaEditor-VariableList-item-tag`)}>\n {__(`SchemaType.${option.type || 'any'}`)}\n </span>\n </TooltipWrapper>\n </span>\n );\n }\n\n render() {\n const {selectMode, value, placeholderRender} = this.props;\n\n return (\n <VariableList\n data={this.state.variables}\n value={value}\n onSelect={this.handleSelect}\n selectMode={selectMode || 'tree'}\n itemRender={this.itemRender}\n placeholderRender={placeholderRender}\n />\n );\n }\n}\n\nexport default localeable(themeable(SchemaVariableList));\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -12,6 +12,7 @@ export interface SchemaVariableListPickerProps extends SchemaVariableListProps {
|
|
12
12
|
onConfirm?: (value?: any) => void;
|
13
13
|
onCancel?: () => void;
|
14
14
|
onPickerOpen?: (props: any) => any;
|
15
|
+
placeholderRender?: (props: any) => JSX.Element | null;
|
15
16
|
}
|
16
17
|
export declare class SchemaVariableListPicker extends React.Component<SchemaVariableListPickerProps> {
|
17
18
|
render(): JSX.Element;
|
@@ -13,7 +13,7 @@ var SchemaVariableListPicker = /** @class */ (function (_super) {
|
|
13
13
|
return _super !== null && _super.apply(this, arguments) || this;
|
14
14
|
}
|
15
15
|
SchemaVariableListPicker.prototype.render = function () {
|
16
|
-
var _a = this.props, __ = _a.translate, schemas = _a.schemas, value = _a.value, onConfirm = _a.onConfirm, onCancel = _a.onCancel, children = _a.children, title = _a.title, selectMode = _a.selectMode, beforeBuildVariables = _a.beforeBuildVariables, onPickerOpen = _a.onPickerOpen;
|
16
|
+
var _a = this.props, __ = _a.translate, schemas = _a.schemas, value = _a.value, onConfirm = _a.onConfirm, onCancel = _a.onCancel, children = _a.children, title = _a.title, selectMode = _a.selectMode, beforeBuildVariables = _a.beforeBuildVariables, onPickerOpen = _a.onPickerOpen, placeholderRender = _a.placeholderRender;
|
17
17
|
return (react_1.default.createElement(PickerContainer_1.default, { onPickerOpen: onPickerOpen, title: title !== null && title !== void 0 ? title : __('Select.placeholder'), bodyRender: function (_a) {
|
18
18
|
var _b;
|
19
19
|
var value = _a.value, onChange = _a.onChange, stateSchemas = _a.schemas, isOpened = _a.isOpened;
|
@@ -22,7 +22,7 @@ var SchemaVariableListPicker = /** @class */ (function (_super) {
|
|
22
22
|
value: value,
|
23
23
|
schema: schema
|
24
24
|
});
|
25
|
-
}, schemas: stateSchemas !== null && stateSchemas !== void 0 ? stateSchemas : schemas, selectMode: selectMode, beforeBuildVariables: beforeBuildVariables })) : (react_1.default.createElement(react_1.default.Fragment, null));
|
25
|
+
}, schemas: stateSchemas !== null && stateSchemas !== void 0 ? stateSchemas : schemas, selectMode: selectMode, beforeBuildVariables: beforeBuildVariables, placeholderRender: placeholderRender })) : (react_1.default.createElement(react_1.default.Fragment, null));
|
26
26
|
}, value: value, onConfirm: onConfirm, onCancel: onCancel }, children));
|
27
27
|
};
|
28
28
|
return SchemaVariableListPicker;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/schema-editor/SchemaVariableListPicker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uCAAwC;AACxC,qCAAsC;AACtC,oFAAiD;AACjD,yFAE8B;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uCAAwC;AACxC,qCAAsC;AACtC,oFAAiD;AACjD,yFAE8B;AAgB9B;IAA8C,yDAA8C;IAA5F;;IA+CA,CAAC;IA9CC,yCAAM,GAAN;QACQ,IAAA,KAYF,IAAI,CAAC,KAAK,EAXD,EAAE,eAAA,EACb,OAAO,aAAA,EACP,KAAK,WAAA,EACL,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,oBAAoB,0BAAA,EACpB,YAAY,kBAAA,EACZ,iBAAiB,uBACL,CAAC;QAEf,OAAO,CACL,8BAAC,yBAAe,IACd,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,oBAAoB,CAAC,EACxC,UAAU,EAAE,UAAC,EAAkD;;oBAAjD,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAW,YAAY,aAAA,EAAE,QAAQ,cAAA;gBAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,8BAAC,4BAAkB,IACjB,KAAK,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,KAAK,EAC5B,QAAQ,EAAE,UAAC,KAAK,EAAE,MAAM;wBACtB,OAAA,QAAQ,CAAC;4BACP,KAAK,OAAA;4BACL,MAAM,QAAA;yBACP,CAAC;oBAHF,CAGE,EAEJ,OAAO,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,OAAO,EAChC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAC,CAAC,CAAC,CACF,6DAAK,CACN,CAAC;YACJ,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,IAEjB,QAAQ,CACO,CACnB,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,AA/CD,CAA8C,eAAK,CAAC,SAAS,GA+C5D;AA/CY,4DAAwB;AAiDrC,kBAAe,IAAA,mBAAU,EAAC,IAAA,iBAAS,EAAC,wBAAwB,CAAC,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {localeable} from '../../locale';\nimport {themeable} from '../../theme';\nimport PickerContainer from '../PickerContainer';\nimport SchemaVariableList, {\n SchemaVariableListProps\n} from './SchemaVariableList';\n\nexport interface SchemaVariableListPickerProps extends SchemaVariableListProps {\n children: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n value?: any;\n title?: string;\n onConfirm?: (value?: any) => void;\n onCancel?: () => void;\n onPickerOpen?: (props: any) => any;\n}\n\nexport class SchemaVariableListPicker extends React.Component<SchemaVariableListPickerProps> {\n render() {\n const {\n translate: __,\n schemas,\n value,\n onConfirm,\n onCancel,\n children,\n title,\n selectMode,\n beforeBuildVariables,\n onPickerOpen\n } = this.props;\n\n return (\n <PickerContainer\n onPickerOpen={onPickerOpen}\n title={title ?? __('Select.placeholder')}\n bodyRender={({value, onChange, schemas: stateSchemas, isOpened}) => {\n return isOpened ? (\n <SchemaVariableList\n value={value?.value ?? value}\n onSelect={(value, schema) =>\n onChange({\n value,\n schema\n })\n }\n schemas={stateSchemas ?? schemas}\n selectMode={selectMode}\n beforeBuildVariables={beforeBuildVariables}\n />\n ) : (\n <></>\n );\n }}\n value={value}\n onConfirm={onConfirm}\n onCancel={onCancel}\n >\n {children}\n </PickerContainer>\n );\n }\n}\n\nexport default localeable(themeable(SchemaVariableListPicker));\n"
|
11
|
+
"import React from 'react';\nimport {localeable} from '../../locale';\nimport {themeable} from '../../theme';\nimport PickerContainer from '../PickerContainer';\nimport SchemaVariableList, {\n SchemaVariableListProps\n} from './SchemaVariableList';\n\nexport interface SchemaVariableListPickerProps extends SchemaVariableListProps {\n children: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n value?: any;\n title?: string;\n onConfirm?: (value?: any) => void;\n onCancel?: () => void;\n onPickerOpen?: (props: any) => any;\n placeholderRender?: (props: any) => JSX.Element | null;\n}\n\nexport class SchemaVariableListPicker extends React.Component<SchemaVariableListPickerProps> {\n render() {\n const {\n translate: __,\n schemas,\n value,\n onConfirm,\n onCancel,\n children,\n title,\n selectMode,\n beforeBuildVariables,\n onPickerOpen,\n placeholderRender\n } = this.props;\n\n return (\n <PickerContainer\n onPickerOpen={onPickerOpen}\n title={title ?? __('Select.placeholder')}\n bodyRender={({value, onChange, schemas: stateSchemas, isOpened}) => {\n return isOpened ? (\n <SchemaVariableList\n value={value?.value ?? value}\n onSelect={(value, schema) =>\n onChange({\n value,\n schema\n })\n }\n schemas={stateSchemas ?? schemas}\n selectMode={selectMode}\n beforeBuildVariables={beforeBuildVariables}\n placeholderRender={placeholderRender}\n />\n ) : (\n <></>\n );\n }}\n value={value}\n onConfirm={onConfirm}\n onCancel={onCancel}\n >\n {children}\n </PickerContainer>\n );\n }\n}\n\nexport default localeable(themeable(SchemaVariableListPicker));\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -85,7 +85,10 @@ var HeadCellFilter = /** @class */ (function (_super) {
|
|
85
85
|
_a = this.props, onFilter = _a.onFilter, column = _a.column;
|
86
86
|
payload = (_b = {}, _b[column.key] = selectedKeys, _b);
|
87
87
|
if (!onFilter) return [3 /*break*/, 2];
|
88
|
-
return [4 /*yield*/, onFilter(
|
88
|
+
return [4 /*yield*/, onFilter({
|
89
|
+
filterName: column.key,
|
90
|
+
filterValue: selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys.join(',')
|
91
|
+
})];
|
89
92
|
case 1:
|
90
93
|
prevented = _c.sent();
|
91
94
|
if (prevented) {
|