import { AfterSuccess, ButtonEditor, RemoveButton, SchemaSettings, SchemaSettingsLinkageRules, SecondConFirm, useCollection, useSchemaToolbar, } from '@nocobase/client'; import { CustomRequestACL, CustomRequestSettingsItem } from './components/CustomRequestActionDesigner'; export const customizeCustomRequestActionSettings = new SchemaSettings({ name: 'actionSettings:customRequest', items: [ { name: 'editButton', Component: ButtonEditor, useComponentProps() { const { buttonEditorProps } = useSchemaToolbar(); return buttonEditorProps; }, }, { name: 'linkageRules', Component: SchemaSettingsLinkageRules, useComponentProps() { const { name } = useCollection(); const { linkageRulesProps } = useSchemaToolbar(); return { ...linkageRulesProps, collectionName: name, }; }, }, { name: 'secondConFirm', Component: SecondConFirm, }, { name: 'afterSuccessfulSubmission', Component: AfterSuccess, }, { name: 'request settings', Component: CustomRequestSettingsItem, }, { name: 'accessControl', Component: CustomRequestACL, }, { name: 'delete', sort: 100, Component: RemoveButton as any, useComponentProps() { const { removeButtonProps } = useSchemaToolbar(); return removeButtonProps; }, }, ], });