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.
Files changed (248) hide show
  1. package/lib/RootRenderer.js +10 -2
  2. package/lib/RootRenderer.js.map +2 -2
  3. package/lib/Schema.d.ts +3 -2
  4. package/lib/Schema.js.map +1 -1
  5. package/lib/components/Alert2.d.ts +10 -10
  6. package/lib/components/Button.d.ts +11 -10
  7. package/lib/components/Button.js +2 -2
  8. package/lib/components/Button.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +40 -40
  10. package/lib/components/Checkbox.js +1 -1
  11. package/lib/components/Checkbox.js.map +2 -2
  12. package/lib/components/ContextMenu.d.ts +4 -0
  13. package/lib/components/ContextMenu.js +23 -7
  14. package/lib/components/ContextMenu.js.map +2 -2
  15. package/lib/components/DatePicker.d.ts +40 -40
  16. package/lib/components/DateRangePicker.d.ts +40 -40
  17. package/lib/components/Form.d.ts +22 -0
  18. package/lib/components/Form.js +44 -0
  19. package/lib/components/Form.js.map +13 -0
  20. package/lib/components/FormField.d.ts +65 -0
  21. package/lib/components/FormField.js +48 -0
  22. package/lib/components/FormField.js.map +13 -0
  23. package/lib/components/InputBox.d.ts +10 -10
  24. package/lib/components/InputBox.js +4 -3
  25. package/lib/components/InputBox.js.map +2 -2
  26. package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
  27. package/lib/components/InputBoxWithSuggestion.js +65 -0
  28. package/lib/components/InputBoxWithSuggestion.js.map +13 -0
  29. package/lib/components/ListGroup.d.ts +10 -10
  30. package/lib/components/PickerContainer.d.ts +4 -2
  31. package/lib/components/PickerContainer.js +28 -5
  32. package/lib/components/PickerContainer.js.map +2 -2
  33. package/lib/components/Radios.d.ts +10 -10
  34. package/lib/components/ResultBox.d.ts +40 -40
  35. package/lib/components/SearchBox.d.ts +40 -40
  36. package/lib/components/Select.d.ts +195 -202
  37. package/lib/components/Select.js +7 -3
  38. package/lib/components/Select.js.map +2 -2
  39. package/lib/components/Textarea.d.ts +568 -2
  40. package/lib/components/Textarea.js +129 -1
  41. package/lib/components/Textarea.js.map +2 -2
  42. package/lib/components/Toast.js +11 -9
  43. package/lib/components/Toast.js.map +2 -2
  44. package/lib/components/UserSelect.d.ts +500 -0
  45. package/lib/components/UserSelect.js +559 -0
  46. package/lib/components/UserSelect.js.map +13 -0
  47. package/lib/components/UserTabSelect.d.ts +320 -0
  48. package/lib/components/UserTabSelect.js +163 -0
  49. package/lib/components/UserTabSelect.js.map +13 -0
  50. package/lib/components/WithRemoteConfig.d.ts +7 -0
  51. package/lib/components/WithRemoteConfig.js +17 -11
  52. package/lib/components/WithRemoteConfig.js.map +2 -2
  53. package/lib/components/calendar/DaysView.d.ts +26 -1
  54. package/lib/components/calendar/DaysView.js +48 -14
  55. package/lib/components/calendar/DaysView.js.map +2 -2
  56. package/lib/components/calendar/TimeView.d.ts +1 -1
  57. package/lib/components/calendar/TimeView.js +8 -2
  58. package/lib/components/calendar/TimeView.js.map +2 -2
  59. package/lib/components/icons.d.ts +7 -1
  60. package/lib/components/icons.js +17 -1
  61. package/lib/components/icons.js.map +2 -2
  62. package/lib/components/index.d.ts +2 -1
  63. package/lib/components/index.js +3 -1
  64. package/lib/components/index.js.map +2 -2
  65. package/lib/components/json-schema/Array.d.ts +3 -0
  66. package/lib/components/json-schema/Array.js +125 -0
  67. package/lib/components/json-schema/Array.js.map +13 -0
  68. package/lib/components/json-schema/Item.d.ts +3 -0
  69. package/lib/components/json-schema/Item.js +34 -0
  70. package/lib/components/json-schema/Item.js.map +13 -0
  71. package/lib/components/json-schema/Object.d.ts +3 -0
  72. package/lib/components/json-schema/Object.js +178 -0
  73. package/lib/components/json-schema/Object.js.map +13 -0
  74. package/lib/components/json-schema/index.d.ts +279 -0
  75. package/lib/components/json-schema/index.js +16 -0
  76. package/lib/components/json-schema/index.js.map +13 -0
  77. package/lib/components/schema-editor/Array.js +2 -2
  78. package/lib/components/schema-editor/Array.js.map +2 -2
  79. package/lib/components/schema-editor/Common.d.ts +2 -0
  80. package/lib/components/schema-editor/Common.js +39 -3
  81. package/lib/components/schema-editor/Common.js.map +2 -2
  82. package/lib/components/schema-editor/Object.js +2 -2
  83. package/lib/components/schema-editor/Object.js.map +2 -2
  84. package/lib/components/schema-editor/index.d.ts +45 -41
  85. package/lib/components/schema-editor/index.js +5 -5
  86. package/lib/components/schema-editor/index.js.map +2 -2
  87. package/lib/hooks/use-validation-resolver.d.ts +1 -0
  88. package/lib/hooks/use-validation-resolver.js +49 -0
  89. package/lib/hooks/use-validation-resolver.js.map +13 -0
  90. package/lib/icons/department.js +17 -0
  91. package/lib/icons/menu.js +9 -0
  92. package/lib/icons/post.js +15 -0
  93. package/lib/icons/role.js +14 -0
  94. package/lib/icons/user-remove.js +12 -0
  95. package/lib/index.d.ts +2 -0
  96. package/lib/index.js +3 -1
  97. package/lib/index.js.map +2 -2
  98. package/lib/locale/de-DE.js +11 -1
  99. package/lib/locale/de-DE.js.map +2 -2
  100. package/lib/locale/en-US.js +12 -1
  101. package/lib/locale/en-US.js.map +2 -2
  102. package/lib/locale/zh-CN.js +14 -3
  103. package/lib/locale/zh-CN.js.map +2 -2
  104. package/lib/renderers/Action.js +25 -11
  105. package/lib/renderers/Action.js.map +2 -2
  106. package/lib/renderers/CRUD.js +5 -1
  107. package/lib/renderers/CRUD.js.map +2 -2
  108. package/lib/renderers/Dialog.js +9 -3
  109. package/lib/renderers/Dialog.js.map +2 -2
  110. package/lib/renderers/Drawer.js +5 -1
  111. package/lib/renderers/Drawer.js.map +2 -2
  112. package/lib/renderers/Form/InputDate.d.ts +2 -2
  113. package/lib/renderers/Form/InputDate.js.map +2 -2
  114. package/lib/renderers/Form/JSONSchema.d.ts +23 -0
  115. package/lib/renderers/Form/JSONSchema.js +44 -0
  116. package/lib/renderers/Form/JSONSchema.js.map +13 -0
  117. package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
  118. package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
  119. package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
  120. package/lib/renderers/Form/Textarea.d.ts +1 -8
  121. package/lib/renderers/Form/Textarea.js +11 -75
  122. package/lib/renderers/Form/Textarea.js.map +2 -2
  123. package/lib/renderers/Form/UserSelect.d.ts +54 -0
  124. package/lib/renderers/Form/UserSelect.js +197 -0
  125. package/lib/renderers/Form/UserSelect.js.map +13 -0
  126. package/lib/renderers/Form/index.d.ts +1 -1
  127. package/lib/renderers/Form/index.js +88 -42
  128. package/lib/renderers/Form/index.js.map +2 -2
  129. package/lib/renderers/Log.d.ts +13 -1
  130. package/lib/renderers/Log.js +82 -16
  131. package/lib/renderers/Log.js.map +2 -2
  132. package/lib/renderers/Page.js +5 -1
  133. package/lib/renderers/Page.js.map +2 -2
  134. package/lib/renderers/Service.js +5 -1
  135. package/lib/renderers/Service.js.map +2 -2
  136. package/lib/renderers/Wizard.js +37 -14
  137. package/lib/renderers/Wizard.js.map +2 -2
  138. package/lib/store/form.js +65 -45
  139. package/lib/store/form.js.map +2 -2
  140. package/lib/themes/ang-ie11.css +561 -21
  141. package/lib/themes/ang.css +538 -9
  142. package/lib/themes/ang.css.map +1 -1
  143. package/lib/themes/antd-ie11.css +561 -21
  144. package/lib/themes/antd.css +538 -9
  145. package/lib/themes/antd.css.map +1 -1
  146. package/lib/themes/cxd-ie11.css +561 -21
  147. package/lib/themes/cxd.css +538 -9
  148. package/lib/themes/cxd.css.map +1 -1
  149. package/lib/themes/dark-ie11.css +561 -21
  150. package/lib/themes/dark.css +538 -9
  151. package/lib/themes/dark.css.map +1 -1
  152. package/lib/themes/default-ie11.css +561 -21
  153. package/lib/themes/default.css +538 -9
  154. package/lib/themes/default.css.map +1 -1
  155. package/lib/utils/api.js +1 -1
  156. package/lib/utils/api.js.map +2 -2
  157. package/lib/utils/renderer-event.js.map +2 -2
  158. package/package.json +2 -1
  159. package/schema.json +539 -3
  160. package/scss/_properties.scss +20 -8
  161. package/scss/components/_input-box.scss +22 -1
  162. package/scss/components/_json-schema.scss +124 -0
  163. package/scss/components/_log.scss +37 -5
  164. package/scss/components/form/_date-range.scss +1 -0
  165. package/scss/components/form/_select.scss +9 -0
  166. package/scss/components/form/_user-select.scss +422 -0
  167. package/scss/themes/_common.scss +2 -0
  168. package/sdk/ang-ie11.css +651 -21
  169. package/sdk/ang.css +628 -9
  170. package/sdk/antd-ie11.css +651 -21
  171. package/sdk/antd.css +628 -9
  172. package/sdk/barcode.js +51 -51
  173. package/sdk/charts.js +14 -14
  174. package/sdk/codemirror.js +7 -7
  175. package/sdk/color-picker.js +65 -65
  176. package/sdk/cropperjs.js +2 -2
  177. package/sdk/cxd-ie11.css +651 -21
  178. package/sdk/cxd.css +628 -9
  179. package/sdk/dark-ie11.css +651 -21
  180. package/sdk/dark.css +628 -9
  181. package/sdk/exceljs.js +1 -1
  182. package/sdk/locale/de-DE.js +11 -1
  183. package/sdk/markdown.js +69 -69
  184. package/sdk/papaparse.js +1 -1
  185. package/sdk/renderers/Form/CityDB.js +1 -1
  186. package/sdk/rest.js +16 -16
  187. package/sdk/rich-text.js +62 -62
  188. package/sdk/sdk-ie11.css +651 -21
  189. package/sdk/sdk.css +628 -9
  190. package/sdk/sdk.js +1655 -1643
  191. package/sdk/thirds/hls.js/hls.js +1 -1
  192. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  193. package/sdk/tinymce.js +57 -57
  194. package/src/RootRenderer.tsx +27 -15
  195. package/src/Schema.ts +5 -1
  196. package/src/components/Button.tsx +3 -0
  197. package/src/components/Checkbox.tsx +2 -1
  198. package/src/components/ContextMenu.tsx +25 -7
  199. package/src/components/Form.tsx +70 -0
  200. package/src/components/FormField.tsx +127 -0
  201. package/src/components/InputBox.tsx +4 -1
  202. package/src/components/InputBoxWithSuggestion.tsx +113 -0
  203. package/src/components/PickerContainer.tsx +20 -5
  204. package/src/components/Select.tsx +18 -10
  205. package/src/components/Textarea.tsx +234 -2
  206. package/src/components/Toast.tsx +19 -18
  207. package/src/components/UserSelect.tsx +850 -0
  208. package/src/components/UserTabSelect.tsx +261 -0
  209. package/src/components/WithRemoteConfig.tsx +22 -7
  210. package/src/components/calendar/DaysView.tsx +53 -16
  211. package/src/components/calendar/TimeView.tsx +10 -5
  212. package/src/components/icons.tsx +17 -1
  213. package/src/components/index.tsx +3 -1
  214. package/src/components/json-schema/Array.tsx +216 -0
  215. package/src/components/json-schema/Item.tsx +47 -0
  216. package/src/components/json-schema/Object.tsx +339 -0
  217. package/src/components/json-schema/index.tsx +44 -0
  218. package/src/components/schema-editor/Array.tsx +3 -1
  219. package/src/components/schema-editor/Common.tsx +61 -4
  220. package/src/components/schema-editor/Object.tsx +3 -1
  221. package/src/components/schema-editor/index.tsx +12 -5
  222. package/src/hooks/use-validation-resolver.ts +45 -0
  223. package/src/icons/department.svg +17 -0
  224. package/src/icons/menu.svg +2 -0
  225. package/src/icons/post.svg +15 -0
  226. package/src/icons/role.svg +14 -0
  227. package/src/icons/user-remove.svg +12 -0
  228. package/src/index.tsx +2 -0
  229. package/src/locale/de-DE.ts +11 -1
  230. package/src/locale/en-US.ts +12 -1
  231. package/src/locale/zh-CN.ts +14 -3
  232. package/src/renderers/Action.tsx +10 -9
  233. package/src/renderers/CRUD.tsx +5 -1
  234. package/src/renderers/Dialog.tsx +9 -3
  235. package/src/renderers/Drawer.tsx +5 -1
  236. package/src/renderers/Form/InputDate.tsx +9 -4
  237. package/src/renderers/Form/JSONSchema.tsx +56 -0
  238. package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
  239. package/src/renderers/Form/Textarea.tsx +7 -117
  240. package/src/renderers/Form/UserSelect.tsx +263 -0
  241. package/src/renderers/Form/index.tsx +28 -18
  242. package/src/renderers/Log.tsx +148 -13
  243. package/src/renderers/Page.tsx +6 -1
  244. package/src/renderers/Service.tsx +5 -1
  245. package/src/renderers/Wizard.tsx +24 -10
  246. package/src/store/form.ts +24 -17
  247. package/src/utils/api.ts +1 -1
  248. 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
- dispatcher = dispatchEvent('inited', (0, helper_1.createObject)(this.props.data, data));
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('validateFail', data);
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
- var _a = this.props, onChange = _a.onChange, store = _a.store, submitOnChange = _a.submitOnChange, dispatchEvent = _a.dispatchEvent, data = _a.data;
370
- if (!(0, mobx_state_tree_1.isAlive)(store)) {
371
- return;
372
- }
373
- var dispatcher = dispatchEvent('change', (0, helper_1.createObject)(data, store.data));
374
- if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
375
- onChange &&
376
- onChange(store.data, (0, helper_1.difference)(store.data, store.pristine), this.props);
377
- }
378
- store.clearRestError();
379
- (submit || (submitOnChange && store.inited)) &&
380
- this.handleAction(undefined, {
381
- type: 'submit'
382
- }, store.data);
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
- if (!result) {
425
- dispatchEvent('validateError', _this.props.data);
426
- env.notify('error', __('Form.validateFailed'));
427
- }
428
- else {
429
- dispatchEvent('validateSucc', _this.props.data);
430
- _this.handleAction(e, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, action), { required: undefined }), data, throwErrors, delegate);
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
- // result为提交接口返回的内容
478
- dispatchEvent('submitSucc', (0, helper_1.createObject)(_this.props.data, { result: result }));
479
- if (!(0, api_1.isEffectiveApi)(finnalAsyncApi_1, store.data) ||
480
- store.data[finishedField || 'finished']) {
481
- return;
482
- }
483
- return (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);
484
- },
485
- onFailed: function (result) {
486
- dispatchEvent('submitFail', (0, helper_1.createObject)(_this.props.data, { error: result }));
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
  });