bfg-common 1.4.882 → 1.4.884

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 (191) hide show
  1. package/assets/localization/local_be.json +1 -1
  2. package/assets/localization/local_en.json +7 -7
  3. package/assets/localization/local_hy.json +1 -1
  4. package/assets/localization/local_kk.json +1 -1
  5. package/assets/localization/local_ru.json +1 -1
  6. package/assets/localization/local_zh.json +1 -1
  7. package/assets/scss/common/normalize.scss +361 -361
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/autocomplete/Autocomplete.vue +301 -301
  10. package/components/atoms/collapse/CollapseNav.vue +165 -165
  11. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  12. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  13. package/components/atoms/stack/StackBlock.vue +185 -185
  14. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  15. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  16. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  17. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  18. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  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 +102 -92
  26. package/components/common/chartOptionsModal/counters/timespan/form/FormNew.vue +39 -18
  27. package/components/common/context/Context.vue +111 -111
  28. package/components/common/context/lib/models/interfaces.ts +30 -30
  29. package/components/common/context/recursion/Recursion.vue +87 -87
  30. package/components/common/context/recursion/RecursionOld.vue +227 -227
  31. package/components/common/details/DetailsItem.vue +109 -109
  32. package/components/common/graph/Graph.vue +104 -104
  33. package/components/common/graph/GraphNew.vue +4 -2
  34. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  35. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  37. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +335 -335
  38. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +310 -310
  39. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  40. package/components/common/monitor/advanced/Advanced.vue +2 -0
  41. package/components/common/monitor/advanced/AdvancedNew.vue +28 -16
  42. package/components/common/monitor/advanced/graphView/GraphView.vue +0 -1
  43. package/components/common/monitor/advanced/graphView/GraphViewNew.vue +5 -4
  44. package/components/common/monitor/advanced/table/tableNew/TableNew.vue +8 -1
  45. package/components/common/monitor/advanced/table/tableNew/lib/config/options.ts +2 -2
  46. package/components/common/monitor/advanced/tools/Tools.vue +123 -121
  47. package/components/common/monitor/advanced/tools/ToolsNew.vue +9 -0
  48. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +34 -0
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalNew.vue +17 -5
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationNew.vue +2 -0
  51. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsNew.vue +38 -12
  52. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +1 -1
  53. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +76 -66
  54. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +43 -2
  55. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  56. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/TableNew.vue +2 -0
  57. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +10 -0
  58. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/TimespanNew.vue +43 -14
  59. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/ObjectNew.vue +6 -0
  60. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +1 -1
  61. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/MetricsNew.vue +143 -0
  62. package/components/common/monitor/overview/OverviewNew.vue +142 -142
  63. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  64. package/components/common/monitor/overview/filters/Filters.vue +166 -166
  65. package/components/common/monitor/overview/filters/FiltersNew.vue +172 -172
  66. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
  67. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -175
  68. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -161
  69. package/components/common/pages/home/StatusContent.vue +49 -49
  70. package/components/common/pages/home/headline/Headline.vue +45 -45
  71. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  72. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  73. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  74. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  75. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  76. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  77. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  78. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  79. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  80. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  81. package/components/common/pages/packages/Packages.vue +208 -208
  82. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  83. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  84. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  85. package/components/common/portlets/tag/Portlet.vue +433 -433
  86. package/components/common/recursionTree/RecursionTree.vue +223 -223
  87. package/components/common/select/button/ButtonDropdown.vue +108 -108
  88. package/components/common/spiceConsole/Drawer.vue +370 -370
  89. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  90. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  91. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  92. package/components/common/split/vertical/Vertical.vue +160 -160
  93. package/components/common/vm/actions/add/Add.vue +622 -622
  94. package/components/common/vm/actions/clone/Clone.vue +639 -639
  95. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  96. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  97. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  98. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  99. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  100. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  168. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  169. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  170. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  171. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  172. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  173. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  174. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  175. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  176. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  177. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  178. package/composables/productNameLocal.ts +30 -30
  179. package/composables/useAppVersion.ts +21 -21
  180. package/lib/models/interfaces.ts +1 -1
  181. package/package.json +2 -2
  182. package/plugins/date.ts +233 -233
  183. package/plugins/directives.ts +24 -24
  184. package/plugins/recursion.ts +311 -311
  185. package/public/spice-console/lib/images/bitmap.js +203 -203
  186. package/public/spice-console/network/spicechannel.js +383 -383
  187. package/store/main/mutations.ts +7 -7
  188. package/store/main/state.ts +7 -7
  189. package/store/tasks/mappers/recentTasks.ts +64 -64
  190. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/metricsNew/MetricsNew.vue +0 -101
  191. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/metricsNew/lib/utils/constructAccordion.ts +0 -32
@@ -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
+ }