mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-30 02:58:05 +08:00
feat:「动作配置」刷新动作配置面板优化 (#7476)
* amis-saas-13021 [Feature] 「动作配置」刷新动作配置面板优化 * amis-saas-13021 [Feature] 「动作配置」刷新动作配置面板优化 * amis-saas-13021 [Feature] 「动作配置」刷新动作配置面板优化 * amis-saas-13021 默认关闭发送数据按钮,关闭时data应被清除,不是设置为null
This commit is contained in:
parent
512c86c7ed
commit
c893fdd667
@ -2462,8 +2462,9 @@ extendLocale('zh-CN', {
|
||||
'5e75800641ec5c1198092bcf9d34f180': '控制所选的组件的启用/禁用',
|
||||
'7854b52a889b3ef0590d9f542efeb4c8': '启用',
|
||||
'd86d5919f595226b7a1e8264635ca23d': '启用/禁用',
|
||||
'c5a9b6e8c522de8a14ad7fab51c1a1e3': '刷新组件',
|
||||
'be4b778e7f5aa6aa5a811d7db4e1a8b3': '请求并重新加载所选组件的数据',
|
||||
'c5a9b6e8c522de8a14ad7fab51c1a1e3': '重新请求数据',
|
||||
'be4b778e7f5aa6aa5a811d7db4e1a8b3':
|
||||
'如果开启发送数据,会先发送配置数据到目标组件,然后重新请求数据。',
|
||||
'694fc5efa9e1d1c2c5eb6525e1c7fb29': '刷新',
|
||||
'ea4d3723b350b2cb8f4c1a615e1b7df1': '设置组件数据',
|
||||
'cb7add16ba6f0cd65d5ddcad71359813': '设置数据容器或表单项的数据',
|
||||
|
@ -1121,9 +1121,10 @@ export const ACTION_TYPE_TREE = (manager: any): RendererPluginAction[] => {
|
||||
]
|
||||
},
|
||||
{
|
||||
actionLabel: '刷新组件',
|
||||
actionLabel: '重新请求数据',
|
||||
actionType: 'reload',
|
||||
description: '请求并重新加载所选组件的数据',
|
||||
description:
|
||||
'如果开启发送数据,会先发送配置数据到目标组件,然后重新请求数据。',
|
||||
descDetail: (info: any) => {
|
||||
return (
|
||||
<div>
|
||||
@ -1142,8 +1143,7 @@ export const ACTION_TYPE_TREE = (manager: any): RendererPluginAction[] => {
|
||||
true,
|
||||
(value: string, oldVal: any, data: any, form: any) => {
|
||||
form.setValueByName('args.resetPage', true);
|
||||
form.setValueByName('__addParam', true);
|
||||
form.setValueByName('__customData', false);
|
||||
form.setValueByName('__addParam', false);
|
||||
form.setValueByName('__containerType', 'all');
|
||||
form.setValueByName('__reloadParam', []);
|
||||
}
|
||||
@ -1165,27 +1165,14 @@ export const ACTION_TYPE_TREE = (manager: any): RendererPluginAction[] => {
|
||||
type: 'switch',
|
||||
name: '__addParam',
|
||||
label: tipedLabel(
|
||||
'追加数据',
|
||||
'当选择“是”,且目标组件是增删改查组件时,数据接口请求时将带上这些数据,其他类型的目标组件只有在数据接口是post请求时才会带上这些数据。'
|
||||
'发送数据',
|
||||
'开启“发送数据”后,所配置的数据将发送给目标组件,这些数据将与目标组件数据域进行合并或覆盖'
|
||||
),
|
||||
onText: '是',
|
||||
offText: '否',
|
||||
mode: 'horizontal',
|
||||
pipeIn: defaultValue(true),
|
||||
visibleOn: `data.actionType === "reload" && data.__isScopeContainer`
|
||||
},
|
||||
{
|
||||
type: 'switch',
|
||||
name: '__customData',
|
||||
label: tipedLabel(
|
||||
'自定义数据',
|
||||
'数据默认为源组件所在数据域,开启“自定义”可以定制所需数据'
|
||||
),
|
||||
onText: '是',
|
||||
offText: '否',
|
||||
mode: 'horizontal',
|
||||
pipeIn: defaultValue(true),
|
||||
visibleOn: `data.__addParam && data.actionType === "reload" && data.__isScopeContainer`,
|
||||
pipeIn: defaultValue(false),
|
||||
visibleOn: `data.actionType === "reload" && data.__isScopeContainer`,
|
||||
onChange: (value: string, oldVal: any, data: any, form: any) => {
|
||||
form.setValueByName('__containerType', 'all');
|
||||
}
|
||||
@ -1196,7 +1183,7 @@ export const ACTION_TYPE_TREE = (manager: any): RendererPluginAction[] => {
|
||||
mode: 'horizontal',
|
||||
label: '',
|
||||
pipeIn: defaultValue('all'),
|
||||
visibleOn: `data.__addParam && data.__customData && data.actionType === "reload" && data.__isScopeContainer`,
|
||||
visibleOn: `data.__addParam && data.actionType === "reload" && data.__isScopeContainer`,
|
||||
options: [
|
||||
{
|
||||
label: '直接赋值',
|
||||
@ -1219,7 +1206,7 @@ export const ACTION_TYPE_TREE = (manager: any): RendererPluginAction[] => {
|
||||
size: 'lg',
|
||||
mode: 'horizontal',
|
||||
required: true,
|
||||
visibleOn: `data.__addParam && data.__customData && data.__containerType === "all" && data.actionType === "reload" && data.__isScopeContainer`
|
||||
visibleOn: `data.__addParam && data.__containerType === "all" && data.actionType === "reload" && data.__isScopeContainer`
|
||||
}),
|
||||
{
|
||||
type: 'combo',
|
||||
@ -1247,14 +1234,14 @@ export const ACTION_TYPE_TREE = (manager: any): RendererPluginAction[] => {
|
||||
placeholder: '参数值'
|
||||
})
|
||||
],
|
||||
visibleOn: `data.__addParam && data.__customData && data.__containerType === "appoint" && data.actionType === "reload" && data.__isScopeContainer`
|
||||
visibleOn: `data.__addParam && data.__containerType === "appoint" && data.actionType === "reload" && data.__isScopeContainer`
|
||||
},
|
||||
{
|
||||
type: 'radios',
|
||||
name: 'dataMergeMode',
|
||||
mode: 'horizontal',
|
||||
label: tipedLabel(
|
||||
'追加方式',
|
||||
'数据处理方式',
|
||||
'选择“合并”时,会将数据合并到目标组件的数据域。<br/>选择“覆盖”时,数据会直接覆盖目标组件的数据域。'
|
||||
),
|
||||
pipeIn: defaultValue('merge'),
|
||||
@ -2797,8 +2784,7 @@ export const getEventControlConfig = (
|
||||
// 处理刷新组件动作的追加参数
|
||||
if (config.actionType === 'reload') {
|
||||
config.__resetPage = config.args?.resetPage;
|
||||
config.__addParam = config.data === undefined || !!config.data;
|
||||
config.__customData = !!config.data;
|
||||
config.__addParam = !!config.data;
|
||||
|
||||
if (
|
||||
(config.data && typeof config.data === 'object') ||
|
||||
@ -2806,12 +2792,12 @@ export const getEventControlConfig = (
|
||||
!Object.keys(config.args).length &&
|
||||
config.data === undefined)
|
||||
) {
|
||||
config.__customData = true;
|
||||
config.__addParam = true;
|
||||
config.__containerType = 'appoint';
|
||||
config.dataMergeMode = 'override';
|
||||
}
|
||||
|
||||
if (config.__addParam && config.__customData && config.data) {
|
||||
if (config.__addParam && config.data) {
|
||||
if (typeof config.data === 'string') {
|
||||
config.__containerType = 'all';
|
||||
config.__valueInput = config.data;
|
||||
@ -2916,7 +2902,7 @@ export const getEventControlConfig = (
|
||||
|
||||
// 刷新组件时,处理是否追加事件变量
|
||||
if (config.actionType === 'reload') {
|
||||
action.data = null;
|
||||
action.data = undefined;
|
||||
action.dataMergeMode = undefined;
|
||||
|
||||
action.args =
|
||||
@ -2927,17 +2913,15 @@ export const getEventControlConfig = (
|
||||
}
|
||||
: undefined;
|
||||
|
||||
action.data = undefined;
|
||||
if (config.__addParam) {
|
||||
action.dataMergeMode = config.dataMergeMode || 'merge';
|
||||
action.data = undefined;
|
||||
if (config.__customData) {
|
||||
action.data =
|
||||
config.__containerType === 'all'
|
||||
? config.__valueInput
|
||||
: comboArrayToObject(config.__reloadParams || []);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 转换下格式
|
||||
if (['link', 'url'].includes(action.actionType)) {
|
||||
|
Loading…
Reference in New Issue
Block a user