bfg-common 1.3.391 → 1.3.392

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 (89) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +1 -360
  2. package/assets/img/icons/icons-sprite-dark-2.svg +1 -296
  3. package/assets/img/icons/icons-sprite-dark-3.svg +1 -221
  4. package/assets/img/icons/icons-sprite-dark-4.svg +1 -247
  5. package/assets/img/icons/icons-sprite-light-1.svg +1 -360
  6. package/assets/img/icons/icons-sprite-light-2.svg +1 -296
  7. package/assets/img/icons/icons-sprite-light-3.svg +1 -221
  8. package/assets/img/icons/icons-sprite-light-4.svg +1 -247
  9. package/assets/localization/local_be.json +5 -1
  10. package/assets/localization/local_en.json +5 -1
  11. package/assets/localization/local_hy.json +5 -1
  12. package/assets/localization/local_kk.json +5 -1
  13. package/assets/localization/local_ru.json +5 -1
  14. package/assets/localization/local_zh.json +5 -1
  15. package/assets/scss/common/icons/icons.scss +0 -1
  16. package/components/atoms/loader/Loader.vue +30 -30
  17. package/components/atoms/loader/PreLoader.vue +38 -38
  18. package/components/atoms/switch/Switch.vue +111 -111
  19. package/components/atoms/table/compact/Compact.vue +526 -526
  20. package/components/common/adapterManager/ui/table/Header.vue +93 -93
  21. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  22. package/components/common/context/Context.vue +99 -99
  23. package/components/common/lib/config/states.ts +126 -126
  24. package/components/common/pages/hardwareHealth/tableView/TableView.vue +1 -42
  25. package/components/common/pages/hardwareHealth/tableView/lib/config/alertWarningTable.ts +8 -15
  26. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +1 -1
  27. package/components/common/resource/progressBlock/ProgressBlock.vue +142 -142
  28. package/components/common/split/horizontal/Horizontal.vue +49 -307
  29. package/components/common/split/horizontal/HorizontalOld.vue +307 -0
  30. package/components/common/vm/actions/add/Add.vue +602 -602
  31. package/components/common/vm/actions/clone/Clone.vue +518 -518
  32. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +273 -273
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +697 -697
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +256 -256
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +458 -458
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +304 -304
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +167 -167
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +82 -82
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +32 -32
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +182 -182
  41. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +114 -114
  42. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +188 -188
  43. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +72 -72
  44. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +164 -164
  45. package/components/common/vm/actions/common/select/name/Name.vue +235 -235
  46. package/components/common/vm/actions/common/select/storage/Storage.vue +198 -198
  47. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  48. package/components/common/weekSelect/lib/config/options.ts +10 -10
  49. package/components/common/wizards/datastore/add/Add.vue +436 -436
  50. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +191 -191
  51. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +38 -38
  52. package/components/common/wizards/datastore/add/lib/utils.ts +70 -70
  53. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  54. package/components/common/wizards/datastore/add/nfs/Nfs.vue +112 -112
  55. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +104 -104
  56. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -62
  57. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -53
  58. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +86 -86
  59. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +184 -184
  60. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +459 -459
  61. package/components/common/wizards/datastore/add/types/Types.vue +80 -80
  62. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +49 -49
  63. package/composables/useAppVersion.ts +21 -21
  64. package/composables/useEnvLanguage.ts +20 -20
  65. package/lib/utils/sendTask.ts +72 -72
  66. package/minify.js +146 -146
  67. package/package.json +1 -1
  68. package/plugins/spice-console/spice.console.ts +147 -147
  69. package/public/spice-console/application/codec.js +263 -263
  70. package/public/spice-console/lib/rasterEngine.js +907 -907
  71. package/public/spice-console/network/spicechannel.js +375 -375
  72. package/store/main/lib/interfaces.ts +9 -9
  73. package/store/tasks/actions.ts +133 -133
  74. package/store/tasks/getters.ts +25 -25
  75. package/store/tasks/lib/models/interfaces.ts +18 -18
  76. package/store/tasks/mutations.ts +58 -58
  77. package/store/tasks/state.ts +16 -16
  78. package/assets/img/icons/icons-sprite-dark-1-old.svg +0 -1
  79. package/assets/img/icons/icons-sprite-dark-2-old.svg +0 -1
  80. package/assets/img/icons/icons-sprite-dark-3-old.svg +0 -1
  81. package/assets/img/icons/icons-sprite-dark-4-old.svg +0 -1
  82. package/assets/img/icons/icons-sprite-dark-7.svg +0 -8
  83. package/assets/img/icons/icons-sprite-light-1-old.svg +0 -1
  84. package/assets/img/icons/icons-sprite-light-2-old.svg +0 -1
  85. package/assets/img/icons/icons-sprite-light-3-old.svg +0 -1
  86. package/assets/img/icons/icons-sprite-light-4-old.svg +0 -1
  87. package/assets/img/icons/icons-sprite-light-7.svg +0 -8
  88. package/assets/scss/common/icons/icons-7.scss +0 -29
  89. package/components/common/pages/hardwareHealth/tableView/modal/sensorWarning.vue +0 -63
@@ -1,167 +1,167 @@
1
- <template>
2
- <div class="hardware-pci-device">
3
- <atoms-stack-block
4
- :has-children="true"
5
- :removable="isRemovable"
6
- @remove="onRemovePciDevice"
7
- >
8
- <template #stackBlockKey>
9
- <div
10
- :id="`vm-wizard-toggle-block-pci-device-${props.index}`"
11
- :data-id="`vm-wizard-toggle-block-pci-device-${props.index}`"
12
- class="flex-align-center"
13
- >
14
- <span>{{ label }}</span>
15
- </div>
16
- </template>
17
- <template #stackBlockContent>
18
- <span class="main-label">
19
- {{ selectedLabel }}
20
- </span>
21
- </template>
22
- <template #stackChildren>
23
- <template v-if="props.type === 'new'">
24
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-type-selection
25
- v-model="selectedType"
26
- :options="pciDeviceTypeOptions"
27
- :pci-device-index="props.index"
28
- />
29
-
30
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
31
- v-show="selectedType.value === 'direct_path_io'"
32
- v-model="directPathIo"
33
- :pci-device-index="props.index"
34
- :passthrough-devices="props.passthroughDevices"
35
- />
36
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
37
- v-show="selectedType.value === 'dynamic_direct_path_io'"
38
- v-model="dynamicDirectPathIo"
39
- :pci-device-index="props.index"
40
- :passthrough-devices="props.passthroughDevices"
41
- />
42
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
43
- v-show="selectedType.value === 'nvidia_grid'"
44
- v-model="nvidiaGridProfile"
45
- :pci-device-index="props.index"
46
- />
47
- </template>
48
-
49
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-note />
50
- </template>
51
- </atoms-stack-block>
52
- </div>
53
- </template>
54
-
55
- <script setup lang="ts">
56
- import type { UI_I_Localization } from '~/lib/models/interfaces'
57
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
58
- import type { UI_I_SendDataNewPciDevice } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
59
- import type { UI_T_PciDeviceType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
60
- import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
61
- import { pciDeviceTypeOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options'
62
-
63
- const props = defineProps<{
64
- index: number
65
- pciDevice: UI_I_SendDataNewPciDevice
66
- passthroughDevices: UI_I_PciDevice[]
67
- type: UI_T_PciDeviceType
68
- isEdit: boolean
69
- state?: string | number
70
- // errorValidationFields: UI_I_ErrorValidationField<string>[]
71
- }>()
72
- const emits = defineEmits<{
73
- (event: 'send-data', value: UI_I_SendDataNewPciDevice): void
74
- (event: 'remove'): void
75
- }>()
76
-
77
- const localization = computed<UI_I_Localization>(() => useLocal())
78
-
79
- const isRunning = computed<boolean>(() => {
80
- return props.state === 2
81
- })
82
-
83
- const isRemovable = computed<boolean>(() => {
84
- return !props.isEdit || !isRunning.value
85
- })
86
-
87
- const label = computed<string>(() => {
88
- if (props.type === 'edit')
89
- return `${localization.value.newPciDevice} ${props.index + 1}`
90
-
91
- return `${localization.value.pciDevice} *`
92
- })
93
-
94
- const selectedLabel = computed<string>(() => {
95
- switch (selectedType.value.value) {
96
- case 'direct_path_io':
97
- return `${directPathIo.value.address}|${directPathIo.value.device_name}`
98
- case 'dynamic_direct_path_io':
99
- return dynamicDirectPathIo.value
100
- default:
101
- return nvidiaGridProfile.value
102
- }
103
- })
104
-
105
- const pciDeviceTypeOptions = ref<UI_I_OptionItem[]>(pciDeviceTypeOptionsConfig)
106
- const selectedType = ref<UI_I_OptionItem>(pciDeviceTypeOptionsConfig[0])
107
-
108
- const directPathIo = ref<UI_I_PciDevice>(props.passthroughDevices[0])
109
- const dynamicDirectPathIo = ref<string>('')
110
- const nvidiaGridProfile = ref<string>('')
111
-
112
- watch(
113
- props.pciDevice,
114
- (newValue) => {
115
- // const passthroughDevice = props.passthroughDevices.find(
116
- // (item) => item.address === newValue.address
117
- // )
118
- // passthroughDevice && (directPathIo.value = passthroughDevice) // Todo change
119
- newValue && (directPathIo.value = newValue)
120
- },
121
- { immediate: true }
122
- )
123
-
124
- const sendData = computed<UI_I_SendDataNewPciDevice>(() => {
125
- switch (selectedType.value.value) {
126
- case 'direct_path_io':
127
- return {
128
- address: directPathIo.value.address,
129
- vendor_name: directPathIo.value.vendor_name,
130
- class_name: directPathIo.value.class_name,
131
- device_name: directPathIo.value.device_name,
132
- }
133
- case 'dynamic_direct_path_io':
134
- return {
135
- address: '',
136
- vendor_name: '',
137
- class_name: '',
138
- device_name: '',
139
- }
140
- default:
141
- return {
142
- address: '',
143
- vendor_name: '',
144
- class_name: '',
145
- device_name: '',
146
- }
147
- }
148
- })
149
-
150
- watch(
151
- sendData,
152
- (newValue) => {
153
- emits('send-data', newValue)
154
- },
155
- { immediate: true }
156
- )
157
-
158
- const onRemovePciDevice = (): void => {
159
- emits('remove')
160
- }
161
- </script>
162
-
163
- <style scoped lang="scss">
164
- #network-connect {
165
- margin-right: 4px;
166
- }
167
- </style>
1
+ <template>
2
+ <div class="hardware-pci-device">
3
+ <atoms-stack-block
4
+ :has-children="true"
5
+ :removable="isRemovable"
6
+ @remove="onRemovePciDevice"
7
+ >
8
+ <template #stackBlockKey>
9
+ <div
10
+ :id="`vm-wizard-toggle-block-pci-device-${props.index}`"
11
+ :data-id="`vm-wizard-toggle-block-pci-device-${props.index}`"
12
+ class="flex-align-center"
13
+ >
14
+ <span>{{ label }}</span>
15
+ </div>
16
+ </template>
17
+ <template #stackBlockContent>
18
+ <span class="main-label">
19
+ {{ selectedLabel }}
20
+ </span>
21
+ </template>
22
+ <template #stackChildren>
23
+ <template v-if="props.type === 'new'">
24
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-type-selection
25
+ v-model="selectedType"
26
+ :options="pciDeviceTypeOptions"
27
+ :pci-device-index="props.index"
28
+ />
29
+
30
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
31
+ v-show="selectedType.value === 'direct_path_io'"
32
+ v-model="directPathIo"
33
+ :pci-device-index="props.index"
34
+ :passthrough-devices="props.passthroughDevices"
35
+ />
36
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
37
+ v-show="selectedType.value === 'dynamic_direct_path_io'"
38
+ v-model="dynamicDirectPathIo"
39
+ :pci-device-index="props.index"
40
+ :passthrough-devices="props.passthroughDevices"
41
+ />
42
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
43
+ v-show="selectedType.value === 'nvidia_grid'"
44
+ v-model="nvidiaGridProfile"
45
+ :pci-device-index="props.index"
46
+ />
47
+ </template>
48
+
49
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-note />
50
+ </template>
51
+ </atoms-stack-block>
52
+ </div>
53
+ </template>
54
+
55
+ <script setup lang="ts">
56
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
57
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
58
+ import type { UI_I_SendDataNewPciDevice } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
59
+ import type { UI_T_PciDeviceType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
60
+ import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
61
+ import { pciDeviceTypeOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options'
62
+
63
+ const props = defineProps<{
64
+ index: number
65
+ pciDevice: UI_I_SendDataNewPciDevice
66
+ passthroughDevices: UI_I_PciDevice[]
67
+ type: UI_T_PciDeviceType
68
+ isEdit: boolean
69
+ state?: string | number
70
+ // errorValidationFields: UI_I_ErrorValidationField<string>[]
71
+ }>()
72
+ const emits = defineEmits<{
73
+ (event: 'send-data', value: UI_I_SendDataNewPciDevice): void
74
+ (event: 'remove'): void
75
+ }>()
76
+
77
+ const localization = computed<UI_I_Localization>(() => useLocal())
78
+
79
+ const isRunning = computed<boolean>(() => {
80
+ return props.state === 2
81
+ })
82
+
83
+ const isRemovable = computed<boolean>(() => {
84
+ return !props.isEdit || !isRunning.value
85
+ })
86
+
87
+ const label = computed<string>(() => {
88
+ if (props.type === 'edit')
89
+ return `${localization.value.newPciDevice} ${props.index + 1}`
90
+
91
+ return `${localization.value.pciDevice} *`
92
+ })
93
+
94
+ const selectedLabel = computed<string>(() => {
95
+ switch (selectedType.value.value) {
96
+ case 'direct_path_io':
97
+ return `${directPathIo.value.address}|${directPathIo.value.device_name}`
98
+ case 'dynamic_direct_path_io':
99
+ return dynamicDirectPathIo.value
100
+ default:
101
+ return nvidiaGridProfile.value
102
+ }
103
+ })
104
+
105
+ const pciDeviceTypeOptions = ref<UI_I_OptionItem[]>(pciDeviceTypeOptionsConfig)
106
+ const selectedType = ref<UI_I_OptionItem>(pciDeviceTypeOptionsConfig[0])
107
+
108
+ const directPathIo = ref<UI_I_PciDevice>(props.passthroughDevices[0])
109
+ const dynamicDirectPathIo = ref<string>('')
110
+ const nvidiaGridProfile = ref<string>('')
111
+
112
+ watch(
113
+ props.pciDevice,
114
+ (newValue) => {
115
+ // const passthroughDevice = props.passthroughDevices.find(
116
+ // (item) => item.address === newValue.address
117
+ // )
118
+ // passthroughDevice && (directPathIo.value = passthroughDevice) // Todo change
119
+ newValue && (directPathIo.value = newValue)
120
+ },
121
+ { immediate: true }
122
+ )
123
+
124
+ const sendData = computed<UI_I_SendDataNewPciDevice>(() => {
125
+ switch (selectedType.value.value) {
126
+ case 'direct_path_io':
127
+ return {
128
+ address: directPathIo.value.address,
129
+ vendor_name: directPathIo.value.vendor_name,
130
+ class_name: directPathIo.value.class_name,
131
+ device_name: directPathIo.value.device_name,
132
+ }
133
+ case 'dynamic_direct_path_io':
134
+ return {
135
+ address: '',
136
+ vendor_name: '',
137
+ class_name: '',
138
+ device_name: '',
139
+ }
140
+ default:
141
+ return {
142
+ address: '',
143
+ vendor_name: '',
144
+ class_name: '',
145
+ device_name: '',
146
+ }
147
+ }
148
+ })
149
+
150
+ watch(
151
+ sendData,
152
+ (newValue) => {
153
+ emits('send-data', newValue)
154
+ },
155
+ { immediate: true }
156
+ )
157
+
158
+ const onRemovePciDevice = (): void => {
159
+ emits('remove')
160
+ }
161
+ </script>
162
+
163
+ <style scoped lang="scss">
164
+ #network-connect {
165
+ margin-right: 4px;
166
+ }
167
+ </style>
@@ -1,82 +1,82 @@
1
- <template>
2
- <div class="hardware-usb-controller">
3
- <atoms-stack-block :has-children="false">
4
- <template #stackBlockKey>
5
- <div
6
- id="vm-wizard-toggle-block-usb-controller"
7
- data-id="vm-wizard-toggle-block-usb-controller"
8
- class="flex-align-center"
9
- >
10
- <span>{{ localization.newUsbController }}</span>
11
- </div>
12
- </template>
13
- <template #stackBlockContent>
14
- <div v-if="props.isEdit">
15
- {{ selectedUsbControllerText }}
16
- </div>
17
- <div v-else class="select">
18
- <select
19
- id="usb-controller-select"
20
- v-model="selectedUsbController"
21
- data-id="usb-controller-select"
22
- :disabled="props.isEdit"
23
- @click.stop
24
- >
25
- <option
26
- v-for="(item, key) in usbControllerOptions"
27
- :key="key"
28
- :value="item.value"
29
- >
30
- {{ item.text }}
31
- </option>
32
- </select>
33
- </div>
34
- </template>
35
- </atoms-stack-block>
36
- </div>
37
- </template>
38
-
39
- <script setup lang="ts">
40
- import { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
41
- import { UI_I_Localization } from '~/lib/models/interfaces'
42
- import { usbControllerOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options'
43
-
44
- const props = withDefaults(
45
- defineProps<{
46
- usbController: string
47
- isEdit: boolean
48
- state?: string | number
49
- }>(),
50
- {
51
- usbController: 'usb2',
52
- }
53
- )
54
- const emits = defineEmits<{
55
- (event: 'send-data', value: string): void
56
- }>()
57
-
58
- const localization = computed<UI_I_Localization>(() => useLocal())
59
-
60
- const usbControllerOptions = ref<UI_I_OptionItem[]>(usbControllerOptionsConfig)
61
- const selectedUsbController = ref<string>(props.usbController)
62
- const selectedUsbControllerText = computed<string>(
63
- () =>
64
- usbControllerOptions.value.find(
65
- (option) => option.value === selectedUsbController.value
66
- )?.text || ''
67
- )
68
-
69
- watch(
70
- selectedUsbController,
71
- (newValue) => {
72
- emits('send-data', newValue)
73
- },
74
- { immediate: true }
75
- )
76
- </script>
77
-
78
- <style scoped lang="scss">
79
- #network-connect {
80
- margin-right: 4px;
81
- }
82
- </style>
1
+ <template>
2
+ <div class="hardware-usb-controller">
3
+ <atoms-stack-block :has-children="false">
4
+ <template #stackBlockKey>
5
+ <div
6
+ id="vm-wizard-toggle-block-usb-controller"
7
+ data-id="vm-wizard-toggle-block-usb-controller"
8
+ class="flex-align-center"
9
+ >
10
+ <span>{{ localization.newUsbController }}</span>
11
+ </div>
12
+ </template>
13
+ <template #stackBlockContent>
14
+ <div v-if="props.isEdit">
15
+ {{ selectedUsbControllerText }}
16
+ </div>
17
+ <div v-else class="select">
18
+ <select
19
+ id="usb-controller-select"
20
+ v-model="selectedUsbController"
21
+ data-id="usb-controller-select"
22
+ :disabled="props.isEdit"
23
+ @click.stop
24
+ >
25
+ <option
26
+ v-for="(item, key) in usbControllerOptions"
27
+ :key="key"
28
+ :value="item.value"
29
+ >
30
+ {{ item.text }}
31
+ </option>
32
+ </select>
33
+ </div>
34
+ </template>
35
+ </atoms-stack-block>
36
+ </div>
37
+ </template>
38
+
39
+ <script setup lang="ts">
40
+ import { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
41
+ import { UI_I_Localization } from '~/lib/models/interfaces'
42
+ import { usbControllerOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options'
43
+
44
+ const props = withDefaults(
45
+ defineProps<{
46
+ usbController: string
47
+ isEdit: boolean
48
+ state?: string | number
49
+ }>(),
50
+ {
51
+ usbController: 'usb2',
52
+ }
53
+ )
54
+ const emits = defineEmits<{
55
+ (event: 'send-data', value: string): void
56
+ }>()
57
+
58
+ const localization = computed<UI_I_Localization>(() => useLocal())
59
+
60
+ const usbControllerOptions = ref<UI_I_OptionItem[]>(usbControllerOptionsConfig)
61
+ const selectedUsbController = ref<string>(props.usbController)
62
+ const selectedUsbControllerText = computed<string>(
63
+ () =>
64
+ usbControllerOptions.value.find(
65
+ (option) => option.value === selectedUsbController.value
66
+ )?.text || ''
67
+ )
68
+
69
+ watch(
70
+ selectedUsbController,
71
+ (newValue) => {
72
+ emits('send-data', newValue)
73
+ },
74
+ { immediate: true }
75
+ )
76
+ </script>
77
+
78
+ <style scoped lang="scss">
79
+ #network-connect {
80
+ margin-right: 4px;
81
+ }
82
+ </style>
@@ -1,32 +1,32 @@
1
- <template>
2
- <div class="hardware-other">
3
- <atoms-stack-block :has-children="true">
4
- <template #stackBlockKey>
5
- <div
6
- id="vm-wizard-toggle-block-other"
7
- data-id="vm-wizard-toggle-block-other"
8
- >
9
- <span>{{ localization.other }}</span>
10
- </div>
11
- </template>
12
- <template #stackBlockContent>
13
- <span>{{ localization.additionalHardware }}</span>
14
- </template>
15
- <template #stackChildren>
16
- <common-vm-actions-common-customize-hardware-virtual-hardware-other-input-devices />
17
- </template>
18
- </atoms-stack-block>
19
- </div>
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import { UI_I_Localization } from '~/lib/models/interfaces'
24
-
25
- const localization = computed<UI_I_Localization>(() => useLocal())
26
- </script>
27
-
28
- <style scoped lang="scss">
29
- #network-connect {
30
- margin-right: 4px;
31
- }
32
- </style>
1
+ <template>
2
+ <div class="hardware-other">
3
+ <atoms-stack-block :has-children="true">
4
+ <template #stackBlockKey>
5
+ <div
6
+ id="vm-wizard-toggle-block-other"
7
+ data-id="vm-wizard-toggle-block-other"
8
+ >
9
+ <span>{{ localization.other }}</span>
10
+ </div>
11
+ </template>
12
+ <template #stackBlockContent>
13
+ <span>{{ localization.additionalHardware }}</span>
14
+ </template>
15
+ <template #stackChildren>
16
+ <common-vm-actions-common-customize-hardware-virtual-hardware-other-input-devices />
17
+ </template>
18
+ </atoms-stack-block>
19
+ </div>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import { UI_I_Localization } from '~/lib/models/interfaces'
24
+
25
+ const localization = computed<UI_I_Localization>(() => useLocal())
26
+ </script>
27
+
28
+ <style scoped lang="scss">
29
+ #network-connect {
30
+ margin-right: 4px;
31
+ }
32
+ </style>