bfg-common 1.5.237 → 1.5.239

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 (147) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/perPage/PerPage.vue +58 -58
  4. package/components/atoms/stack/StackBlock.vue +185 -185
  5. package/components/atoms/table/dataGrid/DataGrid.vue +1717 -1717
  6. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  7. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  8. package/components/atoms/table/info/lib/models/interfaces.ts +10 -10
  9. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  10. package/components/common/backup/storage/actions/add/Add.vue +247 -247
  11. package/components/common/backup/storage/actions/add/New.vue +281 -281
  12. package/components/common/backup/storage/actions/add/Old.vue +114 -114
  13. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  14. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +41 -41
  15. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +294 -294
  16. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  17. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +242 -242
  18. package/components/common/backup/storage/actions/delete/Delete.vue +65 -65
  19. package/components/common/browse/BrowseNew.vue +1 -7
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/context/lib/models/interfaces.ts +31 -31
  22. package/components/common/diagramMain/DiagramMain.vue +897 -897
  23. package/components/common/diagramMain/Header.vue +214 -214
  24. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  26. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  27. package/components/common/pages/home/headline/Headline.vue +45 -45
  28. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  29. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  30. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  31. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  32. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  33. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  34. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  35. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  36. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  37. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  38. package/components/common/pages/packages/Packages.vue +208 -208
  39. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  40. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  41. package/components/common/recursionTree/RecursionTree.vue +223 -223
  42. package/components/common/select/button/ButtonDropdown.vue +108 -108
  43. package/components/common/spiceConsole/Drawer.vue +377 -377
  44. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  45. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  46. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  47. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  48. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  49. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  50. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +1 -1
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +7 -7
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +0 -1
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +190 -194
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +237 -242
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +1 -6
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +154 -158
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +2 -8
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +382 -382
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +0 -1
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +3 -8
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +151 -151
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +73 -73
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +4 -8
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +1 -6
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +1 -6
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +1 -1
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +0 -1
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -36
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +2 -5
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +81 -85
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +67 -71
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +149 -150
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -146
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +1 -5
  115. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  116. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  117. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  118. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  119. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  120. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  121. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  122. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  123. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  124. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  125. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  126. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  127. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  128. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  129. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +135 -137
  130. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  131. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  132. package/composables/productNameLocal.ts +30 -30
  133. package/composables/useAppVersion.ts +21 -21
  134. package/package.json +2 -2
  135. package/plugins/cron.ts +75 -0
  136. package/plugins/date.ts +233 -233
  137. package/plugins/helpers.ts +18 -0
  138. package/plugins/number.ts +18 -0
  139. package/plugins/panelStates.ts +70 -0
  140. package/plugins/text.ts +59 -48
  141. package/plugins/time.ts +17 -0
  142. package/public/spice-console/lib/images/bitmap.js +203 -203
  143. package/public/spice-console/network/spicechannel.js +387 -387
  144. package/store/main/mutations.ts +7 -7
  145. package/store/main/state.ts +7 -7
  146. package/store/tasks/mappers/recentTasks.ts +64 -64
  147. /package/{components/common/split/horizontal/lib/models → lib/models/plugins/panelStates}/interfaces.ts +0 -0
@@ -1,194 +1,190 @@
1
- <template>
2
- <div class="hardware-cpu">
3
- <ui-stack-block
4
- :has-children="true"
5
- test-id="cpu-stack-block"
6
- is-toggle-on-stack-view-key
7
- >
8
- <template #stackBlockKey>
9
- <div
10
- id="vm-wizard-toggle-block-cpu"
11
- data-id="vm-wizard-toggle-block-cpu"
12
- class="flex-align-center"
13
- >
14
- <span class="title">{{ localization.common.cpu }}</span>
15
- <ui-icon
16
- v-show="props.cpuInvalid"
17
- width="18px"
18
- height="18px"
19
- name="error-outline"
20
- class="ml-2"
21
- />
22
- </div>
23
- </template>
24
- <template #stackBlockContent>
25
- <div class="flex-align-center flex-space-between">
26
- <ui-combobox
27
- v-model.number="selectedCpu"
28
- :items="props.cpuOptions"
29
- :disabled="props.isCpuDisabled"
30
- :error-text="props.vcpusLocalAndApiErrorsTexts"
31
- class="cpu-select"
32
- test-id="vm-wizard-cpu-combobox"
33
- size="sm"
34
- width="auto"
35
- />
36
-
37
- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-tooltip
38
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
39
- />
40
- </div>
41
- </template>
42
- <template #stackChildren>
43
- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-cores-per-socket
44
- v-model:selected-core-per-socket="selectedCorePerSocket"
45
- :selected-cpus="props.selectedCpus"
46
- :cpu-options="props.cpuOptions"
47
- :is-edit="props.isEdit"
48
- :disabled="props.isDisabled"
49
- :error-validation-fields="props.errorValidationFields"
50
- @remove-error-by-title="emits('remove-error-by-title', $event)"
51
- />
52
- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-hot-plug
53
- v-model:enable-cpu-hot-add="enableCpuHotAdd"
54
- :disabled="props.enableCpuHotAddDisabled"
55
- />
56
- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-max-cpu
57
- v-show="enableCpuHotAdd"
58
- v-model:selected-max-cpu.number="selectedMaxCpu"
59
- :cpu-options="props.maxCpuOptions"
60
- :error-validation-fields="props.errorValidationFields"
61
- :disabled="props.isDisabled"
62
- @invalid="emits('max-cpu-invalid', $event)"
63
- @remove-error-by-title="emits('remove-error-by-title', $event)"
64
- />
65
- <common-vm-actions-common-customize-hardware-virtual-hardware-reservation
66
- v-model:reservation="reservation"
67
- v-model:reservation-type="reservationType"
68
- :error-validation-fields="props.errorValidationFields"
69
- :disabled="props.isDisabled"
70
- type="mhz"
71
- component-type="cpu"
72
- @invalid="emits('reservation-invalid', $event)"
73
- @remove-error-by-title="emits('remove-error-by-title', $event)"
74
- />
75
- <common-vm-actions-common-customize-hardware-virtual-hardware-limit
76
- v-model:limit="limit"
77
- v-model:limit-type="limitType"
78
- :error-validation-fields="props.errorValidationFields"
79
- :disabled="props.isDisabled"
80
- type="mhz"
81
- component-type="cpu"
82
- @invalid="emits('limit-invalid', $event)"
83
- @remove-error-by-title="emits('remove-error-by-title', $event)"
84
- />
85
- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-shares
86
- v-model:shares="shares"
87
- v-model:shares-type="sharesType"
88
- :error-validation-fields="props.errorValidationFields"
89
- :disabled="props.isDisabled"
90
- @remove-error-by-title="emits('remove-error-by-title', $event)"
91
- @invalid="emits('shares-invalid', $event)"
92
- />
93
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-hv-->
94
- <!-- v-models:hardwareVirtualization="hardwareVirtualization"-->
95
- <!-- />-->
96
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-pc-->
97
- <!-- v-models:performanceCounters="performanceCounters"-->
98
- <!-- />-->
99
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-sa-->
100
- <!-- v-models:schedulingAffinity="schedulingAffinity"-->
101
- <!-- />-->
102
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-iommu-->
103
- <!-- v-models:iommu="iommu"-->
104
- <!-- />-->
105
- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-model
106
- v-model:cpu-model="cpuModel"
107
- v-model:passthrough-host-cpu="passthroughHostCpu"
108
- v-model:host-model-cpu="hostModelCpu"
109
- :cpu-models="props.cpuModels"
110
- :is-edit="props.isEdit"
111
- :error-validation-fields="props.errorValidationFields"
112
- :disabled="props.isDisabled"
113
- @remove-error-by-title="emits('remove-error-by-title', $event)"
114
- />
115
- </template>
116
- </ui-stack-block>
117
- </div>
118
- </template>
119
-
120
- <script setup lang="ts">
121
- import type { UI_I_Localization } from '~/lib/models/interfaces'
122
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
123
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
124
-
125
- const selectedCpu = defineModel<number>('selectedCpu', { required: true })
126
- const selectedCorePerSocket = defineModel<number>('selectedCorePerSocket', {
127
- required: true,
128
- })
129
- const enableCpuHotAdd = defineModel<boolean>('enableCpuHotAdd', {
130
- required: true,
131
- })
132
- const selectedMaxCpu = defineModel<number>('selectedMaxCpu', {
133
- required: true,
134
- })
135
- const reservation = defineModel<string>('reservation', { required: true })
136
- const reservationType = defineModel<string>('reservationType', {
137
- required: true,
138
- })
139
- const limit = defineModel<string>('limit', { required: true })
140
- const limitType = defineModel<string>('limitType', { required: true })
141
- const shares = defineModel<string>('shares', { required: true })
142
- const sharesType = defineModel<string>('sharesType', { required: true })
143
- const cpuModel = defineModel<string>('cpuModel', { required: true })
144
- const passthroughHostCpu = defineModel<boolean>('passthroughHostCpu', {
145
- required: true,
146
- })
147
- const hostModelCpu = defineModel<boolean>('hostModelCpu', { required: true })
148
-
149
- const props = defineProps<{
150
- maxCpus: number
151
- cpuModels: UI_I_OptionItem[]
152
- isEdit: boolean
153
- errorValidationFields: UI_I_ErrorValidationField<string>[]
154
- cpuInvalid: boolean
155
- vcpusLocalAndApiErrorsTexts: string
156
- cpuOptions: UI_I_OptionItem[]
157
- isCpuDisabled: boolean
158
- selectedCpus: number[]
159
- isDisabled: boolean
160
- enableCpuHotAddDisabled: boolean
161
- maxCpuOptions: UI_I_OptionItem[]
162
- vmCpuHelpTextSecond?: string
163
- }>()
164
- const emits = defineEmits<{
165
- (event: 'remove-error-by-title', value: string): void
166
- (event: 'remove-validation-error'): void
167
- (event: 'max-cpu-invalid', value: boolean): void
168
- (event: 'reservation-invalid', value: boolean): void
169
- (event: 'limit-invalid', value: boolean): void
170
- (event: 'shares-invalid', value: boolean): void
171
- }>()
172
-
173
- const localization = computed<UI_I_Localization>(() => useLocal())
174
- </script>
175
-
176
- <style scoped lang="scss">
177
- :deep(.ui-main-select-toggle) {
178
- display: flex;
179
- justify-content: space-between;
180
- width: 108px;
181
- }
182
- //:deep(.cpu-select .ui-main-select-toggle) {
183
- // background-color: #ffffff;
184
- //}
185
- .light-theme {
186
- :deep(.ui-main-select-toggle) {
187
- background-color: #ffffff;
188
- }
189
- }
190
-
191
- :deep(.unit .ui-main-select-toggle) {
192
- width: 80px;
193
- }
194
- </style>
1
+ <template>
2
+ <div class="hardware-cpu">
3
+ <ui-stack-block :has-children="true" test-id="cpu-stack-block">
4
+ <template #stackBlockKey>
5
+ <div
6
+ id="vm-wizard-toggle-block-cpu"
7
+ data-id="vm-wizard-toggle-block-cpu"
8
+ class="flex-align-center"
9
+ >
10
+ <span class="title">{{ localization.common.cpu }}</span>
11
+ <ui-icon
12
+ v-show="props.cpuInvalid"
13
+ width="18px"
14
+ height="18px"
15
+ name="error-outline"
16
+ class="ml-2"
17
+ />
18
+ </div>
19
+ </template>
20
+ <template #stackBlockContent>
21
+ <div class="flex-align-center flex-space-between">
22
+ <ui-combobox
23
+ v-model.number="selectedCpu"
24
+ :items="props.cpuOptions"
25
+ :disabled="props.isCpuDisabled"
26
+ :error-text="props.vcpusLocalAndApiErrorsTexts"
27
+ class="cpu-select"
28
+ test-id="vm-wizard-cpu-combobox"
29
+ size="sm"
30
+ width="auto"
31
+ />
32
+
33
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-tooltip
34
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
35
+ />
36
+ </div>
37
+ </template>
38
+ <template #stackChildren>
39
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-cores-per-socket
40
+ v-model:selected-core-per-socket="selectedCorePerSocket"
41
+ :selected-cpus="props.selectedCpus"
42
+ :cpu-options="props.cpuOptions"
43
+ :is-edit="props.isEdit"
44
+ :disabled="props.isDisabled"
45
+ :error-validation-fields="props.errorValidationFields"
46
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
47
+ />
48
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-hot-plug
49
+ v-model:enable-cpu-hot-add="enableCpuHotAdd"
50
+ :disabled="props.enableCpuHotAddDisabled"
51
+ />
52
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-max-cpu
53
+ v-show="enableCpuHotAdd"
54
+ v-model:selected-max-cpu.number="selectedMaxCpu"
55
+ :cpu-options="props.maxCpuOptions"
56
+ :error-validation-fields="props.errorValidationFields"
57
+ :disabled="props.isDisabled"
58
+ @invalid="emits('max-cpu-invalid', $event)"
59
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
60
+ />
61
+ <common-vm-actions-common-customize-hardware-virtual-hardware-reservation
62
+ v-model:reservation="reservation"
63
+ v-model:reservation-type="reservationType"
64
+ :error-validation-fields="props.errorValidationFields"
65
+ :disabled="props.isDisabled"
66
+ type="mhz"
67
+ component-type="cpu"
68
+ @invalid="emits('reservation-invalid', $event)"
69
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
70
+ />
71
+ <common-vm-actions-common-customize-hardware-virtual-hardware-limit
72
+ v-model:limit="limit"
73
+ v-model:limit-type="limitType"
74
+ :error-validation-fields="props.errorValidationFields"
75
+ :disabled="props.isDisabled"
76
+ type="mhz"
77
+ component-type="cpu"
78
+ @invalid="emits('limit-invalid', $event)"
79
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
80
+ />
81
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-shares
82
+ v-model:shares="shares"
83
+ v-model:shares-type="sharesType"
84
+ :error-validation-fields="props.errorValidationFields"
85
+ :disabled="props.isDisabled"
86
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
87
+ @invalid="emits('shares-invalid', $event)"
88
+ />
89
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-hv-->
90
+ <!-- v-models:hardwareVirtualization="hardwareVirtualization"-->
91
+ <!-- />-->
92
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-pc-->
93
+ <!-- v-models:performanceCounters="performanceCounters"-->
94
+ <!-- />-->
95
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-sa-->
96
+ <!-- v-models:schedulingAffinity="schedulingAffinity"-->
97
+ <!-- />-->
98
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-iommu-->
99
+ <!-- v-models:iommu="iommu"-->
100
+ <!-- />-->
101
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-model
102
+ v-model:cpu-model="cpuModel"
103
+ v-model:passthrough-host-cpu="passthroughHostCpu"
104
+ v-model:host-model-cpu="hostModelCpu"
105
+ :cpu-models="props.cpuModels"
106
+ :is-edit="props.isEdit"
107
+ :error-validation-fields="props.errorValidationFields"
108
+ :disabled="props.isDisabled"
109
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
110
+ />
111
+ </template>
112
+ </ui-stack-block>
113
+ </div>
114
+ </template>
115
+
116
+ <script setup lang="ts">
117
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
118
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
119
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
120
+
121
+ const selectedCpu = defineModel<number>('selectedCpu', { required: true })
122
+ const selectedCorePerSocket = defineModel<number>('selectedCorePerSocket', {
123
+ required: true,
124
+ })
125
+ const enableCpuHotAdd = defineModel<boolean>('enableCpuHotAdd', {
126
+ required: true,
127
+ })
128
+ const selectedMaxCpu = defineModel<number>('selectedMaxCpu', {
129
+ required: true,
130
+ })
131
+ const reservation = defineModel<string>('reservation', { required: true })
132
+ const reservationType = defineModel<string>('reservationType', {
133
+ required: true,
134
+ })
135
+ const limit = defineModel<string>('limit', { required: true })
136
+ const limitType = defineModel<string>('limitType', { required: true })
137
+ const shares = defineModel<string>('shares', { required: true })
138
+ const sharesType = defineModel<string>('sharesType', { required: true })
139
+ const cpuModel = defineModel<string>('cpuModel', { required: true })
140
+ const passthroughHostCpu = defineModel<boolean>('passthroughHostCpu', {
141
+ required: true,
142
+ })
143
+ const hostModelCpu = defineModel<boolean>('hostModelCpu', { required: true })
144
+
145
+ const props = defineProps<{
146
+ maxCpus: number
147
+ cpuModels: UI_I_OptionItem[]
148
+ isEdit: boolean
149
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
150
+ cpuInvalid: boolean
151
+ vcpusLocalAndApiErrorsTexts: string
152
+ cpuOptions: UI_I_OptionItem[]
153
+ isCpuDisabled: boolean
154
+ selectedCpus: number[]
155
+ isDisabled: boolean
156
+ enableCpuHotAddDisabled: boolean
157
+ maxCpuOptions: UI_I_OptionItem[]
158
+ vmCpuHelpTextSecond?: string
159
+ }>()
160
+ const emits = defineEmits<{
161
+ (event: 'remove-error-by-title', value: string): void
162
+ (event: 'remove-validation-error'): void
163
+ (event: 'max-cpu-invalid', value: boolean): void
164
+ (event: 'reservation-invalid', value: boolean): void
165
+ (event: 'limit-invalid', value: boolean): void
166
+ (event: 'shares-invalid', value: boolean): void
167
+ }>()
168
+
169
+ const localization = computed<UI_I_Localization>(() => useLocal())
170
+ </script>
171
+
172
+ <style scoped lang="scss">
173
+ :deep(.ui-main-select-toggle) {
174
+ display: flex;
175
+ justify-content: space-between;
176
+ width: 108px;
177
+ }
178
+ //:deep(.cpu-select .ui-main-select-toggle) {
179
+ // background-color: #ffffff;
180
+ //}
181
+ .light-theme {
182
+ :deep(.ui-main-select-toggle) {
183
+ background-color: #ffffff;
184
+ }
185
+ }
186
+
187
+ :deep(.unit .ui-main-select-toggle) {
188
+ width: 80px;
189
+ }
190
+ </style>