bfg-common 1.4.720 → 1.4.722

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 (140) hide show
  1. package/assets/localization/local_be.json +2 -2
  2. package/assets/localization/local_en.json +2 -2
  3. package/assets/localization/local_hy.json +2 -2
  4. package/assets/localization/local_kk.json +2 -2
  5. package/assets/localization/local_ru.json +2 -2
  6. package/assets/localization/local_zh.json +2 -2
  7. package/assets/scss/common/normalize.scss +355 -361
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  10. package/components/atoms/stack/StackBlock.vue +185 -185
  11. package/components/atoms/table/dataGrid/DataGrid.vue +1696 -1696
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  13. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  14. package/components/common/browse/BrowseNew.vue +237 -237
  15. package/components/common/browse/BrowseOld.vue +217 -217
  16. package/components/common/browse/blocks/contents/Files.vue +37 -37
  17. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  18. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/context/lib/models/interfaces.ts +30 -30
  21. package/components/common/context/recursion/Recursion.vue +86 -86
  22. package/components/common/context/recursion/RecursionOld.vue +213 -213
  23. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  24. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  25. package/components/common/layout/theHeader/lib/models/enums.ts +0 -1
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +2 -5
  27. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +150 -150
  28. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +284 -300
  29. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  30. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  31. package/components/common/monitor/advanced/Advanced.vue +244 -239
  32. package/components/common/monitor/advanced/tools/Tools.vue +447 -440
  33. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +511 -504
  34. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +108 -106
  35. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +95 -93
  36. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +544 -539
  37. package/components/common/monitor/overview/filters/Filters.vue +235 -232
  38. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +250 -240
  39. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +62 -52
  40. package/components/common/pages/home/StatusContent.vue +49 -49
  41. package/components/common/pages/home/headline/Headline.vue +44 -44
  42. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  43. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  44. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  45. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  46. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  47. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  48. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  49. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  50. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  51. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  52. package/components/common/pages/home/widgets/vms/VmsNew.vue +101 -101
  53. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  54. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  55. package/components/common/recursionTree/RecursionTree.vue +212 -223
  56. package/components/common/select/button/ButtonDropdown.vue +108 -108
  57. package/components/common/selectLanguage/lib/config/config.ts +0 -5
  58. package/components/common/spiceConsole/Drawer.vue +370 -370
  59. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  60. package/components/common/split/vertical/Vertical.vue +160 -160
  61. package/components/common/vm/actions/add/Add.vue +616 -616
  62. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  63. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  64. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +269 -269
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -70
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +42 -50
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  122. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  123. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  124. package/components/common/vm/actions/editSettings/EditSettings.vue +232 -232
  125. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +183 -183
  126. package/components/common/vm/actions/editSettings/new/New.vue +177 -177
  127. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  128. package/composables/productNameLocal.ts +30 -30
  129. package/composables/useAppVersion.ts +21 -21
  130. package/composables/useLocal.ts +0 -5
  131. package/layouts/auth.vue +0 -1
  132. package/package.json +1 -1
  133. package/plugins/date.ts +233 -233
  134. package/plugins/recursion.ts +311 -311
  135. package/public/spice-console/lib/images/bitmap.js +203 -203
  136. package/public/spice-console/network/spicechannel.js +383 -383
  137. package/store/main/mutations.ts +7 -7
  138. package/store/main/state.ts +7 -7
  139. package/store/tasks/mappers/recentTasks.ts +64 -64
  140. package/assets/scss/clarity/local_ar.json +0 -2914
@@ -1,239 +1,244 @@
1
- <template>
2
- <div id="advanced-page" class="fill-parent">
3
- <div class="routed-view-panel-layout">
4
- <div class="settingsViewHeader">
5
- <h3 class="settingsBlockTitle m-0">
6
- {{ localization.inventoryMonitor.advancedPerformance }}
7
- </h3>
8
- </div>
9
- <div v-if="props.isEmpty" class="empty-data">
10
- {{ localization.inventoryMonitor.emptyAdvancedGraphText }}
11
- </div>
12
- <div v-else class="fill-parent flex-column">
13
- <div class="vertical-flex-container fill-parent">
14
- <common-monitor-advanced-tools
15
- v-model:selected-timespan-type="localSelectedTimespanType"
16
- :type="props.type"
17
- :start-date="props.data?.pointStart || 0"
18
- :chart-title="props.data?.groupName || ''"
19
- :language="props.language"
20
- :selected-counters-keys="props.selectedCountersKeys"
21
- :selected-metric="props.selectedMetric"
22
- :selected-metric-local="props.selectedMetricLocal"
23
- :disabled-period="props.disabledPeriod"
24
- :disabled-view="props.disabledView"
25
- :selected-chart-type="props.selectedChartType"
26
- :units-count="props.unitsCount"
27
- :period-type="props.periodType"
28
- :selected-custom-time="props.selectedCustomTime"
29
- :selected-chart-option-name="props.selectedChartOptionName"
30
- :custom-date-from="props.customDateFrom"
31
- :custom-date-to="props.customDateTo"
32
- :custom-time-from="props.customTimeFrom"
33
- :custom-time-to="props.customTimeTo"
34
- :total-cores="totalCores"
35
- :host-id="props.hostId"
36
- :selected-objects="props.selectedObjects"
37
- :project="props.project"
38
- :objects-loading="props.objectsLoading"
39
- :objects-data="props.objectsData"
40
- @update-tools="emits('update-tools', $event)"
41
- @exporting="onExporting"
42
- @open-advanced-page="onGetEmptyPage"
43
- @select-row="emits('select-row', $event)"
44
- @select-metric-local="emits('select-metric-local', $event)"
45
- @update-chart-type="emits('update-chart-type', $event)"
46
- @update-timespan-type="emits('update-timespan-type', $event)"
47
- @update-unit-count="emits('update-unit-count', $event)"
48
- @update-period-type="emits('update-period-type', $event)"
49
- @update-custom-time="emits('update-custom-time', $event)"
50
- @delete-option="emits('delete-option')"
51
- @submit-options="emits('submit-options', $event)"
52
- />
53
-
54
- <div v-show="!props.data" class="empty-container">
55
- {{
56
- localization.inventoryMonitor
57
- .noPerformanceCurrentlySelectedMetrics
58
- }}
59
- </div>
60
-
61
- <div v-show="props.data">
62
- <div class="main-graphs-loader relative">
63
- <common-monitor-advanced-graph-view
64
- :loading="props.advancedLoading"
65
- :data="props.data"
66
- :update="update"
67
- :export="exportGraph"
68
- :selected-row="selectedRow"
69
- :dark-mode="props.darkMode"
70
- :formatted-datetime="props.formattedDatetime"
71
- :get-date-format="props.getDateFormat"
72
- :language="props.language"
73
- :selected-chart-type="props.selectedChartType"
74
- />
75
- <div class="datatable">
76
- <common-monitor-advanced-table
77
- :data="props.tableData"
78
- @select="onCheckSelectedRow"
79
- />
80
- </div>
81
- </div>
82
- </div>
83
- </div>
84
- </div>
85
- </div>
86
- </div>
87
- </template>
88
-
89
- <script setup lang="ts">
90
- import type { UI_I_Localization } from '~/lib/models/interfaces'
91
- import type { UI_T_AdvancedType } from '~/components/common/monitor/advanced/lib/models/types'
92
- import type { I_SeriesLine } from 'bfg-nuxt-3-graph/graph/lib/models/interfaces'
93
- import type { UI_I_MonitorGraphPayload } from '~/components/common/monitor/lib/models/interfaces'
94
- import type { UI_I_PerformanceItem } from '~/components/common/monitor/advanced/table/lib/models/interfaces'
95
- import type {
96
- UI_T_ChartHost,
97
- UI_T_ChartVm,
98
- } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types'
99
- import type { UI_I_OptionsForm } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces'
100
- import type { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces'
101
- import type { UI_I_ObjectItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces'
102
- import type { UI_T_Project } from '~/lib/models/types'
103
- import { getCountCores } from '~/components/common/monitor/advanced/tools/lib/utils/countCores'
104
-
105
- const props = defineProps<{
106
- type: UI_T_AdvancedType
107
- advancedLoading: boolean
108
- data: I_SeriesLine | null
109
- cpuCoresDataData: I_SeriesLine | null
110
- tableData: UI_I_PerformanceItem[] | []
111
- language: string
112
- darkMode: boolean
113
- formattedDatetime: any
114
- getDateFormat: any
115
- selectedCountersKeys: number[]
116
- selectedMetric: UI_T_ChartHost | UI_T_ChartVm
117
- selectedMetricLocal: UI_T_ChartHost | UI_T_ChartVm
118
- selectedChartType: string
119
- selectedTimespanType: string
120
- unitsCount: number
121
- periodType: string
122
- selectedCustomTime: string
123
- selectedChartOptionName: string
124
- customDateFrom: string
125
- customDateTo: string
126
- customTimeFrom: string
127
- customTimeTo: string
128
- hostId: string
129
- selectedObjects: string
130
- project: UI_T_Project
131
- objectsLoading: boolean
132
- objectsData: UI_I_ObjectItem[]
133
- disabledPeriod?: boolean
134
- disabledView?: boolean
135
- isEmpty?: boolean
136
- }>()
137
-
138
- const emits = defineEmits<{
139
- (event: 'update-tools', value: UI_I_MonitorGraphPayload): void
140
- (event: 'open-advanced-page'): void
141
- (event: 'update-selected-row', value: number[]): void
142
- (event: 'select-row', value: UI_I_AdvancedCounterItem[]): void
143
- (event: 'select-metric-local', value: string): void
144
- (event: 'update-chart-type', value: string): void
145
- (event: 'update-timespan-type', value: string): void
146
- (event: 'update-unit-count', value: number): void
147
- (event: 'update-period-type', value: string): void
148
- (event: 'update-custom-time', value: string): void
149
- (event: 'delete-option'): void
150
- (event: 'submit-options', value: UI_I_OptionsForm): void
151
- (event: 'update:selected-timespan-type', value: string): void
152
- }>()
153
-
154
- const localization = computed<UI_I_Localization>(() => useLocal())
155
-
156
- const localSelectedTimespanType = computed<string>({
157
- get() {
158
- return props.selectedTimespanType
159
- },
160
- set(newValue) {
161
- emits('update:selected-timespan-type', newValue)
162
- },
163
- })
164
-
165
- const totalCores = ref<number>(0)
166
- let isFirstUpdate = true
167
- watch(
168
- () => props.cpuCoresDataData,
169
- (newValue) => {
170
- if (!newValue || !isFirstUpdate) return
171
-
172
- totalCores.value = getCountCores(newValue)
173
- isFirstUpdate = false
174
- },
175
- { immediate: true }
176
- )
177
-
178
- const exportGraph = ref<string>('')
179
- const onExporting = (key: string): void => {
180
- exportGraph.value = key
181
- }
182
-
183
- const onGetEmptyPage = (): void => emits('open-advanced-page')
184
-
185
- const update = ref<number>(0)
186
-
187
- const selectedRow = ref<number[]>([])
188
- const onCheckSelectedRow = (data: number[]): void => {
189
- selectedRow.value = data
190
- }
191
- </script>
192
-
193
- <style scoped lang="scss">
194
- #advanced-page {
195
- overflow-x: hidden;
196
- }
197
- .fill-parent {
198
- flex-direction: column;
199
-
200
- .empty-data {
201
- height: 100%;
202
- display: flex;
203
- align-items: center;
204
- justify-content: center;
205
- }
206
- .empty-container {
207
- min-height: 300px;
208
- height: 100%;
209
- background-color: var(--block-view-bg-color5);
210
- display: flex;
211
- flex-grow: 1;
212
- flex-shrink: 1;
213
- justify-content: center;
214
- align-items: center;
215
- width: 100%;
216
- }
217
-
218
- .routed-view-panel-layout {
219
- width: 100%;
220
- height: 100%;
221
- box-sizing: border-box;
222
- display: flex;
223
- flex-direction: column;
224
-
225
- .settingsViewHeader {
226
- display: flex;
227
- align-items: center;
228
- box-sizing: border-box;
229
-
230
- .settingsBlockTitle {
231
- font-size: 22px;
232
- font-weight: 400;
233
- color: var(--light-white-100);
234
- padding: 4px 0 4px 2px;
235
- }
236
- }
237
- }
238
- }
239
- </style>
1
+ <template>
2
+ <div id="advanced-page" class="fill-parent">
3
+ <div class="routed-view-panel-layout">
4
+ <div class="settingsViewHeader">
5
+ <h3 class="settingsBlockTitle m-0">
6
+ {{ localization.inventoryMonitor.advancedPerformance }}
7
+ </h3>
8
+ </div>
9
+ <div v-if="props.isEmpty" class="empty-data">
10
+ {{ localization.inventoryMonitor.emptyAdvancedGraphText }}
11
+ </div>
12
+ <div v-else class="fill-parent flex-column">
13
+ <div class="vertical-flex-container fill-parent">
14
+ <common-monitor-advanced-tools
15
+ v-model:selected-timespan-type="localSelectedTimespanType"
16
+ :type="props.type"
17
+ :start-date="props.data?.pointStart || 0"
18
+ :end-date="props.data?.pointEnd || 0"
19
+ :chart-title="props.data?.groupName || ''"
20
+ :language="props.language"
21
+ :selected-counters-keys="props.selectedCountersKeys"
22
+ :selected-metric="props.selectedMetric"
23
+ :selected-metric-local="props.selectedMetricLocal"
24
+ :disabled-period="props.disabledPeriod"
25
+ :disabled-view="props.disabledView"
26
+ :selected-chart-type="props.selectedChartType"
27
+ :units-count="props.unitsCount"
28
+ :period-type="props.periodType"
29
+ :selected-custom-time="props.selectedCustomTime"
30
+ :selected-chart-option-name="props.selectedChartOptionName"
31
+ :custom-date-from="props.customDateFrom"
32
+ :custom-date-to="props.customDateTo"
33
+ :custom-time-from="props.customTimeFrom"
34
+ :custom-time-to="props.customTimeTo"
35
+ :total-cores="totalCores"
36
+ :host-id="props.hostId"
37
+ :selected-objects="props.selectedObjects"
38
+ :project="props.project"
39
+ :objects-loading="props.objectsLoading"
40
+ :objects-data="props.objectsData"
41
+ :valid-date-end="props.validDateEnd"
42
+ :format-date="props.formatDate"
43
+ @update-tools="emits('update-tools', $event)"
44
+ @exporting="onExporting"
45
+ @open-advanced-page="onGetEmptyPage"
46
+ @select-row="emits('select-row', $event)"
47
+ @select-metric-local="emits('select-metric-local', $event)"
48
+ @update-chart-type="emits('update-chart-type', $event)"
49
+ @update-timespan-type="emits('update-timespan-type', $event)"
50
+ @update-unit-count="emits('update-unit-count', $event)"
51
+ @update-period-type="emits('update-period-type', $event)"
52
+ @update-custom-time="emits('update-custom-time', $event)"
53
+ @delete-option="emits('delete-option')"
54
+ @submit-options="emits('submit-options', $event)"
55
+ />
56
+
57
+ <div v-show="!props.data" class="empty-container">
58
+ {{
59
+ localization.inventoryMonitor
60
+ .noPerformanceCurrentlySelectedMetrics
61
+ }}
62
+ </div>
63
+
64
+ <div v-show="props.data">
65
+ <div class="main-graphs-loader relative">
66
+ <common-monitor-advanced-graph-view
67
+ :loading="props.advancedLoading"
68
+ :data="props.data"
69
+ :update="update"
70
+ :export="exportGraph"
71
+ :selected-row="selectedRow"
72
+ :dark-mode="props.darkMode"
73
+ :formatted-datetime="props.formattedDatetime"
74
+ :get-date-format="props.getDateFormat"
75
+ :language="props.language"
76
+ :selected-chart-type="props.selectedChartType"
77
+ />
78
+ <div class="datatable">
79
+ <common-monitor-advanced-table
80
+ :data="props.tableData"
81
+ @select="onCheckSelectedRow"
82
+ />
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </template>
91
+
92
+ <script setup lang="ts">
93
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
94
+ import type { UI_T_AdvancedType } from '~/components/common/monitor/advanced/lib/models/types'
95
+ import type { I_SeriesLine } from 'bfg-nuxt-3-graph/graph/lib/models/interfaces'
96
+ import type { UI_I_MonitorGraphPayload } from '~/components/common/monitor/lib/models/interfaces'
97
+ import type { UI_I_PerformanceItem } from '~/components/common/monitor/advanced/table/lib/models/interfaces'
98
+ import type {
99
+ UI_T_ChartHost,
100
+ UI_T_ChartVm,
101
+ } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types'
102
+ import type { UI_I_OptionsForm } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces'
103
+ import type { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces'
104
+ import type { UI_I_ObjectItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces'
105
+ import type { UI_T_Project } from '~/lib/models/types'
106
+ import { getCountCores } from '~/components/common/monitor/advanced/tools/lib/utils/countCores'
107
+
108
+ const props = defineProps<{
109
+ type: UI_T_AdvancedType
110
+ advancedLoading: boolean
111
+ data: I_SeriesLine | null
112
+ cpuCoresDataData: I_SeriesLine | null
113
+ tableData: UI_I_PerformanceItem[] | []
114
+ language: string
115
+ darkMode: boolean
116
+ formattedDatetime: any
117
+ getDateFormat: any
118
+ selectedCountersKeys: number[]
119
+ selectedMetric: UI_T_ChartHost | UI_T_ChartVm
120
+ selectedMetricLocal: UI_T_ChartHost | UI_T_ChartVm
121
+ selectedChartType: string
122
+ selectedTimespanType: string
123
+ unitsCount: number
124
+ periodType: string
125
+ selectedCustomTime: string
126
+ selectedChartOptionName: string
127
+ customDateFrom: string
128
+ customDateTo: string
129
+ customTimeFrom: string
130
+ customTimeTo: string
131
+ hostId: string
132
+ selectedObjects: string
133
+ project: UI_T_Project
134
+ objectsLoading: boolean
135
+ objectsData: UI_I_ObjectItem[]
136
+ validDateEnd: number
137
+ formatDate: string
138
+ disabledPeriod?: boolean
139
+ disabledView?: boolean
140
+ isEmpty?: boolean
141
+ }>()
142
+
143
+ const emits = defineEmits<{
144
+ (event: 'update-tools', value: UI_I_MonitorGraphPayload): void
145
+ (event: 'open-advanced-page'): void
146
+ (event: 'update-selected-row', value: number[]): void
147
+ (event: 'select-row', value: UI_I_AdvancedCounterItem[]): void
148
+ (event: 'select-metric-local', value: string): void
149
+ (event: 'update-chart-type', value: string): void
150
+ (event: 'update-timespan-type', value: string): void
151
+ (event: 'update-unit-count', value: number): void
152
+ (event: 'update-period-type', value: string): void
153
+ (event: 'update-custom-time', value: string): void
154
+ (event: 'delete-option'): void
155
+ (event: 'submit-options', value: UI_I_OptionsForm): void
156
+ (event: 'update:selected-timespan-type', value: string): void
157
+ }>()
158
+
159
+ const localization = computed<UI_I_Localization>(() => useLocal())
160
+
161
+ const localSelectedTimespanType = computed<string>({
162
+ get() {
163
+ return props.selectedTimespanType
164
+ },
165
+ set(newValue) {
166
+ emits('update:selected-timespan-type', newValue)
167
+ },
168
+ })
169
+
170
+ const totalCores = ref<number>(0)
171
+ let isFirstUpdate = true
172
+ watch(
173
+ () => props.cpuCoresDataData,
174
+ (newValue) => {
175
+ if (!newValue || !isFirstUpdate) return
176
+
177
+ totalCores.value = getCountCores(newValue)
178
+ isFirstUpdate = false
179
+ },
180
+ { immediate: true }
181
+ )
182
+
183
+ const exportGraph = ref<string>('')
184
+ const onExporting = (key: string): void => {
185
+ exportGraph.value = key
186
+ }
187
+
188
+ const onGetEmptyPage = (): void => emits('open-advanced-page')
189
+
190
+ const update = ref<number>(0)
191
+
192
+ const selectedRow = ref<number[]>([])
193
+ const onCheckSelectedRow = (data: number[]): void => {
194
+ selectedRow.value = data
195
+ }
196
+ </script>
197
+
198
+ <style scoped lang="scss">
199
+ #advanced-page {
200
+ overflow-x: hidden;
201
+ }
202
+ .fill-parent {
203
+ flex-direction: column;
204
+
205
+ .empty-data {
206
+ height: 100%;
207
+ display: flex;
208
+ align-items: center;
209
+ justify-content: center;
210
+ }
211
+ .empty-container {
212
+ min-height: 300px;
213
+ height: 100%;
214
+ background-color: var(--block-view-bg-color5);
215
+ display: flex;
216
+ flex-grow: 1;
217
+ flex-shrink: 1;
218
+ justify-content: center;
219
+ align-items: center;
220
+ width: 100%;
221
+ }
222
+
223
+ .routed-view-panel-layout {
224
+ width: 100%;
225
+ height: 100%;
226
+ box-sizing: border-box;
227
+ display: flex;
228
+ flex-direction: column;
229
+
230
+ .settingsViewHeader {
231
+ display: flex;
232
+ align-items: center;
233
+ box-sizing: border-box;
234
+
235
+ .settingsBlockTitle {
236
+ font-size: 22px;
237
+ font-weight: 400;
238
+ color: var(--light-white-100);
239
+ padding: 4px 0 4px 2px;
240
+ }
241
+ }
242
+ }
243
+ }
244
+ </style>