amis 1.6.5-beta.3 → 1.8.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/Breadcrumb.d.ts +130 -0
- package/lib/components/Breadcrumb.js +161 -0
- package/lib/components/Breadcrumb.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/CollapseGroup.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +2 -2
- package/lib/components/DateRangePicker.js +36 -45
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/Layout.d.ts +21 -21
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/PopUp.js +2 -1
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Radios.d.ts +21 -21
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Selection.d.ts +84 -84
- package/lib/components/TableSelection.d.ts +84 -84
- package/lib/components/Tabs.d.ts +52 -23
- package/lib/components/Tabs.js +198 -46
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +21 -20
- package/lib/components/TooltipWrapper.js +2 -2
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +5 -0
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.js.map +1 -1
- package/lib/components/icons.js +8 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/icons/cloud-upload.js +17 -0
- package/lib/icons/image.js +7 -0
- package/lib/icons/refresh.js +9 -0
- package/lib/icons/trash.js +10 -0
- package/lib/icons/upload.js +3 -8
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/en-US.js +3 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +4 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +1 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Breadcrumb.d.ts +41 -6
- package/lib/renderers/Breadcrumb.js +23 -19
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/Form/ChainedSelect.d.ts +4 -1
- package/lib/renderers/Form/ChainedSelect.js +83 -34
- package/lib/renderers/Form/ChainedSelect.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +3 -0
- package/lib/renderers/Form/Checkbox.js +38 -1
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +4 -3
- package/lib/renderers/Form/Combo.js +81 -32
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +1 -1
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +4 -1
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.js +3 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +3 -1
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +3 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +4 -0
- package/lib/renderers/Form/InputExcel.js +33 -6
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +8 -1
- package/lib/renderers/Form/InputFile.js +71 -42
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +4 -1
- package/lib/renderers/Form/InputImage.js +21 -9
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +27 -9
- package/lib/renderers/Form/InputRange.js +88 -23
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputSubForm.js +2 -1
- package/lib/renderers/Form/InputSubForm.js.map +2 -2
- package/lib/renderers/Form/InputTag.js +2 -1
- package/lib/renderers/Form/InputTag.js.map +2 -2
- package/lib/renderers/Form/MatrixCheckboxes.js +2 -1
- package/lib/renderers/Form/MatrixCheckboxes.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +9 -6
- package/lib/renderers/Form/NestedSelect.js +247 -130
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +2 -1
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Radios.js +2 -1
- package/lib/renderers/Form/Radios.js.map +2 -2
- package/lib/renderers/Form/Select.js +6 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Switch.d.ts +7 -6
- package/lib/renderers/Form/Switch.js +4 -1
- package/lib/renderers/Form/Switch.js.map +2 -2
- package/lib/renderers/Log.js +2 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/PopOver.js +1 -1
- package/lib/renderers/PopOver.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +58 -5
- package/lib/renderers/Tabs.js +170 -58
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +104 -0
- package/lib/renderers/TooltipWrapper.js +59 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Video.d.ts +6 -0
- package/lib/renderers/Video.js +13 -6
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/form.js +4 -13
- package/lib/store/form.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +742 -160
- package/lib/themes/ang.css +793 -163
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +757 -175
- package/lib/themes/antd.css +793 -163
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1249 -667
- package/lib/themes/cxd.css +970 -321
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +742 -160
- package/lib/themes/dark.css +793 -163
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1249 -667
- package/lib/themes/default.css +970 -321
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/schema.json +16012 -736
- package/scss/_properties.scss +56 -2
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_breadcrumb.scss +90 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_city-area.scss +2 -0
- package/scss/components/_popup.scss +13 -3
- package/scss/components/_tabs.scss +629 -132
- package/scss/components/_tooltip.scss +72 -0
- package/scss/components/form/_file.scss +82 -24
- package/scss/components/form/_image.scss +30 -25
- package/scss/components/form/_number.scss +2 -0
- package/scss/components/form/_switch.scss +1 -3
- package/scss/themes/_cxd-colors.scss +47 -47
- package/scss/themes/_cxd-variables.scss +20 -0
- package/sdk/ang-ie11.css +879 -196
- package/sdk/ang.css +931 -200
- package/sdk/antd-ie11.css +951 -268
- package/sdk/antd.css +931 -200
- 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 +1386 -703
- package/sdk/cxd.css +1107 -357
- package/sdk/dark-ie11.css +879 -196
- package/sdk/dark.css +931 -200
- 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 +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1386 -703
- package/sdk/sdk.css +1107 -357
- package/sdk/sdk.js +1260 -1248
- 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/Schema.ts +5 -2
- package/src/components/Alert2.tsx +9 -3
- package/src/components/Breadcrumb.tsx +294 -0
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DateRangePicker.tsx +40 -68
- package/src/components/PopUp.tsx +6 -5
- package/src/components/Range.tsx +7 -1
- package/src/components/Tabs.tsx +300 -54
- package/src/components/TooltipWrapper.tsx +4 -1
- package/src/components/calendar/Calendar.tsx +5 -0
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/icons.tsx +8 -0
- package/src/components/index.tsx +2 -0
- package/src/icons/cloud-upload.svg +22 -0
- package/src/icons/image.svg +1 -0
- package/src/icons/refresh.svg +7 -0
- package/src/icons/trash.svg +8 -0
- package/src/icons/upload.svg +4 -9
- package/src/index.tsx +1 -0
- package/src/locale/en-US.ts +3 -1
- package/src/locale/zh-CN.ts +4 -2
- package/src/renderers/Action.tsx +2 -1
- package/src/renderers/Breadcrumb.tsx +89 -45
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/Form/ChainedSelect.tsx +56 -12
- package/src/renderers/Form/Checkbox.tsx +30 -1
- package/src/renderers/Form/Combo.tsx +84 -26
- package/src/renderers/Form/InputCity.tsx +13 -1
- package/src/renderers/Form/InputColor.tsx +2 -0
- package/src/renderers/Form/InputDate.tsx +2 -0
- package/src/renderers/Form/InputDateRange.tsx +2 -0
- package/src/renderers/Form/InputExcel.tsx +27 -5
- package/src/renderers/Form/InputFile.tsx +167 -115
- package/src/renderers/Form/InputImage.tsx +61 -35
- package/src/renderers/Form/InputRange.tsx +95 -40
- package/src/renderers/Form/InputSubForm.tsx +2 -1
- package/src/renderers/Form/InputTag.tsx +3 -1
- package/src/renderers/Form/MatrixCheckboxes.tsx +3 -1
- package/src/renderers/Form/NestedSelect.tsx +75 -26
- package/src/renderers/Form/Options.tsx +3 -1
- package/src/renderers/Form/Radios.tsx +3 -1
- package/src/renderers/Form/Select.tsx +6 -2
- package/src/renderers/Form/Switch.tsx +16 -9
- package/src/renderers/Log.tsx +2 -1
- package/src/renderers/PopOver.tsx +1 -1
- package/src/renderers/Tabs.tsx +254 -93
- package/src/renderers/TooltipWrapper.tsx +219 -0
- package/src/renderers/Video.tsx +21 -6
- package/src/store/form.ts +0 -9
- package/src/store/table.ts +1 -1
@@ -6,6 +6,7 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
var isNumber_1 = (0, tslib_1.__importDefault)(require("lodash/isNumber"));
|
7
7
|
var isObject_1 = (0, tslib_1.__importDefault)(require("lodash/isObject"));
|
8
8
|
var isEqual_1 = (0, tslib_1.__importDefault)(require("lodash/isEqual"));
|
9
|
+
var forEach_1 = (0, tslib_1.__importDefault)(require("lodash/forEach"));
|
9
10
|
var Item_1 = require("./Item");
|
10
11
|
var Range_1 = (0, tslib_1.__importDefault)(require("../../components/Range"));
|
11
12
|
var NumberInput_1 = (0, tslib_1.__importDefault)(require("../../components/NumberInput"));
|
@@ -130,6 +131,20 @@ var Input = /** @class */ (function (_super) {
|
|
130
131
|
return (_value < min && min) || (_value > max && max) || _value;
|
131
132
|
}
|
132
133
|
};
|
134
|
+
/**
|
135
|
+
* 失焦事件
|
136
|
+
*/
|
137
|
+
Input.prototype.onBlur = function () {
|
138
|
+
var _a = this.props, data = _a.data, dispatchEvent = _a.dispatchEvent;
|
139
|
+
dispatchEvent('blur', data);
|
140
|
+
};
|
141
|
+
/**
|
142
|
+
* 聚焦事件
|
143
|
+
*/
|
144
|
+
Input.prototype.onFocus = function () {
|
145
|
+
var _a = this.props, data = _a.data, dispatchEvent = _a.dispatchEvent;
|
146
|
+
dispatchEvent('focus', data);
|
147
|
+
};
|
133
148
|
Input.prototype.render = function () {
|
134
149
|
var _a = this.props, cx = _a.classnames, value = _a.value, multiple = _a.multiple, type = _a.type, step = _a.step, ns = _a.classPrefix, disabled = _a.disabled, max = _a.max, min = _a.min;
|
135
150
|
var _value = multiple
|
@@ -138,7 +153,7 @@ var Input = /** @class */ (function (_super) {
|
|
138
153
|
: Math.max(value.min, value.max)
|
139
154
|
: value;
|
140
155
|
return (react_1.default.createElement("div", { className: cx("".concat(ns, "InputRange-input")) },
|
141
|
-
react_1.default.createElement(NumberInput_1.default, { value: +_value, step: step, max: this.checkNum(max), min: this.checkNum(min), onChange: this.onChange, disabled: disabled })));
|
156
|
+
react_1.default.createElement(NumberInput_1.default, { value: +_value, step: step, max: this.checkNum(max), min: this.checkNum(min), onChange: this.onChange, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus })));
|
142
157
|
};
|
143
158
|
(0, tslib_1.__decorate)([
|
144
159
|
helper_1.autobind,
|
@@ -152,6 +167,18 @@ var Input = /** @class */ (function (_super) {
|
|
152
167
|
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
|
153
168
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
154
169
|
], Input.prototype, "onUpdateValue", null);
|
170
|
+
(0, tslib_1.__decorate)([
|
171
|
+
helper_1.autobind,
|
172
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
173
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
174
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
175
|
+
], Input.prototype, "onBlur", null);
|
176
|
+
(0, tslib_1.__decorate)([
|
177
|
+
helper_1.autobind,
|
178
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
179
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
180
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
181
|
+
], Input.prototype, "onFocus", null);
|
155
182
|
return Input;
|
156
183
|
}(react_1.default.Component));
|
157
184
|
exports.Input = Input;
|
@@ -186,6 +213,11 @@ var RangeControl = /** @class */ (function (_super) {
|
|
186
213
|
});
|
187
214
|
}
|
188
215
|
};
|
216
|
+
RangeControl.prototype.doAction = function (action, data, throwErrors) {
|
217
|
+
if (action.actionType === 'clear') {
|
218
|
+
this.clearValue();
|
219
|
+
}
|
220
|
+
};
|
189
221
|
RangeControl.prototype.clearValue = function () {
|
190
222
|
var _a = this.props, multiple = _a.multiple, min = _a.min, max = _a.max;
|
191
223
|
if (multiple) {
|
@@ -209,46 +241,73 @@ var RangeControl = /** @class */ (function (_super) {
|
|
209
241
|
* @param value
|
210
242
|
*/
|
211
243
|
RangeControl.prototype.updateValue = function (value) {
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
244
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
245
|
+
var _a, onChange, data, dispatchEvent, result, rendererEvent;
|
246
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
247
|
+
switch (_b.label) {
|
248
|
+
case 0:
|
249
|
+
this.setState({ value: this.getValue(value) });
|
250
|
+
_a = this.props, onChange = _a.onChange, data = _a.data, dispatchEvent = _a.dispatchEvent;
|
251
|
+
result = this.getFormatValue(value);
|
252
|
+
return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, {
|
253
|
+
value: result
|
254
|
+
}))];
|
255
|
+
case 1:
|
256
|
+
rendererEvent = _b.sent();
|
257
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
258
|
+
return [2 /*return*/];
|
259
|
+
}
|
260
|
+
onChange && onChange(result);
|
261
|
+
return [2 /*return*/];
|
220
262
|
}
|
221
|
-
|
263
|
+
});
|
264
|
+
});
|
222
265
|
};
|
223
266
|
/**
|
224
267
|
* 鼠标松开事件
|
225
268
|
*/
|
226
269
|
RangeControl.prototype.onAfterChange = function () {
|
227
270
|
var value = this.state.value;
|
228
|
-
var _a = this.props,
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
271
|
+
var _a = this.props, onAfterChange = _a.onAfterChange, dispatchEvent = _a.dispatchEvent, data = _a.data;
|
272
|
+
var result = this.getFormatValue(value);
|
273
|
+
onAfterChange && onAfterChange(result);
|
274
|
+
};
|
275
|
+
/**
|
276
|
+
* 获取导出格式数据
|
277
|
+
*/
|
278
|
+
RangeControl.prototype.getFormatValue = function (value) {
|
279
|
+
var _a = this.props, multiple = _a.multiple, joinValues = _a.joinValues, delimiter = _a.delimiter;
|
280
|
+
return multiple
|
281
|
+
? joinValues
|
282
|
+
? [value.min, value.max].join(delimiter || ',')
|
283
|
+
: {
|
284
|
+
min: value.min,
|
285
|
+
max: value.max
|
286
|
+
}
|
287
|
+
: value;
|
238
288
|
};
|
239
289
|
RangeControl.prototype.render = function () {
|
240
290
|
var _this = this;
|
241
291
|
var value = this.state.value;
|
242
292
|
var props = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, this.props), { value: value, updateValue: this.updateValue, onAfterChange: this.onAfterChange });
|
243
|
-
var ns = props.classPrefix, multiple = props.multiple, parts = props.parts, showInput = props.showInput, cx = props.classnames, className = props.className, disabled = props.disabled, clearable = props.clearable, min = props.min, max = props.max;
|
293
|
+
var ns = props.classPrefix, multiple = props.multiple, parts = props.parts, showInput = props.showInput, cx = props.classnames, className = props.className, disabled = props.disabled, clearable = props.clearable, min = props.min, max = props.max, render = props.render, marks = props.marks, region = props.region;
|
244
294
|
// 指定parts -> 重新计算步长
|
245
295
|
if (parts > 1) {
|
246
296
|
props.step = (props.max - props.min) / props.parts;
|
247
297
|
props.showSteps = true;
|
248
298
|
}
|
299
|
+
// 处理自定义json配置
|
300
|
+
var renderMarks = marks ? (0, tslib_1.__assign)({}, marks) : marks;
|
301
|
+
marks &&
|
302
|
+
(0, forEach_1.default)(marks, function (item, key) {
|
303
|
+
if ((0, isObject_1.default)(item) && item.type) {
|
304
|
+
renderMarks &&
|
305
|
+
(renderMarks[key] = render(region, item));
|
306
|
+
}
|
307
|
+
});
|
249
308
|
return (react_1.default.createElement("div", { className: cx('RangeControl', "".concat(ns, "InputRange"), { 'is-disabled': disabled }, className) },
|
250
309
|
showInput && multiple && react_1.default.createElement(Input, (0, tslib_1.__assign)({}, props, { type: "min" })),
|
251
|
-
react_1.default.createElement(Range_1.default, (0, tslib_1.__assign)({}, props)),
|
310
|
+
react_1.default.createElement(Range_1.default, (0, tslib_1.__assign)({}, props, { marks: renderMarks })),
|
252
311
|
showInput && react_1.default.createElement(Input, (0, tslib_1.__assign)({}, props, { type: "max" })),
|
253
312
|
clearable && !disabled && showInput ? (react_1.default.createElement("a", { onClick: function () { return _this.clearValue(); }, className: cx('InputRange-clear', {
|
254
313
|
'is-active': multiple
|
@@ -289,7 +348,7 @@ var RangeControl = /** @class */ (function (_super) {
|
|
289
348
|
helper_1.autobind,
|
290
349
|
(0, tslib_1.__metadata)("design:type", Function),
|
291
350
|
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
292
|
-
(0, tslib_1.__metadata)("design:returntype",
|
351
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
293
352
|
], RangeControl.prototype, "updateValue", null);
|
294
353
|
(0, tslib_1.__decorate)([
|
295
354
|
helper_1.autobind,
|
@@ -297,6 +356,12 @@ var RangeControl = /** @class */ (function (_super) {
|
|
297
356
|
(0, tslib_1.__metadata)("design:paramtypes", []),
|
298
357
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
299
358
|
], RangeControl.prototype, "onAfterChange", null);
|
359
|
+
(0, tslib_1.__decorate)([
|
360
|
+
helper_1.autobind,
|
361
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
362
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
363
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
364
|
+
], RangeControl.prototype, "getFormatValue", null);
|
300
365
|
return RangeControl;
|
301
366
|
}(react_1.default.PureComponent));
|
302
367
|
exports.default = RangeControl;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputRange.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAAsD;AACtD,0EAAuC;AACvC,0EAAuC;AACvC,wEAAqC;AAErC,+BAAmE;AACnE,8EAAgD;AAChD,0FAAuD;AACvD,gDAA4C;AAC5C,uDAAoD;AACpD,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React, {CSSProperties, ReactNode} from 'react';\nimport isNumber from 'lodash/isNumber';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\n\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport InputRange from '../../components/Range';\nimport NumberInput from '../../components/NumberInput';\nimport {Icon} from '../../components/icons';\nimport {stripNumber} from '../../utils/tpl-builtin';\nimport {autobind} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\n\n/**\n * Range\n * 文档:https://baidu.gitee.io/amis/docs/components/form/range\n */\n\nexport type Value = string | MultipleValue | number | [number, number];\nexport type FormatValue = MultipleValue | number;\nexport type TooltipPosType = 'auto' | 'top' | 'right' | 'bottom' | 'left';\nexport interface RangeControlSchema extends FormBaseControl {\n type: 'input-range';\n\n /**\n * 滑块值\n */\n value?: Value;\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示步长\n */\n showSteps?: boolean;\n\n /**\n * 分割块数\n */\n parts?: number;\n\n /**\n * 刻度\n */\n // marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible?: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement?: TooltipPosType;\n\n /**\n * 是否为双滑块\n */\n multiple?: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues?: boolean;\n\n /**\n * 分隔符\n */\n delimiter?: string;\n\n /**\n * 是否展示输入框\n */\n showInput?: boolean;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\nexport type MarksType = {\n [index: number | string]: Record<\n number,\n {style?: React.CSSProperties; label?: string} | any\n >;\n};\n\nexport interface RangeProps extends FormControlProps {\n /**\n * 滑块值\n */\n value: Value;\n\n /**\n * 最小值\n */\n min: number;\n\n /**\n * 最大值\n */\n max: number;\n\n /**\n * 步长\n */\n step: number;\n\n /**\n * 是否展示步长\n */\n showSteps: boolean;\n\n /**\n * 分割块数\n */\n parts: number;\n\n /**\n * 刻度\n *\n * todo 这里面存在 React.Compnonent 复杂定义,不能转成 json schema\n * 需要简化类型定义,json 中是不能定义复杂类型的,如 function\n */\n // marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement: TooltipPosType;\n\n /**\n * 控制滑块标签显隐函数\n */\n tipFormatter?: (value: Value) => boolean;\n\n /**\n * 是否为双滑块\n */\n multiple: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues: boolean;\n\n /**\n * 分隔符\n */\n delimiter: string;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示输入框\n */\n showInput: boolean;\n\n /**\n * 是否禁用\n */\n disabled: boolean;\n\n /**\n * value改变事件\n */\n onChange: (value: Value) => void;\n\n /**\n * 鼠标松开事件\n */\n onAfterChange?: (value: Value) => any;\n}\n\nexport interface MultipleValue {\n min: number;\n max: number;\n}\n\nexport interface DefaultProps {\n value: Value;\n max: number;\n min: number;\n step: number;\n unit: string;\n clearable: boolean;\n disabled: boolean;\n showInput: boolean;\n multiple: boolean;\n joinValues: boolean;\n delimiter: string;\n showSteps: boolean;\n parts: number;\n tooltipPlacement: TooltipPosType;\n}\n\nexport interface RangeItemProps extends RangeProps {\n value: FormatValue;\n updateValue: (value: Value) => void;\n onAfterChange: () => void;\n}\n\nexport interface RangeState {\n value: FormatValue;\n}\n\n/**\n * 格式化初始value值\n * @param value 初始value值 Value\n * @param props RangeProps\n * @returns number | {min: number, max: number}\n */\nexport function formatValue(\n value: Value,\n props: {\n multiple: boolean;\n delimiter: string;\n min: number;\n max: number;\n }\n): FormatValue {\n if (props.multiple) {\n let {min, max} = props;\n // value是字符串\n if (typeof value === 'string') {\n [min, max] = value.split(props.delimiter || ',').map(v => Number(v));\n }\n // value是数组\n else if (Array.isArray(value)) {\n [min, max] = value;\n }\n // value是对象\n else if (typeof value === 'object') {\n min = value.min;\n max = value.max;\n }\n return {\n min: min === undefined || min < props.min ? props.min : min,\n max: max === undefined || max > props.max ? props.max : max\n };\n }\n return +value ?? props.min;\n}\n\n/**\n * 输入框\n */\nexport class Input extends React.Component<RangeItemProps, any> {\n /**\n * onChange事件,只能输入数字\n * @param e React.ChangeEvent\n */\n @autobind\n onChange(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n /**\n * 双滑块 更新value\n * @param value 输入的value值\n */\n @autobind\n onUpdateValue(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n checkNum(value: number | string | undefined) {\n if (typeof value !== 'number') {\n value = filter(value, this.props.data);\n value = /^[-]?\\d+/.test(value) ? +value : undefined;\n }\n return value;\n }\n\n /**\n * 获取步长小数精度\n * @returns\n */\n getStepPrecision() {\n const {step} = this.props;\n const stepIsDecimal = /^\\d+\\.\\d+$/.test(step.toString());\n return !stepIsDecimal || step < 0\n ? 0\n : step.toString().split('.')[1]?.length;\n }\n\n /**\n * 处理数据\n * @param value input数据\n * @param type min | max 双滑块\n * @returns 处理之后数据\n */\n getValue(value: string | number, type?: string) {\n const {max, min, step, value: stateValue} = this.props as RangeItemProps;\n\n // 校正value为step的倍数\n let _value = Math.round(parseFloat(value + '') / step) * step;\n // 同步value与步长小数位数\n _value = parseFloat(_value.toFixed(this.getStepPrecision()));\n // 单滑块只用考虑 轨道边界 ,双滑块需要考虑 两端滑块边界\n switch (type) {\n case 'min': {\n if (isObject(stateValue) && isNumber(stateValue.max)) {\n // 如果 大于当前双滑块最大值 取 当前双滑块max值 - 步长\n if (_value >= stateValue.max) {\n return stateValue.max - step;\n }\n return _value;\n }\n return min;\n }\n case 'max':\n if (isObject(stateValue) && isNumber(stateValue.min)) {\n // 如果 小于当前双滑块最大值 取 当前双滑块min值 + 步长\n if (_value <= stateValue.min) {\n return stateValue.min + step;\n }\n return _value;\n }\n return max;\n default:\n // 轨道边界\n return (_value < min && min) || (_value > max && max) || _value;\n }\n }\n\n render() {\n const {\n classnames: cx,\n value,\n multiple,\n type,\n step,\n classPrefix: ns,\n disabled,\n max,\n min\n } = this.props;\n const _value = multiple\n ? type === 'min'\n ? Math.min((value as MultipleValue).min, (value as MultipleValue).max)\n : Math.max((value as MultipleValue).min, (value as MultipleValue).max)\n : value;\n return (\n <div className={cx(`${ns}InputRange-input`)}>\n <NumberInput\n value={+_value}\n step={step}\n max={this.checkNum(max)}\n min={this.checkNum(min)}\n onChange={this.onChange}\n disabled={disabled}\n />\n </div>\n );\n }\n}\n\nexport default class RangeControl extends React.PureComponent<\n RangeProps,\n RangeState\n> {\n midLabel?: HTMLSpanElement;\n\n static defaultProps: DefaultProps = {\n value: 0,\n max: 100,\n min: 0,\n step: 1,\n unit: '',\n clearable: true,\n disabled: false,\n showInput: false,\n multiple: false,\n joinValues: true,\n delimiter: ',',\n showSteps: false,\n parts: 1,\n tooltipPlacement: 'auto'\n };\n\n constructor(props: RangeProps) {\n super(props);\n const {value: propsValue, multiple, delimiter, min, max} = this.props;\n const value = formatValue(propsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.state = {\n value: this.getValue(value)\n };\n }\n\n componentDidUpdate(prevProps: RangeProps) {\n const {value} = prevProps;\n const {\n value: nextPropsValue,\n multiple,\n delimiter,\n min,\n max,\n onChange\n } = this.props;\n if (value !== nextPropsValue) {\n const value = formatValue(nextPropsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n this.setState({\n value: this.getValue(value)\n });\n }\n }\n\n @autobind\n clearValue() {\n const {multiple, min, max} = this.props;\n if (multiple) {\n this.updateValue({min, max});\n } else {\n this.updateValue(min);\n }\n }\n\n @autobind\n getValue(value: FormatValue) {\n const {multiple} = this.props;\n return multiple\n ? {\n max: stripNumber((value as MultipleValue).max),\n min: stripNumber((value as MultipleValue).min)\n }\n : stripNumber(value as number);\n }\n\n /**\n * 所有触发value变换 -> updateValue\n * @param value\n */\n @autobind\n updateValue(value: FormatValue) {\n this.setState({value: this.getValue(value)});\n const {multiple, joinValues, delimiter, onChange} = this.props;\n onChange(\n multiple\n ? joinValues\n ? [(value as MultipleValue).min, (value as MultipleValue).max].join(\n delimiter || ','\n )\n : {\n min: (value as MultipleValue).min,\n max: (value as MultipleValue).max\n }\n : value\n );\n }\n\n /**\n * 鼠标松开事件\n */\n @autobind\n onAfterChange() {\n const {value} = this.state;\n const {multiple, joinValues, delimiter, onAfterChange} = this.props;\n onAfterChange &&\n onAfterChange(\n multiple\n ? joinValues\n ? [(value as MultipleValue).min, (value as MultipleValue).max].join(\n delimiter || ','\n )\n : {\n min: (value as MultipleValue).min,\n max: (value as MultipleValue).max\n }\n : value\n );\n }\n\n render() {\n const {value} = this.state;\n const props: RangeItemProps = {\n ...this.props,\n value,\n updateValue: this.updateValue,\n onAfterChange: this.onAfterChange\n };\n\n const {\n classPrefix: ns,\n multiple,\n parts,\n showInput,\n classnames: cx,\n className,\n disabled,\n clearable,\n min,\n max\n } = props;\n\n // 指定parts -> 重新计算步长\n if (parts > 1) {\n props.step = (props.max - props.min) / props.parts;\n props.showSteps = true;\n }\n\n return (\n <div\n className={cx(\n 'RangeControl',\n `${ns}InputRange`,\n {'is-disabled': disabled},\n className\n )}\n >\n {showInput && multiple && <Input {...props} type=\"min\" />}\n <InputRange {...props} />\n {showInput && <Input {...props} type=\"max\" />}\n {clearable && !disabled && showInput ? (\n <a\n onClick={() => this.clearValue()}\n className={cx('InputRange-clear', {\n 'is-active': multiple\n ? isEqual(this.state.value, {min: min, max: max})\n : this.state.value !== min\n })}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-range'\n})\nexport class RangeControlRenderer extends RangeControl {}\n"
|
11
|
+
"import React, {CSSProperties, ReactNode} from 'react';\nimport isNumber from 'lodash/isNumber';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\nimport forEach from 'lodash/forEach';\n\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport InputRange from '../../components/Range';\nimport NumberInput from '../../components/NumberInput';\nimport {Icon} from '../../components/icons';\nimport {stripNumber} from '../../utils/tpl-builtin';\nimport {autobind, createObject} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {SchemaObject} from '../../Schema';\nimport {Action} from '../../types';\n\n/**\n * Range\n * 文档:https://baidu.gitee.io/amis/docs/components/form/range\n */\n\nexport type Value = string | MultipleValue | number | [number, number];\nexport type FormatValue = MultipleValue | number;\nexport type TooltipPosType = 'auto' | 'top' | 'right' | 'bottom' | 'left';\nexport type InputRangeRendererEvent = 'change' | 'blur' | 'focus';\nexport type InputRangeRendererAction = 'clear';\nexport interface RangeControlSchema extends FormBaseControl {\n type: 'input-range';\n\n /**\n * 滑块值\n */\n value?: Value;\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示步长\n */\n showSteps?: boolean;\n\n /**\n * 分割块数\n */\n parts?: number;\n\n /**\n * 刻度\n */\n marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible?: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement?: TooltipPosType;\n\n /**\n * 是否为双滑块\n */\n multiple?: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues?: boolean;\n\n /**\n * 分隔符\n */\n delimiter?: string;\n\n /**\n * 是否展示输入框\n */\n showInput?: boolean;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\ntype MarksType = {\n [index: number | string]: MarksValue;\n};\n\ntype MarksValue = Record<\n number,\n SchemaObject | {style?: React.CSSProperties; label?: string}\n>;\n\nexport interface RangeProps extends FormControlProps {\n /**\n * 滑块值\n */\n value: Value;\n\n /**\n * 最小值\n */\n min: number;\n\n /**\n * 最大值\n */\n max: number;\n\n /**\n * 步长\n */\n step: number;\n\n /**\n * 是否展示步长\n */\n showSteps: boolean;\n\n /**\n * 分割块数\n */\n parts: number;\n\n /**\n * 刻度\n */\n marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement: TooltipPosType;\n\n /**\n * 控制滑块标签显隐函数\n */\n tipFormatter?: (value: Value) => boolean;\n\n /**\n * 是否为双滑块\n */\n multiple: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues: boolean;\n\n /**\n * 分隔符\n */\n delimiter: string;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示输入框\n */\n showInput: boolean;\n\n /**\n * 是否禁用\n */\n disabled: boolean;\n\n /**\n * value改变事件\n */\n onChange: (value: Value) => void;\n\n /**\n * 鼠标松开事件\n */\n onAfterChange?: (value: Value) => any;\n}\n\nexport interface MultipleValue {\n min: number;\n max: number;\n}\n\nexport interface DefaultProps {\n value: Value;\n max: number;\n min: number;\n step: number;\n unit: string;\n clearable: boolean;\n disabled: boolean;\n showInput: boolean;\n multiple: boolean;\n joinValues: boolean;\n delimiter: string;\n showSteps: boolean;\n parts: number;\n tooltipPlacement: TooltipPosType;\n}\n\nexport interface RangeItemProps extends RangeProps {\n value: FormatValue;\n updateValue: (value: Value) => void;\n onAfterChange: () => void;\n}\n\nexport interface RangeState {\n value: FormatValue;\n}\n\n/**\n * 格式化初始value值\n * @param value 初始value值 Value\n * @param props RangeProps\n * @returns number | {min: number, max: number}\n */\nexport function formatValue(\n value: Value,\n props: {\n multiple: boolean;\n delimiter: string;\n min: number;\n max: number;\n }\n): FormatValue {\n if (props.multiple) {\n let {min, max} = props;\n // value是字符串\n if (typeof value === 'string') {\n [min, max] = value.split(props.delimiter || ',').map(v => Number(v));\n }\n // value是数组\n else if (Array.isArray(value)) {\n [min, max] = value;\n }\n // value是对象\n else if (typeof value === 'object') {\n min = value.min;\n max = value.max;\n }\n return {\n min: min === undefined || min < props.min ? props.min : min,\n max: max === undefined || max > props.max ? props.max : max\n };\n }\n return +value ?? props.min;\n}\n\n/**\n * 输入框\n */\nexport class Input extends React.Component<RangeItemProps, any> {\n /**\n * onChange事件,只能输入数字\n * @param e React.ChangeEvent\n */\n @autobind\n onChange(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n /**\n * 双滑块 更新value\n * @param value 输入的value值\n */\n @autobind\n onUpdateValue(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n checkNum(value: number | string | undefined) {\n if (typeof value !== 'number') {\n value = filter(value, this.props.data);\n value = /^[-]?\\d+/.test(value) ? +value : undefined;\n }\n return value;\n }\n\n /**\n * 获取步长小数精度\n * @returns\n */\n getStepPrecision() {\n const {step} = this.props;\n const stepIsDecimal = /^\\d+\\.\\d+$/.test(step.toString());\n return !stepIsDecimal || step < 0\n ? 0\n : step.toString().split('.')[1]?.length;\n }\n\n /**\n * 处理数据\n * @param value input数据\n * @param type min | max 双滑块\n * @returns 处理之后数据\n */\n getValue(value: string | number, type?: string) {\n const {max, min, step, value: stateValue} = this.props as RangeItemProps;\n\n // 校正value为step的倍数\n let _value = Math.round(parseFloat(value + '') / step) * step;\n // 同步value与步长小数位数\n _value = parseFloat(_value.toFixed(this.getStepPrecision()));\n // 单滑块只用考虑 轨道边界 ,双滑块需要考虑 两端滑块边界\n switch (type) {\n case 'min': {\n if (isObject(stateValue) && isNumber(stateValue.max)) {\n // 如果 大于当前双滑块最大值 取 当前双滑块max值 - 步长\n if (_value >= stateValue.max) {\n return stateValue.max - step;\n }\n return _value;\n }\n return min;\n }\n case 'max':\n if (isObject(stateValue) && isNumber(stateValue.min)) {\n // 如果 小于当前双滑块最大值 取 当前双滑块min值 + 步长\n if (_value <= stateValue.min) {\n return stateValue.min + step;\n }\n return _value;\n }\n return max;\n default:\n // 轨道边界\n return (_value < min && min) || (_value > max && max) || _value;\n }\n }\n\n /**\n * 失焦事件\n */\n @autobind\n onBlur() {\n const {data, dispatchEvent} = this.props;\n dispatchEvent('blur', data);\n }\n\n /**\n * 聚焦事件\n */\n @autobind\n onFocus() {\n const {data, dispatchEvent} = this.props;\n dispatchEvent('focus', data);\n }\n\n render() {\n const {\n classnames: cx,\n value,\n multiple,\n type,\n step,\n classPrefix: ns,\n disabled,\n max,\n min\n } = this.props;\n const _value = multiple\n ? type === 'min'\n ? Math.min((value as MultipleValue).min, (value as MultipleValue).max)\n : Math.max((value as MultipleValue).min, (value as MultipleValue).max)\n : value;\n return (\n <div className={cx(`${ns}InputRange-input`)}>\n <NumberInput\n value={+_value}\n step={step}\n max={this.checkNum(max)}\n min={this.checkNum(min)}\n onChange={this.onChange}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n />\n </div>\n );\n }\n}\n\nexport default class RangeControl extends React.PureComponent<\n RangeProps,\n RangeState\n> {\n midLabel?: HTMLSpanElement;\n\n static defaultProps: DefaultProps = {\n value: 0,\n max: 100,\n min: 0,\n step: 1,\n unit: '',\n clearable: true,\n disabled: false,\n showInput: false,\n multiple: false,\n joinValues: true,\n delimiter: ',',\n showSteps: false,\n parts: 1,\n tooltipPlacement: 'auto'\n };\n\n constructor(props: RangeProps) {\n super(props);\n const {value: propsValue, multiple, delimiter, min, max} = this.props;\n const value = formatValue(propsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.state = {\n value: this.getValue(value)\n };\n }\n\n componentDidUpdate(prevProps: RangeProps) {\n const {value} = prevProps;\n const {\n value: nextPropsValue,\n multiple,\n delimiter,\n min,\n max,\n onChange\n } = this.props;\n if (value !== nextPropsValue) {\n const value = formatValue(nextPropsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n this.setState({\n value: this.getValue(value)\n });\n }\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n if (action.actionType === 'clear') {\n this.clearValue();\n }\n }\n\n @autobind\n clearValue() {\n const {multiple, min, max} = this.props;\n if (multiple) {\n this.updateValue({min, max});\n } else {\n this.updateValue(min);\n }\n }\n\n @autobind\n getValue(value: FormatValue) {\n const {multiple} = this.props;\n return multiple\n ? {\n max: stripNumber((value as MultipleValue).max),\n min: stripNumber((value as MultipleValue).min)\n }\n : stripNumber(value as number);\n }\n\n /**\n * 所有触发value变换 -> updateValue\n * @param value\n */\n @autobind\n async updateValue(value: FormatValue) {\n this.setState({value: this.getValue(value)});\n const {onChange, data, dispatchEvent} = this.props;\n const result = this.getFormatValue(value);\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: result\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(result);\n }\n\n /**\n * 鼠标松开事件\n */\n @autobind\n onAfterChange() {\n const {value} = this.state;\n const {onAfterChange, dispatchEvent, data} = this.props;\n const result = this.getFormatValue(value);\n onAfterChange && onAfterChange(result);\n }\n\n /**\n * 获取导出格式数据\n */\n @autobind\n getFormatValue(value: FormatValue) {\n const {multiple, joinValues, delimiter} = this.props;\n return multiple\n ? joinValues\n ? [(value as MultipleValue).min, (value as MultipleValue).max].join(\n delimiter || ','\n )\n : {\n min: (value as MultipleValue).min,\n max: (value as MultipleValue).max\n }\n : value;\n }\n\n render() {\n const {value} = this.state;\n const props: RangeItemProps = {\n ...this.props,\n value,\n updateValue: this.updateValue,\n onAfterChange: this.onAfterChange\n };\n\n const {\n classPrefix: ns,\n multiple,\n parts,\n showInput,\n classnames: cx,\n className,\n disabled,\n clearable,\n min,\n max,\n render,\n marks,\n region\n } = props;\n\n // 指定parts -> 重新计算步长\n if (parts > 1) {\n props.step = (props.max - props.min) / props.parts;\n props.showSteps = true;\n }\n\n // 处理自定义json配置\n let renderMarks:\n | MarksType\n | {[index: number | string]: ReactNode}\n | undefined = marks ? {...marks} : marks;\n marks &&\n forEach(marks, (item, key) => {\n if (isObject(item) && (item as SchemaObject).type) {\n renderMarks &&\n (renderMarks[key] = render(region, item as SchemaObject));\n }\n });\n\n return (\n <div\n className={cx(\n 'RangeControl',\n `${ns}InputRange`,\n {'is-disabled': disabled},\n className\n )}\n >\n {showInput && multiple && <Input {...props} type=\"min\" />}\n <InputRange {...props} marks={renderMarks} />\n {showInput && <Input {...props} type=\"max\" />}\n {clearable && !disabled && showInput ? (\n <a\n onClick={() => this.clearValue()}\n className={cx('InputRange-clear', {\n 'is-active': multiple\n ? isEqual(this.state.value, {min: min, max: max})\n : this.state.value !== min\n })}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-range'\n})\nexport class RangeControlRenderer extends RangeControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -258,7 +258,8 @@ var SubFormControlRenderer = /** @class */ (function (_super) {
|
|
258
258
|
SubFormControlRenderer = (0, tslib_1.__decorate)([
|
259
259
|
(0, Item_1.FormItem)({
|
260
260
|
type: 'input-sub-form',
|
261
|
-
sizeMutable: false
|
261
|
+
sizeMutable: false,
|
262
|
+
strictMode: false
|
262
263
|
})
|
263
264
|
], SubFormControlRenderer);
|
264
265
|
return SubFormControlRenderer;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputSubForm.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,kEAA+B;AAC/B,kEAA+B;AAC/B,6CAAsD;AACtD,gDAA4C;AAG5C,uEAAkC;AAClC,uCAAsC;AAgHtC,IAAI,GAAgB,CAAC;AAErB,IAAM,QAAQ,GAAG,UAAC,KAAa;IAC7B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IACD,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IACtB,OAAO,GAAG,CAAC,SAAS,CAAC;AACvB,CAAC,CAAC;AAEF;IAA4C,+CAG3C;IAmBC,wBAAY,KAAmB;QAA/B,YACE,kBAAM,KAAK,CAAC,SASb;QAdD,WAAK,GAAiB,EAAE,CAAC;QAGzB,QAAE,GAAW,IAAA,aAAI,GAAE,CAAC;QAIlB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACjE,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,CAAC,QAAQ,CAAC;YACZ,UAAU,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpE,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK;aACZ;SACF,CAAC,CAAC;IACL,CAAC;IAED,mCAAU,GAAV,UAAW,CAAqB;QAC9B,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO;SACR;QAED,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,mCAAU,GAAV;QACS,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3D,SAAS,EAAE;oBACT,IAAI,EAAE,MAAM;iBACb;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IAED,6BAAI,GAAJ,UAAK,CAAqB;QACxB,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,CAAC;YACZ,UAAU,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,KAAK,OAAA;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,QAAQ,CAAC;YACZ,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAqB;QACjC,IAAA,KAA8B,IAAI,CAAC,KAAK,EAAvC,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAc,CAAC;QAC/C,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEjC,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE1D,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,KAAK,EAAE;gBACvB,QAAQ,CAAC,IAAI,2BACR,MAAM,CAAC,CAAC,CAAC,EACZ,CAAC;aACJ;iBAAM;gBACL,QAAQ,CAAC,GAAI,CAAC,KAAM,CAAC,mDAChB,QAAQ,CAAC,GAAI,CAAC,KAAM,CAAC,GACrB,MAAM,CAAC,CAAC,CAAC,CACb,CAAC;aACH;YACD,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpB;aAAM;YACL,QAAQ,iDACH,KAAK,GACL,MAAM,CAAC,CAAC,CAAC,EACZ,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,mCAAU,GAAV,UAAW,GAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,qCAAY,GAAZ;QAAA,iBAmCC;QAlCC,IAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACjD,IAAM,GAAG,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAgB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAC1B,GAAG,CAAC,aAAa,CAAC,WAAI,EAAE,mBAAgB,CAAgB,EACxD;YACE,KAAK,EAAE,kBAAW,IAAI,CAAC,EAAE,CAAE;YAC3B,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,WAAI,EAAE,yBAAsB;YACpC,UAAU,EAAE,UAAG,EAAE,4BAAyB;YAC1C,KAAK,EAAE,UAAC,CAAM;gBACZ,OAAO;gBACP,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE;oBAC7B,OAAO;iBACR;gBAED,MAAM;gBACN,IAAM,MAAM,GAAG,CAAC,CAAC,EAAiB,CAAC;gBACnC,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAC5D;qBAAM;oBACL,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC5B;gBAED,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO;iBACR;gBACD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;SACF,CACF,CAAC;IACJ,CAAC;IAED,wCAAe,GAAf;QACE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,0CAAiB,GAAjB;QACO,IAAA,IAAI,GAAI,IAAI,CAAC,KAAK,KAAd,CAAe;QAExB,IAAM,WAAW,GAAG;YAClB,OAAO;YACP,SAAS;YACT,MAAM;YACN,MAAM;YACN,YAAY;YACZ,gBAAgB;YAChB,cAAc;YACd,iBAAiB;YACjB,eAAe;YACf,MAAM;SACP,CAAC;QAEF,uDACK,IAAA,cAAI,EAAC,IAAI,EAAE,WAAW,CAAC,KAC1B,IAAI,EAAE,QAAQ,EACd,IAAI,0BACF,IAAI,EAAE,MAAM,IACT,IAAA,cAAI,EAAC,IAAI,EAAE,WAAW,CAAC,KAE5B;IACJ,CAAC;IAED,sCAAa,GAAb;QAAA,iBAmHC;QAlHO,IAAA,KAoBF,IAAI,CAAC,KAAK,EAnBZ,kBAAkB,wBAAA,EAClB,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,IAAI,UAAA,EACO,EAAE,eAAA,EACD,EAAE,gBAAA,EACd,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,OAAO,aAAA,EACP,SAAS,eAAA,EACT,SAAS,eAAA,EACT,aAAa,mBACD,CAAC;QAEf,OAAO,CACL;YACG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACtC,uCAAK,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,GAAG,EAAC,QAAQ,IAC/D,KAAK,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,GAAG,IAAK,OAAA,CAC7B,uCACE,SAAS,EAAE,EAAE,CACX,eAAe,EACf;oBACE,aAAa,EAAE,QAAQ;iBACxB,EACD,aAAa,CACd,EACD,GAAG,EAAE,GAAG;gBAEP,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC/B,qCAAG,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC;oBACtC,8BAAC,YAAI,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAI,CAC7C,CACL,CAAC,CAAC,CAAC,IAAI;gBAER,wCAAM,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,IACtC,CAAC,IAAI;oBACJ,UAAU;oBACV,IAAI,CAAC,UAAU,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC3B,MAAM,CACJ,OAAO,EACP;wBACE,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC;qBAClB,EACD;wBACE,IAAI,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE,IAAI,CAAC;qBAC/B,CACF,CACE;gBACP,mDACc,GAAG,EACf,OAAO,EAAE,KAAI,CAAC,IAAI,EAClB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC;oBAElC,8BAAC,YAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,GAAG,CACrC;gBACH,CAAC,QAAQ;oBACV,SAAS,KAAK,KAAK;oBACnB,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CACzC,mDACc,GAAG,EACf,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,EACjC,OAAO,EAAE,KAAI,CAAC,UAAU;oBAExB,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACpC,CACL,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,EApD8B,CAoD9B,CAAC,CACE,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAC,aAAa,IACzD,EAAE,CAAC,WAAW,IAAI,mBAAmB,CAAC,CACnC,CACP;YAED,uCAAK,GAAG,EAAC,SAAS,EAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAChD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CACnB,0CACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,EAC1D,QAAQ,EACN,QAAQ;wBACR,CAAC,CAAC,CACA,SAAS;4BACT,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;4BACpB,KAAK,CAAC,MAAM,IAAI,SAAS,CAC1B;oBAGH,8BAAC,YAAI,IAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,GAAG;oBACrC,4CAAO,EAAE,CAAC,aAAa,IAAI,aAAa,CAAC,CAAQ,CAC1C,CACV,CAAC,CAAC,CAAC,IAAI;gBAEP,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvD,wCAAM,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,IAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5D,CACR,CAAC,CAAC,CAAC,IAAI,CACJ,CACL,CACJ,CAAC;IACJ,CAAC;IAED,qCAAY,GAAZ;QACQ,IAAA,KAWF,IAAI,CAAC,KAAK,EAVA,EAAE,gBAAA,EACd,cAAc,oBAAA,EACd,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,IAAI,UAAA,EACO,EAAE,eACD,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,GAAG,EAAC,QAAQ;YAChE,uCACE,SAAS,EAAE,EAAE,CACX,eAAe,EACf;oBACE,aAAa,EAAE,QAAQ;iBACxB,EACD,aAAa,CACd,EACD,OAAO,EAAE,IAAI,CAAC,UAAU,kBACV,EAAE,CAAC,oBAAoB,CAAC,mBACxB,QAAQ;gBAEtB,wCAAM,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,IACtC,CAAC,KAAK;oBACL,UAAU;oBACV,KAAK,CAAC,UAAU,CAAC;oBACjB,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC5B,MAAM,CACJ,OAAO,EACP;wBACE,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC;qBAClB,EACD;wBACE,IAAI,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE,KAAK,CAAC;qBAChC,CACF,CACE;gBACP,qCAAG,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC;oBACnC,8BAAC,YAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,GAAG,CACrC,CACA,CACF,CACP,CAAC;IACJ,CAAC;IAED,+BAAM,GAAN;QACQ,IAAA,KAAiD,IAAI,CAAC,KAAK,EAA1D,QAAQ,cAAA,EAAe,EAAE,iBAAA,EAAE,SAAS,eAAA,EAAE,MAAM,YAAc,CAAC;QAClE,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,UAAG,EAAE,mBAAgB,EAAE,SAAS,CAAC;YACjD,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACrD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE;gBACzC,IAAI,EAAE,CAAC,CAAC,SAAS;gBACjB,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,SAAS,EAAE,IAAI,CAAC,mBAAmB;gBACnC,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,SAAS;aACrB,CAAC,CACE,CACP,CAAC;IACJ,CAAC;IAhYM,2BAAY,GAA0B;QAC3C,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,EAAE;QACtB,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,mBAAmB;KACjC,CAAC;IAEK,wBAAS,GAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAqX1D,qBAAC;CAAA,AArYD,CAA4C,eAAK,CAAC,aAAa,GAqY9D;kBArYoB,cAAc;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport {createObject, guid} from '../../utils/helper';\nimport {Icon} from '../../components/icons';\nimport {SchemaClassName} from '../../Schema';\nimport {FormSchema} from '.';\nimport Sortable from 'sortablejs';\nimport {findDOMNode} from 'react-dom';\n\n/**\n * SubForm 子表单\n * 文档:https://baidu.gitee.io/amis/docs/components/form/subform\n */\nexport interface SubFormControlSchema extends FormBaseControl {\n /**\n * 指定为 SubForm 子表单\n */\n type: 'input-sub-form';\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否多选\n */\n multiple?: boolean;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 拖拽提示信息\n */\n draggableTip?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 最少个数\n */\n minLength?: number;\n\n /**\n * 最多个数\n */\n maxLength?: number;\n\n /**\n * 当值中存在这个字段,则按钮名称将使用此字段的值来展示。\n */\n labelField?: string;\n\n /**\n * 按钮默认名称\n * @default 设置\n */\n btnLabel?: string;\n\n /**\n * 新增按钮文字\n */\n addButtonText?: string;\n\n /**\n * 新增按钮 CSS 类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 值元素的类名\n */\n itemClassName?: SchemaClassName;\n\n /**\n * 值列表元素的类名\n */\n itemsClassName?: SchemaClassName;\n\n /**\n * 是否在左下角显示报错信息\n */\n showErrorMsg?: boolean;\n\n /**\n * 子表单详情\n */\n form?: Omit<FormSchema, 'type'>;\n\n scaffold?: any;\n}\n\nexport interface SubFormProps extends FormControlProps {\n placeholder?: string;\n multiple?: boolean;\n minLength?: number;\n maxLength?: number;\n labelField?: string;\n}\n\nexport interface SubFormState {\n dialogData?: any;\n dialogCtx?: {\n mode?: 'add' | 'edit';\n index?: number;\n };\n}\n\nlet dom: HTMLElement;\n\nconst stripTag = (value: string) => {\n if (!value) {\n return value;\n }\n dom = dom || document.createElement('div');\n dom.innerHTML = value;\n return dom.innerText;\n};\n\nexport default class SubFormControl extends React.PureComponent<\n SubFormProps,\n SubFormState\n> {\n static defaultProps: Partial<SubFormProps> = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n btnClassName: '',\n addButtonClassName: '',\n itemClassName: '',\n labelField: 'label',\n btnLabel: 'SubForm.button',\n placeholder: 'placeholder.empty'\n };\n\n static propsList: Array<string> = ['form', 'formStore'];\n\n state: SubFormState = {};\n dragTip?: HTMLElement;\n sortable?: Sortable;\n id: string = guid();\n constructor(props: SubFormProps) {\n super(props);\n\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.editSingle = this.editSingle.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.handleDialogConfirm = this.handleDialogConfirm.bind(this);\n }\n\n addItem() {\n this.setState({\n dialogData: createObject(this.props.data, this.props.scaffold || {}),\n dialogCtx: {\n mode: 'add'\n }\n });\n }\n\n removeItem(e: React.UIEvent<any>) {\n e.stopPropagation();\n e.preventDefault();\n const index = parseInt(e.currentTarget.getAttribute('data-index'), 10);\n\n let value = this.props.value;\n\n if (!Array.isArray(value)) {\n return;\n }\n\n value = value.concat();\n value.splice(index, 1);\n this.props.onChange(value);\n }\n\n editSingle() {\n const {value} = this.props;\n\n if (value) {\n this.setState({\n dialogData: createObject(this.props.data, this.props.value),\n dialogCtx: {\n mode: 'edit'\n }\n });\n } else {\n this.addItem();\n }\n }\n\n open(e: React.UIEvent<any>) {\n const index = parseInt(e.currentTarget.getAttribute('data-index'), 10);\n const value = this.props.value;\n if (!Array.isArray(value) || !value[index]) {\n return;\n }\n\n this.setState({\n dialogData: createObject(this.props.data, value[index]),\n dialogCtx: {\n mode: 'edit',\n index\n }\n });\n }\n\n close() {\n this.setState({\n dialogData: undefined,\n dialogCtx: undefined\n });\n }\n\n handleDialogConfirm(values: Array<object>) {\n const {multiple, onChange, value} = this.props;\n const ctx = this.state.dialogCtx;\n\n if (multiple) {\n let newValue = Array.isArray(value) ? value.concat() : [];\n\n if (ctx?.mode === 'add') {\n newValue.push({\n ...values[0]\n });\n } else {\n newValue[ctx!.index!] = {\n ...newValue[ctx!.index!],\n ...values[0]\n };\n }\n onChange(newValue);\n } else {\n onChange({\n ...value,\n ...values[0]\n });\n }\n\n this.close();\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n const submitOnChange = this.props.submitOnChange;\n const dom = findDOMNode(this) as HTMLElement;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}SubForm-values`) as HTMLElement,\n {\n group: `SubForm-${this.id}`,\n animation: 150,\n handle: `.${ns}SubForm-valueDragBar`,\n ghostClass: `${ns}SubForm-value--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.props.onChange(newValue, submitOnChange, true);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n buildDialogSchema() {\n let {form} = this.props;\n\n const dialogProps = [\n 'title',\n 'actions',\n 'name',\n 'size',\n 'closeOnEsc',\n 'closeOnOutside',\n 'showErrorMsg',\n 'showCloseButton',\n 'bodyClassName',\n 'type'\n ];\n\n return {\n ...pick(form, dialogProps),\n type: 'dialog',\n body: {\n type: 'form',\n ...omit(form, dialogProps)\n }\n };\n }\n\n renderMultipe() {\n const {\n addButtonClassName,\n itemClassName,\n itemsClassName,\n disabled,\n maxLength,\n labelField,\n value,\n btnLabel,\n render,\n data,\n translate: __,\n classnames: cx,\n placeholder,\n draggable,\n draggableTip,\n addable,\n removable,\n minLength,\n addButtonText\n } = this.props;\n\n return (\n <>\n {Array.isArray(value) && value.length ? (\n <div className={cx('SubForm-values', itemsClassName)} key=\"values\">\n {value.map((item: any, key) => (\n <div\n className={cx(\n `SubForm-value`,\n {\n 'is-disabled': disabled\n },\n itemClassName\n )}\n key={key}\n >\n {draggable && value.length > 1 ? (\n <a className={cx('SubForm-valueDragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n ) : null}\n\n <span className={cx('SubForm-valueLabel')}>\n {(item &&\n labelField &&\n item[labelField] &&\n stripTag(item[labelField])) ||\n render(\n 'label',\n {\n type: 'tpl',\n tpl: __(btnLabel)\n },\n {\n data: createObject(data, item)\n }\n )}\n </span>\n <a\n data-index={key}\n onClick={this.open}\n className={cx('SubForm-valueEdit')}\n >\n <Icon icon=\"pencil\" className=\"icon\" />\n </a>\n {!disabled &&\n removable !== false &&\n (!minLength || value.length > minLength) ? (\n <a\n data-index={key}\n className={cx('SubForm-valueDel')}\n onClick={this.removeItem}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ))}\n </div>\n ) : (\n <div className={cx('SubForm-placeholder')} key=\"placeholder\">\n {__(placeholder || 'placeholder.empty')}\n </div>\n )}\n\n <div key=\"toolbar\" className={cx('SubForm-toolbar')}>\n {addable !== false ? (\n <button\n type=\"button\"\n onClick={this.addItem}\n className={cx(`Button SubForm-addBtn`, addButtonClassName)}\n disabled={\n disabled ||\n !!(\n maxLength &&\n Array.isArray(value) &&\n value.length >= maxLength\n )\n }\n >\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__(addButtonText || 'SubForm.add')}</span>\n </button>\n ) : null}\n\n {draggable && Array.isArray(value) && value.length > 1 ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1 ? __(draggableTip) : ''}\n </span>\n ) : null}\n </div>\n </>\n );\n }\n\n renderSingle() {\n const {\n classnames: cx,\n itemsClassName,\n itemClassName,\n disabled,\n value,\n labelField,\n btnLabel,\n render,\n data,\n translate: __\n } = this.props;\n\n return (\n <div className={cx('SubForm-values', itemsClassName)} key=\"values\">\n <div\n className={cx(\n `SubForm-value`,\n {\n 'is-disabled': disabled\n },\n itemClassName\n )}\n onClick={this.editSingle}\n data-tooltip={__('SubForm.editDetail')}\n data-position=\"bottom\"\n >\n <span className={cx('SubForm-valueLabel')}>\n {(value &&\n labelField &&\n value[labelField] &&\n stripTag(value[labelField])) ||\n render(\n 'label',\n {\n type: 'tpl',\n tpl: __(btnLabel)\n },\n {\n data: createObject(data, value)\n }\n )}\n </span>\n <a className={cx('SubForm-valueEdit')}>\n <Icon icon=\"pencil\" className=\"icon\" />\n </a>\n </div>\n </div>\n );\n }\n\n render() {\n const {multiple, classPrefix: ns, className, render} = this.props;\n const dialogData = this.state.dialogData;\n const dialogCtx = this.state.dialogCtx;\n\n return (\n <div className={cx(`${ns}SubFormControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n {render(`modal`, this.buildDialogSchema(), {\n show: !!dialogCtx,\n onClose: this.close,\n onConfirm: this.handleDialogConfirm,\n data: dialogData,\n formStore: undefined\n })}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-sub-form',\n sizeMutable: false\n})\nexport class SubFormControlRenderer extends SubFormControl {}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport {createObject, guid} from '../../utils/helper';\nimport {Icon} from '../../components/icons';\nimport {SchemaClassName} from '../../Schema';\nimport {FormSchema} from '.';\nimport Sortable from 'sortablejs';\nimport {findDOMNode} from 'react-dom';\n\n/**\n * SubForm 子表单\n * 文档:https://baidu.gitee.io/amis/docs/components/form/subform\n */\nexport interface SubFormControlSchema extends FormBaseControl {\n /**\n * 指定为 SubForm 子表单\n */\n type: 'input-sub-form';\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否多选\n */\n multiple?: boolean;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 拖拽提示信息\n */\n draggableTip?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 最少个数\n */\n minLength?: number;\n\n /**\n * 最多个数\n */\n maxLength?: number;\n\n /**\n * 当值中存在这个字段,则按钮名称将使用此字段的值来展示。\n */\n labelField?: string;\n\n /**\n * 按钮默认名称\n * @default 设置\n */\n btnLabel?: string;\n\n /**\n * 新增按钮文字\n */\n addButtonText?: string;\n\n /**\n * 新增按钮 CSS 类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 值元素的类名\n */\n itemClassName?: SchemaClassName;\n\n /**\n * 值列表元素的类名\n */\n itemsClassName?: SchemaClassName;\n\n /**\n * 是否在左下角显示报错信息\n */\n showErrorMsg?: boolean;\n\n /**\n * 子表单详情\n */\n form?: Omit<FormSchema, 'type'>;\n\n scaffold?: any;\n}\n\nexport interface SubFormProps extends FormControlProps {\n placeholder?: string;\n multiple?: boolean;\n minLength?: number;\n maxLength?: number;\n labelField?: string;\n}\n\nexport interface SubFormState {\n dialogData?: any;\n dialogCtx?: {\n mode?: 'add' | 'edit';\n index?: number;\n };\n}\n\nlet dom: HTMLElement;\n\nconst stripTag = (value: string) => {\n if (!value) {\n return value;\n }\n dom = dom || document.createElement('div');\n dom.innerHTML = value;\n return dom.innerText;\n};\n\nexport default class SubFormControl extends React.PureComponent<\n SubFormProps,\n SubFormState\n> {\n static defaultProps: Partial<SubFormProps> = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n btnClassName: '',\n addButtonClassName: '',\n itemClassName: '',\n labelField: 'label',\n btnLabel: 'SubForm.button',\n placeholder: 'placeholder.empty'\n };\n\n static propsList: Array<string> = ['form', 'formStore'];\n\n state: SubFormState = {};\n dragTip?: HTMLElement;\n sortable?: Sortable;\n id: string = guid();\n constructor(props: SubFormProps) {\n super(props);\n\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.editSingle = this.editSingle.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.handleDialogConfirm = this.handleDialogConfirm.bind(this);\n }\n\n addItem() {\n this.setState({\n dialogData: createObject(this.props.data, this.props.scaffold || {}),\n dialogCtx: {\n mode: 'add'\n }\n });\n }\n\n removeItem(e: React.UIEvent<any>) {\n e.stopPropagation();\n e.preventDefault();\n const index = parseInt(e.currentTarget.getAttribute('data-index'), 10);\n\n let value = this.props.value;\n\n if (!Array.isArray(value)) {\n return;\n }\n\n value = value.concat();\n value.splice(index, 1);\n this.props.onChange(value);\n }\n\n editSingle() {\n const {value} = this.props;\n\n if (value) {\n this.setState({\n dialogData: createObject(this.props.data, this.props.value),\n dialogCtx: {\n mode: 'edit'\n }\n });\n } else {\n this.addItem();\n }\n }\n\n open(e: React.UIEvent<any>) {\n const index = parseInt(e.currentTarget.getAttribute('data-index'), 10);\n const value = this.props.value;\n if (!Array.isArray(value) || !value[index]) {\n return;\n }\n\n this.setState({\n dialogData: createObject(this.props.data, value[index]),\n dialogCtx: {\n mode: 'edit',\n index\n }\n });\n }\n\n close() {\n this.setState({\n dialogData: undefined,\n dialogCtx: undefined\n });\n }\n\n handleDialogConfirm(values: Array<object>) {\n const {multiple, onChange, value} = this.props;\n const ctx = this.state.dialogCtx;\n\n if (multiple) {\n let newValue = Array.isArray(value) ? value.concat() : [];\n\n if (ctx?.mode === 'add') {\n newValue.push({\n ...values[0]\n });\n } else {\n newValue[ctx!.index!] = {\n ...newValue[ctx!.index!],\n ...values[0]\n };\n }\n onChange(newValue);\n } else {\n onChange({\n ...value,\n ...values[0]\n });\n }\n\n this.close();\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n const submitOnChange = this.props.submitOnChange;\n const dom = findDOMNode(this) as HTMLElement;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}SubForm-values`) as HTMLElement,\n {\n group: `SubForm-${this.id}`,\n animation: 150,\n handle: `.${ns}SubForm-valueDragBar`,\n ghostClass: `${ns}SubForm-value--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.props.onChange(newValue, submitOnChange, true);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n buildDialogSchema() {\n let {form} = this.props;\n\n const dialogProps = [\n 'title',\n 'actions',\n 'name',\n 'size',\n 'closeOnEsc',\n 'closeOnOutside',\n 'showErrorMsg',\n 'showCloseButton',\n 'bodyClassName',\n 'type'\n ];\n\n return {\n ...pick(form, dialogProps),\n type: 'dialog',\n body: {\n type: 'form',\n ...omit(form, dialogProps)\n }\n };\n }\n\n renderMultipe() {\n const {\n addButtonClassName,\n itemClassName,\n itemsClassName,\n disabled,\n maxLength,\n labelField,\n value,\n btnLabel,\n render,\n data,\n translate: __,\n classnames: cx,\n placeholder,\n draggable,\n draggableTip,\n addable,\n removable,\n minLength,\n addButtonText\n } = this.props;\n\n return (\n <>\n {Array.isArray(value) && value.length ? (\n <div className={cx('SubForm-values', itemsClassName)} key=\"values\">\n {value.map((item: any, key) => (\n <div\n className={cx(\n `SubForm-value`,\n {\n 'is-disabled': disabled\n },\n itemClassName\n )}\n key={key}\n >\n {draggable && value.length > 1 ? (\n <a className={cx('SubForm-valueDragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n ) : null}\n\n <span className={cx('SubForm-valueLabel')}>\n {(item &&\n labelField &&\n item[labelField] &&\n stripTag(item[labelField])) ||\n render(\n 'label',\n {\n type: 'tpl',\n tpl: __(btnLabel)\n },\n {\n data: createObject(data, item)\n }\n )}\n </span>\n <a\n data-index={key}\n onClick={this.open}\n className={cx('SubForm-valueEdit')}\n >\n <Icon icon=\"pencil\" className=\"icon\" />\n </a>\n {!disabled &&\n removable !== false &&\n (!minLength || value.length > minLength) ? (\n <a\n data-index={key}\n className={cx('SubForm-valueDel')}\n onClick={this.removeItem}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ))}\n </div>\n ) : (\n <div className={cx('SubForm-placeholder')} key=\"placeholder\">\n {__(placeholder || 'placeholder.empty')}\n </div>\n )}\n\n <div key=\"toolbar\" className={cx('SubForm-toolbar')}>\n {addable !== false ? (\n <button\n type=\"button\"\n onClick={this.addItem}\n className={cx(`Button SubForm-addBtn`, addButtonClassName)}\n disabled={\n disabled ||\n !!(\n maxLength &&\n Array.isArray(value) &&\n value.length >= maxLength\n )\n }\n >\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__(addButtonText || 'SubForm.add')}</span>\n </button>\n ) : null}\n\n {draggable && Array.isArray(value) && value.length > 1 ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1 ? __(draggableTip) : ''}\n </span>\n ) : null}\n </div>\n </>\n );\n }\n\n renderSingle() {\n const {\n classnames: cx,\n itemsClassName,\n itemClassName,\n disabled,\n value,\n labelField,\n btnLabel,\n render,\n data,\n translate: __\n } = this.props;\n\n return (\n <div className={cx('SubForm-values', itemsClassName)} key=\"values\">\n <div\n className={cx(\n `SubForm-value`,\n {\n 'is-disabled': disabled\n },\n itemClassName\n )}\n onClick={this.editSingle}\n data-tooltip={__('SubForm.editDetail')}\n data-position=\"bottom\"\n >\n <span className={cx('SubForm-valueLabel')}>\n {(value &&\n labelField &&\n value[labelField] &&\n stripTag(value[labelField])) ||\n render(\n 'label',\n {\n type: 'tpl',\n tpl: __(btnLabel)\n },\n {\n data: createObject(data, value)\n }\n )}\n </span>\n <a className={cx('SubForm-valueEdit')}>\n <Icon icon=\"pencil\" className=\"icon\" />\n </a>\n </div>\n </div>\n );\n }\n\n render() {\n const {multiple, classPrefix: ns, className, render} = this.props;\n const dialogData = this.state.dialogData;\n const dialogCtx = this.state.dialogCtx;\n\n return (\n <div className={cx(`${ns}SubFormControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n {render(`modal`, this.buildDialogSchema(), {\n show: !!dialogCtx,\n onClose: this.close,\n onConfirm: this.handleDialogConfirm,\n data: dialogData,\n formStore: undefined\n })}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-sub-form',\n sizeMutable: false,\n strictMode: false\n})\nexport class SubFormControlRenderer extends SubFormControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -35,7 +35,8 @@ var TagControl = /** @class */ (function (_super) {
|
|
35
35
|
};
|
36
36
|
TagControl.prototype.doAction = function (action, data, throwErrors) {
|
37
37
|
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
|
38
|
-
|
38
|
+
var actionType = action === null || action === void 0 ? void 0 : action.actionType;
|
39
|
+
if (!!~['clear', 'reset'].indexOf(actionType)) {
|
39
40
|
onChange(resetValue !== null && resetValue !== void 0 ? resetValue : '');
|
40
41
|
}
|
41
42
|
};
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputTag.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,qCAKmB;AACnB,qEAAkC;AAClC,kEAA+B;AAC/B,uCAAsC;AACtC,sFAAmD;AACnD,6CAAsE;AACtE,kFAA+C;AAC/C,kFAA+C;AAC/C,kFAA+C;AAC/C,oFAAiD;AAqCjD;IAAwC,2CAGvC;IAHD;QAAA,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Downshift from 'downshift';\nimport find from 'lodash/find';\nimport {findDOMNode} from 'react-dom';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, filterTree, createObject} from '../../utils/helper';\nimport Spinner from '../../components/Spinner';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport ListMenu from '../../components/ListMenu';\nimport {Action} from '../../types';\n\n/**\n * Tag 输入框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tag\n */\nexport interface TagControlSchema extends FormOptionsControl {\n type: 'input-tag';\n\n /**\n * 选项提示信息\n */\n optionsTip?: string;\n\n /**\n * 是否为下拉模式\n */\n dropdown?: boolean;\n}\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\nexport interface TagProps extends OptionsControlProps {\n placeholder?: string;\n clearable: boolean;\n resetValue?: any;\n optionsTip: string;\n dropdown?: boolean;\n}\n\nexport interface TagState {\n inputValue: string;\n isFocused?: boolean;\n isOpened?: boolean;\n}\n\nexport default class TagControl extends React.PureComponent<\n TagProps,\n TagState\n> {\n input: React.RefObject<any> = React.createRef();\n\n static defaultProps = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n multiple: true,\n placeholder: 'Tag.placeholder',\n optionsTip: 'Tag.tip'\n };\n\n state = {\n isOpened: false,\n inputValue: '',\n isFocused: false\n };\n\n componentDidUpdate(prevProps: TagProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue: ''\n });\n }\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n if (action.actionType === 'clear') {\n onChange(resetValue ?? '');\n }\n }\n\n @autobind\n async dispatchEvent(eventName: string, eventData: any = {}) {\n const {dispatchEvent, options, data} = this.props;\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n ...eventData\n })\n );\n // 返回阻塞标识\n return !!rendererEvent?.prevented;\n }\n\n @autobind\n getValue(type: 'push' | 'pop' = 'pop', option: any = {}) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const newValue = selectedOptions.concat();\n if (type === 'push') {\n newValue.push(option);\n } else {\n newValue.pop();\n }\n\n const newValueRes = joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue;\n return newValueRes;\n }\n\n async addItem(option: Option) {\n const {\n selectedOptions,\n onChange\n } = this.props;\n const newValue = selectedOptions.concat();\n\n if (find(newValue, item => item.value == option.value)) {\n return;\n }\n\n const newValueRes = this.getValue('push', option);\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n @autobind\n async handleFocus(e: any) {\n this.setState({\n isFocused: true,\n isOpened: true\n });\n\n const isPrevented = await this.dispatchEvent('focus', e);\n isPrevented || this.props.onFocus?.(e);\n }\n\n @autobind\n async handleBlur(e: any) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const value = this.state.inputValue.trim();\n\n const isPrevented = await this.dispatchEvent('blur', e);\n isPrevented || this.props.onBlur?.(e);\n this.setState(\n {\n isFocused: false,\n isOpened: false,\n inputValue: ''\n },\n value\n ? () => {\n const newValue = selectedOptions.concat();\n if (!find(newValue, item => item.value === value)) {\n const option = {\n label: value,\n value: value\n };\n newValue.push(option);\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n }\n : undefined\n );\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n @autobind\n handleInputChange(text: string) {\n this.setState({\n inputValue: text\n });\n }\n\n @autobind\n async handleChange(value: Array<Option>) {\n const {joinValues, extractValue, delimiter, valueField, onChange} =\n this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValue\n });\n isPrevented || onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item[labelField || 'label']}`;\n }\n\n @autobind\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {\n selectedOptions,\n onChange,\n delimiter\n } = this.props;\n\n const value = this.state.inputValue.trim();\n\n if (selectedOptions.length && !value && evt.key == 'Backspace') {\n const newValueRes = this.getValue('pop');\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n } else if (value && (evt.key === 'Enter' || evt.key === delimiter)) {\n evt.preventDefault();\n evt.stopPropagation();\n const newValue = selectedOptions.concat();\n\n if (!find(newValue, item => item.value == value)) {\n const newValueRes = this.getValue('push', {\n label: value,\n value: value\n });\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n handleOptionChange(option: Option) {\n if (this.state.inputValue || !option) {\n return;\n }\n this.addItem(option);\n }\n\n @autobind\n getTarget() {\n return this.input.current;\n }\n\n @autobind\n getParent() {\n return this.input.current && findDOMNode(this.input.current)!.parentElement;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload?.();\n }\n\n render() {\n const {\n className,\n classnames: cx,\n disabled,\n placeholder,\n name,\n clearable,\n selectedOptions,\n loading,\n popOverContainer,\n dropdown,\n options,\n optionsTip,\n translate: __\n } = this.props;\n\n const finnalOptions = Array.isArray(options)\n ? filterTree(\n options,\n item =>\n (Array.isArray(item.children) && !!item.children.length) ||\n (item.value !== undefined && !~selectedOptions.indexOf(item)),\n 0,\n true\n )\n : [];\n\n return (\n <Downshift\n selectedItem={selectedOptions}\n isOpen={this.state.isFocused}\n inputValue={this.state.inputValue}\n onChange={this.handleOptionChange}\n itemToString={this.renderItem}\n >\n {({isOpen, highlightedIndex, getItemProps, getInputProps}) => {\n return (\n <div className={cx(className, `TagControl`)}>\n {/* @ts-ignore 怪了为啥类型不对,后续看 */}\n <ResultBox\n {...getInputProps({\n name,\n ref: this.input,\n placeholder: __(placeholder || 'Tag.placeholder'),\n value: this.state.inputValue,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n disabled\n })}\n onChange={this.handleInputChange}\n className={cx('TagControl-input')}\n result={selectedOptions}\n onResultChange={this.handleChange}\n itemRender={this.renderItem}\n clearable={clearable}\n allowInput\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n\n {dropdown !== false ? (\n <Overlay\n container={popOverContainer || this.getParent}\n target={this.getTarget}\n placement={'auto'}\n show={isOpen && !!finnalOptions.length}\n >\n <PopOver\n overlay\n className={cx('TagControl-popover')}\n onHide={this.close}\n >\n <ListMenu\n options={finnalOptions}\n itemRender={this.renderItem}\n highlightIndex={highlightedIndex}\n getItemProps={({item, index}) => ({\n ...getItemProps({\n index,\n item,\n disabled: item.disabled\n })\n })}\n />\n </PopOver>\n </Overlay>\n ) : (\n // 保留原来的展现方式,不推荐\n <div className={cx('TagControl-sug')}>\n {optionsTip ? (\n <div className={cx('TagControl-sugTip')}>\n {__(optionsTip)}\n </div>\n ) : null}\n {options.map((item, index) => (\n <div\n className={cx('TagControl-sugItem', {\n 'is-disabled': item.disabled || disabled\n })}\n key={index}\n onClick={this.addItem.bind(this, item)}\n >\n {item.label}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }}\n </Downshift>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tag'\n})\nexport class TagControlRenderer extends TagControl {}\n"
|
11
|
+
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Downshift from 'downshift';\nimport find from 'lodash/find';\nimport {findDOMNode} from 'react-dom';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, filterTree, createObject} from '../../utils/helper';\nimport Spinner from '../../components/Spinner';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport ListMenu from '../../components/ListMenu';\nimport {Action} from '../../types';\n\n/**\n * Tag 输入框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tag\n */\nexport interface TagControlSchema extends FormOptionsControl {\n type: 'input-tag';\n\n /**\n * 选项提示信息\n */\n optionsTip?: string;\n\n /**\n * 是否为下拉模式\n */\n dropdown?: boolean;\n}\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\nexport interface TagProps extends OptionsControlProps {\n placeholder?: string;\n clearable: boolean;\n resetValue?: any;\n optionsTip: string;\n dropdown?: boolean;\n}\n\nexport interface TagState {\n inputValue: string;\n isFocused?: boolean;\n isOpened?: boolean;\n}\n\nexport default class TagControl extends React.PureComponent<\n TagProps,\n TagState\n> {\n input: React.RefObject<any> = React.createRef();\n\n static defaultProps = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n multiple: true,\n placeholder: 'Tag.placeholder',\n optionsTip: 'Tag.tip'\n };\n\n state = {\n isOpened: false,\n inputValue: '',\n isFocused: false\n };\n\n componentDidUpdate(prevProps: TagProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue: ''\n });\n }\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n onChange(resetValue ?? '');\n }\n }\n\n @autobind\n async dispatchEvent(eventName: string, eventData: any = {}) {\n const {dispatchEvent, options, data} = this.props;\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n ...eventData\n })\n );\n // 返回阻塞标识\n return !!rendererEvent?.prevented;\n }\n\n @autobind\n getValue(type: 'push' | 'pop' = 'pop', option: any = {}) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const newValue = selectedOptions.concat();\n if (type === 'push') {\n newValue.push(option);\n } else {\n newValue.pop();\n }\n\n const newValueRes = joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue;\n return newValueRes;\n }\n\n async addItem(option: Option) {\n const {\n selectedOptions,\n onChange\n } = this.props;\n const newValue = selectedOptions.concat();\n\n if (find(newValue, item => item.value == option.value)) {\n return;\n }\n\n const newValueRes = this.getValue('push', option);\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n @autobind\n async handleFocus(e: any) {\n this.setState({\n isFocused: true,\n isOpened: true\n });\n\n const isPrevented = await this.dispatchEvent('focus', e);\n isPrevented || this.props.onFocus?.(e);\n }\n\n @autobind\n async handleBlur(e: any) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const value = this.state.inputValue.trim();\n\n const isPrevented = await this.dispatchEvent('blur', e);\n isPrevented || this.props.onBlur?.(e);\n this.setState(\n {\n isFocused: false,\n isOpened: false,\n inputValue: ''\n },\n value\n ? () => {\n const newValue = selectedOptions.concat();\n if (!find(newValue, item => item.value === value)) {\n const option = {\n label: value,\n value: value\n };\n newValue.push(option);\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n }\n : undefined\n );\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n @autobind\n handleInputChange(text: string) {\n this.setState({\n inputValue: text\n });\n }\n\n @autobind\n async handleChange(value: Array<Option>) {\n const {joinValues, extractValue, delimiter, valueField, onChange} =\n this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValue\n });\n isPrevented || onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item[labelField || 'label']}`;\n }\n\n @autobind\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {\n selectedOptions,\n onChange,\n delimiter\n } = this.props;\n\n const value = this.state.inputValue.trim();\n\n if (selectedOptions.length && !value && evt.key == 'Backspace') {\n const newValueRes = this.getValue('pop');\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n } else if (value && (evt.key === 'Enter' || evt.key === delimiter)) {\n evt.preventDefault();\n evt.stopPropagation();\n const newValue = selectedOptions.concat();\n\n if (!find(newValue, item => item.value == value)) {\n const newValueRes = this.getValue('push', {\n label: value,\n value: value\n });\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n handleOptionChange(option: Option) {\n if (this.state.inputValue || !option) {\n return;\n }\n this.addItem(option);\n }\n\n @autobind\n getTarget() {\n return this.input.current;\n }\n\n @autobind\n getParent() {\n return this.input.current && findDOMNode(this.input.current)!.parentElement;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload?.();\n }\n\n render() {\n const {\n className,\n classnames: cx,\n disabled,\n placeholder,\n name,\n clearable,\n selectedOptions,\n loading,\n popOverContainer,\n dropdown,\n options,\n optionsTip,\n translate: __\n } = this.props;\n\n const finnalOptions = Array.isArray(options)\n ? filterTree(\n options,\n item =>\n (Array.isArray(item.children) && !!item.children.length) ||\n (item.value !== undefined && !~selectedOptions.indexOf(item)),\n 0,\n true\n )\n : [];\n\n return (\n <Downshift\n selectedItem={selectedOptions}\n isOpen={this.state.isFocused}\n inputValue={this.state.inputValue}\n onChange={this.handleOptionChange}\n itemToString={this.renderItem}\n >\n {({isOpen, highlightedIndex, getItemProps, getInputProps}) => {\n return (\n <div className={cx(className, `TagControl`)}>\n {/* @ts-ignore 怪了为啥类型不对,后续看 */}\n <ResultBox\n {...getInputProps({\n name,\n ref: this.input,\n placeholder: __(placeholder || 'Tag.placeholder'),\n value: this.state.inputValue,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n disabled\n })}\n onChange={this.handleInputChange}\n className={cx('TagControl-input')}\n result={selectedOptions}\n onResultChange={this.handleChange}\n itemRender={this.renderItem}\n clearable={clearable}\n allowInput\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n\n {dropdown !== false ? (\n <Overlay\n container={popOverContainer || this.getParent}\n target={this.getTarget}\n placement={'auto'}\n show={isOpen && !!finnalOptions.length}\n >\n <PopOver\n overlay\n className={cx('TagControl-popover')}\n onHide={this.close}\n >\n <ListMenu\n options={finnalOptions}\n itemRender={this.renderItem}\n highlightIndex={highlightedIndex}\n getItemProps={({item, index}) => ({\n ...getItemProps({\n index,\n item,\n disabled: item.disabled\n })\n })}\n />\n </PopOver>\n </Overlay>\n ) : (\n // 保留原来的展现方式,不推荐\n <div className={cx('TagControl-sug')}>\n {optionsTip ? (\n <div className={cx('TagControl-sugTip')}>\n {__(optionsTip)}\n </div>\n ) : null}\n {options.map((item, index) => (\n <div\n className={cx('TagControl-sugItem', {\n 'is-disabled': item.disabled || disabled\n })}\n key={index}\n onClick={this.addItem.bind(this, item)}\n >\n {item.label}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }}\n </Downshift>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tag'\n})\nexport class TagControlRenderer extends TagControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -59,7 +59,8 @@ var MatrixCheckbox = /** @class */ (function (_super) {
|
|
59
59
|
};
|
60
60
|
MatrixCheckbox.prototype.doAction = function (action, data, throwErrors) {
|
61
61
|
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
|
62
|
-
|
62
|
+
var actionType = action === null || action === void 0 ? void 0 : action.actionType;
|
63
|
+
if (!!~['clear', 'reset'].indexOf(actionType)) {
|
63
64
|
onChange(resetValue !== null && resetValue !== void 0 ? resetValue : '');
|
64
65
|
}
|
65
66
|
};
|