bfg-common 1.5.82 → 1.5.84

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 (210) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/scss/common/normalize.scss +339 -339
  3. package/components/atoms/TheIcon3.vue +50 -50
  4. package/components/atoms/collapse/CollapseNav.vue +165 -165
  5. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  6. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  7. package/components/atoms/perPage/PerPage.vue +58 -58
  8. package/components/atoms/stack/StackBlock.vue +185 -185
  9. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  10. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  11. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  12. package/components/atoms/table/info/Info.vue +5 -11
  13. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  14. package/components/atoms/tooltip/Signpost.vue +227 -227
  15. package/components/common/browse/BrowseNew.vue +237 -237
  16. package/components/common/browse/BrowseOld.vue +217 -217
  17. package/components/common/browse/blocks/contents/Files.vue +37 -37
  18. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  19. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/context/Context.vue +111 -111
  22. package/components/common/context/lib/models/interfaces.ts +31 -31
  23. package/components/common/context/recursion/Recursion.vue +87 -87
  24. package/components/common/context/recursion/RecursionNew.vue +238 -238
  25. package/components/common/context/recursion/RecursionOld.vue +228 -228
  26. package/components/common/details/DetailsItem.vue +109 -109
  27. package/components/common/diagramMain/DiagramMain.vue +897 -897
  28. package/components/common/diagramMain/Header.vue +214 -214
  29. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  30. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  31. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  32. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  33. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  34. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  35. package/components/common/pages/home/headline/Headline.vue +45 -45
  36. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  37. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  38. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  39. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  40. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  41. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  42. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  43. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  44. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  45. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  46. package/components/common/pages/packages/Packages.vue +208 -208
  47. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  48. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  49. package/components/common/portlets/tag/Portlet.vue +433 -433
  50. package/components/common/readyToComplete/New.vue +66 -66
  51. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  52. package/components/common/recursionTree/RecursionTree.vue +223 -223
  53. package/components/common/select/button/ButtonDropdown.vue +108 -108
  54. package/components/common/spiceConsole/Drawer.vue +370 -370
  55. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  56. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  57. package/components/common/split/vertical/Vertical.vue +160 -160
  58. package/components/common/tools/Actions.vue +202 -202
  59. package/components/common/vm/actions/add/Add.vue +785 -785
  60. package/components/common/vm/actions/add/New.vue +556 -556
  61. package/components/common/vm/actions/add/Old.vue +371 -371
  62. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  63. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  64. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  65. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  66. package/components/common/vm/actions/clone/Clone.vue +798 -798
  67. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  68. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +626 -626
  69. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +272 -272
  72. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +468 -410
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +118 -117
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +165 -164
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +1 -0
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocketNew.vue +1 -0
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/maxCpu/MaxCpuNew.vue +1 -0
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +1 -0
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +2 -0
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/LimitNew.vue +2 -0
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +2 -0
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +233 -232
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/CacheNew.vue +1 -0
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIopsNew.vue +2 -0
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeNew.vue +1 -0
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +1 -0
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +45 -44
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +125 -124
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterTypeNew.vue +1 -0
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +70 -69
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +85 -84
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +82 -81
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +57 -56
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +2 -0
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +105 -104
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/ModelNew.vue +1 -0
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplaysNew.vue +1 -0
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/DelayNew.vue +1 -0
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +43 -42
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +144 -141
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +40 -39
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -38
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  158. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  159. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +100 -100
  160. package/components/common/vm/actions/common/select/compatibility/New.vue +165 -165
  161. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  162. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  163. package/components/common/vm/actions/common/select/computeResource/New.vue +141 -141
  164. package/components/common/vm/actions/common/select/computeResource/Old.vue +99 -99
  165. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  166. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +48 -48
  167. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  168. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  169. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  170. package/components/common/vm/actions/common/select/createType/Old.vue +70 -70
  171. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  172. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  173. package/components/common/vm/actions/common/select/name/New.vue +246 -246
  174. package/components/common/vm/actions/common/select/name/Old.vue +119 -119
  175. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  176. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  177. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  178. package/components/common/vm/actions/common/select/storage/Old.vue +129 -129
  179. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  180. package/components/common/vm/actions/common/select/storage/new/New.vue +189 -189
  181. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +326 -326
  182. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  183. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  184. package/components/common/vm/actions/common/select/template/Template.vue +64 -64
  185. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  186. package/components/common/vm/actions/editSettings/lib/config/modal.ts +1 -1
  187. package/components/common/vm/actions/editSettings/new/New.vue +185 -179
  188. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  189. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  190. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  191. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  192. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  193. package/components/common/wizards/vm/migrate/Migrate.vue +11 -10
  194. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  195. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -111
  196. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -57
  197. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  198. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  199. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  200. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  201. package/composables/productNameLocal.ts +30 -30
  202. package/composables/useAppVersion.ts +21 -21
  203. package/package.json +1 -1
  204. package/plugins/date.ts +233 -233
  205. package/plugins/directives.ts +24 -24
  206. package/public/spice-console/lib/images/bitmap.js +203 -203
  207. package/public/spice-console/network/spicechannel.js +383 -383
  208. package/store/main/mutations.ts +7 -7
  209. package/store/main/state.ts +7 -7
  210. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,232 +1,233 @@
1
- <template>
2
- <ui-stack-block
3
- :has-children="true"
4
- :is-roll-back="props.type === 'removed'"
5
- :removable="props.isRemovable"
6
- :test-id="`hard-disk-stack-block-${props.index}`"
7
- @remove="emits('remove')"
8
- @roll-back="emits('roll-back')"
9
- >
10
- <template #stackBlockKey>
11
- <div
12
- :id="`vm-wizard-toggle-block-hard-disk-${props.index}`"
13
- :data-id="`vm-wizard-toggle-block-hard-disk-${props.index}`"
14
- class="vm-wizard-toggle-block-hard-disk flex-align-center"
15
- >
16
- <span class="title">{{ props.label }}</span>
17
- <ui-icon
18
- v-show="props.hardDiskInvalid"
19
- width="18px"
20
- height="18px"
21
- name="error-outline"
22
- />
23
- </div>
24
- </template>
25
- <template #stackBlockContent>
26
- <!-- <div class="flex-align-center flex-space-between mr-1">-->
27
- <div class="new-hard-disk-content flex-align-center">
28
- <template v-if="props.type === 'removed'">
29
- <span>{{ localization.common.deviceWillRemoved }}</span>
30
- <div class="flex-align-center" @click.stop>
31
- <ui-checkbox
32
- v-model="deleteFilesFromDatastore"
33
- :test-id="`hard-disk-delete-files-from-datastore-${props.index}`"
34
- :disabled="props.disabled"
35
- :label-text="localization.common.deleteFilesFromDatastore"
36
- />
37
- </div>
38
- </template>
39
- <template v-else>
40
- <ui-input-with-tooltip
41
- :id="`vm-wizard-hard-disk-${props.index}`"
42
- v-model.number="size"
43
- :test-id="`vm-wizard-hard-disk-${props.index}`"
44
- :disabled="props.isDisabledSize"
45
- :class="[
46
- 'spinfree edit-setting-input input-text-color',
47
- { 'has-error': props.hardDiskTypeErrorLocalText },
48
- ]"
49
- :error-text="props.errorText"
50
- input-style="rounded"
51
- type="number"
52
- size="md"
53
- @blur="emits('validate-size')"
54
- @click.stop
55
- />
56
-
57
- <ui-select
58
- :id="`hard-disk-type-select-${props.index}`"
59
- v-model="hardDiskType"
60
- width="auto"
61
- :items="props.hardDiskTypeOptions"
62
- :disabled="props.type === 'exist'"
63
- :test-id="`hard-disk-type-select-${props.index}`"
64
- class="unit"
65
- @change="emits('validate-size')"
66
- @click.stop
67
- />
68
- </template>
69
- </div>
70
- </template>
71
- <template #stackChildren>
72
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size
73
- :free-mb="props.maxHardDisk"
74
- />
75
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location
76
- v-if="props.isNewType"
77
- :location="props.location"
78
- :index="props.index"
79
- :error-validation-fields="props.errorValidationFields"
80
- :get-datastore-table-func="props.getDatastoreTableFunc"
81
- :datastore="props.datastore"
82
- @change="emits('change-storage', $event)"
83
- @remove-error-by-title="emits('remove-error-by-title', $event)"
84
- />
85
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-file
86
- v-else
87
- :path="props.hardDisk?.source"
88
- />
89
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-provisioning
90
- v-model:disk-provisioning="diskProvisioning"
91
- :index="props.index"
92
- :error-validation-fields="props.errorValidationFields"
93
- :disabled="(props.isEdit && !props.isNewType) || props.isRunning"
94
- @remove-error-by-title="emits('remove-error-by-title', $event)"
95
- />
96
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-sharing
97
- v-model:sharing="sharing"
98
- :index="props.index"
99
- :error-validation-fields="props.errorValidationFields"
100
- :disabled="props.isRunning && !props.isNewType"
101
- @remove-error-by-title="emits('remove-error-by-title', $event)"
102
- />
103
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-limit-iops
104
- v-model:limit-iops="limitIops"
105
- v-model:limit-iops-type="limitIopsType"
106
- :index="props.index"
107
- :error-validation-fields="props.errorValidationFields"
108
- :disabled="props.isRunning && !props.isNewType"
109
- @valid="limitIopsInvalid = $event"
110
- @remove-error-by-title="emits('remove-error-by-title', $event)"
111
- />
112
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-mode
113
- v-model:disk-mode="diskMode"
114
- :index="props.index"
115
- :error-validation-fields="props.errorValidationFields"
116
- :disabled="props.isRunning && !props.isNewType"
117
- @remove-error-by-title="emits('remove-error-by-title', $event)"
118
- />
119
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-cache
120
- v-model:cache="cache"
121
- :index="props.index"
122
- :error-validation-fields="props.errorValidationFields"
123
- :disabled="(props.isEdit && !props.isNewType) || props.isRunning"
124
- @remove-error-by-title="emits('remove-error-by-title', $event)"
125
- />
126
- <common-vm-actions-common-customize-hardware-virtual-hardware-bus
127
- v-model:bus="bus"
128
- :index="props.index"
129
- :error-validation-fields="props.errorValidationFields"
130
- :disabled="!props.isNewHardDisk && props.isRunning"
131
- :help-text="localization.common.busVirtioHelpDesc"
132
- :test-id="`vm-wizard-disk-bus-field-${props.index}`"
133
- component-type="disk_devices"
134
- :guest-machine-type="props.guestMachineType"
135
- :compute-resource="props.computeResource"
136
- @remove-error-by-title="emits('remove-error-by-title', $event)"
137
- />
138
- </template>
139
- </ui-stack-block>
140
- </template>
141
-
142
- <script setup lang="ts">
143
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
144
- import type { UI_I_SendDataNewHardDisk } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
145
- import type { UI_T_HardDiskType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
146
- import type { UI_I_Localization } from '~/lib/models/interfaces'
147
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
148
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
149
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
150
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
151
-
152
- const deleteFilesFromDatastore = defineModel<boolean>(
153
- 'deleteFilesFromDatastore',
154
- { required: true }
155
- )
156
- const size = defineModel<number>('size', { required: true })
157
- const hardDiskType = defineModel<number>('hardDiskType', { required: true })
158
- const diskProvisioning = defineModel<string>('diskProvisioning', {
159
- required: true,
160
- })
161
- const sharing = defineModel<string>('sharing', { required: true })
162
- const limitIops = defineModel<number>('limitIops', { required: true })
163
- const limitIopsType = defineModel<string>('limitIopsType', { required: true })
164
- const limitIopsInvalid = defineModel<boolean>('limitIopsInvalid', {
165
- required: true,
166
- })
167
- const diskMode = defineModel<string>('diskMode', { required: true })
168
- const cache = defineModel<string>('cache', { required: true })
169
- const bus = defineModel<string>('bus', { required: true })
170
-
171
- const props = defineProps<{
172
- isRemovable: boolean
173
- label: string
174
- hardDiskInvalid: boolean
175
- disabled: boolean
176
- errorText: string
177
- hardDiskTypeErrorLocalText: string
178
- isDisabledSize: boolean
179
- hardDiskTypeOptions: UI_I_OptionItem[]
180
- maxHardDisk: number
181
- location: UI_I_DatastoreTableItem | null
182
- isRunning: boolean
183
- isNewHardDisk: boolean
184
- isEdit: boolean
185
- datastore: UI_I_DatastoreTableItem[]
186
- getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
187
- errorValidationFields: UI_I_ErrorValidationField<string>[]
188
- index: number
189
- type: UI_T_HardDiskType
190
- hardDisk: UI_I_SendDataNewHardDisk
191
- guestMachineType?: UI_I_OptionItem | null
192
- isNewType?: boolean
193
- computeResource?: UI_I_TreeNode | null
194
- }>()
195
- const emits = defineEmits<{
196
- (event: 'remove'): void
197
- (event: 'roll-back'): void
198
- (event: 'validate-size'): void
199
- (event: 'change-storage', value: UI_I_DatastoreTableItem): void
200
- (event: 'remove-error-by-title', value: string): void
201
- }>()
202
-
203
- const localization = computed<UI_I_Localization>(() => useLocal())
204
- </script>
205
-
206
- <style scoped lang="scss">
207
- .title {
208
- margin-right: 10px;
209
- }
210
-
211
- .new-hard-disk-content {
212
- gap: 8px;
213
- }
214
-
215
- :deep(.ui-main-select-toggle) {
216
- display: flex;
217
- justify-content: space-between;
218
- width: 108px;
219
- }
220
- .light-theme {
221
- :deep(.ui-main-select-toggle) {
222
- background-color: #ffffff;
223
- }
224
- }
225
-
226
- :deep(.unit .ui-main-select-toggle) {
227
- width: 80px;
228
- }
229
- :deep(.ui-main.ui-main-sm .ui-main-input) {
230
- height: 26px;
231
- }
232
- </style>
1
+ <template>
2
+ <ui-stack-block
3
+ :has-children="true"
4
+ :is-roll-back="props.type === 'removed'"
5
+ :removable="props.isRemovable"
6
+ :test-id="`hard-disk-stack-block-${props.index}`"
7
+ @remove="emits('remove')"
8
+ @roll-back="emits('roll-back')"
9
+ >
10
+ <template #stackBlockKey>
11
+ <div
12
+ :id="`vm-wizard-toggle-block-hard-disk-${props.index}`"
13
+ :data-id="`vm-wizard-toggle-block-hard-disk-${props.index}`"
14
+ class="vm-wizard-toggle-block-hard-disk flex-align-center"
15
+ >
16
+ <span class="title">{{ props.label }}</span>
17
+ <ui-icon
18
+ v-show="props.hardDiskInvalid"
19
+ width="18px"
20
+ height="18px"
21
+ name="error-outline"
22
+ />
23
+ </div>
24
+ </template>
25
+ <template #stackBlockContent>
26
+ <!-- <div class="flex-align-center flex-space-between mr-1">-->
27
+ <div class="new-hard-disk-content flex-align-center">
28
+ <template v-if="props.type === 'removed'">
29
+ <span>{{ localization.common.deviceWillRemoved }}</span>
30
+ <div class="flex-align-center" @click.stop>
31
+ <ui-checkbox
32
+ v-model="deleteFilesFromDatastore"
33
+ :test-id="`hard-disk-delete-files-from-datastore-${props.index}`"
34
+ :disabled="props.disabled"
35
+ :label-text="localization.common.deleteFilesFromDatastore"
36
+ />
37
+ </div>
38
+ </template>
39
+ <template v-else>
40
+ <ui-input-with-tooltip
41
+ :id="`vm-wizard-hard-disk-${props.index}`"
42
+ v-model.number="size"
43
+ :test-id="`vm-wizard-hard-disk-${props.index}`"
44
+ :disabled="props.isDisabledSize"
45
+ :class="[
46
+ 'spinfree edit-setting-input input-text-color',
47
+ { 'has-error': props.hardDiskTypeErrorLocalText },
48
+ ]"
49
+ :error-text="props.errorText"
50
+ input-style="rounded"
51
+ type="number"
52
+ size="md"
53
+ @blur="emits('validate-size')"
54
+ @click.stop
55
+ />
56
+
57
+ <ui-select
58
+ :id="`hard-disk-type-select-${props.index}`"
59
+ v-model="hardDiskType"
60
+ width="auto"
61
+ :items="props.hardDiskTypeOptions"
62
+ :disabled="props.type === 'exist'"
63
+ :test-id="`hard-disk-type-select-${props.index}`"
64
+ class="unit"
65
+ size="sm"
66
+ @change="emits('validate-size')"
67
+ @click.stop
68
+ />
69
+ </template>
70
+ </div>
71
+ </template>
72
+ <template #stackChildren>
73
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size
74
+ :free-mb="props.maxHardDisk"
75
+ />
76
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location
77
+ v-if="props.isNewType"
78
+ :location="props.location"
79
+ :index="props.index"
80
+ :error-validation-fields="props.errorValidationFields"
81
+ :get-datastore-table-func="props.getDatastoreTableFunc"
82
+ :datastore="props.datastore"
83
+ @change="emits('change-storage', $event)"
84
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
85
+ />
86
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-file
87
+ v-else
88
+ :path="props.hardDisk?.source"
89
+ />
90
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-provisioning
91
+ v-model:disk-provisioning="diskProvisioning"
92
+ :index="props.index"
93
+ :error-validation-fields="props.errorValidationFields"
94
+ :disabled="(props.isEdit && !props.isNewType) || props.isRunning"
95
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
96
+ />
97
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-sharing
98
+ v-model:sharing="sharing"
99
+ :index="props.index"
100
+ :error-validation-fields="props.errorValidationFields"
101
+ :disabled="props.isRunning && !props.isNewType"
102
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
103
+ />
104
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-limit-iops
105
+ v-model:limit-iops="limitIops"
106
+ v-model:limit-iops-type="limitIopsType"
107
+ :index="props.index"
108
+ :error-validation-fields="props.errorValidationFields"
109
+ :disabled="props.isRunning && !props.isNewType"
110
+ @valid="limitIopsInvalid = $event"
111
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
112
+ />
113
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-mode
114
+ v-model:disk-mode="diskMode"
115
+ :index="props.index"
116
+ :error-validation-fields="props.errorValidationFields"
117
+ :disabled="props.isRunning && !props.isNewType"
118
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
119
+ />
120
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-cache
121
+ v-model:cache="cache"
122
+ :index="props.index"
123
+ :error-validation-fields="props.errorValidationFields"
124
+ :disabled="(props.isEdit && !props.isNewType) || props.isRunning"
125
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
126
+ />
127
+ <common-vm-actions-common-customize-hardware-virtual-hardware-bus
128
+ v-model:bus="bus"
129
+ :index="props.index"
130
+ :error-validation-fields="props.errorValidationFields"
131
+ :disabled="!props.isNewHardDisk && props.isRunning"
132
+ :help-text="localization.common.busVirtioHelpDesc"
133
+ :test-id="`vm-wizard-disk-bus-field-${props.index}`"
134
+ component-type="disk_devices"
135
+ :guest-machine-type="props.guestMachineType"
136
+ :compute-resource="props.computeResource"
137
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
138
+ />
139
+ </template>
140
+ </ui-stack-block>
141
+ </template>
142
+
143
+ <script setup lang="ts">
144
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
145
+ import type { UI_I_SendDataNewHardDisk } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
146
+ import type { UI_T_HardDiskType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
147
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
148
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
149
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
150
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
151
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
152
+
153
+ const deleteFilesFromDatastore = defineModel<boolean>(
154
+ 'deleteFilesFromDatastore',
155
+ { required: true }
156
+ )
157
+ const size = defineModel<number>('size', { required: true })
158
+ const hardDiskType = defineModel<number>('hardDiskType', { required: true })
159
+ const diskProvisioning = defineModel<string>('diskProvisioning', {
160
+ required: true,
161
+ })
162
+ const sharing = defineModel<string>('sharing', { required: true })
163
+ const limitIops = defineModel<number>('limitIops', { required: true })
164
+ const limitIopsType = defineModel<string>('limitIopsType', { required: true })
165
+ const limitIopsInvalid = defineModel<boolean>('limitIopsInvalid', {
166
+ required: true,
167
+ })
168
+ const diskMode = defineModel<string>('diskMode', { required: true })
169
+ const cache = defineModel<string>('cache', { required: true })
170
+ const bus = defineModel<string>('bus', { required: true })
171
+
172
+ const props = defineProps<{
173
+ isRemovable: boolean
174
+ label: string
175
+ hardDiskInvalid: boolean
176
+ disabled: boolean
177
+ errorText: string
178
+ hardDiskTypeErrorLocalText: string
179
+ isDisabledSize: boolean
180
+ hardDiskTypeOptions: UI_I_OptionItem[]
181
+ maxHardDisk: number
182
+ location: UI_I_DatastoreTableItem | null
183
+ isRunning: boolean
184
+ isNewHardDisk: boolean
185
+ isEdit: boolean
186
+ datastore: UI_I_DatastoreTableItem[]
187
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
188
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
189
+ index: number
190
+ type: UI_T_HardDiskType
191
+ hardDisk: UI_I_SendDataNewHardDisk
192
+ guestMachineType?: UI_I_OptionItem | null
193
+ isNewType?: boolean
194
+ computeResource?: UI_I_TreeNode | null
195
+ }>()
196
+ const emits = defineEmits<{
197
+ (event: 'remove'): void
198
+ (event: 'roll-back'): void
199
+ (event: 'validate-size'): void
200
+ (event: 'change-storage', value: UI_I_DatastoreTableItem): void
201
+ (event: 'remove-error-by-title', value: string): void
202
+ }>()
203
+
204
+ const localization = computed<UI_I_Localization>(() => useLocal())
205
+ </script>
206
+
207
+ <style scoped lang="scss">
208
+ .title {
209
+ margin-right: 10px;
210
+ }
211
+
212
+ .new-hard-disk-content {
213
+ gap: 8px;
214
+ }
215
+
216
+ :deep(.ui-main-select-toggle) {
217
+ display: flex;
218
+ justify-content: space-between;
219
+ width: 108px;
220
+ }
221
+ .light-theme {
222
+ :deep(.ui-main-select-toggle) {
223
+ background-color: #ffffff;
224
+ }
225
+ }
226
+
227
+ :deep(.unit .ui-main-select-toggle) {
228
+ width: 80px;
229
+ }
230
+ :deep(.ui-main.ui-main-sm .ui-main-input) {
231
+ height: 26px;
232
+ }
233
+ </style>