tntd 3.0.26 → 3.0.27-beta.2

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 (257) hide show
  1. package/es/index.js +1 -0
  2. package/es/index.js.map +1 -1
  3. package/es/query-form/Field/Checkbox.js +1 -1
  4. package/es/query-form/Field/Checkbox.js.map +1 -1
  5. package/es/query-form/Field/Composition/FieldPopover.js +304 -0
  6. package/es/query-form/Field/Composition/FieldPopover.js.map +1 -0
  7. package/es/query-form/Field/Composition/FieldPopover.less +35 -0
  8. package/es/query-form/Field/Composition/Select.js +122 -0
  9. package/es/query-form/Field/Composition/Select.js.map +1 -0
  10. package/es/query-form/Field/Composition/ValueTag.js +124 -0
  11. package/es/query-form/Field/Composition/ValueTag.js.map +1 -0
  12. package/es/query-form/Field/Composition/index.js +233 -0
  13. package/es/query-form/Field/Composition/index.js.map +1 -0
  14. package/es/query-form/Field/Composition/index.less +120 -0
  15. package/es/query-form/Field/Composition/utils.js +154 -0
  16. package/es/query-form/Field/Composition/utils.js.map +1 -0
  17. package/es/query-form/Field/SelectInput.js +22 -4
  18. package/es/query-form/Field/SelectInput.js.map +1 -1
  19. package/es/query-form/Field/fieldsMap.js +2 -2
  20. package/es/query-form/Field/fieldsMap.js.map +1 -1
  21. package/es/query-form/Field/index.js +1 -0
  22. package/es/query-form/Field/index.js.map +1 -1
  23. package/es/query-form/index.js +166 -335
  24. package/es/query-form/index.js.map +1 -1
  25. package/es/query-form/index.less +29 -60
  26. package/es/query-form-v2/index.less +133 -0
  27. package/es/query-list-scene/List.js +17 -3
  28. package/es/query-list-scene/List.js.map +1 -1
  29. package/es/query-list-scene/QueryForm.js +23 -10
  30. package/es/query-list-scene/QueryForm.js.map +1 -1
  31. package/es/query-list-scene/index.js +2 -1
  32. package/es/query-list-scene/index.js.map +1 -1
  33. package/es/scroll-bar/Bar.js +56 -0
  34. package/es/scroll-bar/Bar.js.map +1 -0
  35. package/es/scroll-bar/Context.js +6 -0
  36. package/es/scroll-bar/Context.js.map +1 -0
  37. package/es/scroll-bar/ScrollBar.js +86 -0
  38. package/es/scroll-bar/ScrollBar.js.map +1 -0
  39. package/es/scroll-bar/Thumb.js +105 -0
  40. package/es/scroll-bar/Thumb.js.map +1 -0
  41. package/es/scroll-bar/index.js +3 -0
  42. package/es/scroll-bar/index.js.map +1 -0
  43. package/es/scroll-bar/scrollBar.less +59 -0
  44. package/es/scroll-bar/util.js +31 -0
  45. package/es/scroll-bar/util.js.map +1 -0
  46. package/es/table/table.js +7 -11
  47. package/es/table/table.js.map +1 -1
  48. package/es/tntd-select/index.js.map +1 -1
  49. package/es/tntd-virtual-tree/index.js +3 -2
  50. package/es/tntd-virtual-tree/index.js.map +1 -1
  51. package/es/tntd-virtual-tree-select/index.js +4 -2
  52. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  53. package/es/utils/index.js +0 -1
  54. package/es/utils/index.js.map +1 -1
  55. package/lib/index.d.ts +1 -0
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +7 -0
  58. package/lib/index.js.map +1 -1
  59. package/lib/query-form/Field/Checkbox.js +1 -1
  60. package/lib/query-form/Field/Checkbox.js.map +1 -1
  61. package/lib/query-form/Field/Composition/FieldPopover.d.ts +19 -0
  62. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -0
  63. package/lib/query-form/Field/Composition/FieldPopover.js +338 -0
  64. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -0
  65. package/lib/query-form/Field/Composition/FieldPopover.less +35 -0
  66. package/lib/query-form/Field/Composition/Select.d.ts +4 -0
  67. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -0
  68. package/lib/query-form/Field/Composition/Select.js +146 -0
  69. package/lib/query-form/Field/Composition/Select.js.map +1 -0
  70. package/lib/query-form/Field/Composition/ValueTag.d.ts +12 -0
  71. package/lib/query-form/Field/Composition/ValueTag.d.ts.map +1 -0
  72. package/lib/query-form/Field/Composition/ValueTag.js +153 -0
  73. package/lib/query-form/Field/Composition/ValueTag.js.map +1 -0
  74. package/lib/query-form/Field/Composition/index.d.ts +12 -0
  75. package/lib/query-form/Field/Composition/index.d.ts.map +1 -0
  76. package/lib/query-form/Field/Composition/index.js +277 -0
  77. package/lib/query-form/Field/Composition/index.js.map +1 -0
  78. package/lib/query-form/Field/Composition/index.less +120 -0
  79. package/lib/query-form/Field/Composition/utils.d.ts +22 -0
  80. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -0
  81. package/lib/query-form/Field/Composition/utils.js +168 -0
  82. package/lib/query-form/Field/Composition/utils.js.map +1 -0
  83. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  84. package/lib/query-form/Field/SelectInput.js +15 -3
  85. package/lib/query-form/Field/SelectInput.js.map +1 -1
  86. package/lib/query-form/Field/fieldsMap.d.ts +6 -3
  87. package/lib/query-form/Field/fieldsMap.js +2 -2
  88. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  89. package/lib/query-form/Field/index.d.ts.map +1 -1
  90. package/lib/query-form/Field/index.js +1 -0
  91. package/lib/query-form/Field/index.js.map +1 -1
  92. package/lib/query-form/index.d.ts +18 -27
  93. package/lib/query-form/index.d.ts.map +1 -1
  94. package/lib/query-form/index.js +186 -360
  95. package/lib/query-form/index.js.map +1 -1
  96. package/lib/query-form/index.less +29 -60
  97. package/lib/query-form-v2/Field/Checkbox.d.ts +8 -0
  98. package/lib/query-form-v2/Field/Checkbox.d.ts.map +1 -0
  99. package/lib/query-form-v2/Field/Checkbox.js +28 -0
  100. package/lib/query-form-v2/Field/Checkbox.js.map +1 -0
  101. package/lib/{upload/svg/UploadSVG.d.ts → query-form-v2/Field/Select.d.ts} +1 -1
  102. package/lib/query-form-v2/Field/Select.d.ts.map +1 -0
  103. package/lib/query-form-v2/Field/Select.js +80 -0
  104. package/lib/query-form-v2/Field/Select.js.map +1 -0
  105. package/lib/query-form-v2/Field/SelectInput.d.ts +4 -0
  106. package/lib/query-form-v2/Field/SelectInput.d.ts.map +1 -0
  107. package/lib/query-form-v2/Field/SelectInput.js +88 -0
  108. package/lib/query-form-v2/Field/SelectInput.js.map +1 -0
  109. package/lib/query-form-v2/Field/fieldsMap.d.ts +24 -0
  110. package/lib/query-form-v2/Field/fieldsMap.d.ts.map +1 -0
  111. package/lib/query-form-v2/Field/fieldsMap.js +35 -0
  112. package/lib/query-form-v2/Field/fieldsMap.js.map +1 -0
  113. package/lib/query-form-v2/Field/index.d.ts +14 -0
  114. package/lib/query-form-v2/Field/index.d.ts.map +1 -0
  115. package/lib/query-form-v2/Field/index.js +146 -0
  116. package/lib/query-form-v2/Field/index.js.map +1 -0
  117. package/lib/query-form-v2/createActions.d.ts +14 -0
  118. package/lib/query-form-v2/createActions.d.ts.map +1 -0
  119. package/lib/query-form-v2/createActions.js +54 -0
  120. package/lib/query-form-v2/createActions.js.map +1 -0
  121. package/lib/query-form-v2/index.d.ts +39 -0
  122. package/lib/query-form-v2/index.d.ts.map +1 -0
  123. package/lib/query-form-v2/index.js +391 -0
  124. package/lib/query-form-v2/index.js.map +1 -0
  125. package/lib/query-form-v2/index.less +133 -0
  126. package/lib/query-form-v2/useForm.d.ts +13 -0
  127. package/lib/query-form-v2/useForm.d.ts.map +1 -0
  128. package/lib/query-form-v2/useForm.js +13 -0
  129. package/lib/query-form-v2/useForm.js.map +1 -0
  130. package/lib/query-form-v3/Field/Checkbox.d.ts +8 -0
  131. package/lib/query-form-v3/Field/Checkbox.d.ts.map +1 -0
  132. package/lib/query-form-v3/Field/Checkbox.js +28 -0
  133. package/lib/query-form-v3/Field/Checkbox.js.map +1 -0
  134. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts +19 -0
  135. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts.map +1 -0
  136. package/lib/query-form-v3/Field/Composition/FieldPopover.js +381 -0
  137. package/lib/query-form-v3/Field/Composition/FieldPopover.js.map +1 -0
  138. package/lib/query-form-v3/Field/Composition/FieldPopover.less +35 -0
  139. package/lib/query-form-v3/Field/Composition/Select.d.ts +4 -0
  140. package/lib/query-form-v3/Field/Composition/Select.d.ts.map +1 -0
  141. package/lib/query-form-v3/Field/Composition/Select.js +131 -0
  142. package/lib/query-form-v3/Field/Composition/Select.js.map +1 -0
  143. package/lib/query-form-v3/Field/Composition/index.d.ts +10 -0
  144. package/lib/query-form-v3/Field/Composition/index.d.ts.map +1 -0
  145. package/lib/query-form-v3/Field/Composition/index.js +255 -0
  146. package/lib/query-form-v3/Field/Composition/index.js.map +1 -0
  147. package/lib/query-form-v3/Field/Composition/index.less +118 -0
  148. package/lib/query-form-v3/Field/Composition/utils.d.ts +22 -0
  149. package/lib/query-form-v3/Field/Composition/utils.d.ts.map +1 -0
  150. package/lib/query-form-v3/Field/Composition/utils.js +147 -0
  151. package/lib/query-form-v3/Field/Composition/utils.js.map +1 -0
  152. package/lib/query-form-v3/Field/Select.d.ts +4 -0
  153. package/lib/query-form-v3/Field/Select.d.ts.map +1 -0
  154. package/lib/query-form-v3/Field/Select.js +80 -0
  155. package/lib/query-form-v3/Field/Select.js.map +1 -0
  156. package/lib/query-form-v3/Field/SelectInput.d.ts +4 -0
  157. package/lib/query-form-v3/Field/SelectInput.d.ts.map +1 -0
  158. package/lib/query-form-v3/Field/SelectInput.js +100 -0
  159. package/lib/query-form-v3/Field/SelectInput.js.map +1 -0
  160. package/lib/query-form-v3/Field/fieldsMap.d.ts +27 -0
  161. package/lib/query-form-v3/Field/fieldsMap.d.ts.map +1 -0
  162. package/lib/query-form-v3/Field/fieldsMap.js +35 -0
  163. package/lib/query-form-v3/Field/fieldsMap.js.map +1 -0
  164. package/lib/query-form-v3/Field/index.d.ts +14 -0
  165. package/lib/query-form-v3/Field/index.d.ts.map +1 -0
  166. package/lib/query-form-v3/Field/index.js +147 -0
  167. package/lib/query-form-v3/Field/index.js.map +1 -0
  168. package/lib/query-form-v3/createActions.d.ts +14 -0
  169. package/lib/query-form-v3/createActions.d.ts.map +1 -0
  170. package/lib/query-form-v3/createActions.js +54 -0
  171. package/lib/query-form-v3/createActions.js.map +1 -0
  172. package/lib/query-form-v3/index.d.ts +27 -0
  173. package/lib/query-form-v3/index.d.ts.map +1 -0
  174. package/lib/query-form-v3/index.js +206 -0
  175. package/lib/query-form-v3/index.js.map +1 -0
  176. package/lib/query-form-v3/index.less +91 -0
  177. package/lib/query-form-v3/useForm.d.ts +13 -0
  178. package/lib/query-form-v3/useForm.d.ts.map +1 -0
  179. package/lib/query-form-v3/useForm.js +13 -0
  180. package/lib/query-form-v3/useForm.js.map +1 -0
  181. package/lib/query-list-scene/List.d.ts.map +1 -1
  182. package/lib/query-list-scene/List.js +18 -3
  183. package/lib/query-list-scene/List.js.map +1 -1
  184. package/lib/query-list-scene/QueryForm.d.ts +4 -3
  185. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  186. package/lib/query-list-scene/QueryForm.js +25 -11
  187. package/lib/query-list-scene/QueryForm.js.map +1 -1
  188. package/lib/query-list-scene/index.d.ts.map +1 -1
  189. package/lib/query-list-scene/index.js +2 -1
  190. package/lib/query-list-scene/index.js.map +1 -1
  191. package/lib/scroll-bar/Bar.d.ts +4 -0
  192. package/lib/scroll-bar/Bar.d.ts.map +1 -0
  193. package/lib/scroll-bar/Bar.js +91 -0
  194. package/lib/scroll-bar/Bar.js.map +1 -0
  195. package/lib/scroll-bar/Context.d.ts +7 -0
  196. package/lib/scroll-bar/Context.d.ts.map +1 -0
  197. package/lib/scroll-bar/Context.js +13 -0
  198. package/lib/scroll-bar/Context.js.map +1 -0
  199. package/lib/scroll-bar/ScrollBar.d.ts +4 -0
  200. package/lib/scroll-bar/ScrollBar.d.ts.map +1 -0
  201. package/lib/scroll-bar/ScrollBar.js +97 -0
  202. package/lib/scroll-bar/ScrollBar.js.map +1 -0
  203. package/lib/scroll-bar/Thumb.d.ts +3 -0
  204. package/lib/scroll-bar/Thumb.d.ts.map +1 -0
  205. package/lib/scroll-bar/Thumb.js +125 -0
  206. package/lib/scroll-bar/Thumb.js.map +1 -0
  207. package/lib/scroll-bar/index.d.ts +3 -0
  208. package/lib/scroll-bar/index.d.ts.map +1 -0
  209. package/lib/scroll-bar/index.js +10 -0
  210. package/lib/scroll-bar/index.js.map +1 -0
  211. package/lib/scroll-bar/scrollBar.less +59 -0
  212. package/lib/scroll-bar/util.d.ts +40 -0
  213. package/lib/scroll-bar/util.d.ts.map +1 -0
  214. package/lib/scroll-bar/util.js +39 -0
  215. package/lib/scroll-bar/util.js.map +1 -0
  216. package/lib/table/table.d.ts +1 -1
  217. package/lib/table/table.d.ts.map +1 -1
  218. package/lib/table/table.js +7 -14
  219. package/lib/table/table.js.map +1 -1
  220. package/lib/tntd-select/index.d.ts.map +1 -1
  221. package/lib/tntd-select/index.js.map +1 -1
  222. package/lib/tntd-virtual-tree/index.d.ts +2 -1
  223. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  224. package/lib/tntd-virtual-tree/index.js +5 -3
  225. package/lib/tntd-virtual-tree/index.js.map +1 -1
  226. package/lib/tntd-virtual-tree-select/index.d.ts +2 -1
  227. package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
  228. package/lib/tntd-virtual-tree-select/index.js +6 -3
  229. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  230. package/lib/utils/index.d.ts +0 -1
  231. package/lib/utils/index.d.ts.map +1 -1
  232. package/lib/utils/index.js +0 -12
  233. package/lib/utils/index.js.map +1 -1
  234. package/package.json +3 -2
  235. package/CHANGELOG.json +0 -1034
  236. package/CHANGELOG.md +0 -605
  237. package/es/checkbox/checkbox-group.js +0 -5
  238. package/es/checkbox/checkbox-group.js.map +0 -1
  239. package/es/radio/radio-group.js +0 -5
  240. package/es/radio/radio-group.js.map +0 -1
  241. package/es/steps/stepStyle/small.less +0 -5
  242. package/es/upload/svg/UploadSVG.js +0 -37
  243. package/es/upload/svg/UploadSVG.js.map +0 -1
  244. package/es/upload/upload.less +0 -108
  245. package/lib/checkbox/checkbox-group.d.ts +0 -8
  246. package/lib/checkbox/checkbox-group.d.ts.map +0 -1
  247. package/lib/checkbox/checkbox-group.js +0 -12
  248. package/lib/checkbox/checkbox-group.js.map +0 -1
  249. package/lib/radio/radio-group.d.ts +0 -8
  250. package/lib/radio/radio-group.d.ts.map +0 -1
  251. package/lib/radio/radio-group.js +0 -12
  252. package/lib/radio/radio-group.js.map +0 -1
  253. package/lib/steps/stepStyle/small.less +0 -5
  254. package/lib/upload/svg/UploadSVG.d.ts.map +0 -1
  255. package/lib/upload/svg/UploadSVG.js +0 -44
  256. package/lib/upload/svg/UploadSVG.js.map +0 -1
  257. package/lib/upload/upload.less +0 -108
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = ValueTag;
7
+ var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
8
+ var _find2 = _interopRequireDefault(require("lodash/find"));
9
+ var _react = require("react");
10
+ var _popover = _interopRequireDefault(require("../../../popover"));
11
+ var _tag = _interopRequireDefault(require("../../../tag"));
12
+ var _fieldsMap = _interopRequireDefault(require("../fieldsMap"));
13
+ var _Select = _interopRequireDefault(require("./Select"));
14
+ var _utils = require("./utils");
15
+ require("./FieldPopover.less");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
20
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
21
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
22
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
23
+ function ValueTag(_ref) {
24
+ var item = _ref.item,
25
+ fieldItems = _ref.fieldItems,
26
+ locale = _ref.locale,
27
+ onDelete = _ref.onDelete,
28
+ value = _ref.value,
29
+ onChange = _ref.onChange,
30
+ clsPrefix = _ref.clsPrefix,
31
+ form = _ref.form,
32
+ handleTag = _ref.handleTag;
33
+ var _a;
34
+ var _useState = (0, _react.useState)(),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ visible = _useState2[0],
37
+ setVisible = _useState2[1];
38
+ var propItem = ((_a = (0, _find2["default"])(fieldItems, function (it) {
39
+ return it.props.name === item.key;
40
+ })) === null || _a === void 0 ? void 0 : _a.props) || {};
41
+ var name = propItem.name,
42
+ propsTitle = propItem.propsTitle,
43
+ title = propItem.title,
44
+ type = propItem.type,
45
+ className = propItem.className,
46
+ component = propItem.component,
47
+ fieldProps = propItem.props;
48
+ var handleVisibleChange = function handleVisibleChange(visible) {
49
+ setVisible(visible);
50
+ };
51
+ var close = function close() {
52
+ setVisible(false);
53
+ };
54
+ var onFieldChange = function onFieldChange() {
55
+ var _a;
56
+ var copyValue = (0, _cloneDeep2["default"])(value);
57
+ var index = copyValue.findIndex(function (v) {
58
+ return v.key === name;
59
+ });
60
+ copyValue[index].value = arguments.length <= 0 ? undefined : arguments[0];
61
+ if (['date', 'checkbox'].includes(type) || type === 'dateRange' && ((_a = arguments.length <= 1 ? undefined : arguments[1]) === null || _a === void 0 ? void 0 : _a[1])) {
62
+ close();
63
+ }
64
+ copyValue[index].closable = true;
65
+ onChange(copyValue, false, (arguments.length <= 0 ? undefined : arguments[0]) !== undefined, type !== 'selectInput');
66
+ (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange) && fieldProps.onChange(copyValue[index].value);
67
+ };
68
+ var onSelectChange = function onSelectChange(v, isMultiple) {
69
+ var _a, _b, _c;
70
+ var copyValue = (0, _cloneDeep2["default"])(value || []);
71
+ var index = copyValue.findIndex(function (v) {
72
+ return v.key === name;
73
+ });
74
+ if (isMultiple) {
75
+ if (!((_b = (_a = copyValue[index]) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length)) {
76
+ copyValue[index].value = [v === null || v === void 0 ? void 0 : v.value];
77
+ } else {
78
+ if (((_c = copyValue[index].value) === null || _c === void 0 ? void 0 : _c.indexOf(v.value)) > -1) {
79
+ copyValue[index].value = copyValue[index].value.filter(function (val) {
80
+ return val !== v.value;
81
+ });
82
+ } else {
83
+ copyValue[index].value.push(v.value);
84
+ }
85
+ }
86
+ } else {
87
+ copyValue[index].value = v === null || v === void 0 ? void 0 : v.value;
88
+ close();
89
+ }
90
+ copyValue[index].closable = true;
91
+ onChange(copyValue, false, true);
92
+ (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange) && fieldProps.onChange(copyValue[index].value);
93
+ };
94
+ var renderSecondOptions = function renderSecondOptions() {
95
+ var _a;
96
+ var Field = component || _fieldsMap["default"][type] || function () {
97
+ return null;
98
+ };
99
+ return React.createElement("div", {
100
+ onClick: function onClick(e) {
101
+ return e.stopPropagation();
102
+ },
103
+ className: className
104
+ }, React.createElement("label", null, propsTitle || title || name), type === 'select' ? React.createElement(_Select["default"], Object.assign({}, fieldProps, {
105
+ propItem: propItem,
106
+ onChange: onSelectChange,
107
+ value: item === null || item === void 0 ? void 0 : item.value
108
+ })) : React.createElement("div", {
109
+ className: "".concat(clsPrefix, "-field-popover-content"),
110
+ onClick: function onClick(e) {
111
+ return e.stopPropagation();
112
+ }
113
+ }, React.createElement(Field, Object.assign({
114
+ form: form,
115
+ value: item === null || item === void 0 ? void 0 : item.value
116
+ }, fieldProps, {
117
+ style: Object.assign(Object.assign({}, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style), {
118
+ width: ((_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style) === null || _a === void 0 ? void 0 : _a.width) || '250px'
119
+ }),
120
+ close: close,
121
+ onChange: onFieldChange
122
+ }))));
123
+ };
124
+ var _isInput = (0, _utils.isInput)(type) && !component;
125
+ if ((item === null || item === void 0 ? void 0 : item.value) === undefined) {
126
+ return null;
127
+ }
128
+ return React.createElement(_popover["default"], {
129
+ trigger: "click",
130
+ visible: visible && !_isInput,
131
+ onVisibleChange: handleVisibleChange,
132
+ overlayClassName: "".concat(clsPrefix, "-field-popover"),
133
+ content: renderSecondOptions(),
134
+ placement: "bottomLeft"
135
+ }, React.createElement(_tag["default"], {
136
+ closable: item.closable,
137
+ onClick: function onClick(e) {
138
+ e.preventDefault();
139
+ e.stopPropagation();
140
+ if (!_isInput) {
141
+ setVisible(true);
142
+ } else {
143
+ handleTag((0, _cloneDeep2["default"])(item));
144
+ }
145
+ },
146
+ onClose: function onClose(e) {
147
+ return onDelete(item.key, e);
148
+ },
149
+ ellipsisOptions: {
150
+ widthLimit: '140px'
151
+ }
152
+ }, (0, _utils.getLabel)(item, fieldItems, locale)));
153
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueTag.js","sourceRoot":"","sources":["../../../../src/query-form/Field/Composition/ValueTag.js"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react'\nimport { find, cloneDeep } from 'lodash'\nimport Popover from '../../../popover'\nimport Tag from '../../../tag'\nimport fieldsMap from '../fieldsMap'\nimport SelectOpt from './Select'\nimport { getLabel, isInput } from './utils'\nimport './FieldPopover.less'\n\nexport default function ValueTag({\n item,\n fieldItems,\n locale,\n onDelete,\n value,\n onChange,\n clsPrefix,\n form,\n handleTag,\n}) {\n const [visible, setVisible] = useState()\n\n const propItem = find(fieldItems, (it) => it.props.name === item.key)?.props || {}\n const { name, propsTitle, title, type, className, component, props: fieldProps } = propItem\n\n const handleVisibleChange = (visible) => {\n setVisible(visible)\n }\n\n const close = () => {\n setVisible(false)\n }\n\n const onFieldChange = (...args) => {\n const copyValue = cloneDeep(value)\n const index = copyValue.findIndex((v) => v.key === name)\n copyValue[index].value = args[0]\n if (['date', 'checkbox'].includes(type) || (type === 'dateRange' && args[1]?.[1])) {\n close()\n }\n copyValue[index].closable = true\n onChange(copyValue, false, args[0] !== undefined, type !== 'selectInput')\n fieldProps?.onChange && fieldProps.onChange(copyValue[index].value)\n }\n\n const onSelectChange = (v, isMultiple) => {\n const copyValue = cloneDeep(value || [])\n let index = copyValue.findIndex((v) => v.key === name)\n if (isMultiple) {\n if (!copyValue[index]?.value?.length) {\n copyValue[index].value = [v?.value]\n } else {\n if (copyValue[index].value?.indexOf(v.value) > -1) {\n copyValue[index].value = copyValue[index].value.filter((val) => val !== v.value)\n } else {\n copyValue[index].value.push(v.value)\n }\n }\n } else {\n copyValue[index].value = v?.value\n close()\n }\n copyValue[index].closable = true\n onChange(copyValue, false, true)\n fieldProps?.onChange && fieldProps.onChange(copyValue[index].value)\n }\n\n const renderSecondOptions = () => {\n const Field = component || fieldsMap[type] || (() => null)\n return (\n <div onClick={(e) => e.stopPropagation()} className={className}>\n <label>{propsTitle || title || name}</label>\n {type === 'select' ? (\n <SelectOpt\n {...fieldProps}\n propItem={propItem}\n onChange={onSelectChange}\n value={item?.value}\n />\n ) : (\n <div\n className={`${clsPrefix}-field-popover-content`}\n onClick={(e) => e.stopPropagation()}\n >\n <Field\n form={form}\n value={item?.value}\n {...fieldProps}\n style={{\n ...fieldProps?.style,\n width: fieldProps?.style?.width || '250px',\n }}\n close={close}\n onChange={onFieldChange}\n />\n </div>\n )}\n </div>\n )\n }\n\n const _isInput = isInput(type) && !component\n\n if (item?.value === undefined) {\n return null\n }\n\n return (\n <Popover\n trigger=\"click\"\n visible={visible && !_isInput}\n onVisibleChange={handleVisibleChange}\n overlayClassName={`${clsPrefix}-field-popover`}\n content={renderSecondOptions()}\n placement=\"bottomLeft\"\n >\n <Tag\n closable={item.closable}\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n if (!_isInput) {\n setVisible(true)\n } else {\n handleTag(cloneDeep(item))\n }\n }}\n onClose={(e) => onDelete(item.key, e)}\n ellipsisOptions={{ widthLimit: '140px' }}\n >\n {getLabel(item, fieldItems, locale)}\n </Tag>\n </Popover>\n )\n}\n"]}
@@ -0,0 +1,12 @@
1
+ declare var _default: React.ForwardRefExoticComponent<{
2
+ fieldItems: any;
3
+ initialValues: any;
4
+ onChange: any;
5
+ form: any;
6
+ compositionShowReset: any;
7
+ clsPrefix: any;
8
+ _onReset: any;
9
+ } & React.RefAttributes<any>>;
10
+ export default _default;
11
+ import React from "react";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/query-form/Field/Composition/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _find2 = _interopRequireDefault(require("lodash/find"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _LocaleReceiver = _interopRequireDefault(require("antd/lib/locale-provider/LocaleReceiver"));
11
+ var _icon = _interopRequireDefault(require("../../../icon"));
12
+ var _input = _interopRequireDefault(require("../../../input"));
13
+ var _FieldPopover = _interopRequireDefault(require("./FieldPopover"));
14
+ var _ValueTag = _interopRequireDefault(require("./ValueTag"));
15
+ var _utils = require("./utils");
16
+ require("./index.less");
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
20
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
21
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
23
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
24
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
26
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
28
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
30
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
31
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
32
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
33
+ /**
34
+ * @param value: [{
35
+ key: 'key1',
36
+ value: 'value1',
37
+ label: 'key1:value1'
38
+ }, {
39
+ key: 'key2',
40
+ value: ['value2', 'value3'],
41
+ label: 'key1:value2|value3'
42
+ }]
43
+ * @param {*} ref
44
+ * @returns
45
+ */
46
+ var regex = /^.+:.*$/;
47
+ var CompositionInput = function CompositionInput(_ref, ref) {
48
+ var fieldItems = _ref.fieldItems,
49
+ initialValues = _ref.initialValues,
50
+ onChange = _ref.onChange,
51
+ form = _ref.form,
52
+ compositionShowReset = _ref.compositionShowReset,
53
+ clsPrefix = _ref.clsPrefix,
54
+ _onReset = _ref._onReset;
55
+ var _a;
56
+ var prefix = "".concat(clsPrefix, "-composition-input");
57
+ var _useState = (0, _react.useState)((0, _utils.parseObjectToArray)(initialValues, fieldItems)),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ value = _useState2[0],
60
+ setValue = _useState2[1];
61
+ var _useState3 = (0, _react.useState)(),
62
+ _useState4 = _slicedToArray(_useState3, 2),
63
+ tempItem = _useState4[0],
64
+ setTempItem = _useState4[1];
65
+ var _useState5 = (0, _react.useState)(''),
66
+ _useState6 = _slicedToArray(_useState5, 2),
67
+ searchText = _useState6[0],
68
+ setSearchText = _useState6[1];
69
+ var _useState7 = (0, _react.useState)(false),
70
+ _useState8 = _slicedToArray(_useState7, 2),
71
+ visible = _useState8[0],
72
+ setVisible = _useState8[1];
73
+ var _useState9 = (0, _react.useState)(undefined),
74
+ _useState10 = _slicedToArray(_useState9, 2),
75
+ fieldItem = _useState10[0],
76
+ setFieldItem = _useState10[1];
77
+ var fieldItemsRef = (0, _react.useRef)(fieldItems);
78
+ var _fieldItem = fieldItem ? ((_a = (0, _find2["default"])(fieldItems, function (f) {
79
+ var _a;
80
+ return ((_a = f.props) === null || _a === void 0 ? void 0 : _a.name) === fieldItem.name;
81
+ })) === null || _a === void 0 ? void 0 : _a.props) || fieldItem : {};
82
+ var _ref2 = fieldItem || {},
83
+ props = _ref2.props;
84
+ var inputRef = (0, _react.useRef)(null);
85
+ var widthRef = (0, _react.useRef)(null);
86
+ var fieldRef = (0, _react.useRef)(null);
87
+ fieldItemsRef.current = fieldItems;
88
+ var updateValues = (0, _react.useCallback)(function (obj) {
89
+ var newValueArr = (0, _utils.parseObjectToArray)(obj, fieldItemsRef.current);
90
+ setValue(newValueArr);
91
+ }, []);
92
+ var updateValue = (0, _react.useCallback)(function (name, value) {
93
+ updateValues(_defineProperty({}, name, value));
94
+ }, []);
95
+ (0, _react.useEffect)(function () {
96
+ form.on('setValue', updateValue);
97
+ form.on('setValues', updateValues);
98
+ return function () {
99
+ form.off('setValue', updateValue);
100
+ form.off('setValues', updateValues);
101
+ };
102
+ }, []);
103
+ var handleFocus = function handleFocus(e) {
104
+ e.preventDefault();
105
+ setTimeout(function () {
106
+ var _a;
107
+ (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
108
+ }, 10);
109
+ if (!visible && !regex.test(searchText)) {
110
+ setVisible(true);
111
+ }
112
+ };
113
+ (0, _react.useImperativeHandle)(ref, function () {
114
+ return {
115
+ changeVal: function changeVal() {
116
+ return value;
117
+ }
118
+ };
119
+ });
120
+ var onClear = function onClear(e) {
121
+ e.stopPropagation();
122
+ var initKeys = Object.keys(initialValues || {});
123
+ var deleteKeys = value === null || value === void 0 ? void 0 : value.filter(function (_ref3) {
124
+ var key = _ref3.key;
125
+ return !initKeys.includes(key);
126
+ }).map(function (_ref4) {
127
+ var key = _ref4.key;
128
+ return key;
129
+ });
130
+ setValue((0, _utils.parseObjectToArray)(initialValues || {}, fieldItems));
131
+ onChange(Object.assign({}, initialValues || {}), deleteKeys, false, true);
132
+ // 清除其他数据
133
+ setSearchText('');
134
+ setTempItem();
135
+ _onReset();
136
+ };
137
+ var onDelete = function onDelete(key, e) {
138
+ e.preventDefault();
139
+ if (value.length > 0) {
140
+ var newValue = value.filter(function (v) {
141
+ return v.key !== key;
142
+ });
143
+ setValue(newValue);
144
+ var deleteKeys = [key];
145
+ onChange((0, _utils.parseArrayToObject)(newValue), deleteKeys, true);
146
+ }
147
+ };
148
+ var focusInput = function focusInput(value) {
149
+ var _a;
150
+ (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
151
+ setSearchText((0, _utils.getLabel)(value, fieldItems));
152
+ setTempItem(value);
153
+ setTimeout(function () {
154
+ var _a;
155
+ (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
156
+ }, 10);
157
+ };
158
+ var handleFieldChange = function handleFieldChange(value, isInput, hasValue) {
159
+ var needSearch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
160
+ if (isInput) {
161
+ focusInput(value);
162
+ return;
163
+ }
164
+ setValue(value);
165
+ setSearchText('');
166
+ setTempItem();
167
+ if (hasValue) onChange((0, _utils.parseArrayToObject)(value), undefined, needSearch);
168
+ };
169
+ // 输入框事件方法
170
+ var onInputChange = function onInputChange(e) {
171
+ var value = e.target.value;
172
+ if (tempItem) {
173
+ if (regex.test(value)) {
174
+ // 有输入值
175
+ setSearchText(value);
176
+ } else {
177
+ // 没有输入值, 清空选择的属性类型重新显示属性列表
178
+ setSearchText('');
179
+ setTempItem();
180
+ }
181
+ } else {
182
+ setSearchText(value);
183
+ }
184
+ };
185
+ var onPressEnter = function onPressEnter(e) {
186
+ var _a;
187
+ var inputValue = ((_a = searchText === null || searchText === void 0 ? void 0 : searchText.match(/[^:]+:(.*)/)) === null || _a === void 0 ? void 0 : _a[1]) || null;
188
+ if (tempItem && inputValue) {
189
+ setVisible(false);
190
+ tempItem.label = searchText;
191
+ tempItem.closable = true;
192
+ tempItem.value = inputValue; // 得到输入值
193
+ if (!(value === null || value === void 0 ? void 0 : value.find(function (v) {
194
+ return v.key === tempItem.key;
195
+ }))) {
196
+ var newValue = [].concat(_toConsumableArray(value), [tempItem]);
197
+ setValue(newValue);
198
+ onChange((0, _utils.parseArrayToObject)(newValue));
199
+ } else {
200
+ var _newValue = value.map(function (v) {
201
+ return v.key === tempItem.key ? tempItem : v;
202
+ });
203
+ setValue(_newValue);
204
+ onChange((0, _utils.parseArrayToObject)(_newValue));
205
+ }
206
+ e.target.value = inputValue;
207
+ form.emit('search', _defineProperty(_defineProperty({}, tempItem.key, inputValue), "current", 1));
208
+ (props === null || props === void 0 ? void 0 : props.onPressEnter) && props.onPressEnter(e);
209
+ }
210
+ setTempItem();
211
+ setSearchText('');
212
+ };
213
+ return _react["default"].createElement(_LocaleReceiver["default"], {
214
+ componentName: "QueryForm"
215
+ }, function (locale) {
216
+ return _react["default"].createElement("div", {
217
+ className: prefix,
218
+ onClick: handleFocus
219
+ }, _react["default"].createElement("span", {
220
+ className: "".concat(prefix, "-width"),
221
+ ref: widthRef
222
+ }, searchText), _react["default"].createElement("ul", {
223
+ className: "".concat(prefix, "-items")
224
+ }, value && value.map(function (item, index) {
225
+ return _react["default"].createElement("li", {
226
+ key: item.key,
227
+ className: "".concat(prefix, "-items-item")
228
+ }, _react["default"].createElement(_ValueTag["default"], {
229
+ onChange: handleFieldChange,
230
+ value: value,
231
+ item: item,
232
+ fieldItems: fieldItems,
233
+ locale: locale,
234
+ onDelete: onDelete,
235
+ handleTag: focusInput,
236
+ clsPrefix: clsPrefix,
237
+ form: form
238
+ }));
239
+ }), _react["default"].createElement("li", {
240
+ className: "".concat(prefix, "-items-input")
241
+ }, _react["default"].createElement(_FieldPopover["default"], {
242
+ ref: fieldRef,
243
+ onChange: handleFieldChange,
244
+ clsPrefix: clsPrefix,
245
+ fieldItems: fieldItems,
246
+ propItem: _fieldItem,
247
+ setFieldItem: setFieldItem,
248
+ form: form,
249
+ regex: regex,
250
+ visible: visible,
251
+ value: value,
252
+ setVisible: setVisible,
253
+ searchText: searchText,
254
+ locale: locale,
255
+ placement: "bottomLeft"
256
+ }, _react["default"].createElement("div", null, _react["default"].createElement(_input["default"], Object.assign({
257
+ ref: inputRef,
258
+ value: searchText,
259
+ className: "inputClass",
260
+ placeholder: !(value === null || value === void 0 ? void 0 : value.length) ? locale.placeholder : undefined
261
+ }, props, {
262
+ onPressEnter: onPressEnter,
263
+ onChange: onInputChange
264
+ })))))), _react["default"].createElement("div", {
265
+ className: "".concat(prefix, "-prefix")
266
+ }, _react["default"].createElement(_icon["default"], {
267
+ type: "filter"
268
+ })), compositionShowReset && _react["default"].createElement("div", {
269
+ className: "".concat(prefix, "-clear")
270
+ }, _react["default"].createElement(_icon["default"], {
271
+ onClick: onClear,
272
+ type: "close-circle",
273
+ theme: "filled"
274
+ })));
275
+ });
276
+ };
277
+ var _default = exports["default"] = (0, _react.forwardRef)(CompositionInput);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/query-form/Field/Composition/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, {\n useEffect,\n useState,\n useRef,\n useImperativeHandle,\n forwardRef,\n useCallback,\n} from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport { find } from 'lodash'\nimport Icon from '../../../icon'\nimport Input from '../../../input'\nimport FieldPopover from './FieldPopover'\nimport ValueTag from './ValueTag'\nimport { parseArrayToObject, parseObjectToArray, getLabel } from './utils'\nimport './index.less'\n\n/**\n * @param value: [{\n key: 'key1',\n value: 'value1',\n label: 'key1:value1'\n }, {\n key: 'key2',\n value: ['value2', 'value3'],\n label: 'key1:value2|value3'\n }]\n * @param {*} ref \n * @returns \n */\nconst regex = /^.+:.*$/\nconst CompositionInput = (\n { fieldItems, initialValues, onChange, form, compositionShowReset, clsPrefix, _onReset },\n ref\n) => {\n const prefix = `${clsPrefix}-composition-input`\n const [value, setValue] = useState(parseObjectToArray(initialValues, fieldItems))\n const [tempItem, setTempItem] = useState()\n const [searchText, setSearchText] = useState('')\n const [visible, setVisible] = useState(false)\n const [fieldItem, setFieldItem] = useState(undefined)\n const fieldItemsRef = useRef(fieldItems)\n const _fieldItem = fieldItem\n ? find(fieldItems, (f) => f.props?.name === fieldItem.name)?.props || fieldItem\n : {}\n const { props } = fieldItem || {}\n\n const inputRef = useRef(null)\n const widthRef = useRef(null)\n const fieldRef = useRef(null)\n\n fieldItemsRef.current = fieldItems\n\n const updateValues = useCallback((obj) => {\n const newValueArr = parseObjectToArray(obj, fieldItemsRef.current)\n setValue(newValueArr)\n }, [])\n\n const updateValue = useCallback((name, value) => {\n updateValues({ [name]: value })\n }, [])\n\n useEffect(() => {\n form.on('setValue', updateValue)\n form.on('setValues', updateValues)\n return () => {\n form.off('setValue', updateValue)\n form.off('setValues', updateValues)\n }\n }, [])\n\n const handleFocus = (e) => {\n e.preventDefault()\n setTimeout(() => {\n inputRef?.current?.focus()\n }, 10)\n if (!visible && !regex.test(searchText)) {\n setVisible(true)\n }\n }\n\n useImperativeHandle(ref, () => ({\n changeVal: () => {\n return value\n },\n }))\n\n const onClear = (e) => {\n e.stopPropagation()\n const initKeys = Object.keys(initialValues || {})\n const deleteKeys = value?.filter(({ key }) => !initKeys.includes(key)).map(({ key }) => key)\n setValue(parseObjectToArray(initialValues || {}, fieldItems))\n onChange({ ...(initialValues || {}) }, deleteKeys, false, true)\n // 清除其他数据\n setSearchText('')\n setTempItem()\n _onReset()\n }\n\n const onDelete = (key, e) => {\n e.preventDefault()\n if (value.length > 0) {\n const newValue = value.filter((v) => v.key !== key)\n setValue(newValue)\n const deleteKeys = [key]\n onChange(parseArrayToObject(newValue), deleteKeys, true)\n }\n }\n\n const focusInput = (value) => {\n inputRef?.current?.focus()\n setSearchText(getLabel(value, fieldItems))\n setTempItem(value)\n setTimeout(() => {\n inputRef?.current?.focus()\n }, 10)\n }\n\n const handleFieldChange = (value, isInput, hasValue, needSearch = true) => {\n if (isInput) {\n focusInput(value)\n return\n }\n setValue(value)\n setSearchText('')\n setTempItem()\n if (hasValue) onChange(parseArrayToObject(value), undefined, needSearch)\n }\n\n // 输入框事件方法\n const onInputChange = (e) => {\n const value = e.target.value\n if (tempItem) {\n if (regex.test(value)) {\n // 有输入值\n setSearchText(value)\n } else {\n // 没有输入值, 清空选择的属性类型重新显示属性列表\n setSearchText('')\n setTempItem()\n }\n } else {\n setSearchText(value)\n }\n }\n\n const onPressEnter = (e) => {\n const inputValue = searchText?.match(/[^:]+:(.*)/)?.[1] || null\n if (tempItem && inputValue) {\n setVisible(false)\n tempItem.label = searchText\n tempItem.closable = true\n tempItem.value = inputValue // 得到输入值\n if (!value?.find((v) => v.key === tempItem.key)) {\n const newValue = [...value, tempItem]\n setValue(newValue)\n onChange(parseArrayToObject(newValue))\n } else {\n const newValue = value.map((v) => (v.key === tempItem.key ? tempItem : v))\n setValue(newValue)\n onChange(parseArrayToObject(newValue))\n }\n e.target.value = inputValue\n form.emit('search', { [tempItem.key]: inputValue, current: 1 })\n props?.onPressEnter && props.onPressEnter(e)\n }\n setTempItem()\n setSearchText('')\n }\n\n return (\n <LocaleReceiver componentName=\"QueryForm\">\n {(locale) => {\n return (\n <div className={prefix} onClick={handleFocus}>\n <span className={`${prefix}-width`} ref={widthRef}>\n {searchText}\n </span>\n <ul className={`${prefix}-items`}>\n {value &&\n value.map((item, index) => (\n <li key={item.key} className={`${prefix}-items-item`}>\n <ValueTag\n onChange={handleFieldChange}\n value={value}\n item={item}\n fieldItems={fieldItems}\n locale={locale}\n onDelete={onDelete}\n handleTag={focusInput}\n clsPrefix={clsPrefix}\n form={form}\n />\n </li>\n ))}\n <li className={`${prefix}-items-input`}>\n <FieldPopover\n ref={fieldRef}\n onChange={handleFieldChange}\n clsPrefix={clsPrefix}\n fieldItems={fieldItems}\n propItem={_fieldItem}\n setFieldItem={setFieldItem}\n form={form}\n regex={regex}\n visible={visible}\n value={value}\n setVisible={setVisible}\n searchText={searchText}\n locale={locale}\n placement=\"bottomLeft\"\n >\n <div>\n <Input\n ref={inputRef}\n value={searchText}\n className=\"inputClass\"\n placeholder={!value?.length ? locale.placeholder : undefined}\n {...props}\n onPressEnter={onPressEnter}\n onChange={onInputChange}\n />\n </div>\n </FieldPopover>\n </li>\n </ul>\n <div className={`${prefix}-prefix`}>\n <Icon type=\"filter\" />\n </div>\n {compositionShowReset && (\n <div className={`${prefix}-clear`}>\n <Icon onClick={onClear} type=\"close-circle\" theme=\"filled\" />\n </div>\n )}\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\nexport default forwardRef(CompositionInput)\n"]}
@@ -0,0 +1,120 @@
1
+ @import '../../../style/themes/index';
2
+ @import '../../../style/mixins/index';
3
+ @import '../../../input/style/mixin';
4
+
5
+ .tnt-queryform-composition-input {
6
+ // width: 100%;
7
+ max-height: 162px;
8
+ overflow-x: hidden;
9
+ cursor: text;
10
+ padding: 2px @padding-xl;
11
+ position: relative;
12
+ box-sizing: border-box;
13
+ background-color: @select-background;
14
+ border: @border-width-base @border-style-base @select-border-color;
15
+ border-top-width: calc(@border-width-base + 0.02px);
16
+ border-radius: @border-radius-base;
17
+ outline: none;
18
+ transition: all 0.3s @ease-in-out;
19
+ user-select: none;
20
+ margin-bottom: @margin-sm;
21
+
22
+ &-prefix {
23
+ position: absolute;
24
+ left: @padding-sm;
25
+ top: 50%;
26
+ transform: translateY(-50%);
27
+ i.anticon {
28
+ color: tint(@bg-color-spotilight, 50%);
29
+ }
30
+ }
31
+
32
+ &-width {
33
+ height: 0;
34
+ opacity: 0;
35
+ width: auto;
36
+ position: absolute;
37
+ max-width: 100%;
38
+ }
39
+
40
+ &-items {
41
+ display: flex;
42
+ flex-wrap: wrap;
43
+ padding: 0;
44
+ list-style: none;
45
+ margin: 0;
46
+ width: 100%;
47
+ &-item {
48
+ padding: 3px 0;
49
+ }
50
+ li {
51
+ line-height: 1;
52
+ }
53
+ &-input {
54
+ flex: 1;
55
+ min-width: 160px;
56
+ .inputClass {
57
+ background: none;
58
+ border: none !important;
59
+ outline: none;
60
+ box-shadow: none !important;
61
+ width: 100% !important;
62
+ height: 26px;
63
+ line-height: 26px;
64
+ padding: 0;
65
+ input {
66
+ border: none !important;
67
+ outline: none !important;
68
+ box-shadow: none !important;
69
+ height: 26px;
70
+ line-height: 26px;
71
+ padding: 0;
72
+ }
73
+ textarea {
74
+ padding: 0;
75
+ }
76
+ }
77
+ .inputClass-with-placeholder {
78
+ min-width: 398px !important;
79
+ }
80
+ }
81
+ }
82
+ &-clear {
83
+ position: absolute;
84
+ right: @margin-sm;
85
+ top: 50%;
86
+ transform: translateY(-50%);
87
+ display: none;
88
+ i.anticon {
89
+ color: tint(@bg-color-spotilight, 50%);
90
+ }
91
+ &:hover {
92
+ .anticon {
93
+ color: @text-color-secondary !important;
94
+ }
95
+ }
96
+ }
97
+ &:hover {
98
+ border-color: @blue-6;
99
+ outline: 0;
100
+ .tnt-queryform-composition-input-clear {
101
+ display: block;
102
+ }
103
+ // box-shadow: 0 0 0 2px rgb(18 107 251 / 20%);
104
+ }
105
+ &:focus,
106
+ &:active {
107
+ border-color: @blue-5;
108
+ outline: 0;
109
+ // box-shadow: 0 0 0 2px rgb(18 107 251 / 20%);
110
+ }
111
+ .ant-tag {
112
+ padding: 0 @padding-xs;
113
+ border: none;
114
+ background: @fill-color-tertiary;
115
+ height: 20px;
116
+ .ant-tag-addon-wrap {
117
+ margin-top: -2px;
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,22 @@
1
+ export function highlightSubstring(str: any, substring: any): any;
2
+ export function getLabelByValue({ value, options, fieldNames, }: {
3
+ value: any;
4
+ options: any;
5
+ fieldNames?: {
6
+ label: string;
7
+ value: string;
8
+ } | undefined;
9
+ }): any;
10
+ export function formatLabel(reactDom: any): any;
11
+ export function parseObjectToArray(value: any, data: any): (false | {
12
+ key: string;
13
+ value: any;
14
+ closable: boolean;
15
+ } | null)[];
16
+ export function parseArrayToObject(value: any): any;
17
+ export function getLabel({ key, value }: {
18
+ key: any;
19
+ value: any;
20
+ }, data: any, locale: any): string | false | null;
21
+ export function isInput(type: any): boolean;
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/query-form/Field/Composition/utils.js"],"names":[],"mappings":"AAIA,kEAGC;AAED;;;;;;;QAyBC;AAED,gDAWC;AAED;;;;YAkCC;AAED,oDAKC;AAED;;;kDAwCC;AAEM,4CACgE"}