bfg-common 1.5.555 → 1.5.557

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 (64) hide show
  1. package/assets/localization/local_be.json +20 -4
  2. package/assets/localization/local_en.json +20 -4
  3. package/assets/localization/local_hy.json +20 -4
  4. package/assets/localization/local_kk.json +20 -4
  5. package/assets/localization/local_ru.json +20 -4
  6. package/assets/localization/local_zh.json +21 -5
  7. package/components/common/modals/confirmByInput/ConfirmByInput.vue +9 -1
  8. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +7 -2
  9. package/components/common/pages/backups/modals/createBackup/New.vue +8 -2
  10. package/components/common/pages/backups/modals/restore/Restore.vue +9 -5
  11. package/components/common/pages/backups/modals/restore/RestoreNew.vue +13 -3
  12. package/components/common/pages/backups/modals/restore/RestoreOld.vue +6 -18
  13. package/components/common/vm/actions/add/Add.vue +119 -46
  14. package/components/common/vm/actions/add/New.vue +54 -16
  15. package/components/common/vm/actions/add/Old.vue +55 -16
  16. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +78 -13
  17. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +52 -7
  18. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +52 -8
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +96 -62
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +24 -13
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +25 -14
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  33. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
  34. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +62 -8
  35. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +60 -8
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
  41. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
  42. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
  43. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
  44. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
  45. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
  46. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
  50. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
  51. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +38 -4
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +26 -7
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +50 -24
  55. package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -57
  56. package/components/common/vm/actions/editSettings/EditSettings.vue +33 -10
  57. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +30 -2
  58. package/components/common/vm/actions/editSettings/new/New.vue +30 -2
  59. package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
  60. package/components/common/vm/actions/lib/utils.ts +32 -37
  61. package/package.json +3 -1
  62. package/store/tasks/mappers/recentTasks.ts +4 -0
  63. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
  64. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{Old.vue → PasswordOld.vue} +0 -0
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="">
3
3
  <atoms-stack-block
4
- :has-children="false"
5
- test-id="remote-console-keymap-stack-block"
4
+ :has-children="false"
5
+ test-id="remote-console-keymap-stack-block"
6
6
  >
7
7
  <template #stackBlockKey>
8
8
  {{ localization.common.keymap }}
@@ -11,9 +11,9 @@
11
11
  <div class="select">
12
12
  <select
13
13
  id="keymap-select"
14
- v-model="model"
14
+ v-model="keymap"
15
15
  :disabled="props.disabled"
16
- :data-value="model"
16
+ :data-value="keymap"
17
17
  data-id="keymap-select"
18
18
  >
19
19
  <option
@@ -34,7 +34,7 @@
34
34
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
35
35
  import type { UI_I_Localization } from '~/lib/models/interfaces'
36
36
 
37
- const model = defineModel<string>({ required: true })
37
+ const keymap = defineModel<string>('keymap', { required: true })
38
38
 
39
39
  const props = defineProps<{
40
40
  disabled: boolean
@@ -26,7 +26,7 @@ import type { UI_I_DefaultForm } from '~/components/common/vm/actions/common/cus
26
26
  import type { UI_I_Localization } from '~/lib/models/interfaces'
27
27
  import { generatePassword } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils'
28
28
 
29
- const model = defineModel<string>({ required: true })
29
+ const password = defineModel<string>('password', { required: true })
30
30
 
31
31
  const props = defineProps<{
32
32
  disabled: boolean
@@ -43,7 +43,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
43
43
  const validation = $validation.call({})
44
44
  const defaultForm: UI_I_DefaultForm = {
45
45
  password: {
46
- value: model.value,
46
+ value: password.value,
47
47
  validations: [
48
48
  {
49
49
  value: 'password',
@@ -61,6 +61,7 @@ setForm()
61
61
 
62
62
  const showValidationErrors = (): void => {
63
63
  const valid = validation.touch()
64
+ console.log(valid, 111)
64
65
  passwordErrorText.value = !valid.isValid ? valid.errors.password[0] : ''
65
66
  emits('valid', valid.isValid)
66
67
  }
@@ -76,24 +77,24 @@ const setPasswordDisable = (): void => {
76
77
 
77
78
  removeValidationErrors()
78
79
  setForm()
79
- model.value = ''
80
+ password.value = ''
80
81
  }
81
82
 
82
83
  const passwordErrorText = ref<string>('')
83
84
 
84
85
  const changePassword = (value: string): void => {
85
- model.value = value
86
+ password.value = value
86
87
 
87
88
  showValidationErrors()
88
89
  }
89
90
 
90
- const isEnabledPassword = ref<boolean>(!!model.value)
91
+ const isEnabledPassword = ref<boolean>(!!password.value)
91
92
 
92
93
  const onGeneratePassword = (): void => {
93
94
  const generatedPassword = generatePassword()
94
95
 
95
96
  form.value.password.value = generatedPassword
96
- model.value = generatedPassword
97
+ password.value = generatedPassword
97
98
 
98
99
  showValidationErrors()
99
100
  }
@@ -1,18 +1,52 @@
1
1
  <template>
2
2
  <common-vm-actions-common-customize-hardware-vmoptions-tools-new
3
3
  v-if="isNewView"
4
- v-model:tools="model.enabled"
4
+ v-model:balloon="balloonLocal"
5
+ :disabled="isDisabled"
5
6
  />
6
7
  <common-vm-actions-common-customize-hardware-vmoptions-tools-old
7
8
  v-else
8
- v-model:tools="model.enabled"
9
+ v-model:balloon="balloonLocal"
10
+ :disabled="isDisabled"
9
11
  />
10
12
  </template>
11
13
 
12
14
  <script setup lang="ts">
13
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
15
+ import type { UI_I_SendDataTools } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
14
16
 
15
- const model = defineModel<UI_I_CreateVmData['options']['guest_tools']>({ required: true })
17
+ const props = withDefaults(
18
+ defineProps<{
19
+ tools: boolean
20
+ balloon: boolean
21
+ isEdit: boolean
22
+ state?: string | number
23
+ }>(),
24
+ {
25
+ tools: true,
26
+ balloon: false,
27
+ state: undefined,
28
+ }
29
+ )
30
+ const emits = defineEmits<{
31
+ (event: 'send-data', value: UI_I_SendDataTools): void
32
+ }>()
33
+
34
+ const toolsLocal = ref<boolean>(props.tools)
35
+ const balloonLocal = ref<boolean>(props.balloon)
36
+
37
+ const isDisabled = computed<boolean>(() => props.isEdit && props.state !== 1)
38
+
39
+ watch(
40
+ balloonLocal,
41
+ () => {
42
+ emits('send-data', {
43
+ enabled: toolsLocal.value,
44
+ synchronized_time: toolsLocal.value,
45
+ balloon: balloonLocal.value,
46
+ })
47
+ },
48
+ { immediate: true }
49
+ )
16
50
 
17
51
  const { $store }: any = useNuxtApp()
18
52
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
@@ -1,7 +1,5 @@
1
1
  <template>
2
- <!-- TODO 700-->
3
2
  <ui-stack-block
4
- v-show="false"
5
3
  test-id="tools-stack-block"
6
4
  has-children
7
5
  is-toggle-on-stack-view-key
@@ -16,16 +14,32 @@
16
14
  </div>
17
15
  </template>
18
16
  <template #stackChildren>
17
+ <!-- TODO 700-->
18
+ <!-- <ui-stack-block :has-children="false">-->
19
+ <!-- <template #stackBlockKey>-->
20
+ <!-- <span class="mt-2">{{ localization.common.toolsEnable }}</span>-->
21
+ <!-- </template>-->
22
+ <!-- <template #stackBlockContent>-->
23
+ <!-- <ui-checkbox-->
24
+ <!-- id="tools-2"-->
25
+ <!-- v-model="tools"-->
26
+ <!-- :label-text="localization.common.enable"-->
27
+ <!-- test-id="tools-2-checkbox"-->
28
+ <!-- size="md"-->
29
+ <!-- />-->
30
+ <!-- </template>-->
31
+ <!-- </ui-stack-block>-->
19
32
  <ui-stack-block :has-children="false">
20
33
  <template #stackBlockKey>
21
- <span class="mt-2">{{ localization.common.toolsEnable }}</span>
34
+ <span class="mt-2">{{ localization.common.balloon }}</span>
22
35
  </template>
23
36
  <template #stackBlockContent>
24
37
  <ui-checkbox
25
- id="tools-2"
26
- v-model="tools"
38
+ id="balloon"
39
+ v-model="balloon"
27
40
  :label-text="localization.common.enable"
28
- test-id="tools-2-checkbox"
41
+ :disabled="props.disabled"
42
+ test-id="balloon-checkbox"
29
43
  size="md"
30
44
  />
31
45
  </template>
@@ -37,7 +51,12 @@
37
51
  <script setup lang="ts">
38
52
  import type { UI_I_Localization } from '~/lib/models/interfaces'
39
53
 
40
- const tools = defineModel<boolean>('tools', { required: true })
54
+ // const tools = defineModel<boolean>('tools', { required: true })
55
+ const balloon = defineModel<boolean>('balloon', { required: true })
56
+
57
+ const props = defineProps<{
58
+ disabled: boolean
59
+ }>()
41
60
 
42
61
  const localization = computed<UI_I_Localization>(() => useLocal())
43
62
  </script>
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <!-- TODO 700-->
3
- <div v-show="false" class="hardware-tools">
2
+ <div class="hardware-tools">
4
3
  <atoms-stack-block test-id="tools-stack-block" has-children>
5
4
  <template #stackBlockKey>
6
5
  <div
@@ -12,31 +11,52 @@
12
11
  </div>
13
12
  </template>
14
13
  <template #stackChildren>
14
+ <!-- TODO 700-->
15
+ <!-- <atoms-stack-block-->
16
+ <!-- :has-children="false"-->
17
+ <!-- test-id="tools-stack-block-children"-->
18
+ <!-- >-->
19
+ <!-- <template #stackBlockKey>-->
20
+ <!-- {{ localization.common.toolsEnable }}-->
21
+ <!-- </template>-->
22
+ <!-- <template #stackBlockContent>-->
23
+ <!-- <div-->
24
+ <!-- :title="localization.common.inDevelopment"-->
25
+ <!-- class="cursor-not-allowed"-->
26
+ <!-- >-->
27
+ <!-- <input-->
28
+ <!-- id="tools-2"-->
29
+ <!-- v-model="tools"-->
30
+ <!-- disabled-->
31
+ <!-- data-id="tools-2-checkbox"-->
32
+ <!-- type="checkbox"-->
33
+ <!-- />-->
34
+ <!-- <label-->
35
+ <!-- for="tools-2"-->
36
+ <!-- class="label-text-normal cursor-not-allowed"-->
37
+ <!-- >{{ localization.common.enable }}</label-->
38
+ <!-- >-->
39
+ <!-- </div>-->
40
+ <!-- </template>-->
41
+ <!-- </atoms-stack-block>-->
15
42
  <atoms-stack-block
16
- :has-children="false"
17
- test-id="tools-stack-block-children"
43
+ :has-children="false"
44
+ test-id="tools-stack-block-children"
18
45
  >
19
46
  <template #stackBlockKey>
20
- {{ localization.common.toolsEnable }}
47
+ {{ localization.common.balloon }}
21
48
  </template>
22
49
  <template #stackBlockContent>
23
- <div
24
- :title="localization.common.inDevelopment"
25
- class="cursor-not-allowed"
26
- >
27
- <input
28
- id="tools-2"
29
- v-model="tools"
30
- disabled
31
- data-id="tools-2-checkbox"
32
- type="checkbox"
33
- />
34
- <label
35
- for="tools-2"
36
- class="label-text-normal cursor-not-allowed"
37
- >{{ localization.common.enable }}</label
38
- >
39
- </div>
50
+ <input
51
+ id="balloon"
52
+ v-model="balloon"
53
+ :disabled="props.disabled"
54
+ data-id="balloon-checkbox"
55
+ type="checkbox"
56
+ />
57
+ <label for="balloon" class="label-text-normal">{{
58
+ localization.common.enable
59
+ }}</label>
40
60
  </template>
41
61
  </atoms-stack-block>
42
62
  </template>
@@ -47,14 +67,20 @@
47
67
  <script setup lang="ts">
48
68
  import type { UI_I_Localization } from '~/lib/models/interfaces'
49
69
 
50
- const tools = defineModel<boolean>('tools', { required: true })
70
+ // const tools = defineModel<boolean>('tools', { required: true })
71
+ const balloon = defineModel<boolean>('balloon', { required: true })
72
+
73
+ const props = defineProps<{
74
+ disabled: boolean
75
+ }>()
51
76
 
52
77
  const localization = computed<UI_I_Localization>(() => useLocal())
53
78
  </script>
54
79
 
55
80
  <style scoped lang="scss">
56
81
  #tools-1,
57
- #tools-2 {
82
+ #tools-2,
83
+ #balloon {
58
84
  margin: 0 4px 4px 0;
59
85
  }
60
86
  </style>
@@ -5,13 +5,7 @@ import type {
5
5
  UI_I_SendDataNewPciDevice,
6
6
  UI_I_SendDataVideoCard,
7
7
  } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
8
- import type {
9
- UI_I_SendDataBootOptions,
10
- UI_I_SendDataRemoteConsoleOptions,
11
- UI_I_SendDataRemoteConsoleOptionsSpice,
12
- UI_I_SendDataTools,
13
- UI_I_SendDataVmoptions,
14
- } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
8
+ import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
15
9
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
16
10
  import type { UI_I_ArbitraryObject } from '~/lib/models/interfaces'
17
11
 
@@ -53,6 +47,25 @@ export interface UI_I_ErrorMessage {
53
47
  descriptions: string[]
54
48
  }
55
49
 
50
+ interface UI_I_CreateVmDataStorage {
51
+ id: string
52
+ }
53
+ interface UI_I_CreateVmDataCpu {
54
+ vcpus: number
55
+ max_vcpus: number
56
+ core_per_socket: number
57
+ model: string
58
+ reservation_mhz: number
59
+ limit_mhz: number
60
+ shares: number
61
+ hotplug: boolean
62
+ }
63
+ interface UI_I_CreateVmDataMemory {
64
+ size_mb: number
65
+ hotplug: boolean
66
+ reservation_mb: number
67
+ limit_mb: number
68
+ }
56
69
  export interface UI_I_CreateVmDataUsbController {
57
70
  type: string
58
71
  }
@@ -135,55 +148,10 @@ export interface UI_I_CreateVmData {
135
148
  )[]
136
149
  network_devices: UI_I_SendDataNewNetwork[]
137
150
  passthrough_pci_devices: UI_I_SendDataNewPciDevice[]
138
- usb_controllers: {
139
- type: string
140
- }[]
151
+ options: UI_I_SendDataVmoptions
152
+ storage: UI_I_CreateVmDataStorage
153
+ cpu: UI_I_CreateVmDataCpu
154
+ memory: UI_I_CreateVmDataMemory
155
+ usb_controllers: UI_I_CreateVmDataUsbController[]
141
156
  input_devices: UI_I_CreateVmDataInputDevices[]
142
- cpu: {
143
- vcpus: number
144
- max_vcpus: number
145
- core_per_socket: number
146
- model: string
147
- reservation_mhz: number
148
- limit_mhz: number
149
- shares: number
150
- hotplug: boolean
151
- }
152
- memory: {
153
- size_mb: number
154
- hotplug: boolean
155
- reservation_mb: number
156
- limit_mb: number
157
- }
158
- storage: {
159
- id: string
160
- } | null
161
- options: {
162
- remote_console: {
163
- type: string
164
- port: number
165
- keymap: string
166
- password: string
167
- guest_os_lock: boolean
168
- limit_sessions: number
169
- spice: {
170
- img_compression: string
171
- jpeg_compression: string
172
- zlib_glz_compression: string
173
- streaming_mode: string
174
- playback_compression: boolean
175
- file_transfer: boolean
176
- clipboard: boolean
177
- }
178
- }
179
- guest_tools: {
180
- enabled: boolean
181
- synchronized_time: boolean
182
- }
183
- boot_options: {
184
- firmware: string
185
- boot_delay_ms: number
186
- boot_menu: boolean
187
- }
188
- }
189
157
  }
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <common-vm-actions-edit-settings-new
3
3
  v-if="isNewView"
4
+ v-model:vm-name="vmName"
4
5
  v-model:vm-settings="vmSettingsLocal"
5
6
  :nodes="props.nodes"
6
7
  :files="props.files"
@@ -12,6 +13,9 @@
12
13
  :selected-nav-item="selectedNavItem"
13
14
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
14
15
  :error-validation-fields="props.errorValidationFields"
16
+ :virtual-hardware-networks="virtualHardwareNetworksLocal"
17
+ :virtual-hardware-hard-disks="virtualHardwareHardDisksLocal"
18
+ :virtual-hardware-cd-dvd-drives="virtualHardwareCdDvdDrivesLocal"
15
19
  :state="props.state"
16
20
  :vm-name-old="props.vmSettings?.name"
17
21
  :passthrough-devices="props.passthroughDevices"
@@ -21,15 +25,19 @@
21
25
  :is-vmt="props.isVmt"
22
26
  @hide="emits('hide')"
23
27
  @validate="validateSendData"
28
+ @update-vm="emits('update-vm')"
24
29
  @get-storage="emits('get-storage', $event)"
25
30
  @get-pci-devices="emits('get-pci-devices')"
31
+ @change-boot-order="onChangeBootOrder"
26
32
  @get-networks-table="emits('get-networks-table', $event)"
27
33
  @get-folders-or-files="emits('get-folders-or-files', $event)"
28
34
  @show-datastore-child="emits('show-datastore-child', $event)"
29
35
  @get-active-device-child="emits('get-active-device-child', $event)"
36
+ @change-customize-hardware="onChangeCustomizeHardware"
30
37
  />
31
38
  <common-vm-actions-edit-settings-old
32
39
  v-else
40
+ v-model:vm-name="vmName"
33
41
  v-model:vm-settings="vmSettingsLocal"
34
42
  :nodes="props.nodes"
35
43
  :files="props.files"
@@ -41,6 +49,9 @@
41
49
  :selected-nav-item="selectedNavItem"
42
50
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
43
51
  :error-validation-fields="props.errorValidationFields"
52
+ :virtual-hardware-networks="virtualHardwareNetworksLocal"
53
+ :virtual-hardware-hard-disks="virtualHardwareHardDisksLocal"
54
+ :virtual-hardware-cd-dvd-drives="virtualHardwareCdDvdDrivesLocal"
44
55
  :state="props.state"
45
56
  :vm-name-old="props.vmSettings?.name"
46
57
  :passthrough-devices="props.passthroughDevices"
@@ -50,12 +61,15 @@
50
61
  :is-vmt="props.isVmt"
51
62
  @hide="emits('hide')"
52
63
  @validate="validateSendData"
64
+ @update-vm="emits('update-vm')"
53
65
  @get-storage="emits('get-storage', $event)"
54
66
  @get-pci-devices="emits('get-pci-devices')"
67
+ @change-boot-order="onChangeBootOrder"
55
68
  @get-networks-table="emits('get-networks-table', $event)"
56
69
  @get-folders-or-files="emits('get-folders-or-files', $event)"
57
70
  @show-datastore-child="emits('show-datastore-child', $event)"
58
71
  @get-active-device-child="emits('get-active-device-child', $event)"
72
+ @change-customize-hardware="onChangeCustomizeHardware"
59
73
  />
60
74
  </template>
61
75
 
@@ -167,18 +181,27 @@ const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
167
181
  null
168
182
  )
169
183
  const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
170
- // const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
171
- // virtualHardwareHardDisks.value = data[0]
172
- // virtualHardwareCdDvdDrives.value = data[1]
173
- // virtualHardwareNetworks.value = data[2]
174
- // }
184
+ const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
185
+ virtualHardwareHardDisks.value = data[0]
186
+ virtualHardwareCdDvdDrives.value = data[1]
187
+ virtualHardwareNetworks.value = data[2]
188
+ }
175
189
 
176
190
  const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
177
- // const onChangeCustomizeHardware = (
178
- // data: UI_I_SendDataCustomizeHardware
179
- // ): void => {
180
- // customizeHardware.value = data
181
- // }
191
+ const onChangeCustomizeHardware = (
192
+ data: UI_I_SendDataCustomizeHardware
193
+ ): void => {
194
+ customizeHardware.value = data
195
+ }
196
+ const virtualHardwareHardDisksLocal = computed<
197
+ UI_I_SendDataNewHardDisk[] | null
198
+ >(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
199
+ const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
200
+ () => customizeHardware.value?.virtualHardware?.networks || null
201
+ )
202
+ const virtualHardwareCdDvdDrivesLocal = computed<
203
+ UI_I_SendDataNewCdDvdDrive[] | null
204
+ >(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
182
205
 
183
206
  const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
184
207
  () => customizeHardware.value?.virtualHardware?.cpu || null
@@ -17,15 +17,23 @@
17
17
  />
18
18
  <div v-if="vmSettings" class="vm-context">
19
19
  <common-vm-actions-common-customize-hardware
20
- v-model="vmSettings"
20
+ v-model:vm-name="vmName"
21
+ v-model:guest-machine-type="vmSettings.guestMachineType"
22
+ v-model:guest-os-family="vmSettings.guestOsFamily"
23
+ v-model:guest-os-version="vmSettings.guestOsVersion"
21
24
  :project="props.project"
22
25
  :storage="vmSettings.storage"
26
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisks"
27
+ :cd-dvd-drives-for-boot-options="props.virtualHardwareCdDvdDrives"
28
+ :networks-for-boot-options="props.virtualHardwareNetworks"
23
29
  :cd-dvd-drives="vmSettings.cdDvdDrives"
24
30
  :hard-disks="vmSettings.hardDisks"
25
31
  :networks="vmSettings.networks"
26
32
  :max-cpus="vmSettings.maxCpus"
27
33
  :max-memory="vmSettings.maxMemory"
28
34
  :cpu-models="vmSettings.cpuModels"
35
+ :cpu="vmSettings.cpu"
36
+ :memory="vmSettings.memory"
29
37
  :video-card="vmSettings.videoCard"
30
38
  :usb-controller="vmSettings.usbController"
31
39
  :pci-devices="vmSettings.pciDevices"
@@ -52,6 +60,8 @@
52
60
  @show-datastore-child="emits('show-datastore-child', $event)"
53
61
  @get-networks-table="emits('get-networks-table', $event)"
54
62
  @get-pci-devices="emits('get-pci-devices')"
63
+ @change-boot-order="emits('change-boot-order', $event)"
64
+ @send-data="emits('change-customize-hardware', $event)"
55
65
  />
56
66
  </div>
57
67
  </template>
@@ -68,6 +78,12 @@ import type {
68
78
  UI_I_VmSettings,
69
79
  } from '~/lib/models/store/vm/interfaces'
70
80
  import type { UI_I_Localization } from '~/lib/models/interfaces'
81
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
82
+ import type {
83
+ UI_I_SendDataNewCdDvdDrive,
84
+ UI_I_SendDataNewHardDisk,
85
+ UI_I_SendDataNewNetwork,
86
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
71
87
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
72
88
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
73
89
  import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
@@ -75,6 +91,9 @@ import type {
75
91
  UI_I_DatastoreTableItem,
76
92
  UI_I_FolderOrFileTreePayload,
77
93
  } from '~/lib/models/store/storage/interfaces'
94
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
95
+
96
+ const vmName = defineModel<string>('vmName', { required: true })
78
97
 
79
98
  const vmSettings = defineModel<UI_I_VmSettings | null>('vmSettings', {
80
99
  required: true,
@@ -91,7 +110,10 @@ const props = withDefaults(
91
110
  networksTable: UI_I_NetworkTableItem[]
92
111
  selectedNavItem: UI_T_SelectedNavItem
93
112
  vmCpuHelpTextSecond: string
94
- errorValidationFields: UI_I_ErrorValidationField[]
113
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
114
+ virtualHardwareNetworks: UI_I_SendDataNewNetwork[] | null
115
+ virtualHardwareHardDisks: UI_I_SendDataNewHardDisk[] | null
116
+ virtualHardwareCdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
95
117
  state?: string | number
96
118
  vmNameOld?: string
97
119
  passthroughDevices?: UI_I_PciDevice[]
@@ -114,12 +136,18 @@ const props = withDefaults(
114
136
  const emits = defineEmits<{
115
137
  (event: 'hide'): void
116
138
  (event: 'validate'): void
139
+ (event: 'update-vm'): void
117
140
  (event: 'get-storage', value: UI_I_TablePayload): void
118
141
  (event: 'get-pci-devices'): void
142
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
119
143
  (event: 'get-networks-table', value: UI_I_TablePayload): void
120
144
  (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
121
145
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
122
146
  (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
147
+ (
148
+ event: 'change-customize-hardware',
149
+ value: UI_I_SendDataCustomizeHardware
150
+ ): void
123
151
  }>()
124
152
 
125
153
  const localization = computed<UI_I_Localization>(() => useLocal())