bfg-common 1.5.69 → 1.5.71

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.
@@ -211,7 +211,7 @@
211
211
  "changingGatewayLossConnectBetweenHostVCenter": "Змена шлюза па змаўчанні можа прывесці да страты злучэння паміж хастом і серверам {productName}.",
212
212
  "characterRequirements": "Патрабаванні да персанажаў",
213
213
  "chartOptionsName": "Назва параметраў дыяграмы",
214
- "chooseGuestOSInstalledVM": "Выберыце гасцявую АС, якая будзе ўстаноўлена на віртуальнай машыне",
214
+ "chooseGuestOSInstalledVM": "Выберыце гасцявую АС, якая будзе ўстаноўлена на віртуальнай машыне.",
215
215
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "Выберыце гасцявую аперацыйную сістэму, якая будзе ўстаноўлена на віртуальнай машыне, і тып кампутара, які будзе выкарыстоўвацца для стварэння віртуальнай машыны.",
216
216
  "chosenDatastoreName": "Выбранное имя хранилища",
217
217
  "ciscoDiscoveryProtocol": "Пратакол выяўлення Cisco",
@@ -210,7 +210,7 @@
210
210
  "changingGatewayLossConnectBetweenHostVCenter": "Changing the default gateway might cause loss of connectivity between the host and Sphere Zone.",
211
211
  "characterRequirements": "Character requirements",
212
212
  "chartOptionsName": "Chart options name",
213
- "chooseGuestOSInstalledVM": "Choose the guest OS that will be installed on the virtual machine",
213
+ "chooseGuestOSInstalledVM": "Choose the guest OS that will be installed on the virtual machine.",
214
214
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "Choose the guest OS that will be installed on the virtual machine and the machine type that will be used to create the virtual machine.",
215
215
  "chosenDatastoreName": "Chosen name form datastore",
216
216
  "ciscoDiscoveryProtocol": "Cisco Discovery Protocol",
@@ -210,7 +210,7 @@
210
210
  "changingGatewayLossConnectBetweenHostVCenter": "Լռելյայն դարպասի փոփոխությունը կարող է հանգեցնել սերվերի և {productName} սերվերի միջև կապի կորստի:",
211
211
  "characterRequirements": "Նիշերի պահանջներ",
212
212
  "chartOptionsName": "Աղյուսակի ընտրանքների անվանումը",
213
- "chooseGuestOSInstalledVM": "Ընտրեք հյուրի OS-ն, որը տեղադրվելու է վիրտուալ մեքենայի վրա",
213
+ "chooseGuestOSInstalledVM": "Ընտրեք հյուրի OS-ն, որը տեղադրվելու է վիրտուալ մեքենայի վրա:",
214
214
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "Ընտրեք հյուրի գործառնական համակարգը, որը կտեղադրվի վիրտուալ մեքենայի վրա և համակարգչի տեսակը, որը կօգտագործվի վիրտուալ մեքենա ստեղծելու համար: կտտացրեք \"հաջորդ\" կետին:",
215
215
  "chosenDatastoreName": "Ընտրված անունը DataStore",
216
216
  "ciscoDiscoveryProtocol": "Cisco հայտնաբերման արձանագրություն",
@@ -210,7 +210,7 @@
210
210
  "changingGatewayLossConnectBetweenHostVCenter": "Әдепкі шлюзді өзгерту хост пен {productName} сервері арасындағы байланысты жоғалтуы мүмкін.",
211
211
  "characterRequirements": "Кейіпкерлерге қойылатын талаптар",
212
212
  "chartOptionsName": "Диаграмма параметрлерінің атауы",
213
- "chooseGuestOSInstalledVM": "Виртуалды машинада орнатылатын қонақ ОЖ таңдаңыз",
213
+ "chooseGuestOSInstalledVM": "Виртуалды машинада орнатылатын қонақ ОЖ таңдаңыз.",
214
214
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "Виртуалды машинада Орнатылатын қонақтардың операциялық жүйесін және виртуалды машинаны жасау үшін қолданылатын компьютер түрін таңдаңыз.",
215
215
  "chosenDatastoreName": "Таңдалған атау деректер қоймасын құрайды",
216
216
  "ciscoDiscoveryProtocol": "Cisco анықтау ХАТТАМАСЫ",
@@ -210,7 +210,7 @@
210
210
  "changingGatewayLossConnectBetweenHostVCenter": "Изменение шлюза по умолчанию может привести к потере соединения между хостом и сервером {productName}.",
211
211
  "characterRequirements": "Требования к персонажу",
212
212
  "chartOptionsName": "Название параметров диаграммы",
213
- "chooseGuestOSInstalledVM": "Выберите гостевую ОС, которая будет установлена на виртуальной машине",
213
+ "chooseGuestOSInstalledVM": "Выберите гостевую ОС, которая будет установлена на виртуальной машине.",
214
214
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "Выберите гостевую операционную систему, которая будет установлена на виртуальной машине, и тип компьютера, который будет использоваться для создания виртуальной машины.",
215
215
  "chosenDatastoreName": "Выбранное имя хранилища",
216
216
  "ciscoDiscoveryProtocol": "Протокол обнаружения Cisco",
@@ -210,7 +210,7 @@
210
210
  "changingGatewayLossConnectBetweenHostVCenter": "更改默认网关可能会导致主机与Sphere Zone之间失去连接。",
211
211
  "characterRequirements": "品格要求",
212
212
  "chartOptionsName": "图表选项名称",
213
- "chooseGuestOSInstalledVM": "选择要在虚拟机上安装的来宾操作系统",
213
+ "chooseGuestOSInstalledVM": "选择要在虚拟机上安装的来宾操作系统。",
214
214
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "选择将安装在虚拟机上的来宾操作系统以及将用于创建虚拟机的机器类型。",
215
215
  "chosenDatastoreName": "所选名称表单数据存储",
216
216
  "ciscoDiscoveryProtocol": "思科发现协议",
@@ -210,7 +210,7 @@
210
210
  "changingGatewayLossConnectBetweenHostVCenter": "قد يؤدي تغيير البوابة الافتراضية إلى فقدان الاتصال بين المضيف وSphere Zone.",
211
211
  "characterRequirements": "متطلبات الأحرف",
212
212
  "chartOptionsName": "اسم خيارات المخطط",
213
- "chooseGuestOSInstalledVM": "اختر نظام التشغيل الضيف الذي سيتم تثبيته على الآلة الافتراضية",
213
+ "chooseGuestOSInstalledVM": "اختر نظام التشغيل الضيف الذي سيتم تثبيته على الآلة الافتراضية.",
214
214
  "chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm": "اختر نظام التشغيل الضيف الذي سيتم تثبيته على الآلة الافتراضية ونوع الآلة الذي سيتم استخدامه لإنشاء الآلة الافتراضية.",
215
215
  "chosenDatastoreName": "الاسم المختار من مخزن البيانات",
216
216
  "ciscoDiscoveryProtocol": "بروتوكول اكتشاف Cisco",
@@ -166,134 +166,174 @@
166
166
  selectedStep.id === dynamicSteps.selectGuestOSMachineType ||
167
167
  selectedStep.id === dynamicSteps.selectGuestOS
168
168
  "
169
+ :sub-title-height="heightOs"
169
170
  >
171
+ <template #subTitle>
172
+ <div ref="subTitleBlockOs" class="subtitle-block">
173
+ <div id="compatibility-alert-wrapper"></div>
174
+ <ui-wizard-subtitle
175
+ :sub-title="localization.common.chooseGuestOSInstalledVM"
176
+ />
177
+ </div>
178
+ </template>
170
179
  <template #content>
171
- <common-vm-actions-common-select-os
172
- v-model:machine-type="vmForm.guestMachineType"
173
- v-model:guest-os-family="vmForm.guestOsFamily"
174
- v-model:guest-os-version="vmForm.guestOsVersion"
175
- :families-options="props.guestOsFamilies"
176
- :versions-options="props.guestOsVersions"
177
- :machine-types-options="props.machineTypes"
178
- :error-validation-fields="props.errorValidationFields"
179
- @remove-error-by-title="emits('remove-error-by-title', $event)"
180
- />
180
+ <div class="select-block-wrap overflow-auto h-full flex flex-col">
181
+ <common-vm-actions-common-select-os
182
+ v-model:machine-type="vmForm.guestMachineType"
183
+ v-model:guest-os-family="vmForm.guestOsFamily"
184
+ v-model:guest-os-version="vmForm.guestOsVersion"
185
+ :families-options="props.guestOsFamilies"
186
+ :versions-options="props.guestOsVersions"
187
+ :machine-types-options="props.machineTypes"
188
+ :error-validation-fields="props.errorValidationFields"
189
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
190
+ />
191
+ <div class="vm-hardware-version-wrap justify-end flex flex-1">
192
+ <span class="vm-hardware-version">{{
193
+ props.compatibilityInfo
194
+ }}</span>
195
+ </div>
196
+ </div>
181
197
  </template>
182
198
  </ui-wizard-block>
183
199
  <ui-wizard-block
184
200
  v-if="selectedStep.id === dynamicSteps.customizeHardware"
185
201
  >
186
202
  <template #content>
187
- <common-vm-actions-common-customize-hardware
188
- :project="props.project"
189
- :vm-name="vmForm.name"
190
- :guest-machine-type="vmForm.guestMachineType"
191
- :guest-os-family="vmForm.guestOsFamily"
192
- :guest-os-version="vmForm.guestOsVersion"
193
- :storage="vmForm.storage"
194
- :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
195
- :cd-dvd-drives-for-boot-options="
196
- props.virtualHardwareCdDvdDrivesLocal
197
- "
198
- :networks-for-boot-options="props.virtualHardwareNetworksLocal"
199
- :cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
200
- :customize-hardware-submit="props.customizeHardwareSubmit"
201
- :max-cpus="props.maxCpus"
202
- :max-memory="props.maxMemory"
203
- :cpu-models="props.cpuModels"
204
- :selected-nav-item="props.selectedNavItem"
205
- :nodes="props.nodes"
206
- :files="props.files"
207
- :networks-table="props.networksTable"
208
- :error-validation-fields="props.errorValidationFields"
209
- :get-datastore-table-func="props.getDatastoreTableFunc"
210
- :datastore="props.datastore"
211
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
212
- :passthrough-devices="props.passthroughDevices"
213
- :mediated-devices="props.mediatedDevices"
214
- :compute-resource="vmForm.computeResource"
215
- @change-boot-order="emits('change-boot-order', $event)"
216
- @send-data="emits('change-customize-hardware', $event)"
217
- @get-storage="emits('get-storage', $event)"
218
- @get-folders-or-files="emits('get-folders-or-files', $event)"
219
- @get-active-device-child="emits('get-active-device-child', $event)"
220
- @show-datastore-child="emits('show-datastore-child', $event)"
221
- @remove-error-by-title="emits('remove-error-by-title', $event)"
222
- @get-networks-table="emits('get-networks-table', $event)"
223
- @get-pci-devices="emits('get-pci-devices')"
224
- />
225
- </template> </ui-wizard-block
226
- ><ui-wizard-block
203
+ <div
204
+ class="select-block-wrap overflow-auto h-full flex flex-col pr-8"
205
+ >
206
+ <common-vm-actions-common-customize-hardware
207
+ :project="props.project"
208
+ :vm-name="vmForm.name"
209
+ :guest-machine-type="vmForm.guestMachineType"
210
+ :guest-os-family="vmForm.guestOsFamily"
211
+ :guest-os-version="vmForm.guestOsVersion"
212
+ :storage="vmForm.storage"
213
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
214
+ :cd-dvd-drives-for-boot-options="
215
+ props.virtualHardwareCdDvdDrivesLocal
216
+ "
217
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
218
+ :cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
219
+ :customize-hardware-submit="props.customizeHardwareSubmit"
220
+ :max-cpus="props.maxCpus"
221
+ :max-memory="props.maxMemory"
222
+ :cpu-models="props.cpuModels"
223
+ :selected-nav-item="props.selectedNavItem"
224
+ :nodes="props.nodes"
225
+ :files="props.files"
226
+ :networks-table="props.networksTable"
227
+ :error-validation-fields="props.errorValidationFields"
228
+ :get-datastore-table-func="props.getDatastoreTableFunc"
229
+ :datastore="props.datastore"
230
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
231
+ :passthrough-devices="props.passthroughDevices"
232
+ :mediated-devices="props.mediatedDevices"
233
+ :compute-resource="vmForm.computeResource"
234
+ @change-boot-order="emits('change-boot-order', $event)"
235
+ @send-data="emits('change-customize-hardware', $event)"
236
+ @get-storage="emits('get-storage', $event)"
237
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
238
+ @get-active-device-child="
239
+ emits('get-active-device-child', $event)
240
+ "
241
+ @show-datastore-child="emits('show-datastore-child', $event)"
242
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
243
+ @get-networks-table="emits('get-networks-table', $event)"
244
+ @get-pci-devices="emits('get-pci-devices')"
245
+ />
246
+ <div class="vm-hardware-version-wrap justify-end flex flex-1">
247
+ <span class="vm-hardware-version">{{
248
+ props.compatibilityInfo
249
+ }}</span>
250
+ </div>
251
+ </div>
252
+ </template>
253
+ </ui-wizard-block>
254
+ <ui-wizard-block
227
255
  v-if="
228
256
  selectedStep.id === dynamicSteps.customizeHardwareTemplate &&
229
257
  props.vmtSettings
230
258
  "
231
259
  >
232
260
  <template #content>
233
- <common-vm-actions-common-customize-hardware
234
- :project="props.project"
235
- :vm-name="vmForm.name"
236
- :guest-machine-type="vmForm.guestMachineType"
237
- :guest-os-family="vmForm.guestOsFamily"
238
- :guest-os-version="vmForm.guestOsVersion"
239
- :storage="vmForm.storage"
240
- :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
241
- :cd-dvd-drives-for-boot-options="
242
- props.virtualHardwareCdDvdDrivesLocal
243
- "
244
- :networks-for-boot-options="props.virtualHardwareNetworksLocal"
245
- :cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
246
- :hard-disks="props.vmtSettings.hardDisks || []"
247
- :networks="props.vmtSettings.networks || []"
248
- :customize-hardware-submit="props.customizeHardwareSubmit"
249
- :max-cpus="props.maxCpus"
250
- :max-memory="props.maxMemory"
251
- :cpu-models="props.cpuModels"
252
- :cpu="props.vmtSettings.cpu"
253
- :memory="props.vmtSettings.memory"
254
- :video-card="props.vmtSettings.videoCard"
255
- :usb-controller="props.vmtSettings.usbController"
256
- :pci-devices="props.vmtSettings.pciDevices"
257
- :hard-disks-for-edit="props.vmtSettings.hardDisks || []"
258
- :options="props.vmtSettings.options"
259
- :selected-nav-item="props.selectedNavItem"
260
- :nodes="props.nodes"
261
- :files="props.files"
262
- :networks-table="props.networksTable"
263
- :error-validation-fields="props.errorValidationFields"
264
- :get-datastore-table-func="props.getDatastoreTableFunc"
265
- :datastore="props.datastore"
266
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
267
- :passthrough-devices="props.passthroughDevices"
268
- :mediated-devices="props.mediatedDevices"
269
- :compute-resource="vmForm.computeResource"
270
- is-clone
271
- @change-boot-order="emits('change-boot-order', $event)"
272
- @send-data="emits('change-customize-hardware', $event)"
273
- @get-storage="emits('get-storage', $event)"
274
- @get-folders-or-files="emits('get-folders-or-files', $event)"
275
- @get-active-device-child="emits('get-active-device-child', $event)"
276
- @show-datastore-child="emits('show-datastore-child', $event)"
277
- @remove-error-by-title="emits('remove-error-by-title', $event)"
278
- @get-networks-table="emits('get-networks-table', $event)"
279
- @get-pci-devices="emits('get-pci-devices')"
280
- />
261
+ <div
262
+ class="select-block-wrap overflow-auto h-full flex flex-col pr-8"
263
+ >
264
+ <common-vm-actions-common-customize-hardware
265
+ :project="props.project"
266
+ :vm-name="vmForm.name"
267
+ :guest-machine-type="vmForm.guestMachineType"
268
+ :guest-os-family="vmForm.guestOsFamily"
269
+ :guest-os-version="vmForm.guestOsVersion"
270
+ :storage="vmForm.storage"
271
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
272
+ :cd-dvd-drives-for-boot-options="
273
+ props.virtualHardwareCdDvdDrivesLocal
274
+ "
275
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
276
+ :cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
277
+ :hard-disks="props.vmtSettings.hardDisks || []"
278
+ :networks="props.vmtSettings.networks || []"
279
+ :customize-hardware-submit="props.customizeHardwareSubmit"
280
+ :max-cpus="props.maxCpus"
281
+ :max-memory="props.maxMemory"
282
+ :cpu-models="props.cpuModels"
283
+ :cpu="props.vmtSettings.cpu"
284
+ :memory="props.vmtSettings.memory"
285
+ :video-card="props.vmtSettings.videoCard"
286
+ :usb-controller="props.vmtSettings.usbController"
287
+ :pci-devices="props.vmtSettings.pciDevices"
288
+ :hard-disks-for-edit="props.vmtSettings.hardDisks || []"
289
+ :options="props.vmtSettings.options"
290
+ :selected-nav-item="props.selectedNavItem"
291
+ :nodes="props.nodes"
292
+ :files="props.files"
293
+ :networks-table="props.networksTable"
294
+ :error-validation-fields="props.errorValidationFields"
295
+ :get-datastore-table-func="props.getDatastoreTableFunc"
296
+ :datastore="props.datastore"
297
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
298
+ :passthrough-devices="props.passthroughDevices"
299
+ :mediated-devices="props.mediatedDevices"
300
+ :compute-resource="vmForm.computeResource"
301
+ is-clone
302
+ @change-boot-order="emits('change-boot-order', $event)"
303
+ @send-data="emits('change-customize-hardware', $event)"
304
+ @get-storage="emits('get-storage', $event)"
305
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
306
+ @get-active-device-child="
307
+ emits('get-active-device-child', $event)
308
+ "
309
+ @show-datastore-child="emits('show-datastore-child', $event)"
310
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
311
+ @get-networks-table="emits('get-networks-table', $event)"
312
+ @get-pci-devices="emits('get-pci-devices')"
313
+ />
314
+ <div class="vm-hardware-version-wrap justify-end flex flex-1">
315
+ <span class="vm-hardware-version">{{
316
+ props.compatibilityInfo
317
+ }}</span>
318
+ </div>
319
+ </div>
281
320
  </template>
282
321
  </ui-wizard-block>
283
322
  <ui-wizard-block v-if="selectedStep.id === dynamicSteps.readyComplete">
284
323
  <template #content>
285
- <common-ready-to-complete
286
- v-if="selectedStep.id === dynamicSteps.readyComplete"
287
- :data="props.readyCompleteTableInfo"
288
- />
324
+ <div class="select-block-wrap overflow-auto h-full flex flex-col">
325
+ <common-ready-to-complete
326
+ v-if="selectedStep.id === dynamicSteps.readyComplete"
327
+ :data="props.readyCompleteTableInfo"
328
+ />
329
+ <div class="vm-hardware-version-wrap justify-end flex flex-1">
330
+ <span class="vm-hardware-version">{{
331
+ props.compatibilityInfo
332
+ }}</span>
333
+ </div>
334
+ </div>
289
335
  </template>
290
336
  </ui-wizard-block>
291
-
292
- <span
293
- v-if="selectedStep.id > dynamicSteps.compatibility"
294
- class="vm-hardware-version"
295
- >{{ props.compatibilityInfo }}</span
296
- >
297
337
  </template>
298
338
 
299
339
  <!-- <template #modalFooterContent>-->
@@ -471,6 +511,8 @@ const subTitleBlockCompatibility = ref<HTMLElement | null>(null)
471
511
  const { height: heightCompatibility } = useElementSize(
472
512
  subTitleBlockCompatibility
473
513
  )
514
+ const subTitleBlockOs = ref<HTMLElement | null>(null)
515
+ const { height: heightOs } = useElementSize(subTitleBlockOs)
474
516
  </script>
475
517
 
476
518
  <style scoped lang="scss">
@@ -482,4 +524,14 @@ const { height: heightCompatibility } = useElementSize(
482
524
  padding-bottom: 12px;
483
525
  //margin-bottom: 16px;
484
526
  }
527
+ .select-block-wrap {
528
+ .vm-hardware-version-wrap {
529
+ align-items: flex-end;
530
+
531
+ .vm-hardware-version {
532
+ font-size: 13px;
533
+ color: #9da6ad; // for light and dark
534
+ }
535
+ }
536
+ }
485
537
  </style>
@@ -203,8 +203,6 @@ const themeMode = useLocalStorage('themeMode')
203
203
 
204
204
  <style scoped lang="scss">
205
205
  .customize-hardware {
206
- padding: 0 32px;
207
-
208
206
  .errors-alert {
209
207
  margin-top: 12px;
210
208
  }
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="select-create-type">
2
+ <div class="select-create-type py-3">
3
3
  <div
4
4
  v-for="item in props.items"
5
5
  v-development="item.disabled"
@@ -0,0 +1,122 @@
1
+ <template>
2
+ <div class="select-os pt-4">
3
+ <p class="select-os-description pb-4">
4
+ {{ localization.common.identifyingGuestSystemInstallation }}
5
+ </p>
6
+
7
+ <div class="select-wrap mb-4 pb-4">
8
+ <label for="machine-type-select" class="select-label"
9
+ >{{ localization.common.machineType }}:</label
10
+ >
11
+
12
+ <ui-select
13
+ v-model="machineType"
14
+ :items="props.machineTypeOptions"
15
+ :error-text="props.apiErrorMachineType"
16
+ test-id="vm-wizard-machine-type-select"
17
+ @change="emits('remove-error-by-title', 'machine_type')"
18
+ />
19
+ </div>
20
+ <div class="select-wrap mb-4 pb-4">
21
+ <label for="os-select" class="select-label"
22
+ >{{ localization.common.guestOsFamily }}:</label
23
+ >
24
+
25
+ <ui-select
26
+ v-model="guestOsFamily"
27
+ :items="props.osOptions"
28
+ :error-text="props.apiErrorGuestOsFamily"
29
+ test-id="vm-wizard-os-select"
30
+ @change="onChangeOsFamily"
31
+ />
32
+ </div>
33
+ <div class="select-wrap mb-4">
34
+ <label for="os-version-select" class="select-label"
35
+ >{{ localization.common.guestOsVersion }}:</label
36
+ >
37
+
38
+ <ui-select
39
+ v-model="guestOsVersion"
40
+ :items="props.versionsOptions"
41
+ :error-text="props.apiErrorGuestOsVersion"
42
+ test-id="vm-wizard-os-version-select"
43
+ @change="emits('remove-error-by-title', 'guest_os_version')"
44
+ />
45
+ </div>
46
+ </div>
47
+ </template>
48
+
49
+ <script setup lang="ts">
50
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
51
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
52
+
53
+ const machineType = defineModel<UI_I_OptionItem | null>('machine-type', {
54
+ required: true,
55
+ })
56
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guest-os-family', {
57
+ required: true,
58
+ })
59
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guest-os-version', {
60
+ required: true,
61
+ })
62
+
63
+ const props = defineProps<{
64
+ apiErrorMachineType: string
65
+ machineTypeOptions: UI_I_OptionItem[]
66
+ apiErrorGuestOsFamily: string
67
+ osOptions: UI_I_OptionItem[]
68
+ apiErrorGuestOsVersion: string
69
+ versionsOptions: UI_I_OptionItem[]
70
+ }>()
71
+ const emits = defineEmits<{
72
+ (event: 'remove-error-by-title', value: string): void
73
+ (event: 'change-os'): void
74
+ }>()
75
+ const localization = computed<UI_I_Localization>(() => useLocal())
76
+
77
+ const onChangeOsFamily = (): void => {
78
+ setTimeout(() => {
79
+ emits('remove-error-by-title', 'guest_os_family')
80
+ emits('change-os')
81
+ }, 0)
82
+ }
83
+ </script>
84
+
85
+ <style>
86
+ :root {
87
+ --select-os-color: #4d5d69;
88
+ --select-os-border-color: #e9ebed;
89
+ }
90
+ :root.dark-theme {
91
+ --select-os-color: #e9eaec;
92
+ --select-os-border-color: #e9ebed1f;
93
+ }
94
+ </style>
95
+ <style scoped lang="scss">
96
+ .select-os {
97
+ .select-os-description {
98
+ font-size: 13px;
99
+ color: var(--select-os-color);
100
+ }
101
+
102
+ .select-wrap {
103
+ display: grid;
104
+ grid-template-columns: 1fr 2fr;
105
+ grid-gap: 16px;
106
+ align-items: center;
107
+
108
+ &:not(:last-child) {
109
+ border-bottom: 1px solid var(--select-os-border-color);
110
+ }
111
+
112
+ .select-label {
113
+ font-size: 13px;
114
+ color: var(--select-os-color);
115
+ }
116
+
117
+ :deep(.ui-select-toggle-button) {
118
+ width: 100%;
119
+ }
120
+ }
121
+ }
122
+ </style>