amis-core 3.5.3 → 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 (267) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +1 -1
  4. package/esm/Scoped.d.ts +2 -0
  5. package/esm/Scoped.js +48 -6
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +27 -12
  9. package/esm/actions/Action.js +30 -22
  10. package/esm/actions/AjaxAction.js +2 -2
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +3 -3
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +3 -3
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +1 -1
  18. package/esm/actions/DrawerAction.js +1 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/LinkAction.js +5 -5
  21. package/esm/actions/LoopAction.js +1 -1
  22. package/esm/actions/PageAction.js +1 -1
  23. package/esm/actions/ParallelAction.js +1 -1
  24. package/esm/actions/StatusAction.js +1 -1
  25. package/esm/actions/SwitchAction.js +1 -1
  26. package/esm/actions/ToastAction.js +3 -3
  27. package/esm/components/CustomStyle.js +1 -1
  28. package/esm/components/ErrorBoundary.d.ts +20 -0
  29. package/esm/components/ErrorBoundary.js +41 -0
  30. package/esm/components/LazyComponent.js +1 -1
  31. package/esm/components/Overlay.js +1 -1
  32. package/esm/components/PopOver.d.ts +4 -0
  33. package/esm/components/PopOver.js +66 -3
  34. package/esm/env.js +1 -1
  35. package/esm/envOverwrite.js +1 -1
  36. package/esm/factory.js +1 -1
  37. package/esm/index.d.ts +2 -1
  38. package/esm/index.js +4 -3
  39. package/esm/locale.js +1 -1
  40. package/esm/polyfills.js +1 -1
  41. package/esm/renderers/Form.d.ts +1 -1
  42. package/esm/renderers/Form.js +15 -8
  43. package/esm/renderers/Item.d.ts +54 -0
  44. package/esm/renderers/Item.js +1 -1
  45. package/esm/renderers/Options.d.ts +4 -0
  46. package/esm/renderers/Options.js +5 -4
  47. package/esm/renderers/Placeholder.js +1 -1
  48. package/esm/renderers/builtin.js +1 -1
  49. package/esm/renderers/register.js +1 -1
  50. package/esm/renderers/wrapControl.js +4 -6
  51. package/esm/store/app.js +1 -1
  52. package/esm/store/combo.js +1 -1
  53. package/esm/store/crud.d.ts +9 -1
  54. package/esm/store/crud.js +29 -13
  55. package/esm/store/form.js +1 -1
  56. package/esm/store/formItem.js +16 -7
  57. package/esm/store/iRenderer.js +1 -1
  58. package/esm/store/index.js +1 -1
  59. package/esm/store/list.js +1 -1
  60. package/esm/store/manager.js +1 -1
  61. package/esm/store/modal.js +1 -1
  62. package/esm/store/node.js +1 -1
  63. package/esm/store/pagination.js +1 -1
  64. package/esm/store/root.js +1 -1
  65. package/esm/store/service.js +1 -1
  66. package/esm/store/status.js +1 -1
  67. package/esm/store/table.d.ts +1 -0
  68. package/esm/store/table.js +8 -12
  69. package/esm/store/table2.js +1 -1
  70. package/esm/theme.js +1 -1
  71. package/esm/utils/Animation.js +1 -1
  72. package/esm/utils/ColorScale.js +1 -1
  73. package/esm/utils/DataSchema.js +1 -1
  74. package/esm/utils/DataScope.js +1 -1
  75. package/esm/utils/RootClose.js +1 -1
  76. package/esm/utils/SimpleMap.js +1 -1
  77. package/esm/utils/api.js +1 -1
  78. package/esm/utils/arraySlice.js +1 -1
  79. package/esm/utils/attachmentAdpator.js +3 -1
  80. package/esm/utils/autobind.js +1 -1
  81. package/esm/utils/columnsSplit.js +1 -1
  82. package/esm/utils/dataMapping.js +1 -1
  83. package/esm/utils/date.js +1 -1
  84. package/esm/utils/debug.js +1 -1
  85. package/esm/utils/decodeEntity.js +1 -1
  86. package/esm/utils/dom.js +1 -1
  87. package/esm/utils/errors.js +1 -1
  88. package/esm/utils/escapeHtml.js +1 -1
  89. package/esm/utils/filter-schema.d.ts +2 -1
  90. package/esm/utils/filter-schema.js +14 -5
  91. package/esm/utils/filter.js +1 -1
  92. package/esm/utils/formatDuration.js +1 -1
  93. package/esm/utils/formula.js +1 -1
  94. package/esm/utils/getVariable.js +1 -1
  95. package/esm/utils/grammar.js +1 -1
  96. package/esm/utils/handleAction.js +1 -1
  97. package/esm/utils/helper.js +1 -1
  98. package/esm/utils/highlight.js +1 -1
  99. package/esm/utils/icon.js +1 -1
  100. package/esm/utils/image.js +1 -1
  101. package/esm/utils/isPureVariable.js +1 -1
  102. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  103. package/esm/utils/keyToPath.js +1 -1
  104. package/esm/utils/makeSorter.js +1 -1
  105. package/esm/utils/math.js +1 -1
  106. package/esm/utils/memoryParse.js +1 -1
  107. package/esm/utils/normalizeLink.js +1 -1
  108. package/esm/utils/normalizeOptions.js +1 -1
  109. package/esm/utils/object.js +1 -1
  110. package/esm/utils/offset.js +1 -1
  111. package/esm/utils/offsetParent.js +1 -1
  112. package/esm/utils/optionValueCompare.js +1 -1
  113. package/esm/utils/position.js +1 -1
  114. package/esm/utils/prettyBytes.js +1 -1
  115. package/esm/utils/renderer-event.js +1 -1
  116. package/esm/utils/replaceText.js +1 -1
  117. package/esm/utils/resize-sensor.js +1 -1
  118. package/esm/utils/resolveCondition.js +1 -1
  119. package/esm/utils/resolveVariable.js +1 -1
  120. package/esm/utils/resolveVariableAndFilter.js +1 -1
  121. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  122. package/esm/utils/scrollPosition.js +1 -1
  123. package/esm/utils/string2regExp.js +1 -1
  124. package/esm/utils/stripNumber.js +1 -1
  125. package/esm/utils/style-helper.js +5 -3
  126. package/esm/utils/style.js +1 -1
  127. package/esm/utils/toNumber.js +1 -1
  128. package/esm/utils/tokenize.js +1 -1
  129. package/esm/utils/tpl-builtin.js +1 -1
  130. package/esm/utils/tpl-lodash.js +1 -1
  131. package/esm/utils/tpl.js +1 -1
  132. package/esm/utils/uncontrollable.js +1 -1
  133. package/esm/utils/validations.js +1 -1
  134. package/lib/Root.js +1 -1
  135. package/lib/RootRenderer.js +1 -1
  136. package/lib/SchemaRenderer.js +1 -1
  137. package/lib/Scoped.d.ts +2 -0
  138. package/lib/Scoped.js +47 -5
  139. package/lib/StatusScoped.js +1 -1
  140. package/lib/WithRootStore.js +1 -1
  141. package/lib/WithStore.js +26 -11
  142. package/lib/actions/Action.js +29 -21
  143. package/lib/actions/AjaxAction.js +2 -2
  144. package/lib/actions/BreakAction.js +1 -1
  145. package/lib/actions/BroadcastAction.js +1 -1
  146. package/lib/actions/CmptAction.js +3 -3
  147. package/lib/actions/ContinueAction.js +1 -1
  148. package/lib/actions/CopyAction.js +3 -3
  149. package/lib/actions/CustomAction.js +1 -1
  150. package/lib/actions/DialogAction.js +1 -1
  151. package/lib/actions/DrawerAction.js +1 -1
  152. package/lib/actions/EmailAction.js +1 -1
  153. package/lib/actions/LinkAction.js +5 -5
  154. package/lib/actions/LoopAction.js +1 -1
  155. package/lib/actions/PageAction.js +1 -1
  156. package/lib/actions/ParallelAction.js +1 -1
  157. package/lib/actions/StatusAction.js +1 -1
  158. package/lib/actions/SwitchAction.js +1 -1
  159. package/lib/actions/ToastAction.js +3 -3
  160. package/lib/components/CustomStyle.js +1 -1
  161. package/lib/components/ErrorBoundary.d.ts +20 -0
  162. package/lib/components/ErrorBoundary.js +52 -0
  163. package/lib/components/LazyComponent.js +1 -1
  164. package/lib/components/Overlay.js +1 -1
  165. package/lib/components/PopOver.d.ts +4 -0
  166. package/lib/components/PopOver.js +64 -1
  167. package/lib/env.js +1 -1
  168. package/lib/envOverwrite.js +1 -1
  169. package/lib/factory.js +1 -1
  170. package/lib/index.d.ts +2 -1
  171. package/lib/index.js +5 -2
  172. package/lib/locale.js +1 -1
  173. package/lib/polyfills.js +1 -1
  174. package/lib/renderers/Form.d.ts +1 -1
  175. package/lib/renderers/Form.js +15 -8
  176. package/lib/renderers/Item.d.ts +54 -0
  177. package/lib/renderers/Item.js +1 -1
  178. package/lib/renderers/Options.d.ts +4 -0
  179. package/lib/renderers/Options.js +5 -4
  180. package/lib/renderers/Placeholder.js +1 -1
  181. package/lib/renderers/builtin.js +1 -1
  182. package/lib/renderers/register.js +1 -1
  183. package/lib/renderers/wrapControl.js +4 -6
  184. package/lib/store/app.js +1 -1
  185. package/lib/store/combo.js +1 -1
  186. package/lib/store/crud.d.ts +9 -1
  187. package/lib/store/crud.js +29 -13
  188. package/lib/store/form.js +1 -1
  189. package/lib/store/formItem.js +16 -7
  190. package/lib/store/iRenderer.js +1 -1
  191. package/lib/store/index.js +1 -1
  192. package/lib/store/list.js +1 -1
  193. package/lib/store/manager.js +1 -1
  194. package/lib/store/modal.js +1 -1
  195. package/lib/store/node.js +1 -1
  196. package/lib/store/pagination.js +1 -1
  197. package/lib/store/root.js +1 -1
  198. package/lib/store/service.js +1 -1
  199. package/lib/store/status.js +1 -1
  200. package/lib/store/table.d.ts +1 -0
  201. package/lib/store/table.js +8 -12
  202. package/lib/store/table2.js +1 -1
  203. package/lib/theme.js +1 -1
  204. package/lib/utils/Animation.js +1 -1
  205. package/lib/utils/ColorScale.js +1 -1
  206. package/lib/utils/DataSchema.js +1 -1
  207. package/lib/utils/DataScope.js +1 -1
  208. package/lib/utils/RootClose.js +1 -1
  209. package/lib/utils/SimpleMap.js +1 -1
  210. package/lib/utils/api.js +1 -1
  211. package/lib/utils/arraySlice.js +1 -1
  212. package/lib/utils/attachmentAdpator.js +3 -1
  213. package/lib/utils/autobind.js +1 -1
  214. package/lib/utils/columnsSplit.js +1 -1
  215. package/lib/utils/dataMapping.js +1 -1
  216. package/lib/utils/date.js +1 -1
  217. package/lib/utils/debug.js +1 -1
  218. package/lib/utils/decodeEntity.js +1 -1
  219. package/lib/utils/dom.js +1 -1
  220. package/lib/utils/errors.js +1 -1
  221. package/lib/utils/escapeHtml.js +1 -1
  222. package/lib/utils/filter-schema.d.ts +2 -1
  223. package/lib/utils/filter-schema.js +14 -4
  224. package/lib/utils/filter.js +1 -1
  225. package/lib/utils/formatDuration.js +1 -1
  226. package/lib/utils/formula.js +1 -1
  227. package/lib/utils/getVariable.js +1 -1
  228. package/lib/utils/grammar.js +1 -1
  229. package/lib/utils/handleAction.js +1 -1
  230. package/lib/utils/helper.js +1 -1
  231. package/lib/utils/highlight.js +1 -1
  232. package/lib/utils/icon.js +1 -1
  233. package/lib/utils/image.js +1 -1
  234. package/lib/utils/isPureVariable.js +1 -1
  235. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  236. package/lib/utils/keyToPath.js +1 -1
  237. package/lib/utils/makeSorter.js +1 -1
  238. package/lib/utils/math.js +1 -1
  239. package/lib/utils/memoryParse.js +1 -1
  240. package/lib/utils/normalizeLink.js +1 -1
  241. package/lib/utils/normalizeOptions.js +1 -1
  242. package/lib/utils/object.js +1 -1
  243. package/lib/utils/offset.js +1 -1
  244. package/lib/utils/offsetParent.js +1 -1
  245. package/lib/utils/optionValueCompare.js +1 -1
  246. package/lib/utils/position.js +1 -1
  247. package/lib/utils/prettyBytes.js +1 -1
  248. package/lib/utils/renderer-event.js +1 -1
  249. package/lib/utils/replaceText.js +1 -1
  250. package/lib/utils/resize-sensor.js +1 -1
  251. package/lib/utils/resolveCondition.js +1 -1
  252. package/lib/utils/resolveVariable.js +1 -1
  253. package/lib/utils/resolveVariableAndFilter.js +1 -1
  254. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  255. package/lib/utils/scrollPosition.js +1 -1
  256. package/lib/utils/string2regExp.js +1 -1
  257. package/lib/utils/stripNumber.js +1 -1
  258. package/lib/utils/style-helper.js +5 -3
  259. package/lib/utils/style.js +1 -1
  260. package/lib/utils/toNumber.js +1 -1
  261. package/lib/utils/tokenize.js +1 -1
  262. package/lib/utils/tpl-builtin.js +1 -1
  263. package/lib/utils/tpl-lodash.js +1 -1
  264. package/lib/utils/tpl.js +1 -1
  265. package/lib/utils/uncontrollable.js +1 -1
  266. package/lib/utils/validations.js +1 -1
  267. 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.3
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
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -533,12 +533,12 @@ function registerOptionsControl(config) {
533
533
  if (idx === void 0) { idx = -1; }
534
534
  if (skipForm === void 0) { skipForm = false; }
535
535
  return tslib.__awaiter(this, void 0, void 0, function () {
536
- 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;
537
537
  var _e;
538
538
  return tslib.__generator(this, function (_f) {
539
539
  switch (_f.label) {
540
540
  case 0:
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, 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;
542
542
  // 禁用或者没有配置 name
543
543
  if (disabled || !model) {
544
544
  return [2 /*return*/];
@@ -623,7 +623,8 @@ function registerOptionsControl(config) {
623
623
  if (isPrevented) {
624
624
  return [2 /*return*/];
625
625
  }
626
- 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];
627
628
  return [4 /*yield*/, this.deferLoad(parent)];
628
629
  case 9:
629
630
  _f.sent();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
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.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -567,9 +567,7 @@ function wrapControl(ComposedComponent) {
567
567
  formItem: this.model,
568
568
  formMode: control.mode || formMode,
569
569
  ref: this.controlRef,
570
- data: model
571
- ? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
572
- : data || (store === null || store === void 0 ? void 0 : store.data),
570
+ data: data || (store === null || store === void 0 ? void 0 : store.data),
573
571
  name: (_c = model === null || model === void 0 ? void 0 : model.name) !== null && _c !== void 0 ? _c : control.name,
574
572
  value: value,
575
573
  changeMotivation: model === null || model === void 0 ? void 0 : model.changeMotivation,
@@ -582,8 +580,8 @@ function wrapControl(ComposedComponent) {
582
580
  prinstine: model ? model.prinstine : undefined,
583
581
  setPrinstineValue: this.setPrinstineValue,
584
582
  onValidate: this.validate,
585
- onFlushChange: this.flushChange,
586
- render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
583
+ onFlushChange: this.flushChange
584
+ // render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
587
585
  // !没了这个, tree 里的 options 渲染会出问题
588
586
  // todo 理论上不应该影响,待确认
589
587
  // _filteredOptions: this.model?.filteredOptions
package/lib/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,11 +1,17 @@
1
1
  import { Instance } from 'mobx-state-tree';
2
2
  import { Api, fetchOptions, ActionObject } from '../types';
3
+ import type { MatchSorterOptions } from 'match-sorter';
3
4
  interface MatchFunc {
4
5
  (items: any, itemsRaw: any,
5
6
  /** 相关配置 */
6
7
  options?: {
7
8
  query: Record<string, any>;
8
9
  columns: any;
10
+ /**
11
+ * match-sorter 匹配函数
12
+ * @doc https://github.com/kentcdodds/match-sorter
13
+ */
14
+ matchSorter: (items: any[], value: string, options?: MatchSorterOptions<any>) => any[];
9
15
  }): any;
10
16
  }
11
17
  export declare const CRUDStore: import("mobx-state-tree").IModelType<{
@@ -120,7 +126,7 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
120
126
  columns?: Array<any>;
121
127
  isTable2?: Boolean;
122
128
  }) => Promise<any>;
123
- changePage: (page: number, perPage?: number | string) => void;
129
+ changePage: (page: number | string, perPage?: number | string) => void;
124
130
  changePerPage: (perPage: number | string) => void;
125
131
  selectAction: (action: ActionObject) => void;
126
132
  saveRemote: (api: Api, data?: object, options?: fetchOptions) => Promise<any>;
@@ -138,6 +144,8 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
138
144
  api?: Api | undefined;
139
145
  data?: any;
140
146
  filename?: string | undefined;
147
+ pageField?: string | undefined;
148
+ perPageField?: string | undefined;
141
149
  }) => Promise<void>;
142
150
  updateColumns: (columns: Array<any>) => void;
143
151
  updateTotal: (total: number) => void;
package/lib/store/crud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -148,7 +148,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
148
148
  if (matchFunc && typeof matchFunc === 'function') {
149
149
  items_1 = matchFunc(items_1, self.data.itemsRaw, {
150
150
  query: self.query,
151
- columns: options.columns
151
+ columns: options.columns,
152
+ matchSorter: matchSorter.matchSorter
152
153
  });
153
154
  }
154
155
  else {
@@ -274,8 +275,11 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
274
275
  }
275
276
  data_2 = tslib.__assign(tslib.__assign(tslib.__assign({}, (api$1.replaceData ? {} : self.pristine)), { items: rowsData, count: count, total: total }), rest);
276
277
  if (options.loadDataOnce) {
277
- // 记录原始集合,后续可能基于原始数据做排序查找。
278
- data_2.itemsRaw = oItems || oRows;
278
+ /**
279
+ * 1. 记录原始集合,后续可能基于原始数据做排序查找。
280
+ * 2. 接口返回中没有 items 和 rows 字段,则直接用查到的数据。
281
+ */
282
+ data_2.itemsRaw = oItems || oRows || rowsData.concat();
279
283
  filteredItems_1 = rowsData.concat();
280
284
  if (Array.isArray(options.columns)) {
281
285
  options.columns.forEach(function (column) {
@@ -359,11 +363,13 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
359
363
  });
360
364
  });
361
365
  function changePage(page, perPage) {
362
- self.page = page;
366
+ var pageNum = typeof page !== 'number' ? parseInt(page, 10) : page;
367
+ self.page = isNaN(pageNum) ? 1 : pageNum;
363
368
  perPage && changePerPage(perPage);
364
369
  }
365
370
  function changePerPage(perPage) {
366
- self.perPage = parseInt(perPage, 10);
371
+ var perPageNum = typeof perPage !== 'number' ? parseInt(perPage, 10) : perPage;
372
+ self.perPage = isNaN(perPageNum) ? 10 : perPageNum;
367
373
  }
368
374
  function selectAction(action) {
369
375
  self.selectedAction = action;
@@ -461,7 +467,8 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
461
467
  if (matchFunc && typeof matchFunc === 'function') {
462
468
  items = matchFunc(items, items.concat(), {
463
469
  query: self.query,
464
- columns: options.columns
470
+ columns: options.columns,
471
+ matchSorter: matchSorter.matchSorter
465
472
  });
466
473
  }
467
474
  else {
@@ -477,6 +484,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
477
484
  if (value.length > 0) {
478
485
  var arr_3 = tslib.__spreadArray([], tslib.__read(items), false);
479
486
  var arrItems_3 = [];
487
+ /** 搜索 query 值为数组的情况 */
480
488
  value.forEach(function (item) {
481
489
  arrItems_3 = tslib.__spreadArray(tslib.__spreadArray([], tslib.__read(arrItems_3), false), tslib.__read(matchSorter.matchSorter(arr_3, item, {
482
490
  keys: [key],
@@ -512,19 +520,27 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
512
520
  var exportAsCSV = function (options) {
513
521
  if (options === void 0) { options = {}; }
514
522
  return tslib.__awaiter(void 0, void 0, void 0, function () {
515
- var items, filename, env, res;
516
- return tslib.__generator(this, function (_a) {
517
- switch (_a.label) {
523
+ var items, filename, pageField, perPageField, env, ctx, res;
524
+ var _a;
525
+ return tslib.__generator(this, function (_b) {
526
+ switch (_b.label) {
518
527
  case 0:
519
528
  items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;
520
529
  filename = options.filename
521
530
  ? tpl.filter(options.filename, options.data, '| raw')
522
531
  : 'data';
523
532
  if (!options.api) return [3 /*break*/, 2];
533
+ pageField = options.pageField || 'page';
534
+ perPageField = options.perPageField || 'perPage';
524
535
  env = mobxStateTree.getEnv(self);
525
- return [4 /*yield*/, env.fetcher(options.api, options.data)];
536
+ ctx = object.createObject(self.data, tslib.__assign(tslib.__assign(tslib.__assign({}, self.query), options.data), (_a = {}, _a[pageField] = self.page || 1, _a[perPageField] = self.perPage || 10, _a)));
537
+ return [4 /*yield*/, env.fetcher(options.api, ctx, {
538
+ autoAppend: true,
539
+ pageField: pageField,
540
+ perPageField: perPageField
541
+ })];
526
542
  case 1:
527
- res = _a.sent();
543
+ res = _b.sent();
528
544
  if (!res.data) {
529
545
  return [2 /*return*/];
530
546
  }
@@ -534,7 +550,7 @@ var CRUDStore = service.ServiceStore.named('CRUDStore')
534
550
  else {
535
551
  items = res.data.rows || res.data.items;
536
552
  }
537
- _a.label = 2;
553
+ _b.label = 2;
538
554
  case 2:
539
555
  Promise.resolve().then(function() {return new Promise(function(fullfill) {require(['papaparse'], function(mod) {fullfill(tslib.__importStar(mod))})})}).then(function (papaparse) {
540
556
  var e_4, _a;
package/lib/store/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -340,7 +340,7 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
340
340
  }
341
341
  var validateCancel = null;
342
342
  var validate = mobxStateTree.flow(function validate(data, hook, customRules) {
343
- var json, combo, group;
343
+ var json, err_1, combo, group;
344
344
  var _a;
345
345
  var _b, _c, _d, _e, _f;
346
346
  return tslib.__generator(this, function (_g) {
@@ -358,24 +358,33 @@ var FormItemStore = node.StoreNode.named('FormItemStore')
358
358
  _g.label = 2;
359
359
  case 2:
360
360
  addError(validations.validate(self.tmpValue, data, customRules ? validations.str2rules(customRules) : self.rules, self.messages, self.__));
361
- if (!(!self.errors.length && api.isEffectiveApi(self.validateApi, data))) return [3 /*break*/, 4];
361
+ if (!(!self.errors.length && api.isEffectiveApi(self.validateApi, data))) return [3 /*break*/, 6];
362
362
  if (validateCancel) {
363
363
  validateCancel();
364
364
  validateCancel = null;
365
365
  }
366
+ _g.label = 3;
367
+ case 3:
368
+ _g.trys.push([3, 5, , 6]);
366
369
  return [4 /*yield*/, mobxStateTree.getEnv(self).fetcher(self.validateApi,
367
370
  /** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
368
371
  object.createObject(data, (_a = {}, _a[self.name] = self.tmpValue, _a)), {
369
- cancelExecutor: function (executor) { return (validateCancel = executor); }
372
+ cancelExecutor: function (executor) {
373
+ return (validateCancel = executor);
374
+ }
370
375
  })];
371
- case 3:
376
+ case 4:
372
377
  json = _g.sent();
373
378
  validateCancel = null;
374
379
  if (!json.ok && json.status === 422 && json.errors) {
375
380
  addError(String((_d = (_c = (_b = self.validateApi) === null || _b === void 0 ? void 0 : _b.messages) === null || _c === void 0 ? void 0 : _c.failed) !== null && _d !== void 0 ? _d : (json.errors || json.msg || "\u8868\u5355\u9879\u300C".concat(self.name, "\u300D\u6821\u9A8C\u5931\u8D25"))));
376
381
  }
377
- _g.label = 4;
378
- case 4:
382
+ return [3 /*break*/, 6];
383
+ case 5:
384
+ err_1 = _g.sent();
385
+ addError(String(err_1));
386
+ return [3 /*break*/, 6];
387
+ case 6:
379
388
  self.validated = true;
380
389
  if (self.unique && ((_f = (_e = self.form) === null || _e === void 0 ? void 0 : _e.parentStore) === null || _f === void 0 ? void 0 : _f.storeType) === 'ComboStore') {
381
390
  combo = self.form.parentStore;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/store/list.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/store/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/store/root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
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.3
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.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -304,6 +304,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
304
304
  searchFormExpanded: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
305
305
  lazyRenderAfter: import("mobx-state-tree").IType<number | undefined, number, number>;
306
306
  tableLayout: import("mobx-state-tree").IType<string | undefined, string, string>;
307
+ theadHeight: import("mobx-state-tree").IType<number | undefined, number, number>;
307
308
  }, {
308
309
  readonly parentStore: any;
309
310
  readonly __: any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -402,7 +402,8 @@ var TableStore = iRenderer.iRendererStore
402
402
  exportExcelLoading: false,
403
403
  searchFormExpanded: false,
404
404
  lazyRenderAfter: 100,
405
- tableLayout: 'auto'
405
+ tableLayout: 'auto',
406
+ theadHeight: 0
406
407
  })
407
408
  .views(function (self) {
408
409
  function getColumnsExceptBuiltinTypes() {
@@ -755,7 +756,7 @@ var TableStore = iRenderer.iRendererStore
755
756
  return self.rows.concat();
756
757
  },
757
758
  buildStyles: function (style) {
758
- style = tslib.__assign({}, style);
759
+ style = tslib.__assign(tslib.__assign({}, style), { '--Table-thead-height': self.theadHeight + 'px' });
759
760
  getFilteredColumns().forEach(function (column) {
760
761
  style["--Table-column-".concat(column.index, "-width")] =
761
762
  column.realWidth + 'px';
@@ -788,14 +789,7 @@ var TableStore = iRenderer.iRendererStore
788
789
  : 'asc'
789
790
  : self.orderDir);
790
791
  }
791
- if (config.multiple !== undefined) {
792
- self.multiple = config.multiple;
793
- }
794
- else {
795
- // 如果通过crud或picker,multiple始终设置了true或false
796
- // 如果仅使用table,默认multiple为true,但props未设置multiple的情况下其实是展示单选
797
- self.multiple = false;
798
- }
792
+ config.multiple !== undefined && (self.multiple = config.multiple);
799
793
  config.footable !== undefined && (self.footable = config.footable);
800
794
  config.expandConfig !== undefined &&
801
795
  (self.expandConfig = config.expandConfig);
@@ -960,7 +954,9 @@ var TableStore = iRenderer.iRendererStore
960
954
  if (!table) {
961
955
  return;
962
956
  }
963
- var cols = [].slice.call(table.querySelectorAll(':scope>thead>tr>th[data-index]'));
957
+ var thead = table.querySelector(':scope>thead');
958
+ var cols = [].slice.call(thead.querySelectorAll('tr>th[data-index]'));
959
+ self.theadHeight = thead.offsetHeight;
964
960
  cols.forEach(function (col) {
965
961
  var index = parseInt(col.getAttribute('data-index'), 10);
966
962
  var column = self.columns[index];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.3
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5