bfg-common 1.5.475 → 1.5.476
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/components/common/layout/theHeader/helpMenu/About.vue +2 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusOld.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +84 -78
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocketNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/hotPlug/HotPlugNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/maxCpu/MaxCpuNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/LimitNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/CacheNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/File.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIopsNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterTypeNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +69 -66
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +49 -42
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/ModelNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplaysNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/DelayNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +16 -4
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +4 -1
- package/composables/useLocal.ts +6 -51
- package/composables/useLocalCommon.ts +39 -0
- package/{composables/productNameLocal.ts → lib/utils/localizationMapper.ts} +30 -30
- package/package.json +1 -1
@@ -72,8 +72,8 @@ const aboutDesc = computed<string[]>(() =>
|
|
72
72
|
.replaceAll('{companyName}', companyName.value)
|
73
73
|
.replaceAll('{trademark}', brandName.value).split('{url}')
|
74
74
|
)
|
75
|
-
const aboutDesc1 = computed<string>(() => aboutDesc.value[0]
|
76
|
-
const aboutDesc2 = computed<string>(() => aboutDesc.value[1]
|
75
|
+
const aboutDesc1 = computed<string>(() => aboutDesc.value[0])
|
76
|
+
const aboutDesc2 = computed<string>(() => aboutDesc.value[1])
|
77
77
|
|
78
78
|
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
79
79
|
</script>
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`virtual-hardware-bus-stack-block-${props.componentType}-${props.index}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="mt-2">
|
5
8
|
{{ localization.common.bus }}
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusOld.vue
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="">
|
3
3
|
<atoms-stack-block
|
4
4
|
:has-children="false"
|
5
|
-
:test-id="`virtual-hardware-bus-stack-block-${props.componentType}`"
|
5
|
+
:test-id="`virtual-hardware-bus-stack-block-${props.componentType}-${props.index}`"
|
6
6
|
>
|
7
7
|
<template #stackBlockKey>
|
8
8
|
{{ localization.common.bus }}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
<common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive-media-new
|
3
3
|
v-if="isNewView"
|
4
4
|
v-model:cd-dvd-media="cdDvdMedia"
|
5
|
+
:index="props.index"
|
5
6
|
@browse="emits('browse')"
|
6
7
|
/>
|
7
8
|
<common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive-media-old
|
@@ -1,78 +1,84 @@
|
|
1
|
-
<template>
|
2
|
-
<ui-stack-block
|
3
|
-
|
4
|
-
{
|
5
|
-
|
6
|
-
<template #
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
</
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
}
|
78
|
-
|
1
|
+
<template>
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`cd-dvd-media-stack-block-${props.index}`"
|
5
|
+
>
|
6
|
+
<template #stackBlockKey>
|
7
|
+
{{ localization.common.cdDvdMedia }}
|
8
|
+
</template>
|
9
|
+
<template #stackBlockContent>
|
10
|
+
<div class="media-content flex-align-center">
|
11
|
+
<ui-input
|
12
|
+
id="vm-wizard-dvd-media-input"
|
13
|
+
v-model="cdDvdMedia"
|
14
|
+
test-id="vm-wizard-dvd-media-input"
|
15
|
+
type="text"
|
16
|
+
size="sm"
|
17
|
+
disabled
|
18
|
+
/>
|
19
|
+
<ui-button
|
20
|
+
id="vm-wizard-dvd-media-button"
|
21
|
+
test-id="vm-wizard-dvd-media-button"
|
22
|
+
size="sm"
|
23
|
+
class="media-button"
|
24
|
+
variant="text"
|
25
|
+
@click="emits('browse')"
|
26
|
+
>
|
27
|
+
{{ localization.vmWizard.browse }}
|
28
|
+
</ui-button>
|
29
|
+
<div class="divider"></div>
|
30
|
+
<ui-button
|
31
|
+
id="vm-wizard-dvd-media-eject"
|
32
|
+
data-id="vm-wizard-dvd-media-eject"
|
33
|
+
size="sm"
|
34
|
+
class="eject-button"
|
35
|
+
variant="text"
|
36
|
+
type="error"
|
37
|
+
@click="cdDvdMedia = ''"
|
38
|
+
>
|
39
|
+
{{ localization.vmWizard.eject }}
|
40
|
+
</ui-button>
|
41
|
+
</div>
|
42
|
+
</template>
|
43
|
+
</ui-stack-block>
|
44
|
+
</template>
|
45
|
+
|
46
|
+
<script setup lang="ts">
|
47
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
48
|
+
|
49
|
+
const cdDvdMedia = defineModel<string>('cdDvdMedia', { required: true })
|
50
|
+
|
51
|
+
const props = defineProps<{
|
52
|
+
index: number
|
53
|
+
}>()
|
54
|
+
const emits = defineEmits<{
|
55
|
+
(event: 'browse'): void
|
56
|
+
}>()
|
57
|
+
|
58
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
59
|
+
</script>
|
60
|
+
|
61
|
+
<style>
|
62
|
+
:root {
|
63
|
+
--media-content-border-color: #e9ebeda3;
|
64
|
+
}
|
65
|
+
:root.dark-theme {
|
66
|
+
--media-content-border-color: #e9ebed1f;
|
67
|
+
}
|
68
|
+
</style>
|
69
|
+
<style lang="scss" scoped>
|
70
|
+
.media-content {
|
71
|
+
gap: 12px;
|
72
|
+
|
73
|
+
.media-button,
|
74
|
+
.eject-button {
|
75
|
+
white-space: nowrap;
|
76
|
+
padding: 0;
|
77
|
+
}
|
78
|
+
.divider {
|
79
|
+
width: 1px;
|
80
|
+
height: 20px;
|
81
|
+
background-color: var(--media-content-border-color);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
</style>
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
test-id="cores-per-socket-stack-block"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="cores-per-socket-title mt-2">{{ localization.common.coresPerSocket }}</span>
|
5
8
|
</template>
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/LimitNew.vue
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`virtual-hardware-limit-stack-block-${props.componentType}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="limit-title mt-2">
|
5
8
|
{{ localization.common.limit }}
|
@@ -92,6 +92,7 @@
|
|
92
92
|
<template #stackChildren>
|
93
93
|
<common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size
|
94
94
|
:free-mb="props.maxHardDisk"
|
95
|
+
:index="props.index"
|
95
96
|
/>
|
96
97
|
<common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location
|
97
98
|
v-if="props.isNewType"
|
@@ -107,6 +108,7 @@
|
|
107
108
|
<common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-file
|
108
109
|
v-else
|
109
110
|
:path="props.hardDisk?.source"
|
111
|
+
:index="props.index"
|
110
112
|
/>
|
111
113
|
<common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-provisioning
|
112
114
|
v-model:disk-provisioning="diskProvisioning"
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`hard-disk-file-stack-block-${props.index}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="limit-title mt-2">
|
5
8
|
{{ localization.common.diskFile }}
|
@@ -18,6 +21,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
18
21
|
|
19
22
|
const props = defineProps<{
|
20
23
|
path: string
|
24
|
+
index: number
|
21
25
|
}>()
|
22
26
|
</script>
|
23
27
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`hard-disk-limit-iops-stack-block-${props.index}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="mt-2">{{ localization.common.limitIops }}</span>
|
5
8
|
</template>
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`hard-disk-maximum-size-stack-block-${props.index}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="limit-title">
|
5
8
|
{{ localization.common.maximumSize }}
|
@@ -16,6 +19,7 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
16
19
|
|
17
20
|
const props = defineProps<{
|
18
21
|
freeGb: number
|
22
|
+
index: number
|
19
23
|
}>()
|
20
24
|
|
21
25
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`hard-disk-provisioning-stack-block-${props.index}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="limit-title mt-2">
|
5
8
|
{{ localization.common.diskProvisioning }}
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`network-adapter-mac-address-stack-block-${props.index}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="mt-2">{{ localization.common.macAddress }}</span>
|
5
8
|
</template>
|
@@ -1,66 +1,69 @@
|
|
1
|
-
<template>
|
2
|
-
<ui-stack-block
|
3
|
-
|
4
|
-
{
|
5
|
-
|
6
|
-
<template #
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
<!--
|
37
|
-
<!-- <template #
|
38
|
-
<!-- <
|
39
|
-
<!--
|
40
|
-
<!--
|
41
|
-
<!--
|
42
|
-
<!--
|
43
|
-
<!--
|
44
|
-
<!--
|
45
|
-
<!--
|
46
|
-
<!--
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
<!--
|
54
|
-
<!--
|
55
|
-
|
56
|
-
<!--
|
57
|
-
|
58
|
-
|
59
|
-
<!--
|
60
|
-
|
61
|
-
<!--
|
62
|
-
|
63
|
-
<!--
|
64
|
-
|
65
|
-
|
66
|
-
|
1
|
+
<template>
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`pci-device-direct-path-io-stack-block-${props.pciDeviceIndex}`"
|
5
|
+
>
|
6
|
+
<template #stackBlockKey>
|
7
|
+
{{ localization.common.pciDevice }}
|
8
|
+
</template>
|
9
|
+
<template #stackBlockContent>
|
10
|
+
<ui-input
|
11
|
+
:id="`direct-path-io-${props.pciDeviceIndex}`"
|
12
|
+
v-model="model"
|
13
|
+
:test-id="`direct-path-io-${props.pciDeviceIndex}-input`"
|
14
|
+
type="text"
|
15
|
+
size="sm"
|
16
|
+
/>
|
17
|
+
</template>
|
18
|
+
</ui-stack-block>
|
19
|
+
</template>
|
20
|
+
|
21
|
+
<script lang="ts" setup>
|
22
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
23
|
+
|
24
|
+
const model = defineModel<string>({ required: true })
|
25
|
+
|
26
|
+
const props = defineProps<{
|
27
|
+
pciDeviceIndex: number
|
28
|
+
}>()
|
29
|
+
|
30
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
31
|
+
</script>
|
32
|
+
|
33
|
+
<style lang="scss" scoped></style>
|
34
|
+
|
35
|
+
<!--<template>-->
|
36
|
+
<!-- <ui-stack-block :has-children="false">-->
|
37
|
+
<!-- <template #stackBlockKey>-->
|
38
|
+
<!-- <span>{{ localization.common.pciDevice }}</span>-->
|
39
|
+
<!-- </template>-->
|
40
|
+
<!-- <template #stackBlockContent>-->
|
41
|
+
<!-- <ui-select-->
|
42
|
+
<!-- id="direct-path-io"-->
|
43
|
+
<!-- v-model="model"-->
|
44
|
+
<!-- width="auto"-->
|
45
|
+
<!-- :items="props.passthroughDevices"-->
|
46
|
+
<!-- :test-id="`direct-path-io-select-${props.pciDeviceIndex}`"-->
|
47
|
+
<!-- />-->
|
48
|
+
<!-- </template>-->
|
49
|
+
<!-- </ui-stack-block>-->
|
50
|
+
<!--</template>-->
|
51
|
+
|
52
|
+
<!--<script lang="ts" setup>-->
|
53
|
+
<!--import type { UI_I_Localization } from '~/lib/models/interfaces'-->
|
54
|
+
<!--import type {-->
|
55
|
+
<!-- UI_I_ConfigureAllPciDevicesItem,-->
|
56
|
+
<!-- UI_I_ConfigurePciDevicesTable,-->
|
57
|
+
<!--} from '~/lib/models/store/host/interfaces'-->
|
58
|
+
|
59
|
+
<!--const model = defineModel<UI_I_ConfigureAllPciDevicesItem>()-->
|
60
|
+
|
61
|
+
<!--const props = defineProps<{-->
|
62
|
+
<!-- pciDeviceIndex: number-->
|
63
|
+
<!-- passthroughDevices: UI_I_ConfigurePciDevicesTable-->
|
64
|
+
<!--}>()-->
|
65
|
+
|
66
|
+
<!--const localization = computed<UI_I_Localization>(() => useLocal())-->
|
67
|
+
<!--</script>-->
|
68
|
+
|
69
|
+
<!--<style lang="scss" scoped></style>-->
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`pci-device-dynamic-direct-path-io-stack-block-${props.pciDeviceIndex}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span>{{ localization.common.pciDevice }}</span>
|
5
8
|
</template>
|
@@ -1,42 +1,49 @@
|
|
1
|
-
<template>
|
2
|
-
<ui-stack-block
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
</
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
}
|
42
|
-
|
1
|
+
<template>
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`pci-device-note-stack-block-${props.pciDeviceIndex}`"
|
5
|
+
>
|
6
|
+
<template #stackBlockContent>
|
7
|
+
<div class="note-content">
|
8
|
+
<ui-icon
|
9
|
+
name="warning-outline"
|
10
|
+
width="16px"
|
11
|
+
heigth="16px"
|
12
|
+
class="note-icon"
|
13
|
+
color="#FBCE28"
|
14
|
+
/>
|
15
|
+
<p class="note-text">
|
16
|
+
{{ localization.common.note }}:
|
17
|
+
{{ localization.common.pciDeviceNote }}
|
18
|
+
</p>
|
19
|
+
</div>
|
20
|
+
</template>
|
21
|
+
</ui-stack-block>
|
22
|
+
</template>
|
23
|
+
|
24
|
+
<script lang="ts" setup>
|
25
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
26
|
+
|
27
|
+
const props = defineProps<{
|
28
|
+
pciDeviceIndex: number
|
29
|
+
}>()
|
30
|
+
|
31
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
32
|
+
</script>
|
33
|
+
|
34
|
+
<style lang="scss" scoped>
|
35
|
+
.note-content {
|
36
|
+
display: flex;
|
37
|
+
gap: 10px;
|
38
|
+
|
39
|
+
.note-icon {
|
40
|
+
min-width: 16px;
|
41
|
+
}
|
42
|
+
|
43
|
+
.note-text {
|
44
|
+
font-size: 13px;
|
45
|
+
line-height: 15.73px;
|
46
|
+
color: #9da6ad;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
</style>
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`pci-device-type-selection-stack-block-${props.pciDeviceIndex}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockContent>
|
4
7
|
<div class="type-selection-content">
|
5
8
|
<div v-for="(item, index) in props.options" :key="item">
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<template>
|
2
|
-
<ui-stack-block
|
2
|
+
<ui-stack-block
|
3
|
+
:has-children="false"
|
4
|
+
:test-id="`virtual-hardware-reservation-stack-block-${props.componentType}`"
|
5
|
+
>
|
3
6
|
<template #stackBlockKey>
|
4
7
|
<span class="reservation-title mt-2">
|
5
8
|
{{ localization.common.reservation }}
|
@@ -23,7 +23,10 @@
|
|
23
23
|
</div>
|
24
24
|
</template>
|
25
25
|
<template #stackChildren>
|
26
|
-
<ui-stack-block
|
26
|
+
<ui-stack-block
|
27
|
+
:has-children="false"
|
28
|
+
test-id="general-options-vm-name-stack-block"
|
29
|
+
>
|
27
30
|
<template #stackBlockKey>
|
28
31
|
{{ props.nameLabel }}
|
29
32
|
</template>
|
@@ -42,7 +45,10 @@
|
|
42
45
|
</template>
|
43
46
|
</ui-stack-block>
|
44
47
|
|
45
|
-
<ui-stack-block
|
48
|
+
<ui-stack-block
|
49
|
+
:has-children="false"
|
50
|
+
test-id="general-options-machine-type-stack-block"
|
51
|
+
>
|
46
52
|
<template #stackBlockKey>
|
47
53
|
<span class="mt-2">{{ localization.common.machineType }}</span>
|
48
54
|
</template>
|
@@ -61,7 +67,10 @@
|
|
61
67
|
</template>
|
62
68
|
</ui-stack-block>
|
63
69
|
|
64
|
-
<ui-stack-block
|
70
|
+
<ui-stack-block
|
71
|
+
:has-children="false"
|
72
|
+
test-id="general-options-guest-os-family-stack-block"
|
73
|
+
>
|
65
74
|
<template #stackBlockKey>
|
66
75
|
<span class="mt-2">{{ localization.common.guestOsFamily }}</span>
|
67
76
|
</template>
|
@@ -81,7 +90,10 @@
|
|
81
90
|
</template>
|
82
91
|
</ui-stack-block>
|
83
92
|
|
84
|
-
<ui-stack-block
|
93
|
+
<ui-stack-block
|
94
|
+
:has-children="false"
|
95
|
+
test-id="general-options-guest-os-version-stack-block"
|
96
|
+
>
|
85
97
|
<template #stackBlockKey>
|
86
98
|
<span class="mt-2">{{ localization.common.guestOsVersion }}</span>
|
87
99
|
</template>
|
package/composables/useLocal.ts
CHANGED
@@ -1,51 +1,6 @@
|
|
1
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
|
-
import
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
import localKk from '~/assets/localization/local_kk.json'
|
8
|
-
import localBe from '~/assets/localization/local_be.json'
|
9
|
-
|
10
|
-
const locals = {
|
11
|
-
localAr,
|
12
|
-
localRu,
|
13
|
-
localEn,
|
14
|
-
localHy,
|
15
|
-
localZh,
|
16
|
-
localKk,
|
17
|
-
localBe,
|
18
|
-
}
|
19
|
-
export const useLocal = (): UI_I_Localization => {
|
20
|
-
const config = useRuntimeConfig()
|
21
|
-
|
22
|
-
let code: string = config?.public?.LOCALIZATION_CODE?.toLowerCase() || 'ru'
|
23
|
-
|
24
|
-
if (code === 'ar' && !useLocalStorage('rtl')) code = 'ru'
|
25
|
-
|
26
|
-
document.getElementsByTagName('html')[0].setAttribute('lang', code)
|
27
|
-
|
28
|
-
let result: UI_I_Localization = locals.localRu
|
29
|
-
switch (code) {
|
30
|
-
case 'ar':
|
31
|
-
result = locals.localAr
|
32
|
-
break
|
33
|
-
case 'en':
|
34
|
-
result = locals.localEn
|
35
|
-
break
|
36
|
-
case 'hy':
|
37
|
-
result = locals.localHy
|
38
|
-
break
|
39
|
-
case 'zh':
|
40
|
-
result = locals.localZh
|
41
|
-
break
|
42
|
-
case 'kk':
|
43
|
-
result = locals.localKk
|
44
|
-
break
|
45
|
-
case 'be':
|
46
|
-
result = locals.localBe
|
47
|
-
break
|
48
|
-
}
|
49
|
-
|
50
|
-
return productNameLocal(result)
|
51
|
-
}
|
1
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
|
+
import { useLocalCommon } from '~/composables/useLocalCommon'
|
3
|
+
|
4
|
+
export const useLocal = (): UI_I_Localization => {
|
5
|
+
return useLocalCommon()
|
6
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
|
+
import localAr from '~/assets/scss/clarity/local_ar.json'
|
3
|
+
import localRu from '~/assets/localization/local_ru.json'
|
4
|
+
import localEn from '~/assets/localization/local_en.json'
|
5
|
+
import localHy from '~/assets/localization/local_hy.json'
|
6
|
+
import localZh from '~/assets/localization/local_zh.json'
|
7
|
+
import localKk from '~/assets/localization/local_kk.json'
|
8
|
+
import localBe from '~/assets/localization/local_be.json'
|
9
|
+
import { productNameLocal } from '~/lib/utils/localizationMapper'
|
10
|
+
|
11
|
+
const rawLocals: Record<string, any> = {
|
12
|
+
ar: localAr,
|
13
|
+
ru: localRu,
|
14
|
+
en: localEn,
|
15
|
+
hy: localHy,
|
16
|
+
zh: localZh,
|
17
|
+
kk: localKk,
|
18
|
+
be: localBe,
|
19
|
+
}
|
20
|
+
|
21
|
+
// Кешируем уже обработанные локали
|
22
|
+
const processedCache: Record<string, UI_I_Localization | undefined> = {}
|
23
|
+
|
24
|
+
export const useLocalCommon = (): UI_I_Localization => {
|
25
|
+
const config = useRuntimeConfig()
|
26
|
+
let code = String(config?.public?.LOCALIZATION_CODE || 'ru').toLowerCase()
|
27
|
+
|
28
|
+
if (code === 'ar' && !useLocalStorage('rtl')) code = 'ru'
|
29
|
+
|
30
|
+
if (typeof document !== 'undefined') document.documentElement.lang = code
|
31
|
+
|
32
|
+
// если в кеше нет — создаём и сохраняем
|
33
|
+
if (!processedCache[code]) {
|
34
|
+
const raw = rawLocals[code] || rawLocals['ru']
|
35
|
+
processedCache[code] = productNameLocal(raw)
|
36
|
+
}
|
37
|
+
|
38
|
+
return processedCache[code] as UI_I_Localization
|
39
|
+
}
|
@@ -1,30 +1,30 @@
|
|
1
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
|
-
import type { UI_T_LanguageKey } from '~/lib/models/types'
|
3
|
-
|
4
|
-
|
5
|
-
localization: UI_I_Localization
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
return localization
|
30
|
-
}
|
1
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
|
+
import type { UI_T_LanguageKey } from '~/lib/models/types'
|
3
|
+
|
4
|
+
const replaceProductNameRecursion = (
|
5
|
+
localization: UI_I_Localization,
|
6
|
+
productName: any
|
7
|
+
): UI_I_Localization => {
|
8
|
+
for (const key of Object.keys(localization)) {
|
9
|
+
let item = localization[key as UI_T_LanguageKey]
|
10
|
+
|
11
|
+
for (const key2 of Object.keys(item)) {
|
12
|
+
item[key2] = item[key2].replaceAll('{productName}', productName)
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
return localization
|
17
|
+
}
|
18
|
+
|
19
|
+
export const productNameLocal = (
|
20
|
+
localization: UI_I_Localization
|
21
|
+
): UI_I_Localization => {
|
22
|
+
const config = useRuntimeConfig()
|
23
|
+
|
24
|
+
const productName =
|
25
|
+
config.public.LOCALIZATION_CODE === 'ru'
|
26
|
+
? config.public.PRODUCT_NAME_RU
|
27
|
+
: config.public.PRODUCT_NAME_EN
|
28
|
+
|
29
|
+
return replaceProductNameRecursion(localization, productName)
|
30
|
+
}
|