tachybase_todo/packages/plugins/@nocobase/plugin-graph-collection-manager/src/client/components/OverrideFieldAction.tsx

31 lines
906 B
TypeScript
Raw Normal View History

2023-01-11 11:58:47 +08:00
import { CopyOutlined } from '@ant-design/icons';
import { OverridingFieldAction as OverridingCollectionFieldAction } from '@nocobase/client';
import React from 'react';
import { useCancelAction, useCreateAction } from '../action-hooks';
import { getPopupContainer } from '../utils';
2023-01-11 11:58:47 +08:00
const useOverridingCollectionField = (record) => {
const collectionName = record.targetCollection;
const { run } = useCreateAction(collectionName);
return {
async run() {
await run();
},
};
};
export const OverrideFieldAction = ({ item: record }) => {
return (
<OverridingCollectionFieldAction
item={{ ...record }}
scope={{
useCancelAction,
useOverridingCollectionField: () => useOverridingCollectionField(record),
}}
getContainer={getPopupContainer}
2023-01-11 11:58:47 +08:00
>
<CopyOutlined className="btn-override" />
</OverridingCollectionFieldAction>
);
};