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
@@ -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
 
@@ -14,6 +14,7 @@ import isNumber from 'lodash/isNumber';
14
14
  import isString from 'lodash/isString';
15
15
  import qs from 'qs';
16
16
  import { compile } from 'path-to-regexp';
17
+ import { matchSorter } from 'match-sorter';
17
18
  import { filter, evalExpressionWithConditionBuilder, evalExpression } from './tpl.js';
18
19
  import { autobindMethod } from './autobind.js';
19
20
  import 'amis-formula';
@@ -28,6 +29,7 @@ import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
28
29
  import './memoryParse.js';
29
30
  import './filter.js';
30
31
  export { string2regExp } from './string2regExp.js';
32
+ import { getVariable } from './getVariable.js';
31
33
  export { getVariable } from './getVariable.js';
32
34
  import { keyToPath } from './keyToPath.js';
33
35
  export { keyToPath } from './keyToPath.js';
@@ -1000,6 +1002,50 @@ function sortArray(items, field, dir, fieldGetter) {
1000
1002
  return ret * dir;
1001
1003
  });
1002
1004
  }
1005
+ function applyFilters(items, options) {
1006
+ if (options.matchFunc && typeof options.matchFunc === 'function') {
1007
+ items = options.matchFunc(items, items, options);
1008
+ }
1009
+ else {
1010
+ if (Array.isArray(options.columns)) {
1011
+ options.columns.forEach(function (column) {
1012
+ var value = typeof column.name === 'string'
1013
+ ? getVariable(options.query, column.name)
1014
+ : undefined;
1015
+ var key = column.name;
1016
+ if ((options.filterOnAllColumns ||
1017
+ column.searchable ||
1018
+ column.filterable) &&
1019
+ key &&
1020
+ value != null) {
1021
+ // value可能为null、undefined、''、0
1022
+ if (Array.isArray(value)) {
1023
+ if (value.length > 0) {
1024
+ var arr_1 = __spreadArray([], __read(items), false);
1025
+ var arrItems_1 = [];
1026
+ value.forEach(function (item) {
1027
+ arrItems_1 = __spreadArray(__spreadArray([], __read(arrItems_1), false), __read(matchSorter(arr_1, item, {
1028
+ keys: [key],
1029
+ threshold: matchSorter.rankings.CONTAINS
1030
+ })), false);
1031
+ });
1032
+ items = items.filter(function (item) {
1033
+ return arrItems_1.find(function (a) { return a === item; });
1034
+ });
1035
+ }
1036
+ }
1037
+ else {
1038
+ items = matchSorter(items, value, {
1039
+ keys: [key],
1040
+ threshold: matchSorter.rankings.CONTAINS
1041
+ });
1042
+ }
1043
+ }
1044
+ });
1045
+ }
1046
+ } /** 字段的格式类型无法穷举,所以支持使用函数过滤 */
1047
+ return items;
1048
+ }
1003
1049
  // 只判断一层, 如果层级很深,form-data 也不好表达。
1004
1050
  function hasFile(object) {
1005
1051
  return Object.keys(object).some(function (key) {
@@ -1697,5 +1743,44 @@ function formateId(id) {
1697
1743
  }
1698
1744
  return id;
1699
1745
  }
1746
+ function formateCheckThemeCss(themeCss, type) {
1747
+ var _a;
1748
+ if (!themeCss) {
1749
+ return {};
1750
+ }
1751
+ var className = themeCss["".concat(type, "ClassName")] || {};
1752
+ var controlClassName = themeCss["".concat(type, "ControlClassName")] || {};
1753
+ var defaultControlThemeCss = {};
1754
+ var checkedControlThemeCss = {};
1755
+ var defaultThemeCss = {};
1756
+ var checkedThemeCss = {};
1757
+ Object.keys(className).forEach(function (key) {
1758
+ if (key.includes('checked-')) {
1759
+ var newKey = key.replace('checked-', '');
1760
+ checkedThemeCss[newKey] = className[key];
1761
+ }
1762
+ else if (key.includes("".concat(type, "-"))) {
1763
+ var newKey = key.replace("".concat(type, "-"), '');
1764
+ defaultThemeCss[newKey] = className[key];
1765
+ }
1766
+ else {
1767
+ defaultThemeCss[key] = className[key];
1768
+ }
1769
+ });
1770
+ Object.keys(controlClassName).forEach(function (key) {
1771
+ if (key.includes('checked-')) {
1772
+ var newKey = key.replace('checked-', '');
1773
+ checkedControlThemeCss[newKey] = controlClassName[key];
1774
+ }
1775
+ else if (key.includes("".concat(type, "-"))) {
1776
+ var newKey = key.replace("".concat(type, "-"), '');
1777
+ defaultControlThemeCss[newKey] = controlClassName[key];
1778
+ }
1779
+ else {
1780
+ defaultControlThemeCss[key] = controlClassName[key];
1781
+ }
1782
+ });
1783
+ return __assign(__assign({}, themeCss), (_a = {}, _a["".concat(type, "ControlClassName")] = defaultControlThemeCss, _a["".concat(type, "ControlCheckedClassName")] = checkedControlThemeCss, _a["".concat(type, "ClassName")] = defaultThemeCss, _a["".concat(type, "CheckedClassName")] = checkedThemeCss, _a));
1784
+ }
1700
1785
 
1701
- export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, formateId, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, supportsMjs, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
1786
+ export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, applyFilters, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, formateCheckThemeCss, formateId, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, supportsMjs, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
@@ -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/icon.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
 
package/esm/utils/math.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
 
@@ -40,15 +40,20 @@ function position(node, offsetParent$1) {
40
40
  }
41
41
  if (nodeName(parent_1) !== 'html')
42
42
  parentOffset = offset(parent_1);
43
- var borderTop = String(getComputedStyle(parent_1).getPropertyValue('border-top-width') || 0);
43
+ var parentStyle = getComputedStyle(parent_1);
44
+ var borderTop = String(parentStyle.getPropertyValue('border-top-width') || 0);
44
45
  parentOffset.top += parseInt(borderTop, 10) - parent_1.scrollTop || 0;
45
- var borderLeft = String(getComputedStyle(parent_1).getPropertyValue('border-left-width') || 0);
46
+ var borderLeft = String(parentStyle.getPropertyValue('border-left-width') || 0);
46
47
  parentOffset.left += parseInt(borderLeft, 10) - parent_1.scrollLeft || 0;
47
48
  }
48
- var marginTop = String(getComputedStyle(node).getPropertyValue('margin-top') || 0);
49
- var marginLeft = String(getComputedStyle(node).getPropertyValue('margin-left') || 0);
49
+ // const marginTop = String(
50
+ // getComputedStyle(node).getPropertyValue('margin-top') || 0
51
+ // );
52
+ // const marginLeft = String(
53
+ // getComputedStyle(node).getPropertyValue('margin-left') || 0
54
+ // );
50
55
  // Subtract parent offsets and node margins
51
- return __assign(__assign({}, offset$1), { top: offset$1.top - parentOffset.top - (parseInt(marginTop, 10) || 0), left: offset$1.left - parentOffset.left - (parseInt(marginLeft, 10) || 0) });
56
+ return __assign(__assign({}, offset$1), { top: offset$1.top - parentOffset.top /*- (parseInt(marginTop, 10) || 0)*/, left: offset$1.left - parentOffset.left /* - (parseInt(marginLeft, 10) || 0)*/ });
52
57
  }
53
58
 
54
59
  export { position as default, position };
@@ -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
 
@@ -3,6 +3,7 @@ import { ListenerAction } from '../actions/Action';
3
3
  import { RendererProps } from '../factory';
4
4
  import { IScopedContext } from '../Scoped';
5
5
  import { TreeItem } from './helper';
6
+ import type { PlainObject } from '../types';
6
7
  export interface debounceConfig {
7
8
  maxWait?: number;
8
9
  wait?: number;
@@ -59,7 +60,10 @@ export interface RendererEventContext {
59
60
  }
60
61
  export declare function createRendererEvent<T extends RendererEventContext>(type: string, context: T): RendererEvent<T>;
61
62
  export declare const bindEvent: (renderer: any) => ((eventName?: string) => void) | undefined;
63
+ export declare const bindGlobalEventForRenderer: (renderer: any) => (() => void) | undefined;
64
+ export declare const bindGlobalEvent: (eventName: string, callback: (data: PlainObject) => void) => (() => void) | undefined;
62
65
  export declare function dispatchEvent(e: string | React.MouseEvent<any>, renderer: React.Component<RendererProps>, scoped: IScopedContext, data: any, broadcast?: RendererEvent<any>): Promise<RendererEvent<any> | void>;
66
+ export declare function dispatchGlobalEvent(eventName: string, data: any): Promise<void>;
63
67
  export declare const getRendererEventListeners: () => RendererEventListener[];
64
68
  /**
65
69
  * 兼容历史配置,追加对应name的值
@@ -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
 
@@ -131,12 +131,80 @@ var bindEvent = function (renderer) {
131
131
  }
132
132
  return undefined;
133
133
  };
134
+ var bindGlobalEventForRenderer = function (renderer) {
135
+ var e_2, _a;
136
+ if (!renderer) {
137
+ return undefined;
138
+ }
139
+ var listeners = renderer.props.$schema.onEvent;
140
+ var bcs = [];
141
+ if (listeners) {
142
+ var _loop_2 = function (key) {
143
+ var listener = listeners[key];
144
+ if (!BroadcastChannel) {
145
+ console.error('BroadcastChannel is not supported in your browser');
146
+ return { value: void 0 };
147
+ }
148
+ var bc = new BroadcastChannel(key);
149
+ bcs.push({
150
+ renderer: renderer,
151
+ bc: bc
152
+ });
153
+ bc.onmessage = function (e) {
154
+ var _a;
155
+ var _b = e.data, eventName = _b.eventName, data = _b.data;
156
+ var rendererEvent = createRendererEvent(eventName, {
157
+ env: (_a = renderer === null || renderer === void 0 ? void 0 : renderer.props) === null || _a === void 0 ? void 0 : _a.env,
158
+ nativeEvent: eventName,
159
+ scoped: renderer === null || renderer === void 0 ? void 0 : renderer.context,
160
+ data: data
161
+ });
162
+ runActions(listener.actions, renderer, rendererEvent);
163
+ };
164
+ };
165
+ try {
166
+ for (var _b = __values(Object.keys(listeners)), _c = _b.next(); !_c.done; _c = _b.next()) {
167
+ var key = _c.value;
168
+ var state_1 = _loop_2(key);
169
+ if (typeof state_1 === "object")
170
+ return state_1.value;
171
+ }
172
+ }
173
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
174
+ finally {
175
+ try {
176
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
177
+ }
178
+ finally { if (e_2) throw e_2.error; }
179
+ }
180
+ return function () {
181
+ bcs
182
+ .filter(function (item) { return item.renderer === renderer; })
183
+ .forEach(function (item) { return item.bc.close(); });
184
+ };
185
+ }
186
+ return void 0;
187
+ };
188
+ var bindGlobalEvent = function (eventName, callback) {
189
+ if (!BroadcastChannel) {
190
+ console.error('BroadcastChannel is not supported in your browser');
191
+ return;
192
+ }
193
+ var bc = new BroadcastChannel(eventName);
194
+ bc.onmessage = function (e) {
195
+ var _a = e.data, name = _a.eventName, data = _a.data;
196
+ if (name === eventName) {
197
+ callback(data);
198
+ }
199
+ };
200
+ return function () { return bc.close(); };
201
+ };
134
202
  // 触发事件
135
203
  function dispatchEvent(e, renderer, scoped, data, broadcast) {
136
204
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
137
205
  return __awaiter(this, void 0, void 0, function () {
138
- var unbindEvent, eventName, eventConfig, rendererEvent, listeners, executedCount, checkExecuted, _loop_2, listeners_1, listeners_1_1, listener, state_1, e_2_1;
139
- var e_2, _l;
206
+ var unbindEvent, eventName, eventConfig, rendererEvent, listeners, executedCount, checkExecuted, _loop_3, listeners_1, listeners_1_1, listener, state_2, e_3_1;
207
+ var e_3, _l;
140
208
  var _this = this;
141
209
  return __generator(this, function (_m) {
142
210
  switch (_m.label) {
@@ -179,7 +247,7 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
179
247
  unbindEvent === null || unbindEvent === void 0 ? void 0 : unbindEvent(eventName);
180
248
  }
181
249
  };
182
- _loop_2 = function (listener) {
250
+ _loop_3 = function (listener) {
183
251
  var _o, _p, wait, _q, trailing, _r, leading, _s, maxWait, debounced_1, _t, trackId, trackName;
184
252
  return __generator(this, function (_u) {
185
253
  switch (_u.label) {
@@ -243,10 +311,10 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
243
311
  case 2:
244
312
  if (!!listeners_1_1.done) return [3 /*break*/, 5];
245
313
  listener = listeners_1_1.value;
246
- return [5 /*yield**/, _loop_2(listener)];
314
+ return [5 /*yield**/, _loop_3(listener)];
247
315
  case 3:
248
- state_1 = _m.sent();
249
- if (state_1 === "break")
316
+ state_2 = _m.sent();
317
+ if (state_2 === "break")
250
318
  return [3 /*break*/, 5];
251
319
  _m.label = 4;
252
320
  case 4:
@@ -254,20 +322,38 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
254
322
  return [3 /*break*/, 2];
255
323
  case 5: return [3 /*break*/, 8];
256
324
  case 6:
257
- e_2_1 = _m.sent();
258
- e_2 = { error: e_2_1 };
325
+ e_3_1 = _m.sent();
326
+ e_3 = { error: e_3_1 };
259
327
  return [3 /*break*/, 8];
260
328
  case 7:
261
329
  try {
262
330
  if (listeners_1_1 && !listeners_1_1.done && (_l = listeners_1.return)) _l.call(listeners_1);
263
331
  }
264
- finally { if (e_2) throw e_2.error; }
332
+ finally { if (e_3) throw e_3.error; }
265
333
  return [7 /*endfinally*/];
266
334
  case 8: return [2 /*return*/, Promise.resolve(rendererEvent)];
267
335
  }
268
336
  });
269
337
  });
270
338
  }
339
+ function dispatchGlobalEvent(eventName, data) {
340
+ return __awaiter(this, void 0, void 0, function () {
341
+ var bc;
342
+ return __generator(this, function (_a) {
343
+ if (!BroadcastChannel) {
344
+ console.error('BroadcastChannel is not supported in your browser');
345
+ return [2 /*return*/];
346
+ }
347
+ bc = new BroadcastChannel(eventName);
348
+ bc.postMessage({
349
+ eventName: eventName,
350
+ data: data
351
+ });
352
+ bc.close();
353
+ return [2 /*return*/];
354
+ });
355
+ });
356
+ }
271
357
  var getRendererEventListeners = function () {
272
358
  return rendererEventListeners;
273
359
  };
@@ -379,4 +465,4 @@ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
379
465
  });
380
466
  }
381
467
 
382
- export { bindEvent, createRendererEvent, dispatchEvent, getMatchedEventTargets, getRendererEventListeners, resolveEventData };
468
+ export { bindEvent, bindGlobalEvent, bindGlobalEventForRenderer, createRendererEvent, dispatchEvent, dispatchGlobalEvent, getMatchedEventTargets, getRendererEventListeners, resolveEventData };
@@ -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
 
@@ -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/tpl.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