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

30 lines
891 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';
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={() => document.getElementById('graph_container')}
>
<CopyOutlined className="btn-override" />
</OverridingCollectionFieldAction>
);
};