bfg-common 1.5.218 → 1.5.220
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/backup/storage/actions/add/Add.vue +1 -16
- package/components/common/backup/storage/actions/add/temp/Add.vue +34 -53
- package/components/common/backup/storage/actions/add/temp/lib/config/stepItems.ts +13 -46
- package/components/common/backup/storage/actions/add/temp/lib/utils.ts +5 -6
- package/components/common/backup/storage/actions/add/temp/local/Local.vue +31 -49
- package/components/common/backup/storage/actions/add/temp/local/createName/CreateName.vue +3 -5
- package/components/common/backup/storage/actions/add/temp/nfs/Nfs.vue +5 -5
- package/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/models/types.ts +2 -2
- package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +27 -1
- package/components/common/backup/storage/actions/add/temp/nfs/accessibility/tablesView/lib/config/tableKeys.ts +2 -2
- package/components/common/backup/storage/actions/add/temp/nfs/configuration/Configuration.vue +4 -4
- package/components/common/backup/storage/actions/add/temp/readyComplete/ReadyComplete.vue +1 -1
- package/components/common/backup/storage/actions/add/temp/readyComplete/lib/config/propertiesDetails.ts +7 -33
- package/components/common/backup/storage/actions/add/temp/samba/accessibility/lib/models/types.ts +2 -2
- package/components/common/backup/storage/actions/add/temp/samba/accessibility/tablesView/lib/config/tableKeys.ts +2 -2
- package/components/common/backup/storage/actions/add/temp/samba/configuration/Configuration.vue +1 -1
- package/components/common/backup/storage/actions/add/temp/sharedStorm/SharedStorm.vue +21 -47
- package/components/common/backup/storage/actions/add/temp/sharedStorm/createName/CreateName.vue +156 -0
- package/components/common/backup/storage/actions/add/temp/sharedStorm/createName/lib/config/defaultForm.ts +15 -0
- package/components/common/backup/storage/actions/add/temp/types/Types.vue +2 -3
- package/components/common/backup/storage/actions/add/temp/types/lib/config/typeOptions.ts +15 -25
- package/components/common/browse/blocks/lib/models/types.ts +1 -1
- package/components/common/browse/lib/models/interfaces.ts +5 -5
- package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
- package/components/common/diagramMain/lib/config/initial.ts +50 -50
- package/components/common/diagramMain/lib/models/types.ts +21 -21
- package/components/common/diagramMain/lib/utils/utils.ts +331 -331
- package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
- package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
- package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
- package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
- package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
- package/components/common/diagramMain/port/Ports.vue +47 -47
- package/package.json +2 -2
- package/components/common/backup/storage/actions/add/temp/local/accessibility/Accessibility.vue +0 -104
- package/components/common/backup/storage/actions/add/temp/local/accessibility/lib/config/tabsPannel.ts +0 -25
- package/components/common/backup/storage/actions/add/temp/local/accessibility/lib/models/interfaces.ts +0 -9
- package/components/common/backup/storage/actions/add/temp/local/accessibility/lib/models/types.ts +0 -5
- package/components/common/backup/storage/actions/add/temp/local/accessibility/tablesView/TablesView.vue +0 -141
- package/components/common/backup/storage/actions/add/temp/local/accessibility/tablesView/lib/config/compatibleTable.ts +0 -62
- package/components/common/backup/storage/actions/add/temp/local/accessibility/tablesView/lib/config/hostsTableItems.ts +0 -27
- package/components/common/backup/storage/actions/add/temp/local/accessibility/tablesView/lib/config/incompatibleTable.ts +0 -68
- package/components/common/backup/storage/actions/add/temp/local/accessibility/tablesView/lib/config/tableKeys.ts +0 -15
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="new-datastore">
|
|
3
3
|
<common-backup-storage-actions-add-temp-add
|
|
4
|
-
|
|
4
|
+
mode="procurator"
|
|
5
5
|
:finish-func="onFinish"
|
|
6
|
-
:hosts="props.hosts"
|
|
7
|
-
:datastore="props.datastore"
|
|
8
|
-
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
9
6
|
@hide="onHideModal"
|
|
10
7
|
/>
|
|
11
8
|
</div>
|
|
@@ -17,19 +14,7 @@ import type {
|
|
|
17
14
|
UI_T_NfsType,
|
|
18
15
|
} from '~/components/common/wizards/datastore/add/lib/models/types'
|
|
19
16
|
import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
|
|
20
|
-
import type { UI_T_WizardDatastoreMode } from '~/components/common/backup/storage/actions/add/temp/lib/models/types'
|
|
21
|
-
import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
|
|
22
|
-
import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
|
|
23
17
|
|
|
24
|
-
const props = withDefaults(
|
|
25
|
-
defineProps<{
|
|
26
|
-
mode: UI_T_WizardDatastoreMode
|
|
27
|
-
datastore: UI_I_DatastoreTableItem[]
|
|
28
|
-
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
29
|
-
hosts?: any[]
|
|
30
|
-
}>(),
|
|
31
|
-
{ hosts: [] }
|
|
32
|
-
)
|
|
33
18
|
const emits = defineEmits<{
|
|
34
19
|
(event: 'create', value: any): void
|
|
35
20
|
(event: 'hide'): void
|
|
@@ -18,17 +18,20 @@
|
|
|
18
18
|
<common-backup-storage-actions-add-temp-types
|
|
19
19
|
v-show="stepPosition === 0"
|
|
20
20
|
v-model:type="datastoreType"
|
|
21
|
+
:project="props.mode"
|
|
21
22
|
/>
|
|
22
23
|
|
|
23
24
|
<common-backup-storage-actions-add-temp-local
|
|
24
25
|
v-show="datastoreType === 'local' && !isShowCompleteBlock"
|
|
25
26
|
:mode="props.mode"
|
|
26
27
|
:step-position="stepPosition"
|
|
28
|
+
:datastore-type="datastoreType"
|
|
27
29
|
:local-create-name-submit="localCreateNameSubmit"
|
|
28
|
-
:
|
|
29
|
-
:
|
|
30
|
+
:datacenter-hosts="props.datacenterHosts"
|
|
31
|
+
:is-main-filter="props.isMainFilter"
|
|
30
32
|
@loading="(e) => (loading = e)"
|
|
31
33
|
@submit="onSaveNameAndNextLocal"
|
|
34
|
+
@main-filter="emits('main-filter', $event)"
|
|
32
35
|
/>
|
|
33
36
|
|
|
34
37
|
<common-backup-storage-actions-add-temp-nfs
|
|
@@ -38,7 +41,7 @@
|
|
|
38
41
|
:datastore-type="datastoreType"
|
|
39
42
|
:nfs-configuration-submit="nfsConfigurationSubmit"
|
|
40
43
|
:host-accessibility-submit="hostAccessibilitySubmit"
|
|
41
|
-
:hosts="props.
|
|
44
|
+
:hosts="props.nfsHosts"
|
|
42
45
|
@loading="(e) => (loading = e)"
|
|
43
46
|
@change-nfs-version="updateNfsVersion"
|
|
44
47
|
@submit="saveChangesAndNextNfs"
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
:datastore-type="datastoreType"
|
|
52
55
|
:nfs-configuration-submit="nfsConfigurationSubmit"
|
|
53
56
|
:host-accessibility-submit="hostAccessibilitySubmit"
|
|
54
|
-
:hosts="props.
|
|
57
|
+
:hosts="props.nfsHosts"
|
|
55
58
|
@loading="(e) => (loading = e)"
|
|
56
59
|
@change-nfs-version="updateNfsVersion"
|
|
57
60
|
@submit="saveChangesAndNextSamba"
|
|
@@ -64,10 +67,6 @@
|
|
|
64
67
|
:datastore-type="datastoreType"
|
|
65
68
|
:create-name-submit="sharedStormCreateNameSubmit"
|
|
66
69
|
:storage-submit="storageSubmit"
|
|
67
|
-
:host-accessibility-submit="hostAccessibilitySubmit"
|
|
68
|
-
:hosts="props.hosts"
|
|
69
|
-
:datastore="props.datastore"
|
|
70
|
-
:get-datastore-table-func="props.getDatastoreTableFunc"
|
|
71
70
|
@loading="(e) => (loading = e)"
|
|
72
71
|
@submit="saveChangesAndNextSharedStorm"
|
|
73
72
|
/>
|
|
@@ -84,7 +83,6 @@
|
|
|
84
83
|
|
|
85
84
|
<script setup lang="ts">
|
|
86
85
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
87
|
-
import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
|
|
88
86
|
import type { UI_I_VerticalStepItem } from '~/components/atoms/lib/models/interfaces'
|
|
89
87
|
import type {
|
|
90
88
|
UI_T_DatastoreType,
|
|
@@ -95,7 +93,6 @@ import type {
|
|
|
95
93
|
I_SharedStormData,
|
|
96
94
|
UI_I_CreateDatastoreForm,
|
|
97
95
|
} from '~/components/common/backup/storage/actions/add/temp/lib/models/interfaces'
|
|
98
|
-
import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
|
|
99
96
|
import { stepItemsFunc } from '~/components/common/backup/storage/actions/add/temp/lib/config/stepItems'
|
|
100
97
|
import { constructDataReadyViewFunc } from '~/components/common/backup/storage/actions/add/temp/readyComplete/lib/config/propertiesDetails'
|
|
101
98
|
|
|
@@ -107,25 +104,23 @@ const props = defineProps<{
|
|
|
107
104
|
datastoreType: UI_T_DatastoreType,
|
|
108
105
|
version: UI_T_NfsType
|
|
109
106
|
) => Promise<void>
|
|
110
|
-
datastore: UI_I_DatastoreTableItem[]
|
|
111
|
-
getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
|
|
112
107
|
datacenterHosts?: any[]
|
|
113
108
|
nfsHosts?: any
|
|
114
|
-
hosts?: any
|
|
115
109
|
isMainFilter?: boolean
|
|
116
110
|
hostId?: string
|
|
117
111
|
}>()
|
|
118
112
|
const emits = defineEmits<{
|
|
119
113
|
(event: 'hide'): void
|
|
120
114
|
(event: 'global-refresh'): void
|
|
115
|
+
(event: 'main-filter', value: string): void
|
|
121
116
|
}>()
|
|
122
117
|
|
|
123
118
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
124
119
|
|
|
125
|
-
const isWizardModeForSphere = computed<boolean>(() => props.mode === 'sphere')
|
|
126
|
-
|
|
127
120
|
const loading = ref<boolean>(false)
|
|
128
|
-
const datastoreType = ref<UI_T_DatastoreType>(
|
|
121
|
+
const datastoreType = ref<UI_T_DatastoreType>(
|
|
122
|
+
props.mode === 'procurator' ? 'local' : 'shared-storm'
|
|
123
|
+
)
|
|
129
124
|
const nfsVersion = ref<UI_T_NfsType>('nfs-4.1')
|
|
130
125
|
|
|
131
126
|
const stepPosition = ref<number>(0)
|
|
@@ -163,7 +158,6 @@ const datastoreForm = ref<UI_I_CreateDatastoreForm>({
|
|
|
163
158
|
name: '',
|
|
164
159
|
storm_id: '',
|
|
165
160
|
type_code: 4,
|
|
166
|
-
hosts: [],
|
|
167
161
|
},
|
|
168
162
|
})
|
|
169
163
|
|
|
@@ -233,10 +227,6 @@ const checkSubmit = (force = false): boolean => {
|
|
|
233
227
|
localCreateNameSubmit.value++
|
|
234
228
|
return false
|
|
235
229
|
}
|
|
236
|
-
if (isWizardModeForSphere.value && stepPosition.value === 2 && !force) {
|
|
237
|
-
hostAccessibilitySubmit.value++
|
|
238
|
-
return false
|
|
239
|
-
}
|
|
240
230
|
}
|
|
241
231
|
|
|
242
232
|
if (datastoreType.value === 'nfs') {
|
|
@@ -245,7 +235,7 @@ const checkSubmit = (force = false): boolean => {
|
|
|
245
235
|
return false
|
|
246
236
|
}
|
|
247
237
|
|
|
248
|
-
if (
|
|
238
|
+
if (props.mode === 'sphere' && stepPosition.value === 2 && !force) {
|
|
249
239
|
hostAccessibilitySubmit.value++
|
|
250
240
|
return false
|
|
251
241
|
}
|
|
@@ -265,7 +255,7 @@ const checkSubmit = (force = false): boolean => {
|
|
|
265
255
|
return false
|
|
266
256
|
}
|
|
267
257
|
|
|
268
|
-
if (
|
|
258
|
+
if (props.mode === 'sphere' && stepPosition.value === 2 && !force) {
|
|
269
259
|
hostAccessibilitySubmit.value++
|
|
270
260
|
return false
|
|
271
261
|
}
|
|
@@ -280,26 +270,24 @@ const checkSubmit = (force = false): boolean => {
|
|
|
280
270
|
storageSubmit.value++
|
|
281
271
|
return false
|
|
282
272
|
}
|
|
283
|
-
if (isWizardModeForSphere.value && stepPosition.value === 3 && !force) {
|
|
284
|
-
hostAccessibilitySubmit.value++
|
|
285
|
-
return false
|
|
286
|
-
}
|
|
287
273
|
}
|
|
288
274
|
|
|
289
275
|
return true
|
|
290
276
|
}
|
|
291
277
|
|
|
278
|
+
const isWizardModeForSphere = computed<boolean>(() => props.mode === 'sphere')
|
|
279
|
+
|
|
292
280
|
const onSaveNameAndNextLocal = (event: any): void => {
|
|
293
281
|
const { local } = datastoreForm.value
|
|
294
282
|
|
|
295
283
|
if (isWizardModeForSphere.value) {
|
|
296
284
|
local.name = event.name
|
|
297
|
-
local.hosts
|
|
285
|
+
local.hosts.push(event.host)
|
|
298
286
|
}
|
|
299
287
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
288
|
+
if (!isWizardModeForSphere.value) {
|
|
289
|
+
local.name = event
|
|
290
|
+
}
|
|
303
291
|
|
|
304
292
|
dataReadyView.value = constructDataReadyViewFunc(
|
|
305
293
|
localization.value,
|
|
@@ -320,19 +308,19 @@ const saveChangesAndNextNfs = (event: any, next = true): void => {
|
|
|
320
308
|
nfs.password = event.password
|
|
321
309
|
nfs.hosts = event.hosts
|
|
322
310
|
|
|
323
|
-
//
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
311
|
+
// TODO refactoring
|
|
312
|
+
const hostsNames = props.nfsHosts
|
|
313
|
+
? props.nfsHosts.items
|
|
314
|
+
.filter((host) => event.hosts.includes(host.id))
|
|
315
|
+
.map((host) => host.host)
|
|
316
|
+
: []
|
|
329
317
|
|
|
330
318
|
dataReadyView.value = constructDataReadyViewFunc(
|
|
331
319
|
localization.value,
|
|
332
320
|
'nfs',
|
|
333
321
|
{
|
|
334
322
|
...event,
|
|
335
|
-
|
|
323
|
+
hosts: hostsNames,
|
|
336
324
|
version: nfsVersion.value,
|
|
337
325
|
},
|
|
338
326
|
isWizardModeForSphere.value
|
|
@@ -350,19 +338,19 @@ const saveChangesAndNextSamba = (event: any, next = true): void => {
|
|
|
350
338
|
samba.password = event.password
|
|
351
339
|
samba.hosts = event.hosts
|
|
352
340
|
|
|
353
|
-
//
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
341
|
+
// TODO refactoring
|
|
342
|
+
const hostsNames = props.nfsHosts
|
|
343
|
+
? props.nfsHosts.items
|
|
344
|
+
.filter((host) => event.hosts.includes(host.id))
|
|
345
|
+
.map((host) => host.host)
|
|
346
|
+
: []
|
|
359
347
|
|
|
360
348
|
dataReadyView.value = constructDataReadyViewFunc(
|
|
361
349
|
localization.value,
|
|
362
350
|
'samba',
|
|
363
351
|
{
|
|
364
352
|
...event,
|
|
365
|
-
|
|
353
|
+
hosts: hostsNames,
|
|
366
354
|
},
|
|
367
355
|
isWizardModeForSphere.value
|
|
368
356
|
)
|
|
@@ -377,7 +365,6 @@ const saveChangesAndNextSharedStorm = (
|
|
|
377
365
|
const { sharedStorm } = datastoreForm.value
|
|
378
366
|
sharedStorm.name = event.name
|
|
379
367
|
sharedStorm.storm_id = event.storm_id
|
|
380
|
-
sharedStorm.hosts = event.hosts
|
|
381
368
|
|
|
382
369
|
dataReadyView.value = constructDataReadyViewFunc(
|
|
383
370
|
localization.value,
|
|
@@ -393,13 +380,7 @@ const saveChangesAndNextSharedStorm = (
|
|
|
393
380
|
|
|
394
381
|
const isShowCompleteBlock = computed<boolean>(() => {
|
|
395
382
|
// TODO refactoring
|
|
396
|
-
|
|
397
|
-
let localStep
|
|
398
|
-
if (props.mode === 'procurator') {
|
|
399
|
-
localStep = datastoreType.value === 'local' && stepPosition.value === 2
|
|
400
|
-
} else {
|
|
401
|
-
localStep = datastoreType.value === 'local' && stepPosition.value === 3
|
|
402
|
-
}
|
|
383
|
+
const localStep = datastoreType.value === 'local' && stepPosition.value === 2
|
|
403
384
|
|
|
404
385
|
let nfsFirst
|
|
405
386
|
if (props.mode === 'procurator') {
|
|
@@ -61,7 +61,7 @@ const stepFromNfs = (
|
|
|
61
61
|
text: localization.common.nameAndConfiguration,
|
|
62
62
|
disabled: true,
|
|
63
63
|
complete: false,
|
|
64
|
-
testId: 'name-and-configuration'
|
|
64
|
+
testId: 'name-and-configuration'
|
|
65
65
|
},
|
|
66
66
|
]
|
|
67
67
|
|
|
@@ -70,7 +70,7 @@ const stepFromNfs = (
|
|
|
70
70
|
text: localization.common.hostsAccessibility,
|
|
71
71
|
disabled: true,
|
|
72
72
|
complete: false,
|
|
73
|
-
testId: 'hosts-accessibility'
|
|
73
|
+
testId: 'hosts-accessibility'
|
|
74
74
|
})
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -78,7 +78,7 @@ const stepFromNfs = (
|
|
|
78
78
|
text: localization.common.readyComplete,
|
|
79
79
|
disabled: true,
|
|
80
80
|
complete: false,
|
|
81
|
-
testId: 'ready-complete'
|
|
81
|
+
testId: 'ready-complete'
|
|
82
82
|
})
|
|
83
83
|
|
|
84
84
|
return steps
|
|
@@ -100,18 +100,13 @@ const stemFromLocal = (
|
|
|
100
100
|
localization: UI_I_Localization,
|
|
101
101
|
mode: UI_T_WizardDatastoreMode
|
|
102
102
|
): UI_I_VerticalStepItem[] => {
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
disabled: false,
|
|
107
|
-
complete: false,
|
|
108
|
-
testId: 'type',
|
|
109
|
-
},
|
|
103
|
+
const isModeProcurator = mode === 'procurator'
|
|
104
|
+
return [
|
|
105
|
+
{ text: localization.common.type, disabled: false, complete: false, testId: 'type', },
|
|
110
106
|
{
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
text: localization.common.selectDatastoreName,
|
|
107
|
+
text: localization.common[
|
|
108
|
+
isModeProcurator ? 'selectDatastoreName' : 'nameAndDeviceSelection'
|
|
109
|
+
],
|
|
115
110
|
disabled: true,
|
|
116
111
|
complete: false,
|
|
117
112
|
testId: 'datastore-name',
|
|
@@ -120,32 +115,15 @@ const stemFromLocal = (
|
|
|
120
115
|
text: localization.common.readyComplete,
|
|
121
116
|
disabled: true,
|
|
122
117
|
complete: false,
|
|
123
|
-
testId: 'ready-complete'
|
|
118
|
+
testId: 'ready-complete'
|
|
124
119
|
},
|
|
125
120
|
]
|
|
126
|
-
|
|
127
|
-
if (mode === 'sphere') {
|
|
128
|
-
steps.splice(2, 0, {
|
|
129
|
-
text: localization.common.hostsAccessibility,
|
|
130
|
-
disabled: true,
|
|
131
|
-
complete: false,
|
|
132
|
-
testId: 'hosts-accessibility',
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return steps
|
|
137
121
|
}
|
|
138
122
|
const stemFromSharedStorm = (
|
|
139
123
|
localization: UI_I_Localization,
|
|
140
|
-
mode: UI_T_WizardDatastoreMode
|
|
141
124
|
): UI_I_VerticalStepItem[] => {
|
|
142
|
-
|
|
143
|
-
{
|
|
144
|
-
text: localization.common.type,
|
|
145
|
-
disabled: false,
|
|
146
|
-
complete: false,
|
|
147
|
-
testId: 'type',
|
|
148
|
-
},
|
|
125
|
+
return [
|
|
126
|
+
{ text: localization.common.type, disabled: false, complete: false, testId: 'type', },
|
|
149
127
|
{
|
|
150
128
|
text: localization.common.selectDatastoreName,
|
|
151
129
|
disabled: true,
|
|
@@ -162,20 +140,9 @@ const stemFromSharedStorm = (
|
|
|
162
140
|
text: localization.common.readyComplete,
|
|
163
141
|
disabled: true,
|
|
164
142
|
complete: false,
|
|
165
|
-
testId: 'ready-complete'
|
|
143
|
+
testId: 'ready-complete'
|
|
166
144
|
},
|
|
167
145
|
]
|
|
168
|
-
|
|
169
|
-
if (mode === 'sphere') {
|
|
170
|
-
steps.splice(3, 0, {
|
|
171
|
-
text: localization.common.hostsAccessibility,
|
|
172
|
-
disabled: true,
|
|
173
|
-
complete: false,
|
|
174
|
-
testId: 'hosts-accessibility',
|
|
175
|
-
})
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
return steps
|
|
179
146
|
}
|
|
180
147
|
|
|
181
148
|
export const stepItemsFunc = (
|
|
@@ -23,12 +23,11 @@ export const checkValidityName = async (
|
|
|
23
23
|
): Promise<UI_I_DatastoreValidityName> => {
|
|
24
24
|
// TODO move to projects!!!
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
26
|
+
const kind = 10 // TODO move in global space
|
|
27
|
+
const url =
|
|
28
|
+
mode === 'procurator'
|
|
29
|
+
? `/ui/ds/validate?name=${encodeURIComponent(name)}`
|
|
30
|
+
: `/ui/object/validate_name?name=${encodeURIComponent(name)}&kind=${kind}`
|
|
32
31
|
// @ts-ignore
|
|
33
32
|
const { error } = await useMyFetch<null, API_UI_I_Error>(url, {
|
|
34
33
|
method: 'GET',
|
|
@@ -1,78 +1,60 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="local-step flex flex-col h-full">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
<span
|
|
4
|
+
v-if="mode === 'sphere' && props.stepPosition === 1"
|
|
5
|
+
class="vmfs-container__desc"
|
|
6
|
+
>
|
|
7
|
+
{{ localization.common.nameAndDeviceSelectionDesc }}
|
|
8
|
+
</span>
|
|
9
9
|
|
|
10
10
|
<common-backup-storage-actions-add-temp-local-create-name
|
|
11
|
-
v-show="props.stepPosition === 1"
|
|
12
|
-
:mode="props.mode"
|
|
11
|
+
v-show="mode === 'procurator' && props.stepPosition === 1"
|
|
13
12
|
:local-create-name-submit="props.localCreateNameSubmit"
|
|
14
13
|
test-id="local"
|
|
15
14
|
@loading="(e) => emits('loading', e)"
|
|
16
|
-
@submit="
|
|
15
|
+
@submit="(e) => emits('submit', e)"
|
|
17
16
|
/>
|
|
18
17
|
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
<common-backup-storage-actions-add-temp-shared-storm-device-selection
|
|
19
|
+
v-show="mode === 'sphere' && props.stepPosition === 1"
|
|
20
|
+
v-model:lun-disk="selectedLunDisk"
|
|
21
|
+
mode="sphere"
|
|
22
|
+
:device-selection-submit="props.localCreateNameSubmit"
|
|
23
|
+
:step-position="props.stepPosition"
|
|
24
|
+
:datastore-type="props.datastoreType"
|
|
25
|
+
:datacenter-hosts="props.datacenterHosts"
|
|
26
|
+
:is-main-filter="props.isMainFilter"
|
|
27
|
+
@loading="(e) => emits('loading', e)"
|
|
28
|
+
@submit="(e) => emits('submit', e)"
|
|
29
|
+
@main-filter="emits('main-filter', $event)"
|
|
24
30
|
/>
|
|
25
|
-
<!-- <common-backup-storage-actions-add-temp-shared-storm-device-selection-->
|
|
26
|
-
<!-- v-show="mode === 'sphere' && props.stepPosition === 1"-->
|
|
27
|
-
<!-- v-model:lun-disk="selectedLunDisk"-->
|
|
28
|
-
<!-- mode="sphere"-->
|
|
29
|
-
<!-- :device-selection-submit="props.localCreateNameSubmit"-->
|
|
30
|
-
<!-- :step-position="props.stepPosition"-->
|
|
31
|
-
<!-- :datastore-type="props.datastoreType"-->
|
|
32
|
-
<!-- :datacenter-hosts="props.datacenterHosts"-->
|
|
33
|
-
<!-- :is-main-filter="props.isMainFilter"-->
|
|
34
|
-
<!-- @loading="(e) => emits('loading', e)"-->
|
|
35
|
-
<!-- @submit="(e) => emits('submit', e)"-->
|
|
36
|
-
<!-- @main-filter="emits('main-filter', $event)"-->
|
|
37
|
-
<!-- />-->
|
|
38
31
|
</div>
|
|
39
32
|
</template>
|
|
40
33
|
|
|
41
34
|
<script lang="ts" setup>
|
|
42
35
|
import type { UI_T_Project } from '~/lib/models/types'
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
import type { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/datastore/add/steps/nameAndDevice/table/lib/models/interfaces'
|
|
37
|
+
import type { UI_I_SelectHostOptions } from '~/components/common/wizards/datastore/add/steps/nameAndDevice/lib/models/interfaces'
|
|
38
|
+
import type { UI_T_DatastoreTypeCode } from '~/components/common/wizards/datastore/add/lib/models/types'
|
|
39
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
47
40
|
|
|
48
41
|
const props = defineProps<{
|
|
49
|
-
mode: UI_T_Project
|
|
50
|
-
hosts: any
|
|
51
42
|
stepPosition: number
|
|
52
43
|
localCreateNameSubmit: number
|
|
53
|
-
|
|
44
|
+
datastoreType: UI_T_DatastoreTypeCode
|
|
45
|
+
mode: UI_T_Project
|
|
46
|
+
datacenterHosts?: UI_I_SelectHostOptions[]
|
|
47
|
+
isMainFilter?: boolean
|
|
54
48
|
}>()
|
|
55
49
|
const emits = defineEmits<{
|
|
56
50
|
(event: 'loading', value: boolean): void
|
|
57
51
|
(event: 'submit', value: string): void
|
|
52
|
+
(event: 'main-filter', value: string): void
|
|
58
53
|
}>()
|
|
59
54
|
|
|
60
|
-
const
|
|
61
|
-
name: '',
|
|
62
|
-
hosts: []
|
|
63
|
-
}
|
|
64
|
-
const onChangeName = (name: string): void => {
|
|
65
|
-
sendData.name = name
|
|
66
|
-
|
|
67
|
-
emits('submit', sendData)
|
|
68
|
-
}
|
|
69
|
-
const onChangeAccessibilityAndNext = (hosts: string[]): void => {
|
|
70
|
-
sendData.hosts = hosts
|
|
71
|
-
emits('submit', sendData)
|
|
72
|
-
}
|
|
73
|
-
// const localization = computed<UI_I_Localization>(() => useLocal())
|
|
55
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
74
56
|
|
|
75
|
-
|
|
57
|
+
const selectedLunDisk = ref<UI_I_CreateStorageLunDiskItem[]>([])
|
|
76
58
|
</script>
|
|
77
59
|
|
|
78
60
|
<style lang="scss" scoped>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<div class="clr-form-control clr-row flex flex-row">
|
|
12
12
|
<label for="datastore-name" class="clr-control-label clr-col-md-2">{{
|
|
13
|
-
|
|
13
|
+
localization.common.datastoreName
|
|
14
14
|
}}</label>
|
|
15
15
|
|
|
16
16
|
<div class="clr-control-container" :class="nameErrorText && 'clr-error'">
|
|
@@ -38,13 +38,11 @@
|
|
|
38
38
|
<script lang="ts" setup>
|
|
39
39
|
import type { UI_I_ValidationTouchResult } from '~/lib/models/plugins/validation/interfaces'
|
|
40
40
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
41
|
-
import type {
|
|
42
|
-
// import type { UI_I_FormValidationDataStore } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
|
|
41
|
+
import type { UI_I_FormValidationDataStore } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
|
|
43
42
|
import { defaultFormFunc } from '~/components/common/backup/storage/actions/add/temp/local/createName/lib/config/defaultForm'
|
|
44
43
|
import { checkValidityName } from '~/components/common/backup/storage/actions/add/temp/lib/utils'
|
|
45
44
|
|
|
46
45
|
const props = defineProps<{
|
|
47
|
-
mode: UI_T_Project
|
|
48
46
|
localCreateNameSubmit: number
|
|
49
47
|
testId: string
|
|
50
48
|
}>()
|
|
@@ -104,7 +102,7 @@ const submit = async (): Promise<void> => {
|
|
|
104
102
|
if (name) {
|
|
105
103
|
emits('loading', true)
|
|
106
104
|
|
|
107
|
-
const { valid, msg } = await checkValidityName(name
|
|
105
|
+
const { valid, msg } = await checkValidityName(name)
|
|
108
106
|
|
|
109
107
|
emits('loading', false)
|
|
110
108
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
<div class="nfs-container flex flex-col h-full">
|
|
3
3
|
<span class="nfs-container__desc">{{ stepSubTitle }}</span>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
<!-- <common-backup-storage-actions-add-temp-nfs-version-->
|
|
6
|
+
<!-- v-show="props.stepPosition === 1"-->
|
|
7
|
+
<!-- v-model:version="nfsVersion"-->
|
|
8
|
+
<!-- />-->
|
|
9
9
|
|
|
10
10
|
<common-backup-storage-actions-add-temp-nfs-configuration
|
|
11
11
|
v-show="props.stepPosition === 1"
|
|
@@ -76,7 +76,7 @@ const stepSubTitle = computed<string>(() => {
|
|
|
76
76
|
// )
|
|
77
77
|
// })
|
|
78
78
|
const showHostAccessibility = computed<boolean>(() => {
|
|
79
|
-
return props.mode === 'sphere' && props.stepPosition ===
|
|
79
|
+
return props.mode === 'sphere' && props.stepPosition === 3
|
|
80
80
|
})
|
|
81
81
|
|
|
82
82
|
watch(nfsVersion, (newValue: UI_T_NfsType) => {
|
package/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/models/types.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type T_HostsAccessibilityTab = 'compatible-hosts' | 'incompatible-hosts'
|
|
2
2
|
|
|
3
|
-
export type T_CompatibleHostsTableKeys = '
|
|
3
|
+
export type T_CompatibleHostsTableKeys = 'host' | 'cluster'
|
|
4
4
|
|
|
5
|
-
export type T_IncompatibleHostsTableKeys = '
|
|
5
|
+
export type T_IncompatibleHostsTableKeys = 'host' | 'cluster' | 'host_incompatibility_reason'
|
|
@@ -6,7 +6,33 @@ import type {
|
|
|
6
6
|
import type { T_HostsAccessibilityTab } from '~/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/models/types'
|
|
7
7
|
|
|
8
8
|
const compatibleHostsTable: API_UI_I_DataTable<I_CompatibleHostsTable[]> = {
|
|
9
|
-
items: [
|
|
9
|
+
items: [
|
|
10
|
+
{
|
|
11
|
+
id: 1,
|
|
12
|
+
host: 'esxi0.иридиум',
|
|
13
|
+
cluster: 'Cluster00',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: 2,
|
|
17
|
+
host: ' esxi0.иридиум',
|
|
18
|
+
cluster: 'Cluster00',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 3,
|
|
22
|
+
host: 'esxi3.иридиум',
|
|
23
|
+
cluster: 'Cluster00',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 4,
|
|
27
|
+
host: 'esxi4.иридиум',
|
|
28
|
+
cluster: 'Cluster00',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 5,
|
|
32
|
+
host: 'esxi1.иридиум',
|
|
33
|
+
cluster: 'Cluster01',
|
|
34
|
+
},
|
|
35
|
+
],
|
|
10
36
|
total_items: 5,
|
|
11
37
|
total_pages: 1,
|
|
12
38
|
}
|
|
@@ -4,12 +4,12 @@ import type {
|
|
|
4
4
|
} from '~/components/common/backup/storage/actions/add/temp/nfs/accessibility/lib/models/types'
|
|
5
5
|
|
|
6
6
|
export const compatibleHostsTableKeys: T_CompatibleHostsTableKeys[] = [
|
|
7
|
-
'
|
|
7
|
+
'host',
|
|
8
8
|
'cluster',
|
|
9
9
|
]
|
|
10
10
|
|
|
11
11
|
export const incompatibleHostsTableKeys: T_IncompatibleHostsTableKeys[] = [
|
|
12
|
-
'
|
|
12
|
+
'host',
|
|
13
13
|
'cluster',
|
|
14
14
|
'host_incompatibility_reason',
|
|
15
15
|
]
|
package/components/common/backup/storage/actions/add/temp/nfs/configuration/Configuration.vue
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
|
|
49
49
|
<div class="clr-form-control clr-row flex flex-row">
|
|
50
50
|
<label class="clr-control-label clr-col-md-2">{{
|
|
51
|
-
|
|
51
|
+
localization.common.folder
|
|
52
52
|
}}</label>
|
|
53
53
|
|
|
54
54
|
<div
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
|
|
179
179
|
<div v-if="false" class="clr-form-control clr-row mt-1 flex flex-row">
|
|
180
180
|
<label for="" class="clr-control-label clr-col-md-2">{{
|
|
181
|
-
|
|
181
|
+
localization.common.accessMode
|
|
182
182
|
}}</label>
|
|
183
183
|
|
|
184
184
|
<div class="clr-col-md-10 clr-col-12 clr-checkbox-wrapper">
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
type="checkbox"
|
|
190
190
|
/>
|
|
191
191
|
<label for="playback-compression" class="clr-control-label">{{
|
|
192
|
-
|
|
192
|
+
localization.common.mountNfsReadOnly
|
|
193
193
|
}}</label>
|
|
194
194
|
</div>
|
|
195
195
|
</div>
|
|
@@ -350,7 +350,7 @@ const dataServers = ref<UI_I_DataServersListItem[]>([])
|
|
|
350
350
|
// // if (nfsVersion === 'nfs-4.1') server.value = ''
|
|
351
351
|
// }
|
|
352
352
|
|
|
353
|
-
const alertInfo = ref<boolean>(
|
|
353
|
+
const alertInfo = ref<boolean>(props.mode === 'procurator')
|
|
354
354
|
|
|
355
355
|
const resetValidation = (): void => {
|
|
356
356
|
isInitNameValidation.value =
|