bfg-common 1.5.23 → 1.5.24

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 (161) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/scss/common/normalize.scss +339 -339
  3. package/components/atoms/TheIcon3.vue +50 -50
  4. package/components/atoms/collapse/CollapseNav.vue +165 -165
  5. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  6. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  7. package/components/atoms/perPage/PerPage.vue +58 -58
  8. package/components/atoms/stack/StackBlock.vue +185 -185
  9. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  10. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  11. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  12. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  13. package/components/common/accordion/Recursion.vue +222 -222
  14. package/components/common/browse/BrowseNew.vue +237 -237
  15. package/components/common/browse/BrowseOld.vue +217 -217
  16. package/components/common/browse/blocks/contents/Files.vue +37 -37
  17. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  18. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/context/Context.vue +111 -111
  21. package/components/common/context/lib/models/interfaces.ts +31 -31
  22. package/components/common/context/recursion/Recursion.vue +87 -87
  23. package/components/common/context/recursion/RecursionNew.vue +238 -238
  24. package/components/common/context/recursion/RecursionOld.vue +228 -228
  25. package/components/common/details/DetailsItem.vue +109 -109
  26. package/components/common/diagramMain/DiagramMain.vue +897 -897
  27. package/components/common/diagramMain/Header.vue +214 -214
  28. package/components/common/graph/Graph.vue +104 -104
  29. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  30. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  32. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  33. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  34. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  35. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  36. package/components/common/monitor/overview/Overview.vue +1 -0
  37. package/components/common/monitor/overview/Overview.vue~ +132 -0
  38. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  39. package/components/common/pages/home/StatusContent.vue +49 -49
  40. package/components/common/pages/home/headline/Headline.vue +45 -45
  41. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  42. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  43. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  44. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  45. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  46. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  47. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  48. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  49. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  50. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  51. package/components/common/pages/packages/Packages.vue +208 -208
  52. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  53. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  54. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  55. package/components/common/portlets/tag/Portlet.vue +433 -433
  56. package/components/common/recursionTree/RecursionTree.vue +223 -223
  57. package/components/common/select/button/ButtonDropdown.vue +108 -108
  58. package/components/common/spiceConsole/Drawer.vue +370 -370
  59. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  60. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  61. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  62. package/components/common/split/vertical/Vertical.vue +160 -160
  63. package/components/common/tools/Actions.vue +188 -188
  64. package/components/common/vm/actions/add/Add.vue +622 -622
  65. package/components/common/vm/actions/clone/Clone.vue +639 -639
  66. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  67. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  68. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  69. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  139. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  140. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  141. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  142. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  143. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  144. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  145. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  146. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  147. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  148. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  149. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  150. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  151. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  152. package/composables/productNameLocal.ts +30 -30
  153. package/composables/useAppVersion.ts +21 -21
  154. package/package.json +1 -1
  155. package/plugins/date.ts +233 -233
  156. package/plugins/directives.ts +24 -24
  157. package/public/spice-console/lib/images/bitmap.js +203 -203
  158. package/public/spice-console/network/spicechannel.js +383 -383
  159. package/store/main/mutations.ts +7 -7
  160. package/store/main/state.ts +7 -7
  161. 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
+ }