bfg-common 1.5.19 → 1.5.21

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 (229) 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/scss/common/normalize.scss +339 -361
  7. package/assets/scss/common/utilities.scss +1 -1
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/autocomplete/Autocomplete.vue +3 -3
  10. package/components/atoms/collapse/CollapseNav.vue +165 -165
  11. package/components/atoms/combobox/Combobox.vue +1 -1
  12. package/components/atoms/datepicker/Datepicker.vue +1 -1
  13. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  14. package/components/atoms/list/dragDropList/DragDropList.vue +1 -1
  15. package/components/atoms/loader/Loader.vue +1 -1
  16. package/components/atoms/loader/PreLoader.vue +1 -1
  17. package/components/atoms/modal/Modal.vue +2 -2
  18. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  19. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +1 -1
  20. package/components/atoms/perPage/PerPage.vue +58 -58
  21. package/components/atoms/popover/Popover.vue +1 -1
  22. package/components/atoms/popup/SimplePopup.vue +1 -1
  23. package/components/atoms/select/TheSelect.vue +1 -1
  24. package/components/atoms/stack/StackBlock.vue +185 -185
  25. package/components/atoms/table/compact/Compact.vue +5 -5
  26. package/components/atoms/table/dataGrid/DataGrid.vue +4 -4
  27. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  28. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  29. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  30. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  31. package/components/atoms/tooltip/Signpost.vue +1 -1
  32. package/components/atoms/tooltip/Text.vue +1 -1
  33. package/components/atoms/tooltip/Tooltip.vue +1 -1
  34. package/components/atoms/tooltip/TooltipError.vue +1 -1
  35. package/components/atoms/wizard/Wizard.vue +2 -2
  36. package/components/common/accordion/Accordion.vue +1 -1
  37. package/components/common/accordion/Recursion.vue +222 -222
  38. package/components/common/adapterManager/AddAdapterModal.vue +1 -1
  39. package/components/common/browse/BrowseNew.vue +237 -237
  40. package/components/common/browse/BrowseOld.vue +217 -217
  41. package/components/common/browse/blocks/Container.vue +1 -1
  42. package/components/common/browse/blocks/contents/Files.vue +37 -37
  43. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  44. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  45. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  46. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  47. package/components/common/browse/lib/models/interfaces.ts +5 -5
  48. package/components/common/chartOptionsModal/counters/timespan/form/Form.vue +97 -97
  49. package/components/common/chartOptionsModal/counters/timespan/form/Form.vue~ +281 -0
  50. package/components/common/context/Context.vue +111 -111
  51. package/components/common/context/lib/models/interfaces.ts +31 -31
  52. package/components/common/context/recursion/Recursion.vue +87 -87
  53. package/components/common/context/recursion/RecursionNew.vue +238 -238
  54. package/components/common/context/recursion/RecursionOld.vue +228 -228
  55. package/components/common/details/DetailsItem.vue +109 -109
  56. package/components/common/diagramMain/DiagramMain.vue +897 -897
  57. package/components/common/diagramMain/Header.vue +214 -214
  58. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  59. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  60. package/components/common/diagramMain/lib/models/types.ts +21 -21
  61. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  62. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  63. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  64. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  65. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  66. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  67. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  68. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  69. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  70. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  71. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  72. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  73. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  74. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  75. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  76. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  77. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  78. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  79. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  80. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  81. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  82. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  83. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +1 -1
  84. package/components/common/diagramMain/port/Ports.vue +47 -47
  85. package/components/common/feedback/Buttons.vue +1 -1
  86. package/components/common/feedback/Feedback.vue +1 -1
  87. package/components/common/feedback/Message.vue +3 -3
  88. package/components/common/graph/Graph.vue +104 -104
  89. package/components/common/help/navbar/left/Left.vue +1 -1
  90. package/components/common/layout/theHeader/TheHeaderNew.vue +1 -1
  91. package/components/common/layout/theHeader/TheHeaderOld.vue +1 -1
  92. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  93. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  94. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  95. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  96. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  97. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  98. package/components/common/monitor/advanced/graphView/GraphViewOld.vue +1 -1
  99. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +1 -1
  100. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  101. package/components/common/monitor/resourceAllocation/resourceAllocation.vue +1 -1
  102. package/components/common/pages/home/StatusContent.vue +49 -49
  103. package/components/common/pages/home/headline/Headline.vue +45 -45
  104. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  105. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  106. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  107. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  108. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  109. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  110. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  111. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  112. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  113. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  114. package/components/common/pages/packages/Packages.vue +208 -208
  115. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  116. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  117. package/components/common/pages/tasks/Tasks.vue +1 -1
  118. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  119. package/components/common/portlets/tag/Portlet.vue +433 -433
  120. package/components/common/recursionTree/RecursionTree.vue +223 -223
  121. package/components/common/select/button/ButtonDropdown.vue +108 -108
  122. package/components/common/spiceConsole/Drawer.vue +370 -370
  123. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  124. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  125. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  126. package/components/common/split/vertical/Vertical.vue +160 -160
  127. package/components/common/split/vertical/VerticalNew.vue +2 -2
  128. package/components/common/split/vertical/VerticalOld.vue +1 -1
  129. package/components/common/tools/Actions.vue +188 -188
  130. package/components/common/vm/actions/add/Add.vue +622 -622
  131. package/components/common/vm/actions/clone/Clone.vue +639 -639
  132. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  133. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  134. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  135. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  136. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  137. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  153. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  154. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  155. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  156. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  157. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  158. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  159. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  160. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  161. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  162. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  163. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  164. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  165. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  166. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  167. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  168. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  169. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  170. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  171. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  172. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  173. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  174. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  175. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  176. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  177. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  178. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  179. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  180. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  181. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  182. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  183. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  184. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  185. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  186. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  187. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  188. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  189. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  190. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  191. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  192. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  193. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  194. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  195. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  196. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  197. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  198. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  199. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  200. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  201. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  202. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  203. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  204. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  205. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  206. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  207. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  208. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  209. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  210. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/DeletePopover.vue +1 -1
  211. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  212. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +1 -1
  213. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  214. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  215. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  216. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  217. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  218. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  219. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  220. package/composables/productNameLocal.ts +30 -30
  221. package/composables/useAppVersion.ts +21 -21
  222. package/package.json +2 -2
  223. package/plugins/date.ts +233 -233
  224. package/plugins/directives.ts +24 -24
  225. package/public/spice-console/lib/images/bitmap.js +203 -203
  226. package/public/spice-console/network/spicechannel.js +383 -383
  227. package/store/main/mutations.ts +7 -7
  228. package/store/main/state.ts +7 -7
  229. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,44 +1,44 @@
1
- <template>
2
- <ui-stack-block :has-children="false">
3
- <template #stackBlockKey>
4
- {{ localization.common.sharing }}
5
- </template>
6
- <template #stackBlockContent>
7
- <ui-select
8
- :id="`vm-wizard-disk-device-sharing-field-${props.index}`"
9
- v-model="sharing"
10
- width="auto"
11
- :disabled="props.disabled"
12
- :items="props.sharingOptions"
13
- :class="`vm-wizard-disk-device-sharing-field-${props.index} sharing`"
14
- :test-id="`vm-wizard-disk-device-sharing-field-${props.index}`"
15
- @click.stop
16
- />
17
- </template>
18
- </ui-stack-block>
19
- </template>
20
-
21
- <script setup lang="ts">
22
- import type { UI_I_Localization } from '~/lib/models/interfaces'
23
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
24
-
25
- const sharing = defineModel<string>('sharing')
26
-
27
- const props = defineProps<{
28
- index: number
29
- disabled: boolean
30
- errorText: string
31
- sharingOptions: UI_I_OptionItem[]
32
- }>()
33
- // const emits = defineEmits<{
34
- // (event: 'remove-error'): void
35
- // }>()
36
-
37
- const localization = computed<UI_I_Localization>(() => useLocal())
38
- </script>
39
-
40
- <style scoped>
41
- :deep(.sharing .ui-main-select-toggle) {
42
- width: 144px;
43
- }
44
- </style>
1
+ <template>
2
+ <ui-stack-block :has-children="false">
3
+ <template #stackBlockKey>
4
+ {{ localization.common.sharing }}
5
+ </template>
6
+ <template #stackBlockContent>
7
+ <ui-select
8
+ :id="`vm-wizard-disk-device-sharing-field-${props.index}`"
9
+ v-model="sharing"
10
+ width="auto"
11
+ :disabled="props.disabled"
12
+ :items="props.sharingOptions"
13
+ :class="`vm-wizard-disk-device-sharing-field-${props.index} sharing`"
14
+ :test-id="`vm-wizard-disk-device-sharing-field-${props.index}`"
15
+ @click.stop
16
+ />
17
+ </template>
18
+ </ui-stack-block>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
23
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
24
+
25
+ const sharing = defineModel<string>('sharing')
26
+
27
+ const props = defineProps<{
28
+ index: number
29
+ disabled: boolean
30
+ errorText: string
31
+ sharingOptions: UI_I_OptionItem[]
32
+ }>()
33
+ // const emits = defineEmits<{
34
+ // (event: 'remove-error'): void
35
+ // }>()
36
+
37
+ const localization = computed<UI_I_Localization>(() => useLocal())
38
+ </script>
39
+
40
+ <style scoped>
41
+ :deep(.sharing .ui-main-select-toggle) {
42
+ width: 144px;
43
+ }
44
+ </style>
@@ -1,286 +1,286 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-new
3
- v-if="isNewView"
4
- v-model:selected-location="selectedLocation"
5
- v-model:adapter-type="adapterType"
6
- v-model:mac-address="macAddress"
7
- v-model:mac-address-type="macAddressType"
8
- v-model:new-network-invalid="newNetworkInvalid"
9
- :index="props.index"
10
- :type="props.type"
11
- :networks-table="props.networksTable"
12
- :error-validation-fields="props.errorValidationFields"
13
- :is-removable="isRemovable"
14
- :label="label"
15
- :error-text="apiError"
16
- :type-error="typeError"
17
- :location-options="locationOptions"
18
- :is-running="isRunning"
19
- :location-modal-is-show="locationModalIsShow"
20
- :state="props.state"
21
- @remove="emits('remove')"
22
- @remove-error-by-title="onRemoveValidationError"
23
- @change-location="changeLocation"
24
- @hide-location-modal="onHideLocationModal"
25
- @select-location="onSelectLocation"
26
- />
27
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-old
28
- v-else
29
- v-model:selected-location="selectedLocation"
30
- v-model:adapter-type="adapterType"
31
- v-model:mac-address="macAddress"
32
- v-model:mac-address-type="macAddressType"
33
- v-model:new-network-invalid="newNetworkInvalid"
34
- :index="props.index"
35
- :type="props.type"
36
- :networks-table="props.networksTable"
37
- :error-validation-fields="props.errorValidationFields"
38
- :is-removable="isRemovable"
39
- :label="label"
40
- :error-text="apiError"
41
- :type-error="typeError"
42
- :location-options="locationOptions"
43
- :is-running="isRunning"
44
- :location-modal-is-show="locationModalIsShow"
45
- :state="props.state"
46
- @remove="emits('remove')"
47
- @remove-error-by-title="onRemoveValidationError"
48
- @change-location="changeLocation"
49
- @hide-location-modal="onHideLocationModal"
50
- @select-location="onSelectLocation"
51
- />
52
- </template>
53
-
54
- <script setup lang="ts">
55
- import type { UI_T_Project } from '~/lib/models/types'
56
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
57
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
58
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
59
- import type { UI_I_SendDataNewNetwork } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
60
- import type { UI_T_NetworkType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
61
- import type {
62
- UI_I_Localization,
63
- UI_I_HTMLSelectElement,
64
- } from '~/lib/models/interfaces'
65
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
66
-
67
- const props = defineProps<{
68
- project: UI_T_Project
69
- index: number
70
- type: UI_T_NetworkType
71
- network: UI_I_SendDataNewNetwork
72
- networksTable: UI_I_NetworkTableItem[]
73
- errorValidationFields: UI_I_ErrorValidationField[]
74
- isEdit: boolean
75
- state?: string | number
76
- }>()
77
- const emits = defineEmits<{
78
- (event: 'send-data', value: UI_I_SendDataNewNetwork): void
79
- (event: 'invalid', value: boolean): void
80
- (event: 'remove'): void
81
- (event: 'remove-error-by-title', value: string): void
82
- (event: 'get-networks-table', value: UI_I_TablePayload): void
83
- }>()
84
-
85
- const { $store }: any = useNuxtApp()
86
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
87
-
88
- const localization = computed<UI_I_Localization>(() => useLocal())
89
-
90
- const isRunning = computed<boolean>(() => {
91
- return props.state === 2
92
- })
93
-
94
- const isRemovable = computed<boolean>(() => {
95
- return (
96
- !props.isEdit ||
97
- !isRunning.value ||
98
- (isRunning.value && adapterType.value === 'virtio')
99
- )
100
- })
101
-
102
- const label = computed<string>(() => {
103
- if (props.type === 'edit')
104
- return `${localization.value.common.networkAdapter} ${props.index + 1}`
105
-
106
- return `${localization.value.common.newNetwork} *`
107
- })
108
-
109
- // const removeNetwork = (): void => {
110
- // emits('remove')
111
- // }
112
-
113
- const selectedLocationOld = ref<string>('')
114
- const selectedLocation = ref<string>('')
115
- const locationOptions = ref<UI_I_OptionItem[]>([])
116
-
117
- const getNetworks = (): void => {
118
- // if (props.networksTable.length) return // Из-за этого кода был баг. Открыть визард вм -> создать сеть -> открыть визард вм и в списке сетей нету новой сети
119
-
120
- const payload: UI_I_TablePayload = {
121
- pagination: {
122
- page: 1,
123
- pageSize: 100,
124
- },
125
- schema: 'full',
126
- type: 'network',
127
- sortBy: null,
128
- }
129
- emits('get-networks-table', payload)
130
- }
131
- getNetworks()
132
-
133
- const newNetworkInvalid = ref<boolean>(false)
134
- watch(
135
- newNetworkInvalid,
136
- (newValue) => {
137
- emits('invalid', newValue)
138
- },
139
- { immediate: true }
140
- )
141
-
142
- watch(
143
- () => props.networksTable,
144
- (newValue) => {
145
- const isExistValue = newValue.some(
146
- (network) => network.net_bridge === selectedLocation.value
147
- )
148
- if (!newValue.length) {
149
- locationOptions.value = [
150
- {
151
- text: localization.value.vmWizard.noAvailableNetworks,
152
- value: 'noAvailableNetworks',
153
- },
154
- ]
155
- selectedLocation.value = 'noAvailableNetworks'
156
- newNetworkInvalid.value = true
157
- return
158
- }
159
- newNetworkInvalid.value = false
160
-
161
- if (props.type === 'edit' || isExistValue) return
162
-
163
- selectedLocationOld.value = newValue[0].net_bridge
164
- selectedLocation.value = newValue[0].net_bridge
165
-
166
- locationOptions.value = [
167
- { text: newValue[0].name, value: newValue[0].net_bridge },
168
- { text: `${localization.value.common.browse}...`, value: '' },
169
- ]
170
- },
171
- { immediate: true }
172
- )
173
-
174
- const locationModalIsShow = ref<boolean>(false)
175
- const onHideLocationModal = (): void => {
176
- locationModalIsShow.value = false
177
- selectedLocation.value = selectedLocationOld.value
178
- }
179
- const changeLocation = (event: UI_I_HTMLSelectElement): void => {
180
- const value = event.target.value
181
- if (value === '') {
182
- locationModalIsShow.value = true
183
- return
184
- }
185
-
186
- selectedLocationOld.value = value
187
- selectedLocation.value = value
188
- // netBridge.value = value
189
- }
190
- const onSelectLocation = (network: UI_I_NetworkTableItem): void => {
191
- locationModalIsShow.value = false
192
-
193
- selectedLocationOld.value = network.net_bridge
194
- selectedLocation.value = network.net_bridge
195
-
196
- const hasNetwork = locationOptions.value.some(
197
- (option) => option.value === network.net_bridge
198
- )
199
- if (hasNetwork) {
200
- return
201
- }
202
-
203
- locationOptions.value = [
204
- ...locationOptions.value.slice(0, -1),
205
- { text: network.name, value: network.net_bridge },
206
- locationOptions.value[locationOptions.value.length - 1],
207
- ]
208
- }
209
-
210
- const adapterType = ref<string>('rtl8139')
211
-
212
- const target = ref<string>('')
213
-
214
- const macAddress = ref<string>('')
215
- const macAddressType = ref<string>('automatic')
216
-
217
- watch(
218
- [selectedLocation, adapterType, macAddress, macAddressType, locationOptions],
219
- () => {
220
- const option = locationOptions.value.find(
221
- (option) => option.value === selectedLocation.value
222
- )
223
- if (!option) return
224
-
225
- emits('send-data', {
226
- network: option.text,
227
- // net_bridge: props.project === 'procurator' ? option.value : '',
228
- net_bridge: option.value,
229
- target: target.value,
230
- model: adapterType.value,
231
- mac: macAddress.value,
232
- boot_order: props.network.boot_order,
233
- })
234
- },
235
- { immediate: true }
236
- )
237
-
238
- // Добавляем данные для редактирования
239
- watch(
240
- () => props.network,
241
- (newValue) => {
242
- // if (props.type !== 'edit') return
243
- if (props.type !== 'edit' && props.type !== 'clone') return
244
-
245
- locationOptions.value = [
246
- { text: newValue.network, value: newValue.net_bridge },
247
- { text: `${localization.value.common.browse}...`, value: '' },
248
- ]
249
- selectedLocation.value = newValue.net_bridge
250
-
251
- adapterType.value = newValue.model
252
- target.value = newValue.target
253
- // Сбрасываем mac address при клонировании
254
- macAddress.value = props.type === 'clone' ? '' : newValue.mac
255
- },
256
- { immediate: true }
257
- )
258
-
259
- watch(
260
- isRunning,
261
- (newValue) => {
262
- if (newValue && props.type === 'new') {
263
- adapterType.value = 'virtio'
264
- }
265
- },
266
- { immediate: true }
267
- )
268
-
269
- const typeError = computed<string>(
270
- () => `network_devices[${props.index}].network`
271
- )
272
-
273
- const apiError = computed<string>(() => {
274
- return (
275
- props.errorValidationFields?.find(
276
- (message) => message.field === typeError.value
277
- )?.error_message || ''
278
- )
279
- })
280
-
281
- const onRemoveValidationError = (): void => {
282
- emits('remove-error-by-title', typeError.value)
283
- }
284
- </script>
285
-
286
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-new
3
+ v-if="isNewView"
4
+ v-model:selected-location="selectedLocation"
5
+ v-model:adapter-type="adapterType"
6
+ v-model:mac-address="macAddress"
7
+ v-model:mac-address-type="macAddressType"
8
+ v-model:new-network-invalid="newNetworkInvalid"
9
+ :index="props.index"
10
+ :type="props.type"
11
+ :networks-table="props.networksTable"
12
+ :error-validation-fields="props.errorValidationFields"
13
+ :is-removable="isRemovable"
14
+ :label="label"
15
+ :error-text="apiError"
16
+ :type-error="typeError"
17
+ :location-options="locationOptions"
18
+ :is-running="isRunning"
19
+ :location-modal-is-show="locationModalIsShow"
20
+ :state="props.state"
21
+ @remove="emits('remove')"
22
+ @remove-error-by-title="onRemoveValidationError"
23
+ @change-location="changeLocation"
24
+ @hide-location-modal="onHideLocationModal"
25
+ @select-location="onSelectLocation"
26
+ />
27
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-old
28
+ v-else
29
+ v-model:selected-location="selectedLocation"
30
+ v-model:adapter-type="adapterType"
31
+ v-model:mac-address="macAddress"
32
+ v-model:mac-address-type="macAddressType"
33
+ v-model:new-network-invalid="newNetworkInvalid"
34
+ :index="props.index"
35
+ :type="props.type"
36
+ :networks-table="props.networksTable"
37
+ :error-validation-fields="props.errorValidationFields"
38
+ :is-removable="isRemovable"
39
+ :label="label"
40
+ :error-text="apiError"
41
+ :type-error="typeError"
42
+ :location-options="locationOptions"
43
+ :is-running="isRunning"
44
+ :location-modal-is-show="locationModalIsShow"
45
+ :state="props.state"
46
+ @remove="emits('remove')"
47
+ @remove-error-by-title="onRemoveValidationError"
48
+ @change-location="changeLocation"
49
+ @hide-location-modal="onHideLocationModal"
50
+ @select-location="onSelectLocation"
51
+ />
52
+ </template>
53
+
54
+ <script setup lang="ts">
55
+ import type { UI_T_Project } from '~/lib/models/types'
56
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
57
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
58
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
59
+ import type { UI_I_SendDataNewNetwork } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
60
+ import type { UI_T_NetworkType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
61
+ import type {
62
+ UI_I_Localization,
63
+ UI_I_HTMLSelectElement,
64
+ } from '~/lib/models/interfaces'
65
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
66
+
67
+ const props = defineProps<{
68
+ project: UI_T_Project
69
+ index: number
70
+ type: UI_T_NetworkType
71
+ network: UI_I_SendDataNewNetwork
72
+ networksTable: UI_I_NetworkTableItem[]
73
+ errorValidationFields: UI_I_ErrorValidationField[]
74
+ isEdit: boolean
75
+ state?: string | number
76
+ }>()
77
+ const emits = defineEmits<{
78
+ (event: 'send-data', value: UI_I_SendDataNewNetwork): void
79
+ (event: 'invalid', value: boolean): void
80
+ (event: 'remove'): void
81
+ (event: 'remove-error-by-title', value: string): void
82
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
83
+ }>()
84
+
85
+ const { $store }: any = useNuxtApp()
86
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
87
+
88
+ const localization = computed<UI_I_Localization>(() => useLocal())
89
+
90
+ const isRunning = computed<boolean>(() => {
91
+ return props.state === 2
92
+ })
93
+
94
+ const isRemovable = computed<boolean>(() => {
95
+ return (
96
+ !props.isEdit ||
97
+ !isRunning.value ||
98
+ (isRunning.value && adapterType.value === 'virtio')
99
+ )
100
+ })
101
+
102
+ const label = computed<string>(() => {
103
+ if (props.type === 'edit')
104
+ return `${localization.value.common.networkAdapter} ${props.index + 1}`
105
+
106
+ return `${localization.value.common.newNetwork} *`
107
+ })
108
+
109
+ // const removeNetwork = (): void => {
110
+ // emits('remove')
111
+ // }
112
+
113
+ const selectedLocationOld = ref<string>('')
114
+ const selectedLocation = ref<string>('')
115
+ const locationOptions = ref<UI_I_OptionItem[]>([])
116
+
117
+ const getNetworks = (): void => {
118
+ // if (props.networksTable.length) return // Из-за этого кода был баг. Открыть визард вм -> создать сеть -> открыть визард вм и в списке сетей нету новой сети
119
+
120
+ const payload: UI_I_TablePayload = {
121
+ pagination: {
122
+ page: 1,
123
+ pageSize: 100,
124
+ },
125
+ schema: 'full',
126
+ type: 'network',
127
+ sortBy: null,
128
+ }
129
+ emits('get-networks-table', payload)
130
+ }
131
+ getNetworks()
132
+
133
+ const newNetworkInvalid = ref<boolean>(false)
134
+ watch(
135
+ newNetworkInvalid,
136
+ (newValue) => {
137
+ emits('invalid', newValue)
138
+ },
139
+ { immediate: true }
140
+ )
141
+
142
+ watch(
143
+ () => props.networksTable,
144
+ (newValue) => {
145
+ const isExistValue = newValue.some(
146
+ (network) => network.net_bridge === selectedLocation.value
147
+ )
148
+ if (!newValue.length) {
149
+ locationOptions.value = [
150
+ {
151
+ text: localization.value.vmWizard.noAvailableNetworks,
152
+ value: 'noAvailableNetworks',
153
+ },
154
+ ]
155
+ selectedLocation.value = 'noAvailableNetworks'
156
+ newNetworkInvalid.value = true
157
+ return
158
+ }
159
+ newNetworkInvalid.value = false
160
+
161
+ if (props.type === 'edit' || isExistValue) return
162
+
163
+ selectedLocationOld.value = newValue[0].net_bridge
164
+ selectedLocation.value = newValue[0].net_bridge
165
+
166
+ locationOptions.value = [
167
+ { text: newValue[0].name, value: newValue[0].net_bridge },
168
+ { text: `${localization.value.common.browse}...`, value: '' },
169
+ ]
170
+ },
171
+ { immediate: true }
172
+ )
173
+
174
+ const locationModalIsShow = ref<boolean>(false)
175
+ const onHideLocationModal = (): void => {
176
+ locationModalIsShow.value = false
177
+ selectedLocation.value = selectedLocationOld.value
178
+ }
179
+ const changeLocation = (event: UI_I_HTMLSelectElement): void => {
180
+ const value = event.target.value
181
+ if (value === '') {
182
+ locationModalIsShow.value = true
183
+ return
184
+ }
185
+
186
+ selectedLocationOld.value = value
187
+ selectedLocation.value = value
188
+ // netBridge.value = value
189
+ }
190
+ const onSelectLocation = (network: UI_I_NetworkTableItem): void => {
191
+ locationModalIsShow.value = false
192
+
193
+ selectedLocationOld.value = network.net_bridge
194
+ selectedLocation.value = network.net_bridge
195
+
196
+ const hasNetwork = locationOptions.value.some(
197
+ (option) => option.value === network.net_bridge
198
+ )
199
+ if (hasNetwork) {
200
+ return
201
+ }
202
+
203
+ locationOptions.value = [
204
+ ...locationOptions.value.slice(0, -1),
205
+ { text: network.name, value: network.net_bridge },
206
+ locationOptions.value[locationOptions.value.length - 1],
207
+ ]
208
+ }
209
+
210
+ const adapterType = ref<string>('rtl8139')
211
+
212
+ const target = ref<string>('')
213
+
214
+ const macAddress = ref<string>('')
215
+ const macAddressType = ref<string>('automatic')
216
+
217
+ watch(
218
+ [selectedLocation, adapterType, macAddress, macAddressType, locationOptions],
219
+ () => {
220
+ const option = locationOptions.value.find(
221
+ (option) => option.value === selectedLocation.value
222
+ )
223
+ if (!option) return
224
+
225
+ emits('send-data', {
226
+ network: option.text,
227
+ // net_bridge: props.project === 'procurator' ? option.value : '',
228
+ net_bridge: option.value,
229
+ target: target.value,
230
+ model: adapterType.value,
231
+ mac: macAddress.value,
232
+ boot_order: props.network.boot_order,
233
+ })
234
+ },
235
+ { immediate: true }
236
+ )
237
+
238
+ // Добавляем данные для редактирования
239
+ watch(
240
+ () => props.network,
241
+ (newValue) => {
242
+ // if (props.type !== 'edit') return
243
+ if (props.type !== 'edit' && props.type !== 'clone') return
244
+
245
+ locationOptions.value = [
246
+ { text: newValue.network, value: newValue.net_bridge },
247
+ { text: `${localization.value.common.browse}...`, value: '' },
248
+ ]
249
+ selectedLocation.value = newValue.net_bridge
250
+
251
+ adapterType.value = newValue.model
252
+ target.value = newValue.target
253
+ // Сбрасываем mac address при клонировании
254
+ macAddress.value = props.type === 'clone' ? '' : newValue.mac
255
+ },
256
+ { immediate: true }
257
+ )
258
+
259
+ watch(
260
+ isRunning,
261
+ (newValue) => {
262
+ if (newValue && props.type === 'new') {
263
+ adapterType.value = 'virtio'
264
+ }
265
+ },
266
+ { immediate: true }
267
+ )
268
+
269
+ const typeError = computed<string>(
270
+ () => `network_devices[${props.index}].network`
271
+ )
272
+
273
+ const apiError = computed<string>(() => {
274
+ return (
275
+ props.errorValidationFields?.find(
276
+ (message) => message.field === typeError.value
277
+ )?.error_message || ''
278
+ )
279
+ })
280
+
281
+ const onRemoveValidationError = (): void => {
282
+ emits('remove-error-by-title', typeError.value)
283
+ }
284
+ </script>
285
+
286
+ <style scoped lang="scss"></style>