amis-core 3.5.2 → 3.6.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 (285) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +1 -1
  5. package/esm/Scoped.d.ts +2 -0
  6. package/esm/Scoped.js +49 -7
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +27 -12
  10. package/esm/actions/Action.js +30 -22
  11. package/esm/actions/AjaxAction.js +2 -2
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +31 -32
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +3 -3
  17. package/esm/actions/CustomAction.js +1 -1
  18. package/esm/actions/DialogAction.js +1 -1
  19. package/esm/actions/DrawerAction.js +1 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/LinkAction.js +5 -5
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/StatusAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +3 -3
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/ErrorBoundary.d.ts +20 -0
  30. package/esm/components/ErrorBoundary.js +41 -0
  31. package/esm/components/LazyComponent.js +1 -1
  32. package/esm/components/Overlay.js +1 -1
  33. package/esm/components/PopOver.d.ts +4 -0
  34. package/esm/components/PopOver.js +66 -3
  35. package/esm/env.d.ts +9 -0
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.d.ts +1 -1
  38. package/esm/envOverwrite.js +15 -35
  39. package/esm/factory.js +1 -1
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +5 -4
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.d.ts +10 -4
  45. package/esm/renderers/Form.js +64 -32
  46. package/esm/renderers/Item.d.ts +54 -0
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.d.ts +5 -1
  49. package/esm/renderers/Options.js +11 -9
  50. package/esm/renderers/Placeholder.js +1 -1
  51. package/esm/renderers/builtin.js +1 -1
  52. package/esm/renderers/register.js +1 -1
  53. package/esm/renderers/wrapControl.js +10 -17
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +1154 -48
  56. package/esm/store/combo.js +10 -3
  57. package/esm/store/crud.d.ts +9 -1
  58. package/esm/store/crud.js +50 -15
  59. package/esm/store/form.d.ts +480 -20
  60. package/esm/store/form.js +1 -1
  61. package/esm/store/formItem.d.ts +23 -1
  62. package/esm/store/formItem.js +103 -15
  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.d.ts +1078 -42
  74. package/esm/store/table.js +64 -6
  75. package/esm/store/table2.js +1 -4
  76. package/esm/theme.js +1 -1
  77. package/esm/types.d.ts +8 -2
  78. package/esm/utils/Animation.js +1 -1
  79. package/esm/utils/ColorScale.js +1 -1
  80. package/esm/utils/DataSchema.js +1 -1
  81. package/esm/utils/DataScope.js +1 -1
  82. package/esm/utils/RootClose.js +1 -1
  83. package/esm/utils/SimpleMap.js +1 -1
  84. package/esm/utils/api.js +1 -1
  85. package/esm/utils/arraySlice.js +1 -1
  86. package/esm/utils/attachmentAdpator.js +3 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +1 -1
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +1 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.d.ts +2 -1
  97. package/esm/utils/filter-schema.js +14 -5
  98. package/esm/utils/filter.js +1 -1
  99. package/esm/utils/formatDuration.js +1 -1
  100. package/esm/utils/formula.js +1 -1
  101. package/esm/utils/getVariable.js +1 -1
  102. package/esm/utils/grammar.js +1 -1
  103. package/esm/utils/handleAction.js +1 -1
  104. package/esm/utils/helper.d.ts +2 -2
  105. package/esm/utils/helper.js +37 -29
  106. package/esm/utils/highlight.js +1 -1
  107. package/esm/utils/icon.js +1 -1
  108. package/esm/utils/image.js +1 -1
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/math.js +8 -5
  114. package/esm/utils/memoryParse.js +1 -1
  115. package/esm/utils/normalizeLink.js +1 -1
  116. package/esm/utils/normalizeOptions.js +1 -1
  117. package/esm/utils/object.js +15 -1
  118. package/esm/utils/offset.js +1 -1
  119. package/esm/utils/offsetParent.js +1 -1
  120. package/esm/utils/optionValueCompare.js +1 -1
  121. package/esm/utils/position.js +1 -1
  122. package/esm/utils/prettyBytes.js +1 -1
  123. package/esm/utils/renderer-event.d.ts +7 -0
  124. package/esm/utils/renderer-event.js +30 -18
  125. package/esm/utils/replaceText.js +1 -1
  126. package/esm/utils/resize-sensor.js +1 -1
  127. package/esm/utils/resolveCondition.js +1 -1
  128. package/esm/utils/resolveVariable.js +1 -1
  129. package/esm/utils/resolveVariableAndFilter.js +1 -1
  130. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  131. package/esm/utils/scrollPosition.js +1 -1
  132. package/esm/utils/string2regExp.js +1 -1
  133. package/esm/utils/stripNumber.js +1 -1
  134. package/esm/utils/style-helper.js +12 -15
  135. package/esm/utils/style.js +3 -2
  136. package/esm/utils/toNumber.js +1 -1
  137. package/esm/utils/tokenize.js +1 -1
  138. package/esm/utils/tpl-builtin.js +1 -1
  139. package/esm/utils/tpl-lodash.js +1 -1
  140. package/esm/utils/tpl.js +1 -1
  141. package/esm/utils/uncontrollable.js +1 -1
  142. package/esm/utils/validations.js +1 -1
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.d.ts +1 -1
  145. package/lib/RootRenderer.js +2 -2
  146. package/lib/SchemaRenderer.js +1 -1
  147. package/lib/Scoped.d.ts +2 -0
  148. package/lib/Scoped.js +48 -6
  149. package/lib/StatusScoped.js +1 -1
  150. package/lib/WithRootStore.js +1 -1
  151. package/lib/WithStore.js +26 -11
  152. package/lib/actions/Action.js +29 -21
  153. package/lib/actions/AjaxAction.js +2 -2
  154. package/lib/actions/BreakAction.js +1 -1
  155. package/lib/actions/BroadcastAction.js +1 -1
  156. package/lib/actions/CmptAction.js +31 -32
  157. package/lib/actions/ContinueAction.js +1 -1
  158. package/lib/actions/CopyAction.js +3 -3
  159. package/lib/actions/CustomAction.js +1 -1
  160. package/lib/actions/DialogAction.js +1 -1
  161. package/lib/actions/DrawerAction.js +1 -1
  162. package/lib/actions/EmailAction.js +1 -1
  163. package/lib/actions/LinkAction.js +5 -5
  164. package/lib/actions/LoopAction.js +1 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/StatusAction.js +1 -1
  168. package/lib/actions/SwitchAction.js +1 -1
  169. package/lib/actions/ToastAction.js +3 -3
  170. package/lib/components/CustomStyle.js +1 -1
  171. package/lib/components/ErrorBoundary.d.ts +20 -0
  172. package/lib/components/ErrorBoundary.js +52 -0
  173. package/lib/components/LazyComponent.js +1 -1
  174. package/lib/components/Overlay.js +1 -1
  175. package/lib/components/PopOver.d.ts +4 -0
  176. package/lib/components/PopOver.js +64 -1
  177. package/lib/env.d.ts +9 -0
  178. package/lib/env.js +1 -1
  179. package/lib/envOverwrite.d.ts +1 -1
  180. package/lib/envOverwrite.js +18 -34
  181. package/lib/factory.js +1 -1
  182. package/lib/index.d.ts +2 -1
  183. package/lib/index.js +6 -3
  184. package/lib/locale.js +1 -1
  185. package/lib/polyfills.js +1 -1
  186. package/lib/renderers/Form.d.ts +10 -4
  187. package/lib/renderers/Form.js +64 -32
  188. package/lib/renderers/Item.d.ts +54 -0
  189. package/lib/renderers/Item.js +1 -1
  190. package/lib/renderers/Options.d.ts +5 -1
  191. package/lib/renderers/Options.js +11 -9
  192. package/lib/renderers/Placeholder.js +1 -1
  193. package/lib/renderers/builtin.js +1 -1
  194. package/lib/renderers/register.js +1 -1
  195. package/lib/renderers/wrapControl.js +10 -17
  196. package/lib/store/app.js +1 -1
  197. package/lib/store/combo.d.ts +1154 -49
  198. package/lib/store/combo.js +10 -3
  199. package/lib/store/crud.d.ts +9 -1
  200. package/lib/store/crud.js +50 -15
  201. package/lib/store/form.d.ts +480 -21
  202. package/lib/store/form.js +1 -1
  203. package/lib/store/formItem.d.ts +23 -1
  204. package/lib/store/formItem.js +104 -15
  205. package/lib/store/iRenderer.js +1 -1
  206. package/lib/store/index.js +1 -1
  207. package/lib/store/list.js +1 -1
  208. package/lib/store/manager.js +1 -1
  209. package/lib/store/modal.js +1 -1
  210. package/lib/store/node.js +1 -1
  211. package/lib/store/pagination.js +1 -1
  212. package/lib/store/root.js +1 -1
  213. package/lib/store/service.js +1 -1
  214. package/lib/store/status.js +1 -1
  215. package/lib/store/table.d.ts +1078 -43
  216. package/lib/store/table.js +63 -5
  217. package/lib/store/table2.js +1 -4
  218. package/lib/theme.js +1 -1
  219. package/lib/types.d.ts +8 -2
  220. package/lib/utils/Animation.js +1 -1
  221. package/lib/utils/ColorScale.js +1 -1
  222. package/lib/utils/DataSchema.js +1 -1
  223. package/lib/utils/DataScope.js +1 -1
  224. package/lib/utils/RootClose.js +1 -1
  225. package/lib/utils/SimpleMap.js +1 -1
  226. package/lib/utils/api.js +1 -1
  227. package/lib/utils/arraySlice.js +1 -1
  228. package/lib/utils/attachmentAdpator.js +3 -1
  229. package/lib/utils/autobind.js +1 -1
  230. package/lib/utils/columnsSplit.js +1 -1
  231. package/lib/utils/dataMapping.js +1 -1
  232. package/lib/utils/date.js +1 -1
  233. package/lib/utils/debug.js +1 -1
  234. package/lib/utils/decodeEntity.js +1 -1
  235. package/lib/utils/dom.js +1 -1
  236. package/lib/utils/errors.js +1 -1
  237. package/lib/utils/escapeHtml.js +1 -1
  238. package/lib/utils/filter-schema.d.ts +2 -1
  239. package/lib/utils/filter-schema.js +14 -4
  240. package/lib/utils/filter.js +1 -1
  241. package/lib/utils/formatDuration.js +1 -1
  242. package/lib/utils/formula.js +1 -1
  243. package/lib/utils/getVariable.js +1 -1
  244. package/lib/utils/grammar.js +1 -1
  245. package/lib/utils/handleAction.js +1 -1
  246. package/lib/utils/helper.d.ts +2 -2
  247. package/lib/utils/helper.js +36 -28
  248. package/lib/utils/highlight.js +1 -1
  249. package/lib/utils/icon.js +1 -1
  250. package/lib/utils/image.js +1 -1
  251. package/lib/utils/isPureVariable.js +1 -1
  252. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  253. package/lib/utils/keyToPath.js +1 -1
  254. package/lib/utils/makeSorter.js +1 -1
  255. package/lib/utils/math.js +8 -5
  256. package/lib/utils/memoryParse.js +1 -1
  257. package/lib/utils/normalizeLink.js +1 -1
  258. package/lib/utils/normalizeOptions.js +1 -1
  259. package/lib/utils/object.js +15 -1
  260. package/lib/utils/offset.js +1 -1
  261. package/lib/utils/offsetParent.js +1 -1
  262. package/lib/utils/optionValueCompare.js +1 -1
  263. package/lib/utils/position.js +1 -1
  264. package/lib/utils/prettyBytes.js +1 -1
  265. package/lib/utils/renderer-event.d.ts +7 -0
  266. package/lib/utils/renderer-event.js +30 -18
  267. package/lib/utils/replaceText.js +1 -1
  268. package/lib/utils/resize-sensor.js +1 -1
  269. package/lib/utils/resolveCondition.js +1 -1
  270. package/lib/utils/resolveVariable.js +1 -1
  271. package/lib/utils/resolveVariableAndFilter.js +1 -1
  272. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  273. package/lib/utils/scrollPosition.js +1 -1
  274. package/lib/utils/string2regExp.js +1 -1
  275. package/lib/utils/stripNumber.js +1 -1
  276. package/lib/utils/style-helper.js +12 -15
  277. package/lib/utils/style.js +3 -2
  278. package/lib/utils/toNumber.js +1 -1
  279. package/lib/utils/tokenize.js +1 -1
  280. package/lib/utils/tpl-builtin.js +1 -1
  281. package/lib/utils/tpl-lodash.js +1 -1
  282. package/lib/utils/tpl.js +1 -1
  283. package/lib/utils/uncontrollable.js +1 -1
  284. package/lib/utils/validations.js +1 -1
  285. package/package.json +3 -3
@@ -515,6 +515,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
515
515
  onChildStoreDispose(child: any): void;
516
516
  syncProps(props: any, prevProps: any, list?: string[]): void;
517
517
  dispose: (callback?: (() => void) | undefined) => void;
518
+ /**
519
+ * 配置当前表单项展示模式
520
+ */
518
521
  addChildId: (id: string) => void;
519
522
  removeChildId: (id: string) => void;
520
523
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -533,9 +536,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
533
536
  onChildStoreDispose(child: any): void;
534
537
  syncProps(props: any, prevProps: any, list?: string[]): void;
535
538
  dispose: (callback?: (() => void) | undefined) => void;
539
+ /**
540
+ * 配置当前表单项展示模式
541
+ */
536
542
  addChildId: (id: string) => void;
537
543
  removeChildId: (id: string) => void;
538
544
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
545
+ /**
546
+ * @deprecated 用 description 代替
547
+ */
539
548
  readonly stores: {
540
549
  [propName: string]: {
541
550
  id: string;
@@ -553,6 +562,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
553
562
  onChildStoreDispose(child: any): void;
554
563
  syncProps(props: any, prevProps: any, list?: string[]): void;
555
564
  dispose: (callback?: (() => void) | undefined) => void;
565
+ /**
566
+ * 配置当前表单项展示模式
567
+ */
556
568
  addChildId: (id: string) => void;
557
569
  removeChildId: (id: string) => void;
558
570
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -571,6 +583,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
571
583
  onChildStoreDispose(child: any): void;
572
584
  syncProps(props: any, prevProps: any, list?: string[]): void;
573
585
  dispose: (callback?: (() => void) | undefined) => void;
586
+ /**
587
+ * 配置当前表单项展示模式
588
+ */
574
589
  addChildId: (id: string) => void;
575
590
  removeChildId: (id: string) => void;
576
591
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -598,6 +613,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
598
613
  onChildStoreDispose(child: any): void;
599
614
  syncProps(props: any, prevProps: any, list?: string[]): void;
600
615
  dispose: (callback?: (() => void) | undefined) => void;
616
+ /**
617
+ * 配置当前表单项展示模式
618
+ */
601
619
  addChildId: (id: string) => void;
602
620
  removeChildId: (id: string) => void;
603
621
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -616,6 +634,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
616
634
  onChildStoreDispose(child: any): void;
617
635
  syncProps(props: any, prevProps: any, list?: string[]): void;
618
636
  dispose: (callback?: (() => void) | undefined) => void;
637
+ /**
638
+ * 配置当前表单项展示模式
639
+ */
619
640
  addChildId: (id: string) => void;
620
641
  removeChildId: (id: string) => void;
621
642
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -635,6 +656,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
635
656
  onChildStoreDispose(child: any): void;
636
657
  syncProps(props: any, prevProps: any, list?: string[]): void;
637
658
  dispose: (callback?: (() => void) | undefined) => void;
659
+ /**
660
+ * 配置当前表单项展示模式
661
+ */
638
662
  addChildId: (id: string) => void;
639
663
  removeChildId: (id: string) => void;
640
664
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -653,6 +677,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
653
677
  onChildStoreDispose(child: any): void;
654
678
  syncProps(props: any, prevProps: any, list?: string[]): void;
655
679
  dispose: (callback?: (() => void) | undefined) => void;
680
+ /**
681
+ * 配置当前表单项展示模式
682
+ */
656
683
  addChildId: (id: string) => void;
657
684
  removeChildId: (id: string) => void;
658
685
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
@@ -679,6 +706,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
679
706
  onChildStoreDispose(child: any): void;
680
707
  syncProps(props: any, prevProps: any, list?: string[]): void;
681
708
  dispose: (callback?: (() => void) | undefined) => void;
709
+ /**
710
+ * 配置当前表单项展示模式
711
+ */
682
712
  addChildId: (id: string) => void;
683
713
  removeChildId: (id: string) => void;
684
714
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -697,9 +727,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
697
727
  onChildStoreDispose(child: any): void;
698
728
  syncProps(props: any, prevProps: any, list?: string[]): void;
699
729
  dispose: (callback?: (() => void) | undefined) => void;
730
+ /**
731
+ * 配置当前表单项展示模式
732
+ */
700
733
  addChildId: (id: string) => void;
701
734
  removeChildId: (id: string) => void;
702
735
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
736
+ /**
737
+ * @deprecated 用 description 代替
738
+ */
703
739
  readonly stores: {
704
740
  [propName: string]: {
705
741
  id: string;
@@ -717,6 +753,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
717
753
  onChildStoreDispose(child: any): void;
718
754
  syncProps(props: any, prevProps: any, list?: string[]): void;
719
755
  dispose: (callback?: (() => void) | undefined) => void;
756
+ /**
757
+ * 配置当前表单项展示模式
758
+ */
720
759
  addChildId: (id: string) => void;
721
760
  removeChildId: (id: string) => void;
722
761
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -735,6 +774,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
735
774
  onChildStoreDispose(child: any): void;
736
775
  syncProps(props: any, prevProps: any, list?: string[]): void;
737
776
  dispose: (callback?: (() => void) | undefined) => void;
777
+ /**
778
+ * 配置当前表单项展示模式
779
+ */
738
780
  addChildId: (id: string) => void;
739
781
  removeChildId: (id: string) => void;
740
782
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -762,6 +804,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
762
804
  onChildStoreDispose(child: any): void;
763
805
  syncProps(props: any, prevProps: any, list?: string[]): void;
764
806
  dispose: (callback?: (() => void) | undefined) => void;
807
+ /**
808
+ * 配置当前表单项展示模式
809
+ */
765
810
  addChildId: (id: string) => void;
766
811
  removeChildId: (id: string) => void;
767
812
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -780,6 +825,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
780
825
  onChildStoreDispose(child: any): void;
781
826
  syncProps(props: any, prevProps: any, list?: string[]): void;
782
827
  dispose: (callback?: (() => void) | undefined) => void;
828
+ /**
829
+ * 配置当前表单项展示模式
830
+ */
783
831
  addChildId: (id: string) => void;
784
832
  removeChildId: (id: string) => void;
785
833
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -799,6 +847,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
799
847
  onChildStoreDispose(child: any): void;
800
848
  syncProps(props: any, prevProps: any, list?: string[]): void;
801
849
  dispose: (callback?: (() => void) | undefined) => void;
850
+ /**
851
+ * 配置当前表单项展示模式
852
+ */
802
853
  addChildId: (id: string) => void;
803
854
  removeChildId: (id: string) => void;
804
855
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -817,6 +868,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
817
868
  onChildStoreDispose(child: any): void;
818
869
  syncProps(props: any, prevProps: any, list?: string[]): void;
819
870
  dispose: (callback?: (() => void) | undefined) => void;
871
+ /**
872
+ * 配置当前表单项展示模式
873
+ */
820
874
  addChildId: (id: string) => void;
821
875
  removeChildId: (id: string) => void;
822
876
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -64,6 +64,10 @@ export interface FormOptionsControl extends FormBaseControl {
64
64
  * @default ''
65
65
  */
66
66
  resetValue?: string;
67
+ /**
68
+ * 懒加载字段
69
+ */
70
+ deferField?: string;
67
71
  /**
68
72
  * 延时加载的 API,当选项中有 defer: true 的选项时,点开会通过此接口扩充。
69
73
  */
@@ -136,7 +140,7 @@ export interface OptionsControlProps extends FormControlProps, Omit<FormOptionsC
136
140
  selectedOptions: Array<Option>;
137
141
  setOptions: (value: Array<any>, skipNormalize?: boolean) => void;
138
142
  setLoading: (value: boolean) => void;
139
- reloadOptions: (setError?: boolean) => void;
143
+ reloadOptions: (setError?: boolean, isInit?: boolean, data?: Record<string, any>) => void;
140
144
  deferLoad: (option: Option) => void;
141
145
  leftDeferLoad: (option: Option, leftOptions: Option) => void;
142
146
  expandTreeOptions: (nodePathArr: any[]) => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -173,7 +173,7 @@ function registerOptionsControl(config) {
173
173
  var prevOptions = resolveVariableAndFilter.resolveVariableAndFilter(prevProps.source, prevProps.data, '| raw');
174
174
  var options = resolveVariableAndFilter.resolveVariableAndFilter(props.source, props.data, '| raw');
175
175
  if (prevOptions !== options) {
176
- formItem.setOptions(normalizeOptions.normalizeOptions(options || [], undefined, props.valueField || 'value'), this.changeOptionValue, props.data);
176
+ formItem.loadOptionsFromDataScope(props.source, props.data, this.changeOptionValue);
177
177
  this.normalizeValue();
178
178
  }
179
179
  }
@@ -419,12 +419,13 @@ function registerOptionsControl(config) {
419
419
  FormOptionsItem.prototype.reload = function () {
420
420
  return this.reloadOptions();
421
421
  };
422
- FormOptionsItem.prototype.reloadOptions = function (setError, isInit) {
422
+ FormOptionsItem.prototype.reloadOptions = function (setError, isInit, data) {
423
423
  if (isInit === void 0) { isInit = false; }
424
- var _a = this.props, source = _a.source, formItem = _a.formItem, data = _a.data, onChange = _a.onChange, setPrinstineValue = _a.setPrinstineValue, valueField = _a.valueField;
424
+ if (data === void 0) { data = this.props.data; }
425
+ var _a = this.props, source = _a.source, formItem = _a.formItem, onChange = _a.onChange, setPrinstineValue = _a.setPrinstineValue; _a.valueField;
425
426
  if (formItem && isPureVariable.isPureVariable(source)) {
426
427
  mobxStateTree.isAlive(formItem) &&
427
- formItem.setOptions(normalizeOptions.normalizeOptions(resolveVariableAndFilter.resolveVariableAndFilter(source, data, '| raw') || [], undefined, valueField), this.changeOptionValue, data);
428
+ formItem.loadOptionsFromDataScope(source, data, this.changeOptionValue);
428
429
  return;
429
430
  }
430
431
  else if (!formItem || !api.isEffectiveApi(source, data)) {
@@ -532,12 +533,12 @@ function registerOptionsControl(config) {
532
533
  if (idx === void 0) { idx = -1; }
533
534
  if (skipForm === void 0) { skipForm = false; }
534
535
  return tslib.__awaiter(this, void 0, void 0, function () {
535
- var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
536
+ var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
536
537
  var _e;
537
538
  return tslib.__generator(this, function (_f) {
538
539
  switch (_f.label) {
539
540
  case 0:
540
- _c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
541
+ _c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, deferField = _c.deferField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
541
542
  // 禁用或者没有配置 name
542
543
  if (disabled || !model) {
543
544
  return [2 /*return*/];
@@ -622,7 +623,8 @@ function registerOptionsControl(config) {
622
623
  if (isPrevented) {
623
624
  return [2 /*return*/];
624
625
  }
625
- if (!(parent === null || parent === void 0 ? void 0 : parent.defer)) return [3 /*break*/, 10];
626
+ if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
627
+ (parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 10];
626
628
  return [4 /*yield*/, this.deferLoad(parent)];
627
629
  case 9:
628
630
  _f.sent();
@@ -850,7 +852,7 @@ function registerOptionsControl(config) {
850
852
  tslib.__decorate([
851
853
  helper.autobind,
852
854
  tslib.__metadata("design:type", Function),
853
- tslib.__metadata("design:paramtypes", [Boolean, Object]),
855
+ tslib.__metadata("design:paramtypes", [Boolean, Object, Object]),
854
856
  tslib.__metadata("design:returntype", void 0)
855
857
  ], FormOptionsItem.prototype, "reloadOptions", null);
856
858
  tslib.__decorate([
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -11,7 +11,6 @@ var tslib = require('tslib');
11
11
  var React = require('react');
12
12
  var debounce = require('lodash/debounce');
13
13
  var isEqual = require('lodash/isEqual');
14
- var factory = require('../factory.js');
15
14
  var combo = require('../store/combo.js');
16
15
  var helper = require('../utils/helper.js');
17
16
  var formula = require('../utils/formula.js');
@@ -76,14 +75,14 @@ function wrapControl(ComposedComponent) {
76
75
  tslib.__extends(class_1, _super);
77
76
  function class_1(props) {
78
77
  var _this = this;
79
- var _a, _b;
78
+ var _a;
80
79
  _this = _super.call(this, props) || this;
81
80
  _this.value = undefined;
82
81
  _this.lazyEmitChange = debounce__default["default"](_this.emitChange.bind(_this), 250, {
83
82
  trailing: true,
84
83
  leading: false
85
84
  });
86
- var _c = _this.props, form = _c.formStore, formItem$1 = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label;
85
+ var _b = _this.props, form = _b.formStore, formItem$1 = _b.formItem, rootStore = _b.rootStore, store = _b.store, onChange = _b.onChange, data = _b.data, inputGroupControl = _b.inputGroupControl, colIndex = _b.colIndex, rowIndex = _b.rowIndex, _c = _b.$schema, id = _c.id, type = _c.type, required = _c.required, validations = _c.validations, validationErrors = _c.validationErrors, unique = _c.unique, value = _c.value, extraName = _c.extraName; _c.multiple; var delimiter = _c.delimiter, valueField = _c.valueField, labelField = _c.labelField, joinValues = _c.joinValues, extractValue = _c.extractValue, selectFirst = _c.selectFirst, autoFill = _c.autoFill, clearValueOnHidden = _c.clearValueOnHidden, validateApi = _c.validateApi, minLength = _c.minLength, maxLength = _c.maxLength, validateOnChange = _c.validateOnChange, label = _c.label, pagination = _c.pagination;
87
86
  _this.getValue = _this.getValue.bind(_this);
88
87
  _this.setValue = _this.setValue.bind(_this);
89
88
  _this.handleChange = _this.handleChange.bind(_this);
@@ -100,11 +99,6 @@ function wrapControl(ComposedComponent) {
100
99
  name = tokenize.tokenize(name, data);
101
100
  }
102
101
  if (!name) {
103
- // 一般情况下这些表单项都是需要 name 的,提示一下
104
- if (typeof type === 'string' &&
105
- ((_a = factory.getRendererByName(type)) === null || _a === void 0 ? void 0 : _a.isFormItem)) {
106
- console.warn('name is required', _this.props.$schema);
107
- }
108
102
  return _this;
109
103
  }
110
104
  var propValue = _this.props.value;
@@ -120,10 +114,10 @@ function wrapControl(ComposedComponent) {
120
114
  _this.model = model;
121
115
  // @issue 打算干掉这个
122
116
  formItem$1 === null || formItem$1 === void 0 ? void 0 : formItem$1.addSubFormItem(model);
123
- model.config(tslib.__assign(tslib.__assign({}, pick__default["default"](tslib.__assign(tslib.__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: formula.isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName }));
117
+ model.config(tslib.__assign(tslib.__assign({}, pick__default["default"](tslib.__assign(tslib.__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: formula.isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName, pagination: pagination }));
124
118
  // issue 这个逻辑应该在 combo 里面自己实现。
125
119
  if (_this.model.unique &&
126
- ((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === combo.ComboStore.name) {
120
+ ((_a = form === null || form === void 0 ? void 0 : form.parentStore) === null || _a === void 0 ? void 0 : _a.storeType) === combo.ComboStore.name) {
127
121
  var combo$1 = form.parentStore;
128
122
  combo$1.bindUniuqueItem(model);
129
123
  }
@@ -236,7 +230,8 @@ function wrapControl(ComposedComponent) {
236
230
  'minLength',
237
231
  'maxLength',
238
232
  'label',
239
- 'extraName'
233
+ 'extraName',
234
+ 'pagination'
240
235
  ], prevProps.$schema, props.$schema, function (changes) {
241
236
  model.config(tslib.__assign(tslib.__assign({}, changes), {
242
237
  // todo 优化后面两个
@@ -572,9 +567,7 @@ function wrapControl(ComposedComponent) {
572
567
  formItem: this.model,
573
568
  formMode: control.mode || formMode,
574
569
  ref: this.controlRef,
575
- data: model
576
- ? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
577
- : data || (store === null || store === void 0 ? void 0 : store.data),
570
+ data: data || (store === null || store === void 0 ? void 0 : store.data),
578
571
  name: (_c = model === null || model === void 0 ? void 0 : model.name) !== null && _c !== void 0 ? _c : control.name,
579
572
  value: value,
580
573
  changeMotivation: model === null || model === void 0 ? void 0 : model.changeMotivation,
@@ -587,8 +580,8 @@ function wrapControl(ComposedComponent) {
587
580
  prinstine: model ? model.prinstine : undefined,
588
581
  setPrinstineValue: this.setPrinstineValue,
589
582
  onValidate: this.validate,
590
- onFlushChange: this.flushChange,
591
- render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
583
+ onFlushChange: this.flushChange
584
+ // render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
592
585
  // !没了这个, tree 里的 options 渲染会出问题
593
586
  // todo 理论上不应该影响,待确认
594
587
  // _filteredOptions: this.model?.filteredOptions
package/lib/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5