bfg-common 1.5.38 → 1.5.40

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 (199) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +2 -1
  7. package/assets/localization/local_en.json +2 -1
  8. package/assets/localization/local_hy.json +2 -1
  9. package/assets/localization/local_kk.json +2 -1
  10. package/assets/localization/local_ru.json +2 -1
  11. package/assets/localization/local_zh.json +2 -2
  12. package/assets/scss/common/normalize.scss +339 -339
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/collapse/CollapseNav.vue +165 -165
  15. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  16. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  17. package/components/atoms/perPage/PerPage.vue +58 -58
  18. package/components/atoms/stack/StackBlock.vue +185 -185
  19. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  20. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  21. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  22. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  23. package/components/atoms/tooltip/Signpost.vue +227 -227
  24. package/components/common/accordion/Recursion.vue +222 -222
  25. package/components/common/browse/BrowseNew.vue +237 -237
  26. package/components/common/browse/BrowseOld.vue +217 -217
  27. package/components/common/browse/blocks/contents/Files.vue +37 -37
  28. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  29. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  30. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  31. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  32. package/components/common/browse/lib/models/interfaces.ts +5 -5
  33. package/components/common/context/Context.vue +111 -111
  34. package/components/common/context/lib/models/interfaces.ts +31 -31
  35. package/components/common/context/recursion/Recursion.vue +87 -87
  36. package/components/common/context/recursion/RecursionNew.vue +238 -238
  37. package/components/common/context/recursion/RecursionOld.vue +228 -228
  38. package/components/common/details/DetailsItem.vue +109 -109
  39. package/components/common/diagramMain/DiagramMain.vue +897 -897
  40. package/components/common/diagramMain/Header.vue +214 -214
  41. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  42. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  43. package/components/common/diagramMain/lib/models/types.ts +21 -21
  44. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  45. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  46. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  47. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  48. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  49. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  50. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  51. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  52. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  53. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  54. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  55. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  57. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  58. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  59. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  60. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  61. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  62. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  63. package/components/common/diagramMain/port/Ports.vue +47 -47
  64. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  65. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  66. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  67. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  68. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  69. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  70. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  71. package/components/common/pages/home/StatusContent.vue +49 -49
  72. package/components/common/pages/home/headline/Headline.vue +45 -45
  73. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  74. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  75. package/components/common/pages/home/resource/lib/models/interfaces.ts +4 -1
  76. package/components/common/pages/home/resource/lib/utils/resourceMeter.ts +4 -1
  77. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  78. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  79. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  80. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  81. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  82. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  83. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  84. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  85. package/components/common/pages/packages/Packages.vue +208 -208
  86. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  87. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  88. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  89. package/components/common/portlets/tag/Portlet.vue +433 -433
  90. package/components/common/recursionTree/RecursionTree.vue +223 -223
  91. package/components/common/select/button/ButtonDropdown.vue +108 -108
  92. package/components/common/spiceConsole/Drawer.vue +370 -370
  93. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  94. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  95. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  96. package/components/common/split/vertical/Vertical.vue +160 -160
  97. package/components/common/tools/Actions.vue +188 -188
  98. package/components/common/vm/actions/add/Add.vue +772 -773
  99. package/components/common/vm/actions/add/lib/config/steps.ts +247 -247
  100. package/components/common/vm/actions/clone/Clone.vue +668 -635
  101. package/components/common/vm/actions/clone/lib/config/steps.ts +178 -178
  102. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  103. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  104. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  105. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  106. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  174. package/components/common/vm/actions/common/select/createType/CreateType.vue +74 -74
  175. package/components/common/vm/actions/common/select/os/os.vue +18 -32
  176. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  177. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  178. package/components/common/vm/actions/common/select/template/Template.vue +65 -62
  179. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  180. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  181. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  182. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  183. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  184. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  185. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  186. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  187. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  188. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  189. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  190. package/composables/productNameLocal.ts +30 -30
  191. package/composables/useAppVersion.ts +21 -21
  192. package/package.json +2 -2
  193. package/plugins/date.ts +233 -233
  194. package/plugins/directives.ts +24 -24
  195. package/public/spice-console/lib/images/bitmap.js +203 -203
  196. package/public/spice-console/network/spicechannel.js +383 -383
  197. package/store/main/mutations.ts +7 -7
  198. package/store/main/state.ts +7 -7
  199. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,74 +1,74 @@
1
- <template>
2
- <div class="select-create-type">
3
- <atoms-list-select-list
4
- v-model="model"
5
- class="select"
6
- :items="items"
7
- />
8
- <p class="description">
9
- {{ description }}
10
- </p>
11
- </div>
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import type { UI_I_Localization } from '~/lib/models/interfaces'
16
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
17
- import { itemsFunc } from '~/components/common/vm/actions/common/select/createType/lib/config/items'
18
-
19
- const model = defineModel<string>()
20
-
21
- const props = defineProps<{
22
- importFromVMWarevSphere: string
23
- }>()
24
-
25
- const localization = computed<UI_I_Localization>(() => useLocal())
26
-
27
- const items = computed<UI_I_OptionItem[]>(() =>
28
- itemsFunc(localization.value, props.importFromVMWarevSphere)
29
- )
30
- const description = computed<string>(() => {
31
- let result = ''
32
- switch (model.value) {
33
- case '0':
34
- result = localization.value.common.newVmCreateDescription
35
- break
36
- case '1':
37
- result = localization.value.vmWizard.deployFromTemplateDescription
38
- break
39
- }
40
- return result
41
- })
42
- </script>
43
-
44
- <style scoped lang="scss">
45
- .select-create-type {
46
- display: flex;
47
- padding-top: 12px;
48
-
49
- .description {
50
- color: #333333;
51
- font-size: 13px;
52
- }
53
-
54
- .description,
55
- .select {
56
- flex: 1 1 100%;
57
- margin-right: 5px;
58
- }
59
-
60
- :deep(select) {
61
- background-color: transparent;
62
- border-color: var(--type-list-border-color);
63
- }
64
- }
65
- </style>
66
-
67
- <style>
68
- :root {
69
- --type-list-border-color: #ccc;
70
- }
71
- :root.dark-theme {
72
- --type-list-border-color: #000;
73
- }
74
- </style>
1
+ <template>
2
+ <div class="select-create-type">
3
+ <atoms-list-select-list
4
+ v-model="model"
5
+ class="select"
6
+ :items="items"
7
+ />
8
+ <p class="description">
9
+ {{ description }}
10
+ </p>
11
+ </div>
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
16
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
17
+ import { itemsFunc } from '~/components/common/vm/actions/common/select/createType/lib/config/items'
18
+
19
+ const model = defineModel<string>()
20
+
21
+ const props = defineProps<{
22
+ importFromVMWarevSphere: string
23
+ }>()
24
+
25
+ const localization = computed<UI_I_Localization>(() => useLocal())
26
+
27
+ const items = computed<UI_I_OptionItem[]>(() =>
28
+ itemsFunc(localization.value, props.importFromVMWarevSphere)
29
+ )
30
+ const description = computed<string>(() => {
31
+ let result = ''
32
+ switch (model.value) {
33
+ case '0':
34
+ result = localization.value.common.newVmCreateDescription
35
+ break
36
+ case '1':
37
+ result = localization.value.vmWizard.deployFromTemplateDescription
38
+ break
39
+ }
40
+ return result
41
+ })
42
+ </script>
43
+
44
+ <style scoped lang="scss">
45
+ .select-create-type {
46
+ display: flex;
47
+ padding-top: 12px;
48
+
49
+ .description {
50
+ color: #333333;
51
+ font-size: 13px;
52
+ }
53
+
54
+ .description,
55
+ .select {
56
+ flex: 1 1 100%;
57
+ margin-right: 5px;
58
+ }
59
+
60
+ :deep(select) {
61
+ background-color: transparent;
62
+ border-color: var(--type-list-border-color);
63
+ }
64
+ }
65
+ </style>
66
+
67
+ <style>
68
+ :root {
69
+ --type-list-border-color: #ccc;
70
+ }
71
+ :root.dark-theme {
72
+ --type-list-border-color: #000;
73
+ }
74
+ </style>
@@ -16,7 +16,7 @@
16
16
  <template #elem>
17
17
  <select
18
18
  id="vm-wizard-machine-type-select"
19
- v-model="selectedMachineType"
19
+ v-model="machineType"
20
20
  data-id="vm-wizard-machine-type-select"
21
21
  class="table-cell"
22
22
  >
@@ -45,7 +45,7 @@
45
45
  <template #elem>
46
46
  <select
47
47
  id="vm-wizard-os-select"
48
- v-model="selectedOS"
48
+ v-model="guestOsFamily"
49
49
  data-id="vm-wizard-os-select"
50
50
  class="table-cell"
51
51
  @change="onChangeOS"
@@ -71,7 +71,7 @@
71
71
  <template #elem>
72
72
  <select
73
73
  id="vm-wizard-os-version-select"
74
- v-model="selectedVersion"
74
+ v-model="guestOsVersion"
75
75
  data-id="vm-wizard-os-version-select"
76
76
  class="table-cell"
77
77
  >
@@ -99,6 +99,10 @@ import type {
99
99
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
100
100
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
101
101
 
102
+ const machineType = defineModel<UI_I_OptionItem | null>('machine-type', {required: true})
103
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guest-os-family', {required: true})
104
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guest-os-version', {required: true})
105
+
102
106
  const props = defineProps<{
103
107
  familiesOptions: UI_I_OptionItem[]
104
108
  machineTypesOptions: UI_I_OptionItem[]
@@ -106,70 +110,52 @@ const props = defineProps<{
106
110
  errorValidationFields: UI_I_ErrorValidationField[]
107
111
  }>()
108
112
  const emits = defineEmits<{
109
- (event: 'change', value: UI_I_OsChange): void
110
113
  (event: 'remove-error-by-title', value: string): void
111
114
  }>()
112
115
  const localization = computed<UI_I_Localization>(() => useLocal())
113
116
 
114
117
  const machineTypeOptions = ref<UI_I_OptionItem[]>(props.machineTypesOptions)
115
- const selectedMachineType = ref<UI_I_OptionItem | null>(null)
116
118
  watch(
117
119
  () => props.machineTypesOptions,
118
120
  (newValue) => {
119
121
  machineTypeOptions.value = [...newValue]
122
+ if (machineType.value) return
123
+
120
124
  const q35MachineIndex = newValue.findIndex(item => item.value.toLowerCase().includes('q35'))
121
125
  if (q35MachineIndex === -1) {
122
- selectedMachineType.value = newValue[0]
126
+ machineType.value = newValue[0]
123
127
  } else {
124
- selectedMachineType.value = newValue[q35MachineIndex]
128
+ machineType.value = newValue[q35MachineIndex]
125
129
  }
126
130
  },
127
131
  { immediate: true }
128
132
  )
129
133
 
130
134
  const osOptions = ref<UI_I_OptionItem[]>(props.familiesOptions)
131
- const selectedOS = ref<UI_I_OptionItem | null>(null)
132
135
  watch(
133
136
  () => props.familiesOptions,
134
137
  (newValue) => {
135
138
  osOptions.value = [...newValue]
136
- selectedOS.value = newValue[0]
139
+ if (guestOsFamily.value) return
140
+ guestOsFamily.value = newValue[0]
137
141
  },
138
142
  { immediate: true }
139
143
  )
140
144
  const onChangeOS = (): void => {
141
- selectedVersion.value = versionsOptions.value[0]
145
+ guestOsVersion.value = versionsOptions.value[0]
142
146
  }
143
147
 
144
148
  const versionsOptions = computed<UI_I_OptionItem[]>(() => {
145
- if (!selectedOS.value) return []
149
+ if (!guestOsFamily.value) return []
146
150
 
147
- return props.versionsOptions[selectedOS.value.value] || []
151
+ return props.versionsOptions[guestOsFamily.value.value] || []
148
152
  })
149
- const selectedVersion = ref<UI_I_OptionItem | null>(null)
150
153
  watch(
151
154
  versionsOptions,
152
155
  () => {
153
- selectedVersion.value = versionsOptions.value[0]
154
- },
155
- { immediate: true }
156
- )
156
+ if (guestOsVersion.value) return
157
157
 
158
- const windowsVirtualization = ref<boolean>(false)
159
-
160
- // const isShowHelp = ref<boolean>(false)
161
-
162
- watch(
163
- [selectedMachineType, selectedOS, selectedVersion, windowsVirtualization],
164
- () => {
165
- if (!selectedOS.value) return
166
-
167
- emits('change', {
168
- selectedMachineType: selectedMachineType.value,
169
- selectedOS: selectedOS.value,
170
- selectedVersion: selectedVersion.value,
171
- windowsVirtualization: windowsVirtualization.value,
172
- })
158
+ guestOsVersion.value = versionsOptions.value[0]
173
159
  },
174
160
  { immediate: true }
175
161
  )
@@ -1,130 +1,130 @@
1
- <template>
2
- <common-vm-actions-common-select-storage-new
3
- v-if="isNewView"
4
- v-model:selected-row="selectedRow"
5
- v-model:pagination="pagination"
6
- :datastore="props.datastore"
7
- :get-datastore-table-func="props.getDatastoreTableFunc"
8
- :errors="errors"
9
- :selected-storage="selectedStorage"
10
- :hide-compatibility="props.hideCompatibility"
11
- @remove-error="onRemoveValidationErrors"
12
- @change-storage="changeStorage"
13
- />
14
- <common-vm-actions-common-select-storage-old
15
- v-else
16
- v-model:selected-row="selectedRow"
17
- v-model:pagination="pagination"
18
- :datastore="props.datastore"
19
- :get-datastore-table-func="props.getDatastoreTableFunc"
20
- :errors="errors"
21
- :selected-storage="selectedStorage"
22
- :hide-compatibility="props.hideCompatibility"
23
- @remove-error="onRemoveValidationErrors"
24
- @change-storage="changeStorage"
25
- />
26
- </template>
27
-
28
- <script setup lang="ts">
29
- import type {
30
- UI_I_Pagination,
31
- UI_I_TablePayload,
32
- } from '~/lib/models/table/interfaces'
33
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
34
- import type { UI_I_Localization } from '~/lib/models/interfaces'
35
-
36
- const props = defineProps<{
37
- storageSubmit: null | Function
38
- datastore: UI_I_DatastoreTableItem[]
39
- getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
40
- storage?: UI_I_DatastoreTableItem
41
- hideCompatibility?: boolean
42
- }>()
43
- const emits = defineEmits<{
44
- (event: 'submit', value: UI_I_DatastoreTableItem): void
45
- }>()
46
-
47
- const { $store }: any = useNuxtApp()
48
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
49
-
50
- const localization = computed<UI_I_Localization>(() => useLocal())
51
-
52
- const pagination = ref<UI_I_Pagination>({
53
- page: 1,
54
- pageSize: 100,
55
- })
56
- const getStorage = async (): Promise<void> => {
57
- const payload: UI_I_TablePayload = {
58
- pagination: pagination.value,
59
- sortBy: null,
60
- type: 'datastore',
61
- schema: 'full',
62
- }
63
-
64
- props.getDatastoreTableFunc(payload).then(() => {
65
- selectedRow.value = null
66
- setStorageFromProps()
67
- })
68
- }
69
- getStorage()
70
-
71
- const selectedStorage = ref<UI_I_DatastoreTableItem | null>(null)
72
- const selectedRow = ref<number | null>(null)
73
- const changeStorage = (index: number): void => {
74
- if (!props.datastore) return
75
- selectedStorage.value = props.datastore[index]
76
- selectedRow.value = index
77
- }
78
-
79
- const setStorageFromProps = (): void => {
80
- if (!props.storage) return
81
- props.datastore.forEach((item, index) => {
82
- if (item.id === props.storage.id) changeStorage(index)
83
- })
84
- }
85
- watch(
86
- () => props.storage,
87
- () => {
88
- setStorageFromProps()
89
- },
90
- { immediate: true }
91
- )
92
- watch(
93
- () => props.datastore,
94
- () => {
95
- selectedRow.value = null
96
- selectedStorage.value = null
97
- },
98
- { immediate: true }
99
- )
100
-
101
- watch(
102
- () => props.storageSubmit,
103
- (newValue) => {
104
- newValue && submit(newValue)
105
- }
106
- )
107
- const submit = (cb: Function): void => {
108
- if (!selectedStorage.value) {
109
- showValidationErrors([
110
- localization.value.common.selectValidDestinationStorage,
111
- ])
112
- cb(false)
113
- return
114
- }
115
-
116
- emits('submit', selectedStorage.value)
117
- cb(true)
118
- }
119
-
120
- const errors = ref<string[]>([])
121
- const showValidationErrors = (arr: string[]): void => {
122
- errors.value = arr
123
- }
124
- const onRemoveValidationErrors = (): void => {
125
- errors.value = []
126
- }
127
- </script>
128
-
129
- <style scoped lang="scss">
130
- </style>
1
+ <template>
2
+ <common-vm-actions-common-select-storage-new
3
+ v-if="isNewView"
4
+ v-model:selected-row="selectedRow"
5
+ v-model:pagination="pagination"
6
+ :datastore="props.datastore"
7
+ :get-datastore-table-func="props.getDatastoreTableFunc"
8
+ :errors="errors"
9
+ :selected-storage="selectedStorage"
10
+ :hide-compatibility="props.hideCompatibility"
11
+ @remove-error="onRemoveValidationErrors"
12
+ @change-storage="changeStorage"
13
+ />
14
+ <common-vm-actions-common-select-storage-old
15
+ v-else
16
+ v-model:selected-row="selectedRow"
17
+ v-model:pagination="pagination"
18
+ :datastore="props.datastore"
19
+ :get-datastore-table-func="props.getDatastoreTableFunc"
20
+ :errors="errors"
21
+ :selected-storage="selectedStorage"
22
+ :hide-compatibility="props.hideCompatibility"
23
+ @remove-error="onRemoveValidationErrors"
24
+ @change-storage="changeStorage"
25
+ />
26
+ </template>
27
+
28
+ <script setup lang="ts">
29
+ import type {
30
+ UI_I_Pagination,
31
+ UI_I_TablePayload,
32
+ } from '~/lib/models/table/interfaces'
33
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
34
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
35
+
36
+ const props = defineProps<{
37
+ storageSubmit: null | Function
38
+ datastore: UI_I_DatastoreTableItem[]
39
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
40
+ storage?: UI_I_DatastoreTableItem
41
+ hideCompatibility?: boolean
42
+ }>()
43
+ const emits = defineEmits<{
44
+ (event: 'submit', value: UI_I_DatastoreTableItem): void
45
+ }>()
46
+
47
+ const { $store }: any = useNuxtApp()
48
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
49
+
50
+ const localization = computed<UI_I_Localization>(() => useLocal())
51
+
52
+ const pagination = ref<UI_I_Pagination>({
53
+ page: 1,
54
+ pageSize: 100,
55
+ })
56
+ const getStorage = async (): Promise<void> => {
57
+ const payload: UI_I_TablePayload = {
58
+ pagination: pagination.value,
59
+ sortBy: null,
60
+ type: 'datastore',
61
+ schema: 'full',
62
+ }
63
+
64
+ props.getDatastoreTableFunc(payload).then(() => {
65
+ selectedRow.value = null
66
+ setStorageFromProps()
67
+ })
68
+ }
69
+ getStorage()
70
+
71
+ const selectedStorage = ref<UI_I_DatastoreTableItem | null>(null)
72
+ const selectedRow = ref<number | null>(null)
73
+ const changeStorage = (index: number): void => {
74
+ if (!props.datastore) return
75
+ selectedStorage.value = props.datastore[index]
76
+ selectedRow.value = index
77
+ }
78
+
79
+ const setStorageFromProps = (): void => {
80
+ if (!props.storage) return
81
+ props.datastore.forEach((item, index) => {
82
+ if (item.id === props.storage.id) changeStorage(index)
83
+ })
84
+ }
85
+ watch(
86
+ () => props.storage,
87
+ () => {
88
+ setStorageFromProps()
89
+ },
90
+ { immediate: true }
91
+ )
92
+ watch(
93
+ () => props.datastore,
94
+ () => {
95
+ selectedRow.value = null
96
+ selectedStorage.value = null
97
+ },
98
+ { immediate: true }
99
+ )
100
+
101
+ watch(
102
+ () => props.storageSubmit,
103
+ (newValue) => {
104
+ newValue && submit(newValue)
105
+ }
106
+ )
107
+ const submit = (cb: Function): void => {
108
+ if (!selectedStorage.value) {
109
+ showValidationErrors([
110
+ localization.value.common.selectValidDestinationStorage,
111
+ ])
112
+ cb(false)
113
+ return
114
+ }
115
+
116
+ emits('submit', selectedStorage.value)
117
+ cb(true)
118
+ }
119
+
120
+ const errors = ref<string[]>([])
121
+ const showValidationErrors = (arr: string[]): void => {
122
+ errors.value = arr
123
+ }
124
+ const onRemoveValidationErrors = (): void => {
125
+ errors.value = []
126
+ }
127
+ </script>
128
+
129
+ <style scoped lang="scss">
130
+ </style>