amis 1.9.0-beta.10 → 1.9.0-beta.12
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/lib/actions/LinkAction.d.ts +8 -1
- package/lib/actions/LinkAction.js +9 -12
- package/lib/actions/LinkAction.js.map +2 -2
- package/lib/actions/ToastAction.js +2 -1
- package/lib/actions/ToastAction.js.map +2 -2
- package/lib/components/Tree.d.ts +170 -84
- package/lib/components/Tree.js +25 -23
- package/lib/components/Tree.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/renderers/Action.js +1 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +1 -0
- package/lib/renderers/CRUD.js +2 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Dialog.js +2 -2
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +2 -2
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +4 -0
- package/lib/renderers/Form/InputFile.js +47 -21
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +9 -1
- package/lib/renderers/Form/InputTree.js +2 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Picker.d.ts +2 -1
- package/lib/renderers/Form/Picker.js +8 -2
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/index.js +6 -3
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Service.d.ts +2 -0
- package/lib/renderers/Service.js +23 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Wizard.js +5 -8
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/themes/ang-ie11.css +27 -15
- package/lib/themes/ang.css +39 -25
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +27 -15
- package/lib/themes/antd.css +39 -25
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +42 -30
- package/lib/themes/cxd.css +44 -26
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +27 -15
- package/lib/themes/dark.css +39 -25
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +42 -30
- package/lib/themes/default.css +44 -26
- package/lib/themes/default.css.map +1 -1
- package/package.json +2 -3
- package/schema.json +174 -235
- package/scss/_properties.scss +2 -0
- package/scss/components/form/_tree.scss +41 -46
- package/scss/themes/_cxd-variables.scss +7 -2
- package/sdk/ang-ie11.css +33 -20
- package/sdk/ang.css +45 -30
- package/sdk/antd-ie11.css +33 -20
- package/sdk/antd.css +45 -30
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +15 -15
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +48 -35
- package/sdk/cxd.css +50 -31
- package/sdk/dark-ie11.css +33 -20
- package/sdk/dark.css +45 -30
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +48 -35
- package/sdk/sdk.css +50 -31
- package/sdk/sdk.js +1265 -1293
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/actions/LinkAction.ts +21 -14
- package/src/actions/ToastAction.ts +6 -1
- package/src/components/Tree.tsx +36 -36
- package/src/renderers/Action.tsx +1 -4
- package/src/renderers/CRUD.tsx +4 -6
- package/src/renderers/Dialog.tsx +2 -2
- package/src/renderers/Drawer.tsx +2 -2
- package/src/renderers/Form/InputFile.tsx +27 -15
- package/src/renderers/Form/InputTree.tsx +12 -1
- package/src/renderers/Form/Picker.tsx +13 -3
- package/src/renderers/Form/index.tsx +6 -6
- package/src/renderers/Service.tsx +40 -5
- package/src/renderers/Wizard.tsx +4 -7
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Service.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n autobind,\n isEmpty,\n isObjectShallowModified,\n isVisible,\n qsstringify\n} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (isObjectShallowModified(prevProps.defaultData, props.defaultData)) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(\n dataProvider,\n 'data',\n 'setData',\n 'env'\n )!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData,\n this.props.env\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange} = this.props;\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore} = this.props;\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n @autobind\n handleDialogConfirm(\n values: object[],\n action: Action,\n ctx: any,\n targets: Array<any>\n ) {\n const {store} = this.props;\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {render(\n // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗\n 'modal',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n setData(values: object) {\n return super.afterDataFetch(values);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n autobind,\n isEmpty,\n isObjectShallowModified,\n isVisible,\n qsstringify\n} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\nimport type {ScopedComponentType} from '../Scoped';\nimport type {ListenerAction} from '../actions/Action';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (isObjectShallowModified(prevProps.defaultData, props.defaultData)) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n doAction(action: ListenerAction, args: any) {\n if (action?.actionType === 'rebuild') {\n const {\n schemaApi,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n store.updateData(args);\n clearTimeout(this.timer);\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(\n dataProvider,\n 'data',\n 'setData',\n 'env'\n )!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData,\n this.props.env\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange, dispatchEvent} = this.props;\n\n dispatchEvent?.('fetchInited', data);\n\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore, dispatchEvent} = this.props;\n\n dispatchEvent?.('fetchSchemaInited', schema);\n\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n @autobind\n handleDialogConfirm(\n values: object[],\n action: Action,\n ctx: any,\n targets: Array<any>\n ) {\n const {store} = this.props;\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {render(\n // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗\n 'modal',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this as ScopedComponentType);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this as ScopedComponentType);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Wizard.js
CHANGED
@@ -113,7 +113,7 @@ var Wizard = /** @class */ (function (_super) {
|
|
113
113
|
switch (_c.label) {
|
114
114
|
case 0:
|
115
115
|
_b = this.props, dispatchEvent = _b.dispatchEvent, data = _b.data;
|
116
|
-
return [4 /*yield*/, dispatchEvent(action, (0, helper_1.createObject)(data, value
|
116
|
+
return [4 /*yield*/, dispatchEvent(action, value ? (0, helper_1.createObject)(data, value) : data)];
|
117
117
|
case 1:
|
118
118
|
rendererEvent = _c.sent();
|
119
119
|
return [2 /*return*/, (_a = rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) !== null && _a !== void 0 ? _a : false];
|
@@ -128,11 +128,9 @@ var Wizard = /** @class */ (function (_super) {
|
|
128
128
|
switch (_a.label) {
|
129
129
|
case 0:
|
130
130
|
onInit = this.props.onInit;
|
131
|
-
return [4 /*yield*/, this.dispatchEvent('inited',
|
131
|
+
return [4 /*yield*/, this.dispatchEvent('inited', data)];
|
132
132
|
case 1:
|
133
|
-
(_a.sent()) &&
|
134
|
-
onInit &&
|
135
|
-
onInit(data);
|
133
|
+
(_a.sent()) && onInit && onInit(data);
|
136
134
|
return [2 /*return*/];
|
137
135
|
}
|
138
136
|
});
|
@@ -170,8 +168,7 @@ var Wizard = /** @class */ (function (_super) {
|
|
170
168
|
index = Math.max(Math.min(steps.length, index), 1);
|
171
169
|
if (!(index != this.state.currentStep)) return [3 /*break*/, 2];
|
172
170
|
return [4 /*yield*/, this.dispatchEvent('stepChange', {
|
173
|
-
step: index
|
174
|
-
formData: this.props.store.data
|
171
|
+
step: index
|
175
172
|
})];
|
176
173
|
case 1:
|
177
174
|
if (_a.sent()) {
|
@@ -542,7 +539,7 @@ var Wizard = /** @class */ (function (_super) {
|
|
542
539
|
store
|
543
540
|
.saveRemote(action.api || step.api, store.data, {
|
544
541
|
onSuccess: function () {
|
545
|
-
_this.dispatchEvent('stepSubmitSucc'
|
542
|
+
_this.dispatchEvent('stepSubmitSucc');
|
546
543
|
if (!(0, api_1.isEffectiveApi)(finnalAsyncApi_2, store.data) ||
|
547
544
|
store.data[finishedField || 'finished']) {
|
548
545
|
return;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Wizard.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n createObject,\n until,\n isVisible,\n getScrollParent,\n autobind,\n SkipOperation\n} from '../utils/helper';\nimport {isApiOutdated, isEffectiveApi} from '../utils/api';\nimport {IFormStore} from '../store/form';\nimport {Spinner} from '../components';\nimport {Icon} from '../components/icons';\nimport {findDOMNode} from 'react-dom';\nimport {resizeSensor} from '../utils/resize-sensor';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaExpression,\n SchemaName,\n SchemaReload\n} from '../Schema';\nimport {FormSchema} from './Form';\nimport {ActionSchema} from './Action';\n\nimport {tokenize} from '../utils/tpl-builtin';\n\nexport type WizardStepSchema = Omit<FormSchema, 'type'> & {\n /**\n * 当前步骤用来保存数据的 api。\n */\n api?: SchemaApi;\n\n asyncApi?: SchemaApi;\n\n /**\n * 当前步骤用来获取初始数据的 api\n */\n initApi?: SchemaApi;\n\n /**\n * 是否可直接跳转到该步骤,一般编辑模式需要可直接跳转查看。\n */\n jumpable?: boolean;\n\n /**\n * 通过 JS 表达式来配置当前步骤可否被直接跳转到。\n */\n jumpableOn?: SchemaExpression;\n\n /**\n * Step 标题\n */\n title?: string;\n label?: string;\n\n /**\n * 每一步可以单独配置按钮。如果不配置wizard会自动生成。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 保存完后,可以指定跳转地址,支持相对路径和组内绝对路径,同时可以通过 $xxx 使用变量\n */\n redirect?: string;\n\n reload?: SchemaReload;\n\n /**\n * 默认表单提交自己会通过发送 api 保存数据,但是也可以设定另外一个 form 的 name 值,或者另外一个 `CRUD` 模型的 name 值。 如果 target 目标是一个 `Form` ,则目标 `Form` 会重新触发 `initApi` 和 `schemaApi`,api 可以拿到当前 form 数据。如果目标是一个 `CRUD` 模型,则目标模型会重新触发搜索,参数为当前 Form 数据。\n */\n target?: string;\n};\n\n/**\n * 表单向导\n * 文档:https://baidu.gitee.io/amis/docs/components/wizard\n */\nexport interface WizardSchema extends BaseSchema {\n /**\n * 指定为表单向导\n */\n type: 'wizard';\n\n /**\n * 配置按钮 className\n */\n actionClassName?: SchemaClassName;\n\n /**\n * 完成按钮的文字描述\n */\n actionFinishLabel?: string;\n\n /**\n * 下一步按钮的文字描述\n */\n actionNextLabel?: string;\n\n /**\n * 下一步并且保存按钮的文字描述\n */\n actionNextSaveLabel?: string;\n\n /**\n * 上一步按钮的文字描述\n */\n actionPrevLabel?: string;\n\n /**\n * Wizard 用来保存数据的 api。\n * [详情](https://baidu.github.io/amis/docs/api#wizard)\n */\n api?: SchemaApi;\n\n /**\n * 是否合并后再提交\n */\n bulkSubmit?: boolean;\n\n /**\n * Wizard 用来获取初始数据的 api。\n */\n initApi?: SchemaApi;\n\n /**\n * 展示模式\n *\n * @default vertical\n */\n mode?: 'vertical' | 'horizontal';\n\n name?: SchemaName;\n\n /**\n * 是否为只读模式。\n */\n readOnly?: boolean;\n\n /**\n * 保存完后,可以指定跳转地址,支持相对路径和组内绝对路径,同时可以通过 $xxx 使用变量\n */\n redirect?: string;\n\n reload?: SchemaReload;\n\n /**\n * 默认表单提交自己会通过发送 api 保存数据,但是也可以设定另外一个 form 的 name 值,或者另外一个 `CRUD` 模型的 name 值。 如果 target 目标是一个 `Form` ,则目标 `Form` 会重新触发 `initApi` 和 `schemaApi`,api 可以拿到当前 form 数据。如果目标是一个 `CRUD` 模型,则目标模型会重新触发搜索,参数为当前 Form 数据。\n */\n target?: string;\n\n /**\n * 是否将底部按钮固定在底部。\n */\n affixFooter?: boolean | 'always';\n\n steps: Array<WizardStepSchema>;\n\n startStep?: string;\n}\n\nexport interface WizardProps\n extends RendererProps,\n Omit<WizardSchema, 'className'> {\n store: IServiceStore;\n onFinished: (values: object, action: any) => any;\n}\n\nexport interface WizardState {\n currentStep: number;\n completeStep: number;\n}\n\nexport default class Wizard extends React.Component<WizardProps, WizardState> {\n static defaultProps: Partial<WizardProps> = {\n mode: 'horizontal', // vertical\n readOnly: false,\n messages: {},\n actionClassName: '',\n actionPrevLabel: 'Wizard.prev',\n actionNextLabel: 'Wizard.next',\n actionNextSaveLabel: 'Wizard.saveAndNext',\n actionFinishLabel: 'Wizard.finish',\n startStep: '1'\n };\n\n static propsList: Array<string> = [\n 'steps',\n 'mode',\n 'messages',\n 'actionClassName',\n 'actionPrevLabel',\n 'actionNextLabel',\n 'actionNextSaveLabel',\n 'actionFinishLabel',\n 'onFinished',\n 'affixFooter',\n 'startStep'\n ];\n\n dom: any;\n form: any;\n asyncCancel: () => void;\n\n parentNode?: any;\n unSensor: Function;\n affixDom: React.RefObject<HTMLDivElement> = React.createRef();\n footerDom: React.RefObject<HTMLDivElement> = React.createRef();\n initalValues: {\n [propName: string]: any;\n } = {};\n\n state = {\n currentStep: -1, // init 完后会设置成 1\n completeStep: -1\n };\n\n componentDidMount() {\n const {\n initApi,\n initFetch,\n initAsyncApi,\n initFinishedField,\n store,\n messages: {fetchSuccess, fetchFailed},\n onInit\n } = this.props;\n\n if (isEffectiveApi(initApi, store.data, initFetch)) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed,\n onSuccess: () => {\n if (\n !isEffectiveApi(initAsyncApi, store.data) ||\n store.data[initFinishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(initAsyncApi, store.data),\n (ret: any) => ret && ret[initFinishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n }\n })\n .then(value => {\n this.handleInitEvent(store.data);\n\n const state = {\n currentStep:\n typeof this.props.startStep === 'string'\n ? parseInt(tokenize(this.props.startStep, this.props.data))\n : 1\n };\n\n if (\n value &&\n value.data &&\n (typeof value.data.step === 'number' ||\n (typeof value.data.step === 'string' &&\n /^\\d+$/.test(value.data.step)))\n ) {\n state.currentStep = parseInt(value.data.step, 10);\n }\n\n this.setState(state, () => {\n // 如果 initApi 返回的状态是正在提交,则进入轮顺状态。\n if (\n value &&\n value.data &&\n (value.data.submiting || value.data.submited)\n ) {\n this.checkSubmit();\n }\n });\n return value;\n });\n } else {\n this.setState(\n {\n currentStep:\n typeof this.props.startStep === 'string'\n ? parseInt(tokenize(this.props.startStep, this.props.data))\n : 1\n },\n () => this.handleInitEvent(store.data)\n );\n }\n\n const dom = findDOMNode(this) as HTMLElement;\n if (!(dom instanceof Element)) {\n return;\n }\n\n let parent: HTMLElement | Window | null = dom ? getScrollParent(dom) : null;\n if (!parent || parent === document.body) {\n parent = window;\n }\n this.parentNode = parent;\n parent.addEventListener('scroll', this.affixDetect);\n this.unSensor = resizeSensor(dom as HTMLElement, this.affixDetect);\n this.affixDetect();\n }\n\n componentDidUpdate(prevProps: WizardProps) {\n const props = this.props;\n const {store, fetchSuccess, fetchFailed} = props;\n\n if (\n isApiOutdated(\n prevProps.initApi,\n props.initApi,\n prevProps.data,\n props.data\n )\n ) {\n store.fetchData(props.initApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n });\n }\n }\n\n componentWillUnmount() {\n this.asyncCancel && this.asyncCancel();\n const parent = this.parentNode;\n parent && parent.removeEventListener('scroll', this.affixDetect);\n this.unSensor && this.unSensor();\n }\n\n async dispatchEvent(action: string, value?: object) {\n const {dispatchEvent, data} = this.props;\n\n const rendererEvent = await dispatchEvent(\n action,\n createObject(data, value ? value : {})\n );\n\n return rendererEvent?.prevented ?? false;\n }\n\n async handleInitEvent(data: any) {\n const {onInit} = this.props;\n (await this.dispatchEvent('inited', {formData: data})) &&\n onInit &&\n onInit(data);\n }\n\n @autobind\n affixDetect() {\n if (\n !this.props.affixFooter ||\n !this.affixDom.current ||\n !this.footerDom.current\n ) {\n return;\n }\n\n const affixDom = this.affixDom.current;\n const footerDom = this.footerDom.current;\n let affixed = false;\n footerDom.offsetWidth &&\n (affixDom.style.cssText = `width: ${footerDom.offsetWidth}px;`);\n\n if (this.props.affixFooter === 'always') {\n affixed = true;\n footerDom.classList.add('invisible2');\n } else {\n const clip = footerDom.getBoundingClientRect();\n const clientHeight = window.innerHeight;\n affixed = clip.top + clip.height / 2 > clientHeight;\n }\n\n affixed ? affixDom.classList.add('in') : affixDom.classList.remove('in');\n }\n\n async gotoStep(index: number) {\n const steps = this.props.steps || [];\n index = Math.max(Math.min(steps.length, index), 1);\n\n if (index != this.state.currentStep) {\n if (\n await this.dispatchEvent('stepChange', {\n step: index,\n formData: this.props.store.data\n })\n ) {\n return;\n }\n\n this.setState({\n currentStep: index,\n completeStep: Math.max(this.state.completeStep, index - 1)\n });\n }\n }\n\n @autobind\n formRef(ref: any) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.form = ref;\n } else {\n this.form = undefined;\n }\n }\n\n submitToTarget(target: string, values: object) {\n throw new Error('Please implements this!');\n }\n\n reloadTarget(target: string, data: any) {\n throw new Error('Please implements this!');\n }\n\n reload(subPath?: string, query?: any, ctx?: any) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n initApi,\n initAsyncApi,\n initFinishedField,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(initApi, store.data) && this.state.currentStep === 1) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed,\n onSuccess: () => {\n if (\n !isEffectiveApi(initAsyncApi, store.data) ||\n store.data[initFinishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(initAsyncApi, store.data),\n (ret: any) => ret && ret[initFinishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n }\n })\n .then(value => {\n const state = {\n currentStep: 1\n };\n\n if (\n value &&\n value.data &&\n (typeof value.data.step === 'number' ||\n (typeof value.data.step === 'string' &&\n /^\\d+$/.test(value.data.step)))\n ) {\n state.currentStep = parseInt(value.data.step, 10);\n }\n\n this.setState(state, () => {\n // 如果 initApi 返回的状态是正在提交,则进入轮顺状态。\n if (\n value &&\n value.data &&\n (value.data.submiting || value.data.submited)\n ) {\n this.checkSubmit();\n }\n });\n return value;\n });\n }\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n @autobind\n domRef(ref: any) {\n this.dom = ref;\n }\n\n @autobind\n getPopOverContainer() {\n return this.dom;\n }\n\n // 用来还原异步提交状态。\n checkSubmit() {\n const {store, steps, asyncApi, finishedField, env} = this.props;\n\n const step = steps[this.state.currentStep - 1];\n let finnalAsyncApi =\n (step && step.asyncApi) ||\n (this.state.currentStep === steps.length && asyncApi);\n\n if (!step || !isEffectiveApi(finnalAsyncApi, store.data)) {\n return;\n }\n\n store.markSaving(true);\n store.updateData({\n [finishedField || 'finished']: false\n });\n\n until(\n () => store.checkRemote(finnalAsyncApi as Api, store.data),\n (ret: any) => ret && ret[finishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n )\n .then(() => {\n store.markSaving(false);\n this.gotoStep(this.state.currentStep + 1);\n })\n .catch(e => {\n env.notify('error', e.message);\n store.markSaving(false);\n });\n }\n\n @autobind\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, steps} = this.props;\n\n if (\n action.actionType === 'next' ||\n action.type === 'submit' ||\n action.actionType === 'step-submit'\n ) {\n this.form.doAction(\n {\n ...action,\n actionType: 'submit'\n },\n data\n );\n } else if (action.actionType === 'prev') {\n this.gotoStep(this.state.currentStep - 1);\n } else if (action.type === 'reset') {\n this.form.reset();\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(data);\n } else if (action.actionType === 'ajax') {\n if (!action.api) {\n return env.alert(`当 actionType 为 ajax 时,请设置 api 属性`);\n }\n\n return store\n .saveRemote(action.api as Api, data, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n this.form && this.form.isValidated() && this.form.validate(true);\n\n const feedback = action.feedback;\n if (feedback && isVisible(feedback, store.data)) {\n const confirmed = await this.openFeedback(feedback, store.data);\n\n // 如果 feedback 配置了,取消就跳过原有逻辑。\n if (feedback.skipRestOnCancel && !confirmed) {\n throw new SkipOperation();\n } else if (feedback.skipRestOnConfirm && confirmed) {\n throw new SkipOperation();\n }\n }\n\n const reidrect =\n action.redirect && filter(action.redirect, store.data);\n reidrect && env.jumpTo(reidrect, action);\n\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(reason => {\n if (reason instanceof SkipOperation) {\n return;\n }\n });\n } else if (action.actionType === 'reload') {\n action.target && this.reloadTarget(action.target, data);\n } else if (action.actionType === 'goto-step') {\n const targetStep = (data as any).step;\n\n if (\n targetStep !== undefined &&\n targetStep <= steps.length &&\n targetStep >= 0\n ) {\n this.gotoStep((data as any).step);\n }\n } else if (action.actionType === 'submit') {\n this.finalSubmit();\n } else if (onAction) {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n @autobind\n handleQuery(query: any) {\n if (this.props.initApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n @autobind\n async handleChange(values: object) {\n const {store} = this.props;\n\n const previous = store.data;\n const final = {...previous, ...values};\n\n if (await this.dispatchEvent('change', {formData: final})) {\n return;\n }\n\n store.updateData(values);\n }\n\n @autobind\n handleInit(values: any) {\n const step = this.state.currentStep;\n this.initalValues[step] = this.initalValues[step] || values;\n const store = this.props.store;\n\n store.updateData(values);\n }\n\n @autobind\n handleReset(values: any) {\n const {store} = this.props;\n const initalValue = this.initalValues[this.state.currentStep];\n const reseted: any = {};\n Object.keys(values).forEach(key => {\n reseted[key] = initalValue.hasOwnProperty(key)\n ? initalValue[key]\n : undefined;\n });\n\n store.updateData(reseted);\n }\n\n async finalSubmit(values: object = {}, action: Action = {type: 'submit'}) {\n const {\n store,\n steps,\n api,\n asyncApi,\n finishedField,\n target,\n redirect,\n reload,\n env,\n onFinished\n } = this.props;\n\n if (await this.dispatchEvent('finished', {formData: store.data})) {\n return;\n }\n\n const step = steps[this.state.currentStep - 1];\n store.updateData(values);\n\n // 最后一步\n if (target) {\n this.submitToTarget(target, store.data);\n this.setState({completeStep: steps.length});\n } else if (action.api || step.api || api) {\n let finnalAsyncApi = action.asyncApi || step.asyncApi || asyncApi;\n\n isEffectiveApi(finnalAsyncApi, store.data) &&\n store.updateData({\n [finishedField || 'finished']: false\n });\n\n const formStore = this.form\n ? (this.form.props.store as IFormStore)\n : store;\n store.markSaving(true);\n\n formStore\n .saveRemote(action.api || step.api || api!, store.data, {\n onSuccess: () => {\n this.dispatchEvent('submitSucc', {formData: store.data});\n\n if (\n !isEffectiveApi(finnalAsyncApi, store.data) ||\n store.data[finishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(finnalAsyncApi as Api, store.data),\n (ret: any) => ret && ret[finishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n },\n onFailed: error => this.dispatchEvent('submitFail', {error})\n })\n .then(async value => {\n const feedback = action.feedback;\n if (feedback && isVisible(feedback, value)) {\n const confirmed = await this.openFeedback(feedback, value);\n\n // 如果 feedback 配置了,取消就跳过原有逻辑。\n if (feedback.skipRestOnCancel && !confirmed) {\n throw new SkipOperation();\n } else if (feedback.skipRestOnConfirm && confirmed) {\n throw new SkipOperation();\n }\n }\n\n this.setState({completeStep: steps.length});\n store.updateData({\n ...store.data,\n ...value\n });\n store.markSaving(false);\n\n if (value && typeof value.step === 'number') {\n this.gotoStep(value.step);\n } else if (onFinished && onFinished(value, action) === false) {\n // 如果是 false 后面的操作就不执行\n return value;\n }\n\n const finalRedirect =\n (action.redirect || step.redirect || redirect) &&\n filter(action.redirect || step.redirect || redirect, store.data);\n\n if (finalRedirect) {\n env.jumpTo(finalRedirect, action);\n } else if (action.reload || step.reload || reload) {\n this.reloadTarget(\n action.reload || step.reload || reload!,\n store.data\n );\n }\n\n return value;\n })\n .catch(error => {\n this.dispatchEvent('submitFail', {error});\n store.markSaving(false);\n console.error(error);\n });\n } else {\n onFinished && onFinished(store.data, action);\n this.setState({completeStep: steps.length});\n }\n }\n\n // 接管里面 form 的提交,不能直接让 form 提交,因为 wizard 自己需要知道进度。\n @autobind\n async handleSubmit(values: object, action: Action) {\n const {store, steps, finishedField} = this.props;\n\n if (this.state.currentStep < steps.length) {\n const step = steps[this.state.currentStep - 1];\n store.updateData(values);\n\n let finnalAsyncApi = action.asyncApi || step.asyncApi;\n\n isEffectiveApi(finnalAsyncApi, store.data) &&\n store.updateData({\n [finishedField || 'finished']: false\n });\n\n if (isEffectiveApi(action.api || step.api, store.data)) {\n store\n .saveRemote(action.api || step.api!, store.data, {\n onSuccess: () => {\n this.dispatchEvent('stepSubmitSucc', {formData: store.data});\n\n if (\n !isEffectiveApi(finnalAsyncApi, store.data) ||\n store.data[finishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(finnalAsyncApi as Api, store.data),\n (ret: any) => ret && ret[finishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n },\n onFailed: json => {\n this.dispatchEvent('stepSubmitFail', {error: json});\n if (json.status === 422 && json.errors && this.form) {\n this.form.props.store.setFormItemErrors(json.errors);\n }\n }\n })\n .then(async (value: any) => {\n const feedback = action.feedback;\n if (feedback && isVisible(feedback, value)) {\n const confirmed = await this.openFeedback(feedback, value);\n\n // 如果 feedback 配置了,取消就跳过原有逻辑。\n if (feedback.skipRestOnCancel && !confirmed) {\n throw new SkipOperation();\n } else if (feedback.skipRestOnConfirm && confirmed) {\n throw new SkipOperation();\n }\n }\n\n this.gotoStep(\n value && typeof value.step === 'number'\n ? value.step\n : this.state.currentStep + 1\n );\n })\n .catch(reason => {\n this.dispatchEvent('stepSubmitFail', {error: reason});\n if (reason instanceof SkipOperation) {\n return;\n }\n // do nothing\n });\n } else {\n this.gotoStep(this.state.currentStep + 1);\n }\n } else {\n this.finalSubmit(values, action);\n }\n\n return false;\n }\n\n @autobind\n handleDialogConfirm(values: object[], action: Action, targets: Array<any>) {\n const {store} = this.props;\n\n if (\n action.mergeData &&\n values.length === 1 &&\n values[0] &&\n targets[0].props.type === 'form'\n ) {\n store.updateData(values[0]);\n }\n\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n renderSteps() {\n const {steps, store, mode, classPrefix: ns, classnames: cx} = this.props;\n const {currentStep, completeStep} = this.state;\n\n return (\n <div className={`${ns}Wizard-steps`} id=\"form-wizard\">\n {Array.isArray(steps) && steps.length ? (\n <ul>\n {steps.map((step, key) => {\n const canJump = isJumpable(step, key, currentStep, store.data);\n const isComplete = canJump || key < completeStep;\n const isActive = currentStep === key + 1;\n\n return (\n <li\n key={key}\n className={cx({\n 'is-complete': isComplete,\n 'is-active': isActive\n })}\n onClick={() => (canJump ? this.gotoStep(key + 1) : null)}\n >\n <span\n className={cx('Badge', {\n // 'Badge--success': canJump && currentStep != key + 1,\n 'is-complete': isComplete,\n 'is-active':\n isActive || (canJump && currentStep != key + 1)\n })}\n >\n {isComplete && !isActive ? (\n <Icon icon=\"check\" className=\"icon\" />\n ) : (\n key + 1\n )}\n </span>\n {step.title || step.label || `第 ${key + 1} 步`}\n </li>\n );\n })}\n </ul>\n ) : null}\n </div>\n );\n }\n\n renderActions() {\n const {\n steps,\n store,\n readOnly,\n disabled,\n actionClassName,\n actionPrevLabel,\n actionNextLabel,\n actionNextSaveLabel,\n actionFinishLabel,\n render,\n translate: __\n } = this.props;\n\n if (!Array.isArray(steps)) {\n return null;\n }\n\n const currentStepIndex = this.state.currentStep;\n const nextStep = steps[currentStepIndex];\n const prevStep = steps[currentStepIndex - 2];\n const waiting = store.loading;\n const step = steps[currentStepIndex - 1];\n\n if (!step) {\n return null;\n }\n\n const prevCanJump = prevStep\n ? isJumpable(prevStep, currentStepIndex - 2, currentStepIndex, store.data)\n : false;\n\n if (step.actions && Array.isArray(step.actions)) {\n return step.actions.length ? (\n <>\n {step.actions.map((action, index) =>\n render(`action/${index}`, action, {\n key: index,\n onAction: this.handleAction,\n disabled:\n action.disabled ||\n waiting ||\n disabled ||\n (action.actionType === 'prev' && !prevCanJump) ||\n (action.actionType === 'next' &&\n readOnly &&\n (!!step.api || !nextStep))\n })\n )}\n </>\n ) : null;\n }\n\n return (\n <>\n {render(\n `prev-btn`,\n {\n type: 'button',\n label: __(actionPrevLabel),\n actionType: 'prev',\n className: actionClassName\n },\n {\n disabled: waiting || !prevCanJump || disabled,\n onAction: this.handleAction\n }\n )}\n\n {render(\n `next-btn`,\n {\n type: 'button',\n label: !nextStep\n ? __(actionFinishLabel)\n : !step.api\n ? __(actionNextLabel)\n : __(actionNextSaveLabel),\n actionType: 'next',\n primary: !nextStep || !!step.api,\n className: actionClassName\n },\n {\n disabled:\n waiting || disabled || (readOnly && (!!step.api || !nextStep)),\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n\n renderFooter() {\n const actions = this.renderActions();\n\n if (!actions) {\n return actions;\n }\n const {classnames: cx, affixFooter} = this.props;\n\n return (\n <>\n <div\n role=\"wizard-footer\"\n ref={this.footerDom}\n className={cx('Panel-footer Wizard-footer')}\n >\n {actions}\n </div>\n\n {affixFooter ? (\n <div\n ref={this.affixDom}\n className={cx('Panel-fixedBottom Wizard-footer')}\n >\n <div className={cx('Panel-footer')}>{actions}</div>\n </div>\n ) : null}\n </>\n );\n }\n\n renderWizard() {\n const {\n className,\n steps,\n render,\n store,\n classPrefix: ns,\n classnames: cx,\n popOverContainer,\n mode,\n translate: __\n } = this.props;\n\n const currentStep = this.state.currentStep;\n const step = Array.isArray(steps) ? steps[currentStep - 1] : null;\n\n return (\n <div\n ref={this.domRef}\n className={cx(\n `${ns}Panel ${ns}Panel--default ${ns}Wizard ${ns}Wizard--${mode}`,\n className\n )}\n >\n <div className={`${ns}Wizard-step`}>\n {this.renderSteps()}\n <div\n role=\"wizard-body\"\n className={`${ns}Wizard-stepContent clearfix`}\n >\n {step ? (\n render(\n 'body',\n {\n ...step,\n type: 'form',\n wrapWithPanel: false,\n\n // 接口相关需要外部来接管\n api: null\n },\n {\n key: this.state.currentStep,\n ref: this.formRef,\n onInit: this.handleInit,\n onReset: this.handleReset,\n onSubmit: this.handleSubmit,\n onAction: this.handleAction,\n onQuery: this.handleQuery,\n disabled: store.loading,\n popOverContainer:\n popOverContainer || this.getPopOverContainer,\n onChange: this.handleChange,\n formStore: undefined\n }\n )\n ) : currentStep === -1 ? (\n __('loading')\n ) : (\n <p className=\"text-danger\">{__('Wizard.configError')}</p>\n )}\n </div>\n {this.renderFooter()}\n </div>\n\n {render(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n </div>\n );\n }\n\n render() {\n return this.renderWizard();\n }\n}\n\nfunction isJumpable(step: any, index: number, currentStep: number, data: any) {\n let canJump = false;\n\n if (step && step.hasOwnProperty('jumpable')) {\n canJump = step.jumpable;\n } else if (step && step.jumpableOn) {\n canJump = evalExpression(\n step.jumpableOn,\n createObject(data, {\n currentStep\n })\n );\n } else {\n canJump = index + 1 < currentStep;\n }\n\n return canJump;\n}\n\n@Renderer({\n type: 'wizard',\n storeType: ServiceStore.name,\n isolateScope: true\n})\nexport class WizardRenderer extends Wizard {\n static contextType = ScopedContext;\n\n constructor(props: WizardProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n doAction(action: Action, data: object, throwErrors: boolean = false) {\n return this.handleAction(undefined, action, data);\n }\n\n submitToTarget(target: string, values: object) {\n const scoped = this.context as IScopedContext;\n scoped.send(target, values);\n }\n\n reloadTarget(target: string, data: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n @autobind\n handleDialogConfirm(values: object[], action: Action, targets: Array<any>) {\n super.handleDialogConfirm(values, action, targets);\n\n const store = this.props.store;\n const scoped = this.context as IScopedContext;\n if (action.reload) {\n scoped.reload(action.reload, store.data);\n } else if (store.action && store.action.reload) {\n scoped.reload(store.action.reload, store.data);\n }\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n createObject,\n until,\n isVisible,\n getScrollParent,\n autobind,\n SkipOperation\n} from '../utils/helper';\nimport {isApiOutdated, isEffectiveApi} from '../utils/api';\nimport {IFormStore} from '../store/form';\nimport {Spinner} from '../components';\nimport {Icon} from '../components/icons';\nimport {findDOMNode} from 'react-dom';\nimport {resizeSensor} from '../utils/resize-sensor';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaExpression,\n SchemaName,\n SchemaReload\n} from '../Schema';\nimport {FormSchema} from './Form';\nimport {ActionSchema} from './Action';\n\nimport {tokenize} from '../utils/tpl-builtin';\n\nexport type WizardStepSchema = Omit<FormSchema, 'type'> & {\n /**\n * 当前步骤用来保存数据的 api。\n */\n api?: SchemaApi;\n\n asyncApi?: SchemaApi;\n\n /**\n * 当前步骤用来获取初始数据的 api\n */\n initApi?: SchemaApi;\n\n /**\n * 是否可直接跳转到该步骤,一般编辑模式需要可直接跳转查看。\n */\n jumpable?: boolean;\n\n /**\n * 通过 JS 表达式来配置当前步骤可否被直接跳转到。\n */\n jumpableOn?: SchemaExpression;\n\n /**\n * Step 标题\n */\n title?: string;\n label?: string;\n\n /**\n * 每一步可以单独配置按钮。如果不配置wizard会自动生成。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 保存完后,可以指定跳转地址,支持相对路径和组内绝对路径,同时可以通过 $xxx 使用变量\n */\n redirect?: string;\n\n reload?: SchemaReload;\n\n /**\n * 默认表单提交自己会通过发送 api 保存数据,但是也可以设定另外一个 form 的 name 值,或者另外一个 `CRUD` 模型的 name 值。 如果 target 目标是一个 `Form` ,则目标 `Form` 会重新触发 `initApi` 和 `schemaApi`,api 可以拿到当前 form 数据。如果目标是一个 `CRUD` 模型,则目标模型会重新触发搜索,参数为当前 Form 数据。\n */\n target?: string;\n};\n\n/**\n * 表单向导\n * 文档:https://baidu.gitee.io/amis/docs/components/wizard\n */\nexport interface WizardSchema extends BaseSchema {\n /**\n * 指定为表单向导\n */\n type: 'wizard';\n\n /**\n * 配置按钮 className\n */\n actionClassName?: SchemaClassName;\n\n /**\n * 完成按钮的文字描述\n */\n actionFinishLabel?: string;\n\n /**\n * 下一步按钮的文字描述\n */\n actionNextLabel?: string;\n\n /**\n * 下一步并且保存按钮的文字描述\n */\n actionNextSaveLabel?: string;\n\n /**\n * 上一步按钮的文字描述\n */\n actionPrevLabel?: string;\n\n /**\n * Wizard 用来保存数据的 api。\n * [详情](https://baidu.github.io/amis/docs/api#wizard)\n */\n api?: SchemaApi;\n\n /**\n * 是否合并后再提交\n */\n bulkSubmit?: boolean;\n\n /**\n * Wizard 用来获取初始数据的 api。\n */\n initApi?: SchemaApi;\n\n /**\n * 展示模式\n *\n * @default vertical\n */\n mode?: 'vertical' | 'horizontal';\n\n name?: SchemaName;\n\n /**\n * 是否为只读模式。\n */\n readOnly?: boolean;\n\n /**\n * 保存完后,可以指定跳转地址,支持相对路径和组内绝对路径,同时可以通过 $xxx 使用变量\n */\n redirect?: string;\n\n reload?: SchemaReload;\n\n /**\n * 默认表单提交自己会通过发送 api 保存数据,但是也可以设定另外一个 form 的 name 值,或者另外一个 `CRUD` 模型的 name 值。 如果 target 目标是一个 `Form` ,则目标 `Form` 会重新触发 `initApi` 和 `schemaApi`,api 可以拿到当前 form 数据。如果目标是一个 `CRUD` 模型,则目标模型会重新触发搜索,参数为当前 Form 数据。\n */\n target?: string;\n\n /**\n * 是否将底部按钮固定在底部。\n */\n affixFooter?: boolean | 'always';\n\n steps: Array<WizardStepSchema>;\n\n startStep?: string;\n}\n\nexport interface WizardProps\n extends RendererProps,\n Omit<WizardSchema, 'className'> {\n store: IServiceStore;\n onFinished: (values: object, action: any) => any;\n}\n\nexport interface WizardState {\n currentStep: number;\n completeStep: number;\n}\n\nexport default class Wizard extends React.Component<WizardProps, WizardState> {\n static defaultProps: Partial<WizardProps> = {\n mode: 'horizontal', // vertical\n readOnly: false,\n messages: {},\n actionClassName: '',\n actionPrevLabel: 'Wizard.prev',\n actionNextLabel: 'Wizard.next',\n actionNextSaveLabel: 'Wizard.saveAndNext',\n actionFinishLabel: 'Wizard.finish',\n startStep: '1'\n };\n\n static propsList: Array<string> = [\n 'steps',\n 'mode',\n 'messages',\n 'actionClassName',\n 'actionPrevLabel',\n 'actionNextLabel',\n 'actionNextSaveLabel',\n 'actionFinishLabel',\n 'onFinished',\n 'affixFooter',\n 'startStep'\n ];\n\n dom: any;\n form: any;\n asyncCancel: () => void;\n\n parentNode?: any;\n unSensor: Function;\n affixDom: React.RefObject<HTMLDivElement> = React.createRef();\n footerDom: React.RefObject<HTMLDivElement> = React.createRef();\n initalValues: {\n [propName: string]: any;\n } = {};\n\n state = {\n currentStep: -1, // init 完后会设置成 1\n completeStep: -1\n };\n\n componentDidMount() {\n const {\n initApi,\n initFetch,\n initAsyncApi,\n initFinishedField,\n store,\n messages: {fetchSuccess, fetchFailed},\n onInit\n } = this.props;\n\n if (isEffectiveApi(initApi, store.data, initFetch)) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed,\n onSuccess: () => {\n if (\n !isEffectiveApi(initAsyncApi, store.data) ||\n store.data[initFinishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(initAsyncApi, store.data),\n (ret: any) => ret && ret[initFinishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n }\n })\n .then(value => {\n this.handleInitEvent(store.data);\n\n const state = {\n currentStep:\n typeof this.props.startStep === 'string'\n ? parseInt(tokenize(this.props.startStep, this.props.data))\n : 1\n };\n\n if (\n value &&\n value.data &&\n (typeof value.data.step === 'number' ||\n (typeof value.data.step === 'string' &&\n /^\\d+$/.test(value.data.step)))\n ) {\n state.currentStep = parseInt(value.data.step, 10);\n }\n\n this.setState(state, () => {\n // 如果 initApi 返回的状态是正在提交,则进入轮顺状态。\n if (\n value &&\n value.data &&\n (value.data.submiting || value.data.submited)\n ) {\n this.checkSubmit();\n }\n });\n return value;\n });\n } else {\n this.setState(\n {\n currentStep:\n typeof this.props.startStep === 'string'\n ? parseInt(tokenize(this.props.startStep, this.props.data))\n : 1\n },\n () => this.handleInitEvent(store.data)\n );\n }\n\n const dom = findDOMNode(this) as HTMLElement;\n if (!(dom instanceof Element)) {\n return;\n }\n\n let parent: HTMLElement | Window | null = dom ? getScrollParent(dom) : null;\n if (!parent || parent === document.body) {\n parent = window;\n }\n this.parentNode = parent;\n parent.addEventListener('scroll', this.affixDetect);\n this.unSensor = resizeSensor(dom as HTMLElement, this.affixDetect);\n this.affixDetect();\n }\n\n componentDidUpdate(prevProps: WizardProps) {\n const props = this.props;\n const {store, fetchSuccess, fetchFailed} = props;\n\n if (\n isApiOutdated(\n prevProps.initApi,\n props.initApi,\n prevProps.data,\n props.data\n )\n ) {\n store.fetchData(props.initApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n });\n }\n }\n\n componentWillUnmount() {\n this.asyncCancel && this.asyncCancel();\n const parent = this.parentNode;\n parent && parent.removeEventListener('scroll', this.affixDetect);\n this.unSensor && this.unSensor();\n }\n\n async dispatchEvent(action: string, value?: object) {\n const {dispatchEvent, data} = this.props;\n\n const rendererEvent = await dispatchEvent(\n action,\n value ? createObject(data, value) : data\n );\n\n return rendererEvent?.prevented ?? false;\n }\n\n async handleInitEvent(data: any) {\n const {onInit} = this.props;\n (await this.dispatchEvent('inited', data)) && onInit && onInit(data);\n }\n\n @autobind\n affixDetect() {\n if (\n !this.props.affixFooter ||\n !this.affixDom.current ||\n !this.footerDom.current\n ) {\n return;\n }\n\n const affixDom = this.affixDom.current;\n const footerDom = this.footerDom.current;\n let affixed = false;\n footerDom.offsetWidth &&\n (affixDom.style.cssText = `width: ${footerDom.offsetWidth}px;`);\n\n if (this.props.affixFooter === 'always') {\n affixed = true;\n footerDom.classList.add('invisible2');\n } else {\n const clip = footerDom.getBoundingClientRect();\n const clientHeight = window.innerHeight;\n affixed = clip.top + clip.height / 2 > clientHeight;\n }\n\n affixed ? affixDom.classList.add('in') : affixDom.classList.remove('in');\n }\n\n async gotoStep(index: number) {\n const steps = this.props.steps || [];\n index = Math.max(Math.min(steps.length, index), 1);\n\n if (index != this.state.currentStep) {\n if (\n await this.dispatchEvent('stepChange', {\n step: index\n })\n ) {\n return;\n }\n\n this.setState({\n currentStep: index,\n completeStep: Math.max(this.state.completeStep, index - 1)\n });\n }\n }\n\n @autobind\n formRef(ref: any) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.form = ref;\n } else {\n this.form = undefined;\n }\n }\n\n submitToTarget(target: string, values: object) {\n throw new Error('Please implements this!');\n }\n\n reloadTarget(target: string, data: any) {\n throw new Error('Please implements this!');\n }\n\n reload(subPath?: string, query?: any, ctx?: any) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n initApi,\n initAsyncApi,\n initFinishedField,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(initApi, store.data) && this.state.currentStep === 1) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed,\n onSuccess: () => {\n if (\n !isEffectiveApi(initAsyncApi, store.data) ||\n store.data[initFinishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(initAsyncApi, store.data),\n (ret: any) => ret && ret[initFinishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n }\n })\n .then(value => {\n const state = {\n currentStep: 1\n };\n\n if (\n value &&\n value.data &&\n (typeof value.data.step === 'number' ||\n (typeof value.data.step === 'string' &&\n /^\\d+$/.test(value.data.step)))\n ) {\n state.currentStep = parseInt(value.data.step, 10);\n }\n\n this.setState(state, () => {\n // 如果 initApi 返回的状态是正在提交,则进入轮顺状态。\n if (\n value &&\n value.data &&\n (value.data.submiting || value.data.submited)\n ) {\n this.checkSubmit();\n }\n });\n return value;\n });\n }\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n @autobind\n domRef(ref: any) {\n this.dom = ref;\n }\n\n @autobind\n getPopOverContainer() {\n return this.dom;\n }\n\n // 用来还原异步提交状态。\n checkSubmit() {\n const {store, steps, asyncApi, finishedField, env} = this.props;\n\n const step = steps[this.state.currentStep - 1];\n let finnalAsyncApi =\n (step && step.asyncApi) ||\n (this.state.currentStep === steps.length && asyncApi);\n\n if (!step || !isEffectiveApi(finnalAsyncApi, store.data)) {\n return;\n }\n\n store.markSaving(true);\n store.updateData({\n [finishedField || 'finished']: false\n });\n\n until(\n () => store.checkRemote(finnalAsyncApi as Api, store.data),\n (ret: any) => ret && ret[finishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n )\n .then(() => {\n store.markSaving(false);\n this.gotoStep(this.state.currentStep + 1);\n })\n .catch(e => {\n env.notify('error', e.message);\n store.markSaving(false);\n });\n }\n\n @autobind\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, steps} = this.props;\n\n if (\n action.actionType === 'next' ||\n action.type === 'submit' ||\n action.actionType === 'step-submit'\n ) {\n this.form.doAction(\n {\n ...action,\n actionType: 'submit'\n },\n data\n );\n } else if (action.actionType === 'prev') {\n this.gotoStep(this.state.currentStep - 1);\n } else if (action.type === 'reset') {\n this.form.reset();\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(data);\n } else if (action.actionType === 'ajax') {\n if (!action.api) {\n return env.alert(`当 actionType 为 ajax 时,请设置 api 属性`);\n }\n\n return store\n .saveRemote(action.api as Api, data, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n this.form && this.form.isValidated() && this.form.validate(true);\n\n const feedback = action.feedback;\n if (feedback && isVisible(feedback, store.data)) {\n const confirmed = await this.openFeedback(feedback, store.data);\n\n // 如果 feedback 配置了,取消就跳过原有逻辑。\n if (feedback.skipRestOnCancel && !confirmed) {\n throw new SkipOperation();\n } else if (feedback.skipRestOnConfirm && confirmed) {\n throw new SkipOperation();\n }\n }\n\n const reidrect =\n action.redirect && filter(action.redirect, store.data);\n reidrect && env.jumpTo(reidrect, action);\n\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(reason => {\n if (reason instanceof SkipOperation) {\n return;\n }\n });\n } else if (action.actionType === 'reload') {\n action.target && this.reloadTarget(action.target, data);\n } else if (action.actionType === 'goto-step') {\n const targetStep = (data as any).step;\n\n if (\n targetStep !== undefined &&\n targetStep <= steps.length &&\n targetStep >= 0\n ) {\n this.gotoStep((data as any).step);\n }\n } else if (action.actionType === 'submit') {\n this.finalSubmit();\n } else if (onAction) {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n @autobind\n handleQuery(query: any) {\n if (this.props.initApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n @autobind\n async handleChange(values: object) {\n const {store} = this.props;\n\n const previous = store.data;\n const final = {...previous, ...values};\n\n if (await this.dispatchEvent('change', {formData: final})) {\n return;\n }\n\n store.updateData(values);\n }\n\n @autobind\n handleInit(values: any) {\n const step = this.state.currentStep;\n this.initalValues[step] = this.initalValues[step] || values;\n const store = this.props.store;\n\n store.updateData(values);\n }\n\n @autobind\n handleReset(values: any) {\n const {store} = this.props;\n const initalValue = this.initalValues[this.state.currentStep];\n const reseted: any = {};\n Object.keys(values).forEach(key => {\n reseted[key] = initalValue.hasOwnProperty(key)\n ? initalValue[key]\n : undefined;\n });\n\n store.updateData(reseted);\n }\n\n async finalSubmit(values: object = {}, action: Action = {type: 'submit'}) {\n const {\n store,\n steps,\n api,\n asyncApi,\n finishedField,\n target,\n redirect,\n reload,\n env,\n onFinished\n } = this.props;\n\n if (await this.dispatchEvent('finished', {formData: store.data})) {\n return;\n }\n\n const step = steps[this.state.currentStep - 1];\n store.updateData(values);\n\n // 最后一步\n if (target) {\n this.submitToTarget(target, store.data);\n this.setState({completeStep: steps.length});\n } else if (action.api || step.api || api) {\n let finnalAsyncApi = action.asyncApi || step.asyncApi || asyncApi;\n\n isEffectiveApi(finnalAsyncApi, store.data) &&\n store.updateData({\n [finishedField || 'finished']: false\n });\n\n const formStore = this.form\n ? (this.form.props.store as IFormStore)\n : store;\n store.markSaving(true);\n\n formStore\n .saveRemote(action.api || step.api || api!, store.data, {\n onSuccess: () => {\n this.dispatchEvent('submitSucc', {formData: store.data});\n\n if (\n !isEffectiveApi(finnalAsyncApi, store.data) ||\n store.data[finishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(finnalAsyncApi as Api, store.data),\n (ret: any) => ret && ret[finishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n },\n onFailed: error => this.dispatchEvent('submitFail', {error})\n })\n .then(async value => {\n const feedback = action.feedback;\n if (feedback && isVisible(feedback, value)) {\n const confirmed = await this.openFeedback(feedback, value);\n\n // 如果 feedback 配置了,取消就跳过原有逻辑。\n if (feedback.skipRestOnCancel && !confirmed) {\n throw new SkipOperation();\n } else if (feedback.skipRestOnConfirm && confirmed) {\n throw new SkipOperation();\n }\n }\n\n this.setState({completeStep: steps.length});\n store.updateData({\n ...store.data,\n ...value\n });\n store.markSaving(false);\n\n if (value && typeof value.step === 'number') {\n this.gotoStep(value.step);\n } else if (onFinished && onFinished(value, action) === false) {\n // 如果是 false 后面的操作就不执行\n return value;\n }\n\n const finalRedirect =\n (action.redirect || step.redirect || redirect) &&\n filter(action.redirect || step.redirect || redirect, store.data);\n\n if (finalRedirect) {\n env.jumpTo(finalRedirect, action);\n } else if (action.reload || step.reload || reload) {\n this.reloadTarget(\n action.reload || step.reload || reload!,\n store.data\n );\n }\n\n return value;\n })\n .catch(error => {\n this.dispatchEvent('submitFail', {error});\n store.markSaving(false);\n console.error(error);\n });\n } else {\n onFinished && onFinished(store.data, action);\n this.setState({completeStep: steps.length});\n }\n }\n\n // 接管里面 form 的提交,不能直接让 form 提交,因为 wizard 自己需要知道进度。\n @autobind\n async handleSubmit(values: object, action: Action) {\n const {store, steps, finishedField} = this.props;\n\n if (this.state.currentStep < steps.length) {\n const step = steps[this.state.currentStep - 1];\n store.updateData(values);\n\n let finnalAsyncApi = action.asyncApi || step.asyncApi;\n\n isEffectiveApi(finnalAsyncApi, store.data) &&\n store.updateData({\n [finishedField || 'finished']: false\n });\n\n if (isEffectiveApi(action.api || step.api, store.data)) {\n store\n .saveRemote(action.api || step.api!, store.data, {\n onSuccess: () => {\n this.dispatchEvent('stepSubmitSucc');\n\n if (\n !isEffectiveApi(finnalAsyncApi, store.data) ||\n store.data[finishedField || 'finished']\n ) {\n return;\n }\n\n return until(\n () => store.checkRemote(finnalAsyncApi as Api, store.data),\n (ret: any) => ret && ret[finishedField || 'finished'],\n cancel => (this.asyncCancel = cancel)\n );\n },\n onFailed: json => {\n this.dispatchEvent('stepSubmitFail', {error: json});\n if (json.status === 422 && json.errors && this.form) {\n this.form.props.store.setFormItemErrors(json.errors);\n }\n }\n })\n .then(async (value: any) => {\n const feedback = action.feedback;\n if (feedback && isVisible(feedback, value)) {\n const confirmed = await this.openFeedback(feedback, value);\n\n // 如果 feedback 配置了,取消就跳过原有逻辑。\n if (feedback.skipRestOnCancel && !confirmed) {\n throw new SkipOperation();\n } else if (feedback.skipRestOnConfirm && confirmed) {\n throw new SkipOperation();\n }\n }\n\n this.gotoStep(\n value && typeof value.step === 'number'\n ? value.step\n : this.state.currentStep + 1\n );\n })\n .catch(reason => {\n this.dispatchEvent('stepSubmitFail', {error: reason});\n if (reason instanceof SkipOperation) {\n return;\n }\n // do nothing\n });\n } else {\n this.gotoStep(this.state.currentStep + 1);\n }\n } else {\n this.finalSubmit(values, action);\n }\n\n return false;\n }\n\n @autobind\n handleDialogConfirm(values: object[], action: Action, targets: Array<any>) {\n const {store} = this.props;\n\n if (\n action.mergeData &&\n values.length === 1 &&\n values[0] &&\n targets[0].props.type === 'form'\n ) {\n store.updateData(values[0]);\n }\n\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n renderSteps() {\n const {steps, store, mode, classPrefix: ns, classnames: cx} = this.props;\n const {currentStep, completeStep} = this.state;\n\n return (\n <div className={`${ns}Wizard-steps`} id=\"form-wizard\">\n {Array.isArray(steps) && steps.length ? (\n <ul>\n {steps.map((step, key) => {\n const canJump = isJumpable(step, key, currentStep, store.data);\n const isComplete = canJump || key < completeStep;\n const isActive = currentStep === key + 1;\n\n return (\n <li\n key={key}\n className={cx({\n 'is-complete': isComplete,\n 'is-active': isActive\n })}\n onClick={() => (canJump ? this.gotoStep(key + 1) : null)}\n >\n <span\n className={cx('Badge', {\n // 'Badge--success': canJump && currentStep != key + 1,\n 'is-complete': isComplete,\n 'is-active':\n isActive || (canJump && currentStep != key + 1)\n })}\n >\n {isComplete && !isActive ? (\n <Icon icon=\"check\" className=\"icon\" />\n ) : (\n key + 1\n )}\n </span>\n {step.title || step.label || `第 ${key + 1} 步`}\n </li>\n );\n })}\n </ul>\n ) : null}\n </div>\n );\n }\n\n renderActions() {\n const {\n steps,\n store,\n readOnly,\n disabled,\n actionClassName,\n actionPrevLabel,\n actionNextLabel,\n actionNextSaveLabel,\n actionFinishLabel,\n render,\n translate: __\n } = this.props;\n\n if (!Array.isArray(steps)) {\n return null;\n }\n\n const currentStepIndex = this.state.currentStep;\n const nextStep = steps[currentStepIndex];\n const prevStep = steps[currentStepIndex - 2];\n const waiting = store.loading;\n const step = steps[currentStepIndex - 1];\n\n if (!step) {\n return null;\n }\n\n const prevCanJump = prevStep\n ? isJumpable(prevStep, currentStepIndex - 2, currentStepIndex, store.data)\n : false;\n\n if (step.actions && Array.isArray(step.actions)) {\n return step.actions.length ? (\n <>\n {step.actions.map((action, index) =>\n render(`action/${index}`, action, {\n key: index,\n onAction: this.handleAction,\n disabled:\n action.disabled ||\n waiting ||\n disabled ||\n (action.actionType === 'prev' && !prevCanJump) ||\n (action.actionType === 'next' &&\n readOnly &&\n (!!step.api || !nextStep))\n })\n )}\n </>\n ) : null;\n }\n\n return (\n <>\n {render(\n `prev-btn`,\n {\n type: 'button',\n label: __(actionPrevLabel),\n actionType: 'prev',\n className: actionClassName\n },\n {\n disabled: waiting || !prevCanJump || disabled,\n onAction: this.handleAction\n }\n )}\n\n {render(\n `next-btn`,\n {\n type: 'button',\n label: !nextStep\n ? __(actionFinishLabel)\n : !step.api\n ? __(actionNextLabel)\n : __(actionNextSaveLabel),\n actionType: 'next',\n primary: !nextStep || !!step.api,\n className: actionClassName\n },\n {\n disabled:\n waiting || disabled || (readOnly && (!!step.api || !nextStep)),\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n\n renderFooter() {\n const actions = this.renderActions();\n\n if (!actions) {\n return actions;\n }\n const {classnames: cx, affixFooter} = this.props;\n\n return (\n <>\n <div\n role=\"wizard-footer\"\n ref={this.footerDom}\n className={cx('Panel-footer Wizard-footer')}\n >\n {actions}\n </div>\n\n {affixFooter ? (\n <div\n ref={this.affixDom}\n className={cx('Panel-fixedBottom Wizard-footer')}\n >\n <div className={cx('Panel-footer')}>{actions}</div>\n </div>\n ) : null}\n </>\n );\n }\n\n renderWizard() {\n const {\n className,\n steps,\n render,\n store,\n classPrefix: ns,\n classnames: cx,\n popOverContainer,\n mode,\n translate: __\n } = this.props;\n\n const currentStep = this.state.currentStep;\n const step = Array.isArray(steps) ? steps[currentStep - 1] : null;\n\n return (\n <div\n ref={this.domRef}\n className={cx(\n `${ns}Panel ${ns}Panel--default ${ns}Wizard ${ns}Wizard--${mode}`,\n className\n )}\n >\n <div className={`${ns}Wizard-step`}>\n {this.renderSteps()}\n <div\n role=\"wizard-body\"\n className={`${ns}Wizard-stepContent clearfix`}\n >\n {step ? (\n render(\n 'body',\n {\n ...step,\n type: 'form',\n wrapWithPanel: false,\n\n // 接口相关需要外部来接管\n api: null\n },\n {\n key: this.state.currentStep,\n ref: this.formRef,\n onInit: this.handleInit,\n onReset: this.handleReset,\n onSubmit: this.handleSubmit,\n onAction: this.handleAction,\n onQuery: this.handleQuery,\n disabled: store.loading,\n popOverContainer:\n popOverContainer || this.getPopOverContainer,\n onChange: this.handleChange,\n formStore: undefined\n }\n )\n ) : currentStep === -1 ? (\n __('loading')\n ) : (\n <p className=\"text-danger\">{__('Wizard.configError')}</p>\n )}\n </div>\n {this.renderFooter()}\n </div>\n\n {render(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n </div>\n );\n }\n\n render() {\n return this.renderWizard();\n }\n}\n\nfunction isJumpable(step: any, index: number, currentStep: number, data: any) {\n let canJump = false;\n\n if (step && step.hasOwnProperty('jumpable')) {\n canJump = step.jumpable;\n } else if (step && step.jumpableOn) {\n canJump = evalExpression(\n step.jumpableOn,\n createObject(data, {\n currentStep\n })\n );\n } else {\n canJump = index + 1 < currentStep;\n }\n\n return canJump;\n}\n\n@Renderer({\n type: 'wizard',\n storeType: ServiceStore.name,\n isolateScope: true\n})\nexport class WizardRenderer extends Wizard {\n static contextType = ScopedContext;\n\n constructor(props: WizardProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n doAction(action: Action, data: object, throwErrors: boolean = false) {\n return this.handleAction(undefined, action, data);\n }\n\n submitToTarget(target: string, values: object) {\n const scoped = this.context as IScopedContext;\n scoped.send(target, values);\n }\n\n reloadTarget(target: string, data: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n @autobind\n handleDialogConfirm(values: object[], action: Action, targets: Array<any>) {\n super.handleDialogConfirm(values, action, targets);\n\n const store = this.props.store;\n const scoped = this.context as IScopedContext;\n if (action.reload) {\n scoped.reload(action.reload, store.data);\n } else if (store.action && store.action.reload) {\n scoped.reload(store.action.reload, store.data);\n }\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/themes/ang-ie11.css
CHANGED
@@ -26316,10 +26316,32 @@ td.rdtQuarter.rdtDisabled > span {
|
|
26316
26316
|
display: flex;
|
26317
26317
|
align-items: center;
|
26318
26318
|
position: relative;
|
26319
|
+
user-select: none;
|
26320
|
+
margin-bottom: 0.25rem;
|
26321
|
+
padding-left: 0.25rem;
|
26322
|
+
}
|
26323
|
+
.a-Tree-itemLabel > * {
|
26324
|
+
position: relative;
|
26325
|
+
z-index: 2;
|
26326
|
+
}
|
26327
|
+
.a-Tree-itemLabel > .a-Checkbox {
|
26328
|
+
display: inline-flex;
|
26329
|
+
align-self: center;
|
26319
26330
|
}
|
26320
26331
|
.a-Tree-itemLabel:hover {
|
26321
26332
|
background: rgba(0, 126, 255, 0.08);
|
26322
26333
|
}
|
26334
|
+
.a-Tree-item .is-checked {
|
26335
|
+
background: var(--Tree-item-onChekced-bg);
|
26336
|
+
border-radius: var(--Tree-item-onChekced-bg-borderRadius);
|
26337
|
+
}
|
26338
|
+
.a-Tree-item .is-disabled {
|
26339
|
+
color: #99a6ad;
|
26340
|
+
background: none;
|
26341
|
+
}
|
26342
|
+
.a-Tree-item .is-disabled:hover {
|
26343
|
+
background: none;
|
26344
|
+
}
|
26323
26345
|
.a-Tree.is-draggable .a-Tree-itemLabel:hover::after {
|
26324
26346
|
display: none;
|
26325
26347
|
}
|
@@ -26352,7 +26374,7 @@ td.rdtQuarter.rdtDisabled > span {
|
|
26352
26374
|
.a-Tree-itemInput > a {
|
26353
26375
|
display: inline-block;
|
26354
26376
|
cursor: pointer;
|
26355
|
-
margin-left: 0.
|
26377
|
+
margin-left: 0.25rem;
|
26356
26378
|
color: #4b5563;
|
26357
26379
|
}
|
26358
26380
|
.a-Tree-itemInput > a:hover {
|
@@ -26435,24 +26457,14 @@ td.rdtQuarter.rdtDisabled > span {
|
|
26435
26457
|
width: 0.875rem;
|
26436
26458
|
height: 0.875rem;
|
26437
26459
|
}
|
26438
|
-
.a-Tree-itemLabel {
|
26439
|
-
user-select: none;
|
26440
|
-
}
|
26441
|
-
.a-Tree-itemLabel.is-checked, .a-Tree-itemLabel.is-children-checked {
|
26442
|
-
color: #23b7e5;
|
26443
|
-
}
|
26444
|
-
.a-Tree-itemLabel.is-disabled {
|
26445
|
-
color: #99a6ad;
|
26446
|
-
}
|
26447
|
-
.a-Tree-itemLabel > .a-Checkbox {
|
26448
|
-
display: inline-flex;
|
26449
|
-
align-self: center;
|
26450
|
-
}
|
26451
26460
|
.a-Tree-itemText {
|
26452
26461
|
cursor: pointer;
|
26453
26462
|
flex: 1 auto;
|
26463
|
+
color: #58666e;
|
26454
26464
|
line-height: 1.5;
|
26455
|
-
|
26465
|
+
}
|
26466
|
+
.is-disabled .a-Tree-itemText {
|
26467
|
+
color: #99a6ad;
|
26456
26468
|
}
|
26457
26469
|
.a-Tree-placeholder {
|
26458
26470
|
color: #99a6ad;
|