amis-core 2.0.0 → 2.1.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 (311) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +7 -7
  3. package/esm/SchemaRenderer.js +12 -12
  4. package/esm/Scoped.js +1 -1
  5. package/esm/WithRootStore.d.ts +0 -18
  6. package/esm/WithRootStore.js +1 -1
  7. package/esm/WithStore.js +1 -1
  8. package/esm/_virtual/index.js +1 -1
  9. package/esm/_virtual/index2.js +1 -1
  10. package/esm/_virtual/react-is.development.js +1 -1
  11. package/esm/_virtual/react-is.production.min.js +1 -1
  12. package/esm/actions/Action.js +1 -1
  13. package/esm/actions/AjaxAction.js +39 -38
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.js +3 -3
  17. package/esm/actions/ContinueAction.js +1 -1
  18. package/esm/actions/CopyAction.js +1 -1
  19. package/esm/actions/CustomAction.js +1 -1
  20. package/esm/actions/Decorators.js +1 -1
  21. package/esm/actions/DialogAction.js +2 -2
  22. package/esm/actions/DrawerAction.js +1 -1
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/LinkAction.js +1 -1
  25. package/esm/actions/LoopAction.js +1 -1
  26. package/esm/actions/PageAction.js +1 -1
  27. package/esm/actions/ParallelAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/components/LazyComponent.js +1 -1
  31. package/esm/components/Overlay.d.ts +2 -0
  32. package/esm/components/Overlay.js +19 -2
  33. package/esm/components/PopOver.js +1 -1
  34. package/esm/env.js +1 -1
  35. package/esm/envOverwrite.js +1 -1
  36. package/esm/factory.d.ts +1 -1
  37. package/esm/factory.js +1 -1
  38. package/esm/index.js +4 -4
  39. package/esm/index2.js +3 -4
  40. package/esm/locale.js +1 -1
  41. package/esm/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  42. package/esm/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  43. package/esm/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  44. package/esm/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  45. package/esm/node_modules/dom-helpers/esm/contains.js +1 -1
  46. package/esm/node_modules/dom-helpers/esm/listen.js +1 -1
  47. package/esm/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  48. package/esm/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  49. package/esm/node_modules/object-assign/index.js +1 -1
  50. package/esm/node_modules/prop-types/checkPropTypes.js +1 -1
  51. package/esm/node_modules/prop-types/factoryWithThrowingShims.js +1 -1
  52. package/esm/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  53. package/esm/node_modules/prop-types/index.js +1 -1
  54. package/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -1
  55. package/esm/node_modules/prop-types/lib/has.js +1 -1
  56. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  57. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -1
  58. package/esm/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  59. package/esm/node_modules/react-overlays/esm/Portal.js +1 -1
  60. package/esm/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  61. package/esm/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  62. package/esm/node_modules/react-overlays/esm/useRootClose.js +1 -1
  63. package/esm/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  64. package/esm/node_modules/warning/warning.js +1 -1
  65. package/esm/renderers/Form.d.ts +2 -1
  66. package/esm/renderers/Form.js +12 -6
  67. package/esm/renderers/Item.d.ts +4 -18
  68. package/esm/renderers/Item.js +21 -11
  69. package/esm/renderers/Options.js +14 -6
  70. package/esm/renderers/Placeholder.js +1 -1
  71. package/esm/renderers/builtin.js +1 -1
  72. package/esm/renderers/wrapControl.d.ts +0 -9
  73. package/esm/renderers/wrapControl.js +2 -3
  74. package/esm/store/app.d.ts +4 -1
  75. package/esm/store/app.js +5 -2
  76. package/esm/store/combo.js +1 -1
  77. package/esm/store/crud.js +1 -1
  78. package/esm/store/form.js +1 -1
  79. package/esm/store/formItem.js +4 -2
  80. package/esm/store/iRenderer.js +1 -1
  81. package/esm/store/index.d.ts +0 -5
  82. package/esm/store/index.js +1 -16
  83. package/esm/store/list.js +1 -1
  84. package/esm/store/manager.js +1 -1
  85. package/esm/store/modal.js +1 -1
  86. package/esm/store/node.js +1 -1
  87. package/esm/store/pagination.js +1 -1
  88. package/esm/store/root.d.ts +4 -0
  89. package/esm/store/root.js +14 -2
  90. package/esm/store/service.js +1 -1
  91. package/esm/store/table-v2.js +1 -1
  92. package/esm/store/table.d.ts +2 -2
  93. package/esm/store/table.js +4 -9
  94. package/esm/theme.js +1 -1
  95. package/esm/types.d.ts +2 -2
  96. package/esm/utils/Animation.js +1 -1
  97. package/esm/utils/ColorScale.js +1 -1
  98. package/esm/utils/DataSchema.js +2 -6
  99. package/esm/utils/DataScope.js +1 -1
  100. package/esm/utils/RootClose.js +1 -1
  101. package/esm/utils/SimpleMap.js +1 -1
  102. package/esm/utils/api.d.ts +7 -0
  103. package/esm/utils/api.js +47 -6
  104. package/esm/utils/attachmentAdpator.js +1 -1
  105. package/esm/utils/autobind.js +1 -1
  106. package/esm/utils/columnsSplit.js +1 -1
  107. package/esm/utils/dataMapping.d.ts +6 -0
  108. package/esm/utils/dataMapping.js +16 -2
  109. package/esm/utils/date.js +1 -1
  110. package/esm/utils/debug.js +1 -1
  111. package/esm/utils/dom.js +1 -1
  112. package/esm/utils/errors.js +1 -1
  113. package/esm/utils/escapeHtml.js +1 -1
  114. package/esm/utils/filter-schema.js +1 -1
  115. package/esm/utils/filter.js +1 -1
  116. package/esm/utils/formatDuration.js +1 -1
  117. package/esm/utils/formula.js +1 -1
  118. package/esm/utils/getVariable.js +1 -1
  119. package/esm/utils/grammar.js +1 -1
  120. package/esm/utils/handleAction.js +1 -1
  121. package/esm/utils/helper.d.ts +27 -1
  122. package/esm/utils/helper.js +23 -6
  123. package/esm/utils/highlight.js +1 -1
  124. package/esm/utils/icon.js +1 -1
  125. package/esm/utils/image.js +1 -1
  126. package/esm/utils/isPureVariable.js +1 -1
  127. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  128. package/esm/utils/keyToPath.js +1 -1
  129. package/esm/utils/makeSorter.js +1 -1
  130. package/esm/utils/normalizeLink.js +1 -1
  131. package/esm/utils/normalizeOptions.js +1 -1
  132. package/esm/utils/object.js +1 -1
  133. package/esm/utils/offset.js +1 -1
  134. package/esm/utils/offsetParent.js +1 -1
  135. package/esm/utils/optionValueCompare.js +1 -1
  136. package/esm/utils/position.d.ts +1 -1
  137. package/esm/utils/position.js +9 -1
  138. package/esm/utils/prettyBytes.js +1 -1
  139. package/esm/utils/renderer-event.js +1 -1
  140. package/esm/utils/replaceText.js +1 -1
  141. package/esm/utils/resize-sensor.js +1 -1
  142. package/esm/utils/resolveVariable.js +1 -1
  143. package/esm/utils/resolveVariableAndFilter.js +1 -1
  144. package/esm/utils/scrollPosition.d.ts +1 -1
  145. package/esm/utils/scrollPosition.js +1 -1
  146. package/esm/utils/string2regExp.js +1 -1
  147. package/esm/utils/stripNumber.js +1 -1
  148. package/esm/utils/style.js +1 -1
  149. package/esm/utils/tokenize.js +1 -1
  150. package/esm/utils/tpl-builtin.d.ts +2 -2
  151. package/esm/utils/tpl-builtin.js +1 -1
  152. package/esm/utils/tpl-lodash.js +1 -1
  153. package/esm/utils/tpl.js +1 -1
  154. package/esm/utils/uncontrollable.js +1 -1
  155. package/esm/utils/validations.js +1 -1
  156. package/lib/Root.js +1 -1
  157. package/lib/RootRenderer.js +7 -7
  158. package/lib/SchemaRenderer.js +12 -12
  159. package/lib/Scoped.js +1 -1
  160. package/lib/WithRootStore.d.ts +0 -18
  161. package/lib/WithRootStore.js +1 -1
  162. package/lib/WithStore.js +1 -1
  163. package/lib/_virtual/index.js +1 -1
  164. package/lib/_virtual/index2.js +1 -1
  165. package/lib/_virtual/react-is.development.js +1 -1
  166. package/lib/_virtual/react-is.production.min.js +1 -1
  167. package/lib/actions/Action.js +1 -1
  168. package/lib/actions/AjaxAction.js +38 -37
  169. package/lib/actions/BreakAction.js +1 -1
  170. package/lib/actions/BroadcastAction.js +1 -1
  171. package/lib/actions/CmptAction.js +3 -3
  172. package/lib/actions/ContinueAction.js +1 -1
  173. package/lib/actions/CopyAction.js +1 -1
  174. package/lib/actions/CustomAction.js +1 -1
  175. package/lib/actions/Decorators.js +1 -1
  176. package/lib/actions/DialogAction.js +2 -2
  177. package/lib/actions/DrawerAction.js +1 -1
  178. package/lib/actions/EmailAction.js +1 -1
  179. package/lib/actions/LinkAction.js +1 -1
  180. package/lib/actions/LoopAction.js +1 -1
  181. package/lib/actions/PageAction.js +1 -1
  182. package/lib/actions/ParallelAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/components/LazyComponent.js +1 -1
  186. package/lib/components/Overlay.d.ts +2 -0
  187. package/lib/components/Overlay.js +19 -2
  188. package/lib/components/PopOver.js +1 -1
  189. package/lib/env.js +1 -1
  190. package/lib/envOverwrite.js +1 -1
  191. package/lib/factory.d.ts +1 -1
  192. package/lib/factory.js +1 -1
  193. package/lib/index.js +5 -1
  194. package/lib/index2.js +4 -2
  195. package/lib/locale.js +1 -1
  196. package/lib/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  197. package/lib/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  198. package/lib/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  199. package/lib/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  200. package/lib/node_modules/dom-helpers/esm/contains.js +1 -1
  201. package/lib/node_modules/dom-helpers/esm/listen.js +1 -1
  202. package/lib/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  203. package/lib/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  204. package/lib/node_modules/object-assign/index.js +1 -1
  205. package/lib/node_modules/prop-types/checkPropTypes.js +1 -1
  206. package/lib/node_modules/prop-types/factoryWithThrowingShims.js +1 -1
  207. package/lib/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  208. package/lib/node_modules/prop-types/index.js +1 -1
  209. package/lib/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -1
  210. package/lib/node_modules/prop-types/lib/has.js +1 -1
  211. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  212. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -1
  213. package/lib/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  214. package/lib/node_modules/react-overlays/esm/Portal.js +1 -1
  215. package/lib/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  216. package/lib/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  217. package/lib/node_modules/react-overlays/esm/useRootClose.js +1 -1
  218. package/lib/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  219. package/lib/node_modules/warning/warning.js +1 -1
  220. package/lib/renderers/Form.d.ts +2 -1
  221. package/lib/renderers/Form.js +12 -6
  222. package/lib/renderers/Item.d.ts +4 -18
  223. package/lib/renderers/Item.js +20 -10
  224. package/lib/renderers/Options.js +14 -7
  225. package/lib/renderers/Placeholder.js +1 -1
  226. package/lib/renderers/builtin.js +1 -1
  227. package/lib/renderers/wrapControl.d.ts +0 -9
  228. package/lib/renderers/wrapControl.js +2 -3
  229. package/lib/store/app.d.ts +4 -1
  230. package/lib/store/app.js +5 -2
  231. package/lib/store/combo.js +1 -1
  232. package/lib/store/crud.js +1 -1
  233. package/lib/store/form.js +1 -1
  234. package/lib/store/formItem.js +4 -2
  235. package/lib/store/iRenderer.js +1 -1
  236. package/lib/store/index.d.ts +0 -5
  237. package/lib/store/index.js +1 -16
  238. package/lib/store/list.js +1 -1
  239. package/lib/store/manager.js +1 -1
  240. package/lib/store/modal.js +1 -1
  241. package/lib/store/node.js +1 -1
  242. package/lib/store/pagination.js +1 -1
  243. package/lib/store/root.d.ts +4 -0
  244. package/lib/store/root.js +14 -2
  245. package/lib/store/service.js +1 -1
  246. package/lib/store/table-v2.js +1 -1
  247. package/lib/store/table.d.ts +2 -2
  248. package/lib/store/table.js +4 -9
  249. package/lib/theme.js +1 -1
  250. package/lib/types.d.ts +2 -2
  251. package/lib/utils/Animation.js +1 -1
  252. package/lib/utils/ColorScale.js +1 -1
  253. package/lib/utils/DataSchema.js +2 -6
  254. package/lib/utils/DataScope.js +1 -1
  255. package/lib/utils/RootClose.js +1 -1
  256. package/lib/utils/SimpleMap.js +1 -1
  257. package/lib/utils/api.d.ts +7 -0
  258. package/lib/utils/api.js +48 -5
  259. package/lib/utils/attachmentAdpator.js +1 -1
  260. package/lib/utils/autobind.js +1 -1
  261. package/lib/utils/columnsSplit.js +1 -1
  262. package/lib/utils/dataMapping.d.ts +6 -0
  263. package/lib/utils/dataMapping.js +16 -1
  264. package/lib/utils/date.js +1 -1
  265. package/lib/utils/debug.js +1 -1
  266. package/lib/utils/dom.js +1 -1
  267. package/lib/utils/errors.js +1 -1
  268. package/lib/utils/escapeHtml.js +1 -1
  269. package/lib/utils/filter-schema.js +1 -1
  270. package/lib/utils/filter.js +1 -1
  271. package/lib/utils/formatDuration.js +1 -1
  272. package/lib/utils/formula.js +1 -1
  273. package/lib/utils/getVariable.js +1 -1
  274. package/lib/utils/grammar.js +1 -1
  275. package/lib/utils/handleAction.js +1 -1
  276. package/lib/utils/helper.d.ts +27 -1
  277. package/lib/utils/helper.js +23 -5
  278. package/lib/utils/highlight.js +1 -1
  279. package/lib/utils/icon.js +1 -1
  280. package/lib/utils/image.js +1 -1
  281. package/lib/utils/isPureVariable.js +1 -1
  282. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  283. package/lib/utils/keyToPath.js +1 -1
  284. package/lib/utils/makeSorter.js +1 -1
  285. package/lib/utils/normalizeLink.js +1 -1
  286. package/lib/utils/normalizeOptions.js +1 -1
  287. package/lib/utils/object.js +1 -1
  288. package/lib/utils/offset.js +1 -1
  289. package/lib/utils/offsetParent.js +1 -1
  290. package/lib/utils/optionValueCompare.js +1 -1
  291. package/lib/utils/position.d.ts +1 -1
  292. package/lib/utils/position.js +9 -1
  293. package/lib/utils/prettyBytes.js +1 -1
  294. package/lib/utils/renderer-event.js +1 -1
  295. package/lib/utils/replaceText.js +1 -1
  296. package/lib/utils/resize-sensor.js +1 -1
  297. package/lib/utils/resolveVariable.js +1 -1
  298. package/lib/utils/resolveVariableAndFilter.js +1 -1
  299. package/lib/utils/scrollPosition.d.ts +1 -1
  300. package/lib/utils/scrollPosition.js +1 -1
  301. package/lib/utils/string2regExp.js +1 -1
  302. package/lib/utils/stripNumber.js +1 -1
  303. package/lib/utils/style.js +1 -1
  304. package/lib/utils/tokenize.js +1 -1
  305. package/lib/utils/tpl-builtin.d.ts +2 -2
  306. package/lib/utils/tpl-builtin.js +1 -1
  307. package/lib/utils/tpl-lodash.js +1 -1
  308. package/lib/utils/tpl.js +1 -1
  309. package/lib/utils/uncontrollable.js +1 -1
  310. package/lib/utils/validations.js +1 -1
  311. package/package.json +6 -6
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -31,6 +31,8 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
31
31
  runtimeError: import("mobx-state-tree").IType<any, any, any>;
32
32
  runtimeErrorStack: import("mobx-state-tree").IType<any, any, any>;
33
33
  query: import("mobx-state-tree").IType<any, any, any>;
34
+ visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
35
+ disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
34
36
  }, {
35
37
  readonly parentStore: any;
36
38
  readonly __: any;
@@ -75,5 +77,7 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
75
77
  } & {
76
78
  setRuntimeError(error: any, errorStack: any): void;
77
79
  updateLocation(location?: any): void;
80
+ setVisible(id: string, value: boolean): void;
81
+ setDisable(id: string, value: boolean): void;
78
82
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
79
83
  export declare type IRootStore = Instance<typeof RootStore>;
package/lib/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -17,7 +17,9 @@ var RootStore = service.ServiceStore.named('RootStore')
17
17
  .props({
18
18
  runtimeError: mobxStateTree.types.frozen(),
19
19
  runtimeErrorStack: mobxStateTree.types.frozen(),
20
- query: mobxStateTree.types.frozen()
20
+ query: mobxStateTree.types.frozen(),
21
+ visibleState: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {}),
22
+ disableState: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {})
21
23
  })
22
24
  .views(function (self) { return ({
23
25
  get downStream() {
@@ -39,6 +41,16 @@ var RootStore = service.ServiceStore.named('RootStore')
39
41
  (window.location.search &&
40
42
  helper.qsparse(window.location.search.substring(1)));
41
43
  self.query = query;
44
+ },
45
+ setVisible: function (id, value) {
46
+ var _a;
47
+ var state = tslib.__assign(tslib.__assign({}, self.visibleState), (_a = {}, _a[id] = value, _a));
48
+ self.visibleState = state;
49
+ },
50
+ setDisable: function (id, value) {
51
+ var _a;
52
+ var state = tslib.__assign(tslib.__assign({}, self.disableState), (_a = {}, _a[id] = value, _a));
53
+ self.disableState = state;
42
54
  }
43
55
  }); });
44
56
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -186,7 +186,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
186
186
  expandedRows: import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>;
187
187
  primaryField: import("mobx-state-tree").IType<string | undefined, string, string>;
188
188
  orderBy: import("mobx-state-tree").IType<string | undefined, string, string>;
189
- orderDir: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ITypeUnion<"desc" | "asc", "desc" | "asc", "desc" | "asc">, [undefined]>;
189
+ orderDir: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ITypeUnion<"" | "desc" | "asc", "" | "desc" | "asc", "" | "desc" | "asc">, [undefined]>;
190
190
  draggable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
191
191
  dragging: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
192
192
  selectable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -9939,7 +9939,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
9939
9939
  toggleExpanded: (row: IRow) => void;
9940
9940
  collapseAllAtDepth: (depth: number) => void;
9941
9941
  clear: () => void;
9942
- setOrderByInfo: (key: string, direction: 'asc' | 'desc') => void;
9942
+ setOrderByInfo: (key: string, direction: 'asc' | 'desc' | '') => void;
9943
9943
  reset: () => void;
9944
9944
  toggleDragging: () => void;
9945
9945
  stopDragging: () => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -219,7 +219,7 @@ var TableStore = iRenderer.iRendererStore
219
219
  expandedRows: mobxStateTree.types.array(mobxStateTree.types.string),
220
220
  primaryField: 'id',
221
221
  orderBy: '',
222
- orderDir: mobxStateTree.types.optional(mobxStateTree.types.union(mobxStateTree.types.literal('asc'), mobxStateTree.types.literal('desc')), 'asc'),
222
+ orderDir: mobxStateTree.types.optional(mobxStateTree.types.union(mobxStateTree.types.literal('asc'), mobxStateTree.types.literal('desc'), mobxStateTree.types.literal('')), 'asc'),
223
223
  draggable: false,
224
224
  dragging: false,
225
225
  selectable: false,
@@ -385,10 +385,6 @@ var TableStore = iRenderer.iRendererStore
385
385
  has: [columns[0]]
386
386
  }
387
387
  ];
388
- // 如果是勾选栏,让它和下一列合并。
389
- if (columns[0].type === '__checkme' && columns[1]) {
390
- groups[0].label = columns[1].groupName;
391
- }
392
388
  // 用户是否启用了 groupName
393
389
  var hasGroupName = columns.some(function (column) { return column.groupName; });
394
390
  for (var i = 1; i < len; i++) {
@@ -694,8 +690,7 @@ var TableStore = iRenderer.iRendererStore
694
690
  ? 1
695
691
  : 0);
696
692
  var keys = [];
697
- var len = columns.length;
698
- for (var i = 0; i < len; i++) {
693
+ for (var i = 0; i < maxCount; i++) {
699
694
  var column = columns[i];
700
695
  // maxCount 可能比实际配置的 columns 还有多。
701
696
  if (!column) {
@@ -968,7 +963,7 @@ var TableStore = iRenderer.iRendererStore
968
963
  }
969
964
  function setOrderByInfo(key, direction) {
970
965
  self.orderBy = key;
971
- self.orderDir = direction;
966
+ self.orderDir = key ? direction : '';
972
967
  }
973
968
  function reset() {
974
969
  self.rows.forEach(function (item) { return item.reset(); });
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/lib/types.d.ts CHANGED
@@ -63,7 +63,7 @@ export interface BaseApiObject {
63
63
  /**
64
64
  * API 发送类型
65
65
  */
66
- method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp';
66
+ method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp' | 'js';
67
67
  /**
68
68
  * API 发送目标地址
69
69
  */
@@ -195,7 +195,7 @@ export interface fetcherResult {
195
195
  headers: object;
196
196
  }
197
197
  export interface fetchOptions {
198
- method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
198
+ method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp' | 'js';
199
199
  successMessage?: string;
200
200
  errorMessage?: string;
201
201
  autoAppend?: boolean;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -71,11 +71,7 @@ var DataSchema = /** @class */ (function () {
71
71
  };
72
72
  DataSchema.prototype.getScope = function (idOrScope) {
73
73
  var id = typeof idOrScope === 'string' ? idOrScope : idOrScope.id;
74
- var scope = this.idMap[id];
75
- if (!scope) {
76
- throw new Error('scope not found!');
77
- }
78
- return scope;
74
+ return this.idMap[id];
79
75
  };
80
76
  DataSchema.prototype.switchToRoot = function () {
81
77
  this.current = this.root;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -15,7 +15,14 @@ export declare function str2AsyncFunction(contents: string, ...args: Array<strin
15
15
  export declare function responseAdaptor(ret: fetcherResult, api: ApiObject): Payload;
16
16
  export declare function wrapFetcher(fn: (config: fetcherConfig) => Promise<fetcherResult>, tracker?: (eventTrack: EventTrack, data: any) => void): (api: Api, data: object, options?: object) => Promise<Payload | void>;
17
17
  export declare function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject): Promise<Payload>;
18
+ /**
19
+ * 请求远程 js 文件然后 new Function 执行,用于 schemaApi 支持 JavaScript
20
+ * @param api
21
+ * @returns
22
+ */
23
+ export declare function jsFetcher(fetcher: (config: fetcherConfig) => Promise<fetcherResult>, api: ApiObject): Promise<fetcherResult>;
18
24
  export declare function jsonpFetcher(api: ApiObject): Promise<fetcherResult>;
25
+ export declare function isApiOutdatedWithData(prevApi: Api | undefined, nextApi: Api | undefined, prevData: any, nextData: any): nextApi is Api;
19
26
  export declare function isApiOutdated(prevApi: Api | undefined, nextApi: Api | undefined, prevData: any, nextData: any): nextApi is Api;
20
27
  export declare function isValidApi(api: string): boolean | "";
21
28
  export declare function isEffectiveApi(api?: Api, data?: any, initFetch?: boolean, initFetchOn?: string): api is Api;
package/lib/utils/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -26,7 +26,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
26
26
  var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
27
27
  var isPlainObject__default = /*#__PURE__*/_interopDefaultLegacy(isPlainObject);
28
28
 
29
- var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head|jsonp):/i;
29
+ var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head|jsonp|js):/i;
30
30
  var apiCaches = [];
31
31
  var isIE = !!document.documentMode;
32
32
  function normalizeApi(api, defaultMethod) {
@@ -132,7 +132,7 @@ function buildApi(api, data, options) {
132
132
  api.body = api.data = object.cloneObject(data);
133
133
  }
134
134
  // get 类请求,把 data 附带到 url 上。
135
- if (api.method === 'get' || api.method === 'jsonp') {
135
+ if (api.method === 'get' || api.method === 'jsonp' || api.method === 'js') {
136
136
  if (!api.data &&
137
137
  ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)) {
138
138
  api.query = api.data = data;
@@ -305,7 +305,7 @@ function responseAdaptor(ret, api) {
305
305
  }
306
306
  function wrapFetcher(fn, tracker) {
307
307
  return function (api, data, options) {
308
- var _a, _b;
308
+ var _a, _b, _c;
309
309
  api = buildApi(api, data, options);
310
310
  if (api.requestAdaptor) {
311
311
  debug.debug('api', 'before requestAdaptor', api);
@@ -341,6 +341,9 @@ function wrapFetcher(fn, tracker) {
341
341
  if (((_a = api.method) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === 'jsonp') {
342
342
  return wrapAdaptor(jsonpFetcher(api), api);
343
343
  }
344
+ if (((_b = api.method) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase()) === 'js') {
345
+ return wrapAdaptor(jsFetcher(fn, api), api);
346
+ }
344
347
  if (typeof api.cache === 'number' && api.cache > 0) {
345
348
  var apiCache = getApiCache(api);
346
349
  return wrapAdaptor(apiCache
@@ -348,7 +351,7 @@ function wrapFetcher(fn, tracker) {
348
351
  : setApiCache(api, fn(api)), api);
349
352
  }
350
353
  // IE 下 get 请求会被缓存,所以自动加个时间戳
351
- if (isIE && api && ((_b = api.method) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase()) === 'get') {
354
+ if (isIE && api && ((_c = api.method) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) === 'get') {
352
355
  var timeStamp = "_t=".concat(Date.now());
353
356
  if (api.url.indexOf('?') === -1) {
354
357
  api.url = api.url + "?".concat(timeStamp);
@@ -386,6 +389,34 @@ function wrapAdaptor(promise, api) {
386
389
  .then(function (ret) { return responseAdaptor(ret, api); })
387
390
  : promise.then(function (ret) { return responseAdaptor(ret, api); });
388
391
  }
392
+ /**
393
+ * 请求远程 js 文件然后 new Function 执行,用于 schemaApi 支持 JavaScript
394
+ * @param api
395
+ * @returns
396
+ */
397
+ function jsFetcher(fetcher, api) {
398
+ return new Promise(function (resolve, reject) {
399
+ // 大概也不会有人用 post
400
+ api.method = 'get';
401
+ fetcher(api).then(function (response) {
402
+ if (typeof response.data === 'string') {
403
+ var result = new Function('api', response.data)(api);
404
+ resolve({
405
+ status: 200,
406
+ headers: {},
407
+ data: {
408
+ status: 0,
409
+ msg: '',
410
+ data: result
411
+ }
412
+ });
413
+ }
414
+ else {
415
+ reject('must return string: ' + response.data);
416
+ }
417
+ });
418
+ });
419
+ }
389
420
  function jsonpFetcher(api) {
390
421
  return new Promise(function (resolve, reject) {
391
422
  var _a;
@@ -437,6 +468,16 @@ function jsonpFetcher(api) {
437
468
  document.head.appendChild(script);
438
469
  });
439
470
  }
471
+ // 避免在 isApiOutdated 中修改,减少影响
472
+ function isApiOutdatedWithData(prevApi, nextApi, prevData, nextData) {
473
+ if (!nextApi) {
474
+ return false;
475
+ }
476
+ else if (!prevApi) {
477
+ return true;
478
+ }
479
+ return helper.isObjectShallowModified(buildApi(normalizeApi(prevApi), prevData), buildApi(normalizeApi(nextApi), nextData));
480
+ }
440
481
  function isApiOutdated(prevApi, nextApi, prevData, nextData) {
441
482
  var _a;
442
483
  if (!nextApi) {
@@ -545,9 +586,11 @@ exports.buildApi = buildApi;
545
586
  exports.clearApiCache = clearApiCache;
546
587
  exports.getApiCache = getApiCache;
547
588
  exports.isApiOutdated = isApiOutdated;
589
+ exports.isApiOutdatedWithData = isApiOutdatedWithData;
548
590
  exports.isEffectiveApi = isEffectiveApi;
549
591
  exports.isSameApi = isSameApi;
550
592
  exports.isValidApi = isValidApi;
593
+ exports.jsFetcher = jsFetcher;
551
594
  exports.jsonpFetcher = jsonpFetcher;
552
595
  exports.normalizeApi = normalizeApi;
553
596
  exports.normalizeApiResponseData = normalizeApiResponseData;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,3 +1,9 @@
1
1
  import { PlainObject } from '../types';
2
2
  export declare function resolveMapping(value: any, data: PlainObject, defaultFilter?: string): any;
3
+ /**
4
+ * 遍历对象,对每个字符串 key 进行数据映射
5
+ * @param value 要映射的对象
6
+ * @param data 数据上下文
7
+ */
8
+ export declare function resolveMappingObject(value: PlainObject, data: PlainObject): PlainObject;
3
9
  export declare function dataMapping(to: any, from?: PlainObject, ignoreFunction?: boolean | ((key: string, value: any) => boolean), convertKeyToPath?: boolean): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -26,6 +26,20 @@ function resolveMapping(value, data, defaultFilter) {
26
26
  ? tokenize.tokenize(value, data, defaultFilter)
27
27
  : value;
28
28
  }
29
+ /**
30
+ * 遍历对象,对每个字符串 key 进行数据映射
31
+ * @param value 要映射的对象
32
+ * @param data 数据上下文
33
+ */
34
+ function resolveMappingObject(value, data) {
35
+ for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {
36
+ var key = _a[_i];
37
+ if (typeof value[key] === 'string') {
38
+ value[key] = resolveMapping(value[key], data);
39
+ }
40
+ }
41
+ return value;
42
+ }
29
43
  function dataMapping(to, from, ignoreFunction, convertKeyToPath) {
30
44
  if (from === void 0) { from = {}; }
31
45
  if (ignoreFunction === void 0) { ignoreFunction = false; }
@@ -134,3 +148,4 @@ function dataMapping(to, from, ignoreFunction, convertKeyToPath) {
134
148
 
135
149
  exports.dataMapping = dataMapping;
136
150
  exports.resolveMapping = resolveMapping;
151
+ exports.resolveMappingObject = resolveMappingObject;
package/lib/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -79,7 +79,13 @@ export declare function makeHorizontalDeeper(horizontal: {
79
79
  export declare function promisify<T extends Function>(fn: T): (...args: Array<any>) => Promise<any> & {
80
80
  raw: T;
81
81
  };
82
- export declare function getScrollParent(node: HTMLElement): HTMLElement | null;
82
+ /**
83
+ *
84
+ * @param node 当前元素
85
+ * @param compute 自定义计算,找到的父元素是否满足特殊场景
86
+ * @returns 返回控制当前元素滚动的父元素
87
+ */
88
+ export declare function getScrollParent(node: HTMLElement, compute?: (parent: HTMLElement) => boolean): HTMLElement | null;
83
89
  /**
84
90
  * Deep diff between two object, using lodash
85
91
  * @param {Object} object Object compared
@@ -184,6 +190,26 @@ export declare function someTree<T extends TreeItem>(tree: Array<T>, iterator: (
184
190
  */
185
191
  export declare function flattenTree<T extends TreeItem>(tree: Array<T>): Array<T>;
186
192
  export declare function flattenTree<T extends TreeItem, U>(tree: Array<T>, mapper: (value: T, index: number) => U): Array<U>;
193
+ /**
194
+ * 将树打平变成一维数组,用法和flattenTree类似,区别是结果仅保留叶节点
195
+ *
196
+ * 比如:
197
+ *
198
+ * flattenTreeWithLeafNodes([
199
+ * {
200
+ * id: 1,
201
+ * children: [
202
+ * { id: 2 },
203
+ * { id: 3 },
204
+ * ]
205
+ * }
206
+ * ], item => item.id); // 输出为 [2, 3]
207
+ *
208
+ * @param tree
209
+ * @param mapper
210
+ */
211
+ export declare function flattenTreeWithLeafNodes<T extends TreeItem>(tree: Array<T>): Array<T>;
212
+ export declare function flattenTreeWithLeafNodes<T extends TreeItem, U>(tree: Array<T>, mapper: (value: T, index: number) => U): Array<U>;
187
213
  /**
188
214
  * 操作树,遵循 imutable, 每次返回一个新的树。
189
215
  * 类似数组的 splice 不同的地方这个方法不修改原始数据,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -343,7 +343,14 @@ function promisify(fn) {
343
343
  promisified.raw = fn;
344
344
  return promisified;
345
345
  }
346
- function getScrollParent(node) {
346
+ /**
347
+ *
348
+ * @param node 当前元素
349
+ * @param compute 自定义计算,找到的父元素是否满足特殊场景
350
+ * @returns 返回控制当前元素滚动的父元素
351
+ */
352
+ function getScrollParent(node, compute) {
353
+ if (compute === void 0) { compute = function () { return true; }; }
347
354
  if (node == null) {
348
355
  return null;
349
356
  }
@@ -354,10 +361,10 @@ function getScrollParent(node) {
354
361
  var text = style.getPropertyValue('overflow') +
355
362
  style.getPropertyValue('overflow-x') +
356
363
  style.getPropertyValue('overflow-y');
357
- if (/auto|scroll/.test(text) || node.nodeName === 'BODY') {
364
+ if (node.nodeName === 'BODY' || (/auto|scroll/.test(text) && compute(node))) {
358
365
  return node;
359
366
  }
360
- return getScrollParent(node.parentNode);
367
+ return getScrollParent(node.parentNode, compute);
361
368
  }
362
369
  /**
363
370
  * Deep diff between two object, using lodash
@@ -709,6 +716,15 @@ function flattenTree(tree, mapper) {
709
716
  });
710
717
  return flattened;
711
718
  }
719
+ function flattenTreeWithLeafNodes(tree, mapper) {
720
+ var flattened = [];
721
+ eachTree(tree, function (item, index) {
722
+ if (!item.hasOwnProperty('children')) {
723
+ flattened.push(mapper ? mapper(item, index) : item);
724
+ }
725
+ });
726
+ return flattened;
727
+ }
712
728
  /**
713
729
  * 操作树,遵循 imutable, 每次返回一个新的树。
714
730
  * 类似数组的 splice 不同的地方这个方法不修改原始数据,
@@ -862,7 +878,8 @@ function qsparse(data, options) {
862
878
  if (options === void 0) { options = {
863
879
  arrayFormat: 'indices',
864
880
  encodeValuesOnly: true,
865
- depth: 1000 // 默认是 5, 所以condition-builder只要来个条件组就会导致报错
881
+ depth: 1000,
882
+ arrayLimit: 1000 /** array元素数量超出限制,会被自动转化为object格式,默认值1000 */
866
883
  }; }
867
884
  return qs__default["default"].parse(data, options);
868
885
  }
@@ -1238,6 +1255,7 @@ exports.findObjectsWithKey = findObjectsWithKey;
1238
1255
  exports.findTree = findTree;
1239
1256
  exports.findTreeIndex = findTreeIndex;
1240
1257
  exports.flattenTree = flattenTree;
1258
+ exports.flattenTreeWithLeafNodes = flattenTreeWithLeafNodes;
1241
1259
  exports.getLevelFromClassName = getLevelFromClassName;
1242
1260
  exports.getPropValue = getPropValue;
1243
1261
  exports.getRange = getRange;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/lib/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.0
2
+ * amis-core v2.1.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5