66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
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 {
|
|
isLink: true,
|
|
...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;
|
|
},
|
|
},
|
|
],
|
|
});
|