| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import { Button, Drawer, Space, Typography } from "antd";
- import { useEffect, useState } from "react";
- import type { ITaskData } from "../../api/task";
- import Task from "./Task";
- import { useIntl } from "react-intl";
- import { fullUrl } from "../../utils";
- import LikeAvatar from "../like/LikeAvatar";
- const { Text } = Typography;
- interface IWidget {
- taskId?: string;
- openDrawer?: boolean;
- onClose?: () => void;
- onChange?: (data: ITaskData[]) => void;
- }
- const TaskEditDrawer = ({
- taskId,
- openDrawer = false,
- onClose,
- onChange,
- }: IWidget) => {
- const [open, setOpen] = useState(openDrawer);
- const intl = useIntl();
- useEffect(() => {
- setOpen(openDrawer);
- }, [openDrawer]);
- const onCloseDrawer = () => {
- setOpen(false);
- if (document.getElementsByTagName("body")[0].hasAttribute("style")) {
- document.getElementsByTagName("body")[0].removeAttribute("style");
- }
- if (onClose) {
- onClose();
- }
- };
- return (
- <>
- <Drawer
- title={""}
- placement={"right"}
- width={1000}
- onClose={onCloseDrawer}
- open={open}
- destroyOnHidden={true}
- footer={
- <Space>
- <Text>关注</Text>
- <LikeAvatar resId={taskId} resType="task" type="watch" />
- </Space>
- }
- extra={
- <Button
- type="link"
- onClick={() => {
- window.open(fullUrl(`/article/task/${taskId}`), "_blank");
- }}
- >
- {intl.formatMessage(
- {
- id: "buttons.open.in.new.tab",
- },
- { item: intl.formatMessage({ id: "labels.task" }) }
- )}
- </Button>
- }
- >
- <Task taskId={taskId} onChange={onChange} />
- </Drawer>
- </>
- );
- };
- export default TaskEditDrawer;
|