bfg-common 1.2.45 → 1.2.47

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 (203) hide show
  1. package/components/atoms/alert/Notification.vue +167 -167
  2. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  3. package/components/atoms/datepicker/Datepicker.vue +612 -612
  4. package/components/atoms/list/SelectList.vue +62 -62
  5. package/components/atoms/nav/NavBar.vue +116 -116
  6. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  7. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  8. package/components/atoms/perPage/PerPage.vue +52 -52
  9. package/components/atoms/popup/SimplePopup.vue +90 -90
  10. package/components/atoms/step/VerticalStep.vue +104 -104
  11. package/components/atoms/switch/Switch.vue +107 -107
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  13. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  14. package/components/atoms/tabs/Tabs.vue +189 -189
  15. package/components/atoms/tooltip/Signpost.vue +224 -224
  16. package/components/common/BadBrowser.vue +114 -114
  17. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  18. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  19. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  20. package/components/common/browse/Browse.vue +182 -182
  21. package/components/common/browse/blocks/Title.vue +66 -66
  22. package/components/common/diagramMain/Diagram.vue +186 -186
  23. package/components/common/diagramMain/DiagramMain.vue +986 -986
  24. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  25. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  26. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  27. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  28. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  29. package/components/common/diagramMain/network/Contents.vue +238 -238
  30. package/components/common/feedback/Buttons.vue +232 -232
  31. package/components/common/feedback/Message.vue +468 -468
  32. package/components/common/feedback/VisitPortal.vue +54 -54
  33. package/components/common/help/navbar/left/Left.vue +159 -159
  34. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  35. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  36. package/components/common/modals/Rename.vue +165 -165
  37. package/components/common/perPage/PerPage.vue +51 -51
  38. package/components/common/recursionTree/RecursionTree.vue +201 -201
  39. package/components/common/vm/actions/add/Add.vue +14 -14
  40. package/components/common/vm/actions/add/utils.ts +2 -2
  41. package/components/common/vm/actions/clone/Clone.vue +544 -545
  42. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  43. package/components/common/vm/actions/clone/utils.ts +43 -43
  44. package/components/common/vm/actions/{add → common}/config/capabilities.ts +338 -338
  45. package/components/common/vm/actions/{add → common}/customizeHardware/CustomizeHardware.vue +7 -7
  46. package/components/common/vm/actions/{add → common}/customizeHardware/models/interfaces.ts +2 -2
  47. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/VirtualHardware.vue +657 -657
  48. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/browseView/BrowseView.vue +1 -1
  49. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/bus/Bus.vue +1 -1
  50. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +8 -8
  51. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  52. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Cpu.vue +383 -383
  53. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/shares/Shares.vue +1 -1
  54. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  55. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  56. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  57. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  58. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/Location.vue +1 -1
  59. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -445
  60. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -1
  61. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +1 -1
  62. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +1 -1
  63. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +1 -1
  64. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +1 -1
  65. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  66. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -1
  67. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +1 -1
  68. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +8 -8
  69. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +1 -1
  70. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -1
  71. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/other/Other.vue +1 -1
  72. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  73. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  74. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/model/Model.vue +1 -1
  75. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -1
  76. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/Vmoptions.vue +6 -6
  77. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/BootOptions.vue +7 -7
  78. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +1 -1
  79. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -1
  80. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  81. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  82. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  83. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  84. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -1
  85. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -1
  86. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  87. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +1 -1
  88. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +2 -2
  89. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +1 -1
  90. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -1
  91. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -1
  92. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +1 -1
  93. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -1
  94. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/tools/Tools.vue +1 -1
  95. package/components/common/vm/actions/{add → common}/models/interfaces.ts +2 -2
  96. package/components/common/vm/actions/{add → common}/models/types.ts +3 -3
  97. package/components/common/vm/actions/{add → common}/select/computeResource/ComputeResource.vue +1 -1
  98. package/components/common/vm/actions/{add → common}/select/createType/CreateType.vue +1 -1
  99. package/components/common/vm/actions/{add → common}/select/models/types.ts +2 -0
  100. package/components/common/vm/actions/{add → common}/select/os/os.vue +1 -1
  101. package/components/common/vm/actions/{add → common}/select/storage/Storage.vue +1 -1
  102. package/components/common/vm/actions/{add → common}/select/storage/config/config.ts +154 -154
  103. package/components/common/vm/actions/editSettings/EditSettings.vue +4 -4
  104. package/components/common/vm/actions/editSettings/models/types.ts +2 -2
  105. package/components/common/vm/actions/editSettings/utils.ts +2 -5
  106. package/components/common/vm/actions/models/interfaces.ts +1 -1
  107. package/components/common/vm/actions/models/types.ts +1 -1
  108. package/components/common/vm/actions/utils.ts +5 -5
  109. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  110. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  111. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  112. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  113. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  114. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  115. package/composables/useLocal.ts +38 -38
  116. package/minify.js +146 -146
  117. package/models/store/interfaces.ts +37 -37
  118. package/models/store/storage/interfaces.ts +32 -32
  119. package/models/store/types.ts +32 -32
  120. package/models/store/vm/interfaces.ts +2 -2
  121. package/modules/fixContentBuild/utils/methods.ts +114 -114
  122. package/package.json +1 -1
  123. package/public/spice-console/application/codec.js +257 -257
  124. package/public/spice-console/lib/rasterEngine.js +907 -907
  125. package/public/spice-console/network/spicechannel.js +369 -369
  126. package/utils/contentBuild.ts +34 -34
  127. package/components/common/vm/actions/clone/readyToComplete/ReadyToComplete.vue +0 -15
  128. /package/components/common/vm/actions/{add → common}/customizeHardware/config/navItems.ts +0 -0
  129. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/browseView/models/interfaces.ts +0 -0
  130. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/bus/config/options.ts +0 -0
  131. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +0 -0
  132. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +0 -0
  133. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +0 -0
  134. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +0 -0
  135. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/config/binaryOptions.ts +0 -0
  136. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/config/dropdownItems.ts +0 -0
  137. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +0 -0
  138. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/CpuModel.vue +0 -0
  139. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Hv.vue +0 -0
  140. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Iommu.vue +0 -0
  141. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/MaxCpu.vue +0 -0
  142. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Pc.vue +0 -0
  143. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Sa.vue +0 -0
  144. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +0 -0
  145. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/shares/config/options.ts +0 -0
  146. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +0 -0
  147. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +0 -0
  148. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/models/interfaces.ts +0 -0
  149. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/models/types.ts +0 -0
  150. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +0 -0
  151. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +0 -0
  152. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +0 -0
  153. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +0 -0
  154. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +0 -0
  155. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +0 -0
  156. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +0 -0
  157. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/Location.vue +0 -0
  158. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +0 -0
  159. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +0 -0
  160. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/config/options.ts +0 -0
  161. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +0 -0
  162. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +0 -0
  163. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +0 -0
  164. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +0 -0
  165. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +0 -0
  166. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newUsbController/config/options.ts +0 -0
  167. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/other/InputDevices.vue +0 -0
  168. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/reservation/config/options.ts +0 -0
  169. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/Graphics.vue +0 -0
  170. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +0 -0
  171. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/config/options.ts +0 -0
  172. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/model/config/options.ts +0 -0
  173. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +0 -0
  174. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/Menu.vue +0 -0
  175. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/Secure.vue +0 -0
  176. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +0 -0
  177. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +0 -0
  178. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +0 -0
  179. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/models/interfaces.ts +0 -0
  180. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +0 -0
  181. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +0 -0
  182. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +0 -0
  183. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +0 -0
  184. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +0 -0
  185. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +0 -0
  186. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +0 -0
  187. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +0 -0
  188. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +0 -0
  189. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +0 -0
  190. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +0 -0
  191. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +0 -0
  192. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +0 -0
  193. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +0 -0
  194. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +0 -0
  195. /package/components/common/vm/actions/{add → common}/models/enums.ts +0 -0
  196. /package/components/common/vm/actions/{add → common}/readyToComplete/ReadyToComplete.vue +0 -0
  197. /package/components/common/vm/actions/{add → common}/select/compatibility/Compatibility.vue +0 -0
  198. /package/components/common/vm/actions/{add → common}/select/computeResource/ComputeResource.spec.ts +0 -0
  199. /package/components/common/vm/actions/{add → common}/select/computeResource/TreeView.vue +0 -0
  200. /package/components/common/vm/actions/{add → common}/select/createType/config/items.ts +0 -0
  201. /package/components/common/vm/actions/{add → common}/select/models/interfaces.ts +0 -0
  202. /package/components/common/vm/actions/{add → common}/select/name/Name.vue +0 -0
  203. /package/components/common/vm/actions/{add → common}/select/storage/models/types.ts +0 -0
@@ -1,316 +1,316 @@
1
- <template>
2
- <div class="hardware-memory">
3
- <atoms-stack-block :has-children="true">
4
- <template #stackBlockKey>
5
- <div id="vm-wizard-toggle-block-memory" class="flex-align-center">
6
- <span>{{ localization.memory }}</span>
7
- <atoms-the-icon
8
- v-show="memoryInvalid"
9
- width="24px"
10
- height="24px"
11
- class="is-error tooltip-trigger"
12
- name="info"
13
- />
14
- </div>
15
- </template>
16
- <template #stackBlockContent>
17
- <div class="flex-align-center">
18
- <atoms-tooltip-error
19
- :has-error="!!memorySizeLocalAndApiErrorsTexts"
20
- selector="#vm-wizard-memory-field input"
21
- @remove="onRemoveValidationError"
22
- >
23
- <template #elem>
24
- <atoms-combobox
25
- id="vm-wizard-memory-field"
26
- v-model="selectedMemory"
27
- :items="memoryOptions"
28
- :disabled="isMemoryDisabled"
29
- class="input-text-color"
30
- @click.stop
31
- @select="onSelectMemory"
32
- />
33
- </template>
34
- <template #content>{{ memorySizeLocalAndApiErrorsTexts }}</template>
35
- </atoms-tooltip-error>
36
-
37
- <div class="select ml-1">
38
- <select
39
- id="vm-wizard-memory-type-select"
40
- v-model="memoryType"
41
- class="input-text-color"
42
- @click.stop
43
- >
44
- <option
45
- v-for="(item, key) in memoryTypeOptions"
46
- :key="key"
47
- :value="item.value"
48
- >
49
- {{ item.text }}
50
- </option>
51
- </select>
52
- </div>
53
- </div>
54
- </template>
55
- <template #stackChildren>
56
- <common-vm-actions-add-customize-hardware-virtual-hardware-reservation
57
- v-model:reservation="reservation"
58
- v-model:reservation-type="reservationType"
59
- v-model:reserve-guest-memory="reserveGuestMemory"
60
- :error-validation-fields="props.errorValidationFields"
61
- :multiply="2"
62
- :disabled="isDisabled"
63
- component-type="memory"
64
- type="mb"
65
- class="memory-reservation"
66
- @remove-error-by-title="emits('remove-error-by-title', $event)"
67
- @invalid="reservationInvalid = $event"
68
- />
69
- <common-vm-actions-add-customize-hardware-virtual-hardware-limit
70
- v-model:limit="limit"
71
- v-model:limit-type="limitType"
72
- :error-validation-fields="props.errorValidationFields"
73
- :limit-options="limitOptions"
74
- :multiply="2"
75
- :disabled="isDisabled"
76
- type="mb"
77
- component-type="memory"
78
- class="memory-limit"
79
- @invalid="limitInvalid = $event"
80
- @remove-error-by-title="emits('remove-error-by-title', $event)"
81
- />
82
- <common-vm-actions-add-customize-hardware-virtual-hardware-memory-hot-plug
83
- v-model:memory-hot-plug="memoryHotPlug"
84
- :disabled="isDisabledMemoryHotPlug"
85
- />
86
- </template>
87
- </atoms-stack-block>
88
- </div>
89
- </template>
90
-
91
- <script setup lang="ts">
92
- import { API_UI_I_VmEditMemory } from '~/models/store/vm/interfaces'
93
- import { UI_I_SendDataMemory } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces'
94
- import { UI_I_Localization } from '~/models/interfaces'
95
- import { UI_I_ErrorValidationField } from '~/models/store/interfaces'
96
- import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
97
- import {
98
- memoryOptionsFunc,
99
- memoryTypeOptionsFunc,
100
- } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/config/memoryOptions'
101
-
102
- const props = defineProps<{
103
- maxMemory: number
104
- isEdit: boolean
105
- errorValidationFields: UI_I_ErrorValidationField[]
106
- state?: string | number
107
- memory?: API_UI_I_VmEditMemory
108
- }>()
109
- const emits = defineEmits<{
110
- (event: 'send-data', value: UI_I_SendDataMemory): void
111
- (event: 'invalid', value: boolean): void
112
- (event: 'remove-error-by-title', value: string): void
113
- }>()
114
-
115
- const localization = computed<UI_I_Localization>(() => useLocal())
116
- const { $binary } = useNuxtApp()
117
-
118
- const minMemoryInMb = 128
119
- watch(
120
- () => props.maxMemory,
121
- (newValue) => {
122
- memoryOptions.value = memoryOptionsFunc(
123
- localization.value,
124
- minMemoryInMb,
125
- newValue
126
- )
127
- }
128
- )
129
-
130
- const isDisabled = computed<boolean>(() => {
131
- return props.state === 2
132
- })
133
-
134
- const isMemoryDisabled = computed<boolean>(
135
- () => isDisabled.value && !memoryHotPlug.value
136
- )
137
-
138
- const selectedMemory = ref<number>(4)
139
- watch(selectedMemory, (newValue) => {
140
- const valueInt = parseInt('' + newValue)
141
- selectedMemory.value = isNaN(valueInt) ? 0 : valueInt
142
- })
143
- const memoryType = ref<string>('gb')
144
- const memoryTypeOptions = ref<UI_I_OptionItem[]>(
145
- memoryTypeOptionsFunc(localization.value)
146
- )
147
- const memoryInMb = computed<number>(() => {
148
- if (memoryType.value === 'mb') {
149
- return +selectedMemory.value
150
- }
151
-
152
- return $binary.universalFromTo(+selectedMemory.value, memoryType.value, 'mb')
153
- })
154
-
155
- const memoryOptions = ref<UI_I_OptionItem[]>(
156
- memoryOptionsFunc(localization.value, minMemoryInMb, props.maxMemory)
157
- )
158
- const onSelectMemory = ({
159
- value,
160
- type,
161
- }: {
162
- value: number
163
- type: string
164
- }): void => {
165
- selectedMemory.value = value
166
- if (memoryType.value !== type) {
167
- memoryType.value = type
168
- }
169
- // if (memoryType.value === 'mb') {
170
- // selectedMemory.value = mb
171
- // return
172
- // }
173
- //
174
- // selectedMemory.value = $binary.universalFromTo(mb, 'mb', memoryType.value, 12)
175
- }
176
-
177
- const memoryErrorLocalText = computed<string>(() => {
178
- const validValue = /^\d+(\.\d+)?$/.test(selectedMemory.value + '')
179
- if (!validValue) {
180
- return localization.value.inputContainsInvalidCharacters
181
- }
182
-
183
- const maxMemoryInGb = $binary.mbToGb(props.maxMemory)
184
- if (memoryInMb.value < minMemoryInMb || memoryInMb.value > props.maxMemory) {
185
- return localization.value.memoryMustBe
186
- .replace('{0}', `${minMemoryInMb} ${localization.value.mb}`)
187
- .replace('{1}', `${maxMemoryInGb} ${localization.value.gb}`)
188
- }
189
-
190
- if (memoryInMb.value % 2 !== 0) {
191
- return localization.value.valueShouldMultiple.replace(
192
- '{0}',
193
- `${2} ${localization.value.mb}`
194
- )
195
- }
196
- return ''
197
- })
198
-
199
- const apiErrorLocal = computed<string>(() => {
200
- return (
201
- props.errorValidationFields?.find(
202
- (message) => message.field === 'memory.size_mb'
203
- )?.error_message || ''
204
- )
205
- })
206
-
207
- const memorySizeLocalAndApiErrorsTexts = computed<string>(() => {
208
- const localError = memoryErrorLocalText.value
209
- const apiError = apiErrorLocal.value
210
-
211
- let result = ''
212
- if (localError && !apiError) result = localError
213
- if (apiError && !localError) result = apiError
214
- if (localError && apiError) result = localError + ', ' + apiError
215
- if (!localError && apiError) result = apiError
216
-
217
- return result
218
- })
219
-
220
- const reservationInvalid = ref<boolean>(false)
221
- const limitInvalid = ref<boolean>(false)
222
- const memoryInvalid = computed<boolean>(
223
- () =>
224
- !!memorySizeLocalAndApiErrorsTexts.value ||
225
- reservationInvalid.value ||
226
- limitInvalid.value
227
- )
228
- watch(
229
- memoryInvalid,
230
- (newValue) => {
231
- emits('invalid', newValue)
232
- },
233
- { immediate: true }
234
- )
235
-
236
- const reservation = ref<string>('2')
237
- watch(reservation, (newValue) => {
238
- const valueInt = parseInt('' + newValue)
239
- reservation.value = isNaN(valueInt) ? '0' : '' + valueInt
240
- })
241
- const reservationType = ref<string>('mb')
242
- const reserveGuestMemory = ref<boolean>(false)
243
-
244
- const limit = ref<string>('Unlimited')
245
- watch(limit, (newValue) => {
246
- const valueInt = parseInt('' + newValue)
247
- limit.value !== 'Unlimited' &&
248
- (limit.value = isNaN(valueInt) ? '0' : '' + valueInt)
249
- })
250
- const limitType = ref<string>('mb')
251
- const limitOptions = computed<UI_I_OptionItem[] | undefined>(() => {
252
- if (memoryHotPlug.value)
253
- return memoryOptionsFunc(
254
- localization.value,
255
- memoryInMb.value,
256
- props.maxMemory
257
- )
258
- })
259
-
260
- const memoryHotPlug = ref<boolean>(false)
261
- const isDisabledMemoryHotPlug = computed<boolean>(
262
- () => memoryInMb.value >= props.maxMemory || isDisabled.value
263
- )
264
- watch(isDisabledMemoryHotPlug, (newValue) => {
265
- if (newValue) memoryHotPlug.value = false
266
- })
267
-
268
- watch(
269
- [memoryInMb, memoryHotPlug, reservation, reservationType, limit, limitType],
270
- () => {
271
- const reservationInMb =
272
- reservationType.value === 'mb'
273
- ? reservation.value
274
- : '' +
275
- $binary.universalFromTo(
276
- reservation.value,
277
- reservationType.value,
278
- 'mb',
279
- 12
280
- )
281
- const limitInMb =
282
- limit.value === 'Unlimited'
283
- ? limit.value
284
- : limitType.value === 'gb'
285
- ? $binary.gbToMb(+limit.value)
286
- : +limit.value
287
- emits('send-data', {
288
- memory: '' + memoryInMb.value,
289
- hotplug: memoryHotPlug.value,
290
- reservation_mb: reservationInMb,
291
- limit_mb: limitInMb,
292
- })
293
- },
294
- { immediate: true }
295
- )
296
-
297
- // Добавляем данные для редактирования
298
- watch(
299
- () => props.memory,
300
- (newValue) => {
301
- if (!newValue) return
302
-
303
- selectedMemory.value = $binary.mbToGb(newValue.size_mb)
304
- reservation.value = '' + newValue.reservation_mb
305
- limit.value = '' + newValue.limit_mb
306
- memoryHotPlug.value = newValue.hotplug
307
- },
308
- { immediate: true }
309
- )
310
-
311
- const onRemoveValidationError = (): void => {
312
- emits('remove-error-by-title', 'memory.size_mb')
313
- }
314
- </script>
315
-
316
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="hardware-memory">
3
+ <atoms-stack-block :has-children="true">
4
+ <template #stackBlockKey>
5
+ <div id="vm-wizard-toggle-block-memory" class="flex-align-center">
6
+ <span>{{ localization.memory }}</span>
7
+ <atoms-the-icon
8
+ v-show="memoryInvalid"
9
+ width="24px"
10
+ height="24px"
11
+ class="is-error tooltip-trigger"
12
+ name="info"
13
+ />
14
+ </div>
15
+ </template>
16
+ <template #stackBlockContent>
17
+ <div class="flex-align-center">
18
+ <atoms-tooltip-error
19
+ :has-error="!!memorySizeLocalAndApiErrorsTexts"
20
+ selector="#vm-wizard-memory-field input"
21
+ @remove="onRemoveValidationError"
22
+ >
23
+ <template #elem>
24
+ <atoms-combobox
25
+ id="vm-wizard-memory-field"
26
+ v-model="selectedMemory"
27
+ :items="memoryOptions"
28
+ :disabled="isMemoryDisabled"
29
+ class="input-text-color"
30
+ @click.stop
31
+ @select="onSelectMemory"
32
+ />
33
+ </template>
34
+ <template #content>{{ memorySizeLocalAndApiErrorsTexts }}</template>
35
+ </atoms-tooltip-error>
36
+
37
+ <div class="select ml-1">
38
+ <select
39
+ id="vm-wizard-memory-type-select"
40
+ v-model="memoryType"
41
+ class="input-text-color"
42
+ @click.stop
43
+ >
44
+ <option
45
+ v-for="(item, key) in memoryTypeOptions"
46
+ :key="key"
47
+ :value="item.value"
48
+ >
49
+ {{ item.text }}
50
+ </option>
51
+ </select>
52
+ </div>
53
+ </div>
54
+ </template>
55
+ <template #stackChildren>
56
+ <common-vm-actions-common-customize-hardware-virtual-hardware-reservation
57
+ v-model:reservation="reservation"
58
+ v-model:reservation-type="reservationType"
59
+ v-model:reserve-guest-memory="reserveGuestMemory"
60
+ :error-validation-fields="props.errorValidationFields"
61
+ :multiply="2"
62
+ :disabled="isDisabled"
63
+ component-type="memory"
64
+ type="mb"
65
+ class="memory-reservation"
66
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
67
+ @invalid="reservationInvalid = $event"
68
+ />
69
+ <common-vm-actions-common-customize-hardware-virtual-hardware-limit
70
+ v-model:limit="limit"
71
+ v-model:limit-type="limitType"
72
+ :error-validation-fields="props.errorValidationFields"
73
+ :limit-options="limitOptions"
74
+ :multiply="2"
75
+ :disabled="isDisabled"
76
+ type="mb"
77
+ component-type="memory"
78
+ class="memory-limit"
79
+ @invalid="limitInvalid = $event"
80
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
81
+ />
82
+ <common-vm-actions-common-customize-hardware-virtual-hardware-memory-hot-plug
83
+ v-model:memory-hot-plug="memoryHotPlug"
84
+ :disabled="isDisabledMemoryHotPlug"
85
+ />
86
+ </template>
87
+ </atoms-stack-block>
88
+ </div>
89
+ </template>
90
+
91
+ <script setup lang="ts">
92
+ import { API_UI_I_VmEditMemory } from '~/models/store/vm/interfaces'
93
+ import { UI_I_SendDataMemory } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/models/interfaces'
94
+ import { UI_I_Localization } from '~/models/interfaces'
95
+ import { UI_I_ErrorValidationField } from '~/models/store/interfaces'
96
+ import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
97
+ import {
98
+ memoryOptionsFunc,
99
+ memoryTypeOptionsFunc,
100
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/config/memoryOptions'
101
+
102
+ const props = defineProps<{
103
+ maxMemory: number
104
+ isEdit: boolean
105
+ errorValidationFields: UI_I_ErrorValidationField[]
106
+ state?: string | number
107
+ memory?: API_UI_I_VmEditMemory
108
+ }>()
109
+ const emits = defineEmits<{
110
+ (event: 'send-data', value: UI_I_SendDataMemory): void
111
+ (event: 'invalid', value: boolean): void
112
+ (event: 'remove-error-by-title', value: string): void
113
+ }>()
114
+
115
+ const localization = computed<UI_I_Localization>(() => useLocal())
116
+ const { $binary } = useNuxtApp()
117
+
118
+ const minMemoryInMb = 128
119
+ watch(
120
+ () => props.maxMemory,
121
+ (newValue) => {
122
+ memoryOptions.value = memoryOptionsFunc(
123
+ localization.value,
124
+ minMemoryInMb,
125
+ newValue
126
+ )
127
+ }
128
+ )
129
+
130
+ const isDisabled = computed<boolean>(() => {
131
+ return props.state === 2
132
+ })
133
+
134
+ const isMemoryDisabled = computed<boolean>(
135
+ () => isDisabled.value && !memoryHotPlug.value
136
+ )
137
+
138
+ const selectedMemory = ref<number>(4)
139
+ watch(selectedMemory, (newValue) => {
140
+ const valueInt = parseInt('' + newValue)
141
+ selectedMemory.value = isNaN(valueInt) ? 0 : valueInt
142
+ })
143
+ const memoryType = ref<string>('gb')
144
+ const memoryTypeOptions = ref<UI_I_OptionItem[]>(
145
+ memoryTypeOptionsFunc(localization.value)
146
+ )
147
+ const memoryInMb = computed<number>(() => {
148
+ if (memoryType.value === 'mb') {
149
+ return +selectedMemory.value
150
+ }
151
+
152
+ return $binary.universalFromTo(+selectedMemory.value, memoryType.value, 'mb')
153
+ })
154
+
155
+ const memoryOptions = ref<UI_I_OptionItem[]>(
156
+ memoryOptionsFunc(localization.value, minMemoryInMb, props.maxMemory)
157
+ )
158
+ const onSelectMemory = ({
159
+ value,
160
+ type,
161
+ }: {
162
+ value: number
163
+ type: string
164
+ }): void => {
165
+ selectedMemory.value = value
166
+ if (memoryType.value !== type) {
167
+ memoryType.value = type
168
+ }
169
+ // if (memoryType.value === 'mb') {
170
+ // selectedMemory.value = mb
171
+ // return
172
+ // }
173
+ //
174
+ // selectedMemory.value = $binary.universalFromTo(mb, 'mb', memoryType.value, 12)
175
+ }
176
+
177
+ const memoryErrorLocalText = computed<string>(() => {
178
+ const validValue = /^\d+(\.\d+)?$/.test(selectedMemory.value + '')
179
+ if (!validValue) {
180
+ return localization.value.inputContainsInvalidCharacters
181
+ }
182
+
183
+ const maxMemoryInGb = $binary.mbToGb(props.maxMemory)
184
+ if (memoryInMb.value < minMemoryInMb || memoryInMb.value > props.maxMemory) {
185
+ return localization.value.memoryMustBe
186
+ .replace('{0}', `${minMemoryInMb} ${localization.value.mb}`)
187
+ .replace('{1}', `${maxMemoryInGb} ${localization.value.gb}`)
188
+ }
189
+
190
+ if (memoryInMb.value % 2 !== 0) {
191
+ return localization.value.valueShouldMultiple.replace(
192
+ '{0}',
193
+ `${2} ${localization.value.mb}`
194
+ )
195
+ }
196
+ return ''
197
+ })
198
+
199
+ const apiErrorLocal = computed<string>(() => {
200
+ return (
201
+ props.errorValidationFields?.find(
202
+ (message) => message.field === 'memory.size_mb'
203
+ )?.error_message || ''
204
+ )
205
+ })
206
+
207
+ const memorySizeLocalAndApiErrorsTexts = computed<string>(() => {
208
+ const localError = memoryErrorLocalText.value
209
+ const apiError = apiErrorLocal.value
210
+
211
+ let result = ''
212
+ if (localError && !apiError) result = localError
213
+ if (apiError && !localError) result = apiError
214
+ if (localError && apiError) result = localError + ', ' + apiError
215
+ if (!localError && apiError) result = apiError
216
+
217
+ return result
218
+ })
219
+
220
+ const reservationInvalid = ref<boolean>(false)
221
+ const limitInvalid = ref<boolean>(false)
222
+ const memoryInvalid = computed<boolean>(
223
+ () =>
224
+ !!memorySizeLocalAndApiErrorsTexts.value ||
225
+ reservationInvalid.value ||
226
+ limitInvalid.value
227
+ )
228
+ watch(
229
+ memoryInvalid,
230
+ (newValue) => {
231
+ emits('invalid', newValue)
232
+ },
233
+ { immediate: true }
234
+ )
235
+
236
+ const reservation = ref<string>('2')
237
+ watch(reservation, (newValue) => {
238
+ const valueInt = parseInt('' + newValue)
239
+ reservation.value = isNaN(valueInt) ? '0' : '' + valueInt
240
+ })
241
+ const reservationType = ref<string>('mb')
242
+ const reserveGuestMemory = ref<boolean>(false)
243
+
244
+ const limit = ref<string>('Unlimited')
245
+ watch(limit, (newValue) => {
246
+ const valueInt = parseInt('' + newValue)
247
+ limit.value !== 'Unlimited' &&
248
+ (limit.value = isNaN(valueInt) ? '0' : '' + valueInt)
249
+ })
250
+ const limitType = ref<string>('mb')
251
+ const limitOptions = computed<UI_I_OptionItem[] | undefined>(() => {
252
+ if (memoryHotPlug.value)
253
+ return memoryOptionsFunc(
254
+ localization.value,
255
+ memoryInMb.value,
256
+ props.maxMemory
257
+ )
258
+ })
259
+
260
+ const memoryHotPlug = ref<boolean>(false)
261
+ const isDisabledMemoryHotPlug = computed<boolean>(
262
+ () => memoryInMb.value >= props.maxMemory || isDisabled.value
263
+ )
264
+ watch(isDisabledMemoryHotPlug, (newValue) => {
265
+ if (newValue) memoryHotPlug.value = false
266
+ })
267
+
268
+ watch(
269
+ [memoryInMb, memoryHotPlug, reservation, reservationType, limit, limitType],
270
+ () => {
271
+ const reservationInMb =
272
+ reservationType.value === 'mb'
273
+ ? reservation.value
274
+ : '' +
275
+ $binary.universalFromTo(
276
+ reservation.value,
277
+ reservationType.value,
278
+ 'mb',
279
+ 12
280
+ )
281
+ const limitInMb =
282
+ limit.value === 'Unlimited'
283
+ ? limit.value
284
+ : limitType.value === 'gb'
285
+ ? $binary.gbToMb(+limit.value)
286
+ : +limit.value
287
+ emits('send-data', {
288
+ memory: '' + memoryInMb.value,
289
+ hotplug: memoryHotPlug.value,
290
+ reservation_mb: reservationInMb,
291
+ limit_mb: limitInMb,
292
+ })
293
+ },
294
+ { immediate: true }
295
+ )
296
+
297
+ // Добавляем данные для редактирования
298
+ watch(
299
+ () => props.memory,
300
+ (newValue) => {
301
+ if (!newValue) return
302
+
303
+ selectedMemory.value = $binary.mbToGb(newValue.size_mb)
304
+ reservation.value = '' + newValue.reservation_mb
305
+ limit.value = '' + newValue.limit_mb
306
+ memoryHotPlug.value = newValue.hotplug
307
+ },
308
+ { immediate: true }
309
+ )
310
+
311
+ const onRemoveValidationError = (): void => {
312
+ emits('remove-error-by-title', 'memory.size_mb')
313
+ }
314
+ </script>
315
+
316
+ <style scoped lang="scss"></style>