bfg-common 1.5.244 → 1.5.246
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/assets/scss/common/icons/icons-1.scss +2 -2
- package/assets/scss/common/icons/icons-5.scss +5 -5
- package/assets/scss/common/icons/icons-6.scss +1 -1
- package/assets/scss/common/theme.scss +6 -0
- package/components/atoms/table/dataGrid/DataGrid.vue +1 -1
- package/components/common/backup/actions/deleteBackup/DeleteBackup.vue +38 -0
- package/components/common/backup/storage/actions/add/Add.vue +3 -0
- package/components/common/backup/storage/actions/add/New.vue +2 -0
- package/components/common/backup/storage/actions/add/Old.vue +2 -0
- package/components/common/browse/BrowseNew.vue +8 -2
- package/components/common/vm/actions/add/Add.vue +3 -0
- package/components/common/vm/actions/add/New.vue +4 -0
- package/components/common/vm/actions/add/Old.vue +4 -0
- package/components/common/vm/actions/clone/Clone.vue +3 -0
- package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -2
- 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 +9 -7
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +4 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +11 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +8 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +6 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +8 -3
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModal.vue +3 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalOld.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +8 -4
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +4 -3
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +8 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +5 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -2
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +4 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +8 -2
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +5 -1
- package/components/common/vm/actions/common/select/storage/Old.vue +2 -0
- package/components/common/vm/actions/common/select/storage/Storage.vue +3 -0
- package/components/common/vm/actions/common/select/storage/new/New.vue +10 -5
- package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +2 -1
- 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/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +1 -3
- package/lib/utils/utils.ts +14 -2
- package/package.json +2 -2
- package/plugins/cron.ts +75 -0
- package/plugins/helpers.ts +18 -0
- package/plugins/number.ts +18 -0
- package/plugins/panelStates.ts +70 -0
- package/plugins/text.ts +11 -0
- package/plugins/time.ts +17 -0
- /package/{components/common/split/horizontal/lib/models → lib/models/plugins/panelStates}/interfaces.ts +0 -0
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
background-position: 0 98.7%;
|
|
94
94
|
}
|
|
95
95
|
.storage-ui-icon-increase_datastore {
|
|
96
|
-
background-position: 0 94.
|
|
96
|
+
background-position: 0 94.96%;
|
|
97
97
|
}
|
|
98
98
|
.storage-ui-icon-datastore-unmount {
|
|
99
99
|
background-position: 0 100%;
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
background-position: 0 43.0379746835%;
|
|
115
115
|
}
|
|
116
116
|
.storage-ui-icon-browse-file {
|
|
117
|
-
background-position: 0 30.
|
|
117
|
+
background-position: 0 30.44%;
|
|
118
118
|
}
|
|
119
119
|
.clone-to-template {
|
|
120
120
|
background-position: 0 46.8%;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
background-position: 0 7.59%;
|
|
14
14
|
}
|
|
15
15
|
.vx-icon-vmMigrate {
|
|
16
|
-
background-position: 0 1.
|
|
16
|
+
background-position: 0 1.29%;
|
|
17
17
|
}
|
|
18
18
|
.network-lib-ui-icon-vswitch {
|
|
19
19
|
background-position: 0 24.05%;
|
|
@@ -59,16 +59,16 @@
|
|
|
59
59
|
background-position: 0 40.5%;
|
|
60
60
|
}
|
|
61
61
|
.icon-web-terminal {
|
|
62
|
-
background-position: 0 41.
|
|
62
|
+
background-position: 0 41.79%;
|
|
63
63
|
}
|
|
64
64
|
.icon-move {
|
|
65
|
-
background-position: 0 43%;
|
|
65
|
+
background-position: 0 43.06%;
|
|
66
66
|
}
|
|
67
67
|
.icon-settings {
|
|
68
68
|
background-position: 0 44.3%;
|
|
69
69
|
}
|
|
70
70
|
.icon-remove {
|
|
71
|
-
background-position: 0 45.
|
|
71
|
+
background-position: 0 45.59%;
|
|
72
72
|
}
|
|
73
73
|
.icon-backup-storage {
|
|
74
74
|
background-position: 0 46.8%;
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
background-position: 0 68.3%;
|
|
114
114
|
}
|
|
115
115
|
.icon-edit {
|
|
116
|
-
background-position: 0 69.
|
|
116
|
+
background-position: 0 69.65%;
|
|
117
117
|
}
|
|
118
118
|
.icon-backup {
|
|
119
119
|
background-position: 0 62%;
|
|
@@ -169,6 +169,9 @@
|
|
|
169
169
|
--diagram-content-third-text: #9da6ad;
|
|
170
170
|
--diagram-info-text: #4d5d69;
|
|
171
171
|
--diagram-info-second-text: #9da6ad;
|
|
172
|
+
|
|
173
|
+
// VM Add Edit new view
|
|
174
|
+
--select-file-type-label: #4d5d69;
|
|
172
175
|
}
|
|
173
176
|
|
|
174
177
|
:root.dark-theme {
|
|
@@ -330,4 +333,7 @@
|
|
|
330
333
|
--diagram-content-third-text: #9da6ad;
|
|
331
334
|
--diagram-info-text: #e9eaec;
|
|
332
335
|
--diagram-info-second-text: #9da6ad;
|
|
336
|
+
|
|
337
|
+
// VM Add Edit new view
|
|
338
|
+
--select-file-type-label: #e9eaec;
|
|
333
339
|
}
|
|
@@ -819,7 +819,7 @@ const headItemsPresent = computed<UI_I_HeadItem[]>(() => {
|
|
|
819
819
|
const bodyItemsPresent = computed<UI_I_BodyItem[][]>(() => {
|
|
820
820
|
let items: UI_I_BodyItem[][] = props.bodyItems.map((row) => {
|
|
821
821
|
return row.map((item) => {
|
|
822
|
-
const text = item.text
|
|
822
|
+
const text = item.text?.toString() || ''
|
|
823
823
|
return {
|
|
824
824
|
...item,
|
|
825
825
|
// Если текст пустой нужно поставить '--' для экспорта
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<common-modals-confirmation
|
|
3
|
+
:headline="headline"
|
|
4
|
+
:description="description"
|
|
5
|
+
:loading="props.isLoading"
|
|
6
|
+
@hide-modal="emits('hide')"
|
|
7
|
+
@confirm="emits('remove', props.isAll)"
|
|
8
|
+
/>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script setup lang="ts">
|
|
12
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
13
|
+
|
|
14
|
+
const props = defineProps<{
|
|
15
|
+
name?: string
|
|
16
|
+
isAll?: boolean
|
|
17
|
+
isLoading?: boolean
|
|
18
|
+
}>()
|
|
19
|
+
const emits = defineEmits<{
|
|
20
|
+
(event: 'hide'): void
|
|
21
|
+
(event: 'remove', value: boolean): void
|
|
22
|
+
}>()
|
|
23
|
+
|
|
24
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
25
|
+
|
|
26
|
+
const headline = computed<string>(() => {
|
|
27
|
+
return props.isAll
|
|
28
|
+
? localization.value.common.deleteAllBackups
|
|
29
|
+
: `${props.name} - ${localization.value.common.deleteBackup}`
|
|
30
|
+
})
|
|
31
|
+
const description = computed<string>(() => {
|
|
32
|
+
return props.isAll
|
|
33
|
+
? localization.value.common.deleteAllBackupDescription
|
|
34
|
+
: localization.value.common.deleteBackupDescription
|
|
35
|
+
})
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<style lang="scss" scoped></style>
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
:title="title"
|
|
10
10
|
:hosts="props.hosts"
|
|
11
11
|
:datastore="props.datastore"
|
|
12
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
12
13
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
13
14
|
@change-steps="onChangeSteps"
|
|
14
15
|
@change-storage="onChangeStorage"
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
:title="title"
|
|
26
27
|
:hosts="props.hosts"
|
|
27
28
|
:datastore="props.datastore"
|
|
29
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
28
30
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
29
31
|
@change-steps="onChangeSteps"
|
|
30
32
|
@change-storage="onChangeStorage"
|
|
@@ -61,6 +63,7 @@ const props = withDefaults(
|
|
|
61
63
|
defineProps<{
|
|
62
64
|
project: UI_T_Project
|
|
63
65
|
datastore: UI_I_DatastoreTableItem[]
|
|
66
|
+
isDatastoreLoading: boolean
|
|
64
67
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
65
68
|
hosts?: any[]
|
|
66
69
|
}>(),
|
|
@@ -124,6 +124,7 @@
|
|
|
124
124
|
<template #content>
|
|
125
125
|
<common-vm-actions-common-select-storage
|
|
126
126
|
:datastore="props.datastore"
|
|
127
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
127
128
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
128
129
|
hide-compatibility
|
|
129
130
|
hide-alert
|
|
@@ -214,6 +215,7 @@ const props = defineProps<{
|
|
|
214
215
|
alertMessages: string[][]
|
|
215
216
|
title: string
|
|
216
217
|
datastore: UI_I_DatastoreTableItem[]
|
|
218
|
+
isDatastoreLoading: boolean
|
|
217
219
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
218
220
|
hosts?: any[]
|
|
219
221
|
}>()
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
/>
|
|
45
45
|
<common-vm-actions-common-select-storage
|
|
46
46
|
:datastore="props.datastore"
|
|
47
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
47
48
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
48
49
|
hide-compatibility
|
|
49
50
|
hide-alert
|
|
@@ -90,6 +91,7 @@ const props = defineProps<{
|
|
|
90
91
|
alertMessages: string[][]
|
|
91
92
|
title: string
|
|
92
93
|
datastore: UI_I_DatastoreTableItem[]
|
|
94
|
+
isDatastoreLoading: boolean
|
|
93
95
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
94
96
|
hosts?: any[]
|
|
95
97
|
}>()
|
|
@@ -37,7 +37,9 @@
|
|
|
37
37
|
:class="['browse-tree-item', { active: node.isActive }]"
|
|
38
38
|
>
|
|
39
39
|
<span :class="node.iconClassName"></span>
|
|
40
|
-
<span class="text-ellipsis">{{
|
|
40
|
+
<span class="text-ellipsis datastore-node-name">{{
|
|
41
|
+
node.name
|
|
42
|
+
}}</span>
|
|
41
43
|
</div>
|
|
42
44
|
</template>
|
|
43
45
|
</ui-tree>
|
|
@@ -204,7 +206,7 @@ const selectedFileTypeLocal = computed<any>({
|
|
|
204
206
|
|
|
205
207
|
<style scoped lang="scss">
|
|
206
208
|
.file-type-label {
|
|
207
|
-
color:
|
|
209
|
+
color: var(--select-file-type-label);
|
|
208
210
|
}
|
|
209
211
|
|
|
210
212
|
.new-view-info {
|
|
@@ -239,6 +241,10 @@ const selectedFileTypeLocal = computed<any>({
|
|
|
239
241
|
display: flex;
|
|
240
242
|
align-items: center;
|
|
241
243
|
column-gap: 8px;
|
|
244
|
+
|
|
245
|
+
.datastore-node-name {
|
|
246
|
+
font-size: 12px;
|
|
247
|
+
}
|
|
242
248
|
}
|
|
243
249
|
.first-block-content {
|
|
244
250
|
:deep(.tree-content) {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
:files="props.files"
|
|
10
10
|
:networks-table="props.networksTable"
|
|
11
11
|
:datastore="props.datastore"
|
|
12
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
12
13
|
:error-validation-fields="props.errorValidationFields"
|
|
13
14
|
:ready-complete-table-info="props.readyCompleteTableInfo"
|
|
14
15
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
@@ -77,6 +78,7 @@
|
|
|
77
78
|
:files="props.files"
|
|
78
79
|
:networks-table="props.networksTable"
|
|
79
80
|
:datastore="props.datastore"
|
|
81
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
80
82
|
:error-validation-fields="props.errorValidationFields"
|
|
81
83
|
:ready-complete-table-info="props.readyCompleteTableInfo"
|
|
82
84
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
@@ -199,6 +201,7 @@ const props = defineProps<{
|
|
|
199
201
|
files: UI_I_FileTreeNode[]
|
|
200
202
|
networksTable: UI_I_NetworkTableItem[]
|
|
201
203
|
datastore: UI_I_DatastoreTableItem[]
|
|
204
|
+
isDatastoreLoading: boolean
|
|
202
205
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
203
206
|
readyCompleteTableInfo: UI_I_TableInfoItem[]
|
|
204
207
|
vmCpuHelpTextSecond: string
|
|
@@ -143,6 +143,7 @@
|
|
|
143
143
|
<common-vm-actions-common-select-storage
|
|
144
144
|
:storage-submit="props.storageSubmit"
|
|
145
145
|
:datastore="props.datastore"
|
|
146
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
146
147
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
147
148
|
:storage="props.vmtSettings?.storage"
|
|
148
149
|
@submit="emits('change-storage', $event)"
|
|
@@ -252,6 +253,7 @@
|
|
|
252
253
|
:error-validation-fields="props.errorValidationFields"
|
|
253
254
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
254
255
|
:datastore="props.datastore"
|
|
256
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
255
257
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
256
258
|
:passthrough-devices="props.passthroughDevices"
|
|
257
259
|
:mediated-devices="props.mediatedDevices"
|
|
@@ -321,6 +323,7 @@
|
|
|
321
323
|
:error-validation-fields="props.errorValidationFields"
|
|
322
324
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
323
325
|
:datastore="props.datastore"
|
|
326
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
324
327
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
325
328
|
:passthrough-devices="props.passthroughDevices"
|
|
326
329
|
:mediated-devices="props.mediatedDevices"
|
|
@@ -452,6 +455,7 @@ const props = defineProps<{
|
|
|
452
455
|
files: UI_I_FileTreeNode[]
|
|
453
456
|
networksTable: UI_I_NetworkTableItem[]
|
|
454
457
|
datastore: UI_I_DatastoreTableItem[]
|
|
458
|
+
isDatastoreLoading: boolean
|
|
455
459
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
456
460
|
readyCompleteTableInfo: UI_I_TableInfoItem[]
|
|
457
461
|
vmCpuHelpTextSecond: string
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
v-show="selectedStep.id === dynamicSteps.selectStorage"
|
|
70
70
|
:storage-submit="props.storageSubmit"
|
|
71
71
|
:datastore="props.datastore"
|
|
72
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
72
73
|
:storage="props.vmtSettings?.storage"
|
|
73
74
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
74
75
|
@submit="emits('change-storage', $event)"
|
|
@@ -123,6 +124,7 @@
|
|
|
123
124
|
:error-validation-fields="props.errorValidationFields"
|
|
124
125
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
125
126
|
:datastore="props.datastore"
|
|
127
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
126
128
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
127
129
|
:passthrough-devices="props.passthroughDevices"
|
|
128
130
|
:mediated-devices="props.mediatedDevices"
|
|
@@ -172,6 +174,7 @@
|
|
|
172
174
|
:error-validation-fields="props.errorValidationFields"
|
|
173
175
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
174
176
|
:datastore="props.datastore"
|
|
177
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
175
178
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
176
179
|
:passthrough-devices="props.passthroughDevices"
|
|
177
180
|
:mediated-devices="props.mediatedDevices"
|
|
@@ -276,6 +279,7 @@ const props = defineProps<{
|
|
|
276
279
|
files: UI_I_FileTreeNode[]
|
|
277
280
|
networksTable: UI_I_NetworkTableItem[]
|
|
278
281
|
datastore: UI_I_DatastoreTableItem[]
|
|
282
|
+
isDatastoreLoading: boolean
|
|
279
283
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
280
284
|
readyCompleteTableInfo: UI_I_TableInfoItem[]
|
|
281
285
|
vmCpuHelpTextSecond: string
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
v-show="selectedStep.id === dynamicSteps.selectStorage"
|
|
57
57
|
:storage-submit="storageSubmit"
|
|
58
58
|
:datastore="props.datastore"
|
|
59
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
59
60
|
:storage="vmForm.storage"
|
|
60
61
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
61
62
|
@submit="onChangeStorage"
|
|
@@ -109,6 +110,7 @@
|
|
|
109
110
|
:mediated-devices="props.mediatedDevices"
|
|
110
111
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
111
112
|
:datastore="props.datastore"
|
|
113
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
112
114
|
:project="props.project"
|
|
113
115
|
is-clone
|
|
114
116
|
@change-boot-order="onChangeBootOrder"
|
|
@@ -187,6 +189,7 @@ const props = defineProps<{
|
|
|
187
189
|
files: UI_I_FileTreeNode[]
|
|
188
190
|
networksTable: UI_I_NetworkTableItem[]
|
|
189
191
|
datastore: UI_I_DatastoreTableItem[]
|
|
192
|
+
isDatastoreLoading: boolean
|
|
190
193
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
191
194
|
readyCompleteTableInfo: UI_I_TableInfoItem[]
|
|
192
195
|
vmCpuHelpTextSecond: string
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
v-show="selectedStep.id === dynamicSteps.selectStorage"
|
|
36
36
|
:storage-submit="storageSubmit"
|
|
37
37
|
:datastore="props.datastore"
|
|
38
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
38
39
|
:storage="vmSettingsLocal.storage"
|
|
39
40
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
40
41
|
@submit="onChangeStorage"
|
|
@@ -73,6 +74,7 @@
|
|
|
73
74
|
:mediated-devices="props.mediatedDevices"
|
|
74
75
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
75
76
|
:datastore="props.datastore"
|
|
77
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
76
78
|
:project="props.project"
|
|
77
79
|
is-clone
|
|
78
80
|
@change-boot-order="onChangeBootOrder"
|
|
@@ -148,6 +150,7 @@ const props = defineProps<{
|
|
|
148
150
|
files: UI_I_FileTreeNode[]
|
|
149
151
|
networksTable: UI_I_NetworkTableItem[]
|
|
150
152
|
datastore: UI_I_DatastoreTableItem[]
|
|
153
|
+
isDatastoreLoading: boolean
|
|
151
154
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
152
155
|
readyCompleteTableInfo: UI_I_TableInfoItem[]
|
|
153
156
|
vmCpuHelpTextSecond: string
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
25
25
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
26
26
|
:datastore="props.datastore"
|
|
27
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
27
28
|
:hard-disks="props.hardDisks"
|
|
28
29
|
:cd-dvd-drives="props.cdDvdDrives"
|
|
29
30
|
:networks="props.networks"
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
80
81
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
81
82
|
:datastore="props.datastore"
|
|
83
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
82
84
|
:hard-disks="props.hardDisks"
|
|
83
85
|
:cd-dvd-drives="props.cdDvdDrives"
|
|
84
86
|
:networks="props.networks"
|
|
@@ -169,6 +171,7 @@ const props = defineProps<{
|
|
|
169
171
|
vmCpuHelpTextSecond?: string
|
|
170
172
|
getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
|
|
171
173
|
datastore: UI_I_DatastoreTableItem[]
|
|
174
|
+
isDatastoreLoading: boolean
|
|
172
175
|
hardDisks?: UI_I_SendDataNewHardDisk[] | null
|
|
173
176
|
cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
|
|
174
177
|
networks?: UI_I_SendDataNewNetwork[] | null
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
:error-validation-fields="props.errorValidationFields"
|
|
48
48
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
49
49
|
:datastore="props.datastore"
|
|
50
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
50
51
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
51
52
|
:passthrough-devices="props.passthroughDevices"
|
|
52
53
|
:mediated-devices="props.mediatedDevices"
|
|
@@ -149,6 +150,7 @@ const props = defineProps<{
|
|
|
149
150
|
cpuModels: UI_I_OptionItem[]
|
|
150
151
|
maxMemory: number
|
|
151
152
|
datastore: UI_I_DatastoreTableItem[]
|
|
153
|
+
isDatastoreLoading: boolean
|
|
152
154
|
networksTable: UI_I_NetworkTableItem[]
|
|
153
155
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
154
156
|
networksForBootOptions: UI_I_SendDataNewNetwork[] | null
|
|
@@ -227,7 +229,10 @@ const themeMode = useLocalStorage('themeMode')
|
|
|
227
229
|
//flex: 0 0 280px;
|
|
228
230
|
max-width: 280px;
|
|
229
231
|
margin-right: 12px;
|
|
230
|
-
|
|
232
|
+
text-overflow: ellipsis;
|
|
233
|
+
white-space: nowrap;
|
|
234
|
+
overflow: hidden;
|
|
235
|
+
//line-height: 32px;
|
|
231
236
|
|
|
232
237
|
.ui-checkbox-label {
|
|
233
238
|
min-height: 32px;
|
|
@@ -246,7 +251,7 @@ const themeMode = useLocalStorage('themeMode')
|
|
|
246
251
|
</style>
|
|
247
252
|
<style lang="scss">
|
|
248
253
|
.light-theme {
|
|
249
|
-
.stack-block-label .ui-main-select-toggle:not(.error) {
|
|
254
|
+
.stack-block-label .ui-main-select-toggle:not(.error):not(:disabled) {
|
|
250
255
|
background-color: #ffffff;
|
|
251
256
|
}
|
|
252
257
|
.stack-block-expanded > .stack-block-label .ui-main-select-toggle {
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
:error-validation-fields="props.errorValidationFields"
|
|
34
34
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
35
35
|
:datastore="props.datastore"
|
|
36
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
36
37
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
37
38
|
:passthrough-devices="props.passthroughDevices"
|
|
38
39
|
:mediated-devices="props.mediatedDevices"
|
|
@@ -133,6 +134,7 @@ const props = defineProps<{
|
|
|
133
134
|
cpuModels: UI_I_OptionItem[]
|
|
134
135
|
maxMemory: number
|
|
135
136
|
datastore: UI_I_DatastoreTableItem[]
|
|
137
|
+
isDatastoreLoading: boolean
|
|
136
138
|
networksTable: UI_I_NetworkTableItem[]
|
|
137
139
|
errorValidationFields: UI_I_ErrorValidationField[]
|
|
138
140
|
networksForBootOptions: UI_I_SendDataNewNetwork[] | null
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
:max-memory="props.maxMemory"
|
|
14
14
|
:cpu-models="props.cpuModels"
|
|
15
15
|
:datastore="props.datastore"
|
|
16
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
16
17
|
:networks-type="networksType"
|
|
17
18
|
:networks-table="props.networksTable"
|
|
18
19
|
:dropdown-items="dropdownItems"
|
|
@@ -81,6 +82,7 @@
|
|
|
81
82
|
:max-memory="props.maxMemory"
|
|
82
83
|
:cpu-models="props.cpuModels"
|
|
83
84
|
:datastore="props.datastore"
|
|
85
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
84
86
|
:networks-type="networksType"
|
|
85
87
|
:networks-table="props.networksTable"
|
|
86
88
|
:dropdown-items="dropdownItems"
|
|
@@ -190,6 +192,7 @@ const props = defineProps<{
|
|
|
190
192
|
networksTable: UI_I_NetworkTableItem[]
|
|
191
193
|
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
192
194
|
datastore: UI_I_DatastoreTableItem[]
|
|
195
|
+
isDatastoreLoading: boolean
|
|
193
196
|
state?: string | number
|
|
194
197
|
cpu?: API_UI_I_VmEditCpu
|
|
195
198
|
memory?: API_UI_I_VmEditMemory
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
elem-id="add-device-dropdown"
|
|
25
25
|
test-id="add-device-dropdown"
|
|
26
26
|
left
|
|
27
|
-
max-height="
|
|
27
|
+
max-height="400px"
|
|
28
28
|
@select="onAddDevice"
|
|
29
29
|
@hide="isShowAddDeviceDropdown = false"
|
|
30
30
|
/>
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
:error-validation-fields="props.errorValidationFields"
|
|
66
66
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
67
67
|
:datastore="props.datastore"
|
|
68
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
68
69
|
:is-edit="props.isEdit"
|
|
69
70
|
:state="props.state"
|
|
70
71
|
:guest-machine-type="props.guestMachineType"
|
|
@@ -251,6 +252,7 @@ const props = defineProps<{
|
|
|
251
252
|
maxMemory: number
|
|
252
253
|
cpuModels: UI_I_OptionItem[]
|
|
253
254
|
datastore: UI_I_DatastoreTableItem[]
|
|
255
|
+
isDatastoreLoading: boolean
|
|
254
256
|
networksType: UI_T_NetworkType[]
|
|
255
257
|
networksTable: UI_I_NetworkTableItem[]
|
|
256
258
|
// dropdownItems: UI_I_DropdownTreeItem[]
|
|
@@ -442,11 +444,11 @@ const onAddDevice = (data: number): void => {
|
|
|
442
444
|
}
|
|
443
445
|
:deep(.ui-popup-window) {
|
|
444
446
|
overflow: hidden;
|
|
445
|
-
padding:
|
|
447
|
+
padding: 8px 0;
|
|
446
448
|
|
|
447
449
|
.ui-dropdown {
|
|
448
450
|
overflow: auto;
|
|
449
|
-
max-height: calc(300px - 24px);
|
|
451
|
+
//max-height: calc(300px - 24px);
|
|
450
452
|
|
|
451
453
|
.ui-dropdown-menu.md {
|
|
452
454
|
padding: 0 8px;
|
|
@@ -459,10 +461,10 @@ const onAddDevice = (data: number): void => {
|
|
|
459
461
|
&:not(:last-child) {
|
|
460
462
|
margin-bottom: 4px;
|
|
461
463
|
}
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
}
|
|
464
|
+
//&:last-child ul li:last-child {
|
|
465
|
+
//height: 26px;
|
|
466
|
+
//align-items: flex-end;
|
|
467
|
+
//}
|
|
466
468
|
}
|
|
467
469
|
}
|
|
468
470
|
}
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
:error-validation-fields="props.errorValidationFields"
|
|
44
44
|
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
45
45
|
:datastore="props.datastore"
|
|
46
|
+
:is-datastore-loading="props.isDatastoreLoading"
|
|
46
47
|
:is-edit="props.isEdit"
|
|
47
48
|
:state="props.state"
|
|
48
49
|
:guest-machine-type="props.guestMachineType"
|
|
@@ -232,6 +233,7 @@ const props = defineProps<{
|
|
|
232
233
|
maxMemory: number
|
|
233
234
|
cpuModels: UI_I_OptionItem[]
|
|
234
235
|
datastore: UI_I_DatastoreTableItem[]
|
|
236
|
+
isDatastoreLoading: boolean
|
|
235
237
|
networksType: UI_T_NetworkType[]
|
|
236
238
|
networksTable: UI_I_NetworkTableItem[]
|
|
237
239
|
dropdownItems: UI_I_DropdownTreeItem[]
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
:is-roll-back="props.type === 'removed'"
|
|
5
5
|
:removable="props.isRemovable"
|
|
6
6
|
:test-id="`cd-dvd-drive-stack-block-${props.index}`"
|
|
7
|
+
is-toggle-on-stack-view-key
|
|
7
8
|
@remove="emits('remove')"
|
|
8
9
|
@roll-back="emits('roll-back')"
|
|
9
10
|
>
|
|
@@ -173,6 +174,9 @@ const onChangeCdDvdDrive = (data: string): void => {
|
|
|
173
174
|
gap: 0;
|
|
174
175
|
}
|
|
175
176
|
|
|
177
|
+
#device-will-removed-text-main {
|
|
178
|
+
color: #9da6ad;
|
|
179
|
+
}
|
|
176
180
|
.device-will-removed-text {
|
|
177
181
|
font-size: 13px;
|
|
178
182
|
color: #9da6ad;
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="hardware-cpu">
|
|
3
|
-
<ui-stack-block
|
|
3
|
+
<ui-stack-block
|
|
4
|
+
:has-children="true"
|
|
5
|
+
test-id="cpu-stack-block"
|
|
6
|
+
is-toggle-on-stack-view-key
|
|
7
|
+
>
|
|
4
8
|
<template #stackBlockKey>
|
|
5
9
|
<div
|
|
6
10
|
id="vm-wizard-toggle-block-cpu"
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<ui-stack-block :has-children="false">
|
|
3
3
|
<template #stackBlockKey>
|
|
4
|
-
|
|
4
|
+
<span class="limit-title">
|
|
5
|
+
{{ localization.common.cpuModel }}
|
|
6
|
+
</span>
|
|
5
7
|
</template>
|
|
6
8
|
<template #stackBlockContent>
|
|
7
9
|
<div class="cpu-model-content">
|
|
@@ -41,7 +43,7 @@
|
|
|
41
43
|
</common-tooltip-help>
|
|
42
44
|
|
|
43
45
|
</div>
|
|
44
|
-
<div class="flex-align-center">
|
|
46
|
+
<div class="host-model-cpu-wrap flex-align-center">
|
|
45
47
|
<ui-checkbox
|
|
46
48
|
v-model="hostModelCpu"
|
|
47
49
|
:disabled="props.disabled"
|
|
@@ -104,6 +106,9 @@ const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
|
|
|
104
106
|
|
|
105
107
|
|
|
106
108
|
<style scoped lang="scss">
|
|
109
|
+
.limit-title {
|
|
110
|
+
margin-right: 12px;
|
|
111
|
+
}
|
|
107
112
|
.cpu-model-content {
|
|
108
113
|
display: flex;
|
|
109
114
|
flex-direction: column;
|
|
@@ -113,6 +118,10 @@ const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
|
|
|
113
118
|
:deep(.ui-main-select-toggle) {
|
|
114
119
|
width: 100%;
|
|
115
120
|
}
|
|
121
|
+
.passthrough-host-cpu-wrap :deep(.ui-checkbox-label),
|
|
122
|
+
.host-model-cpu-wrap :deep(.ui-checkbox-label) {
|
|
123
|
+
min-height: unset !important;
|
|
124
|
+
}
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
</style>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<ui-stack-block :has-children="false">
|
|
3
3
|
<template #stackBlockKey>
|
|
4
|
-
|
|
4
|
+
<span class="limit-title">
|
|
5
|
+
{{ localization.common.shares }}
|
|
6
|
+
</span>
|
|
5
7
|
</template>
|
|
6
8
|
<template #stackBlockContent>
|
|
7
9
|
<div class="shares-content flex-align-center">
|
|
@@ -54,6 +56,9 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
|
54
56
|
</script>
|
|
55
57
|
|
|
56
58
|
<style scoped>
|
|
59
|
+
.limit-title {
|
|
60
|
+
margin-right: 12px;
|
|
61
|
+
}
|
|
57
62
|
.shares-content {
|
|
58
63
|
gap: 8px;
|
|
59
64
|
}
|