amis 1.9.1-beta.1 → 1.9.1-beta.3
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/RootRenderer.js +10 -2
- package/lib/RootRenderer.js.map +2 -2
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert2.d.ts +10 -10
- package/lib/components/Button.d.ts +11 -10
- package/lib/components/Button.js +2 -2
- package/lib/components/Button.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +40 -40
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/ContextMenu.d.ts +4 -0
- package/lib/components/ContextMenu.js +23 -7
- package/lib/components/ContextMenu.js.map +2 -2
- package/lib/components/DatePicker.d.ts +40 -40
- package/lib/components/DateRangePicker.d.ts +40 -40
- package/lib/components/Form.d.ts +22 -0
- package/lib/components/Form.js +44 -0
- package/lib/components/Form.js.map +13 -0
- package/lib/components/FormField.d.ts +65 -0
- package/lib/components/FormField.js +48 -0
- package/lib/components/FormField.js.map +13 -0
- package/lib/components/InputBox.d.ts +10 -10
- package/lib/components/InputBox.js +4 -3
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
- package/lib/components/InputBoxWithSuggestion.js +65 -0
- package/lib/components/InputBoxWithSuggestion.js.map +13 -0
- package/lib/components/ListGroup.d.ts +10 -10
- package/lib/components/PickerContainer.d.ts +4 -2
- package/lib/components/PickerContainer.js +28 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Radios.d.ts +10 -10
- package/lib/components/ResultBox.d.ts +40 -40
- package/lib/components/SearchBox.d.ts +40 -40
- package/lib/components/Select.d.ts +195 -202
- package/lib/components/Select.js +7 -3
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Textarea.d.ts +568 -2
- package/lib/components/Textarea.js +129 -1
- package/lib/components/Textarea.js.map +2 -2
- package/lib/components/Toast.js +11 -9
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/UserSelect.d.ts +500 -0
- package/lib/components/UserSelect.js +559 -0
- package/lib/components/UserSelect.js.map +13 -0
- package/lib/components/UserTabSelect.d.ts +320 -0
- package/lib/components/UserTabSelect.js +163 -0
- package/lib/components/UserTabSelect.js.map +13 -0
- package/lib/components/WithRemoteConfig.d.ts +7 -0
- package/lib/components/WithRemoteConfig.js +17 -11
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +26 -1
- package/lib/components/calendar/DaysView.js +48 -14
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -1
- package/lib/components/calendar/TimeView.js +8 -2
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/icons.d.ts +7 -1
- package/lib/components/icons.js +17 -1
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +3 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/json-schema/Array.d.ts +3 -0
- package/lib/components/json-schema/Array.js +125 -0
- package/lib/components/json-schema/Array.js.map +13 -0
- package/lib/components/json-schema/Item.d.ts +3 -0
- package/lib/components/json-schema/Item.js +34 -0
- package/lib/components/json-schema/Item.js.map +13 -0
- package/lib/components/json-schema/Object.d.ts +3 -0
- package/lib/components/json-schema/Object.js +178 -0
- package/lib/components/json-schema/Object.js.map +13 -0
- package/lib/components/json-schema/index.d.ts +279 -0
- package/lib/components/json-schema/index.js +16 -0
- package/lib/components/json-schema/index.js.map +13 -0
- package/lib/components/schema-editor/Array.js +2 -2
- package/lib/components/schema-editor/Array.js.map +2 -2
- package/lib/components/schema-editor/Common.d.ts +2 -0
- package/lib/components/schema-editor/Common.js +39 -3
- package/lib/components/schema-editor/Common.js.map +2 -2
- package/lib/components/schema-editor/Object.js +2 -2
- package/lib/components/schema-editor/Object.js.map +2 -2
- package/lib/components/schema-editor/index.d.ts +45 -41
- package/lib/components/schema-editor/index.js +5 -5
- package/lib/components/schema-editor/index.js.map +2 -2
- package/lib/hooks/use-validation-resolver.d.ts +1 -0
- package/lib/hooks/use-validation-resolver.js +49 -0
- package/lib/hooks/use-validation-resolver.js.map +13 -0
- package/lib/icons/department.js +17 -0
- package/lib/icons/menu.js +9 -0
- package/lib/icons/post.js +15 -0
- package/lib/icons/role.js +14 -0
- package/lib/icons/user-remove.js +12 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +11 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +12 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +14 -3
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.js +25 -11
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.js +5 -1
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Dialog.js +9 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +5 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/Form/InputDate.d.ts +2 -2
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/JSONSchema.d.ts +23 -0
- package/lib/renderers/Form/JSONSchema.js +44 -0
- package/lib/renderers/Form/JSONSchema.js.map +13 -0
- package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
- package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
- package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
- package/lib/renderers/Form/Textarea.d.ts +1 -8
- package/lib/renderers/Form/Textarea.js +11 -75
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/UserSelect.d.ts +54 -0
- package/lib/renderers/Form/UserSelect.js +197 -0
- package/lib/renderers/Form/UserSelect.js.map +13 -0
- package/lib/renderers/Form/index.d.ts +1 -1
- package/lib/renderers/Form/index.js +88 -42
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Log.d.ts +13 -1
- package/lib/renderers/Log.js +82 -16
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Page.js +5 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.js +5 -1
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Wizard.js +37 -14
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/form.js +65 -45
- package/lib/store/form.js.map +2 -2
- package/lib/themes/ang-ie11.css +561 -21
- package/lib/themes/ang.css +538 -9
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +561 -21
- package/lib/themes/antd.css +538 -9
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +561 -21
- package/lib/themes/cxd.css +538 -9
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +561 -21
- package/lib/themes/dark.css +538 -9
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +561 -21
- package/lib/themes/default.css +538 -9
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +1 -1
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/renderer-event.js.map +2 -2
- package/package.json +2 -1
- package/schema.json +539 -3
- package/scss/_properties.scss +20 -8
- package/scss/components/_input-box.scss +22 -1
- package/scss/components/_json-schema.scss +124 -0
- package/scss/components/_log.scss +37 -5
- package/scss/components/form/_date-range.scss +1 -0
- package/scss/components/form/_select.scss +9 -0
- package/scss/components/form/_user-select.scss +422 -0
- package/scss/themes/_common.scss +2 -0
- package/sdk/ang-ie11.css +651 -21
- package/sdk/ang.css +628 -9
- package/sdk/antd-ie11.css +651 -21
- package/sdk/antd.css +628 -9
- 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 +651 -21
- package/sdk/cxd.css +628 -9
- package/sdk/dark-ie11.css +651 -21
- package/sdk/dark.css +628 -9
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +11 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +651 -21
- package/sdk/sdk.css +628 -9
- package/sdk/sdk.js +1655 -1643
- 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/RootRenderer.tsx +27 -15
- package/src/Schema.ts +5 -1
- package/src/components/Button.tsx +3 -0
- package/src/components/Checkbox.tsx +2 -1
- package/src/components/ContextMenu.tsx +25 -7
- package/src/components/Form.tsx +70 -0
- package/src/components/FormField.tsx +127 -0
- package/src/components/InputBox.tsx +4 -1
- package/src/components/InputBoxWithSuggestion.tsx +113 -0
- package/src/components/PickerContainer.tsx +20 -5
- package/src/components/Select.tsx +18 -10
- package/src/components/Textarea.tsx +234 -2
- package/src/components/Toast.tsx +19 -18
- package/src/components/UserSelect.tsx +850 -0
- package/src/components/UserTabSelect.tsx +261 -0
- package/src/components/WithRemoteConfig.tsx +22 -7
- package/src/components/calendar/DaysView.tsx +53 -16
- package/src/components/calendar/TimeView.tsx +10 -5
- package/src/components/icons.tsx +17 -1
- package/src/components/index.tsx +3 -1
- package/src/components/json-schema/Array.tsx +216 -0
- package/src/components/json-schema/Item.tsx +47 -0
- package/src/components/json-schema/Object.tsx +339 -0
- package/src/components/json-schema/index.tsx +44 -0
- package/src/components/schema-editor/Array.tsx +3 -1
- package/src/components/schema-editor/Common.tsx +61 -4
- package/src/components/schema-editor/Object.tsx +3 -1
- package/src/components/schema-editor/index.tsx +12 -5
- package/src/hooks/use-validation-resolver.ts +45 -0
- package/src/icons/department.svg +17 -0
- package/src/icons/menu.svg +2 -0
- package/src/icons/post.svg +15 -0
- package/src/icons/role.svg +14 -0
- package/src/icons/user-remove.svg +12 -0
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +11 -1
- package/src/locale/en-US.ts +12 -1
- package/src/locale/zh-CN.ts +14 -3
- package/src/renderers/Action.tsx +10 -9
- package/src/renderers/CRUD.tsx +5 -1
- package/src/renderers/Dialog.tsx +9 -3
- package/src/renderers/Drawer.tsx +5 -1
- package/src/renderers/Form/InputDate.tsx +9 -4
- package/src/renderers/Form/JSONSchema.tsx +56 -0
- package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
- package/src/renderers/Form/Textarea.tsx +7 -117
- package/src/renderers/Form/UserSelect.tsx +263 -0
- package/src/renderers/Form/index.tsx +28 -18
- package/src/renderers/Log.tsx +148 -13
- package/src/renderers/Page.tsx +6 -1
- package/src/renderers/Service.tsx +5 -1
- package/src/renderers/Wizard.tsx +24 -10
- package/src/store/form.ts +24 -17
- package/src/utils/api.ts +1 -1
- package/src/utils/renderer-event.ts +0 -2
@@ -0,0 +1,197 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.UserSelectControlRenderer = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
|
+
var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
7
|
+
var Options_1 = require("./Options");
|
8
|
+
var UserSelect_1 = (0, tslib_1.__importDefault)(require("../../components/UserSelect"));
|
9
|
+
var UserTabSelect_1 = (0, tslib_1.__importDefault)(require("../../components/UserTabSelect"));
|
10
|
+
var api_1 = require("../../utils/api");
|
11
|
+
var find_1 = (0, tslib_1.__importDefault)(require("lodash/find"));
|
12
|
+
var helper_1 = require("../../utils/helper");
|
13
|
+
var types_1 = require("../../types");
|
14
|
+
var UserSelectControl = /** @class */ (function (_super) {
|
15
|
+
(0, tslib_1.__extends)(UserSelectControl, _super);
|
16
|
+
function UserSelectControl(props) {
|
17
|
+
return _super.call(this, props) || this;
|
18
|
+
}
|
19
|
+
UserSelectControl.prototype.componentWillUnmount = function () {
|
20
|
+
this.unHook && this.unHook();
|
21
|
+
};
|
22
|
+
UserSelectControl.prototype.onSearch = function (input, cancelExecutor, param) {
|
23
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
24
|
+
var _a, searchApi, setLoading, env, searchTerm, searchObj, ctx, ret, options;
|
25
|
+
var _b;
|
26
|
+
return (0, tslib_1.__generator)(this, function (_c) {
|
27
|
+
switch (_c.label) {
|
28
|
+
case 0:
|
29
|
+
_a = this.props, searchApi = _a.searchApi, setLoading = _a.setLoading, env = _a.env;
|
30
|
+
searchApi = (param === null || param === void 0 ? void 0 : param.searchApi) || searchApi;
|
31
|
+
searchTerm = (param === null || param === void 0 ? void 0 : param.searchTerm) || this.props.searchTerm || 'term';
|
32
|
+
searchObj = (param === null || param === void 0 ? void 0 : param.searchParam) || this.props.searchParam || {};
|
33
|
+
ctx = (0, tslib_1.__assign)((_b = {}, _b[searchTerm] = input, _b), searchObj);
|
34
|
+
if (!(0, api_1.isEffectiveApi)(searchApi, ctx)) {
|
35
|
+
return [2 /*return*/, Promise.resolve([])];
|
36
|
+
}
|
37
|
+
setLoading(true);
|
38
|
+
_c.label = 1;
|
39
|
+
case 1:
|
40
|
+
_c.trys.push([1, , 3, 4]);
|
41
|
+
return [4 /*yield*/, env.fetcher(searchApi, ctx, {
|
42
|
+
cancelExecutor: cancelExecutor,
|
43
|
+
autoAppend: true
|
44
|
+
})];
|
45
|
+
case 2:
|
46
|
+
ret = _c.sent();
|
47
|
+
options = (ret.data && ret.data.options) || ret.data || [];
|
48
|
+
return [2 /*return*/, options];
|
49
|
+
case 3:
|
50
|
+
setLoading(false);
|
51
|
+
return [7 /*endfinally*/];
|
52
|
+
case 4: return [2 /*return*/];
|
53
|
+
}
|
54
|
+
});
|
55
|
+
});
|
56
|
+
};
|
57
|
+
UserSelectControl.prototype.deferLoad = function (data, isRef, param) {
|
58
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
59
|
+
var _a, env, deferApi, setLoading, formInited, addHook, ctx, ret, options;
|
60
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
61
|
+
switch (_b.label) {
|
62
|
+
case 0:
|
63
|
+
_a = this.props, env = _a.env, deferApi = _a.deferApi, setLoading = _a.setLoading, formInited = _a.formInited, addHook = _a.addHook;
|
64
|
+
deferApi = (param === null || param === void 0 ? void 0 : param.deferApi) || deferApi;
|
65
|
+
if (!env || !env.fetcher) {
|
66
|
+
throw new Error('fetcher is required');
|
67
|
+
}
|
68
|
+
ctx = (0, helper_1.createObject)(data, {});
|
69
|
+
if (!(0, api_1.isEffectiveApi)(deferApi, ctx)) {
|
70
|
+
return [2 /*return*/, Promise.resolve([])];
|
71
|
+
}
|
72
|
+
_b.label = 1;
|
73
|
+
case 1:
|
74
|
+
_b.trys.push([1, , 3, 4]);
|
75
|
+
return [4 /*yield*/, env.fetcher(deferApi, ctx)];
|
76
|
+
case 2:
|
77
|
+
ret = _b.sent();
|
78
|
+
options = (ret.data && ret.data.options) || ret.data || [];
|
79
|
+
if (isRef) {
|
80
|
+
options.forEach(function (option) {
|
81
|
+
option.isRef = true;
|
82
|
+
});
|
83
|
+
}
|
84
|
+
return [2 /*return*/, options];
|
85
|
+
case 3:
|
86
|
+
setLoading(false);
|
87
|
+
return [7 /*endfinally*/];
|
88
|
+
case 4: return [2 /*return*/];
|
89
|
+
}
|
90
|
+
});
|
91
|
+
});
|
92
|
+
};
|
93
|
+
UserSelectControl.prototype.changeValue = function (value) {
|
94
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
95
|
+
var _a, joinValues, extractValue, delimiter, multiple, valueField, onChange, options, setOptions, data, dispatchEvent, newValue, additonalOptions, rendererEvent;
|
96
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
97
|
+
switch (_b.label) {
|
98
|
+
case 0:
|
99
|
+
_a = this.props, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, multiple = _a.multiple, valueField = _a.valueField, onChange = _a.onChange, options = _a.options, setOptions = _a.setOptions, data = _a.data, dispatchEvent = _a.dispatchEvent;
|
100
|
+
newValue = value;
|
101
|
+
additonalOptions = [];
|
102
|
+
(Array.isArray(value) ? value : value ? [value] : []).forEach(function (option) {
|
103
|
+
var resolved = (0, find_1.default)(options, function (item) {
|
104
|
+
return item[valueField || 'value'] == option[valueField || 'value'];
|
105
|
+
});
|
106
|
+
resolved || additonalOptions.push(option);
|
107
|
+
});
|
108
|
+
if (joinValues) {
|
109
|
+
if (multiple) {
|
110
|
+
newValue = Array.isArray(value)
|
111
|
+
? value
|
112
|
+
.map(function (item) { return item[valueField || 'value']; })
|
113
|
+
.join(delimiter)
|
114
|
+
: value
|
115
|
+
? value[valueField || 'value']
|
116
|
+
: '';
|
117
|
+
}
|
118
|
+
else {
|
119
|
+
newValue = newValue ? newValue[valueField || 'value'] : '';
|
120
|
+
}
|
121
|
+
}
|
122
|
+
else if (extractValue) {
|
123
|
+
if (multiple) {
|
124
|
+
newValue = Array.isArray(value)
|
125
|
+
? value.map(function (item) { return item[valueField || 'value']; })
|
126
|
+
: value
|
127
|
+
? [value[valueField || 'value']]
|
128
|
+
: [];
|
129
|
+
}
|
130
|
+
else {
|
131
|
+
newValue = newValue ? newValue[valueField || 'value'] : '';
|
132
|
+
}
|
133
|
+
}
|
134
|
+
return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, {
|
135
|
+
value: newValue,
|
136
|
+
options: options
|
137
|
+
}))];
|
138
|
+
case 1:
|
139
|
+
rendererEvent = _b.sent();
|
140
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
141
|
+
return [2 /*return*/];
|
142
|
+
}
|
143
|
+
onChange(newValue);
|
144
|
+
return [2 /*return*/];
|
145
|
+
}
|
146
|
+
});
|
147
|
+
});
|
148
|
+
};
|
149
|
+
UserSelectControl.prototype.render = function () {
|
150
|
+
var _this = this;
|
151
|
+
var _a = this.props, showNav = _a.showNav, navTitle = _a.navTitle, searchable = _a.searchable, options = _a.options, className = _a.className, selectedOptions = _a.selectedOptions, tabOptions = _a.tabOptions, multi = _a.multi, multiple = _a.multiple, isDep = _a.isDep, isRef = _a.isRef, placeholder = _a.placeholder, searchPlaceholder = _a.searchPlaceholder, tabMode = _a.tabMode, data = _a.data;
|
152
|
+
tabOptions === null || tabOptions === void 0 ? void 0 : tabOptions.forEach(function (item) {
|
153
|
+
item.deferLoad = _this.deferLoad;
|
154
|
+
item.onChange = _this.changeValue;
|
155
|
+
item.onSearch = _this.onSearch;
|
156
|
+
});
|
157
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)("UserSelectControl", className) }, tabMode ? (react_1.default.createElement(UserTabSelect_1.default, { selection: selectedOptions, tabOptions: tabOptions, multiple: multiple, onChange: this.changeValue, onSearch: this.onSearch, deferLoad: this.deferLoad, data: data })) : (react_1.default.createElement(UserSelect_1.default, { showNav: showNav, navTitle: navTitle, selection: selectedOptions, options: options, multi: multi, multiple: multiple, searchable: searchable, placeholder: placeholder, searchPlaceholder: searchPlaceholder, deferLoad: this.deferLoad, onChange: this.changeValue, onSearch: this.onSearch, isDep: isDep, isRef: isRef }))));
|
158
|
+
};
|
159
|
+
var _a, _b, _c, _d, _e, _f;
|
160
|
+
UserSelectControl.defaultProps = {
|
161
|
+
showNav: true
|
162
|
+
};
|
163
|
+
(0, tslib_1.__decorate)([
|
164
|
+
helper_1.autobind,
|
165
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
166
|
+
(0, tslib_1.__metadata)("design:paramtypes", [String, typeof (_a = typeof Function !== "undefined" && Function) === "function" ? _a : Object, typeof (_b = typeof types_1.PlainObject !== "undefined" && types_1.PlainObject) === "function" ? _b : Object]),
|
167
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
168
|
+
], UserSelectControl.prototype, "onSearch", null);
|
169
|
+
(0, tslib_1.__decorate)([
|
170
|
+
helper_1.autobind,
|
171
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
172
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof Object !== "undefined" && Object) === "function" ? _c : Object, Boolean, typeof (_d = typeof types_1.PlainObject !== "undefined" && types_1.PlainObject) === "function" ? _d : Object]),
|
173
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
174
|
+
], UserSelectControl.prototype, "deferLoad", null);
|
175
|
+
(0, tslib_1.__decorate)([
|
176
|
+
helper_1.autobind,
|
177
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
178
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
179
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
180
|
+
], UserSelectControl.prototype, "changeValue", null);
|
181
|
+
return UserSelectControl;
|
182
|
+
}(react_1.default.Component));
|
183
|
+
exports.default = UserSelectControl;
|
184
|
+
var UserSelectControlRenderer = /** @class */ (function (_super) {
|
185
|
+
(0, tslib_1.__extends)(UserSelectControlRenderer, _super);
|
186
|
+
function UserSelectControlRenderer() {
|
187
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
188
|
+
}
|
189
|
+
UserSelectControlRenderer = (0, tslib_1.__decorate)([
|
190
|
+
(0, Options_1.OptionsControl)({
|
191
|
+
type: 'users-select'
|
192
|
+
})
|
193
|
+
], UserSelectControlRenderer);
|
194
|
+
return UserSelectControlRenderer;
|
195
|
+
}(UserSelectControl));
|
196
|
+
exports.UserSelectControlRenderer = UserSelectControlRenderer;
|
197
|
+
//# sourceMappingURL=./renderers/Form/UserSelect.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "UserSelect.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/renderers/Form/UserSelect.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport UserSelect from '../../components/UserSelect';\nimport UserTabSelect from '../../components/UserTabSelect';\nimport {isEffectiveApi} from '../../utils/api';\nimport find from 'lodash/find';\nimport {createObject, autobind} from '../../utils/helper';\nimport {PlainObject} from '../../types';\n\n/**\n * UserSelect 移动端人员选择。\n */\nexport interface UserSelectControlSchema extends FormOptionsControl {\n type: 'users-select';\n}\n\nexport interface UserSelectProps extends OptionsControlProps {\n /**\n * 部门可选\n */\n isDep?: boolean;\n /**\n * 人员可选\n */\n isRef?: boolean;\n /**\n *\n */\n showNav?: boolean;\n /**\n * 导航头标题\n */\n navTitle?: string;\n /**\n * 选项卡模式\n */\n tabMode?: boolean;\n tabOptions?: Array<any>;\n /**\n * 搜索字段\n */\n searchTerm?: string;\n /**\n * 搜索携带的额外参数\n */\n searchParam?: PlainObject;\n}\n\nexport default class UserSelectControl extends React.Component<\n UserSelectProps,\n any\n> {\n static defaultProps: Partial<UserSelectProps> = {\n showNav: true\n };\n input?: HTMLInputElement;\n unHook: Function;\n lazyloadRemote: Function;\n\n constructor(props: UserSelectProps) {\n super(props);\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n @autobind\n async onSearch(input: string, cancelExecutor: Function, param?: PlainObject) {\n let {searchApi, setLoading, env} = this.props;\n searchApi = param?.searchApi || searchApi;\n let searchTerm = param?.searchTerm || this.props.searchTerm || 'term';\n let searchObj = param?.searchParam || this.props.searchParam || {};\n\n const ctx = {\n [searchTerm]: input,\n ...searchObj\n };\n\n if (!isEffectiveApi(searchApi, ctx)) {\n return Promise.resolve([]);\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(searchApi, ctx, {\n cancelExecutor,\n autoAppend: true\n });\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n\n return options;\n } finally {\n setLoading(false);\n }\n }\n\n @autobind\n async deferLoad(data?: Object, isRef?: boolean, param?: PlainObject) {\n let {env, deferApi, setLoading, formInited, addHook} = this.props;\n\n deferApi = param?.deferApi || deferApi;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n const ctx = createObject(data, {});\n\n if (!isEffectiveApi(deferApi, ctx)) {\n return Promise.resolve([]);\n }\n\n try {\n const ret = await env.fetcher(deferApi, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n\n if (isRef) {\n options.forEach((option: Option) => {\n option.isRef = true;\n });\n }\n return options;\n } finally {\n setLoading(false);\n }\n }\n\n @autobind\n async changeValue(value: Option | Array<Option> | string | void) {\n const {\n joinValues,\n extractValue,\n delimiter,\n multiple,\n valueField,\n onChange,\n options,\n setOptions,\n data,\n dispatchEvent\n } = this.props;\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: newValue,\n options\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange(newValue);\n }\n\n render() {\n let {\n showNav,\n navTitle,\n searchable,\n options,\n className,\n selectedOptions,\n tabOptions,\n multi,\n multiple,\n isDep,\n isRef,\n placeholder,\n searchPlaceholder,\n tabMode,\n data\n } = this.props;\n tabOptions?.forEach((item: any) => {\n item.deferLoad = this.deferLoad;\n item.onChange = this.changeValue;\n item.onSearch = this.onSearch;\n });\n\n return (\n <div className={cx(`UserSelectControl`, className)}>\n {tabMode ? (\n <UserTabSelect\n selection={selectedOptions}\n tabOptions={tabOptions}\n multiple={multiple}\n onChange={this.changeValue}\n onSearch={this.onSearch}\n deferLoad={this.deferLoad}\n data={data}\n />\n ) : (\n <UserSelect\n showNav={showNav}\n navTitle={navTitle}\n selection={selectedOptions}\n options={options}\n multi={multi}\n multiple={multiple}\n searchable={searchable}\n placeholder={placeholder}\n searchPlaceholder={searchPlaceholder}\n deferLoad={this.deferLoad}\n onChange={this.changeValue}\n onSearch={this.onSearch}\n isDep={isDep}\n isRef={isRef}\n />\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'users-select'\n})\nexport class UserSelectControlRenderer extends UserSelectControl {}\n"
|
12
|
+
]
|
13
|
+
}
|
@@ -302,7 +302,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
302
302
|
removeHook(fn: () => any, type?: string): void;
|
303
303
|
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
|
304
304
|
formItemDispatchEvent(dispatchEvent: any): (type: string, data: any) => void;
|
305
|
-
emitChange(submit: boolean): void
|
305
|
+
emitChange(submit: boolean): Promise<void>;
|
306
306
|
handleBulkChange(values: Object, submit: boolean): void;
|
307
307
|
handleFormSubmit(e: React.UIEvent<any>): any;
|
308
308
|
handleAction(e: React.UIEvent<any> | void, action: Action, data: object, throwErrors?: boolean, delegate?: IScopedContext): any;
|
@@ -208,7 +208,9 @@ var Form = /** @class */ (function (_super) {
|
|
208
208
|
store.getLocalPersistData();
|
209
209
|
data = (0, helper_1.cloneObject)(store.data);
|
210
210
|
}
|
211
|
-
|
211
|
+
return [4 /*yield*/, dispatchEvent('inited', (0, helper_1.createObject)(this.props.data, data))];
|
212
|
+
case 2:
|
213
|
+
dispatcher = _b.sent();
|
212
214
|
if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
|
213
215
|
onInit && onInit(data, this.props);
|
214
216
|
}
|
@@ -284,7 +286,7 @@ var Form = /** @class */ (function (_super) {
|
|
284
286
|
dispatchEvent('validateSucc', data);
|
285
287
|
}
|
286
288
|
else {
|
287
|
-
dispatchEvent('
|
289
|
+
dispatchEvent('validateError', data);
|
288
290
|
}
|
289
291
|
return result;
|
290
292
|
});
|
@@ -306,9 +308,7 @@ var Form = /** @class */ (function (_super) {
|
|
306
308
|
Form.prototype.submit = function (fn) {
|
307
309
|
var _a = this.props, store = _a.store, messages = _a.messages, __ = _a.translate, dispatchEvent = _a.dispatchEvent, data = _a.data;
|
308
310
|
this.flush();
|
309
|
-
var validateErrCb = function () {
|
310
|
-
dispatchEvent('validateFail', data);
|
311
|
-
};
|
311
|
+
var validateErrCb = function () { return dispatchEvent('validateError', data); };
|
312
312
|
return store.submit(fn, this.hooks['validate'] || [], __(messages && messages.validateFailed), validateErrCb);
|
313
313
|
};
|
314
314
|
// 如果开启了 lazyChange,需要一个 flush 方法把队列中值应用上。
|
@@ -366,20 +366,31 @@ var Form = /** @class */ (function (_super) {
|
|
366
366
|
};
|
367
367
|
};
|
368
368
|
Form.prototype.emitChange = function (submit) {
|
369
|
-
|
370
|
-
|
371
|
-
return
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
369
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
370
|
+
var _a, onChange, store, submitOnChange, dispatchEvent, data, dispatcher;
|
371
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
372
|
+
switch (_b.label) {
|
373
|
+
case 0:
|
374
|
+
_a = this.props, onChange = _a.onChange, store = _a.store, submitOnChange = _a.submitOnChange, dispatchEvent = _a.dispatchEvent, data = _a.data;
|
375
|
+
if (!(0, mobx_state_tree_1.isAlive)(store)) {
|
376
|
+
return [2 /*return*/];
|
377
|
+
}
|
378
|
+
return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, store.data))];
|
379
|
+
case 1:
|
380
|
+
dispatcher = _b.sent();
|
381
|
+
if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
|
382
|
+
onChange &&
|
383
|
+
onChange(store.data, (0, helper_1.difference)(store.data, store.pristine), this.props);
|
384
|
+
}
|
385
|
+
store.clearRestError();
|
386
|
+
(submit || (submitOnChange && store.inited)) &&
|
387
|
+
this.handleAction(undefined, {
|
388
|
+
type: 'submit'
|
389
|
+
}, store.data);
|
390
|
+
return [2 /*return*/];
|
391
|
+
}
|
392
|
+
});
|
393
|
+
});
|
383
394
|
};
|
384
395
|
Form.prototype.handleBulkChange = function (values, submit) {
|
385
396
|
var _a = this.props, onChange = _a.onChange, store = _a.store, formLazyChange = _a.formLazyChange;
|
@@ -420,16 +431,27 @@ var Form = /** @class */ (function (_super) {
|
|
420
431
|
data = store.data;
|
421
432
|
}
|
422
433
|
if (Array.isArray(action.required) && action.required.length) {
|
423
|
-
return store.validateFields(action.required).then(function (result) {
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
434
|
+
return store.validateFields(action.required).then(function (result) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
435
|
+
var dispatcher;
|
436
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
437
|
+
switch (_a.label) {
|
438
|
+
case 0:
|
439
|
+
if (!!result) return [3 /*break*/, 2];
|
440
|
+
return [4 /*yield*/, dispatchEvent('validateError', this.props.data)];
|
441
|
+
case 1:
|
442
|
+
dispatcher = _a.sent();
|
443
|
+
if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
|
444
|
+
env.notify('error', __('Form.validateFailed'));
|
445
|
+
}
|
446
|
+
return [3 /*break*/, 3];
|
447
|
+
case 2:
|
448
|
+
dispatchEvent('validateSucc', this.props.data);
|
449
|
+
this.handleAction(e, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, action), { required: undefined }), data, throwErrors, delegate);
|
450
|
+
_a.label = 3;
|
451
|
+
case 3: return [2 /*return*/];
|
452
|
+
}
|
453
|
+
});
|
454
|
+
}); });
|
433
455
|
}
|
434
456
|
if (action.type === 'submit' ||
|
435
457
|
action.actionType === 'submit' ||
|
@@ -473,18 +495,42 @@ var Form = /** @class */ (function (_super) {
|
|
473
495
|
.saveRemote(action.api || api, values, {
|
474
496
|
successMessage: saveSuccess,
|
475
497
|
errorMessage: saveFailed,
|
476
|
-
onSuccess: function (result) {
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
498
|
+
onSuccess: function (result) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
499
|
+
var dispatcher, cbResult;
|
500
|
+
var _this = this;
|
501
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
502
|
+
switch (_a.label) {
|
503
|
+
case 0: return [4 /*yield*/, dispatchEvent('submitSucc', (0, helper_1.createObject)(this.props.data, { result: result }))];
|
504
|
+
case 1:
|
505
|
+
dispatcher = _a.sent();
|
506
|
+
if (!(0, api_1.isEffectiveApi)(finnalAsyncApi_1, store.data) ||
|
507
|
+
store.data[finishedField || 'finished']) {
|
508
|
+
return [2 /*return*/, {
|
509
|
+
cbResult: null,
|
510
|
+
dispatcher: dispatcher
|
511
|
+
}];
|
512
|
+
}
|
513
|
+
cbResult = (0, helper_1.until)(function () { return store.checkRemote(finnalAsyncApi_1, store.data); }, function (ret) { return ret && ret[finishedField || 'finished']; }, function (cancel) { return (_this.asyncCancel = cancel); }, checkInterval);
|
514
|
+
return [2 /*return*/, {
|
515
|
+
cbResult: cbResult,
|
516
|
+
dispatcher: dispatcher
|
517
|
+
}];
|
518
|
+
}
|
519
|
+
});
|
520
|
+
}); },
|
521
|
+
onFailed: function (result) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
522
|
+
var dispatcher;
|
523
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
524
|
+
switch (_a.label) {
|
525
|
+
case 0: return [4 /*yield*/, dispatchEvent('submitFail', (0, helper_1.createObject)(this.props.data, { error: result }))];
|
526
|
+
case 1:
|
527
|
+
dispatcher = _a.sent();
|
528
|
+
return [2 /*return*/, {
|
529
|
+
dispatcher: dispatcher
|
530
|
+
}];
|
531
|
+
}
|
532
|
+
});
|
533
|
+
}); }
|
488
534
|
})
|
489
535
|
.then(function (response) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
490
536
|
var feedback, confirmed;
|
@@ -607,7 +653,7 @@ var Form = /** @class */ (function (_super) {
|
|
607
653
|
}); })
|
608
654
|
.catch(function (e) {
|
609
655
|
onFailed && onFailed(e, store.errors);
|
610
|
-
if (throwErrors) {
|
656
|
+
if (throwErrors || action.countDown) {
|
611
657
|
throw e;
|
612
658
|
}
|
613
659
|
});
|