tntd 3.0.11 → 3.0.12

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 (96) hide show
  1. package/es/form/form.js +1 -0
  2. package/es/form/form.js.map +1 -1
  3. package/es/query-form-v3/Field/Checkbox.js +23 -0
  4. package/es/query-form-v3/Field/Checkbox.js.map +1 -0
  5. package/es/query-form-v3/Field/Composition/FieldPopover.js +330 -0
  6. package/es/query-form-v3/Field/Composition/FieldPopover.js.map +1 -0
  7. package/es/query-form-v3/Field/Composition/FieldPopover.less +35 -0
  8. package/es/query-form-v3/Field/Composition/Select.js +107 -0
  9. package/es/query-form-v3/Field/Composition/Select.js.map +1 -0
  10. package/es/query-form-v3/Field/Composition/index.js +208 -0
  11. package/es/query-form-v3/Field/Composition/index.js.map +1 -0
  12. package/es/query-form-v3/Field/Composition/index.less +118 -0
  13. package/es/query-form-v3/Field/Composition/utils.js +132 -0
  14. package/es/query-form-v3/Field/Composition/utils.js.map +1 -0
  15. package/es/query-form-v3/Field/Select.js +59 -0
  16. package/es/query-form-v3/Field/Select.js.map +1 -0
  17. package/es/query-form-v3/Field/SelectInput.js +87 -0
  18. package/es/query-form-v3/Field/SelectInput.js.map +1 -0
  19. package/es/query-form-v3/Field/fieldsMap.js +28 -0
  20. package/es/query-form-v3/Field/fieldsMap.js.map +1 -0
  21. package/es/query-form-v3/Field/index.js +117 -0
  22. package/es/query-form-v3/Field/index.js.map +1 -0
  23. package/es/query-form-v3/createActions.js +47 -0
  24. package/es/query-form-v3/createActions.js.map +1 -0
  25. package/es/query-form-v3/index.js +175 -0
  26. package/es/query-form-v3/index.js.map +1 -0
  27. package/es/query-form-v3/index.less +91 -0
  28. package/es/query-form-v3/useForm.js +6 -0
  29. package/es/query-form-v3/useForm.js.map +1 -0
  30. package/es/table/resizableTable/index.js +8 -5
  31. package/es/table/resizableTable/index.js.map +1 -1
  32. package/es/table/table-hoc.js +8 -8
  33. package/es/table/table-hoc.js.map +1 -1
  34. package/lib/form/form.d.ts.map +1 -1
  35. package/lib/form/form.js +1 -0
  36. package/lib/form/form.js.map +1 -1
  37. package/lib/query-form-v3/Field/Checkbox.d.ts +8 -0
  38. package/lib/query-form-v3/Field/Checkbox.d.ts.map +1 -0
  39. package/lib/query-form-v3/Field/Checkbox.js +28 -0
  40. package/lib/query-form-v3/Field/Checkbox.js.map +1 -0
  41. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts +19 -0
  42. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts.map +1 -0
  43. package/lib/query-form-v3/Field/Composition/FieldPopover.js +370 -0
  44. package/lib/query-form-v3/Field/Composition/FieldPopover.js.map +1 -0
  45. package/lib/query-form-v3/Field/Composition/FieldPopover.less +35 -0
  46. package/lib/query-form-v3/Field/Composition/Select.d.ts +4 -0
  47. package/lib/query-form-v3/Field/Composition/Select.d.ts.map +1 -0
  48. package/lib/query-form-v3/Field/Composition/Select.js +131 -0
  49. package/lib/query-form-v3/Field/Composition/Select.js.map +1 -0
  50. package/lib/query-form-v3/Field/Composition/index.d.ts +10 -0
  51. package/lib/query-form-v3/Field/Composition/index.d.ts.map +1 -0
  52. package/lib/query-form-v3/Field/Composition/index.js +255 -0
  53. package/lib/query-form-v3/Field/Composition/index.js.map +1 -0
  54. package/lib/query-form-v3/Field/Composition/index.less +118 -0
  55. package/lib/query-form-v3/Field/Composition/utils.d.ts +22 -0
  56. package/lib/query-form-v3/Field/Composition/utils.d.ts.map +1 -0
  57. package/lib/query-form-v3/Field/Composition/utils.js +147 -0
  58. package/lib/query-form-v3/Field/Composition/utils.js.map +1 -0
  59. package/lib/query-form-v3/Field/Select.d.ts +4 -0
  60. package/lib/query-form-v3/Field/Select.d.ts.map +1 -0
  61. package/lib/query-form-v3/Field/Select.js +80 -0
  62. package/lib/query-form-v3/Field/Select.js.map +1 -0
  63. package/lib/query-form-v3/Field/SelectInput.d.ts +4 -0
  64. package/lib/query-form-v3/Field/SelectInput.d.ts.map +1 -0
  65. package/lib/query-form-v3/Field/SelectInput.js +100 -0
  66. package/lib/query-form-v3/Field/SelectInput.js.map +1 -0
  67. package/lib/query-form-v3/Field/fieldsMap.d.ts +27 -0
  68. package/lib/query-form-v3/Field/fieldsMap.d.ts.map +1 -0
  69. package/lib/query-form-v3/Field/fieldsMap.js +35 -0
  70. package/lib/query-form-v3/Field/fieldsMap.js.map +1 -0
  71. package/lib/query-form-v3/Field/index.d.ts +14 -0
  72. package/lib/query-form-v3/Field/index.d.ts.map +1 -0
  73. package/lib/query-form-v3/Field/index.js +147 -0
  74. package/lib/query-form-v3/Field/index.js.map +1 -0
  75. package/lib/query-form-v3/createActions.d.ts +14 -0
  76. package/lib/query-form-v3/createActions.d.ts.map +1 -0
  77. package/lib/query-form-v3/createActions.js +54 -0
  78. package/lib/query-form-v3/createActions.js.map +1 -0
  79. package/lib/query-form-v3/index.d.ts +27 -0
  80. package/lib/query-form-v3/index.d.ts.map +1 -0
  81. package/lib/query-form-v3/index.js +206 -0
  82. package/lib/query-form-v3/index.js.map +1 -0
  83. package/lib/query-form-v3/index.less +91 -0
  84. package/lib/query-form-v3/useForm.d.ts +13 -0
  85. package/lib/query-form-v3/useForm.d.ts.map +1 -0
  86. package/lib/query-form-v3/useForm.js +13 -0
  87. package/lib/query-form-v3/useForm.js.map +1 -0
  88. package/lib/table/resizableTable/index.d.ts +1 -1
  89. package/lib/table/resizableTable/index.d.ts.map +1 -1
  90. package/lib/table/resizableTable/index.js +8 -5
  91. package/lib/table/resizableTable/index.js.map +1 -1
  92. package/lib/table/table-hoc.d.ts +10 -3
  93. package/lib/table/table-hoc.d.ts.map +1 -1
  94. package/lib/table/table-hoc.js +8 -11
  95. package/lib/table/table-hoc.js.map +1 -1
  96. package/package.json +1 -1
@@ -0,0 +1,131 @@
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 _isArray2 = _interopRequireDefault(require("lodash/isArray"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _icon = _interopRequireDefault(require("../../../icon"));
12
+ var _utils = require("./utils");
13
+ 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); }
14
+ 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; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
+ 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; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ 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); }
19
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
+ 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."); }
21
+ 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; } }
22
+ 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; }
23
+ 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; } }
24
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
28
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
29
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
30
+ }
31
+ return t;
32
+ };
33
+ var _default = exports["default"] = function _default(props) {
34
+ var options = props.options,
35
+ params = props.params,
36
+ _props$queryKey = props.queryKey,
37
+ queryKey = _props$queryKey === void 0 ? 'name' : _props$queryKey,
38
+ _props$fieldNames = props.fieldNames,
39
+ fieldNames = _props$fieldNames === void 0 ? {
40
+ label: 'label',
41
+ value: 'value'
42
+ } : _props$fieldNames,
43
+ loadData = props.loadData,
44
+ onChange = props.onChange,
45
+ _value = props.value,
46
+ mode = props.mode,
47
+ propItem = props.propItem,
48
+ searchText = props.searchText,
49
+ rest = __rest(props, ["options", "params", "queryKey", "fieldNames", "loadData", "onChange", "value", "mode", "propItem", "searchText"]);
50
+ var _useState = (0, _react.useState)(options || []),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ items = _useState2[0],
53
+ setItems = _useState2[1];
54
+ (0, _react.useEffect)(function () {
55
+ if (loadData) {
56
+ loadData(Object.assign(_defineProperty({}, queryKey, searchText), params || {})).then(function (items) {
57
+ setItems(items);
58
+ });
59
+ }
60
+ }, [params, searchText]);
61
+ (0, _react.useEffect)(function () {
62
+ setItems(options || []);
63
+ }, [options]);
64
+ var onValueChange = function onValueChange(item) {
65
+ onChange(item, mode === 'multiple' || mode === 'tags');
66
+ };
67
+ return _react["default"].createElement("ul", {
68
+ className: "ant-select-dropdown-menu"
69
+ }, items.map(function (item) {
70
+ var labelKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) || 'label';
71
+ var valueKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.value) || 'value';
72
+ var value = item instanceof Object ? item[valueKey] : item;
73
+ var label = item instanceof Object ? item[labelKey] : item + '';
74
+ var disabled = item instanceof Object ? item['disabled'] : false;
75
+ var isSelected = (0, _isArray2["default"])(_value) ? (_value === null || _value === void 0 ? void 0 : _value.indexOf(value)) > -1 : value === _value;
76
+ if (searchText) {
77
+ var isReactDom = _react["default"].isValidElement(label);
78
+ var _label = isReactDom ? (0, _utils.formatLabel)(label) : label;
79
+ if ((_label === null || _label === void 0 ? void 0 : _label.indexOf(searchText)) > -1) {
80
+ return _react["default"].createElement("li", {
81
+ className: (0, _classnames["default"])({
82
+ 'ant-select-dropdown-menu-item': true,
83
+ 'ant-select-dropdown-menu-item-selected': isSelected,
84
+ 'ant-select-dropdown-menu-item-disabled': disabled
85
+ }),
86
+ key: value,
87
+ value: value,
88
+ onMouseDown: function onMouseDown(e) {
89
+ return e.preventDefault();
90
+ },
91
+ onClick: function onClick() {
92
+ !disabled && onValueChange({
93
+ value: value,
94
+ propItem: propItem,
95
+ options: items
96
+ });
97
+ }
98
+ }, _react["default"].createElement("span", null, (propItem === null || propItem === void 0 ? void 0 : propItem.propsTitle) || (propItem === null || propItem === void 0 ? void 0 : propItem.name), ": "), isReactDom ? _react["default"].createElement("span", null, label) : _react["default"].createElement("span", {
99
+ dangerouslySetInnerHTML: {
100
+ __html: (0, _utils.highlightSubstring)(label, searchText)
101
+ }
102
+ }), isSelected && _react["default"].createElement(_icon["default"], {
103
+ type: "check",
104
+ className: "ant-select-selected-icon"
105
+ }));
106
+ }
107
+ return null;
108
+ }
109
+ return _react["default"].createElement("li", {
110
+ className: (0, _classnames["default"])({
111
+ 'ant-select-dropdown-menu-item': true,
112
+ 'ant-select-dropdown-menu-item-selected': isSelected,
113
+ 'ant-select-dropdown-menu-item-disabled': disabled
114
+ }),
115
+ key: value,
116
+ value: value,
117
+ onMouseDown: function onMouseDown(e) {
118
+ return e.preventDefault();
119
+ },
120
+ onClick: function onClick() {
121
+ !disabled && onValueChange({
122
+ value: value,
123
+ options: items
124
+ });
125
+ }
126
+ }, label, isSelected && _react["default"].createElement(_icon["default"], {
127
+ type: "check",
128
+ className: "ant-select-selected-icon"
129
+ }));
130
+ }));
131
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/query-form-v3/Field/Composition/Select.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react'\nimport { isArray } from 'lodash'\nimport classNames from 'classnames'\nimport Icon from '../../../icon'\nimport { highlightSubstring, formatLabel } from './utils'\n\nexport default (props) => {\n const {\n options,\n params,\n queryKey = 'name',\n fieldNames = {\n label: 'label',\n value: 'value',\n },\n loadData,\n onChange,\n value: _value,\n mode,\n propItem,\n searchText,\n ...rest\n } = props\n const [items, setItems] = useState(options || [])\n\n useEffect(() => {\n if (loadData) {\n loadData({\n [queryKey]: searchText,\n ...(params || {}),\n }).then((items) => {\n setItems(items)\n })\n }\n }, [params, searchText])\n\n useEffect(() => {\n setItems(options || [])\n }, [options])\n\n const onValueChange = (item) => {\n onChange(item, mode === 'multiple' || mode === 'tags')\n }\n\n return (\n <ul className=\"ant-select-dropdown-menu\">\n {items.map((item) => {\n const labelKey = fieldNames?.label || 'label'\n const valueKey = fieldNames?.value || 'value'\n const value = item instanceof Object ? item[valueKey] : item\n const label = item instanceof Object ? item[labelKey] : item + ''\n const disabled = item instanceof Object ? item['disabled'] : false\n\n const isSelected = isArray(_value) ? _value?.indexOf(value) > -1 : value === _value\n if (searchText) {\n const isReactDom = React.isValidElement(label)\n const _label = isReactDom ? formatLabel(label) : label\n if (_label?.indexOf(searchText) > -1) {\n return (\n <li\n className={classNames({\n 'ant-select-dropdown-menu-item': true,\n 'ant-select-dropdown-menu-item-selected': isSelected,\n 'ant-select-dropdown-menu-item-disabled': disabled,\n })}\n key={value}\n value={value}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => {\n !disabled &&\n onValueChange({\n value,\n propItem,\n options: items,\n })\n }}\n >\n <span>{propItem?.propsTitle || propItem?.name}: </span>\n {isReactDom ? (\n <span>{label}</span>\n ) : (\n <span\n dangerouslySetInnerHTML={{\n __html: highlightSubstring(label, searchText),\n }}\n ></span>\n )}\n {isSelected && <Icon type=\"check\" className=\"ant-select-selected-icon\" />}\n </li>\n )\n }\n return null\n }\n return (\n <li\n className={classNames({\n 'ant-select-dropdown-menu-item': true,\n 'ant-select-dropdown-menu-item-selected': isSelected,\n 'ant-select-dropdown-menu-item-disabled': disabled,\n })}\n key={value}\n value={value}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => {\n !disabled && onValueChange({ value, options: items })\n }}\n >\n {label}\n {isSelected && <Icon type=\"check\" className=\"ant-select-selected-icon\" />}\n </li>\n )\n })}\n </ul>\n )\n}\n"]}
@@ -0,0 +1,10 @@
1
+ declare var _default: React.ForwardRefExoticComponent<{
2
+ fieldItems: any;
3
+ initialValues: any;
4
+ onChange: any;
5
+ form: any;
6
+ clsPrefix: any;
7
+ } & React.RefAttributes<any>>;
8
+ export default _default;
9
+ import React from "react";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/query-form-v3/Field/Composition/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,255 @@
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 _react = _interopRequireWildcard(require("react"));
9
+ var _LocaleReceiver = _interopRequireDefault(require("antd/lib/locale-provider/LocaleReceiver"));
10
+ var _icon = _interopRequireDefault(require("../../../icon"));
11
+ var _tag = _interopRequireDefault(require("../../../tag"));
12
+ var _input = _interopRequireDefault(require("../../../input"));
13
+ var _FieldPopover = _interopRequireDefault(require("./FieldPopover"));
14
+ var _utils = require("./utils");
15
+ require("./index.less");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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 _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; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ 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); }
22
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
23
+ 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."); }
24
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
25
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
26
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
27
+ 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."); }
28
+ 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; } }
29
+ 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; }
30
+ 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; } }
31
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
32
+ /**
33
+ * @param value: [{
34
+ key: 'key1',
35
+ value: 'value1',
36
+ label: 'key1:value1'
37
+ }, {
38
+ key: 'key2',
39
+ value: ['value2', 'value3'],
40
+ label: 'key1:value2|value3'
41
+ }]
42
+ * @param {*} ref
43
+ * @returns
44
+ */
45
+ var regex = /^.+:.*$/;
46
+ var CompositionInput = function CompositionInput(_ref, ref) {
47
+ var fieldItems = _ref.fieldItems,
48
+ initialValues = _ref.initialValues,
49
+ onChange = _ref.onChange,
50
+ form = _ref.form,
51
+ clsPrefix = _ref.clsPrefix;
52
+ var prefix = "".concat(clsPrefix, "-composition-input");
53
+ var _useState = (0, _react.useState)([]),
54
+ _useState2 = _slicedToArray(_useState, 2),
55
+ value = _useState2[0],
56
+ setValue = _useState2[1];
57
+ var _useState3 = (0, _react.useState)(),
58
+ _useState4 = _slicedToArray(_useState3, 2),
59
+ tempItem = _useState4[0],
60
+ setTempItem = _useState4[1];
61
+ var _useState5 = (0, _react.useState)(''),
62
+ _useState6 = _slicedToArray(_useState5, 2),
63
+ searchText = _useState6[0],
64
+ setSearchText = _useState6[1];
65
+ var _useState7 = (0, _react.useState)(false),
66
+ _useState8 = _slicedToArray(_useState7, 2),
67
+ visible = _useState8[0],
68
+ setVisible = _useState8[1];
69
+ var _useState9 = (0, _react.useState)(undefined),
70
+ _useState10 = _slicedToArray(_useState9, 2),
71
+ fieldItem = _useState10[0],
72
+ setFieldItem = _useState10[1];
73
+ var _ref2 = fieldItem || {},
74
+ props = _ref2.props;
75
+ var inputRef = (0, _react.useRef)(null);
76
+ var widthRef = (0, _react.useRef)(null);
77
+ var fieldRef = (0, _react.useRef)(null);
78
+ var handleFocus = function handleFocus(e) {
79
+ var _a;
80
+ e.preventDefault();
81
+ (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
82
+ if (!visible && !regex.test(searchText)) {
83
+ setVisible(true);
84
+ }
85
+ };
86
+ (0, _react.useImperativeHandle)(ref, function () {
87
+ return {
88
+ changeVal: function changeVal() {
89
+ return value;
90
+ }
91
+ };
92
+ });
93
+ (0, _react.useEffect)(function () {
94
+ if (initialValues) {
95
+ setValue((0, _utils.parseObjectToArray)(initialValues, fieldItems));
96
+ }
97
+ }, [fieldItems, form, initialValues]);
98
+ var onClear = function onClear(e) {
99
+ e.stopPropagation();
100
+ var initKeys = Object.keys(initialValues || {});
101
+ var deleteKeys = value === null || value === void 0 ? void 0 : value.filter(function (_ref3) {
102
+ var key = _ref3.key;
103
+ return !initKeys.includes(key);
104
+ }).map(function (_ref4) {
105
+ var key = _ref4.key;
106
+ return key;
107
+ });
108
+ setValue((0, _utils.parseObjectToArray)(initialValues || {}, fieldItems));
109
+ onChange(Object.assign({}, initialValues || {}), deleteKeys, true);
110
+ };
111
+ var onDelete = function onDelete(key, e) {
112
+ e.preventDefault();
113
+ if (value.length > 0) {
114
+ var newValue = value.filter(function (v) {
115
+ return v.key !== key;
116
+ });
117
+ setValue(newValue);
118
+ var deleteKeys = [key];
119
+ onChange((0, _utils.parseArrayToObject)(newValue), deleteKeys, true);
120
+ }
121
+ };
122
+ var handleFieldChange = function handleFieldChange(value, isInput, hasValue) {
123
+ if (isInput) {
124
+ setSearchText(value === null || value === void 0 ? void 0 : value.label);
125
+ setTempItem(value);
126
+ return;
127
+ }
128
+ setValue(value);
129
+ setSearchText('');
130
+ setTempItem();
131
+ if (hasValue) onChange((0, _utils.parseArrayToObject)(value), undefined, true);
132
+ };
133
+ // 输入框事件方法
134
+ var onInputChange = function onInputChange(e) {
135
+ var value = e.target.value;
136
+ if (tempItem) {
137
+ if (regex.test(value)) {
138
+ // 有输入值
139
+ setSearchText(value);
140
+ } else {
141
+ // 没有输入值, 清空选择的属性类型重新显示属性列表
142
+ setSearchText('');
143
+ setTempItem();
144
+ }
145
+ } else {
146
+ setSearchText(value);
147
+ }
148
+ };
149
+ var onPressEnter = function onPressEnter(e) {
150
+ var _a;
151
+ var inputValue = ((_a = searchText === null || searchText === void 0 ? void 0 : searchText.match(/[^:]+:(.*)/)) === null || _a === void 0 ? void 0 : _a[1]) || null;
152
+ if (tempItem && inputValue) {
153
+ setVisible(false);
154
+ tempItem.label = searchText;
155
+ tempItem.closable = true;
156
+ tempItem.value = inputValue; // 得到输入值
157
+ if (!(value === null || value === void 0 ? void 0 : value.find(function (v) {
158
+ return v.key === tempItem.key;
159
+ }))) {
160
+ var newValue = [].concat(_toConsumableArray(value), [tempItem]);
161
+ setValue(newValue);
162
+ onChange((0, _utils.parseArrayToObject)(newValue));
163
+ } else {
164
+ var _newValue = value.map(function (v) {
165
+ return v.key === tempItem.key ? tempItem : v;
166
+ });
167
+ setValue(_newValue);
168
+ onChange((0, _utils.parseArrayToObject)(_newValue));
169
+ }
170
+ e.target.value = inputValue;
171
+ form.emit('search', _defineProperty(_defineProperty({}, tempItem.key, inputValue), "current", 1));
172
+ (props === null || props === void 0 ? void 0 : props.onPressEnter) && props.onPressEnter(e);
173
+ }
174
+ setTempItem();
175
+ setSearchText('');
176
+ };
177
+ var handleTag = function handleTag(obj) {
178
+ var curItem = undefined;
179
+ for (var index = 0; index < fieldItems.length; index++) {
180
+ var item = fieldItems[index];
181
+ if (item.props.name === obj.key) {
182
+ curItem = item;
183
+ break;
184
+ }
185
+ }
186
+ fieldRef.current.onPropsClick(curItem.props);
187
+ };
188
+ return _react["default"].createElement(_LocaleReceiver["default"], {
189
+ componentName: "QueryForm"
190
+ }, function (locale) {
191
+ return _react["default"].createElement("div", {
192
+ className: prefix,
193
+ onClick: handleFocus
194
+ }, _react["default"].createElement("span", {
195
+ className: "".concat(prefix, "-width"),
196
+ ref: widthRef
197
+ }, searchText), _react["default"].createElement("ul", {
198
+ className: "".concat(prefix, "-items")
199
+ }, value && value.map(function (item, index) {
200
+ return _react["default"].createElement("li", {
201
+ key: index,
202
+ className: "".concat(prefix, "-items-item")
203
+ }, _react["default"].createElement(_tag["default"], {
204
+ closable: item.closable,
205
+ onClick: function onClick(e) {
206
+ e.preventDefault();
207
+ e.stopPropagation();
208
+ handleTag(item);
209
+ },
210
+ onClose: function onClose(e) {
211
+ return onDelete(item.key, e);
212
+ },
213
+ ellipsisOptions: {
214
+ widthLimit: '140px'
215
+ }
216
+ }, item === null || item === void 0 ? void 0 : item.label));
217
+ }), _react["default"].createElement("li", {
218
+ className: "".concat(prefix, "-items-input")
219
+ }, _react["default"].createElement(_FieldPopover["default"], {
220
+ ref: fieldRef,
221
+ onChange: handleFieldChange,
222
+ clsPrefix: clsPrefix,
223
+ fieldItems: fieldItems,
224
+ propItem: fieldItem,
225
+ setFieldItem: setFieldItem,
226
+ form: form,
227
+ regex: regex,
228
+ visible: visible,
229
+ value: value,
230
+ setVisible: setVisible,
231
+ searchText: searchText,
232
+ locale: locale,
233
+ placement: "bottomLeft"
234
+ }, _react["default"].createElement(_input["default"], Object.assign({
235
+ ref: inputRef,
236
+ value: searchText,
237
+ className: "inputClass",
238
+ placeholder: !(value === null || value === void 0 ? void 0 : value.length) ? locale.placeholder : undefined
239
+ }, props, {
240
+ onPressEnter: onPressEnter,
241
+ onChange: onInputChange
242
+ }))))), _react["default"].createElement("div", {
243
+ className: "".concat(prefix, "-prefix")
244
+ }, _react["default"].createElement(_icon["default"], {
245
+ type: "filter"
246
+ })), _react["default"].createElement("div", {
247
+ className: "".concat(prefix, "-clear")
248
+ }, _react["default"].createElement(_icon["default"], {
249
+ onClick: onClear,
250
+ type: "close-circle",
251
+ theme: "filled"
252
+ })));
253
+ });
254
+ };
255
+ var _default = exports["default"] = (0, _react.forwardRef)(CompositionInput);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/query-form-v3/Field/Composition/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2F;AAC3F,4FAAmE;AACnE,yDAAgC;AAChC,uDAA8B;AAC9B,2DAAkC;AAClC,kEAAyC;AACzC,mCAAgE;AAChE,wBAAqB;AAErB;;;;;;;;;;;;GAYG;AACH,MAAM,KAAK,GAAG,SAAS,CAAA;AAEvB,MAAM,gBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,GAAG,SAAS,oBAAoB,CAAA;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAE,CAAA;IAC1C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAA;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAA;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,IAAI,EAAE,CAAA;IAEjC,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE;;QACxB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,UAAU,CAAC,IAAI,CAAC,CAAA;SACjB;IACH,CAAC,CAAA;IACD,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,GAAG,EAAE;YACd,OAAO,KAAK,CAAA;QACd,CAAC;KACF,CAAC,CAAC,CAAA;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,aAAa,EAAE;YACjB,QAAQ,CAAC,IAAA,0BAAkB,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;SACxD;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IAErC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QAC5F,QAAQ,CAAC,IAAA,0BAAkB,EAAC,aAAa,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC,CAAA;QAC7D,QAAQ,mBAAM,CAAC,aAAa,IAAI,EAAE,CAAC,GAAI,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1D,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;YACnD,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAClB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,QAAQ,CAAC,IAAA,0BAAkB,EAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;SACzD;IACH,CAAC,CAAA;IACD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACrD,IAAI,OAAO,EAAE;YACX,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAA;YAC3B,WAAW,CAAC,KAAK,CAAC,CAAA;YAClB,OAAM;SACP;QACD,QAAQ,CAAC,KAAK,CAAC,CAAA;QACf,aAAa,CAAC,EAAE,CAAC,CAAA;QACjB,WAAW,EAAE,CAAA;QACb,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACpE,CAAC,CAAA;IAED,UAAU;IACV,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QAC5B,IAAI,QAAQ,EAAE;YACZ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACrB,OAAO;gBACP,aAAa,CAAC,KAAK,CAAC,CAAA;aACrB;iBAAM;gBACL,2BAA2B;gBAC3B,aAAa,CAAC,EAAE,CAAC,CAAA;gBACjB,WAAW,EAAE,CAAA;aACd;SACF;aAAM;YACL,aAAa,CAAC,KAAK,CAAC,CAAA;SACrB;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE;;QACzB,MAAM,UAAU,GAAG,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,YAAY,CAAC,0CAAG,CAAC,CAAC,KAAI,IAAI,CAAA;QAC/D,IAAI,QAAQ,IAAI,UAAU,EAAE;YAC1B,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAA;YAC3B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;YACxB,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAA,CAAC,QAAQ;YACpC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAE;gBAC/C,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAA;gBACrC,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClB,QAAQ,CAAC,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,CAAA;aACvC;iBAAM;gBACL,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1E,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClB,QAAQ,CAAC,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,CAAA;aACvC;YACD,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;YAC/D,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,KAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;SAC7C;QACD,WAAW,EAAE,CAAA;QACb,aAAa,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,OAAO,GAAG,SAAS,CAAA;QACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE;gBAC/B,OAAO,GAAG,IAAI,CAAA;gBACd,MAAK;aACN;SACF;QACD,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IACD,OAAO,CACL,8BAAC,wBAAc,IAAC,aAAa,EAAC,WAAW,IACtC,CAAC,MAAM,EAAE,EAAE;QACV,OAAO,CACL,uCAAK,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;YAC1C,wCAAM,SAAS,EAAE,GAAG,MAAM,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAC9C,UAAU,CACN;YACP,sCAAI,SAAS,EAAE,GAAG,MAAM,QAAQ;gBAC7B,KAAK;oBACJ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACzB,sCAAI,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa;wBAC/C,8BAAC,aAAG,IACF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gCACb,CAAC,CAAC,cAAc,EAAE,CAAA;gCAClB,CAAC,CAAC,eAAe,EAAE,CAAA;gCACnB,SAAS,CAAC,IAAI,CAAC,CAAA;4BACjB,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EACrC,eAAe,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAEvC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CACR,CACH,CACN,CAAC;gBACJ,sCAAI,SAAS,EAAE,GAAG,MAAM,cAAc;oBACpC,8BAAC,sBAAY,IACX,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,YAAY;wBAEtB,8BAAC,eAAK,kBACJ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,UAAU,EACjB,SAAS,EAAC,YAAY,EACtB,WAAW,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IACxD,KAAK,IACT,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,aAAa,IACvB,CACW,CACZ,CACF;YACL,uCAAK,SAAS,EAAE,GAAG,MAAM,SAAS;gBAChC,8BAAC,cAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,CAClB;YACN,uCAAK,SAAS,EAAE,GAAG,MAAM,QAAQ;gBAC/B,8BAAC,cAAI,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,QAAQ,GAAG,CACzD,CACF,CACP,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AACD,kBAAe,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import React, { useEffect, useState, useRef, useImperativeHandle, forwardRef } from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport Icon from '../../../icon'\nimport Tag from '../../../tag'\nimport Input from '../../../input'\nimport FieldPopover from './FieldPopover'\nimport { parseArrayToObject, parseObjectToArray } 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 = /^.+:.*$/\n\nconst CompositionInput = ({ fieldItems, initialValues, onChange, form, clsPrefix }, ref) => {\n const prefix = `${clsPrefix}-composition-input`\n const [value, setValue] = useState([])\n const [tempItem, setTempItem] = useState()\n const [searchText, setSearchText] = useState('')\n const [visible, setVisible] = useState(false)\n const [fieldItem, setFieldItem] = useState(undefined)\n const { props } = fieldItem || {}\n\n const inputRef = useRef(null)\n const widthRef = useRef(null)\n const fieldRef = useRef(null)\n\n const handleFocus = (e) => {\n e.preventDefault()\n inputRef?.current?.focus()\n if (!visible && !regex.test(searchText)) {\n setVisible(true)\n }\n }\n useImperativeHandle(ref, () => ({\n changeVal: () => {\n return value\n },\n }))\n\n useEffect(() => {\n if (initialValues) {\n setValue(parseObjectToArray(initialValues, fieldItems))\n }\n }, [fieldItems, form, initialValues])\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, true)\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 const handleFieldChange = (value, isInput, hasValue) => {\n if (isInput) {\n setSearchText(value?.label)\n setTempItem(value)\n return\n }\n setValue(value)\n setSearchText('')\n setTempItem()\n if (hasValue) onChange(parseArrayToObject(value), undefined, true)\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 const handleTag = (obj) => {\n let curItem = undefined\n for (let index = 0; index < fieldItems.length; index++) {\n const item = fieldItems[index]\n if (item.props.name === obj.key) {\n curItem = item\n break\n }\n }\n fieldRef.current.onPropsClick(curItem.props)\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={index} className={`${prefix}-items-item`}>\n <Tag\n closable={item.closable}\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleTag(item)\n }}\n onClose={(e) => onDelete(item.key, e)}\n ellipsisOptions={{ widthLimit: '140px' }}\n >\n {item?.label}\n </Tag>\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 <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 </FieldPopover>\n </li>\n </ul>\n <div className={`${prefix}-prefix`}>\n <Icon type=\"filter\" />\n </div>\n <div className={`${prefix}-clear`}>\n <Icon onClick={onClear} type=\"close-circle\" theme=\"filled\" />\n </div>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}\nexport default forwardRef(CompositionInput)\n"]}
@@ -0,0 +1,118 @@
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
+ float: left;
42
+ padding: 0;
43
+ list-style: none;
44
+ margin: 0;
45
+ width: 100%;
46
+ &-item {
47
+ padding: 3px 0;
48
+ }
49
+ li {
50
+ float: left;
51
+ line-height: 1;
52
+ }
53
+ &-input {
54
+ .inputClass {
55
+ background: none;
56
+ border: none !important;
57
+ outline: none;
58
+ box-shadow: none !important;
59
+ width: 150px !important;
60
+ height: 26px;
61
+ line-height: 26px;
62
+ padding: 0;
63
+ input {
64
+ border: none !important;
65
+ outline: none !important;
66
+ box-shadow: none !important;
67
+ height: 26px;
68
+ line-height: 26px;
69
+ padding: 0;
70
+ }
71
+ textarea {
72
+ padding: 0;
73
+ }
74
+ }
75
+ .inputClass-with-placeholder {
76
+ min-width: 398px !important;
77
+ }
78
+ }
79
+ }
80
+ &-clear {
81
+ position: absolute;
82
+ right: @margin-sm;
83
+ top: 50%;
84
+ transform: translateY(-50%);
85
+ display: none;
86
+ i.anticon {
87
+ color: tint(@bg-color-spotilight, 50%);
88
+ }
89
+ &:hover {
90
+ .anticon {
91
+ color: @text-color-secondary !important;
92
+ }
93
+ }
94
+ }
95
+ &:hover {
96
+ border-color: @blue-6;
97
+ outline: 0;
98
+ .tnt-queryform-composition-input-clear {
99
+ display: block;
100
+ }
101
+ // box-shadow: 0 0 0 2px rgb(18 107 251 / 20%);
102
+ }
103
+ &:focus,
104
+ &:active {
105
+ border-color: @blue-5;
106
+ outline: 0;
107
+ // box-shadow: 0 0 0 2px rgb(18 107 251 / 20%);
108
+ }
109
+ .ant-tag {
110
+ padding: 0 @padding-xs;
111
+ border: none;
112
+ background: @fill-color-tertiary;
113
+ height: 20px;
114
+ .ant-tag-addon-wrap {
115
+ margin-top: -2px;
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,22 @@
1
+ export function highlightSubstring(str: any, substring: any): any;
2
+ export function getLabelFromOptions(key: any, options: any, fieldNames?: {
3
+ label: string;
4
+ value: string;
5
+ }): any;
6
+ export function getLabelByValue({ value, options, fieldNames, }: {
7
+ value: any;
8
+ options: any;
9
+ fieldNames?: {
10
+ label: string;
11
+ value: string;
12
+ } | undefined;
13
+ }): any;
14
+ export function formatLabel(reactDom: any): any;
15
+ export function parseObjectToArray(value: any, data: any): (false | {
16
+ key: string;
17
+ value: any;
18
+ closable: boolean;
19
+ label: string;
20
+ } | null)[];
21
+ export function parseArrayToObject(value: any): any;
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/query-form-v3/Field/Composition/utils.js"],"names":[],"mappings":"AAIA,kEAGC;AAED;;;QAkBC;AAED;;;;;;;QAqBC;AAED,gDAWC;AAED;;;;;YA8DC;AAED,oDAKC"}