bfg-common 1.5.634 → 1.5.635

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.
@@ -1,313 +1,313 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model="vmForm"
5
- v-model:location="location"
6
- :project="props.project"
7
- :ready-complete-table-info="props.readyCompleteTableInfo"
8
- :name-request-url="props.nameRequestUrl"
9
- :wizard="wizard"
10
- :selected-scheme="selectedScheme"
11
- :dynamic-steps="dynamicSteps"
12
- :name-form-submit="nameFormSubmit"
13
- :name-test-ids="nameTestIds"
14
- :allowed-location-kinds="allowedLocationKinds"
15
- :location-description="locationDescription"
16
- :is-sphere="isSphere"
17
- :compute-resource-tree-local="computeResourceTreeLocal"
18
- :compatibility-text="compatibilityText"
19
- :is-loading-compute-tree="isLoadingComputeTree"
20
- :compute-resource-alert="computeResourceAlert"
21
- :location-nodes="props.locationNodes"
22
- @finish="emits('finish')"
23
- @hide="emits('hide')"
24
- @change-steps="onChangeSteps"
25
- @change-name="onChangeName(...$event)"
26
- />
27
- </template>
28
-
29
- <script setup lang="ts">
30
- import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
31
- import type { UI_I_ValidationReturn } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
32
- import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
33
- import type { UI_I_Localization } from '~/lib/models/interfaces'
34
- import type { UI_T_Project } from '~/lib/models/types'
35
- import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
36
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
37
- import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
38
- import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
39
- import {
40
- dynamicSteps,
41
- stepsFunc,
42
- stepsSchemeInitial,
43
- } from '~/components/common/vm/actions/register/lib/config/steps'
44
- import { allowedLocationKinds } from '~/components/common/vm/actions/register/lib/config'
45
-
46
- const vmForm = defineModel<any>({ required: true })
47
-
48
- const props = withDefaults(
49
- defineProps<{
50
- project: UI_T_Project
51
- readyCompleteTableInfo: UI_I_TableInfoItem[]
52
- nameRequestUrl: string
53
- isLoadingComputeTree?: boolean // для сферы
54
- computeResourceAlert?: string[] // для сферы
55
- dataCenter?: UI_I_TreeNode | null // для сферы
56
- computeResourceTree?: UI_I_TreeNode[] // для сферы
57
- locationNodes?: UI_I_TreeNode[] // для сферы
58
- }>(),
59
- {
60
- isLoadingComputeTree: false,
61
- computeResourceAlert: () => [],
62
- dataCenter: null,
63
- computeResourceTree: undefined,
64
- locationNodes: () => [],
65
- }
66
- )
67
-
68
- const emits = defineEmits<{
69
- (event: 'finish'): void
70
- (event: 'hide'): void
71
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
72
- (
73
- event: 'get-compute-resource-tree',
74
- value: { id: string | number; cb: () => void }
75
- ): void // для сферы
76
- }>()
77
-
78
- const { $store, $recursion }: any = useNuxtApp()
79
-
80
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
81
-
82
- const currentComponent = computed(() =>
83
- isNewView.value
84
- ? defineAsyncComponent(() => import('./New.vue'))
85
- : defineAsyncComponent(() => import('./Old.vue'))
86
- )
87
-
88
- const localization = computed<UI_I_Localization>(() => useLocal())
89
- const isSphere = computed<boolean>(() => props.project === 'sphere')
90
-
91
- const location = ref<UI_I_TreeNode | null>(props.dataCenter) // для сферы
92
-
93
- const wizard: Wizard = new Wizard(
94
- stepsFunc(localization.value),
95
- stepsSchemeInitial
96
- )
97
- if (isSphere.value) {
98
- wizard.changeScheme(1)
99
- wizard.selectStepHard(1)
100
- }
101
-
102
- const locationDescription = computed<string>(
103
- () => localization.value.common.selectLocationVirtualMachine
104
- )
105
-
106
- const nameTestIds: UI_I_NameTestIds = {
107
- name: 'virtual-machine-name',
108
- helpIcon: 'show-vm-name-help-icon',
109
- }
110
-
111
- const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
112
- const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> => {
113
- wizard.changeSteps(value, validationFunc)
114
- }
115
- const validationFunc = async (
116
- value: UI_I_WizardStep[],
117
- currentStep: UI_I_WizardStep,
118
- nextStep: UI_I_WizardStep
119
- ): Promise<UI_I_ValidationReturn> => {
120
- let stepHasError = false
121
- let stepShouldStop = {
122
- ifOnCurrentStep: false,
123
- ifFromAnyStep: false,
124
- stoppageStepId: -1,
125
- }
126
-
127
- wizard.setLoader(true)
128
- if (
129
- wizard.isValidateForStep(
130
- isSphere.value ? dynamicSteps.selectNameFolder : dynamicSteps.selectName,
131
- currentStep.id,
132
- nextStep.id
133
- )
134
- ) {
135
- const nameValidation = await onCheckName(value)
136
-
137
- value = nameValidation.newValue
138
- stepHasError = stepHasError || nameValidation.stepHasError
139
- } else if (
140
- isSphere.value &&
141
- wizard.isValidateForStep(
142
- dynamicSteps.selectComputeResource,
143
- currentStep.id,
144
- nextStep.id
145
- )
146
- ) {
147
- const computeResourceValidation = await checkComputeResource(value)
148
-
149
- value = computeResourceValidation.newValue
150
- stepHasError = stepHasError || computeResourceValidation.stepHasError
151
- }
152
- wizard.setLoader(false)
153
-
154
- return {
155
- newValue: value,
156
- stepHasError,
157
- stepShouldStop,
158
- }
159
- }
160
-
161
- const nameFormSubmit = ref<null | Function>(null)
162
- const onCheckName = async (
163
- value: UI_I_WizardStep[]
164
- ): Promise<UI_I_ValidationReturn> => {
165
- let stepHasError = false
166
-
167
- return new Promise((resolve) => {
168
- const step = isSphere.value
169
- ? dynamicSteps.selectNameFolder
170
- : dynamicSteps.selectName
171
- nameFormSubmit.value = (isValid: boolean) => {
172
- if (!isValid) {
173
- stepHasError = wizard.setValidation(step, 'name', {
174
- fieldMessage: 'aaa',
175
- alertMessage: 'aaa',
176
- })
177
- } else if (wizard.hasMessage(step, 'name')) {
178
- value = wizard.removeValidation(step, 'name', value)
179
- }
180
-
181
- resolve({
182
- stepHasError,
183
- newValue: value,
184
- })
185
- nameFormSubmit.value = null
186
- }
187
- })
188
- }
189
- const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
190
- const { computeResource } = vmForm.value
191
-
192
- if (!computeResource)
193
- return [
194
- 'none',
195
- localization.value.vmWizard.noDestinationComputeResourceSelected,
196
- ]
197
-
198
- let res: [UI_T_CompatibilityStatus, string] = [
199
- 'success',
200
- localization.value.common.compatibilityChecksSucceeded,
201
- ]
202
-
203
- if (!['cluster', 'host', 'resource_pool'].includes(computeResource?.type)) {
204
- res = [
205
- 'error',
206
- localization.value.common.selectValidClusterOrHostDestination,
207
- ]
208
- }
209
- if (computeResource?.type === 'cluster') {
210
- const hasHost = !!computeResource.nodes.length
211
- if (!hasHost) {
212
- res = ['error', localization.value.common.clusterNotContainAnyHosts]
213
- }
214
- }
215
-
216
- if (computeResource?.type === 'host') {
217
- if (computeResource.state === 'Error') {
218
- // TODO check Maintenance Mode
219
- res = [
220
- 'error',
221
- localization.value.common.selectedHostDisconnectedMaintenanceMode,
222
- ]
223
- }
224
- }
225
-
226
- return res
227
- })
228
- const computeResourceAlert = ref<string[]>([])
229
- const checkComputeResource = (
230
- value: UI_I_WizardStep[]
231
- ): UI_I_ValidationReturn => {
232
- let stepHasError = false
233
-
234
- const { computeResource } = vmForm.value
235
-
236
- if (
237
- !computeResource ||
238
- // compatibilityText.value[0] !== 1 ||
239
- computeResource.type === 'datacenter' ||
240
- computeResource.type === 'folder' ||
241
- (computeResource.type === 'cluster' && !computeResource.nodes.length)
242
- ) {
243
- computeResourceAlert.value = [
244
- localization.value.common.specifyValidClusterOrHostDestination,
245
- ]
246
- stepHasError = wizard.setValidation(
247
- dynamicSteps.selectComputeResource,
248
- 'computeResource',
249
- {
250
- fieldMessage: 'aaa',
251
- alertMessage: 'aaa',
252
- }
253
- )
254
- } else {
255
- computeResourceAlert.value = []
256
- if (
257
- wizard.hasMessage(dynamicSteps.selectComputeResource, 'computeResource')
258
- ) {
259
- value = wizard.removeValidation(
260
- dynamicSteps.selectComputeResource,
261
- 'computeResource',
262
- value
263
- )
264
- }
265
- }
266
-
267
- return {
268
- stepHasError,
269
- newValue: value,
270
- }
271
- }
272
-
273
- const isLoadingComputeTree = ref<boolean>(false)
274
- const onChangeName = (name: string, node: UI_I_TreeNode | null): void => {
275
- vmForm.value.name = name
276
- if (isSphere.value) {
277
- vmForm.value.locationPath = node.id
278
- vmForm.value.dataCenter = $recursion.findParentByValue(
279
- node,
280
- 'datacenter',
281
- 'type',
282
- 'parent'
283
- )
284
- isLoadingComputeTree.value = true
285
- emits('get-compute-resource-tree', {
286
- id: node.id,
287
- cb: () => {
288
- isLoadingComputeTree.value = false
289
- },
290
- })
291
- }
292
- }
293
-
294
- watch(
295
- () => vmForm.value.computeResource,
296
- (newValue, oldValue) => {
297
- if (newValue && newValue.id !== oldValue?.id) {
298
- onSelectComputeResourceTree(newValue)
299
- }
300
- },
301
- { deep: true }
302
- )
303
- const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
304
- emits('select-compute-resource-tree', node)
305
- }
306
-
307
- const computeResourceTreeLocal = computed<UI_I_TreeNode[]>(() => {
308
- // для сферы
309
- return props.computeResourceTree || []
310
- })
311
- </script>
312
-
313
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model="vmForm"
5
+ v-model:location="location"
6
+ :project="props.project"
7
+ :ready-complete-table-info="props.readyCompleteTableInfo"
8
+ :name-request-url="props.nameRequestUrl"
9
+ :wizard="wizard"
10
+ :selected-scheme="selectedScheme"
11
+ :dynamic-steps="dynamicSteps"
12
+ :name-form-submit="nameFormSubmit"
13
+ :name-test-ids="nameTestIds"
14
+ :allowed-location-kinds="allowedLocationKinds"
15
+ :location-description="locationDescription"
16
+ :is-sphere="isSphere"
17
+ :compute-resource-tree-local="computeResourceTreeLocal"
18
+ :compatibility-text="compatibilityText"
19
+ :is-loading-compute-tree="isLoadingComputeTree"
20
+ :compute-resource-alert="computeResourceAlert"
21
+ :location-nodes="props.locationNodes"
22
+ @finish="emits('finish')"
23
+ @hide="emits('hide')"
24
+ @change-steps="onChangeSteps"
25
+ @change-name="onChangeName(...$event)"
26
+ />
27
+ </template>
28
+
29
+ <script setup lang="ts">
30
+ import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
31
+ import type { UI_I_ValidationReturn } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
32
+ import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
33
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
34
+ import type { UI_T_Project } from '~/lib/models/types'
35
+ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
36
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
37
+ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
38
+ import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
39
+ import {
40
+ dynamicSteps,
41
+ stepsFunc,
42
+ stepsSchemeInitial,
43
+ } from '~/components/common/vm/actions/register/lib/config/steps'
44
+ import { allowedLocationKinds } from '~/components/common/vm/actions/register/lib/config'
45
+
46
+ const vmForm = defineModel<any>({ required: true })
47
+
48
+ const props = withDefaults(
49
+ defineProps<{
50
+ project: UI_T_Project
51
+ readyCompleteTableInfo: UI_I_TableInfoItem[]
52
+ nameRequestUrl: string
53
+ isLoadingComputeTree?: boolean // для сферы
54
+ computeResourceAlert?: string[] // для сферы
55
+ dataCenter?: UI_I_TreeNode | null // для сферы
56
+ computeResourceTree?: UI_I_TreeNode[] // для сферы
57
+ locationNodes?: UI_I_TreeNode[] // для сферы
58
+ }>(),
59
+ {
60
+ isLoadingComputeTree: false,
61
+ computeResourceAlert: () => [],
62
+ dataCenter: null,
63
+ computeResourceTree: undefined,
64
+ locationNodes: () => [],
65
+ }
66
+ )
67
+
68
+ const emits = defineEmits<{
69
+ (event: 'finish'): void
70
+ (event: 'hide'): void
71
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
72
+ (
73
+ event: 'get-compute-resource-tree',
74
+ value: { id: string | number; cb: () => void }
75
+ ): void // для сферы
76
+ }>()
77
+
78
+ const { $store, $recursion }: any = useNuxtApp()
79
+
80
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
81
+
82
+ const currentComponent = computed(() =>
83
+ isNewView.value
84
+ ? defineAsyncComponent(() => import('./New.vue'))
85
+ : defineAsyncComponent(() => import('./Old.vue'))
86
+ )
87
+
88
+ const localization = computed<UI_I_Localization>(() => useLocal())
89
+ const isSphere = computed<boolean>(() => props.project === 'sphere')
90
+
91
+ const location = ref<UI_I_TreeNode | null>(props.dataCenter) // для сферы
92
+
93
+ const wizard: Wizard = new Wizard(
94
+ stepsFunc(localization.value, props.project),
95
+ stepsSchemeInitial
96
+ )
97
+ if (isSphere.value) {
98
+ wizard.changeScheme(1)
99
+ // wizard.selectStepHard(1)
100
+ }
101
+
102
+ const locationDescription = computed<string>(
103
+ () => localization.value.common.selectLocationVirtualMachine
104
+ )
105
+
106
+ const nameTestIds: UI_I_NameTestIds = {
107
+ name: 'virtual-machine-name',
108
+ helpIcon: 'show-vm-name-help-icon',
109
+ }
110
+
111
+ const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
112
+ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> => {
113
+ wizard.changeSteps(value, validationFunc)
114
+ }
115
+ const validationFunc = async (
116
+ value: UI_I_WizardStep[],
117
+ currentStep: UI_I_WizardStep,
118
+ nextStep: UI_I_WizardStep
119
+ ): Promise<UI_I_ValidationReturn> => {
120
+ let stepHasError = false
121
+ let stepShouldStop = {
122
+ ifOnCurrentStep: false,
123
+ ifFromAnyStep: false,
124
+ stoppageStepId: -1,
125
+ }
126
+
127
+ wizard.setLoader(true)
128
+ if (
129
+ wizard.isValidateForStep(
130
+ isSphere.value ? dynamicSteps.selectNameFolder : dynamicSteps.selectName,
131
+ currentStep.id,
132
+ nextStep.id
133
+ )
134
+ ) {
135
+ const nameValidation = await onCheckName(value)
136
+
137
+ value = nameValidation.newValue
138
+ stepHasError = stepHasError || nameValidation.stepHasError
139
+ } else if (
140
+ isSphere.value &&
141
+ wizard.isValidateForStep(
142
+ dynamicSteps.selectComputeResource,
143
+ currentStep.id,
144
+ nextStep.id
145
+ )
146
+ ) {
147
+ const computeResourceValidation = await checkComputeResource(value)
148
+
149
+ value = computeResourceValidation.newValue
150
+ stepHasError = stepHasError || computeResourceValidation.stepHasError
151
+ }
152
+ wizard.setLoader(false)
153
+
154
+ return {
155
+ newValue: value,
156
+ stepHasError,
157
+ stepShouldStop,
158
+ }
159
+ }
160
+
161
+ const nameFormSubmit = ref<null | Function>(null)
162
+ const onCheckName = async (
163
+ value: UI_I_WizardStep[]
164
+ ): Promise<UI_I_ValidationReturn> => {
165
+ let stepHasError = false
166
+
167
+ return new Promise((resolve) => {
168
+ const step = isSphere.value
169
+ ? dynamicSteps.selectNameFolder
170
+ : dynamicSteps.selectName
171
+ nameFormSubmit.value = (isValid: boolean) => {
172
+ if (!isValid) {
173
+ stepHasError = wizard.setValidation(step, 'name', {
174
+ fieldMessage: 'aaa',
175
+ alertMessage: 'aaa',
176
+ })
177
+ } else if (wizard.hasMessage(step, 'name')) {
178
+ value = wizard.removeValidation(step, 'name', value)
179
+ }
180
+
181
+ resolve({
182
+ stepHasError,
183
+ newValue: value,
184
+ })
185
+ nameFormSubmit.value = null
186
+ }
187
+ })
188
+ }
189
+ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
190
+ const { computeResource } = vmForm.value
191
+
192
+ if (!computeResource)
193
+ return [
194
+ 'none',
195
+ localization.value.vmWizard.noDestinationComputeResourceSelected,
196
+ ]
197
+
198
+ let res: [UI_T_CompatibilityStatus, string] = [
199
+ 'success',
200
+ localization.value.common.compatibilityChecksSucceeded,
201
+ ]
202
+
203
+ if (!['cluster', 'host', 'resource_pool'].includes(computeResource?.type)) {
204
+ res = [
205
+ 'error',
206
+ localization.value.common.selectValidClusterOrHostDestination,
207
+ ]
208
+ }
209
+ if (computeResource?.type === 'cluster') {
210
+ const hasHost = !!computeResource.nodes.length
211
+ if (!hasHost) {
212
+ res = ['error', localization.value.common.clusterNotContainAnyHosts]
213
+ }
214
+ }
215
+
216
+ if (computeResource?.type === 'host') {
217
+ if (computeResource.state === 'Error') {
218
+ // TODO check Maintenance Mode
219
+ res = [
220
+ 'error',
221
+ localization.value.common.selectedHostDisconnectedMaintenanceMode,
222
+ ]
223
+ }
224
+ }
225
+
226
+ return res
227
+ })
228
+ const computeResourceAlert = ref<string[]>([])
229
+ const checkComputeResource = (
230
+ value: UI_I_WizardStep[]
231
+ ): UI_I_ValidationReturn => {
232
+ let stepHasError = false
233
+
234
+ const { computeResource } = vmForm.value
235
+
236
+ if (
237
+ !computeResource ||
238
+ // compatibilityText.value[0] !== 1 ||
239
+ computeResource.type === 'datacenter' ||
240
+ computeResource.type === 'folder' ||
241
+ (computeResource.type === 'cluster' && !computeResource.nodes.length)
242
+ ) {
243
+ computeResourceAlert.value = [
244
+ localization.value.common.specifyValidClusterOrHostDestination,
245
+ ]
246
+ stepHasError = wizard.setValidation(
247
+ dynamicSteps.selectComputeResource,
248
+ 'computeResource',
249
+ {
250
+ fieldMessage: 'aaa',
251
+ alertMessage: 'aaa',
252
+ }
253
+ )
254
+ } else {
255
+ computeResourceAlert.value = []
256
+ if (
257
+ wizard.hasMessage(dynamicSteps.selectComputeResource, 'computeResource')
258
+ ) {
259
+ value = wizard.removeValidation(
260
+ dynamicSteps.selectComputeResource,
261
+ 'computeResource',
262
+ value
263
+ )
264
+ }
265
+ }
266
+
267
+ return {
268
+ stepHasError,
269
+ newValue: value,
270
+ }
271
+ }
272
+
273
+ const isLoadingComputeTree = ref<boolean>(false)
274
+ const onChangeName = (name: string, node: UI_I_TreeNode | null): void => {
275
+ vmForm.value.name = name
276
+ if (isSphere.value) {
277
+ vmForm.value.locationPath = node.id
278
+ vmForm.value.dataCenter = $recursion.findParentByValue(
279
+ node,
280
+ 'datacenter',
281
+ 'type',
282
+ 'parent'
283
+ )
284
+ isLoadingComputeTree.value = true
285
+ emits('get-compute-resource-tree', {
286
+ id: node.id,
287
+ cb: () => {
288
+ isLoadingComputeTree.value = false
289
+ },
290
+ })
291
+ }
292
+ }
293
+
294
+ watch(
295
+ () => vmForm.value.computeResource,
296
+ (newValue, oldValue) => {
297
+ if (newValue && newValue.id !== oldValue?.id) {
298
+ onSelectComputeResourceTree(newValue)
299
+ }
300
+ },
301
+ { deep: true }
302
+ )
303
+ const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
304
+ emits('select-compute-resource-tree', node)
305
+ }
306
+
307
+ const computeResourceTreeLocal = computed<UI_I_TreeNode[]>(() => {
308
+ // для сферы
309
+ return props.computeResourceTree || []
310
+ })
311
+ </script>
312
+
313
+ <style scoped lang="scss"></style>
@@ -1,86 +1,94 @@
1
- import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
2
- import { UI_E_WIZARD_STATUS } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/enums'
3
- import type { UI_I_Localization } from '~/lib/models/interfaces'
4
-
5
- export const dynamicSteps = {
6
- selectName: 0,
7
- selectNameFolder: 1,
8
- selectComputeResource: 2,
9
- readyComplete: 3,
10
- }
11
-
12
- export const stepsFunc = (
13
- localization: UI_I_Localization
14
- ): UI_I_WizardStep[] => {
15
- return [
16
- // Procurator
17
- {
18
- id: dynamicSteps.selectName,
19
- stepName: '',
20
- title: localization.common.selectName,
21
- subTitle: localization.common.specifyUniqueName,
22
- status: UI_E_WIZARD_STATUS.SELECTED,
23
- isValid: true,
24
- testId: 'vm-select-name',
25
- fields: {
26
- name: {
27
- field: '',
28
- alert: '',
29
- },
30
- },
31
- },
32
- // Sphere
33
- {
34
- id: dynamicSteps.selectNameFolder,
35
- stepName: '',
36
- title: localization.vmWizard.selectNameFolder,
37
- subTitle: localization.common.specifyUniqueNameTargetLocation,
38
- status: UI_E_WIZARD_STATUS.INACTIVE,
39
- isValid: true,
40
- testId: 'vm-select-name-folder',
41
- fields: {
42
- name: {
43
- field: '',
44
- alert: '',
45
- },
46
- },
47
- },
48
- // Sphere
49
- {
50
- id: dynamicSteps.selectComputeResource,
51
- stepName: '',
52
- title: localization.vmWizard.selectComputeResource,
53
- subTitle: localization.common.selectDestinationComputeResourceOperation,
54
- status: UI_E_WIZARD_STATUS.INACTIVE,
55
- isValid: true,
56
- testId: 'vm-select-compute-resource',
57
- fields: {
58
- computeResource: {
59
- field: '',
60
- alert: '',
61
- },
62
- },
63
- },
64
- {
65
- id: dynamicSteps.readyComplete,
66
- stepName: '',
67
- title: localization.vmWizard.readyComplete,
68
- subTitle: localization.vmWizard.lastCreateSubtitle,
69
- status: UI_E_WIZARD_STATUS.INACTIVE,
70
- isValid: true,
71
- testId: 'vm-ready-complete',
72
- fields: {},
73
- },
74
- ]
75
- }
76
-
77
- export const stepsSchemeInitial = [
78
- // 0 Procurator
79
- [dynamicSteps.selectName, dynamicSteps.readyComplete],
80
- // 1 Sphere
81
- [
82
- dynamicSteps.selectNameFolder,
83
- dynamicSteps.selectComputeResource,
84
- dynamicSteps.readyComplete,
85
- ],
86
- ]
1
+ import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
2
+ import { UI_E_WIZARD_STATUS } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/enums'
3
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
4
+ import type { UI_T_Project } from '~/lib/models/types'
5
+
6
+ export const dynamicSteps = {
7
+ selectName: 0,
8
+ selectNameFolder: 1,
9
+ selectComputeResource: 2,
10
+ readyComplete: 3,
11
+ }
12
+
13
+ export const stepsFunc = (
14
+ localization: UI_I_Localization,
15
+ project: UI_T_Project
16
+ ): UI_I_WizardStep[] => {
17
+ return [
18
+ // Procurator
19
+ {
20
+ id: dynamicSteps.selectName,
21
+ stepName: '',
22
+ title: localization.common.selectName,
23
+ subTitle: localization.common.specifyUniqueName,
24
+ status:
25
+ project === 'procurator'
26
+ ? UI_E_WIZARD_STATUS.SELECTED
27
+ : UI_E_WIZARD_STATUS.INACTIVE,
28
+ isValid: true,
29
+ testId: 'vm-select-name',
30
+ fields: {
31
+ name: {
32
+ field: '',
33
+ alert: '',
34
+ },
35
+ },
36
+ },
37
+ // Sphere
38
+ {
39
+ id: dynamicSteps.selectNameFolder,
40
+ stepName: '',
41
+ title: localization.vmWizard.selectNameFolder,
42
+ subTitle: localization.common.specifyUniqueNameTargetLocation,
43
+ status:
44
+ project === 'procurator'
45
+ ? UI_E_WIZARD_STATUS.INACTIVE
46
+ : UI_E_WIZARD_STATUS.SELECTED,
47
+ isValid: true,
48
+ testId: 'vm-select-name-folder',
49
+ fields: {
50
+ name: {
51
+ field: '',
52
+ alert: '',
53
+ },
54
+ },
55
+ },
56
+ // Sphere
57
+ {
58
+ id: dynamicSteps.selectComputeResource,
59
+ stepName: '',
60
+ title: localization.vmWizard.selectComputeResource,
61
+ subTitle: localization.common.selectDestinationComputeResourceOperation,
62
+ status: UI_E_WIZARD_STATUS.INACTIVE,
63
+ isValid: true,
64
+ testId: 'vm-select-compute-resource',
65
+ fields: {
66
+ computeResource: {
67
+ field: '',
68
+ alert: '',
69
+ },
70
+ },
71
+ },
72
+ {
73
+ id: dynamicSteps.readyComplete,
74
+ stepName: '',
75
+ title: localization.vmWizard.readyComplete,
76
+ subTitle: localization.vmWizard.lastCreateSubtitle,
77
+ status: UI_E_WIZARD_STATUS.INACTIVE,
78
+ isValid: true,
79
+ testId: 'vm-ready-complete',
80
+ fields: {},
81
+ },
82
+ ]
83
+ }
84
+
85
+ export const stepsSchemeInitial = [
86
+ // 0 Procurator
87
+ [dynamicSteps.selectName, dynamicSteps.readyComplete],
88
+ // 1 Sphere
89
+ [
90
+ dynamicSteps.selectNameFolder,
91
+ dynamicSteps.selectComputeResource,
92
+ dynamicSteps.readyComplete,
93
+ ],
94
+ ]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.634",
4
+ "version": "1.5.635",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",