bfg-common 1.3.98 → 1.3.100

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 (36) hide show
  1. package/assets/scss/common/icons/icons-2.scss +222 -222
  2. package/components/atoms/switch/Switch.vue +107 -107
  3. package/components/atoms/table/dataGrid/DataGrid.vue +1576 -1576
  4. package/components/atoms/wizard/Wizard.vue +7 -2
  5. package/components/common/adapterManager/AdapterManager.vue +95 -0
  6. package/components/common/adapterManager/AddAdapterModal.vue +8 -10
  7. package/components/common/adapterManager/ui/table/Adapters.vue +12 -12
  8. package/components/common/adapterManager/ui/table/Table.vue +4 -18
  9. package/components/common/diagramMain/lib/models/interfaces.ts +46 -21
  10. package/components/common/diagramMain/lib/models/types.ts +6 -0
  11. package/components/common/diagramMain/port/Port.vue +8 -3
  12. package/components/common/lib/config/states.ts +13 -0
  13. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +137 -137
  14. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  15. package/components/common/monitor/overview/Overview.vue +228 -228
  16. package/components/common/pages/Tasks.vue +120 -120
  17. package/components/common/recursionTree/RecursionTree.vue +203 -203
  18. package/components/common/vm/actions/clone/Clone.vue +518 -518
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  20. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +166 -166
  21. package/components/common/wizards/network/add/Add.vue +5 -1
  22. package/composables/useAppVersion.ts +21 -21
  23. package/composables/useEnvLanguage.ts +20 -20
  24. package/composables/useLocal.ts +38 -38
  25. package/lib/utils/sendTask.ts +72 -72
  26. package/minify.js +146 -146
  27. package/package.json +1 -1
  28. package/public/spice-console/application/codec.js +257 -257
  29. package/public/spice-console/lib/rasterEngine.js +907 -907
  30. package/public/spice-console/network/spicechannel.js +369 -369
  31. package/store/main/lib/interfaces.ts +9 -9
  32. package/store/tasks/actions.ts +133 -133
  33. package/store/tasks/getters.ts +25 -25
  34. package/store/tasks/lib/models/interfaces.ts +18 -18
  35. package/store/tasks/mutations.ts +58 -58
  36. package/store/tasks/state.ts +16 -16
@@ -1,228 +1,228 @@
1
- <template>
2
- <div class="charts-view">
3
- <div v-if="!allData.length" class="content-global-loading">
4
- {{ localization.loading }}...
5
- </div>
6
- <template v-else>
7
- <template v-for="(chartData, key) in allData" :key="chartData.title">
8
- <div :class="['chart-container', `graph-${chartData.title}`]">
9
- <div v-if="chartData.loader" class="graphic-loader-block">
10
- <div class="spinner"></div>
11
- <p>{{ localization.retrievingData }}...</p>
12
- </div>
13
- <common-graph
14
- v-else-if="chartData.data"
15
- :data="chartData.data"
16
- :chart="charts[key]"
17
- :update="updateHelper"
18
- />
19
- <div v-else class="graph-empty-block">
20
- <div class="title">{{ chartData.title }}</div>
21
- <div class="body-block">
22
- {{ localization.emptyGraphText }}
23
- </div>
24
- </div>
25
- </div>
26
- </template>
27
- </template>
28
- </div>
29
- </template>
30
-
31
- <script setup lang="ts">
32
- import { format } from 'date-fns'
33
- import type {
34
- I_SeriesColumn,
35
- I_SeriesLine,
36
- I_ColumnGraph,
37
- I_LineGraph,
38
- } from '~/node_modules/bfg-nuxt-3-graph/graph/lib/models/interfaces'
39
- import {
40
- columnGraphDataFunc,
41
- graphDataFunc,
42
- } from '~/node_modules/bfg-nuxt-3-graph/graph/lib/utils/renderGraph'
43
- import type { UI_I_Localization } from '~/lib/models/interfaces'
44
- import type { UI_I_GraphDataSettingItem } from '~/components/common/monitor/lib/models/interfaces'
45
-
46
- const props = defineProps<{
47
- chartsSettings: Array<UI_I_GraphDataSettingItem | null>
48
- themeMode?: string
49
- formatDate?: string
50
- formatTime?: string
51
- graphType: string
52
- }>()
53
-
54
- const { $formattedDatetime } = useNuxtApp()
55
-
56
- const localization = computed<UI_I_Localization>(() => useLocal())
57
-
58
- const allData = ref<UI_I_GraphDataSettingItem[]>([])
59
-
60
- const charts = ref<any>([])
61
-
62
- const getCurrentChart = (chart: any): void => {
63
- charts.value = chart
64
- }
65
-
66
- const instanceOfSeriesLine = (
67
- object: I_SeriesLine | I_SeriesColumn
68
- ): object is I_SeriesLine => {
69
- return 'lines' in object
70
- }
71
-
72
- const getCurrentData = (
73
- chart: UI_I_GraphDataSettingItem,
74
- chartType: string
75
- ): I_LineGraph | I_ColumnGraph | null => {
76
- if (!chart || !chart.data) return null
77
-
78
- const themeMode = useLocalStorage('themeMode') || props.themeMode
79
- const isDarkMode = themeMode === 'dark-theme'
80
-
81
- let graphData = null
82
-
83
- if (chartType === 'column' && !instanceOfSeriesLine(chart.data)) {
84
- graphData = columnGraphDataFunc(chart, localization.value, isDarkMode)
85
- } else if (instanceOfSeriesLine(chart.data)) {
86
- graphData = graphDataFunc(
87
- chart.data,
88
- isDarkMode,
89
- localization.value,
90
- () => {},
91
- false,
92
- true,
93
- true,
94
- props.graphType,
95
- '',
96
- 700,
97
- getCurrentChart,
98
- $formattedDatetime,
99
- format,
100
- props.formatDate,
101
- props.formatTime
102
- )
103
- }
104
-
105
- return graphData
106
- }
107
-
108
- const updateHelper = ref<number>(0)
109
-
110
- const updateGraph = (charts: Array<UI_I_GraphDataSettingItem | null>): void => {
111
- allData.value = []
112
- charts.forEach((chart) => {
113
- if (chart && chart.data) {
114
- const constructedData = getCurrentData(chart, chart.chartType)
115
- if (constructedData)
116
- allData.value.push({
117
- title: chart.title,
118
- loader: chart.loader,
119
- data: constructedData,
120
- chartType: 'column',
121
- })
122
- }
123
- })
124
- updateHelper.value++
125
- }
126
-
127
- watch(
128
- () => props.chartsSettings,
129
- (newValue) => {
130
- updateGraph(newValue)
131
- },
132
- { deep: true, immediate: true }
133
- )
134
- </script>
135
-
136
- <style>
137
- :root {
138
- --loader-bg-color: #ffffff;
139
- }
140
- :root.dark-theme {
141
- --loader-bg-color: #22343c;
142
- }
143
- </style>
144
-
145
- <style scoped lang="scss">
146
- .charts-view {
147
- position: relative;
148
- display: flex;
149
- flex-direction: row;
150
- flex-wrap: wrap;
151
- justify-content: space-between;
152
- overflow: auto;
153
- height: 100%;
154
-
155
- .graphic-loader-block {
156
- background-color: var(--loader-bg-color);
157
- height: 100%;
158
- display: flex;
159
- flex-direction: column;
160
- align-items: center;
161
- justify-content: center;
162
- }
163
-
164
- .graph-empty-block {
165
- display: flex;
166
- flex-direction: column;
167
- height: 100%;
168
- background-color: var(--loader-bg-color);
169
-
170
- .title {
171
- text-align: center;
172
- font-size: 18px;
173
- margin-top: 10px;
174
- color: var(--global-font-color);
175
- }
176
-
177
- .body-block {
178
- height: 100%;
179
- display: flex;
180
- justify-content: center;
181
- text-align: center;
182
- align-items: center;
183
- color: var(--global-font-color);
184
- }
185
- }
186
-
187
- .chart-container {
188
- box-sizing: border-box;
189
- flex-grow: 1;
190
- padding: 5px;
191
- min-height: 300px;
192
- height: 100%;
193
- min-width: 300px;
194
- width: 100%;
195
- position: relative;
196
-
197
- &:first-child:last-child {
198
- height: 100%;
199
- width: 100%;
200
- }
201
-
202
- &:first-child:nth-last-child(2),
203
- &:nth-child(2):last-child {
204
- width: 50%;
205
- height: 100%;
206
- }
207
- }
208
-
209
- .content-global-loading {
210
- width: 100%;
211
- height: 100%;
212
- display: flex;
213
- align-items: center;
214
- justify-content: center;
215
- color: var(--global-font-color);
216
- }
217
- }
218
- @media (min-width: 1280px) {
219
- .charts-view .chart-container {
220
- width: 50%;
221
- }
222
- }
223
- @media (min-height: 800px) {
224
- .charts-view .chart-container {
225
- height: 50%;
226
- }
227
- }
228
- </style>
1
+ <template>
2
+ <div class="charts-view">
3
+ <div v-if="!allData.length" class="content-global-loading">
4
+ {{ localization.loading }}...
5
+ </div>
6
+ <template v-else>
7
+ <template v-for="(chartData, key) in allData" :key="chartData.title">
8
+ <div :class="['chart-container', `graph-${chartData.title}`]">
9
+ <div v-if="chartData.loader" class="graphic-loader-block">
10
+ <div class="spinner"></div>
11
+ <p>{{ localization.retrievingData }}...</p>
12
+ </div>
13
+ <common-graph
14
+ v-else-if="chartData.data"
15
+ :data="chartData.data"
16
+ :chart="charts[key]"
17
+ :update="updateHelper"
18
+ />
19
+ <div v-else class="graph-empty-block">
20
+ <div class="title">{{ chartData.title }}</div>
21
+ <div class="body-block">
22
+ {{ localization.emptyGraphText }}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </template>
27
+ </template>
28
+ </div>
29
+ </template>
30
+
31
+ <script setup lang="ts">
32
+ import { format } from 'date-fns'
33
+ import type {
34
+ I_SeriesColumn,
35
+ I_SeriesLine,
36
+ I_ColumnGraph,
37
+ I_LineGraph,
38
+ } from '~/node_modules/bfg-nuxt-3-graph/graph/lib/models/interfaces'
39
+ import {
40
+ columnGraphDataFunc,
41
+ graphDataFunc,
42
+ } from '~/node_modules/bfg-nuxt-3-graph/graph/lib/utils/renderGraph'
43
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
44
+ import type { UI_I_GraphDataSettingItem } from '~/components/common/monitor/lib/models/interfaces'
45
+
46
+ const props = defineProps<{
47
+ charts: Array<UI_I_GraphDataSettingItem | null>
48
+ themeMode?: string
49
+ formatDate?: string
50
+ formatTime?: string
51
+ graphType: string
52
+ }>()
53
+
54
+ const { $formattedDatetime } = useNuxtApp()
55
+
56
+ const localization = computed<UI_I_Localization>(() => useLocal())
57
+
58
+ const allData = ref<UI_I_GraphDataSettingItem[]>([])
59
+
60
+ const charts = ref<any>([])
61
+
62
+ const getCurrentChart = (chart: any): void => {
63
+ charts.value = chart
64
+ }
65
+
66
+ const instanceOfSeriesLine = (
67
+ object: I_SeriesLine | I_SeriesColumn
68
+ ): object is I_SeriesLine => {
69
+ return 'lines' in object
70
+ }
71
+
72
+ const getCurrentData = (
73
+ chart: UI_I_GraphDataSettingItem,
74
+ chartType: string
75
+ ): I_LineGraph | I_ColumnGraph | null => {
76
+ if (!chart || !chart.data) return null
77
+
78
+ const themeMode = useLocalStorage('themeMode') || props.themeMode
79
+ const isDarkMode = themeMode === 'dark-theme'
80
+
81
+ let graphData = null
82
+
83
+ if (chartType === 'column' && !instanceOfSeriesLine(chart.data)) {
84
+ graphData = columnGraphDataFunc(chart, localization.value, isDarkMode)
85
+ } else if (instanceOfSeriesLine(chart.data)) {
86
+ graphData = graphDataFunc(
87
+ chart.data,
88
+ isDarkMode,
89
+ localization.value,
90
+ () => {},
91
+ false,
92
+ true,
93
+ true,
94
+ props.graphType,
95
+ '',
96
+ 700,
97
+ getCurrentChart,
98
+ $formattedDatetime,
99
+ format,
100
+ props.formatDate,
101
+ props.formatTime
102
+ )
103
+ }
104
+
105
+ return graphData
106
+ }
107
+
108
+ const updateHelper = ref<number>(0)
109
+
110
+ const updateGraph = (charts: Array<UI_I_GraphDataSettingItem | null>): void => {
111
+ allData.value = []
112
+ charts.forEach((chart) => {
113
+ if (chart && chart.data) {
114
+ const constructedData = getCurrentData(chart, chart.chartType)
115
+ if (constructedData)
116
+ allData.value.push({
117
+ title: chart.title,
118
+ loader: chart.loader,
119
+ data: constructedData,
120
+ chartType: 'column',
121
+ })
122
+ }
123
+ })
124
+ updateHelper.value++
125
+ }
126
+
127
+ watch(
128
+ () => props.charts,
129
+ (newValue) => {
130
+ updateGraph(newValue)
131
+ },
132
+ { deep: true, immediate: true }
133
+ )
134
+ </script>
135
+
136
+ <style>
137
+ :root {
138
+ --loader-bg-color: #ffffff;
139
+ }
140
+ :root.dark-theme {
141
+ --loader-bg-color: #22343c;
142
+ }
143
+ </style>
144
+
145
+ <style scoped lang="scss">
146
+ .charts-view {
147
+ position: relative;
148
+ display: flex;
149
+ flex-direction: row;
150
+ flex-wrap: wrap;
151
+ justify-content: space-between;
152
+ overflow: auto;
153
+ height: 100%;
154
+
155
+ .graphic-loader-block {
156
+ background-color: var(--loader-bg-color);
157
+ height: 100%;
158
+ display: flex;
159
+ flex-direction: column;
160
+ align-items: center;
161
+ justify-content: center;
162
+ }
163
+
164
+ .graph-empty-block {
165
+ display: flex;
166
+ flex-direction: column;
167
+ height: 100%;
168
+ background-color: var(--loader-bg-color);
169
+
170
+ .title {
171
+ text-align: center;
172
+ font-size: 18px;
173
+ margin-top: 10px;
174
+ color: var(--global-font-color);
175
+ }
176
+
177
+ .body-block {
178
+ height: 100%;
179
+ display: flex;
180
+ justify-content: center;
181
+ text-align: center;
182
+ align-items: center;
183
+ color: var(--global-font-color);
184
+ }
185
+ }
186
+
187
+ .chart-container {
188
+ box-sizing: border-box;
189
+ flex-grow: 1;
190
+ padding: 5px;
191
+ min-height: 300px;
192
+ height: 100%;
193
+ min-width: 300px;
194
+ width: 100%;
195
+ position: relative;
196
+
197
+ &:first-child:last-child {
198
+ height: 100%;
199
+ width: 100%;
200
+ }
201
+
202
+ &:first-child:nth-last-child(2),
203
+ &:nth-child(2):last-child {
204
+ width: 50%;
205
+ height: 100%;
206
+ }
207
+ }
208
+
209
+ .content-global-loading {
210
+ width: 100%;
211
+ height: 100%;
212
+ display: flex;
213
+ align-items: center;
214
+ justify-content: center;
215
+ color: var(--global-font-color);
216
+ }
217
+ }
218
+ @media (min-width: 1280px) {
219
+ .charts-view .chart-container {
220
+ width: 50%;
221
+ }
222
+ }
223
+ @media (min-height: 800px) {
224
+ .charts-view .chart-container {
225
+ height: 50%;
226
+ }
227
+ }
228
+ </style>