bfg-common 1.6.30 → 1.6.32
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 +245 -6
- package/assets/localization/local_en.json +252 -13
- package/assets/localization/local_hy.json +246 -7
- package/assets/localization/local_kk.json +245 -6
- package/assets/localization/local_ru.json +252 -13
- package/assets/localization/local_zh.json +245 -6
- package/assets/scss/common/theme.scss +2 -2
- package/components/atoms/stack/StackBlock.vue +1 -1
- package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +1 -1
- package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +0 -1
- package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +1 -0
- package/components/common/certificate/CertificateInfo.vue +7 -1
- package/components/common/configure/physicalAdapters/PhysicalAdapters.vue +6 -0
- package/components/common/configure/physicalAdapters/PhysicalAdaptersNew.vue +219 -192
- package/components/common/configure/physicalAdapters/PhysicalAdaptersOld.vue +6 -4
- package/components/common/configure/physicalAdapters/buttons/Buttons.vue +1 -0
- package/components/common/configure/physicalAdapters/modals/edit/Edit.vue +26 -1
- package/components/common/configure/physicalAdapters/modals/edit/EditNew.vue +30 -1
- package/components/common/configure/physicalAdapters/modals/edit/lib/models/interfaces.ts +5 -0
- package/components/common/configure/physicalAdapters/modals/edit/lib/validations/validations.ts +19 -0
- package/components/common/configure/physicalAdapters/tableView/TableViewNew.vue +12 -1
- package/components/common/configure/physicalAdapters/tableView/lib/config/physicalAdaptersTableConfigNew.ts +21 -21
- package/components/common/configure/physicalAdapters/tableView/lib/config/settings.ts +12 -5
- package/components/common/configure/physicalAdapters/tableView/lib/models/interfaces.ts +4 -1
- package/components/common/diagramMain/DiagramMain.vue +6 -0
- package/components/common/diagramMain/modals/Modals.vue +4 -0
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +2 -2
- package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +1 -1
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +2 -2
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +1 -1
- package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
- package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +8 -9
- package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +4 -0
- package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +9 -2
- package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +12 -8
- package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +7 -1
- package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions.ts +8 -5
- package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +9 -5
- package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +5 -9
- package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +9 -6
- package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +3 -1
- package/components/common/monitor/advanced/table/lib/models/interfaces.ts +13 -13
- package/components/common/monitor/advanced/table/lib/models/types.ts +7 -7
- package/components/common/monitor/advanced/table/tableNew/TableNew.vue +93 -93
- package/components/common/monitor/advanced/table/tableNew/lib/config/options.ts +109 -109
- package/components/common/monitor/advanced/table/tableNew/lib/utils/constructBody.ts +25 -25
- package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
- package/components/common/monitor/advanced/table/tableOld/lib/config/performanceDatatable.ts +125 -125
- package/components/common/monitor/lib/utils/local_be.json +702 -702
- package/components/common/monitor/lib/utils/local_en.json +702 -702
- package/components/common/monitor/lib/utils/local_hy.json +702 -702
- package/components/common/monitor/lib/utils/local_kk.json +702 -702
- package/components/common/monitor/lib/utils/local_ru.json +702 -702
- package/components/common/monitor/lib/utils/local_zh.json +702 -702
- package/components/common/monitor/utilization/lib/utils/index.ts +33 -33
- package/components/common/noDataProvided/NoDataProvidedNew.vue +1 -1
- package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +4 -4
- package/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/table.ts +4 -4
- package/components/common/pages/hardwareHealth/HardwareHealthNew.vue +1 -1
- package/components/common/pages/hardwareHealth/historyTestimony/GraphNew.vue +1 -1
- package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/ActionsNew.vue +1 -1
- package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +9 -0
- package/components/common/pages/scheduledTasks/table/new/New.vue +12 -10
- package/components/common/pages/tasks/Tasks.vue +4 -1
- package/components/common/pages/tasks/table/Table.vue +24 -22
- package/components/common/split/vertical/New.vue +42 -8
- package/components/common/split/vertical/Old.vue +31 -2
- package/components/common/split/vertical/Vertical.vue +4 -0
- package/components/common/vm/actions/add/New.vue +21 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/New.vue +5 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/New.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/New.vue +2 -0
- package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +13 -15
- package/components/common/vm/actions/confirm/Confirm.vue +3 -0
- package/components/common/vm/snapshots/DetailView.vue +6 -6
- package/components/common/wizards/datastore/add/New.vue +6 -0
- package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
- package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +1 -1
- package/components/common/wizards/network/add/Add.vue +13 -2
- package/components/common/wizards/network/add/AddNew.vue +22 -26
- package/components/common/wizards/network/add/lib/config/initialData.ts +4 -4
- package/components/common/wizards/network/add/lib/utils/utils.ts +1 -1
- package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +2 -8
- package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +2 -8
- package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +10 -3
- package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +5 -1
- package/components/common/wizards/network/add/validations/common.ts +1 -1
- package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/New.vue +31 -13
- package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable.ts +340 -0
- package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable.ts +3 -1
- package/components/common/wizards/vm/migrate/steps/selectStorage/New.vue +5 -4
- package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/New.vue +4 -0
- package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/New.vue +3 -1
- package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +8 -3
- package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +7 -1
- package/lib/models/store/tasks/enums.ts +3 -0
- package/lib/models/store/tasks/types.ts +7 -6
- package/package.json +2 -2
- package/store/tasks/actions.ts +26 -8
- package/store/tasks/mappers/recentTasks.ts +1 -0
|
@@ -9,9 +9,7 @@ import type { UI_I_StatusData } from '~/components/common/vm/actions/common/sele
|
|
|
9
9
|
import { datastoreLocalizationByState } from '~/components/common/lib/config/states'
|
|
10
10
|
import { getStatus } from '~/components/common/vm/actions/common/select/storage/new/lib/utils/utils'
|
|
11
11
|
|
|
12
|
-
export const tableDataFunc = (
|
|
13
|
-
localization: UI_I_Localization
|
|
14
|
-
): UI_I_DataTable => ({
|
|
12
|
+
export const tableDataFunc = (localization: UI_I_Localization): UI_I_DataTable => ({
|
|
15
13
|
id: 'select-storage',
|
|
16
14
|
header: [
|
|
17
15
|
{
|
|
@@ -31,7 +29,7 @@ export const tableDataFunc = (
|
|
|
31
29
|
text: localization.inventorySummary.state,
|
|
32
30
|
isSortable: false,
|
|
33
31
|
sort: 'asc',
|
|
34
|
-
sortColumn:
|
|
32
|
+
sortColumn: false,
|
|
35
33
|
width: '160px',
|
|
36
34
|
show: true,
|
|
37
35
|
filter: true,
|
|
@@ -42,7 +40,7 @@ export const tableDataFunc = (
|
|
|
42
40
|
text: localization.common.capacity,
|
|
43
41
|
isSortable: false,
|
|
44
42
|
sort: 'asc',
|
|
45
|
-
sortColumn:
|
|
43
|
+
sortColumn: false,
|
|
46
44
|
width: '150px',
|
|
47
45
|
show: true,
|
|
48
46
|
filter: true,
|
|
@@ -53,7 +51,7 @@ export const tableDataFunc = (
|
|
|
53
51
|
text: localization.common.provisioned,
|
|
54
52
|
isSortable: false,
|
|
55
53
|
sort: 'asc',
|
|
56
|
-
sortColumn:
|
|
54
|
+
sortColumn: false,
|
|
57
55
|
width: '150px',
|
|
58
56
|
show: true,
|
|
59
57
|
filter: true,
|
|
@@ -64,7 +62,7 @@ export const tableDataFunc = (
|
|
|
64
62
|
text: localization.common.free,
|
|
65
63
|
isSortable: false,
|
|
66
64
|
sort: 'asc',
|
|
67
|
-
sortColumn:
|
|
65
|
+
sortColumn: false,
|
|
68
66
|
width: '150px',
|
|
69
67
|
show: true,
|
|
70
68
|
filter: true,
|
|
@@ -75,7 +73,7 @@ export const tableDataFunc = (
|
|
|
75
73
|
text: localization.common.used,
|
|
76
74
|
isSortable: false,
|
|
77
75
|
sort: 'asc',
|
|
78
|
-
sortColumn:
|
|
76
|
+
sortColumn: false,
|
|
79
77
|
width: '150px',
|
|
80
78
|
show: true,
|
|
81
79
|
filter: true,
|
|
@@ -86,7 +84,7 @@ export const tableDataFunc = (
|
|
|
86
84
|
text: localization.common.type,
|
|
87
85
|
isSortable: false,
|
|
88
86
|
sort: 'asc',
|
|
89
|
-
sortColumn:
|
|
87
|
+
sortColumn: false,
|
|
90
88
|
width: '120px',
|
|
91
89
|
show: true,
|
|
92
90
|
filter: true,
|
|
@@ -97,7 +95,7 @@ export const tableDataFunc = (
|
|
|
97
95
|
text: localization.common.thinProvisioning,
|
|
98
96
|
isSortable: false,
|
|
99
97
|
sort: 'asc',
|
|
100
|
-
sortColumn:
|
|
98
|
+
sortColumn: false,
|
|
101
99
|
width: '160px',
|
|
102
100
|
show: true,
|
|
103
101
|
filter: true,
|
|
@@ -108,7 +106,7 @@ export const tableDataFunc = (
|
|
|
108
106
|
text: localization.common.access,
|
|
109
107
|
isSortable: false,
|
|
110
108
|
sort: 'asc',
|
|
111
|
-
sortColumn:
|
|
109
|
+
sortColumn: false,
|
|
112
110
|
width: '120px',
|
|
113
111
|
show: true,
|
|
114
112
|
filter: true,
|
|
@@ -119,7 +117,7 @@ export const tableDataFunc = (
|
|
|
119
117
|
text: localization.common.hardwareAcceleration,
|
|
120
118
|
isSortable: false,
|
|
121
119
|
sort: 'asc',
|
|
122
|
-
sortColumn:
|
|
120
|
+
sortColumn: false,
|
|
123
121
|
width: '200px',
|
|
124
122
|
show: true,
|
|
125
123
|
filter: true,
|
|
@@ -130,7 +128,7 @@ export const tableDataFunc = (
|
|
|
130
128
|
text: localization.common.driverType,
|
|
131
129
|
isSortable: false,
|
|
132
130
|
sort: 'asc',
|
|
133
|
-
sortColumn:
|
|
131
|
+
sortColumn: false,
|
|
134
132
|
width: '150px',
|
|
135
133
|
show: true,
|
|
136
134
|
filter: true,
|
|
@@ -141,7 +139,7 @@ export const tableDataFunc = (
|
|
|
141
139
|
text: localization.common.device,
|
|
142
140
|
isSortable: false,
|
|
143
141
|
sort: 'asc',
|
|
144
|
-
sortColumn:
|
|
142
|
+
sortColumn: false,
|
|
145
143
|
width: '150px',
|
|
146
144
|
show: true,
|
|
147
145
|
filter: true,
|
|
@@ -152,7 +150,7 @@ export const tableDataFunc = (
|
|
|
152
150
|
text: localization.common.storageIoControl,
|
|
153
151
|
isSortable: false,
|
|
154
152
|
sort: 'asc',
|
|
155
|
-
sortColumn:
|
|
153
|
+
sortColumn: false,
|
|
156
154
|
width: '180px',
|
|
157
155
|
show: true,
|
|
158
156
|
filter: true,
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
:sub-title="props.subTitle"
|
|
5
5
|
:description="props.description"
|
|
6
6
|
:modal-texts="props.modalTexts"
|
|
7
|
+
:loading="props.isLoading"
|
|
7
8
|
@hide-modal="emits('hide')"
|
|
8
9
|
@confirm="emits('confirm')"
|
|
9
10
|
>
|
|
@@ -22,9 +23,11 @@ const props = withDefaults(
|
|
|
22
23
|
subTitle: string
|
|
23
24
|
description: string
|
|
24
25
|
modalTexts?: UI_I_ModalTexts
|
|
26
|
+
isLoading?: boolean
|
|
25
27
|
}>(),
|
|
26
28
|
{
|
|
27
29
|
modalTexts: undefined,
|
|
30
|
+
isLoading: false
|
|
28
31
|
}
|
|
29
32
|
)
|
|
30
33
|
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
>
|
|
8
8
|
<tbody>
|
|
9
9
|
<tr>
|
|
10
|
-
<td class="left">{{ localization.common.name }}</td>
|
|
10
|
+
<td class="left" data-id="vm-snapshot-name-label">{{ localization.common.name }}</td>
|
|
11
11
|
<td class="left snapshot-name-label" data-id="vm-snapshot-name">
|
|
12
12
|
{{ detailData.name }}
|
|
13
13
|
</td>
|
|
14
14
|
</tr>
|
|
15
15
|
<tr>
|
|
16
|
-
<td class="left">{{ localization.common.description }}</td>
|
|
16
|
+
<td class="left" data-id="vm-snapshot-description-label">{{ localization.common.description }}</td>
|
|
17
17
|
<td
|
|
18
18
|
class="left snapshot-name-label"
|
|
19
19
|
data-id="vm-snapshot-description"
|
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
</td>
|
|
23
23
|
</tr>
|
|
24
24
|
<tr>
|
|
25
|
-
<td class="left">{{ localization.snapshots.timestamp }}</td>
|
|
25
|
+
<td class="left" data-id="vm-snapshot-timestamp-label">{{ localization.snapshots.timestamp }}</td>
|
|
26
26
|
<td class="left snapshot-name-label" data-id="vm-snapshot-timestamp">
|
|
27
27
|
{{ detailData.timestamp }}
|
|
28
28
|
</td>
|
|
29
29
|
</tr>
|
|
30
30
|
<tr>
|
|
31
|
-
<td class="left">{{ localization.common.size }}</td>
|
|
31
|
+
<td class="left" data-id="vm-snapshot-size-label">{{ localization.common.size }}</td>
|
|
32
32
|
<td class="left snapshot-name-label">{{ detailData.size }}</td>
|
|
33
33
|
</tr>
|
|
34
34
|
<tr>
|
|
35
|
-
<td class="left">
|
|
35
|
+
<td class="left" data-id="vm-snapshot-of-memory-label">
|
|
36
36
|
{{ localization.common.snapshotTheVirtualMachinesMemory }}
|
|
37
37
|
</td>
|
|
38
38
|
<td class="left snapshot-name-label" data-id="vm-snapshot-of-memory">
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
</td>
|
|
41
41
|
</tr>
|
|
42
42
|
<tr>
|
|
43
|
-
<td class="left">
|
|
43
|
+
<td class="left" data-id="vm-snapshot-file-system-label">
|
|
44
44
|
{{ localization.common.quiesceGuestFileSystem }}
|
|
45
45
|
</td>
|
|
46
46
|
<td
|
|
@@ -256,4 +256,10 @@ const onCreateDatastore = (): void => emits('submit')
|
|
|
256
256
|
padding: 10px 12px;
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
|
+
:deep(.ui-wizard-content-right-container) {
|
|
260
|
+
padding: 0 30px;
|
|
261
|
+
}
|
|
262
|
+
:deep(.ui-wizard-subtitle-container) + *, :deep(.ui-wizard-subtitle-container) {
|
|
263
|
+
padding-left: 2px;
|
|
264
|
+
}
|
|
259
265
|
</style>
|
|
@@ -618,9 +618,20 @@ const finalValidationFunc = async (
|
|
|
618
618
|
const stepId = wizard.getStepIdByFieldName(fieldName)
|
|
619
619
|
|
|
620
620
|
if (stepId !== -1) {
|
|
621
|
+
let message = ''
|
|
622
|
+
|
|
623
|
+
if (validationFields[fieldName]) {
|
|
624
|
+
message = `${validationFields[
|
|
625
|
+
fieldName
|
|
626
|
+
][0].toUpperCase()}${validationFields[fieldName].substring(1)}`
|
|
627
|
+
|
|
628
|
+
message =
|
|
629
|
+
message.charAt(message.length - 1) !== '.' ? message + '.' : message
|
|
630
|
+
}
|
|
631
|
+
|
|
621
632
|
stepHasError = wizard.setValidation(stepId, fieldName, {
|
|
622
|
-
fieldMessage:
|
|
623
|
-
alertMessage:
|
|
633
|
+
fieldMessage: message,
|
|
634
|
+
alertMessage: message,
|
|
624
635
|
})
|
|
625
636
|
}
|
|
626
637
|
}
|
|
@@ -44,22 +44,21 @@
|
|
|
44
44
|
>
|
|
45
45
|
<template #subTitle>
|
|
46
46
|
<div ref="selectTargetDeviceBlock">
|
|
47
|
-
<div class="
|
|
47
|
+
<div class="alert-block flex flex-col">
|
|
48
48
|
<template
|
|
49
49
|
v-for="(message, field, key) in selectedStep.fields"
|
|
50
50
|
:key="key"
|
|
51
51
|
>
|
|
52
52
|
<ui-alert
|
|
53
|
+
v-if="!!message.alert"
|
|
53
54
|
:messages="[message.alert]"
|
|
54
55
|
test-id="select-target-device-alert"
|
|
55
|
-
:class="{
|
|
56
|
-
'mb-4':
|
|
57
|
-
props.alertMessages[selectedStep.id].length - 1 === key,
|
|
58
|
-
}"
|
|
59
56
|
size="md"
|
|
60
57
|
@hide="emits('hide-alert', selectedStep.id, field)"
|
|
61
58
|
/>
|
|
62
59
|
</template>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="subtitle-block flex flex-col">
|
|
63
62
|
<ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
|
|
64
63
|
<ui-line margin="12px 0 0" />
|
|
65
64
|
</div>
|
|
@@ -89,22 +88,21 @@
|
|
|
89
88
|
>
|
|
90
89
|
<template #subTitle>
|
|
91
90
|
<div ref="createStandardSwitchBlock">
|
|
92
|
-
<div class="
|
|
91
|
+
<div class="alert-block flex flex-col">
|
|
93
92
|
<template
|
|
94
93
|
v-for="(message, field, key) in selectedStep.fields"
|
|
95
94
|
:key="key"
|
|
96
95
|
>
|
|
97
96
|
<ui-alert
|
|
97
|
+
v-if="!!message.alert"
|
|
98
98
|
:messages="[message.alert]"
|
|
99
99
|
test-id="create-standard-switch-alert"
|
|
100
|
-
:class="{
|
|
101
|
-
'mb-4':
|
|
102
|
-
props.alertMessages[selectedStep.id].length - 1 === key,
|
|
103
|
-
}"
|
|
104
100
|
size="md"
|
|
105
101
|
@hide="emits('hide-alert', selectedStep.id, field)"
|
|
106
102
|
/>
|
|
107
103
|
</template>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="subtitle-block flex flex-col">
|
|
108
106
|
<ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
|
|
109
107
|
<ui-line margin="12px 0 0" />
|
|
110
108
|
</div>
|
|
@@ -146,22 +144,21 @@
|
|
|
146
144
|
>
|
|
147
145
|
<template #subTitle>
|
|
148
146
|
<div ref="portPropertiesBlock">
|
|
149
|
-
<div class="
|
|
147
|
+
<div class="alert-block flex flex-col">
|
|
150
148
|
<template
|
|
151
149
|
v-for="(message, field, key) in selectedStep.fields"
|
|
152
150
|
:key="key"
|
|
153
151
|
>
|
|
154
152
|
<ui-alert
|
|
153
|
+
v-if="!!message.alert"
|
|
155
154
|
:messages="[message.alert]"
|
|
156
155
|
test-id="port-properties-alert"
|
|
157
|
-
:class="{
|
|
158
|
-
'mb-4':
|
|
159
|
-
props.alertMessages[selectedStep.id].length - 1 === key,
|
|
160
|
-
}"
|
|
161
156
|
size="md"
|
|
162
157
|
@hide="emits('hide-alert', selectedStep.id, field)"
|
|
163
158
|
/>
|
|
164
159
|
</template>
|
|
160
|
+
</div>
|
|
161
|
+
<div class="subtitle-block flex flex-col">
|
|
165
162
|
<ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
|
|
166
163
|
<ui-line margin="12px 0 0" />
|
|
167
164
|
</div>
|
|
@@ -190,22 +187,21 @@
|
|
|
190
187
|
>
|
|
191
188
|
<template #subTitle>
|
|
192
189
|
<div ref="ipFourSettingsBlock">
|
|
193
|
-
<div class="
|
|
190
|
+
<div class="alert-block flex flex-col">
|
|
194
191
|
<template
|
|
195
192
|
v-for="(message, field, key) in selectedStep.fields"
|
|
196
193
|
:key="key"
|
|
197
194
|
>
|
|
198
195
|
<ui-alert
|
|
196
|
+
v-if="!!message.alert"
|
|
199
197
|
:messages="[message.alert]"
|
|
200
198
|
test-id="ip-four-settings-alert"
|
|
201
|
-
:class="{
|
|
202
|
-
'mb-4':
|
|
203
|
-
props.alertMessages[selectedStep.id].length - 1 === key,
|
|
204
|
-
}"
|
|
205
199
|
size="md"
|
|
206
200
|
@hide="emits('hide-alert', selectedStep.id, field)"
|
|
207
201
|
/>
|
|
208
202
|
</template>
|
|
203
|
+
</div>
|
|
204
|
+
<div class="subtitle-block flex flex-col">
|
|
209
205
|
<ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
|
|
210
206
|
<ui-line margin="12px 0 0" />
|
|
211
207
|
</div>
|
|
@@ -233,22 +229,21 @@
|
|
|
233
229
|
>
|
|
234
230
|
<template #subTitle>
|
|
235
231
|
<div ref="connectionSettingsBlock">
|
|
236
|
-
<div class="
|
|
232
|
+
<div class="alert-block flex flex-col">
|
|
237
233
|
<template
|
|
238
234
|
v-for="(message, field, key) in selectedStep.fields"
|
|
239
235
|
:key="key"
|
|
240
236
|
>
|
|
241
237
|
<ui-alert
|
|
238
|
+
v-if="!!message.alert"
|
|
242
239
|
:messages="[message.alert]"
|
|
243
240
|
test-id="connection-settings-alert"
|
|
244
|
-
:class="{
|
|
245
|
-
'mb-4':
|
|
246
|
-
props.alertMessages[selectedStep.id].length - 1 === key,
|
|
247
|
-
}"
|
|
248
241
|
size="md"
|
|
249
242
|
@hide="emits('hide-alert', selectedStep.id, field)"
|
|
250
243
|
/>
|
|
251
244
|
</template>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="subtitle-block flex flex-col">
|
|
252
247
|
<ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
|
|
253
248
|
<ui-line margin="12px 0 0" />
|
|
254
249
|
</div>
|
|
@@ -463,6 +458,7 @@ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> => {
|
|
|
463
458
|
}
|
|
464
459
|
:deep(.ui-wizard-content-with-subtitle) {
|
|
465
460
|
padding-right: 0;
|
|
461
|
+
scrollbar-gutter: unset;
|
|
466
462
|
}
|
|
467
463
|
}
|
|
468
464
|
|
|
@@ -477,7 +473,7 @@ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> => {
|
|
|
477
473
|
:deep(.ui-alert-item) {
|
|
478
474
|
margin-bottom: 12px;
|
|
479
475
|
|
|
480
|
-
|
|
476
|
+
&:last-of-type {
|
|
481
477
|
margin-bottom: 16px;
|
|
482
478
|
}
|
|
483
479
|
}
|
|
@@ -37,7 +37,7 @@ export const portPropertiesInitial = (
|
|
|
37
37
|
localization: UI_I_Localization
|
|
38
38
|
): UI_I_PortProperties => ({
|
|
39
39
|
networkLabel: '',
|
|
40
|
-
vlanId: `${localization.common.
|
|
40
|
+
vlanId: `${localization.common.none2} (0)`,
|
|
41
41
|
mtu: {
|
|
42
42
|
option: '0',
|
|
43
43
|
size: 1500,
|
|
@@ -62,15 +62,15 @@ export const connectionSettingsInitial = (
|
|
|
62
62
|
localization: UI_I_Localization
|
|
63
63
|
): UI_I_ConnectionSettings => ({
|
|
64
64
|
networkLabel: 'VM Network',
|
|
65
|
-
vlanId: `${localization.common.
|
|
65
|
+
vlanId: `${localization.common.none2} (0)`,
|
|
66
66
|
})
|
|
67
67
|
|
|
68
68
|
export const vlanIdSelectDataFunc = (
|
|
69
69
|
localization: UI_I_Localization
|
|
70
70
|
): UI_I_VlanIdData[] => [
|
|
71
71
|
{
|
|
72
|
-
text: `${localization.common.
|
|
73
|
-
value: `${localization.common.
|
|
72
|
+
text: `${localization.common.none2} (0)`,
|
|
73
|
+
value: `${localization.common.none2} (0)`,
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
text: `${localization.common.all} (4095)`,
|
|
@@ -281,14 +281,8 @@ const fields = computed({
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
:deep(.ui-checkbox-label) {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
overflow: hidden;
|
|
287
|
-
|
|
288
|
-
.ui-checkbox-label-text {
|
|
289
|
-
text-overflow: ellipsis;
|
|
290
|
-
white-space: nowrap;
|
|
291
|
-
overflow: hidden;
|
|
284
|
+
&.md {
|
|
285
|
+
height: unset;
|
|
292
286
|
}
|
|
293
287
|
}
|
|
294
288
|
.tooltip-text {
|
|
@@ -299,14 +299,8 @@ const portPropertiesEnabledServices = computed<
|
|
|
299
299
|
padding: 0 8px 0 12px;
|
|
300
300
|
}
|
|
301
301
|
:deep(.ui-checkbox-label) {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
overflow: hidden;
|
|
305
|
-
|
|
306
|
-
.ui-checkbox-label-text {
|
|
307
|
-
text-overflow: ellipsis;
|
|
308
|
-
white-space: nowrap;
|
|
309
|
-
overflow: hidden;
|
|
302
|
+
&.md {
|
|
303
|
+
height: unset;
|
|
310
304
|
}
|
|
311
305
|
}
|
|
312
306
|
</style>
|
package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue
CHANGED
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
<template #row="{ item }">
|
|
104
104
|
<div v-if="item.iconName" class="browse-btn">
|
|
105
105
|
<ui-button
|
|
106
|
-
test-id="
|
|
106
|
+
test-id="browse-network"
|
|
107
107
|
type="primary"
|
|
108
108
|
variant="text"
|
|
109
109
|
size="lg"
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
<template #row="{ item }">
|
|
155
155
|
<div v-if="item.iconName" class="browse-btn">
|
|
156
156
|
<ui-button
|
|
157
|
-
test-id="
|
|
157
|
+
test-id="browse-standard-switch"
|
|
158
158
|
type="primary"
|
|
159
159
|
variant="text"
|
|
160
160
|
size="lg"
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
<template #row="{ item }">
|
|
204
204
|
<div v-if="item.iconName" class="browse-btn">
|
|
205
205
|
<ui-button
|
|
206
|
-
test-id="
|
|
206
|
+
test-id="browse-switch"
|
|
207
207
|
type="primary"
|
|
208
208
|
variant="text"
|
|
209
209
|
size="lg"
|
|
@@ -357,10 +357,17 @@ watch(
|
|
|
357
357
|
:deep(.ui-btn) {
|
|
358
358
|
justify-content: flex-start;
|
|
359
359
|
height: 32px;
|
|
360
|
+
overflow: hidden;
|
|
361
|
+
text-overflow: ellipsis;
|
|
362
|
+
white-space: nowrap;
|
|
363
|
+
width: 100%;
|
|
360
364
|
|
|
361
365
|
span {
|
|
362
366
|
text-align: left;
|
|
363
367
|
color: var(--select-text);
|
|
368
|
+
overflow: hidden;
|
|
369
|
+
text-overflow: ellipsis;
|
|
370
|
+
white-space: nowrap;
|
|
364
371
|
}
|
|
365
372
|
|
|
366
373
|
&:hover {
|
package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue
CHANGED
|
@@ -46,7 +46,7 @@ import type {
|
|
|
46
46
|
UI_I_DataTable,
|
|
47
47
|
UI_I_DataTableHeader,
|
|
48
48
|
UI_I_DataTableBody,
|
|
49
|
-
UI_I_TableTexts
|
|
49
|
+
UI_I_TableTexts,
|
|
50
50
|
} from '~/node_modules/bfg-uikit/components/ui/dataTable/lib/models/interfaces'
|
|
51
51
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
52
52
|
import type {
|
|
@@ -147,6 +147,10 @@ const onSelectNetwork = (): void => {
|
|
|
147
147
|
<style scoped lang="scss">
|
|
148
148
|
:deep(.table-container) {
|
|
149
149
|
padding: 8px 32px !important;
|
|
150
|
+
|
|
151
|
+
.column-manager-button span {
|
|
152
|
+
font-weight: 500;
|
|
153
|
+
}
|
|
150
154
|
}
|
|
151
155
|
|
|
152
156
|
.row-container {
|
|
@@ -21,7 +21,7 @@ export const checkVlanId = (
|
|
|
21
21
|
vlanId: string,
|
|
22
22
|
localization: UI_I_Localization
|
|
23
23
|
): boolean =>
|
|
24
|
-
vlanId !== `${localization.common.
|
|
24
|
+
vlanId !== `${localization.common.none2} (0)` &&
|
|
25
25
|
vlanId !== `${localization.common.all} (4095)` &&
|
|
26
26
|
(isIntegerNumberInRange(vlanId, 0, 4095) || vlanId.trim() === '')
|
|
27
27
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="device-table-container">
|
|
3
3
|
<ui-data-table
|
|
4
4
|
:data="data"
|
|
5
|
-
:options="options"
|
|
5
|
+
:options="tableConfig.options"
|
|
6
6
|
:loading="props.isLoading"
|
|
7
7
|
:total-pages="props.totalPages"
|
|
8
8
|
:total-items="props.totalItems"
|
|
@@ -79,13 +79,10 @@ import type {
|
|
|
79
79
|
UI_I_TableTexts,
|
|
80
80
|
} from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
|
|
81
81
|
import type { UI_I_DataTableSkeleton } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
|
|
82
|
-
import type { UI_T_SelectComputeResourceTabType } from '~/components/common/wizards/vm/migrate/
|
|
82
|
+
import type { UI_T_SelectComputeResourceTabType } from '~/components/common/wizards/vm/migrate/steps/selectStorage/lib/models/types'
|
|
83
83
|
import type { UI_T_ComputeResourceTableItem } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/types'
|
|
84
|
-
import
|
|
85
|
-
|
|
86
|
-
getHeaderDataFunc,
|
|
87
|
-
getBodyDataFunc,
|
|
88
|
-
} from '~/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable'
|
|
84
|
+
import * as hostTable from '~/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable'
|
|
85
|
+
import * as clusterTable from '~/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable'
|
|
89
86
|
|
|
90
87
|
const selectedDataLocal = defineModel<number | null>({ required: true })
|
|
91
88
|
const props = defineProps<{
|
|
@@ -120,15 +117,33 @@ const tableSkeleton = ref<UI_I_DataTableSkeleton>({
|
|
|
120
117
|
withoutPagination: true,
|
|
121
118
|
})
|
|
122
119
|
|
|
120
|
+
const tableTitleMap = {
|
|
121
|
+
host: localization.value.common.hosts,
|
|
122
|
+
cluster: localization.value.common.clusters,
|
|
123
|
+
} as const
|
|
124
|
+
const tableConfigMap = {
|
|
125
|
+
host: hostTable,
|
|
126
|
+
cluster: clusterTable,
|
|
127
|
+
} as const
|
|
128
|
+
|
|
129
|
+
const tableConfig = computed(
|
|
130
|
+
() => tableConfigMap[props.type as keyof typeof tableConfigMap]
|
|
131
|
+
)
|
|
132
|
+
|
|
123
133
|
const data = computed<UI_I_DataTable>(() => ({
|
|
124
|
-
id:
|
|
125
|
-
title:
|
|
134
|
+
id: `compute-resource-${props.type}-table`,
|
|
135
|
+
title: tableDataTitle.value,
|
|
126
136
|
header: deviceHeadItems.value,
|
|
127
137
|
body: deviceBodyItems.value,
|
|
128
138
|
}))
|
|
129
|
-
|
|
139
|
+
const tableDataTitle = computed<string>(
|
|
140
|
+
() =>
|
|
141
|
+
`${tableTitleMap[props.type as keyof typeof tableConfigMap]} (${
|
|
142
|
+
props.totalItems
|
|
143
|
+
})`
|
|
144
|
+
)
|
|
130
145
|
const deviceHeadItems = computed<UI_I_DataTableHeader[]>(() =>
|
|
131
|
-
getHeaderDataFunc(localization.value)
|
|
146
|
+
tableConfig.value.getHeaderDataFunc(localization.value)
|
|
132
147
|
)
|
|
133
148
|
|
|
134
149
|
const deviceBodyItems = ref<UI_I_DataTableBody[]>([])
|
|
@@ -140,13 +155,16 @@ watch(
|
|
|
140
155
|
return
|
|
141
156
|
}
|
|
142
157
|
|
|
143
|
-
deviceBodyItems.value = getBodyDataFunc(
|
|
158
|
+
deviceBodyItems.value = tableConfig.value.getBodyDataFunc(
|
|
159
|
+
newValue,
|
|
160
|
+
localization.value
|
|
161
|
+
)
|
|
144
162
|
},
|
|
145
163
|
{ deep: true, immediate: true }
|
|
146
164
|
)
|
|
147
165
|
|
|
148
166
|
const onSelectRow = (value: UI_I_DataTableBody[]): void => {
|
|
149
|
-
selectedDataLocal.value = value?.[0].row
|
|
167
|
+
selectedDataLocal.value = value?.[0].row as number
|
|
150
168
|
}
|
|
151
169
|
</script>
|
|
152
170
|
|