bfg-common 1.5.181 → 1.5.183
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.
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/assets/localization/local_be.json +2 -1
- package/assets/localization/local_en.json +2 -1
- package/assets/localization/local_hy.json +2 -1
- package/assets/localization/local_kk.json +2 -1
- package/assets/localization/local_ru.json +2 -1
- package/assets/localization/local_zh.json +1 -0
- package/components/common/browse/Browse.vue +7 -1
- package/components/common/browse/BrowseNew.vue +55 -26
- package/components/common/browse/blocks/Container.vue +5 -4
- package/components/common/browse/blocks/TitleNew.vue +4 -3
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +95 -14
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +6 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +51 -3
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +14 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +1 -0
- package/components/common/vm/actions/common/select/storage/Storage.vue +8 -0
- package/components/common/vm/actions/common/select/storage/new/New.vue +10 -1
- package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +14 -6
- package/package.json +2 -2
|
@@ -211,12 +211,81 @@ const themeMode = useLocalStorage('themeMode')
|
|
|
211
211
|
margin-top: 12px;
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
|
|
214
|
+
//
|
|
215
|
+
//.light-theme {
|
|
216
|
+
// :deep(.stack-block-label .ui-main-select-toggle) {
|
|
217
|
+
// background-color: #ffffff;
|
|
218
|
+
// }
|
|
219
|
+
// :deep(.stack-block-expanded > .stack-block-label .ui-main-select-toggle) {
|
|
220
|
+
// background-color: #1b2a371f;
|
|
221
|
+
// border-color: #e9ebed3d;
|
|
222
|
+
//
|
|
223
|
+
// .ui-arrow-icon {
|
|
224
|
+
// color: #e9eaec;
|
|
225
|
+
// }
|
|
226
|
+
// }
|
|
227
|
+
// :deep(.stack-block-expanded > .stack-block-label .combobox-input) {
|
|
228
|
+
// color: #e9eaec;
|
|
229
|
+
// }
|
|
230
|
+
// :deep(.stack-block-expanded > .stack-block-label .ui-selected-text) {
|
|
231
|
+
// color: #e9eaec;
|
|
232
|
+
// }
|
|
233
|
+
//
|
|
234
|
+
// :deep(.stack-block-label .ui-main-input) {
|
|
235
|
+
// background-color: #ffffff;
|
|
236
|
+
// }
|
|
237
|
+
// :deep(.stack-block-expanded > .stack-block-label .ui-main-input) {
|
|
238
|
+
// background-color: #1b2a371f;
|
|
239
|
+
// border-color: #e9ebed3d;
|
|
240
|
+
// color: #e9eaec;
|
|
241
|
+
// }
|
|
242
|
+
//}
|
|
243
|
+
//
|
|
244
|
+
//.dark-theme {
|
|
245
|
+
// :deep(.stack-block-label .ui-main-select-toggle) {
|
|
246
|
+
// background-color: #1b2a371f;
|
|
247
|
+
// }
|
|
248
|
+
// :deep(.stack-block-expanded > .stack-block-label .ui-main-select-toggle) {
|
|
249
|
+
// background-color: #ffffff;
|
|
250
|
+
// border-color: #d3d6da;
|
|
251
|
+
//
|
|
252
|
+
// .ui-arrow-icon {
|
|
253
|
+
// color: #182531;
|
|
254
|
+
// }
|
|
255
|
+
// }
|
|
256
|
+
// :deep(.stack-block-expanded > .stack-block-label .combobox-input) {
|
|
257
|
+
// color: #182531;
|
|
258
|
+
// }
|
|
259
|
+
// :deep(.stack-block-expanded > .stack-block-label .ui-selected-text) {
|
|
260
|
+
// color: #182531;
|
|
261
|
+
// }
|
|
262
|
+
//
|
|
263
|
+
// :deep(.stack-block-label .ui-main-input) {
|
|
264
|
+
// background-color: #1b2a371f;
|
|
265
|
+
// }
|
|
266
|
+
// :deep(.stack-block-expanded > .stack-block-label .ui-main-input) {
|
|
267
|
+
// background-color: #ffffff;
|
|
268
|
+
// border-color: #d3d6da;
|
|
269
|
+
// color: #182531;
|
|
270
|
+
// }
|
|
271
|
+
// :deep(.ui-select-toggle-button:disabled) {
|
|
272
|
+
// background-color: linear-gradient(
|
|
273
|
+
// 0deg,
|
|
274
|
+
// rgba(189, 195, 199, 0.08) 0%,
|
|
275
|
+
// rgba(189, 195, 199, 0.08) 100%
|
|
276
|
+
// ),
|
|
277
|
+
// rgba(27, 42, 55, 0.12);
|
|
278
|
+
// border-color: #D3D6DA14;
|
|
279
|
+
// color: #BDC3C770;
|
|
280
|
+
// }
|
|
281
|
+
//}
|
|
282
|
+
</style>
|
|
283
|
+
<style lang="scss">
|
|
215
284
|
.light-theme {
|
|
216
|
-
|
|
285
|
+
.stack-block-label .ui-main-select-toggle {
|
|
217
286
|
background-color: #ffffff;
|
|
218
287
|
}
|
|
219
|
-
|
|
288
|
+
.stack-block-expanded > .stack-block-label .ui-main-select-toggle {
|
|
220
289
|
background-color: #1b2a371f;
|
|
221
290
|
border-color: #e9ebed3d;
|
|
222
291
|
|
|
@@ -224,17 +293,17 @@ const themeMode = useLocalStorage('themeMode')
|
|
|
224
293
|
color: #e9eaec;
|
|
225
294
|
}
|
|
226
295
|
}
|
|
227
|
-
|
|
296
|
+
.stack-block-expanded > .stack-block-label .combobox-input {
|
|
228
297
|
color: #e9eaec;
|
|
229
298
|
}
|
|
230
|
-
|
|
299
|
+
.stack-block-expanded > .stack-block-label .ui-selected-text {
|
|
231
300
|
color: #e9eaec;
|
|
232
301
|
}
|
|
233
302
|
|
|
234
|
-
|
|
303
|
+
.stack-block-label .ui-main-input {
|
|
235
304
|
background-color: #ffffff;
|
|
236
305
|
}
|
|
237
|
-
|
|
306
|
+
.stack-block-expanded > .stack-block-label .ui-main-input {
|
|
238
307
|
background-color: #1b2a371f;
|
|
239
308
|
border-color: #e9ebed3d;
|
|
240
309
|
color: #e9eaec;
|
|
@@ -242,10 +311,17 @@ const themeMode = useLocalStorage('themeMode')
|
|
|
242
311
|
}
|
|
243
312
|
|
|
244
313
|
.dark-theme {
|
|
245
|
-
|
|
246
|
-
|
|
314
|
+
.stack-block-label {
|
|
315
|
+
.ui-main-select-toggle {
|
|
316
|
+
background-color: #1b2a371f;
|
|
317
|
+
}
|
|
318
|
+
.error {
|
|
319
|
+
.ui-main-select-toggle {
|
|
320
|
+
background-color: #d1312614;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
247
323
|
}
|
|
248
|
-
|
|
324
|
+
.stack-block-expanded > .stack-block-label .ui-main-select-toggle {
|
|
249
325
|
background-color: #ffffff;
|
|
250
326
|
border-color: #d3d6da;
|
|
251
327
|
|
|
@@ -253,20 +329,25 @@ const themeMode = useLocalStorage('themeMode')
|
|
|
253
329
|
color: #182531;
|
|
254
330
|
}
|
|
255
331
|
}
|
|
256
|
-
|
|
332
|
+
.stack-block-expanded > .stack-block-label .combobox-input {
|
|
257
333
|
color: #182531;
|
|
258
334
|
}
|
|
259
|
-
|
|
335
|
+
.stack-block-expanded > .stack-block-label .ui-selected-text {
|
|
260
336
|
color: #182531;
|
|
261
337
|
}
|
|
262
338
|
|
|
263
|
-
|
|
339
|
+
.stack-block-label .ui-main-input {
|
|
264
340
|
background-color: #1b2a371f;
|
|
265
341
|
}
|
|
266
|
-
|
|
342
|
+
.stack-block-expanded > .stack-block-label .ui-main-input {
|
|
267
343
|
background-color: #ffffff;
|
|
268
344
|
border-color: #d3d6da;
|
|
269
345
|
color: #182531;
|
|
270
346
|
}
|
|
347
|
+
.ui-select-toggle-button:disabled {
|
|
348
|
+
background-color: #aab1b614;
|
|
349
|
+
border-color: #d3d6da14;
|
|
350
|
+
color: #bdc3c770;
|
|
351
|
+
}
|
|
271
352
|
}
|
|
272
353
|
</style>
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue
CHANGED
|
@@ -376,12 +376,12 @@ const onAddDevice = (data: number): void => {
|
|
|
376
376
|
}
|
|
377
377
|
:root.dark-theme {
|
|
378
378
|
--vm-wizard-block-view-bg-color: transparent;
|
|
379
|
-
--add-device-dropdown-bg-color: #
|
|
380
|
-
--add-device-dropdown-bg-color-hover:
|
|
381
|
-
--add-device-dropdown-border-color: #
|
|
382
|
-
--add-device-dropdown-border-color-hover: #
|
|
383
|
-
--add-device-dropdown-color: #
|
|
384
|
-
--add-device-dropdown-color-hover: #
|
|
379
|
+
--add-device-dropdown-bg-color: #1b2a373d;
|
|
380
|
+
--add-device-dropdown-bg-color-hover: #2585b614;
|
|
381
|
+
--add-device-dropdown-border-color: #e9ebed1f;
|
|
382
|
+
--add-device-dropdown-border-color-hover: #2ba2de;
|
|
383
|
+
--add-device-dropdown-color: #e9eaec;
|
|
384
|
+
--add-device-dropdown-color-hover: #2ba2de;
|
|
385
385
|
--add-device-dropdown-item-title-color: #e9eaec;
|
|
386
386
|
}
|
|
387
387
|
</style>
|
|
@@ -4,13 +4,21 @@
|
|
|
4
4
|
show
|
|
5
5
|
:title="localization.common.selectStorage"
|
|
6
6
|
:texts="texts"
|
|
7
|
+
:is-disabled-accept="isDisabledAccept"
|
|
7
8
|
test-id="storage-modal-new"
|
|
8
9
|
size="md"
|
|
10
|
+
width="720px"
|
|
9
11
|
@hide="emits('hide')"
|
|
10
12
|
@submit="emits('submit')"
|
|
11
13
|
>
|
|
12
14
|
<template #content>
|
|
13
|
-
<div
|
|
15
|
+
<div
|
|
16
|
+
ref="selectStorageModalContainer"
|
|
17
|
+
:class="[
|
|
18
|
+
'select-storage-modal-container',
|
|
19
|
+
{ 'has-scroll': isHasScroll },
|
|
20
|
+
]"
|
|
21
|
+
>
|
|
14
22
|
<span class="description-text">{{
|
|
15
23
|
localization.common
|
|
16
24
|
.followingDatastoresAccessibleDestinationResourceThatSelected
|
|
@@ -22,7 +30,12 @@
|
|
|
22
30
|
hide-compatibility
|
|
23
31
|
hide-alert
|
|
24
32
|
@submit="emits('change-storage', $event)"
|
|
33
|
+
@is-selected-row="isDisabledAccept = !$event"
|
|
25
34
|
/>
|
|
35
|
+
<span class="count-text"
|
|
36
|
+
>{{ props.datastore.length }}
|
|
37
|
+
{{ localization.common.datastores }}</span
|
|
38
|
+
>
|
|
26
39
|
</div>
|
|
27
40
|
</template>
|
|
28
41
|
<template #footerLeftContent>
|
|
@@ -32,6 +45,7 @@
|
|
|
32
45
|
</template>
|
|
33
46
|
|
|
34
47
|
<script setup lang="ts">
|
|
48
|
+
import { useElementSize } from '@vueuse/core'
|
|
35
49
|
import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
|
|
36
50
|
import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
|
|
37
51
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
@@ -52,18 +66,43 @@ const emits = defineEmits<{
|
|
|
52
66
|
|
|
53
67
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
54
68
|
|
|
69
|
+
const isDisabledAccept = ref<boolean>(false)
|
|
70
|
+
|
|
55
71
|
const texts = ref<UI_I_ModalTexts>({
|
|
72
|
+
button1: localization.value.common.cancel,
|
|
56
73
|
button2: localization.value.common.select,
|
|
57
74
|
})
|
|
75
|
+
|
|
76
|
+
const selectStorageModalContainer = ref<any>(null)
|
|
77
|
+
const { width, height } = useElementSize(selectStorageModalContainer)
|
|
78
|
+
const isHasScroll = ref<boolean>(false)
|
|
79
|
+
const isScrollVisible = (element: HTMLElement): boolean =>
|
|
80
|
+
element.scrollHeight > element.clientHeight
|
|
81
|
+
|
|
82
|
+
watch([width, height], () => {
|
|
83
|
+
if (!selectStorageModalContainer.value) return
|
|
84
|
+
|
|
85
|
+
isHasScroll.value = isScrollVisible(selectStorageModalContainer.value)
|
|
86
|
+
})
|
|
58
87
|
</script>
|
|
59
88
|
|
|
60
89
|
<style scoped lang="scss">
|
|
61
90
|
.select-storage-modal-container {
|
|
91
|
+
height: calc(100vh - 300px);
|
|
92
|
+
overflow-y: auto;
|
|
62
93
|
display: flex;
|
|
63
94
|
flex-direction: column;
|
|
64
|
-
grid-gap: 12px;
|
|
95
|
+
//grid-gap: 12px;
|
|
65
96
|
padding-left: 32px;
|
|
66
|
-
padding-
|
|
97
|
+
padding-top: 8px;
|
|
98
|
+
padding-bottom: 8px;
|
|
99
|
+
|
|
100
|
+
&:not(.has-scroll) {
|
|
101
|
+
padding-right: 32px;
|
|
102
|
+
}
|
|
103
|
+
&.has-scroll {
|
|
104
|
+
padding-right: 18px;
|
|
105
|
+
}
|
|
67
106
|
|
|
68
107
|
.description-text {
|
|
69
108
|
font-size: 12px;
|
|
@@ -71,5 +110,14 @@ const texts = ref<UI_I_ModalTexts>({
|
|
|
71
110
|
line-height: 14.52px;
|
|
72
111
|
color: #9da6ad;
|
|
73
112
|
}
|
|
113
|
+
.count-text {
|
|
114
|
+
text-align: right;
|
|
115
|
+
font-size: 12px;
|
|
116
|
+
font-weight: 400;
|
|
117
|
+
color: #9da6ad;
|
|
118
|
+
margin-bottom: 8px;
|
|
119
|
+
margin-top: 8px;
|
|
120
|
+
text-transform: lowercase;
|
|
121
|
+
}
|
|
74
122
|
}
|
|
75
123
|
</style>
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
@select="emits('select', $event)"
|
|
26
26
|
/>
|
|
27
27
|
</div>
|
|
28
|
+
<p class="count-text">
|
|
29
|
+
{{ props.networksTable.length }} {{ localization.common.networks }}
|
|
30
|
+
</p>
|
|
28
31
|
</template>
|
|
29
32
|
<template #footerLeftContent>
|
|
30
33
|
<span></span>
|
|
@@ -60,4 +63,14 @@ const modalTexts = ref<UI_I_ModalTexts>({
|
|
|
60
63
|
})
|
|
61
64
|
</script>
|
|
62
65
|
|
|
63
|
-
<style scoped lang="scss"
|
|
66
|
+
<style scoped lang="scss">
|
|
67
|
+
.count-text {
|
|
68
|
+
text-align: right;
|
|
69
|
+
font-size: 12px;
|
|
70
|
+
font-weight: 400;
|
|
71
|
+
color: #9da6ad;
|
|
72
|
+
margin-bottom: 8px;
|
|
73
|
+
margin-top: 8px;
|
|
74
|
+
text-transform: lowercase;
|
|
75
|
+
}
|
|
76
|
+
</style>
|
|
@@ -42,6 +42,7 @@ const props = defineProps<{
|
|
|
42
42
|
}>()
|
|
43
43
|
const emits = defineEmits<{
|
|
44
44
|
(event: 'submit', value: UI_I_DatastoreTableItem): void
|
|
45
|
+
(event: 'is-selected-row', value: boolean): void
|
|
45
46
|
}>()
|
|
46
47
|
|
|
47
48
|
const { $store }: any = useNuxtApp()
|
|
@@ -97,6 +98,13 @@ watch(
|
|
|
97
98
|
},
|
|
98
99
|
{ immediate: true }
|
|
99
100
|
)
|
|
101
|
+
watch(
|
|
102
|
+
selectedRow,
|
|
103
|
+
(newValue) => {
|
|
104
|
+
emits('is-selected-row', typeof newValue === 'number')
|
|
105
|
+
},
|
|
106
|
+
{ immediate: true }
|
|
107
|
+
)
|
|
100
108
|
|
|
101
109
|
watch(
|
|
102
110
|
() => props.storageSubmit,
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
:options="tableOptions"
|
|
18
18
|
:loading="loading"
|
|
19
19
|
:default-layout="false"
|
|
20
|
+
:texts="tableTexts"
|
|
20
21
|
test-id="select-storage-data-table"
|
|
21
22
|
server-off
|
|
22
23
|
size="sm"
|
|
@@ -62,7 +63,10 @@
|
|
|
62
63
|
</template>
|
|
63
64
|
|
|
64
65
|
<script setup lang="ts">
|
|
65
|
-
import type {
|
|
66
|
+
import type {
|
|
67
|
+
UI_I_DataTable,
|
|
68
|
+
UI_I_TableTexts,
|
|
69
|
+
} from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
|
|
66
70
|
import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
|
|
67
71
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
68
72
|
import {
|
|
@@ -70,6 +74,7 @@ import {
|
|
|
70
74
|
tableDataFunc,
|
|
71
75
|
tableOptions,
|
|
72
76
|
} from '~/components/common/vm/actions/common/select/storage/new/lib/config/table'
|
|
77
|
+
import { tableTextsFunc } from '~/lib/config/uiTable'
|
|
73
78
|
|
|
74
79
|
const selectedRow = defineModel<number | null>('selectedRow')
|
|
75
80
|
|
|
@@ -87,6 +92,10 @@ const emits = defineEmits<{
|
|
|
87
92
|
|
|
88
93
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
89
94
|
|
|
95
|
+
const tableTexts = computed<UI_I_TableTexts>(() =>
|
|
96
|
+
tableTextsFunc(localization.value)
|
|
97
|
+
)
|
|
98
|
+
|
|
90
99
|
const storageCount = computed<string>(() =>
|
|
91
100
|
localization.value.vmWizard.storageCount.replace(
|
|
92
101
|
'{0}',
|
|
@@ -238,8 +238,16 @@ export const tableBodyFunc = (
|
|
|
238
238
|
text: localization.common.supported,
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
thinProvisioningData = getStatus(
|
|
242
|
-
|
|
241
|
+
thinProvisioningData = getStatus(
|
|
242
|
+
item.thin_provisioning,
|
|
243
|
+
localization.common.yes,
|
|
244
|
+
localization.common.no
|
|
245
|
+
)
|
|
246
|
+
storage_io_control = getStatus(
|
|
247
|
+
item.storage_io_control,
|
|
248
|
+
localization.common.yes,
|
|
249
|
+
localization.common.no
|
|
250
|
+
)
|
|
243
251
|
|
|
244
252
|
result.push({
|
|
245
253
|
row: key,
|
|
@@ -257,7 +265,7 @@ export const tableBodyFunc = (
|
|
|
257
265
|
key: 'state',
|
|
258
266
|
col: 1,
|
|
259
267
|
text: stateData.text,
|
|
260
|
-
data: stateData
|
|
268
|
+
data: stateData,
|
|
261
269
|
},
|
|
262
270
|
{ col: 2, text: $binary.round(item.capacity.capacity_mb) },
|
|
263
271
|
{
|
|
@@ -282,7 +290,7 @@ export const tableBodyFunc = (
|
|
|
282
290
|
text: item.thin_provisioning
|
|
283
291
|
? localization.common.yes
|
|
284
292
|
: localization.common.no,
|
|
285
|
-
data: thinProvisioningData
|
|
293
|
+
data: thinProvisioningData,
|
|
286
294
|
},
|
|
287
295
|
{
|
|
288
296
|
col: 8,
|
|
@@ -292,7 +300,7 @@ export const tableBodyFunc = (
|
|
|
292
300
|
key: 'state',
|
|
293
301
|
col: 9,
|
|
294
302
|
text: item.hardware_acceleration,
|
|
295
|
-
data: hardwareAccelerationData
|
|
303
|
+
data: hardwareAccelerationData,
|
|
296
304
|
},
|
|
297
305
|
{
|
|
298
306
|
col: 10,
|
|
@@ -306,7 +314,7 @@ export const tableBodyFunc = (
|
|
|
306
314
|
key: 'state',
|
|
307
315
|
col: 12,
|
|
308
316
|
text: item.storage_io_control,
|
|
309
|
-
data: storage_io_control
|
|
317
|
+
data: storage_io_control,
|
|
310
318
|
},
|
|
311
319
|
],
|
|
312
320
|
})
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bfg-common",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.183",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "nuxt build",
|
|
7
7
|
"dev": "nuxt dev --port=3002",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@nuxtjs/eslint-config-typescript": "^12.0.0",
|
|
35
35
|
"@vueuse/components": "^10.1.2",
|
|
36
36
|
"date-fns": "^2.29.3",
|
|
37
|
-
"bfg-nuxt-3-graph": "1.0.
|
|
37
|
+
"bfg-nuxt-3-graph": "1.0.25",
|
|
38
38
|
"bfg-uikit": "1.0.417",
|
|
39
39
|
"html2canvas": "^1.4.1",
|
|
40
40
|
"prettier-eslint": "^15.0.1"
|