bfg-common 1.3.431 → 1.3.433
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/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 +2 -1
- package/components/common/recursionTree/lib/models/interfaces.ts +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +6 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +6 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +2 -2
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +2 -2
- package/components/common/wizards/datastoreNew/add/lib/models/types.ts +1 -1
- package/components/common/wizards/datastoreNew/add/sharedStorm/SharedStorm.vue +3 -3
- package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/DeviceSelection.vue +25 -58
- package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/table/Table.vue +12 -1
- package/package.json +1 -1
|
@@ -2380,5 +2380,6 @@
|
|
|
2380
2380
|
"passwordIsRequired": "Патрабуецца пароль",
|
|
2381
2381
|
"source": "Крыніца",
|
|
2382
2382
|
"diskIsRequired": "Патрабуецца дыск",
|
|
2383
|
-
"datastoreIsRequired": "Патрабуецца сховішча даных"
|
|
2383
|
+
"datastoreIsRequired": "Патрабуецца сховішча даных",
|
|
2384
|
+
"noBackupAvailable": "Няма даступнай рэзервовай копіі"
|
|
2384
2385
|
}
|
|
@@ -2384,5 +2384,6 @@
|
|
|
2384
2384
|
"passwordIsRequired": "Password is required",
|
|
2385
2385
|
"source": "Source",
|
|
2386
2386
|
"diskIsRequired": "Disk is required",
|
|
2387
|
-
"datastoreIsRequired": "Datastore is required"
|
|
2387
|
+
"datastoreIsRequired": "Datastore is required",
|
|
2388
|
+
"noBackupAvailable": "No backup available"
|
|
2388
2389
|
}
|
|
@@ -2384,5 +2384,6 @@
|
|
|
2384
2384
|
"passwordIsRequired": "Գաղտնաբառը պարտադիր է",
|
|
2385
2385
|
"source": "Աղբյուր",
|
|
2386
2386
|
"diskIsRequired": "Պահանջվում է սկավառակ",
|
|
2387
|
-
"datastoreIsRequired": "Պահանջվում է տվյալների պահեստ"
|
|
2387
|
+
"datastoreIsRequired": "Պահանջվում է տվյալների պահեստ",
|
|
2388
|
+
"noBackupAvailable": "Պահուստավորում չկա"
|
|
2388
2389
|
}
|
|
@@ -2383,5 +2383,6 @@
|
|
|
2383
2383
|
"passwordIsRequired": "Құпия сөз қажет",
|
|
2384
2384
|
"source": "Дереккөз",
|
|
2385
2385
|
"diskIsRequired": "Диск қажет",
|
|
2386
|
-
"datastoreIsRequired": "Деректер қоймасы қажет"
|
|
2386
|
+
"datastoreIsRequired": "Деректер қоймасы қажет",
|
|
2387
|
+
"noBackupAvailable": "Сақтық көшірме жоқ"
|
|
2387
2388
|
}
|
|
@@ -2389,5 +2389,6 @@
|
|
|
2389
2389
|
"passwordIsRequired": "Требуется пароль",
|
|
2390
2390
|
"source": "Источник",
|
|
2391
2391
|
"diskIsRequired": "Требуется диск",
|
|
2392
|
-
"datastoreIsRequired": "Требуется хранилище данных"
|
|
2392
|
+
"datastoreIsRequired": "Требуется хранилище данных",
|
|
2393
|
+
"noBackupAvailable": "Резервная копия недоступна"
|
|
2393
2394
|
}
|
|
@@ -4,7 +4,7 @@ export interface UI_I_TreeNodeShort<T = string> {
|
|
|
4
4
|
id: string | number
|
|
5
5
|
type: T
|
|
6
6
|
}
|
|
7
|
-
export interface UI_I_TreeNode<N = UI_I_TreeNodeDuplicate, T = string>
|
|
7
|
+
export interface UI_I_TreeNode<N = UI_I_TreeNodeDuplicate, T = string, D = any>
|
|
8
8
|
extends UI_I_TreeNodeShort<T> {
|
|
9
9
|
state: string | number // TODO только number
|
|
10
10
|
name: string
|
|
@@ -19,4 +19,5 @@ export interface UI_I_TreeNode<N = UI_I_TreeNodeDuplicate, T = string>
|
|
|
19
19
|
modified?: number
|
|
20
20
|
testId?: string
|
|
21
21
|
kind?: number
|
|
22
|
+
data?: D
|
|
22
23
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="hardware-cpu">
|
|
3
|
-
<atoms-stack-block :has-children="true">
|
|
3
|
+
<atoms-stack-block :has-children="true" test-id="cpu-stack-block">
|
|
4
4
|
<template #stackBlockKey>
|
|
5
|
-
<div
|
|
5
|
+
<div
|
|
6
|
+
id="vm-wizard-toggle-block-cpu"
|
|
7
|
+
data-id="vm-wizard-toggle-block-cpu"
|
|
8
|
+
class="flex-align-center"
|
|
9
|
+
>
|
|
6
10
|
<span>{{ localization.cpu }}</span>
|
|
7
11
|
<atoms-the-icon
|
|
8
12
|
v-show="cpuInvalid"
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="hardware-memory">
|
|
3
|
-
<atoms-stack-block :has-children="true">
|
|
3
|
+
<atoms-stack-block :has-children="true" test-id="memory-stack-block">
|
|
4
4
|
<template #stackBlockKey>
|
|
5
|
-
<div
|
|
5
|
+
<div
|
|
6
|
+
id="vm-wizard-toggle-block-memory"
|
|
7
|
+
data-id="vm-wizard-toggle-block-memory"
|
|
8
|
+
class="flex-align-center"
|
|
9
|
+
>
|
|
6
10
|
<span>{{ localization.memory }}</span>
|
|
7
11
|
<atoms-the-icon
|
|
8
12
|
v-show="memoryInvalid"
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="general-options">
|
|
3
|
-
<atoms-stack-block
|
|
3
|
+
<atoms-stack-block
|
|
4
|
+
:has-children="true"
|
|
5
|
+
test-id="general-options-stack-block"
|
|
6
|
+
@toggle="blockIsOpen = $event"
|
|
7
|
+
>
|
|
4
8
|
<template #stackBlockKey>
|
|
5
9
|
<div
|
|
6
10
|
id="vm-wizard-toggle-block-general-options"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="hardware-
|
|
3
|
-
<atoms-stack-block :has-children="true">
|
|
2
|
+
<div class="hardware-remote-console">
|
|
3
|
+
<atoms-stack-block :has-children="true" test-id="remote-console-stack-block">
|
|
4
4
|
<template #stackBlockKey>
|
|
5
5
|
<div
|
|
6
6
|
id="vm-wizard-toggle-block-remote-console"
|
|
@@ -6,7 +6,7 @@ export type UI_T_KerberosAuthentication =
|
|
|
6
6
|
| 'use-only-krb5'
|
|
7
7
|
| 'use-integrity'
|
|
8
8
|
|
|
9
|
-
export type UI_T_WizardDatastoreMode = 'procurator' | 'sphere'
|
|
9
|
+
// export type UI_T_WizardDatastoreMode = 'procurator' | 'sphere'
|
|
10
10
|
|
|
11
11
|
// export interface UI_I_DatastoreValidityName {
|
|
12
12
|
// valid: boolean
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
v-show="props.stepId === 2"
|
|
5
5
|
v-model="model"
|
|
6
6
|
v-model:lun-disk="selectedLunDisk"
|
|
7
|
+
:step-id="props.stepId"
|
|
7
8
|
:device-selection-submit="0"
|
|
8
|
-
:step-position="1"
|
|
9
9
|
:datastore-type="props.datastoreType"
|
|
10
|
-
:
|
|
10
|
+
:project="props.project"
|
|
11
11
|
:datacenter-hosts="props.datacenterHosts"
|
|
12
12
|
:is-main-filter="props.isMainFilter"
|
|
13
13
|
:host-id="props.hostId"
|
|
@@ -63,7 +63,7 @@ const selectedLunDisk = ref<UI_I_CreateStorageLunDiskItem[]>([])
|
|
|
63
63
|
|
|
64
64
|
const lunDiskTotalCapacity = computed<number>(() => {
|
|
65
65
|
console.log(model.value, 'model.value')
|
|
66
|
-
|
|
66
|
+
console.log(selectedLunDisk.value, 'selectedLunDisk.value')
|
|
67
67
|
|
|
68
68
|
if (!selectedLunDisk.value.length) return 0
|
|
69
69
|
|
package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/DeviceSelection.vue
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
/>
|
|
47
47
|
|
|
48
48
|
<div
|
|
49
|
-
v-if="props.
|
|
49
|
+
v-if="props.project === 'sphere' && !props.hostId"
|
|
50
50
|
class="clr-form-control clr-row"
|
|
51
51
|
>
|
|
52
52
|
<label class="clr-control-label clr-col-12 clr-col-md-2">{{
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
</template>
|
|
97
97
|
|
|
98
98
|
<script lang="ts" setup>
|
|
99
|
+
import { UI_T_Project } from '~/lib/models/types'
|
|
99
100
|
import { UI_I_ValidationTouchResult } from '~/lib/models/plugins/validation/interfaces'
|
|
100
101
|
// import { UI_I_SchemaTablePayload } from '~/lib/models/store/interfaces'
|
|
101
102
|
import { UI_I_Localization } from '~/lib/models/interfaces'
|
|
@@ -112,16 +113,14 @@ import {
|
|
|
112
113
|
UI_I_SelectHostOptions,
|
|
113
114
|
} from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
|
|
114
115
|
// import { Ui_T_HostSelectedType } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types'
|
|
115
|
-
import {
|
|
116
|
-
UI_T_DatastoreType,
|
|
117
|
-
UI_T_WizardDatastoreMode,
|
|
118
|
-
} from '~/components/common/wizards/datastore/add/lib/models/types'
|
|
116
|
+
import { UI_T_DatastoreType } from '~/components/common/wizards/datastoreNew/add/lib/models/types'
|
|
119
117
|
import { defaultFormFunc } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm'
|
|
120
118
|
import { hostsOptionsFunc } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions'
|
|
121
119
|
import { checkValidityName } from '~/components/common/wizards/datastore/add/lib/utils'
|
|
122
120
|
|
|
123
121
|
const props = defineProps<{
|
|
124
|
-
|
|
122
|
+
project: UI_T_Project
|
|
123
|
+
stepId: number
|
|
125
124
|
deviceSelectionSubmit: number
|
|
126
125
|
lunDisk: UI_I_CreateStorageLunDiskItem[]
|
|
127
126
|
stepPosition: number
|
|
@@ -187,20 +186,6 @@ const sort = ref<string | null>(null)
|
|
|
187
186
|
|
|
188
187
|
const selectedLunDisk = ref<number[]>([])
|
|
189
188
|
|
|
190
|
-
watch(
|
|
191
|
-
selectedLunDisk,
|
|
192
|
-
(newValue: number[] | null) => {
|
|
193
|
-
if (newValue === null || !dataTable.value) return null
|
|
194
|
-
|
|
195
|
-
const lunDisk = dataTable.value.items.filter((_: any, key: number) =>
|
|
196
|
-
newValue.includes(key)
|
|
197
|
-
)
|
|
198
|
-
|
|
199
|
-
emits('update:lun-disk', lunDisk)
|
|
200
|
-
},
|
|
201
|
-
{ deep: true }
|
|
202
|
-
)
|
|
203
|
-
|
|
204
189
|
const updatePagination = (event: UI_I_Pagination): void => {
|
|
205
190
|
pagination.value = event
|
|
206
191
|
}
|
|
@@ -215,7 +200,7 @@ const loading = computed<boolean>(() =>
|
|
|
215
200
|
const dataTable = computed<API_UI_I_DataTable<
|
|
216
201
|
UI_I_CreateStorageLunDiskItem[]
|
|
217
202
|
> | null>(() => {
|
|
218
|
-
// if (props.
|
|
203
|
+
// if (props.project === 'procurator')
|
|
219
204
|
return $store.getters['storage/getNewDatastoreHosts']
|
|
220
205
|
|
|
221
206
|
// if (props.datastoreType === 'local') return []
|
|
@@ -263,7 +248,7 @@ const validatePropertiesForSphere = (): boolean => {
|
|
|
263
248
|
}
|
|
264
249
|
|
|
265
250
|
if (props.datastoreType === 'shared-storm') {
|
|
266
|
-
return !selectedHost.value || !
|
|
251
|
+
return !selectedHost.value || !model.value.lunDisk.length
|
|
267
252
|
}
|
|
268
253
|
|
|
269
254
|
return false
|
|
@@ -284,17 +269,17 @@ const validationTextForSphere = (): string => {
|
|
|
284
269
|
|
|
285
270
|
const collectDataForReview = (
|
|
286
271
|
name: string,
|
|
287
|
-
mode:
|
|
272
|
+
mode: UI_T_Project
|
|
288
273
|
): UI_I_DeviceSelectionSendData => {
|
|
289
274
|
const data: UI_I_DeviceSelectionSendData = {
|
|
290
275
|
name,
|
|
291
276
|
}
|
|
292
277
|
|
|
293
|
-
if (mode === 'procurator') {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
278
|
+
// if (mode === 'procurator') {
|
|
279
|
+
// data.lunDisk = props.lunDisk.map((lun) => {
|
|
280
|
+
// return { name: lun.name, capacity: lun.capacity_mb }
|
|
281
|
+
// })
|
|
282
|
+
// }
|
|
298
283
|
|
|
299
284
|
if (mode === 'sphere') {
|
|
300
285
|
if (props.datastoreType === 'local') {
|
|
@@ -314,16 +299,16 @@ const collectDataForReview = (
|
|
|
314
299
|
|
|
315
300
|
const submit = async (): Promise<void> => {
|
|
316
301
|
const name = form.value.name.value
|
|
317
|
-
const {
|
|
302
|
+
const { project } = props
|
|
318
303
|
|
|
319
304
|
const valid = validation.touch()
|
|
320
305
|
const isShowAlertDanger =
|
|
321
|
-
|
|
322
|
-
? !
|
|
306
|
+
project === 'procurator'
|
|
307
|
+
? !model.value.lunDisk.length
|
|
323
308
|
: validatePropertiesForSphere()
|
|
324
309
|
|
|
325
310
|
if (!valid.isValid || isShowAlertDanger) {
|
|
326
|
-
const isModeSphere =
|
|
311
|
+
const isModeSphere = project === 'sphere' && props.datastoreType === 'local'
|
|
327
312
|
|
|
328
313
|
const errorText =
|
|
329
314
|
localization.value[
|
|
@@ -337,7 +322,10 @@ const submit = async (): Promise<void> => {
|
|
|
337
322
|
if (!isShowAlertDanger) {
|
|
338
323
|
emits('loading', true)
|
|
339
324
|
|
|
340
|
-
const { valid: validName, msg } = await checkValidityName(
|
|
325
|
+
const { valid: validName, msg } = await checkValidityName(
|
|
326
|
+
name,
|
|
327
|
+
props.project
|
|
328
|
+
)
|
|
341
329
|
|
|
342
330
|
emits('loading', false)
|
|
343
331
|
|
|
@@ -349,7 +337,7 @@ const submit = async (): Promise<void> => {
|
|
|
349
337
|
|
|
350
338
|
resetValidation()
|
|
351
339
|
|
|
352
|
-
const eventData = collectDataForReview(name,
|
|
340
|
+
const eventData = collectDataForReview(name, project)
|
|
353
341
|
emits('submit', eventData)
|
|
354
342
|
}
|
|
355
343
|
|
|
@@ -382,30 +370,9 @@ const initLunDisksDataTable = async (): Promise<void> => {
|
|
|
382
370
|
} as UI_I_DataTableQuery)
|
|
383
371
|
}
|
|
384
372
|
|
|
385
|
-
|
|
386
|
-
()
|
|
387
|
-
|
|
388
|
-
const { stepPosition, datastoreType, mode } = props
|
|
389
|
-
// const hostsDataForProcurator =
|
|
390
|
-
// $store.getters['storage/getNewDatastoreHosts']
|
|
391
|
-
|
|
392
|
-
// if (
|
|
393
|
-
// mode === 'sphere' &&
|
|
394
|
-
// stepPosition === 1 &&
|
|
395
|
-
// datastoreType === 'local' &&
|
|
396
|
-
// !hostData.value
|
|
397
|
-
// ) {
|
|
398
|
-
// initHostData()
|
|
399
|
-
// }
|
|
400
|
-
if (
|
|
401
|
-
mode === 'procurator' &&
|
|
402
|
-
stepPosition === 1 &&
|
|
403
|
-
datastoreType === 'shared-storm'
|
|
404
|
-
) {
|
|
405
|
-
initLunDisksDataTable()
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
)
|
|
373
|
+
if (props.project === 'procurator' && props.stepId === 2) {
|
|
374
|
+
initLunDisksDataTable()
|
|
375
|
+
}
|
|
409
376
|
</script>
|
|
410
377
|
|
|
411
378
|
<style lang="scss" scoped>
|
package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/table/Table.vue
CHANGED
|
@@ -50,7 +50,7 @@ const props = defineProps<{
|
|
|
50
50
|
pagination: UI_I_Pagination
|
|
51
51
|
isMainFilter?: boolean
|
|
52
52
|
}>()
|
|
53
|
-
const
|
|
53
|
+
const modelLunDisk = defineModel<UI_I_CreateStorageLunDiskItem[]>()
|
|
54
54
|
const emits = defineEmits<{
|
|
55
55
|
(event: 'pagination', value: UI_I_Pagination): void
|
|
56
56
|
(event: 'sort', value: string): void
|
|
@@ -107,6 +107,17 @@ const bodyItems = computed<UI_I_BodyItem[][]>(() => {
|
|
|
107
107
|
|
|
108
108
|
return result
|
|
109
109
|
})
|
|
110
|
+
|
|
111
|
+
const selectedLunDiskLocal = ref<number[]>()
|
|
112
|
+
watch(
|
|
113
|
+
selectedLunDiskLocal,
|
|
114
|
+
(newValue: number[]) => {
|
|
115
|
+
modelLunDisk.value = props.dataTable.filter((_: any, key: number) =>
|
|
116
|
+
newValue.includes(key)
|
|
117
|
+
)
|
|
118
|
+
},
|
|
119
|
+
{ deep: true, immediate: true }
|
|
120
|
+
)
|
|
110
121
|
</script>
|
|
111
122
|
|
|
112
123
|
<style lang="scss" scoped>
|