bfg-common 1.4.54 → 1.4.55

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 (49) hide show
  1. package/assets/img/icons/icons-sprite-dark-6.svg +190 -1
  2. package/assets/img/icons/icons-sprite-light-6.svg +190 -1
  3. package/assets/localization/local_be.json +1 -14
  4. package/assets/localization/local_en.json +1 -14
  5. package/assets/localization/local_hy.json +1 -14
  6. package/assets/localization/local_kk.json +1 -14
  7. package/assets/localization/local_ru.json +25 -38
  8. package/assets/localization/local_zh.json +1 -14
  9. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  10. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +4 -31
  11. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +0 -5
  12. package/components/common/browse/blocks/Title.vue +91 -91
  13. package/components/common/browse/blocks/info/Date.vue +21 -21
  14. package/components/common/context/recursion/Recursion.vue +86 -86
  15. package/components/common/context/recursion/RecursionNew.vue +198 -198
  16. package/components/common/context/recursion/RecursionOld.vue +212 -212
  17. package/components/common/graph/Graph.vue +4 -5
  18. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +6 -6
  19. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +1 -0
  20. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +1 -1
  21. package/components/common/pages/hardwareHealth/HardwareHealth.vue +9 -12
  22. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +22 -103
  23. package/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces.ts +0 -1
  24. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +4 -9
  25. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +11 -29
  26. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +5 -10
  27. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +4 -6
  28. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/form/Form.vue +13 -13
  29. package/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar.ts +0 -4
  30. package/components/common/pages/hardwareHealth/lib/config/status.ts +1 -1
  31. package/components/common/pages/hardwareHealth/tableView/TableView.vue +2 -7
  32. package/components/common/pages/hardwareHealth/tableView/lib/config/historyTestimonyTable.ts +2 -11
  33. package/components/common/pages/hardwareHealth/tableView/lib/models/interfaces.ts +0 -1
  34. package/components/common/pages/hardwareHealth/tableView/modal/{SensorWarning.vue → sensorWarning.vue} +1 -1
  35. package/components/common/recursionTree/RecursionTree.vue +1 -5
  36. package/components/common/split/horizontal/HorizontalNew.vue +321 -321
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +403 -400
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +57 -52
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +99 -99
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  41. package/components/common/wizards/datastore/add/Add.vue +437 -437
  42. package/composables/productNameLocal.ts +30 -30
  43. package/lib/models/interfaces.ts +0 -2
  44. package/package.json +1 -1
  45. package/plugins/recursion.ts +311 -311
  46. package/public/spice-console/lib/images/bitmap.js +203 -203
  47. package/store/tasks/mappers/recentTasks.ts +45 -45
  48. package/assets/img/icons/icons-sprite-dark-9.svg +0 -71
  49. package/assets/img/icons/icons-sprite-light-9.svg +0 -71
@@ -1,212 +1,212 @@
1
- <template>
2
- <ul class="context-wrap">
3
- <span v-if="props.isLoading">
4
- <atoms-loader-pre-loader
5
- id="loader"
6
- class="absolute-center context-menu__loading"
7
- :show="true"
8
- />
9
- </span>
10
- <li
11
- v-for="(item, key) in props.items"
12
- :key="key"
13
- :class="[
14
- 'menu-item',
15
- { disabled: item.disabled || isLoading },
16
- { 'item-header': item.isHeader },
17
- { 'has-border-top': item.hasBorderTop },
18
- ]"
19
- @mouseenter="emits('toggle-items', [item, true, $event])"
20
- @mouseleave="emits('toggle-items', [item, false, $event])"
21
- >
22
- <span
23
- class="context-link"
24
- :data-id="`${item.testId}-context-link`"
25
- @mousedown="emits('select-item', item)"
26
- >
27
- <span :class="['context-icon', item.iconClassName]" />
28
- <span class="menu-item-text">{{ item.name }}</span>
29
- <span v-if="item.items.length" class="arrow-icon" />
30
- <span v-if="item.shortcut" class="shortcut">{{ item.shortcut }}</span>
31
- </span>
32
-
33
- <div class="context-children">
34
- <common-context-recursion
35
- v-show="item.isShowItems"
36
- :action-loading="props.actionLoading"
37
- :class="[{ 'child-show': item.isShowItems }]"
38
- :items="item.items"
39
- @select-item="emits('select-item', $event)"
40
- />
41
- </div>
42
- </li>
43
- </ul>
44
- </template>
45
-
46
- <script setup lang="ts">
47
- import type { UI_I_ContextMenuItem } from '~/components/common/context/lib/models/interfaces'
48
- import type { I_HTMLLiElement } from '~/components/common/context/recursion/lib/models/interfaces'
49
-
50
- const props = defineProps<{
51
- items: UI_I_ContextMenuItem[]
52
- actionLoading: string | null
53
- isLoading: boolean
54
- testId?: string
55
- }>()
56
-
57
- const emits = defineEmits<{
58
- (event: 'select-item', value: UI_I_ContextMenuItem): void
59
- (
60
- event: 'toggle-items',
61
- value: [UI_I_ContextMenuItem, boolean, I_HTMLLiElement]
62
- ): void
63
- }>()
64
- </script>
65
-
66
- <style scoped lang="scss">
67
- .loader-wrapper {
68
- width: 100%;
69
- height: 100%;
70
- z-index: 100;
71
- }
72
-
73
- .context-menu__loading {
74
- :deep(.spinner) {
75
- width: 45px;
76
- height: 45px;
77
- min-width: 45px;
78
- min-height: 45px;
79
- z-index: 1000;
80
- }
81
- }
82
- .context-wrap {
83
- width: auto;
84
- max-width: 400px;
85
- background: var(--global-bg-color);
86
- border-radius: 0;
87
- color: #333;
88
- border: 1px solid var(--context-menu-border-color);
89
- user-select: none;
90
- list-style: none;
91
- max-height: 100vh;
92
- overflow-y: auto;
93
-
94
- .menu-item {
95
- position: relative;
96
- color: #565656;
97
- border-bottom: 1px solid transparent;
98
- cursor: pointer;
99
- padding: 5px 0 3px;
100
-
101
- &.has-border-top {
102
- border-top: 1px solid var(--context-menu-inset-border-color);
103
- }
104
-
105
- &.item-header {
106
- font-size: 11px;
107
- background-color: var(--context-menu-item-header-color);
108
- cursor: default;
109
- }
110
- &:not(.item-header):not(.disabled):hover {
111
- background-color: var(--context-menu-hover-bg-color);
112
- color: #454545;
113
- border-bottom: 1px solid var(--context-menu-hover-border-color);
114
- }
115
- &.disabled {
116
- opacity: 0.5;
117
- user-select: none;
118
- cursor: default;
119
- }
120
- &.left {
121
- :deep(.context-children) {
122
- left: 0;
123
- background: red;
124
-
125
- .context-wrap {
126
- transform: translateX(-100%);
127
- left: auto;
128
- }
129
- }
130
- }
131
-
132
- .context-link {
133
- position: relative;
134
- overflow: hidden;
135
- text-overflow: ellipsis;
136
- white-space: nowrap;
137
- display: flex;
138
- align-items: center;
139
- user-select: none;
140
- padding: 3px 20px 4px 10px;
141
-
142
- .menu-item-text {
143
- flex: 1 1 0;
144
- }
145
-
146
- .context-icon {
147
- display: inline-block;
148
- margin: -2px 4px 0 0;
149
- vertical-align: middle;
150
- width: 18px;
151
- height: 18px;
152
- }
153
-
154
- .arrow-icon {
155
- position: absolute;
156
- top: 50%;
157
- margin-top: -8px;
158
- right: 4px;
159
- background-image: url('assets/img/icons/sprite.png');
160
- display: inline-block;
161
- width: 16px;
162
- height: 16px;
163
- overflow: hidden;
164
- background-repeat: no-repeat;
165
- font-size: 0;
166
- line-height: 0;
167
- text-align: center;
168
- transform: rotate(90deg);
169
- }
170
-
171
- .shortcut {
172
- padding-left: 10px;
173
- }
174
- }
175
-
176
- .context-children {
177
- position: absolute;
178
- top: 0;
179
- left: 100%;
180
-
181
- .context-wrap {
182
- position: fixed;
183
- }
184
- }
185
- }
186
- }
187
- .context-menu__loading {
188
- :deep(.spinner) {
189
- width: 45px;
190
- height: 45px;
191
- min-width: 45px;
192
- min-height: 45px;
193
- z-index: 1000;
194
- }
195
- }
196
- </style>
197
- <style>
198
- :root {
199
- --context-menu-hover-bg-color: #e8e8e8;
200
- --context-menu-border-color: #949494;
201
- --context-menu-inset-border-color: #d4d5d6;
202
- --context-menu-item-header-color: #eceff2;
203
- --context-menu-hover-border-color: #666;
204
- }
205
- :root.dark-theme {
206
- --context-menu-hover-bg-color: #324f61;
207
- --context-menu-border-color: #495865;
208
- --context-menu-inset-border-color: #485764;
209
- --context-menu-item-header-color: #29414e;
210
- --context-menu-hover-border-color: #fff;
211
- }
212
- </style>
1
+ <template>
2
+ <ul class="context-wrap">
3
+ <span v-if="props.isLoading">
4
+ <atoms-loader-pre-loader
5
+ id="loader"
6
+ class="absolute-center context-menu__loading"
7
+ :show="true"
8
+ />
9
+ </span>
10
+ <li
11
+ v-for="(item, key) in props.items"
12
+ :key="key"
13
+ :class="[
14
+ 'menu-item',
15
+ { disabled: item.disabled || isLoading },
16
+ { 'item-header': item.isHeader },
17
+ { 'has-border-top': item.hasBorderTop },
18
+ ]"
19
+ @mouseenter="emits('toggle-items', [item, true, $event])"
20
+ @mouseleave="emits('toggle-items', [item, false, $event])"
21
+ >
22
+ <span
23
+ class="context-link"
24
+ :data-id="`${item.testId}-context-link`"
25
+ @mousedown="emits('select-item', item)"
26
+ >
27
+ <span :class="['context-icon', item.iconClassName]" />
28
+ <span class="menu-item-text">{{ item.name }}</span>
29
+ <span v-if="item.items.length" class="arrow-icon" />
30
+ <span v-if="item.shortcut" class="shortcut">{{ item.shortcut }}</span>
31
+ </span>
32
+
33
+ <div class="context-children">
34
+ <common-context-recursion
35
+ v-show="item.isShowItems"
36
+ :action-loading="props.actionLoading"
37
+ :class="[{ 'child-show': item.isShowItems }]"
38
+ :items="item.items"
39
+ @select-item="emits('select-item', $event)"
40
+ />
41
+ </div>
42
+ </li>
43
+ </ul>
44
+ </template>
45
+
46
+ <script setup lang="ts">
47
+ import type { UI_I_ContextMenuItem } from '~/components/common/context/lib/models/interfaces'
48
+ import type { I_HTMLLiElement } from '~/components/common/context/recursion/lib/models/interfaces'
49
+
50
+ const props = defineProps<{
51
+ items: UI_I_ContextMenuItem[]
52
+ actionLoading: string | null
53
+ isLoading: boolean
54
+ testId?: string
55
+ }>()
56
+
57
+ const emits = defineEmits<{
58
+ (event: 'select-item', value: UI_I_ContextMenuItem): void
59
+ (
60
+ event: 'toggle-items',
61
+ value: [UI_I_ContextMenuItem, boolean, I_HTMLLiElement]
62
+ ): void
63
+ }>()
64
+ </script>
65
+
66
+ <style scoped lang="scss">
67
+ .loader-wrapper {
68
+ width: 100%;
69
+ height: 100%;
70
+ z-index: 100;
71
+ }
72
+
73
+ .context-menu__loading {
74
+ :deep(.spinner) {
75
+ width: 45px;
76
+ height: 45px;
77
+ min-width: 45px;
78
+ min-height: 45px;
79
+ z-index: 1000;
80
+ }
81
+ }
82
+ .context-wrap {
83
+ width: auto;
84
+ max-width: 400px;
85
+ background: var(--global-bg-color);
86
+ border-radius: 0;
87
+ color: #333;
88
+ border: 1px solid var(--context-menu-border-color);
89
+ user-select: none;
90
+ list-style: none;
91
+ max-height: 100vh;
92
+ overflow-y: auto;
93
+
94
+ .menu-item {
95
+ position: relative;
96
+ color: #565656;
97
+ border-bottom: 1px solid transparent;
98
+ cursor: pointer;
99
+ padding: 5px 0 3px;
100
+
101
+ &.has-border-top {
102
+ border-top: 1px solid var(--context-menu-inset-border-color);
103
+ }
104
+
105
+ &.item-header {
106
+ font-size: 11px;
107
+ background-color: var(--context-menu-item-header-color);
108
+ cursor: default;
109
+ }
110
+ &:not(.item-header):not(.disabled):hover {
111
+ background-color: var(--context-menu-hover-bg-color);
112
+ color: #454545;
113
+ border-bottom: 1px solid var(--context-menu-hover-border-color);
114
+ }
115
+ &.disabled {
116
+ opacity: 0.5;
117
+ user-select: none;
118
+ cursor: default;
119
+ }
120
+ &.left {
121
+ :deep(.context-children) {
122
+ left: 0;
123
+ background: red;
124
+
125
+ .context-wrap {
126
+ transform: translateX(-100%);
127
+ left: auto;
128
+ }
129
+ }
130
+ }
131
+
132
+ .context-link {
133
+ position: relative;
134
+ overflow: hidden;
135
+ text-overflow: ellipsis;
136
+ white-space: nowrap;
137
+ display: flex;
138
+ align-items: center;
139
+ user-select: none;
140
+ padding: 3px 20px 4px 10px;
141
+
142
+ .menu-item-text {
143
+ flex: 1 1 0;
144
+ }
145
+
146
+ .context-icon {
147
+ display: inline-block;
148
+ margin: -2px 4px 0 0;
149
+ vertical-align: middle;
150
+ width: 18px;
151
+ height: 18px;
152
+ }
153
+
154
+ .arrow-icon {
155
+ position: absolute;
156
+ top: 50%;
157
+ margin-top: -8px;
158
+ right: 4px;
159
+ background-image: url('assets/img/icons/sprite.png');
160
+ display: inline-block;
161
+ width: 16px;
162
+ height: 16px;
163
+ overflow: hidden;
164
+ background-repeat: no-repeat;
165
+ font-size: 0;
166
+ line-height: 0;
167
+ text-align: center;
168
+ transform: rotate(90deg);
169
+ }
170
+
171
+ .shortcut {
172
+ padding-left: 10px;
173
+ }
174
+ }
175
+
176
+ .context-children {
177
+ position: absolute;
178
+ top: 0;
179
+ left: 100%;
180
+
181
+ .context-wrap {
182
+ position: fixed;
183
+ }
184
+ }
185
+ }
186
+ }
187
+ .context-menu__loading {
188
+ :deep(.spinner) {
189
+ width: 45px;
190
+ height: 45px;
191
+ min-width: 45px;
192
+ min-height: 45px;
193
+ z-index: 1000;
194
+ }
195
+ }
196
+ </style>
197
+ <style>
198
+ :root {
199
+ --context-menu-hover-bg-color: #e8e8e8;
200
+ --context-menu-border-color: #949494;
201
+ --context-menu-inset-border-color: #d4d5d6;
202
+ --context-menu-item-header-color: #eceff2;
203
+ --context-menu-hover-border-color: #666;
204
+ }
205
+ :root.dark-theme {
206
+ --context-menu-hover-bg-color: #324f61;
207
+ --context-menu-border-color: #495865;
208
+ --context-menu-inset-border-color: #485764;
209
+ --context-menu-item-header-color: #29414e;
210
+ --context-menu-hover-border-color: #fff;
211
+ }
212
+ </style>
@@ -81,14 +81,13 @@ watch(
81
81
  const updateSeriesStrokeWidth = (data: number[]): void => {
82
82
  if (!localChart) return
83
83
 
84
- const newChartOptions = chartOptions.value
85
- newChartOptions.series.forEach((_: any, key: number) => {
86
- newChartOptions.series[key].lineWidth = 1.5
84
+ localChart.series.forEach((_: any, key: number) => {
85
+ localChart.options.series[key].lineWidth = 1.5
87
86
 
88
- if (data.includes(key)) newChartOptions.series[key].lineWidth = 3
87
+ if (data.includes(key)) localChart.options.series[key].lineWidth = 3
89
88
  })
90
89
 
91
- chartOptions.value = newChartOptions
90
+ localChart.update(localChart.options)
92
91
  }
93
92
 
94
93
  watch(
@@ -112,7 +112,7 @@ const hostItemsFunc = (
112
112
  const memory: UI_I_AdvancedCounterItem[] = [
113
113
  {
114
114
  id: 0,
115
- name: localization.common.memoryActiveName,
115
+ name: localization.common.active,
116
116
  description: localization.common.amountMemoryIsCurrently,
117
117
  measurement: localization.common.usageInKb,
118
118
  units: localization.common.kb,
@@ -148,7 +148,7 @@ const hostItemsFunc = (
148
148
  },
149
149
  {
150
150
  id: 4,
151
- name: localization.common.memoryFreeName,
151
+ name: localization.common.free,
152
152
  description: localization.common.amountFreeMemory,
153
153
  measurement: localization.common.usageInKb,
154
154
  units: localization.common.kb,
@@ -157,7 +157,7 @@ const hostItemsFunc = (
157
157
  },
158
158
  {
159
159
  id: 5,
160
- name: localization.common.memorySwapName,
160
+ name: localization.common.swap,
161
161
  description: localization.common.sizeSwapFile,
162
162
  measurement: localization.common.usageInKb,
163
163
  units: localization.common.kb,
@@ -204,7 +204,7 @@ const hostItemsFunc = (
204
204
  },
205
205
  {
206
206
  id: 3,
207
- name: localization.common.networkUsageName,
207
+ name: localization.common.usage,
208
208
  description: localization.common.networkUtilizationDuringInterval,
209
209
  measurement: localization.common.dataUsage,
210
210
  units: localization.common.kBps,
@@ -424,7 +424,7 @@ const hostItemsFunc = (
424
424
  id: 6,
425
425
  name: localization.common.writeLatency,
426
426
  description:
427
- localization.common.averageAmountTimeTakenDuringProcessScsiByGuestOs,
427
+ localization.common.averageAmountTimeTakenDuringProcessScsiByGuestOs,
428
428
  measurement: localization.common.totalWriteLatency,
429
429
  units: localization.common.ms,
430
430
  nameEn: 'write latency',
@@ -495,7 +495,7 @@ const hostItemsFunc = (
495
495
  },
496
496
  {
497
497
  id: 14,
498
- name: localization.common.diskUsedName,
498
+ name: localization.common.usage,
499
499
  description: localization.common.aggregatedDiskIORate,
500
500
  measurement: localization.common.usage,
501
501
  units: localization.common.perc,
@@ -72,6 +72,7 @@ const emits = defineEmits<{
72
72
  (event: 'update-timespan-type', value: string): void
73
73
  (event: 'update-unit-count', value: number): void
74
74
  (event: 'update-period-type', value: string): void
75
+ (event: 'update-period-type', value: string): void
75
76
  (event: 'update-custom-date-from', value: string): void
76
77
  (event: 'update-custom-date-to', value: string): void
77
78
  (event: 'update-custom-time-from', value: string): void
@@ -155,7 +155,7 @@ watch(
155
155
  let newItems = [
156
156
  {
157
157
  id: 'total',
158
- target_object: localization.value.common.total.toLowerCase(),
158
+ target_object: localization.value.common.total,
159
159
  },
160
160
  ]
161
161
  newItems = [...newItems, ...props.currentItems]
@@ -37,10 +37,14 @@
37
37
 
38
38
  <common-pages-hardware-health-tools-panel :selected-tab="activeTab" />
39
39
 
40
- <div :class="['hardware-health__content', activeTab]">
40
+ <div
41
+ :class="[
42
+ 'bottom-container',
43
+ { 'history-testimony': activeTab === 'history-testimony' },
44
+ ]"
45
+ >
41
46
  <common-pages-hardware-health-history-testimony-graph
42
47
  v-if="activeTab === 'history-testimony'"
43
- v-model:selected-view="selectedGraphView"
44
48
  :power-data="props.historyTestimonyPower"
45
49
  :temperature-data="props.historyTestimonyTemperature"
46
50
  :counters-table-data="hardwareHealth"
@@ -55,8 +59,7 @@
55
59
 
56
60
  <common-pages-hardware-health-table-view
57
61
  :key="uniqueKey"
58
- v-model:selected-row="selectedRow"
59
- :selected-graph-view="selectedGraphView"
62
+ v-model:selected="selectedRow"
60
63
  :data-table="hardwareHealth"
61
64
  :total-items="hardwareHealth.length"
62
65
  :total-pages="1"
@@ -93,7 +96,6 @@ const localization = computed<UI_I_Localization>(() => useLocal())
93
96
  const { $store }: any = useNuxtApp()
94
97
 
95
98
  const activeTab = ref<UI_T_HardwareHealthTabMode>('sensor')
96
- const selectedGraphView = ref<string>('all')
97
99
  const uniqueKey = ref<number>(0)
98
100
 
99
101
  const selectedRow = ref<number[]>([])
@@ -180,15 +182,10 @@ onUnmounted(() => {
180
182
  margin-top: 0;
181
183
  }
182
184
  }
183
- &__content {
184
- display: flex;
185
- flex-direction: column;
186
- height: inherit;
187
- overflow: hidden;
188
-
185
+ .bottom-container {
189
186
  &.history-testimony {
187
+ overflow: hidden;
190
188
  overflow-y: auto;
191
- display: block;
192
189
  }
193
190
  }
194
191
  }