// import PasswordFetcher from '@Compute/sections/PasswordFetcher' import { sizestr } from '@/utils/utils' import { getProjectTableColumn, getRegionTableColumn, getStatusTableColumn, getNameDescriptionTableColumn, getBrandTableColumn, getAccountTableColumn, getTagTableColumn } from '@/utils/common/tableColumn' import i18n from '@/locales' export default { created () { this.columns = [ getNameDescriptionTableColumn({ onManager: this.onManager, hideField: true, addLock: true, addBackup: true, slotCallback: row => { return ( this.handleOpenSidepage(row) }>{ row.name || row.external_id } ) }, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.name') }, }), getStatusTableColumn({ statusModule: 'mongodb', vm: this, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.status') }, }), getTagTableColumn({ onManager: this.onManager, resource: 'mongodbs', columns: () => this.columns, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.metadata') }, }), { field: 'instance_type', title: this.$t('cloudenv.text_459'), showOverflow: 'ellipsis', minWidth: 120, sortable: true, slots: { default: ({ row }) => { const ret = [] if (row.instance_type) { ret.push(
{ row.instance_type }
) } const config = row.vcpu_count + 'C' + sizestr(row.vmem_size_mb || 0, 'M', 1024) + sizestr(row.disk_size_mb || 0, 'M', 1024) return ret.concat(
{ config }
) }, }, formatter: ({ row }) => { const ret = [] if (row.instance_type) { ret.push(row.instance_type) } const config = row.vcpu_count + 'C' + sizestr(row.vmem_size_mb || 0, 'M', 1024) + sizestr(row.disk_size_mb || 0, 'M', 1024) return ret.concat(config).join(',') }, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.instance_type') }, }, { field: 'ip_addr', title: i18n.t('db.text_152'), minWidth: 200, slots: { default: ({ row }) => { if (!row.ip_addr) return '-' const ret = row.ip_addr.split(';').map(ip => { return {`${ip}:${row.port}`} }) return ret }, }, formatter: ({ row }) => { if (!row.ip_addr) return '-' const ret = row.ip_addr.split(';').map(ip => { return `${ip}:${row.port}` }) return ret.join(',') }, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.ip_addr') }, }, { field: 'network_address', title: i18n.t('db.network_address'), minWidth: 200, slots: { default: ({ row }) => { if (!row.network_address) return '-' const ret = row.network_address.split(',').map(ip => { return {ip} }) return ret }, }, formatter: ({ row }) => { if (!row.network_address) return '-' const ret = row.network_address.split(',').map(ip => { return ip }) return ret.join(',') }, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.network_address') }, }, { field: 'engine_version', title: i18n.t('db.text_377'), slots: { default: ({ row }) => { const ret = [
{row.engine} {row.engine_version}
] if (row.disk_size_mb) { ret.push(
{ sizestr(row.disk_size_mb, 'M', 1024) }
) } return ret }, }, formatter: ({ row }) => { let ret = `${row.engine} ${row.engine_version}` if (row.disk_size_mb) { ret += `,${sizestr(row.disk_size_mb, 'M', 1024)}` } return ret }, hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.engine_version') }, }, getBrandTableColumn({ hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.brand') }, }), getAccountTableColumn({ hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.account') }, }), getProjectTableColumn({ hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.tenant') }, }), getRegionTableColumn({ hidden: () => { return this.$isScopedPolicyMenuHidden('mongodb_hidden_columns.region') }, }), ] }, }