bfg-common 1.5.589 → 1.5.590
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/vm/migrate/lib/config/constructDataReady.ts +1 -1
- package/components/common/wizards/vm/migrate/steps/selectStorage/SelectStorage.vue +2 -0
- package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/SelectedPerDisk.vue +17 -51
- package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/SelectedPerDiskNew.vue +69 -0
- package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/SelectedPerDiskOld.vue +68 -0
- package/package.json +1 -1
- package/components/common/wizards/vm/common/computeResource/TreeView.vue +0 -58
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
UI_E_VmMigrationType,
|
|
7
7
|
} from '~/components/common/wizards/vm/migrate/lib/models/enums'
|
|
8
8
|
import { UI_E_SelectStorageDiskFormat } from '~/components/common/wizards/vm/migrate/steps/selectStorage/lib/models/enums'
|
|
9
|
-
import { virtualDiskFormatOptionsFunc } from '~/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/config/virtualDiskFormat'
|
|
9
|
+
import { virtualDiskFormatOptionsFunc } from '~/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/lib/config/virtualDiskFormat'
|
|
10
10
|
|
|
11
11
|
const migrateOnlyStorageDataView = (
|
|
12
12
|
localization: UI_I_Localization,
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
:datastore="props.datastore"
|
|
9
9
|
:connected-storage-id="connectedStorageId"
|
|
10
10
|
:tab-options="migrateStorageTabOptions"
|
|
11
|
+
:selected-per-disks="selectedPerDisks"
|
|
11
12
|
:is-hide-select-disk-format="isHideSelectDiskFormat"
|
|
12
13
|
@change-storage-per-disk="onChangePerDiskStorage"
|
|
13
14
|
@change-tab="onChangeMigrateMode"
|
|
@@ -23,6 +24,7 @@
|
|
|
23
24
|
:datastore="props.datastore"
|
|
24
25
|
:connected-storage-id="connectedStorageId"
|
|
25
26
|
:tab-options="migrateStorageTabOptions"
|
|
27
|
+
:selected-per-disks="selectedPerDisks"
|
|
26
28
|
:is-hide-select-disk-format="isHideSelectDiskFormat"
|
|
27
29
|
:alert-messages="props.alertMessages"
|
|
28
30
|
@change-storage-per-disk="onChangePerDiskStorage"
|
package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/SelectedPerDisk.vue
CHANGED
|
@@ -1,31 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<span v-if="normalizedData.length === 1">{{ normalizedData[0] }}</span>
|
|
15
|
-
|
|
16
|
-
<div v-else class="selected-per-disk__all-objects">
|
|
17
|
-
<span>
|
|
18
|
-
{{ localization.common.allSelectedObjects }}
|
|
19
|
-
</span>
|
|
20
|
-
<common-wizards-vm-common-tooltip>
|
|
21
|
-
<template #content>
|
|
22
|
-
<div v-for="(item, key) in normalizedData" :key="key">
|
|
23
|
-
{{ item }}
|
|
24
|
-
</div>
|
|
25
|
-
</template>
|
|
26
|
-
</common-wizards-vm-common-tooltip>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
2
|
+
<common-wizards-vm-migrate-steps-select-storage-selected-per-disk-new
|
|
3
|
+
v-if="isNewView"
|
|
4
|
+
:data="normalizedData"
|
|
5
|
+
@go-back="onGoBack"
|
|
6
|
+
/>
|
|
7
|
+
|
|
8
|
+
<common-wizards-vm-migrate-steps-select-storage-selected-per-disk-old
|
|
9
|
+
v-else
|
|
10
|
+
:data="normalizedData"
|
|
11
|
+
@go-back="onGoBack"
|
|
12
|
+
/>
|
|
29
13
|
</template>
|
|
30
14
|
|
|
31
15
|
<script lang="ts" setup>
|
|
@@ -33,16 +17,19 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
|
33
17
|
import type { UI_T_VmMigrateSelectStorageTab } from '~/components/common/wizards/vm/migrate/steps/selectStorage/lib/models/types'
|
|
34
18
|
import type { UI_I_StorageConfigurePerDiskItem } from '~/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/lib/models/interfaces'
|
|
35
19
|
|
|
36
|
-
const props = defineProps<{
|
|
37
|
-
data: UI_I_StorageConfigurePerDiskItem[]
|
|
38
|
-
}>()
|
|
39
20
|
const modelShowSelectedPerDisks = defineModel<boolean>()
|
|
40
21
|
const modelConnectedStorageIdLocal = defineModel<string>(
|
|
41
22
|
'connectedStorageIdLocal'
|
|
42
23
|
)
|
|
43
24
|
const modelActiveTab = defineModel<UI_T_VmMigrateSelectStorageTab>('activeTab')
|
|
25
|
+
const props = defineProps<{
|
|
26
|
+
data: UI_I_StorageConfigurePerDiskItem[]
|
|
27
|
+
}>()
|
|
44
28
|
|
|
45
29
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
30
|
+
const { $store }: any = useNuxtApp()
|
|
31
|
+
|
|
32
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
46
33
|
|
|
47
34
|
const normalizedData = computed<string[]>(() =>
|
|
48
35
|
props.data.map(
|
|
@@ -57,24 +44,3 @@ const onGoBack = (): void => {
|
|
|
57
44
|
modelActiveTab.value = 'configure-disk'
|
|
58
45
|
}
|
|
59
46
|
</script>
|
|
60
|
-
|
|
61
|
-
<style lang="scss" scoped>
|
|
62
|
-
@import 'assets/scss/common/mixins.scss';
|
|
63
|
-
.selected-per-disk {
|
|
64
|
-
@include flex($align: center);
|
|
65
|
-
.icon {
|
|
66
|
-
display: block;
|
|
67
|
-
}
|
|
68
|
-
.icon-arrow {
|
|
69
|
-
width: 16px;
|
|
70
|
-
height: 16px;
|
|
71
|
-
margin: 0 20px 0 15px;
|
|
72
|
-
transform: rotate(270deg);
|
|
73
|
-
fill: #0079b8;
|
|
74
|
-
cursor: pointer;
|
|
75
|
-
}
|
|
76
|
-
&__all-objects {
|
|
77
|
-
@include flex($align: center);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
</style>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="selected-per-disk">
|
|
3
|
+
<atoms-the-icon
|
|
4
|
+
data-id="go-back-icon"
|
|
5
|
+
class="icon-arrow"
|
|
6
|
+
name="arrow"
|
|
7
|
+
@click="onGoBack"
|
|
8
|
+
></atoms-the-icon>
|
|
9
|
+
|
|
10
|
+
<div>
|
|
11
|
+
<span class="icon vsphere-icon-vm"></span>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<span v-if="props.data.length === 1">{{ props.data[0] }}</span>
|
|
15
|
+
|
|
16
|
+
<div v-else class="selected-per-disk__all-objects">
|
|
17
|
+
<span>
|
|
18
|
+
{{ localization.common.allSelectedObjects }}
|
|
19
|
+
</span>
|
|
20
|
+
<common-wizards-vm-common-tooltip>
|
|
21
|
+
<template #content>
|
|
22
|
+
<div v-for="(item, key) in props.data" :key="key">
|
|
23
|
+
{{ item }}
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
</common-wizards-vm-common-tooltip>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</template>
|
|
30
|
+
|
|
31
|
+
<script lang="ts" setup>
|
|
32
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
33
|
+
import type { UI_T_VmMigrateSelectStorageTab } from '~/components/common/wizards/vm/migrate/steps/selectStorage/lib/models/types'
|
|
34
|
+
import type { UI_I_StorageConfigurePerDiskItem } from '~/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/lib/models/interfaces'
|
|
35
|
+
|
|
36
|
+
const props = defineProps<{
|
|
37
|
+
data: UI_I_StorageConfigurePerDiskItem[]
|
|
38
|
+
}>()
|
|
39
|
+
const emits = defineEmits<{
|
|
40
|
+
(event: 'on-back'): void
|
|
41
|
+
}>()
|
|
42
|
+
|
|
43
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
44
|
+
|
|
45
|
+
const onGoBack = (): void => {
|
|
46
|
+
emits('on-back')
|
|
47
|
+
}
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<style lang="scss" scoped>
|
|
51
|
+
@import 'assets/scss/common/mixins.scss';
|
|
52
|
+
.selected-per-disk {
|
|
53
|
+
@include flex($align: center);
|
|
54
|
+
.icon {
|
|
55
|
+
display: block;
|
|
56
|
+
}
|
|
57
|
+
.icon-arrow {
|
|
58
|
+
width: 16px;
|
|
59
|
+
height: 16px;
|
|
60
|
+
margin: 0 20px 0 15px;
|
|
61
|
+
transform: rotate(270deg);
|
|
62
|
+
fill: #0079b8;
|
|
63
|
+
cursor: pointer;
|
|
64
|
+
}
|
|
65
|
+
&__all-objects {
|
|
66
|
+
@include flex($align: center);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="selected-per-disk">
|
|
3
|
+
<atoms-the-icon
|
|
4
|
+
data-id="go-back-icon"
|
|
5
|
+
class="icon-arrow"
|
|
6
|
+
name="arrow"
|
|
7
|
+
@click="onGoBack"
|
|
8
|
+
/>
|
|
9
|
+
|
|
10
|
+
<div>
|
|
11
|
+
<span class="icon vsphere-icon-vm"></span>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<span v-if="props.data.length === 1">{{ props.data[0] }}</span>
|
|
15
|
+
|
|
16
|
+
<div v-else class="selected-per-disk__all-objects">
|
|
17
|
+
<span>
|
|
18
|
+
{{ localization.common.allSelectedObjects }}
|
|
19
|
+
</span>
|
|
20
|
+
<common-wizards-vm-common-tooltip>
|
|
21
|
+
<template #content>
|
|
22
|
+
<div v-for="(item, key) in props.data" :key="key">
|
|
23
|
+
{{ item }}
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
</common-wizards-vm-common-tooltip>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</template>
|
|
30
|
+
|
|
31
|
+
<script lang="ts" setup>
|
|
32
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
33
|
+
import type { UI_I_StorageConfigurePerDiskItem } from '~/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/lib/models/interfaces'
|
|
34
|
+
|
|
35
|
+
const props = defineProps<{
|
|
36
|
+
data: UI_I_StorageConfigurePerDiskItem[]
|
|
37
|
+
}>()
|
|
38
|
+
const emits = defineEmits<{
|
|
39
|
+
(event: 'on-back'): void
|
|
40
|
+
}>()
|
|
41
|
+
|
|
42
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
43
|
+
|
|
44
|
+
const onGoBack = (): void => {
|
|
45
|
+
emits('on-back')
|
|
46
|
+
}
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<style lang="scss" scoped>
|
|
50
|
+
@import 'assets/scss/common/mixins.scss';
|
|
51
|
+
.selected-per-disk {
|
|
52
|
+
@include flex($align: center);
|
|
53
|
+
.icon {
|
|
54
|
+
display: block;
|
|
55
|
+
}
|
|
56
|
+
.icon-arrow {
|
|
57
|
+
width: 16px;
|
|
58
|
+
height: 16px;
|
|
59
|
+
margin: 0 20px 0 15px;
|
|
60
|
+
transform: rotate(270deg);
|
|
61
|
+
fill: #0079b8;
|
|
62
|
+
cursor: pointer;
|
|
63
|
+
}
|
|
64
|
+
&__all-objects {
|
|
65
|
+
@include flex($align: center);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
</style>
|
package/package.json
CHANGED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="tree-view">
|
|
3
|
-
<atoms-loader-pre-loader
|
|
4
|
-
v-show="loading"
|
|
5
|
-
id="loader"
|
|
6
|
-
class="absolute-center tree-view__loading"
|
|
7
|
-
show
|
|
8
|
-
/>
|
|
9
|
-
<common-recursion-tree
|
|
10
|
-
:nodes="props.computeResourceTree"
|
|
11
|
-
class="recursion-tree"
|
|
12
|
-
@get-nodes="onShowNodes"
|
|
13
|
-
@select-node="onSelectNode"
|
|
14
|
-
@contextmenu.prevent
|
|
15
|
-
/>
|
|
16
|
-
</div>
|
|
17
|
-
</template>
|
|
18
|
-
|
|
19
|
-
<script setup lang="ts">
|
|
20
|
-
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
21
|
-
|
|
22
|
-
const props = defineProps<{
|
|
23
|
-
computeResourceTree: UI_I_TreeNode[]
|
|
24
|
-
}>()
|
|
25
|
-
const modelNode = defineModel<UI_I_TreeNode>()
|
|
26
|
-
const emits = defineEmits<{
|
|
27
|
-
(
|
|
28
|
-
event: 'get-compute-resource-tree',
|
|
29
|
-
value: { id: string | number; cb: () => void }
|
|
30
|
-
): void
|
|
31
|
-
(event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
|
|
32
|
-
(event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
|
|
33
|
-
}>()
|
|
34
|
-
|
|
35
|
-
const loading = ref<boolean>(false)
|
|
36
|
-
const onShowNodes = (event: any): void => {
|
|
37
|
-
emits('show-compute-resource-tree', event)
|
|
38
|
-
}
|
|
39
|
-
const onSelectNode = (node: UI_I_TreeNode): void => {
|
|
40
|
-
emits('select-compute-resource-tree', node)
|
|
41
|
-
|
|
42
|
-
modelNode.value = node
|
|
43
|
-
}
|
|
44
|
-
</script>
|
|
45
|
-
|
|
46
|
-
<style scoped lang="scss">
|
|
47
|
-
.tree-view {
|
|
48
|
-
&__loading {
|
|
49
|
-
:deep(.spinner.spinner-inverse) {
|
|
50
|
-
position: static;
|
|
51
|
-
width: 45px;
|
|
52
|
-
height: 45px;
|
|
53
|
-
min-width: 45px;
|
|
54
|
-
min-height: 45px;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
</style>
|