amis-core 6.8.0 → 6.9.0-beta.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.
- package/esm/Root.js +1 -1
- package/esm/RootRenderer.d.ts +1 -1
- package/esm/RootRenderer.js +24 -2
- package/esm/SchemaRenderer.js +32 -17
- package/esm/Scoped.d.ts +1 -1
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +10 -10
- package/esm/actions/Action.js +1 -1
- package/esm/actions/AjaxAction.js +1 -1
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +57 -50
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +1 -1
- package/esm/actions/DialogAction.js +1 -1
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.js +1 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +1 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/PrintAction.js +1 -1
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +3 -3
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.d.ts +40 -2
- package/esm/components/LazyComponent.js +13 -7
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +1 -1
- package/esm/components/PopOver.js +1 -1
- package/esm/env.d.ts +0 -4
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +19 -2
- package/esm/factory.js +205 -45
- package/esm/index.d.ts +4 -4
- package/esm/index.js +9 -5
- package/esm/locale.d.ts +1 -1
- package/esm/locale.js +13 -2
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +5 -5
- package/esm/renderers/Form.js +27 -14
- package/esm/renderers/Item.d.ts +19 -13
- package/esm/renderers/Item.js +13 -14
- package/esm/renderers/Options.d.ts +3 -3
- package/esm/renderers/Options.js +42 -19
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.d.ts +3 -3
- package/esm/renderers/wrapControl.js +24 -10
- package/esm/store/app.d.ts +3 -3
- package/esm/store/app.js +1 -1
- package/esm/store/combo.d.ts +17 -15
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +3 -3
- package/esm/store/crud.js +1 -1
- package/esm/store/form.d.ts +8 -7
- package/esm/store/form.js +28 -6
- package/esm/store/formItem.js +3 -3
- package/esm/store/iRenderer.d.ts +4 -3
- package/esm/store/iRenderer.js +28 -4
- package/esm/store/index.d.ts +1 -0
- package/esm/store/index.js +3 -2
- package/esm/store/list.d.ts +3 -3
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +3 -3
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +3 -3
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +5 -3
- package/esm/store/root.js +45 -21
- package/esm/store/service.d.ts +3 -3
- package/esm/store/service.js +10 -4
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +17 -15
- package/esm/store/table.js +1 -1
- package/esm/store/table2.d.ts +3 -3
- package/esm/store/table2.js +1 -1
- package/esm/theme.d.ts +1 -1
- package/esm/theme.js +13 -2
- package/esm/types.d.ts +19 -2
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.js +1 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/api.d.ts +21 -1
- package/esm/utils/api.js +138 -41
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.js +1 -1
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +1 -1
- package/esm/utils/getVariable.js +1 -1
- package/esm/utils/grammar.js +1 -1
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.js +1 -1
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +4 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +1 -1
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.js +1 -1
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +1 -1
- package/esm/utils/resolveCondition.js +1 -1
- package/esm/utils/resolveVariable.js +1 -1
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/esm/utils/scrollPosition.js +1 -1
- package/esm/utils/string2regExp.js +1 -1
- package/esm/utils/stripNumber.js +1 -1
- package/esm/utils/style-helper.js +1 -1
- package/esm/utils/style.js +1 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +1 -1
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +23 -1
- package/lib/SchemaRenderer.js +30 -15
- package/lib/Scoped.d.ts +1 -1
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +10 -10
- package/lib/actions/Action.js +1 -1
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +56 -49
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +1 -1
- package/lib/actions/DialogAction.js +1 -1
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.js +1 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +1 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/PrintAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +2 -2
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.d.ts +40 -2
- package/lib/components/LazyComponent.js +14 -7
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +1 -1
- package/lib/components/PopOver.js +1 -1
- package/lib/env.d.ts +0 -4
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +19 -2
- package/lib/factory.js +211 -44
- package/lib/index.d.ts +4 -4
- package/lib/index.js +16 -2
- package/lib/locale.d.ts +1 -1
- package/lib/locale.js +13 -2
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +5 -5
- package/lib/renderers/Form.js +25 -12
- package/lib/renderers/Item.d.ts +19 -13
- package/lib/renderers/Item.js +12 -13
- package/lib/renderers/Options.d.ts +3 -3
- package/lib/renderers/Options.js +42 -19
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.d.ts +3 -3
- package/lib/renderers/wrapControl.js +24 -10
- package/lib/store/app.d.ts +3 -3
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +41 -40
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +2 -2
- package/lib/store/form.d.ts +18 -18
- package/lib/store/form.js +28 -6
- package/lib/store/formItem.js +3 -3
- package/lib/store/iRenderer.d.ts +4 -3
- package/lib/store/iRenderer.js +28 -4
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.js +3 -1
- package/lib/store/list.d.ts +3 -3
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +3 -3
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +3 -3
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +5 -3
- package/lib/store/root.js +43 -19
- package/lib/store/service.d.ts +3 -3
- package/lib/store/service.js +10 -4
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +37 -36
- package/lib/store/table.js +1 -1
- package/lib/store/table2.d.ts +3 -3
- package/lib/store/table2.js +1 -1
- package/lib/theme.d.ts +1 -1
- package/lib/theme.js +13 -2
- package/lib/types.d.ts +19 -2
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.js +1 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/api.d.ts +21 -1
- package/lib/utils/api.js +141 -40
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +2 -2
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.js +1 -1
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +1 -1
- package/lib/utils/getVariable.js +1 -1
- package/lib/utils/grammar.js +1 -1
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +4 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.js +1 -1
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.js +1 -1
- package/lib/utils/resolveVariable.js +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +1 -1
- package/lib/utils/style-helper.js +1 -1
- package/lib/utils/style.js +1 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +2 -2
package/esm/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __assign, __rest } from 'tslib';
|
|
7
7
|
import { stores, defaultOptions } from './factory.js';
|
|
8
|
-
export { Renderer, addSchemaFilter, clearStoresCache, extendDefaultEnv, filterSchema, getRendererByName, getRenderers, registerRenderer, resolveRenderer, unRegisterRenderer, updateEnv } from './factory.js';
|
|
8
|
+
export { Renderer, addSchemaFilter, clearStoresCache, extendDefaultEnv, filterSchema, getGlobalOptions, getRendererByName, getRenderers, loadAllAsyncRenderers, loadAsyncRenderer, loadAsyncRenderersByType, registerRenderer, resolveRenderer, setGlobalOptions, unRegisterRenderer, updateEnv } from './factory.js';
|
|
9
9
|
import './polyfills.js';
|
|
10
10
|
import './renderers/builtin.js';
|
|
11
11
|
import './renderers/register.js';
|
|
12
12
|
import { wrapFetcher } from './utils/api.js';
|
|
13
|
-
export { buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher } from './utils/api.js';
|
|
13
|
+
export { addApiRequestAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher } from './utils/api.js';
|
|
14
14
|
export { attachmentAdpator } from './utils/attachmentAdpator.js';
|
|
15
15
|
export { autobindMethod, bind } from './utils/autobind.js';
|
|
16
16
|
export { chromeVersion, isSafari } from './utils/browser.js';
|
|
@@ -78,7 +78,7 @@ export { arraySlice } from './utils/arraySlice.js';
|
|
|
78
78
|
export { isIntegerInRange, numberFormatter, safeAdd, safeSub } from './utils/math.js';
|
|
79
79
|
export { default as animation } from './utils/Animation.js';
|
|
80
80
|
import { RendererStore } from './store/index.js';
|
|
81
|
-
export { RegisterStore, RendererStore } from './store/index.js';
|
|
81
|
+
export { RegisterStore, RendererStore, registerStore } from './store/index.js';
|
|
82
82
|
import { getEnv } from 'mobx-state-tree';
|
|
83
83
|
import { getDefaultLocale, makeTranslator } from './locale.js';
|
|
84
84
|
export { extendLocale, getDefaultLocale, localeable, makeTranslator, register as registerLocale, removeLocaleData, setDefaultLocale } from './locale.js';
|
|
@@ -148,7 +148,11 @@ export { StoreNode } from './store/node.js';
|
|
|
148
148
|
*/
|
|
149
149
|
var classPrefix = getClassPrefix();
|
|
150
150
|
// @ts-ignore
|
|
151
|
-
var version = '6.
|
|
151
|
+
var version = '6.9.0-beta.0';
|
|
152
|
+
window.amisVersionInfo = {
|
|
153
|
+
version: '6.9.0-beta.0',
|
|
154
|
+
buildTime: '2024-10-22T11:40:53.112Z'
|
|
155
|
+
};
|
|
152
156
|
function render(schema, props, options, pathPrefix) {
|
|
153
157
|
if (props === void 0) { props = {}; }
|
|
154
158
|
if (options === void 0) { options = {}; }
|
package/esm/locale.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface LocaleProps {
|
|
|
16
16
|
translate: TranslateFn;
|
|
17
17
|
}
|
|
18
18
|
export declare const LocaleContext: React.Context<string>;
|
|
19
|
-
export declare function localeable<T extends React.ComponentType<React.ComponentProps<T> & LocaleProps>>(ComposedComponent: T): {
|
|
19
|
+
export declare function localeable<T extends React.ComponentType<React.ComponentProps<T> & LocaleProps>>(ComposedComponent: T, methods?: Array<string>): {
|
|
20
20
|
new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof LocaleProps>> & {
|
|
21
21
|
locale?: string | undefined;
|
|
22
22
|
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
package/esm/locale.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -86,7 +86,7 @@ function setDefaultLocale(locale) {
|
|
|
86
86
|
defaultLocale = locale;
|
|
87
87
|
}
|
|
88
88
|
var LocaleContext = React.createContext('');
|
|
89
|
-
function localeable(ComposedComponent) {
|
|
89
|
+
function localeable(ComposedComponent, methods) {
|
|
90
90
|
var _a;
|
|
91
91
|
var result = hoistNonReactStatic((_a = /** @class */ (function (_super) {
|
|
92
92
|
__extends(class_1, _super);
|
|
@@ -128,6 +128,17 @@ function localeable(ComposedComponent) {
|
|
|
128
128
|
_a.contextType = LocaleContext,
|
|
129
129
|
_a.ComposedComponent = ComposedComponent,
|
|
130
130
|
_a), ComposedComponent);
|
|
131
|
+
if (Array.isArray(methods)) {
|
|
132
|
+
methods.forEach(function (method) {
|
|
133
|
+
if (ComposedComponent.prototype[method]) {
|
|
134
|
+
result.prototype[method] = function () {
|
|
135
|
+
var _a;
|
|
136
|
+
var fn = (_a = this.ref) === null || _a === void 0 ? void 0 : _a[method];
|
|
137
|
+
return fn ? fn.apply(this.ref, arguments) : undefined;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
131
142
|
return result;
|
|
132
143
|
}
|
|
133
144
|
|
package/esm/polyfills.js
CHANGED
package/esm/renderers/Form.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { RendererProps } from '../factory';
|
|
4
4
|
import { IFormStore } from '../store/form';
|
|
5
|
-
import { SchemaNode, ActionObject, ClassName, BaseApiObject, SchemaExpression, SchemaClassName } from '../types';
|
|
5
|
+
import { SchemaNode, ActionObject, ClassName, BaseApiObject, SchemaExpression, SchemaClassName, DataChangeReason } from '../types';
|
|
6
6
|
import { IScopedContext } from '../Scoped';
|
|
7
7
|
import type { LabelAlign } from './Item';
|
|
8
8
|
export interface FormHorizontal {
|
|
@@ -263,7 +263,7 @@ export interface FormProps extends RendererProps, Omit<FormSchemaBase, 'mode' |
|
|
|
263
263
|
onSubmit?: (values: object, action: any) => any;
|
|
264
264
|
onChange?: (values: object, diff: object, props: any) => any;
|
|
265
265
|
onFailed?: (reason: string, errors: any) => any;
|
|
266
|
-
onFinished: (values: object, action:
|
|
266
|
+
onFinished: (values: object, action: ActionObject, store: IFormStore) => any;
|
|
267
267
|
onValidate: (values: object, form: any) => any;
|
|
268
268
|
onValidChange?: (valid: boolean, props: any) => void;
|
|
269
269
|
messages: {
|
|
@@ -338,7 +338,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
338
338
|
onInit(): Promise<void>;
|
|
339
339
|
reload(subPath?: string, query?: any, ctx?: any, silent?: boolean): Promise<any>;
|
|
340
340
|
receive(values: object, name?: string, replace?: boolean): Promise<any>;
|
|
341
|
-
silentReload(target?: string, query?: any):
|
|
341
|
+
silentReload(target?: string, query?: any): Promise<any>;
|
|
342
342
|
initInterval(value: any): any;
|
|
343
343
|
isValidated(): boolean;
|
|
344
344
|
validate(forceValidate?: boolean, throwErrors?: boolean, toastErrors?: boolean, skipFlush?: boolean): Promise<boolean>;
|
|
@@ -354,12 +354,12 @@ export default class Form extends React.Component<FormProps, object> {
|
|
|
354
354
|
reset(): void;
|
|
355
355
|
addHook(fn: () => any, type?: 'validate' | 'init' | 'flush', enforce?: 'prev' | 'post'): () => void;
|
|
356
356
|
removeHook(fn: () => any, type?: string): void;
|
|
357
|
-
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
|
|
357
|
+
handleChange(value: any, name: string, submit: boolean, changePristine?: boolean, changeReason?: DataChangeReason): void;
|
|
358
358
|
formItemDispatchEvent(type: string, data: any): Promise<import("../utils").RendererEvent<any, any>>;
|
|
359
359
|
emittedData: any;
|
|
360
360
|
emitting: boolean;
|
|
361
361
|
emitChange(submit: boolean, emitedFromWatch?: boolean): Promise<void>;
|
|
362
|
-
handleBulkChange(values: Object, submit: boolean): void;
|
|
362
|
+
handleBulkChange(values: Object, submit: boolean, changeReason?: DataChangeReason): void;
|
|
363
363
|
handleFormSubmit(e: React.UIEvent<any>): any;
|
|
364
364
|
handleReset(action: any): (data: any) => void;
|
|
365
365
|
handleAction(e: React.UIEvent<any> | void, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): Promise<any>;
|
package/esm/renderers/Form.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -22,7 +22,7 @@ import '@rc-component/mini-decimal';
|
|
|
22
22
|
import { dataMapping } from '../utils/dataMapping.js';
|
|
23
23
|
import '../utils/filter.js';
|
|
24
24
|
import { isEffectiveApi, isApiOutdated } from '../utils/api.js';
|
|
25
|
-
import
|
|
25
|
+
import themedLazyComponent from '../components/LazyComponent.js';
|
|
26
26
|
import { isAlive } from 'mobx-state-tree';
|
|
27
27
|
import '../utils/browser.js';
|
|
28
28
|
import '../utils/ColorScale.js';
|
|
@@ -92,6 +92,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
92
92
|
_this.blockRouting = _this.blockRouting.bind(_this);
|
|
93
93
|
_this.beforePageUnload = _this.beforePageUnload.bind(_this);
|
|
94
94
|
_this.formItemDispatchEvent = _this.formItemDispatchEvent.bind(_this);
|
|
95
|
+
_this.flush = _this.flush.bind(_this);
|
|
95
96
|
var store = props.store, canAccessSuperData = props.canAccessSuperData, persistData = props.persistData, simpleMode = props.simpleMode, formLazyChange = props.formLazyChange;
|
|
96
97
|
store.setCanAccessSuperData(canAccessSuperData !== false);
|
|
97
98
|
store.setPersistData(persistData);
|
|
@@ -177,7 +178,9 @@ var Form = /** @class */ (function (_super) {
|
|
|
177
178
|
successMessage: fetchSuccess,
|
|
178
179
|
errorMessage: fetchFailed,
|
|
179
180
|
onSuccess: function (json, data) {
|
|
180
|
-
store.setValues(data
|
|
181
|
+
store.setValues(data, undefined, undefined, undefined, {
|
|
182
|
+
type: 'api'
|
|
183
|
+
});
|
|
181
184
|
if (!isEffectiveApi(initAsyncApi, store.data) ||
|
|
182
185
|
store.data[initFinishedField || 'finished']) {
|
|
183
186
|
return;
|
|
@@ -373,7 +376,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
373
376
|
case 3:
|
|
374
377
|
// 派发初始化接口请求完成事件
|
|
375
378
|
this.dispatchInited(result);
|
|
376
|
-
return [2 /*return
|
|
379
|
+
return [2 /*return*/, store.data];
|
|
377
380
|
}
|
|
378
381
|
});
|
|
379
382
|
});
|
|
@@ -384,7 +387,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
384
387
|
return this.reload();
|
|
385
388
|
};
|
|
386
389
|
Form.prototype.silentReload = function (target, query) {
|
|
387
|
-
this.reload(target, query, undefined, true);
|
|
390
|
+
return this.reload(target, query, undefined, true);
|
|
388
391
|
};
|
|
389
392
|
Form.prototype.initInterval = function (value) {
|
|
390
393
|
var _a = this.props, interval = _a.interval, silentPolling = _a.silentPolling, stopAutoRefreshWhen = _a.stopAutoRefreshWhen, data = _a.data;
|
|
@@ -444,7 +447,9 @@ var Form = /** @class */ (function (_super) {
|
|
|
444
447
|
Form.prototype.setValues = function (value, replace) {
|
|
445
448
|
var store = this.props.store;
|
|
446
449
|
this.flush();
|
|
447
|
-
store.setValues(value, undefined, replace
|
|
450
|
+
store.setValues(value, undefined, replace, undefined, {
|
|
451
|
+
type: 'action'
|
|
452
|
+
});
|
|
448
453
|
};
|
|
449
454
|
Form.prototype.submit = function (fn, throwErrors, skipFlush) {
|
|
450
455
|
if (throwErrors === void 0) { throwErrors = false; }
|
|
@@ -554,13 +559,15 @@ var Form = /** @class */ (function (_super) {
|
|
|
554
559
|
}
|
|
555
560
|
}
|
|
556
561
|
};
|
|
557
|
-
Form.prototype.handleChange = function (value, name, submit, changePristine) {
|
|
562
|
+
Form.prototype.handleChange = function (value, name, submit, changePristine, changeReason) {
|
|
558
563
|
if (changePristine === void 0) { changePristine = false; }
|
|
559
564
|
var _a = this.props, store = _a.store, formLazyChange = _a.formLazyChange, persistDataKeys = _a.persistDataKeys;
|
|
560
565
|
if (typeof name !== 'string') {
|
|
561
566
|
return;
|
|
562
567
|
}
|
|
563
|
-
store.changeValue(name, value, changePristine
|
|
568
|
+
store.changeValue(name, value, changePristine, undefined, undefined, changeReason || {
|
|
569
|
+
type: 'input'
|
|
570
|
+
});
|
|
564
571
|
if (!changePristine || typeof value !== 'undefined') {
|
|
565
572
|
(formLazyChange === false ? this.emitChange : this.lazyEmitChange)(submit);
|
|
566
573
|
}
|
|
@@ -598,7 +605,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
598
605
|
if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
|
|
599
606
|
onChange && onChange.apply(null, changeProps);
|
|
600
607
|
}
|
|
601
|
-
store.clearRestError();
|
|
608
|
+
isAlive(store) && store.clearRestError();
|
|
602
609
|
if (!(!emitedFromWatch && (submit || (submitOnChange && store.inited)))) return [3 /*break*/, 3];
|
|
603
610
|
return [4 /*yield*/, this.handleAction(undefined, {
|
|
604
611
|
type: 'submit',
|
|
@@ -618,9 +625,11 @@ var Form = /** @class */ (function (_super) {
|
|
|
618
625
|
});
|
|
619
626
|
});
|
|
620
627
|
};
|
|
621
|
-
Form.prototype.handleBulkChange = function (values, submit) {
|
|
628
|
+
Form.prototype.handleBulkChange = function (values, submit, changeReason) {
|
|
622
629
|
var _a = this.props; _a.onChange; var store = _a.store, formLazyChange = _a.formLazyChange;
|
|
623
|
-
store.setValues(values
|
|
630
|
+
store.setValues(values, undefined, undefined, undefined, changeReason || {
|
|
631
|
+
type: 'input'
|
|
632
|
+
});
|
|
624
633
|
// store.updateData(values);
|
|
625
634
|
// store.items.forEach(formItem => {
|
|
626
635
|
// const updatedValue = getVariable(values, formItem.name, false);
|
|
@@ -670,6 +679,9 @@ var Form = /** @class */ (function (_super) {
|
|
|
670
679
|
_f.sent();
|
|
671
680
|
_f.label = 2;
|
|
672
681
|
case 2:
|
|
682
|
+
if (!isAlive(store)) {
|
|
683
|
+
return [2 /*return*/];
|
|
684
|
+
}
|
|
673
685
|
if (trimValues) {
|
|
674
686
|
store.trimValues();
|
|
675
687
|
}
|
|
@@ -870,7 +882,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
870
882
|
if (values === false) {
|
|
871
883
|
return store.data;
|
|
872
884
|
}
|
|
873
|
-
if (onFinished && onFinished(values, action) === false) {
|
|
885
|
+
if (onFinished && onFinished(values, action, store) === false) {
|
|
874
886
|
return values;
|
|
875
887
|
}
|
|
876
888
|
resetAfterSubmit && store.reset(_this.handleReset(action));
|
|
@@ -1229,7 +1241,8 @@ var Form = /** @class */ (function (_super) {
|
|
|
1229
1241
|
removeHook: this.removeHook,
|
|
1230
1242
|
renderFormItems: this.renderFormItems,
|
|
1231
1243
|
formItemDispatchEvent: this.formItemDispatchEvent,
|
|
1232
|
-
formPristine: form.pristine
|
|
1244
|
+
formPristine: form.pristine,
|
|
1245
|
+
onFlushForm: this.flush
|
|
1233
1246
|
// value: (control as any)?.name
|
|
1234
1247
|
// ? getVariable(form.data, (control as any)?.name, canAccessSuperData)
|
|
1235
1248
|
// : (control as any)?.value,
|
|
@@ -1383,7 +1396,7 @@ var Form = /** @class */ (function (_super) {
|
|
|
1383
1396
|
});
|
|
1384
1397
|
}
|
|
1385
1398
|
if (lazyLoad) {
|
|
1386
|
-
body = React.createElement(
|
|
1399
|
+
body = React.createElement(themedLazyComponent, null, body);
|
|
1387
1400
|
}
|
|
1388
1401
|
return body;
|
|
1389
1402
|
};
|
package/esm/renderers/Item.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import hoistNonReactStatic from 'hoist-non-react-statics';
|
|
|
4
4
|
import { IFormItemStore, IFormStore } from '../store/form';
|
|
5
5
|
import { RendererProps, TestFunc, RendererConfig } from '../factory';
|
|
6
6
|
import { FormHorizontal, FormSchemaBase } from './Form';
|
|
7
|
-
import { ActionObject, BaseApiObject, BaseSchemaWithoutType, ClassName, Schema } from '../types';
|
|
7
|
+
import { ActionObject, BaseApiObject, BaseSchemaWithoutType, ClassName, DataChangeReason, Schema } from '../types';
|
|
8
8
|
import { IScopedContext } from '../Scoped';
|
|
9
9
|
export type LabelAlign = 'right' | 'left' | 'top' | 'inherit';
|
|
10
10
|
export interface FormBaseControl extends BaseSchemaWithoutType {
|
|
@@ -403,7 +403,7 @@ export interface FormItemProps extends RendererProps {
|
|
|
403
403
|
onChange: (value: any, submitOnChange?: boolean, changeImmediately?: boolean) => void;
|
|
404
404
|
onBulkChange?: (values: {
|
|
405
405
|
[propName: string]: any;
|
|
406
|
-
}, submitOnChange?: boolean) => void;
|
|
406
|
+
}, submitOnChange?: boolean, changeReason?: DataChangeReason) => void;
|
|
407
407
|
addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush', enforce?: 'prev' | 'post') => () => void;
|
|
408
408
|
removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;
|
|
409
409
|
renderFormItems: (schema: Partial<FormSchemaBase>, region: string, props: any) => JSX.Element;
|
|
@@ -460,7 +460,7 @@ export declare class FormItemWrap extends React.Component<FormItemProps> {
|
|
|
460
460
|
* @param ctx 上下文对象,类型为任意类型
|
|
461
461
|
* @param skipIfExits 是否跳过已存在的属性,默认为 false
|
|
462
462
|
*/
|
|
463
|
-
applyMapping(mapping: any, ctx: any, skipIfExits?: boolean
|
|
463
|
+
applyMapping(mapping: any, ctx: any, skipIfExits?: boolean): void;
|
|
464
464
|
buildAutoFillSchema(): {
|
|
465
465
|
popOverContainer: any;
|
|
466
466
|
popOverClassName: any;
|
|
@@ -643,9 +643,7 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
643
643
|
storeType: string;
|
|
644
644
|
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
645
645
|
readonly fetcher: any;
|
|
646
|
-
readonly notify: any;
|
|
647
|
-
* 显示一个小图标, 鼠标放上去的时候显示提示内容
|
|
648
|
-
*/
|
|
646
|
+
readonly notify: any;
|
|
649
647
|
readonly isCancel: (value: any) => boolean;
|
|
650
648
|
readonly __: import("..").TranslateFn<any>;
|
|
651
649
|
getStoreById(id: string): {
|
|
@@ -727,7 +725,10 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
727
725
|
} & {
|
|
728
726
|
addStore(store: {
|
|
729
727
|
[propName: string]: any;
|
|
730
|
-
storeType: string;
|
|
728
|
+
storeType: string; /**
|
|
729
|
+
* 不设置时,当表单提交过后表单项每次修改都会触发重新验证,
|
|
730
|
+
* 如果设置了,则由此配置项来决定要不要每次修改都触发验证。
|
|
731
|
+
*/
|
|
731
732
|
id: string;
|
|
732
733
|
path: string;
|
|
733
734
|
parentId?: string | undefined;
|
|
@@ -804,14 +805,14 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
804
805
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
805
806
|
addChildId: (id: string) => void;
|
|
806
807
|
removeChildId: (id: string) => void;
|
|
807
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
|
808
|
+
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void; /**
|
|
809
|
+
* 配置 input className
|
|
810
|
+
*/
|
|
808
811
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
|
809
812
|
storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
|
|
810
813
|
}, {
|
|
811
814
|
readonly fetcher: any;
|
|
812
|
-
readonly notify: any;
|
|
813
|
-
* 显示一个小图标, 鼠标放上去的时候显示提示内容
|
|
814
|
-
*/
|
|
815
|
+
readonly notify: any;
|
|
815
816
|
readonly isCancel: (value: any) => boolean;
|
|
816
817
|
readonly __: import("..").TranslateFn<any>;
|
|
817
818
|
getStoreById(id: string): {
|
|
@@ -893,7 +894,10 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
893
894
|
} & {
|
|
894
895
|
addStore(store: {
|
|
895
896
|
[propName: string]: any;
|
|
896
|
-
storeType: string;
|
|
897
|
+
storeType: string; /**
|
|
898
|
+
* 不设置时,当表单提交过后表单项每次修改都会触发重新验证,
|
|
899
|
+
* 如果设置了,则由此配置项来决定要不要每次修改都触发验证。
|
|
900
|
+
*/
|
|
897
901
|
id: string;
|
|
898
902
|
path: string;
|
|
899
903
|
parentId?: string | undefined;
|
|
@@ -970,7 +974,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
|
970
974
|
dispose: (callback?: (() => void) | undefined) => void;
|
|
971
975
|
addChildId: (id: string) => void;
|
|
972
976
|
removeChildId: (id: string) => void;
|
|
973
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
|
977
|
+
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void; /**
|
|
978
|
+
* 配置 input className
|
|
979
|
+
*/
|
|
974
980
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
|
|
975
981
|
ComposedComponent: React.ComponentType<any>;
|
|
976
982
|
} & hoistNonReactStatic.NonReactStatics<any, {}> & {
|
package/esm/renderers/Item.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -20,7 +20,7 @@ import '../utils/browser.js';
|
|
|
20
20
|
import '../utils/ColorScale.js';
|
|
21
21
|
import 'lodash/chunk';
|
|
22
22
|
import { getVariable } from '../utils/getVariable.js';
|
|
23
|
-
import { createObject, setVariable, createObjectFromChain
|
|
23
|
+
import { createObject, setVariable, createObjectFromChain } from '../utils/object.js';
|
|
24
24
|
import { dataMapping } from '../utils/dataMapping.js';
|
|
25
25
|
import '../utils/DataSchema.js';
|
|
26
26
|
import '../utils/DataScope.js';
|
|
@@ -118,7 +118,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
118
118
|
if (!result) {
|
|
119
119
|
return [2 /*return*/];
|
|
120
120
|
}
|
|
121
|
-
this.applyMapping((_d = autoFill === null || autoFill === void 0 ? void 0 : autoFill.fillMapping) !== null && _d !== void 0 ? _d : { '&': '$$' }, result, false
|
|
121
|
+
this.applyMapping((_d = autoFill === null || autoFill === void 0 ? void 0 : autoFill.fillMapping) !== null && _d !== void 0 ? _d : { '&': '$$' }, result, false);
|
|
122
122
|
_e.label = 3;
|
|
123
123
|
case 3: return [3 /*break*/, 5];
|
|
124
124
|
case 4:
|
|
@@ -275,10 +275,9 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
275
275
|
* @param ctx 上下文对象,类型为任意类型
|
|
276
276
|
* @param skipIfExits 是否跳过已存在的属性,默认为 false
|
|
277
277
|
*/
|
|
278
|
-
FormItemWrap.prototype.applyMapping = function (mapping, ctx, skipIfExits
|
|
278
|
+
FormItemWrap.prototype.applyMapping = function (mapping, ctx, skipIfExits) {
|
|
279
279
|
if (skipIfExits === void 0) { skipIfExits = false; }
|
|
280
|
-
|
|
281
|
-
var _a = this.props, onBulkChange = _a.onBulkChange, data = _a.data, formItem = _a.formItem;
|
|
280
|
+
var _a = this.props, onBulkChange = _a.onBulkChange, data = _a.data; _a.formItem;
|
|
282
281
|
var toSync = dataMapping(mapping, ctx);
|
|
283
282
|
var tmpData = __assign({}, data);
|
|
284
283
|
var result = __assign({}, toSync);
|
|
@@ -305,9 +304,9 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
305
304
|
}
|
|
306
305
|
});
|
|
307
306
|
// 是否忽略自己的设置
|
|
308
|
-
if (ignoreSelf &&
|
|
309
|
-
|
|
310
|
-
}
|
|
307
|
+
// if (ignoreSelf && formItem?.name) {
|
|
308
|
+
// deleteVariable(result, formItem.name);
|
|
309
|
+
// }
|
|
311
310
|
onBulkChange(result);
|
|
312
311
|
};
|
|
313
312
|
FormItemWrap.prototype.buildAutoFillSchema = function () {
|
|
@@ -549,7 +548,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
549
548
|
var labelAlign = (props.labelAlign !== 'inherit' && props.labelAlign) ||
|
|
550
549
|
props.formLabelAlign;
|
|
551
550
|
var labelWidth = props.labelWidth || props.formLabelWidth;
|
|
552
|
-
return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--horizontal", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
551
|
+
return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--horizontal", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
553
552
|
'Form-item--horizontal-justify': horizontal.justify
|
|
554
553
|
},
|
|
555
554
|
_a["is-error"] = model && !model.valid,
|
|
@@ -615,7 +614,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
615
614
|
var _a;
|
|
616
615
|
var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint; props.data; var showErrorMsg = props.showErrorMsg, mobileUI = props.mobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName, themeCss = props.themeCss, wrapperCustomStyle = props.wrapperCustomStyle, id = props.id;
|
|
617
616
|
description = description || desc;
|
|
618
|
-
return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--normal", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
617
|
+
return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--normal", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
619
618
|
'is-error': model && !model.valid
|
|
620
619
|
},
|
|
621
620
|
_a["is-required"] = required,
|
|
@@ -701,7 +700,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
701
700
|
var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, remark = props.remark, labelRemark = props.labelRemark, env = props.env, hint = props.hint, renderLabel = props.renderLabel, renderDescription = props.renderDescription; props.data; var showErrorMsg = props.showErrorMsg, mobileUI = props.mobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName, themeCss = props.themeCss, wrapperCustomStyle = props.wrapperCustomStyle, id = props.id;
|
|
702
701
|
var labelWidth = props.labelWidth || props.formLabelWidth;
|
|
703
702
|
description = description || desc;
|
|
704
|
-
return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--inline", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
703
|
+
return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--inline", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
705
704
|
'is-error': model && !model.valid
|
|
706
705
|
},
|
|
707
706
|
_a["is-required"] = required,
|
|
@@ -757,7 +756,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
757
756
|
var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint; props.data; var showErrorMsg = props.showErrorMsg, mobileUI = props.mobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName, wrapperCustomStyle = props.wrapperCustomStyle, themeCss = props.themeCss, id = props.id;
|
|
758
757
|
description = description || desc;
|
|
759
758
|
var labelWidth = props.labelWidth || props.formLabelWidth;
|
|
760
|
-
return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--row", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
759
|
+
return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--row", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
761
760
|
'is-error': model && !model.valid
|
|
762
761
|
},
|
|
763
762
|
_a["is-required"] = required,
|
|
@@ -814,7 +813,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
|
814
813
|
props.formLabelAlign;
|
|
815
814
|
var labelWidth = props.labelWidth || props.formLabelWidth;
|
|
816
815
|
description = description || desc;
|
|
817
|
-
return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--flex", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
816
|
+
return (React.createElement("div", { "data-role": "form-item", "data-amis-name": props.name, className: cx("Form-item Form-item--flex", isStatic && staticClassName ? staticClassName : className, (_a = {
|
|
818
817
|
'is-error': model && !model.valid
|
|
819
818
|
},
|
|
820
819
|
_a["is-required"] = required,
|
|
@@ -138,9 +138,9 @@ export interface OptionsControlProps extends FormControlProps, Omit<FormOptionsC
|
|
|
138
138
|
deferLoad: (option: Option) => void;
|
|
139
139
|
leftDeferLoad: (option: Option, leftOptions: Option) => void;
|
|
140
140
|
expandTreeOptions: (nodePathArr: any[]) => void;
|
|
141
|
-
onAdd?: (idx?: number | Array<number>, value?: any, skipForm?: boolean) => void;
|
|
142
|
-
onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void;
|
|
143
|
-
onDelete?: (value: Option) => void;
|
|
141
|
+
onAdd?: (idx?: number | Array<number>, value?: any, skipForm?: boolean, callback?: (value: any) => any) => void;
|
|
142
|
+
onEdit?: (value: Option, origin?: Option, skipForm?: boolean, callback?: (value: any) => any) => void;
|
|
143
|
+
onDelete?: (value: Option, callback?: (value: any) => any) => void;
|
|
144
144
|
}
|
|
145
145
|
export interface OptionsProps extends FormControlProps, Omit<OptionProps, 'className'> {
|
|
146
146
|
source?: Api;
|
package/esm/renderers/Options.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -519,12 +519,12 @@ function registerOptionsControl(config) {
|
|
|
519
519
|
var formItem = this.props.formItem;
|
|
520
520
|
formItem && formItem.setLoading(value);
|
|
521
521
|
};
|
|
522
|
-
FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm) {
|
|
522
|
+
FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm, callback) {
|
|
523
523
|
var _a, _b;
|
|
524
524
|
if (idx === void 0) { idx = -1; }
|
|
525
525
|
if (skipForm === void 0) { skipForm = false; }
|
|
526
526
|
return __awaiter(this, void 0, void 0, function () {
|
|
527
|
-
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, options;
|
|
527
|
+
var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, ret, options;
|
|
528
528
|
var _e;
|
|
529
529
|
var _this = this;
|
|
530
530
|
return __generator(this, function (_f) {
|
|
@@ -654,13 +654,24 @@ function registerOptionsControl(config) {
|
|
|
654
654
|
if (isPrevented) {
|
|
655
655
|
return [2 /*return*/];
|
|
656
656
|
}
|
|
657
|
-
|
|
658
|
-
(parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 13];
|
|
659
|
-
return [4 /*yield*/, this.deferLoad(parent)];
|
|
657
|
+
return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
|
|
660
658
|
case 12:
|
|
661
|
-
_f.sent();
|
|
662
|
-
return [3 /*break*/,
|
|
659
|
+
ret = _f.sent();
|
|
660
|
+
if (!(ret === false)) return [3 /*break*/, 13];
|
|
661
|
+
// 如果回调里面返回 false,就不继续了。
|
|
662
|
+
return [2 /*return*/];
|
|
663
663
|
case 13:
|
|
664
|
+
if (!
|
|
665
|
+
// 如果是懒加载的,只懒加载当前节点。
|
|
666
|
+
(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
|
|
667
|
+
(parent === null || parent === void 0 ? void 0 : parent.defer)))
|
|
668
|
+
// 如果是懒加载的,只懒加载当前节点。
|
|
669
|
+
return [3 /*break*/, 15];
|
|
670
|
+
return [4 /*yield*/, this.deferLoad(parent)];
|
|
671
|
+
case 14:
|
|
672
|
+
_f.sent();
|
|
673
|
+
return [3 /*break*/, 16];
|
|
674
|
+
case 15:
|
|
664
675
|
if (source && addApi) {
|
|
665
676
|
// 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了
|
|
666
677
|
// 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。
|
|
@@ -678,18 +689,18 @@ function registerOptionsControl(config) {
|
|
|
678
689
|
}
|
|
679
690
|
model.setOptions(options, this.changeOptionValue, data);
|
|
680
691
|
}
|
|
681
|
-
_f.label =
|
|
682
|
-
case
|
|
692
|
+
_f.label = 16;
|
|
693
|
+
case 16: return [2 /*return*/];
|
|
683
694
|
}
|
|
684
695
|
});
|
|
685
696
|
});
|
|
686
697
|
};
|
|
687
|
-
FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm) {
|
|
698
|
+
FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm, callback) {
|
|
688
699
|
var _a, _b;
|
|
689
700
|
if (origin === void 0) { origin = value; }
|
|
690
701
|
if (skipForm === void 0) { skipForm = false; }
|
|
691
702
|
return __awaiter(this, void 0, void 0, function () {
|
|
692
|
-
var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, indexes;
|
|
703
|
+
var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, ret, indexes;
|
|
693
704
|
var _this = this;
|
|
694
705
|
return __generator(this, function (_e) {
|
|
695
706
|
switch (_e.label) {
|
|
@@ -798,7 +809,14 @@ function registerOptionsControl(config) {
|
|
|
798
809
|
if (isPrevented) {
|
|
799
810
|
return [2 /*return*/];
|
|
800
811
|
}
|
|
801
|
-
|
|
812
|
+
return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
|
|
813
|
+
case 12:
|
|
814
|
+
ret = _e.sent();
|
|
815
|
+
if (ret === false) {
|
|
816
|
+
// 如果回调里面返回 false,就不继续了。
|
|
817
|
+
return [2 /*return*/];
|
|
818
|
+
}
|
|
819
|
+
else if (source && editApi) {
|
|
802
820
|
this.reload();
|
|
803
821
|
}
|
|
804
822
|
else {
|
|
@@ -812,10 +830,10 @@ function registerOptionsControl(config) {
|
|
|
812
830
|
});
|
|
813
831
|
});
|
|
814
832
|
};
|
|
815
|
-
FormOptionsItem.prototype.handleOptionDelete = function (value) {
|
|
833
|
+
FormOptionsItem.prototype.handleOptionDelete = function (value, callback) {
|
|
816
834
|
var _a, _b;
|
|
817
835
|
return __awaiter(this, void 0, void 0, function () {
|
|
818
|
-
var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, options, indexes, e_3;
|
|
836
|
+
var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, ret, options, indexes, e_3;
|
|
819
837
|
return __generator(this, function (_e) {
|
|
820
838
|
switch (_e.label) {
|
|
821
839
|
case 0:
|
|
@@ -871,7 +889,12 @@ function registerOptionsControl(config) {
|
|
|
871
889
|
if (onDelete) {
|
|
872
890
|
onDelete(ctx);
|
|
873
891
|
}
|
|
874
|
-
|
|
892
|
+
ret = callback === null || callback === void 0 ? void 0 : callback(ctx);
|
|
893
|
+
if (ret === false) {
|
|
894
|
+
// 如果回调里面返回 false,就不继续了。
|
|
895
|
+
return [2 /*return*/];
|
|
896
|
+
}
|
|
897
|
+
else if (source) {
|
|
875
898
|
this.reload();
|
|
876
899
|
}
|
|
877
900
|
else {
|
|
@@ -985,19 +1008,19 @@ function registerOptionsControl(config) {
|
|
|
985
1008
|
__decorate([
|
|
986
1009
|
autobind,
|
|
987
1010
|
__metadata("design:type", Function),
|
|
988
|
-
__metadata("design:paramtypes", [Object, Object, Boolean]),
|
|
1011
|
+
__metadata("design:paramtypes", [Object, Object, Boolean, Function]),
|
|
989
1012
|
__metadata("design:returntype", Promise)
|
|
990
1013
|
], FormOptionsItem.prototype, "handleOptionAdd", null);
|
|
991
1014
|
__decorate([
|
|
992
1015
|
autobind,
|
|
993
1016
|
__metadata("design:type", Function),
|
|
994
|
-
__metadata("design:paramtypes", [Object, Object, Boolean]),
|
|
1017
|
+
__metadata("design:paramtypes", [Object, Object, Boolean, Function]),
|
|
995
1018
|
__metadata("design:returntype", Promise)
|
|
996
1019
|
], FormOptionsItem.prototype, "handleOptionEdit", null);
|
|
997
1020
|
__decorate([
|
|
998
1021
|
autobind,
|
|
999
1022
|
__metadata("design:type", Function),
|
|
1000
|
-
__metadata("design:paramtypes", [Object]),
|
|
1023
|
+
__metadata("design:paramtypes", [Object, Function]),
|
|
1001
1024
|
__metadata("design:returntype", Promise)
|
|
1002
1025
|
], FormOptionsItem.prototype, "handleOptionDelete", null);
|
|
1003
1026
|
return FormOptionsItem;
|
package/esm/renderers/builtin.js
CHANGED