@teamix/pro 1.2.12 → 1.2.16

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 (201) hide show
  1. package/dist/212.js +798 -766
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +1851 -1863
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/es/actions/dialog-component.js +2 -2
  7. package/es/actions/dialog-form.js +2 -2
  8. package/es/actions/dialog.js +5 -3
  9. package/es/actions/index.js +11 -7
  10. package/es/actions/link.js +2 -2
  11. package/es/actions/request.js +2 -2
  12. package/es/actions/utils.js +2 -2
  13. package/es/card/card-container.js +2 -2
  14. package/es/card/divider.js +2 -2
  15. package/es/card/index.d.ts +6 -3
  16. package/es/card/index.js +11 -6
  17. package/es/card/index.scss +4 -0
  18. package/es/card/selectable.js +2 -2
  19. package/es/card/tab.js +2 -2
  20. package/es/form/Components/Editable/index.js +2 -2
  21. package/es/form/Components/FormGroup/index.js +2 -2
  22. package/es/form/Components/LightFilter/componentMap.d.ts +2 -0
  23. package/es/form/Components/LightFilter/componentMap.js +5 -0
  24. package/es/form/Components/LightFilter/index.d.ts +15 -0
  25. package/es/form/Components/{QueryFilter → LightFilter}/index.js +45 -44
  26. package/es/form/Components/LightFilter/index.scss +74 -0
  27. package/es/form/Components/ProField/index.js +2 -2
  28. package/es/form/Components/Text/index.js +2 -2
  29. package/es/form/Filter/index.js +4 -4
  30. package/es/form/Filter/index.scss +0 -46
  31. package/es/form/Filter/index2.d.ts +1 -1
  32. package/es/form/Filter/index2.js +163 -115
  33. package/es/form/Filter/index2.scss +73 -0
  34. package/es/form/ProForm/index.js +3 -2
  35. package/es/form/ProForm/index.scss +9 -9
  36. package/es/form/ProForm/useAutoSubmit.js +2 -2
  37. package/es/form/ProForm/useFieldRequest.js +2 -2
  38. package/es/form/ProForm/useFormDisplayValues.js +46 -15
  39. package/es/form/ProForm/useInitialRequest.js +2 -2
  40. package/es/form/SchemaForm/adapterType.js +1 -0
  41. package/es/form/SchemaForm/index.js +5 -5
  42. package/es/form/SchemaForm/initializeArrayCards.js +2 -2
  43. package/es/form/SchemaForm/initializeArrayCollapse.js +2 -2
  44. package/es/form/SchemaForm/initializeArrayItems.js +2 -2
  45. package/es/form/SchemaForm/initializeArrayTable.js +2 -2
  46. package/es/form/SchemaForm/initializeFormButton.js +2 -2
  47. package/es/form/SchemaForm/initializeFormCollapse.js +2 -2
  48. package/es/form/SchemaForm/initializeFormGroup.js +2 -2
  49. package/es/form/SchemaForm/initializeFormStep.js +2 -2
  50. package/es/form/SchemaForm/initializeFormTab.js +2 -2
  51. package/es/form/SchemaForm/initializeReactions.js +2 -2
  52. package/es/form/SchemaForm/initializeRules.js +2 -2
  53. package/es/form/SchemaForm/reactions.js +4 -8
  54. package/es/form/fieldTypeMap.js +1 -0
  55. package/es/form/global.scss +1 -0
  56. package/es/form/index.js +2 -2
  57. package/es/form/typing.d.ts +6 -0
  58. package/es/form/utils.js +2 -2
  59. package/es/form/warning.js +2 -2
  60. package/es/index.d.ts +1 -1
  61. package/es/index.js +1 -1
  62. package/es/info/components/InfoGroup/index.js +2 -2
  63. package/es/info/components/InfoValueItem/index.js +2 -2
  64. package/es/info/components/ProInfoItem/index.js +3 -1
  65. package/es/info/components/tableInfo/index.js +2 -2
  66. package/es/info/index.js +2 -2
  67. package/es/info/utils/index.js +2 -2
  68. package/es/nocode/pages/playground.js +2 -2
  69. package/es/nocode/pages/renderer.d.ts +2 -2
  70. package/es/nocode/pages/renderer.js +5 -5
  71. package/es/nocode/playground.js +2 -2
  72. package/es/page-header/index.d.ts +1 -2
  73. package/es/page-header/index.js +4 -14
  74. package/es/sidebar/components/sidebar-container/index.js +2 -2
  75. package/es/sidebar/components/tree/index.js +2 -2
  76. package/es/sidebar/index.js +2 -2
  77. package/es/table/components/Filter/index.js +2 -2
  78. package/es/table/components/Layout/index.js +3 -3
  79. package/es/table/components/QuickAction/index.js +3 -3
  80. package/es/table/components/ToolBar/FilterColumnIcon.js +54 -19
  81. package/es/table/components/ToolBar/index.js +2 -2
  82. package/es/table/components/ToolBar/index.scss +1 -0
  83. package/es/table/index.js +29 -11
  84. package/es/table/typing.d.ts +11 -1
  85. package/es/table/utils/columnRender.js +61 -3
  86. package/es/table/utils/genProColumnToColumn.js +2 -2
  87. package/es/table/utils/index.js +24 -4
  88. package/es/table/utils/useTableSelection.js +2 -2
  89. package/es/templates/List/index.js +2 -2
  90. package/es/utils/message.d.ts +1 -1
  91. package/es/utils/message.js +9 -9
  92. package/lib/actions/dialog-component.js +2 -2
  93. package/lib/actions/dialog-form.js +3 -3
  94. package/lib/actions/dialog.js +6 -4
  95. package/lib/actions/index.js +11 -7
  96. package/lib/actions/link.js +2 -2
  97. package/lib/actions/request.js +2 -2
  98. package/lib/actions/utils.js +2 -2
  99. package/lib/card/card-container.js +2 -2
  100. package/lib/card/divider.js +2 -2
  101. package/lib/card/index.d.ts +6 -3
  102. package/lib/card/index.js +11 -6
  103. package/lib/card/index.scss +4 -0
  104. package/lib/card/selectable.js +2 -2
  105. package/lib/card/tab.js +2 -2
  106. package/lib/field/index.js +1 -1
  107. package/lib/form/Components/Editable/index.js +3 -3
  108. package/lib/form/Components/FormGroup/index.js +2 -2
  109. package/lib/form/Components/LightFilter/componentMap.d.ts +2 -0
  110. package/lib/form/Components/LightFilter/componentMap.js +12 -0
  111. package/lib/form/Components/LightFilter/index.d.ts +15 -0
  112. package/lib/form/Components/{QueryFilter → LightFilter}/index.js +50 -44
  113. package/lib/form/Components/LightFilter/index.scss +74 -0
  114. package/lib/form/Components/ProField/index.js +2 -2
  115. package/lib/form/Components/Text/index.js +2 -2
  116. package/lib/form/Filter/index.js +5 -5
  117. package/lib/form/Filter/index.scss +0 -46
  118. package/lib/form/Filter/index2.d.ts +1 -1
  119. package/lib/form/Filter/index2.js +165 -115
  120. package/lib/form/Filter/index2.scss +73 -0
  121. package/lib/form/ProForm/index.js +4 -3
  122. package/lib/form/ProForm/index.scss +9 -9
  123. package/lib/form/ProForm/useAutoSubmit.js +2 -2
  124. package/lib/form/ProForm/useFieldRequest.js +2 -2
  125. package/lib/form/ProForm/useFormDisplayValues.js +47 -15
  126. package/lib/form/ProForm/useInitialRequest.js +2 -2
  127. package/lib/form/SchemaForm/adapterType.js +1 -0
  128. package/lib/form/SchemaForm/index.js +6 -6
  129. package/lib/form/SchemaForm/initializeArrayCards.js +2 -2
  130. package/lib/form/SchemaForm/initializeArrayCollapse.js +2 -2
  131. package/lib/form/SchemaForm/initializeArrayItems.js +2 -2
  132. package/lib/form/SchemaForm/initializeArrayTable.js +2 -2
  133. package/lib/form/SchemaForm/initializeFormButton.js +2 -2
  134. package/lib/form/SchemaForm/initializeFormCollapse.js +2 -2
  135. package/lib/form/SchemaForm/initializeFormGroup.js +2 -2
  136. package/lib/form/SchemaForm/initializeFormStep.js +2 -2
  137. package/lib/form/SchemaForm/initializeFormTab.js +2 -2
  138. package/lib/form/SchemaForm/initializeReactions.js +2 -2
  139. package/lib/form/SchemaForm/initializeRules.js +2 -2
  140. package/lib/form/SchemaForm/reactions.js +3 -7
  141. package/lib/form/fieldTypeMap.js +1 -0
  142. package/lib/form/global.scss +1 -0
  143. package/lib/form/index.js +3 -3
  144. package/lib/form/typing.d.ts +6 -0
  145. package/lib/form/utils.js +2 -2
  146. package/lib/form/warning.js +2 -2
  147. package/lib/hooks/index.js +1 -1
  148. package/lib/index.d.ts +1 -1
  149. package/lib/index.js +2 -2
  150. package/lib/info/components/InfoGroup/index.js +3 -3
  151. package/lib/info/components/InfoValueItem/index.js +3 -3
  152. package/lib/info/components/ProInfoItem/index.js +3 -1
  153. package/lib/info/components/tableInfo/index.js +3 -3
  154. package/lib/info/index.js +3 -3
  155. package/lib/info/utils/index.js +2 -2
  156. package/lib/nocode/configurators/index.js +1 -1
  157. package/lib/nocode/pages/playground.js +3 -3
  158. package/lib/nocode/pages/renderer.d.ts +2 -2
  159. package/lib/nocode/pages/renderer.js +5 -5
  160. package/lib/nocode/playground.js +3 -3
  161. package/lib/page-container/index.js +1 -1
  162. package/lib/page-header/index.d.ts +1 -2
  163. package/lib/page-header/index.js +6 -17
  164. package/lib/sidebar/components/sidebar-container/index.js +2 -2
  165. package/lib/sidebar/components/tree/index.js +3 -3
  166. package/lib/sidebar/index.js +3 -3
  167. package/lib/skeleton/index.js +1 -1
  168. package/lib/table/components/Filter/index.js +3 -3
  169. package/lib/table/components/Layout/index.js +3 -3
  170. package/lib/table/components/QuickAction/index.js +3 -3
  171. package/lib/table/components/ToolBar/DensityIcon.js +1 -1
  172. package/lib/table/components/ToolBar/FilterColumnIcon.js +55 -20
  173. package/lib/table/components/ToolBar/FullScreenIcon.js +1 -1
  174. package/lib/table/components/ToolBar/Fullscreen.js +1 -1
  175. package/lib/table/components/ToolBar/index.js +2 -2
  176. package/lib/table/components/ToolBar/index.scss +1 -0
  177. package/lib/table/index.js +29 -11
  178. package/lib/table/typing.d.ts +11 -1
  179. package/lib/table/utils/columnRender.js +61 -3
  180. package/lib/table/utils/genProColumnToColumn.js +2 -2
  181. package/lib/table/utils/index.js +24 -4
  182. package/lib/table/utils/useTableSelection.js +2 -2
  183. package/lib/templates/List/index.js +3 -3
  184. package/lib/utils/index.js +1 -1
  185. package/lib/utils/message.d.ts +1 -1
  186. package/lib/utils/message.js +9 -9
  187. package/package.json +2 -2
  188. package/es/form/Components/Query/index.d.ts +0 -4
  189. package/es/form/Components/Query/index.js +0 -70
  190. package/es/form/Components/Query/index.scss +0 -85
  191. package/es/form/Components/QueryFilter/index.d.ts +0 -3
  192. package/es/utils/components/tags/index.d.ts +0 -11
  193. package/es/utils/components/tags/index.js +0 -50
  194. package/es/utils/components/tags/index.scss +0 -12
  195. package/lib/form/Components/Query/index.d.ts +0 -4
  196. package/lib/form/Components/Query/index.js +0 -91
  197. package/lib/form/Components/Query/index.scss +0 -85
  198. package/lib/form/Components/QueryFilter/index.d.ts +0 -3
  199. package/lib/utils/components/tags/index.d.ts +0 -11
  200. package/lib/utils/components/tags/index.js +0 -66
  201. package/lib/utils/components/tags/index.scss +0 -12
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -19,15 +19,22 @@ var _core = require("@formily/core");
19
19
 
20
20
  var _utils = require("@teamix/utils");
21
21
 
22
+ var _index = _interopRequireDefault(require("../../field/index"));
23
+
22
24
  var _ProForm = _interopRequireDefault(require("../ProForm"));
23
25
 
26
+ var _fieldTypeMap = _interopRequireDefault(require("../fieldTypeMap"));
27
+
24
28
  var _useFormDisplayValues = require("../ProForm/useFormDisplayValues");
25
29
 
26
30
  var _utils2 = require("../utils");
27
31
 
28
- require("./index.scss");
32
+ require("./index2.scss");
29
33
 
30
- var _excluded = ["schema", "triggerType", "onFilter"];
34
+ var _excluded = ["schema", "onChange", "onSubmit"],
35
+ _excluded2 = ["form", "schema", "onSubmit", "onChange"],
36
+ _excluded3 = ["schema", "onSubmit", "onChange", "onReset", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol"],
37
+ _excluded4 = ["addonAfter", "addonBefore", "onFilter", "mode", "expand"];
31
38
 
32
39
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
40
 
@@ -55,55 +62,27 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
55
62
 
56
63
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
57
64
 
58
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
59
-
60
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
65
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
61
66
 
62
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
63
-
64
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
67
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
65
68
 
66
69
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67
70
 
68
- var getEventProps = function getEventProps(triggerType, onFilter) {
69
- var keydownEvent = {
70
- onSubmit: onFilter
71
- };
72
- var changeEvent = {
73
- onChange: onFilter
74
- };
75
- var eventMap = {
76
- keydown: keydownEvent,
77
- change: _objectSpread(_objectSpread({}, keydownEvent), changeEvent),
78
- submit: keydownEvent
79
- };
80
- return eventMap[triggerType];
81
- };
71
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
72
+
73
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
82
74
 
83
- var schemaTemp = [{
84
- name: 'taskName',
85
- title: '实例名称',
86
- component: 'Input',
87
- required: true,
88
- props: {
89
- style: {
90
- width: 180
91
- },
92
- placeholder: '请输入'
93
- }
94
- }];
95
75
  /**
96
76
  * 简单筛选
97
77
  */
98
-
99
78
  var SimpleFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
100
79
  var schema = props.schema,
101
- triggerType = props.triggerType,
102
- onFilter = props.onFilter,
80
+ onChange = props.onChange,
81
+ onSubmit = props.onSubmit,
103
82
  otherProps = _objectWithoutProperties(props, _excluded);
104
83
 
105
84
  var prefixCls = (0, _utils.usePrefixCls)('', {
106
- prefix: 'teamix-pro-form-filter-simple'
85
+ prefix: 'teamix-pro-form-query-filter-simple'
107
86
  });
108
87
  var simpleSchema = (0, _react.useMemo)(function () {
109
88
  return [{
@@ -111,50 +90,89 @@ var SimpleFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
111
90
  props: {
112
91
  size: 8
113
92
  },
114
- children: [].concat(_toConsumableArray(schema), [{
115
- type: 'void',
116
- decorator: null,
117
- component: 'Submit',
118
- props: {
119
- style: _objectSpread({}, triggerType === 'submit' ? {} : {
120
- display: 'none'
121
- })
93
+ children: schema
94
+ }, {
95
+ component: 'Submit',
96
+ props: {
97
+ style: {
98
+ display: 'none'
122
99
  }
123
- }])
100
+ }
124
101
  }];
125
- }, []);
126
- var eventProps = getEventProps(triggerType, onFilter);
127
- return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread(_objectSpread({
102
+ }, [schema]);
103
+ return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread({}, otherProps), {}, {
104
+ className: (0, _classnames.default)(prefixCls, props.className),
105
+ schema: simpleSchema,
128
106
  feedbackLayout: "popover",
129
107
  breakpoints: [],
130
- inset: true
131
- }, otherProps), eventProps), {}, {
108
+ inset: true,
109
+ onSubmit: onSubmit,
110
+ onChange: onChange
111
+ }));
112
+ });
113
+ /**
114
+ * 轻量筛选
115
+ */
116
+
117
+ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
118
+ var form = props.form,
119
+ schema = props.schema,
120
+ onSubmit = props.onSubmit,
121
+ onChange = props.onChange,
122
+ otherProps = _objectWithoutProperties(props, _excluded2);
123
+
124
+ var prefixCls = (0, _utils.usePrefixCls)('', {
125
+ prefix: 'teamix-pro-form-query-filter-light'
126
+ });
127
+ var LightSchema = (0, _react.useMemo)(function () {
128
+ return [{
129
+ component: 'LightFilter',
130
+ children: schema
131
+ }, {
132
+ component: 'Submit',
133
+ props: {
134
+ style: {
135
+ display: 'none'
136
+ }
137
+ }
138
+ }];
139
+ }, [schema]); // useEffect(() => {
140
+ // form.addEffects('onChange', () => {
141
+ // onFieldValueChange('',(field:any) => {
142
+ // console.log(field.value);
143
+ // });
144
+ // });
145
+ // }, [form, onChange]);
146
+
147
+ return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread({}, otherProps), {}, {
148
+ form: form,
132
149
  className: (0, _classnames.default)(prefixCls, props.className),
133
- schema: simpleSchema
150
+ schema: LightSchema,
151
+ feedbackLayout: "popover",
152
+ breakpoints: [],
153
+ bordered: false,
154
+ onSubmit: onSubmit,
155
+ onChange: onChange
134
156
  }));
135
157
  });
136
- SimpleFilter.defaultProps = {
137
- triggerType: 'change'
138
- };
139
158
  /**
140
159
  * 高级筛选
141
160
  */
142
161
 
143
162
  var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
144
- var form = (0, _react.useMemo)(function () {
145
- return (props === null || props === void 0 ? void 0 : props.form) || (0, _core.createForm)();
146
- }, []);
147
163
  var schema = props.schema,
148
- triggerType = props.triggerType,
149
- onFilter = props.onFilter,
164
+ onSubmit = props.onSubmit,
165
+ onChange = props.onChange,
150
166
  onReset = props.onReset,
151
167
  layout = props.layout,
152
168
  labelAlign = props.labelAlign,
153
169
  wrapperAlign = props.wrapperAlign,
154
170
  labelCol = props.labelCol,
155
- wrapperCol = props.wrapperCol;
171
+ wrapperCol = props.wrapperCol,
172
+ otherProps = _objectWithoutProperties(props, _excluded3);
173
+
156
174
  var prefixCls = (0, _utils.usePrefixCls)('', {
157
- prefix: 'teamix-pro-form-filter-advanced'
175
+ prefix: 'teamix-pro-form-query-filter-advanced'
158
176
  });
159
177
  var gridSchema = (0, _react.useMemo)(function () {
160
178
  return [{
@@ -180,26 +198,21 @@ var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
180
198
  component: 'Reset',
181
199
  props: {
182
200
  onResetValidateSuccess: onReset,
183
- style: _objectSpread({}, triggerType === 'submit' ? {} : {
184
- marginRight: -16
185
- }),
186
201
  children: (0, _utils.getMessage)('reset')
187
202
  }
188
203
  }, {
189
204
  component: 'Submit',
190
205
  props: {
191
- style: _objectSpread({}, triggerType === 'submit' ? {
206
+ style: {
192
207
  marginRight: -8
193
- } : {
194
- display: 'none'
195
- }),
208
+ },
196
209
  children: (0, _utils.getMessage)('search')
197
210
  }
198
211
  }]
199
212
  }]
200
213
  }])
201
214
  }];
202
- }, []);
215
+ }, [schema, onReset]);
203
216
  var getTeamixLayout = (0, _react.useMemo)(function () {
204
217
  return {
205
218
  breakpoints: [990],
@@ -210,18 +223,15 @@ var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
210
223
  wrapperCol: (0, _utils2.mergeArrayValue)([24], wrapperCol)
211
224
  };
212
225
  }, [layout, labelAlign, wrapperAlign, labelCol, wrapperCol]);
213
- var eventProps = getEventProps(triggerType, onFilter);
214
- return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
215
- feedbackLayout: "popover"
216
- }, props), eventProps), getTeamixLayout), {}, {
217
- form: form,
226
+ return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread(_objectSpread({
218
227
  className: (0, _classnames.default)(prefixCls, props.className),
219
228
  schema: gridSchema,
220
- onSubmit: onFilter
229
+ feedbackLayout: "popover"
230
+ }, otherProps), getTeamixLayout), {}, {
231
+ onSubmit: onSubmit
221
232
  }));
222
233
  });
223
234
  AdvancedFilter.defaultProps = {
224
- triggerType: 'change',
225
235
  layout: 'horizontal',
226
236
  labelAlign: 'right',
227
237
  labelCol: 6,
@@ -232,7 +242,20 @@ AdvancedFilter.defaultProps = {
232
242
  */
233
243
 
234
244
  var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
235
- var _useState = (0, _react.useState)(true),
245
+ var addonAfter = props.addonAfter,
246
+ addonBefore = props.addonBefore,
247
+ onFilter = props.onFilter,
248
+ mode = props.mode,
249
+ expand = props.expand,
250
+ otherProps = _objectWithoutProperties(props, _excluded4);
251
+
252
+ var form = (0, _react.useMemo)(function () {
253
+ return props.form || (0, _core.createForm)({
254
+ validateFirst: true
255
+ });
256
+ }, []);
257
+
258
+ var _useState = (0, _react.useState)(expand),
236
259
  _useState2 = _slicedToArray(_useState, 2),
237
260
  advancedFilterVisible = _useState2[0],
238
261
  setAdvancedFilterVisible = _useState2[1];
@@ -240,17 +263,8 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
240
263
  var _useState3 = (0, _react.useState)([]),
241
264
  _useState4 = _slicedToArray(_useState3, 2),
242
265
  tagDataSource = _useState4[0],
243
- setTagDataSource = _useState4[1]; // const [values, setValues] = useState<any>();
266
+ setTagDataSource = _useState4[1];
244
267
 
245
-
246
- var form = (0, _react.useMemo)(function () {
247
- return (props === null || props === void 0 ? void 0 : props.form) || (0, _core.createForm)({
248
- validateFirst: true
249
- });
250
- }, []);
251
- var schema = props.schema,
252
- addonAfter = props.addonAfter,
253
- addonBefore = props.addonBefore;
254
268
  var prefixCls = (0, _utils.usePrefixCls)('', {
255
269
  prefix: 'teamix-pro-form-query-filter'
256
270
  }); // 展开收起高级筛选
@@ -272,19 +286,38 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
272
286
 
273
287
  return {
274
288
  key: key,
289
+ type: _fieldTypeMap.default[data.component] || 'text',
275
290
  label: data.title,
276
291
  value: (_data$displayValue = data.displayValue) !== null && _data$displayValue !== void 0 ? _data$displayValue : data.value
277
292
  };
278
- }); // .filter((item) => isValid(item.value));
279
- }, []); // 表单值变化
293
+ }).filter(function (item) {
294
+ return (0, _utils.isSignificative)(item.value);
295
+ });
296
+ }, []); // 表单值提交
280
297
 
281
- var onFormValueChange = (0, _react.useCallback)(function (values) {
298
+ var onFormSubmit = (0, _react.useCallback)(function (values) {
282
299
  setTagDataSource(getTagDataSource(form));
283
- }, []);
284
- console.log(tagDataSource); // useEffect(() => {
285
- // console.log(form.values);
286
- // }, [form.values]);
300
+ onFilter && onFilter(values);
301
+ }, []); // 轻量表单onChange
302
+
303
+ var onLightValueChange = (0, _react.useCallback)(function (values) {
304
+ form.reset();
305
+ setTagDataSource(getTagDataSource(form));
306
+ onFilter && onFilter(values);
307
+ }, [form]); // 简单表单onChange
287
308
 
309
+ var onSimpleValueChange = (0, _react.useCallback)(function (values) {
310
+ setTagDataSource(getTagDataSource(form));
311
+ onFilter && onFilter(values);
312
+ }, []); // 关闭标签清空表单字段值
313
+
314
+ var onTagClose = (0, _react.useCallback)(function (key) {
315
+ form.setValuesIn(key, undefined);
316
+ }, [form]); // 设置默认值标签数据
317
+
318
+ (0, _react.useEffect)(function () {
319
+ setTagDataSource(getTagDataSource(form));
320
+ }, []);
288
321
  return /*#__PURE__*/_react.default.createElement("div", {
289
322
  className: (0, _classnames.default)(prefixCls, props.className)
290
323
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -293,11 +326,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
293
326
  className: "".concat(prefixCls, "-left")
294
327
  }, addonBefore ? /*#__PURE__*/_react.default.createElement("div", {
295
328
  className: "".concat(prefixCls, "-addonBefore")
296
- }, addonBefore) : null, /*#__PURE__*/_react.default.createElement("div", {
297
- className: "".concat(prefixCls, "-simple")
298
- }, /*#__PURE__*/_react.default.createElement(SimpleFilter, {
299
- schema: schemaTemp
300
- })), /*#__PURE__*/_react.default.createElement("div", {
329
+ }, addonBefore) : null, mode === 'panel' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
330
+ className: "".concat(prefixCls, "-inline-form")
331
+ }, /*#__PURE__*/_react.default.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
332
+ form: form,
333
+ onFilter: onLightValueChange,
334
+ onSubmit: onFormSubmit
335
+ }))), /*#__PURE__*/_react.default.createElement("div", {
301
336
  className: "".concat(prefixCls, "-toggle")
302
337
  }, /*#__PURE__*/_react.default.createElement(_components.Badge, {
303
338
  count: tagDataSource.length,
@@ -313,30 +348,45 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
313
348
  type: "up-line"
314
349
  }) : /*#__PURE__*/_react.default.createElement(_icon.default, {
315
350
  type: "filter-line"
316
- }), (0, _utils.getMessage)('advancedFilter'))))), addonAfter ? /*#__PURE__*/_react.default.createElement("div", {
351
+ }), (0, _utils.getMessage)('advancedFilter'))))) : /*#__PURE__*/_react.default.createElement("div", {
352
+ className: "".concat(prefixCls, "-inline-form")
353
+ }, /*#__PURE__*/_react.default.createElement(SimpleFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
354
+ form: form,
355
+ onFilter: onSimpleValueChange,
356
+ onSubmit: onFormSubmit
357
+ })))), addonAfter ? /*#__PURE__*/_react.default.createElement("div", {
317
358
  className: "".concat(prefixCls, "-addonAfter")
318
- }, addonAfter) : null), /*#__PURE__*/_react.default.createElement("div", {
359
+ }, addonAfter) : null), mode === 'panel' ? /*#__PURE__*/_react.default.createElement("div", {
319
360
  className: "".concat(prefixCls, "-panel")
320
361
  }, /*#__PURE__*/_react.default.createElement("div", {
321
- className: (0, _classnames.default)("".concat(prefixCls, "-tag"), !advancedFilterVisible ? "".concat(prefixCls, "-tag-hidden") : '')
362
+ className: (0, _classnames.default)("".concat(prefixCls, "-tag"), advancedFilterVisible ? "".concat(prefixCls, "-tag-hidden") : '')
322
363
  }, /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref3) {
323
364
  var key = _ref3.key,
324
365
  label = _ref3.label,
325
- value = _ref3.value;
366
+ value = _ref3.value,
367
+ type = _ref3.type;
326
368
  return /*#__PURE__*/_react.default.createElement(_components.Tag.Closeable, {
327
369
  key: key,
328
- afterClose: console.log
370
+ afterClose: function afterClose() {
371
+ return onTagClose(key);
372
+ }
329
373
  }, /*#__PURE__*/_react.default.createElement("span", {
330
374
  className: "".concat(prefixCls, "-tag-title")
331
375
  }, label), /*#__PURE__*/_react.default.createElement("span", {
332
376
  className: "".concat(prefixCls, "-tag-content")
333
- }, value));
377
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
378
+ type: type,
379
+ value: value
380
+ })));
334
381
  }))), /*#__PURE__*/_react.default.createElement("div", {
335
- className: (0, _classnames.default)("".concat(prefixCls, "-advanced"), !advancedFilterVisible ? "".concat(prefixCls, "-advanced-hidden") : '')
336
- }, /*#__PURE__*/_react.default.createElement(AdvancedFilter, _objectSpread(_objectSpread({
337
- form: form
338
- }, props), {}, {
339
- onFilter: onFormValueChange
340
- })))));
382
+ className: (0, _classnames.default)("".concat(prefixCls, "-advanced-wrap"), !advancedFilterVisible ? "".concat(prefixCls, "-advanced-wrap-hidden") : '')
383
+ }, /*#__PURE__*/_react.default.createElement(AdvancedFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
384
+ form: form,
385
+ onSubmit: onFormSubmit
386
+ })))) : null);
341
387
  });
342
- exports.QueryFilter = QueryFilter;
388
+ exports.QueryFilter = QueryFilter;
389
+ QueryFilter.defaultProps = {
390
+ mode: 'inline',
391
+ expand: false
392
+ };
@@ -0,0 +1,73 @@
1
+ @import '../global.scss';
2
+
3
+ $query-filter: #{$teamix-pro-form}-query-filter;
4
+
5
+ .#{$query-filter} {
6
+ .#{$query-filter}-inline {
7
+ display: flex;
8
+ justify-content: space-between;
9
+ }
10
+ .#{$query-filter}-left {
11
+ display: flex;
12
+ }
13
+ .#{$query-filter}-addonBefore {
14
+ flex: 0 1 auto;
15
+ margin-right: 8px;
16
+ }
17
+ .#{$query-filter}-inline-form {
18
+ flex: 0 0 auto;
19
+ margin-right: 8px;
20
+ margin-bottom: 8px;
21
+ }
22
+ .#{$query-filter}-toggle {
23
+ margin-bottom: 8px;
24
+ }
25
+ .#{$query-filter}-addonAfter {
26
+ flex: 0 1 auto;
27
+ margin-left: 8px;
28
+ }
29
+ .#{$query-filter}-tag-title {
30
+ margin-right: 12px;
31
+ color: var(--color-text1-8, #848484);
32
+ }
33
+ .#{$query-filter}-tag-content {
34
+ .#{$teamix-pro-field} {
35
+ display: inline-block;
36
+ .#{$css-prefix}form-preview {
37
+ color: var(--color-text1-2, #5a5a5a);
38
+ font-weight: bold;
39
+ }
40
+ }
41
+ }
42
+ .#{$query-filter}-tag-hidden {
43
+ display: none;
44
+ }
45
+ .#{$query-filter}-advanced-wrap {
46
+ padding: 16px;
47
+ background-color: var(--color-fill1-2, #f7f7f7);
48
+ }
49
+ .#{$query-filter}-advanced-wrap-hidden {
50
+ display: none;
51
+ }
52
+
53
+ .#{$query-filter}-advanced {
54
+ .#{$css-prefix}formily-button-group {
55
+ margin-top: 0;
56
+ }
57
+ }
58
+ .#{$query-filter}-advanced,
59
+ .#{$query-filter}-simple,
60
+ .#{$query-filter}-light {
61
+ .#{$form-item-cls}-feedback-layout-popover {
62
+ margin-bottom: 0;
63
+ }
64
+ .#{$css-prefix}date-picker2-input {
65
+ .#{$css-prefix}input {
66
+ width: inherit;
67
+ input {
68
+ width: inherit;
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -39,9 +39,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
39
39
 
40
40
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
41
 
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
43
 
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
45
 
46
46
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
47
47
 
@@ -105,6 +105,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
105
105
  }, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]); // 添加onChange
106
106
 
107
107
  (0, _react.useEffect)(function () {
108
+ form.removeEffects('onChange');
108
109
  form.addEffects('onChange', function () {
109
110
  (0, _core.onFormValuesChange)(function (form) {
110
111
  if (onChange) {
@@ -32,11 +32,11 @@
32
32
  > .#{$form-item-cls}-control-content {
33
33
  > .#{$form-item-cls}-control-content-component {
34
34
  line-height: initial;
35
- > .teamix-pro-field-checkbox,
36
- .teamix-pro-field-radio,
37
- .teamix-pro-field-switch,
38
- .teamix-pro-field-colorradio,
39
- .teamix-pro-field-range,
35
+ > .#{$teamix-pro-field}-checkbox,
36
+ .#{$teamix-pro-field}-radio,
37
+ .#{$teamix-pro-field}-switch,
38
+ .#{$teamix-pro-field}-colorradio,
39
+ .#{$teamix-pro-field}-range,
40
40
  .#{$css-prefix}btn-text {
41
41
  line-height: var(--form-element-medium-height, 32px);
42
42
  }
@@ -160,11 +160,11 @@
160
160
  margin-right: 4px;
161
161
  }
162
162
  }
163
- .teamix-pro-field-money button,
164
- .teamix-pro-field-icon button {
163
+ .#{$teamix-pro-field}-money button,
164
+ .#{$teamix-pro-field}-icon button {
165
165
  border: 0 !important;
166
166
  }
167
- .teamix-pro-field-color-swatch {
167
+ .#{$teamix-pro-field}-color-swatch {
168
168
  box-shadow: none !important;
169
169
  }
170
170
  .#{$css-prefix}date-picker2-input,
@@ -273,7 +273,7 @@
273
273
 
274
274
  /* hack todo remove */
275
275
  .#{$form-item-cls}-control-content-component {
276
- .teamix-pro-field-tooltip.teamix-pro-field-checkbox {
276
+ .#{$teamix-pro-field}-tooltip.#{$teamix-pro-field}-checkbox {
277
277
  .teamix-pro-lable-icon-tip-icon {
278
278
  transform: translate(0px, 4px);
279
279
  }
@@ -9,9 +9,9 @@ var _reactRouterDom = require("react-router-dom");
9
9
 
10
10
  var _utils = require("@teamix/utils");
11
11
 
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
13
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
15
 
16
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
17
 
@@ -9,9 +9,9 @@ var _react = require("@formily/react");
9
9
 
10
10
  var _utils = require("@teamix/utils");
11
11
 
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
13
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
15
 
16
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
17