bfg-common 1.5.673 → 1.5.674

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 (125) 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/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  16. package/components/common/diagramMain/port/Port.vue +580 -580
  17. package/components/common/layout/bottomPanel/BottomPanel.vue +80 -0
  18. package/components/common/layout/bottomPanel/New.vue +239 -0
  19. package/components/common/layout/bottomPanel/Old.vue +154 -0
  20. package/components/common/layout/bottomPanel/alarms/Alarms.vue +76 -0
  21. package/components/common/layout/bottomPanel/alarms/lib/models/interfaces.ts +23 -0
  22. package/components/common/layout/bottomPanel/alarms/new/New.vue +212 -0
  23. package/components/common/layout/bottomPanel/alarms/new/lib/config/config.ts +193 -0
  24. package/components/common/layout/bottomPanel/alarms/new/lib/models/enums.ts +10 -0
  25. package/components/common/layout/bottomPanel/alarms/new/lib/models/interfaces.ts +12 -0
  26. package/components/common/layout/bottomPanel/alarms/old/Old.vue +191 -0
  27. package/components/common/layout/bottomPanel/alarms/old/lib/config/alarmTables.ts +89 -0
  28. package/components/common/layout/bottomPanel/alarms/old/lib/config/tableKeys.ts +11 -0
  29. package/components/common/layout/bottomPanel/alarms/old/lib/models/types.ts +8 -0
  30. package/components/common/layout/bottomPanel/lib/config/statusFilter.ts +19 -0
  31. package/components/common/layout/bottomPanel/lib/models/types.ts +1 -0
  32. package/components/common/layout/bottomPanel/recentTasks/RecentTasks.vue +43 -0
  33. package/components/common/layout/bottomPanel/recentTasks/lib/models/interfaces.ts +14 -0
  34. package/components/common/layout/bottomPanel/recentTasks/new/New.vue +419 -0
  35. package/components/common/layout/bottomPanel/recentTasks/new/lib/config/config.ts +259 -0
  36. package/components/common/layout/bottomPanel/recentTasks/old/Old.vue +275 -0
  37. package/components/common/layout/bottomPanel/recentTasks/old/lib/config/recentTaskTable.ts +240 -0
  38. package/components/common/layout/bottomPanel/recentTasks/old/lib/config/tableKeys.ts +15 -0
  39. package/components/common/layout/bottomPanel/recentTasks/old/lib/models/types.ts +14 -0
  40. package/components/common/layout/theHeader/TheHeaderNew.vue +315 -315
  41. package/components/common/layout/theHeader/TheHeaderOld.vue +262 -262
  42. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  43. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  44. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +93 -93
  45. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +193 -193
  46. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +144 -144
  47. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  48. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +216 -216
  49. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +31 -31
  50. package/components/common/pages/backups/DetailView.vue +52 -52
  51. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  52. package/components/common/pages/backups/modals/Modals.vue +243 -243
  53. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  54. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  55. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  56. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  57. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  58. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  59. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  60. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  61. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  62. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  63. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  64. package/components/common/qr/Qr.vue +57 -57
  65. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  66. package/components/common/select/radio/RadioGroup.vue +137 -137
  67. package/components/common/spiceConsole/Drawer.vue +420 -420
  68. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  69. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  70. package/components/common/tools/Actions.vue +207 -207
  71. package/components/common/treeView/TreeView.vue +52 -52
  72. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  73. package/components/common/vm/actions/clone/new/New.vue +438 -438
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +489 -489
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  79. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  80. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  81. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  82. package/components/common/vm/actions/common/select/options/Old.vue +110 -110
  83. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  84. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  85. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  86. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  87. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  88. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  89. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  90. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  91. package/components/common/wizards/common/compatibility/New.vue +99 -99
  92. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  93. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  94. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  95. package/components/common/wizards/common/steps/name/New.vue +221 -221
  96. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  97. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  98. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  99. package/components/common/wizards/datastore/add/Add.vue +228 -228
  100. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  101. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  102. package/composables/useAppVersion.ts +21 -21
  103. package/composables/useEnvLanguage.ts +22 -22
  104. package/composables/useLocal.ts +6 -6
  105. package/composables/useLocalCommon.ts +39 -39
  106. package/lib/models/enums.ts +65 -1
  107. package/package.json +1 -1
  108. package/plugins/console.ts +21 -21
  109. package/plugins/mouse.ts +21 -21
  110. package/plugins/panelStates.ts +70 -70
  111. package/plugins/text.ts +59 -59
  112. package/public/spice-console/application/clientgui.js +854 -854
  113. package/public/spice-console/application/packetfactory.js +211 -211
  114. package/public/spice-console/application/virtualmouse.js +147 -147
  115. package/public/spice-console/lib/images/bitmap.js +203 -203
  116. package/public/spice-console/network/spicechannel.js +440 -440
  117. package/public/spice-console/process/cursorprocess.js +128 -128
  118. package/public/spice-console/process/inputprocess.js +227 -227
  119. package/public/spice-console/process/mainprocess.js +212 -212
  120. package/public/spice-console/run.js +210 -210
  121. package/store/main/mutations.ts +7 -7
  122. package/store/main/state.ts +7 -7
  123. package/store/tasks/actions.ts +165 -165
  124. package/store/tasks/mappers/recentTasks.ts +123 -123
  125. package/store/tasks/mutations.ts +82 -82
@@ -0,0 +1,240 @@
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type {
3
+ UI_I_BodyItem,
4
+ UI_I_ColumnKey,
5
+ UI_I_HeadItem,
6
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
7
+ import type { UI_I_RecentTaskItem } from '~/lib/models/store/tasks/interfaces'
8
+ import type { UI_I_DataTargetForTable } from '~/components/common/layout/bottomPanel/recentTasks/lib/models/interfaces'
9
+ import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
10
+ import type { UI_T_SelectedStatus } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/models/types'
11
+ import { UI_E_NodeIconsByState } from '~/lib/models/enums'
12
+ import { UI_E_TabsByTypeEnum } from '~/components/common/pages/home/widgets/warnings/table/lib/models/enums'
13
+ import { UI_E_LocatorByRecentTaskStatus } from '~/lib/models/store/tasks/enums'
14
+ import { recentTaskTableKeys } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/config/tableKeys'
15
+ import {
16
+ constructColumnKey,
17
+ constructHeadItem,
18
+ } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
19
+
20
+ const getItems = (
21
+ localization: UI_I_Localization
22
+ ): [string, boolean, string, string][] => {
23
+ return [
24
+ [localization.tasks.taskName, true, '120px', recentTaskTableKeys[0]],
25
+ [localization.common.target, true, '180px', recentTaskTableKeys[1]],
26
+ [localization.common.status, true, '180px', recentTaskTableKeys[2]],
27
+ [localization.common.details, true, '180px', recentTaskTableKeys[3]],
28
+ [localization.common.initiator, true, '180px', recentTaskTableKeys[4]],
29
+ [localization.common.queuedFor, true, '180px', recentTaskTableKeys[5]],
30
+ [localization.common.startTime, true, '180px', recentTaskTableKeys[6]],
31
+ [localization.common.completionTime, true, '180px', recentTaskTableKeys[7]],
32
+ [localization.common.executionTime, true, '180px', recentTaskTableKeys[8]],
33
+ [localization.common.server, true, '180px', recentTaskTableKeys[9]],
34
+ [localization.common.zone, true, '180px', recentTaskTableKeys[10]],
35
+ ]
36
+ }
37
+
38
+ export const columnKeys = (
39
+ localization: UI_I_Localization
40
+ ): UI_I_ColumnKey[] => {
41
+ const result: UI_I_ColumnKey[] = []
42
+ getItems(localization).forEach((item, i) => {
43
+ const col = i === 1 || i === 2 || i === 10 ? 'icon' : `col${i}`
44
+ result.push(constructColumnKey(col, item[0], item[1]))
45
+ })
46
+ return result
47
+ }
48
+
49
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
50
+ const result: UI_I_HeadItem[] = []
51
+ getItems(localization).forEach((item, i) => {
52
+ const col = i === 1 || i === 2 || i === 10 ? 'icon' : `col${i}`
53
+ result.push(
54
+ constructHeadItem(
55
+ col,
56
+ item[0],
57
+ item[3],
58
+ true,
59
+ item[2],
60
+ '',
61
+ `recent-task-${item[3]}`
62
+ )
63
+ )
64
+ })
65
+ return result
66
+ }
67
+
68
+ export const bodyItems = (
69
+ data: UI_I_RecentTaskItem<UI_T_NodeType>[],
70
+ status: UI_T_SelectedStatus
71
+ ): UI_I_BodyItem[][] => {
72
+ const localization = useLocal()
73
+ const { $formattedDatetime, $time }: any = useNuxtApp()
74
+
75
+ const currentLanguage:
76
+ | 'en_US'
77
+ | 'ru_RU'
78
+ | 'hy_AM'
79
+ | 'be_BY'
80
+ | 'kk_KZ'
81
+ | 'zh_CHS' = useLocalStorage('lang') || 'en_US'
82
+
83
+ const bodyItems: UI_I_BodyItem[][] = []
84
+
85
+ data.forEach((recent: UI_I_RecentTaskItem<UI_T_NodeType>, key) => {
86
+ if (status !== -1 && recent.status !== status) return
87
+
88
+ const iconClassName = UI_E_NodeIconsByState[`${recent.targetType}_Normal`]
89
+ const id = recent.extra?.created_id || recent.target
90
+ const name =
91
+ recent.extra?.created_name || recent.args?.cloned_name || recent.target
92
+ const targetData: UI_I_DataTargetForTable = {
93
+ iconClassName,
94
+ id,
95
+ // id: recent.target,
96
+ nav: UI_E_TabsByTypeEnum[recent.targetType],
97
+ type: recent.targetType,
98
+ isLink: !!iconClassName,
99
+ testId: `${recent.targetType}-item-${name}`,
100
+ }
101
+
102
+ const statusData = {
103
+ iconClassName: recent.statusIcon,
104
+ isIconSvg: true,
105
+ testId: `${recent.taskName}-${
106
+ UI_E_LocatorByRecentTaskStatus[recent.status]
107
+ }-progress`,
108
+ operations: recent.statusDetails,
109
+ isShowStatusDetails: false,
110
+ }
111
+
112
+ const zoneData: UI_I_DataTargetForTable = {
113
+ iconClassName: 'vsphere-icon-vcenter',
114
+ id: recent.zone,
115
+ nav: 'v', // неважно
116
+ type: 'vm', // неважно
117
+ isLink: false,
118
+ testId: `${recent.zone}-item-${name}`,
119
+ }
120
+
121
+ const startTime = recent[recentTaskTableKeys[6]]
122
+ const formattedStartTime =
123
+ startTime === '--'
124
+ ? '--'
125
+ : $formattedDatetime(+startTime * 1000, {
126
+ hasSeconds: true,
127
+ })
128
+
129
+ const completionTime = recent[recentTaskTableKeys[7]]
130
+ const formattedCompletionTime =
131
+ completionTime === '--'
132
+ ? '--'
133
+ : $formattedDatetime(+completionTime * 1000, {
134
+ hasSeconds: true,
135
+ })
136
+
137
+ // const queuedFor = `${recent[recentTaskTableKeys[5]]} ms`
138
+ // const executionTime =
139
+ // recent[recentTaskTableKeys[8]] === '--'
140
+ // ? '--'
141
+ // : `${recent[recentTaskTableKeys[8]]} ms`
142
+ const queuedFor = $time.formatTime(
143
+ recent[recentTaskTableKeys[5]],
144
+ currentLanguage
145
+ )
146
+ const executionTime =
147
+ recent[recentTaskTableKeys[8]] === '--'
148
+ ? '--'
149
+ : $time.formatTime(recent[recentTaskTableKeys[8]], currentLanguage)
150
+
151
+ bodyItems.push([
152
+ {
153
+ key: 'col0',
154
+ text: recent[recentTaskTableKeys[0]],
155
+ id: key,
156
+ dataId: recent.id,
157
+ testId: `table-item-${recent.id}-${name}`,
158
+ },
159
+ {
160
+ key: 'icon',
161
+ text: recent[recentTaskTableKeys[1]],
162
+ data: targetData,
163
+ id: key,
164
+ testId: `table-item-${recent.id}-${name}`,
165
+ },
166
+ {
167
+ key: 'icon',
168
+ text:
169
+ localization.common[recent[recentTaskTableKeys[2]]] ||
170
+ recent[recentTaskTableKeys[2]],
171
+ data: statusData,
172
+ id: key,
173
+ testId: `table-item-${recent.id}-${name}`,
174
+ },
175
+ {
176
+ key: 'col3',
177
+ text: recent[recentTaskTableKeys[3]],
178
+ id: key,
179
+ testId: `table-item-${recent.id}-${name}`,
180
+ },
181
+ {
182
+ key: 'col4',
183
+ text: recent[recentTaskTableKeys[4]],
184
+ id: key,
185
+ testId: `table-item-${recent.id}-${name}`,
186
+ },
187
+ {
188
+ key: 'col5',
189
+ text: queuedFor,
190
+ id: key,
191
+ testId: `table-item-${recent.id}-${name}`,
192
+ data: {
193
+ sortValue: recent[recentTaskTableKeys[5]],
194
+ },
195
+ },
196
+ {
197
+ key: 'col6',
198
+ text: formattedStartTime,
199
+ id: key,
200
+ testId: `table-item-${recent.id}-${name}`,
201
+ data: {
202
+ sortValue: recent[recentTaskTableKeys[6]],
203
+ },
204
+ },
205
+ {
206
+ key: 'col7',
207
+ text: formattedCompletionTime,
208
+ id: key,
209
+ testId: `table-item-${recent.id}-${name}`,
210
+ data: {
211
+ sortValue: recent[recentTaskTableKeys[7]],
212
+ },
213
+ },
214
+ {
215
+ key: 'col8',
216
+ text: executionTime,
217
+ id: key,
218
+ testId: `table-item-${recent.id}-${name}`,
219
+ data: {
220
+ sortValue: recent[recentTaskTableKeys[8]],
221
+ },
222
+ },
223
+ {
224
+ key: 'col9',
225
+ text: recent[recentTaskTableKeys[9]],
226
+ id: key,
227
+ testId: `table-item-${recent.id}-${name}`,
228
+ },
229
+ {
230
+ key: 'icon',
231
+ text: recent[recentTaskTableKeys[10]],
232
+ data: zoneData,
233
+ id: key,
234
+ testId: `table-item-${recent.id}-${name}`,
235
+ },
236
+ ])
237
+ })
238
+
239
+ return bodyItems
240
+ }
@@ -0,0 +1,15 @@
1
+ import type { UI_T_RecentTaskTableKeys } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/models/types'
2
+
3
+ export const recentTaskTableKeys: UI_T_RecentTaskTableKeys[] = [
4
+ 'taskName',
5
+ 'target',
6
+ 'statusText',
7
+ 'details',
8
+ 'initiator',
9
+ 'queuedFor',
10
+ 'startTime',
11
+ 'completion',
12
+ 'execution',
13
+ 'server',
14
+ 'zone',
15
+ ]
@@ -0,0 +1,14 @@
1
+ export type UI_T_RecentTaskTableKeys =
2
+ | 'taskName'
3
+ | 'target'
4
+ | 'statusText'
5
+ | 'details'
6
+ | 'initiator'
7
+ | 'queuedFor'
8
+ | 'startTime'
9
+ | 'completion'
10
+ | 'execution'
11
+ | 'server'
12
+ | 'zone'
13
+
14
+ export type UI_T_SelectedStatus = -1 | 1 | 3