import { useIntl } from "react-intl";
import { useState } from "react";
import { ProList } from "@ant-design/pro-components";
import { Space, Tag, Button, Layout } from "antd";

const { Content } = Layout;

const defaultData = [
  {
    id: "1",
    name: "庄春江工作站",
    tag: [{ title: "可编辑", color: "success" }],
    image:
      "https://gw.alipayobjects.com/zos/antfincdn/efFD%24IOql2/weixintupian_20170331104822.jpg",
    description: "IAPT|2022-1-3",
  },
  {
    id: "2",
    name: "元亨寺·CBETA",
    tag: [{ title: "可编辑", color: "success" }],
    image:
      "https://gw.alipayobjects.com/zos/antfincdn/efFD%24IOql2/weixintupian_20170331104822.jpg",
    description: "我是一条测试的描述",
  },
  {
    id: "3",
    name: "叶均居士",
    tag: [{ title: "只读", color: "default" }],
    image:
      "https://gw.alipayobjects.com/zos/antfincdn/efFD%24IOql2/weixintupian_20170331104822.jpg",
    description: "我是一条测试的描述",
  },
  {
    id: "4",
    name: "玛欣德尊者",
    tag: [{ title: "只读", color: "default" }],
    image:
      "https://gw.alipayobjects.com/zos/antfincdn/efFD%24IOql2/weixintupian_20170331104822.jpg",
    description: "我是一条测试的描述",
  },
];
type DataItem = typeof defaultData[number];
type IWidgetGroupFile = {
  groupid?: string;
};
const Widget = ({ groupid = "" }: IWidgetGroupFile) => {
  const intl = useIntl(); //i18n
  const [dataSource, setDataSource] = useState<DataItem[]>(defaultData);

  return (
    <Content>
      <Space>{groupid}</Space>
      <ProList<DataItem>
        rowKey="id"
        headerTitle={intl.formatMessage({ id: "group.files" })}
        dataSource={dataSource}
        showActions="hover"
        onDataSourceChange={setDataSource}
        metas={{
          title: {
            dataIndex: "name",
          },
          avatar: {
            dataIndex: "image",
            editable: false,
          },
          description: {
            dataIndex: "description",
          },
          content: {
            dataIndex: "content",
            editable: false,
          },
          subTitle: {
            render: (text, row, index, action) => {
              const showtag = row.tag.map((item, id) => {
                return (
                  <Tag color={item.color} key={id}>
                    {item.title}
                  </Tag>
                );
              });
              return <Space size={0}>{showtag}</Space>;
            },
          },
          actions: {
            render: (text, row, index, action) => [
              <Button
                onClick={() => {
                  action?.startEditable(row.id);
                }}
                key="link"
              >
                删除
              </Button>,
            ],
          },
        }}
        pagination={{
          showQuickJumper: true,
          showSizeChanger: true,
        }}
      />
    </Content>
  );
};

export default Widget;
