bfg-common 1.4.550 → 1.4.552
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/browse/Browse.vue +3 -0
- package/components/common/browse/BrowseNew.vue +2 -0
- package/components/common/browse/BrowseOld.vue +2 -0
- package/components/common/browse/blocks/contents/Files.vue +35 -124
- package/components/common/browse/blocks/contents/FilesOld.vue +70 -0
- package/components/common/browse/blocks/contents/new/New.vue +95 -0
- package/components/common/browse/blocks/contents/new/Skeleton.vue +18 -0
- package/components/common/vm/actions/add/Add.vue +2 -0
- package/components/common/vm/actions/clone/Clone.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +2 -0
- package/components/common/vm/actions/editSettings/EditSettings.vue +3 -0
- package/components/common/vm/actions/editSettings/EditSettingsOld.vue +2 -0
- package/components/common/vm/actions/editSettings/new/New.vue +2 -0
- package/components/common/vm/actions/editSettings/new/Skeleton.vue +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
:test-id="props.testId"
|
|
14
14
|
:file-types="props.fileTypes"
|
|
15
15
|
:info="props.info"
|
|
16
|
+
:files-loading="props.filesLoading"
|
|
16
17
|
@change-widths="onChangeWidths"
|
|
17
18
|
@sort-first="onSortFirstBlock"
|
|
18
19
|
@sort-second="onSortSecondBlock"
|
|
@@ -36,6 +37,7 @@
|
|
|
36
37
|
:test-id="props.testId"
|
|
37
38
|
:file-types="props.fileTypes"
|
|
38
39
|
:info="props.info"
|
|
40
|
+
:files-loading="props.filesLoading"
|
|
39
41
|
@change-widths="onChangeWidths"
|
|
40
42
|
@sort-first="onSortFirstBlock"
|
|
41
43
|
@sort-second="onSortSecondBlock"
|
|
@@ -60,6 +62,7 @@ const props = defineProps<{
|
|
|
60
62
|
files: any[]
|
|
61
63
|
info: UI_I_FileInfo[] | null
|
|
62
64
|
selectedFile: any | null
|
|
65
|
+
filesLoading: boolean
|
|
63
66
|
fileTypes?: UI_I_OptionItem[]
|
|
64
67
|
selectedFileType?: any
|
|
65
68
|
testId?: string
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
<common-browse-blocks-contents-files
|
|
58
58
|
:selected-folder-files="props.filesLocal"
|
|
59
59
|
:selected-file="props.selectedFile"
|
|
60
|
+
:files-loading="props.filesLoading"
|
|
60
61
|
@select-file="onSelectFile"
|
|
61
62
|
/>
|
|
62
63
|
</template>
|
|
@@ -139,6 +140,7 @@ const props = defineProps<{
|
|
|
139
140
|
secondBlockSorting: [boolean, boolean]
|
|
140
141
|
nodesLocalWithLoading: any[]
|
|
141
142
|
filesLocal: any[]
|
|
143
|
+
filesLoading: boolean
|
|
142
144
|
selectedFileType?: any
|
|
143
145
|
testId?: string
|
|
144
146
|
fileTypes?: UI_I_OptionItem[]
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
<common-browse-blocks-contents-files
|
|
59
59
|
:selected-folder-files="props.filesLocal"
|
|
60
60
|
:selected-file="props.selectedFile"
|
|
61
|
+
:files-loading="props.filesLoading"
|
|
61
62
|
@select-file="onSelectFile"
|
|
62
63
|
/>
|
|
63
64
|
</template>
|
|
@@ -127,6 +128,7 @@ const props = defineProps<{
|
|
|
127
128
|
secondBlockSorting: [boolean, boolean]
|
|
128
129
|
nodesLocal: any[]
|
|
129
130
|
filesLocal: any[]
|
|
131
|
+
filesLoading: boolean
|
|
130
132
|
selectedFileType?: any
|
|
131
133
|
testId?: string
|
|
132
134
|
fileTypes?: UI_I_OptionItem[]
|
|
@@ -1,124 +1,35 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}>()
|
|
37
|
-
|
|
38
|
-
const { $store }: any = useNuxtApp()
|
|
39
|
-
|
|
40
|
-
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
41
|
-
|
|
42
|
-
const onSelectFile = (file: any): void => {
|
|
43
|
-
emits('select-file', file)
|
|
44
|
-
}
|
|
45
|
-
</script>
|
|
46
|
-
|
|
47
|
-
<style scoped lang="scss">
|
|
48
|
-
.file-view {
|
|
49
|
-
&__container {
|
|
50
|
-
list-style-position: inside;
|
|
51
|
-
list-style-type: none;
|
|
52
|
-
padding: 0;
|
|
53
|
-
margin: 0;
|
|
54
|
-
|
|
55
|
-
&:not(.file-view_new__container) {
|
|
56
|
-
li {
|
|
57
|
-
line-height: 20px;
|
|
58
|
-
padding: 2px;
|
|
59
|
-
border-bottom: 1px solid #eee;
|
|
60
|
-
cursor: pointer;
|
|
61
|
-
|
|
62
|
-
&:hover {
|
|
63
|
-
background-color: #c6e7ff;
|
|
64
|
-
line-height: 20px;
|
|
65
|
-
padding: 2px;
|
|
66
|
-
border-bottom: 1px solid #eee;
|
|
67
|
-
cursor: pointer;
|
|
68
|
-
}
|
|
69
|
-
&.selected {
|
|
70
|
-
background-color: #a3d7ff;
|
|
71
|
-
}
|
|
72
|
-
span {
|
|
73
|
-
line-height: 20px;
|
|
74
|
-
}
|
|
75
|
-
span:first-of-type {
|
|
76
|
-
width: 16px;
|
|
77
|
-
height: 16px;
|
|
78
|
-
line-height: 20px;
|
|
79
|
-
}
|
|
80
|
-
&__text {
|
|
81
|
-
color: var(--global-font-color9);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&_new__container {
|
|
88
|
-
li {
|
|
89
|
-
display: flex;
|
|
90
|
-
align-items: center;
|
|
91
|
-
|
|
92
|
-
padding: 4px 8px;
|
|
93
|
-
cursor: pointer;
|
|
94
|
-
border-radius: 4px;
|
|
95
|
-
height: 26px;
|
|
96
|
-
margin-bottom: 2px;
|
|
97
|
-
|
|
98
|
-
color: var(--select-file-text-color);
|
|
99
|
-
|
|
100
|
-
&:hover {
|
|
101
|
-
background-color: var(--select-file-hover-bg);
|
|
102
|
-
}
|
|
103
|
-
&.active {
|
|
104
|
-
background-color: var(--select-file-selected-bg);
|
|
105
|
-
color: var(--select-file-selected-text-color);
|
|
106
|
-
}
|
|
107
|
-
span {
|
|
108
|
-
font-size: 12px;
|
|
109
|
-
font-weight: 400;
|
|
110
|
-
line-height: 14.52px;
|
|
111
|
-
|
|
112
|
-
overflow: hidden;
|
|
113
|
-
white-space: nowrap;
|
|
114
|
-
text-overflow: ellipsis;
|
|
115
|
-
}
|
|
116
|
-
span:first-of-type {
|
|
117
|
-
width: 16px;
|
|
118
|
-
height: 16px;
|
|
119
|
-
margin-right: 8px;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<common-browse-blocks-contents-files-new
|
|
3
|
+
v-if="isNewView"
|
|
4
|
+
:selected-folder-files="props.selectedFolderFiles"
|
|
5
|
+
:selected-file="props.selectedFile"
|
|
6
|
+
:files-loading="props.filesLoading"
|
|
7
|
+
@select-file="emits('select-file', $events)"
|
|
8
|
+
/>
|
|
9
|
+
<common-browse-blocks-contents-files-old
|
|
10
|
+
v-else
|
|
11
|
+
:selected-folder-files="props.selectedFolderFiles"
|
|
12
|
+
:selected-file="props.selectedFile"
|
|
13
|
+
:files-loading="props.filesLoading"
|
|
14
|
+
@select-file="emits('select-file', $events)"
|
|
15
|
+
/>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script setup lang="ts">
|
|
19
|
+
const props = defineProps<{
|
|
20
|
+
selectedFolderFiles: any[]
|
|
21
|
+
selectedFile: any
|
|
22
|
+
filesLoading: boolean
|
|
23
|
+
}>()
|
|
24
|
+
|
|
25
|
+
const emits = defineEmits<{
|
|
26
|
+
(event: 'select-file', file: any): void
|
|
27
|
+
}>()
|
|
28
|
+
|
|
29
|
+
const { $store }: any = useNuxtApp()
|
|
30
|
+
|
|
31
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<style scoped lang="scss">
|
|
35
|
+
</style>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ul class="file-view__container">
|
|
3
|
+
<template v-for="file in props.selectedFolderFiles" :key="file.name">
|
|
4
|
+
<li
|
|
5
|
+
:data-id="file.testId"
|
|
6
|
+
:class="[
|
|
7
|
+
'file-view',
|
|
8
|
+
{ selected: file.name === props.selectedFile?.name },
|
|
9
|
+
]"
|
|
10
|
+
@click="emits('select-file', file)"
|
|
11
|
+
>
|
|
12
|
+
<span class="file-view__icon" :class="file.iconClassName"></span>
|
|
13
|
+
<span class="file-view__text">{{ file.name }}</span>
|
|
14
|
+
</li>
|
|
15
|
+
</template>
|
|
16
|
+
</ul>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
const props = defineProps<{
|
|
21
|
+
selectedFolderFiles: any[]
|
|
22
|
+
selectedFile: any
|
|
23
|
+
}>()
|
|
24
|
+
|
|
25
|
+
const emits = defineEmits<{
|
|
26
|
+
(event: 'select-file', file: any): void
|
|
27
|
+
}>()
|
|
28
|
+
|
|
29
|
+
const { $store }: any = useNuxtApp()
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<style scoped lang="scss">
|
|
33
|
+
.file-view {
|
|
34
|
+
&__container {
|
|
35
|
+
list-style-position: inside;
|
|
36
|
+
list-style-type: none;
|
|
37
|
+
padding: 0;
|
|
38
|
+
margin: 0;
|
|
39
|
+
|
|
40
|
+
li {
|
|
41
|
+
line-height: 20px;
|
|
42
|
+
padding: 2px;
|
|
43
|
+
border-bottom: 1px solid #eee;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
|
|
46
|
+
&:hover {
|
|
47
|
+
background-color: #c6e7ff;
|
|
48
|
+
line-height: 20px;
|
|
49
|
+
padding: 2px;
|
|
50
|
+
border-bottom: 1px solid #eee;
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
&.selected {
|
|
54
|
+
background-color: #a3d7ff;
|
|
55
|
+
}
|
|
56
|
+
span {
|
|
57
|
+
line-height: 20px;
|
|
58
|
+
}
|
|
59
|
+
span:first-of-type {
|
|
60
|
+
width: 16px;
|
|
61
|
+
height: 16px;
|
|
62
|
+
line-height: 20px;
|
|
63
|
+
}
|
|
64
|
+
&__text {
|
|
65
|
+
color: var(--global-font-color9);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ul
|
|
3
|
+
v-if="props.selectedFolderFiles.length || props.filesLoading"
|
|
4
|
+
class="file-view__container"
|
|
5
|
+
>
|
|
6
|
+
<template v-for="file in props.selectedFolderFiles" :key="file.name">
|
|
7
|
+
<li
|
|
8
|
+
:data-id="file.testId"
|
|
9
|
+
:class="[
|
|
10
|
+
'file-view',
|
|
11
|
+
{ active: file.name === props.selectedFile?.name },
|
|
12
|
+
]"
|
|
13
|
+
@click="emits('select-file', file)"
|
|
14
|
+
>
|
|
15
|
+
<span class="file-view__icon" :class="file.iconClassName"></span>
|
|
16
|
+
<span class="file-view__text">{{ file.name }}</span>
|
|
17
|
+
</li>
|
|
18
|
+
</template>
|
|
19
|
+
<common-browse-blocks-contents-files-new-skeleton v-if="props.filesLoading" />
|
|
20
|
+
</ul>
|
|
21
|
+
|
|
22
|
+
<div v-else class="not-found-wrap">
|
|
23
|
+
<ui-not-found :text="localization.common.noItemsFound" />
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script setup lang="ts">
|
|
28
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
29
|
+
|
|
30
|
+
const props = defineProps<{
|
|
31
|
+
selectedFolderFiles: any[]
|
|
32
|
+
selectedFile: any
|
|
33
|
+
filesLoading: boolean
|
|
34
|
+
}>()
|
|
35
|
+
|
|
36
|
+
const emits = defineEmits<{
|
|
37
|
+
(event: 'select-file', file: any): void
|
|
38
|
+
}>()
|
|
39
|
+
|
|
40
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<style scoped lang="scss">
|
|
44
|
+
.file-view {
|
|
45
|
+
&__container {
|
|
46
|
+
list-style-position: inside;
|
|
47
|
+
list-style-type: none;
|
|
48
|
+
padding: 0;
|
|
49
|
+
margin: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
li {
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
|
|
56
|
+
padding: 4px 8px;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
border-radius: 4px;
|
|
59
|
+
height: 26px;
|
|
60
|
+
margin-bottom: 2px;
|
|
61
|
+
|
|
62
|
+
color: var(--select-file-text-color);
|
|
63
|
+
|
|
64
|
+
&:hover {
|
|
65
|
+
background-color: var(--select-file-hover-bg);
|
|
66
|
+
}
|
|
67
|
+
&.active {
|
|
68
|
+
background-color: var(--select-file-selected-bg);
|
|
69
|
+
color: var(--select-file-selected-text-color);
|
|
70
|
+
}
|
|
71
|
+
span {
|
|
72
|
+
font-size: 12px;
|
|
73
|
+
font-weight: 400;
|
|
74
|
+
line-height: 14.52px;
|
|
75
|
+
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
white-space: nowrap;
|
|
78
|
+
text-overflow: ellipsis;
|
|
79
|
+
}
|
|
80
|
+
span:first-of-type {
|
|
81
|
+
width: 16px;
|
|
82
|
+
height: 16px;
|
|
83
|
+
margin-right: 8px;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
.not-found-wrap {
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
justify-content: center;
|
|
91
|
+
flex-direction: column;
|
|
92
|
+
height: 100%;
|
|
93
|
+
width: 100%;
|
|
94
|
+
}
|
|
95
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="skeleton-wrap">
|
|
3
|
+
<ui-skeleton-item height="18px" />
|
|
4
|
+
<ui-skeleton-item height="18px" />
|
|
5
|
+
<ui-skeleton-item height="18px" />
|
|
6
|
+
<ui-skeleton-item height="18px" />
|
|
7
|
+
<ui-skeleton-item height="18px" />
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script setup lang="ts"></script>
|
|
12
|
+
|
|
13
|
+
<style scoped lang="scss">
|
|
14
|
+
.skeleton-wrap {
|
|
15
|
+
display: grid;
|
|
16
|
+
grid-gap: 12px;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
:datastore="props.datastore"
|
|
95
95
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
96
96
|
:passthrough-devices="props.passthroughDevices"
|
|
97
|
+
:files-loading="props.filesLoading"
|
|
97
98
|
@change-boot-order="onChangeBootOrder"
|
|
98
99
|
@send-data="onChangeCustomizeHardware"
|
|
99
100
|
@get-storage="emits('get-storage', $event)"
|
|
@@ -200,6 +201,7 @@ const props = defineProps<{
|
|
|
200
201
|
>
|
|
201
202
|
passthroughDevices: UI_I_PciDevice[]
|
|
202
203
|
vmNameInWizard: string
|
|
204
|
+
filesLoading: boolean
|
|
203
205
|
capabilities?: UI_I_Capabilities
|
|
204
206
|
dataCenter?: UI_I_TreeNode // для сферы
|
|
205
207
|
computeResource?: UI_I_TreeNode // для сферы
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
:datastore="props.datastore"
|
|
76
76
|
:project="props.project"
|
|
77
77
|
is-clone
|
|
78
|
+
:files-loading="props.filesLoading"
|
|
78
79
|
@change-boot-order="onChangeBootOrder"
|
|
79
80
|
@send-data="onChangeCustomizeHardware"
|
|
80
81
|
@get-storage="emits('get-storage', $event)"
|
|
@@ -153,6 +154,7 @@ const props = defineProps<{
|
|
|
153
154
|
validateSendDataFunc: any
|
|
154
155
|
passthroughDevices: UI_I_ConfigurePciDevicesTable | null
|
|
155
156
|
vmNameInWizard: string
|
|
157
|
+
filesLoading: boolean
|
|
156
158
|
capabilities?: UI_I_Capabilities
|
|
157
159
|
schedulerTask?: any // TODO надо interface переместить глобално
|
|
158
160
|
selectedVirtualMachine?: UI_I_Capabilities
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
:project="props.project"
|
|
39
39
|
:nav-items="navItems"
|
|
40
40
|
:errors="errors"
|
|
41
|
+
:files-loading="props.filesLoading"
|
|
41
42
|
@change-boot-order="emits('change-boot-order', $event)"
|
|
42
43
|
@send-data="emits('send-data', $event)"
|
|
43
44
|
@next="emits('next')"
|
|
@@ -91,6 +92,7 @@
|
|
|
91
92
|
:project="props.project"
|
|
92
93
|
:nav-items="navItems"
|
|
93
94
|
:errors="errors"
|
|
95
|
+
:files-loading="props.filesLoading"
|
|
94
96
|
@change-boot-order="emits('change-boot-order', $event)"
|
|
95
97
|
@send-data="emits('send-data', $event)"
|
|
96
98
|
@next="emits('next')"
|
|
@@ -157,6 +159,7 @@ const props = defineProps<{
|
|
|
157
159
|
nodes: UI_I_FileTreeNode[]
|
|
158
160
|
files: UI_I_FileTreeNode[]
|
|
159
161
|
networksTable: UI_I_NetworkTableItem[]
|
|
162
|
+
filesLoading: boolean
|
|
160
163
|
cpu?: API_UI_I_VmEditCpu
|
|
161
164
|
memory?: API_UI_I_VmEditMemory
|
|
162
165
|
vmCpuHelpTextSecond?: string
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
:passthrough-devices="props.passthroughDevices"
|
|
44
44
|
:project="props.project"
|
|
45
45
|
:guest-machine-type="guestMachineType"
|
|
46
|
+
:files-loading="props.filesLoading"
|
|
46
47
|
@send-data="emits('send-data-virtual-hardware-method', $event)"
|
|
47
48
|
@get-storage="emits('get-storage', $event)"
|
|
48
49
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
@@ -143,6 +144,7 @@ const props = defineProps<{
|
|
|
143
144
|
networksForBootOptions: UI_I_SendDataNewNetwork[] | null
|
|
144
145
|
hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
|
|
145
146
|
cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
|
|
147
|
+
filesLoading: boolean
|
|
146
148
|
cpu?: API_UI_I_VmEditCpu
|
|
147
149
|
state?: string | number
|
|
148
150
|
isEdit?: boolean
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
:passthrough-devices="props.passthroughDevices"
|
|
38
38
|
:project="props.project"
|
|
39
39
|
:guest-machine-type="guestMachineType"
|
|
40
|
+
:files-loading="props.filesLoading"
|
|
40
41
|
@send-data="emits('send-data-virtual-hardware-method', $event)"
|
|
41
42
|
@get-storage="emits('get-storage', $event)"
|
|
42
43
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
@@ -120,6 +121,7 @@ const props = defineProps<{
|
|
|
120
121
|
networksForBootOptions: UI_I_SendDataNewNetwork[] | null
|
|
121
122
|
hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
|
|
122
123
|
cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
|
|
124
|
+
filesLoading: boolean
|
|
123
125
|
cpu?: API_UI_I_VmEditCpu
|
|
124
126
|
state?: string | number
|
|
125
127
|
isEdit?: boolean
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
:guest-machine-type="guestMachineType"
|
|
39
39
|
:passthrough-devices="passthroughDevices"
|
|
40
40
|
:vm-cpu-help-text-second="vmCpuHelpTextSecond"
|
|
41
|
+
:files-loading="props.filesLoading"
|
|
41
42
|
@add-device="onAddDevice"
|
|
42
43
|
@get-storage="emits('get-storage', $event)"
|
|
43
44
|
@remove-network="onRemoveNetwork"
|
|
@@ -104,6 +105,7 @@
|
|
|
104
105
|
:guest-machine-type="guestMachineType"
|
|
105
106
|
:passthrough-devices="passthroughDevices"
|
|
106
107
|
:vm-cpu-help-text-second="vmCpuHelpTextSecond"
|
|
108
|
+
:files-loading="props.filesLoading"
|
|
107
109
|
@add-device="onAddDevice"
|
|
108
110
|
@get-storage="emits('get-storage', $event)"
|
|
109
111
|
@remove-network="onRemoveNetwork"
|
|
@@ -184,6 +186,7 @@ const props = defineProps<{
|
|
|
184
186
|
networksTable: UI_I_NetworkTableItem[]
|
|
185
187
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
186
188
|
datastore: UI_I_DatastoreTableItem[]
|
|
189
|
+
filesLoading: UI_I_DatastoreTableItem[]
|
|
187
190
|
state?: string | number
|
|
188
191
|
cpu?: API_UI_I_VmEditCpu
|
|
189
192
|
memory?: API_UI_I_VmEditMemory
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue
CHANGED
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
show
|
|
186
186
|
:nodes="props.nodes"
|
|
187
187
|
:files="props.files"
|
|
188
|
+
:files-loading="props.filesLoading"
|
|
188
189
|
@submit="emits('add-exist-hard-disk', $event)"
|
|
189
190
|
@get-storage="emits('get-storage', $event)"
|
|
190
191
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
@@ -255,6 +256,7 @@ const props = defineProps<{
|
|
|
255
256
|
cdDvdDrivesIndex: number[]
|
|
256
257
|
errorValidationFields: UI_I_ErrorValidationField<string>[]
|
|
257
258
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
259
|
+
filesLoading: boolean
|
|
258
260
|
cpu?: API_UI_I_VmEditCpu
|
|
259
261
|
state?: string | number
|
|
260
262
|
memory?: API_UI_I_VmEditMemory
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue
CHANGED
|
@@ -137,6 +137,7 @@
|
|
|
137
137
|
show
|
|
138
138
|
:nodes="props.nodes"
|
|
139
139
|
:files="props.files"
|
|
140
|
+
:files-loading="props.filesLoading"
|
|
140
141
|
@submit="emits('add-exist-hard-disk', $event)"
|
|
141
142
|
@get-storage="emits('get-storage', $event)"
|
|
142
143
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
@@ -209,6 +210,7 @@ const props = defineProps<{
|
|
|
209
210
|
cdDvdDrivesIndex: number[]
|
|
210
211
|
errorValidationFields: UI_I_ErrorValidationField<string>[]
|
|
211
212
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
213
|
+
filesLoading: boolean
|
|
212
214
|
cpu?: API_UI_I_VmEditCpu
|
|
213
215
|
state?: string | number
|
|
214
216
|
memory?: API_UI_I_VmEditMemory
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
:files="files"
|
|
9
9
|
:info="selectedNodeInfo"
|
|
10
10
|
:file-types="props.fileTypes"
|
|
11
|
+
:files-loading="props.filesLoading"
|
|
11
12
|
@get-nodes="onGetCurrentDirNodes"
|
|
12
13
|
@select-node="onSelectNode"
|
|
13
14
|
@submit="onSubmit"
|
|
@@ -29,6 +30,7 @@ const props = defineProps<{
|
|
|
29
30
|
show: boolean
|
|
30
31
|
nodes: UI_I_FileTreeNode[]
|
|
31
32
|
files: UI_I_FileTreeNode[]
|
|
33
|
+
filesLoading: boolean
|
|
32
34
|
fileTypes?: UI_I_OptionItem[]
|
|
33
35
|
}>()
|
|
34
36
|
const emits = defineEmits<{
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
:vm-name-old="props.vmSettings?.name"
|
|
20
20
|
:passthrough-devices="props.passthroughDevices"
|
|
21
21
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
22
|
+
:files-loading="props.filesLoading"
|
|
22
23
|
@hide="emits('hide')"
|
|
23
24
|
@validate="validateSendData"
|
|
24
25
|
@update-vm="emits('update-vm')"
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
:vm-name-old="props.vmSettings?.name"
|
|
52
53
|
:passthrough-devices="props.passthroughDevices"
|
|
53
54
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
55
|
+
:files-loading="props.filesLoading"
|
|
54
56
|
@hide="emits('hide')"
|
|
55
57
|
@validate="validateSendData"
|
|
56
58
|
@update-vm="emits('update-vm')"
|
|
@@ -106,6 +108,7 @@ const props = defineProps<{
|
|
|
106
108
|
vmId: string
|
|
107
109
|
datastore: UI_I_DatastoreTableItem[]
|
|
108
110
|
validateSendDataFunc: UI_T_EditVmFinishFunc
|
|
111
|
+
filesLoading: boolean
|
|
109
112
|
getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
|
|
110
113
|
state?: string | number
|
|
111
114
|
passthroughDevices?: UI_I_PciDevice[]
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
52
52
|
:datastore="props.datastore"
|
|
53
53
|
is-edit
|
|
54
|
+
:files-loading="props.filesLoading"
|
|
54
55
|
@get-storage="emits('get-storage', $event)"
|
|
55
56
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
56
57
|
@get-active-device-child="emits('get-active-device-child', $event)"
|
|
@@ -109,6 +110,7 @@ const props = defineProps<{
|
|
|
109
110
|
virtualHardwareNetworks: UI_I_SendDataNewNetwork[] | null
|
|
110
111
|
virtualHardwareHardDisks: UI_I_SendDataNewHardDisk[] | null
|
|
111
112
|
virtualHardwareCdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
|
|
113
|
+
filesLoading: boolean
|
|
112
114
|
state?: string | number
|
|
113
115
|
vmNameOld?: string
|
|
114
116
|
passthroughDevices?: UI_I_PciDevice[]
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
54
54
|
:datastore="props.datastore"
|
|
55
55
|
is-edit
|
|
56
|
+
:files-loading="props.filesLoading"
|
|
56
57
|
@get-storage="emits('get-storage', $event)"
|
|
57
58
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
58
59
|
@get-active-device-child="emits('get-active-device-child', $event)"
|
|
@@ -115,6 +116,7 @@ const props = defineProps<{
|
|
|
115
116
|
virtualHardwareNetworks: UI_I_SendDataNewNetwork[] | null
|
|
116
117
|
virtualHardwareHardDisks: UI_I_SendDataNewHardDisk[] | null
|
|
117
118
|
virtualHardwareCdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
|
|
119
|
+
filesLoading: boolean
|
|
118
120
|
state?: string | number
|
|
119
121
|
vmNameOld?: string
|
|
120
122
|
passthroughDevices?: UI_I_PciDevice[]
|