bfg-common 1.5.479 → 1.5.481

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 (112) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +29 -2
  7. package/assets/localization/local_en.json +29 -2
  8. package/assets/localization/local_hy.json +29 -2
  9. package/assets/localization/local_kk.json +29 -2
  10. package/assets/localization/local_ru.json +29 -2
  11. package/assets/localization/local_zh.json +29 -2
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1709 -1709
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/atoms/window/Window.vue +460 -460
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/context/lib/models/interfaces.ts +33 -33
  22. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  23. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  24. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  25. package/components/common/diagramMain/port/Port.vue +580 -580
  26. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  27. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +95 -95
  28. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  29. package/components/common/pages/backups/DetailView.vue +52 -52
  30. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  31. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  32. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +4 -1
  33. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +4 -1
  34. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  35. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +4 -1
  36. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  37. package/components/common/pages/backups/modals/createBackup/datastores/tableView/lib/config/table.ts +8 -0
  38. package/components/common/pages/backups/modals/createBackup/general/General.vue +141 -141
  39. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  40. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  41. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  42. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  43. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  44. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  45. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  46. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  47. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  48. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  49. package/components/common/pages/backups/tools/Tools.vue +75 -75
  50. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  51. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  52. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  53. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  54. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  55. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  56. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  57. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  58. package/components/common/select/radio/RadioGroup.vue +137 -137
  59. package/components/common/spiceConsole/Drawer.vue +392 -392
  60. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  61. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  62. package/components/common/tools/Actions.vue +207 -207
  63. package/components/common/treeView/TreeView.vue +52 -52
  64. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  65. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  75. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +4 -1
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  82. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  83. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  84. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  85. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  86. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  87. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  88. package/components/common/vm/actions/common/select/name/Name.vue +197 -197
  89. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  90. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  91. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  92. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  93. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  94. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  95. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  96. package/components/common/vm/actions/register/Register.vue +267 -267
  97. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  98. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  99. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  100. package/components/common/wizards/vm/migrate/vmOrigin/VmOrigin.vue +1 -0
  101. package/components/lib/models/interfaces.ts +2 -0
  102. package/composables/useAppVersion.ts +21 -21
  103. package/composables/useLocal.ts +6 -6
  104. package/composables/useLocalCommon.ts +39 -39
  105. package/package.json +2 -2
  106. package/plugins/date.ts +233 -233
  107. package/plugins/panelStates.ts +70 -70
  108. package/plugins/text.ts +59 -59
  109. package/public/spice-console/lib/images/bitmap.js +203 -203
  110. package/public/spice-console/network/spicechannel.js +440 -440
  111. package/store/main/mutations.ts +7 -7
  112. package/store/main/state.ts +7 -7
@@ -1,186 +1,186 @@
1
- import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
2
-
3
- export interface API_UI_I_Pvm {
4
- compatibility: string
5
- deployment_name: string
6
- guest_os_family: string
7
- guest_os_version: string
8
- machine_type: string
9
- name: string
10
- uuid: string
11
- cpu: {
12
- core_per_socket: number
13
- hotplug: boolean
14
- limit_mhz: number
15
- max_vcpus: number
16
- model: string
17
- reservation_mhz: number
18
- shares: number
19
- vcpus: number
20
- }
21
- disk_devices: {
22
- allocated_mb: number
23
- boot_order: number
24
- bus: string
25
- cache: string
26
- capacity_mb: number
27
- device_type: string
28
- discard: string
29
- disk_mode: string
30
- free_mb: number
31
- io: string
32
- limit_iops: number
33
- location: string
34
- provision_type: string
35
- read_only: boolean
36
- shares: number
37
- sharing: boolean
38
- source: string
39
- storage_id: string
40
- target: string
41
- used_mb: number
42
- volume_path: string
43
- }[]
44
- input_devices: {
45
- bus: string
46
- type: string
47
- }[]
48
- memory: {
49
- hotplug: boolean
50
- limit_mb: number
51
- reservation_mb: number
52
- size_mb: number
53
- }
54
- monitoring: {
55
- cpu: {
56
- current_vcpus: number
57
- provisioned_mhz: number
58
- used_mhz: number
59
- }
60
- encryption: string
61
- evc_cpu_mode: string
62
- evc_graphics_mode: string
63
- guest_tools: {
64
- dns_name: string
65
- ip: string
66
- status: string
67
- version: string
68
- }
69
- memory: {
70
- dram_read_bandwidth: number
71
- pmem_read_bandwidth: number
72
- provisioned_mb: number
73
- resident_set_size_mb: number
74
- used_mb: number
75
- }
76
- networks: null // ?
77
- state: number
78
- storage: {
79
- allocated_space_mb: number
80
- provisioned_space_mb: number
81
- used_space_mb: number
82
- }
83
- tpm: string
84
- uptime: {
85
- start_time: string
86
- uptime_humanized: string
87
- uptime_ms: number
88
- }
89
- vbs: string
90
- }
91
- network_devices: {
92
- boot_order: number
93
- import_source_id: string
94
- mac: string
95
- model: string
96
- net_bridge: string
97
- network: string
98
- target: string
99
- }[]
100
- options: {
101
- boot_options: {
102
- boot_delay_ms: number
103
- boot_menu: boolean
104
- firmware: string
105
- }
106
- guest_tools: {
107
- enabled: boolean
108
- synchronized_time: boolean
109
- }
110
- remote_console: {
111
- guest_os_lock: boolean
112
- keymap: string
113
- limit_sessions: number
114
- password: string
115
- port: number
116
- spice: {
117
- clipboard: boolean
118
- file_transfer: boolean
119
- img_compression: string
120
- jpeg_compression: string
121
- playback_compression: boolean
122
- streaming_mode: string
123
- zlib_glz_compression: string
124
- }
125
- type: string
126
- }
127
- }
128
- passthrough_pci_devices: any[]
129
- snapshots: any
130
- storage: {
131
- folder: string
132
- id: string
133
- }
134
- usb_controllers: {
135
- type: string
136
- }[]
137
- video_card: {
138
- adapter: string
139
- displays: number
140
- memory_mb: number
141
- }
142
- host_id?: string
143
- }
144
- // TODO use from vms
145
- export interface UI_I_Pvm extends API_UI_I_Pvm {}
146
-
147
- export interface UI_I_CreateBackupFormDiskDevice {
148
- location: string
149
- target: string
150
- }
151
- export interface UI_I_CreateBackupForm {
152
- target: string
153
- name: string
154
- description: string
155
- disk_devices: UI_I_CreateBackupFormDiskDevice[]
156
- backup_storage: string
157
- strategy: 0 | 1 | 2
158
- // start_window_min: number
159
- bandwidth_limit: number
160
- }
161
-
162
- export interface UI_I_RestoreForm {
163
- restore_code: 1 | 2 | 3 // 1 - disk only, 2 - existing, 3 - asNew
164
- backup_storage: string
165
- bucket: string
166
- backup: string
167
- pvm: UI_I_Pvm
168
- }
169
-
170
- export interface UI_I_BackupDatastore {
171
- id: string
172
- location: string
173
- name: string
174
- path: string
175
- state: number // ??
176
- type_code: number // ??
177
- type_text: string
178
- capacity: {
179
- capacity_mb: number
180
- free_mb: number
181
- provisioned_mb: number
182
- used_mb: number
183
- }
184
- }
185
- export interface UI_I_BackupDatastoreTable
186
- extends API_UI_I_DataTable<UI_I_BackupDatastore[]> {}
1
+ import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
2
+
3
+ export interface API_UI_I_Pvm {
4
+ compatibility: string
5
+ deployment_name: string
6
+ guest_os_family: string
7
+ guest_os_version: string
8
+ machine_type: string
9
+ name: string
10
+ uuid: string
11
+ cpu: {
12
+ core_per_socket: number
13
+ hotplug: boolean
14
+ limit_mhz: number
15
+ max_vcpus: number
16
+ model: string
17
+ reservation_mhz: number
18
+ shares: number
19
+ vcpus: number
20
+ }
21
+ disk_devices: {
22
+ allocated_mb: number
23
+ boot_order: number
24
+ bus: string
25
+ cache: string
26
+ capacity_mb: number
27
+ device_type: string
28
+ discard: string
29
+ disk_mode: string
30
+ free_mb: number
31
+ io: string
32
+ limit_iops: number
33
+ location: string
34
+ provision_type: string
35
+ read_only: boolean
36
+ shares: number
37
+ sharing: boolean
38
+ source: string
39
+ storage_id: string
40
+ target: string
41
+ used_mb: number
42
+ volume_path: string
43
+ }[]
44
+ input_devices: {
45
+ bus: string
46
+ type: string
47
+ }[]
48
+ memory: {
49
+ hotplug: boolean
50
+ limit_mb: number
51
+ reservation_mb: number
52
+ size_mb: number
53
+ }
54
+ monitoring: {
55
+ cpu: {
56
+ current_vcpus: number
57
+ provisioned_mhz: number
58
+ used_mhz: number
59
+ }
60
+ encryption: string
61
+ evc_cpu_mode: string
62
+ evc_graphics_mode: string
63
+ guest_tools: {
64
+ dns_name: string
65
+ ip: string
66
+ status: string
67
+ version: string
68
+ }
69
+ memory: {
70
+ dram_read_bandwidth: number
71
+ pmem_read_bandwidth: number
72
+ provisioned_mb: number
73
+ resident_set_size_mb: number
74
+ used_mb: number
75
+ }
76
+ networks: null // ?
77
+ state: number
78
+ storage: {
79
+ allocated_space_mb: number
80
+ provisioned_space_mb: number
81
+ used_space_mb: number
82
+ }
83
+ tpm: string
84
+ uptime: {
85
+ start_time: string
86
+ uptime_humanized: string
87
+ uptime_ms: number
88
+ }
89
+ vbs: string
90
+ }
91
+ network_devices: {
92
+ boot_order: number
93
+ import_source_id: string
94
+ mac: string
95
+ model: string
96
+ net_bridge: string
97
+ network: string
98
+ target: string
99
+ }[]
100
+ options: {
101
+ boot_options: {
102
+ boot_delay_ms: number
103
+ boot_menu: boolean
104
+ firmware: string
105
+ }
106
+ guest_tools: {
107
+ enabled: boolean
108
+ synchronized_time: boolean
109
+ }
110
+ remote_console: {
111
+ guest_os_lock: boolean
112
+ keymap: string
113
+ limit_sessions: number
114
+ password: string
115
+ port: number
116
+ spice: {
117
+ clipboard: boolean
118
+ file_transfer: boolean
119
+ img_compression: string
120
+ jpeg_compression: string
121
+ playback_compression: boolean
122
+ streaming_mode: string
123
+ zlib_glz_compression: string
124
+ }
125
+ type: string
126
+ }
127
+ }
128
+ passthrough_pci_devices: any[]
129
+ snapshots: any
130
+ storage: {
131
+ folder: string
132
+ id: string
133
+ }
134
+ usb_controllers: {
135
+ type: string
136
+ }[]
137
+ video_card: {
138
+ adapter: string
139
+ displays: number
140
+ memory_mb: number
141
+ }
142
+ host_id?: string
143
+ }
144
+ // TODO use from vms
145
+ export interface UI_I_Pvm extends API_UI_I_Pvm {}
146
+
147
+ export interface UI_I_CreateBackupFormDiskDevice {
148
+ location: string
149
+ target: string
150
+ }
151
+ export interface UI_I_CreateBackupForm {
152
+ target: string
153
+ name: string
154
+ description: string
155
+ disk_devices: UI_I_CreateBackupFormDiskDevice[]
156
+ backup_storage: string
157
+ strategy: 0 | 1 | 2
158
+ // start_window_min: number
159
+ bandwidth_limit: number
160
+ }
161
+
162
+ export interface UI_I_RestoreForm {
163
+ restore_code: 1 | 2 | 3 // 1 - disk only, 2 - existing, 3 - asNew
164
+ backup_storage: string
165
+ bucket: string
166
+ backup: string
167
+ pvm: UI_I_Pvm
168
+ }
169
+
170
+ export interface UI_I_BackupDatastore {
171
+ id: string
172
+ location: string
173
+ name: string
174
+ path: string
175
+ state: number // ??
176
+ type_code: number // ??
177
+ type_text: string
178
+ capacity: {
179
+ capacity_mb: number
180
+ free_mb: number
181
+ provisioned_mb: number
182
+ used_mb: number
183
+ }
184
+ }
185
+ export interface UI_I_BackupDatastoreTable
186
+ extends API_UI_I_DataTable<UI_I_BackupDatastore[]> {}
@@ -1,27 +1,27 @@
1
- <template>
2
- <div class="disks h-full">
3
- <common-pages-backups-modals-restore-disks-table-view
4
- v-model:selected="model.pvm.disk_devices"
5
- :data-table="disks"
6
- :total-items="disks.length"
7
- :total-pages="1"
8
- />
9
- </div>
10
- </template>
11
-
12
- <script lang="ts" setup>
13
- import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
14
-
15
- const model = defineModel<UI_I_RestoreForm>({ required: true })
16
-
17
- const { $store } = useNuxtApp()
18
-
19
- const disks = computed<UI_I_RestoreForm['pvm']['disk_devices']>(
20
- () =>
21
- $store.getters['backup/getPvm']?.disk_devices.filter(
22
- (disk: UI_I_RestoreForm['pvm']['disk_devices'][0]) => disk.source
23
- ) || []
24
- )
25
- </script>
26
-
27
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div class="disks h-full">
3
+ <common-pages-backups-modals-restore-disks-table-view
4
+ v-model:selected="model.pvm.disk_devices"
5
+ :data-table="disks"
6
+ :total-items="disks.length"
7
+ :total-pages="1"
8
+ />
9
+ </div>
10
+ </template>
11
+
12
+ <script lang="ts" setup>
13
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
14
+
15
+ const model = defineModel<UI_I_RestoreForm>({ required: true })
16
+
17
+ const { $store } = useNuxtApp()
18
+
19
+ const disks = computed<UI_I_RestoreForm['pvm']['disk_devices']>(
20
+ () =>
21
+ $store.getters['backup/getPvm']?.disk_devices.filter(
22
+ (disk: UI_I_RestoreForm['pvm']['disk_devices'][0]) => disk.source
23
+ ) || []
24
+ )
25
+ </script>
26
+
27
+ <style lang="scss" scoped></style>
@@ -1,117 +1,117 @@
1
- import type {
2
- UI_I_HeadItem,
3
- UI_I_ColumnKey,
4
- UI_I_BodyItem,
5
- } from '~/components/atoms/table/dataGrid/lib/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
- import {
9
- constructHeadItem,
10
- constructColumnKey,
11
- } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
12
- import { tableKeys } from '~/components/common/pages/backups/modals/restore/disks/tableView/lib/config/keys'
13
-
14
- const getItems = (
15
- localization: UI_I_Localization
16
- ): [string, boolean, string, string][] => {
17
- return [
18
- [localization.common.source, true, '180px', tableKeys[0]],
19
- [localization.common.deviceType, true, '180px', tableKeys[1]],
20
- [localization.common.bus, true, '180px', tableKeys[2]],
21
- [localization.common.target, true, '180px', tableKeys[3]],
22
- [localization.common.capacity, true, '180px', tableKeys[4]],
23
- [localization.common.used, true, '180px', tableKeys[5]],
24
- [localization.common.free, true, '180px', tableKeys[6]],
25
- [localization.common.volumePath, true, '180px', tableKeys[7]],
26
- ]
27
- }
28
- export const columnKeys = (
29
- localization: UI_I_Localization
30
- ): UI_I_ColumnKey[] => {
31
- const result: UI_I_ColumnKey[] = []
32
- getItems(localization).forEach((item, i) => {
33
- result.push(
34
- constructColumnKey(`col${i}`, item[0], item[1], `show-column-${item[3]}`)
35
- )
36
- })
37
- return result
38
- }
39
- export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
40
- const result: UI_I_HeadItem[] = []
41
- getItems(localization).forEach((item, i) => {
42
- result.push(
43
- constructHeadItem(
44
- `col${i}`,
45
- item[0],
46
- item[3],
47
- true,
48
- item[2],
49
- undefined,
50
- item[3]
51
- )
52
- )
53
- })
54
- return result
55
- }
56
-
57
- export const bodyItems = (
58
- data: UI_I_RestoreForm['pvm']['disk_devices']
59
- ): UI_I_BodyItem[][] => {
60
- const { $binary }: any = useNuxtApp()
61
- const lang = useLocalStorage('lang') === 'ru_RU' ? 'ru' : 'en'
62
-
63
- const bodyItems: UI_I_BodyItem[][] = []
64
- data.forEach((disk: UI_I_RestoreForm['pvm']['disk_devices'][0]) => {
65
- bodyItems.push([
66
- {
67
- key: 'col0',
68
- text: disk[tableKeys[0]],
69
- id: disk.source,
70
- data: {
71
- location: disk.source,
72
- target: disk.target,
73
- },
74
- },
75
- {
76
- key: 'col1',
77
- text: disk[tableKeys[1]],
78
- id: disk.source,
79
- },
80
- {
81
- key: 'col2',
82
- text: disk[tableKeys[2]],
83
- id: disk.source,
84
- },
85
- {
86
- key: 'col3',
87
- text: disk[tableKeys[3]],
88
- id: disk.source,
89
- },
90
- {
91
- key: 'col4',
92
- text: $binary.round(disk[tableKeys[4]], false, lang),
93
- id: disk.source,
94
- },
95
- {
96
- key: 'col5',
97
- text: $binary.round(
98
- disk[tableKeys[4]] - disk[tableKeys[6]],
99
- false,
100
- lang
101
- ),
102
- id: disk.source,
103
- },
104
- {
105
- key: 'col6',
106
- text: $binary.round(disk[tableKeys[6]], false, lang),
107
- id: disk.source,
108
- },
109
- {
110
- key: 'col7',
111
- text: disk[tableKeys[7]],
112
- id: disk.source,
113
- },
114
- ])
115
- })
116
- return bodyItems
117
- }
1
+ import type {
2
+ UI_I_HeadItem,
3
+ UI_I_ColumnKey,
4
+ UI_I_BodyItem,
5
+ } from '~/components/atoms/table/dataGrid/lib/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
+ import {
9
+ constructHeadItem,
10
+ constructColumnKey,
11
+ } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
12
+ import { tableKeys } from '~/components/common/pages/backups/modals/restore/disks/tableView/lib/config/keys'
13
+
14
+ const getItems = (
15
+ localization: UI_I_Localization
16
+ ): [string, boolean, string, string][] => {
17
+ return [
18
+ [localization.common.source, true, '180px', tableKeys[0]],
19
+ [localization.common.deviceType, true, '180px', tableKeys[1]],
20
+ [localization.common.bus, true, '180px', tableKeys[2]],
21
+ [localization.common.target, true, '180px', tableKeys[3]],
22
+ [localization.common.capacity, true, '180px', tableKeys[4]],
23
+ [localization.common.used, true, '180px', tableKeys[5]],
24
+ [localization.common.free, true, '180px', tableKeys[6]],
25
+ [localization.common.volumePath, true, '180px', tableKeys[7]],
26
+ ]
27
+ }
28
+ export const columnKeys = (
29
+ localization: UI_I_Localization
30
+ ): UI_I_ColumnKey[] => {
31
+ const result: UI_I_ColumnKey[] = []
32
+ getItems(localization).forEach((item, i) => {
33
+ result.push(
34
+ constructColumnKey(`col${i}`, item[0], item[1], `show-column-${item[3]}`)
35
+ )
36
+ })
37
+ return result
38
+ }
39
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
40
+ const result: UI_I_HeadItem[] = []
41
+ getItems(localization).forEach((item, i) => {
42
+ result.push(
43
+ constructHeadItem(
44
+ `col${i}`,
45
+ item[0],
46
+ item[3],
47
+ true,
48
+ item[2],
49
+ undefined,
50
+ item[3]
51
+ )
52
+ )
53
+ })
54
+ return result
55
+ }
56
+
57
+ export const bodyItems = (
58
+ data: UI_I_RestoreForm['pvm']['disk_devices']
59
+ ): UI_I_BodyItem[][] => {
60
+ const { $binary }: any = useNuxtApp()
61
+ const lang = useLocalStorage('lang') === 'ru_RU' ? 'ru' : 'en'
62
+
63
+ const bodyItems: UI_I_BodyItem[][] = []
64
+ data.forEach((disk: UI_I_RestoreForm['pvm']['disk_devices'][0]) => {
65
+ bodyItems.push([
66
+ {
67
+ key: 'col0',
68
+ text: disk[tableKeys[0]],
69
+ id: disk.source,
70
+ data: {
71
+ location: disk.source,
72
+ target: disk.target,
73
+ },
74
+ },
75
+ {
76
+ key: 'col1',
77
+ text: disk[tableKeys[1]],
78
+ id: disk.source,
79
+ },
80
+ {
81
+ key: 'col2',
82
+ text: disk[tableKeys[2]],
83
+ id: disk.source,
84
+ },
85
+ {
86
+ key: 'col3',
87
+ text: disk[tableKeys[3]],
88
+ id: disk.source,
89
+ },
90
+ {
91
+ key: 'col4',
92
+ text: $binary.round(disk[tableKeys[4]], false, lang),
93
+ id: disk.source,
94
+ },
95
+ {
96
+ key: 'col5',
97
+ text: $binary.round(
98
+ disk[tableKeys[4]] - disk[tableKeys[6]],
99
+ false,
100
+ lang
101
+ ),
102
+ id: disk.source,
103
+ },
104
+ {
105
+ key: 'col6',
106
+ text: $binary.round(disk[tableKeys[6]], false, lang),
107
+ id: disk.source,
108
+ },
109
+ {
110
+ key: 'col7',
111
+ text: disk[tableKeys[7]],
112
+ id: disk.source,
113
+ },
114
+ ])
115
+ })
116
+ return bodyItems
117
+ }