import {
    resourceAddDialog,
    resourceDetailDialog,
    resourceEditeDialog
} from "../../components/resource/dialog-resource.js";
import {apiGet, crudCommonOptions, userOnly} from "../../components/constants.js";

export function resourceList() {
    return {
        type: 'crud',
        api: apiGet('${base}/data_resource/list'),
        ...crudCommonOptions(),
        headerToolbar: [
            'reload',
            {
                type: 'action',
                label: '',
                icon: 'fa fa-plus',
                ...resourceAddDialog()
            },
        ],
        columns: [
            {
                label: '名称',
                name: 'name',
                width: 200,
            },
            {
                label: '描述',
                name: 'description',
            },
            {
                label: '创建时间',
                width: 150,
                align: 'center',
                type: 'tpl',
                tpl: "${IF(createdTime, DATETOSTR(createdTime), '-')}"
            },
            {
                label: '操作',
                width: 100,
                type: 'operation',
                fixed: 'right',
                className: 'nowrap',
                buttons: [
                    {
                        type: 'action',
                        label: '详情',
                        level: 'link',
                        ...resourceDetailDialog(),
                    },
                    {
                        type: 'dropdown-button',
                        level: 'link',
                        icon: 'fa fa-ellipsis-h',
                        hideCaret: true,
                        trigger: 'hover',
                        buttons: [
                            {
                                disabledOn: '${confirmationId}',
                                type: 'action',
                                label: '编辑',
                                level: 'link',
                                ...resourceEditeDialog(),
                            },
                            {
                                disabledOn: '${confirmationId}',
                                type: 'action',
                                label: "删除",
                                confirmTitle: '确认删除',
                                confirmText: '确认删除名称为「${name}」的数据资源吗？',
                                actionType: 'ajax',
                                api: apiGet('${base}/data_resource/remove/${id}')
                            },
                        ]
                    },
                ]
            },
        ]
    }
}

export function tabData() {
    return {
        visibleOn: userOnly,
        title: '数据资源',
        icon: 'fa fa-database',
        body: resourceList(),
    }
}