bfg-common 1.5.552 → 1.5.553
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +11 -6
- package/components/common/wizards/vm/migrate/Migrate.vue +2 -0
- package/components/common/wizards/vm/migrate/MigrateNew.vue +8 -1
- package/components/common/wizards/vm/migrate/MigrateOld.vue +3 -7
- package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +3 -3
- package/components/common/wizards/vm/migrate/lib/validations.ts +2 -2
- package/components/common/wizards/vm/migrate/steps/computeResource/ComputeResource.vue +4 -1
- package/components/common/wizards/vm/migrate/steps/computeResource/ComputeResourceNew.vue +10 -61
- package/components/common/wizards/vm/migrate/steps/computeResource/ComputeResourceOld.vue +25 -56
- package/package.json +1 -1
- package/components/common/wizards/vm/migrate/lib/utils.ts +0 -0
|
@@ -28,12 +28,17 @@ const { $store, $recursion }: any = useNuxtApp()
|
|
|
28
28
|
const computeResourceLocal = defineModel<UI_I_TreeNode | null>({
|
|
29
29
|
required: true,
|
|
30
30
|
})
|
|
31
|
-
const props =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const props = withDefaults(
|
|
32
|
+
defineProps<{
|
|
33
|
+
node: UI_I_TreeNode | null
|
|
34
|
+
compatibilityText: [UI_T_CompatibilityStatus, string]
|
|
35
|
+
alertMessages?: string[] // используется только в старом виде
|
|
36
|
+
isLoading: boolean
|
|
37
|
+
}>(),
|
|
38
|
+
{
|
|
39
|
+
alertMessages: [],
|
|
40
|
+
}
|
|
41
|
+
)
|
|
37
42
|
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
38
43
|
|
|
39
44
|
const nodesLocal = ref<UI_I_TreeNode[]>([])
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
:vm-info="vmInfo"
|
|
22
22
|
:networks="networks"
|
|
23
23
|
:vm-origin="vmOrigin"
|
|
24
|
+
:data-ready-view="dataReadyView"
|
|
24
25
|
@change-steps="onChangeSteps"
|
|
25
26
|
@submit="onMigrateVm"
|
|
26
27
|
@hide="onHideModal"
|
|
@@ -48,6 +49,7 @@
|
|
|
48
49
|
:vm-info="vmInfo"
|
|
49
50
|
:networks="props.networks"
|
|
50
51
|
:vm-origin="vmOrigin"
|
|
52
|
+
:data-ready-view="dataReadyView"
|
|
51
53
|
@change-steps="onChangeSteps"
|
|
52
54
|
@hide-alert="onHideAlert"
|
|
53
55
|
@submit="onMigrateVm"
|
|
@@ -166,7 +166,12 @@
|
|
|
166
166
|
</div>
|
|
167
167
|
</div>
|
|
168
168
|
</template>
|
|
169
|
-
<template #content>
|
|
169
|
+
<template #content>
|
|
170
|
+
<common-ready-to-complete
|
|
171
|
+
v-if="selectedStep.id === dynamicSteps.readyComplete"
|
|
172
|
+
:data="props.dataReadyView"
|
|
173
|
+
/>
|
|
174
|
+
</template>
|
|
170
175
|
</ui-wizard-block>
|
|
171
176
|
</template>
|
|
172
177
|
</ui-wizard>
|
|
@@ -182,6 +187,7 @@ import type Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils
|
|
|
182
187
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
183
188
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
184
189
|
import type { UI_T_Project } from '~/lib/models/types'
|
|
190
|
+
import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
|
|
185
191
|
import type { UI_I_MigrateFormLocal } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
|
|
186
192
|
import type { UI_I_VmOrigin } from '~/components/common/wizards/vm/migrate/vmOrigin/lib/models/interfaces'
|
|
187
193
|
import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
|
|
@@ -196,6 +202,7 @@ const props = withDefaults(
|
|
|
196
202
|
selectedNode: UI_I_TreeNode
|
|
197
203
|
title: string
|
|
198
204
|
vmOrigin: UI_I_VmOrigin | undefined
|
|
205
|
+
dataReadyView: UI_I_TableInfoItem
|
|
199
206
|
}>(),
|
|
200
207
|
{}
|
|
201
208
|
)
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
v-show="selectedStep.id === dynamicSteps.selectComputeResource"
|
|
49
49
|
v-model="formModel"
|
|
50
50
|
:vm-state="props.vmState"
|
|
51
|
-
:alert-messages="alertMessages[
|
|
51
|
+
:alert-messages="alertMessages[dynamicSteps.selectComputeResource]"
|
|
52
52
|
:get-compute-resource-data="props.getComputeResourceData"
|
|
53
53
|
:compute-resource-data="props.computeResourceTableData"
|
|
54
54
|
:compute-resource-tree="props.computeResourceTree"
|
|
@@ -95,7 +95,7 @@ import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/util
|
|
|
95
95
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
96
96
|
import type { UI_T_Project } from '~/lib/models/types'
|
|
97
97
|
import type { UI_I_MigrateFormLocal } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
|
|
98
|
-
import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/
|
|
98
|
+
import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/steps/type/lib/models/types'
|
|
99
99
|
import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
|
|
100
100
|
import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
|
|
101
101
|
import type { UI_I_VmSettings } from '~/lib/models/store/vm/interfaces'
|
|
@@ -105,7 +105,6 @@ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/model
|
|
|
105
105
|
import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
|
|
106
106
|
import type { UI_I_VmOrigin } from '~/components/common/wizards/vm/migrate/vmOrigin/lib/models/interfaces'
|
|
107
107
|
import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
|
|
108
|
-
import { constructDataReadyViewFunc } from '~/components/common/wizards/vm/migrate/lib/config/constructDataReady'
|
|
109
108
|
|
|
110
109
|
const formModel = defineModel<UI_I_MigrateFormLocal>({ required: true })
|
|
111
110
|
const modelSchedulerTask = defineModel<UI_I_ScheduleNewTasksForm>(
|
|
@@ -121,6 +120,7 @@ const props = withDefaults(
|
|
|
121
120
|
title: string
|
|
122
121
|
isScheduledTasks: boolean
|
|
123
122
|
vmOrigin: UI_I_VmOrigin | undefined
|
|
123
|
+
dataReadyView: UI_I_TableInfoItem
|
|
124
124
|
vmSettings: UI_I_VmSettings | null
|
|
125
125
|
vmName: string
|
|
126
126
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
@@ -198,10 +198,6 @@ watch(
|
|
|
198
198
|
const connectedStorageIdOnVm = computed<string>(
|
|
199
199
|
() => props.vmSettings?.storage.id || ''
|
|
200
200
|
)
|
|
201
|
-
|
|
202
|
-
const dataReadyView = computed<UI_I_TableInfoItem>(() =>
|
|
203
|
-
constructDataReadyViewFunc(props.vmName, form.value)
|
|
204
|
-
)
|
|
205
201
|
const onHideModal = (): void => emits('hide')
|
|
206
202
|
const onMigrateVm = (): void => emits('submit')
|
|
207
203
|
</script>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
|
|
2
2
|
import type { UI_T_VmMigrateSelectStorageTab } from '~/components/common/wizards/vm/migrate/select/storage/lib/models/types'
|
|
3
|
-
import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/
|
|
3
|
+
import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/steps/type/lib/models/types'
|
|
4
4
|
import type { UI_I_StorageConfigurePerDiskItem } from '~/components/common/wizards/vm/migrate/select/storage/configure/disk/table/lib/models/interfaces'
|
|
5
|
-
import type { UI_T_SelectVMotionPriority } from '~/components/common/wizards/vm/migrate/
|
|
5
|
+
import type { UI_T_SelectVMotionPriority } from '~/components/common/wizards/vm/migrate/steps/priority/lib/models/types'
|
|
6
6
|
import type { UI_I_ConnectEsxiServerForm } from '~/components/common/wizards/vm/migrate/select/targetServer/new/lib/models/interfaces'
|
|
7
7
|
import type { UI_I_SelectNetworksFormLocal } from '~/components/common/wizards/vm/migrate/select/network/lib/models/interfaces'
|
|
8
|
-
import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/
|
|
8
|
+
import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/interfaces'
|
|
9
9
|
|
|
10
10
|
export interface UI_I_MigrateFormLocal {
|
|
11
11
|
migrate_type: UI_T_VmMigrateType
|
|
@@ -4,7 +4,7 @@ import type {
|
|
|
4
4
|
} from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
|
|
5
5
|
import type Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
|
|
6
6
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
7
|
-
import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/
|
|
7
|
+
import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/interfaces'
|
|
8
8
|
import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
|
|
9
9
|
|
|
10
10
|
export const checkSelectedDatastoreSync = (
|
|
@@ -47,7 +47,7 @@ export const checkSelectedResourceSync = (
|
|
|
47
47
|
dynamicSteps.selectComputeResource,
|
|
48
48
|
'resource',
|
|
49
49
|
{
|
|
50
|
-
fieldMessage:
|
|
50
|
+
fieldMessage: localization.common.selectValidDestinationComputeResource,
|
|
51
51
|
alertMessage: localization.common.selectValidDestinationComputeResource,
|
|
52
52
|
}
|
|
53
53
|
)
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
:get-compute-resource-data="props.getComputeResourceData"
|
|
13
13
|
:compute-resource-data="props.computeResourceData"
|
|
14
14
|
:select-storage-tabs="selectStorageTabs"
|
|
15
|
+
:alert-messages="props.alertMessages"
|
|
16
|
+
@hide-alert="emits('hide-alert', $event)"
|
|
15
17
|
/>
|
|
16
18
|
</template>
|
|
17
19
|
|
|
@@ -30,13 +32,14 @@ import { vmMigrateComputeResourceTabsFunc } from '~/components/common/wizards/vm
|
|
|
30
32
|
const model = defineModel<UI_I_MigrateFormLocal>({ required: true })
|
|
31
33
|
const props = withDefaults(
|
|
32
34
|
defineProps<{
|
|
33
|
-
alertMessages: string[]
|
|
34
35
|
getComputeResourceData: (payload: UI_I_TablePayload) => Promise<void>
|
|
35
36
|
computeResourceData: any
|
|
36
37
|
computeResourceTree: UI_I_TreeNode | null
|
|
38
|
+
alertMessages?: string[] // используется только в старом виде
|
|
37
39
|
vmState?: number
|
|
38
40
|
}>(),
|
|
39
41
|
{
|
|
42
|
+
alertMessages: undefined,
|
|
40
43
|
vmState: undefined,
|
|
41
44
|
}
|
|
42
45
|
)
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="compute-resource">
|
|
3
|
-
<atoms-alert
|
|
4
|
-
v-show="props.alertMessages?.length"
|
|
5
|
-
:items="props.alertMessages"
|
|
6
|
-
test-id="compute-resource-alert"
|
|
7
|
-
status="alert-danger"
|
|
8
|
-
@remove="onHideAlert"
|
|
9
|
-
/>
|
|
10
|
-
|
|
11
3
|
<div
|
|
12
4
|
v-if="model.migrate_type === 'resource-storage'"
|
|
13
5
|
class="tree-view-wrap mt-1"
|
|
14
6
|
>
|
|
15
|
-
<common-wizards-
|
|
7
|
+
<common-wizards-common-steps-compute-resource
|
|
16
8
|
v-model="model.resource.selectedNode"
|
|
17
|
-
:
|
|
18
|
-
|
|
19
|
-
@select-compute-resource-tree="onSelectComputeResourceTree"
|
|
9
|
+
:node="props.computeResourceNode"
|
|
10
|
+
:compatibility-text="compatibilityText"
|
|
20
11
|
/>
|
|
21
12
|
</div>
|
|
22
13
|
|
|
@@ -37,13 +28,12 @@
|
|
|
37
28
|
:total-pages="props.computeResourceData?.total_pages || 1"
|
|
38
29
|
:get-compute-resource-data="props.getComputeResourceData"
|
|
39
30
|
/>
|
|
31
|
+
<common-wizards-common-compatibility
|
|
32
|
+
:loading="!model.resource.selectedNode"
|
|
33
|
+
:status="compatibilityText[0]"
|
|
34
|
+
:text="compatibilityText[1]"
|
|
35
|
+
/>
|
|
40
36
|
</template>
|
|
41
|
-
|
|
42
|
-
<common-wizards-common-compatibility
|
|
43
|
-
:loading="!model.resource.selectedNode"
|
|
44
|
-
:status="compatibilityText[0]"
|
|
45
|
-
:text="compatibilityText[1]"
|
|
46
|
-
/>
|
|
47
37
|
</div>
|
|
48
38
|
</template>
|
|
49
39
|
|
|
@@ -61,10 +51,9 @@ import { vmMigrateComputeResourceTabsFunc } from '~/components/common/wizards/vm
|
|
|
61
51
|
|
|
62
52
|
const props = withDefaults(
|
|
63
53
|
defineProps<{
|
|
64
|
-
alertMessages: string[]
|
|
65
54
|
getComputeResourceData: (payload: UI_I_TablePayload) => Promise<void>
|
|
66
55
|
computeResourceData: any
|
|
67
|
-
|
|
56
|
+
computeResourceNode: UI_I_TreeNode | null
|
|
68
57
|
vmState?: number
|
|
69
58
|
}>(),
|
|
70
59
|
{
|
|
@@ -73,12 +62,10 @@ const props = withDefaults(
|
|
|
73
62
|
)
|
|
74
63
|
const model = defineModel<UI_I_MigrateFormLocal>({ required: true })
|
|
75
64
|
const emits = defineEmits<{
|
|
76
|
-
(event: '
|
|
77
|
-
(event: 'next-step', value: any): void
|
|
65
|
+
(event: 'next-step', value: any): void // TODO удалить
|
|
78
66
|
}>()
|
|
79
67
|
|
|
80
68
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
81
|
-
const { $recursion }: any = useNuxtApp()
|
|
82
69
|
|
|
83
70
|
const activeTab = ref<UI_T_SelectComputeResourceTabType>('host')
|
|
84
71
|
const selectStorageTabs = computed<UI_I_CollapseNavItem[]>(() =>
|
|
@@ -107,41 +94,6 @@ watch(
|
|
|
107
94
|
},
|
|
108
95
|
{ immediate: true, deep: true }
|
|
109
96
|
)
|
|
110
|
-
|
|
111
|
-
const nodes = ref<UI_I_TreeNode[]>([])
|
|
112
|
-
watch(
|
|
113
|
-
props.computeResourceTree,
|
|
114
|
-
(newValue) => {
|
|
115
|
-
if (nodes.value.length) return
|
|
116
|
-
|
|
117
|
-
nodes.value = useDeepCopy([newValue])
|
|
118
|
-
},
|
|
119
|
-
{ immediate: true, deep: true }
|
|
120
|
-
)
|
|
121
|
-
|
|
122
|
-
const onShowComputeResourceTree = ({
|
|
123
|
-
node,
|
|
124
|
-
cb,
|
|
125
|
-
}: {
|
|
126
|
-
node: UI_I_TreeNode
|
|
127
|
-
cb: () => void
|
|
128
|
-
}): void => {
|
|
129
|
-
$recursion.findAndShow(
|
|
130
|
-
nodes.value,
|
|
131
|
-
[node.id, node.type],
|
|
132
|
-
['id', 'type'],
|
|
133
|
-
'nodes'
|
|
134
|
-
)
|
|
135
|
-
cb()
|
|
136
|
-
}
|
|
137
|
-
const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
|
|
138
|
-
$recursion.findAndActivate(
|
|
139
|
-
nodes.value,
|
|
140
|
-
[node.type, node.id],
|
|
141
|
-
['type', 'id'],
|
|
142
|
-
'nodes'
|
|
143
|
-
)
|
|
144
|
-
}
|
|
145
97
|
const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
146
98
|
const { selectedNode } = model.value.resource
|
|
147
99
|
|
|
@@ -177,9 +129,6 @@ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
|
177
129
|
|
|
178
130
|
return res
|
|
179
131
|
})
|
|
180
|
-
const onHideAlert = (): void => {
|
|
181
|
-
emits('hide-alert', 3)
|
|
182
|
-
}
|
|
183
132
|
</script>
|
|
184
133
|
|
|
185
134
|
<style lang="scss" scoped>
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="compute-resource">
|
|
3
|
-
<atoms-alert
|
|
4
|
-
v-show="props.alertMessages?.length"
|
|
5
|
-
:items="props.alertMessages"
|
|
6
|
-
test-id="compute-resource-alert"
|
|
7
|
-
status="alert-danger"
|
|
8
|
-
@remove="onHideAlert"
|
|
9
|
-
/>
|
|
10
|
-
|
|
11
3
|
<div
|
|
12
4
|
v-if="model.migrate_type === 'resource-storage'"
|
|
13
5
|
class="tree-view-wrap mt-1"
|
|
14
6
|
>
|
|
15
|
-
<common-wizards-
|
|
7
|
+
<common-wizards-common-steps-compute-resource
|
|
16
8
|
v-model="model.resource.selectedNode"
|
|
17
|
-
:
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
:node="props.computeResourceNode"
|
|
10
|
+
:compatibility-text="compatibilityText"
|
|
11
|
+
:alert-messages="props.alertMessages"
|
|
20
12
|
/>
|
|
21
13
|
</div>
|
|
22
14
|
|
|
23
15
|
<template v-else>
|
|
16
|
+
<atoms-alert
|
|
17
|
+
v-show="props.alertMessages?.length"
|
|
18
|
+
:items="props.alertMessages"
|
|
19
|
+
test-id="compute-resource-alert"
|
|
20
|
+
status="alert-danger"
|
|
21
|
+
@remove="onHideAlert"
|
|
22
|
+
/>
|
|
23
|
+
|
|
24
24
|
<atoms-tabs
|
|
25
25
|
v-model="activeTabLocal"
|
|
26
26
|
:items="selectStorageTabs"
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
:total-pages="props.computeResourceData?.total_pages || 1"
|
|
38
38
|
:get-compute-resource-data="props.getComputeResourceData"
|
|
39
39
|
/>
|
|
40
|
-
</template>
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
<common-wizards-common-compatibility
|
|
42
|
+
:loading="!model.resource.selectedNode"
|
|
43
|
+
:status="compatibilityText[0]"
|
|
44
|
+
:text="compatibilityText[1]"
|
|
45
|
+
/>
|
|
46
|
+
</template>
|
|
47
47
|
</div>
|
|
48
48
|
</template>
|
|
49
49
|
|
|
@@ -58,15 +58,19 @@ import type { UI_I_SelectedTableDataKeys } from '~/components/common/wizards/vm/
|
|
|
58
58
|
import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
|
|
59
59
|
import { UI_E_ComputeResourceTabKamelKeys } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/enums'
|
|
60
60
|
import { vmMigrateComputeResourceTabsFunc } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/config/tabsPannel'
|
|
61
|
+
import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
|
|
61
62
|
|
|
62
63
|
const model = defineModel<UI_I_MigrateFormLocal>({ required: true })
|
|
63
|
-
const activeTabLocal = defineModel<UI_T_SelectComputeResourceTabType>(
|
|
64
|
+
const activeTabLocal = defineModel<UI_T_SelectComputeResourceTabType>(
|
|
65
|
+
'activeTab',
|
|
66
|
+
{ required: true }
|
|
67
|
+
)
|
|
64
68
|
const props = withDefaults(
|
|
65
69
|
defineProps<{
|
|
66
70
|
alertMessages: string[]
|
|
67
71
|
getComputeResourceData: (payload: UI_I_TablePayload) => Promise<void>
|
|
68
72
|
computeResourceData: any
|
|
69
|
-
|
|
73
|
+
computeResourceNode: UI_I_TreeNode | null
|
|
70
74
|
vmState?: number
|
|
71
75
|
}>(),
|
|
72
76
|
{
|
|
@@ -78,7 +82,6 @@ const emits = defineEmits<{
|
|
|
78
82
|
}>()
|
|
79
83
|
|
|
80
84
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
81
|
-
const { $recursion }: any = useNuxtApp()
|
|
82
85
|
|
|
83
86
|
const selectStorageTabs = computed<UI_I_CollapseNavItem[]>(() =>
|
|
84
87
|
vmMigrateComputeResourceTabsFunc(localization.value, props.vmState || -1)
|
|
@@ -107,40 +110,6 @@ watch(
|
|
|
107
110
|
{ immediate: true, deep: true }
|
|
108
111
|
)
|
|
109
112
|
|
|
110
|
-
const nodes = ref<UI_I_TreeNode[]>([])
|
|
111
|
-
watch(
|
|
112
|
-
props.computeResourceTree,
|
|
113
|
-
(newValue) => {
|
|
114
|
-
if (nodes.value.length) return
|
|
115
|
-
|
|
116
|
-
nodes.value = useDeepCopy([newValue])
|
|
117
|
-
},
|
|
118
|
-
{ immediate: true, deep: true }
|
|
119
|
-
)
|
|
120
|
-
|
|
121
|
-
const onShowComputeResourceTree = ({
|
|
122
|
-
node,
|
|
123
|
-
cb,
|
|
124
|
-
}: {
|
|
125
|
-
node: UI_I_TreeNode
|
|
126
|
-
cb: () => void
|
|
127
|
-
}): void => {
|
|
128
|
-
$recursion.findAndShow(
|
|
129
|
-
nodes.value,
|
|
130
|
-
[node.id, node.type],
|
|
131
|
-
['id', 'type'],
|
|
132
|
-
'nodes'
|
|
133
|
-
)
|
|
134
|
-
cb()
|
|
135
|
-
}
|
|
136
|
-
const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
|
|
137
|
-
$recursion.findAndActivate(
|
|
138
|
-
nodes.value,
|
|
139
|
-
[node.type, node.id],
|
|
140
|
-
['type', 'id'],
|
|
141
|
-
'nodes'
|
|
142
|
-
)
|
|
143
|
-
}
|
|
144
113
|
const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
145
114
|
const { selectedNode } = model.value.resource
|
|
146
115
|
|
|
@@ -177,7 +146,7 @@ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
|
177
146
|
return res
|
|
178
147
|
})
|
|
179
148
|
const onHideAlert = (): void => {
|
|
180
|
-
emits('hide-alert',
|
|
149
|
+
emits('hide-alert', dynamicSteps.selectComputeResource)
|
|
181
150
|
}
|
|
182
151
|
</script>
|
|
183
152
|
|
package/package.json
CHANGED
|
File without changes
|