bfg-common 1.4.860 → 1.4.861

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 (198) hide show
  1. package/.idea/inspectionProfiles/Project_Default.xml +1 -2
  2. package/assets/localization/local_be.json +3009 -3012
  3. package/assets/localization/local_en.json +2 -5
  4. package/assets/localization/local_hy.json +2 -5
  5. package/assets/localization/local_kk.json +2 -5
  6. package/assets/localization/local_ru.json +2 -5
  7. package/assets/localization/local_zh.json +2 -5
  8. package/assets/scss/common/normalize.scss +361 -361
  9. package/components/atoms/TheIcon3.vue +50 -50
  10. package/components/atoms/autocomplete/Autocomplete.vue +301 -301
  11. package/components/atoms/collapse/CollapseNav.vue +164 -164
  12. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  13. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  14. package/components/atoms/stack/StackBlock.vue +185 -185
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  16. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/browse/BrowseNew.vue +237 -237
  20. package/components/common/browse/BrowseOld.vue +217 -217
  21. package/components/common/browse/blocks/contents/Files.vue +37 -37
  22. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  23. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  24. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  25. package/components/common/chartOptionsModal/counters/timespan/form/Form.vue +313 -40
  26. package/components/common/context/Context.vue +111 -111
  27. package/components/common/context/lib/models/interfaces.ts +30 -30
  28. package/components/common/context/recursion/Recursion.vue +87 -87
  29. package/components/common/context/recursion/RecursionOld.vue +227 -227
  30. package/components/common/details/DetailsItem.vue +109 -109
  31. package/components/common/graph/Graph.vue +104 -104
  32. package/components/common/graph/GraphOld.vue +31 -50
  33. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  34. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  35. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  36. package/components/common/monitor/advanced/Advanced.vue +3 -0
  37. package/components/common/monitor/advanced/AdvancedNew.vue +2 -0
  38. package/components/common/monitor/advanced/AdvancedOld.vue +2 -0
  39. package/components/common/monitor/advanced/graphView/GraphView.vue +18 -16
  40. package/components/common/monitor/advanced/tools/Tools.vue +3 -0
  41. package/components/common/monitor/advanced/tools/ToolsNew.vue +2 -0
  42. package/components/common/monitor/advanced/tools/ToolsOld.vue +2 -0
  43. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +114 -113
  44. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +20 -13
  45. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +79 -28
  46. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +56 -75
  47. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +58 -19
  48. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/{tableOld/lib → lib}/config/tableConfig.ts +1 -1
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +47 -71
  51. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +26 -21
  52. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +29 -17
  53. package/components/common/monitor/overview/Overview.vue +221 -224
  54. package/components/common/monitor/overview/OverviewNew.vue +142 -142
  55. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  56. package/components/common/monitor/overview/filters/Filters.vue +166 -166
  57. package/components/common/monitor/overview/filters/FiltersNew.vue +172 -172
  58. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
  59. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -175
  60. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue +181 -186
  61. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -161
  62. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +30 -26
  63. package/components/common/pages/home/StatusContent.vue +49 -49
  64. package/components/common/pages/home/headline/Headline.vue +45 -45
  65. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  66. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  67. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  68. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  69. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  70. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  71. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  72. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  73. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  74. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  75. package/components/common/pages/packages/Packages.vue +208 -208
  76. package/components/common/recursionTree/RecursionTree.vue +223 -223
  77. package/components/common/select/button/ButtonDropdown.vue +108 -108
  78. package/components/common/spiceConsole/Drawer.vue +370 -370
  79. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  80. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  81. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  82. package/components/common/split/vertical/Vertical.vue +160 -160
  83. package/components/common/vm/actions/add/Add.vue +621 -621
  84. package/components/common/vm/actions/clone/Clone.vue +639 -639
  85. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  86. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  87. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  88. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +364 -364
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +229 -229
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +247 -247
  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/sharing/SharingNew.vue +44 -44
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +283 -283
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  152. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  153. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  154. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  155. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  156. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  157. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  158. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  159. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  160. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  161. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  162. package/composables/productNameLocal.ts +30 -30
  163. package/composables/useAppVersion.ts +21 -21
  164. package/package.json +2 -2
  165. package/plugins/date.ts +233 -233
  166. package/plugins/recursion.ts +311 -311
  167. package/public/spice-console/lib/images/bitmap.js +203 -203
  168. package/public/spice-console/network/spicechannel.js +383 -383
  169. package/store/main/mutations.ts +7 -7
  170. package/store/main/state.ts +7 -7
  171. package/store/tasks/mappers/recentTasks.ts +64 -64
  172. package/components/common/chartOptionsModal/counters/timespan/form/FormNew.vue +0 -241
  173. package/components/common/chartOptionsModal/counters/timespan/form/FormOld.vue +0 -372
  174. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalNew.vue +0 -190
  175. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalOld.vue +0 -189
  176. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationNew.vue +0 -20
  177. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationOld.vue +0 -27
  178. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsNew.vue +0 -160
  179. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsOld.vue +0 -114
  180. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +0 -97
  181. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersOld.vue +0 -110
  182. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/TableNew.vue +0 -46
  183. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/config/options.ts +0 -19
  184. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/config/tableData.ts +0 -71
  185. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/utils/constructTable.ts +0 -29
  186. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableOld/TableOld.vue +0 -85
  187. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/TimespanNew.vue +0 -150
  188. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/TimespanOld.vue +0 -95
  189. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/ObjectNew.vue +0 -56
  190. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/lib/config/options.ts +0 -25
  191. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/lib/config/tableData.ts +0 -47
  192. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/lib/utils/constructTable.ts +0 -22
  193. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectOld/ObjectOld.vue +0 -84
  194. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/MetricsOld.vue +0 -32
  195. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/metricsNew/MetricsNew.vue +0 -101
  196. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/metricsNew/lib/utils/constructAccordion.ts +0 -32
  197. package/lib/utils/date.ts +0 -12
  198. /package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/{tableOld/lib → lib}/models/types.ts +0 -0
@@ -1,220 +1,220 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_MigrateReadyBlockData } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
3
- import type { UI_I_MigrateFormLocal } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
4
- import {
5
- UI_E_VmMigrationStrategy,
6
- UI_E_VmMigrationType,
7
- } from '~/components/common/wizards/vm/migrate/lib/models/enums'
8
- import { UI_E_SelectStorageDiskFormat } from '~/components/common/wizards/vm/migrate/select/storage/lib/models/enums'
9
- import { virtualDiskFormatOptionsFunc } from '~/components/common/wizards/vm/migrate/select/storage/configure/batch/config/virtualDiskFormat'
10
- const migrateOnlyStorageDataView = (
11
- localization: UI_I_Localization,
12
- form: UI_I_MigrateFormLocal,
13
- vmName: string
14
- ): UI_I_MigrateReadyBlockData[] => {
15
- const { disk_format, configure, storage } = form
16
-
17
- const isActivePerDiskTab: boolean = configure.type === 'configure-disk'
18
-
19
- const diskFormat = virtualDiskFormatOptionsFunc().find(
20
- (file) => file.value === disk_format
21
- )!
22
-
23
- let storageResult: UI_I_MigrateReadyBlockData[] = [
24
- {
25
- label: localization.common.storage,
26
- value: storage?.name,
27
- permissions: ['batch-configure'],
28
- },
29
- {
30
- label: localization.common.diskFormat,
31
- value: diskFormat.label,
32
- permissions: ['batch-configure'],
33
- },
34
- {
35
- label: vmName,
36
- value: '',
37
- permissions: ['configure-disk'],
38
- },
39
- ]
40
-
41
- if (isActivePerDiskTab && configure.disks) {
42
- const perDiskItems: UI_I_MigrateReadyBlockData[] = configure.disks.map(
43
- (disk) => {
44
- const isConfigurationFile = disk.file === 'Configuration file'
45
- const diskFormat = UI_E_SelectStorageDiskFormat[disk.disk_format]
46
-
47
- const text = isConfigurationFile
48
- ? disk.storage
49
- : `${disk.storage} (${diskFormat})`
50
-
51
- return {
52
- label: disk.file,
53
- value: text,
54
- permissions: ['configure-disk'],
55
- isProperty: true,
56
- }
57
- }
58
- )
59
- storageResult = [...storageResult, ...perDiskItems]
60
- }
61
-
62
- return storageResult.filter(
63
- (option) =>
64
- !option.permissions.length || option.permissions.includes(configure.type)
65
- )
66
- }
67
-
68
- const setSelectNetworkDataView = (
69
- _localization: UI_I_Localization,
70
- from: UI_I_MigrateFormLocal
71
- ): string => {
72
- const result = []
73
- for (const key in from.network) {
74
- result.push(`${key}: ${from.network[key]}`)
75
- }
76
- return result.join(', ')
77
- // const {
78
- // noNetworkReassignments,
79
- // // networkAdapterReassignedNewDestination,
80
- // networkAdapterWillBeReassignedTo,
81
- // } = localization.common
82
- //
83
- // const { data } = from.network
84
- // const { sourceNetwork, value } = data
85
- //
86
- // if (sourceNetwork === value) {
87
- // return noNetworkReassignments
88
- // }
89
- //
90
- // type Replacements = {
91
- // lan: string
92
- // network: string
93
- // }
94
- //
95
- // const replacements: Replacements = {
96
- // lan: sourceNetwork,
97
- // network: value,
98
- // }
99
- // return networkAdapterWillBeReassignedTo.replace(
100
- // /{(\w+)}/g,
101
- // (_, key: keyof Replacements) => replacements[key]
102
- // )
103
-
104
- // return networkAdapterReassignedNewDestination.replace('{number}', '1')
105
- }
106
-
107
- const storageDetailsFunc = (
108
- localization: UI_I_Localization,
109
- name: string,
110
- form: UI_I_MigrateFormLocal
111
- ): UI_I_MigrateReadyBlockData[] => {
112
- const { migrate_type, vMotion_priority, resource } = form
113
-
114
- const migrationType = localization.common[UI_E_VmMigrationType[migrate_type]]
115
-
116
- let result: UI_I_MigrateReadyBlockData[] = [
117
- {
118
- label: localization.common.migrationType,
119
- value: migrationType,
120
- permissions: ['batch-configure', 'configure-disk'],
121
- },
122
- {
123
- label: localization.common.virtualMachine,
124
- value: name,
125
- permissions: ['batch-configure', 'configure-disk'],
126
- },
127
- ]
128
-
129
- if (migrate_type === 'resource') {
130
- const resourceResult = [
131
- {
132
- label: localization.common.networks,
133
- value: setSelectNetworkDataView(localization, form),
134
- permissions: [],
135
- },
136
- {
137
- label: localization.migrateVm.migrationStrategy,
138
- value:
139
- localization.migrateVm[UI_E_VmMigrationStrategy[vMotion_priority]],
140
- permissions: [],
141
- },
142
- ]
143
- Object.entries(resource).forEach(([key, value]) => {
144
- if (value !== null) {
145
- resourceResult.unshift({
146
- label: localization.common[key],
147
- value: value.name,
148
- permissions: [],
149
- })
150
- }
151
- })
152
- result = [...result, ...resourceResult]
153
- }
154
-
155
- if (migrate_type === 'storage') {
156
- const storageData = migrateOnlyStorageDataView(localization, form, name)
157
- result = [...result, ...storageData]
158
- }
159
-
160
- if (migrate_type === 'resource-storage') {
161
- const resourceStorageResult = [
162
- {
163
- label: localization.common.host,
164
- value: '', //selectedComputeResource.selectedNode.name,
165
- permissions: [],
166
- },
167
- {
168
- label: localization.migrateVm.migrationStrategy,
169
- value: localization.migrateVm[UI_E_VmMigrationStrategy[vMotion_priority]],
170
- permissions: [],
171
- },
172
- {
173
- label: localization.common.networks,
174
- value: setSelectNetworkDataView(localization, form),
175
- permissions: [],
176
- },
177
- ]
178
- const storageResult = migrateOnlyStorageDataView(localization, form, name)
179
-
180
- result = [...result, ...resourceStorageResult, ...storageResult]
181
- }
182
-
183
- if (migrate_type === 'server') {
184
- const serverResult = [
185
- {
186
- label: localization.migrateVm.migrationStrategy,
187
- value: localization.migrateVm[UI_E_VmMigrationStrategy[vMotion_priority]],
188
- permissions: [],
189
- },
190
- {
191
- label: localization.common.networks,
192
- value: setSelectNetworkDataView(localization, form),
193
- permissions: [],
194
- },
195
- ]
196
- Object.entries(resource).forEach(([key, value]) => {
197
- if (value !== null) {
198
- serverResult.unshift({
199
- label: localization.common[key],
200
- value: value.name,
201
- permissions: [],
202
- })
203
- }
204
- })
205
-
206
- const storageResult = migrateOnlyStorageDataView(localization, form, name)
207
-
208
- result = [...result, ...serverResult, ...storageResult]
209
- }
210
-
211
- return result
212
- }
213
- export const constructDataReadyViewFunc = (
214
- name: string,
215
- data: UI_I_MigrateFormLocal
216
- ): UI_I_MigrateReadyBlockData[] => {
217
- const localization: UI_I_Localization = useLocal()
218
-
219
- return storageDetailsFunc(localization, name, data)
220
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_MigrateReadyBlockData } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
3
+ import type { UI_I_MigrateFormLocal } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
4
+ import {
5
+ UI_E_VmMigrationStrategy,
6
+ UI_E_VmMigrationType,
7
+ } from '~/components/common/wizards/vm/migrate/lib/models/enums'
8
+ import { UI_E_SelectStorageDiskFormat } from '~/components/common/wizards/vm/migrate/select/storage/lib/models/enums'
9
+ import { virtualDiskFormatOptionsFunc } from '~/components/common/wizards/vm/migrate/select/storage/configure/batch/config/virtualDiskFormat'
10
+ const migrateOnlyStorageDataView = (
11
+ localization: UI_I_Localization,
12
+ form: UI_I_MigrateFormLocal,
13
+ vmName: string
14
+ ): UI_I_MigrateReadyBlockData[] => {
15
+ const { disk_format, configure, storage } = form
16
+
17
+ const isActivePerDiskTab: boolean = configure.type === 'configure-disk'
18
+
19
+ const diskFormat = virtualDiskFormatOptionsFunc().find(
20
+ (file) => file.value === disk_format
21
+ )!
22
+
23
+ let storageResult: UI_I_MigrateReadyBlockData[] = [
24
+ {
25
+ label: localization.common.storage,
26
+ value: storage?.name,
27
+ permissions: ['batch-configure'],
28
+ },
29
+ {
30
+ label: localization.common.diskFormat,
31
+ value: diskFormat.label,
32
+ permissions: ['batch-configure'],
33
+ },
34
+ {
35
+ label: vmName,
36
+ value: '',
37
+ permissions: ['configure-disk'],
38
+ },
39
+ ]
40
+
41
+ if (isActivePerDiskTab && configure.disks) {
42
+ const perDiskItems: UI_I_MigrateReadyBlockData[] = configure.disks.map(
43
+ (disk) => {
44
+ const isConfigurationFile = disk.file === 'Configuration file'
45
+ const diskFormat = UI_E_SelectStorageDiskFormat[disk.disk_format]
46
+
47
+ const text = isConfigurationFile
48
+ ? disk.storage
49
+ : `${disk.storage} (${diskFormat})`
50
+
51
+ return {
52
+ label: disk.file,
53
+ value: text,
54
+ permissions: ['configure-disk'],
55
+ isProperty: true,
56
+ }
57
+ }
58
+ )
59
+ storageResult = [...storageResult, ...perDiskItems]
60
+ }
61
+
62
+ return storageResult.filter(
63
+ (option) =>
64
+ !option.permissions.length || option.permissions.includes(configure.type)
65
+ )
66
+ }
67
+
68
+ const setSelectNetworkDataView = (
69
+ _localization: UI_I_Localization,
70
+ from: UI_I_MigrateFormLocal
71
+ ): string => {
72
+ const result = []
73
+ for (const key in from.network) {
74
+ result.push(`${key}: ${from.network[key]}`)
75
+ }
76
+ return result.join(', ')
77
+ // const {
78
+ // noNetworkReassignments,
79
+ // // networkAdapterReassignedNewDestination,
80
+ // networkAdapterWillBeReassignedTo,
81
+ // } = localization.common
82
+ //
83
+ // const { data } = from.network
84
+ // const { sourceNetwork, value } = data
85
+ //
86
+ // if (sourceNetwork === value) {
87
+ // return noNetworkReassignments
88
+ // }
89
+ //
90
+ // type Replacements = {
91
+ // lan: string
92
+ // network: string
93
+ // }
94
+ //
95
+ // const replacements: Replacements = {
96
+ // lan: sourceNetwork,
97
+ // network: value,
98
+ // }
99
+ // return networkAdapterWillBeReassignedTo.replace(
100
+ // /{(\w+)}/g,
101
+ // (_, key: keyof Replacements) => replacements[key]
102
+ // )
103
+
104
+ // return networkAdapterReassignedNewDestination.replace('{number}', '1')
105
+ }
106
+
107
+ const storageDetailsFunc = (
108
+ localization: UI_I_Localization,
109
+ name: string,
110
+ form: UI_I_MigrateFormLocal
111
+ ): UI_I_MigrateReadyBlockData[] => {
112
+ const { migrate_type, vMotion_priority, resource } = form
113
+
114
+ const migrationType = localization.common[UI_E_VmMigrationType[migrate_type]]
115
+
116
+ let result: UI_I_MigrateReadyBlockData[] = [
117
+ {
118
+ label: localization.common.migrationType,
119
+ value: migrationType,
120
+ permissions: ['batch-configure', 'configure-disk'],
121
+ },
122
+ {
123
+ label: localization.common.virtualMachine,
124
+ value: name,
125
+ permissions: ['batch-configure', 'configure-disk'],
126
+ },
127
+ ]
128
+
129
+ if (migrate_type === 'resource') {
130
+ const resourceResult = [
131
+ {
132
+ label: localization.common.networks,
133
+ value: setSelectNetworkDataView(localization, form),
134
+ permissions: [],
135
+ },
136
+ {
137
+ label: localization.migrateVm.migrationStrategy,
138
+ value:
139
+ localization.migrateVm[UI_E_VmMigrationStrategy[vMotion_priority]],
140
+ permissions: [],
141
+ },
142
+ ]
143
+ Object.entries(resource).forEach(([key, value]) => {
144
+ if (value !== null) {
145
+ resourceResult.unshift({
146
+ label: localization.common[key],
147
+ value: value.name,
148
+ permissions: [],
149
+ })
150
+ }
151
+ })
152
+ result = [...result, ...resourceResult]
153
+ }
154
+
155
+ if (migrate_type === 'storage') {
156
+ const storageData = migrateOnlyStorageDataView(localization, form, name)
157
+ result = [...result, ...storageData]
158
+ }
159
+
160
+ if (migrate_type === 'resource-storage') {
161
+ const resourceStorageResult = [
162
+ {
163
+ label: localization.common.host,
164
+ value: '', //selectedComputeResource.selectedNode.name,
165
+ permissions: [],
166
+ },
167
+ {
168
+ label: localization.migrateVm.migrationStrategy,
169
+ value: localization.migrateVm[UI_E_VmMigrationStrategy[vMotion_priority]],
170
+ permissions: [],
171
+ },
172
+ {
173
+ label: localization.common.networks,
174
+ value: setSelectNetworkDataView(localization, form),
175
+ permissions: [],
176
+ },
177
+ ]
178
+ const storageResult = migrateOnlyStorageDataView(localization, form, name)
179
+
180
+ result = [...result, ...resourceStorageResult, ...storageResult]
181
+ }
182
+
183
+ if (migrate_type === 'server') {
184
+ const serverResult = [
185
+ {
186
+ label: localization.migrateVm.migrationStrategy,
187
+ value: localization.migrateVm[UI_E_VmMigrationStrategy[vMotion_priority]],
188
+ permissions: [],
189
+ },
190
+ {
191
+ label: localization.common.networks,
192
+ value: setSelectNetworkDataView(localization, form),
193
+ permissions: [],
194
+ },
195
+ ]
196
+ Object.entries(resource).forEach(([key, value]) => {
197
+ if (value !== null) {
198
+ serverResult.unshift({
199
+ label: localization.common[key],
200
+ value: value.name,
201
+ permissions: [],
202
+ })
203
+ }
204
+ })
205
+
206
+ const storageResult = migrateOnlyStorageDataView(localization, form, name)
207
+
208
+ result = [...result, ...serverResult, ...storageResult]
209
+ }
210
+
211
+ return result
212
+ }
213
+ export const constructDataReadyViewFunc = (
214
+ name: string,
215
+ data: UI_I_MigrateFormLocal
216
+ ): UI_I_MigrateReadyBlockData[] => {
217
+ const localization: UI_I_Localization = useLocal()
218
+
219
+ return storageDetailsFunc(localization, name, data)
220
+ }
@@ -1,103 +1,103 @@
1
- <template>
2
- <div class="select-network">
3
- <div class="select-network__text">
4
- {{ selectNetworkHeadline }}
5
- </div>
6
-
7
- <common-wizards-vm-migrate-select-network-table-network
8
- v-model="model"
9
- :networks="dataNetwork"
10
- :source-networks="sourceNetworks"
11
- />
12
-
13
- <common-wizards-vm-common-validation-compatibility
14
- :loading="false"
15
- status="Success"
16
- text="compatibilityChecksSucceeded"
17
- />
18
- </div>
19
- </template>
20
-
21
- <script lang="ts" setup>
22
- import type { UI_I_Localization } from '~/lib/models/interfaces'
23
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
24
-
25
- const model = defineModel<any>({ required: true })
26
-
27
- const props = defineProps<{
28
- vmInfo: any | null
29
- networks: any
30
- }>()
31
-
32
- const localization = computed<UI_I_Localization>(() => useLocal())
33
-
34
- const selectNetworkHeadline = computed<string>(() => {
35
- const { migrateNetworkingForAllAdapters, migrateNetworkingForEachAdapters } =
36
- localization.value.common
37
-
38
- return model.value.isBasicNetworkMode
39
- ? migrateNetworkingForAllAdapters
40
- : migrateNetworkingForEachAdapters
41
- })
42
-
43
- const sourceNetworks = computed<UI_I_NetworkTableItem[]>(() => {
44
- return props.networks?.items.map((network) => {
45
- return {
46
- id: network.id,
47
- name: network.name,
48
- net_bridge: '',
49
- }
50
- })
51
- })
52
-
53
- const dataNetwork = computed(() => {
54
- return (
55
- props.vmInfo?.network_devices?.map((network) => {
56
- const destinationNetwork =
57
- sourceNetworks.value?.map((src) => {
58
- return { text: src.name, value: src.name }
59
- }) || []
60
- return {
61
- mac: network.mac,
62
- network_adapter: network.model,
63
- source_network: network.network,
64
- value: destinationNetwork[0]?.value || '',
65
- destination_network: [
66
- ...destinationNetwork,
67
- { text: `${localization.value.common.browse}...`, value: 'browser' },
68
- ],
69
- }
70
- }) || []
71
- )
72
- })
73
- watch(
74
- dataNetwork,
75
- (newValue) => {
76
- model.value = {}
77
- const newModel = {}
78
- newValue.forEach((item: any) => {
79
- newModel[item.mac] = item.value
80
- })
81
- model.value = newModel
82
- },
83
- { deep: true }
84
- )
85
- </script>
86
-
87
- <style lang="scss" scoped>
88
- @import 'assets/scss/common/mixins';
89
- .select-network {
90
- @include flex($dir: column);
91
- height: inherit;
92
- margin-top: 10px;
93
- &__text {
94
- font-size: 12px;
95
- }
96
- &__matcher-details {
97
- margin-top: 10px;
98
- }
99
- .vm-migrate-advanced-view-button {
100
- text-align: end;
101
- }
102
- }
103
- </style>
1
+ <template>
2
+ <div class="select-network">
3
+ <div class="select-network__text">
4
+ {{ selectNetworkHeadline }}
5
+ </div>
6
+
7
+ <common-wizards-vm-migrate-select-network-table-network
8
+ v-model="model"
9
+ :networks="dataNetwork"
10
+ :source-networks="sourceNetworks"
11
+ />
12
+
13
+ <common-wizards-vm-common-validation-compatibility
14
+ :loading="false"
15
+ status="Success"
16
+ text="compatibilityChecksSucceeded"
17
+ />
18
+ </div>
19
+ </template>
20
+
21
+ <script lang="ts" setup>
22
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
23
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
24
+
25
+ const model = defineModel<any>({ required: true })
26
+
27
+ const props = defineProps<{
28
+ vmInfo: any | null
29
+ networks: any
30
+ }>()
31
+
32
+ const localization = computed<UI_I_Localization>(() => useLocal())
33
+
34
+ const selectNetworkHeadline = computed<string>(() => {
35
+ const { migrateNetworkingForAllAdapters, migrateNetworkingForEachAdapters } =
36
+ localization.value.common
37
+
38
+ return model.value.isBasicNetworkMode
39
+ ? migrateNetworkingForAllAdapters
40
+ : migrateNetworkingForEachAdapters
41
+ })
42
+
43
+ const sourceNetworks = computed<UI_I_NetworkTableItem[]>(() => {
44
+ return props.networks?.items.map((network) => {
45
+ return {
46
+ id: network.id,
47
+ name: network.name,
48
+ net_bridge: '',
49
+ }
50
+ })
51
+ })
52
+
53
+ const dataNetwork = computed(() => {
54
+ return (
55
+ props.vmInfo?.network_devices?.map((network) => {
56
+ const destinationNetwork =
57
+ sourceNetworks.value?.map((src) => {
58
+ return { text: src.name, value: src.name }
59
+ }) || []
60
+ return {
61
+ mac: network.mac,
62
+ network_adapter: network.model,
63
+ source_network: network.network,
64
+ value: destinationNetwork[0]?.value || '',
65
+ destination_network: [
66
+ ...destinationNetwork,
67
+ { text: `${localization.value.common.browse}...`, value: 'browser' },
68
+ ],
69
+ }
70
+ }) || []
71
+ )
72
+ })
73
+ watch(
74
+ dataNetwork,
75
+ (newValue) => {
76
+ model.value = {}
77
+ const newModel = {}
78
+ newValue.forEach((item: any) => {
79
+ newModel[item.mac] = item.value
80
+ })
81
+ model.value = newModel
82
+ },
83
+ { deep: true }
84
+ )
85
+ </script>
86
+
87
+ <style lang="scss" scoped>
88
+ @import 'assets/scss/common/mixins';
89
+ .select-network {
90
+ @include flex($dir: column);
91
+ height: inherit;
92
+ margin-top: 10px;
93
+ &__text {
94
+ font-size: 12px;
95
+ }
96
+ &__matcher-details {
97
+ margin-top: 10px;
98
+ }
99
+ .vm-migrate-advanced-view-button {
100
+ text-align: end;
101
+ }
102
+ }
103
+ </style>