| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import i18n from '@/locales'
- import { HYPERVISORS_MAP } from '@/constants'
- // 合并二层网络
- export function getWiresMergeAction (vm, dialogParams = {}, params = {}) {
- if (!vm) {
- throw Error('not found vm instance')
- }
- const { name = i18n.t('common_92'), scope, resource } = dialogParams
- const options = {
- label: i18n.t('network.wire.merge'),
- action: row => {
- vm.createDialog('WireMergeDialog', {
- vm,
- name,
- data: (vm.list && vm.list.selectedItems) || [],
- dataLoader: vm.getHostDetails,
- onManager: vm.onManager,
- refresh: vm.refresh,
- columns: vm.columns,
- expandConfig: vm.expandConfig,
- scope,
- resource,
- })
- },
- meta: row => {
- const data = (vm.list && vm.list.selectedItems) || []
- if (data.length < 2) {
- return {
- validate: false,
- tooltip: i18n.t('common.select.rows.limit', [2]),
- }
- }
- for (const item of data) {
- if (!vm.isPower(item)) {
- return {
- validate: false,
- tooltip: (i18n.t('common_716') + ': ' + item.name),
- }
- }
- if (item.provider.toLowerCase() !== HYPERVISORS_MAP.kvm.provider.toLowerCase()) {
- return {
- validate: false,
- tooltip: i18n.t('network.text_309', [item.provider]),
- }
- }
- }
- return {
- validate: true,
- tooltip: null,
- }
- },
- }
- if (params.permission) options.permission = params.permission
- if (params.hidden) options.hidden = params.hidden
- return options
- }
|