bfg-common 1.5.750 → 1.5.752
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 +13 -17
- package/assets/localization/local_en.json +13 -17
- package/assets/localization/local_hy.json +12 -16
- package/assets/localization/local_kk.json +12 -16
- package/assets/localization/local_ru.json +13 -17
- package/assets/localization/local_zh.json +13 -17
- package/components/common/diagramMain/Header.vue +0 -4
- package/components/common/layout/theHeader/feedback/new/email/Email.vue +2 -2
- package/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils.ts +2 -2
- package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +29 -29
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +69 -69
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
- package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +38 -38
- package/components/common/pages/backups/modals/createBackup/lib/models/interfaces.ts +8 -8
- package/components/common/vm/actions/add/New.vue +12 -10
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/New.vue +1 -1
- package/components/common/vm/actions/common/select/compatibility/New.vue +0 -1
- package/components/common/vm/actions/common/select/storage/new/New.vue +1 -1
- package/components/common/vm/snapshots/modals/confirm/New.vue +0 -5
- package/components/common/vm/snapshots/modals/confirm/lib/models/enums.ts +2 -2
- package/components/common/vm/snapshots/modals/takeOrEdit/new/New.vue +7 -23
- package/components/common/vm/snapshots/new/New.vue +13 -96
- package/components/common/vm/snapshots/new/contextMenuView/ContextMenuView.vue +10 -17
- package/components/common/vm/snapshots/new/lib/utils/details.ts +1 -1
- package/components/common/wizards/common/steps/computeResource/New.vue +9 -1
- package/components/common/wizards/network/add/Add.vue +5 -25
- package/components/common/wizards/network/add/lib/config/config.ts +1 -1
- package/components/common/wizards/network/add/lib/config/initialData.ts +3 -5
- package/components/common/wizards/network/add/lib/config/selectConnectionTypeStep.ts +0 -1
- package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +1 -2
- package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +6 -18
- package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +1 -11
- package/lib/config/regExp.ts +1 -1
- package/package.json +2 -2
- package/plugins/validation.ts +6 -6
- package/components/common/vm/snapshots/new/Skeleton.vue +0 -112
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<atoms-stack-block
|
|
3
|
-
:has-children="false"
|
|
4
|
-
test-id="backup-max-bandwidth-stack-block"
|
|
5
|
-
>
|
|
6
|
-
<template #stackBlockKey>
|
|
7
|
-
<span>{{ localization.common.maxBandwidth }}</span>
|
|
8
|
-
</template>
|
|
9
|
-
<template #stackBlockContent>
|
|
10
|
-
<div class="flex-align-center">
|
|
11
|
-
<input
|
|
12
|
-
v-model="maxBindwidthLocal"
|
|
13
|
-
data-id="mbps-input"
|
|
14
|
-
type="number"
|
|
15
|
-
class="mbps"
|
|
16
|
-
/>
|
|
17
|
-
|
|
18
|
-
<common-select-input
|
|
19
|
-
v-model="selectedType"
|
|
20
|
-
:data="maxBandwidthOptionsLocal"
|
|
21
|
-
test-id="backup-max-bandwidth-type"
|
|
22
|
-
class="ml-1"
|
|
23
|
-
/>
|
|
24
|
-
</div>
|
|
25
|
-
</template>
|
|
26
|
-
</atoms-stack-block>
|
|
27
|
-
</template>
|
|
28
|
-
|
|
29
|
-
<script lang="ts" setup>
|
|
30
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
31
|
-
import type { UI_I_CreateBackupForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
|
|
32
|
-
import type { UI_T_BandwidthOption } from '~/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/models/types'
|
|
33
|
-
import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
|
|
34
|
-
import { maxBandwidthOptions } from '~/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options'
|
|
35
|
-
|
|
36
|
-
const model = defineModel<UI_I_CreateBackupForm>({ required: true })
|
|
37
|
-
|
|
38
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
39
|
-
const { $binary }: any = useNuxtApp()
|
|
40
|
-
|
|
41
|
-
const maxBandwidthOptionsLocal =
|
|
42
|
-
ref<UI_I_SelectInputItem[]>(maxBandwidthOptions)
|
|
43
|
-
|
|
44
|
-
const maxBindwidthLocal = computed<number>({
|
|
45
|
-
get() {
|
|
46
|
-
return selectedType.value === 1
|
|
47
|
-
? $binary.bToGb(model.value.bandwidth_limit)
|
|
48
|
-
: $binary.bToMb(model.value.bandwidth_limit)
|
|
49
|
-
},
|
|
50
|
-
set(newValue: number) {
|
|
51
|
-
model.value.bandwidth_limit =
|
|
52
|
-
selectedType.value === 1
|
|
53
|
-
? $binary.gbToB(newValue)
|
|
54
|
-
: $binary.mbToB(newValue)
|
|
55
|
-
},
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
const selectedType = ref<UI_T_BandwidthOption>(0)
|
|
59
|
-
watch(selectedType, (newValue) => {
|
|
60
|
-
if (newValue === 1) model.value.bandwidth_limit *= 1_024
|
|
61
|
-
else model.value.bandwidth_limit /= 1_024
|
|
62
|
-
})
|
|
63
|
-
</script>
|
|
64
|
-
|
|
65
|
-
<style lang="scss" scoped>
|
|
66
|
-
#backup-transaction-logs {
|
|
67
|
-
margin: 4px 4px 0 0;
|
|
68
|
-
}
|
|
69
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<atoms-stack-block
|
|
3
|
+
:has-children="false"
|
|
4
|
+
test-id="backup-max-bandwidth-stack-block"
|
|
5
|
+
>
|
|
6
|
+
<template #stackBlockKey>
|
|
7
|
+
<span>{{ localization.common.maxBandwidth }}</span>
|
|
8
|
+
</template>
|
|
9
|
+
<template #stackBlockContent>
|
|
10
|
+
<div class="flex-align-center">
|
|
11
|
+
<input
|
|
12
|
+
v-model="maxBindwidthLocal"
|
|
13
|
+
data-id="mbps-input"
|
|
14
|
+
type="number"
|
|
15
|
+
class="mbps"
|
|
16
|
+
/>
|
|
17
|
+
|
|
18
|
+
<common-select-input
|
|
19
|
+
v-model="selectedType"
|
|
20
|
+
:data="maxBandwidthOptionsLocal"
|
|
21
|
+
test-id="backup-max-bandwidth-type"
|
|
22
|
+
class="ml-1"
|
|
23
|
+
/>
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
</atoms-stack-block>
|
|
27
|
+
</template>
|
|
28
|
+
|
|
29
|
+
<script lang="ts" setup>
|
|
30
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
31
|
+
import type { UI_I_CreateBackupForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
|
|
32
|
+
import type { UI_T_BandwidthOption } from '~/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/models/types'
|
|
33
|
+
import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
|
|
34
|
+
import { maxBandwidthOptions } from '~/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options'
|
|
35
|
+
|
|
36
|
+
const model = defineModel<UI_I_CreateBackupForm>({ required: true })
|
|
37
|
+
|
|
38
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
39
|
+
const { $binary }: any = useNuxtApp()
|
|
40
|
+
|
|
41
|
+
const maxBandwidthOptionsLocal =
|
|
42
|
+
ref<UI_I_SelectInputItem[]>(maxBandwidthOptions)
|
|
43
|
+
|
|
44
|
+
const maxBindwidthLocal = computed<number>({
|
|
45
|
+
get() {
|
|
46
|
+
return selectedType.value === 1
|
|
47
|
+
? $binary.bToGb(model.value.bandwidth_limit)
|
|
48
|
+
: $binary.bToMb(model.value.bandwidth_limit)
|
|
49
|
+
},
|
|
50
|
+
set(newValue: number) {
|
|
51
|
+
model.value.bandwidth_limit =
|
|
52
|
+
selectedType.value === 1
|
|
53
|
+
? $binary.gbToB(newValue)
|
|
54
|
+
: $binary.mbToB(newValue)
|
|
55
|
+
},
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
const selectedType = ref<UI_T_BandwidthOption>(0)
|
|
59
|
+
watch(selectedType, (newValue) => {
|
|
60
|
+
if (newValue === 1) model.value.bandwidth_limit *= 1_024
|
|
61
|
+
else model.value.bandwidth_limit /= 1_024
|
|
62
|
+
})
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
<style lang="scss" scoped>
|
|
66
|
+
#backup-transaction-logs {
|
|
67
|
+
margin: 4px 4px 0 0;
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {UI_I_SelectInputItem} from "~/components/common/select/input/lib/models/interfaces";
|
|
2
|
-
|
|
3
|
-
export const maxBandwidthOptions: UI_I_SelectInputItem[] = [
|
|
4
|
-
{ label: 'Mbps', value: 0 },
|
|
5
|
-
{ label: 'Gbps', value: 1 },
|
|
6
|
-
]
|
|
1
|
+
import type {UI_I_SelectInputItem} from "~/components/common/select/input/lib/models/interfaces";
|
|
2
|
+
|
|
3
|
+
export const maxBandwidthOptions: UI_I_SelectInputItem[] = [
|
|
4
|
+
{ label: 'Mbps', value: 0 },
|
|
5
|
+
{ label: 'Gbps', value: 1 },
|
|
6
|
+
]
|
package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<atoms-stack-block
|
|
3
|
-
:has-children="false"
|
|
4
|
-
test-id="backup-strategy-stack-block"
|
|
5
|
-
>
|
|
6
|
-
<template #stackBlockKey>
|
|
7
|
-
<span>{{ localization.common.strategy }}</span>
|
|
8
|
-
</template>
|
|
9
|
-
<template #stackBlockContent>
|
|
10
|
-
<common-select-input
|
|
11
|
-
v-model="model.strategy"
|
|
12
|
-
:data="strategyOptions"
|
|
13
|
-
test-id="backup-strategy"
|
|
14
|
-
/>
|
|
15
|
-
</template>
|
|
16
|
-
</atoms-stack-block>
|
|
17
|
-
</template>
|
|
18
|
-
|
|
19
|
-
<script lang="ts" setup>
|
|
20
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
21
|
-
import type { UI_I_CreateBackupForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
|
|
22
|
-
import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
|
|
23
|
-
import { strategyOptionsFunc } from '~/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions'
|
|
24
|
-
|
|
25
|
-
const model = defineModel<UI_I_CreateBackupForm>({ required: true })
|
|
26
|
-
|
|
27
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
28
|
-
|
|
29
|
-
const strategyOptions = ref<UI_I_SelectInputItem[]>(
|
|
30
|
-
strategyOptionsFunc(localization.value)
|
|
31
|
-
)
|
|
32
|
-
</script>
|
|
33
|
-
|
|
34
|
-
<style lang="scss" scoped>
|
|
35
|
-
#backup-transaction-logs {
|
|
36
|
-
margin: 4px 4px 0 0;
|
|
37
|
-
}
|
|
38
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<atoms-stack-block
|
|
3
|
+
:has-children="false"
|
|
4
|
+
test-id="backup-strategy-stack-block"
|
|
5
|
+
>
|
|
6
|
+
<template #stackBlockKey>
|
|
7
|
+
<span>{{ localization.common.strategy }}</span>
|
|
8
|
+
</template>
|
|
9
|
+
<template #stackBlockContent>
|
|
10
|
+
<common-select-input
|
|
11
|
+
v-model="model.strategy"
|
|
12
|
+
:data="strategyOptions"
|
|
13
|
+
test-id="backup-strategy"
|
|
14
|
+
/>
|
|
15
|
+
</template>
|
|
16
|
+
</atoms-stack-block>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script lang="ts" setup>
|
|
20
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
21
|
+
import type { UI_I_CreateBackupForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
|
|
22
|
+
import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
|
|
23
|
+
import { strategyOptionsFunc } from '~/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions'
|
|
24
|
+
|
|
25
|
+
const model = defineModel<UI_I_CreateBackupForm>({ required: true })
|
|
26
|
+
|
|
27
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
28
|
+
|
|
29
|
+
const strategyOptions = ref<UI_I_SelectInputItem[]>(
|
|
30
|
+
strategyOptionsFunc(localization.value)
|
|
31
|
+
)
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<style lang="scss" scoped>
|
|
35
|
+
#backup-transaction-logs {
|
|
36
|
+
margin: 4px 4px 0 0;
|
|
37
|
+
}
|
|
38
|
+
</style>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export interface UI_I_DynamicSteps {
|
|
2
|
-
general: number
|
|
3
|
-
disks: number
|
|
4
|
-
datastores: number
|
|
5
|
-
configuration: number
|
|
6
|
-
readyComplete: number
|
|
7
|
-
schedulingOptions: number
|
|
8
|
-
}
|
|
1
|
+
export interface UI_I_DynamicSteps {
|
|
2
|
+
general: number
|
|
3
|
+
disks: number
|
|
4
|
+
datastores: number
|
|
5
|
+
configuration: number
|
|
6
|
+
readyComplete: number
|
|
7
|
+
schedulingOptions: number
|
|
8
|
+
}
|
|
@@ -52,16 +52,18 @@
|
|
|
52
52
|
:sub-title-height="heightName"
|
|
53
53
|
>
|
|
54
54
|
<template #subTitle>
|
|
55
|
-
<div ref="subTitleBlockName"
|
|
56
|
-
<div
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
<div ref="subTitleBlockName">
|
|
56
|
+
<div class="subtitle-block">
|
|
57
|
+
<div
|
|
58
|
+
id="name-alert-wrapper"
|
|
59
|
+
:class="[{ 'mb-4': !isNameAlertWrapperEmpty }]"
|
|
60
|
+
></div>
|
|
61
|
+
<ui-wizard-subtitle
|
|
62
|
+
:sub-title="
|
|
62
63
|
localization.vmWizard.specifyUniqueNameAndTargetLocationForVm
|
|
63
64
|
"
|
|
64
|
-
|
|
65
|
+
/>
|
|
66
|
+
</div>
|
|
65
67
|
</div>
|
|
66
68
|
</template>
|
|
67
69
|
<template #content>
|
|
@@ -103,7 +105,7 @@
|
|
|
103
105
|
test-id="computed-resource-alert"
|
|
104
106
|
type="error"
|
|
105
107
|
size="md"
|
|
106
|
-
class="subtitle-block__alert"
|
|
108
|
+
class="subtitle-block__alert mb-4"
|
|
107
109
|
/>
|
|
108
110
|
<ui-wizard-subtitle
|
|
109
111
|
:sub-title="
|
|
@@ -237,7 +239,7 @@
|
|
|
237
239
|
:error-validation-fields="props.errorValidationFields"
|
|
238
240
|
@remove-error-by-title="emits('remove-error-by-title', $event)"
|
|
239
241
|
/>
|
|
240
|
-
<div class="vm-hardware-version-wrap justify-end flex flex-1 mt-
|
|
242
|
+
<div class="vm-hardware-version-wrap justify-end flex flex-1 mt-6">
|
|
241
243
|
<span class="vm-hardware-version">{{
|
|
242
244
|
props.compatibilityInfo
|
|
243
245
|
}}</span>
|
|
@@ -588,7 +588,7 @@ const onAddDevice = (data: number): void => {
|
|
|
588
588
|
display: flex;
|
|
589
589
|
flex-direction: column;
|
|
590
590
|
gap: 12px;
|
|
591
|
-
padding-bottom:
|
|
591
|
+
padding-bottom: 16px;
|
|
592
592
|
background-color: var(--vm-wizard-block-view-bg-color);
|
|
593
593
|
|
|
594
594
|
.vm-hardware-version-wrap {
|
|
@@ -11,8 +11,8 @@ export enum UI_E_TitleConfirmModal {
|
|
|
11
11
|
export enum UI_E_TitleModal {
|
|
12
12
|
'take' = '',
|
|
13
13
|
'edit' = '',
|
|
14
|
-
'revert' = '
|
|
15
|
-
'delete' = '
|
|
14
|
+
'revert' = 'revertToSnapshotConfirmation',
|
|
15
|
+
'delete' = 'deleteSnapshotConfirmation',
|
|
16
16
|
'delete_all' = 'deleteAllSnapshots',
|
|
17
17
|
'group_delete_all' = 'deleteAllSnapshots',
|
|
18
18
|
'group_take' = '',
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
:label="localization.common.name"
|
|
46
46
|
:error="nameError"
|
|
47
47
|
test-id="vm-take-edit-snapshot-modal-name-input"
|
|
48
|
-
class="mb-6"
|
|
48
|
+
class="form__input mb-6"
|
|
49
49
|
input-style="rounded"
|
|
50
50
|
size="md"
|
|
51
51
|
@change="onCheckNameValidation"
|
|
@@ -57,7 +57,6 @@
|
|
|
57
57
|
test-id="vm-take-edit-snapshot-modal-name-input"
|
|
58
58
|
height="84"
|
|
59
59
|
size="sm"
|
|
60
|
-
class="vm-take-edit-textarea"
|
|
61
60
|
/>
|
|
62
61
|
|
|
63
62
|
<div v-if="props.type === 'take'" class="mt-6">
|
|
@@ -65,7 +64,7 @@
|
|
|
65
64
|
v-model="isIncludeVirtualMachinesMemory"
|
|
66
65
|
:label-text="localization.snapshots.saveVirtualMachineMemory"
|
|
67
66
|
:disabled="props.isDisabledSaveVm"
|
|
68
|
-
class="mb-3 flex items-start
|
|
67
|
+
class="mb-3 flex items-start"
|
|
69
68
|
test-id="vm-take-edit-snapshot-modal-save-memory-checkbox"
|
|
70
69
|
size="md"
|
|
71
70
|
/>
|
|
@@ -74,7 +73,7 @@
|
|
|
74
73
|
:label-text="
|
|
75
74
|
localization.common.quiesceGuestFileSystemRequiresVMTools
|
|
76
75
|
"
|
|
77
|
-
class="flex items-start
|
|
76
|
+
class="flex items-start"
|
|
78
77
|
test-id="vm-take-edit-snapshot-modal-quiesce-guest-file-system-checkbox"
|
|
79
78
|
size="md"
|
|
80
79
|
disabled
|
|
@@ -130,8 +129,8 @@ const alertMessages = ref<string[]>([])
|
|
|
130
129
|
const title = computed<string>(() => {
|
|
131
130
|
let titleType =
|
|
132
131
|
props.type === 'take'
|
|
133
|
-
? localization.value.
|
|
134
|
-
: localization.value.
|
|
132
|
+
? localization.value.common.takeSnapshot
|
|
133
|
+
: localization.value.common.editSnapshot
|
|
135
134
|
|
|
136
135
|
titleType = titleType.replace('snapshot', 'Snapshot')
|
|
137
136
|
|
|
@@ -159,26 +158,11 @@ const onSubmit = (): void => {
|
|
|
159
158
|
alertMessages.value = [
|
|
160
159
|
localization.value.common.nameAlreadyExists.replace('{0}', name),
|
|
161
160
|
]
|
|
162
|
-
nameError.value = ' '
|
|
161
|
+
nameError.value = ' ' // Чтобы поле отображало рамку ошибки
|
|
163
162
|
return
|
|
164
163
|
}
|
|
165
164
|
emits('submit')
|
|
166
165
|
}
|
|
167
166
|
</script>
|
|
168
167
|
|
|
169
|
-
<style scoped lang="scss">
|
|
170
|
-
.vm-take-edit-textarea {
|
|
171
|
-
:deep(.ui-main .ui-main-textarea) {
|
|
172
|
-
line-height: 18px;
|
|
173
|
-
height: 72px !important;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
.bottom-checkbox {
|
|
177
|
-
height: unset !important;
|
|
178
|
-
|
|
179
|
-
:deep(.ui-checkbox-label-text) {
|
|
180
|
-
line-height: 18px;
|
|
181
|
-
margin-top: 1px;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
</style>
|
|
168
|
+
<style scoped lang="scss"></style>
|