amis-core 6.9.0 → 6.10.0-beta.0

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 (307) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +4 -2
  3. package/esm/SchemaRenderer.d.ts +1 -0
  4. package/esm/SchemaRenderer.js +8 -4
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/StyleManager.js +1 -1
  9. package/esm/WithRootStore.js +1 -1
  10. package/esm/WithStore.js +1 -1
  11. package/esm/actions/Action.js +4 -1
  12. package/esm/actions/AjaxAction.js +1 -1
  13. package/esm/actions/BreakAction.js +1 -1
  14. package/esm/actions/BroadcastAction.d.ts +1 -1
  15. package/esm/actions/BroadcastAction.js +6 -6
  16. package/esm/actions/CmptAction.d.ts +1 -0
  17. package/esm/actions/CmptAction.js +51 -51
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +1 -1
  21. package/esm/actions/DialogAction.js +1 -1
  22. package/esm/actions/DrawerAction.js +1 -1
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/EventAction.js +1 -1
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/PrintAction.js +1 -1
  30. package/esm/actions/StatusAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +1 -1
  33. package/esm/actions/WaitAction.js +1 -1
  34. package/esm/components/CustomStyle.js +1 -1
  35. package/esm/components/ErrorBoundary.js +1 -1
  36. package/esm/components/LazyComponent.js +1 -1
  37. package/esm/components/Overlay.js +13 -16
  38. package/esm/components/PopOver.js +2 -2
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +1 -1
  42. package/esm/factory.js +5 -3
  43. package/esm/index.d.ts +4 -3
  44. package/esm/index.js +10 -9
  45. package/esm/locale.js +1 -1
  46. package/esm/polyfills.js +1 -1
  47. package/esm/renderers/Form.js +1 -1
  48. package/esm/renderers/Item.d.ts +1 -0
  49. package/esm/renderers/Item.js +2 -2
  50. package/esm/renderers/Options.d.ts +46 -1
  51. package/esm/renderers/Options.js +921 -914
  52. package/esm/renderers/Placeholder.js +1 -1
  53. package/esm/renderers/builtin.js +1 -1
  54. package/esm/renderers/register.js +1 -1
  55. package/esm/renderers/wrapControl.d.ts +2 -1
  56. package/esm/renderers/wrapControl.js +3 -3
  57. package/esm/store/app.js +1 -1
  58. package/esm/store/combo.js +1 -1
  59. package/esm/store/crud.d.ts +4 -2
  60. package/esm/store/crud.js +39 -141
  61. package/esm/store/form.js +1 -1
  62. package/esm/store/formItem.js +2 -2
  63. package/esm/store/iRenderer.js +1 -1
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.js +1 -1
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.js +1 -1
  68. package/esm/store/node.js +1 -1
  69. package/esm/store/pagination.js +1 -1
  70. package/esm/store/root.js +1 -1
  71. package/esm/store/service.js +1 -1
  72. package/esm/store/status.js +1 -1
  73. package/esm/store/table.js +1 -1
  74. package/esm/store/table2.js +1 -1
  75. package/esm/theme.js +1 -1
  76. package/esm/utils/Animation.js +1 -1
  77. package/esm/utils/ColorScale.js +1 -1
  78. package/esm/utils/DataSchema.js +1 -1
  79. package/esm/utils/DataScope.js +1 -1
  80. package/esm/utils/RootClose.js +1 -1
  81. package/esm/utils/SimpleMap.js +1 -1
  82. package/esm/utils/animations.js +1 -1
  83. package/esm/utils/api.d.ts +2 -1
  84. package/esm/utils/api.js +6 -4
  85. package/esm/utils/arraySlice.js +1 -1
  86. package/esm/utils/attachmentAdpator.js +4 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/browser.js +1 -1
  89. package/esm/utils/columnsSplit.js +1 -1
  90. package/esm/utils/concatData.js +1 -1
  91. package/esm/utils/dataMapping.js +1 -1
  92. package/esm/utils/date.js +1 -1
  93. package/esm/utils/debug.d.ts +3 -3
  94. package/esm/utils/debug.js +104 -37
  95. package/esm/utils/decodeEntity.js +1 -1
  96. package/esm/utils/dom.js +1 -1
  97. package/esm/utils/errors.js +1 -1
  98. package/esm/utils/escapeHtml.js +1 -1
  99. package/esm/utils/filter-schema.js +1 -1
  100. package/esm/utils/filter.js +1 -1
  101. package/esm/utils/formatDuration.js +1 -1
  102. package/esm/utils/formula.js +1 -1
  103. package/esm/utils/getVariable.js +1 -1
  104. package/esm/utils/grammar.js +1 -1
  105. package/esm/utils/handleAction.js +1 -1
  106. package/esm/utils/helper.d.ts +7 -0
  107. package/esm/utils/helper.js +87 -2
  108. package/esm/utils/highlight.js +1 -1
  109. package/esm/utils/icon.js +1 -1
  110. package/esm/utils/image.js +1 -1
  111. package/esm/utils/index.d.ts +1 -0
  112. package/esm/utils/isPureVariable.js +1 -1
  113. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  114. package/esm/utils/keyToPath.js +1 -1
  115. package/esm/utils/labelToString.js +1 -1
  116. package/esm/utils/loopTooMuch.d.ts +1 -0
  117. package/esm/utils/loopTooMuch.js +27 -0
  118. package/esm/utils/makeSorter.js +1 -1
  119. package/esm/utils/math.js +1 -1
  120. package/esm/utils/memoryParse.js +1 -1
  121. package/esm/utils/normalizeLink.js +1 -1
  122. package/esm/utils/normalizeOptions.js +1 -1
  123. package/esm/utils/object.js +1 -1
  124. package/esm/utils/offset.js +1 -1
  125. package/esm/utils/offsetParent.js +1 -1
  126. package/esm/utils/optionValueCompare.js +1 -1
  127. package/esm/utils/position.js +11 -6
  128. package/esm/utils/prettyBytes.js +1 -1
  129. package/esm/utils/printElement.js +1 -1
  130. package/esm/utils/renderer-event.d.ts +4 -0
  131. package/esm/utils/renderer-event.js +97 -11
  132. package/esm/utils/replaceText.js +1 -1
  133. package/esm/utils/resize-sensor.js +1 -1
  134. package/esm/utils/resolveCondition.js +1 -1
  135. package/esm/utils/resolveVariable.js +1 -1
  136. package/esm/utils/resolveVariableAndFilter.js +1 -1
  137. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  138. package/esm/utils/scrollPosition.js +1 -1
  139. package/esm/utils/string2regExp.js +1 -1
  140. package/esm/utils/stripNumber.js +1 -1
  141. package/esm/utils/style-helper.js +1 -1
  142. package/esm/utils/style.js +1 -1
  143. package/esm/utils/toNumber.js +1 -1
  144. package/esm/utils/tokenize.js +1 -1
  145. package/esm/utils/tpl-builtin.js +1 -1
  146. package/esm/utils/tpl-lodash.js +1 -1
  147. package/esm/utils/tpl.js +1 -1
  148. package/esm/utils/uncontrollable.js +1 -1
  149. package/esm/utils/validateId.js +1 -1
  150. package/esm/utils/validations.js +5 -3
  151. package/esm/utils/visitedCache.js +1 -1
  152. package/lib/Root.js +1 -1
  153. package/lib/RootRenderer.d.ts +1 -1
  154. package/lib/RootRenderer.js +4 -2
  155. package/lib/SchemaRenderer.d.ts +1 -0
  156. package/lib/SchemaRenderer.js +7 -3
  157. package/lib/Scoped.d.ts +1 -1
  158. package/lib/Scoped.js +1 -1
  159. package/lib/StatusScoped.js +1 -1
  160. package/lib/StyleManager.js +1 -1
  161. package/lib/WithRootStore.js +1 -1
  162. package/lib/WithStore.js +1 -1
  163. package/lib/actions/Action.js +4 -1
  164. package/lib/actions/AjaxAction.js +1 -1
  165. package/lib/actions/BreakAction.js +1 -1
  166. package/lib/actions/BroadcastAction.d.ts +1 -1
  167. package/lib/actions/BroadcastAction.js +5 -5
  168. package/lib/actions/CmptAction.d.ts +1 -0
  169. package/lib/actions/CmptAction.js +50 -50
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +1 -1
  173. package/lib/actions/DialogAction.js +1 -1
  174. package/lib/actions/DrawerAction.js +1 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +1 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +1 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.js +1 -1
  189. package/lib/components/Overlay.js +11 -14
  190. package/lib/components/PopOver.js +2 -2
  191. package/lib/env.js +1 -1
  192. package/lib/envOverwrite.js +1 -1
  193. package/lib/factory.d.ts +1 -1
  194. package/lib/factory.js +5 -3
  195. package/lib/index.d.ts +4 -3
  196. package/lib/index.js +14 -5
  197. package/lib/locale.js +1 -1
  198. package/lib/polyfills.js +1 -1
  199. package/lib/renderers/Form.js +1 -1
  200. package/lib/renderers/Item.d.ts +1 -0
  201. package/lib/renderers/Item.js +2 -2
  202. package/lib/renderers/Options.d.ts +46 -1
  203. package/lib/renderers/Options.js +920 -912
  204. package/lib/renderers/Placeholder.js +1 -1
  205. package/lib/renderers/builtin.js +1 -1
  206. package/lib/renderers/register.js +1 -1
  207. package/lib/renderers/wrapControl.d.ts +2 -1
  208. package/lib/renderers/wrapControl.js +3 -3
  209. package/lib/store/app.js +1 -1
  210. package/lib/store/combo.d.ts +25 -24
  211. package/lib/store/combo.js +1 -1
  212. package/lib/store/crud.d.ts +4 -2
  213. package/lib/store/crud.js +37 -139
  214. package/lib/store/form.d.ts +11 -10
  215. package/lib/store/form.js +1 -1
  216. package/lib/store/formItem.js +2 -2
  217. package/lib/store/iRenderer.js +1 -1
  218. package/lib/store/index.js +1 -1
  219. package/lib/store/list.js +1 -1
  220. package/lib/store/manager.js +1 -1
  221. package/lib/store/modal.js +1 -1
  222. package/lib/store/node.js +1 -1
  223. package/lib/store/pagination.js +1 -1
  224. package/lib/store/root.js +1 -1
  225. package/lib/store/service.js +1 -1
  226. package/lib/store/status.js +1 -1
  227. package/lib/store/table.d.ts +21 -20
  228. package/lib/store/table.js +1 -1
  229. package/lib/store/table2.js +1 -1
  230. package/lib/theme.js +1 -1
  231. package/lib/utils/Animation.js +1 -1
  232. package/lib/utils/ColorScale.js +1 -1
  233. package/lib/utils/DataSchema.js +1 -1
  234. package/lib/utils/DataScope.js +1 -1
  235. package/lib/utils/RootClose.js +1 -1
  236. package/lib/utils/SimpleMap.js +1 -1
  237. package/lib/utils/animations.js +1 -1
  238. package/lib/utils/api.d.ts +2 -1
  239. package/lib/utils/api.js +5 -2
  240. package/lib/utils/arraySlice.js +1 -1
  241. package/lib/utils/attachmentAdpator.js +4 -1
  242. package/lib/utils/autobind.js +1 -1
  243. package/lib/utils/browser.js +1 -1
  244. package/lib/utils/columnsSplit.js +1 -1
  245. package/lib/utils/concatData.js +1 -1
  246. package/lib/utils/dataMapping.js +1 -1
  247. package/lib/utils/date.js +1 -1
  248. package/lib/utils/debug.d.ts +3 -3
  249. package/lib/utils/debug.js +103 -36
  250. package/lib/utils/decodeEntity.js +1 -1
  251. package/lib/utils/dom.js +1 -1
  252. package/lib/utils/errors.js +1 -1
  253. package/lib/utils/escapeHtml.js +1 -1
  254. package/lib/utils/filter-schema.js +1 -1
  255. package/lib/utils/filter.js +1 -1
  256. package/lib/utils/formatDuration.js +1 -1
  257. package/lib/utils/formula.js +1 -1
  258. package/lib/utils/getVariable.js +1 -1
  259. package/lib/utils/grammar.js +1 -1
  260. package/lib/utils/handleAction.js +1 -1
  261. package/lib/utils/helper.d.ts +7 -0
  262. package/lib/utils/helper.js +87 -1
  263. package/lib/utils/highlight.js +1 -1
  264. package/lib/utils/icon.js +1 -1
  265. package/lib/utils/image.js +1 -1
  266. package/lib/utils/index.d.ts +1 -0
  267. package/lib/utils/isPureVariable.js +1 -1
  268. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  269. package/lib/utils/keyToPath.js +1 -1
  270. package/lib/utils/labelToString.js +1 -1
  271. package/lib/utils/loopTooMuch.d.ts +1 -0
  272. package/lib/utils/loopTooMuch.js +31 -0
  273. package/lib/utils/makeSorter.js +1 -1
  274. package/lib/utils/math.js +1 -1
  275. package/lib/utils/memoryParse.js +1 -1
  276. package/lib/utils/normalizeLink.js +1 -1
  277. package/lib/utils/normalizeOptions.js +1 -1
  278. package/lib/utils/object.js +1 -1
  279. package/lib/utils/offset.js +1 -1
  280. package/lib/utils/offsetParent.js +1 -1
  281. package/lib/utils/optionValueCompare.js +1 -1
  282. package/lib/utils/position.js +11 -6
  283. package/lib/utils/prettyBytes.js +1 -1
  284. package/lib/utils/printElement.js +1 -1
  285. package/lib/utils/renderer-event.d.ts +4 -0
  286. package/lib/utils/renderer-event.js +99 -10
  287. package/lib/utils/replaceText.js +1 -1
  288. package/lib/utils/resize-sensor.js +1 -1
  289. package/lib/utils/resolveCondition.js +1 -1
  290. package/lib/utils/resolveVariable.js +1 -1
  291. package/lib/utils/resolveVariableAndFilter.js +1 -1
  292. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  293. package/lib/utils/scrollPosition.js +1 -1
  294. package/lib/utils/string2regExp.js +1 -1
  295. package/lib/utils/stripNumber.js +1 -1
  296. package/lib/utils/style-helper.js +1 -1
  297. package/lib/utils/style.js +1 -1
  298. package/lib/utils/toNumber.js +1 -1
  299. package/lib/utils/tokenize.js +1 -1
  300. package/lib/utils/tpl-builtin.js +1 -1
  301. package/lib/utils/tpl-lodash.js +1 -1
  302. package/lib/utils/tpl.js +1 -1
  303. package/lib/utils/uncontrollable.js +1 -1
  304. package/lib/utils/validateId.js +1 -1
  305. package/lib/utils/validations.js +5 -3
  306. package/lib/utils/visitedCache.js +1 -1
  307. package/package.json +5 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,6 +15,8 @@ var mobx = require('mobx');
15
15
  var mobxReact = require('mobx-react');
16
16
  var helper = require('./helper.js');
17
17
  var position = require('./position.js');
18
+ var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
19
+ var api = require('./api.js');
18
20
 
19
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
22
 
@@ -75,6 +77,19 @@ var AMISDebugStore = /** @class */ (function () {
75
77
  */
76
78
  this.inspectMode = false;
77
79
  }
80
+ AMISDebugStore.prototype.open = function () {
81
+ this.isExpanded = true;
82
+ this.inspectMode = true;
83
+ };
84
+ AMISDebugStore.prototype.close = function () {
85
+ this.isExpanded = false;
86
+ this.activeId = '';
87
+ this.hoverId = '';
88
+ this.inspectMode = false;
89
+ };
90
+ AMISDebugStore.prototype.toggleInspectMode = function () {
91
+ this.inspectMode = !this.inspectMode;
92
+ };
78
93
  tslib.__decorate([
79
94
  mobx.observable,
80
95
  tslib.__metadata("design:type", String)
@@ -107,6 +122,24 @@ var AMISDebugStore = /** @class */ (function () {
107
122
  mobx.observable,
108
123
  tslib.__metadata("design:type", Number)
109
124
  ], AMISDebugStore.prototype, "ellipsisThreshold", void 0);
125
+ tslib.__decorate([
126
+ mobx.action.bound,
127
+ tslib.__metadata("design:type", Function),
128
+ tslib.__metadata("design:paramtypes", []),
129
+ tslib.__metadata("design:returntype", void 0)
130
+ ], AMISDebugStore.prototype, "open", null);
131
+ tslib.__decorate([
132
+ mobx.action.bound,
133
+ tslib.__metadata("design:type", Function),
134
+ tslib.__metadata("design:paramtypes", []),
135
+ tslib.__metadata("design:returntype", void 0)
136
+ ], AMISDebugStore.prototype, "close", null);
137
+ tslib.__decorate([
138
+ mobx.action.bound,
139
+ tslib.__metadata("design:type", Function),
140
+ tslib.__metadata("design:paramtypes", []),
141
+ tslib.__metadata("design:returntype", void 0)
142
+ ], AMISDebugStore.prototype, "toggleInspectMode", null);
110
143
  return AMISDebugStore;
111
144
  }());
112
145
  var store = new AMISDebugStore();
@@ -124,8 +157,10 @@ var LogView = mobxReact.observer(function (_a) {
124
157
  log.cat,
125
158
  "] ",
126
159
  log.msg),
127
- log.ext ? (_J$X_(React__default["default"].Suspense, { fallback: _J$X_("div", null, "Loading...") },
128
- _J$X_(JsonView, { name: null, theme: "monokai", src: JSON.parse(log.ext), collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : null));
160
+ (typeof log.ext === 'string' &&
161
+ (log.ext.startsWith('{') || log.ext.startsWith('['))) ||
162
+ typeof log.ext === 'object' ? (_J$X_(React__default["default"].Suspense, { fallback: _J$X_("div", null, "Loading...") },
163
+ _J$X_(JsonView, { name: null, theme: "monokai", src: typeof log.ext === 'string' ? parseJson(log.ext) : log.ext, collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : (_J$X_("pre", { className: "AMISDebug-value" }, JSON.stringify(log.ext)))));
129
164
  })));
130
165
  });
131
166
  var AMISDebug = mobxReact.observer(function (_a) {
@@ -202,19 +237,35 @@ var AMISDebug = mobxReact.observer(function (_a) {
202
237
  }
203
238
  };
204
239
  }, [isResizing]);
240
+ var handleInputKeyUp = React__default["default"].useCallback(function (e) {
241
+ var _a;
242
+ if (e.key === 'Enter') {
243
+ var input = e.target;
244
+ var expression = input.value;
245
+ input.value = '';
246
+ try {
247
+ var activeId_1 = store.activeId;
248
+ var ctx = ((_a = ComponentInfo[activeId_1]) === null || _a === void 0 ? void 0 : _a.component.props.data) || {};
249
+ var result = expression.startsWith('${')
250
+ ? resolveVariableAndFilter.resolveVariableAndFilter(expression, ctx, '| raw')
251
+ : api.callStrFunction(new Function('data', "with(data) {return ".concat(expression, ";}")), ['data'], ctx);
252
+ debug('debug', "evaluate expression `".concat(expression, "`"), result);
253
+ }
254
+ catch (e) {
255
+ debug('error', "evaluate expression `".concat(expression, "`"), "Error: ".concat(e.message));
256
+ }
257
+ finally {
258
+ store.tab = 'log';
259
+ }
260
+ }
261
+ }, []);
205
262
  return (_J$X_("div", { className: cx__default["default"]('AMISDebug', {
206
263
  'is-expanded': store.isExpanded,
207
264
  'is-left': store.position === 'left'
208
265
  }), ref: panelRef },
209
- _J$X_("div", { className: "AMISDebug-toggle", title: "open debug", onClick: function () {
210
- store.isExpanded = true;
211
- } }, store.isExpanded ? (_J$X_("i", { className: "fas fa-times" })) : (_J$X_("i", { className: "fas fa-bug" }))),
266
+ _J$X_("div", { className: "AMISDebug-toggle", title: "open debug", onClick: store.open }, store.isExpanded ? (_J$X_("i", { className: "fas fa-times" })) : (_J$X_("i", { className: "fas fa-bug" }))),
212
267
  _J$X_("div", { className: cx__default["default"]('AMISDebug-content') },
213
- _J$X_("div", { className: "AMISDebug-close", title: "Close", onClick: function () {
214
- store.isExpanded = false;
215
- store.activeId = '';
216
- store.hoverId = '';
217
- } },
268
+ _J$X_("div", { className: "AMISDebug-close", title: "Close", onClick: store.close },
218
269
  _J$X_("i", { className: "fas fa-times" })),
219
270
  _J$X_("div", { className: "AMISDebug-resize", onMouseDown: function (event) {
220
271
  setStartX(event.clientX);
@@ -238,18 +289,26 @@ var AMISDebug = mobxReact.observer(function (_a) {
238
289
  store.logs = [];
239
290
  } }, "Clear Log"),
240
291
  _J$X_(LogView, { store: store }))) : null,
241
- store.tab === 'inspect' ? (_J$X_("div", { className: "AMISDebug-inspect" }, activeId ? (_J$X_(React__default["default"].Fragment, null,
242
- _J$X_("h3", null,
243
- "Component:",
244
- ' ',
245
- _J$X_("span", { className: "primary" }, activeComponentInspect.name)),
246
- stackDataView)) : ('Click component to display inspect'))) : null)));
292
+ store.tab === 'inspect' ? (_J$X_("div", { className: "AMISDebug-inspect" },
293
+ _J$X_("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024", className: "AMISDebug-inspectIcon ".concat(store.inspectMode ? 'is-active' : ''), onClick: store.toggleInspectMode },
294
+ _J$X_("path", { d: "M64 192L128 128h768l64 64v384H896v-384H128v512h320V768H128l-64-64v-512z m941.226667 621.226667L576 384v602.496l173.226667-173.226667h256zM640 832v-293.504l210.773333 210.773333h-128L640 832z" })),
295
+ store.inspectMode ? (_J$X_("span", null, "Select an element in the page to inspect it.")) : (_J$X_("span", null, "Click to inspect an element.")),
296
+ activeId ? (_J$X_(React__default["default"].Fragment, null,
297
+ _J$X_("h3", null,
298
+ "Component:",
299
+ ' ',
300
+ _J$X_("span", { className: "primary" }, activeComponentInspect === null || activeComponentInspect === void 0 ? void 0 : activeComponentInspect.name)),
301
+ stackDataView)) : null)) : null,
302
+ activeId ? (_J$X_("div", { className: "AMISDebug-footer" },
303
+ _J$X_("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024" },
304
+ _J$X_("path", { d: "M724.48 521.728c-1.8432 7.7824-5.7344 14.848-11.3664 20.48l-341.9136 342.016c-16.6912 16.6912-43.7248 16.6912-60.3136 0s-16.6912-43.7248 0-60.3136L622.6944 512 310.8864 200.0896c-16.6912-16.6912-16.6912-43.7248 0-60.3136 16.6912-16.6912 43.7248-16.6912 60.3136 0l341.9136 341.9136c10.8544 10.8544 14.6432 26.112 11.3664 40.0384z", fill: "currentColor" })),
305
+ _J$X_("input", { type: "text", placeholder: "", onKeyUp: handleInputKeyUp }))) : null)));
247
306
  });
248
307
  /**
249
308
  * 鼠标移动到某个组件的效果
250
309
  */
251
310
  function handleMouseMove(e) {
252
- if (!store.isExpanded) {
311
+ if (!store.inspectMode) {
253
312
  return;
254
313
  }
255
314
  var dom = e.target;
@@ -262,14 +321,16 @@ function handleMouseMove(e) {
262
321
  * 点选某个组件
263
322
  */
264
323
  function handleMouseclick(e) {
265
- if (!store.isExpanded) {
324
+ if (!store.inspectMode) {
266
325
  return;
267
326
  }
327
+ e.preventDefault();
268
328
  var dom = e.target;
269
329
  var target = dom.closest("[data-debug-id]");
270
330
  if (target && !target.closest('.AMISDebug')) {
271
331
  store.activeId = target.getAttribute('data-debug-id');
272
332
  store.tab = 'inspect';
333
+ store.inspectMode = false;
273
334
  }
274
335
  }
275
336
  // hover 及点击后的高亮
@@ -277,6 +338,7 @@ var amisHoverBox = document.createElement('div');
277
338
  amisHoverBox.className = 'AMISDebug-hoverBox';
278
339
  var amisActiveBox = document.createElement('div');
279
340
  amisActiveBox.className = 'AMISDebug-activeBox';
341
+ var timer = null;
280
342
  mobx.autorun(function () {
281
343
  var hoverId = store.hoverId;
282
344
  var hoverElement = document.querySelector("[data-debug-id=\"".concat(hoverId, "\"]"));
@@ -300,6 +362,11 @@ mobx.autorun(function () {
300
362
  amisActiveBox.style.left = "".concat(offset.left, "px");
301
363
  amisActiveBox.style.width = "".concat(offset.width, "px");
302
364
  amisActiveBox.style.height = "".concat(offset.height, "px");
365
+ amisActiveBox.classList.add('shake');
366
+ clearTimeout(timer);
367
+ timer = setTimeout(function () {
368
+ amisActiveBox.classList.remove('shake');
369
+ }, 500);
303
370
  }
304
371
  else {
305
372
  amisActiveBox.style.top = '-999999px';
@@ -333,7 +400,7 @@ function enableDebug() {
333
400
  document.body.appendChild(amisHoverBox);
334
401
  document.body.appendChild(amisActiveBox);
335
402
  document.addEventListener('mousemove', handleMouseMove);
336
- document.addEventListener('click', handleMouseclick);
403
+ document.addEventListener('click', handleMouseclick, true);
337
404
  }
338
405
  function disableDebug() {
339
406
  if (!isEnabled) {
@@ -377,12 +444,26 @@ var DebugWrapper = /** @class */ (function (_super) {
377
444
  };
378
445
  DebugWrapper.prototype.componentWillUnmount = function () {
379
446
  delete ComponentInfo[this.debugId];
447
+ if (this.debugId === store.activeId) {
448
+ store.activeId = '';
449
+ }
450
+ if (this.debugId === store.hoverId) {
451
+ store.hoverId = '';
452
+ }
380
453
  };
381
454
  DebugWrapper.prototype.render = function () {
382
455
  return this.props.children;
383
456
  };
384
457
  return DebugWrapper;
385
458
  }(React.Component));
459
+ function parseJson(str) {
460
+ try {
461
+ return JSON.parse(str);
462
+ }
463
+ catch (e) {
464
+ return e;
465
+ }
466
+ }
386
467
  /**
387
468
  * 一般调试日志
388
469
  * @param msg 简单消息
@@ -395,18 +476,11 @@ function debug(cat, msg, ext) {
395
476
  console.groupCollapsed('[amis debug]', msg);
396
477
  console.debug(ext);
397
478
  console.groupEnd();
398
- var extStr = '';
399
- try {
400
- extStr = JSON.stringify(ext);
401
- }
402
- catch (e) {
403
- console.error(e);
404
- }
405
479
  var log = {
406
480
  cat: cat,
407
481
  level: 'debug',
408
482
  msg: msg,
409
- ext: extStr
483
+ ext: ext
410
484
  };
411
485
  store.logs.push(log);
412
486
  }
@@ -419,18 +493,11 @@ function warning(cat, msg, ext) {
419
493
  if (!isEnabled) {
420
494
  return;
421
495
  }
422
- var extStr = '';
423
- try {
424
- extStr = JSON.stringify(ext);
425
- }
426
- catch (e) {
427
- console.error(e);
428
- }
429
496
  var log = {
430
497
  cat: cat,
431
498
  level: 'warn',
432
499
  msg: msg,
433
- ext: extStr
500
+ ext: ext
434
501
  };
435
502
  console.groupCollapsed('amis debug', msg);
436
503
  console.trace(log);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -271,6 +271,12 @@ export declare const bulkBindFunctions: <T extends {
271
271
  [propName: string]: any;
272
272
  }>(context: T, funNames: FunctionPropertyNames<T>[]) => void;
273
273
  export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1, fieldGetter?: (item: T, field: string) => any): Array<T>;
274
+ export declare function applyFilters<T extends any>(items: Array<T>, options: {
275
+ query: any;
276
+ columns?: Array<any>;
277
+ matchFunc?: Function | null;
278
+ filterOnAllColumns?: boolean;
279
+ }): T[];
274
280
  export declare function hasFile(object: any): boolean;
275
281
  export declare function qsstringify(data: any, options?: any, keepEmptyArray?: boolean): string;
276
282
  export declare function qsparse(data: string, options?: any): qs.ParsedQs;
@@ -401,3 +407,4 @@ export declare class TestIdBuilder {
401
407
  }
402
408
  export declare function supportsMjs(): boolean;
403
409
  export declare function formateId(id: string): string;
410
+ export declare function formateCheckThemeCss(themeCss: any, type: string): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,6 +18,7 @@ var isNumber = require('lodash/isNumber');
18
18
  var isString = require('lodash/isString');
19
19
  var qs = require('qs');
20
20
  var pathToRegexp = require('path-to-regexp');
21
+ var matchSorter = require('match-sorter');
21
22
  var tpl = require('./tpl.js');
22
23
  var autobind$1 = require('./autobind.js');
23
24
  require('amis-formula');
@@ -1013,6 +1014,50 @@ function sortArray(items, field, dir, fieldGetter) {
1013
1014
  return ret * dir;
1014
1015
  });
1015
1016
  }
1017
+ function applyFilters(items, options) {
1018
+ if (options.matchFunc && typeof options.matchFunc === 'function') {
1019
+ items = options.matchFunc(items, items, options);
1020
+ }
1021
+ else {
1022
+ if (Array.isArray(options.columns)) {
1023
+ options.columns.forEach(function (column) {
1024
+ var value = typeof column.name === 'string'
1025
+ ? getVariable.getVariable(options.query, column.name)
1026
+ : undefined;
1027
+ var key = column.name;
1028
+ if ((options.filterOnAllColumns ||
1029
+ column.searchable ||
1030
+ column.filterable) &&
1031
+ key &&
1032
+ value != null) {
1033
+ // value可能为null、undefined、''、0
1034
+ if (Array.isArray(value)) {
1035
+ if (value.length > 0) {
1036
+ var arr_1 = tslib.__spreadArray([], tslib.__read(items), false);
1037
+ var arrItems_1 = [];
1038
+ value.forEach(function (item) {
1039
+ arrItems_1 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_1), false), tslib.__read(matchSorter.matchSorter(arr_1, item, {
1040
+ keys: [key],
1041
+ threshold: matchSorter.matchSorter.rankings.CONTAINS
1042
+ })), false);
1043
+ });
1044
+ items = items.filter(function (item) {
1045
+ return arrItems_1.find(function (a) { return a === item; });
1046
+ });
1047
+ }
1048
+ }
1049
+ else {
1050
+ items = matchSorter.matchSorter(items, value, {
1051
+ keys: [key],
1052
+ threshold: matchSorter.matchSorter.rankings.CONTAINS
1053
+ });
1054
+ }
1055
+ }
1056
+ });
1057
+ }
1058
+ } /** 字段的格式类型无法穷举,所以支持使用函数过滤 */
1059
+ return items;
1060
+ }
1016
1061
  // 只判断一层, 如果层级很深,form-data 也不好表达。
1017
1062
  function hasFile(object) {
1018
1063
  return Object.keys(object).some(function (key) {
@@ -1710,6 +1755,45 @@ function formateId(id) {
1710
1755
  }
1711
1756
  return id;
1712
1757
  }
1758
+ function formateCheckThemeCss(themeCss, type) {
1759
+ var _a;
1760
+ if (!themeCss) {
1761
+ return {};
1762
+ }
1763
+ var className = themeCss["".concat(type, "ClassName")] || {};
1764
+ var controlClassName = themeCss["".concat(type, "ControlClassName")] || {};
1765
+ var defaultControlThemeCss = {};
1766
+ var checkedControlThemeCss = {};
1767
+ var defaultThemeCss = {};
1768
+ var checkedThemeCss = {};
1769
+ Object.keys(className).forEach(function (key) {
1770
+ if (key.includes('checked-')) {
1771
+ var newKey = key.replace('checked-', '');
1772
+ checkedThemeCss[newKey] = className[key];
1773
+ }
1774
+ else if (key.includes("".concat(type, "-"))) {
1775
+ var newKey = key.replace("".concat(type, "-"), '');
1776
+ defaultThemeCss[newKey] = className[key];
1777
+ }
1778
+ else {
1779
+ defaultThemeCss[key] = className[key];
1780
+ }
1781
+ });
1782
+ Object.keys(controlClassName).forEach(function (key) {
1783
+ if (key.includes('checked-')) {
1784
+ var newKey = key.replace('checked-', '');
1785
+ checkedControlThemeCss[newKey] = controlClassName[key];
1786
+ }
1787
+ else if (key.includes("".concat(type, "-"))) {
1788
+ var newKey = key.replace("".concat(type, "-"), '');
1789
+ defaultControlThemeCss[newKey] = controlClassName[key];
1790
+ }
1791
+ else {
1792
+ defaultControlThemeCss[key] = controlClassName[key];
1793
+ }
1794
+ });
1795
+ return tslib.__assign(tslib.__assign({}, themeCss), (_a = {}, _a["".concat(type, "ControlClassName")] = defaultControlThemeCss, _a["".concat(type, "ControlCheckedClassName")] = checkedControlThemeCss, _a["".concat(type, "ClassName")] = defaultThemeCss, _a["".concat(type, "CheckedClassName")] = checkedThemeCss, _a));
1796
+ }
1713
1797
 
1714
1798
  exports.cloneObject = object.cloneObject;
1715
1799
  exports.createObject = object.createObject;
@@ -1728,6 +1812,7 @@ exports.TestIdBuilder = TestIdBuilder;
1728
1812
  exports.ValidateError = ValidateError;
1729
1813
  exports.__uri = __uri;
1730
1814
  exports.anyChanged = anyChanged;
1815
+ exports.applyFilters = applyFilters;
1731
1816
  exports.autobind = autobind;
1732
1817
  exports.buildTrackExpression = buildTrackExpression;
1733
1818
  exports.bulkBindFunctions = bulkBindFunctions;
@@ -1751,6 +1836,7 @@ exports.findTreeAll = findTreeAll;
1751
1836
  exports.findTreeIndex = findTreeIndex;
1752
1837
  exports.flattenTree = flattenTree;
1753
1838
  exports.flattenTreeWithLeafNodes = flattenTreeWithLeafNodes;
1839
+ exports.formateCheckThemeCss = formateCheckThemeCss;
1754
1840
  exports.formateId = formateId;
1755
1841
  exports.getLevelFromClassName = getLevelFromClassName;
1756
1842
  exports.getPropValue = getPropValue;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -28,6 +28,7 @@ export * from './isPureVariable';
28
28
  export * from './json-schema-2-amis-schema';
29
29
  export * from './keyToPath';
30
30
  export * from './labelToString';
31
+ export * from './loopTooMuch';
31
32
  export * from './makeSorter';
32
33
  export * from './normalizeLink';
33
34
  export * from './normalizeOptions';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -0,0 +1 @@
1
+ export declare function loopTooMuch(key: string, maxSpeed?: number): boolean;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * amis-core v6.10.0-beta.0
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ var loopCount = {};
11
+ var loopTimer = {};
12
+ var loopResult = {};
13
+ function loopTooMuch(key, maxSpeed) {
14
+ if (maxSpeed === void 0) { maxSpeed = 20; }
15
+ if (loopResult[key]) {
16
+ return loopResult[key];
17
+ }
18
+ clearTimeout(loopTimer[key]);
19
+ loopTimer[key] = setTimeout(function () {
20
+ delete loopCount[key];
21
+ delete loopTimer[key];
22
+ }, 1000);
23
+ if (loopCount[key] && loopCount[key] > maxSpeed) {
24
+ loopResult[key] = true;
25
+ return true;
26
+ }
27
+ loopCount[key] = (loopCount[key] || 0) + 1;
28
+ return false;
29
+ }
30
+
31
+ exports.loopTooMuch = loopTooMuch;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/math.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5