bfg-common 1.5.41 → 1.5.43
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_ru.json +5 -5
- package/components/common/pages/tasks/table/Table.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
- package/package.json +2 -2
|
@@ -452,7 +452,7 @@
|
|
|
452
452
|
"driveType": "Тип привода",
|
|
453
453
|
"dsCluster": "Кластер хранилища данных",
|
|
454
454
|
"dsClusters": "Кластеры хранилищ",
|
|
455
|
-
"dsFolders": "
|
|
455
|
+
"dsFolders": "Папки хранилищ",
|
|
456
456
|
"dynamicDiscovery": "Динамическое обнаружение",
|
|
457
457
|
"eachVirtualMachineCompatibilitySettingIncludesHardwareAvailableVirtualMachine": "Каждый параметр совместимости виртуальной машины включает набор аппаратных функций, доступных виртуальной машине.",
|
|
458
458
|
"edit": "Изменить",
|
|
@@ -648,7 +648,7 @@
|
|
|
648
648
|
"hostClusterSupportsMoreVirtualMachineVersionSelectCompatibilityVirtualMachine": "Хост или кластер поддерживает более одной версии виртуальной машины {trademark}. Выберите совместимость для виртуальной машины.",
|
|
649
649
|
"hostCpu": "Узел ЦП",
|
|
650
650
|
"hostDateAndTime": "Дата и время проведения",
|
|
651
|
-
"hostFolders": "
|
|
651
|
+
"hostFolders": "Папки хостов",
|
|
652
652
|
"hostFtSupport": "Хост поддержка FT",
|
|
653
653
|
"hostGraphics": "Принимающая графика",
|
|
654
654
|
"hostIncompatibilityReason": "Причина несовместимости хоста",
|
|
@@ -661,7 +661,7 @@
|
|
|
661
661
|
"hostnameShouldNotEmpty": "имя хоста не должно быть пустым",
|
|
662
662
|
"hostNotMaintenanceMode": "Узел {0} не находится в режиме обслуживания.\nПереведите узел в режим обслуживания, а затем удалите узел.",
|
|
663
663
|
"hostProfile": "Профиль хоста",
|
|
664
|
-
"hostProfiles": "Профили
|
|
664
|
+
"hostProfiles": "Профили xостов",
|
|
665
665
|
"hostReviewSummary": "Ознакомьтесь с информацией о хостинге",
|
|
666
666
|
"hosts_amount": "Хосты",
|
|
667
667
|
"hostsAccessibility": "Доступность хостов",
|
|
@@ -943,7 +943,7 @@
|
|
|
943
943
|
"namespaces": "Пространства имён",
|
|
944
944
|
"needsConsolidation": "Нуждается в консолидации",
|
|
945
945
|
"net_bridge": "Сетчатый мост",
|
|
946
|
-
"netFolders": "
|
|
946
|
+
"netFolders": "Папки сетей",
|
|
947
947
|
"network": "Сеть",
|
|
948
948
|
"networkAdapter": "Сетевой адаптер",
|
|
949
949
|
"networkAdapters": "Сетевые адаптеры",
|
|
@@ -1663,7 +1663,7 @@
|
|
|
1663
1663
|
"vmCpuHelpText4": "Если виртуальная машина включена с прошивкой EFI и ЦП 128 или ниже, вам необходимо выключить виртуальную машину, чтобы назначить ЦП выше порогового значения 128.",
|
|
1664
1664
|
"vMCustomizationSpecifications": "Настройки кастомизации ВМ",
|
|
1665
1665
|
"vmDrsScore": "VM DRS Счет",
|
|
1666
|
-
"vmFolders": "
|
|
1666
|
+
"vmFolders": "Папки ВМ",
|
|
1667
1667
|
"vmfs": "VMFS",
|
|
1668
1668
|
"vmfsDesc": "Создайте хранилище данных VMFS на диске/LUN.",
|
|
1669
1669
|
"vmfsDetails": "Сведения о ВМФС",
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue
CHANGED
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<common-vm-actions-common-customize-hardware-virtual-hardware-cpu-shares-new
|
|
3
|
-
v-if="isNewView"
|
|
4
|
-
v-model:shares-type="sharesTypeLocal"
|
|
5
|
-
v-model:shares="sharesLocal"
|
|
6
|
-
:disabled="props.disabled"
|
|
7
|
-
:shares-type-options="sharesTypeOptions"
|
|
8
|
-
:shares-errors-texts="sharesLocalAndApiErrorsTexts"
|
|
9
|
-
:shares-options="sharesOptions"
|
|
10
|
-
:is-disabled-shares="isDisabledShares"
|
|
11
|
-
@change-shares-type="onChangeSharesType"
|
|
12
|
-
@remove-error="onRemoveValidationError"
|
|
13
|
-
/>
|
|
14
|
-
<common-vm-actions-common-customize-hardware-virtual-hardware-cpu-shares-old
|
|
15
|
-
v-else
|
|
16
|
-
v-model:shares-type="sharesTypeLocal"
|
|
17
|
-
v-model:shares="sharesLocal"
|
|
18
|
-
:disabled="props.disabled"
|
|
19
|
-
:shares-type-options="sharesTypeOptions"
|
|
20
|
-
:shares-errors-texts="sharesLocalAndApiErrorsTexts"
|
|
21
|
-
:shares-options="sharesOptions"
|
|
22
|
-
:is-disabled-shares="isDisabledShares"
|
|
23
|
-
@change-shares-type="onChangeSharesType"
|
|
24
|
-
@remove-error="onRemoveValidationError"
|
|
25
|
-
/>
|
|
26
|
-
</template>
|
|
27
|
-
|
|
28
|
-
<script setup lang="ts">
|
|
29
|
-
import type {
|
|
30
|
-
UI_I_Localization,
|
|
31
|
-
UI_I_HTMLSelectElement,
|
|
32
|
-
} from '~/lib/models/interfaces'
|
|
33
|
-
import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
|
|
34
|
-
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
35
|
-
import {
|
|
36
|
-
sharesTypeOptionsFunc,
|
|
37
|
-
sharesOptionsFunc,
|
|
38
|
-
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options'
|
|
39
|
-
|
|
40
|
-
const props = defineProps<{
|
|
41
|
-
shares: string
|
|
42
|
-
sharesType: string
|
|
43
|
-
disabled: boolean
|
|
44
|
-
errorValidationFields: UI_I_ErrorValidationField<string>[]
|
|
45
|
-
}>()
|
|
46
|
-
const emits = defineEmits<{
|
|
47
|
-
(event: 'update:shares', value: string): void
|
|
48
|
-
(event: 'update:shares-type', value: string): void
|
|
49
|
-
(event: 'invalid', value: boolean): void
|
|
50
|
-
(event: 'remove-error-by-title', value: string): void
|
|
51
|
-
}>()
|
|
52
|
-
|
|
53
|
-
const { $store }: any = useNuxtApp()
|
|
54
|
-
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
55
|
-
|
|
56
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
57
|
-
|
|
58
|
-
const apiErrorLocal = computed<string>(() => {
|
|
59
|
-
return (
|
|
60
|
-
props.errorValidationFields?.find(
|
|
61
|
-
(message) => message.field === 'cpu.shares'
|
|
62
|
-
)?.error_message || ''
|
|
63
|
-
)
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
const maxShares =
|
|
67
|
-
const sharesOptions = computed<UI_I_OptionItem[]>(() => {
|
|
68
|
-
return sharesOptionsFunc(localization.value, maxShares)
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
const sharesTypeOptions = ref<UI_I_OptionItem[]>(
|
|
72
|
-
sharesTypeOptionsFunc(localization.value)
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
const isDisabledShares = computed<boolean>(
|
|
76
|
-
() => sharesTypeLocal.value !== '
|
|
77
|
-
)
|
|
78
|
-
const sharesLocal = computed<string>({
|
|
79
|
-
get() {
|
|
80
|
-
return props.shares
|
|
81
|
-
},
|
|
82
|
-
set(newValue) {
|
|
83
|
-
emits('update:shares', newValue)
|
|
84
|
-
},
|
|
85
|
-
})
|
|
86
|
-
const sharesTypeLocal = computed<string>({
|
|
87
|
-
get() {
|
|
88
|
-
return props.sharesType
|
|
89
|
-
},
|
|
90
|
-
set(newValue) {
|
|
91
|
-
emits('update:shares-type', newValue)
|
|
92
|
-
},
|
|
93
|
-
})
|
|
94
|
-
const onChangeSharesType = (event: UI_I_HTMLSelectElement): void => {
|
|
95
|
-
const value = event.target.value
|
|
96
|
-
if (value === '
|
|
97
|
-
sharesLocal.value = event.target.value
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const sharesErrorLocalText = computed<string>(() => {
|
|
101
|
-
if (+sharesLocal.value <
|
|
102
|
-
return localization.value.common.sharesMustBe
|
|
103
|
-
.replace('{0}', '
|
|
104
|
-
.replace('{1}', maxShares + '')
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const validValue = /^\d+(\.\d+)?$/.test(sharesLocal.value + '')
|
|
108
|
-
if (!validValue) {
|
|
109
|
-
return localization.value.common.inputContainsInvalidCharacters
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return ''
|
|
113
|
-
})
|
|
114
|
-
const sharesInvalid = computed<boolean>(() => !!sharesErrorLocalText.value)
|
|
115
|
-
watch(
|
|
116
|
-
sharesInvalid,
|
|
117
|
-
(newValue) => {
|
|
118
|
-
emits('invalid', newValue)
|
|
119
|
-
},
|
|
120
|
-
{ immediate: true }
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
const sharesLocalAndApiErrorsTexts = computed<string>(() => {
|
|
124
|
-
const localError = sharesErrorLocalText.value
|
|
125
|
-
const apiError = apiErrorLocal.value
|
|
126
|
-
|
|
127
|
-
let result = ''
|
|
128
|
-
if (localError && !apiError) result = localError
|
|
129
|
-
if (localError && apiError) result = localError + ', ' + apiError
|
|
130
|
-
if (!localError) result = apiError
|
|
131
|
-
|
|
132
|
-
return result
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
const onRemoveValidationError = (): void => {
|
|
136
|
-
emits('remove-error-by-title', 'cpu.shares')
|
|
137
|
-
}
|
|
138
|
-
</script>
|
|
139
|
-
|
|
140
|
-
<style scoped></style>
|
|
1
|
+
<template>
|
|
2
|
+
<common-vm-actions-common-customize-hardware-virtual-hardware-cpu-shares-new
|
|
3
|
+
v-if="isNewView"
|
|
4
|
+
v-model:shares-type="sharesTypeLocal"
|
|
5
|
+
v-model:shares="sharesLocal"
|
|
6
|
+
:disabled="props.disabled"
|
|
7
|
+
:shares-type-options="sharesTypeOptions"
|
|
8
|
+
:shares-errors-texts="sharesLocalAndApiErrorsTexts"
|
|
9
|
+
:shares-options="sharesOptions"
|
|
10
|
+
:is-disabled-shares="isDisabledShares"
|
|
11
|
+
@change-shares-type="onChangeSharesType"
|
|
12
|
+
@remove-error="onRemoveValidationError"
|
|
13
|
+
/>
|
|
14
|
+
<common-vm-actions-common-customize-hardware-virtual-hardware-cpu-shares-old
|
|
15
|
+
v-else
|
|
16
|
+
v-model:shares-type="sharesTypeLocal"
|
|
17
|
+
v-model:shares="sharesLocal"
|
|
18
|
+
:disabled="props.disabled"
|
|
19
|
+
:shares-type-options="sharesTypeOptions"
|
|
20
|
+
:shares-errors-texts="sharesLocalAndApiErrorsTexts"
|
|
21
|
+
:shares-options="sharesOptions"
|
|
22
|
+
:is-disabled-shares="isDisabledShares"
|
|
23
|
+
@change-shares-type="onChangeSharesType"
|
|
24
|
+
@remove-error="onRemoveValidationError"
|
|
25
|
+
/>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<script setup lang="ts">
|
|
29
|
+
import type {
|
|
30
|
+
UI_I_Localization,
|
|
31
|
+
UI_I_HTMLSelectElement,
|
|
32
|
+
} from '~/lib/models/interfaces'
|
|
33
|
+
import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
|
|
34
|
+
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
35
|
+
import {
|
|
36
|
+
sharesTypeOptionsFunc,
|
|
37
|
+
sharesOptionsFunc,
|
|
38
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options'
|
|
39
|
+
|
|
40
|
+
const props = defineProps<{
|
|
41
|
+
shares: string
|
|
42
|
+
sharesType: string
|
|
43
|
+
disabled: boolean
|
|
44
|
+
errorValidationFields: UI_I_ErrorValidationField<string>[]
|
|
45
|
+
}>()
|
|
46
|
+
const emits = defineEmits<{
|
|
47
|
+
(event: 'update:shares', value: string): void
|
|
48
|
+
(event: 'update:shares-type', value: string): void
|
|
49
|
+
(event: 'invalid', value: boolean): void
|
|
50
|
+
(event: 'remove-error-by-title', value: string): void
|
|
51
|
+
}>()
|
|
52
|
+
|
|
53
|
+
const { $store }: any = useNuxtApp()
|
|
54
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
55
|
+
|
|
56
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
57
|
+
|
|
58
|
+
const apiErrorLocal = computed<string>(() => {
|
|
59
|
+
return (
|
|
60
|
+
props.errorValidationFields?.find(
|
|
61
|
+
(message) => message.field === 'cpu.shares'
|
|
62
|
+
)?.error_message || ''
|
|
63
|
+
)
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
const maxShares = 10_000
|
|
67
|
+
const sharesOptions = computed<UI_I_OptionItem[]>(() => {
|
|
68
|
+
return sharesOptionsFunc(localization.value, maxShares)
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
const sharesTypeOptions = ref<UI_I_OptionItem[]>(
|
|
72
|
+
sharesTypeOptionsFunc(localization.value)
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
const isDisabledShares = computed<boolean>(
|
|
76
|
+
() => sharesTypeLocal.value !== '1' || props.disabled
|
|
77
|
+
)
|
|
78
|
+
const sharesLocal = computed<string>({
|
|
79
|
+
get() {
|
|
80
|
+
return props.shares
|
|
81
|
+
},
|
|
82
|
+
set(newValue) {
|
|
83
|
+
emits('update:shares', newValue)
|
|
84
|
+
},
|
|
85
|
+
})
|
|
86
|
+
const sharesTypeLocal = computed<string>({
|
|
87
|
+
get() {
|
|
88
|
+
return props.sharesType
|
|
89
|
+
},
|
|
90
|
+
set(newValue) {
|
|
91
|
+
emits('update:shares-type', newValue)
|
|
92
|
+
},
|
|
93
|
+
})
|
|
94
|
+
const onChangeSharesType = (event: UI_I_HTMLSelectElement): void => {
|
|
95
|
+
const value = event.target.value
|
|
96
|
+
if (value === '1') return
|
|
97
|
+
sharesLocal.value = event.target.value
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const sharesErrorLocalText = computed<string>(() => {
|
|
101
|
+
if (+sharesLocal.value < 1 || +sharesLocal.value > maxShares) {
|
|
102
|
+
return localization.value.common.sharesMustBe
|
|
103
|
+
.replace('{0}', '1')
|
|
104
|
+
.replace('{1}', maxShares + '')
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const validValue = /^\d+(\.\d+)?$/.test(sharesLocal.value + '')
|
|
108
|
+
if (!validValue) {
|
|
109
|
+
return localization.value.common.inputContainsInvalidCharacters
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return ''
|
|
113
|
+
})
|
|
114
|
+
const sharesInvalid = computed<boolean>(() => !!sharesErrorLocalText.value)
|
|
115
|
+
watch(
|
|
116
|
+
sharesInvalid,
|
|
117
|
+
(newValue) => {
|
|
118
|
+
emits('invalid', newValue)
|
|
119
|
+
},
|
|
120
|
+
{ immediate: true }
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
const sharesLocalAndApiErrorsTexts = computed<string>(() => {
|
|
124
|
+
const localError = sharesErrorLocalText.value
|
|
125
|
+
const apiError = apiErrorLocal.value
|
|
126
|
+
|
|
127
|
+
let result = ''
|
|
128
|
+
if (localError && !apiError) result = localError
|
|
129
|
+
if (localError && apiError) result = localError + ', ' + apiError
|
|
130
|
+
if (!localError) result = apiError
|
|
131
|
+
|
|
132
|
+
return result
|
|
133
|
+
})
|
|
134
|
+
|
|
135
|
+
const onRemoveValidationError = (): void => {
|
|
136
|
+
emits('remove-error-by-title', 'cpu.shares')
|
|
137
|
+
}
|
|
138
|
+
</script>
|
|
139
|
+
|
|
140
|
+
<style scoped></style>
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
2
|
-
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
3
|
-
|
|
4
|
-
export const sharesOptionsFunc = (
|
|
5
|
-
localization: UI_I_Localization,
|
|
6
|
-
maxShares: number
|
|
7
|
-
): UI_I_OptionItem[] => {
|
|
8
|
-
return [
|
|
9
|
-
{
|
|
10
|
-
text: `${localization.common.minimum}
|
|
11
|
-
value:
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
text: `${localization.common.maximum} ${maxShares}`,
|
|
15
|
-
value: maxShares,
|
|
16
|
-
},
|
|
17
|
-
]
|
|
18
|
-
}
|
|
19
|
-
export const sharesTypeOptionsFunc = (
|
|
20
|
-
localization: UI_I_Localization
|
|
21
|
-
): UI_I_OptionItem[] => {
|
|
22
|
-
return [
|
|
23
|
-
{ text: localization.common.low, value: '1000' },
|
|
24
|
-
{ text: localization.common.normal, value: '2000' },
|
|
25
|
-
{ text: localization.common.high, value: '4000' },
|
|
26
|
-
{ text: localization.common.custom, value: '
|
|
27
|
-
]
|
|
28
|
-
}
|
|
1
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
2
|
+
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
3
|
+
|
|
4
|
+
export const sharesOptionsFunc = (
|
|
5
|
+
localization: UI_I_Localization,
|
|
6
|
+
maxShares: number
|
|
7
|
+
): UI_I_OptionItem[] => {
|
|
8
|
+
return [
|
|
9
|
+
{
|
|
10
|
+
text: `${localization.common.minimum} 1`,
|
|
11
|
+
value: 1,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
text: `${localization.common.maximum} ${maxShares}`,
|
|
15
|
+
value: maxShares,
|
|
16
|
+
},
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
export const sharesTypeOptionsFunc = (
|
|
20
|
+
localization: UI_I_Localization
|
|
21
|
+
): UI_I_OptionItem[] => {
|
|
22
|
+
return [
|
|
23
|
+
{ text: localization.common.low, value: '1000' },
|
|
24
|
+
{ text: localization.common.normal, value: '2000' },
|
|
25
|
+
{ text: localization.common.high, value: '4000' },
|
|
26
|
+
{ text: localization.common.custom, value: '1' },
|
|
27
|
+
]
|
|
28
|
+
}
|
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.43",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "nuxt build",
|
|
7
7
|
"dev": "nuxt dev --port=3002",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@vueuse/components": "^10.1.2",
|
|
36
36
|
"date-fns": "^2.29.3",
|
|
37
37
|
"bfg-nuxt-3-graph": "1.0.22",
|
|
38
|
-
"bfg-uikit": "1.0.
|
|
38
|
+
"bfg-uikit": "1.0.399",
|
|
39
39
|
"html2canvas": "^1.4.1",
|
|
40
40
|
"prettier-eslint": "^15.0.1"
|
|
41
41
|
}
|