bfg-common 1.5.539 → 1.5.540

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 (158) 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/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/Add.vue +251 -251
  14. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  15. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  16. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  17. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  18. package/components/common/diagramMain/port/Port.vue +580 -580
  19. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  20. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  21. package/components/common/pages/backups/DetailView.vue +52 -52
  22. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  23. package/components/common/pages/backups/modals/Modals.vue +243 -243
  24. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +195 -195
  25. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +29 -29
  26. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +69 -69
  27. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +38 -38
  28. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/TableView.vue +3 -3
  29. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/lib/config/table.ts +1 -0
  30. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  31. package/components/common/pages/backups/modals/createBackup/lib/models/interfaces.ts +8 -8
  32. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  33. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  34. package/components/common/pages/backups/modals/restore/Restore.vue +78 -196
  35. package/components/common/pages/backups/modals/restore/RestoreNew.vue +289 -0
  36. package/components/common/pages/backups/modals/restore/RestoreOld.vue +173 -0
  37. package/components/common/pages/backups/modals/restore/disks/Disks.vue +32 -27
  38. package/components/common/pages/backups/modals/restore/disks/DisksNew.vue +17 -0
  39. package/components/common/pages/backups/modals/restore/disks/DisksOld.vue +21 -0
  40. package/components/common/pages/backups/modals/restore/disks/tableView/new/Table.vue +126 -0
  41. package/components/common/pages/backups/modals/restore/disks/tableView/new/lib/config/table.ts +175 -0
  42. package/components/common/pages/backups/modals/restore/disks/tableView/{TableView.vue → old/Table.vue} +6 -3
  43. package/components/common/pages/backups/modals/restore/disks/tableView/{lib → old/lib}/config/keys.ts +1 -1
  44. package/components/common/pages/backups/modals/restore/disks/tableView/{lib → old/lib}/config/table.ts +117 -117
  45. package/components/common/pages/backups/modals/restore/disks/tableView/{lib → old/lib}/models/types.ts +1 -1
  46. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +62 -0
  47. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +21 -21
  48. package/components/common/pages/backups/modals/restore/name/Name.vue +31 -166
  49. package/components/common/pages/backups/modals/restore/name/NameNew.vue +98 -0
  50. package/components/common/pages/backups/modals/restore/name/NameOld.vue +86 -0
  51. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  52. package/components/common/pages/backups/modals/restore/networks/Networks.vue +63 -70
  53. package/components/common/pages/backups/modals/restore/networks/NetworksNew.vue +78 -0
  54. package/components/common/pages/backups/modals/restore/networks/NetworksOld.vue +48 -0
  55. package/components/common/pages/backups/modals/restore/networks/table/new/Table.vue +269 -0
  56. package/components/common/pages/backups/modals/restore/networks/table/new/lib/config/table.ts +127 -0
  57. package/components/common/pages/backups/modals/restore/networks/table/{Table.vue → old/Table.vue} +219 -214
  58. package/components/common/pages/backups/modals/restore/networks/table/{adapterType → old/adapterType}/AdapterType.vue +1 -1
  59. package/components/common/pages/backups/modals/restore/networks/table/{lib → old/lib}/config/networkTable.ts +1 -1
  60. package/components/common/pages/backups/modals/restore/networks/table/old/lib/config/tableKeys.ts +8 -0
  61. package/components/common/pages/backups/modals/restore/types/Types.vue +9 -50
  62. package/components/common/pages/backups/modals/restore/types/TypesNew.vue +95 -0
  63. package/components/common/pages/backups/modals/restore/types/TypesOld.vue +61 -0
  64. package/components/common/pages/backups/modals/restore/types/lib/config/descriptions.ts +1 -0
  65. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  66. package/components/common/pages/backups/modals/restore/validation/validation.ts +108 -0
  67. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  68. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  69. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  70. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  71. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  72. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  73. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  74. package/components/common/select/radio/RadioGroup.vue +137 -137
  75. package/components/common/spiceConsole/Drawer.vue +420 -420
  76. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  77. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  78. package/components/common/tools/Actions.vue +207 -207
  79. package/components/common/treeView/TreeView.vue +52 -52
  80. package/components/common/vm/actions/add/Add.vue +949 -950
  81. package/components/common/vm/actions/add/New.vue +689 -690
  82. package/components/common/vm/actions/add/Old.vue +400 -402
  83. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  84. package/components/common/vm/actions/clone/Clone.vue +808 -809
  85. package/components/common/vm/actions/clone/new/New.vue +454 -457
  86. package/components/common/vm/actions/clone/old/Old.vue +378 -378
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +427 -427
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  102. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  103. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  104. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  105. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  106. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  107. package/components/common/vm/actions/common/select/storage/Old.vue +132 -125
  108. package/components/common/vm/actions/common/select/storage/Storage.vue +167 -178
  109. package/components/common/vm/actions/common/select/storage/new/New.vue +330 -311
  110. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  111. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  112. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  113. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  114. package/components/common/vm/actions/register/Register.vue +352 -352
  115. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  116. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +85 -86
  117. package/components/common/wizards/common/steps/computeResource/New.vue +92 -93
  118. package/components/common/wizards/common/steps/computeResource/Old.vue +102 -103
  119. package/components/common/wizards/common/{compatibility → steps/computeResource/compatibility}/Compatibility.vue +31 -35
  120. package/components/common/wizards/common/{compatibility → steps/computeResource/compatibility}/New.vue +98 -99
  121. package/components/common/wizards/common/{compatibility → steps/computeResource/compatibility}/Old.vue +54 -53
  122. package/components/common/wizards/common/{compatibility → steps/computeResource/compatibility}/lib/models/enums.ts +1 -1
  123. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  124. package/components/common/wizards/common/steps/name/New.vue +221 -221
  125. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  126. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  127. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  128. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  129. package/components/common/wizards/datastore/add/Add.vue +228 -228
  130. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  131. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  132. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +195 -205
  133. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  134. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +1 -1
  135. package/composables/useAppVersion.ts +21 -21
  136. package/composables/useLocal.ts +6 -6
  137. package/composables/useLocalCommon.ts +39 -39
  138. package/package.json +1 -1
  139. package/plugins/console.ts +21 -21
  140. package/plugins/date.ts +233 -233
  141. package/plugins/mouse.ts +21 -21
  142. package/plugins/panelStates.ts +70 -70
  143. package/plugins/text.ts +59 -59
  144. package/public/spice-console/application/clientgui.js +854 -854
  145. package/public/spice-console/application/packetfactory.js +211 -211
  146. package/public/spice-console/application/virtualmouse.js +147 -147
  147. package/public/spice-console/lib/images/bitmap.js +203 -203
  148. package/public/spice-console/network/spicechannel.js +440 -440
  149. package/public/spice-console/process/cursorprocess.js +121 -121
  150. package/public/spice-console/process/inputprocess.js +227 -227
  151. package/public/spice-console/process/mainprocess.js +210 -210
  152. package/public/spice-console/run.js +210 -210
  153. package/store/main/mutations.ts +7 -7
  154. package/store/main/state.ts +7 -7
  155. package/components/common/pages/backups/modals/restore/networks/table/lib/config/tableKeys.ts +0 -10
  156. package/components/common/wizards/common/compatibility/lib/models/types.ts +0 -1
  157. /package/components/common/pages/backups/modals/restore/networks/table/{adapterType → old/adapterType}/lib/config/options.ts +0 -0
  158. /package/components/common/pages/backups/modals/restore/networks/table/{lib → old/lib}/models/types.ts +0 -0
@@ -0,0 +1,269 @@
1
+ <template>
2
+ <div class="networks-table">
3
+ <ui-data-table
4
+ :data="data"
5
+ :options="options"
6
+ :loading="props.networksLoading"
7
+ :total-pages="1"
8
+ :total-items="props.networks?.length || 0"
9
+ :texts="texts"
10
+ :default-layout="false"
11
+ :skeleton="skeletonData"
12
+ size="sm"
13
+ test-id="backup-restore-networks-table"
14
+ >
15
+ <template #icon="{ item }">
16
+ <span :class="['icon', item.data.iconClassName]"></span>
17
+ <span :title="item.text" class="text-ellipsis ml-1 networks-table-text">
18
+ {{ item.text }}
19
+ </span>
20
+ </template>
21
+
22
+ <template #select="item">
23
+ <div v-if="item.item.data.type === 'select-network'" class="w-full">
24
+ <ui-select
25
+ v-model="selectedLocation"
26
+ :items="locationOptions"
27
+ test-id="select-network-type"
28
+ size="sm"
29
+ class="network-type-select"
30
+ select-width="100%"
31
+ show-text
32
+ @change="changeLocation($event, item.item.data.key)"
33
+ />
34
+ </div>
35
+
36
+ <div v-if="item.item.data.type === 'select-adapter'" class="w-full">
37
+ <ui-select
38
+ v-model="model.pvm.network_devices[item.item.data.key].model"
39
+ :items="adapterTypeOptionsConfig"
40
+ test-id="select-adapter-type"
41
+ size="sm"
42
+ class="adapter-type-select"
43
+ select-width="112px"
44
+ show-text
45
+ />
46
+ </div>
47
+ </template>
48
+ </ui-data-table>
49
+
50
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
51
+ v-if="selectedNetworkKeyForLocation !== -1"
52
+ :location-modal-is-show="selectedNetworkKeyForLocation !== -1"
53
+ :networks-table="props.sourceNetworks"
54
+ @hide="onHideLocationModal"
55
+ @select="onSelectLocation"
56
+ />
57
+ </div>
58
+ </template>
59
+
60
+ <script setup lang="ts">
61
+ import type {
62
+ UI_I_DataTable,
63
+ UI_I_DataTableBody,
64
+ UI_I_DataTableHeader,
65
+ UI_I_DataTableSkeleton,
66
+ UI_I_TableTexts,
67
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
68
+ import {
69
+ getBodyDataFunc,
70
+ getHeaderDataFunc,
71
+ options,
72
+ } from '~/components/common/pages/backups/modals/restore/networks/table/new/lib/config/table'
73
+ import type {
74
+ UI_I_HTMLSelectElement,
75
+ UI_I_Localization,
76
+ } from '~/lib/models/interfaces'
77
+ import { adapterTypeOptionsConfig } from '~/components/common/pages/backups/modals/restore/networks/table/old/adapterType/lib/config/options'
78
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
79
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
80
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
81
+
82
+ const model = defineModel<UI_I_RestoreForm>({ required: true })
83
+
84
+ const props = defineProps<{
85
+ networks: UI_I_RestoreForm['pvm']['network_devices']
86
+ sourceNetworks: UI_I_NetworkTableItem[]
87
+ networksLoading: boolean
88
+ }>()
89
+
90
+ const localization = computed<UI_I_Localization>(() => useLocal())
91
+
92
+ const texts = computed<UI_I_TableTexts>(() => ({
93
+ searchHere: localization.value.common.searchHere,
94
+ rowsPerPage: localization.value.common.rowsPerPage,
95
+ of: localization.value.common.of,
96
+ selected: localization.value.common.selected,
97
+ columns: localization.value.common.columns,
98
+ previous: localization.value.common.previous,
99
+ next: localization.value.common.next,
100
+ noItemsFound: localization.value.common.noItemsFound,
101
+ exportAll: localization.value.common.exportAll,
102
+ exportSelected: localization.value.common.exportSelected,
103
+ all: localization.value.common.all,
104
+ filter: localization.value.common.filter,
105
+ }))
106
+ const skeletonData = ref<UI_I_DataTableSkeleton>({
107
+ columnsCount: 4,
108
+ headColumns: [],
109
+ bodyColumns: [],
110
+ withoutPagination: true,
111
+ })
112
+
113
+ const data = computed<UI_I_DataTable>(() => ({
114
+ id: 'backup-restore-networks-table',
115
+ header: headItems.value,
116
+ body: bodyItems.value,
117
+ title: `${localization.value.common.networks} (${
118
+ props.networks?.length || 0
119
+ })`,
120
+ }))
121
+
122
+ const headItems = computed<UI_I_DataTableHeader[]>(() =>
123
+ getHeaderDataFunc(localization.value)
124
+ )
125
+
126
+ const bodyItems = ref<UI_I_DataTableBody[]>([])
127
+ watch(
128
+ () => props.networks,
129
+ (newValue) => {
130
+ if (!newValue?.length) {
131
+ bodyItems.value = []
132
+ return
133
+ }
134
+
135
+ bodyItems.value = getBodyDataFunc(newValue)
136
+ },
137
+ { deep: true, immediate: true }
138
+ )
139
+
140
+ const selectedLocationOld = ref<string>('')
141
+ const selectedLocation = ref<string>('')
142
+ const locationOptions = ref<UI_I_OptionItem[]>([])
143
+ const selectedNetworkKeyForLocation = ref<number>(-1)
144
+
145
+ watch(
146
+ (): any => props.sourceNetworks,
147
+ (newValue) => {
148
+ if (!props.networks?.length || !newValue?.length) {
149
+ return
150
+ }
151
+ let selectedNetwork: any = null
152
+ model.value.pvm.network_devices = model.value.pvm.network_devices.map(
153
+ (network) => {
154
+ selectedNetwork =
155
+ newValue.find((net) => net.net_bridge === network.net_bridge) ||
156
+ newValue[0]
157
+
158
+ network.network = selectedNetwork.name
159
+ return network
160
+ }
161
+ )
162
+ selectedLocationOld.value = selectedNetwork.net_bridge
163
+ selectedLocation.value = selectedNetwork.net_bridge
164
+
165
+ locationOptions.value = [
166
+ {
167
+ text: selectedNetwork.name,
168
+ value: selectedNetwork.net_bridge,
169
+ },
170
+ { text: `${localization.value.common.browse}...`, value: 'browser' },
171
+ ]
172
+ },
173
+ { immediate: true }
174
+ )
175
+
176
+ const onHideLocationModal = (): void => {
177
+ selectedLocation.value = selectedLocationOld.value
178
+ const network = findNetwork(selectedLocationOld.value)
179
+ model.value.pvm.network_devices[selectedNetworkKeyForLocation.value].network =
180
+ network.name
181
+ model.value.pvm.network_devices[
182
+ selectedNetworkKeyForLocation.value
183
+ ].net_bridge = selectedLocationOld.value
184
+ selectedNetworkKeyForLocation.value = -1
185
+ }
186
+
187
+ const changeLocation = (event: UI_I_HTMLSelectElement, key: number): void => {
188
+ const value = event
189
+
190
+ if (value === 'browser') {
191
+ selectedNetworkKeyForLocation.value = key
192
+ return
193
+ }
194
+
195
+ selectedLocationOld.value = value
196
+ selectedLocation.value = value
197
+ const network = findNetwork(value)
198
+ model.value.pvm.network_devices[key].network = network.name || ''
199
+ model.value.pvm.network_devices[key].net_bridge = value
200
+ }
201
+
202
+ const onSelectLocation = (network: any): void => {
203
+ selectedLocationOld.value = network.net_bridge
204
+ selectedLocation.value = network.net_bridge
205
+ model.value.pvm.network_devices[selectedNetworkKeyForLocation.value].network =
206
+ network.name
207
+ model.value.pvm.network_devices[
208
+ selectedNetworkKeyForLocation.value
209
+ ].net_bridge = network.net_bridge
210
+ selectedNetworkKeyForLocation.value = -1
211
+
212
+ const hasNetwork = locationOptions.value.some(
213
+ (option) => option.value === network.name
214
+ )
215
+ if (hasNetwork) {
216
+ return
217
+ }
218
+
219
+ locationOptions.value = [
220
+ ...locationOptions.value.slice(0, -1),
221
+ { text: network.name, value: network.net_bridge },
222
+ locationOptions.value[locationOptions.value.length - 1],
223
+ ]
224
+ }
225
+
226
+ const findNetwork = (net_bridge: string): any => {
227
+ return props.sourceNetworks.find(
228
+ (network) => network.net_bridge === net_bridge
229
+ )
230
+ }
231
+ </script>
232
+
233
+ <style scoped lang="scss">
234
+ .networks-table {
235
+ :deep(.table-header-content) {
236
+ min-height: auto;
237
+ }
238
+
239
+ :deep(.title-container-top-info h6.title-container-top-selected-rows) {
240
+ font-size: 12px;
241
+ }
242
+
243
+ :deep(.ui-main-no-items-found span) {
244
+ font-size: 14px;
245
+ }
246
+
247
+ .adapter-type-select,
248
+ .network-type-select {
249
+ :deep(.ui-select-toggle-button) {
250
+ height: 28px;
251
+ }
252
+
253
+ :deep(.ui-selected-text) {
254
+ font-size: 12px;
255
+ }
256
+
257
+ :deep(.ui-arrow-icon) {
258
+ svg {
259
+ width: 16px;
260
+ height: 16px;
261
+ }
262
+ }
263
+ }
264
+
265
+ &-text {
266
+ font-size: 12px;
267
+ }
268
+ }
269
+ </style>
@@ -0,0 +1,127 @@
1
+ import type {
2
+ UI_I_DataTableBody,
3
+ UI_I_DataTableOptions,
4
+ UI_I_DataTableHeader,
5
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
6
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
7
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
8
+
9
+ export const getHeaderDataFunc = (
10
+ localization: UI_I_Localization
11
+ ): UI_I_DataTableHeader[] => [
12
+ {
13
+ col: 'col0',
14
+ colName: 'name',
15
+ text: localization.common.name,
16
+ isSortable: true,
17
+ sort: 'asc',
18
+ width: '188px',
19
+ show: true,
20
+ filter: false,
21
+ },
22
+ {
23
+ col: 'col1',
24
+ colName: 'macAddress',
25
+ text: localization.common.macAddress,
26
+ isSortable: true,
27
+ sort: 'asc',
28
+ width: '128px',
29
+ show: true,
30
+ filter: false,
31
+ },
32
+ {
33
+ col: 'col2',
34
+ colName: 'adapterType',
35
+ text: localization.common.adapterType,
36
+ isSortable: true,
37
+ sort: 'asc',
38
+ width: '112px',
39
+ show: true,
40
+ filter: false,
41
+ },
42
+ {
43
+ col: 'col3',
44
+ colName: 'networkInProcurator',
45
+ text: localization.common.networkInProcurator,
46
+ isSortable: true,
47
+ sort: 'asc',
48
+ width: '188px',
49
+ show: true,
50
+ filter: false,
51
+ },
52
+ ]
53
+
54
+ export const options: UI_I_DataTableOptions = {
55
+ perPageOptions: [{ text: '10', value: 100, default: true }],
56
+ isSelectable: false,
57
+ isFocusable: false,
58
+ showPagination: false,
59
+ showPaginationOnTop: false,
60
+ selectType: 'checkbox',
61
+ showPageInfo: false,
62
+ isSortable: true,
63
+ server: false,
64
+ isResizable: true,
65
+ showSearch: false,
66
+ showSelectedRows: false,
67
+ showColumnManager: false,
68
+ withActions: false,
69
+ inBlock: false,
70
+ inModal: true,
71
+ showExport: false,
72
+ withCollapse: false,
73
+ }
74
+
75
+ export const getBodyDataFunc = (
76
+ bodyData: UI_I_RestoreForm['pvm']['network_devices']
77
+ ): UI_I_DataTableBody[] => {
78
+ return bodyData.map((network, index: number) => {
79
+ const dataAdapterType = {
80
+ key: index,
81
+ id: `${network.vm_name}-select`,
82
+ sourceNetwork: network.source_network,
83
+ disabled: false,
84
+ type: 'select-adapter',
85
+ network: network.network,
86
+ }
87
+ const dataSelectNetwork = {
88
+ key: index,
89
+ id: `${network.vm_name}-select`,
90
+ type: 'select-network',
91
+ network: network.network,
92
+ }
93
+
94
+ return {
95
+ row: index,
96
+ collapse: false,
97
+ isHiddenCollapse: false,
98
+ collapseToggle: false,
99
+ data: [
100
+ {
101
+ key: 'icon',
102
+ col: 'col0',
103
+ text: network.import_source_id,
104
+ data: {
105
+ iconClassName: 'vsphere-icon-network',
106
+ },
107
+ },
108
+ {
109
+ col: 'col1',
110
+ text: network.mac,
111
+ },
112
+ {
113
+ col: 'col2',
114
+ key: 'select',
115
+ text: network.target,
116
+ data: dataAdapterType,
117
+ },
118
+ {
119
+ col: 'col3',
120
+ key: 'select',
121
+ data: dataSelectNetwork,
122
+ text: network.network,
123
+ },
124
+ ],
125
+ }
126
+ })
127
+ }