amis 1.6.5-beta.4 → 1.8.0-beta.1

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.
Files changed (202) hide show
  1. package/lib/Schema.d.ts +3 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/components/Alert2.js +4 -2
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/Avatar.d.ts +20 -20
  7. package/lib/components/Card.d.ts +20 -20
  8. package/lib/components/CityArea.js +3 -0
  9. package/lib/components/CityArea.js.map +2 -2
  10. package/lib/components/DatePicker.d.ts +3 -0
  11. package/lib/components/DatePicker.js +41 -7
  12. package/lib/components/DatePicker.js.map +2 -2
  13. package/lib/components/ListGroup.d.ts +21 -21
  14. package/lib/components/PopUp.js +2 -1
  15. package/lib/components/PopUp.js.map +2 -2
  16. package/lib/components/Progress.js +12 -9
  17. package/lib/components/Progress.js.map +2 -2
  18. package/lib/components/Range.js.map +2 -2
  19. package/lib/components/Tabs.d.ts +27 -23
  20. package/lib/components/Tabs.js +37 -22
  21. package/lib/components/Tabs.js.map +2 -2
  22. package/lib/components/TooltipWrapper.d.ts +21 -20
  23. package/lib/components/TooltipWrapper.js +2 -2
  24. package/lib/components/TooltipWrapper.js.map +2 -2
  25. package/lib/components/calendar/Calendar.js +16 -12
  26. package/lib/components/calendar/Calendar.js.map +2 -2
  27. package/lib/components/formula/Editor.d.ts +3 -1
  28. package/lib/components/formula/Editor.js +20 -2
  29. package/lib/components/formula/Editor.js.map +2 -2
  30. package/lib/components/formula/Picker.d.ts +5 -0
  31. package/lib/components/formula/Picker.js +19 -4
  32. package/lib/components/formula/Picker.js.map +2 -2
  33. package/lib/components/icons.js +2 -0
  34. package/lib/components/icons.js.map +2 -2
  35. package/lib/factory.js +2 -2
  36. package/lib/factory.js.map +2 -2
  37. package/lib/icons/trash.js +10 -0
  38. package/lib/index.d.ts +1 -0
  39. package/lib/index.js +2 -1
  40. package/lib/index.js.map +2 -2
  41. package/lib/renderers/Action.d.ts +1 -1
  42. package/lib/renderers/Action.js.map +2 -2
  43. package/lib/renderers/ButtonGroup.d.ts +2 -2
  44. package/lib/renderers/ButtonGroup.js.map +1 -1
  45. package/lib/renderers/Dialog.d.ts +4 -0
  46. package/lib/renderers/Dialog.js +4 -3
  47. package/lib/renderers/Dialog.js.map +2 -2
  48. package/lib/renderers/DropDownButton.d.ts +2 -0
  49. package/lib/renderers/DropDownButton.js +13 -4
  50. package/lib/renderers/DropDownButton.js.map +2 -2
  51. package/lib/renderers/Form/Combo.d.ts +4 -3
  52. package/lib/renderers/Form/Combo.js +81 -32
  53. package/lib/renderers/Form/Combo.js.map +2 -2
  54. package/lib/renderers/Form/InputCity.js +4 -1
  55. package/lib/renderers/Form/InputCity.js.map +2 -2
  56. package/lib/renderers/Form/InputColor.js +3 -1
  57. package/lib/renderers/Form/InputColor.js.map +2 -2
  58. package/lib/renderers/Form/InputDate.js +3 -1
  59. package/lib/renderers/Form/InputDate.js.map +2 -2
  60. package/lib/renderers/Form/InputDateRange.js +3 -1
  61. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  62. package/lib/renderers/Form/InputExcel.d.ts +4 -0
  63. package/lib/renderers/Form/InputExcel.js +33 -6
  64. package/lib/renderers/Form/InputExcel.js.map +2 -2
  65. package/lib/renderers/Form/InputFile.d.ts +4 -1
  66. package/lib/renderers/Form/InputFile.js +9 -0
  67. package/lib/renderers/Form/InputFile.js.map +2 -2
  68. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  69. package/lib/renderers/Form/InputFormula.js +2 -2
  70. package/lib/renderers/Form/InputFormula.js.map +2 -2
  71. package/lib/renderers/Form/InputImage.d.ts +4 -1
  72. package/lib/renderers/Form/InputImage.js +12 -2
  73. package/lib/renderers/Form/InputImage.js.map +2 -2
  74. package/lib/renderers/Form/InputRange.d.ts +27 -9
  75. package/lib/renderers/Form/InputRange.js +88 -23
  76. package/lib/renderers/Form/InputRange.js.map +2 -2
  77. package/lib/renderers/Form/InputTable.js +4 -2
  78. package/lib/renderers/Form/InputTable.js.map +2 -2
  79. package/lib/renderers/Form/Select.js +3 -1
  80. package/lib/renderers/Form/Select.js.map +2 -2
  81. package/lib/renderers/Form/Switch.d.ts +7 -6
  82. package/lib/renderers/Form/Switch.js +4 -1
  83. package/lib/renderers/Form/Switch.js.map +2 -2
  84. package/lib/renderers/Log.js +2 -1
  85. package/lib/renderers/Log.js.map +2 -2
  86. package/lib/renderers/Page.js +2 -3
  87. package/lib/renderers/Page.js.map +2 -2
  88. package/lib/renderers/PopOver.js +1 -1
  89. package/lib/renderers/PopOver.js.map +2 -2
  90. package/lib/renderers/Progress.d.ts +1 -1
  91. package/lib/renderers/Progress.js +1 -1
  92. package/lib/renderers/Progress.js.map +2 -2
  93. package/lib/renderers/Table/TableRow.js +1 -1
  94. package/lib/renderers/Table/TableRow.js.map +2 -2
  95. package/lib/renderers/Tabs.d.ts +10 -2
  96. package/lib/renderers/Tabs.js +3 -3
  97. package/lib/renderers/Tabs.js.map +2 -2
  98. package/lib/renderers/TooltipWrapper.d.ts +104 -0
  99. package/lib/renderers/TooltipWrapper.js +59 -0
  100. package/lib/renderers/TooltipWrapper.js.map +13 -0
  101. package/lib/renderers/Video.d.ts +6 -0
  102. package/lib/renderers/Video.js +13 -6
  103. package/lib/renderers/Video.js.map +2 -2
  104. package/lib/store/table.js +1 -1
  105. package/lib/store/table.js.map +2 -2
  106. package/lib/themes/ang-ie11.css +242 -46
  107. package/lib/themes/ang.css +250 -41
  108. package/lib/themes/ang.css.map +1 -1
  109. package/lib/themes/antd-ie11.css +242 -46
  110. package/lib/themes/antd.css +250 -41
  111. package/lib/themes/antd.css.map +1 -1
  112. package/lib/themes/cxd-ie11.css +231 -35
  113. package/lib/themes/cxd.css +252 -42
  114. package/lib/themes/cxd.css.map +1 -1
  115. package/lib/themes/dark-ie11.css +242 -46
  116. package/lib/themes/dark.css +250 -41
  117. package/lib/themes/dark.css.map +1 -1
  118. package/lib/themes/default-ie11.css +231 -35
  119. package/lib/themes/default.css +252 -42
  120. package/lib/themes/default.css.map +1 -1
  121. package/package.json +1 -1
  122. package/schema.json +15871 -608
  123. package/scss/_properties.scss +23 -12
  124. package/scss/components/_alert.scss +1 -1
  125. package/scss/components/_button-group.scss +15 -0
  126. package/scss/components/_city-area.scss +2 -0
  127. package/scss/components/_formula.scss +18 -0
  128. package/scss/components/_popup.scss +13 -3
  129. package/scss/components/_progress.scss +3 -8
  130. package/scss/components/_tabs.scss +145 -13
  131. package/scss/components/_tooltip.scss +72 -0
  132. package/scss/components/form/_date.scss +13 -0
  133. package/scss/components/form/_number.scss +2 -0
  134. package/scss/components/form/_switch.scss +1 -3
  135. package/scss/themes/_cxd-variables.scss +2 -1
  136. package/sdk/ang-ie11.css +287 -48
  137. package/sdk/ang.css +295 -43
  138. package/sdk/antd-ie11.css +287 -48
  139. package/sdk/antd.css +295 -43
  140. package/sdk/barcode.js +51 -51
  141. package/sdk/charts.js +14 -14
  142. package/sdk/codemirror.js +7 -7
  143. package/sdk/color-picker.js +65 -65
  144. package/sdk/cropperjs.js +2 -2
  145. package/sdk/cxd-ie11.css +276 -37
  146. package/sdk/cxd.css +297 -44
  147. package/sdk/dark-ie11.css +287 -48
  148. package/sdk/dark.css +295 -43
  149. package/sdk/exceljs.js +1 -1
  150. package/sdk/markdown.js +69 -69
  151. package/sdk/papaparse.js +1 -1
  152. package/sdk/renderers/Form/CityDB.js +1 -1
  153. package/sdk/rest.js +17 -17
  154. package/sdk/rich-text.js +62 -62
  155. package/sdk/sdk-ie11.css +276 -37
  156. package/sdk/sdk.css +297 -44
  157. package/sdk/sdk.js +1251 -1247
  158. package/sdk/thirds/hls.js/hls.js +1 -1
  159. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  160. package/sdk/tinymce.js +57 -57
  161. package/src/Schema.ts +5 -2
  162. package/src/components/Alert2.tsx +9 -3
  163. package/src/components/CityArea.tsx +3 -0
  164. package/src/components/DatePicker.tsx +56 -18
  165. package/src/components/PopUp.tsx +6 -5
  166. package/src/components/Progress.tsx +8 -12
  167. package/src/components/Range.tsx +7 -1
  168. package/src/components/Tabs.tsx +51 -21
  169. package/src/components/TooltipWrapper.tsx +4 -1
  170. package/src/components/calendar/Calendar.tsx +17 -12
  171. package/src/components/formula/Editor.tsx +34 -3
  172. package/src/components/formula/Picker.tsx +28 -1
  173. package/src/components/icons.tsx +2 -0
  174. package/src/factory.tsx +2 -2
  175. package/src/icons/trash.svg +8 -0
  176. package/src/index.tsx +1 -0
  177. package/src/renderers/Action.tsx +2 -1
  178. package/src/renderers/ButtonGroup.tsx +2 -2
  179. package/src/renderers/Dialog.tsx +17 -3
  180. package/src/renderers/DropDownButton.tsx +14 -3
  181. package/src/renderers/Form/Combo.tsx +84 -26
  182. package/src/renderers/Form/InputCity.tsx +13 -1
  183. package/src/renderers/Form/InputColor.tsx +2 -0
  184. package/src/renderers/Form/InputDate.tsx +2 -0
  185. package/src/renderers/Form/InputDateRange.tsx +2 -0
  186. package/src/renderers/Form/InputExcel.tsx +27 -5
  187. package/src/renderers/Form/InputFile.tsx +13 -1
  188. package/src/renderers/Form/InputFormula.tsx +7 -0
  189. package/src/renderers/Form/InputImage.tsx +32 -12
  190. package/src/renderers/Form/InputRange.tsx +95 -40
  191. package/src/renderers/Form/InputTable.tsx +6 -2
  192. package/src/renderers/Form/Select.tsx +2 -0
  193. package/src/renderers/Form/Switch.tsx +16 -9
  194. package/src/renderers/Log.tsx +2 -1
  195. package/src/renderers/Page.tsx +1 -2
  196. package/src/renderers/PopOver.tsx +1 -1
  197. package/src/renderers/Progress.tsx +2 -2
  198. package/src/renderers/Table/TableRow.tsx +1 -1
  199. package/src/renderers/Tabs.tsx +16 -4
  200. package/src/renderers/TooltipWrapper.tsx +219 -0
  201. package/src/renderers/Video.tsx +21 -6
  202. package/src/store/table.ts +1 -1
@@ -4,9 +4,11 @@ exports.KVControlRenderer = exports.ComboControlRenderer = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var react_dom_1 = require("react-dom");
7
+ var cloneDeep_1 = (0, tslib_1.__importDefault)(require("lodash/cloneDeep"));
7
8
  var Item_1 = require("./Item");
8
9
  var combo_1 = require("../../store/combo");
9
10
  var Tabs_1 = tslib_1.__importStar(require("../../components/Tabs"));
11
+ var Button_1 = (0, tslib_1.__importDefault)(require("../../components/Button"));
10
12
  var helper_1 = require("../../utils/helper");
11
13
  var sortablejs_1 = (0, tslib_1.__importDefault)(require("sortablejs"));
12
14
  var tpl_1 = require("../../utils/tpl");
@@ -131,49 +133,75 @@ var ComboControl = /** @class */ (function (_super) {
131
133
  this.props.onChange(value, submitOnChange, true);
132
134
  };
133
135
  ComboControl.prototype.addItem = function () {
134
- var _a = this.props, flat = _a.flat, joinValues = _a.joinValues, delimiter = _a.delimiter, scaffold = _a.scaffold, disabled = _a.disabled, submitOnChange = _a.submitOnChange;
135
- if (disabled) {
136
- return;
137
- }
138
- var value = this.getValueAsArray();
139
- value.push(flat
140
- ? scaffold || ''
141
- : (0, tslib_1.__assign)({}, scaffold));
142
- this.keys.push((0, helper_1.guid)());
143
- if (flat && joinValues) {
144
- value = value.join(delimiter || ',');
145
- }
146
- this.props.onChange(value, submitOnChange, true);
136
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
137
+ var _a, flat, joinValues, delimiter, scaffold, disabled, submitOnChange, data, dispatchEvent, value, rendererEvent;
138
+ return (0, tslib_1.__generator)(this, function (_b) {
139
+ switch (_b.label) {
140
+ case 0:
141
+ _a = this.props, flat = _a.flat, joinValues = _a.joinValues, delimiter = _a.delimiter, scaffold = _a.scaffold, disabled = _a.disabled, submitOnChange = _a.submitOnChange, data = _a.data, dispatchEvent = _a.dispatchEvent;
142
+ if (disabled) {
143
+ return [2 /*return*/];
144
+ }
145
+ value = this.getValueAsArray();
146
+ return [4 /*yield*/, dispatchEvent('add', (0, helper_1.createObject)(data, {
147
+ value: flat && joinValues ? value.join(delimiter || ',') : (0, cloneDeep_1.default)(value)
148
+ }))];
149
+ case 1:
150
+ rendererEvent = _b.sent();
151
+ if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
152
+ return [2 /*return*/];
153
+ }
154
+ value.push(flat
155
+ ? scaffold || ''
156
+ : (0, tslib_1.__assign)({}, scaffold));
157
+ this.keys.push((0, helper_1.guid)());
158
+ if (flat && joinValues) {
159
+ value = value.join(delimiter || ',');
160
+ }
161
+ this.props.onChange(value, submitOnChange, true);
162
+ return [2 /*return*/];
163
+ }
164
+ });
165
+ });
147
166
  };
148
167
  ComboControl.prototype.removeItem = function (key) {
149
168
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
150
- var _a, flat, joinValues, delimiter, disabled, deleteApi, deleteConfirmText, data, env, __, value, ctx, confirmed, result;
169
+ var _a, flat, joinValues, delimiter, disabled, deleteApi, deleteConfirmText, data, env, __, dispatchEvent, value, ctx, rendererEvent, confirmed, result;
151
170
  return (0, tslib_1.__generator)(this, function (_b) {
152
171
  switch (_b.label) {
153
172
  case 0:
154
- _a = this.props, flat = _a.flat, joinValues = _a.joinValues, delimiter = _a.delimiter, disabled = _a.disabled, deleteApi = _a.deleteApi, deleteConfirmText = _a.deleteConfirmText, data = _a.data, env = _a.env, __ = _a.translate;
173
+ _a = this.props, flat = _a.flat, joinValues = _a.joinValues, delimiter = _a.delimiter, disabled = _a.disabled, deleteApi = _a.deleteApi, deleteConfirmText = _a.deleteConfirmText, data = _a.data, env = _a.env, __ = _a.translate, dispatchEvent = _a.dispatchEvent;
155
174
  if (disabled) {
156
175
  return [2 /*return*/];
157
176
  }
158
177
  value = this.getValueAsArray();
159
178
  ctx = (0, helper_1.createObject)(data, value[key]);
160
- if (!(0, api_1.isEffectiveApi)(deleteApi, ctx)) return [3 /*break*/, 3];
161
- return [4 /*yield*/, env.confirm(deleteConfirmText ? (0, tpl_1.filter)(deleteConfirmText, ctx) : __('deleteConfirm'))];
179
+ return [4 /*yield*/, dispatchEvent('delete', (0, helper_1.createObject)(data, {
180
+ key: key,
181
+ value: flat && joinValues ? value.join(delimiter || ',') : (0, cloneDeep_1.default)(value)
182
+ }))];
162
183
  case 1:
184
+ rendererEvent = _b.sent();
185
+ if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
186
+ return [2 /*return*/];
187
+ }
188
+ if (!(0, api_1.isEffectiveApi)(deleteApi, ctx)) return [3 /*break*/, 4];
189
+ return [4 /*yield*/, env.confirm(deleteConfirmText ? (0, tpl_1.filter)(deleteConfirmText, ctx) : __('deleteConfirm'))];
190
+ case 2:
163
191
  confirmed = _b.sent();
164
192
  if (!confirmed) {
165
193
  // 如果不确认,则跳过!
166
194
  return [2 /*return*/];
167
195
  }
168
196
  return [4 /*yield*/, env.fetcher(deleteApi, ctx)];
169
- case 2:
197
+ case 3:
170
198
  result = _b.sent();
171
199
  if (!result.ok) {
172
200
  env.notify('error', __('deleteFailed'));
173
201
  return [2 /*return*/];
174
202
  }
175
- _b.label = 3;
176
- case 3:
203
+ _b.label = 4;
204
+ case 4:
177
205
  value.splice(key, 1);
178
206
  this.keys.splice(key, 1);
179
207
  if (flat && joinValues) {
@@ -378,8 +406,25 @@ var ComboControl = /** @class */ (function (_super) {
378
406
  }
379
407
  };
380
408
  ComboControl.prototype.handleTabSelect = function (key) {
381
- var store = this.props.store;
382
- store.setActiveKey(key);
409
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
410
+ var _a, store, data, dispatchEvent, rendererEvent;
411
+ return (0, tslib_1.__generator)(this, function (_b) {
412
+ switch (_b.label) {
413
+ case 0:
414
+ _a = this.props, store = _a.store, data = _a.data, dispatchEvent = _a.dispatchEvent;
415
+ return [4 /*yield*/, dispatchEvent('tabsChange', (0, helper_1.createObject)(data, {
416
+ key: key
417
+ }))];
418
+ case 1:
419
+ rendererEvent = _b.sent();
420
+ if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
421
+ return [2 /*return*/];
422
+ }
423
+ store.setActiveKey(key);
424
+ return [2 /*return*/];
425
+ }
426
+ });
427
+ });
383
428
  };
384
429
  ComboControl.prototype.setNull = function (e) {
385
430
  e.preventDefault();
@@ -485,7 +530,7 @@ var ComboControl = /** @class */ (function (_super) {
485
530
  if (this.props.tabsMode) {
486
531
  return this.renderTabsMode();
487
532
  }
488
- var _a = this.props, ns = _a.classPrefix, cx = _a.classnames, formClassName = _a.formClassName, render = _a.render, multiLine = _a.multiLine, addButtonClassName = _a.addButtonClassName, disabled = _a.disabled, store = _a.store, flat = _a.flat, subFormMode = _a.subFormMode, draggable = _a.draggable, draggableTip = _a.draggableTip, addButtonText = _a.addButtonText, addable = _a.addable, removable = _a.removable, typeSwitchable = _a.typeSwitchable, itemRemovableOn = _a.itemRemovableOn, delimiter = _a.delimiter, canAccessSuperData = _a.canAccessSuperData, addIcon = _a.addIcon, dragIcon = _a.dragIcon, deleteIcon = _a.deleteIcon, noBorder = _a.noBorder, conditions = _a.conditions, lazyLoad = _a.lazyLoad, changeImmediately = _a.changeImmediately, placeholder = _a.placeholder, __ = _a.translate;
533
+ var _a = this.props, ns = _a.classPrefix, cx = _a.classnames, formClassName = _a.formClassName, render = _a.render, multiLine = _a.multiLine, addButtonClassName = _a.addButtonClassName, disabled = _a.disabled, store = _a.store, flat = _a.flat, subFormMode = _a.subFormMode, draggable = _a.draggable, draggableTip = _a.draggableTip, addButtonText = _a.addButtonText, addable = _a.addable, removable = _a.removable, typeSwitchable = _a.typeSwitchable, itemRemovableOn = _a.itemRemovableOn, delimiter = _a.delimiter, canAccessSuperData = _a.canAccessSuperData, addIcon = _a.addIcon, dragIcon = _a.dragIcon, deleteIcon = _a.deleteIcon, noBorder = _a.noBorder, conditions = _a.conditions, lazyLoad = _a.lazyLoad, changeImmediately = _a.changeImmediately, placeholder = _a.placeholder, __ = _a.translate, itemClassName = _a.itemClassName, itemsWrapperClassName = _a.itemsWrapperClassName;
489
534
  var items = this.props.items;
490
535
  var value = this.props.value;
491
536
  if (flat && typeof value === 'string') {
@@ -497,12 +542,12 @@ var ComboControl = /** @class */ (function (_super) {
497
542
  return (react_1.default.createElement("div", { className: cx("Combo Combo--multi", multiLine ? "Combo--ver" : "Combo--hor", noBorder ? "Combo--noBorder" : '', disabled ? 'is-disabled' : '', !disabled && draggable && Array.isArray(value) && value.length > 1
498
543
  ? 'is-draggable'
499
544
  : '') },
500
- react_1.default.createElement("div", { className: cx("Combo-items") }, Array.isArray(value) && value.length ? (value.map(function (value, index, thelist) {
545
+ react_1.default.createElement("div", { className: cx("Combo-items", itemsWrapperClassName) }, Array.isArray(value) && value.length ? (value.map(function (value, index, thelist) {
501
546
  var delBtn = null;
502
547
  if (finnalRemovable && // 表达式判断单条是否可删除
503
548
  (!itemRemovableOn ||
504
549
  (0, tpl_1.evalExpression)(itemRemovableOn, value) !== false)) {
505
- delBtn = (react_1.default.createElement("a", { onClick: _this.removeItem.bind(_this, index), key: "remove", className: cx("Combo-delBtn ".concat(!store.removable ? 'is-disabled' : '')), "data-tooltip": __('delete'), "data-position": "bottom" }, deleteIcon ? (react_1.default.createElement("i", { className: deleteIcon })) : (react_1.default.createElement(icons_1.Icon, { icon: "status-close", className: "icon" }))));
550
+ delBtn = (react_1.default.createElement(Button_1.default, { key: "remove", className: cx('Combo-delBtn'), disabled: !store.removable, tooltip: __('delete'), tooltipPlacement: "bottom", onClick: _this.removeItem.bind(_this, index) }, deleteIcon ? (react_1.default.createElement("i", { className: deleteIcon })) : (react_1.default.createElement(icons_1.Icon, { icon: "status-close", className: "icon" }))));
506
551
  }
507
552
  var data = _this.formatValue(value, index);
508
553
  var condition = null;
@@ -515,7 +560,7 @@ var ComboControl = /** @class */ (function (_super) {
515
560
  (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (items && items[0])), { name: 'flat' })
516
561
  ]
517
562
  : items;
518
- return (react_1.default.createElement("div", { className: cx("Combo-item"), key: _this.keys[index] || (_this.keys[index] = (0, helper_1.guid)()) },
563
+ return (react_1.default.createElement("div", { className: cx("Combo-item", itemClassName), key: _this.keys[index] || (_this.keys[index] = (0, helper_1.guid)()) },
519
564
  !disabled && draggable && thelist.length > 1 ? (react_1.default.createElement("div", { className: cx('Combo-itemDrager') },
520
565
  react_1.default.createElement("a", { key: "drag", "data-tooltip": __('Combo.dragDropSort'), "data-position": "bottom" }, dragIcon ? (react_1.default.createElement("i", { className: dragIcon })) : (react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" }))))) : null,
521
566
  condition && typeSwitchable !== false ? (react_1.default.createElement("div", { className: cx('Combo-itemTag') },
@@ -564,7 +609,7 @@ var ComboControl = /** @class */ (function (_super) {
564
609
  return false;
565
610
  }
566
611
  }); })
567
- })) : (react_1.default.createElement("button", { type: "button", onClick: this.addItem, className: cx("Button Combo-addBtn", addButtonClassName), "data-tooltip": __('Combo.add') },
612
+ })) : (react_1.default.createElement(Button_1.default, { level: "default", className: cx("Combo-addBtn", addButtonClassName), block: true, tooltip: __('Combo.add'), onClick: this.addItem },
568
613
  addIcon ? react_1.default.createElement(icons_1.Icon, { icon: "plus", className: "icon" }) : null,
569
614
  react_1.default.createElement("span", null, __(addButtonText || 'Combo.add'))))) : null,
570
615
  draggable ? (react_1.default.createElement("span", { className: cx("Combo-dragableTip"), ref: this.dragTipRef }, Array.isArray(value) && value.length > 1
@@ -572,7 +617,7 @@ var ComboControl = /** @class */ (function (_super) {
572
617
  : '')) : null)) : null));
573
618
  };
574
619
  ComboControl.prototype.renderSingle = function () {
575
- var _a = this.props, conditions = _a.conditions, cx = _a.classnames, render = _a.render, value = _a.value, multiLine = _a.multiLine, formClassName = _a.formClassName, canAccessSuperData = _a.canAccessSuperData, noBorder = _a.noBorder, disabled = _a.disabled, typeSwitchable = _a.typeSwitchable, nullable = _a.nullable, __ = _a.translate;
620
+ var _a = this.props, conditions = _a.conditions, cx = _a.classnames, render = _a.render, value = _a.value, multiLine = _a.multiLine, formClassName = _a.formClassName, canAccessSuperData = _a.canAccessSuperData, noBorder = _a.noBorder, disabled = _a.disabled, typeSwitchable = _a.typeSwitchable, nullable = _a.nullable, __ = _a.translate, itemClassName = _a.itemClassName;
576
621
  var items = this.props.items;
577
622
  var data = (0, helper_1.isObject)(value) ? this.formatValue(value) : this.defaultValue;
578
623
  var condition = null;
@@ -581,7 +626,7 @@ var ComboControl = /** @class */ (function (_super) {
581
626
  items = condition ? condition.items : undefined;
582
627
  }
583
628
  return (react_1.default.createElement("div", { className: cx("Combo Combo--single", multiLine ? "Combo--ver" : "Combo--hor", noBorder ? "Combo--noBorder" : '', disabled ? 'is-disabled' : '') },
584
- react_1.default.createElement("div", { className: cx("Combo-item") },
629
+ react_1.default.createElement("div", { className: cx("Combo-item", itemClassName) },
585
630
  condition && typeSwitchable !== false ? (react_1.default.createElement("div", { className: cx('Combo-itemTag') },
586
631
  react_1.default.createElement("label", null, __('Combo.type')),
587
632
  react_1.default.createElement(Select_1.default, { onChange: this.handleComboTypeChange.bind(this, 0), options: conditions.map(function (item) { return ({
@@ -627,7 +672,9 @@ var ComboControl = /** @class */ (function (_super) {
627
672
  deleteIcon: '',
628
673
  tabsMode: false,
629
674
  tabsStyle: '',
630
- placeholder: 'placeholder.empty'
675
+ placeholder: 'placeholder.empty',
676
+ itemClassName: '',
677
+ itemsWrapperClassName: ''
631
678
  };
632
679
  ComboControl.propsList = [
633
680
  'minLength',
@@ -654,13 +701,15 @@ var ComboControl = /** @class */ (function (_super) {
654
701
  'items',
655
702
  'conditions',
656
703
  'messages',
657
- 'formStore'
704
+ 'formStore',
705
+ 'itemClassName',
706
+ 'itemsWrapperClassName'
658
707
  ];
659
708
  (0, tslib_1.__decorate)([
660
709
  helper_1.autobind,
661
710
  (0, tslib_1.__metadata)("design:type", Function),
662
711
  (0, tslib_1.__metadata)("design:paramtypes", [Number]),
663
- (0, tslib_1.__metadata)("design:returntype", void 0)
712
+ (0, tslib_1.__metadata)("design:returntype", Promise)
664
713
  ], ComboControl.prototype, "handleTabSelect", null);
665
714
  (0, tslib_1.__decorate)([
666
715
  helper_1.autobind,
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Combo.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {\n FormItem,\n FormControlProps,\n FormBaseControl,\n FormControlSchemaAlias\n} from './Item';\nimport {Schema, Action, Api} from '../../types';\nimport {ComboStore, IComboStore} from '../../store/combo';\nimport {default as CTabs, Tab} from '../../components/Tabs';\n\nimport {\n guid,\n anyChanged,\n isObject,\n createObject,\n extendObject,\n autobind,\n isObjectShallowModified\n} from '../../utils/helper';\nimport Sortable from 'sortablejs';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport Select from '../../components/Select';\nimport {dataMapping, resolveVariable} from '../../utils/tpl-builtin';\nimport {isEffectiveApi} from '../../utils/api';\nimport {Alert2} from '../../components';\nimport memoize from 'lodash/memoize';\nimport {Icon} from '../../components/icons';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaObject,\n SchemaTpl\n} from '../../Schema';\n\nexport type ComboCondition = {\n test: string;\n items: Array<ComboSubControl>;\n label: string;\n scaffold?: any;\n mode?: string;\n};\n\nexport type ComboSubControl = SchemaObject & {\n /**\n * 是否唯一, 只有在 combo 里面才有用\n */\n unique?: boolean;\n\n /**\n * 列类名,可以用来修改这类宽度。\n */\n columnClassName?: SchemaClassName;\n};\n\n/**\n * Combo 组合输入框类型\n * 文档:https://baidu.gitee.io/amis/docs/components/form/combo\n */\nexport interface ComboControlSchema extends FormBaseControl {\n /**\n * 指定为组合输入框类型\n */\n type: 'combo';\n\n /**\n * 单组表单项初始值。默认为 `{}`\n *\n * @default {}\n */\n scaffold?: any;\n\n /**\n * 是否含有边框\n */\n noBorder?: boolean;\n\n /**\n * 确认删除时的提示\n */\n deleteConfirmText?: string;\n\n /**\n * 删除时调用的api\n */\n deleteApi?: SchemaApi;\n\n /**\n * 是否可切换条件,配合`conditions`使用\n */\n typeSwitchable?: boolean;\n\n /**\n * 符合某类条件后才渲染的schema\n */\n conditions?: Array<ComboCondition>;\n\n /**\n * 内部单组表单项的类名\n */\n formClassName?: SchemaClassName;\n\n /**\n * 新增按钮CSS类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 新增按钮文字\n * @default 新增\n */\n addButtonText?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 数组输入框的子项\n */\n items?: Array<ComboSubControl>;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 可拖拽排序的提示信息。\n *\n * @default 可拖拽排序\n */\n draggableTip?: string;\n\n /**\n * 是否将结果扁平化(去掉name),只有当controls的length为1且multiple为true的时候才有效\n */\n flat?: boolean;\n\n /**\n * 当扁平化开启并且joinValues为true时,用什么分隔符\n *\n * @deprecated\n */\n delimiter?: string;\n\n /**\n * 当扁平化开启的时候,是否用分隔符的形式发送给后端,否则采用array的方式\n * @deprecated\n */\n joinValues?: boolean;\n\n /**\n * 限制最大个数\n */\n maxLength?: number;\n\n /**\n * 限制最小个数\n */\n minLength?: number;\n\n /**\n * 是否多行模式,默认一行展示完\n */\n multiLine?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 子表单的模式。\n */\n subFormMode?: 'normal' | 'horizontal' | 'inline';\n\n /**\n * 没有成员时显示。\n * @default empty\n */\n placeholder?: string;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 采用 Tabs 展示方式?\n */\n tabsMode?: boolean;\n\n /**\n * Tabs 的展示模式。\n */\n tabsStyle?: '' | 'line' | 'card' | 'radio';\n\n /**\n * 选项卡标题的生成模板。\n */\n tabsLabelTpl?: SchemaTpl;\n\n /**\n * 数据比较多,比较卡时,可以试试开启。\n */\n lazyLoad?: boolean;\n\n /**\n * 严格模式,为了性能默认不开的。\n */\n strictMode?: boolean;\n\n /**\n * 配置同步字段。只有 `strictMode` 为 `false` 时有效。\n * 如果 Combo 层级比较深,底层的获取外层的数据可能不同步。\n * 但是给 combo 配置这个属性就能同步下来。输入格式:`[\"os\"]`\n */\n syncFields?: string[];\n\n /**\n * 允许为空,如果子表单项里面配置验证器,且又是单条模式。可以允许用户选择清空(不填)。\n */\n nullable?: boolean;\n\n /**\n * 提示信息\n */\n messages?: {\n /**\n * 验证错误提示\n */\n validateFailed?: string;\n\n /**\n * 最小值验证错误提示\n */\n minLengthValidateFailed?: string;\n\n /**\n * 最大值验证错误提示\n */\n maxLengthValidateFailed?: string;\n };\n}\n\nfunction pickVars(vars: any, fields: Array<string>) {\n return fields.reduce((data: any, key: string) => {\n data[key] = resolveVariable(key, vars);\n return data;\n }, {});\n}\n\nexport interface ComboProps\n extends FormControlProps,\n Omit<\n ComboControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n store: IComboStore;\n changeImmediately?: boolean;\n}\n\nexport default class ComboControl extends React.Component<ComboProps> {\n static defaultProps: Pick<\n ComboProps,\n | 'minLength'\n | 'maxLength'\n | 'multiple'\n | 'multiLine'\n | 'addButtonClassName'\n | 'formClassName'\n | 'subFormMode'\n | 'draggableTip'\n | 'addButtonText'\n | 'canAccessSuperData'\n | 'addIcon'\n | 'dragIcon'\n | 'deleteIcon'\n | 'tabsMode'\n | 'tabsStyle'\n | 'placeholder'\n > = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n multiLine: false,\n addButtonClassName: '',\n formClassName: '',\n subFormMode: 'normal',\n draggableTip: '',\n addButtonText: 'Combo.add',\n canAccessSuperData: false,\n addIcon: true,\n dragIcon: '',\n deleteIcon: '',\n tabsMode: false,\n tabsStyle: '',\n placeholder: 'placeholder.empty'\n };\n static propsList: Array<string> = [\n 'minLength',\n 'maxLength',\n 'multiple',\n 'multiLine',\n 'addButtonClassName',\n 'subFormMode',\n 'draggableTip',\n 'addButtonText',\n 'draggable',\n 'scaffold',\n 'canAccessSuperData',\n 'addIcon',\n 'dragIcon',\n 'deleteIcon',\n 'noBorder',\n 'conditions',\n 'tabsMode',\n 'tabsStyle',\n 'lazyLoad',\n 'changeImmediately',\n 'strictMode',\n 'items',\n 'conditions',\n 'messages',\n 'formStore'\n ];\n\n subForms: Array<any> = [];\n subFormDefaultValues: Array<{\n index: number;\n values: any;\n setted: boolean;\n }> = [];\n\n keys: Array<string> = [];\n dragTip?: HTMLElement;\n sortable?: Sortable;\n defaultValue?: any;\n toDispose: Array<Function> = [];\n id: string = guid();\n constructor(props: ComboProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSingleFormChange = this.handleSingleFormChange.bind(this);\n this.handleSingleFormInit = this.handleSingleFormInit.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.flush = this.flush.bind(this);\n this.handleComboTypeChange = this.handleComboTypeChange.bind(this);\n this.defaultValue = {\n ...props.scaffold\n };\n\n const {store, value, multiple, minLength, maxLength, formItem, addHook} =\n props;\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: this.getValueAsArray(props).length\n });\n\n formItem && isAlive(formItem) && formItem.setSubStore(store);\n addHook && this.toDispose.push(addHook(this.flush, 'flush'));\n }\n\n componentDidUpdate(prevProps: ComboProps) {\n const props = this.props;\n\n if (anyChanged(['minLength', 'maxLength', 'value'], prevProps, props)) {\n const {store, minLength, maxLength, multiple} = props;\n const values = this.getValueAsArray(props);\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: values.length\n });\n\n if (store.activeKey >= values.length) {\n store.setActiveKey(Math.max(0, values.length - 1));\n }\n\n // combo 进来了新的值,且这次 form 初始化时带来的新值变化,但是之前的值已经 onInit 过了\n // 所以,之前 onInit 设置进去的初始值是过时了的。这个时候修复一下。\n if (\n props.value !== prevProps.value &&\n !prevProps.formInited &&\n this.subFormDefaultValues.length\n ) {\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n (item, index) => {\n return {\n ...item,\n values: values[index]\n };\n }\n );\n }\n }\n }\n\n componentWillUnmount() {\n const {formItem} = this.props;\n\n formItem && isAlive(formItem) && formItem.setSubStore(null);\n\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n this.memoizedFormatValue.cache.clear?.();\n this.makeFormRef.cache.clear?.();\n }\n\n getValueAsArray(props = this.props) {\n const {flat, joinValues, delimiter} = props;\n let value = props.value;\n\n if (joinValues && flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n } else if (!Array.isArray(value)) {\n value = [];\n } else {\n value = value.concat();\n }\n return value;\n }\n\n addItemWith(condition: ComboCondition) {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? condition.scaffold || scaffold || ''\n : {\n ...(condition.scaffold || scaffold)\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n addItem() {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? scaffold || ''\n : {\n ...scaffold\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async removeItem(key: number) {\n const {\n flat,\n joinValues,\n delimiter,\n disabled,\n deleteApi,\n deleteConfirmText,\n data,\n env,\n translate: __\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n const ctx = createObject(data, value[key]);\n\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi as Api, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n value.splice(key, 1);\n this.keys.splice(key, 1);\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value);\n }\n\n handleChange(values: any, diff: any, {index}: any) {\n const {flat, store, joinValues, delimiter, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n value[index] = flat ? values.flat : {...values};\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n\n store.forms.forEach(\n form =>\n isAlive(form) &&\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n\n handleSingleFormChange(values: object) {\n this.props.onChange(\n {\n ...values\n },\n this.props.submitOnChange,\n true\n );\n }\n\n handleFormInit(values: any, {index}: any) {\n const {\n syncDefaultValue,\n flat,\n joinValues,\n delimiter,\n formInited,\n onChange,\n submitOnChange,\n setPrinstineValue\n } = this.props;\n\n this.subFormDefaultValues.push({\n index,\n values,\n setted: false\n });\n\n if (\n syncDefaultValue === false ||\n this.subFormDefaultValues.length !== this.subForms.length\n ) {\n return;\n }\n\n let value = this.getValueAsArray();\n let isModified = false;\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n ({index, values, setted}) => {\n const newValue = flat ? values.flat : {...values};\n\n if (!setted && isObjectShallowModified(value[index], newValue)) {\n value[index] = flat ? values.flat : {...values};\n isModified = true;\n }\n\n return {\n index,\n values,\n setted: true\n };\n }\n );\n\n if (!isModified) {\n return;\n }\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n formInited\n ? onChange(value, submitOnChange, true)\n : setPrinstineValue(value);\n }\n\n handleSingleFormInit(values: any) {\n const {syncDefaultValue, setPrinstineValue, value, nullable} = this.props;\n\n if (\n syncDefaultValue !== false &&\n !nullable &&\n isObjectShallowModified(value, values) &&\n setPrinstineValue\n ) {\n setPrinstineValue({\n ...values\n });\n }\n }\n\n handleAction(action: Action): any {\n const {onAction} = this.props;\n\n if (action.actionType === 'delete') {\n action.index !== void 0 && this.removeItem(action.index);\n return;\n }\n\n onAction && onAction.apply(null, arguments);\n }\n\n validate(): any {\n const {\n value,\n minLength,\n maxLength,\n messages,\n nullable,\n translate: __\n } = this.props;\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __(\n (messages && messages.minLengthValidateFailed) || 'Combo.minLength',\n {minLength}\n );\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __(\n (messages && messages.maxLengthValidateFailed) || 'Combo.maxLength',\n {maxLength}\n );\n } else if (this.subForms.length && (!nullable || value)) {\n return Promise.all(this.subForms.map(item => item.validate())).then(\n values => {\n if (~values.indexOf(false)) {\n return __(\n (messages && messages.validateFailed) || 'validateFailed'\n );\n }\n\n return;\n }\n );\n }\n }\n\n flush() {\n this.subForms.forEach(form => form.flush());\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}Combo-items`) as HTMLElement,\n {\n group: `combo-${this.id}`,\n animation: 150,\n handle: `.${ns}Combo-itemDrager`,\n ghostClass: `${ns}Combo-item--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.keys.splice(e.newIndex, 0, this.keys.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 refsMap: {\n [propName: number]: any;\n } = {};\n\n makeFormRef = memoize(\n (index: number) => (ref: any) => this.formRef(ref, index)\n );\n\n formRef(ref: any, index: number = 0) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.subForms[index] = ref;\n this.refsMap[index] = ref;\n } else {\n const form = this.refsMap[index];\n this.subForms = this.subForms.filter(item => item !== form);\n this.subFormDefaultValues = this.subFormDefaultValues.filter(\n ({index: dIndex}) => dIndex !== index\n );\n delete this.refsMap[index];\n }\n }\n\n memoizedFormatValue = memoize(\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) => {\n return createObject(\n extendObject(data, {index, __index: index, ...data}),\n {\n ...value,\n ...(Array.isArray(syncFields) ? pickVars(data, syncFields!) : null)\n }\n );\n },\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) =>\n Array.isArray(syncFields)\n ? JSON.stringify([value, index, data, pickVars(data, syncFields)])\n : strictMode\n ? JSON.stringify([value, index])\n : JSON.stringify([value, index, data])\n );\n\n formatValue(value: any, index: number = -1) {\n const {flat, data, strictMode, syncFields} = this.props;\n\n if (flat) {\n value = {\n flat: value\n };\n }\n\n value = value || this.defaultValue;\n\n return this.memoizedFormatValue(\n strictMode !== false,\n syncFields,\n value,\n index,\n data\n );\n }\n\n pickCondition(value: any): ComboCondition | null {\n const conditions: Array<ComboCondition> = this.props.conditions!;\n return find(\n conditions,\n item => item.test && evalExpression(item.test, value)\n ) as ComboCondition | null;\n }\n\n handleComboTypeChange(index: number, selection: any) {\n const {multiple, onChange, value, flat, submitOnChange} = this.props;\n\n const conditions: Array<ComboCondition> = this.props\n .conditions as Array<ComboCondition>;\n const condition = find(conditions, item => item.label === selection.label);\n\n if (!condition) {\n return;\n }\n\n if (multiple) {\n const newValue = this.getValueAsArray();\n newValue.splice(index, 1, {\n ...dataMapping(condition.scaffold || {}, newValue[index])\n });\n\n // todo 支持 flat\n onChange(newValue, submitOnChange, true);\n } else {\n onChange(\n {\n ...dataMapping(condition.scaffold || {}, value)\n },\n submitOnChange,\n true\n );\n }\n }\n\n @autobind\n handleTabSelect(key: number) {\n const {store} = this.props;\n\n store.setActiveKey(key);\n }\n\n @autobind\n setNull(e: React.MouseEvent) {\n e.preventDefault();\n const {onChange} = this.props;\n onChange(null);\n\n Array.isArray(this.subForms) &&\n this.subForms.forEach(subForm => {\n subForm.clearErrors();\n });\n }\n\n renderPlaceholder() {\n const {placeholder, translate: __} = this.props;\n return (\n <span className=\"text-muted\">\n {__(placeholder || 'placeholder.noData')}\n </span>\n );\n }\n\n renderTabsMode() {\n const {\n classPrefix: ns,\n classnames: cx,\n tabsStyle,\n formClassName,\n render,\n disabled,\n store,\n flat,\n subFormMode,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n deleteIcon,\n tabsLabelTpl,\n conditions,\n changeImmediately,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n if (!Array.isArray(value)) {\n value = []; // 让 tabs 输出,否则会没有新增按钮。\n }\n\n // todo 支持拖拽排序。\n\n return (\n <CTabs\n className={'ComboTabs'}\n mode={tabsStyle}\n activeKey={store.activeKey}\n onSelect={this.handleTabSelect}\n additionBtns={\n !disabled ? (\n <li className={cx(`Tabs-link ComboTabs-addLink`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n icon: addIcon ? (\n <Icon icon=\"plus\" className=\"icon\" />\n ) : (\n ''\n ),\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <a\n onClick={this.addItem}\n data-position=\"left\"\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </a>\n )\n ) : null}\n </li>\n ) : null\n }\n >\n {value.map((value: any, index: number) => {\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null | undefined = null;\n let toolbar = undefined;\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n toolbar = (\n <div\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </div>\n );\n }\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n const hasUnique =\n Array.isArray(finnalControls) &&\n finnalControls.some((item: any) => item.unique);\n\n return (\n <Tab\n title={filter(\n tabsLabelTpl ||\n __('{{index}}', {index: (data as any).index + 1}),\n data\n )}\n key={this.keys[index] || (this.keys[index] = guid())}\n toolbar={toolbar}\n eventKey={index}\n // 不能按需渲染,因为 unique 会失效。\n mountOnEnter={!hasUnique}\n unmountOnExit={false}\n >\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: subFormMode,\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n canAccessSuperData,\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </Tab>\n );\n })}\n </CTabs>\n );\n }\n\n renderMultipe() {\n if (this.props.tabsMode) {\n return this.renderTabsMode();\n }\n\n const {\n classPrefix: ns,\n classnames: cx,\n formClassName,\n render,\n multiLine,\n addButtonClassName,\n disabled,\n store,\n flat,\n subFormMode,\n draggable,\n draggableTip,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n dragIcon,\n deleteIcon,\n noBorder,\n conditions,\n lazyLoad,\n changeImmediately,\n placeholder,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n return (\n <div\n className={cx(\n `Combo Combo--multi`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : '',\n !disabled && draggable && Array.isArray(value) && value.length > 1\n ? 'is-draggable'\n : ''\n )}\n >\n <div className={cx(`Combo-items`)}>\n {Array.isArray(value) && value.length ? (\n value.map((value, index, thelist) => {\n let delBtn: any = null;\n\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n delBtn = (\n <a\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </a>\n );\n }\n\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n return (\n <div\n className={cx(`Combo-item`)}\n key={this.keys[index] || (this.keys[index] = guid())}\n >\n {!disabled && draggable && thelist.length > 1 ? (\n <div className={cx('Combo-itemDrager')}>\n <a\n key=\"drag\"\n data-tooltip={__('Combo.dragDropSort')}\n data-position=\"bottom\"\n >\n {dragIcon ? (\n <i className={dragIcon} />\n ) : (\n <Icon icon=\"drag-bar\" className=\"icon\" />\n )}\n </a>\n </div>\n ) : null}\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? subFormMode : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n lazyLoad,\n canAccessSuperData,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n {delBtn}\n </div>\n );\n })\n ) : placeholder ? (\n <div className={cx(`Combo-placeholder`)}>{__(placeholder)}</div>\n ) : null}\n </div>\n {!disabled ? (\n <div className={cx(`Combo-toolbar`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <button\n type=\"button\"\n onClick={this.addItem}\n className={cx(`Button Combo-addBtn`, addButtonClassName)}\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </button>\n )\n ) : null}\n {draggable ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1\n ? __(draggableTip)\n : ''}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n }\n\n renderSingle() {\n const {\n conditions,\n classnames: cx,\n render,\n value,\n multiLine,\n formClassName,\n canAccessSuperData,\n noBorder,\n disabled,\n typeSwitchable,\n nullable,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n const data = isObject(value) ? this.formatValue(value) : this.defaultValue;\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n return (\n <div\n className={cx(\n `Combo Combo--single`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : ''\n )}\n >\n <div className={cx(`Combo-item`)}>\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, 0)}\n options={(conditions as Array<ComboCondition>).map(item => ({\n label: item.label,\n value: item.label\n }))}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n\n <div className={cx(`Combo-itemInner`)}>\n {items ? (\n render(\n 'single',\n {\n type: 'form',\n body: items,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? 'normal' : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n disabled: disabled,\n data: data,\n onChange: this.handleSingleFormChange,\n ref: this.makeFormRef(0),\n onInit: this.handleSingleFormInit,\n canAccessSuperData,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </div>\n {value && nullable ? (\n <a className={cx('Combo-setNullBtn')} href=\"#\" onClick={this.setNull}>\n {__('clear')}\n </a>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n formInited,\n multiple,\n className,\n classPrefix: ns,\n classnames: cx,\n disabled\n } = this.props;\n\n return formInited || typeof formInited === 'undefined' ? (\n <div className={cx(`ComboControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n </div>\n ) : null;\n }\n}\n\n@FormItem({\n type: 'combo',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class ComboControlRenderer extends ComboControl {}\n\n@FormItem({\n type: 'input-kv',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class KVControlRenderer extends ComboControl {}\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {\n FormItem,\n FormControlProps,\n FormBaseControl,\n FormControlSchemaAlias\n} from './Item';\nimport {Schema, Action, Api} from '../../types';\nimport {ComboStore, IComboStore} from '../../store/combo';\nimport {default as CTabs, Tab} from '../../components/Tabs';\nimport Button from '../../components/Button';\n\nimport {\n guid,\n anyChanged,\n isObject,\n createObject,\n extendObject,\n autobind,\n isObjectShallowModified\n} from '../../utils/helper';\nimport Sortable from 'sortablejs';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport Select from '../../components/Select';\nimport {dataMapping, resolveVariable} from '../../utils/tpl-builtin';\nimport {isEffectiveApi} from '../../utils/api';\nimport {Alert2} from '../../components';\nimport memoize from 'lodash/memoize';\nimport {Icon} from '../../components/icons';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaObject,\n SchemaTpl\n} from '../../Schema';\n\nexport type ComboCondition = {\n test: string;\n items: Array<ComboSubControl>;\n label: string;\n scaffold?: any;\n mode?: string;\n};\n\nexport type ComboSubControl = SchemaObject & {\n /**\n * 是否唯一, 只有在 combo 里面才有用\n */\n unique?: boolean;\n\n /**\n * 列类名,可以用来修改这类宽度。\n */\n columnClassName?: SchemaClassName;\n};\n\n/**\n * Combo 组合输入框类型\n * 文档:https://baidu.gitee.io/amis/docs/components/form/combo\n */\nexport interface ComboControlSchema extends FormBaseControl {\n /**\n * 指定为组合输入框类型\n */\n type: 'combo';\n\n /**\n * 单组表单项初始值。默认为 `{}`\n *\n * @default {}\n */\n scaffold?: any;\n\n /**\n * 是否含有边框\n */\n noBorder?: boolean;\n\n /**\n * 确认删除时的提示\n */\n deleteConfirmText?: string;\n\n /**\n * 删除时调用的api\n */\n deleteApi?: SchemaApi;\n\n /**\n * 是否可切换条件,配合`conditions`使用\n */\n typeSwitchable?: boolean;\n\n /**\n * 符合某类条件后才渲染的schema\n */\n conditions?: Array<ComboCondition>;\n\n /**\n * 内部单组表单项的类名\n */\n formClassName?: SchemaClassName;\n\n /**\n * 新增按钮CSS类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 新增按钮文字\n * @default 新增\n */\n addButtonText?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 数组输入框的子项\n */\n items?: Array<ComboSubControl>;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 可拖拽排序的提示信息。\n *\n * @default 可拖拽排序\n */\n draggableTip?: string;\n\n /**\n * 是否将结果扁平化(去掉name),只有当controls的length为1且multiple为true的时候才有效\n */\n flat?: boolean;\n\n /**\n * 当扁平化开启并且joinValues为true时,用什么分隔符\n *\n * @deprecated\n */\n delimiter?: string;\n\n /**\n * 当扁平化开启的时候,是否用分隔符的形式发送给后端,否则采用array的方式\n * @deprecated\n */\n joinValues?: boolean;\n\n /**\n * 限制最大个数\n */\n maxLength?: number;\n\n /**\n * 限制最小个数\n */\n minLength?: number;\n\n /**\n * 是否多行模式,默认一行展示完\n */\n multiLine?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 子表单的模式。\n */\n subFormMode?: 'normal' | 'horizontal' | 'inline';\n\n /**\n * 没有成员时显示。\n * @default empty\n */\n placeholder?: string;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 采用 Tabs 展示方式?\n */\n tabsMode?: boolean;\n\n /**\n * Tabs 的展示模式。\n */\n tabsStyle?: '' | 'line' | 'card' | 'radio';\n\n /**\n * 选项卡标题的生成模板。\n */\n tabsLabelTpl?: SchemaTpl;\n\n /**\n * 数据比较多,比较卡时,可以试试开启。\n */\n lazyLoad?: boolean;\n\n /**\n * 严格模式,为了性能默认不开的。\n */\n strictMode?: boolean;\n\n /**\n * 配置同步字段。只有 `strictMode` 为 `false` 时有效。\n * 如果 Combo 层级比较深,底层的获取外层的数据可能不同步。\n * 但是给 combo 配置这个属性就能同步下来。输入格式:`[\"os\"]`\n */\n syncFields?: string[];\n\n /**\n * 允许为空,如果子表单项里面配置验证器,且又是单条模式。可以允许用户选择清空(不填)。\n */\n nullable?: boolean;\n\n /**\n * 提示信息\n */\n messages?: {\n /**\n * 验证错误提示\n */\n validateFailed?: string;\n\n /**\n * 最小值验证错误提示\n */\n minLengthValidateFailed?: string;\n\n /**\n * 最大值验证错误提示\n */\n maxLengthValidateFailed?: string;\n };\n}\n\nexport type ComboRendererEvent = 'add' | 'delete' | 'tabsChange';\n\nfunction pickVars(vars: any, fields: Array<string>) {\n return fields.reduce((data: any, key: string) => {\n data[key] = resolveVariable(key, vars);\n return data;\n }, {});\n}\n\nexport interface ComboProps\n extends FormControlProps,\n Omit<\n ComboControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n store: IComboStore;\n changeImmediately?: boolean;\n}\n\nexport default class ComboControl extends React.Component<ComboProps> {\n static defaultProps: Pick<\n ComboProps,\n | 'minLength'\n | 'maxLength'\n | 'multiple'\n | 'multiLine'\n | 'addButtonClassName'\n | 'formClassName'\n | 'subFormMode'\n | 'draggableTip'\n | 'addButtonText'\n | 'canAccessSuperData'\n | 'addIcon'\n | 'dragIcon'\n | 'deleteIcon'\n | 'tabsMode'\n | 'tabsStyle'\n | 'placeholder'\n | 'itemClassName'\n | 'itemsWrapperClassName'\n > = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n multiLine: false,\n addButtonClassName: '',\n formClassName: '',\n subFormMode: 'normal',\n draggableTip: '',\n addButtonText: 'Combo.add',\n canAccessSuperData: false,\n addIcon: true,\n dragIcon: '',\n deleteIcon: '',\n tabsMode: false,\n tabsStyle: '',\n placeholder: 'placeholder.empty',\n itemClassName: '',\n itemsWrapperClassName: ''\n };\n static propsList: Array<string> = [\n 'minLength',\n 'maxLength',\n 'multiple',\n 'multiLine',\n 'addButtonClassName',\n 'subFormMode',\n 'draggableTip',\n 'addButtonText',\n 'draggable',\n 'scaffold',\n 'canAccessSuperData',\n 'addIcon',\n 'dragIcon',\n 'deleteIcon',\n 'noBorder',\n 'conditions',\n 'tabsMode',\n 'tabsStyle',\n 'lazyLoad',\n 'changeImmediately',\n 'strictMode',\n 'items',\n 'conditions',\n 'messages',\n 'formStore',\n 'itemClassName',\n 'itemsWrapperClassName'\n ];\n\n subForms: Array<any> = [];\n subFormDefaultValues: Array<{\n index: number;\n values: any;\n setted: boolean;\n }> = [];\n\n keys: Array<string> = [];\n dragTip?: HTMLElement;\n sortable?: Sortable;\n defaultValue?: any;\n toDispose: Array<Function> = [];\n id: string = guid();\n constructor(props: ComboProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSingleFormChange = this.handleSingleFormChange.bind(this);\n this.handleSingleFormInit = this.handleSingleFormInit.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.flush = this.flush.bind(this);\n this.handleComboTypeChange = this.handleComboTypeChange.bind(this);\n this.defaultValue = {\n ...props.scaffold\n };\n\n const {store, value, multiple, minLength, maxLength, formItem, addHook} =\n props;\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: this.getValueAsArray(props).length\n });\n\n formItem && isAlive(formItem) && formItem.setSubStore(store);\n addHook && this.toDispose.push(addHook(this.flush, 'flush'));\n }\n\n componentDidUpdate(prevProps: ComboProps) {\n const props = this.props;\n\n if (anyChanged(['minLength', 'maxLength', 'value'], prevProps, props)) {\n const {store, minLength, maxLength, multiple} = props;\n const values = this.getValueAsArray(props);\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: values.length\n });\n\n if (store.activeKey >= values.length) {\n store.setActiveKey(Math.max(0, values.length - 1));\n }\n\n // combo 进来了新的值,且这次 form 初始化时带来的新值变化,但是之前的值已经 onInit 过了\n // 所以,之前 onInit 设置进去的初始值是过时了的。这个时候修复一下。\n if (\n props.value !== prevProps.value &&\n !prevProps.formInited &&\n this.subFormDefaultValues.length\n ) {\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n (item, index) => {\n return {\n ...item,\n values: values[index]\n };\n }\n );\n }\n }\n }\n\n componentWillUnmount() {\n const {formItem} = this.props;\n\n formItem && isAlive(formItem) && formItem.setSubStore(null);\n\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n this.memoizedFormatValue.cache.clear?.();\n this.makeFormRef.cache.clear?.();\n }\n\n getValueAsArray(props = this.props) {\n const {flat, joinValues, delimiter} = props;\n let value = props.value;\n\n if (joinValues && flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n } else if (!Array.isArray(value)) {\n value = [];\n } else {\n value = value.concat();\n }\n return value;\n }\n\n addItemWith(condition: ComboCondition) {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? condition.scaffold || scaffold || ''\n : {\n ...(condition.scaffold || scaffold)\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async addItem() {\n const {\n flat,\n joinValues,\n delimiter,\n scaffold,\n disabled,\n submitOnChange,\n data,\n dispatchEvent\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n const rendererEvent = await dispatchEvent(\n 'add',\n createObject(data, {\n value:\n flat && joinValues ? value.join(delimiter || ',') : cloneDeep(value)\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n value.push(\n flat\n ? scaffold || ''\n : {\n ...scaffold\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async removeItem(key: number) {\n const {\n flat,\n joinValues,\n delimiter,\n disabled,\n deleteApi,\n deleteConfirmText,\n data,\n env,\n translate: __,\n dispatchEvent\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n const ctx = createObject(data, value[key]);\n\n const rendererEvent = await dispatchEvent(\n 'delete',\n createObject(data, {\n key,\n value:\n flat && joinValues ? value.join(delimiter || ',') : cloneDeep(value)\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi as Api, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n value.splice(key, 1);\n this.keys.splice(key, 1);\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value);\n }\n\n handleChange(values: any, diff: any, {index}: any) {\n const {flat, store, joinValues, delimiter, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n value[index] = flat ? values.flat : {...values};\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n\n store.forms.forEach(\n form =>\n isAlive(form) &&\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n\n handleSingleFormChange(values: object) {\n this.props.onChange(\n {\n ...values\n },\n this.props.submitOnChange,\n true\n );\n }\n\n handleFormInit(values: any, {index}: any) {\n const {\n syncDefaultValue,\n flat,\n joinValues,\n delimiter,\n formInited,\n onChange,\n submitOnChange,\n setPrinstineValue\n } = this.props;\n\n this.subFormDefaultValues.push({\n index,\n values,\n setted: false\n });\n\n if (\n syncDefaultValue === false ||\n this.subFormDefaultValues.length !== this.subForms.length\n ) {\n return;\n }\n\n let value = this.getValueAsArray();\n let isModified = false;\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n ({index, values, setted}) => {\n const newValue = flat ? values.flat : {...values};\n\n if (!setted && isObjectShallowModified(value[index], newValue)) {\n value[index] = flat ? values.flat : {...values};\n isModified = true;\n }\n\n return {\n index,\n values,\n setted: true\n };\n }\n );\n\n if (!isModified) {\n return;\n }\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n formInited\n ? onChange(value, submitOnChange, true)\n : setPrinstineValue(value);\n }\n\n handleSingleFormInit(values: any) {\n const {syncDefaultValue, setPrinstineValue, value, nullable} = this.props;\n\n if (\n syncDefaultValue !== false &&\n !nullable &&\n isObjectShallowModified(value, values) &&\n setPrinstineValue\n ) {\n setPrinstineValue({\n ...values\n });\n }\n }\n\n handleAction(action: Action): any {\n const {onAction} = this.props;\n\n if (action.actionType === 'delete') {\n action.index !== void 0 && this.removeItem(action.index);\n return;\n }\n\n onAction && onAction.apply(null, arguments);\n }\n\n validate(): any {\n const {\n value,\n minLength,\n maxLength,\n messages,\n nullable,\n translate: __\n } = this.props;\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __(\n (messages && messages.minLengthValidateFailed) || 'Combo.minLength',\n {minLength}\n );\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __(\n (messages && messages.maxLengthValidateFailed) || 'Combo.maxLength',\n {maxLength}\n );\n } else if (this.subForms.length && (!nullable || value)) {\n return Promise.all(this.subForms.map(item => item.validate())).then(\n values => {\n if (~values.indexOf(false)) {\n return __(\n (messages && messages.validateFailed) || 'validateFailed'\n );\n }\n\n return;\n }\n );\n }\n }\n\n flush() {\n this.subForms.forEach(form => form.flush());\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}Combo-items`) as HTMLElement,\n {\n group: `combo-${this.id}`,\n animation: 150,\n handle: `.${ns}Combo-itemDrager`,\n ghostClass: `${ns}Combo-item--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.keys.splice(e.newIndex, 0, this.keys.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 refsMap: {\n [propName: number]: any;\n } = {};\n\n makeFormRef = memoize(\n (index: number) => (ref: any) => this.formRef(ref, index)\n );\n\n formRef(ref: any, index: number = 0) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.subForms[index] = ref;\n this.refsMap[index] = ref;\n } else {\n const form = this.refsMap[index];\n this.subForms = this.subForms.filter(item => item !== form);\n this.subFormDefaultValues = this.subFormDefaultValues.filter(\n ({index: dIndex}) => dIndex !== index\n );\n delete this.refsMap[index];\n }\n }\n\n memoizedFormatValue = memoize(\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) => {\n return createObject(\n extendObject(data, {index, __index: index, ...data}),\n {\n ...value,\n ...(Array.isArray(syncFields) ? pickVars(data, syncFields!) : null)\n }\n );\n },\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) =>\n Array.isArray(syncFields)\n ? JSON.stringify([value, index, data, pickVars(data, syncFields)])\n : strictMode\n ? JSON.stringify([value, index])\n : JSON.stringify([value, index, data])\n );\n\n formatValue(value: any, index: number = -1) {\n const {flat, data, strictMode, syncFields} = this.props;\n\n if (flat) {\n value = {\n flat: value\n };\n }\n\n value = value || this.defaultValue;\n\n return this.memoizedFormatValue(\n strictMode !== false,\n syncFields,\n value,\n index,\n data\n );\n }\n\n pickCondition(value: any): ComboCondition | null {\n const conditions: Array<ComboCondition> = this.props.conditions!;\n return find(\n conditions,\n item => item.test && evalExpression(item.test, value)\n ) as ComboCondition | null;\n }\n\n handleComboTypeChange(index: number, selection: any) {\n const {multiple, onChange, value, flat, submitOnChange} = this.props;\n\n const conditions: Array<ComboCondition> = this.props\n .conditions as Array<ComboCondition>;\n const condition = find(conditions, item => item.label === selection.label);\n\n if (!condition) {\n return;\n }\n\n if (multiple) {\n const newValue = this.getValueAsArray();\n newValue.splice(index, 1, {\n ...dataMapping(condition.scaffold || {}, newValue[index])\n });\n\n // todo 支持 flat\n onChange(newValue, submitOnChange, true);\n } else {\n onChange(\n {\n ...dataMapping(condition.scaffold || {}, value)\n },\n submitOnChange,\n true\n );\n }\n }\n\n @autobind\n async handleTabSelect(key: number) {\n const {store, data, dispatchEvent} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'tabsChange',\n createObject(data, {\n key\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n store.setActiveKey(key);\n }\n\n @autobind\n setNull(e: React.MouseEvent) {\n e.preventDefault();\n const {onChange} = this.props;\n onChange(null);\n\n Array.isArray(this.subForms) &&\n this.subForms.forEach(subForm => {\n subForm.clearErrors();\n });\n }\n\n renderPlaceholder() {\n const {placeholder, translate: __} = this.props;\n return (\n <span className=\"text-muted\">\n {__(placeholder || 'placeholder.noData')}\n </span>\n );\n }\n\n renderTabsMode() {\n const {\n classPrefix: ns,\n classnames: cx,\n tabsStyle,\n formClassName,\n render,\n disabled,\n store,\n flat,\n subFormMode,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n deleteIcon,\n tabsLabelTpl,\n conditions,\n changeImmediately,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n if (!Array.isArray(value)) {\n value = []; // 让 tabs 输出,否则会没有新增按钮。\n }\n\n // todo 支持拖拽排序。\n\n return (\n <CTabs\n className={'ComboTabs'}\n mode={tabsStyle}\n activeKey={store.activeKey}\n onSelect={this.handleTabSelect}\n additionBtns={\n !disabled ? (\n <li className={cx(`Tabs-link ComboTabs-addLink`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n icon: addIcon ? (\n <Icon icon=\"plus\" className=\"icon\" />\n ) : (\n ''\n ),\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <a\n onClick={this.addItem}\n data-position=\"left\"\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </a>\n )\n ) : null}\n </li>\n ) : null\n }\n >\n {value.map((value: any, index: number) => {\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null | undefined = null;\n let toolbar = undefined;\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n toolbar = (\n <div\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </div>\n );\n }\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n const hasUnique =\n Array.isArray(finnalControls) &&\n finnalControls.some((item: any) => item.unique);\n\n return (\n <Tab\n title={filter(\n tabsLabelTpl ||\n __('{{index}}', {index: (data as any).index + 1}),\n data\n )}\n key={this.keys[index] || (this.keys[index] = guid())}\n toolbar={toolbar}\n eventKey={index}\n // 不能按需渲染,因为 unique 会失效。\n mountOnEnter={!hasUnique}\n unmountOnExit={false}\n >\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: subFormMode,\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n canAccessSuperData,\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </Tab>\n );\n })}\n </CTabs>\n );\n }\n\n renderMultipe() {\n if (this.props.tabsMode) {\n return this.renderTabsMode();\n }\n\n const {\n classPrefix: ns,\n classnames: cx,\n formClassName,\n render,\n multiLine,\n addButtonClassName,\n disabled,\n store,\n flat,\n subFormMode,\n draggable,\n draggableTip,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n dragIcon,\n deleteIcon,\n noBorder,\n conditions,\n lazyLoad,\n changeImmediately,\n placeholder,\n translate: __,\n itemClassName,\n itemsWrapperClassName\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n return (\n <div\n className={cx(\n `Combo Combo--multi`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : '',\n !disabled && draggable && Array.isArray(value) && value.length > 1\n ? 'is-draggable'\n : ''\n )}\n >\n <div className={cx(`Combo-items`, itemsWrapperClassName)}>\n {Array.isArray(value) && value.length ? (\n value.map((value, index, thelist) => {\n let delBtn: any = null;\n\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n delBtn = (\n <Button\n key=\"remove\"\n className={cx('Combo-delBtn')}\n disabled={!store.removable}\n tooltip={__('delete')}\n tooltipPlacement=\"bottom\"\n onClick={this.removeItem.bind(this, index)}\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </Button>\n );\n }\n\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n return (\n <div\n className={cx(`Combo-item`, itemClassName)}\n key={this.keys[index] || (this.keys[index] = guid())}\n >\n {!disabled && draggable && thelist.length > 1 ? (\n <div className={cx('Combo-itemDrager')}>\n <a\n key=\"drag\"\n data-tooltip={__('Combo.dragDropSort')}\n data-position=\"bottom\"\n >\n {dragIcon ? (\n <i className={dragIcon} />\n ) : (\n <Icon icon=\"drag-bar\" className=\"icon\" />\n )}\n </a>\n </div>\n ) : null}\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? subFormMode : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n lazyLoad,\n canAccessSuperData,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n {delBtn}\n </div>\n );\n })\n ) : placeholder ? (\n <div className={cx(`Combo-placeholder`)}>{__(placeholder)}</div>\n ) : null}\n </div>\n {!disabled ? (\n <div className={cx(`Combo-toolbar`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <Button\n level=\"default\"\n className={cx(`Combo-addBtn`, addButtonClassName)}\n block\n tooltip={__('Combo.add')}\n onClick={this.addItem}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </Button>\n )\n ) : null}\n {draggable ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1\n ? __(draggableTip)\n : ''}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n }\n\n renderSingle() {\n const {\n conditions,\n classnames: cx,\n render,\n value,\n multiLine,\n formClassName,\n canAccessSuperData,\n noBorder,\n disabled,\n typeSwitchable,\n nullable,\n translate: __,\n itemClassName\n } = this.props;\n\n let items = this.props.items;\n const data = isObject(value) ? this.formatValue(value) : this.defaultValue;\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n return (\n <div\n className={cx(\n `Combo Combo--single`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : ''\n )}\n >\n <div className={cx(`Combo-item`, itemClassName)}>\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, 0)}\n options={(conditions as Array<ComboCondition>).map(item => ({\n label: item.label,\n value: item.label\n }))}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n\n <div className={cx(`Combo-itemInner`)}>\n {items ? (\n render(\n 'single',\n {\n type: 'form',\n body: items,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? 'normal' : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n disabled: disabled,\n data: data,\n onChange: this.handleSingleFormChange,\n ref: this.makeFormRef(0),\n onInit: this.handleSingleFormInit,\n canAccessSuperData,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </div>\n {value && nullable ? (\n <a className={cx('Combo-setNullBtn')} href=\"#\" onClick={this.setNull}>\n {__('clear')}\n </a>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n formInited,\n multiple,\n className,\n classPrefix: ns,\n classnames: cx,\n disabled\n } = this.props;\n\n return formInited || typeof formInited === 'undefined' ? (\n <div className={cx(`ComboControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n </div>\n ) : null;\n }\n}\n\n@FormItem({\n type: 'combo',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class ComboControlRenderer extends ComboControl {}\n\n@FormItem({\n type: 'input-kv',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class KVControlRenderer extends ComboControl {}\n"
12
12
  ]
13
13
  }
@@ -158,7 +158,7 @@ var CityPicker = /** @class */ (function (_super) {
158
158
  };
159
159
  CityPicker.prototype.syncOut = function () {
160
160
  var _a = this.props, onChange = _a.onChange, allowStreet = _a.allowStreet, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter;
161
- var _b = this.state, code = _b.code, province = _b.province, city = _b.city, district = _b.district, street = _b.street;
161
+ var _b = this.state, code = _b.code, province = _b.province, city = _b.city, district = _b.district, street = _b.street, provinceCode = _b.provinceCode, cityCode = _b.cityCode, districtCode = _b.districtCode;
162
162
  if (typeof extractValue === 'undefined' ? joinValues : extractValue) {
163
163
  code
164
164
  ? onChange(allowStreet && street
@@ -169,8 +169,11 @@ var CityPicker = /** @class */ (function (_super) {
169
169
  else {
170
170
  onChange({
171
171
  code: code,
172
+ provinceCode: provinceCode,
172
173
  province: province,
174
+ cityCode: cityCode,
173
175
  city: city,
176
+ districtCode: districtCode,
174
177
  district: district,
175
178
  street: street
176
179
  });