amis-core 2.9.0 → 3.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 (331) hide show
  1. package/esm/Root.d.ts +89 -4
  2. package/esm/Root.js +15 -4
  3. package/esm/RootRenderer.d.ts +3 -1
  4. package/esm/RootRenderer.js +9 -3
  5. package/esm/SchemaRenderer.d.ts +4 -2
  6. package/esm/SchemaRenderer.js +32 -24
  7. package/esm/Scoped.d.ts +8 -0
  8. package/esm/Scoped.js +20 -5
  9. package/esm/StatusScoped.d.ts +58 -0
  10. package/esm/StatusScoped.js +54 -0
  11. package/esm/WithRootStore.d.ts +2 -2
  12. package/esm/WithRootStore.js +1 -1
  13. package/esm/WithStore.js +6 -2
  14. package/esm/actions/Action.d.ts +1 -0
  15. package/esm/actions/Action.js +19 -5
  16. package/esm/actions/AjaxAction.js +1 -1
  17. package/esm/actions/BreakAction.js +1 -1
  18. package/esm/actions/BroadcastAction.js +1 -1
  19. package/esm/actions/CmptAction.js +8 -7
  20. package/esm/actions/ContinueAction.js +1 -1
  21. package/esm/actions/CopyAction.js +1 -1
  22. package/esm/actions/CustomAction.js +4 -4
  23. package/esm/actions/DialogAction.d.ts +16 -2
  24. package/esm/actions/DialogAction.js +23 -7
  25. package/esm/actions/DrawerAction.js +1 -1
  26. package/esm/actions/EmailAction.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/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +1 -1
  33. package/esm/components/CustomStyle.d.ts +13 -0
  34. package/esm/components/CustomStyle.js +18 -0
  35. package/esm/components/LazyComponent.d.ts +1 -1
  36. package/esm/components/LazyComponent.js +1 -1
  37. package/esm/components/Overlay.d.ts +3 -3
  38. package/esm/components/Overlay.js +1 -1
  39. package/esm/components/PopOver.d.ts +2 -2
  40. package/esm/components/PopOver.js +1 -1
  41. package/esm/env.d.ts +10 -2
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -5
  44. package/esm/factory.d.ts +5 -3
  45. package/esm/factory.js +3 -3
  46. package/esm/index.d.ts +11 -4
  47. package/esm/index.js +55 -33
  48. package/esm/locale.d.ts +2 -2
  49. package/esm/locale.js +10 -3
  50. package/esm/renderers/Form.d.ts +3 -2
  51. package/esm/renderers/Form.js +216 -180
  52. package/esm/renderers/Item.d.ts +55 -41
  53. package/esm/renderers/Item.js +30 -19
  54. package/esm/renderers/Options.js +11 -4
  55. package/esm/renderers/Placeholder.js +1 -1
  56. package/esm/renderers/builtin.js +1 -1
  57. package/esm/renderers/register.js +1 -1
  58. package/esm/renderers/wrapControl.d.ts +2 -2
  59. package/esm/renderers/wrapControl.js +13 -16
  60. package/esm/store/app.d.ts +1 -0
  61. package/esm/store/app.js +1 -1
  62. package/esm/store/combo.d.ts +3 -0
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.d.ts +2 -0
  65. package/esm/store/crud.js +31 -9
  66. package/esm/store/form.d.ts +1 -0
  67. package/esm/store/form.js +10 -4
  68. package/esm/store/formItem.js +2 -2
  69. package/esm/store/iRenderer.d.ts +1 -0
  70. package/esm/store/iRenderer.js +54 -13
  71. package/esm/store/index.js +1 -1
  72. package/esm/store/list.d.ts +1 -0
  73. package/esm/store/list.js +7 -3
  74. package/esm/store/manager.js +1 -1
  75. package/esm/store/modal.d.ts +1 -0
  76. package/esm/store/modal.js +1 -1
  77. package/esm/store/node.js +1 -1
  78. package/esm/store/pagination.d.ts +1 -0
  79. package/esm/store/pagination.js +2 -2
  80. package/esm/store/root.d.ts +4 -6
  81. package/esm/store/root.js +53 -24
  82. package/esm/store/service.d.ts +1 -0
  83. package/esm/store/service.js +1 -1
  84. package/esm/store/status.d.ts +12 -0
  85. package/esm/store/status.js +38 -0
  86. package/esm/store/table.d.ts +28 -23
  87. package/esm/store/table.js +26 -5
  88. package/esm/store/table2.d.ts +7 -6
  89. package/esm/store/table2.js +27 -23
  90. package/esm/theme.d.ts +1 -1
  91. package/esm/theme.js +1 -1
  92. package/esm/types.d.ts +7 -1
  93. package/esm/utils/Animation.js +1 -1
  94. package/esm/utils/ColorScale.js +1 -1
  95. package/esm/utils/DataSchema.js +1 -1
  96. package/esm/utils/DataScope.d.ts +3 -5
  97. package/esm/utils/DataScope.js +88 -31
  98. package/esm/utils/RootClose.js +1 -1
  99. package/esm/utils/SimpleMap.js +1 -1
  100. package/esm/utils/api.js +14 -5
  101. package/esm/utils/attachmentAdpator.js +2 -2
  102. package/esm/utils/autobind.js +1 -1
  103. package/esm/utils/columnsSplit.js +1 -1
  104. package/esm/utils/dataMapping.js +1 -1
  105. package/esm/utils/date.d.ts +7 -0
  106. package/esm/utils/date.js +34 -2
  107. package/esm/utils/debug.js +4 -4
  108. package/esm/utils/decodeEntity.js +1 -1
  109. package/esm/utils/dom.d.ts +3 -0
  110. package/esm/utils/dom.js +47 -10
  111. package/esm/utils/errors.js +1 -1
  112. package/esm/utils/escapeHtml.js +1 -1
  113. package/esm/utils/filter-schema.js +1 -1
  114. package/esm/utils/filter.js +1 -1
  115. package/esm/utils/formatDuration.js +1 -1
  116. package/esm/utils/formula.js +2 -2
  117. package/esm/utils/getVariable.js +1 -1
  118. package/esm/utils/grammar.js +3 -3
  119. package/esm/utils/handleAction.js +1 -1
  120. package/esm/utils/helper.d.ts +9 -2
  121. package/esm/utils/helper.js +52 -20
  122. package/esm/utils/highlight.js +1 -1
  123. package/esm/utils/icon.d.ts +6 -1
  124. package/esm/utils/icon.js +6 -1
  125. package/esm/utils/image.js +1 -1
  126. package/esm/utils/isPureVariable.js +3 -3
  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/memoryParse.d.ts +17 -0
  131. package/esm/utils/memoryParse.js +26 -0
  132. package/esm/utils/normalizeLink.js +1 -1
  133. package/esm/utils/normalizeOptions.js +4 -2
  134. package/esm/utils/object.d.ts +2 -0
  135. package/esm/utils/object.js +27 -2
  136. package/esm/utils/offset.js +1 -1
  137. package/esm/utils/offsetParent.js +1 -1
  138. package/esm/utils/optionValueCompare.js +1 -1
  139. package/esm/utils/position.js +1 -1
  140. package/esm/utils/prettyBytes.js +1 -1
  141. package/esm/utils/renderer-event.js +35 -32
  142. package/esm/utils/replaceText.js +1 -1
  143. package/esm/utils/resize-sensor.js +1 -1
  144. package/esm/utils/resolveCondition.d.ts +1 -0
  145. package/esm/utils/resolveCondition.js +19 -4
  146. package/esm/utils/resolveVariable.js +4 -3
  147. package/esm/utils/resolveVariableAndFilter.js +1 -1
  148. package/esm/utils/resolveVariableAndFilterForAsync.d.ts +6 -1
  149. package/esm/utils/resolveVariableAndFilterForAsync.js +23 -5
  150. package/esm/utils/scrollPosition.js +1 -1
  151. package/esm/utils/string2regExp.js +1 -1
  152. package/esm/utils/stripNumber.js +1 -1
  153. package/esm/utils/style-helper.d.ts +12 -4
  154. package/esm/utils/style-helper.js +96 -19
  155. package/esm/utils/style.js +2 -2
  156. package/esm/utils/toNumber.js +1 -1
  157. package/esm/utils/tokenize.js +1 -1
  158. package/esm/utils/tpl-builtin.d.ts +2 -1
  159. package/esm/utils/tpl-builtin.js +19 -2
  160. package/esm/utils/tpl-lodash.js +3 -2
  161. package/esm/utils/tpl.d.ts +2 -0
  162. package/esm/utils/tpl.js +24 -2
  163. package/esm/utils/uncontrollable.js +1 -1
  164. package/esm/utils/validations.d.ts +4 -1
  165. package/esm/utils/validations.js +27 -12
  166. package/lib/Root.d.ts +89 -4
  167. package/lib/Root.js +15 -4
  168. package/lib/RootRenderer.d.ts +3 -1
  169. package/lib/RootRenderer.js +8 -2
  170. package/lib/SchemaRenderer.d.ts +4 -2
  171. package/lib/SchemaRenderer.js +32 -23
  172. package/lib/Scoped.d.ts +8 -0
  173. package/lib/Scoped.js +20 -4
  174. package/lib/StatusScoped.d.ts +58 -0
  175. package/lib/StatusScoped.js +63 -0
  176. package/lib/WithRootStore.d.ts +2 -2
  177. package/lib/WithRootStore.js +1 -1
  178. package/lib/WithStore.js +6 -2
  179. package/lib/actions/Action.d.ts +1 -0
  180. package/lib/actions/Action.js +19 -5
  181. package/lib/actions/AjaxAction.js +1 -1
  182. package/lib/actions/BreakAction.js +1 -1
  183. package/lib/actions/BroadcastAction.js +1 -1
  184. package/lib/actions/CmptAction.js +8 -7
  185. package/lib/actions/ContinueAction.js +1 -1
  186. package/lib/actions/CopyAction.js +1 -1
  187. package/lib/actions/CustomAction.js +4 -4
  188. package/lib/actions/DialogAction.d.ts +16 -2
  189. package/lib/actions/DialogAction.js +23 -7
  190. package/lib/actions/DrawerAction.js +1 -1
  191. package/lib/actions/EmailAction.js +1 -1
  192. package/lib/actions/LinkAction.js +1 -1
  193. package/lib/actions/LoopAction.js +1 -1
  194. package/lib/actions/PageAction.js +1 -1
  195. package/lib/actions/ParallelAction.js +1 -1
  196. package/lib/actions/SwitchAction.js +1 -1
  197. package/lib/actions/ToastAction.js +1 -1
  198. package/lib/components/CustomStyle.d.ts +13 -0
  199. package/lib/components/CustomStyle.js +22 -0
  200. package/lib/components/LazyComponent.d.ts +1 -1
  201. package/lib/components/LazyComponent.js +1 -1
  202. package/lib/components/Overlay.d.ts +3 -3
  203. package/lib/components/Overlay.js +1 -1
  204. package/lib/components/PopOver.d.ts +2 -2
  205. package/lib/components/PopOver.js +1 -1
  206. package/lib/env.d.ts +10 -2
  207. package/lib/env.js +1 -1
  208. package/lib/envOverwrite.js +1 -5
  209. package/lib/factory.d.ts +5 -3
  210. package/lib/factory.js +3 -3
  211. package/lib/index.d.ts +11 -4
  212. package/lib/index.js +61 -23
  213. package/lib/locale.d.ts +2 -2
  214. package/lib/locale.js +10 -3
  215. package/lib/renderers/Form.d.ts +3 -2
  216. package/lib/renderers/Form.js +215 -179
  217. package/lib/renderers/Item.d.ts +55 -41
  218. package/lib/renderers/Item.js +30 -19
  219. package/lib/renderers/Options.js +11 -4
  220. package/lib/renderers/Placeholder.js +1 -1
  221. package/lib/renderers/builtin.js +1 -1
  222. package/lib/renderers/register.js +1 -1
  223. package/lib/renderers/wrapControl.d.ts +2 -2
  224. package/lib/renderers/wrapControl.js +12 -15
  225. package/lib/store/app.d.ts +1 -0
  226. package/lib/store/app.js +1 -1
  227. package/lib/store/combo.d.ts +3 -0
  228. package/lib/store/combo.js +1 -1
  229. package/lib/store/crud.d.ts +2 -0
  230. package/lib/store/crud.js +31 -9
  231. package/lib/store/form.d.ts +1 -0
  232. package/lib/store/form.js +10 -4
  233. package/lib/store/formItem.js +2 -2
  234. package/lib/store/iRenderer.d.ts +1 -0
  235. package/lib/store/iRenderer.js +53 -12
  236. package/lib/store/index.js +1 -1
  237. package/lib/store/list.d.ts +1 -0
  238. package/lib/store/list.js +7 -3
  239. package/lib/store/manager.js +1 -1
  240. package/lib/store/modal.d.ts +1 -0
  241. package/lib/store/modal.js +1 -1
  242. package/lib/store/node.js +1 -1
  243. package/lib/store/pagination.d.ts +1 -0
  244. package/lib/store/pagination.js +2 -2
  245. package/lib/store/root.d.ts +4 -6
  246. package/lib/store/root.js +52 -23
  247. package/lib/store/service.d.ts +1 -0
  248. package/lib/store/service.js +1 -1
  249. package/lib/store/status.d.ts +12 -0
  250. package/lib/store/status.js +42 -0
  251. package/lib/store/table.d.ts +28 -23
  252. package/lib/store/table.js +26 -5
  253. package/lib/store/table2.d.ts +7 -6
  254. package/lib/store/table2.js +27 -23
  255. package/lib/theme.d.ts +1 -1
  256. package/lib/theme.js +1 -1
  257. package/lib/types.d.ts +7 -1
  258. package/lib/utils/Animation.js +1 -1
  259. package/lib/utils/ColorScale.js +1 -1
  260. package/lib/utils/DataSchema.js +1 -1
  261. package/lib/utils/DataScope.d.ts +3 -5
  262. package/lib/utils/DataScope.js +86 -29
  263. package/lib/utils/RootClose.js +1 -1
  264. package/lib/utils/SimpleMap.js +1 -1
  265. package/lib/utils/api.js +13 -4
  266. package/lib/utils/attachmentAdpator.js +2 -2
  267. package/lib/utils/autobind.js +1 -1
  268. package/lib/utils/columnsSplit.js +1 -1
  269. package/lib/utils/dataMapping.js +1 -1
  270. package/lib/utils/date.d.ts +7 -0
  271. package/lib/utils/date.js +34 -1
  272. package/lib/utils/debug.js +4 -4
  273. package/lib/utils/decodeEntity.js +1 -1
  274. package/lib/utils/dom.d.ts +3 -0
  275. package/lib/utils/dom.js +48 -9
  276. package/lib/utils/errors.js +1 -1
  277. package/lib/utils/escapeHtml.js +1 -1
  278. package/lib/utils/filter-schema.js +1 -1
  279. package/lib/utils/filter.js +1 -1
  280. package/lib/utils/formatDuration.js +1 -1
  281. package/lib/utils/formula.js +2 -2
  282. package/lib/utils/getVariable.js +1 -1
  283. package/lib/utils/grammar.js +3 -3
  284. package/lib/utils/handleAction.js +1 -1
  285. package/lib/utils/helper.d.ts +9 -2
  286. package/lib/utils/helper.js +53 -19
  287. package/lib/utils/highlight.js +1 -1
  288. package/lib/utils/icon.d.ts +6 -1
  289. package/lib/utils/icon.js +6 -1
  290. package/lib/utils/image.js +1 -1
  291. package/lib/utils/isPureVariable.js +3 -3
  292. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  293. package/lib/utils/keyToPath.js +1 -1
  294. package/lib/utils/makeSorter.js +1 -1
  295. package/lib/utils/memoryParse.d.ts +17 -0
  296. package/lib/utils/memoryParse.js +30 -0
  297. package/lib/utils/normalizeLink.js +1 -1
  298. package/lib/utils/normalizeOptions.js +4 -2
  299. package/lib/utils/object.d.ts +2 -0
  300. package/lib/utils/object.js +28 -1
  301. package/lib/utils/offset.js +1 -1
  302. package/lib/utils/offsetParent.js +1 -1
  303. package/lib/utils/optionValueCompare.js +1 -1
  304. package/lib/utils/position.js +1 -1
  305. package/lib/utils/prettyBytes.js +1 -1
  306. package/lib/utils/renderer-event.js +35 -32
  307. package/lib/utils/replaceText.js +1 -1
  308. package/lib/utils/resize-sensor.js +1 -1
  309. package/lib/utils/resolveCondition.d.ts +1 -0
  310. package/lib/utils/resolveCondition.js +19 -3
  311. package/lib/utils/resolveVariable.js +3 -2
  312. package/lib/utils/resolveVariableAndFilter.js +1 -1
  313. package/lib/utils/resolveVariableAndFilterForAsync.d.ts +6 -1
  314. package/lib/utils/resolveVariableAndFilterForAsync.js +22 -3
  315. package/lib/utils/scrollPosition.js +1 -1
  316. package/lib/utils/string2regExp.js +1 -1
  317. package/lib/utils/stripNumber.js +1 -1
  318. package/lib/utils/style-helper.d.ts +12 -4
  319. package/lib/utils/style-helper.js +101 -18
  320. package/lib/utils/style.js +2 -2
  321. package/lib/utils/toNumber.js +1 -1
  322. package/lib/utils/tokenize.js +1 -1
  323. package/lib/utils/tpl-builtin.d.ts +2 -1
  324. package/lib/utils/tpl-builtin.js +19 -2
  325. package/lib/utils/tpl-lodash.js +3 -2
  326. package/lib/utils/tpl.d.ts +2 -0
  327. package/lib/utils/tpl.js +24 -1
  328. package/lib/utils/uncontrollable.js +1 -1
  329. package/lib/utils/validations.d.ts +4 -1
  330. package/lib/utils/validations.js +27 -12
  331. package/package.json +3 -3
package/esm/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -114,9 +114,25 @@ var CRUDStore = ServiceStore.named('CRUDStore')
114
114
  // value可能为null、undefined、''、0
115
115
  value = getVariable(self.query, key);
116
116
  if (value != null) {
117
- items_1 = matchSorter(items_1, value, {
118
- keys: [key]
119
- });
117
+ if (Array.isArray(value)) {
118
+ if (value.length > 0) {
119
+ var arr_1 = __spreadArray([], __read(items_1), false);
120
+ var arrItems_1 = [];
121
+ value.forEach(function (item) {
122
+ arrItems_1 = __spreadArray(__spreadArray([], __read(arrItems_1), false), __read(matchSorter(arr_1, item, {
123
+ keys: [key]
124
+ })), false);
125
+ });
126
+ items_1 = items_1.filter(function (item) {
127
+ return arrItems_1.find(function (a) { return a === item; });
128
+ });
129
+ }
130
+ }
131
+ else {
132
+ items_1 = matchSorter(items_1, value, {
133
+ keys: [key]
134
+ });
135
+ }
120
136
  }
121
137
  }
122
138
  });
@@ -218,14 +234,16 @@ var CRUDStore = ServiceStore.named('CRUDStore')
218
234
  (value = getVariable(self.query, key))) {
219
235
  if (Array.isArray(value)) {
220
236
  if (value.length > 0) {
221
- var arr_1 = __spreadArray([], __read(filteredItems_1), false);
222
- var arrItems_1 = [];
237
+ var arr_2 = __spreadArray([], __read(filteredItems_1), false);
238
+ var arrItems_2 = [];
223
239
  value.forEach(function (item) {
224
- arrItems_1 = __spreadArray(__spreadArray([], __read(arrItems_1), false), __read(matchSorter(arr_1, item, {
240
+ arrItems_2 = __spreadArray(__spreadArray([], __read(arrItems_2), false), __read(matchSorter(arr_2, item, {
225
241
  keys: [key]
226
242
  })), false);
227
243
  });
228
- filteredItems_1 = filteredItems_1.filter(function (item) { return arrItems_1.find(function (a) { return a === item; }); });
244
+ filteredItems_1 = filteredItems_1.filter(function (item) {
245
+ return arrItems_2.find(function (a) { return a === item; });
246
+ });
229
247
  }
230
248
  }
231
249
  else {
@@ -462,6 +480,9 @@ var CRUDStore = ServiceStore.named('CRUDStore')
462
480
  var updateColumns = function (columns) {
463
481
  self.columns = columns;
464
482
  };
483
+ var updateTotal = function (total) {
484
+ self.total = total || 0;
485
+ };
465
486
  return {
466
487
  getData: getData,
467
488
  updateSelectData: updateSelectData,
@@ -479,7 +500,8 @@ var CRUDStore = ServiceStore.named('CRUDStore')
479
500
  setInnerModalOpened: setInnerModalOpened,
480
501
  initFromScope: initFromScope,
481
502
  exportAsCSV: exportAsCSV,
482
- updateColumns: updateColumns
503
+ updateColumns: updateColumns,
504
+ updateTotal: updateTotal
483
505
  };
484
506
  });
485
507
 
@@ -54,6 +54,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
54
54
  getValueByName(name: string, canAccessSuper?: boolean): any;
55
55
  getPristineValueByName(name: string): any;
56
56
  } & {
57
+ setTopStore(value: any): void;
57
58
  initData(data?: object, skipSetPristine?: boolean): void;
58
59
  reset(): void;
59
60
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
package/esm/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -153,7 +153,13 @@ var FormStore = ServiceStore.named('FormStore')
153
153
  function setValues(values, tag, replace) {
154
154
  self.updateData(values, tag, replace);
155
155
  // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息
156
- self.items.forEach(function (item) { return item.reset(); });
156
+ self.items.forEach(function (item) {
157
+ var value = item.value;
158
+ if (typeof value !== 'undefined' && value !== item.tmpValue) {
159
+ item.changeTmpValue(value);
160
+ }
161
+ item.reset();
162
+ });
157
163
  // 同步 options
158
164
  syncOptions();
159
165
  }
@@ -165,7 +171,7 @@ var FormStore = ServiceStore.named('FormStore')
165
171
  var prev = self.data;
166
172
  var data = cloneObject(self.data);
167
173
  if (value !== origin) {
168
- if (prev.__prev) {
174
+ if (prev.hasOwnProperty('__prev')) {
169
175
  // 基于之前的 __prev 改
170
176
  var prevData = cloneObject(prev.__prev);
171
177
  setVariable(prevData, name, origin);
@@ -209,7 +215,7 @@ var FormStore = ServiceStore.named('FormStore')
209
215
  function deleteValueByName(name) {
210
216
  var prev = self.data;
211
217
  var data = cloneObject(self.data);
212
- if (prev.__prev) {
218
+ if (prev.hasOwnProperty('__prev')) {
213
219
  // 基于之前的 __prev 改
214
220
  var prevData = cloneObject(prev.__prev);
215
221
  setVariable(prevData, name, getVariable(prev, name));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -729,7 +729,7 @@ var FormItemStore = StoreNode.named('FormItemStore')
729
729
  ? evalExpression(item.visibleOn, data) !== false
730
730
  : item.hiddenOn
731
731
  ? evalExpression(item.hiddenOn, data) !== true
732
- : item.visible !== false || item.hidden !== true;
732
+ : item.visible !== false && item.hidden !== true;
733
733
  })
734
734
  .map(function (item, index) {
735
735
  var disabled = evalExpression(item.disabledOn, data);
@@ -33,6 +33,7 @@ export declare const iRendererStore: import("mobx-state-tree").IModelType<{
33
33
  getValueByName(name: string, canAccessSuper?: boolean): any;
34
34
  getPristineValueByName(name: string): any;
35
35
  } & {
36
+ setTopStore(value: any): void;
36
37
  initData(data?: object, skipSetPristine?: boolean): void;
37
38
  reset(): void;
38
39
  updateData(data?: object, tag?: object, replace?: boolean): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -8,12 +8,41 @@ import { types } from 'mobx-state-tree';
8
8
  import '../utils/helper.js';
9
9
  import 'amis-formula';
10
10
  import 'moment';
11
- import { createObject, extendObject, cloneObject, setVariable, deleteVariable } from '../utils/object.js';
11
+ import { createObject, extendObject, cloneObject, setVariable, deleteVariable, extractObjectChain, createObjectFromChain } from '../utils/object.js';
12
12
  import { getVariable } from '../utils/getVariable.js';
13
13
  import { dataMapping } from '../utils/dataMapping.js';
14
14
  import '../utils/filter.js';
15
15
  import { SimpleMap } from '../utils/SimpleMap.js';
16
16
  import { StoreNode } from './node.js';
17
+ import '../utils/api.js';
18
+ import '../utils/ColorScale.js';
19
+ import 'react';
20
+ import 'lodash/chunk';
21
+ import '../utils/DataSchema.js';
22
+ import '../utils/DataScope.js';
23
+ import '../utils/debug.js';
24
+ import 'react-dom';
25
+ import '../utils/errors.js';
26
+ import '../utils/tpl.js';
27
+ import 'lodash/isPlainObject';
28
+ import 'classnames';
29
+ import 'lodash/isObject';
30
+ import 'lodash/isString';
31
+ import 'lodash/isBoolean';
32
+ import 'lodash';
33
+ import '../utils/image.js';
34
+ import '../actions/Action.js';
35
+ import 'lodash/debounce';
36
+ import 'lodash/cloneDeep';
37
+ import '../utils/resize-sensor.js';
38
+ import 'react-overlays/useRootClose';
39
+ import 'lodash/mapValues';
40
+ import 'lodash/camelCase';
41
+ import 'uncontrollable';
42
+ import 'hoist-non-react-statics';
43
+ import '../utils/validations.js';
44
+ import '../utils/resolveCondition.js';
45
+ import '../utils/Animation.js';
17
46
 
18
47
  var iRendererStore = StoreNode.named('iRendererStore')
19
48
  .props({
@@ -41,7 +70,11 @@ var iRendererStore = StoreNode.named('iRendererStore')
41
70
  var dialogCallbacks = new SimpleMap();
42
71
  var dialogScoped = null;
43
72
  var drawerScoped = null;
73
+ var top = null;
44
74
  return {
75
+ setTopStore: function (value) {
76
+ top = value;
77
+ },
45
78
  initData: function (data, skipSetPristine) {
46
79
  if (data === void 0) { data = {}; }
47
80
  if (skipSetPristine === void 0) { skipSetPristine = false; }
@@ -81,7 +114,7 @@ var iRendererStore = StoreNode.named('iRendererStore')
81
114
  }
82
115
  var prev = self.data;
83
116
  var data = cloneObject(self.data);
84
- if (prev.__prev) {
117
+ if (prev.hasOwnProperty('__prev')) {
85
118
  // 基于之前的 __prev 改
86
119
  var prevData = cloneObject(prev.__prev);
87
120
  setVariable(prevData, name, origin);
@@ -127,13 +160,17 @@ var iRendererStore = StoreNode.named('iRendererStore')
127
160
  self.action = action;
128
161
  },
129
162
  openDialog: function (ctx, additonal, callback, scoped) {
130
- var proto = ctx.__super ? ctx.__super : self.data;
163
+ var chain = extractObjectChain(ctx);
164
+ chain.length === 1 && chain.unshift(self.data);
131
165
  if (additonal) {
132
- proto = createObject(proto, additonal);
166
+ chain.splice(chain.length - 1, 0, additonal);
133
167
  }
134
- var data = createObject(proto, __assign({}, ctx));
168
+ var data = createObjectFromChain(chain);
135
169
  if (self.action.dialog && self.action.dialog.data) {
136
- self.dialogData = dataMapping(self.action.dialog.data, data);
170
+ self.dialogData = createObjectFromChain([
171
+ top === null || top === void 0 ? void 0 : top.context,
172
+ dataMapping(self.action.dialog.data, data)
173
+ ]);
137
174
  var clonedAction = __assign(__assign({}, self.action), { dialog: __assign({}, self.action.dialog) });
138
175
  delete clonedAction.dialog.data;
139
176
  self.action = clonedAction;
@@ -155,15 +192,19 @@ var iRendererStore = StoreNode.named('iRendererStore')
155
192
  }
156
193
  },
157
194
  openDrawer: function (ctx, additonal, callback, scoped) {
158
- var proto = ctx.__super ? ctx.__super : self.data;
195
+ var chain = extractObjectChain(ctx);
196
+ chain.length === 1 && chain.unshift(self.data);
159
197
  if (additonal) {
160
- proto = createObject(proto, additonal);
198
+ chain.splice(chain.length - 1, 0, additonal);
161
199
  }
162
- var data = createObject(proto, __assign({}, ctx));
200
+ var data = createObjectFromChain(chain);
163
201
  if (self.action.drawer.data) {
164
- self.drawerData = dataMapping(self.action.drawer.data, data);
165
- var clonedAction = __assign(__assign({}, self.action), { dialog: __assign({}, self.action.dialog) });
166
- delete clonedAction.dialog.data;
202
+ self.drawerData = createObjectFromChain([
203
+ top === null || top === void 0 ? void 0 : top.context,
204
+ dataMapping(self.action.drawer.data, data)
205
+ ]);
206
+ var clonedAction = __assign(__assign({}, self.action), { drawer: __assign({}, self.action.drawer) });
207
+ delete clonedAction.drawer.data;
167
208
  self.action = clonedAction;
168
209
  }
169
210
  else {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -99,6 +99,7 @@ export declare const ListStore: import("mobx-state-tree").IModelType<{
99
99
  getValueByName(name: string, canAccessSuper?: boolean): any;
100
100
  getPristineValueByName(name: string): any;
101
101
  } & {
102
+ setTopStore(value: any): void;
102
103
  initData(data?: object, skipSetPristine?: boolean): void;
103
104
  reset(): void;
104
105
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
package/esm/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -33,8 +33,12 @@ var Item = types
33
33
  return self.index !== self.newIndex;
34
34
  },
35
35
  get locals() {
36
- return createObject(extendObject(getParent(self, 2).data, {
37
- index: self.index
36
+ var listStore = getParent(self, 2);
37
+ return createObject(extendObject(listStore.data, {
38
+ index: self.index,
39
+ // 只有table时,也可以获取选中行
40
+ selectedItems: listStore.selectedItems.map(function (item) { return item.data; }),
41
+ unSelectedItems: listStore.unSelectedItems.map(function (item) { return item.data; })
38
42
  }), self.data);
39
43
  },
40
44
  get checkable() {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -47,6 +47,7 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
47
47
  getValueByName(name: string, canAccessSuper?: boolean): any;
48
48
  getPristineValueByName(name: string): any;
49
49
  } & {
50
+ setTopStore(value: any): void;
50
51
  initData(data?: object, skipSetPristine?: boolean): void;
51
52
  reset(): void;
52
53
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -38,6 +38,7 @@ export declare const PaginationStore: import("mobx-state-tree").IModelType<{
38
38
  getValueByName(name: string, canAccessSuper?: boolean): any;
39
39
  getPristineValueByName(name: string): any;
40
40
  } & {
41
+ setTopStore(value: any): void;
41
42
  initData(data?: object, skipSetPristine?: boolean): void;
42
43
  reset(): void;
43
44
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
@@ -1,14 +1,14 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import '../utils/helper.js';
7
+ import 'tslib';
7
8
  import 'amis-formula';
8
9
  import 'moment';
9
10
  import { createObject } from '../utils/object.js';
10
11
  import { resolveVariable } from '../utils/resolveVariable.js';
11
- import 'tslib';
12
12
  import 'lodash/isPlainObject';
13
13
  import '../utils/filter.js';
14
14
  import { iRendererStore } from './iRenderer.js';
@@ -31,9 +31,6 @@ 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]>;
36
- staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
37
34
  }, {
38
35
  readonly parentStore: any;
39
36
  readonly __: any;
@@ -49,6 +46,7 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
49
46
  getValueByName(name: string, canAccessSuper?: boolean): any;
50
47
  getPristineValueByName(name: string): any;
51
48
  } & {
49
+ setTopStore(value: any): void;
52
50
  initData(data?: object, skipSetPristine?: boolean): void;
53
51
  reset(): void;
54
52
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
@@ -75,13 +73,13 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
75
73
  saveRemote: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
76
74
  fetchSchema: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
77
75
  checkRemote: (api: import("..").Api, data?: object | undefined, options?: import("..").fetchOptions | undefined) => Promise<any>;
76
+ } & {
77
+ context: {};
78
78
  } & {
79
79
  readonly downStream: any;
80
80
  } & {
81
+ setContext(context: any): void;
81
82
  setRuntimeError(error: any, errorStack: any): void;
82
83
  updateLocation(location?: any, parseFn?: Function): void;
83
- setVisible(id: string, value: boolean): void;
84
- setDisable(id: string, value: boolean): void;
85
- setStatic(id: string, value: boolean): void;
86
84
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
87
85
  export type IRootStore = Instance<typeof RootStore>;
package/esm/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -7,46 +7,75 @@ import { __assign } from 'tslib';
7
7
  import { types } from 'mobx-state-tree';
8
8
  import { parseQuery } from '../utils/helper.js';
9
9
  import { ServiceStore } from './service.js';
10
- import { createObject, extendObject } from '../utils/object.js';
10
+ import '../utils/api.js';
11
+ import '../utils/ColorScale.js';
12
+ import 'react';
13
+ import 'lodash/chunk';
14
+ import 'amis-formula';
15
+ import 'lodash/isPlainObject';
16
+ import { extractObjectChain, createObjectFromChain } from '../utils/object.js';
17
+ import '../utils/DataSchema.js';
18
+ import '../utils/DataScope.js';
19
+ import 'moment';
20
+ import '../utils/debug.js';
21
+ import 'react-dom';
22
+ import '../utils/errors.js';
23
+ import '../utils/tpl.js';
24
+ import 'classnames';
25
+ import '../utils/filter.js';
26
+ import 'lodash/isObject';
27
+ import 'lodash/isString';
28
+ import 'lodash/isBoolean';
29
+ import 'lodash';
30
+ import '../utils/image.js';
31
+ import '../actions/Action.js';
32
+ import 'lodash/debounce';
33
+ import 'lodash/cloneDeep';
34
+ import '../utils/resize-sensor.js';
35
+ import 'react-overlays/useRootClose';
36
+ import '../utils/SimpleMap.js';
37
+ import 'lodash/mapValues';
38
+ import 'lodash/camelCase';
39
+ import 'uncontrollable';
40
+ import 'hoist-non-react-statics';
41
+ import '../utils/validations.js';
42
+ import '../utils/resolveCondition.js';
43
+ import '../utils/Animation.js';
11
44
 
12
45
  var RootStore = ServiceStore.named('RootStore')
13
46
  .props({
14
47
  runtimeError: types.frozen(),
15
48
  runtimeErrorStack: types.frozen(),
16
- query: types.frozen(),
17
- visibleState: types.optional(types.frozen(), {}),
18
- disableState: types.optional(types.frozen(), {}),
19
- staticState: types.optional(types.frozen(), {})
49
+ query: types.frozen()
50
+ })
51
+ .volatile(function (self) {
52
+ return {
53
+ context: {}
54
+ };
20
55
  })
21
56
  .views(function (self) { return ({
22
57
  get downStream() {
23
- return self.query
24
- ? createObject(extendObject(self.data && self.data.__super ? self.data.__super : null, __assign(__assign({}, self.query), { __query: self.query })), self.data)
25
- : self.data;
58
+ var result = self.data;
59
+ if (self.context || self.query) {
60
+ var chain = extractObjectChain(result);
61
+ self.context && chain.unshift(self.context);
62
+ self.query &&
63
+ chain.splice(chain.length - 1, 0, __assign(__assign({}, self.query), { __query: self.query }));
64
+ result = createObjectFromChain(chain);
65
+ }
66
+ return result;
26
67
  }
27
68
  }); })
28
69
  .actions(function (self) { return ({
70
+ setContext: function (context) {
71
+ self.context = context;
72
+ },
29
73
  setRuntimeError: function (error, errorStack) {
30
74
  self.runtimeError = error;
31
75
  self.runtimeErrorStack = errorStack;
32
76
  },
33
77
  updateLocation: function (location, parseFn) {
34
78
  self.query = parseFn ? parseFn(location) : parseQuery(location);
35
- },
36
- setVisible: function (id, value) {
37
- var _a;
38
- var state = __assign(__assign({}, self.visibleState), (_a = {}, _a[id] = value, _a));
39
- self.visibleState = state;
40
- },
41
- setDisable: function (id, value) {
42
- var _a;
43
- var state = __assign(__assign({}, self.disableState), (_a = {}, _a[id] = value, _a));
44
- self.disableState = state;
45
- },
46
- setStatic: function (id, value) {
47
- var _a;
48
- var state = __assign(__assign({}, self.staticState), (_a = {}, _a[id] = value, _a));
49
- self.staticState = state;
50
79
  }
51
80
  }); });
52
81
 
@@ -43,6 +43,7 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
43
43
  getValueByName(name: string, canAccessSuper?: boolean): any;
44
44
  getPristineValueByName(name: string): any;
45
45
  } & {
46
+ setTopStore(value: any): void;
46
47
  initData(data?: object, skipSetPristine?: boolean): void;
47
48
  reset(): void;
48
49
  updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -0,0 +1,12 @@
1
+ import { Instance } from 'mobx-state-tree';
2
+ export declare const StatusStore: import("mobx-state-tree").IModelType<{
3
+ visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
4
+ disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
5
+ staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
6
+ }, {
7
+ setVisible(key: string, value?: boolean): void;
8
+ setDisable(key: string, value?: boolean): void;
9
+ setStatic(key: string, value?: boolean): void;
10
+ resetAll(): void;
11
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
12
+ export type IStatusStore = Instance<typeof StatusStore>;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * amis-core v3.1.0
3
+ * Copyright 2018-2023 fex
4
+ */
5
+
6
+ import { __assign } from 'tslib';
7
+ import { types } from 'mobx-state-tree';
8
+
9
+ var StatusStore = types
10
+ .model('StatusStore', {
11
+ visibleState: types.optional(types.frozen(), {}),
12
+ disableState: types.optional(types.frozen(), {}),
13
+ staticState: types.optional(types.frozen(), {})
14
+ })
15
+ .actions(function (self) { return ({
16
+ setVisible: function (key, value) {
17
+ var _a;
18
+ var state = __assign(__assign({}, self.visibleState), (_a = {}, _a[key] = value, _a));
19
+ self.visibleState = state;
20
+ },
21
+ setDisable: function (key, value) {
22
+ var _a;
23
+ var state = __assign(__assign({}, self.disableState), (_a = {}, _a[key] = value, _a));
24
+ self.disableState = state;
25
+ },
26
+ setStatic: function (key, value) {
27
+ var _a;
28
+ var state = __assign(__assign({}, self.staticState), (_a = {}, _a[key] = value, _a));
29
+ self.staticState = state;
30
+ },
31
+ resetAll: function () {
32
+ self.visibleState = {};
33
+ self.disableState = {};
34
+ self.staticState = {};
35
+ }
36
+ }); });
37
+
38
+ export { StatusStore };