amis 1.8.0-beta.5 → 1.8.0-beta.9

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 (273) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/actions/PageAction.d.ts +32 -0
  4. package/lib/actions/PageAction.js +72 -0
  5. package/lib/actions/PageAction.js.map +13 -0
  6. package/lib/actions/index.d.ts +1 -0
  7. package/lib/actions/index.js +1 -0
  8. package/lib/actions/index.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +84 -84
  10. package/lib/components/Cascader.d.ts +2 -0
  11. package/lib/components/Cascader.js +28 -12
  12. package/lib/components/Cascader.js.map +2 -2
  13. package/lib/components/Checkbox.js +2 -2
  14. package/lib/components/Checkbox.js.map +2 -2
  15. package/lib/components/Collapse.d.ts +20 -20
  16. package/lib/components/DatePicker.d.ts +84 -84
  17. package/lib/components/DatePicker.js +5 -5
  18. package/lib/components/DatePicker.js.map +2 -2
  19. package/lib/components/Drawer.js +1 -1
  20. package/lib/components/Drawer.js.map +2 -2
  21. package/lib/components/ListGroup.d.ts +21 -21
  22. package/lib/components/Modal.js +1 -1
  23. package/lib/components/Modal.js.map +2 -2
  24. package/lib/components/Overlay.d.ts +1 -0
  25. package/lib/components/Overlay.js +4 -3
  26. package/lib/components/Overlay.js.map +2 -2
  27. package/lib/components/PullRefresh.d.ts +86 -0
  28. package/lib/components/PullRefresh.js +135 -0
  29. package/lib/components/PullRefresh.js.map +13 -0
  30. package/lib/components/Spinner.d.ts +200 -107
  31. package/lib/components/Spinner.js +30 -26
  32. package/lib/components/Spinner.js.map +2 -2
  33. package/lib/components/Tooltip.d.ts +4 -0
  34. package/lib/components/Tooltip.js +6 -4
  35. package/lib/components/Tooltip.js.map +2 -2
  36. package/lib/components/TooltipWrapper.d.ts +60 -4
  37. package/lib/components/TooltipWrapper.js +27 -8
  38. package/lib/components/TooltipWrapper.js.map +2 -2
  39. package/lib/components/Transfer.d.ts +84 -84
  40. package/lib/components/TransferDropDown.d.ts +84 -84
  41. package/lib/components/Tree.d.ts +87 -85
  42. package/lib/components/Tree.js +13 -5
  43. package/lib/components/Tree.js.map +2 -2
  44. package/lib/components/TreeSelection.d.ts +84 -84
  45. package/lib/components/calendar/TimeView.d.ts +1 -0
  46. package/lib/components/calendar/TimeView.js +7 -0
  47. package/lib/components/calendar/TimeView.js.map +2 -2
  48. package/lib/components/condition-builder/Expression.d.ts +1 -0
  49. package/lib/components/condition-builder/Expression.js +4 -4
  50. package/lib/components/condition-builder/Expression.js.map +2 -2
  51. package/lib/components/condition-builder/Field.d.ts +1 -0
  52. package/lib/components/condition-builder/Field.js +3 -2
  53. package/lib/components/condition-builder/Field.js.map +2 -2
  54. package/lib/components/condition-builder/Group.d.ts +1 -0
  55. package/lib/components/condition-builder/Group.js +2 -2
  56. package/lib/components/condition-builder/Group.js.map +2 -2
  57. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  58. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  59. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  60. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  61. package/lib/components/condition-builder/InputSwitch.js +2 -2
  62. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  63. package/lib/components/condition-builder/Item.d.ts +1 -0
  64. package/lib/components/condition-builder/Item.js +9 -8
  65. package/lib/components/condition-builder/Item.js.map +2 -2
  66. package/lib/components/condition-builder/Value.d.ts +1 -0
  67. package/lib/components/condition-builder/Value.js +5 -5
  68. package/lib/components/condition-builder/Value.js.map +2 -2
  69. package/lib/components/condition-builder/index.d.ts +1 -0
  70. package/lib/components/condition-builder/index.js +2 -2
  71. package/lib/components/condition-builder/index.js.map +2 -2
  72. package/lib/components/formula/Editor.d.ts +87 -85
  73. package/lib/components/formula/Editor.js +10 -6
  74. package/lib/components/formula/Editor.js.map +2 -2
  75. package/lib/components/formula/Picker.js +3 -1
  76. package/lib/components/formula/Picker.js.map +2 -2
  77. package/lib/index.js +1 -1
  78. package/lib/locale/de-DE.js +5 -1
  79. package/lib/locale/de-DE.js.map +2 -2
  80. package/lib/locale/en-US.js +5 -1
  81. package/lib/locale/en-US.js.map +2 -2
  82. package/lib/locale/zh-CN.js +5 -1
  83. package/lib/locale/zh-CN.js.map +2 -2
  84. package/lib/renderers/CRUD.js +1 -1
  85. package/lib/renderers/CRUD.js.map +2 -2
  86. package/lib/renderers/Form/Combo.d.ts +2 -1
  87. package/lib/renderers/Form/Combo.js +51 -14
  88. package/lib/renderers/Form/Combo.js.map +2 -2
  89. package/lib/renderers/Form/DiffEditor.d.ts +1 -0
  90. package/lib/renderers/Form/InputCity.d.ts +84 -84
  91. package/lib/renderers/Form/InputDate.js +10 -3
  92. package/lib/renderers/Form/InputDate.js.map +2 -2
  93. package/lib/renderers/Form/InputDateRange.js +12 -3
  94. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  95. package/lib/renderers/Form/InputFile.js +13 -5
  96. package/lib/renderers/Form/InputFile.js.map +2 -2
  97. package/lib/renderers/Form/InputImage.js +12 -4
  98. package/lib/renderers/Form/InputImage.js.map +2 -2
  99. package/lib/renderers/Form/InputMonthRange.js +5 -1
  100. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  101. package/lib/renderers/Form/InputText.js +8 -4
  102. package/lib/renderers/Form/InputText.js.map +2 -2
  103. package/lib/renderers/Form/InputTree.d.ts +5 -0
  104. package/lib/renderers/Form/InputTree.js +51 -2
  105. package/lib/renderers/Form/InputTree.js.map +2 -2
  106. package/lib/renderers/Form/Item.d.ts +68 -70
  107. package/lib/renderers/Form/Item.js.map +2 -2
  108. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  109. package/lib/renderers/Form/NestedSelect.js +14 -5
  110. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  111. package/lib/renderers/Form/Options.js +61 -27
  112. package/lib/renderers/Form/Options.js.map +2 -2
  113. package/lib/renderers/Form/Select.js +4 -2
  114. package/lib/renderers/Form/Select.js.map +2 -2
  115. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  116. package/lib/renderers/Form/TreeSelect.js +56 -10
  117. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  118. package/lib/renderers/Form/wrapControl.js +3 -3
  119. package/lib/renderers/Form/wrapControl.js.map +2 -2
  120. package/lib/renderers/Nav.d.ts +82 -67
  121. package/lib/renderers/Nav.js +47 -11
  122. package/lib/renderers/Nav.js.map +2 -2
  123. package/lib/renderers/Page.d.ts +20 -0
  124. package/lib/renderers/Page.js +51 -14
  125. package/lib/renderers/Page.js.map +2 -2
  126. package/lib/renderers/Service.d.ts +2 -0
  127. package/lib/renderers/Service.js +52 -20
  128. package/lib/renderers/Service.js.map +2 -2
  129. package/lib/renderers/Spinner.d.ts +58 -2
  130. package/lib/renderers/Spinner.js +8 -1
  131. package/lib/renderers/Spinner.js.map +2 -2
  132. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  133. package/lib/renderers/Table/ColumnToggler.js +11 -6
  134. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  135. package/lib/renderers/Table/TableCell.js +27 -1
  136. package/lib/renderers/Table/TableCell.js.map +2 -2
  137. package/lib/renderers/Table/index.d.ts +1 -0
  138. package/lib/renderers/Table/index.js +19 -11
  139. package/lib/renderers/Table/index.js.map +2 -2
  140. package/lib/renderers/TooltipWrapper.d.ts +31 -6
  141. package/lib/renderers/TooltipWrapper.js +18 -8
  142. package/lib/renderers/TooltipWrapper.js.map +2 -2
  143. package/lib/renderers/Wizard.js +23 -14
  144. package/lib/renderers/Wizard.js.map +2 -2
  145. package/lib/store/crud.js +23 -13
  146. package/lib/store/crud.js.map +2 -2
  147. package/lib/themes/ang-ie11.css +313 -100
  148. package/lib/themes/ang.css +322 -103
  149. package/lib/themes/ang.css.map +1 -1
  150. package/lib/themes/antd-ie11.css +429 -216
  151. package/lib/themes/antd.css +323 -104
  152. package/lib/themes/antd.css.map +1 -1
  153. package/lib/themes/cxd-ie11.css +424 -211
  154. package/lib/themes/cxd.css +324 -105
  155. package/lib/themes/cxd.css.map +1 -1
  156. package/lib/themes/dark-ie11.css +313 -100
  157. package/lib/themes/dark.css +322 -103
  158. package/lib/themes/dark.css.map +1 -1
  159. package/lib/themes/default-ie11.css +424 -211
  160. package/lib/themes/default.css +324 -105
  161. package/lib/themes/default.css.map +1 -1
  162. package/lib/types.d.ts +3 -1
  163. package/lib/types.js.map +1 -1
  164. package/lib/utils/ColorScale.d.ts +19 -0
  165. package/lib/utils/ColorScale.js +104 -0
  166. package/lib/utils/ColorScale.js.map +13 -0
  167. package/lib/utils/api.js +20 -4
  168. package/lib/utils/api.js.map +2 -2
  169. package/lib/utils/dom.d.ts +1 -1
  170. package/lib/utils/dom.js +7 -5
  171. package/lib/utils/dom.js.map +2 -2
  172. package/package.json +3 -2
  173. package/schema.json +29645 -29137
  174. package/scss/_properties.scss +33 -15
  175. package/scss/components/_column-toggler.scss +21 -11
  176. package/scss/components/_formula.scss +1 -1
  177. package/scss/components/_nav.scss +51 -6
  178. package/scss/components/_pull-refresh.scss +25 -0
  179. package/scss/components/_spinner.scss +134 -56
  180. package/scss/components/_tooltip.scss +4 -9
  181. package/scss/components/form/_checks.scss +1 -0
  182. package/scss/components/form/_combo.scss +13 -1
  183. package/scss/components/form/_date-range.scss +11 -2
  184. package/scss/components/form/_date.scss +11 -0
  185. package/scss/components/form/_file.scss +4 -0
  186. package/scss/components/form/_form.scss +15 -8
  187. package/scss/components/form/_transfer.scss +3 -2
  188. package/scss/themes/_antd-variables.scss +1 -1
  189. package/scss/themes/_common.scss +1 -0
  190. package/scss/themes/_cxd-variables.scss +2 -2
  191. package/sdk/ang-ie11.css +286 -80
  192. package/sdk/ang.css +294 -82
  193. package/sdk/antd-ie11.css +402 -196
  194. package/sdk/antd.css +295 -83
  195. package/sdk/barcode.js +51 -51
  196. package/sdk/charts.js +14 -14
  197. package/sdk/codemirror.js +7 -7
  198. package/sdk/color-picker.js +65 -65
  199. package/sdk/cropperjs.js +2 -2
  200. package/sdk/cxd-ie11.css +397 -191
  201. package/sdk/cxd.css +296 -84
  202. package/sdk/dark-ie11.css +286 -80
  203. package/sdk/dark.css +294 -82
  204. package/sdk/exceljs.js +1 -1
  205. package/sdk/locale/de-DE.js +5 -1
  206. package/sdk/markdown.js +69 -69
  207. package/sdk/papaparse.js +1 -1
  208. package/sdk/renderers/Form/CityDB.js +1 -1
  209. package/sdk/rest.js +17 -17
  210. package/sdk/rich-text.js +62 -62
  211. package/sdk/sdk-ie11.css +397 -191
  212. package/sdk/sdk.css +296 -84
  213. package/sdk/sdk.js +1300 -1260
  214. package/sdk/thirds/hls.js/hls.js +1 -1
  215. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  216. package/sdk/tinymce.js +57 -57
  217. package/src/Schema.ts +10 -0
  218. package/src/actions/PageAction.ts +62 -0
  219. package/src/actions/index.ts +1 -0
  220. package/src/components/Cascader.tsx +37 -11
  221. package/src/components/Checkbox.tsx +1 -1
  222. package/src/components/DatePicker.tsx +7 -5
  223. package/src/components/Drawer.tsx +1 -0
  224. package/src/components/Modal.tsx +1 -0
  225. package/src/components/Overlay.tsx +6 -3
  226. package/src/components/PullRefresh.tsx +197 -0
  227. package/src/components/Spinner.tsx +77 -42
  228. package/src/components/Tooltip.tsx +12 -3
  229. package/src/components/TooltipWrapper.tsx +120 -33
  230. package/src/components/Tree.tsx +19 -5
  231. package/src/components/calendar/TimeView.tsx +12 -0
  232. package/src/components/condition-builder/Expression.tsx +6 -1
  233. package/src/components/condition-builder/Field.tsx +5 -1
  234. package/src/components/condition-builder/Group.tsx +4 -1
  235. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  236. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  237. package/src/components/condition-builder/Item.tsx +28 -4
  238. package/src/components/condition-builder/Value.tsx +7 -1
  239. package/src/components/condition-builder/index.tsx +4 -2
  240. package/src/components/formula/Editor.tsx +20 -15
  241. package/src/components/formula/Picker.tsx +9 -5
  242. package/src/locale/de-DE.ts +5 -1
  243. package/src/locale/en-US.ts +5 -1
  244. package/src/locale/zh-CN.ts +5 -1
  245. package/src/renderers/CRUD.tsx +1 -1
  246. package/src/renderers/Form/Combo.tsx +102 -46
  247. package/src/renderers/Form/InputDate.tsx +18 -4
  248. package/src/renderers/Form/InputDateRange.tsx +19 -2
  249. package/src/renderers/Form/InputFile.tsx +16 -4
  250. package/src/renderers/Form/InputImage.tsx +15 -3
  251. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  252. package/src/renderers/Form/InputText.tsx +14 -2
  253. package/src/renderers/Form/InputTree.tsx +40 -2
  254. package/src/renderers/Form/Item.tsx +6 -0
  255. package/src/renderers/Form/NestedSelect.tsx +23 -4
  256. package/src/renderers/Form/Options.tsx +26 -7
  257. package/src/renderers/Form/Select.tsx +5 -3
  258. package/src/renderers/Form/TreeSelect.tsx +47 -9
  259. package/src/renderers/Form/wrapControl.tsx +2 -2
  260. package/src/renderers/Nav.tsx +230 -32
  261. package/src/renderers/Page.tsx +89 -33
  262. package/src/renderers/Service.tsx +62 -27
  263. package/src/renderers/Spinner.tsx +85 -3
  264. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  265. package/src/renderers/Table/TableCell.tsx +39 -1
  266. package/src/renderers/Table/index.tsx +34 -21
  267. package/src/renderers/TooltipWrapper.tsx +64 -28
  268. package/src/renderers/Wizard.tsx +36 -25
  269. package/src/store/crud.ts +10 -0
  270. package/src/types.ts +4 -0
  271. package/src/utils/ColorScale.ts +138 -0
  272. package/src/utils/api.ts +26 -4
  273. package/src/utils/dom.tsx +7 -6
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConditionItem = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var react_dom_1 = require("react-dom");
6
7
  var types_1 = require("./types");
7
8
  var theme_1 = require("../../theme");
8
9
  var icons_1 = require("../icons");
@@ -61,13 +62,13 @@ var ConditionItem = /** @class */ (function (_super) {
61
62
  onChange(value, this.props.index);
62
63
  };
63
64
  ConditionItem.prototype.renderLeft = function () {
64
- var _a = this.props, value = _a.value, fields = _a.fields, funcs = _a.funcs, config = _a.config, disabled = _a.disabled, fieldClassName = _a.fieldClassName, searchable = _a.searchable;
65
- return (react_1.default.createElement(Expression_1.default, { config: config, funcs: funcs, value: value.left, fieldClassName: fieldClassName, onChange: this.handleLeftChange, fields: fields, disabled: disabled, searchable: searchable, allowedTypes: ['field', 'func'].filter(function (type) { return type === 'field' || type === 'func'; }) }));
65
+ var _a = this.props, value = _a.value, fields = _a.fields, funcs = _a.funcs, config = _a.config, disabled = _a.disabled, fieldClassName = _a.fieldClassName, searchable = _a.searchable, popOverContainer = _a.popOverContainer;
66
+ return (react_1.default.createElement(Expression_1.default, { config: config, funcs: funcs, value: value.left, fieldClassName: fieldClassName, onChange: this.handleLeftChange, fields: fields, disabled: disabled, searchable: searchable, popOverContainer: popOverContainer, allowedTypes: ['field', 'func'].filter(function (type) { return type === 'field' || type === 'func'; }) }));
66
67
  };
67
68
  ConditionItem.prototype.renderOperator = function () {
68
69
  var _this = this;
69
70
  var _a, _b, _c, _d;
70
- var _e = this.props, funcs = _e.funcs, config = _e.config, fields = _e.fields, value = _e.value, cx = _e.classnames, disabled = _e.disabled;
71
+ var _e = this.props, funcs = _e.funcs, config = _e.config, fields = _e.fields, value = _e.value, cx = _e.classnames, disabled = _e.disabled, popOverContainer = _e.popOverContainer;
71
72
  var left = value === null || value === void 0 ? void 0 : value.left;
72
73
  var operators = [];
73
74
  if (((_a = left) === null || _a === void 0 ? void 0 : _a.type) === 'func') {
@@ -84,7 +85,7 @@ var ConditionItem = /** @class */ (function (_super) {
84
85
  }
85
86
  if (Array.isArray(operators) && operators.length) {
86
87
  var __1 = this.props.translate;
87
- return (react_1.default.createElement(PopOverContainer_1.default, { popOverRender: function (_a) {
88
+ return (react_1.default.createElement(PopOverContainer_1.default, { popOverContainer: popOverContainer || (function () { return (0, react_dom_1.findDOMNode)(_this); }), popOverRender: function (_a) {
88
89
  var onClose = _a.onClose;
89
90
  return (react_1.default.createElement(GroupedSelection_1.default, { onClick: onClose, option2value: option2value, onChange: _this.handleOperatorChange, options: operators.map(function (operator) { return ({
90
91
  label: __1(config_1.OperationMap[operator]),
@@ -127,7 +128,7 @@ var ConditionItem = /** @class */ (function (_super) {
127
128
  };
128
129
  ConditionItem.prototype.renderRightWidgets = function (type, op) {
129
130
  var _a, _b, _c;
130
- var _d = this.props, funcs = _d.funcs, value = _d.value, data = _d.data, fields = _d.fields, config = _d.config, cx = _d.classnames, disabled = _d.disabled, formula = _d.formula;
131
+ var _d = this.props, funcs = _d.funcs, value = _d.value, data = _d.data, fields = _d.fields, config = _d.config, cx = _d.classnames, disabled = _d.disabled, formula = _d.formula, popOverContainer = _d.popOverContainer;
131
132
  var field = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, config.types[type]), { type: type });
132
133
  if (((_a = value === null || value === void 0 ? void 0 : value.left) === null || _a === void 0 ? void 0 : _a.type) === 'field') {
133
134
  var leftField = (0, helper_1.findTree)(fields, function (i) { return i.name === (value === null || value === void 0 ? void 0 : value.left).field; });
@@ -141,13 +142,13 @@ var ConditionItem = /** @class */ (function (_super) {
141
142
  else if (op === 'between' || op === 'not_between') {
142
143
  return (react_1.default.createElement(react_1.default.Fragment, null,
143
144
  react_1.default.createElement(Expression_1.default, { config: config, funcs: funcs, valueField: field, value: (_b = value.right) === null || _b === void 0 ? void 0 : _b[0], data: data, onChange: this.handleRightSubChange.bind(this, 0), fields: fields, allowedTypes: (field === null || field === void 0 ? void 0 : field.valueTypes) ||
144
- config.valueTypes || ['value', 'field', 'func', 'formula'], disabled: disabled, formula: formula }),
145
+ config.valueTypes || ['value', 'field', 'func', 'formula'], disabled: disabled, formula: formula, popOverContainer: popOverContainer }),
145
146
  react_1.default.createElement("span", { className: cx('CBSeprator') }, "~"),
146
147
  react_1.default.createElement(Expression_1.default, { config: config, funcs: funcs, valueField: field, value: (_c = value.right) === null || _c === void 0 ? void 0 : _c[1], data: data, onChange: this.handleRightSubChange.bind(this, 1), fields: fields, allowedTypes: (field === null || field === void 0 ? void 0 : field.valueTypes) ||
147
- config.valueTypes || ['value', 'field', 'func', 'formula'], disabled: disabled, formula: formula })));
148
+ config.valueTypes || ['value', 'field', 'func', 'formula'], disabled: disabled, formula: formula, popOverContainer: popOverContainer })));
148
149
  }
149
150
  return (react_1.default.createElement(Expression_1.default, { config: config, op: op, funcs: funcs, valueField: field, value: value.right, data: data, onChange: this.handleRightChange, fields: fields, allowedTypes: (field === null || field === void 0 ? void 0 : field.valueTypes) ||
150
- config.valueTypes || ['value', 'field', 'func', 'formula'], disabled: disabled, formula: formula }));
151
+ config.valueTypes || ['value', 'field', 'func', 'formula'], disabled: disabled, formula: formula, popOverContainer: popOverContainer }));
151
152
  };
152
153
  ConditionItem.prototype.render = function () {
153
154
  var cx = this.props.classnames;
@@ -6,8 +6,8 @@
6
6
  "/src/components/condition-builder/Item.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 {\n Fields,\n ConditionRule,\n ConditionGroupValue,\n Funcs,\n ExpressionFunc,\n Func,\n Field,\n FieldSimple,\n ExpressionField,\n OperatorType,\n ExpressionComplex\n} from './types';\nimport {ThemeProps, themeable} from '../../theme';\nimport {Icon} from '../icons';\nimport {autobind, findTree, noop} from '../../utils/helper';\nimport Expression from './Expression';\nimport {Config, OperationMap} from './config';\nimport PopOverContainer from '../PopOverContainer';\nimport GroupedSelection from '../GroupedSelection';\nimport ResultBox from '../ResultBox';\nimport {localeable, LocaleProps} from '../../locale';\nimport {FormulaPickerProps} from '../formula/Picker';\n\nconst option2value = (item: any) => item.value;\n\nexport interface ConditionItemProps extends ThemeProps, LocaleProps {\n config: Config;\n fields: Fields;\n funcs?: Funcs;\n index?: number;\n value: ConditionRule;\n data?: any;\n disabled?: boolean;\n searchable?: boolean;\n onChange: (value: ConditionRule, index?: number) => void;\n fieldClassName?: string;\n formula?: FormulaPickerProps;\n}\n\nexport class ConditionItem extends React.Component<ConditionItemProps> {\n @autobind\n handleLeftFieldSelect(field: any) {\n const value = {...this.props.value};\n const onChange = this.props.onChange;\n value.left = field;\n onChange(value, this.props.index);\n }\n\n @autobind\n handleLeftInputTypeChange(type: 'func' | 'field') {\n const value = {...this.props.value};\n const onChange = this.props.onChange;\n\n if (type === 'func') {\n value.left = {type: 'func'};\n } else {\n value.left = '';\n }\n\n onChange(value, this.props.index);\n }\n\n @autobind\n handleLeftChange(leftValue: any) {\n const value = {\n ...this.props.value,\n left: leftValue,\n op: undefined,\n right: undefined\n };\n const onChange = this.props.onChange;\n\n onChange(value, this.props.index);\n }\n\n @autobind\n handleOperatorChange(op: OperatorType) {\n const value = {...this.props.value, op: op, right: undefined};\n this.props.onChange(value, this.props.index);\n }\n\n @autobind\n handleRightChange(rightValue: any) {\n const value = {...this.props.value, right: rightValue};\n const onChange = this.props.onChange;\n\n onChange(value, this.props.index);\n }\n\n handleRightSubChange(index: number, rightValue: any) {\n const origin = Array.isArray(this.props.value?.right)\n ? this.props.value.right.concat()\n : [];\n\n origin[index] = rightValue;\n const value = {...this.props.value, right: origin};\n const onChange = this.props.onChange;\n\n onChange(value, this.props.index);\n }\n\n renderLeft() {\n const {value, fields, funcs, config, disabled, fieldClassName, searchable} =\n this.props;\n return (\n <Expression\n config={config}\n funcs={funcs}\n value={value.left}\n fieldClassName={fieldClassName}\n onChange={this.handleLeftChange}\n fields={fields}\n disabled={disabled}\n searchable={searchable}\n allowedTypes={\n ['field', 'func'].filter(\n type => type === 'field' || type === 'func'\n ) as any\n }\n />\n );\n }\n\n renderOperator() {\n const {funcs, config, fields, value, classnames: cx, disabled} = this.props;\n const left = value?.left;\n let operators: Array<string> = [];\n\n if ((left as ExpressionFunc)?.type === 'func') {\n const func: Func = findTree(\n funcs!,\n (i: Func) => i.type === (left as ExpressionFunc).func\n ) as Func;\n\n if (func) {\n operators = config.types[func.returnType]?.operators;\n }\n } else if ((left as ExpressionField)?.type === 'field') {\n const field: FieldSimple = findTree(\n fields,\n (i: FieldSimple) => i.name === (left as ExpressionField).field\n ) as FieldSimple;\n\n if (field) {\n operators = field.operators || config.types[field.type]?.operators;\n }\n }\n\n if (Array.isArray(operators) && operators.length) {\n const __ = this.props.translate;\n return (\n <PopOverContainer\n popOverRender={({onClose}) => (\n <GroupedSelection\n onClick={onClose}\n option2value={option2value}\n onChange={this.handleOperatorChange}\n options={operators.map(operator => ({\n label: __(OperationMap[operator as keyof typeof OperationMap]),\n value: operator\n }))}\n value={value.op}\n multiple={false}\n />\n )}\n >\n {({onClick, isOpened, ref}) => (\n <div className={cx('CBGroup-operator')}>\n <ResultBox\n className={cx(\n 'CBGroup-operatorInput',\n isOpened ? 'is-active' : ''\n )}\n ref={ref}\n allowInput={false}\n result={__(\n OperationMap[value?.op as keyof typeof OperationMap]\n )}\n onResultChange={noop}\n onResultClick={onClick}\n disabled={disabled}\n placeholder={__('Condition.cond_placeholder')}\n >\n <span className={cx('CBGroup-operatorCaret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </ResultBox>\n </div>\n )}\n </PopOverContainer>\n );\n }\n\n return null;\n }\n\n renderRight() {\n const {value, funcs, fields} = this.props;\n\n if (!value?.op) {\n return null;\n }\n\n const left = value?.left;\n let leftType = '';\n\n if ((left as ExpressionFunc)?.type === 'func') {\n const func: Func = findTree(\n funcs!,\n (i: Func) => i.type === (left as ExpressionFunc).func\n ) as Func;\n\n if (func) {\n leftType = func.returnType;\n }\n } else if ((left as ExpressionField)?.type === 'field') {\n const field: FieldSimple = findTree(\n fields,\n (i: FieldSimple) => i.name === (left as ExpressionField).field\n ) as FieldSimple;\n\n if (field) {\n leftType = field.type;\n }\n }\n\n if (leftType) {\n return this.renderRightWidgets(leftType, value.op!);\n }\n\n return null;\n }\n\n renderRightWidgets(type: string, op: OperatorType) {\n const {\n funcs,\n value,\n data,\n fields,\n config,\n classnames: cx,\n disabled,\n formula\n } = this.props;\n let field = {\n ...config.types[type],\n type\n } as FieldSimple;\n\n if ((value?.left as ExpressionField)?.type === 'field') {\n const leftField: FieldSimple = findTree(\n fields,\n (i: FieldSimple) => i.name === (value?.left as ExpressionField).field\n ) as FieldSimple;\n\n if (leftField) {\n field = {\n ...field,\n ...leftField\n };\n }\n }\n\n if (op === 'is_empty' || op === 'is_not_empty') {\n return null;\n } else if (op === 'between' || op === 'not_between') {\n return (\n <>\n <Expression\n config={config}\n funcs={funcs}\n valueField={field}\n value={(value.right as Array<ExpressionComplex>)?.[0]}\n data={data}\n onChange={this.handleRightSubChange.bind(this, 0)}\n fields={fields}\n allowedTypes={\n field?.valueTypes ||\n config.valueTypes || ['value', 'field', 'func', 'formula']\n }\n disabled={disabled}\n formula={formula}\n />\n\n <span className={cx('CBSeprator')}>~</span>\n\n <Expression\n config={config}\n funcs={funcs}\n valueField={field}\n value={(value.right as Array<ExpressionComplex>)?.[1]}\n data={data}\n onChange={this.handleRightSubChange.bind(this, 1)}\n fields={fields}\n allowedTypes={\n field?.valueTypes ||\n config.valueTypes || ['value', 'field', 'func', 'formula']\n }\n disabled={disabled}\n formula={formula}\n />\n </>\n );\n }\n\n return (\n <Expression\n config={config}\n op={op}\n funcs={funcs}\n valueField={field}\n value={value.right}\n data={data}\n onChange={this.handleRightChange}\n fields={fields}\n allowedTypes={\n field?.valueTypes ||\n config.valueTypes || ['value', 'field', 'func', 'formula']\n }\n disabled={disabled}\n formula={formula}\n />\n );\n }\n\n render() {\n const {classnames: cx} = this.props;\n\n return (\n <div className={cx('CBItem')}>\n {this.renderLeft()}\n {this.renderOperator()}\n {this.renderRight()}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(ConditionItem));\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {\n Fields,\n ConditionRule,\n ConditionGroupValue,\n Funcs,\n ExpressionFunc,\n Func,\n Field,\n FieldSimple,\n ExpressionField,\n OperatorType,\n ExpressionComplex\n} from './types';\nimport {ThemeProps, themeable} from '../../theme';\nimport {Icon} from '../icons';\nimport {autobind, findTree, noop} from '../../utils/helper';\nimport Expression from './Expression';\nimport {Config, OperationMap} from './config';\nimport PopOverContainer from '../PopOverContainer';\nimport GroupedSelection from '../GroupedSelection';\nimport ResultBox from '../ResultBox';\nimport {localeable, LocaleProps} from '../../locale';\nimport {FormulaPickerProps} from '../formula/Picker';\n\nconst option2value = (item: any) => item.value;\n\nexport interface ConditionItemProps extends ThemeProps, LocaleProps {\n config: Config;\n fields: Fields;\n funcs?: Funcs;\n index?: number;\n value: ConditionRule;\n data?: any;\n disabled?: boolean;\n searchable?: boolean;\n onChange: (value: ConditionRule, index?: number) => void;\n fieldClassName?: string;\n formula?: FormulaPickerProps;\n popOverContainer?: any;\n}\n\nexport class ConditionItem extends React.Component<ConditionItemProps> {\n @autobind\n handleLeftFieldSelect(field: any) {\n const value = {...this.props.value};\n const onChange = this.props.onChange;\n value.left = field;\n onChange(value, this.props.index);\n }\n\n @autobind\n handleLeftInputTypeChange(type: 'func' | 'field') {\n const value = {...this.props.value};\n const onChange = this.props.onChange;\n\n if (type === 'func') {\n value.left = {type: 'func'};\n } else {\n value.left = '';\n }\n\n onChange(value, this.props.index);\n }\n\n @autobind\n handleLeftChange(leftValue: any) {\n const value = {\n ...this.props.value,\n left: leftValue,\n op: undefined,\n right: undefined\n };\n const onChange = this.props.onChange;\n\n onChange(value, this.props.index);\n }\n\n @autobind\n handleOperatorChange(op: OperatorType) {\n const value = {...this.props.value, op: op, right: undefined};\n this.props.onChange(value, this.props.index);\n }\n\n @autobind\n handleRightChange(rightValue: any) {\n const value = {...this.props.value, right: rightValue};\n const onChange = this.props.onChange;\n\n onChange(value, this.props.index);\n }\n\n handleRightSubChange(index: number, rightValue: any) {\n const origin = Array.isArray(this.props.value?.right)\n ? this.props.value.right.concat()\n : [];\n\n origin[index] = rightValue;\n const value = {...this.props.value, right: origin};\n const onChange = this.props.onChange;\n\n onChange(value, this.props.index);\n }\n\n renderLeft() {\n const {\n value,\n fields,\n funcs,\n config,\n disabled,\n fieldClassName,\n searchable,\n popOverContainer\n } = this.props;\n return (\n <Expression\n config={config}\n funcs={funcs}\n value={value.left}\n fieldClassName={fieldClassName}\n onChange={this.handleLeftChange}\n fields={fields}\n disabled={disabled}\n searchable={searchable}\n popOverContainer={popOverContainer}\n allowedTypes={\n ['field', 'func'].filter(\n type => type === 'field' || type === 'func'\n ) as any\n }\n />\n );\n }\n\n renderOperator() {\n const {\n funcs,\n config,\n fields,\n value,\n classnames: cx,\n disabled,\n popOverContainer\n } = this.props;\n const left = value?.left;\n let operators: Array<string> = [];\n\n if ((left as ExpressionFunc)?.type === 'func') {\n const func: Func = findTree(\n funcs!,\n (i: Func) => i.type === (left as ExpressionFunc).func\n ) as Func;\n\n if (func) {\n operators = config.types[func.returnType]?.operators;\n }\n } else if ((left as ExpressionField)?.type === 'field') {\n const field: FieldSimple = findTree(\n fields,\n (i: FieldSimple) => i.name === (left as ExpressionField).field\n ) as FieldSimple;\n\n if (field) {\n operators = field.operators || config.types[field.type]?.operators;\n }\n }\n\n if (Array.isArray(operators) && operators.length) {\n const __ = this.props.translate;\n return (\n <PopOverContainer\n popOverContainer={popOverContainer || (() => findDOMNode(this))}\n popOverRender={({onClose}) => (\n <GroupedSelection\n onClick={onClose}\n option2value={option2value}\n onChange={this.handleOperatorChange}\n options={operators.map(operator => ({\n label: __(OperationMap[operator as keyof typeof OperationMap]),\n value: operator\n }))}\n value={value.op}\n multiple={false}\n />\n )}\n >\n {({onClick, isOpened, ref}) => (\n <div className={cx('CBGroup-operator')}>\n <ResultBox\n className={cx(\n 'CBGroup-operatorInput',\n isOpened ? 'is-active' : ''\n )}\n ref={ref}\n allowInput={false}\n result={__(\n OperationMap[value?.op as keyof typeof OperationMap]\n )}\n onResultChange={noop}\n onResultClick={onClick}\n disabled={disabled}\n placeholder={__('Condition.cond_placeholder')}\n >\n <span className={cx('CBGroup-operatorCaret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </ResultBox>\n </div>\n )}\n </PopOverContainer>\n );\n }\n\n return null;\n }\n\n renderRight() {\n const {value, funcs, fields} = this.props;\n\n if (!value?.op) {\n return null;\n }\n\n const left = value?.left;\n let leftType = '';\n\n if ((left as ExpressionFunc)?.type === 'func') {\n const func: Func = findTree(\n funcs!,\n (i: Func) => i.type === (left as ExpressionFunc).func\n ) as Func;\n\n if (func) {\n leftType = func.returnType;\n }\n } else if ((left as ExpressionField)?.type === 'field') {\n const field: FieldSimple = findTree(\n fields,\n (i: FieldSimple) => i.name === (left as ExpressionField).field\n ) as FieldSimple;\n\n if (field) {\n leftType = field.type;\n }\n }\n\n if (leftType) {\n return this.renderRightWidgets(leftType, value.op!);\n }\n\n return null;\n }\n\n renderRightWidgets(type: string, op: OperatorType) {\n const {\n funcs,\n value,\n data,\n fields,\n config,\n classnames: cx,\n disabled,\n formula,\n popOverContainer\n } = this.props;\n let field = {\n ...config.types[type],\n type\n } as FieldSimple;\n\n if ((value?.left as ExpressionField)?.type === 'field') {\n const leftField: FieldSimple = findTree(\n fields,\n (i: FieldSimple) => i.name === (value?.left as ExpressionField).field\n ) as FieldSimple;\n\n if (leftField) {\n field = {\n ...field,\n ...leftField\n };\n }\n }\n\n if (op === 'is_empty' || op === 'is_not_empty') {\n return null;\n } else if (op === 'between' || op === 'not_between') {\n return (\n <>\n <Expression\n config={config}\n funcs={funcs}\n valueField={field}\n value={(value.right as Array<ExpressionComplex>)?.[0]}\n data={data}\n onChange={this.handleRightSubChange.bind(this, 0)}\n fields={fields}\n allowedTypes={\n field?.valueTypes ||\n config.valueTypes || ['value', 'field', 'func', 'formula']\n }\n disabled={disabled}\n formula={formula}\n popOverContainer={popOverContainer}\n />\n\n <span className={cx('CBSeprator')}>~</span>\n\n <Expression\n config={config}\n funcs={funcs}\n valueField={field}\n value={(value.right as Array<ExpressionComplex>)?.[1]}\n data={data}\n onChange={this.handleRightSubChange.bind(this, 1)}\n fields={fields}\n allowedTypes={\n field?.valueTypes ||\n config.valueTypes || ['value', 'field', 'func', 'formula']\n }\n disabled={disabled}\n formula={formula}\n popOverContainer={popOverContainer}\n />\n </>\n );\n }\n\n return (\n <Expression\n config={config}\n op={op}\n funcs={funcs}\n valueField={field}\n value={value.right}\n data={data}\n onChange={this.handleRightChange}\n fields={fields}\n allowedTypes={\n field?.valueTypes ||\n config.valueTypes || ['value', 'field', 'func', 'formula']\n }\n disabled={disabled}\n formula={formula}\n popOverContainer={popOverContainer}\n />\n );\n }\n\n render() {\n const {classnames: cx} = this.props;\n\n return (\n <div className={cx('CBItem')}>\n {this.renderLeft()}\n {this.renderOperator()}\n {this.renderRight()}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(ConditionItem));\n"
12
12
  ]
13
13
  }
@@ -12,6 +12,7 @@ export interface ValueProps extends ThemeProps, LocaleProps {
12
12
  op?: OperatorType;
13
13
  disabled?: boolean;
14
14
  formula?: FormulaPickerProps;
15
+ popOverContainer?: any;
15
16
  }
16
17
  export declare class Value extends React.Component<ValueProps> {
17
18
  render(): JSX.Element;
@@ -18,7 +18,7 @@ var Value = /** @class */ (function (_super) {
18
18
  }
19
19
  Value.prototype.render = function () {
20
20
  var _a;
21
- var _b = this.props, cx = _b.classnames, field = _b.field, value = _b.value, onChange = _b.onChange, op = _b.op, __ = _b.translate, data = _b.data, disabled = _b.disabled, formula = _b.formula;
21
+ var _b = this.props, cx = _b.classnames, field = _b.field, value = _b.value, onChange = _b.onChange, op = _b.op, __ = _b.translate, data = _b.data, disabled = _b.disabled, formula = _b.formula, popOverContainer = _b.popOverContainer;
22
22
  var input = undefined;
23
23
  if (formula) {
24
24
  // 如果配置了 formula 字段,则所有的输入变为 formula 形式
@@ -39,17 +39,17 @@ var Value = /** @class */ (function (_super) {
39
39
  input = (react_1.default.createElement(NumberInput_1.default, { placeholder: __(field.placeholder) || __('NumberInput.placeholder'), step: field.step, min: field.minimum, max: field.maximum, precision: field.precision, value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, disabled: disabled }));
40
40
  }
41
41
  else if (field.type === 'date') {
42
- input = (react_1.default.createElement(DatePicker_1.default, { placeholder: __(field.placeholder) || __('Date.placeholder'), format: field.format || 'YYYY-MM-DD', inputFormat: field.inputFormat || 'YYYY-MM-DD', value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, timeFormat: "", disabled: disabled }));
42
+ input = (react_1.default.createElement(DatePicker_1.default, { placeholder: __(field.placeholder) || __('Date.placeholder'), format: field.format || 'YYYY-MM-DD', inputFormat: field.inputFormat || 'YYYY-MM-DD', value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, timeFormat: "", disabled: disabled, popOverContainer: popOverContainer }));
43
43
  }
44
44
  else if (field.type === 'time') {
45
- input = (react_1.default.createElement(DatePicker_1.default, { viewMode: "time", placeholder: __(field.placeholder) || 'Time.placeholder', format: field.format || 'HH:mm', inputFormat: field.inputFormat || 'HH:mm', value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, dateFormat: "", timeFormat: field.format || 'HH:mm', disabled: disabled }));
45
+ input = (react_1.default.createElement(DatePicker_1.default, { viewMode: "time", placeholder: __(field.placeholder) || 'Time.placeholder', format: field.format || 'HH:mm', inputFormat: field.inputFormat || 'HH:mm', value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, dateFormat: "", timeFormat: field.format || 'HH:mm', disabled: disabled, popOverContainer: popOverContainer }));
46
46
  }
47
47
  else if (field.type === 'datetime') {
48
- input = (react_1.default.createElement(DatePicker_1.default, { placeholder: __(field.placeholder) || 'Time.placeholder', format: field.format || '', inputFormat: field.inputFormat || 'YYYY-MM-DD HH:mm', value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, timeFormat: field.timeFormat || 'HH:mm', disabled: disabled }));
48
+ input = (react_1.default.createElement(DatePicker_1.default, { placeholder: __(field.placeholder) || 'Time.placeholder', format: field.format || '', inputFormat: field.inputFormat || 'YYYY-MM-DD HH:mm', value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, timeFormat: field.timeFormat || 'HH:mm', disabled: disabled, popOverContainer: popOverContainer }));
49
49
  }
50
50
  else if (field.type === 'select') {
51
51
  var autoComplete = field.autoComplete;
52
- input = (react_1.default.createElement(Select_1.SelectWithRemoteOptions, { simpleValue: true, options: field.options, source: field.source, autoComplete: autoComplete, searchable: field.searchable, value: (_a = value !== null && value !== void 0 ? value : field.defaultValue) !== null && _a !== void 0 ? _a : '', data: data, onChange: onChange, multiple: op === 'select_any_in' || op === 'select_not_any_in', disabled: disabled }));
52
+ input = (react_1.default.createElement(Select_1.SelectWithRemoteOptions, { simpleValue: true, options: field.options, source: field.source, autoComplete: autoComplete, searchable: field.searchable, value: (_a = value !== null && value !== void 0 ? value : field.defaultValue) !== null && _a !== void 0 ? _a : '', data: data, onChange: onChange, multiple: op === 'select_any_in' || op === 'select_not_any_in', disabled: disabled, popOverContainer: popOverContainer }));
53
53
  }
54
54
  else if (field.type === 'boolean') {
55
55
  input = (react_1.default.createElement(Switch_1.default, { value: value !== null && value !== void 0 ? value : field.defaultValue, onChange: onChange, disabled: disabled }));
@@ -6,8 +6,8 @@
6
6
  "/src/components/condition-builder/Value.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 {FieldSimple, OperatorType} from './types';\nimport {ThemeProps, themeable} from '../../theme';\nimport InputBox from '../InputBox';\nimport NumberInput from '../NumberInput';\nimport DatePicker from '../DatePicker';\nimport {SelectWithRemoteOptions as Select} from '../Select';\nimport Switch from '../Switch';\nimport {localeable, LocaleProps} from '../../locale';\nimport {FormulaPicker, FormulaPickerProps} from '../formula/Picker';\n\nexport interface ValueProps extends ThemeProps, LocaleProps {\n value: any;\n data?: any;\n onChange: (value: any) => void;\n field: FieldSimple;\n op?: OperatorType;\n disabled?: boolean;\n formula?: FormulaPickerProps;\n}\n\nexport class Value extends React.Component<ValueProps> {\n render() {\n let {\n classnames: cx,\n field,\n value,\n onChange,\n op,\n translate: __,\n data,\n disabled,\n formula\n } = this.props;\n let input: JSX.Element | undefined = undefined;\n if (formula) {\n // 如果配置了 formula 字段,则所有的输入变为 formula 形式\n formula = Object.assign(formula, {\n translate: __,\n classnames: cx,\n data,\n value: value ?? field.defaultValue,\n onChange,\n disabled\n });\n input = <FormulaPicker {...formula} />;\n } else if (field.type === 'text') {\n input = (\n <InputBox\n value={value ?? field.defaultValue}\n onChange={onChange}\n placeholder={__(field.placeholder)}\n disabled={disabled}\n />\n );\n } else if (field.type === 'number') {\n input = (\n <NumberInput\n placeholder={__(field.placeholder) || __('NumberInput.placeholder')}\n step={field.step}\n min={field.minimum}\n max={field.maximum}\n precision={field.precision}\n value={value ?? field.defaultValue}\n onChange={onChange}\n disabled={disabled}\n />\n );\n } else if (field.type === 'date') {\n input = (\n <DatePicker\n placeholder={__(field.placeholder) || __('Date.placeholder')}\n format={field.format || 'YYYY-MM-DD'}\n inputFormat={field.inputFormat || 'YYYY-MM-DD'}\n value={value ?? field.defaultValue}\n onChange={onChange}\n timeFormat=\"\"\n disabled={disabled}\n />\n );\n } else if (field.type === 'time') {\n input = (\n <DatePicker\n viewMode=\"time\"\n placeholder={__(field.placeholder) || 'Time.placeholder'}\n format={field.format || 'HH:mm'}\n inputFormat={field.inputFormat || 'HH:mm'}\n value={value ?? field.defaultValue}\n onChange={onChange}\n dateFormat=\"\"\n timeFormat={field.format || 'HH:mm'}\n disabled={disabled}\n />\n );\n } else if (field.type === 'datetime') {\n input = (\n <DatePicker\n placeholder={__(field.placeholder) || 'Time.placeholder'}\n format={field.format || ''}\n inputFormat={field.inputFormat || 'YYYY-MM-DD HH:mm'}\n value={value ?? field.defaultValue}\n onChange={onChange}\n timeFormat={field.timeFormat || 'HH:mm'}\n disabled={disabled}\n />\n );\n } else if (field.type === 'select') {\n const autoComplete = field.autoComplete;\n\n input = (\n <Select\n simpleValue\n options={field.options!}\n source={field.source}\n autoComplete={autoComplete}\n searchable={field.searchable}\n value={value ?? field.defaultValue ?? ''}\n data={data}\n onChange={onChange}\n multiple={op === 'select_any_in' || op === 'select_not_any_in'}\n disabled={disabled}\n />\n );\n } else if (field.type === 'boolean') {\n input = (\n <Switch\n value={value ?? field.defaultValue}\n onChange={onChange}\n disabled={disabled}\n />\n );\n }\n\n return <div className={cx('CBValue')}>{input}</div>;\n }\n}\n\nexport default themeable(localeable(Value));\n"
11
+ "import React from 'react';\nimport {FieldSimple, OperatorType} from './types';\nimport {ThemeProps, themeable} from '../../theme';\nimport InputBox from '../InputBox';\nimport NumberInput from '../NumberInput';\nimport DatePicker from '../DatePicker';\nimport {SelectWithRemoteOptions as Select} from '../Select';\nimport Switch from '../Switch';\nimport {localeable, LocaleProps} from '../../locale';\nimport {FormulaPicker, FormulaPickerProps} from '../formula/Picker';\n\nexport interface ValueProps extends ThemeProps, LocaleProps {\n value: any;\n data?: any;\n onChange: (value: any) => void;\n field: FieldSimple;\n op?: OperatorType;\n disabled?: boolean;\n formula?: FormulaPickerProps;\n popOverContainer?: any;\n}\n\nexport class Value extends React.Component<ValueProps> {\n render() {\n let {\n classnames: cx,\n field,\n value,\n onChange,\n op,\n translate: __,\n data,\n disabled,\n formula,\n popOverContainer\n } = this.props;\n let input: JSX.Element | undefined = undefined;\n if (formula) {\n // 如果配置了 formula 字段,则所有的输入变为 formula 形式\n formula = Object.assign(formula, {\n translate: __,\n classnames: cx,\n data,\n value: value ?? field.defaultValue,\n onChange,\n disabled\n });\n input = <FormulaPicker {...formula} />;\n } else if (field.type === 'text') {\n input = (\n <InputBox\n value={value ?? field.defaultValue}\n onChange={onChange}\n placeholder={__(field.placeholder)}\n disabled={disabled}\n />\n );\n } else if (field.type === 'number') {\n input = (\n <NumberInput\n placeholder={__(field.placeholder) || __('NumberInput.placeholder')}\n step={field.step}\n min={field.minimum}\n max={field.maximum}\n precision={field.precision}\n value={value ?? field.defaultValue}\n onChange={onChange}\n disabled={disabled}\n />\n );\n } else if (field.type === 'date') {\n input = (\n <DatePicker\n placeholder={__(field.placeholder) || __('Date.placeholder')}\n format={field.format || 'YYYY-MM-DD'}\n inputFormat={field.inputFormat || 'YYYY-MM-DD'}\n value={value ?? field.defaultValue}\n onChange={onChange}\n timeFormat=\"\"\n disabled={disabled}\n popOverContainer={popOverContainer}\n />\n );\n } else if (field.type === 'time') {\n input = (\n <DatePicker\n viewMode=\"time\"\n placeholder={__(field.placeholder) || 'Time.placeholder'}\n format={field.format || 'HH:mm'}\n inputFormat={field.inputFormat || 'HH:mm'}\n value={value ?? field.defaultValue}\n onChange={onChange}\n dateFormat=\"\"\n timeFormat={field.format || 'HH:mm'}\n disabled={disabled}\n popOverContainer={popOverContainer}\n />\n );\n } else if (field.type === 'datetime') {\n input = (\n <DatePicker\n placeholder={__(field.placeholder) || 'Time.placeholder'}\n format={field.format || ''}\n inputFormat={field.inputFormat || 'YYYY-MM-DD HH:mm'}\n value={value ?? field.defaultValue}\n onChange={onChange}\n timeFormat={field.timeFormat || 'HH:mm'}\n disabled={disabled}\n popOverContainer={popOverContainer}\n />\n );\n } else if (field.type === 'select') {\n const autoComplete = field.autoComplete;\n\n input = (\n <Select\n simpleValue\n options={field.options!}\n source={field.source}\n autoComplete={autoComplete}\n searchable={field.searchable}\n value={value ?? field.defaultValue ?? ''}\n data={data}\n onChange={onChange}\n multiple={op === 'select_any_in' || op === 'select_not_any_in'}\n disabled={disabled}\n popOverContainer={popOverContainer}\n />\n );\n } else if (field.type === 'boolean') {\n input = (\n <Switch\n value={value ?? field.defaultValue}\n onChange={onChange}\n disabled={disabled}\n />\n );\n }\n\n return <div className={cx('CBValue')}>{input}</div>;\n }\n}\n\nexport default themeable(localeable(Value));\n"
12
12
  ]
13
13
  }
@@ -19,6 +19,7 @@ export interface ConditionBuilderProps extends ThemeProps, LocaleProps {
19
19
  searchable?: boolean;
20
20
  fieldClassName?: string;
21
21
  formula?: FormulaPickerProps;
22
+ popOverContainer?: any;
22
23
  }
23
24
  export declare class QueryBuilder extends React.Component<ConditionBuilderProps> {
24
25
  config: {
@@ -138,7 +138,7 @@ var QueryBuilder = /** @class */ (function (_super) {
138
138
  delete this.ghost;
139
139
  };
140
140
  QueryBuilder.prototype.render = function () {
141
- var _a = this.props, cx = _a.classnames, fieldClassName = _a.fieldClassName, fields = _a.fields, funcs = _a.funcs, onChange = _a.onChange, value = _a.value, showNot = _a.showNot, showANDOR = _a.showANDOR, data = _a.data, disabled = _a.disabled, searchable = _a.searchable, builderMode = _a.builderMode, formula = _a.formula;
141
+ var _a = this.props, cx = _a.classnames, fieldClassName = _a.fieldClassName, fields = _a.fields, funcs = _a.funcs, onChange = _a.onChange, value = _a.value, showNot = _a.showNot, showANDOR = _a.showANDOR, data = _a.data, disabled = _a.disabled, searchable = _a.searchable, builderMode = _a.builderMode, formula = _a.formula, popOverContainer = _a.popOverContainer;
142
142
  var normalizedValue = Array.isArray(value === null || value === void 0 ? void 0 : value.children)
143
143
  ? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, value), { children: (0, helper_1.mapTree)(value.children, function (value) {
144
144
  if (value.id) {
@@ -146,7 +146,7 @@ var QueryBuilder = /** @class */ (function (_super) {
146
146
  }
147
147
  return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, value), { id: (0, helper_1.guid)() });
148
148
  }) }) : value;
149
- return (react_1.default.createElement(Group_1.default, { builderMode: builderMode, config: this.config, funcs: funcs || this.config.funcs, fields: fields || this.config.fields, value: normalizedValue, onChange: onChange, classnames: cx, fieldClassName: fieldClassName, removeable: false, onDragStart: this.handleDragStart, showANDOR: showANDOR, showNot: showNot, data: data, disabled: disabled, searchable: searchable, formula: formula }));
149
+ return (react_1.default.createElement(Group_1.default, { builderMode: builderMode, config: this.config, funcs: funcs || this.config.funcs, fields: fields || this.config.fields, value: normalizedValue, onChange: onChange, classnames: cx, fieldClassName: fieldClassName, removeable: false, onDragStart: this.handleDragStart, showANDOR: showANDOR, showNot: showNot, data: data, disabled: disabled, searchable: searchable, formula: formula, popOverContainer: popOverContainer }));
150
150
  };
151
151
  var _a, _b, _c;
152
152
  (0, tslib_1.__decorate)([
@@ -6,8 +6,8 @@
6
6
  "/src/components/condition-builder/index.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 {ThemeProps, themeable} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport {uncontrollable} from 'uncontrollable';\nimport {Fields, ConditionGroupValue, Funcs} from './types';\nimport ConditionGroup from './Group';\nimport defaultConfig, {Config} from './config';\nimport {\n autobind,\n findTreeIndex,\n spliceTree,\n getTree,\n mapTree,\n guid\n} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport animtion from '../../utils/Animation';\nimport {FormulaPickerProps} from '../formula/Picker';\n\nexport interface ConditionBuilderProps extends ThemeProps, LocaleProps {\n builderMode?: 'simple' | 'full'; // 简单模式|完整模式\n fields: Fields;\n funcs?: Funcs;\n showNot?: boolean;\n showANDOR?: boolean;\n value?: ConditionGroupValue;\n data?: any;\n onChange: (value: ConditionGroupValue) => void;\n config?: Config;\n disabled?: boolean;\n searchable?: boolean;\n fieldClassName?: string;\n formula?: FormulaPickerProps;\n}\n\nexport class QueryBuilder extends React.Component<ConditionBuilderProps> {\n config = {...defaultConfig, ...this.props.config};\n\n dragTarget?: HTMLElement;\n // dragNextSibling: Element | null;\n ghost?: HTMLElement;\n host: HTMLElement;\n lastX: number;\n lastY: number;\n lastMoveAt: number = 0;\n\n @autobind\n handleDragStart(e: React.DragEvent) {\n const target = e.currentTarget;\n const item = target.closest('[data-id]') as HTMLElement;\n this.dragTarget = item;\n // this.dragNextSibling = item.nextElementSibling;\n this.host = item.closest('[data-group-id]') as HTMLElement;\n\n const ghost = item.cloneNode(true) as HTMLElement;\n ghost.classList.add('is-ghost');\n this.ghost = ghost;\n\n e.dataTransfer.setDragImage(item.firstChild as HTMLElement, 0, 0);\n\n target.addEventListener('dragend', this.handleDragEnd);\n document.body.addEventListener('dragover', this.handleDragOver);\n document.body.addEventListener('drop', this.handleDragDrop);\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n\n // 应该是 chrome 的一个bug,如果你马上修改,会马上执行 dragend\n setTimeout(() => {\n item.classList.add('is-dragging');\n // item.parentElement!.insertBefore(\n // item,\n // item.parentElement!.firstElementChild\n // ); // 挪到第一个,主要是因为样式问题。\n }, 5);\n }\n\n @autobind\n handleDragOver(e: DragEvent) {\n e.preventDefault();\n const item = (e.target as HTMLElement).closest('[data-id]') as HTMLElement;\n\n const dx = e.clientX - this.lastX;\n const dy = e.clientY - this.lastY;\n const d = Math.max(Math.abs(dx), Math.abs(dy));\n const now = Date.now();\n\n // 没移动还是不要处理,免得晃动个不停。\n if (d < 5) {\n if (this.lastMoveAt === 0) {\n } else if (now - this.lastMoveAt > 500) {\n const host = (e.target as HTMLElement).closest(\n '[data-group-id]'\n ) as HTMLElement;\n\n if (host) {\n this.host = host;\n this.lastMoveAt = now;\n this.lastX = 0;\n this.lastY = 0;\n this.handleDragOver(e);\n return;\n }\n }\n return;\n }\n\n this.lastMoveAt = now;\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n\n if (\n !item ||\n item.classList.contains('is-ghost') ||\n item.closest('[data-group-id]') !== this.host\n ) {\n return;\n }\n\n const container = item.parentElement!;\n const children = [].slice.apply(container!.children);\n\n const idx = children.indexOf(item);\n\n if (this.ghost!.parentElement !== container) {\n container.appendChild(this.ghost!);\n }\n\n const rect = item.getBoundingClientRect();\n const isAfter = dy > 0 && e.clientY > rect.top + rect.height / 2;\n const gIdx = isAfter ? idx : idx - 1;\n const cgIdx = children.indexOf(this.ghost);\n\n if (gIdx !== cgIdx) {\n animtion.capture(container);\n\n if (gIdx === children.length - 1) {\n container.appendChild(this.ghost!);\n } else {\n container.insertBefore(this.ghost!, children[gIdx + 1]);\n }\n\n animtion.animateAll();\n }\n }\n\n @autobind\n handleDragDrop() {\n const onChange = this.props.onChange;\n const fromId = this.dragTarget!.getAttribute('data-id')!;\n const toId = this.host.getAttribute('data-group-id')!;\n const children = [].slice.call(this.ghost!.parentElement!.children);\n const idx = children.indexOf(this.dragTarget);\n\n if (~idx) {\n children.splice(idx, 1);\n }\n\n const toIndex = children.indexOf(this.ghost);\n let value = this.props.value!;\n\n const indexes = findTreeIndex([value], item => item.id === fromId);\n\n if (indexes) {\n const origin = getTree([value], indexes.concat())!;\n [value] = spliceTree([value]!, indexes, 1);\n\n const indexes2 = findTreeIndex([value], item => item.id === toId);\n\n if (indexes2) {\n [value] = spliceTree([value]!, indexes2.concat(toIndex), 0, origin);\n onChange(value);\n }\n }\n }\n\n @autobind\n handleDragEnd(e: Event) {\n const target = e.target as HTMLElement;\n\n target.removeEventListener('dragend', this.handleDragEnd);\n document.body.removeEventListener('dragover', this.handleDragOver);\n document.body.removeEventListener('drop', this.handleDragDrop);\n\n this.dragTarget!.classList.remove('is-dragging');\n // if (this.dragNextSibling) {\n // this.dragTarget.parentElement!.insertBefore(\n // this.dragTarget,\n // this.dragNextSibling\n // );\n // } else {\n // this.dragTarget.parentElement!.appendChild(this.dragTarget);\n // }\n delete this.dragTarget;\n // delete this.dragNextSibling;\n this.ghost!.parentElement?.removeChild(this.ghost!);\n delete this.ghost;\n }\n\n render() {\n const {\n classnames: cx,\n fieldClassName,\n fields,\n funcs,\n onChange,\n value,\n showNot,\n showANDOR,\n data,\n disabled,\n searchable,\n builderMode,\n formula\n } = this.props;\n\n const normalizedValue = Array.isArray(value?.children)\n ? {\n ...value,\n children: mapTree(value!.children, (value: any) => {\n if (value.id) {\n return value;\n }\n\n return {\n ...value,\n id: guid()\n };\n })\n }\n : value;\n\n return (\n <ConditionGroup\n builderMode={builderMode}\n config={this.config}\n funcs={funcs || this.config.funcs}\n fields={fields || this.config.fields}\n value={normalizedValue as any}\n onChange={onChange}\n classnames={cx}\n fieldClassName={fieldClassName}\n removeable={false}\n onDragStart={this.handleDragStart}\n showANDOR={showANDOR}\n showNot={showNot}\n data={data}\n disabled={disabled}\n searchable={searchable}\n formula={formula}\n />\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(QueryBuilder, {\n value: 'onChange'\n })\n )\n);\n"
11
+ "import React from 'react';\nimport {ThemeProps, themeable} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport {uncontrollable} from 'uncontrollable';\nimport {Fields, ConditionGroupValue, Funcs} from './types';\nimport ConditionGroup from './Group';\nimport defaultConfig, {Config} from './config';\nimport {\n autobind,\n findTreeIndex,\n spliceTree,\n getTree,\n mapTree,\n guid\n} from '../../utils/helper';\nimport animtion from '../../utils/Animation';\nimport {FormulaPickerProps} from '../formula/Picker';\n\nexport interface ConditionBuilderProps extends ThemeProps, LocaleProps {\n builderMode?: 'simple' | 'full'; // 简单模式|完整模式\n fields: Fields;\n funcs?: Funcs;\n showNot?: boolean;\n showANDOR?: boolean;\n value?: ConditionGroupValue;\n data?: any;\n onChange: (value: ConditionGroupValue) => void;\n config?: Config;\n disabled?: boolean;\n searchable?: boolean;\n fieldClassName?: string;\n formula?: FormulaPickerProps;\n popOverContainer?: any;\n}\n\nexport class QueryBuilder extends React.Component<ConditionBuilderProps> {\n config = {...defaultConfig, ...this.props.config};\n\n dragTarget?: HTMLElement;\n // dragNextSibling: Element | null;\n ghost?: HTMLElement;\n host: HTMLElement;\n lastX: number;\n lastY: number;\n lastMoveAt: number = 0;\n\n @autobind\n handleDragStart(e: React.DragEvent) {\n const target = e.currentTarget;\n const item = target.closest('[data-id]') as HTMLElement;\n this.dragTarget = item;\n // this.dragNextSibling = item.nextElementSibling;\n this.host = item.closest('[data-group-id]') as HTMLElement;\n\n const ghost = item.cloneNode(true) as HTMLElement;\n ghost.classList.add('is-ghost');\n this.ghost = ghost;\n\n e.dataTransfer.setDragImage(item.firstChild as HTMLElement, 0, 0);\n\n target.addEventListener('dragend', this.handleDragEnd);\n document.body.addEventListener('dragover', this.handleDragOver);\n document.body.addEventListener('drop', this.handleDragDrop);\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n\n // 应该是 chrome 的一个bug,如果你马上修改,会马上执行 dragend\n setTimeout(() => {\n item.classList.add('is-dragging');\n // item.parentElement!.insertBefore(\n // item,\n // item.parentElement!.firstElementChild\n // ); // 挪到第一个,主要是因为样式问题。\n }, 5);\n }\n\n @autobind\n handleDragOver(e: DragEvent) {\n e.preventDefault();\n const item = (e.target as HTMLElement).closest('[data-id]') as HTMLElement;\n\n const dx = e.clientX - this.lastX;\n const dy = e.clientY - this.lastY;\n const d = Math.max(Math.abs(dx), Math.abs(dy));\n const now = Date.now();\n\n // 没移动还是不要处理,免得晃动个不停。\n if (d < 5) {\n if (this.lastMoveAt === 0) {\n } else if (now - this.lastMoveAt > 500) {\n const host = (e.target as HTMLElement).closest(\n '[data-group-id]'\n ) as HTMLElement;\n\n if (host) {\n this.host = host;\n this.lastMoveAt = now;\n this.lastX = 0;\n this.lastY = 0;\n this.handleDragOver(e);\n return;\n }\n }\n return;\n }\n\n this.lastMoveAt = now;\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n\n if (\n !item ||\n item.classList.contains('is-ghost') ||\n item.closest('[data-group-id]') !== this.host\n ) {\n return;\n }\n\n const container = item.parentElement!;\n const children = [].slice.apply(container!.children);\n\n const idx = children.indexOf(item);\n\n if (this.ghost!.parentElement !== container) {\n container.appendChild(this.ghost!);\n }\n\n const rect = item.getBoundingClientRect();\n const isAfter = dy > 0 && e.clientY > rect.top + rect.height / 2;\n const gIdx = isAfter ? idx : idx - 1;\n const cgIdx = children.indexOf(this.ghost);\n\n if (gIdx !== cgIdx) {\n animtion.capture(container);\n\n if (gIdx === children.length - 1) {\n container.appendChild(this.ghost!);\n } else {\n container.insertBefore(this.ghost!, children[gIdx + 1]);\n }\n\n animtion.animateAll();\n }\n }\n\n @autobind\n handleDragDrop() {\n const onChange = this.props.onChange;\n const fromId = this.dragTarget!.getAttribute('data-id')!;\n const toId = this.host.getAttribute('data-group-id')!;\n const children = [].slice.call(this.ghost!.parentElement!.children);\n const idx = children.indexOf(this.dragTarget);\n\n if (~idx) {\n children.splice(idx, 1);\n }\n\n const toIndex = children.indexOf(this.ghost);\n let value = this.props.value!;\n\n const indexes = findTreeIndex([value], item => item.id === fromId);\n\n if (indexes) {\n const origin = getTree([value], indexes.concat())!;\n [value] = spliceTree([value]!, indexes, 1);\n\n const indexes2 = findTreeIndex([value], item => item.id === toId);\n\n if (indexes2) {\n [value] = spliceTree([value]!, indexes2.concat(toIndex), 0, origin);\n onChange(value);\n }\n }\n }\n\n @autobind\n handleDragEnd(e: Event) {\n const target = e.target as HTMLElement;\n\n target.removeEventListener('dragend', this.handleDragEnd);\n document.body.removeEventListener('dragover', this.handleDragOver);\n document.body.removeEventListener('drop', this.handleDragDrop);\n\n this.dragTarget!.classList.remove('is-dragging');\n // if (this.dragNextSibling) {\n // this.dragTarget.parentElement!.insertBefore(\n // this.dragTarget,\n // this.dragNextSibling\n // );\n // } else {\n // this.dragTarget.parentElement!.appendChild(this.dragTarget);\n // }\n delete this.dragTarget;\n // delete this.dragNextSibling;\n this.ghost!.parentElement?.removeChild(this.ghost!);\n delete this.ghost;\n }\n\n render() {\n const {\n classnames: cx,\n fieldClassName,\n fields,\n funcs,\n onChange,\n value,\n showNot,\n showANDOR,\n data,\n disabled,\n searchable,\n builderMode,\n formula,\n popOverContainer\n } = this.props;\n\n const normalizedValue = Array.isArray(value?.children)\n ? {\n ...value,\n children: mapTree(value!.children, (value: any) => {\n if (value.id) {\n return value;\n }\n\n return {\n ...value,\n id: guid()\n };\n })\n }\n : value;\n\n return (\n <ConditionGroup\n builderMode={builderMode}\n config={this.config}\n funcs={funcs || this.config.funcs}\n fields={fields || this.config.fields}\n value={normalizedValue as any}\n onChange={onChange}\n classnames={cx}\n fieldClassName={fieldClassName}\n removeable={false}\n onDragStart={this.handleDragStart}\n showANDOR={showANDOR}\n showNot={showNot}\n data={data}\n disabled={disabled}\n searchable={searchable}\n formula={formula}\n popOverContainer={popOverContainer}\n />\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(QueryBuilder, {\n value: 'onChange'\n })\n )\n);\n"
12
12
  ]
13
13
  }