bfg-common 1.5.38 → 1.5.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +2 -1
  7. package/assets/localization/local_en.json +2 -1
  8. package/assets/localization/local_hy.json +2 -1
  9. package/assets/localization/local_kk.json +2 -1
  10. package/assets/localization/local_ru.json +2 -1
  11. package/assets/localization/local_zh.json +2 -2
  12. package/assets/scss/common/normalize.scss +339 -339
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/collapse/CollapseNav.vue +165 -165
  15. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  16. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  17. package/components/atoms/perPage/PerPage.vue +58 -58
  18. package/components/atoms/stack/StackBlock.vue +185 -185
  19. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  20. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  21. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  22. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  23. package/components/atoms/tooltip/Signpost.vue +227 -227
  24. package/components/common/accordion/Recursion.vue +222 -222
  25. package/components/common/browse/BrowseNew.vue +237 -237
  26. package/components/common/browse/BrowseOld.vue +217 -217
  27. package/components/common/browse/blocks/contents/Files.vue +37 -37
  28. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  29. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  30. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  31. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  32. package/components/common/browse/lib/models/interfaces.ts +5 -5
  33. package/components/common/context/Context.vue +111 -111
  34. package/components/common/context/lib/models/interfaces.ts +31 -31
  35. package/components/common/context/recursion/Recursion.vue +87 -87
  36. package/components/common/context/recursion/RecursionNew.vue +238 -238
  37. package/components/common/context/recursion/RecursionOld.vue +228 -228
  38. package/components/common/details/DetailsItem.vue +109 -109
  39. package/components/common/diagramMain/DiagramMain.vue +897 -897
  40. package/components/common/diagramMain/Header.vue +214 -214
  41. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  42. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  43. package/components/common/diagramMain/lib/models/types.ts +21 -21
  44. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  45. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  46. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  47. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  48. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  49. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  50. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  51. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  52. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  53. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  54. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  55. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  57. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  58. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  59. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  60. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  61. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  62. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  63. package/components/common/diagramMain/port/Ports.vue +47 -47
  64. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  65. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  66. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  67. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  68. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  69. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  70. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  71. package/components/common/pages/home/StatusContent.vue +49 -49
  72. package/components/common/pages/home/headline/Headline.vue +45 -45
  73. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  74. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  75. package/components/common/pages/home/resource/lib/models/interfaces.ts +4 -1
  76. package/components/common/pages/home/resource/lib/utils/resourceMeter.ts +4 -1
  77. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  78. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  79. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  80. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  81. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  82. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  83. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  84. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  85. package/components/common/pages/packages/Packages.vue +208 -208
  86. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  87. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  88. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  89. package/components/common/portlets/tag/Portlet.vue +433 -433
  90. package/components/common/recursionTree/RecursionTree.vue +223 -223
  91. package/components/common/select/button/ButtonDropdown.vue +108 -108
  92. package/components/common/spiceConsole/Drawer.vue +370 -370
  93. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  94. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  95. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  96. package/components/common/split/vertical/Vertical.vue +160 -160
  97. package/components/common/tools/Actions.vue +188 -188
  98. package/components/common/vm/actions/add/Add.vue +772 -773
  99. package/components/common/vm/actions/add/lib/config/steps.ts +247 -247
  100. package/components/common/vm/actions/clone/Clone.vue +668 -635
  101. package/components/common/vm/actions/clone/lib/config/steps.ts +178 -178
  102. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  103. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  104. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  105. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  106. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  174. package/components/common/vm/actions/common/select/createType/CreateType.vue +74 -74
  175. package/components/common/vm/actions/common/select/os/os.vue +18 -32
  176. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  177. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  178. package/components/common/vm/actions/common/select/template/Template.vue +65 -62
  179. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  180. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  181. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  182. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  183. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  184. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  185. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  186. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  187. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  188. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  189. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  190. package/composables/productNameLocal.ts +30 -30
  191. package/composables/useAppVersion.ts +21 -21
  192. package/package.json +2 -2
  193. package/plugins/date.ts +233 -233
  194. package/plugins/directives.ts +24 -24
  195. package/public/spice-console/lib/images/bitmap.js +203 -203
  196. package/public/spice-console/network/spicechannel.js +383 -383
  197. package/store/main/mutations.ts +7 -7
  198. package/store/main/state.ts +7 -7
  199. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,150 +1,150 @@
1
- <template>
2
- <div class="table-view-container">
3
- <atoms-table-data-grid
4
- v-model:page-size="pagination.pageSize"
5
- v-model:page="pagination.page"
6
- :head-items="headItems"
7
- :body-items="bodyItems"
8
- :total-items="bodyItems.length"
9
- :total-pages="1"
10
- class="select-network"
11
- test-id="network-table"
12
- :off-select-by-row="props.type === 'advanced'"
13
- server-off
14
- hide-footer
15
- hide-page-size
16
- >
17
- <template #select="{ item }">
18
- <span class="select select-network__select">
19
- <select
20
- :id="item.data.id"
21
- v-model="item.data.value"
22
- data-id="network-select"
23
- :disabled="item.data.disabled"
24
- @change="onSelectNetwork(item.data)"
25
- @click.stop
26
- >
27
- <option
28
- v-for="(option, key) in item.data.option"
29
- :key="key"
30
- :value="option.value"
31
- :label="option.text"
32
- />
33
- </select>
34
- </span>
35
- </template>
36
- </atoms-table-data-grid>
37
-
38
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
39
- :location-modal-is-show="!!selectNetworkModal"
40
- :networks-table="props.sourceNetworks"
41
- @hide="onHideLocationModal"
42
- @select="onSelectLocation"
43
- />
44
- </div>
45
- </template>
46
-
47
- <script lang="ts" setup>
48
- import type { UI_I_Localization } from '~/lib/models/interfaces'
49
- import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
50
- import type {
51
- UI_I_HeadItem,
52
- UI_I_BodyItem,
53
- } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
54
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
55
- import type { UI_T_MigrateSelectNetwork } from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/models/types'
56
- import * as table from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable'
57
-
58
- const model = defineModel<any[]>({ required: true })
59
-
60
- const props = defineProps<{
61
- networks: UI_T_MigrateSelectNetwork[]
62
- sourceNetworks: UI_I_NetworkTableItem[]
63
- }>()
64
-
65
- const localization = computed<UI_I_Localization>(() => useLocal())
66
-
67
- const pagination = ref<UI_I_Pagination>({
68
- page: 1,
69
- pageSize: 100,
70
- })
71
-
72
- const selectNetworkModal = ref<string>('')
73
- const onHideLocationModal = (): void => {
74
- selectNetworkModal.value = ''
75
- }
76
- const onSelectLocation = (network: UI_I_NetworkTableItem): void => {
77
- const mac = props.networks.find(
78
- (net) => net.source_network === selectNetworkModal.value
79
- )?.mac
80
- if (mac) {
81
- model.value[mac] = network.name
82
- }
83
- bodyItems.value = bodyItems.value.map((row) => {
84
- return row.map((col) => {
85
- if (col.data?.sourceNetwork === selectNetworkModal.value)
86
- col.data.value = network.name
87
-
88
- return col
89
- })
90
- })
91
-
92
- selectNetworkModal.value = ''
93
- }
94
-
95
- const headItems = computed<UI_I_HeadItem[]>(() =>
96
- table.headItems(localization.value)
97
- )
98
- const bodyItems = ref<UI_I_BodyItem[][]>([])
99
- watch(
100
- () => props.networks,
101
- (newValue) => {
102
- bodyItems.value = table.bodyItems(newValue)
103
- },
104
- { immediate: true, deep: true }
105
- )
106
-
107
- const onSelectNetwork = (data: any): void => {
108
- if (data?.value === 'browser') {
109
- selectNetworkModal.value = data.sourceNetwork
110
- return
111
- }
112
- const mac = props.networks.find(
113
- (network) => network.source_network === data.sourceNetwork
114
- ).mac
115
- if (mac) {
116
- model.value[mac] = data.value
117
- }
118
- }
119
- watch(
120
- () => props.type,
121
- (newValue: 'basic' | 'advanced') => {
122
- const tableData = bodyItems.value[0]
123
- if (!tableData) return
124
-
125
- const itemKey = newValue === 'basic' ? 2 : 3
126
- const data = tableData[itemKey].data
127
- onSelectNetwork(data)
128
- },
129
- { deep: true, immediate: true }
130
- )
131
- </script>
132
-
133
- <style lang="scss" scoped>
134
- @import 'assets/scss/common/mixins';
135
- .table-view-container {
136
- @include flex($dir: column);
137
- height: inherit;
138
- .select-network {
139
- height: inherit;
140
- &__select {
141
- width: 100%;
142
- height: 24px;
143
- min-width: 107px;
144
- & > select {
145
- height: 100%;
146
- }
147
- }
148
- }
149
- }
150
- </style>
1
+ <template>
2
+ <div class="table-view-container">
3
+ <atoms-table-data-grid
4
+ v-model:page-size="pagination.pageSize"
5
+ v-model:page="pagination.page"
6
+ :head-items="headItems"
7
+ :body-items="bodyItems"
8
+ :total-items="bodyItems.length"
9
+ :total-pages="1"
10
+ class="select-network"
11
+ test-id="network-table"
12
+ :off-select-by-row="props.type === 'advanced'"
13
+ server-off
14
+ hide-footer
15
+ hide-page-size
16
+ >
17
+ <template #select="{ item }">
18
+ <span class="select select-network__select">
19
+ <select
20
+ :id="item.data.id"
21
+ v-model="item.data.value"
22
+ data-id="network-select"
23
+ :disabled="item.data.disabled"
24
+ @change="onSelectNetwork(item.data)"
25
+ @click.stop
26
+ >
27
+ <option
28
+ v-for="(option, key) in item.data.option"
29
+ :key="key"
30
+ :value="option.value"
31
+ :label="option.text"
32
+ />
33
+ </select>
34
+ </span>
35
+ </template>
36
+ </atoms-table-data-grid>
37
+
38
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
39
+ :location-modal-is-show="!!selectNetworkModal"
40
+ :networks-table="props.sourceNetworks"
41
+ @hide="onHideLocationModal"
42
+ @select="onSelectLocation"
43
+ />
44
+ </div>
45
+ </template>
46
+
47
+ <script lang="ts" setup>
48
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
49
+ import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
50
+ import type {
51
+ UI_I_HeadItem,
52
+ UI_I_BodyItem,
53
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
54
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
55
+ import type { UI_T_MigrateSelectNetwork } from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/models/types'
56
+ import * as table from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable'
57
+
58
+ const model = defineModel<any[]>({ required: true })
59
+
60
+ const props = defineProps<{
61
+ networks: UI_T_MigrateSelectNetwork[]
62
+ sourceNetworks: UI_I_NetworkTableItem[]
63
+ }>()
64
+
65
+ const localization = computed<UI_I_Localization>(() => useLocal())
66
+
67
+ const pagination = ref<UI_I_Pagination>({
68
+ page: 1,
69
+ pageSize: 100,
70
+ })
71
+
72
+ const selectNetworkModal = ref<string>('')
73
+ const onHideLocationModal = (): void => {
74
+ selectNetworkModal.value = ''
75
+ }
76
+ const onSelectLocation = (network: UI_I_NetworkTableItem): void => {
77
+ const mac = props.networks.find(
78
+ (net) => net.source_network === selectNetworkModal.value
79
+ )?.mac
80
+ if (mac) {
81
+ model.value[mac] = network.name
82
+ }
83
+ bodyItems.value = bodyItems.value.map((row) => {
84
+ return row.map((col) => {
85
+ if (col.data?.sourceNetwork === selectNetworkModal.value)
86
+ col.data.value = network.name
87
+
88
+ return col
89
+ })
90
+ })
91
+
92
+ selectNetworkModal.value = ''
93
+ }
94
+
95
+ const headItems = computed<UI_I_HeadItem[]>(() =>
96
+ table.headItems(localization.value)
97
+ )
98
+ const bodyItems = ref<UI_I_BodyItem[][]>([])
99
+ watch(
100
+ () => props.networks,
101
+ (newValue) => {
102
+ bodyItems.value = table.bodyItems(newValue)
103
+ },
104
+ { immediate: true, deep: true }
105
+ )
106
+
107
+ const onSelectNetwork = (data: any): void => {
108
+ if (data?.value === 'browser') {
109
+ selectNetworkModal.value = data.sourceNetwork
110
+ return
111
+ }
112
+ const mac = props.networks.find(
113
+ (network) => network.source_network === data.sourceNetwork
114
+ ).mac
115
+ if (mac) {
116
+ model.value[mac] = data.value
117
+ }
118
+ }
119
+ watch(
120
+ () => props.type,
121
+ (newValue: 'basic' | 'advanced') => {
122
+ const tableData = bodyItems.value[0]
123
+ if (!tableData) return
124
+
125
+ const itemKey = newValue === 'basic' ? 2 : 3
126
+ const data = tableData[itemKey].data
127
+ onSelectNetwork(data)
128
+ },
129
+ { deep: true, immediate: true }
130
+ )
131
+ </script>
132
+
133
+ <style lang="scss" scoped>
134
+ @import 'assets/scss/common/mixins';
135
+ .table-view-container {
136
+ @include flex($dir: column);
137
+ height: inherit;
138
+ .select-network {
139
+ height: inherit;
140
+ &__select {
141
+ width: 100%;
142
+ height: 24px;
143
+ min-width: 107px;
144
+ & > select {
145
+ height: 100%;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ </style>
@@ -1,91 +1,91 @@
1
- import type {
2
- UI_I_HeadItem,
3
- UI_I_BodyItem,
4
- } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
5
- import type { UI_I_Localization } from '~/lib/models/interfaces'
6
- import { constructHeadItem } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
7
- import type { UI_I_MigrateSelectNetworkAdvancedItem } from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/models/interfaces'
8
- import { networkAdvancedTableItemKeys } from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/config/tableKeys'
9
-
10
- const getItems = (
11
- localization: UI_I_Localization
12
- ): [string, boolean, string, string][] => {
13
- return [
14
- [
15
- localization.common.sourceNetwork,
16
- true,
17
- '25%',
18
- networkAdvancedTableItemKeys[0],
19
- ],
20
- [
21
- localization.common.macAddress,
22
- true,
23
- '25%',
24
- networkAdvancedTableItemKeys[1],
25
- ],
26
- [
27
- localization.common.networkAdapter,
28
- true,
29
- '25%',
30
- networkAdvancedTableItemKeys[2],
31
- ],
32
- [
33
- localization.common.destinationNetwork,
34
- true,
35
- '25%',
36
- networkAdvancedTableItemKeys[3],
37
- ],
38
- ]
39
- }
40
-
41
- export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
42
- const result: UI_I_HeadItem[] = []
43
- getItems(localization).forEach((item, i) => {
44
- const col = i === 3 ? 'select' : `col${i}`
45
- result.push(constructHeadItem(col, item[0], item[3], false, item[2]))
46
- })
47
- return result
48
- }
49
-
50
- export const bodyItems = (
51
- data: UI_I_MigrateSelectNetworkAdvancedItem[]
52
- ): UI_I_BodyItem[][] => {
53
- const bodyItems: UI_I_BodyItem[][] = []
54
-
55
- data?.forEach(
56
- (network: UI_I_MigrateSelectNetworkAdvancedItem, key: number) => {
57
- const data = {
58
- id: `${network.source_network}-select`,
59
- sourceNetwork: network.source_network,
60
- disabled: false,
61
- value: network.destination_network[0]?.text || '',
62
- option: network.destination_network,
63
- }
64
-
65
- bodyItems.push([
66
- {
67
- key: 'col0',
68
- text: network[networkAdvancedTableItemKeys[0]],
69
- id: key,
70
- },
71
- {
72
- key: 'col1',
73
- text: network[networkAdvancedTableItemKeys[1]],
74
- id: key,
75
- },
76
- {
77
- key: 'col2',
78
- text: network[networkAdvancedTableItemKeys[2]],
79
- id: key,
80
- },
81
- {
82
- key: 'select',
83
- text: network[networkAdvancedTableItemKeys[3]],
84
- data,
85
- id: key,
86
- },
87
- ])
88
- }
89
- )
90
- return bodyItems
91
- }
1
+ import type {
2
+ UI_I_HeadItem,
3
+ UI_I_BodyItem,
4
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
5
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
6
+ import { constructHeadItem } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
7
+ import type { UI_I_MigrateSelectNetworkAdvancedItem } from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/models/interfaces'
8
+ import { networkAdvancedTableItemKeys } from '~/components/common/wizards/vm/migrate/select/network/table/network/lib/config/tableKeys'
9
+
10
+ const getItems = (
11
+ localization: UI_I_Localization
12
+ ): [string, boolean, string, string][] => {
13
+ return [
14
+ [
15
+ localization.common.sourceNetwork,
16
+ true,
17
+ '25%',
18
+ networkAdvancedTableItemKeys[0],
19
+ ],
20
+ [
21
+ localization.common.macAddress,
22
+ true,
23
+ '25%',
24
+ networkAdvancedTableItemKeys[1],
25
+ ],
26
+ [
27
+ localization.common.networkAdapter,
28
+ true,
29
+ '25%',
30
+ networkAdvancedTableItemKeys[2],
31
+ ],
32
+ [
33
+ localization.common.destinationNetwork,
34
+ true,
35
+ '25%',
36
+ networkAdvancedTableItemKeys[3],
37
+ ],
38
+ ]
39
+ }
40
+
41
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
42
+ const result: UI_I_HeadItem[] = []
43
+ getItems(localization).forEach((item, i) => {
44
+ const col = i === 3 ? 'select' : `col${i}`
45
+ result.push(constructHeadItem(col, item[0], item[3], false, item[2]))
46
+ })
47
+ return result
48
+ }
49
+
50
+ export const bodyItems = (
51
+ data: UI_I_MigrateSelectNetworkAdvancedItem[]
52
+ ): UI_I_BodyItem[][] => {
53
+ const bodyItems: UI_I_BodyItem[][] = []
54
+
55
+ data?.forEach(
56
+ (network: UI_I_MigrateSelectNetworkAdvancedItem, key: number) => {
57
+ const data = {
58
+ id: `${network.source_network}-select`,
59
+ sourceNetwork: network.source_network,
60
+ disabled: false,
61
+ value: network.destination_network[0]?.text || '',
62
+ option: network.destination_network,
63
+ }
64
+
65
+ bodyItems.push([
66
+ {
67
+ key: 'col0',
68
+ text: network[networkAdvancedTableItemKeys[0]],
69
+ id: key,
70
+ },
71
+ {
72
+ key: 'col1',
73
+ text: network[networkAdvancedTableItemKeys[1]],
74
+ id: key,
75
+ },
76
+ {
77
+ key: 'col2',
78
+ text: network[networkAdvancedTableItemKeys[2]],
79
+ id: key,
80
+ },
81
+ {
82
+ key: 'select',
83
+ text: network[networkAdvancedTableItemKeys[3]],
84
+ data,
85
+ id: key,
86
+ },
87
+ ])
88
+ }
89
+ )
90
+ return bodyItems
91
+ }
@@ -1,43 +1,43 @@
1
- <template>
2
- <div class="select-priority">
3
- <atoms-alert
4
- v-show="errors.length"
5
- status="alert-danger"
6
- :items="errors"
7
- test-id="name-alert"
8
- class="mb-1"
9
- hide-close-icon
10
- />
11
- <common-select-radio-group
12
- v-model="selectedPriorityTypeLocal"
13
- :options="vmMigrationPriorityTypes"
14
- />
15
- </div>
16
- </template>
17
-
18
- <script lang="ts" setup>
19
- import type { UI_I_Localization } from '~/lib/models/interfaces'
20
- import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
21
- import type { UI_T_SelectVMotionPriority } from '~/components/common/wizards/vm/migrate/select/priority/lib/models/types'
22
- import { vmMigrateSelectPriorityTypesFunc } from '~/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions'
23
-
24
- const selectedPriorityTypeLocal = defineModel<UI_T_SelectVMotionPriority>()
25
-
26
- const props = defineProps<{
27
- vmState: number
28
- }>()
29
-
30
- const localization = computed<UI_I_Localization>(() => useLocal())
31
-
32
- const vmMigrationPriorityTypes = computed<UI_I_RadioOption[]>(() =>
33
- vmMigrateSelectPriorityTypesFunc(localization.value, props.vmState)
34
- )
35
-
36
- const errors = computed<string[]>(() => {
37
- return props.vmState !== 1 && props.vmState !== 2
38
- ? [localization.value.migrateVm.strategyMigrationErrorDesc]
39
- : []
40
- })
41
- </script>
42
-
43
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div class="select-priority">
3
+ <atoms-alert
4
+ v-show="errors.length"
5
+ status="alert-danger"
6
+ :items="errors"
7
+ test-id="name-alert"
8
+ class="mb-1"
9
+ hide-close-icon
10
+ />
11
+ <common-select-radio-group
12
+ v-model="selectedPriorityTypeLocal"
13
+ :options="vmMigrationPriorityTypes"
14
+ />
15
+ </div>
16
+ </template>
17
+
18
+ <script lang="ts" setup>
19
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
20
+ import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
21
+ import type { UI_T_SelectVMotionPriority } from '~/components/common/wizards/vm/migrate/select/priority/lib/models/types'
22
+ import { vmMigrateSelectPriorityTypesFunc } from '~/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions'
23
+
24
+ const selectedPriorityTypeLocal = defineModel<UI_T_SelectVMotionPriority>()
25
+
26
+ const props = defineProps<{
27
+ vmState: number
28
+ }>()
29
+
30
+ const localization = computed<UI_I_Localization>(() => useLocal())
31
+
32
+ const vmMigrationPriorityTypes = computed<UI_I_RadioOption[]>(() =>
33
+ vmMigrateSelectPriorityTypesFunc(localization.value, props.vmState)
34
+ )
35
+
36
+ const errors = computed<string[]>(() => {
37
+ return props.vmState !== 1 && props.vmState !== 2
38
+ ? [localization.value.migrateVm.strategyMigrationErrorDesc]
39
+ : []
40
+ })
41
+ </script>
42
+
43
+ <style lang="scss" scoped></style>
@@ -1,30 +1,30 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_T_LanguageKey } from '~/lib/models/types'
3
-
4
- export function productNameLocal(
5
- localization: UI_I_Localization
6
- ): UI_I_Localization {
7
- const config = useRuntimeConfig()
8
-
9
- const productName =
10
- config.public.LOCALIZATION_CODE === 'ru'
11
- ? config.public.PRODUCT_NAME_RU
12
- : config.public.PRODUCT_NAME_EN
13
-
14
- return replaceProductNameRecursion(localization, productName)
15
- }
16
-
17
- const replaceProductNameRecursion = (
18
- localization: UI_I_Localization,
19
- productName: any
20
- ): UI_I_Localization => {
21
- for (const key of Object.keys(localization)) {
22
- let item = localization[key as UI_T_LanguageKey]
23
-
24
- for (const key2 of Object.keys(item)) {
25
- item[key2] = item[key2].replaceAll('{productName}', productName)
26
- }
27
- }
28
-
29
- return localization
30
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_T_LanguageKey } from '~/lib/models/types'
3
+
4
+ export function productNameLocal(
5
+ localization: UI_I_Localization
6
+ ): UI_I_Localization {
7
+ const config = useRuntimeConfig()
8
+
9
+ const productName =
10
+ config.public.LOCALIZATION_CODE === 'ru'
11
+ ? config.public.PRODUCT_NAME_RU
12
+ : config.public.PRODUCT_NAME_EN
13
+
14
+ return replaceProductNameRecursion(localization, productName)
15
+ }
16
+
17
+ const replaceProductNameRecursion = (
18
+ localization: UI_I_Localization,
19
+ productName: any
20
+ ): UI_I_Localization => {
21
+ for (const key of Object.keys(localization)) {
22
+ let item = localization[key as UI_T_LanguageKey]
23
+
24
+ for (const key2 of Object.keys(item)) {
25
+ item[key2] = item[key2].replaceAll('{productName}', productName)
26
+ }
27
+ }
28
+
29
+ return localization
30
+ }
@@ -1,21 +1,21 @@
1
- import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
2
-
3
- export function useAppVersion(): UI_I_UseAppVersionReturnType {
4
- const config = useRuntimeConfig()
5
- const version = config.public.APP_VERSION as string
6
-
7
- // const regexHasDot = /\./
8
- // const regexHasDotAndB = /\.\d*b$/
9
- // const regexHasDotAndD = /\..*d/
10
-
11
- // const isBeta = regexHasDotAndB.test(version)
12
- // const isDev =
13
- // regexHasDotAndD.test(version) ||
14
- // (!regexHasDot.test(version) && version.length < 8)
15
-
16
- return {
17
- version,
18
- // isBeta,
19
- // isDev,
20
- }
21
- }
1
+ import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
2
+
3
+ export function useAppVersion(): UI_I_UseAppVersionReturnType {
4
+ const config = useRuntimeConfig()
5
+ const version = config.public.APP_VERSION as string
6
+
7
+ // const regexHasDot = /\./
8
+ // const regexHasDotAndB = /\.\d*b$/
9
+ // const regexHasDotAndD = /\..*d/
10
+
11
+ // const isBeta = regexHasDotAndB.test(version)
12
+ // const isDev =
13
+ // regexHasDotAndD.test(version) ||
14
+ // (!regexHasDot.test(version) && version.length < 8)
15
+
16
+ return {
17
+ version,
18
+ // isBeta,
19
+ // isDev,
20
+ }
21
+ }