bfg-common 1.3.349 → 1.3.351

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.
Files changed (48) hide show
  1. package/assets/localization/local_ru.json +4 -4
  2. package/components/atoms/switch/Switch.vue +111 -111
  3. package/components/atoms/table/compact/Compact.vue +526 -526
  4. package/components/common/adapterManager/ui/table/Header.vue +93 -93
  5. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  6. package/components/common/context/Context.vue +99 -99
  7. package/components/common/lib/config/states.ts +126 -126
  8. package/components/common/resource/progressBlock/ProgressBlock.vue +142 -142
  9. package/components/common/vm/actions/add/Add.vue +602 -602
  10. package/components/common/vm/actions/clone/Clone.vue +518 -518
  11. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +273 -273
  12. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +697 -697
  13. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +299 -299
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +165 -165
  15. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +164 -164
  16. package/components/common/vm/actions/common/select/name/Name.vue +235 -235
  17. package/components/common/vm/actions/common/select/storage/Storage.vue +198 -198
  18. package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
  19. package/components/common/weekSelect/lib/config/options.ts +10 -10
  20. package/components/common/wizards/datastore/add/Add.vue +436 -434
  21. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +191 -191
  22. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +38 -38
  23. package/components/common/wizards/datastore/add/lib/utils.ts +70 -70
  24. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  25. package/components/common/wizards/datastore/add/nfs/Nfs.vue +112 -112
  26. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +104 -104
  27. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -62
  28. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -53
  29. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +86 -86
  30. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +184 -184
  31. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +2 -0
  32. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +459 -452
  33. package/components/common/wizards/datastore/add/types/Types.vue +80 -80
  34. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +49 -49
  35. package/composables/useAppVersion.ts +21 -21
  36. package/composables/useEnvLanguage.ts +20 -20
  37. package/lib/utils/sendTask.ts +72 -72
  38. package/minify.js +146 -146
  39. package/package.json +1 -1
  40. package/public/spice-console/application/codec.js +257 -257
  41. package/public/spice-console/lib/rasterEngine.js +907 -907
  42. package/public/spice-console/network/spicechannel.js +369 -369
  43. package/store/main/lib/interfaces.ts +9 -9
  44. package/store/tasks/actions.ts +133 -133
  45. package/store/tasks/getters.ts +25 -25
  46. package/store/tasks/lib/models/interfaces.ts +18 -18
  47. package/store/tasks/mutations.ts +58 -58
  48. package/store/tasks/state.ts +16 -16
@@ -1,313 +1,313 @@
1
- <template>
2
- <div class="edit-vm">
3
- <atoms-modal
4
- test-id="edit-vm-wizard"
5
- :show="true"
6
- :title="localization.editSettings"
7
- :second-title="vmNameCash"
8
- :disabled-submit="loading"
9
- @submit="onUpdate"
10
- @hide="onHideModal"
11
- >
12
- <template #modalBody>
13
- <atoms-loader v-show="!vmSettings || loading" id="loader" />
14
- <div v-if="vmSettings" class="vm-context">
15
- <common-vm-actions-common-customize-hardware
16
- v-model:vm-name="vmName"
17
- v-model:guest-machine-type="vmSettings.guestMachineType"
18
- v-model:guest-os-family="vmSettings.guestOsFamily"
19
- v-model:guest-os-version="vmSettings.guestOsVersion"
20
- :storage="vmSettings.storage"
21
- :hard-disks-for-boot-options="virtualHardwareHardDisksLocal"
22
- :cd-dvd-drives-for-boot-options="virtualHardwareCdDvdDrivesLocal"
23
- :networks-for-boot-options="virtualHardwareNetworksLocal"
24
- :cd-dvd-drives="vmSettings.cdDvdDrives"
25
- :hard-disks="vmSettings.hardDisks"
26
- :networks="vmSettings.networks"
27
- :customize-hardware-submit="0"
28
- :max-cpus="vmSettings.maxCpus"
29
- :max-memory="vmSettings.maxMemory"
30
- :cpu-models="vmSettings.cpuModels"
31
- :cpu="vmSettings.cpu"
32
- :memory="vmSettings.memory"
33
- :video-card="vmSettings.videoCard"
34
- :usb-controller="vmSettings.usbController"
35
- :pci-devices="vmSettings.pciDevices"
36
- :selected-nav-item="selectedNavItem"
37
- :hard-disks-for-edit="vmSettings.hardDisks"
38
- :options="vmSettings.options"
39
- :nodes="props.nodes"
40
- :files="props.files"
41
- :networks-table="props.networksTable"
42
- :error-validation-fields="props.errorValidationFields"
43
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
44
- :passthrough-devices="props.passthroughDevices"
45
- :state="props.state"
46
- :get-datastore-table-func="props.getDatastoreTableFunc"
47
- :datastore="props.datastore"
48
- is-edit
49
- @get-storage="emits('get-storage', $event)"
50
- @get-folders-or-files="emits('get-folders-or-files', $event)"
51
- @get-active-device-child="emits('get-active-device-child', $event)"
52
- @show-datastore-child="emits('show-datastore-child', $event)"
53
- @get-networks-table="emits('get-networks-table', $event)"
54
- @get-pci-devices="emits('get-pci-devices')"
55
- @change-boot-order="onChangeBootOrder"
56
- @send-data="onChangeCustomizeHardware"
57
- />
58
- </div>
59
- </template>
60
- </atoms-modal>
61
- </div>
62
- </template>
63
-
64
- <script setup lang="ts">
65
- import { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
66
- import { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
67
- import {
68
- UI_I_EditVmPayload,
69
- UI_I_PciDevice,
70
- } from '~/lib/models/store/vm/interfaces'
71
- import { UI_I_Localization } from '~/lib/models/interfaces'
72
- import { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
73
- import {
74
- UI_I_SendDataCpu,
75
- UI_I_SendDataMemory,
76
- UI_I_SendDataNewCdDvdDrive,
77
- UI_I_SendDataNewHardDisk,
78
- UI_I_SendDataNewNetwork,
79
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
80
- import { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
81
- import { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
82
- import { UI_I_TablePayload } from '~/lib/models/table/interfaces'
83
- import { UI_I_VmSettings } from '~/lib/models/store/vm/interfaces'
84
- import {
85
- UI_I_DatastoreTableItem,
86
- UI_I_FolderOrFileTreePayload,
87
- } from '~/lib/models/store/storage/interfaces'
88
- import { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
89
- import { UI_T_EditVmFinishFunc } from '~/components/common/vm/actions/editSettings/lib/models/types'
90
-
91
- const props = defineProps<{
92
- loading: boolean
93
- vmSettings: UI_I_VmSettings | null
94
- nodes: UI_I_FileTreeNode[]
95
- files: UI_I_FileTreeNode[]
96
- networksTable: UI_I_NetworkTableItem[]
97
- errorValidationFields: UI_I_ErrorValidationField<string>[]
98
- vmCpuHelpTextSecond: string
99
- vmId: string
100
- datastore: UI_I_DatastoreTableItem[]
101
- validateSendDataFunc: UI_T_EditVmFinishFunc
102
- getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
103
- state?: string | number
104
- passthroughDevices?: UI_I_PciDevice[]
105
- }>()
106
-
107
- const emits = defineEmits<{
108
- (event: 'hide'): void
109
- (event: 'update-vm', value: UI_I_EditVmPayload): void
110
- (event: 'get-storage', value: UI_I_TablePayload): void
111
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
112
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
113
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
114
- (event: 'get-networks-table', value: UI_I_TablePayload): void
115
- (event: 'get-pci-devices'): void
116
- }>()
117
-
118
- const localization = computed<UI_I_Localization>(() => useLocal())
119
-
120
- const selectedNavItem = ref<UI_T_SelectedNavItem>(0)
121
-
122
- const loading = ref<boolean>(false)
123
- watch(
124
- () => props.loading,
125
- (value) => {
126
- loading.value = value
127
- },
128
- { immediate: true }
129
- )
130
-
131
- const vmSettings = computed<UI_I_VmSettings | null>(() => props.vmSettings)
132
-
133
- const vmName = ref<string>(vmSettings.value?.name || '')
134
- const vmNameCash = ref<string>(vmSettings.value?.name || '')
135
- watch(vmSettings, (newValue) => {
136
- vmName.value = newValue?.name || ''
137
- vmNameCash.value = newValue?.name || ''
138
- })
139
-
140
- const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
141
- const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
142
- null
143
- )
144
- const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
145
- const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
146
- virtualHardwareHardDisks.value = data[0]
147
- virtualHardwareCdDvdDrives.value = data[1]
148
- virtualHardwareNetworks.value = data[2]
149
- }
150
-
151
- const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
152
- const onChangeCustomizeHardware = (
153
- data: UI_I_SendDataCustomizeHardware
154
- ): void => {
155
- customizeHardware.value = data
156
- }
157
- const onHideModal = (): void => {
158
- emits('hide')
159
- }
160
- const onUpdate = (): void => {
161
- validateSendData()
162
- }
163
-
164
- const virtualHardwareHardDisksLocal = computed<
165
- UI_I_SendDataNewHardDisk[] | null
166
- >(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
167
- const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
168
- () => customizeHardware.value?.virtualHardware?.networks || null
169
- )
170
- const virtualHardwareCdDvdDrivesLocal = computed<
171
- UI_I_SendDataNewCdDvdDrive[] | null
172
- >(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
173
-
174
- const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
175
- () => customizeHardware.value?.virtualHardware?.cpu || null
176
- )
177
- const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
178
- () => customizeHardware.value?.virtualHardware?.memory || null
179
- )
180
-
181
- const validateSendData = async (): Promise<void> => {
182
- loading.value = true
183
- props
184
- .validateSendDataFunc(
185
- vmSettings.value,
186
- virtualHardwareCpu.value,
187
- virtualHardwareMemory.value,
188
- customizeHardware.value,
189
- virtualHardwareNetworks.value,
190
- virtualHardwareHardDisks.value,
191
- virtualHardwareCdDvdDrives.value,
192
- vmName.value,
193
- localization.value,
194
- props.vmId
195
- )
196
- .then((data) => {
197
- loading.value = false
198
-
199
- !data && onHideModal()
200
- })
201
- }
202
- </script>
203
-
204
- <style scoped lang="scss">
205
- .vm-context {
206
- padding: 16px 15px 10px 10px;
207
- height: 100%;
208
- display: flex;
209
- flex-direction: column;
210
-
211
- .context-title-wrap {
212
- padding-bottom: 3px;
213
- border-bottom: 1px solid #a6a6a6;
214
-
215
- h4 {
216
- font-weight: 700;
217
- font-size: 13px;
218
- color: var(--vm-context-title);
219
- }
220
- p {
221
- font-weight: 400;
222
- font-size: 13px;
223
- color: var(--vm-context-sub-title);
224
- }
225
- }
226
-
227
- .finish-block {
228
- padding: 18px 24px 24px 24px;
229
-
230
- .add-hosts-ready-to-complete-mt-12 {
231
- margin-top: 12px;
232
-
233
- .add-hosts-ready-to-complete-bold {
234
- line-height: 18px;
235
- font-weight: 700;
236
- }
237
- }
238
- }
239
-
240
- .vm-hardware-version {
241
- align-self: flex-end;
242
- margin-top: auto;
243
- }
244
- }
245
-
246
- :deep(.modal-dialog) {
247
- width: 840px;
248
- }
249
- :deep(.modal .modal-dialog .modal-content .modal-footer) {
250
- flex: unset;
251
- height: unset;
252
- min-height: unset;
253
- }
254
- :deep(.wizard-modal-titlebar h3) {
255
- color: #000;
256
- font-size: 24px;
257
- font-weight: 200;
258
- line-height: 27px;
259
- margin: 0;
260
- padding: 0;
261
- }
262
- :deep(.clr-wizard-stepnav-item) {
263
- padding-left: 0;
264
- }
265
- :deep(.clr-wizard-stepnav
266
- .clr-wizard-stepnav-item
267
- button
268
- .clr-wizard-stepnav-link-title) {
269
- width: 189px;
270
- font-weight: 700;
271
- font-size: 13px;
272
- }
273
-
274
- #vm-wizard-notification {
275
- h3 {
276
- color: var(--global-font-color7);
277
- margin-top: 6px;
278
- }
279
- p {
280
- color: var(--global-font-color6);
281
- line-height: 16px;
282
- }
283
- }
284
-
285
- .power-on-by-default-wrap {
286
- display: flex;
287
- align-items: center;
288
-
289
- input {
290
- margin-right: 6px;
291
- }
292
- }
293
-
294
- .loading {
295
- :deep(.spinner) {
296
- width: 45px;
297
- height: 45px;
298
- min-width: 45px;
299
- min-height: 45px;
300
- }
301
- }
302
- </style>
303
-
304
- <style>
305
- :root {
306
- --vm-context-title: #333;
307
- --vm-context-sub-title: #000;
308
- }
309
- :root.dark-theme {
310
- --vm-context-title: #adbbc4;
311
- --vm-context-sub-title: #adbbc4;
312
- }
313
- </style>
1
+ <template>
2
+ <div class="edit-vm">
3
+ <atoms-modal
4
+ test-id="edit-vm-wizard"
5
+ :show="true"
6
+ :title="localization.editSettings"
7
+ :second-title="vmNameCash"
8
+ :disabled-submit="loading"
9
+ @submit="onUpdate"
10
+ @hide="onHideModal"
11
+ >
12
+ <template #modalBody>
13
+ <atoms-loader v-show="!vmSettings || loading" id="loader" />
14
+ <div v-if="vmSettings" class="vm-context">
15
+ <common-vm-actions-common-customize-hardware
16
+ v-model:vm-name="vmName"
17
+ v-model:guest-machine-type="vmSettings.guestMachineType"
18
+ v-model:guest-os-family="vmSettings.guestOsFamily"
19
+ v-model:guest-os-version="vmSettings.guestOsVersion"
20
+ :storage="vmSettings.storage"
21
+ :hard-disks-for-boot-options="virtualHardwareHardDisksLocal"
22
+ :cd-dvd-drives-for-boot-options="virtualHardwareCdDvdDrivesLocal"
23
+ :networks-for-boot-options="virtualHardwareNetworksLocal"
24
+ :cd-dvd-drives="vmSettings.cdDvdDrives"
25
+ :hard-disks="vmSettings.hardDisks"
26
+ :networks="vmSettings.networks"
27
+ :customize-hardware-submit="0"
28
+ :max-cpus="vmSettings.maxCpus"
29
+ :max-memory="vmSettings.maxMemory"
30
+ :cpu-models="vmSettings.cpuModels"
31
+ :cpu="vmSettings.cpu"
32
+ :memory="vmSettings.memory"
33
+ :video-card="vmSettings.videoCard"
34
+ :usb-controller="vmSettings.usbController"
35
+ :pci-devices="vmSettings.pciDevices"
36
+ :selected-nav-item="selectedNavItem"
37
+ :hard-disks-for-edit="vmSettings.hardDisks"
38
+ :options="vmSettings.options"
39
+ :nodes="props.nodes"
40
+ :files="props.files"
41
+ :networks-table="props.networksTable"
42
+ :error-validation-fields="props.errorValidationFields"
43
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
44
+ :passthrough-devices="props.passthroughDevices"
45
+ :state="props.state"
46
+ :get-datastore-table-func="props.getDatastoreTableFunc"
47
+ :datastore="props.datastore"
48
+ is-edit
49
+ @get-storage="emits('get-storage', $event)"
50
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
51
+ @get-active-device-child="emits('get-active-device-child', $event)"
52
+ @show-datastore-child="emits('show-datastore-child', $event)"
53
+ @get-networks-table="emits('get-networks-table', $event)"
54
+ @get-pci-devices="emits('get-pci-devices')"
55
+ @change-boot-order="onChangeBootOrder"
56
+ @send-data="onChangeCustomizeHardware"
57
+ />
58
+ </div>
59
+ </template>
60
+ </atoms-modal>
61
+ </div>
62
+ </template>
63
+
64
+ <script setup lang="ts">
65
+ import { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
66
+ import { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
67
+ import {
68
+ UI_I_EditVmPayload,
69
+ UI_I_PciDevice,
70
+ } from '~/lib/models/store/vm/interfaces'
71
+ import { UI_I_Localization } from '~/lib/models/interfaces'
72
+ import { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
73
+ import {
74
+ UI_I_SendDataCpu,
75
+ UI_I_SendDataMemory,
76
+ UI_I_SendDataNewCdDvdDrive,
77
+ UI_I_SendDataNewHardDisk,
78
+ UI_I_SendDataNewNetwork,
79
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
80
+ import { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
81
+ import { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
82
+ import { UI_I_TablePayload } from '~/lib/models/table/interfaces'
83
+ import { UI_I_VmSettings } from '~/lib/models/store/vm/interfaces'
84
+ import {
85
+ UI_I_DatastoreTableItem,
86
+ UI_I_FolderOrFileTreePayload,
87
+ } from '~/lib/models/store/storage/interfaces'
88
+ import { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
89
+ import { UI_T_EditVmFinishFunc } from '~/components/common/vm/actions/editSettings/lib/models/types'
90
+
91
+ const props = defineProps<{
92
+ loading: boolean
93
+ vmSettings: UI_I_VmSettings | null
94
+ nodes: UI_I_FileTreeNode[]
95
+ files: UI_I_FileTreeNode[]
96
+ networksTable: UI_I_NetworkTableItem[]
97
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
98
+ vmCpuHelpTextSecond: string
99
+ vmId: string
100
+ datastore: UI_I_DatastoreTableItem[]
101
+ validateSendDataFunc: UI_T_EditVmFinishFunc
102
+ getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
103
+ state?: string | number
104
+ passthroughDevices?: UI_I_PciDevice[]
105
+ }>()
106
+
107
+ const emits = defineEmits<{
108
+ (event: 'hide'): void
109
+ (event: 'update-vm', value: UI_I_EditVmPayload): void
110
+ (event: 'get-storage', value: UI_I_TablePayload): void
111
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
112
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
113
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
114
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
115
+ (event: 'get-pci-devices'): void
116
+ }>()
117
+
118
+ const localization = computed<UI_I_Localization>(() => useLocal())
119
+
120
+ const selectedNavItem = ref<UI_T_SelectedNavItem>(0)
121
+
122
+ const loading = ref<boolean>(false)
123
+ watch(
124
+ () => props.loading,
125
+ (value) => {
126
+ loading.value = value
127
+ },
128
+ { immediate: true }
129
+ )
130
+
131
+ const vmSettings = computed<UI_I_VmSettings | null>(() => props.vmSettings)
132
+
133
+ const vmName = ref<string>(vmSettings.value?.name || '')
134
+ const vmNameCash = ref<string>(vmSettings.value?.name || '')
135
+ watch(vmSettings, (newValue) => {
136
+ vmName.value = newValue?.name || ''
137
+ vmNameCash.value = newValue?.name || ''
138
+ })
139
+
140
+ const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
141
+ const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
142
+ null
143
+ )
144
+ const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
145
+ const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
146
+ virtualHardwareHardDisks.value = data[0]
147
+ virtualHardwareCdDvdDrives.value = data[1]
148
+ virtualHardwareNetworks.value = data[2]
149
+ }
150
+
151
+ const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
152
+ const onChangeCustomizeHardware = (
153
+ data: UI_I_SendDataCustomizeHardware
154
+ ): void => {
155
+ customizeHardware.value = data
156
+ }
157
+ const onHideModal = (): void => {
158
+ emits('hide')
159
+ }
160
+ const onUpdate = (): void => {
161
+ validateSendData()
162
+ }
163
+
164
+ const virtualHardwareHardDisksLocal = computed<
165
+ UI_I_SendDataNewHardDisk[] | null
166
+ >(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
167
+ const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
168
+ () => customizeHardware.value?.virtualHardware?.networks || null
169
+ )
170
+ const virtualHardwareCdDvdDrivesLocal = computed<
171
+ UI_I_SendDataNewCdDvdDrive[] | null
172
+ >(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
173
+
174
+ const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
175
+ () => customizeHardware.value?.virtualHardware?.cpu || null
176
+ )
177
+ const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
178
+ () => customizeHardware.value?.virtualHardware?.memory || null
179
+ )
180
+
181
+ const validateSendData = async (): Promise<void> => {
182
+ loading.value = true
183
+ props
184
+ .validateSendDataFunc(
185
+ vmSettings.value,
186
+ virtualHardwareCpu.value,
187
+ virtualHardwareMemory.value,
188
+ customizeHardware.value,
189
+ virtualHardwareNetworks.value,
190
+ virtualHardwareHardDisks.value,
191
+ virtualHardwareCdDvdDrives.value,
192
+ vmName.value,
193
+ localization.value,
194
+ props.vmId
195
+ )
196
+ .then((data) => {
197
+ loading.value = false
198
+
199
+ !data && onHideModal()
200
+ })
201
+ }
202
+ </script>
203
+
204
+ <style scoped lang="scss">
205
+ .vm-context {
206
+ padding: 16px 15px 10px 10px;
207
+ height: 100%;
208
+ display: flex;
209
+ flex-direction: column;
210
+
211
+ .context-title-wrap {
212
+ padding-bottom: 3px;
213
+ border-bottom: 1px solid #a6a6a6;
214
+
215
+ h4 {
216
+ font-weight: 700;
217
+ font-size: 13px;
218
+ color: var(--vm-context-title);
219
+ }
220
+ p {
221
+ font-weight: 400;
222
+ font-size: 13px;
223
+ color: var(--vm-context-sub-title);
224
+ }
225
+ }
226
+
227
+ .finish-block {
228
+ padding: 18px 24px 24px 24px;
229
+
230
+ .add-hosts-ready-to-complete-mt-12 {
231
+ margin-top: 12px;
232
+
233
+ .add-hosts-ready-to-complete-bold {
234
+ line-height: 18px;
235
+ font-weight: 700;
236
+ }
237
+ }
238
+ }
239
+
240
+ .vm-hardware-version {
241
+ align-self: flex-end;
242
+ margin-top: auto;
243
+ }
244
+ }
245
+
246
+ :deep(.modal-dialog) {
247
+ width: 840px;
248
+ }
249
+ :deep(.modal .modal-dialog .modal-content .modal-footer) {
250
+ flex: unset;
251
+ height: unset;
252
+ min-height: unset;
253
+ }
254
+ :deep(.wizard-modal-titlebar h3) {
255
+ color: #000;
256
+ font-size: 24px;
257
+ font-weight: 200;
258
+ line-height: 27px;
259
+ margin: 0;
260
+ padding: 0;
261
+ }
262
+ :deep(.clr-wizard-stepnav-item) {
263
+ padding-left: 0;
264
+ }
265
+ :deep(.clr-wizard-stepnav
266
+ .clr-wizard-stepnav-item
267
+ button
268
+ .clr-wizard-stepnav-link-title) {
269
+ width: 189px;
270
+ font-weight: 700;
271
+ font-size: 13px;
272
+ }
273
+
274
+ #vm-wizard-notification {
275
+ h3 {
276
+ color: var(--global-font-color7);
277
+ margin-top: 6px;
278
+ }
279
+ p {
280
+ color: var(--global-font-color6);
281
+ line-height: 16px;
282
+ }
283
+ }
284
+
285
+ .power-on-by-default-wrap {
286
+ display: flex;
287
+ align-items: center;
288
+
289
+ input {
290
+ margin-right: 6px;
291
+ }
292
+ }
293
+
294
+ .loading {
295
+ :deep(.spinner) {
296
+ width: 45px;
297
+ height: 45px;
298
+ min-width: 45px;
299
+ min-height: 45px;
300
+ }
301
+ }
302
+ </style>
303
+
304
+ <style>
305
+ :root {
306
+ --vm-context-title: #333;
307
+ --vm-context-sub-title: #000;
308
+ }
309
+ :root.dark-theme {
310
+ --vm-context-title: #adbbc4;
311
+ --vm-context-sub-title: #adbbc4;
312
+ }
313
+ </style>
@@ -1,10 +1,10 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
3
-
4
- export const optionsFunc = (
5
- localization: UI_I_Localization
6
- ): UI_I_SelectInputItem[] => [
7
- { label: localization.daily, value: 0 },
8
- { label: localization.weekly, value: 1 },
9
- { label: localization.custom, value: 2 },
10
- ]
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
3
+
4
+ export const optionsFunc = (
5
+ localization: UI_I_Localization
6
+ ): UI_I_SelectInputItem[] => [
7
+ { label: localization.daily, value: 0 },
8
+ { label: localization.weekly, value: 1 },
9
+ { label: localization.custom, value: 2 },
10
+ ]