import * as R from 'ramda'
import { sizestr } from '@/utils/utils'
import SystemIcon from '@/sections/SystemIcon'
import { getNameDescriptionTableColumn, getStatusTableColumn, getCopyWithContentTableColumn, getProjectTableColumn, getTimeTableColumn } from '@/utils/common/tableColumn'
import i18n from '@/locales'
export default {
created () {
this.columns = [
getNameDescriptionTableColumn({
field: 'name',
edit: false,
editDesc: false,
hideField: true,
slotCallback: row => {
return (
this.handleOpenSidepage(row)}>{row.name}
)
},
}),
getCopyWithContentTableColumn({ field: 'name', title: i18n.t('compute.text_228') }),
getStatusTableColumn({ statusModule: 'image', hiddenLogView: true }),
{
field: 'disk_format',
title: i18n.t('compute.text_398'),
width: 100,
},
{
field: 'os_type',
title: i18n.t('compute.text_267'),
width: 70,
slots: {
default: ({ row }) => {
if (!row.properties || R.isEmpty(row.properties)) return i18n.t('compute.text_339')
let name = !row.properties.os_distribution ? row.properties.os_type : decodeURI(row.properties.os_distribution || '')
name = name || ''
if (name.includes('Windows') || name.includes('windows')) {
name = 'Windows'
}
const tooltip = row.properties.os_version ? `${name} ${row.properties.os_version}` : name
return [
,
]
},
},
},
{
field: 'size',
title: i18n.t('table.title.image_size'),
width: 100,
formatter: ({ cellValue }) => {
return sizestr(cellValue, 'B', 1024)
},
},
getTimeTableColumn({ field: 'auto_delete_at', title: i18n.t('compute.text_480') }),
getProjectTableColumn(),
]
},
}