bfg-common 1.3.239 → 1.3.241

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 (163) hide show
  1. package/components/common/BadBrowser.vue +16 -12
  2. package/components/common/accordion/Accordion.vue +1 -0
  3. package/components/common/accordion/Recursion.vue +2 -0
  4. package/components/common/accordion/lib/models/interfaces.ts +1 -0
  5. package/components/common/adapterManager/AddAdapterModal.vue +11 -4
  6. package/components/common/adapterManager/AddAdapterWarningModal.vue +1 -0
  7. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +2 -0
  8. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +2 -0
  9. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +2 -0
  10. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +2 -0
  11. package/components/common/adapterManager/ui/table/Adapters.vue +14 -13
  12. package/components/common/adapterManager/ui/table/Header.vue +6 -4
  13. package/components/common/adapterManager/ui/table/Table.vue +13 -4
  14. package/components/common/browse/Browse.vue +5 -1
  15. package/components/common/browse/blocks/Container.vue +3 -0
  16. package/components/common/browse/blocks/contents/Files.vue +1 -0
  17. package/components/common/context/ContextRecursion.vue +6 -1
  18. package/components/common/details/DetailsItem.vue +3 -0
  19. package/components/common/diagramMain/Header.vue +4 -0
  20. package/components/common/diagramMain/adapter/AdapterItem.vue +2 -0
  21. package/components/common/diagramMain/adapter/Contents.vue +2 -0
  22. package/components/common/diagramMain/lib/models/interfaces.ts +10 -0
  23. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +1 -0
  24. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +13 -27
  25. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +1 -0
  26. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +3 -0
  27. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +8 -0
  28. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +6 -0
  29. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +2 -0
  30. package/components/common/diagramMain/modals/lib/config/networkModal.ts +4 -0
  31. package/components/common/diagramMain/modals/lib/config/portModal.ts +7 -2
  32. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +36 -0
  33. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +19 -13
  34. package/components/common/diagramMain/modals/remove/RemoveModal.vue +5 -0
  35. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +11 -7
  36. package/components/common/diagramMain/network/Contents.vue +5 -4
  37. package/components/common/diagramMain/port/Port.vue +1 -0
  38. package/components/common/feedback/Buttons.vue +2 -0
  39. package/components/common/feedback/Feedback.vue +9 -2
  40. package/components/common/feedback/Message.vue +9 -0
  41. package/components/common/feedback/VisitPortal.vue +11 -2
  42. package/components/common/help/navbar/left/Left.vue +1 -0
  43. package/components/common/help/navbar/right/Right.vue +12 -2
  44. package/components/common/help/navbar/right/lib/models/interfaces.ts +1 -0
  45. package/components/common/home/alertsTable/AlertsTable.vue +1 -0
  46. package/components/common/modals/Confirmation.vue +10 -2
  47. package/components/common/modals/Rename.vue +1 -0
  48. package/components/common/monitor/advanced/tools/Tools.vue +10 -1
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +7 -1
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +6 -1
  51. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +14 -1
  52. package/components/common/monitor/overview/filters/Filters.vue +12 -5
  53. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +4 -0
  54. package/components/common/pages/Tasks.vue +120 -120
  55. package/components/common/perPage/PerPage.vue +1 -0
  56. package/components/common/recursionTree/RecursionTree.vue +205 -203
  57. package/components/common/recursionTree/lib/models/interfaces.ts +4 -2
  58. package/components/common/select/button/ButtonDropdown.vue +2 -0
  59. package/components/common/select/button/lib/models/interfaces.ts +1 -0
  60. package/components/common/select/input/Input.vue +1 -0
  61. package/components/common/select/radio/RadioGroup.vue +2 -0
  62. package/components/common/select/radio/lib/models/interfaces.ts +1 -0
  63. package/components/common/shortcuts/Block.vue +2 -0
  64. package/components/common/shortcuts/Category.vue +1 -0
  65. package/components/common/shortcuts/lib/models/interfaces.ts +1 -0
  66. package/components/common/spiceConsole/Drawer.vue +4 -0
  67. package/components/common/spiceConsole/keyboard/Keyboard.vue +1 -0
  68. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +81 -6
  69. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +1 -0
  70. package/components/common/split/horizontal/Horizontal.vue +1 -0
  71. package/components/common/vm/actions/add/Add.vue +576 -575
  72. package/components/common/vm/actions/clone/select/options/Options.vue +9 -3
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +5 -1
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +7 -2
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +2 -0
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +1 -0
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +1 -0
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -220
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +2 -0
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +1 -0
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +1 -0
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +2 -0
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +5 -1
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +1 -0
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +2 -1
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +1 -0
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +1 -0
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +6 -6
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +5 -6
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -0
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +1 -0
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +1 -0
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +1 -0
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +1 -0
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +2 -0
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -294
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -0
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +12 -4
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +5 -1
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +2 -1
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +2 -1
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -0
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +3 -1
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +6 -1
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +2 -1
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +1 -0
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +1 -0
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -0
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +6 -1
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +6 -1
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +5 -1
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -0
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +5 -1
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +1 -0
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +4 -1
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +1 -0
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +1 -0
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +1 -0
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +1 -0
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +1 -0
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -0
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -0
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +2 -1
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +6 -1
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -1
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +5 -1
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -0
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -0
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +2 -1
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -0
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +6 -1
  132. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +31 -27
  133. package/components/common/vm/actions/common/select/name/Name.vue +7 -1
  134. package/components/common/vm/actions/common/select/os/os.vue +7 -1
  135. package/components/common/weekSelect/WeekSelect.vue +143 -112
  136. package/components/common/weekSelect/lib/models/interfaces.ts +1 -0
  137. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +1 -0
  138. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +8 -7
  139. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +9 -1
  140. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +6 -3
  141. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +1 -0
  142. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +3 -0
  143. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +2 -0
  144. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +2 -0
  145. package/components/common/wizards/datastore/add/types/Types.vue +1 -0
  146. package/components/common/wizards/network/add/modals/SelectNetwork.vue +16 -3
  147. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +10 -2
  148. package/components/common/wizards/network/add/modals/SelectSwitch.vue +10 -2
  149. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +5 -1
  150. package/components/common/wizards/network/add/steps/IpFourSettings.vue +12 -2
  151. package/components/common/wizards/network/add/steps/PortProperties.vue +16 -3
  152. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +6 -3
  153. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +11 -0
  154. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +2 -0
  155. package/components/common/wizards/vm/migrate/select/network/Network.vue +1 -0
  156. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +1 -0
  157. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +5 -1
  158. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +1 -0
  159. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +1 -0
  160. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +1 -0
  161. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +1 -0
  162. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +9 -1
  163. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  <input
5
5
  id="customize-os"
6
6
  v-model="selectedOptions"
7
+ data-id="customize-os"
7
8
  type="checkbox"
8
9
  value="customize-os"
9
10
  />
@@ -15,6 +16,7 @@
15
16
  <input
16
17
  id="customize-hardware"
17
18
  v-model="selectedOptions"
19
+ data-id="customize-hardware"
18
20
  type="checkbox"
19
21
  value="customize-hardware"
20
22
  />
@@ -26,6 +28,7 @@
26
28
  <input
27
29
  id="power-on"
28
30
  v-model="selectedOptions"
31
+ data-id="power-on"
29
32
  type="checkbox"
30
33
  value="power-on"
31
34
  />
@@ -49,9 +52,12 @@ const emits = defineEmits<{
49
52
  const localization = computed<UI_I_Localization>(() => useLocal())
50
53
 
51
54
  const selectedOptions = ref<string[]>([])
52
- watch(() => props.selectOptionsSubmit, () => {
53
- emits('submit', selectedOptions.value)
54
- })
55
+ watch(
56
+ () => props.selectOptionsSubmit,
57
+ () => {
58
+ emits('submit', selectedOptions.value)
59
+ }
60
+ )
55
61
  </script>
56
62
 
57
63
  <style scoped lang="scss">
@@ -16,6 +16,7 @@
16
16
  <select
17
17
  :id="`vm-wizard-${props.componentType}-bus-field-${props.index}`"
18
18
  v-model="busLocal"
19
+ :data-id="`vm-wizard-${props.componentType}-bus-field-${props.index}`"
19
20
  :class="`vm-wizard-${props.componentType}-bus-field-${props.index}`"
20
21
  :disabled="props.disabled"
21
22
  >
@@ -33,6 +34,7 @@
33
34
  </atoms-tooltip-error>
34
35
  <div :id="helpId" class="content-signpost relative">
35
36
  <atoms-the-icon
37
+ :data-id="`vm-wizard-${props.componentType}-bus-field-${props.index}-show-help-icon`"
36
38
  class="icon-show-help"
37
39
  fill="#0072a3"
38
40
  width="24px"
@@ -82,7 +84,9 @@ const emits = defineEmits<{
82
84
 
83
85
  const helpId = ref<string>(`bus-field-help-icon${useUniqueId()}`)
84
86
 
85
- const busOptions = ref<UI_I_OptionItem[]>(busOptionsFunc(localization.value, props.shortOptions))
87
+ const busOptions = ref<UI_I_OptionItem[]>(
88
+ busOptionsFunc(localization.value, props.shortOptions)
89
+ )
86
90
 
87
91
  const busLocal = computed<string>({
88
92
  get() {
@@ -18,10 +18,11 @@
18
18
  <div class="flex-align-center flex-space-between">
19
19
  <template v-if="props.type === 'removed'">
20
20
  <span>{{ localization.deviceWillRemoved }}</span>
21
- <div @click.stop class="flex-align-center">
21
+ <div class="flex-align-center" @click.stop>
22
22
  <input
23
23
  :id="`cd-dvd-delete-files-from-datastore-${props.index}`"
24
24
  v-model="deleteFilesFromDatastore"
25
+ :data-id="`cd-dvd-delete-files-from-datastore-${props.index}`"
25
26
  :disabled="props.disabled"
26
27
  type="checkbox"
27
28
  class="pointer"
@@ -42,6 +43,7 @@
42
43
  <select
43
44
  id="vm-wizard-cd-dvd-drive-field"
44
45
  v-model="selectedCdDvdDrive"
46
+ :data-id="`vm-wizard-cd-dvd-drive-field-${props.index}`"
45
47
  class="vm-wizard-cd-dvd-drive-field input-text-color"
46
48
  @click.stop
47
49
  @change="changeCdDvdDrive"
@@ -101,7 +103,10 @@ import { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
101
103
  import { UI_I_TablePayload } from '~/lib/models/table/interfaces'
102
104
  import { UI_T_CdDvdDrive } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types'
103
105
  import { UI_I_SendDataNewCdDvdDrive } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
104
- import { UI_I_Localization, UI_I_HTMLSelectElement } from '~/lib/models/interfaces'
106
+ import {
107
+ UI_I_Localization,
108
+ UI_I_HTMLSelectElement,
109
+ } from '~/lib/models/interfaces'
105
110
  import { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
106
111
  import { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
107
112
  import { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
@@ -9,11 +9,13 @@
9
9
  <input
10
10
  id="vm-wizard-dvd-media-input"
11
11
  v-model="cdDvdMediaLocal"
12
+ data-id="vm-wizard-dvd-media-input"
12
13
  type="text"
13
14
  disabled
14
15
  />
15
16
  <button
16
17
  id="vm-wizard-dvd-media-input"
18
+ data-id="vm-wizard-dvd-media-input"
17
19
  class="button btn btn-default btn-sm"
18
20
  @click="onBrowse"
19
21
  >
@@ -16,6 +16,7 @@
16
16
  <select
17
17
  id="vm-wizard-core-per-socket-field"
18
18
  v-model="selectedCorePerSocketLocal"
19
+ data-id="vm-wizard-core-per-socket-field"
19
20
  :disabled="props.disabled"
20
21
  >
21
22
  <option
@@ -8,6 +8,7 @@
8
8
  <input
9
9
  id="enable-cpu-hot-add"
10
10
  v-model="enableCpuHotAddLocal"
11
+ data-id="enable-cpu-hot-add"
11
12
  type="checkbox"
12
13
  :disabled="props.disabled"
13
14
  />
@@ -1,220 +1,225 @@
1
- <template>
2
- <div class="">
3
- <atoms-stack-block :has-children="false">
4
- <template #stackBlockKey>
5
- {{ localization.cpuModel }}
6
- </template>
7
- <template #stackBlockContent>
8
- <div class="flex-align-center">
9
- <atoms-tooltip-error
10
- :has-error="!!apiError"
11
- selector="#vm-wizard-cpu-model-field"
12
- @remove="onRemoveValidationError"
13
- >
14
- <template #elem>
15
- <div class="select">
16
- <select
17
- id="vm-wizard-cpu-model-field"
18
- :value="props.cpuModel"
19
- :disabled="props.disabled"
20
- @change="changeCpuModel"
21
- >
22
- <option
23
- v-for="(item, key) in cpuModelOptions"
24
- :key="key"
25
- :value="item.value"
26
- >
27
- {{ item.text }}
28
- </option>
29
- </select>
30
- </div>
31
- </template>
32
- <template #content>{{ apiError }}</template>
33
- </atoms-tooltip-error>
34
-
35
- <div class="passthrough-host-cpu-wrap flex-align-center">
36
- <input
37
- id="passthrough-host-cpu"
38
- v-model="passthroughHostCpuLocal"
39
- :disabled="props.disabled"
40
- type="checkbox"
41
- @change="changePassthroughHostCpu"
42
- />
43
- <label for="passthrough-host-cpu" class="label-text-normal">{{
44
- localization.passthroughHostCpu
45
- }}</label>
46
- <div id="passthrough-help-icon" class="flex-align-center relative">
47
- <atoms-the-icon
48
- fill="#0072a3"
49
- width="24px"
50
- height="24px"
51
- name="info-circle"
52
- class="pointer"
53
- @click.stop="isShowPassthroughHost = !isShowPassthroughHost"
54
- />
55
- <Teleport to="body">
56
- <atoms-tooltip-signpost
57
- v-if="isShowPassthroughHost"
58
- elem-id="passthrough-help-icon"
59
- @hide="isShowPassthroughHost = false"
60
- >
61
- <h3 class="passthrough-help-title">
62
- {{ localization.help }}
63
- </h3>
64
-
65
- <p class="passthrough-help-text">
66
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. A
67
- cum eius expedita, fuga mollitia perferendis quod soluta
68
- vel? Dolor, illo, nam? A consequatur, consequuntur eos
69
- impedit iusto labore sunt tempora!
70
- </p>
71
- </atoms-tooltip-signpost>
72
- </Teleport>
73
- </div>
74
- </div>
75
- <div class="divider"></div>
76
- <div class="flex-align-center">
77
- <input
78
- id="host-model-cpu"
79
- v-model="hostModelCpuLocal"
80
- type="checkbox"
81
- :disabled="props.disabled"
82
- @change="changeHostModelCpu"
83
- />
84
- <label for="host-model-cpu" class="label-text-normal">{{
85
- localization.hostModelCpu
86
- }}</label>
87
- <div id="host-model-help-icon" class="flex-align-center relative">
88
- <atoms-the-icon
89
- fill="#0072a3"
90
- width="24px"
91
- height="24px"
92
- name="info-circle"
93
- class="pointer"
94
- @click.stop="isShowHostModel = !isShowHostModel"
95
- />
96
- <Teleport to="body">
97
- <atoms-tooltip-signpost
98
- v-if="isShowHostModel"
99
- elem-id="host-model-help-icon"
100
- @hide="isShowHostModel = false"
101
- >
102
- <h3 class="host-model-help-title">
103
- {{ localization.help }}
104
- </h3>
105
-
106
- <p class="host-model-help-text">
107
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. A
108
- cum eius expedita, fuga mollitia perferendis quod soluta
109
- vel? Dolor, illo, nam? A consequatur, consequuntur eos
110
- impedit iusto labore sunt tempora!
111
- </p>
112
- </atoms-tooltip-signpost>
113
- </Teleport>
114
- </div>
115
- </div>
116
- </div>
117
- </template>
118
- </atoms-stack-block>
119
- </div>
120
- </template>
121
-
122
- <script setup lang="ts">
123
- import {
124
- UI_I_Localization,
125
- UI_I_HTMLSelectElement,
126
- } from '~/lib/models/interfaces'
127
- import { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
128
- import { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
129
- const localization = computed<UI_I_Localization>(() => useLocal())
130
-
131
- const props = defineProps<{
132
- cpuModel: string
133
- passthroughHostCpu: boolean
134
- hostModelCpu: boolean
135
- cpuModels: UI_I_OptionItem[]
136
- isEdit: boolean
137
- disabled: boolean
138
- errorValidationFields: UI_I_ErrorValidationField<string>[]
139
- }>()
140
- const emits = defineEmits<{
141
- (event: 'update:cpu-model', value: string): boolean
142
- (event: 'update:passthrough-host-cpu', value: boolean): boolean
143
- (event: 'update:host-model-cpu', value: boolean): boolean
144
- (event: 'remove-error-by-title', value: string): void
145
- }>()
146
-
147
- const cpuModelOptions = ref<UI_I_OptionItem[]>(props.cpuModels)
148
- watch(
149
- () => props.cpuModels,
150
- (newValue) => {
151
- cpuModelOptions.value = [...newValue]
152
- }
153
- )
154
-
155
- const passthroughHostCpuLocal = computed<boolean>({
156
- get() {
157
- return props.passthroughHostCpu
158
- },
159
- set(newValue) {
160
- emits('update:passthrough-host-cpu', newValue)
161
- },
162
- })
163
- const hostModelCpuLocal = computed<boolean>({
164
- get() {
165
- return props.hostModelCpu
166
- },
167
- set(newValue) {
168
- emits('update:host-model-cpu', newValue)
169
- },
170
- })
171
-
172
- const changeCpuModel = (event: UI_I_HTMLSelectElement): void => {
173
- emits('update:cpu-model', event.target.value)
174
- emits('update:passthrough-host-cpu', false)
175
- emits('update:host-model-cpu', false)
176
- }
177
- const changePassthroughHostCpu = (event: Event): void => {
178
- const target = event.target as HTMLInputElement
179
- emits('update:cpu-model', target.checked ? '' : props.cpuModels?.[0].value)
180
- emits('update:host-model-cpu', false)
181
- }
182
- const changeHostModelCpu = (event: Event): void => {
183
- const target = event.target as HTMLInputElement
184
- emits('update:cpu-model', target.checked ? '' : props.cpuModels?.[0].value)
185
- emits('update:passthrough-host-cpu', false)
186
- }
187
-
188
- const isShowPassthroughHost = ref<false>(false)
189
- const isShowHostModel = ref<false>(false)
190
-
191
- const typeError = 'cpu.model'
192
-
193
- const apiError = computed<string>(() => {
194
- return (
195
- props.errorValidationFields?.find((message) => message.field === typeError)
196
- ?.error_message || ''
197
- )
198
- })
199
-
200
- const onRemoveValidationError = (): void => {
201
- emits('remove-error-by-title', typeError)
202
- }
203
- </script>
204
-
205
- <style scoped lang="scss">
206
- .passthrough-host-cpu-wrap {
207
- margin-right: 8px;
208
- }
209
- #passthrough-host-cpu,
210
- #host-model-cpu {
211
- margin: 0 4px 0 0;
212
- }
213
-
214
- .divider {
215
- height: 16px;
216
- width: 1px;
217
- background-color: var(--global-border-color);
218
- margin: 0 6px 0 0;
219
- }
220
- </style>
1
+ <template>
2
+ <div class="">
3
+ <atoms-stack-block :has-children="false">
4
+ <template #stackBlockKey>
5
+ {{ localization.cpuModel }}
6
+ </template>
7
+ <template #stackBlockContent>
8
+ <div class="flex-align-center">
9
+ <atoms-tooltip-error
10
+ :has-error="!!apiError"
11
+ selector="#vm-wizard-cpu-model-field"
12
+ @remove="onRemoveValidationError"
13
+ >
14
+ <template #elem>
15
+ <div class="select">
16
+ <select
17
+ id="vm-wizard-cpu-model-field"
18
+ data-id="vm-wizard-cpu-model-field"
19
+ :value="props.cpuModel"
20
+ :disabled="props.disabled"
21
+ @change="changeCpuModel"
22
+ >
23
+ <option
24
+ v-for="(item, key) in cpuModelOptions"
25
+ :key="key"
26
+ :value="item.value"
27
+ >
28
+ {{ item.text }}
29
+ </option>
30
+ </select>
31
+ </div>
32
+ </template>
33
+ <template #content>{{ apiError }}</template>
34
+ </atoms-tooltip-error>
35
+
36
+ <div class="passthrough-host-cpu-wrap flex-align-center">
37
+ <input
38
+ id="passthrough-host-cpu"
39
+ v-model="passthroughHostCpuLocal"
40
+ data-id="passthrough-host-cpu"
41
+ :disabled="props.disabled"
42
+ type="checkbox"
43
+ @change="changePassthroughHostCpu"
44
+ />
45
+ <label for="passthrough-host-cpu" class="label-text-normal">{{
46
+ localization.passthroughHostCpu
47
+ }}</label>
48
+ <div id="passthrough-help-icon" class="flex-align-center relative">
49
+ <atoms-the-icon
50
+ data-id="show-passthrough-help-icon"
51
+ fill="#0072a3"
52
+ width="24px"
53
+ height="24px"
54
+ name="info-circle"
55
+ class="pointer"
56
+ @click.stop="isShowPassthroughHost = !isShowPassthroughHost"
57
+ />
58
+ <Teleport to="body">
59
+ <atoms-tooltip-signpost
60
+ v-if="isShowPassthroughHost"
61
+ elem-id="passthrough-help-icon"
62
+ @hide="isShowPassthroughHost = false"
63
+ >
64
+ <h3 class="passthrough-help-title">
65
+ {{ localization.help }}
66
+ </h3>
67
+
68
+ <p class="passthrough-help-text">
69
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. A
70
+ cum eius expedita, fuga mollitia perferendis quod soluta
71
+ vel? Dolor, illo, nam? A consequatur, consequuntur eos
72
+ impedit iusto labore sunt tempora!
73
+ </p>
74
+ </atoms-tooltip-signpost>
75
+ </Teleport>
76
+ </div>
77
+ </div>
78
+ <div class="divider"></div>
79
+ <div class="flex-align-center">
80
+ <input
81
+ id="host-model-cpu"
82
+ v-model="hostModelCpuLocal"
83
+ data-id="host-model-cpu-input"
84
+ type="checkbox"
85
+ :disabled="props.disabled"
86
+ @change="changeHostModelCpu"
87
+ />
88
+ <label for="host-model-cpu" class="label-text-normal">{{
89
+ localization.hostModelCpu
90
+ }}</label>
91
+ <div id="host-model-help-icon" class="flex-align-center relative">
92
+ <atoms-the-icon
93
+ fill="#0072a3"
94
+ width="24px"
95
+ height="24px"
96
+ name="info-circle"
97
+ class="pointer"
98
+ data-id="show-host-model-help-icon"
99
+ @click.stop="isShowHostModel = !isShowHostModel"
100
+ />
101
+ <Teleport to="body">
102
+ <atoms-tooltip-signpost
103
+ v-if="isShowHostModel"
104
+ elem-id="host-model-help-icon"
105
+ @hide="isShowHostModel = false"
106
+ >
107
+ <h3 class="host-model-help-title">
108
+ {{ localization.help }}
109
+ </h3>
110
+
111
+ <p class="host-model-help-text">
112
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. A
113
+ cum eius expedita, fuga mollitia perferendis quod soluta
114
+ vel? Dolor, illo, nam? A consequatur, consequuntur eos
115
+ impedit iusto labore sunt tempora!
116
+ </p>
117
+ </atoms-tooltip-signpost>
118
+ </Teleport>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </template>
123
+ </atoms-stack-block>
124
+ </div>
125
+ </template>
126
+
127
+ <script setup lang="ts">
128
+ import {
129
+ UI_I_Localization,
130
+ UI_I_HTMLSelectElement,
131
+ } from '~/lib/models/interfaces'
132
+ import { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
133
+ import { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
134
+ const localization = computed<UI_I_Localization>(() => useLocal())
135
+
136
+ const props = defineProps<{
137
+ cpuModel: string
138
+ passthroughHostCpu: boolean
139
+ hostModelCpu: boolean
140
+ cpuModels: UI_I_OptionItem[]
141
+ isEdit: boolean
142
+ disabled: boolean
143
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
144
+ }>()
145
+ const emits = defineEmits<{
146
+ (event: 'update:cpu-model', value: string): boolean
147
+ (event: 'update:passthrough-host-cpu', value: boolean): boolean
148
+ (event: 'update:host-model-cpu', value: boolean): boolean
149
+ (event: 'remove-error-by-title', value: string): void
150
+ }>()
151
+
152
+ const cpuModelOptions = ref<UI_I_OptionItem[]>(props.cpuModels)
153
+ watch(
154
+ () => props.cpuModels,
155
+ (newValue) => {
156
+ cpuModelOptions.value = [...newValue]
157
+ }
158
+ )
159
+
160
+ const passthroughHostCpuLocal = computed<boolean>({
161
+ get() {
162
+ return props.passthroughHostCpu
163
+ },
164
+ set(newValue) {
165
+ emits('update:passthrough-host-cpu', newValue)
166
+ },
167
+ })
168
+ const hostModelCpuLocal = computed<boolean>({
169
+ get() {
170
+ return props.hostModelCpu
171
+ },
172
+ set(newValue) {
173
+ emits('update:host-model-cpu', newValue)
174
+ },
175
+ })
176
+
177
+ const changeCpuModel = (event: UI_I_HTMLSelectElement): void => {
178
+ emits('update:cpu-model', event.target.value)
179
+ emits('update:passthrough-host-cpu', false)
180
+ emits('update:host-model-cpu', false)
181
+ }
182
+ const changePassthroughHostCpu = (event: Event): void => {
183
+ const target = event.target as HTMLInputElement
184
+ emits('update:cpu-model', target.checked ? '' : props.cpuModels?.[0].value)
185
+ emits('update:host-model-cpu', false)
186
+ }
187
+ const changeHostModelCpu = (event: Event): void => {
188
+ const target = event.target as HTMLInputElement
189
+ emits('update:cpu-model', target.checked ? '' : props.cpuModels?.[0].value)
190
+ emits('update:passthrough-host-cpu', false)
191
+ }
192
+
193
+ const isShowPassthroughHost = ref<false>(false)
194
+ const isShowHostModel = ref<false>(false)
195
+
196
+ const typeError = 'cpu.model'
197
+
198
+ const apiError = computed<string>(() => {
199
+ return (
200
+ props.errorValidationFields?.find((message) => message.field === typeError)
201
+ ?.error_message || ''
202
+ )
203
+ })
204
+
205
+ const onRemoveValidationError = (): void => {
206
+ emits('remove-error-by-title', typeError)
207
+ }
208
+ </script>
209
+
210
+ <style scoped lang="scss">
211
+ .passthrough-host-cpu-wrap {
212
+ margin-right: 8px;
213
+ }
214
+ #passthrough-host-cpu,
215
+ #host-model-cpu {
216
+ margin: 0 4px 0 0;
217
+ }
218
+
219
+ .divider {
220
+ height: 16px;
221
+ width: 1px;
222
+ background-color: var(--global-border-color);
223
+ margin: 0 6px 0 0;
224
+ }
225
+ </style>
@@ -10,6 +10,7 @@
10
10
  <input
11
11
  id="expose-hardware-assisted-virtualization"
12
12
  v-model="hardwareVirtualizationLocal"
13
+ data-id="expose-hardware-assisted-virtualization"
13
14
  type="checkbox"
14
15
  disabled
15
16
  />
@@ -28,6 +29,7 @@
28
29
  width="24px"
29
30
  height="24px"
30
31
  name="info-circle"
32
+ data-id="show-hv-help-icon"
31
33
  @click.stop="isShowHvHelp = !isShowHvHelp"
32
34
  />
33
35
  <Teleport to="body">
@@ -11,6 +11,7 @@
11
11
  id="enable-iommu"
12
12
  v-model="iommuLocal"
13
13
  type="checkbox"
14
+ data-id="select-enable-iommu"
14
15
  disabled
15
16
  />
16
17
  <label
@@ -10,6 +10,7 @@
10
10
  <input
11
11
  id="enable-performance-counters"
12
12
  v-model="performanceCountersLocal"
13
+ data-id="enable-performance-counters"
13
14
  type="checkbox"
14
15
  disabled
15
16
  />
@@ -10,6 +10,7 @@
10
10
  <input
11
11
  id="sa-edit-setting-input"
12
12
  v-model="schedulingAffinityLocal"
13
+ data-id="sa-edit-setting-input"
13
14
  type="text"
14
15
  class="edit-setting-input"
15
16
  disabled
@@ -22,6 +23,7 @@
22
23
  width="24px"
23
24
  height="24px"
24
25
  name="info-circle"
26
+ data-id="show-sa-help-icon"
25
27
  @click.stop="isShowSaHelp = !isShowSaHelp"
26
28
  />
27
29
  <Teleport to="body">