amis-core 6.9.0-rc.9 → 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 (305) hide show
  1. package/esm/Root.d.ts +2 -84
  2. package/esm/Root.js +10 -6
  3. package/esm/RootRenderer.js +8 -5
  4. package/esm/SchemaRenderer.d.ts +2 -1
  5. package/esm/SchemaRenderer.js +13 -7
  6. package/esm/Scoped.d.ts +1 -1
  7. package/esm/Scoped.js +1 -1
  8. package/esm/StatusScoped.d.ts +7 -53
  9. package/esm/StatusScoped.js +20 -45
  10. package/esm/StyleManager.js +1 -1
  11. package/esm/WithRootStore.js +1 -1
  12. package/esm/WithStore.js +1 -1
  13. package/esm/actions/Action.js +4 -1
  14. package/esm/actions/AjaxAction.js +1 -1
  15. package/esm/actions/BreakAction.js +1 -1
  16. package/esm/actions/BroadcastAction.d.ts +1 -1
  17. package/esm/actions/BroadcastAction.js +6 -6
  18. package/esm/actions/CmptAction.d.ts +1 -0
  19. package/esm/actions/CmptAction.js +51 -51
  20. package/esm/actions/ContinueAction.js +1 -1
  21. package/esm/actions/CopyAction.js +1 -1
  22. package/esm/actions/CustomAction.js +1 -1
  23. package/esm/actions/DialogAction.js +1 -1
  24. package/esm/actions/DrawerAction.js +1 -1
  25. package/esm/actions/EmailAction.js +1 -1
  26. package/esm/actions/EventAction.js +1 -1
  27. package/esm/actions/LinkAction.js +1 -1
  28. package/esm/actions/LoopAction.js +1 -1
  29. package/esm/actions/PageAction.js +1 -1
  30. package/esm/actions/ParallelAction.js +1 -1
  31. package/esm/actions/PrintAction.js +1 -1
  32. package/esm/actions/StatusAction.js +1 -1
  33. package/esm/actions/SwitchAction.js +1 -1
  34. package/esm/actions/ToastAction.js +1 -1
  35. package/esm/actions/WaitAction.js +1 -1
  36. package/esm/components/CustomStyle.js +1 -1
  37. package/esm/components/ErrorBoundary.js +1 -1
  38. package/esm/components/LazyComponent.js +1 -1
  39. package/esm/components/Overlay.js +13 -16
  40. package/esm/components/PopOver.js +2 -2
  41. package/esm/env.d.ts +4 -0
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -1
  44. package/esm/factory.d.ts +1 -1
  45. package/esm/factory.js +5 -3
  46. package/esm/index.d.ts +3 -2
  47. package/esm/index.js +9 -9
  48. package/esm/locale.js +1 -1
  49. package/esm/polyfills.js +1 -1
  50. package/esm/renderers/Form.js +1 -1
  51. package/esm/renderers/Item.js +1 -1
  52. package/esm/renderers/Options.js +1 -1
  53. package/esm/renderers/Placeholder.js +1 -1
  54. package/esm/renderers/builtin.js +1 -1
  55. package/esm/renderers/register.js +1 -1
  56. package/esm/renderers/wrapControl.js +1 -1
  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 +1 -1
  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/types.d.ts +6 -2
  77. package/esm/utils/Animation.js +1 -1
  78. package/esm/utils/ColorScale.js +1 -1
  79. package/esm/utils/DataSchema.js +1 -1
  80. package/esm/utils/DataScope.js +1 -1
  81. package/esm/utils/RootClose.js +1 -1
  82. package/esm/utils/SimpleMap.js +1 -1
  83. package/esm/utils/animations.js +1 -1
  84. package/esm/utils/api.d.ts +2 -1
  85. package/esm/utils/api.js +23 -13
  86. package/esm/utils/arraySlice.js +1 -1
  87. package/esm/utils/attachmentAdpator.js +4 -1
  88. package/esm/utils/autobind.js +1 -1
  89. package/esm/utils/browser.js +1 -1
  90. package/esm/utils/columnsSplit.js +1 -1
  91. package/esm/utils/concatData.js +1 -1
  92. package/esm/utils/dataMapping.js +1 -1
  93. package/esm/utils/date.js +1 -1
  94. package/esm/utils/debug.d.ts +3 -3
  95. package/esm/utils/debug.js +104 -37
  96. package/esm/utils/decodeEntity.js +1 -1
  97. package/esm/utils/dom.js +1 -1
  98. package/esm/utils/errors.js +1 -1
  99. package/esm/utils/escapeHtml.js +1 -1
  100. package/esm/utils/filter-schema.js +1 -1
  101. package/esm/utils/filter.js +1 -1
  102. package/esm/utils/formatDuration.js +1 -1
  103. package/esm/utils/formula.js +1 -1
  104. package/esm/utils/getVariable.js +1 -1
  105. package/esm/utils/grammar.js +1 -1
  106. package/esm/utils/handleAction.js +1 -1
  107. package/esm/utils/helper.d.ts +7 -0
  108. package/esm/utils/helper.js +87 -2
  109. package/esm/utils/highlight.js +1 -1
  110. package/esm/utils/icon.js +1 -1
  111. package/esm/utils/image.js +1 -1
  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.js +1 -1
  117. package/esm/utils/makeSorter.js +1 -1
  118. package/esm/utils/math.js +1 -1
  119. package/esm/utils/memoryParse.js +1 -1
  120. package/esm/utils/normalizeLink.js +1 -1
  121. package/esm/utils/normalizeOptions.js +1 -1
  122. package/esm/utils/object.js +1 -1
  123. package/esm/utils/offset.js +1 -1
  124. package/esm/utils/offsetParent.js +1 -1
  125. package/esm/utils/optionValueCompare.js +1 -1
  126. package/esm/utils/position.js +11 -6
  127. package/esm/utils/prettyBytes.js +1 -1
  128. package/esm/utils/printElement.js +1 -1
  129. package/esm/utils/renderer-event.d.ts +4 -0
  130. package/esm/utils/renderer-event.js +97 -11
  131. package/esm/utils/replaceText.js +1 -1
  132. package/esm/utils/resize-sensor.js +1 -1
  133. package/esm/utils/resolveCondition.js +1 -1
  134. package/esm/utils/resolveVariable.js +1 -1
  135. package/esm/utils/resolveVariableAndFilter.js +1 -1
  136. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  137. package/esm/utils/scrollPosition.js +1 -1
  138. package/esm/utils/string2regExp.js +1 -1
  139. package/esm/utils/stripNumber.js +1 -1
  140. package/esm/utils/style-helper.js +1 -1
  141. package/esm/utils/style.js +1 -1
  142. package/esm/utils/toNumber.js +1 -1
  143. package/esm/utils/tokenize.js +1 -1
  144. package/esm/utils/tpl-builtin.js +1 -1
  145. package/esm/utils/tpl-lodash.js +1 -1
  146. package/esm/utils/tpl.js +1 -1
  147. package/esm/utils/uncontrollable.js +1 -1
  148. package/esm/utils/validateId.js +1 -1
  149. package/esm/utils/validations.js +5 -3
  150. package/esm/utils/visitedCache.js +1 -1
  151. package/lib/Root.d.ts +2 -84
  152. package/lib/Root.js +9 -5
  153. package/lib/RootRenderer.d.ts +1 -1
  154. package/lib/RootRenderer.js +8 -5
  155. package/lib/SchemaRenderer.d.ts +2 -1
  156. package/lib/SchemaRenderer.js +12 -6
  157. package/lib/Scoped.d.ts +1 -1
  158. package/lib/Scoped.js +1 -1
  159. package/lib/StatusScoped.d.ts +7 -53
  160. package/lib/StatusScoped.js +19 -44
  161. package/lib/StyleManager.js +1 -1
  162. package/lib/WithRootStore.js +1 -1
  163. package/lib/WithStore.js +1 -1
  164. package/lib/actions/Action.js +4 -1
  165. package/lib/actions/AjaxAction.js +1 -1
  166. package/lib/actions/BreakAction.js +1 -1
  167. package/lib/actions/BroadcastAction.d.ts +1 -1
  168. package/lib/actions/BroadcastAction.js +5 -5
  169. package/lib/actions/CmptAction.d.ts +1 -0
  170. package/lib/actions/CmptAction.js +50 -50
  171. package/lib/actions/ContinueAction.js +1 -1
  172. package/lib/actions/CopyAction.js +1 -1
  173. package/lib/actions/CustomAction.js +1 -1
  174. package/lib/actions/DialogAction.js +1 -1
  175. package/lib/actions/DrawerAction.js +1 -1
  176. package/lib/actions/EmailAction.js +1 -1
  177. package/lib/actions/EventAction.js +1 -1
  178. package/lib/actions/LinkAction.js +1 -1
  179. package/lib/actions/LoopAction.js +1 -1
  180. package/lib/actions/PageAction.js +1 -1
  181. package/lib/actions/ParallelAction.js +1 -1
  182. package/lib/actions/PrintAction.js +1 -1
  183. package/lib/actions/StatusAction.js +1 -1
  184. package/lib/actions/SwitchAction.js +1 -1
  185. package/lib/actions/ToastAction.js +1 -1
  186. package/lib/actions/WaitAction.js +1 -1
  187. package/lib/components/CustomStyle.js +1 -1
  188. package/lib/components/ErrorBoundary.js +1 -1
  189. package/lib/components/LazyComponent.js +1 -1
  190. package/lib/components/Overlay.js +11 -14
  191. package/lib/components/PopOver.js +2 -2
  192. package/lib/env.d.ts +4 -0
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.d.ts +1 -1
  196. package/lib/factory.js +5 -3
  197. package/lib/index.d.ts +3 -2
  198. package/lib/index.js +12 -5
  199. package/lib/locale.js +1 -1
  200. package/lib/polyfills.js +1 -1
  201. package/lib/renderers/Form.js +1 -1
  202. package/lib/renderers/Item.js +1 -1
  203. package/lib/renderers/Options.js +1 -1
  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.js +1 -1
  208. package/lib/store/app.js +1 -1
  209. package/lib/store/combo.d.ts +24 -24
  210. package/lib/store/combo.js +1 -1
  211. package/lib/store/crud.d.ts +4 -2
  212. package/lib/store/crud.js +37 -139
  213. package/lib/store/form.d.ts +10 -10
  214. package/lib/store/form.js +1 -1
  215. package/lib/store/formItem.js +1 -1
  216. package/lib/store/iRenderer.js +1 -1
  217. package/lib/store/index.js +1 -1
  218. package/lib/store/list.js +1 -1
  219. package/lib/store/manager.js +1 -1
  220. package/lib/store/modal.js +1 -1
  221. package/lib/store/node.js +1 -1
  222. package/lib/store/pagination.js +1 -1
  223. package/lib/store/root.js +1 -1
  224. package/lib/store/service.js +1 -1
  225. package/lib/store/status.js +1 -1
  226. package/lib/store/table.d.ts +20 -20
  227. package/lib/store/table.js +1 -1
  228. package/lib/store/table2.js +1 -1
  229. package/lib/theme.js +1 -1
  230. package/lib/types.d.ts +6 -2
  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 +22 -11
  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/isPureVariable.js +1 -1
  267. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  268. package/lib/utils/keyToPath.js +1 -1
  269. package/lib/utils/labelToString.js +1 -1
  270. package/lib/utils/loopTooMuch.js +1 -1
  271. package/lib/utils/makeSorter.js +1 -1
  272. package/lib/utils/math.js +1 -1
  273. package/lib/utils/memoryParse.js +1 -1
  274. package/lib/utils/normalizeLink.js +1 -1
  275. package/lib/utils/normalizeOptions.js +1 -1
  276. package/lib/utils/object.js +1 -1
  277. package/lib/utils/offset.js +1 -1
  278. package/lib/utils/offsetParent.js +1 -1
  279. package/lib/utils/optionValueCompare.js +1 -1
  280. package/lib/utils/position.js +11 -6
  281. package/lib/utils/prettyBytes.js +1 -1
  282. package/lib/utils/printElement.js +1 -1
  283. package/lib/utils/renderer-event.d.ts +4 -0
  284. package/lib/utils/renderer-event.js +99 -10
  285. package/lib/utils/replaceText.js +1 -1
  286. package/lib/utils/resize-sensor.js +1 -1
  287. package/lib/utils/resolveCondition.js +1 -1
  288. package/lib/utils/resolveVariable.js +1 -1
  289. package/lib/utils/resolveVariableAndFilter.js +1 -1
  290. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  291. package/lib/utils/scrollPosition.js +1 -1
  292. package/lib/utils/string2regExp.js +1 -1
  293. package/lib/utils/stripNumber.js +1 -1
  294. package/lib/utils/style-helper.js +1 -1
  295. package/lib/utils/style.js +1 -1
  296. package/lib/utils/toNumber.js +1 -1
  297. package/lib/utils/tokenize.js +1 -1
  298. package/lib/utils/tpl-builtin.js +1 -1
  299. package/lib/utils/tpl-lodash.js +1 -1
  300. package/lib/utils/tpl.js +1 -1
  301. package/lib/utils/uncontrollable.js +1 -1
  302. package/lib/utils/validateId.js +1 -1
  303. package/lib/utils/validations.js +5 -3
  304. package/lib/utils/visitedCache.js +1 -1
  305. package/package.json +3 -2
package/esm/utils/api.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- import { __awaiter, __generator, __assign, __rest, __spreadArray, __read } from 'tslib';
6
+ import { __awaiter, __generator, __spreadArray, __read, __assign, __rest } from 'tslib';
7
7
  import omit from 'lodash/omit';
8
8
  import { evaluate } from 'amis-formula';
9
9
  import { escapeHtml } from './escapeHtml.js';
@@ -45,10 +45,12 @@ function removeApiRequestAdaptor(adaptor) {
45
45
  * 添加全局响应适配器
46
46
  * @param adaptor
47
47
  */
48
- function addApiResponseAdator(adaptor) {
48
+ function addApiResponseAdaptor(adaptor) {
49
49
  responseAdaptors.push(adaptor);
50
50
  return function () { return removeApiResponseAdaptor(adaptor); };
51
51
  }
52
+ // :( 之前写错了,这里为了让以前的代码能继续跑,暂时保留
53
+ var addApiResponseAdator = addApiResponseAdaptor;
52
54
  /**
53
55
  * 删除全局响应适配器
54
56
  * @param adaptor
@@ -401,18 +403,26 @@ function responseAdaptor(ret, api) {
401
403
  }
402
404
  return payload;
403
405
  }
406
+ function lazyResolve(value, waitFor) {
407
+ if (waitFor === void 0) { waitFor = 1000; }
408
+ return new Promise(function (resolve) {
409
+ setTimeout(function () {
410
+ resolve(value);
411
+ }, waitFor);
412
+ });
413
+ }
404
414
  function wrapFetcher(fn, tracker) {
405
415
  // 避免重复处理
406
416
  if (fn._wrappedFetcher) {
407
417
  return fn;
408
418
  }
409
419
  var wrappedFetcher = function (api, data, options) {
410
- var _a, _b, _c;
420
+ var _a, _b, _c, _d, _e;
411
421
  return __awaiter(this, void 0, void 0, function () {
412
422
  var adaptors, adaptor_1, apiCache, timeStamp;
413
423
  var _this = this;
414
- return __generator(this, function (_d) {
415
- switch (_d.label) {
424
+ return __generator(this, function (_f) {
425
+ switch (_f.label) {
416
426
  case 0:
417
427
  api = buildApi(api, data, options);
418
428
  api.context = data;
@@ -459,8 +469,8 @@ function wrapFetcher(fn, tracker) {
459
469
  });
460
470
  }); }, Promise.resolve(api))];
461
471
  case 1:
462
- api = _d.sent();
463
- _d.label = 2;
472
+ api = _f.sent();
473
+ _f.label = 2;
464
474
  case 2:
465
475
  if (api.data &&
466
476
  (api.data instanceof FormData ||
@@ -493,17 +503,17 @@ function wrapFetcher(fn, tracker) {
493
503
  ? api.data
494
504
  : qsstringify(api.data, api.qsOptions))
495
505
  : '', " with mock response"), api.mockResponse, api);
496
- return [2 /*return*/, wrapAdaptor(Promise.resolve(api.mockResponse), api, data)];
506
+ return [2 /*return*/, wrapAdaptor(lazyResolve(api.mockResponse, (_b = (_a = api.mockResponse) === null || _a === void 0 ? void 0 : _a.delay) !== null && _b !== void 0 ? _b : 100), api, data)];
497
507
  }
498
508
  if (!isValidApi(api.url)) {
499
509
  throw new Error("invalid api url:".concat(api.url));
500
510
  }
501
511
  debug('api', 'request api', api);
502
512
  tracker === null || tracker === void 0 ? void 0 : tracker({ eventType: 'api', eventData: omit(api, ['config', 'data', 'body']) }, api.data);
503
- if (((_a = api.method) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === 'jsonp') {
513
+ if (((_c = api.method) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) === 'jsonp') {
504
514
  return [2 /*return*/, wrapAdaptor(jsonpFetcher(api), api, data)];
505
515
  }
506
- if (((_b = api.method) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase()) === 'js') {
516
+ if (((_d = api.method) === null || _d === void 0 ? void 0 : _d.toLocaleLowerCase()) === 'js') {
507
517
  return [2 /*return*/, wrapAdaptor(jsFetcher(fn, api), api, data)];
508
518
  }
509
519
  if (typeof api.cache === 'number' && api.cache > 0) {
@@ -513,7 +523,7 @@ function wrapFetcher(fn, tracker) {
513
523
  : setApiCache(api, fn(api)), api, data)];
514
524
  }
515
525
  // IE 下 get 请求会被缓存,所以自动加个时间戳
516
- if (isIE && api && ((_c = api.method) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) === 'get') {
526
+ if (isIE && api && ((_e = api.method) === null || _e === void 0 ? void 0 : _e.toLocaleLowerCase()) === 'get') {
517
527
  timeStamp = "_t=".concat(Date.now());
518
528
  if (api.url.indexOf('?') === -1) {
519
529
  api.url = api.url + "?".concat(timeStamp);
@@ -802,4 +812,4 @@ function normalizeApiResponseData(data) {
802
812
  }
803
813
  // window.apiCaches = apiCaches;
804
814
 
805
- export { addApiRequestAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher };
815
+ export { addApiRequestAdaptor, addApiResponseAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
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-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -29,6 +29,9 @@ function attachmentAdpator(response, __, api) {
29
29
  if (matches && matches.length) {
30
30
  filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
31
31
  }
32
+ else {
33
+ filename = disposition === null || disposition === void 0 ? void 0 : disposition.split(';')[1];
34
+ }
32
35
  // 很可能是中文被 url-encode 了
33
36
  if (filename && filename.replace(/[^%]/g, '').length > 2) {
34
37
  filename = decodeURIComponent(filename);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,18 +16,18 @@ export declare class DebugWrapper extends Component<DebugWrapperProps> {
16
16
  componentWillUnmount(): void;
17
17
  render(): React.ReactNode;
18
18
  }
19
- type Category = 'api' | 'event';
19
+ type Category = 'api' | 'event' | 'action' | 'debug' | 'error';
20
20
  /**
21
21
  * 一般调试日志
22
22
  * @param msg 简单消息
23
23
  * @param ext 扩展信息
24
24
  */
25
- export declare function debug(cat: Category, msg: string, ext?: object): void;
25
+ export declare function debug(cat: Category, msg: string, ext?: any): void;
26
26
  /**
27
27
  * 警告日志
28
28
  * @param msg 简单消息
29
29
  * @param ext 扩展信息
30
30
  */
31
- export declare function warning(cat: Category, msg: string, ext?: object): void;
31
+ export declare function warning(cat: Category, msg: string, ext?: any): void;
32
32
  export declare function traceProps(props: any, prevProps: any, componentName: string): void;
33
33
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,10 +7,12 @@ import { __decorate, __metadata, __values, __read, __extends } from 'tslib';
7
7
  import React, { useRef, useState, useEffect, Component } from 'react';
8
8
  import cx from 'classnames';
9
9
  import { findDOMNode, render, unmountComponentAtNode } from 'react-dom';
10
- import { observable, autorun } from 'mobx';
10
+ import { observable, action, autorun } from 'mobx';
11
11
  import { observer } from 'mobx-react';
12
12
  import { importLazyComponent, uuidv4 } from './helper.js';
13
13
  import { position } from './position.js';
14
+ import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
15
+ import { callStrFunction } from './api.js';
14
16
 
15
17
  /**
16
18
  * amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
@@ -66,6 +68,19 @@ var AMISDebugStore = /** @class */ (function () {
66
68
  */
67
69
  this.inspectMode = false;
68
70
  }
71
+ AMISDebugStore.prototype.open = function () {
72
+ this.isExpanded = true;
73
+ this.inspectMode = true;
74
+ };
75
+ AMISDebugStore.prototype.close = function () {
76
+ this.isExpanded = false;
77
+ this.activeId = '';
78
+ this.hoverId = '';
79
+ this.inspectMode = false;
80
+ };
81
+ AMISDebugStore.prototype.toggleInspectMode = function () {
82
+ this.inspectMode = !this.inspectMode;
83
+ };
69
84
  __decorate([
70
85
  observable,
71
86
  __metadata("design:type", String)
@@ -98,6 +113,24 @@ var AMISDebugStore = /** @class */ (function () {
98
113
  observable,
99
114
  __metadata("design:type", Number)
100
115
  ], AMISDebugStore.prototype, "ellipsisThreshold", void 0);
116
+ __decorate([
117
+ action.bound,
118
+ __metadata("design:type", Function),
119
+ __metadata("design:paramtypes", []),
120
+ __metadata("design:returntype", void 0)
121
+ ], AMISDebugStore.prototype, "open", null);
122
+ __decorate([
123
+ action.bound,
124
+ __metadata("design:type", Function),
125
+ __metadata("design:paramtypes", []),
126
+ __metadata("design:returntype", void 0)
127
+ ], AMISDebugStore.prototype, "close", null);
128
+ __decorate([
129
+ action.bound,
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", []),
132
+ __metadata("design:returntype", void 0)
133
+ ], AMISDebugStore.prototype, "toggleInspectMode", null);
101
134
  return AMISDebugStore;
102
135
  }());
103
136
  var store = new AMISDebugStore();
@@ -115,8 +148,10 @@ var LogView = observer(function (_a) {
115
148
  log.cat,
116
149
  "] ",
117
150
  log.msg),
118
- log.ext ? (React.createElement(React.Suspense, { fallback: React.createElement("div", null, "Loading...") },
119
- React.createElement(JsonView, { name: null, theme: "monokai", src: JSON.parse(log.ext), collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : null));
151
+ (typeof log.ext === 'string' &&
152
+ (log.ext.startsWith('{') || log.ext.startsWith('['))) ||
153
+ typeof log.ext === 'object' ? (React.createElement(React.Suspense, { fallback: React.createElement("div", null, "Loading...") },
154
+ React.createElement(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" }))) : (React.createElement("pre", { className: "AMISDebug-value" }, JSON.stringify(log.ext)))));
120
155
  })));
121
156
  });
122
157
  var AMISDebug = observer(function (_a) {
@@ -193,19 +228,35 @@ var AMISDebug = observer(function (_a) {
193
228
  }
194
229
  };
195
230
  }, [isResizing]);
231
+ var handleInputKeyUp = React.useCallback(function (e) {
232
+ var _a;
233
+ if (e.key === 'Enter') {
234
+ var input = e.target;
235
+ var expression = input.value;
236
+ input.value = '';
237
+ try {
238
+ var activeId_1 = store.activeId;
239
+ var ctx = ((_a = ComponentInfo[activeId_1]) === null || _a === void 0 ? void 0 : _a.component.props.data) || {};
240
+ var result = expression.startsWith('${')
241
+ ? resolveVariableAndFilter(expression, ctx, '| raw')
242
+ : callStrFunction(new Function('data', "with(data) {return ".concat(expression, ";}")), ['data'], ctx);
243
+ debug('debug', "evaluate expression `".concat(expression, "`"), result);
244
+ }
245
+ catch (e) {
246
+ debug('error', "evaluate expression `".concat(expression, "`"), "Error: ".concat(e.message));
247
+ }
248
+ finally {
249
+ store.tab = 'log';
250
+ }
251
+ }
252
+ }, []);
196
253
  return (React.createElement("div", { className: cx('AMISDebug', {
197
254
  'is-expanded': store.isExpanded,
198
255
  'is-left': store.position === 'left'
199
256
  }), ref: panelRef },
200
- React.createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick: function () {
201
- store.isExpanded = true;
202
- } }, store.isExpanded ? (React.createElement("i", { className: "fas fa-times" })) : (React.createElement("i", { className: "fas fa-bug" }))),
257
+ React.createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick: store.open }, store.isExpanded ? (React.createElement("i", { className: "fas fa-times" })) : (React.createElement("i", { className: "fas fa-bug" }))),
203
258
  React.createElement("div", { className: cx('AMISDebug-content') },
204
- React.createElement("div", { className: "AMISDebug-close", title: "Close", onClick: function () {
205
- store.isExpanded = false;
206
- store.activeId = '';
207
- store.hoverId = '';
208
- } },
259
+ React.createElement("div", { className: "AMISDebug-close", title: "Close", onClick: store.close },
209
260
  React.createElement("i", { className: "fas fa-times" })),
210
261
  React.createElement("div", { className: "AMISDebug-resize", onMouseDown: function (event) {
211
262
  setStartX(event.clientX);
@@ -229,18 +280,26 @@ var AMISDebug = observer(function (_a) {
229
280
  store.logs = [];
230
281
  } }, "Clear Log"),
231
282
  React.createElement(LogView, { store: store }))) : null,
232
- store.tab === 'inspect' ? (React.createElement("div", { className: "AMISDebug-inspect" }, activeId ? (React.createElement(React.Fragment, null,
233
- React.createElement("h3", null,
234
- "Component:",
235
- ' ',
236
- React.createElement("span", { className: "primary" }, activeComponentInspect.name)),
237
- stackDataView)) : ('Click component to display inspect'))) : null)));
283
+ store.tab === 'inspect' ? (React.createElement("div", { className: "AMISDebug-inspect" },
284
+ React.createElement("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 },
285
+ React.createElement("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" })),
286
+ store.inspectMode ? (React.createElement("span", null, "Select an element in the page to inspect it.")) : (React.createElement("span", null, "Click to inspect an element.")),
287
+ activeId ? (React.createElement(React.Fragment, null,
288
+ React.createElement("h3", null,
289
+ "Component:",
290
+ ' ',
291
+ React.createElement("span", { className: "primary" }, activeComponentInspect === null || activeComponentInspect === void 0 ? void 0 : activeComponentInspect.name)),
292
+ stackDataView)) : null)) : null,
293
+ activeId ? (React.createElement("div", { className: "AMISDebug-footer" },
294
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024" },
295
+ React.createElement("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" })),
296
+ React.createElement("input", { type: "text", placeholder: "", onKeyUp: handleInputKeyUp }))) : null)));
238
297
  });
239
298
  /**
240
299
  * 鼠标移动到某个组件的效果
241
300
  */
242
301
  function handleMouseMove(e) {
243
- if (!store.isExpanded) {
302
+ if (!store.inspectMode) {
244
303
  return;
245
304
  }
246
305
  var dom = e.target;
@@ -253,14 +312,16 @@ function handleMouseMove(e) {
253
312
  * 点选某个组件
254
313
  */
255
314
  function handleMouseclick(e) {
256
- if (!store.isExpanded) {
315
+ if (!store.inspectMode) {
257
316
  return;
258
317
  }
318
+ e.preventDefault();
259
319
  var dom = e.target;
260
320
  var target = dom.closest("[data-debug-id]");
261
321
  if (target && !target.closest('.AMISDebug')) {
262
322
  store.activeId = target.getAttribute('data-debug-id');
263
323
  store.tab = 'inspect';
324
+ store.inspectMode = false;
264
325
  }
265
326
  }
266
327
  // hover 及点击后的高亮
@@ -268,6 +329,7 @@ var amisHoverBox = document.createElement('div');
268
329
  amisHoverBox.className = 'AMISDebug-hoverBox';
269
330
  var amisActiveBox = document.createElement('div');
270
331
  amisActiveBox.className = 'AMISDebug-activeBox';
332
+ var timer = null;
271
333
  autorun(function () {
272
334
  var hoverId = store.hoverId;
273
335
  var hoverElement = document.querySelector("[data-debug-id=\"".concat(hoverId, "\"]"));
@@ -291,6 +353,11 @@ autorun(function () {
291
353
  amisActiveBox.style.left = "".concat(offset.left, "px");
292
354
  amisActiveBox.style.width = "".concat(offset.width, "px");
293
355
  amisActiveBox.style.height = "".concat(offset.height, "px");
356
+ amisActiveBox.classList.add('shake');
357
+ clearTimeout(timer);
358
+ timer = setTimeout(function () {
359
+ amisActiveBox.classList.remove('shake');
360
+ }, 500);
294
361
  }
295
362
  else {
296
363
  amisActiveBox.style.top = '-999999px';
@@ -324,7 +391,7 @@ function enableDebug() {
324
391
  document.body.appendChild(amisHoverBox);
325
392
  document.body.appendChild(amisActiveBox);
326
393
  document.addEventListener('mousemove', handleMouseMove);
327
- document.addEventListener('click', handleMouseclick);
394
+ document.addEventListener('click', handleMouseclick, true);
328
395
  }
329
396
  function disableDebug() {
330
397
  if (!isEnabled) {
@@ -368,12 +435,26 @@ var DebugWrapper = /** @class */ (function (_super) {
368
435
  };
369
436
  DebugWrapper.prototype.componentWillUnmount = function () {
370
437
  delete ComponentInfo[this.debugId];
438
+ if (this.debugId === store.activeId) {
439
+ store.activeId = '';
440
+ }
441
+ if (this.debugId === store.hoverId) {
442
+ store.hoverId = '';
443
+ }
371
444
  };
372
445
  DebugWrapper.prototype.render = function () {
373
446
  return this.props.children;
374
447
  };
375
448
  return DebugWrapper;
376
449
  }(Component));
450
+ function parseJson(str) {
451
+ try {
452
+ return JSON.parse(str);
453
+ }
454
+ catch (e) {
455
+ return e;
456
+ }
457
+ }
377
458
  /**
378
459
  * 一般调试日志
379
460
  * @param msg 简单消息
@@ -386,18 +467,11 @@ function debug(cat, msg, ext) {
386
467
  console.groupCollapsed('[amis debug]', msg);
387
468
  console.debug(ext);
388
469
  console.groupEnd();
389
- var extStr = '';
390
- try {
391
- extStr = JSON.stringify(ext);
392
- }
393
- catch (e) {
394
- console.error(e);
395
- }
396
470
  var log = {
397
471
  cat: cat,
398
472
  level: 'debug',
399
473
  msg: msg,
400
- ext: extStr
474
+ ext: ext
401
475
  };
402
476
  store.logs.push(log);
403
477
  }
@@ -410,18 +484,11 @@ function warning(cat, msg, ext) {
410
484
  if (!isEnabled) {
411
485
  return;
412
486
  }
413
- var extStr = '';
414
- try {
415
- extStr = JSON.stringify(ext);
416
- }
417
- catch (e) {
418
- console.error(e);
419
- }
420
487
  var log = {
421
488
  cat: cat,
422
489
  level: 'warn',
423
490
  msg: msg,
424
- ext: extStr
491
+ ext: ext
425
492
  };
426
493
  console.groupCollapsed('amis debug', msg);
427
494
  console.trace(log);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
2
+ * amis-core v6.10.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
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-rc.9
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;