amis-core 3.0.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 (323) 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 +3 -2
  6. package/esm/SchemaRenderer.js +26 -20
  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 +12 -4
  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 +19 -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 +1 -1
  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 +3 -2
  45. package/esm/factory.js +1 -1
  46. package/esm/index.d.ts +4 -2
  47. package/esm/index.js +49 -28
  48. package/esm/locale.d.ts +2 -2
  49. package/esm/locale.js +10 -3
  50. package/esm/renderers/Form.d.ts +2 -1
  51. package/esm/renderers/Form.js +216 -180
  52. package/esm/renderers/Item.d.ts +55 -41
  53. package/esm/renderers/Item.js +24 -16
  54. package/esm/renderers/Options.js +9 -2
  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 +12 -4
  66. package/esm/store/form.d.ts +1 -0
  67. package/esm/store/form.js +10 -4
  68. package/esm/store/formItem.js +1 -1
  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 +1 -1
  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 +4 -0
  87. package/esm/store/table.js +10 -2
  88. package/esm/store/table2.d.ts +2 -1
  89. package/esm/store/table2.js +6 -6
  90. package/esm/theme.d.ts +1 -1
  91. package/esm/theme.js +1 -1
  92. package/esm/types.d.ts +1 -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 +6 -4
  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 +1 -1
  108. package/esm/utils/decodeEntity.js +1 -1
  109. package/esm/utils/dom.d.ts +2 -1
  110. package/esm/utils/dom.js +1 -1
  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 +1 -1
  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 +2 -2
  121. package/esm/utils/helper.js +25 -18
  122. package/esm/utils/highlight.js +1 -1
  123. package/esm/utils/icon.d.ts +1 -1
  124. package/esm/utils/icon.js +1 -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 +1 -1
  142. package/esm/utils/replaceText.js +1 -1
  143. package/esm/utils/resize-sensor.js +1 -1
  144. package/esm/utils/resolveCondition.js +1 -1
  145. package/esm/utils/resolveVariable.js +4 -3
  146. package/esm/utils/resolveVariableAndFilter.js +1 -1
  147. package/esm/utils/resolveVariableAndFilterForAsync.js +5 -4
  148. package/esm/utils/scrollPosition.js +1 -1
  149. package/esm/utils/string2regExp.js +1 -1
  150. package/esm/utils/stripNumber.js +1 -1
  151. package/esm/utils/style-helper.d.ts +5 -2
  152. package/esm/utils/style-helper.js +18 -6
  153. package/esm/utils/style.js +1 -1
  154. package/esm/utils/toNumber.js +1 -1
  155. package/esm/utils/tokenize.d.ts +0 -1
  156. package/esm/utils/tokenize.js +3 -34
  157. package/esm/utils/tpl-builtin.js +5 -3
  158. package/esm/utils/tpl-lodash.js +1 -1
  159. package/esm/utils/tpl.js +1 -1
  160. package/esm/utils/uncontrollable.js +1 -1
  161. package/esm/utils/validations.js +1 -1
  162. package/lib/Root.d.ts +89 -4
  163. package/lib/Root.js +15 -4
  164. package/lib/RootRenderer.d.ts +3 -1
  165. package/lib/RootRenderer.js +8 -2
  166. package/lib/SchemaRenderer.d.ts +3 -2
  167. package/lib/SchemaRenderer.js +26 -20
  168. package/lib/Scoped.d.ts +8 -0
  169. package/lib/Scoped.js +20 -4
  170. package/lib/StatusScoped.d.ts +58 -0
  171. package/lib/StatusScoped.js +63 -0
  172. package/lib/WithRootStore.d.ts +2 -2
  173. package/lib/WithRootStore.js +1 -1
  174. package/lib/WithStore.js +6 -2
  175. package/lib/actions/Action.d.ts +1 -0
  176. package/lib/actions/Action.js +12 -4
  177. package/lib/actions/AjaxAction.js +1 -1
  178. package/lib/actions/BreakAction.js +1 -1
  179. package/lib/actions/BroadcastAction.js +1 -1
  180. package/lib/actions/CmptAction.js +8 -7
  181. package/lib/actions/ContinueAction.js +1 -1
  182. package/lib/actions/CopyAction.js +1 -1
  183. package/lib/actions/CustomAction.js +4 -4
  184. package/lib/actions/DialogAction.d.ts +16 -2
  185. package/lib/actions/DialogAction.js +19 -7
  186. package/lib/actions/DrawerAction.js +1 -1
  187. package/lib/actions/EmailAction.js +1 -1
  188. package/lib/actions/LinkAction.js +1 -1
  189. package/lib/actions/LoopAction.js +1 -1
  190. package/lib/actions/PageAction.js +1 -1
  191. package/lib/actions/ParallelAction.js +1 -1
  192. package/lib/actions/SwitchAction.js +1 -1
  193. package/lib/actions/ToastAction.js +1 -1
  194. package/lib/components/CustomStyle.d.ts +13 -0
  195. package/lib/components/CustomStyle.js +22 -0
  196. package/lib/components/LazyComponent.d.ts +1 -1
  197. package/lib/components/LazyComponent.js +1 -1
  198. package/lib/components/Overlay.d.ts +1 -1
  199. package/lib/components/Overlay.js +1 -1
  200. package/lib/components/PopOver.d.ts +2 -2
  201. package/lib/components/PopOver.js +1 -1
  202. package/lib/env.d.ts +10 -2
  203. package/lib/env.js +1 -1
  204. package/lib/envOverwrite.js +1 -5
  205. package/lib/factory.d.ts +3 -2
  206. package/lib/factory.js +1 -1
  207. package/lib/index.d.ts +4 -2
  208. package/lib/index.js +50 -24
  209. package/lib/locale.d.ts +2 -2
  210. package/lib/locale.js +10 -3
  211. package/lib/renderers/Form.d.ts +2 -1
  212. package/lib/renderers/Form.js +215 -179
  213. package/lib/renderers/Item.d.ts +55 -41
  214. package/lib/renderers/Item.js +24 -16
  215. package/lib/renderers/Options.js +9 -2
  216. package/lib/renderers/Placeholder.js +1 -1
  217. package/lib/renderers/builtin.js +1 -1
  218. package/lib/renderers/register.js +1 -1
  219. package/lib/renderers/wrapControl.d.ts +2 -2
  220. package/lib/renderers/wrapControl.js +12 -15
  221. package/lib/store/app.d.ts +1 -0
  222. package/lib/store/app.js +1 -1
  223. package/lib/store/combo.d.ts +3 -0
  224. package/lib/store/combo.js +1 -1
  225. package/lib/store/crud.d.ts +2 -0
  226. package/lib/store/crud.js +12 -4
  227. package/lib/store/form.d.ts +1 -0
  228. package/lib/store/form.js +10 -4
  229. package/lib/store/formItem.js +1 -1
  230. package/lib/store/iRenderer.d.ts +1 -0
  231. package/lib/store/iRenderer.js +53 -12
  232. package/lib/store/index.js +1 -1
  233. package/lib/store/list.d.ts +1 -0
  234. package/lib/store/list.js +7 -3
  235. package/lib/store/manager.js +1 -1
  236. package/lib/store/modal.d.ts +1 -0
  237. package/lib/store/modal.js +1 -1
  238. package/lib/store/node.js +1 -1
  239. package/lib/store/pagination.d.ts +1 -0
  240. package/lib/store/pagination.js +1 -1
  241. package/lib/store/root.d.ts +4 -6
  242. package/lib/store/root.js +52 -23
  243. package/lib/store/service.d.ts +1 -0
  244. package/lib/store/service.js +1 -1
  245. package/lib/store/status.d.ts +12 -0
  246. package/lib/store/status.js +42 -0
  247. package/lib/store/table.d.ts +4 -0
  248. package/lib/store/table.js +10 -2
  249. package/lib/store/table2.d.ts +2 -1
  250. package/lib/store/table2.js +6 -6
  251. package/lib/theme.d.ts +1 -1
  252. package/lib/theme.js +1 -1
  253. package/lib/types.d.ts +1 -1
  254. package/lib/utils/Animation.js +1 -1
  255. package/lib/utils/ColorScale.js +1 -1
  256. package/lib/utils/DataSchema.js +1 -1
  257. package/lib/utils/DataScope.d.ts +3 -5
  258. package/lib/utils/DataScope.js +86 -29
  259. package/lib/utils/RootClose.js +1 -1
  260. package/lib/utils/SimpleMap.js +1 -1
  261. package/lib/utils/api.js +5 -3
  262. package/lib/utils/attachmentAdpator.js +2 -2
  263. package/lib/utils/autobind.js +1 -1
  264. package/lib/utils/columnsSplit.js +1 -1
  265. package/lib/utils/dataMapping.js +1 -1
  266. package/lib/utils/date.d.ts +7 -0
  267. package/lib/utils/date.js +34 -1
  268. package/lib/utils/debug.js +1 -1
  269. package/lib/utils/decodeEntity.js +1 -1
  270. package/lib/utils/dom.d.ts +2 -1
  271. package/lib/utils/dom.js +1 -1
  272. package/lib/utils/errors.js +1 -1
  273. package/lib/utils/escapeHtml.js +1 -1
  274. package/lib/utils/filter-schema.js +1 -1
  275. package/lib/utils/filter.js +1 -1
  276. package/lib/utils/formatDuration.js +1 -1
  277. package/lib/utils/formula.js +1 -1
  278. package/lib/utils/getVariable.js +1 -1
  279. package/lib/utils/grammar.js +3 -3
  280. package/lib/utils/handleAction.js +1 -1
  281. package/lib/utils/helper.d.ts +2 -2
  282. package/lib/utils/helper.js +25 -18
  283. package/lib/utils/highlight.js +1 -1
  284. package/lib/utils/icon.d.ts +1 -1
  285. package/lib/utils/icon.js +1 -1
  286. package/lib/utils/image.js +1 -1
  287. package/lib/utils/isPureVariable.js +3 -3
  288. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  289. package/lib/utils/keyToPath.js +1 -1
  290. package/lib/utils/makeSorter.js +1 -1
  291. package/lib/utils/memoryParse.d.ts +17 -0
  292. package/lib/utils/memoryParse.js +30 -0
  293. package/lib/utils/normalizeLink.js +1 -1
  294. package/lib/utils/normalizeOptions.js +4 -2
  295. package/lib/utils/object.d.ts +2 -0
  296. package/lib/utils/object.js +28 -1
  297. package/lib/utils/offset.js +1 -1
  298. package/lib/utils/offsetParent.js +1 -1
  299. package/lib/utils/optionValueCompare.js +1 -1
  300. package/lib/utils/position.js +1 -1
  301. package/lib/utils/prettyBytes.js +1 -1
  302. package/lib/utils/renderer-event.js +1 -1
  303. package/lib/utils/replaceText.js +1 -1
  304. package/lib/utils/resize-sensor.js +1 -1
  305. package/lib/utils/resolveCondition.js +1 -1
  306. package/lib/utils/resolveVariable.js +3 -2
  307. package/lib/utils/resolveVariableAndFilter.js +1 -1
  308. package/lib/utils/resolveVariableAndFilterForAsync.js +4 -3
  309. package/lib/utils/scrollPosition.js +1 -1
  310. package/lib/utils/string2regExp.js +1 -1
  311. package/lib/utils/stripNumber.js +1 -1
  312. package/lib/utils/style-helper.d.ts +5 -2
  313. package/lib/utils/style-helper.js +18 -6
  314. package/lib/utils/style.js +1 -1
  315. package/lib/utils/toNumber.js +1 -1
  316. package/lib/utils/tokenize.d.ts +0 -1
  317. package/lib/utils/tokenize.js +1 -33
  318. package/lib/utils/tpl-builtin.js +4 -2
  319. package/lib/utils/tpl-lodash.js +1 -1
  320. package/lib/utils/tpl.js +1 -1
  321. package/lib/utils/uncontrollable.js +1 -1
  322. package/lib/utils/validations.js +1 -1
  323. package/package.json +3 -3
package/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-core v3.0.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
- import { __assign } from 'tslib';
6
+ import { __assign, __rest } from 'tslib';
7
7
  import { stores, defaultOptions } from './factory.js';
8
8
  export { Renderer, addSchemaFilter, clearStoresCache, extendDefaultEnv, filterSchema, getRendererByName, getRenderers, registerRenderer, resolveRenderer, unRegisterRenderer, updateEnv } from './factory.js';
9
9
  import './renderers/builtin.js';
@@ -17,7 +17,7 @@ export { columnsSplit } from './utils/columnsSplit.js';
17
17
  export { dataMapping, resolveMapping, resolveMappingObject } from './utils/dataMapping.js';
18
18
  export { DataSchema } from './utils/DataSchema.js';
19
19
  export { DataScope } from './utils/DataScope.js';
20
- export { filterDate, parseDuration, relativeValueRe } from './utils/date.js';
20
+ export { filterDate, normalizeDate, parseDuration, relativeValueRe } from './utils/date.js';
21
21
  import { enableDebug } from './utils/debug.js';
22
22
  export { DebugWrapper, debug, enableDebug, warning } from './utils/debug.js';
23
23
  export { calculatePosition, getContainer, getStyleNumber, ownerDocument, renderTextByKeyword } from './utils/dom.js';
@@ -43,7 +43,7 @@ export { keyToPath } from './utils/keyToPath.js';
43
43
  export { makeSorter } from './utils/makeSorter.js';
44
44
  export { normalizeLink } from './utils/normalizeLink.js';
45
45
  export { normalizeOptions } from './utils/normalizeOptions.js';
46
- export { cloneObject, createObject, deleteVariable, extendObject, isObject, pickValues, setVariable } from './utils/object.js';
46
+ export { cloneObject, createObject, createObjectFromChain, deleteVariable, extendObject, extractObjectChain, isObject, pickValues, setVariable } from './utils/object.js';
47
47
  export { offset } from './utils/offset.js';
48
48
  export { offsetParent } from './utils/offsetParent.js';
49
49
  export { matchOptionValue, optionValueCompare } from './utils/optionValueCompare.js';
@@ -61,7 +61,7 @@ export { scrollPosition } from './utils/scrollPosition.js';
61
61
  export { SimpleMap } from './utils/SimpleMap.js';
62
62
  export { string2regExp } from './utils/string2regExp.js';
63
63
  export { buildStyle } from './utils/style.js';
64
- export { asyncTokenize, tokenize } from './utils/tokenize.js';
64
+ export { tokenize } from './utils/tokenize.js';
65
65
  export { register } from './utils/tpl-builtin.js';
66
66
  export { asyncFilter, evalExpression, evalExpressionWithConditionBuilder, evalJS, filter, registerTplEnginer, setCustomEvalExpression, setCustomEvalJs } from './utils/tpl.js';
67
67
  export { uncontrollable } from './utils/uncontrollable.js';
@@ -76,7 +76,7 @@ export { RegisterStore, RendererStore } from './store/index.js';
76
76
  import { getEnv } from 'mobx-state-tree';
77
77
  import { getDefaultLocale, makeTranslator } from './locale.js';
78
78
  export { extendLocale, getDefaultLocale, localeable, makeTranslator, register as registerLocale, removeLocaleData, setDefaultLocale } from './locale.js';
79
- export { HocScoped as Scoped, ScopedContext } from './Scoped.js';
79
+ export { HocScoped as Scoped, ScopedContext, filterTarget } from './Scoped.js';
80
80
  import { getClassPrefix, getTheme } from './theme.js';
81
81
  export { classnames, getClassPrefix, getTheme, makeClassnames, setDefaultTheme, theme, themeable } from './theme.js';
82
82
  import './actions/LoopAction.js';
@@ -110,6 +110,8 @@ export { default as Overlay } from './components/Overlay.js';
110
110
  export { default as PopOver } from './components/PopOver.js';
111
111
  export { FormRenderer } from './renderers/Form.js';
112
112
  export { RENDERER_TRANSMISSION_OMIT_PROPS } from './SchemaRenderer.js';
113
+ export { default as CustomStyle } from './components/CustomStyle.js';
114
+ export { StatusScoped } from './StatusScoped.js';
113
115
  export { stripNumber } from './utils/stripNumber.js';
114
116
  export { iRendererStore } from './store/iRenderer.js';
115
117
  export { ServiceStore } from './store/service.js';
@@ -134,35 +136,52 @@ export { StoreNode } from './store/node.js';
134
136
  */
135
137
  var classPrefix = getClassPrefix();
136
138
  // @ts-ignore
137
- var version = '3.0.0';
139
+ var version = '3.1.0';
138
140
  function render(schema, props, options, pathPrefix) {
139
141
  if (props === void 0) { props = {}; }
140
142
  if (options === void 0) { options = {}; }
141
143
  if (pathPrefix === void 0) { pathPrefix = ''; }
144
+ return (React.createElement(AMISRenderer, __assign({}, props, { schema: schema, pathPrefix: pathPrefix, options: options })));
145
+ }
146
+ function AMISRenderer(_a) {
147
+ var schema = _a.schema, options = _a.options, pathPrefix = _a.pathPrefix, props = __rest(_a, ["schema", "options", "pathPrefix"]);
142
148
  var locale = props.locale || getDefaultLocale();
143
149
  // 兼容 locale 的不同写法
144
- locale = locale.replace('_', '-');
145
- locale = locale === 'en' ? 'en-US' : locale;
146
- locale = locale === 'zh' ? 'zh-CN' : locale;
147
- locale = locale === 'cn' ? 'zh-CN' : locale;
148
- var translate = props.translate || makeTranslator(locale);
149
- var store = stores[options.session || 'global'];
150
- // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
151
- envOverwrite(schema, locale);
152
- if (!store) {
153
- options = __assign(__assign(__assign({}, defaultOptions), options), { fetcher: options.fetcher
154
- ? wrapFetcher(options.fetcher, options.tracker)
155
- : defaultOptions.fetcher, confirm: promisify(options.confirm || defaultOptions.confirm || window.confirm), locale: locale, translate: translate });
156
- if (options.enableAMISDebug) {
157
- // 因为里面还有 render
158
- setTimeout(function () {
159
- enableDebug();
160
- }, 10);
150
+ locale =
151
+ locale === 'en'
152
+ ? 'en-US'
153
+ : locale === 'zh' || locale === 'cn'
154
+ ? 'zh-CN'
155
+ : locale.replace('_', '-');
156
+ var translate = React.useCallback(function () {
157
+ var fn = props.translate || makeTranslator(locale);
158
+ return fn.apply(null, arguments);
159
+ }, [locale, props.translate]);
160
+ var store = React.useMemo(function () {
161
+ var store = stores[options.session || 'global'];
162
+ if (!store) {
163
+ options = __assign(__assign(__assign({}, defaultOptions), options), { fetcher: options.fetcher
164
+ ? wrapFetcher(options.fetcher, options.tracker)
165
+ : defaultOptions.fetcher, confirm: promisify(options.confirm || defaultOptions.confirm || window.confirm), locale: locale, translate: translate });
166
+ if (options.enableAMISDebug) {
167
+ // 因为里面还有 render
168
+ setTimeout(function () {
169
+ enableDebug();
170
+ }, 10);
171
+ }
172
+ store = RendererStore.create({}, options);
173
+ stores[options.session || 'global'] = store;
161
174
  }
162
- store = RendererStore.create({}, options);
163
- stores[options.session || 'global'] = store;
164
- }
165
- window.amisStore = store; // 为了方便 debug.
175
+ else {
176
+ // 更新 env
177
+ var env_1 = getEnv(store);
178
+ Object.assign(env_1, __assign(__assign({}, options), { fetcher: options.fetcher
179
+ ? wrapFetcher(options.fetcher, options.tracker)
180
+ : env_1.fetcher, confirm: options.confirm ? promisify(options.confirm) : env_1.confirm, locale: locale, translate: translate }));
181
+ }
182
+ window.amisStore = store; // 为了方便 debug.
183
+ return store;
184
+ }, Object.keys(options).concat(Object.values(options)).concat(locale));
166
185
  var env = getEnv(store);
167
186
  var theme = props.theme || options.theme || 'cxd';
168
187
  if (theme === 'default') {
@@ -177,6 +196,8 @@ function render(schema, props, options, pathPrefix) {
177
196
  if (options.useMobileUI !== false) {
178
197
  props.useMobileUI = true;
179
198
  }
199
+ // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
200
+ envOverwrite(schema, locale);
180
201
  schema = replaceText(schema, options.replaceText, env.replaceTextIgnoreKeys);
181
202
  return (React.createElement(EnvContext.Provider, { value: env },
182
203
  React.createElement(ScopedRootRenderer, __assign({}, props, { schema: schema, pathPrefix: pathPrefix, rootStore: store, env: env, theme: theme, locale: locale, translate: translate }))));
package/esm/locale.d.ts CHANGED
@@ -5,7 +5,7 @@ interface LocaleConfig {
5
5
  [propsName: string]: string;
6
6
  }
7
7
  export declare function register(name: string, config: LocaleConfig): void;
8
- export declare function extendLocale(name: string, config: LocaleConfig): void;
8
+ export declare function extendLocale(name: string, config: LocaleConfig, cover?: boolean): void;
9
9
  /** 删除语料数据 */
10
10
  export declare function removeLocaleData(name: string, key: Array<string> | string): void;
11
11
  export declare function makeTranslator(locale?: string): TranslateFn;
@@ -24,7 +24,7 @@ export declare function localeable<T extends React.ComponentType<React.Component
24
24
  ref: any;
25
25
  childRef(ref: any): void;
26
26
  getWrappedInstance(): any;
27
- render(): JSX.Element;
27
+ render(): React.JSX.Element;
28
28
  context: unknown;
29
29
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof LocaleProps>> & {
30
30
  locale?: string | undefined;
package/esm/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.0.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -18,8 +18,15 @@ function register(name, config) {
18
18
  // 修改为扩展,防止已注册的语料被覆盖
19
19
  extendLocale(name, config);
20
20
  }
21
- function extendLocale(name, config) {
22
- locales[name] = __assign(__assign({}, (locales[name] || {})), config);
21
+ function extendLocale(name, config, cover) {
22
+ if (cover === void 0) { cover = true; }
23
+ if (cover) {
24
+ // 覆盖式扩展语料
25
+ locales[name] = __assign(__assign({}, (locales[name] || {})), config);
26
+ }
27
+ else {
28
+ locales[name] = __assign(__assign({}, config), (locales[name] || {}));
29
+ }
23
30
  }
24
31
  /** 删除语料数据 */
25
32
  function removeLocaleData(name, key) {
@@ -326,6 +326,7 @@ export default class Form extends React.Component<FormProps, object> {
326
326
  componentDidMount(): void;
327
327
  componentDidUpdate(prevProps: FormProps): void;
328
328
  componentWillUnmount(): void;
329
+ dispatchInited(value: any): Promise<any>;
329
330
  blockRouting(): any;
330
331
  beforePageUnload(e: any): any;
331
332
  onInit(): Promise<void>;
@@ -368,7 +369,7 @@ export default class Form extends React.Component<FormProps, object> {
368
369
  }, region?: string, otherProps?: Partial<FormProps>): React.ReactNode;
369
370
  renderChildren(children: Array<any>, region: string, otherProps?: Partial<FormProps>): React.ReactNode;
370
371
  renderChild(control: SchemaNode, key?: any, otherProps?: Partial<FormProps>, region?: string): React.ReactNode;
371
- renderBody(): JSX.Element;
372
+ renderBody(): React.JSX.Element;
372
373
  render(): JSX.Element;
373
374
  }
374
375
  export declare class FormRenderer extends Form {