diff --git a/pkg/harvester/config/harvester-manager.js b/pkg/harvester/config/harvester-manager.js index 8a4dae81..e65a51f2 100644 --- a/pkg/harvester/config/harvester-manager.js +++ b/pkg/harvester/config/harvester-manager.js @@ -1,6 +1,5 @@ import { HCI, MANAGEMENT, CAPI } from '@shell/config/types'; import { HARVESTER, MULTI_CLUSTER } from '@shell/store/features'; -import { STATE, NAME as NAME_COL, AGE, VERSION } from '@shell/config/table-headers'; import { allHash } from '@shell/utils/promise'; import { BLANK_CLUSTER } from '@shell/store/store-types.js'; @@ -8,16 +7,6 @@ export const PRODUCT_NAME = 'harvester-manager'; export const NAME = 'harvesterManager'; -const MACHINE_POOLS = { - name: 'summary', - labelKey: 'tableHeaders.machines', - sort: false, - search: false, - value: 'nodes.length', - align: 'center', - width: 100, -}; - const harvesterClustersLocation = { name: 'c-cluster-product-resource', params: { @@ -31,7 +20,6 @@ export function init($plugin, store) { const { product, basicType, - headers, spoofedType, configureType } = $plugin.DSL(store, NAME); @@ -49,31 +37,7 @@ export function init($plugin, store) { }); configureType(HCI.CLUSTER, { showListMasthead: false }); - headers(HCI.CLUSTER, [ - STATE, - NAME_COL, - { - name: 'harvesterVersion', - sort: 'harvesterVersion', - labelKey: 'harvesterManager.tableHeaders.harvesterVersion', - value: 'HarvesterVersion', - getValue: (row) => row.harvesterVersion - }, - { - ...VERSION, - labelKey: 'harvesterManager.tableHeaders.kubernetesVersion', - value: 'kubernetesVersion', - getValue: (row) => row.kubernetesVersion - }, - MACHINE_POOLS, - AGE, - { - name: 'harvester', - label: ' ', - align: 'right', - width: 65, - }, - ]); + basicType([HCI.CLUSTER]); spoofedType({ labelKey: 'harvesterManager.cluster.label', diff --git a/pkg/harvester/config/table-headers.js b/pkg/harvester/config/table-headers.js index 05f07425..2c57035b 100644 --- a/pkg/harvester/config/table-headers.js +++ b/pkg/harvester/config/table-headers.js @@ -77,3 +77,14 @@ export const VM_SCHEDULE_TYPE = { sort: 'spec.vmbackup.type', align: 'center', }; + +// The MACHINE_POOLS column in Virtualization Management list page +export const MACHINE_POOLS = { + name: 'summary', + labelKey: 'tableHeaders.machines', + sort: false, + search: false, + value: 'nodes.length', + align: 'center', + width: 100, +}; diff --git a/pkg/harvester/list/harvesterhci.io.management.cluster.vue b/pkg/harvester/list/harvesterhci.io.management.cluster.vue index a0633dff..65182dc2 100644 --- a/pkg/harvester/list/harvesterhci.io.management.cluster.vue +++ b/pkg/harvester/list/harvesterhci.io.management.cluster.vue @@ -8,6 +8,8 @@ import { HARVESTER_NAME as VIRTUAL } from '@shell/config/features'; import { CAPI, HCI, MANAGEMENT } from '@shell/config/types'; import { isHarvesterCluster } from '@shell/utils/cluster'; import { allHash } from '@shell/utils/promise'; +import { STATE, NAME as NAME_COL, AGE, VERSION } from '@shell/config/table-headers'; +import { MACHINE_POOLS } from '../config/table-headers'; export default { components: { @@ -56,6 +58,34 @@ export default { }, computed: { + headers() { + return [ + STATE, + NAME_COL, + { + name: 'harvesterVersion', + sort: 'harvesterVersion', + labelKey: 'harvesterManager.tableHeaders.harvesterVersion', + value: 'harvesterVersion', + getValue: (row) => row.harvesterVersion + }, + { + ...VERSION, + labelKey: 'harvesterManager.tableHeaders.kubernetesVersion', + value: 'kubernetesVersion', + getValue: (row) => row.kubernetesVersion + }, + MACHINE_POOLS, + AGE, + { + name: 'harvester', + label: ' ', + align: 'right', + width: 65, + }, + ]; + }, + importLocation() { return { name: 'c-cluster-product-resource-create', @@ -144,6 +174,7 @@ export default {