bfg-common 1.4.16 → 1.4.18

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 (40) hide show
  1. package/assets/localization/local_be.json +7 -1
  2. package/assets/localization/local_en.json +7 -1
  3. package/assets/localization/local_hy.json +7 -1
  4. package/assets/localization/local_kk.json +7 -1
  5. package/assets/localization/local_ru.json +7 -1
  6. package/assets/localization/local_zh.json +7 -1
  7. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +4 -4
  8. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +1 -1
  9. package/components/common/pages/hardwareHealth/HardwareHealth.vue +43 -61
  10. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +331 -0
  11. package/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces.ts +9 -0
  12. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +375 -0
  13. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +469 -0
  14. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/Notification.vue +30 -0
  15. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/Actions.vue +157 -0
  16. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/SaveOptionsModal.vue +81 -0
  17. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -0
  18. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +89 -0
  19. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/table/Table.vue +174 -0
  20. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +89 -0
  21. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -0
  22. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +64 -0
  23. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/form/Form.vue +539 -0
  24. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +115 -0
  25. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/config/optionsMetrics.ts +17 -0
  26. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/interfaces.ts +15 -0
  27. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/types.ts +1 -0
  28. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/metrics/Metrics.vue +31 -0
  29. package/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar.ts +78 -0
  30. package/components/common/pages/hardwareHealth/historyTestimony/tools/lib/models/interfaces.ts +9 -0
  31. package/components/common/pages/hardwareHealth/tableView/TableView.vue +4 -10
  32. package/components/common/pages/hardwareHealth/tableView/lib/config/historyTestimonyTable.ts +128 -0
  33. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +7 -11
  34. package/components/common/pages/hardwareHealth/tableView/lib/config/tableKeys.ts +6 -7
  35. package/components/common/pages/hardwareHealth/tableView/lib/models/interfaces.ts +2 -0
  36. package/components/common/pages/hardwareHealth/tableView/lib/models/types.ts +9 -4
  37. package/lib/models/interfaces.ts +2 -0
  38. package/lib/models/types.ts +1 -0
  39. package/package.json +1 -1
  40. package/components/common/pages/hardwareHealth/Graph.vue +0 -84
@@ -2304,7 +2304,7 @@
2304
2304
  "eventTypeDescription": "Апісанне тыпу падзеі",
2305
2305
  "possibleCauses": "Магчымыя прычыны",
2306
2306
  "importVms": "Імпарт віртуальных машын",
2307
- "selectSourceVCenterServer": "Выберыце зыходны сервер vCenter",
2307
+ "selectSourceVCenterServer": "Esxi Хост көзін таңдаңыз",
2308
2308
  "selectSourceVCenterServerDesc": "Імпарт віртуальных машын з абранага зыходнага сервера vCenter.",
2309
2309
  "importVirtualMachines": "Імпарт віртуальных машын",
2310
2310
  "importVirtualMachinesDesc": "Выберыце, якія віртуальныя машыны трэба імпартаваць.",
@@ -2535,6 +2535,9 @@
2535
2535
  "inventory": {
2536
2536
  "activeMemory": "Актыўная памяць"
2537
2537
  },
2538
+ "inventoryMonitor": {
2539
+ "temperature": "Тэмпература"
2540
+ },
2538
2541
  "inventoryTabs": {
2539
2542
  "summary": "Рэзюмэ",
2540
2543
  "monitor": "Манітор",
@@ -2557,5 +2560,8 @@
2557
2560
  "revertToSelectedSnapshot": "Вярнуцца да абранага здымку",
2558
2561
  "deleteSnapshot": "Выдаліць маментальны здымак",
2559
2562
  "deleteSnapshotDescription": "Гэта дзеянне з'яўляецца сталым і не можа быць адноўлена. Вы хочаце выдаліць '{0}'?"
2563
+ },
2564
+ "importVms": {
2565
+ "selectSourceTooltipDesc": "Правы карыстальніка esxi павінны адпавядаць ролях Administrator"
2560
2566
  }
2561
2567
  }
@@ -2308,7 +2308,7 @@
2308
2308
  "possibleCauses": "Possible Causes",
2309
2309
  "importVms": "Import VMs",
2310
2310
  "selectSourceVCenterServer": "Select a source ESXI Host",
2311
- "selectSourceVCenterServerDesc": "Import Virtual Machines from the selected source vCenter Server.",
2311
+ "selectSourceVCenterServerDesc": "Імпарт віртуальнай машыны з абранага зыходнага вузла ESXI.",
2312
2312
  "importVirtualMachines": "Import Virtual Machines",
2313
2313
  "importVirtualMachinesDesc": "Select which Virtual Machines to be imported.",
2314
2314
  "selectFolder": "Select folder",
@@ -2539,6 +2539,9 @@
2539
2539
  "inventory": {
2540
2540
  "activeMemory": "Active Memory"
2541
2541
  },
2542
+ "inventoryMonitor": {
2543
+ "temperature": "Temperature"
2544
+ },
2542
2545
  "inventoryTabs": {
2543
2546
  "summary": "Summary",
2544
2547
  "monitor": "Monitor",
@@ -2561,5 +2564,8 @@
2561
2564
  "revertToSelectedSnapshot": "Revert to selected snapshot",
2562
2565
  "deleteSnapshot": "Delete snapshot",
2563
2566
  "deleteSnapshotDescription": "This action is permanent and cannot be recovered. Are you sure you want to delete '{0}'?"
2567
+ },
2568
+ "importVms": {
2569
+ "selectSourceTooltipDesc": "No Trusted infrastructure Administrator"
2564
2570
  }
2565
2571
  }
@@ -2308,7 +2308,7 @@
2308
2308
  "possibleCauses": "Հնարավոր պատճառներ",
2309
2309
  "importVms": "Վիրտուալ մեքենաների ներմուծում",
2310
2310
  "selectSourceVCenterServer": "Ընտրեք ESXi աղբյուրի հյուրընկալողը",
2311
- "selectSourceVCenterServerDesc": "Ներմուծեք վիրտուալ մեքենաներ ընտրված աղբյուր vCenter սերվերից:",
2311
+ "selectSourceVCenterServerDesc": "Ներմուծեք վիրտուալ մեքենան ընտրված ESXI աղբյուրի հանգույցից:",
2312
2312
  "importVirtualMachines": "Ներմուծեք վիրտուալ մեքենաներ",
2313
2313
  "importVirtualMachinesDesc": "Ընտրեք, թե որ վիրտուալ մեքենաները պետք է ներմուծվեն:",
2314
2314
  "selectFolder": "Ընտրեք թղթապանակ",
@@ -2539,6 +2539,9 @@
2539
2539
  "inventory": {
2540
2540
  "activeMemory": "Ակտիվ հիշողություն"
2541
2541
  },
2542
+ "inventoryMonitor": {
2543
+ "temperature": "Ջերմաստիճանը"
2544
+ },
2542
2545
  "inventoryTabs": {
2543
2546
  "summary": "Ամփոփում",
2544
2547
  "monitor": "Մոնիտոր",
@@ -2561,5 +2564,8 @@
2561
2564
  "revertToSelectedSnapshot": "Վերադառնալ ընտրված Snap-ին",
2562
2565
  "deleteSnapshot": "Ջնջել նկարը",
2563
2566
  "deleteSnapshotDescription": "Այս գործողությունը մշտական է և չի կարող վերականգնվել: Համոզված եք, որ ցանկանում եք ջնջել '{0}'?"
2567
+ },
2568
+ "importVms": {
2569
+ "selectSourceTooltipDesc": "Esxi օգտագործողի իրավունքները պետք է համապատասխանեն Administrator-ի դերերին"
2564
2570
  }
2565
2571
  }
@@ -2307,7 +2307,7 @@
2307
2307
  "possibleCauses": "Ықтимал себептері",
2308
2308
  "importVms": "Виртуалды Машиналарды Импорттау",
2309
2309
  "selectSourceVCenterServer": "Esxi Хост көзін таңдаңыз",
2310
- "selectSourceVCenterServerDesc": "Таңдалған көзден vCenter серверінен виртуалды машиналарды импорттаңыз.",
2310
+ "selectSourceVCenterServerDesc": "Виртуалды Машинаны таңдалған ESXI Хост көзінен импорттаңыз.",
2311
2311
  "importVirtualMachines": "Виртуалды машиналарды импорттау",
2312
2312
  "importVirtualMachinesDesc": "Импортталатын виртуалды машиналарды таңдаңыз.",
2313
2313
  "selectFolder": "Қалтаны таңдаңыз",
@@ -2538,6 +2538,9 @@
2538
2538
  "inventory": {
2539
2539
  "activeMemory": "Белсенді есте сақтау"
2540
2540
  },
2541
+ "inventoryMonitor": {
2542
+ "temperature": "Температура"
2543
+ },
2541
2544
  "inventoryTabs": {
2542
2545
  "summary": "Түйіндеме",
2543
2546
  "monitor": "Монитор",
@@ -2560,5 +2563,8 @@
2560
2563
  "revertToSelectedSnapshot": "Таңдалған суретке оралу",
2561
2564
  "deleteSnapshot": "Суретті жою",
2562
2565
  "deleteSnapshotDescription": "Бұл әрекет тұрақты және оны қалпына келтіру мүмкін емес. Сіз жойғыңыз келетініне сенімдісіз '{0}'?"
2566
+ },
2567
+ "importVms": {
2568
+ "selectSourceTooltipDesc": "Esxi пайдаланушы құқықтары әкімші рөлдеріне сәйкес келуі керек"
2563
2569
  }
2564
2570
  }
@@ -2310,7 +2310,7 @@
2310
2310
  "possibleCauses": "Возможные причины",
2311
2311
  "importVms": "Импорт виртуальных машин",
2312
2312
  "selectSourceVCenterServer": "Выберите исходный хост ESXI",
2313
- "selectSourceVCenterServerDesc": "Импортируйте виртуальные машины с выбранного исходного сервера vCenter.",
2313
+ "selectSourceVCenterServerDesc": "Импортируйте виртуальную машину с выбранного исходного узла ESXI.",
2314
2314
  "importVirtualMachines": "Импортировать виртуальные машины",
2315
2315
  "importVirtualMachinesDesc": "Выберите, какие виртуальные машины нужно импортировать.",
2316
2316
  "selectFolder": "Выберите папку",
@@ -2541,6 +2541,9 @@
2541
2541
  "inventory": {
2542
2542
  "activeMemory": "Активная память"
2543
2543
  },
2544
+ "inventoryMonitor": {
2545
+ "temperature": "Температура"
2546
+ },
2544
2547
  "inventoryTabs": {
2545
2548
  "summary": "Сводка",
2546
2549
  "monitor": "Монитор",
@@ -2563,5 +2566,8 @@
2563
2566
  "revertToSelectedSnapshot": "Вернуться к выбранному снимку",
2564
2567
  "deleteSnapshot": "Удалить моментальный снимок",
2565
2568
  "deleteSnapshotDescription": "Это действие является постоянным и не может быть восстановлено. Вы уверены, что хотите удалить '{0}'?"
2569
+ },
2570
+ "importVms": {
2571
+ "selectSourceTooltipDesc": "Права пользователя esxi дожны соответствовать ролям Administrator"
2566
2572
  }
2567
2573
  }
@@ -2307,7 +2307,7 @@
2307
2307
  "possibleCauses": "可能的原因",
2308
2308
  "importVms": "导入虚拟机",
2309
2309
  "selectSourceVCenterServer": "选择源ESXI主机",
2310
- "selectSourceVCenterServerDesc": "从选定的源 vCenter Server 导入虚拟机。",
2310
+ "selectSourceVCenterServerDesc": "从选定的源ESXI主机导入虚拟机。",
2311
2311
  "importVirtualMachines": "导入虚拟机",
2312
2312
  "importVirtualMachinesDesc": "选择要导入的虚拟机。",
2313
2313
  "selectFolder": "选择文件夹",
@@ -2537,6 +2537,9 @@
2537
2537
  "inventory": {
2538
2538
  "activeMemory": "主动记忆"
2539
2539
  },
2540
+ "inventoryMonitor": {
2541
+ "temperature": "温度"
2542
+ },
2540
2543
  "inventoryTabs": {
2541
2544
  "summary": "概括",
2542
2545
  "monitor": "监视器",
@@ -2559,5 +2562,8 @@
2559
2562
  "revertToSelectedSnapshot": "恢复到选定的快照",
2560
2563
  "deleteSnapshot": "删除快照",
2561
2564
  "deleteSnapshotDescription": "此操作是永久性的,无法恢复。 你确定你要删除 '{0}'?"
2565
+ },
2566
+ "importVms": {
2567
+ "selectSourceTooltipDesc": "Esxi用户权限必须对应于管理员角色"
2562
2568
  }
2563
2569
  }
@@ -342,20 +342,20 @@ const periodTypeText = computed<string>(() => {
342
342
  const lang = useLocalStorage('lang')
343
343
 
344
344
  if (lang !== 'ru_RU') text = localization.value.common.last
345
- else text = getCorrectPeriodTypeText(localLast.value)
345
+ else text = getCorrectRuPeriodTypeText(localLast.value)
346
346
 
347
347
  return text
348
348
  })
349
349
 
350
- const getCorrectPeriodTypeText = (hours: number): string => {
350
+ const getCorrectRuPeriodTypeText = (hours: number): string => {
351
351
  let prefix: string
352
352
 
353
- if (!hours) return getCorrectPeriodTypeText.prefix
353
+ if (!hours) return getCorrectRuPeriodTypeText.prefix
354
354
 
355
355
  if (hours % 10 === 1 && hours % 100 !== 11) prefix = 'Последний'
356
356
  else prefix = 'Последние'
357
357
 
358
- getCorrectPeriodTypeText.prefix = prefix
358
+ getCorrectRuPeriodTypeText.prefix = prefix
359
359
  return prefix
360
360
  }
361
361
 
@@ -1,6 +1,6 @@
1
1
  import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_ArbitraryObject } from '~/lib/models/interfaces'
3
2
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
3
+ import type { UI_I_ArbitraryObject } from '~/lib/models/interfaces'
4
4
 
5
5
  export const timespanFunc = (
6
6
  localization: UI_I_Localization
@@ -37,60 +37,68 @@
37
37
 
38
38
  <common-pages-hardware-health-tools-panel :selected-tab="activeTab" />
39
39
 
40
- <common-pages-hardware-health-graph
41
- v-if="activeTab === 'history-testimony'"
42
- :data="props.historyTestimony"
43
- :loading="props.loadingHistoryTestimony"
44
- :is-dark-mode="props.isDarkMode"
45
- :formatted-datetime="props.formattedDatetime"
46
- :get-date-format="props.getDateFormat"
47
- :language="props.language"
48
- />
49
-
50
- <common-pages-hardware-health-table-view
51
- :key="uniqueKey"
52
- v-model:selected="selectedRow"
53
- :data-table="hardwareHealth"
54
- :total-items="hardwareHealth.length"
55
- :total-pages="1"
56
- :table-mode="activeTab"
57
- :loading="props.loading"
58
- />
40
+ <div
41
+ :class="[
42
+ 'bottom-container',
43
+ { 'history-testimony': activeTab === 'history-testimony' },
44
+ ]"
45
+ >
46
+ <common-pages-hardware-health-history-testimony-graph
47
+ v-if="activeTab === 'history-testimony'"
48
+ :power-data="props.historyTestimonyPower"
49
+ :temperature-data="props.historyTestimonyTemperature"
50
+ :counters-table-data="hardwareHealth"
51
+ :language="props.language"
52
+ :power-loading="props.loadingPowerData"
53
+ :temperature-loading="props.loadingTemperatureData"
54
+ :formatted-datetime="props.formattedDatetime"
55
+ :is-dark-mode="props.isDarkMode"
56
+ :get-date-format="props.getDateFormat"
57
+ :main-selected-row="selectedRow"
58
+ />
59
+
60
+ <common-pages-hardware-health-table-view
61
+ :key="uniqueKey"
62
+ v-model:selected="selectedRow"
63
+ :data-table="hardwareHealth"
64
+ :total-items="hardwareHealth.length"
65
+ :total-pages="1"
66
+ :table-mode="activeTab"
67
+ :loading="props.loading"
68
+ />
69
+ </div>
59
70
  </div>
60
71
  </template>
61
72
 
62
73
  <script lang="ts" setup>
63
74
  import type { I_SeriesLine } from '~/node_modules/bfg-nuxt-3-graph/graph/lib/models/interfaces'
64
75
  import type { UI_I_Localization } from '~/lib/models/interfaces'
76
+ import type { UI_I_HardwareHealthSensors } from '~/components/common/pages/hardwareHealth/tableView/lib/models/interfaces'
65
77
  import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
66
- import type { UI_T_HardwareHealthTabMode } from '~/components/common/pages/hardwareHealth/lib/models/types'
67
78
  import type { UI_I_StorageSensorsAlert } from '~/components/common/pages/hardwareHealth/lib/models/interfaces'
68
- import type { UI_I_HardwareHealthSensors } from '~/components/common/pages/hardwareHealth/tableView/lib/models/interfaces'
69
- import type { UI_T_SelectedRow } from '~/components/atoms/table/dataGrid/lib/models/types'
79
+ import type { UI_T_HardwareHealthTabMode } from '~/components/common/pages/hardwareHealth/lib/models/types'
70
80
  import { hardwareHealthTabsFunc } from '~/components/common/pages/hardwareHealth/lib/config/tabsPannel'
71
81
 
72
82
  const props = defineProps<{
73
83
  data: UI_I_HardwareHealthSensors[]
74
84
  loading: boolean
75
- historyTestimony: I_SeriesLine | null
76
- loadingHistoryTestimony: boolean
85
+ historyTestimonyPower: I_SeriesLine | null
86
+ historyTestimonyTemperature: I_SeriesLine | null
87
+ loadingPowerData: boolean
88
+ loadingTemperatureData: boolean
77
89
  isDarkMode: boolean
78
90
  formattedDatetime: any
79
91
  getDateFormat: any
80
92
  language: string
81
93
  }>()
82
94
 
83
- const emits = defineEmits<{
84
- (event: 'update-chart-data', value: string): void
85
- }>()
86
-
87
95
  const localization = computed<UI_I_Localization>(() => useLocal())
88
96
  const { $store }: any = useNuxtApp()
89
97
 
90
98
  const activeTab = ref<UI_T_HardwareHealthTabMode>('sensor')
91
99
  const uniqueKey = ref<number>(0)
92
100
 
93
- const selectedRow = ref<UI_T_SelectedRow>([])
101
+ const selectedRow = ref<number[]>([])
94
102
 
95
103
  const hardwareHealthTabs = computed<UI_I_CollapseNavItem[]>(() =>
96
104
  hardwareHealthTabsFunc(localization.value)
@@ -151,42 +159,10 @@ const generateAlertTextWithLink = computed<UI_I_StorageSensorsAlert>(() => {
151
159
  }
152
160
  })
153
161
 
154
- const updateChartData = (isSendAll: boolean = false): void => {
155
- const selectedNames: string[] = []
156
- hardwareHealth.value.forEach((item, key) => {
157
- if (isSendAll) {
158
- if (['power', 'temperature'].includes(item.category.toLowerCase()))
159
- selectedNames.push(item.name)
160
- } else if (
161
- ['power', 'temperature'].includes(item.category.toLowerCase()) &&
162
- selectedRow.value.includes(key)
163
- ) {
164
- selectedNames.push(item.name)
165
- }
166
- })
167
- emits('update-chart-data', selectedNames.join(','))
168
- }
169
-
170
- watch(selectedRow, (newValue) => {
171
- newValue.length &&
172
- activeTab.value === 'history-testimony' &&
173
- updateChartData()
174
- })
175
-
176
162
  watch(activeTab, () => {
177
163
  uniqueKey.value++
178
164
  })
179
165
 
180
- watch(
181
- [hardwareHealth, activeTab],
182
- (newValue) => {
183
- newValue[0].length &&
184
- newValue[1] === 'history-testimony' &&
185
- updateChartData(true)
186
- },
187
- { immediate: true }
188
- )
189
-
190
166
  onMounted(() => {
191
167
  $store.dispatch('main/A_CONTINUE_GLOBAL_REFRESH', 'hardwareHealth')
192
168
  })
@@ -206,5 +182,11 @@ onUnmounted(() => {
206
182
  margin-top: 0;
207
183
  }
208
184
  }
185
+ .bottom-container {
186
+ &.history-testimony {
187
+ overflow: hidden;
188
+ overflow-y: auto;
189
+ }
190
+ }
209
191
  }
210
192
  </style>