bfg-common 1.5.75 → 1.5.77
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/wizards/datastore/add/Add.vue +1 -1
- package/components/common/wizards/datastore/add/New.vue +20 -40
- package/components/common/wizards/datastore/add/Old.vue +29 -29
- package/components/common/wizards/datastore/add/lib/config/steps.ts +23 -19
- package/components/common/wizards/datastore/add/lib/models/types.ts +2 -2
- package/components/common/wizards/datastore/add/nfs/Nfs.vue +0 -5
- package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +0 -14
- package/components/common/wizards/datastore/add/steps/_kerberosAuthentication/KerberosAuthentication.vue +1 -0
- package/components/common/wizards/datastore/add/steps/_local/Local.vue +2 -1
- package/components/common/wizards/datastore/add/{nfs/version/Version.vue → steps/_nfsVersion/NfsVersion.vue} +1 -0
- package/components/common/wizards/datastore/add/steps/_partitionConfiguration/PartitionConfiguration.vue +245 -0
- package/components/common/wizards/datastore/add/steps/_partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -0
- package/components/common/wizards/datastore/add/steps/_partitionConfiguration/lib/config/selectOptions.ts +46 -0
- package/components/common/wizards/datastore/add/steps/_partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/HostAccessibility.vue +60 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/HostAccessibilityNew.vue +27 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/HostAccessibilityOld.vue +60 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/lib/config/tabsPannel.ts +31 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/lib/models/interfaces.ts +9 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/lib/models/types.ts +5 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/tablesView/TablesView.vue +85 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/tablesView/lib/config/compatibleTable.ts +62 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/tablesView/lib/config/incompatibleTable.ts +68 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/tablesView/lib/config/tableKeys.ts +15 -0
- package/components/common/wizards/datastore/add/steps/hostAccessibility/tablesView/lib/models/interfaces.ts +11 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigure.vue +237 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +30 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureOld.vue +237 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/DeletePopover.vue +100 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/ServersList.vue +123 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/config/serversListConfig.ts +40 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/config/tableKeys.ts +3 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/models/interfaces.ts +3 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/models/types.ts +1 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/lib/models/interfaces.ts +5 -0
- package/package.json +1 -1
- /package/components/common/wizards/datastore/add/{nfs/version → steps/_nfsVersion}/lib/config/versionOptions.ts +0 -0
|
@@ -72,7 +72,7 @@ const alertMessages = computed<string[][]>(() => wizard.alertMessages.value)
|
|
|
72
72
|
|
|
73
73
|
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
74
74
|
|
|
75
|
-
const title = computed<string>(() => localization.value.common.
|
|
75
|
+
const title = computed<string>(() => localization.value.common.newDatastore)
|
|
76
76
|
|
|
77
77
|
const form = ref<UI_I_CreateDatastoreForm>(
|
|
78
78
|
useDeepCopy(datastoreDefaultFormFunc(props.hostId))
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
test-id="add-datastore-wizard"
|
|
10
10
|
@change-steps="onChangeSteps"
|
|
11
11
|
@hide="onHideModal"
|
|
12
|
-
@submit="
|
|
12
|
+
@submit="onCreateDatastore"
|
|
13
13
|
>
|
|
14
14
|
<template #content="{ selectedStep, isLoading }">
|
|
15
15
|
<ui-wizard-block
|
|
@@ -54,9 +54,8 @@
|
|
|
54
54
|
<template #content>
|
|
55
55
|
<common-wizards-datastore-add-steps-name-and-device
|
|
56
56
|
v-if="selectedStep.id === dynamicSteps.nameAndDevice"
|
|
57
|
-
v-model="
|
|
57
|
+
v-model="formModelLocal"
|
|
58
58
|
:project="props.project"
|
|
59
|
-
:alert-messages="alertMessages[selectedStep.id]"
|
|
60
59
|
:messages-fields="selectedStep.fields"
|
|
61
60
|
:hosts="props.nfsHosts"
|
|
62
61
|
:host-id="props.hostId"
|
|
@@ -66,20 +65,18 @@
|
|
|
66
65
|
</ui-wizard-block>
|
|
67
66
|
|
|
68
67
|
<ui-wizard-block
|
|
69
|
-
v-if="selectedStep.id === dynamicSteps.
|
|
68
|
+
v-if="selectedStep.id === dynamicSteps.nameAndConfigure"
|
|
70
69
|
:sub-title-height="height2"
|
|
71
70
|
>
|
|
72
71
|
<template #subTitle>
|
|
73
72
|
<div ref="subTitleBlock2">
|
|
74
73
|
<div class="subtitle-block">
|
|
75
74
|
<ui-alert
|
|
76
|
-
v-if="
|
|
75
|
+
v-if="props.alertMessages[dynamicSteps.nameAndConfigure].length"
|
|
77
76
|
test-id="add-host-connection-settings-error-alert"
|
|
78
77
|
type="error"
|
|
79
78
|
size="md"
|
|
80
|
-
:messages="[
|
|
81
|
-
localization.common.errorProcuratorHostAlreadyConnectedSphere,
|
|
82
|
-
]"
|
|
79
|
+
:messages="props.alertMessages[dynamicSteps.nameAndConfigure]"
|
|
83
80
|
class="subtitle-block__alert"
|
|
84
81
|
/>
|
|
85
82
|
|
|
@@ -88,36 +85,29 @@
|
|
|
88
85
|
</div>
|
|
89
86
|
</template>
|
|
90
87
|
<template #content>
|
|
91
|
-
<common-wizards-datastore-add-
|
|
92
|
-
v-
|
|
93
|
-
v-model="
|
|
88
|
+
<common-wizards-datastore-add-steps-name-and-configure
|
|
89
|
+
v-if="selectedStep.id === dynamicSteps.nameAndConfigure"
|
|
90
|
+
v-model="formModelLocal"
|
|
94
91
|
:project="props.project"
|
|
95
|
-
:step-id="selectedStep.id"
|
|
96
|
-
:datastore-type="datastoreType"
|
|
97
|
-
:alert-messages="alertMessages[selectedStep.id]"
|
|
98
92
|
:messages-fields="selectedStep.fields"
|
|
99
|
-
|
|
100
|
-
:is-main-filter="props.isMainFilter"
|
|
101
|
-
:host-id="props.hostId"
|
|
102
|
-
@hide-alert="onHideAlert"
|
|
103
|
-
@main-filter="emits('main-filter', $event)"
|
|
93
|
+
@hide-alert="(e) => emits('hide-alert', e)"
|
|
104
94
|
/>
|
|
105
95
|
</template>
|
|
106
96
|
</ui-wizard-block>
|
|
107
97
|
|
|
108
98
|
<ui-wizard-block
|
|
109
|
-
v-if="selectedStep.id === dynamicSteps.
|
|
99
|
+
v-if="selectedStep.id === dynamicSteps.hostAccessibility"
|
|
110
100
|
:sub-title-height="height3"
|
|
111
101
|
>
|
|
112
102
|
<template #subTitle>
|
|
113
103
|
<div ref="subTitleBlock3">
|
|
114
104
|
<div class="subtitle-block">
|
|
115
105
|
<ui-alert
|
|
116
|
-
v-if="props.alertMessages[dynamicSteps.
|
|
106
|
+
v-if="props.alertMessages[dynamicSteps.hostAccessibility].length"
|
|
117
107
|
test-id="add-host-assign-license-error-alert"
|
|
118
108
|
type="error"
|
|
119
109
|
size="md"
|
|
120
|
-
:messages="props.alertMessages[dynamicSteps.
|
|
110
|
+
:messages="props.alertMessages[dynamicSteps.hostAccessibility]"
|
|
121
111
|
class="subtitle-block__alert"
|
|
122
112
|
/>
|
|
123
113
|
|
|
@@ -126,14 +116,12 @@
|
|
|
126
116
|
</div>
|
|
127
117
|
</template>
|
|
128
118
|
<template #content>
|
|
129
|
-
<common-wizards-datastore-add-
|
|
130
|
-
v-
|
|
131
|
-
v-model="
|
|
132
|
-
:
|
|
133
|
-
:step-id="selectedStep.id"
|
|
134
|
-
:alert-messages="alertMessages[selectedStep.id]"
|
|
135
|
-
:messages-fields="selectedStep.fields"
|
|
119
|
+
<common-wizards-datastore-add-steps-host-accessibility
|
|
120
|
+
v-if="selectedStep.id === dynamicSteps.hostAccessibility"
|
|
121
|
+
v-model="formModelLocal.hosts"
|
|
122
|
+
:alert-messages="props.alertMessages[dynamicSteps.nameAndDevice]"
|
|
136
123
|
:hosts="props.nfsHosts"
|
|
124
|
+
@hide-alert="(e) => emits('hide-alert', e)"
|
|
137
125
|
/>
|
|
138
126
|
</template>
|
|
139
127
|
</ui-wizard-block>
|
|
@@ -179,7 +167,6 @@ import type { UI_T_DatastoreTypeCode } from '~/components/common/wizards/datasto
|
|
|
179
167
|
import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
|
|
180
168
|
import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
|
|
181
169
|
import type { UI_I_CreateDatastoreHosts } from '~/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/models/interfaces'
|
|
182
|
-
import { E_DatastoreTypeKode } from '~/components/common/wizards/datastore/add/lib/models/enums'
|
|
183
170
|
import { constructDataReadyViewFunc } from '~/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails'
|
|
184
171
|
import { dynamicSteps } from '~/components/common/wizards/datastore/add/lib/config/steps'
|
|
185
172
|
|
|
@@ -198,7 +185,7 @@ const emits = defineEmits<{
|
|
|
198
185
|
(event: 'change-steps', value: UI_I_WizardStep[]): void
|
|
199
186
|
(event: 'hide-alert', value: number): void
|
|
200
187
|
(event: 'hide'): void
|
|
201
|
-
(event: '
|
|
188
|
+
(event: 'submit', value: any): void
|
|
202
189
|
(event: 'main-filter', value: string): void
|
|
203
190
|
}>()
|
|
204
191
|
|
|
@@ -231,9 +218,6 @@ const { height: height3 } = useElementSize(subTitleBlock3)
|
|
|
231
218
|
const subTitleBlock4 = ref<HTMLElement | null>(null)
|
|
232
219
|
const { height: height4 } = useElementSize(subTitleBlock4)
|
|
233
220
|
|
|
234
|
-
// const datastoreType = ref<UI_T_DatastoreTypeCode>(
|
|
235
|
-
// props.project === 'procurator' ? 'local' : 'shared-storm'
|
|
236
|
-
// )
|
|
237
221
|
const datastoreType = ref<UI_T_DatastoreTypeCode>(2)
|
|
238
222
|
const form = ref<UI_I_CreateDatastoreForm>({
|
|
239
223
|
name: 'Datastore',
|
|
@@ -260,12 +244,8 @@ const dataReadyView = computed<UI_I_DetailsItem>(() =>
|
|
|
260
244
|
const onHideAlert = (stepId: number): void => {
|
|
261
245
|
emits('hide-alert', stepId)
|
|
262
246
|
}
|
|
263
|
-
const onHideModal = (): void =>
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
const onFinish = (): void => {
|
|
267
|
-
emits('finish', form.value)
|
|
268
|
-
}
|
|
247
|
+
const onHideModal = (): void => emits('hide')
|
|
248
|
+
const onCreateDatastore = (): void => emits('submit')
|
|
269
249
|
</script>
|
|
270
250
|
|
|
271
251
|
<style scoped lang="scss">
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
test-id="add-datastore-wizard"
|
|
11
11
|
@change-steps="onChangeSteps"
|
|
12
12
|
@hide="onHideModal"
|
|
13
|
-
@submit="
|
|
13
|
+
@submit="onCreateDatastore"
|
|
14
14
|
>
|
|
15
15
|
<template #modalBody="{ selectedStep }">
|
|
16
16
|
<common-wizards-datastore-add-steps-type-mode
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
|
|
21
21
|
<common-wizards-datastore-add-steps-name-and-device
|
|
22
22
|
v-if="selectedStep.id === dynamicSteps.nameAndDevice"
|
|
23
|
-
v-model="
|
|
23
|
+
v-model="formModelLocal"
|
|
24
24
|
:project="props.project"
|
|
25
|
-
:alert-messages="alertMessages[
|
|
25
|
+
:alert-messages="props.alertMessages[dynamicSteps.nameAndDevice]"
|
|
26
26
|
:messages-fields="selectedStep.fields"
|
|
27
27
|
:hosts="props.nfsHosts"
|
|
28
28
|
:host-id="props.hostId"
|
|
@@ -31,9 +31,27 @@
|
|
|
31
31
|
@main-filter="emits('main-filter', $event)"
|
|
32
32
|
/>
|
|
33
33
|
|
|
34
|
+
<common-wizards-datastore-add-steps-name-and-configure
|
|
35
|
+
v-if="selectedStep.id === dynamicSteps.nameAndConfigure"
|
|
36
|
+
v-model="formModelLocal"
|
|
37
|
+
:project="props.project"
|
|
38
|
+
:alert-messages="props.alertMessages[dynamicSteps.nameAndConfigure]"
|
|
39
|
+
:messages-fields="selectedStep.fields"
|
|
40
|
+
@hide-alert="(e) => emits('hide-alert', e)"
|
|
41
|
+
/>
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<common-wizards-datastore-add-steps-host-accessibility
|
|
45
|
+
v-if="selectedStep.id === dynamicSteps.hostAccessibility"
|
|
46
|
+
v-model="formModelLocal.hosts"
|
|
47
|
+
:alert-messages="props.alertMessages[dynamicSteps.hostAccessibility]"
|
|
48
|
+
:hosts="props.nfsHosts"
|
|
49
|
+
@hide-alert="(e) => emits('hide-alert', e)"
|
|
50
|
+
/>
|
|
51
|
+
|
|
34
52
|
<common-wizards-datastore-add-shared-storm
|
|
35
|
-
v-
|
|
36
|
-
v-model="
|
|
53
|
+
v-if="datastoreType === 'shared-storm'"
|
|
54
|
+
v-model="formModelLocal"
|
|
37
55
|
:project="props.project"
|
|
38
56
|
:step-id="selectedStep.id"
|
|
39
57
|
:datastore-type="datastoreType"
|
|
@@ -47,8 +65,8 @@
|
|
|
47
65
|
/>
|
|
48
66
|
|
|
49
67
|
<common-wizards-datastore-add-nfs
|
|
50
|
-
v-
|
|
51
|
-
v-model="
|
|
68
|
+
v-if="datastoreType === 'nfs'"
|
|
69
|
+
v-model="formModelLocal"
|
|
52
70
|
:project="props.project"
|
|
53
71
|
:step-id="selectedStep.id"
|
|
54
72
|
:alert-messages="alertMessages[selectedStep.id]"
|
|
@@ -92,34 +110,20 @@ const emits = defineEmits<{
|
|
|
92
110
|
(event: 'change-steps', value: UI_I_WizardStep[]): void
|
|
93
111
|
(event: 'hide-alert', value: number): void
|
|
94
112
|
(event: 'hide'): void
|
|
95
|
-
(event: '
|
|
113
|
+
(event: 'submit'): void
|
|
96
114
|
(event: 'main-filter', value: string): void
|
|
97
115
|
}>()
|
|
98
116
|
|
|
99
117
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
100
118
|
|
|
101
|
-
// const datastoreType = ref<UI_T_DatastoreTypeCode>(
|
|
102
|
-
// props.project === 'procurator' ? 'local' : 'shared-storm'
|
|
103
|
-
// )
|
|
104
119
|
const datastoreType = ref<UI_T_DatastoreTypeCode>(2)
|
|
105
|
-
const form = ref<UI_I_CreateDatastoreForm>({
|
|
106
|
-
name: 'Datastore',
|
|
107
|
-
lunDisk: [],
|
|
108
|
-
hosts: props.hostId ? [props?.hostId] : [],
|
|
109
|
-
type_code: 2,
|
|
110
|
-
nfsVersion: 'nfs-4.1',
|
|
111
|
-
readonly: false,
|
|
112
|
-
server: '',
|
|
113
|
-
folder: '',
|
|
114
|
-
})
|
|
115
|
-
|
|
116
120
|
const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> =>
|
|
117
121
|
emits('change-steps', value)
|
|
118
122
|
|
|
119
123
|
const dataReadyView = computed<UI_I_DetailsItem>(() =>
|
|
120
124
|
constructDataReadyViewFunc(
|
|
121
125
|
localization.value,
|
|
122
|
-
|
|
126
|
+
formModelLocal.value,
|
|
123
127
|
props.project,
|
|
124
128
|
props.nfsHosts
|
|
125
129
|
)
|
|
@@ -128,12 +132,8 @@ const dataReadyView = computed<UI_I_DetailsItem>(() =>
|
|
|
128
132
|
const onHideAlert = (stepId: number): void => {
|
|
129
133
|
emits('hide-alert', stepId)
|
|
130
134
|
}
|
|
131
|
-
const onHideModal = (): void =>
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
const onFinish = (): void => {
|
|
135
|
-
emits('finish', form.value)
|
|
136
|
-
}
|
|
135
|
+
const onHideModal = (): void => emits('hide')
|
|
136
|
+
const onCreateDatastore = (): void => emits('submit')
|
|
137
137
|
</script>
|
|
138
138
|
|
|
139
139
|
<style scoped lang="scss">
|
|
@@ -4,11 +4,12 @@ import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/inter
|
|
|
4
4
|
import { UI_E_WIZARD_STATUS } from '~/components/atoms/wizard/lib/models/enums'
|
|
5
5
|
import type { UI_I_ChangeStepsSchemes } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
|
|
6
6
|
import type { UI_T_DatastoreTypeCode } from '~/components/common/wizards/datastore/add/lib/models/types'
|
|
7
|
+
|
|
7
8
|
export const dynamicSteps = {
|
|
8
9
|
type: 0,
|
|
9
10
|
nameAndDevice: 1,
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
nameAndConfigure: 2,
|
|
12
|
+
hostAccessibility: 3,
|
|
12
13
|
lockdownMode: 4,
|
|
13
14
|
vmLocation: 5,
|
|
14
15
|
readyComplete: 6,
|
|
@@ -59,18 +60,19 @@ export const stepsFunc = (
|
|
|
59
60
|
testId: 'create-datastore-name-and-device-selection',
|
|
60
61
|
},
|
|
61
62
|
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
},
|
|
63
|
+
// { // TODO Этот шаг использовался раньше, сейчас не используется
|
|
64
|
+
// id: dynamicSteps.partitionConfiguration,
|
|
65
|
+
// title: localization.common.partitionConfiguration,
|
|
66
|
+
// subTitle: localization.common.partitionConfigurationDesc,
|
|
67
|
+
// status: UI_E_WIZARD_STATUS.INACTIVE,
|
|
68
|
+
// fields: {},
|
|
69
|
+
// isValid: true,
|
|
70
|
+
// testId: 'create-datastore-partition-configuration',
|
|
71
|
+
// },
|
|
71
72
|
|
|
72
73
|
// {
|
|
73
|
-
//
|
|
74
|
+
// // TODO Этот шаг использовался раньше, сейчас не используется
|
|
75
|
+
// id: dynamicSteps.nfsVersion,
|
|
74
76
|
// title: localization.common.nfsVersion,
|
|
75
77
|
// subTitle: localization.common.selectNfsVersion,
|
|
76
78
|
// status: UI_E_WIZARD_STATUS.INACTIVE,
|
|
@@ -79,7 +81,7 @@ export const stepsFunc = (
|
|
|
79
81
|
// testId: 'create-datastore-select-nfs-version',
|
|
80
82
|
// },
|
|
81
83
|
{
|
|
82
|
-
id:
|
|
84
|
+
id: dynamicSteps.nameAndConfigure,
|
|
83
85
|
title: localization.common.nameAndConfiguration,
|
|
84
86
|
subTitle: localization.common.nameAndConfigurationDesc,
|
|
85
87
|
status: UI_E_WIZARD_STATUS.INACTIVE,
|
|
@@ -102,7 +104,7 @@ export const stepsFunc = (
|
|
|
102
104
|
},
|
|
103
105
|
|
|
104
106
|
{
|
|
105
|
-
id:
|
|
107
|
+
id: dynamicSteps.hostAccessibility,
|
|
106
108
|
title: localization.common.hostsAccessibility,
|
|
107
109
|
subTitle: localization.common.hostsAccessibilityDesc,
|
|
108
110
|
status: UI_E_WIZARD_STATUS.INACTIVE,
|
|
@@ -136,17 +138,19 @@ export const stepsFunc = (
|
|
|
136
138
|
fields: {},
|
|
137
139
|
isValid: true,
|
|
138
140
|
testId: 'create-datastore-ready-complete',
|
|
139
|
-
// testId: 'create-datastore-storm-ready-complete',
|
|
140
|
-
// testId: 'create-datastore-nfs-ready-complete',
|
|
141
|
-
// testId: 'create-datastore-local-ready-complete',
|
|
142
141
|
},
|
|
143
142
|
]
|
|
144
143
|
|
|
145
144
|
export const stepsSchemeInitial: number[][] = [
|
|
146
145
|
[dynamicSteps.type, dynamicSteps.nameAndDevice, 11], // Procurator Scheme for "shared-storm" type
|
|
147
|
-
[dynamicSteps.type,
|
|
146
|
+
[dynamicSteps.type, dynamicSteps.nameAndConfigure, 11], // Procurator Scheme for "nfs" type
|
|
148
147
|
[dynamicSteps.type, dynamicSteps.nameAndDevice, 11], // Sphere Scheme for "shared-storm" type
|
|
149
|
-
[
|
|
148
|
+
[
|
|
149
|
+
dynamicSteps.type,
|
|
150
|
+
dynamicSteps.nameAndConfigure,
|
|
151
|
+
dynamicSteps.hostAccessibility,
|
|
152
|
+
11,
|
|
153
|
+
], // Sphere Scheme for "nfs" type (not used from <host Context Menu>)
|
|
150
154
|
]
|
|
151
155
|
|
|
152
156
|
export const getStepScheme = (
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type UI_T_DatastoreTypeCode = 2 | 4
|
|
2
2
|
export type UI_T_NfsType = 'nfs-3' | 'nfs-4.1'
|
|
3
|
-
export type UI_T_VmfsType = 'vmfs-6' | 'vmfs-5'
|
|
3
|
+
export type UI_T_VmfsType = 'vmfs-6' | 'vmfs-5' // сейчас этот тип не используется
|
|
4
4
|
export type UI_T_KerberosAuthentication =
|
|
5
5
|
| 'dont-use'
|
|
6
6
|
| 'use-only-krb5'
|
|
7
|
-
| 'use-integrity'
|
|
7
|
+
| 'use-integrity' // сейчас этот тип не используется
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="nfs-container">
|
|
3
|
-
<!-- <common-wizards-datastore-add-nfs-version-->
|
|
4
|
-
<!-- v-if="props.stepId === 4"-->
|
|
5
|
-
<!-- v-model="model.nfsVersion"-->
|
|
6
|
-
<!-- />-->
|
|
7
|
-
|
|
8
3
|
<common-wizards-datastore-add-nfs-configuration
|
|
9
4
|
v-show="props.stepId === 4"
|
|
10
5
|
v-model="model"
|
|
@@ -14,12 +14,6 @@
|
|
|
14
14
|
@hide-alert="(e) => emits('hide-alert', e)"
|
|
15
15
|
@main-filter="emits('main-filter', $event)"
|
|
16
16
|
/>
|
|
17
|
-
|
|
18
|
-
<common-wizards-datastore-add-shared-storm-partition-configuration
|
|
19
|
-
v-show="props.project === 'procurator' && props.stepId === 3"
|
|
20
|
-
:vmfs-version="vmfsVersion"
|
|
21
|
-
:selected-lun-disk-size="lunDiskTotalCapacity"
|
|
22
|
-
/>
|
|
23
17
|
</div>
|
|
24
18
|
</template>
|
|
25
19
|
|
|
@@ -57,14 +51,6 @@ const emits = defineEmits<{
|
|
|
57
51
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
58
52
|
|
|
59
53
|
const vmfsVersion = ref<UI_T_VmfsType>('vmfs-6')
|
|
60
|
-
|
|
61
|
-
const lunDiskTotalCapacity = computed<number>(() => {
|
|
62
|
-
if (!model.value.lunDisk.length) return 0
|
|
63
|
-
|
|
64
|
-
return +model.value.lunDisk
|
|
65
|
-
.map((disk: UI_I_CreateStorageLunDiskItem) => disk.capacity_mb)
|
|
66
|
-
.reduce((acc, cur) => acc + cur)
|
|
67
|
-
})
|
|
68
54
|
</script>
|
|
69
55
|
|
|
70
56
|
<style lang="scss" scoped>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
+
<!-- TODO: если использовать этот компонент, нужно отрефакторить весь код — сейчас всё по-старому -->
|
|
2
3
|
<div class="local-step">
|
|
3
|
-
<common-wizards-datastore-add-local-create-name
|
|
4
|
+
<common-wizards-datastore-add-steps-local-create-name
|
|
4
5
|
v-if="isShowCreateLocalNameBlock"
|
|
5
6
|
v-model="model.name"
|
|
6
7
|
:alert-messages="props.alertMessages"
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<!-- TODO: если использовать этот компонент, нужно отрефакторить весь код — сейчас всё по-старому -->
|
|
3
|
+
<div class="partition">
|
|
4
|
+
<div class="clr-form-control clr-row">
|
|
5
|
+
<label class="clr-col-md-4 clr-control-label">
|
|
6
|
+
{{ localization.common.partitionConfiguration }}
|
|
7
|
+
</label>
|
|
8
|
+
|
|
9
|
+
<div class="clr-col-md-8 p-0">
|
|
10
|
+
<div class="clr-select-wrapper">
|
|
11
|
+
<select
|
|
12
|
+
id="host-select"
|
|
13
|
+
v-model="selectedHost"
|
|
14
|
+
data-id="select-partition-configuration"
|
|
15
|
+
class="dropdown-toggle"
|
|
16
|
+
@change="onSelectHost"
|
|
17
|
+
>
|
|
18
|
+
<option
|
|
19
|
+
v-for="(item, index) in partitionConfiguration"
|
|
20
|
+
:key="index"
|
|
21
|
+
:value="item.value"
|
|
22
|
+
:disabled="item.disabled"
|
|
23
|
+
>
|
|
24
|
+
{{ item.text }}
|
|
25
|
+
</option>
|
|
26
|
+
</select>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div class="datastore-size-container clr-flex-row clr-flex">
|
|
32
|
+
<label class="clr-col-md-4 clr-control-label" for="datastore-size">
|
|
33
|
+
{{ localization.common.datastoreSize }}
|
|
34
|
+
</label>
|
|
35
|
+
|
|
36
|
+
<div class="datastore-size-slider-container clr-col-md-8 p-0">
|
|
37
|
+
<div class="clr-col-xl-6 clr-col-md-8 p-0">
|
|
38
|
+
<div
|
|
39
|
+
class="partition__range-input clr-control-container clr-col-md-10 clr-col-12"
|
|
40
|
+
>
|
|
41
|
+
<div class="clr-range-wrapper">
|
|
42
|
+
<input
|
|
43
|
+
id="datastore-size-input-0"
|
|
44
|
+
v-model="datastoreSize"
|
|
45
|
+
data-id="select-storm-storage-size-range-field"
|
|
46
|
+
type="range"
|
|
47
|
+
min="0"
|
|
48
|
+
:max="countDatastoreSizeToGb"
|
|
49
|
+
step="0.01"
|
|
50
|
+
class="ng-valid clr-range ng-dirty ng-touched"
|
|
51
|
+
/>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<input
|
|
57
|
+
id="datastore-size-input-1"
|
|
58
|
+
v-model="datastoreSize"
|
|
59
|
+
data-id="select-storm-storage-size-input-field"
|
|
60
|
+
type="number"
|
|
61
|
+
min="0"
|
|
62
|
+
:max="countDatastoreSizeToGb"
|
|
63
|
+
step="0.01"
|
|
64
|
+
class="show-arrow"
|
|
65
|
+
/>
|
|
66
|
+
<span>{{ localization.common.gb }}</span>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<template v-if="props.vmfsVersion === 'vmfs-6'">
|
|
71
|
+
<div class="clr-form-control clr-row">
|
|
72
|
+
<label class="clr-col-md-4 clr-control-label">
|
|
73
|
+
{{ localization.common.blockSize }}
|
|
74
|
+
</label>
|
|
75
|
+
|
|
76
|
+
<div>
|
|
77
|
+
<div class="clr-select-wrapper">
|
|
78
|
+
<select
|
|
79
|
+
id="storm-configuration-block-size"
|
|
80
|
+
v-model="selectedSize"
|
|
81
|
+
data-id="storm-configuration-block-size"
|
|
82
|
+
class="dropdown-toggle"
|
|
83
|
+
@change="onSelectHost"
|
|
84
|
+
>
|
|
85
|
+
<option
|
|
86
|
+
v-for="(item, index) in blockSize"
|
|
87
|
+
:key="index"
|
|
88
|
+
:value="item.value"
|
|
89
|
+
:disabled="item.disabled"
|
|
90
|
+
>
|
|
91
|
+
{{ item.text }}
|
|
92
|
+
</option>
|
|
93
|
+
</select>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<div class="clr-form-control clr-row">
|
|
99
|
+
<label class="clr-col-md-4 clr-control-label">
|
|
100
|
+
{{ localization.common.spaceReclamationGranularity }}
|
|
101
|
+
</label>
|
|
102
|
+
|
|
103
|
+
<div>
|
|
104
|
+
<div class="clr-select-wrapper">
|
|
105
|
+
<select
|
|
106
|
+
id="granularity-select"
|
|
107
|
+
v-model="selectedGranularity"
|
|
108
|
+
data-id="storm-configuration-space-granularity"
|
|
109
|
+
class="dropdown-toggle"
|
|
110
|
+
@change="onSelectHost"
|
|
111
|
+
>
|
|
112
|
+
<option
|
|
113
|
+
v-for="(item, index) in spaceGranularity"
|
|
114
|
+
:key="index"
|
|
115
|
+
:value="item.value"
|
|
116
|
+
:disabled="item.disabled"
|
|
117
|
+
>
|
|
118
|
+
{{ item.text }}
|
|
119
|
+
</option>
|
|
120
|
+
</select>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<div class="clr-form-control clr-row">
|
|
126
|
+
<label class="clr-col-md-4 clr-control-label">
|
|
127
|
+
{{ localization.common.spaceReclamationPriority }}
|
|
128
|
+
</label>
|
|
129
|
+
|
|
130
|
+
<div>
|
|
131
|
+
<div class="clr-select-wrapper">
|
|
132
|
+
<select
|
|
133
|
+
id="priority-select"
|
|
134
|
+
v-model="selectedPriority"
|
|
135
|
+
data-id="storm-configuration-space-priority"
|
|
136
|
+
class="dropdown-toggle"
|
|
137
|
+
@change="onSelectHost"
|
|
138
|
+
>
|
|
139
|
+
<option
|
|
140
|
+
v-for="(item, index) in spacePriority"
|
|
141
|
+
:key="index"
|
|
142
|
+
:value="item.value"
|
|
143
|
+
:disabled="item.disabled"
|
|
144
|
+
>
|
|
145
|
+
{{ item.text }}
|
|
146
|
+
</option>
|
|
147
|
+
</select>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
</template>
|
|
152
|
+
|
|
153
|
+
<common-wizards-datastore-add-shared-storm-partition-configuration-size-graphic
|
|
154
|
+
:selected-size="+datastoreSize"
|
|
155
|
+
:capacity="countDatastoreSizeToGb"
|
|
156
|
+
/>
|
|
157
|
+
</div>
|
|
158
|
+
</template>
|
|
159
|
+
|
|
160
|
+
<script lang="ts" setup>
|
|
161
|
+
import { UI_I_Localization } from '~/lib/models/interfaces'
|
|
162
|
+
import { UI_T_VmfsType } from '~/components/common/wizards/datastore/add/lib/models/types'
|
|
163
|
+
import { UI_I_SelectHostOptions } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
|
|
164
|
+
import {
|
|
165
|
+
partitionConfigurationFunc,
|
|
166
|
+
spacePriorityFunc,
|
|
167
|
+
spaceGranularityFunc,
|
|
168
|
+
blockSizeFunc,
|
|
169
|
+
} from '~/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions'
|
|
170
|
+
|
|
171
|
+
const props = withDefaults(
|
|
172
|
+
defineProps<{
|
|
173
|
+
vmfsVersion: UI_T_VmfsType
|
|
174
|
+
selectedLunDiskSize: number
|
|
175
|
+
}>(),
|
|
176
|
+
{
|
|
177
|
+
selectedLunDiskSize: 0,
|
|
178
|
+
}
|
|
179
|
+
)
|
|
180
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
181
|
+
const { $binary } = useNuxtApp()
|
|
182
|
+
|
|
183
|
+
const selectedHost = ref<string>('all-partitions')
|
|
184
|
+
const partitionConfiguration = computed<UI_I_SelectHostOptions[]>(() =>
|
|
185
|
+
partitionConfigurationFunc(localization.value)
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
const selectedSize = ref<string>('1')
|
|
189
|
+
const blockSize = computed<UI_I_SelectHostOptions[]>(() =>
|
|
190
|
+
blockSizeFunc(localization.value)
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
const selectedGranularity = ref<string>('1')
|
|
194
|
+
const spaceGranularity = computed<UI_I_SelectHostOptions[]>(() =>
|
|
195
|
+
spaceGranularityFunc(localization.value)
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
const selectedPriority = ref<string>('low')
|
|
199
|
+
const spacePriority = computed<UI_I_SelectHostOptions[]>(() =>
|
|
200
|
+
spacePriorityFunc(localization.value)
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
const countDatastoreSizeToGb = computed<number>(() => {
|
|
204
|
+
return $binary.mbToGb(props.selectedLunDiskSize)
|
|
205
|
+
})
|
|
206
|
+
|
|
207
|
+
const datastoreSize = ref<number | null>(null)
|
|
208
|
+
watch(
|
|
209
|
+
() => props.selectedLunDiskSize,
|
|
210
|
+
(_val) => {
|
|
211
|
+
datastoreSize.value = countDatastoreSizeToGb.value
|
|
212
|
+
}
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
const onSelectHost = (): void => {}
|
|
216
|
+
|
|
217
|
+
// const lunDiskTotalCapacity = computed<number>(() => { TODO: нужно будет сделать на родительском компоненте
|
|
218
|
+
// if (!model.value.lunDisk.length) return 0
|
|
219
|
+
//
|
|
220
|
+
// return +model.value.lunDisk
|
|
221
|
+
// .map((disk: UI_I_CreateStorageLunDiskItem) => disk.capacity_mb)
|
|
222
|
+
// .reduce((acc, cur) => acc + cur)
|
|
223
|
+
// })
|
|
224
|
+
</script>
|
|
225
|
+
|
|
226
|
+
<style lang="scss" scoped>
|
|
227
|
+
.partition {
|
|
228
|
+
.datastore-size-container {
|
|
229
|
+
display: flex;
|
|
230
|
+
margin-left: -1em;
|
|
231
|
+
margin-top: 1.2rem;
|
|
232
|
+
margin-bottom: 1.2rem;
|
|
233
|
+
}
|
|
234
|
+
.clr-form-control {
|
|
235
|
+
display: flex;
|
|
236
|
+
flex-direction: row;
|
|
237
|
+
}
|
|
238
|
+
&__range-input {
|
|
239
|
+
margin-left: -10px;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
.datastore-size-slider-container {
|
|
243
|
+
display: flex;
|
|
244
|
+
}
|
|
245
|
+
</style>
|