import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
import * as __WEBPACK_EXTERNAL_MODULE__tachybase_components__ from "@tachybase/components";
import * as __WEBPACK_EXTERNAL_MODULE__tachybase_schema__ from "@tachybase/schema";
import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
import * as __WEBPACK_EXTERNAL_MODULE_react_i18next__ from "react-i18next";
import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__application_index_mjs__ from "../../../application/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__application_hoc_withDynamicSchemaProps_mjs__ from "../../../application/hoc/withDynamicSchemaProps.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__application_hooks_index_mjs__ from "../../../application/hooks/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__application_schema_settings_index_mjs__ from "../../../application/schema-settings/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__application_schema_toolbar_index_mjs__ from "../../../application/schema-toolbar/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__block_provider_index_mjs__ from "../../../block-provider/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__ from "../../../collection-manager/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__data_source_index_mjs__ from "../../../data-source/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__flag_provider_index_mjs__ from "../../../flag-provider/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__modules_actions_submit_createSubmitActionSettings_mjs__ from "../../../modules/actions/submit/createSubmitActionSettings.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__record_provider_index_mjs__ from "../../../record-provider/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__schema_items_index_mjs__ from "../../../schema-items/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__schema_settings_filter_form_FormFilterScope_mjs__ from "../../../schema-settings/filter-form/FormFilterScope.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__schema_settings_GeneralSchemaDesigner_mjs__ from "../../../schema-settings/GeneralSchemaDesigner.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__schema_settings_hooks_useIsAllowToSetDefaultValue_mjs__ from "../../../schema-settings/hooks/useIsAllowToSetDefaultValue.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__ from "../../../schema-settings/SchemaSettings.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__schema_templates_index_mjs__ from "../../../schema-templates/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__variables_index_mjs__ from "../../../variables/index.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__hooks_mjs__ from "./hooks.mjs";
import * as __WEBPACK_EXTERNAL_MODULE__utils_mjs__ from "./utils.mjs";
const MenuGroup = (props)=>props.children;
function ButtonEditor(props) {
    var _fieldSchema_xcomponentprops, _fieldSchema_xcomponentprops1, _fieldSchema_xcomponentprops2;
    const field = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useField)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const isLink = (null == props ? void 0 : props.isLink) || 'Action.Link' === fieldSchema['x-component'];
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsModalItem, {
        title: t('Edit button'),
        schema: {
            type: 'object',
            title: t('Edit button'),
            properties: {
                title: {
                    'x-decorator': 'FormItem',
                    'x-component': 'Input',
                    title: t('Button title'),
                    default: fieldSchema.title,
                    'x-component-props': {}
                },
                icon: {
                    'x-decorator': 'FormItem',
                    'x-component': 'IconPicker',
                    title: t('Button icon'),
                    default: null == fieldSchema ? void 0 : null === (_fieldSchema_xcomponentprops = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops ? void 0 : _fieldSchema_xcomponentprops.icon,
                    'x-component-props': {},
                    'x-visible': !isLink
                },
                type: {
                    'x-decorator': 'FormItem',
                    'x-component': 'Radio.Group',
                    title: t('Button background color'),
                    default: (null == fieldSchema ? void 0 : null === (_fieldSchema_xcomponentprops1 = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops1 ? void 0 : _fieldSchema_xcomponentprops1.danger) ? 'danger' : (null == fieldSchema ? void 0 : null === (_fieldSchema_xcomponentprops2 = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops2 ? void 0 : _fieldSchema_xcomponentprops2.type) === 'primary' ? 'primary' : 'default',
                    enum: [
                        {
                            value: 'default',
                            label: '{{t("Default")}}'
                        },
                        {
                            value: 'primary',
                            label: '{{t("Highlight")}}'
                        },
                        {
                            value: 'danger',
                            label: '{{t("Danger red")}}'
                        }
                    ],
                    'x-visible': !isLink
                }
            }
        },
        onSubmit: (param)=>{
            let { title, icon, type } = param;
            fieldSchema.title = title;
            field.title = title;
            field.componentProps.icon = icon;
            field.componentProps.danger = 'danger' === type;
            field.componentProps.type = type || field.componentProps.type;
            fieldSchema['x-component-props'] = fieldSchema['x-component-props'] || {};
            fieldSchema['x-component-props'].icon = icon;
            fieldSchema['x-component-props'].danger = 'danger' === type;
            fieldSchema['x-component-props'].type = type || field.componentProps.type;
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    title,
                    'x-component-props': {
                        ...fieldSchema['x-component-props']
                    }
                }
            });
            dn.refresh();
        }
    });
}
function AssignedFieldValues() {
    var _fieldSchema_xactionsettings, _fieldSchema_xactionsettings1;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const initialSchema = {
        type: 'void',
        'x-uid': (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.uid)(),
        'x-component': 'Grid',
        'x-initializer': 'assignFieldValuesForm:configureFields'
    };
    const tips = {
        'customize:update': t('After clicking the custom button, the following fields of the current record will be saved according to the following form.'),
        'customize:save': t('After clicking the custom button, the following fields of the current record will be saved according to the following form.')
    };
    var _fieldSchema_xaction;
    const actionType = null !== (_fieldSchema_xaction = fieldSchema['x-action']) && void 0 !== _fieldSchema_xaction ? _fieldSchema_xaction : '';
    const onSubmit = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((assignedValues)=>{
        fieldSchema['x-action-settings']['assignedValues'] = assignedValues;
        dn.emit('patch', {
            schema: {
                ['x-uid']: fieldSchema['x-uid'],
                'x-action-settings': fieldSchema['x-action-settings']
            }
        });
    }, [
        dn,
        fieldSchema
    ]);
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__flag_provider_index_mjs__.FlagProvider, {
        isInAssignFieldValues: true,
        children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_hooks_useIsAllowToSetDefaultValue_mjs__.DefaultValueProvider, {
            isAllowToSetDefaultValue: ()=>false,
            children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsActionModalItem, {
                title: t('Assign field values'),
                initialSchema: initialSchema,
                initialValues: null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.assignedValues,
                modalTip: tips[actionType],
                uid: null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings1 = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings1 ? void 0 : _fieldSchema_xactionsettings1.schemaUid,
                onSubmit: onSubmit
            })
        })
    });
}
function RequestSettings() {
    var _fieldSchema_xactionsettings;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsActionModalItem, {
        title: t('Request settings'),
        schema: __WEBPACK_EXTERNAL_MODULE__utils_mjs__.requestSettingsSchema,
        initialValues: null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.requestSettings,
        onSubmit: (requestSettings)=>{
            fieldSchema['x-action-settings']['requestSettings'] = requestSettings;
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-action-settings': fieldSchema['x-action-settings']
                }
            });
            dn.refresh();
        }
    });
}
function SkipValidation() {
    var _fieldSchema_xactionsettings;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsSwitchItem, {
        title: t('Skip required validation'),
        checked: !!(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.skipValidator),
        onChange: (value)=>{
            fieldSchema['x-action-settings'].skipValidator = value;
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-action-settings': {
                        ...fieldSchema['x-action-settings']
                    }
                }
            });
        }
    });
}
const findSchema = (schema)=>{
    if (!schema) return;
    if ('ACLActionProvider' === schema['x-decorator']) return schema['x-component-props'].openMode;
    return findSchema(null == schema ? void 0 : schema.parent);
};
function AfterSuccess() {
    var _fieldSchema_xactionsettings;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const ctx = (0, __WEBPACK_EXTERNAL_MODULE__hooks_mjs__.useActionContext)();
    const openMode = findSchema(ctx.fieldSchema);
    const component = fieldSchema.parent.parent['x-component'];
    const schema = {
        ...__WEBPACK_EXTERNAL_MODULE__utils_mjs__.afterSuccessSchema
    };
    if ((!openMode || 'page' === openMode) && component.includes('Form') || !component.includes('Form')) delete schema.properties.popupClose;
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsModalItem, {
        title: t('After successful submission'),
        initialValues: null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings['onSuccess'],
        schema: {
            ...schema
        },
        onSubmit: (onSuccess)=>{
            fieldSchema['x-action-settings']['onSuccess'] = onSuccess;
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-action-settings': fieldSchema['x-action-settings']
                }
            });
        }
    });
}
function RemoveButton() {
    let props = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const isDeletable = (null == fieldSchema ? void 0 : fieldSchema.parent['x-component']) === 'CollectionField';
    return !isDeletable && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment, {
        children: [
            /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsDivider, {}),
            /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsRemove, {
                removeParentsIfNoChildren: true,
                breakRemoveOn: (s)=>'Space' === s['x-component'] || s['x-component'].endsWith('ActionBar'),
                confirm: {
                    title: t('Delete action'),
                    onOk: props.onConfirmOk
                }
            })
        ]
    });
}
function WorkflowSelectComponent(param) {
    let { formAction, buttonAction, actionType, direct = false, noCollection = false, ...props } = param;
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const index = __WEBPACK_EXTERNAL_MODULE__tachybase_components__.ArrayTable.useIndex();
    const { setValuesIn } = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useForm)();
    const baseCollection = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollection_deprecated)();
    const { getCollection } = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollectionManager_deprecated)();
    const dataSourceKey = (0, __WEBPACK_EXTERNAL_MODULE__data_source_index_mjs__.useDataSourceKey)();
    const [workflowCollection, setWorkflowCollection] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)((0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.joinCollectionName)(dataSourceKey, baseCollection.name));
    const compile = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useCompile)();
    const workflowPlugin = (0, __WEBPACK_EXTERNAL_MODULE__application_hooks_index_mjs__.usePlugin)('workflow');
    const workflowTypes = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>workflowPlugin.getTriggersOptions().filter((item)=>'function' == typeof item.options.isActionTriggerable || true === item.options.isActionTriggerable).map((item)=>item.value), [
        workflowPlugin
    ]);
    (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFormEffects)(()=>{
        (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.onFieldValueChange)("group[".concat(index, "].context"), (field)=>{
            let collection = baseCollection;
            if (field.value) {
                const paths = field.value.split('.');
                for(let i = 0; i < paths.length && collection; i++){
                    const path = paths[i];
                    const associationField = collection.fields.find((f)=>f.name === path);
                    if (associationField) collection = getCollection(associationField.target, dataSourceKey);
                }
            }
            setWorkflowCollection((0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.joinCollectionName)(dataSourceKey, collection.name));
            setValuesIn("group[".concat(index, "].workflowKey"), null);
        });
    });
    const optionFilter = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((param)=>{
        let { key, type, config } = param;
        if (key === props.value) return true;
        const trigger = workflowPlugin.triggers.get(type);
        if (true === trigger.isActionTriggerable) return true;
        if ('function' == typeof trigger.isActionTriggerable) return trigger.isActionTriggerable(config, {
            action: actionType,
            formAction,
            buttonAction,
            direct: 'customize:triggerWorkflows' === buttonAction
        });
        return false;
    }, [
        props.value,
        workflowPlugin.triggers,
        actionType,
        formAction,
        buttonAction
    ]);
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__data_source_index_mjs__.DataSourceProvider, {
        dataSource: "main",
        children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.RemoteSelect, {
            manual: false,
            placeholder: t('Select workflow', {
                ns: 'workflow'
            }),
            fieldNames: {
                label: 'title',
                value: 'key'
            },
            service: {
                resource: 'workflows',
                action: 'list',
                params: {
                    filter: {
                        type: workflowTypes,
                        enabled: true,
                        'config.collection': noCollection ? void 0 : workflowCollection,
                        sync: props.parentSync ? props.parentSync : void 0,
                        key: props.parentKey ? {
                            $ne: props.parentKey
                        } : void 0
                    }
                }
            },
            optionFilter: optionFilter,
            optionRender: (param)=>{
                let { label, data } = param;
                const typeOption = workflowPlugin.getTriggersOptions().find((item)=>item.value === data.type);
                return typeOption ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd__.Flex, {
                    justify: "space-between",
                    children: [
                        /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
                            children: label
                        }),
                        /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Tag, {
                            color: typeOption.color,
                            children: compile(typeOption.label)
                        })
                    ]
                }) : label;
            },
            ...props
        })
    });
}
const WorkflowSelect = (0, __WEBPACK_EXTERNAL_MODULE__application_hoc_withDynamicSchemaProps_mjs__.withDynamicSchemaProps)(WorkflowSelectComponent);
function WorkflowConfig() {
    var _fieldSchema_xactionsettings;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const collection = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollection_deprecated)();
    const formBlock = (0, __WEBPACK_EXTERNAL_MODULE__block_provider_index_mjs__.useFormBlockContext)();
    const actionType = (null == formBlock ? void 0 : formBlock.type) || fieldSchema['x-action'];
    const formAction = null == formBlock ? void 0 : formBlock.type;
    const buttonAction = fieldSchema['x-action'];
    const description = {
        submit: t('Workflow will be triggered before or after submitting succeeded based on workflow type.', {
            ns: 'workflow'
        }),
        'customize:save': t('Workflow will be triggered before or after submitting succeeded based on workflow type.', {
            ns: 'workflow'
        }),
        'customize:triggerWorkflows': t('Workflow will be triggered directly once the button clicked, without data saving.', {
            ns: 'workflow'
        }),
        destroy: t('Workflow will be triggered before deleting succeeded.', {
            ns: 'workflow'
        })
    }[null == fieldSchema ? void 0 : fieldSchema['x-action']];
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsActionModalItem, {
        title: t('Bind workflows', {
            ns: 'workflow'
        }),
        scope: {
            fieldFilter (field) {
                return [
                    'belongsTo',
                    'hasOne'
                ].includes(field.type);
            }
        },
        components: {
            Alert: __WEBPACK_EXTERNAL_MODULE_antd__.Alert,
            ArrayTable: __WEBPACK_EXTERNAL_MODULE__tachybase_components__.ArrayTable,
            WorkflowSelect
        },
        schema: {
            type: 'void',
            title: t('Bind workflows', {
                ns: 'workflow'
            }),
            properties: {
                description: description && {
                    type: 'void',
                    'x-component': 'Alert',
                    'x-component-props': {
                        message: description,
                        style: {
                            marginBottom: '1em'
                        }
                    }
                },
                group: {
                    type: 'array',
                    'x-component': 'ArrayTable',
                    'x-decorator': 'FormItem',
                    items: {
                        type: 'object',
                        properties: {
                            context: {
                                type: 'void',
                                'x-component': 'ArrayTable.Column',
                                'x-component-props': {
                                    title: t('Trigger data context', {
                                        ns: 'workflow'
                                    }),
                                    width: 200
                                },
                                properties: {
                                    context: {
                                        type: 'string',
                                        'x-decorator': 'FormItem',
                                        'x-component': 'AppendsTreeSelect',
                                        'x-component-props': {
                                            placeholder: t('Select context', {
                                                ns: 'workflow'
                                            }),
                                            popupMatchSelectWidth: false,
                                            collection: "".concat(collection.dataSource && 'main' !== collection.dataSource ? "".concat(collection.dataSource, ":") : '').concat(collection.name),
                                            filter: '{{ fieldFilter }}',
                                            rootOption: {
                                                label: t('Full form data', {
                                                    ns: 'workflow'
                                                }),
                                                value: ''
                                            },
                                            allowClear: false,
                                            loadData: 'destroy' === buttonAction ? null : void 0
                                        },
                                        default: ''
                                    }
                                }
                            },
                            workflowKey: {
                                type: 'void',
                                'x-component': 'ArrayTable.Column',
                                'x-component-props': {
                                    title: t('Workflow', {
                                        ns: 'workflow'
                                    })
                                },
                                properties: {
                                    workflowKey: {
                                        type: 'number',
                                        'x-decorator': 'FormItem',
                                        'x-component': 'WorkflowSelect',
                                        'x-component-props': {
                                            placeholder: t('Select workflow', {
                                                ns: 'workflow'
                                            }),
                                            actionType,
                                            formAction,
                                            buttonAction,
                                            direct: 'customize:triggerWorkflows' === fieldSchema['x-action']
                                        },
                                        required: true
                                    }
                                }
                            },
                            operations: {
                                type: 'void',
                                'x-component': 'ArrayTable.Column',
                                'x-component-props': {
                                    width: 32
                                },
                                properties: {
                                    remove: {
                                        type: 'void',
                                        'x-component': 'ArrayTable.Remove'
                                    }
                                }
                            }
                        }
                    },
                    properties: {
                        add: {
                            type: 'void',
                            title: t('Add workflow', {
                                ns: 'workflow'
                            }),
                            'x-component': 'ArrayTable.Addition'
                        }
                    }
                }
            }
        },
        initialValues: {
            group: null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.triggerWorkflows
        },
        onSubmit: (param)=>{
            let { group } = param;
            fieldSchema['x-action-settings']['triggerWorkflows'] = group;
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-action-settings': fieldSchema['x-action-settings']
                }
            });
        }
    });
}
const findGridSchema = (fieldSchema)=>fieldSchema.reduceProperties((buf, s)=>{
        if ('FormV2' === s['x-component']) {
            const f = s.reduceProperties((buf, s)=>{
                if ('Grid' === s['x-component'] || 'BlockTemplate' === s['x-component']) return s;
                return buf;
            }, null);
            if (f) return f;
        }
        return buf;
    }, null);
const useSetFilterScopeVisible = ()=>{
    var _fieldSchema_xcomponentprops;
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    return (null === (_fieldSchema_xcomponentprops = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops ? void 0 : _fieldSchema_xcomponentprops.useProps) === '{{ useFilterBlockActionProps }}' || 'useFilterBlockActionProps' === fieldSchema['x-use-component-props'];
};
const SetFilterScope = (props)=>{
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const { collectionName } = props;
    const gridSchema = findGridSchema(fieldSchema) || fieldSchema;
    const { form } = (0, __WEBPACK_EXTERNAL_MODULE__block_provider_index_mjs__.useFormBlockContext)();
    const type = (null == props ? void 0 : props.type) || [
        'Action',
        'Action.Link'
    ].includes(fieldSchema['x-component']) ? 'button' : 'field';
    const variables = (0, __WEBPACK_EXTERNAL_MODULE__variables_index_mjs__.useVariables)();
    const localVariables = (0, __WEBPACK_EXTERNAL_MODULE__variables_index_mjs__.useLocalVariables)();
    const record = (0, __WEBPACK_EXTERNAL_MODULE__record_provider_index_mjs__.useRecord)();
    const { type: formBlockType } = (0, __WEBPACK_EXTERNAL_MODULE__block_provider_index_mjs__.useFormBlockType)();
    const schema = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>({
            type: 'object',
            title: t('Custom filter'),
            properties: {
                fieldReaction: {
                    'x-component': __WEBPACK_EXTERNAL_MODULE__schema_settings_filter_form_FormFilterScope_mjs__.FormFilterScope,
                    'x-component-props': {
                        useProps: ()=>{
                            const options = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollectionFilterOptions)(collectionName);
                            return {
                                options,
                                defaultValues: (null == gridSchema ? void 0 : gridSchema['x-filter-rules']) || (null == fieldSchema ? void 0 : fieldSchema['x-filter-rules']),
                                type,
                                collectionName,
                                form,
                                variables,
                                localVariables,
                                record,
                                formBlockType
                            };
                        }
                    }
                }
            }
        }), []);
    const { getTemplateById } = (0, __WEBPACK_EXTERNAL_MODULE__schema_templates_index_mjs__.useSchemaTemplateManager)();
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const onSubmit = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((v)=>{
        const rules = v.fieldReaction.condition;
        const templateId = 'BlockTemplate' === gridSchema['x-component'] && gridSchema['x-component-props'].templateId;
        const uid = templateId && getTemplateById(templateId).uid || gridSchema['x-uid'];
        const schema = {
            ['x-uid']: uid
        };
        gridSchema['x-filter-rules'] = rules;
        schema['x-filter-rules'] = rules;
        dn.emit('patch', {
            schema
        });
        dn.refresh();
    }, [
        dn,
        getTemplateById,
        gridSchema
    ]);
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsModalItem, {
        title: t('Custom filter'),
        width: 770,
        schema: schema,
        onSubmit: onSubmit
    });
};
const actionSettingsItems = [
    {
        name: 'Customize',
        Component: MenuGroup,
        children: [
            {
                name: 'editButton',
                Component: ButtonEditor,
                useComponentProps () {
                    const { buttonEditorProps } = (0, __WEBPACK_EXTERNAL_MODULE__application_schema_toolbar_index_mjs__.useSchemaToolbar)();
                    return buttonEditorProps;
                }
            },
            {
                name: 'linkageRules',
                Component: (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsLinkageRules, {
                        ...props
                    }),
                useVisible () {
                    const isAction = (0, __WEBPACK_EXTERNAL_MODULE__hooks_mjs__.useLinkageAction)();
                    const { linkageAction } = (0, __WEBPACK_EXTERNAL_MODULE__application_schema_toolbar_index_mjs__.useSchemaToolbar)();
                    return linkageAction || isAction;
                },
                useComponentProps () {
                    const { name } = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollection_deprecated)();
                    const { linkageRulesProps } = (0, __WEBPACK_EXTERNAL_MODULE__application_schema_toolbar_index_mjs__.useSchemaToolbar)();
                    return {
                        ...linkageRulesProps,
                        collectionName: name
                    };
                }
            },
            {
                name: 'openMode',
                Component: __WEBPACK_EXTERNAL_MODULE__schema_items_index_mjs__.SchemaSettingOpenModeSchemaItems,
                useComponentProps () {
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    const isPopupAction = [
                        'create',
                        'update',
                        'view',
                        'customize:popup',
                        'duplicate',
                        'customize:create'
                    ].includes(fieldSchema['x-action'] || '');
                    return {
                        openMode: isPopupAction,
                        openSize: isPopupAction
                    };
                }
            },
            {
                name: 'secondConFirm',
                Component: SecondConFirm,
                useVisible () {
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    const isPopupAction = [
                        'create',
                        'update',
                        'view',
                        'customize:popup',
                        'duplicate',
                        'customize:create'
                    ].includes(fieldSchema['x-action'] || '');
                    return !isPopupAction;
                }
            },
            {
                name: 'assignFieldValues',
                Component: AssignedFieldValues,
                useVisible () {
                    var _fieldSchema_xactionsettings;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.isValid)(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.assignedValues);
                }
            },
            {
                name: 'requestSettings',
                Component: RequestSettings,
                useVisible () {
                    var _fieldSchema_xactionsettings;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.isValid)(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.requestSettings);
                }
            },
            {
                name: 'skipValidator',
                Component: SkipValidation,
                useVisible () {
                    var _fieldSchema_xactionsettings;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.isValid)(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.skipValidator);
                }
            },
            {
                name: 'afterSuccess',
                Component: AfterSuccess,
                useVisible () {
                    var _fieldSchema_xactionsettings;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.isValid)(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.onSuccess);
                }
            },
            {
                name: 'workflowConfig',
                Component: WorkflowConfig,
                useVisible () {
                    var _fieldSchema_xactionsettings;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.isValid)(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.triggerWorkflows);
                }
            },
            {
                name: 'saveMode',
                Component: __WEBPACK_EXTERNAL_MODULE__modules_actions_submit_createSubmitActionSettings_mjs__.SaveMode,
                useVisible () {
                    var _fieldSchema_parent;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return 'submit' === fieldSchema['x-action'] && (null === (_fieldSchema_parent = fieldSchema.parent) || void 0 === _fieldSchema_parent ? void 0 : _fieldSchema_parent['x-initializer']) === 'createForm:configureActions';
                }
            },
            {
                name: 'enableChildCollections',
                Component: __WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsEnableChildCollections,
                useVisible () {
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    const { name } = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollection_deprecated)();
                    const { getChildrenCollections } = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollectionManager_deprecated)();
                    const isChildCollectionAction = getChildrenCollections(name).length > 0 && 'create' === fieldSchema['x-action'];
                    return isChildCollectionAction;
                },
                useComponentProps () {
                    const { name } = (0, __WEBPACK_EXTERNAL_MODULE__collection_manager_index_mjs__.useCollection_deprecated)();
                    return {
                        collectionName: name
                    };
                }
            },
            {
                name: 'Customize.setFilterScope',
                Component: SetFilterScope,
                useVisible: useSetFilterScopeVisible,
                useComponentProps () {
                    const collection = (0, __WEBPACK_EXTERNAL_MODULE__data_source_index_mjs__.useCollection)();
                    return {
                        collectionName: collection.name
                    };
                }
            },
            {
                name: 'remove',
                sort: 100,
                Component: RemoveButton,
                useComponentProps () {
                    const { removeButtonProps } = (0, __WEBPACK_EXTERNAL_MODULE__application_schema_toolbar_index_mjs__.useSchemaToolbar)();
                    return removeButtonProps;
                },
                useVisible () {
                    var _fieldSchema_xactionsettings;
                    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
                    return (null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.removable) !== false;
                }
            }
        ]
    }
];
function SecondConFirm() {
    var _fieldSchema_xcomponentprops_confirm, _fieldSchema_xcomponentprops;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const field = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useField)();
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsSwitchItem, {
        title: t('Secondary confirmation'),
        checked: !!(null == fieldSchema ? void 0 : null === (_fieldSchema_xcomponentprops = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops ? void 0 : null === (_fieldSchema_xcomponentprops_confirm = _fieldSchema_xcomponentprops.confirm) || void 0 === _fieldSchema_xcomponentprops_confirm ? void 0 : _fieldSchema_xcomponentprops_confirm.content),
        onChange: (value)=>{
            var _fieldSchema_xcomponentprops;
            if (!fieldSchema['x-component-props']) fieldSchema['x-component-props'] = {};
            if (value) fieldSchema['x-component-props'].confirm = value ? {
                title: 'Perform the {{title}}',
                content: 'Are you sure you want to perform the {{title}} action?'
            } : {};
            else fieldSchema['x-component-props'].confirm = {};
            field.componentProps.confirm = {
                ...null === (_fieldSchema_xcomponentprops = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops ? void 0 : _fieldSchema_xcomponentprops.confirm
            };
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-component-props': {
                        ...fieldSchema['x-component-props']
                    }
                }
            });
        }
    });
}
function IsDownLoad() {
    var _fieldSchema_xactionsettings_onSuccess, _fieldSchema_xactionsettings;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsSwitchItem, {
        title: t('Is DownLoad'),
        checked: !!(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : null === (_fieldSchema_xactionsettings_onSuccess = _fieldSchema_xactionsettings.onSuccess) || void 0 === _fieldSchema_xactionsettings_onSuccess ? void 0 : _fieldSchema_xactionsettings_onSuccess.down),
        onChange: (value)=>{
            var _fieldSchema_xactionsettings;
            if (!(null == fieldSchema ? void 0 : null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings.onSuccess)) fieldSchema['x-action-settings'] = {
                ...null == fieldSchema ? void 0 : fieldSchema['x-action-settings'],
                onSuccess: {
                    down: false
                }
            };
            fieldSchema['x-action-settings'].onSuccess.down = value;
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-action-settings': {
                        ...fieldSchema['x-action-settings']
                    }
                }
            });
        }
    });
}
function ShowData() {
    var _fieldSchema_xcomponentprops;
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    const field = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useField)();
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsSwitchItem, {
        title: t('Show Data'),
        checked: !!(null == fieldSchema ? void 0 : null === (_fieldSchema_xcomponentprops = fieldSchema['x-component-props']) || void 0 === _fieldSchema_xcomponentprops ? void 0 : _fieldSchema_xcomponentprops.showData),
        onChange: (value)=>{
            if (!(null == fieldSchema ? void 0 : fieldSchema['x-component-props'])) fieldSchema['x-component-props'] = {
                showData: false
            };
            fieldSchema['x-component-props'].showData = value;
            field.componentProps = fieldSchema['x-component-props'];
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-component-props': {
                        ...fieldSchema['x-component-props']
                    }
                }
            });
        }
    });
}
function SettingDownTitle() {
    var _fieldSchema_xactionsettings_onSuccess, _fieldSchema_xactionsettings;
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
    const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_SchemaSettings_mjs__.SchemaSettingsModalItem, {
        title: t('Setting Down Title'),
        onSubmit: (param)=>{
            let { title } = param;
            if (null == fieldSchema ? void 0 : fieldSchema['x-action-settings']) {
                var _fieldSchema_xactionsettings;
                fieldSchema['x-action-settings']['onSuccess'] = {
                    ...null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : _fieldSchema_xactionsettings['onSuccess'],
                    downTitle: title
                };
            } else fieldSchema['x-action-settings'] = {
                onSussess: {
                    downTitle: title
                }
            };
            dn.emit('patch', {
                schema: {
                    ['x-uid']: fieldSchema['x-uid'],
                    'x-action-settings': {
                        ...fieldSchema['x-action-settings']
                    }
                }
            });
        },
        schema: {
            type: 'item',
            title: t('Setting Down Title'),
            properties: {
                title: {
                    'x-component': 'Input',
                    default: (null === (_fieldSchema_xactionsettings = fieldSchema['x-action-settings']) || void 0 === _fieldSchema_xactionsettings ? void 0 : null === (_fieldSchema_xactionsettings_onSuccess = _fieldSchema_xactionsettings['onSuccess']) || void 0 === _fieldSchema_xactionsettings_onSuccess ? void 0 : _fieldSchema_xactionsettings_onSuccess.downTitle) || 'document.docx'
                }
            }
        }
    });
}
const actionSettings = new __WEBPACK_EXTERNAL_MODULE__application_schema_settings_index_mjs__.SchemaSettings({
    name: 'ActionSettings',
    items: actionSettingsItems
});
const ActionDesigner = (props)=>{
    const { modalTip, linkageAction, removeButtonProps, buttonEditorProps, linkageRulesProps, schemaSettings, ...restProps } = props;
    const app = (0, __WEBPACK_EXTERNAL_MODULE__application_index_mjs__.useApp)();
    const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
    const isDraggable = (null == fieldSchema ? void 0 : fieldSchema.parent['x-component']) !== 'CollectionField';
    const settingsName = "ActionSettings:".concat(fieldSchema['x-action']);
    const defaultActionSettings = schemaSettings || 'ActionSettings';
    const hasAction = app.schemaSettingsManager.has(settingsName);
    return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__schema_settings_GeneralSchemaDesigner_mjs__.GeneralSchemaDesigner, {
        schemaSettings: hasAction ? settingsName : defaultActionSettings,
        contextValue: {
            modalTip,
            linkageAction,
            removeButtonProps,
            buttonEditorProps,
            linkageRulesProps
        },
        ...restProps,
        disableInitializer: true,
        draggable: isDraggable
    });
};
ActionDesigner.ButtonEditor = ButtonEditor;
ActionDesigner.RemoveButton = RemoveButton;
export { ActionDesigner, AfterSuccess, AssignedFieldValues, ButtonEditor, IsDownLoad, RemoveButton, RequestSettings, SecondConFirm, SetFilterScope, SettingDownTitle, ShowData, SkipValidation, WorkflowConfig, WorkflowSelect, actionSettings, actionSettingsItems, findSchema, useSetFilterScopeVisible };
