bfg-common 1.1.103 → 1.1.104

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.
@@ -1,234 +1,235 @@
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.advancedPerformance }}
7
- </h3>
8
- </div>
9
- <!-- <div v-show="props.advancedLoading || !props.data" class="empty-data">-->
10
- <!-- {{ localization.emptyAdvancedGraphText }}-->
11
- <!-- </div>-->
12
- <div 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
- :disabled-period="props.disabledPeriod"
23
- :disabled-view="props.disabledView"
24
- :selected-chart-type="props.selectedChartType"
25
- :units-count="props.unitsCount"
26
- :period-type="props.periodType"
27
- :selected-custom-time="props.selectedCustomTime"
28
- :selected-chart-option-name="props.selectedChartOptionName"
29
- :custom-date-from="props.customDateFrom"
30
- :custom-date-to="props.customDateTo"
31
- :custom-time-from="props.customTimeFrom"
32
- :custom-time-to="props.customTimeTo"
33
- :total-cores="totalCores"
34
- :host-id="props.hostId"
35
- :selected-objects="props.selectedObjects"
36
- @update-tools="emits('update-tools', $event)"
37
- @exporting="onExporting"
38
- @open-advanced-page="onGetEmptyPage"
39
- @select-row="emits('select-row', $event)"
40
- @select-metric="emits('select-metric', $event)"
41
- @update-chart-type="emits('update-chart-type', $event)"
42
- @update-timespan-type="emits('update-timespan-type', $event)"
43
- @update-unit-count="emits('update-unit-count', $event)"
44
- @update-period-type="emits('update-period-type', $event)"
45
- @update-custom-time="emits('update-custom-time', $event)"
46
- @delete-option="emits('delete-option')"
47
- @update-custom-date-from="emits('update-custom-date-from', $event)"
48
- @update-custom-date-to="emits('update-custom-date-to', $event)"
49
- @update-custom-time-from="emits('update-custom-time-from', $event)"
50
- @update-custom-time-to="emits('update-custom-time-to', $event)"
51
- @submit-options="emits('submit-options', $event)"
52
- />
53
-
54
- <div v-show="!props.data" class="empty-container">
55
- {{
56
- localization.noPerformanceDataIsAvailableForTheCurrentlySelectedMetrics
57
- }}
58
- </div>
59
-
60
- <div v-show="props.data">
61
- <div class="main-graphs-loader relative">
62
- <common-monitor-advanced-graph-view
63
- :loading="props.advancedLoading"
64
- :data="props.data"
65
- :update="update"
66
- :export="exportGraph"
67
- :selected-row="selectedRow"
68
- :dark-mode="props.darkMode"
69
- :formatted-datetime="props.formattedDatetime"
70
- :get-date-format="props.getDateFormat"
71
- :language="props.language"
72
- :selected-chart-type="props.selectedChartType"
73
- />
74
- <div class="datatable">
75
- <common-monitor-advanced-table
76
- :data="props.tableData"
77
- @select="onCheckSelectedRow"
78
- />
79
- </div>
80
- </div>
81
- </div>
82
- </div>
83
- </div>
84
- </div>
85
- </div>
86
- </template>
87
-
88
- <script setup lang="ts">
89
- import { UI_I_Localization } from '~/models/interfaces'
90
- import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
91
- import { I_SeriesLine } from 'bfg-nuxt-3-graph/graph/models/interfaces'
92
- import { UI_I_MonitorGraphPayload } from '~/components/common/monitor/models/interfaces'
93
- import { UI_I_PerformanceItem } from '~/components/common/monitor/advanced/table/models/interfaces'
94
- import {
95
- T_ChartHost,
96
- T_ChartVm,
97
- } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
98
- import { UI_I_OptionsForm } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/models'
99
- import { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
100
- import { getCountCores } from '~/components/common/monitor/advanced/tools/utils/countCores'
101
-
102
- const props = defineProps<{
103
- type: UI_T_AdvancedType
104
- advancedLoading: boolean
105
- data: I_SeriesLine | null
106
- tableData: UI_I_PerformanceItem[] | []
107
- language: string
108
- darkMode: boolean
109
- formattedDatetime: any
110
- getDateFormat: any
111
- selectedCountersKeys: number[]
112
- selectedMetric: T_ChartHost | T_ChartVm
113
- selectedChartType: string
114
- selectedTimespanType: string
115
- unitsCount: number
116
- periodType: string
117
- selectedCustomTime: string
118
- selectedChartOptionName: string
119
- customDateFrom: string
120
- customDateTo: string
121
- customTimeFrom: string
122
- customTimeTo: string
123
- hostId: string
124
- selectedObjects: string
125
- disabledPeriod?: boolean
126
- disabledView?: boolean
127
- }>()
128
-
129
- const emits = defineEmits<{
130
- (event: 'update-tools', value: UI_I_MonitorGraphPayload): void
131
- (event: 'open-advanced-page'): void
132
- (event: 'update-selected-row', value: number[]): void
133
- (event: 'select-row', value: UI_I_AdvancedCounterItem[]): void
134
- (event: 'select-metric', value: string): void
135
- (event: 'update-chart-type', value: string): void
136
- (event: 'update-timespan-type', value: string): void
137
- (event: 'update-unit-count', value: number): void
138
- (event: 'update-period-type', value: string): void
139
- (event: 'update-custom-time', value: string): void
140
- (event: 'delete-option'): void
141
- (event: 'update-custom-date-from', value: string): void
142
- (event: 'update-custom-date-to', value: string): void
143
- (event: 'update-custom-time-from', value: string): void
144
- (event: 'update-custom-time-to', value: string): void
145
- (event: 'submit-options', value: UI_I_OptionsForm): void
146
- (event: 'update:selected-timespan-type', value: string): void
147
- }>()
148
-
149
- const localization = computed<UI_I_Localization>(() => useLocal())
150
-
151
- const localSelectedTimespanType = computed<string>({
152
- get() {
153
- return props.selectedTimespanType
154
- },
155
- set(newValue) {
156
- emits('update:selected-timespan-type', newValue)
157
- },
158
- })
159
-
160
- const totalCores = ref<number>(0)
161
- let isFirstUpdate = true
162
- watch(
163
- () => props.data,
164
- (newValue) => {
165
- if (!newValue || !isFirstUpdate) return
166
-
167
- totalCores.value = getCountCores(newValue)
168
- isFirstUpdate = false
169
- },
170
- { immediate: true }
171
- )
172
-
173
- const exportGraph = ref<string>('')
174
- const onExporting = (key: string): void => {
175
- exportGraph.value = key
176
- }
177
-
178
- const onGetEmptyPage = (): void => emits('open-advanced-page')
179
-
180
- const update = ref<number>(0)
181
-
182
- const selectedRow = ref<number[]>([])
183
- const onCheckSelectedRow = (data: number[]): void => {
184
- selectedRow.value = data
185
- }
186
- </script>
187
-
188
- <style scoped lang="scss">
189
- #advanced-page {
190
- overflow-x: hidden;
191
- }
192
- .fill-parent {
193
- flex-direction: column;
194
-
195
- .empty-data {
196
- height: 100%;
197
- display: flex;
198
- align-items: center;
199
- justify-content: center;
200
- }
201
- .empty-container {
202
- min-height: 300px;
203
- height: 100%;
204
- background-color: var(--block-view-bg-color5);
205
- display: flex;
206
- flex-grow: 1;
207
- flex-shrink: 1;
208
- justify-content: center;
209
- align-items: center;
210
- width: 100%;
211
- }
212
-
213
- .routed-view-panel-layout {
214
- width: 100%;
215
- height: 100%;
216
- box-sizing: border-box;
217
- display: flex;
218
- flex-direction: column;
219
-
220
- .settingsViewHeader {
221
- display: flex;
222
- align-items: center;
223
- box-sizing: border-box;
224
-
225
- .settingsBlockTitle {
226
- font-size: 22px;
227
- font-weight: 400;
228
- color: var(--light-white-100);
229
- padding: 4px 0 4px 2px;
230
- }
231
- }
232
- }
233
- }
234
- </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.advancedPerformance }}
7
+ </h3>
8
+ </div>
9
+ <!-- <div v-show="props.advancedLoading || !props.data" class="empty-data">-->
10
+ <!-- {{ localization.emptyAdvancedGraphText }}-->
11
+ <!-- </div>-->
12
+ <div 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
+ :disabled-period="props.disabledPeriod"
23
+ :disabled-view="props.disabledView"
24
+ :selected-chart-type="props.selectedChartType"
25
+ :units-count="props.unitsCount"
26
+ :period-type="props.periodType"
27
+ :selected-custom-time="props.selectedCustomTime"
28
+ :selected-chart-option-name="props.selectedChartOptionName"
29
+ :custom-date-from="props.customDateFrom"
30
+ :custom-date-to="props.customDateTo"
31
+ :custom-time-from="props.customTimeFrom"
32
+ :custom-time-to="props.customTimeTo"
33
+ :total-cores="totalCores"
34
+ :host-id="props.hostId"
35
+ :selected-objects="props.selectedObjects"
36
+ @update-tools="emits('update-tools', $event)"
37
+ @exporting="onExporting"
38
+ @open-advanced-page="onGetEmptyPage"
39
+ @select-row="emits('select-row', $event)"
40
+ @select-metric="emits('select-metric', $event)"
41
+ @update-chart-type="emits('update-chart-type', $event)"
42
+ @update-timespan-type="emits('update-timespan-type', $event)"
43
+ @update-unit-count="emits('update-unit-count', $event)"
44
+ @update-period-type="emits('update-period-type', $event)"
45
+ @update-custom-time="emits('update-custom-time', $event)"
46
+ @delete-option="emits('delete-option')"
47
+ @update-custom-date-from="emits('update-custom-date-from', $event)"
48
+ @update-custom-date-to="emits('update-custom-date-to', $event)"
49
+ @update-custom-time-from="emits('update-custom-time-from', $event)"
50
+ @update-custom-time-to="emits('update-custom-time-to', $event)"
51
+ @submit-options="emits('submit-options', $event)"
52
+ />
53
+
54
+ <div v-show="!props.data" class="empty-container">
55
+ {{
56
+ localization.noPerformanceDataIsAvailableForTheCurrentlySelectedMetrics
57
+ }}
58
+ </div>
59
+
60
+ <div v-show="props.data">
61
+ <div class="main-graphs-loader relative">
62
+ <common-monitor-advanced-graph-view
63
+ :loading="props.advancedLoading"
64
+ :data="props.data"
65
+ :update="update"
66
+ :export="exportGraph"
67
+ :selected-row="selectedRow"
68
+ :dark-mode="props.darkMode"
69
+ :formatted-datetime="props.formattedDatetime"
70
+ :get-date-format="props.getDateFormat"
71
+ :language="props.language"
72
+ :selected-chart-type="props.selectedChartType"
73
+ />
74
+ <div class="datatable">
75
+ <common-monitor-advanced-table
76
+ :data="props.tableData"
77
+ @select="onCheckSelectedRow"
78
+ />
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </template>
87
+
88
+ <script setup lang="ts">
89
+ import { UI_I_Localization } from '~/models/interfaces'
90
+ import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
91
+ import { I_SeriesLine } from 'bfg-nuxt-3-graph/graph/models/interfaces'
92
+ import { UI_I_MonitorGraphPayload } from '~/components/common/monitor/models/interfaces'
93
+ import { UI_I_PerformanceItem } from '~/components/common/monitor/advanced/table/models/interfaces'
94
+ import {
95
+ T_ChartHost,
96
+ T_ChartVm,
97
+ } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
98
+ import { UI_I_OptionsForm } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/models'
99
+ import { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
100
+ import { getCountCores } from '~/components/common/monitor/advanced/tools/utils/countCores'
101
+
102
+ const props = defineProps<{
103
+ type: UI_T_AdvancedType
104
+ advancedLoading: boolean
105
+ data: I_SeriesLine | null
106
+ cpuCoresDataData: I_SeriesLine | null
107
+ tableData: UI_I_PerformanceItem[] | []
108
+ language: string
109
+ darkMode: boolean
110
+ formattedDatetime: any
111
+ getDateFormat: any
112
+ selectedCountersKeys: number[]
113
+ selectedMetric: T_ChartHost | T_ChartVm
114
+ selectedChartType: string
115
+ selectedTimespanType: string
116
+ unitsCount: number
117
+ periodType: string
118
+ selectedCustomTime: string
119
+ selectedChartOptionName: string
120
+ customDateFrom: string
121
+ customDateTo: string
122
+ customTimeFrom: string
123
+ customTimeTo: string
124
+ hostId: string
125
+ selectedObjects: string
126
+ disabledPeriod?: boolean
127
+ disabledView?: boolean
128
+ }>()
129
+
130
+ const emits = defineEmits<{
131
+ (event: 'update-tools', value: UI_I_MonitorGraphPayload): void
132
+ (event: 'open-advanced-page'): void
133
+ (event: 'update-selected-row', value: number[]): void
134
+ (event: 'select-row', value: UI_I_AdvancedCounterItem[]): void
135
+ (event: 'select-metric', value: string): void
136
+ (event: 'update-chart-type', value: string): void
137
+ (event: 'update-timespan-type', value: string): void
138
+ (event: 'update-unit-count', value: number): void
139
+ (event: 'update-period-type', value: string): void
140
+ (event: 'update-custom-time', value: string): void
141
+ (event: 'delete-option'): void
142
+ (event: 'update-custom-date-from', value: string): void
143
+ (event: 'update-custom-date-to', value: string): void
144
+ (event: 'update-custom-time-from', value: string): void
145
+ (event: 'update-custom-time-to', value: string): void
146
+ (event: 'submit-options', value: UI_I_OptionsForm): void
147
+ (event: 'update:selected-timespan-type', value: string): void
148
+ }>()
149
+
150
+ const localization = computed<UI_I_Localization>(() => useLocal())
151
+
152
+ const localSelectedTimespanType = computed<string>({
153
+ get() {
154
+ return props.selectedTimespanType
155
+ },
156
+ set(newValue) {
157
+ emits('update:selected-timespan-type', newValue)
158
+ },
159
+ })
160
+
161
+ const totalCores = ref<number>(0)
162
+ let isFirstUpdate = true
163
+ watch(
164
+ () => props.cpuCoresDataData,
165
+ (newValue) => {
166
+ if (!newValue || !isFirstUpdate) return
167
+
168
+ totalCores.value = getCountCores(newValue)
169
+ isFirstUpdate = false
170
+ },
171
+ { immediate: true }
172
+ )
173
+
174
+ const exportGraph = ref<string>('')
175
+ const onExporting = (key: string): void => {
176
+ exportGraph.value = key
177
+ }
178
+
179
+ const onGetEmptyPage = (): void => emits('open-advanced-page')
180
+
181
+ const update = ref<number>(0)
182
+
183
+ const selectedRow = ref<number[]>([])
184
+ const onCheckSelectedRow = (data: number[]): void => {
185
+ selectedRow.value = data
186
+ }
187
+ </script>
188
+
189
+ <style scoped lang="scss">
190
+ #advanced-page {
191
+ overflow-x: hidden;
192
+ }
193
+ .fill-parent {
194
+ flex-direction: column;
195
+
196
+ .empty-data {
197
+ height: 100%;
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: center;
201
+ }
202
+ .empty-container {
203
+ min-height: 300px;
204
+ height: 100%;
205
+ background-color: var(--block-view-bg-color5);
206
+ display: flex;
207
+ flex-grow: 1;
208
+ flex-shrink: 1;
209
+ justify-content: center;
210
+ align-items: center;
211
+ width: 100%;
212
+ }
213
+
214
+ .routed-view-panel-layout {
215
+ width: 100%;
216
+ height: 100%;
217
+ box-sizing: border-box;
218
+ display: flex;
219
+ flex-direction: column;
220
+
221
+ .settingsViewHeader {
222
+ display: flex;
223
+ align-items: center;
224
+ box-sizing: border-box;
225
+
226
+ .settingsBlockTitle {
227
+ font-size: 22px;
228
+ font-weight: 400;
229
+ color: var(--light-white-100);
230
+ padding: 4px 0 4px 2px;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ </style>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.1.103",
4
+ "version": "1.1.104",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",