import './proj-config-list-mod.css';
import {Alert, Breadcrumb, message, Table, TableProps,} from "antd";
import {Link, useParams} from "react-router-dom";
import {useEffect, useState} from "react";
import {get} from "../../../util/AjaxUtils.ts";

export const MAX_MOD_SIZE = 2;

interface DataType {
    projModId: string;
    projId: string;
    projMenuId: string;
    menuTitle: string;
    menuIcon: string;
    menuUrl: string;
    orderNo: string;
}

export default function ProjConfigMenuListShow() {

    const pathParams = useParams();
    const [messageApi, contextHolder] = message.useMessage();
    const [dataArray, setDataArray] = useState<DataType[]>();

    const height = window.innerHeight - 165;

    const renderData = () => {
        get<DataType>({
            messageApi,
            url: '/api/proj-menu/list',
            config: {
                params: {
                    projId: pathParams.projId
                }
            },
            onSuccess({data}) {
                setDataArray([...data]);
            }
        })
    }

    const columns: TableProps<DataType>['columns'] = [
        {
            title: '菜单标题',
            dataIndex: 'menuTitle',
            align: 'center',
            width: 250
        },
        {
            title: '菜单连接',
            dataIndex: 'menuUrl',
            align: 'center',
        },
        {
            title: '顺序',
            dataIndex: 'orderNo',
            align: 'center',
            width: 120,
        },
    ];

    useEffect(() => {
        renderData();
    }, [])

    return (
        <>
            {contextHolder}
            <Breadcrumb
                items={[
                    {title: <Link to={'/'}>首页</Link>},
                    {title: <Link to={'/proj-create'}>创建项目</Link>},
                    {title: <Link to={`/proj-edit/${pathParams.projId}`}>编辑项目</Link>},
                    {title: '系统菜单顺序'},
                ]}
            />
            <div className="mod-list-container" style={{height: `${height}px`}}>
                <Alert message="此数据在添加模块候自动生成，编辑顺序列可修改" type="info"/>
                <div className="mod-list" style={{marginTop: '15px'}}>
                    <Table columns={columns} dataSource={dataArray} pagination={{pageSize: 20}}
                           scroll={{y: height - 160}} size="middle" bordered key="dataTable" rowKey="projModId"/>
                </div>
            </div>
        </>
    )

}