bfg-common 1.2.186 → 1.2.187

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.
Files changed (77) hide show
  1. package/assets/localization/local_be.json +9 -2
  2. package/assets/localization/local_en.json +9 -2
  3. package/assets/localization/local_hy.json +9 -2
  4. package/assets/localization/local_kk.json +9 -2
  5. package/assets/localization/local_ru.json +9 -2
  6. package/assets/localization/local_zh.json +9 -2
  7. package/assets/scss/common/theme.scss +27 -25
  8. package/components/atoms/table/simpleTable/SimpleTable.vue +5 -2
  9. package/components/atoms/wizard/Wizard.vue +4 -4
  10. package/components/atoms/wizard/models/interfaces.ts +4 -3
  11. package/components/atoms/wizard/utils/utils.ts +106 -27
  12. package/components/common/diagramMain/DiagramMain.vue +10 -46
  13. package/components/common/diagramMain/modals/config/index.ts +0 -6
  14. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +2 -2
  15. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +1 -1
  16. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  17. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +531 -0
  18. package/components/common/diagramMain/modals/migrateVmkernelAdapter/config/steps.ts +114 -0
  19. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +161 -0
  20. package/components/common/diagramMain/modals/{steps → migrateVmkernelAdapter/steps}/SelectVmkernelAdapter.vue +24 -86
  21. package/components/common/diagramMain/modals/{steps → migrateVmkernelAdapter/steps}/VmkernelAdapterReadyComplete.vue +7 -11
  22. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +47 -0
  23. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +146 -0
  24. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +54 -0
  25. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -0
  26. package/components/common/diagramMain/models/enums.ts +6 -7
  27. package/components/common/diagramMain/models/interfaces.ts +28 -29
  28. package/components/common/diagramMain/models/types.ts +0 -1
  29. package/components/common/monitor/advanced/Advanced.vue +5 -4
  30. package/components/common/wizards/network/add/Add.vue +874 -0
  31. package/components/common/{addNetworking → wizards/network/add}/config/index.ts +2 -16
  32. package/components/common/{addNetworking → wizards/network/add}/config/initialData.ts +4 -19
  33. package/components/common/{addNetworking → wizards/network/add}/config/portPropertiesStep.ts +1 -1
  34. package/components/common/{addNetworking → wizards/network/add}/config/selectSwitch.ts +1 -1
  35. package/components/common/{addNetworking → wizards/network/add}/config/sendData.ts +1 -1
  36. package/components/common/{addNetworking/config/addNetworkingSteps.ts → wizards/network/add/config/steps.ts} +107 -60
  37. package/components/common/{addNetworking → wizards/network/add}/modals/SelectNetwork.vue +2 -2
  38. package/components/common/{addNetworking → wizards/network/add}/modals/SelectStandardSwitch.vue +2 -2
  39. package/components/common/{addNetworking → wizards/network/add}/modals/SelectSwitch.vue +2 -2
  40. package/components/common/wizards/network/add/models/enums.ts +17 -0
  41. package/components/common/{addNetworking → wizards/network/add}/models/interfaces.ts +30 -37
  42. package/components/common/wizards/network/add/models/types.ts +2 -0
  43. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +148 -0
  44. package/components/common/{addNetworking → wizards/network/add}/steps/CreateStandardSwitch.vue +0 -7
  45. package/components/common/wizards/network/add/steps/IpFourSettings.vue +245 -0
  46. package/components/common/{addNetworking → wizards/network/add}/steps/PhysicalAdapter.vue +1 -12
  47. package/components/common/{addNetworking → wizards/network/add}/steps/PortProperties.vue +57 -180
  48. package/components/common/{addNetworking → wizards/network/add}/steps/ReadyComplete.vue +1 -10
  49. package/components/common/{addNetworking → wizards/network/add}/steps/SelectConnectionType.vue +3 -15
  50. package/components/common/{addNetworking → wizards/network/add}/steps/SelectedTargetDevice.vue +103 -209
  51. package/components/common/wizards/network/add/utils/index.ts +4 -0
  52. package/components/common/wizards/network/add/validations/common.ts +58 -0
  53. package/components/common/wizards/network/add/validations/connectionSettings.ts +75 -0
  54. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -0
  55. package/components/common/wizards/network/add/validations/ipFourSettings.ts +188 -0
  56. package/components/common/wizards/network/add/validations/networkValidation.ts +73 -0
  57. package/components/common/wizards/network/add/validations/portProperties.ts +87 -0
  58. package/components/common/wizards/network/add/validations/targetDevice.ts +113 -0
  59. package/components/common/wizards/network/add/validations/validations.ts +43 -0
  60. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +2 -0
  61. package/package.json +1 -1
  62. package/components/common/addNetworking/AddNetworking.vue +0 -1123
  63. package/components/common/addNetworking/Wizard.vue +0 -286
  64. package/components/common/addNetworking/config/temporaryData.ts +0 -8
  65. package/components/common/addNetworking/config/validation.ts +0 -23
  66. package/components/common/addNetworking/models/enums.ts +0 -7
  67. package/components/common/addNetworking/models/types.ts +0 -13
  68. package/components/common/addNetworking/steps/ConnectionSettings.vue +0 -269
  69. package/components/common/addNetworking/steps/Header.vue +0 -53
  70. package/components/common/addNetworking/steps/IpFourSettings.vue +0 -361
  71. package/components/common/addNetworking/utils/index.ts +0 -212
  72. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +0 -603
  73. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +0 -81
  74. package/components/common/diagramMain/modals/config/validation.ts +0 -3
  75. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +0 -221
  76. package/components/common/diagramMain/modals/steps/Header.vue +0 -60
  77. /package/components/common/{addNetworking → wizards/network/add}/mappers/mappers.ts +0 -0
@@ -0,0 +1,531 @@
1
+ <template>
2
+ <atoms-wizard
3
+ v-model:show="props.show"
4
+ :steps="wizard.steps"
5
+ :selected-scheme="selectedScheme"
6
+ :is-loading="wizard.wizardLoader.status"
7
+ :loader-messages="wizard.wizardLoader.messages"
8
+ :title="title"
9
+ :was-completed="wasCompleted"
10
+ :localization="localization"
11
+ :class="[
12
+ 'migrate-vm-kernel-modal',
13
+ {
14
+ 'is-dark': props.isDarkMode,
15
+ },
16
+ ]"
17
+ @change-steps="onChangeSteps"
18
+ @hide="onHide"
19
+ @submit="onSubmit"
20
+ >
21
+ <template #modalBody="{ selectedStep }">
22
+ <common-diagram-main-modals-migrate-vmkernel-adapter-steps-select-vmkernel-adapter
23
+ v-if="selectedStep.id === 0"
24
+ :vmkernel-adapter="vmkernelAdapter"
25
+ :table-data="filteredNetworksList"
26
+ :alert-messages="alertMessages[0]"
27
+ @hide-alert="onHideAlert"
28
+ @change-vmkernel-adapter="onChangeMigrateVmkernelAdapter"
29
+ />
30
+ <common-diagram-main-modals-migrate-vmkernel-adapter-steps-connection-settings
31
+ v-if="selectedStep.id === 1"
32
+ :connection-settings="connectionSettings"
33
+ :messages-fields="selectedStep.fields"
34
+ :alert-messages="alertMessages[1]"
35
+ :wizard="wizard"
36
+ @hide-alert="onHideAlert"
37
+ @change-connection-settings="onChangeConnectionSettings"
38
+ />
39
+ <common-diagram-main-modals-migrate-vmkernel-adapter-steps-vmkernel-adapter-ready-complete
40
+ v-if="selectedStep.id === 2"
41
+ :data="readyCompleteData"
42
+ />
43
+ </template>
44
+ </atoms-wizard>
45
+ </template>
46
+
47
+ <script setup lang="ts">
48
+ import { UI_I_Localization } from '~/models/interfaces'
49
+ import {
50
+ UI_I_NetworkFull,
51
+ UI_I_VmkernelAdapterTableData,
52
+ } from '~/components/common/diagramMain/models/interfaces'
53
+ import {
54
+ UI_I_ConnectionSettings,
55
+ UI_I_SelectVmkernelAdapter,
56
+ } from '~/components/common/wizards/network/add/models/interfaces'
57
+ import {
58
+ UI_I_WizardStep,
59
+ UI_I_ValidationReturn,
60
+ } from '~/components/atoms/wizard/models/interfaces'
61
+ import {
62
+ UI_I_MigrateVmkernelAdapterEmits,
63
+ UI_I_MigrationVmkernelAdapterReadyComplete,
64
+ } from '~/components/common/diagramMain/models/interfaces'
65
+ import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/models/enums'
66
+ import {
67
+ stepsFunc,
68
+ stepsSchemeInitial,
69
+ } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/config/steps'
70
+ import {
71
+ checkNetworkAsync,
72
+ checkConnectionSettingsSync,
73
+ checkSelectedVmSync,
74
+ } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations'
75
+ import Wizard from '~/components/atoms/wizard/utils/utils'
76
+ import { readyCompleteInitial } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/config/steps'
77
+
78
+ const props = withDefaults(
79
+ defineProps<{
80
+ show: boolean
81
+ switchName?: string
82
+ networksList?: UI_I_NetworkFull[]
83
+ switchNetworks?: UI_I_NetworkFull[]
84
+ isDarkMode: boolean
85
+ }>(),
86
+ {
87
+ switchName: '',
88
+ networksList: () => [],
89
+ switchNetworks: () => [],
90
+ }
91
+ )
92
+
93
+ const emits = defineEmits<UI_I_MigrateVmkernelAdapterEmits>()
94
+
95
+ const localization = computed<UI_I_Localization>(() => useLocal())
96
+
97
+ const wizard: Wizard = new Wizard(
98
+ stepsFunc(localization.value),
99
+ stepsSchemeInitial
100
+ )
101
+ const wasCompleted = computed<boolean>(() => wizard.wasCompleted())
102
+ const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
103
+ const alertMessages = computed<string[][]>(() => wizard.alertMessages.value)
104
+
105
+ const hostname = ref<string>('')
106
+ const title = computed<string>(
107
+ () =>
108
+ `${hostname.value} - ${localization.value.migrateVmKernelNetworkAdapterTo} ${props.switchName}`
109
+ )
110
+
111
+ const connectionSettings = ref<UI_I_ConnectionSettings>({
112
+ networkLabel: 'VM Network',
113
+ vlanId: 'None (0)',
114
+ })
115
+
116
+ const vmkernelAdapter = ref<UI_I_SelectVmkernelAdapter>({
117
+ vm: '',
118
+ })
119
+
120
+ const readyCompleteData =
121
+ ref<UI_I_MigrationVmkernelAdapterReadyComplete>(readyCompleteInitial)
122
+
123
+ const validationFunc = async (
124
+ value: UI_I_WizardStep[],
125
+ currentStep: UI_I_WizardStep,
126
+ nextStep: UI_I_WizardStep
127
+ ): Promise<UI_I_ValidationReturn> => {
128
+ let stepHasError = false
129
+
130
+ if (wizard.isValidateForStep(0, currentStep.id, nextStep.id)) {
131
+ const selectVmkernelAdapterValidation = checkSelectedVmSync(
132
+ localization.value,
133
+ vmkernelAdapter.value,
134
+ wizard,
135
+ value
136
+ )
137
+
138
+ value = selectVmkernelAdapterValidation.newValue
139
+
140
+ stepHasError = stepHasError || selectVmkernelAdapterValidation.stepHasError
141
+ }
142
+
143
+ if (wizard.isValidateForStep(1, currentStep.id, nextStep.id)) {
144
+ const labelValidation = await checkNetworkAsync(
145
+ value,
146
+ connectionSettings.value.networkLabel,
147
+ 1,
148
+ UI_E_MigrationValidationFields.CONNECTION_SETTINGS_NETWORK,
149
+ emits,
150
+ localization.value,
151
+ wizard
152
+ )
153
+
154
+ value = labelValidation.newValue
155
+
156
+ const connectionSettingsValidation = checkConnectionSettingsSync(
157
+ localization.value,
158
+ connectionSettings.value,
159
+ wizard,
160
+ value
161
+ )
162
+
163
+ value = connectionSettingsValidation.newValue
164
+
165
+ stepHasError =
166
+ stepHasError ||
167
+ labelValidation.stepHasError ||
168
+ connectionSettingsValidation.stepHasError
169
+ }
170
+
171
+ return {
172
+ newValue: value,
173
+ stepHasError,
174
+ }
175
+ }
176
+
177
+ const finalValidationFunc = async (
178
+ value: UI_I_WizardStep[]
179
+ ): Promise<UI_I_ValidationReturn> => {
180
+ let stepHasError = false
181
+
182
+ // wizard.setLoader(true)
183
+
184
+ // wizard.setLoader(false)
185
+ return {
186
+ stepHasError,
187
+ newValue: value,
188
+ }
189
+ }
190
+
191
+ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> =>
192
+ wizard.changeSteps(value, validationFunc, finalValidationFunc)
193
+
194
+ const filteredNetworksList = ref<UI_I_VmkernelAdapterTableData[]>([])
195
+
196
+ watch(
197
+ () => wizard.selectedStepId,
198
+ (newSelectedStepId: number) => {
199
+ if (newSelectedStepId !== 2) return
200
+
201
+ const from = filteredNetworksList.value.find(
202
+ (network) => network.name === vmkernelAdapter.value.vm
203
+ )
204
+
205
+ readyCompleteData.value = {
206
+ vm: vmkernelAdapter.value.vm,
207
+ currentSettings: {
208
+ switch: from?.switch || '',
209
+ network: from?.networkLabel || '',
210
+ },
211
+ newSettings: {
212
+ switch: props.switchName,
213
+ network: connectionSettings.value.networkLabel,
214
+ },
215
+ vlanId: connectionSettings.value.vlanId,
216
+ }
217
+ }
218
+ )
219
+
220
+ watch(
221
+ () => props.switchNetworks,
222
+ (netsOnSwitch: UI_I_NetworkFull[]) => {
223
+ const vmKernelNetworksIdOnSwitch = netsOnSwitch
224
+ .filter((net: UI_I_NetworkFull) => net.networkType === '1')
225
+ .map((net: UI_I_NetworkFull) => net.id)
226
+
227
+ filteredNetworksList.value = props.networksList
228
+ .filter(
229
+ (net: UI_I_NetworkFull) =>
230
+ net.networkType === '1' &&
231
+ !vmKernelNetworksIdOnSwitch.includes(net.id)
232
+ )
233
+ .map((net: UI_I_NetworkFull, index: number) => ({
234
+ name: net.sysx?.name || '',
235
+ networkLabel: net.title,
236
+ switch: net.switchName || '',
237
+ ipAddress: net.sysx?.tcp_config.ipv4 || '--',
238
+ tcp: net.sysx?.tcp_stack
239
+ ? localization.value[net.sysx?.tcp_stack]
240
+ : '--',
241
+ id: `${net.sysx?.name || ''}-${index}`,
242
+ }))
243
+ },
244
+ { deep: true, immediate: true }
245
+ )
246
+
247
+ const onChangeConnectionSettings = (
248
+ newFields: UI_I_ConnectionSettings
249
+ ): void => {
250
+ connectionSettings.value = newFields
251
+ }
252
+
253
+ const onChangeMigrateVmkernelAdapter = (
254
+ newFields: UI_I_SelectVmkernelAdapter
255
+ ): void => {
256
+ vmkernelAdapter.value = newFields
257
+ }
258
+
259
+ const reset = (): void => {
260
+ wizard.reset()
261
+ connectionSettings.value = {
262
+ networkLabel: 'VM Network',
263
+ vlanId: 'None (0)',
264
+ }
265
+ vmkernelAdapter.value = {
266
+ vm: '',
267
+ }
268
+ }
269
+
270
+ const onHideAlert = (stepId: number): void => {
271
+ wizard.hideAlertMessagesByStepId(stepId)
272
+ }
273
+
274
+ const onHide = (): void => {
275
+ emits('hide')
276
+ reset()
277
+ }
278
+
279
+ const onSubmit = (): void => {
280
+ onHide()
281
+ }
282
+
283
+ onMounted(() => {
284
+ hostname.value = location.hostname
285
+ })
286
+ </script>
287
+
288
+ <style scoped lang="scss">
289
+ .main-step-container {
290
+ display: flex;
291
+ }
292
+
293
+ :deep(.modal) {
294
+ & > .modal-dialog > .modal-content > .modal-body {
295
+ height: calc(100% - 110px);
296
+ }
297
+ }
298
+ .step-items-container {
299
+ width: 230px;
300
+ padding: 10px 5px 10px 6px;
301
+ li {
302
+ display: flex;
303
+ margin: 0;
304
+ height: 24.8px;
305
+ span {
306
+ width: 16px;
307
+ }
308
+ }
309
+
310
+ .step-item {
311
+ margin: 0;
312
+ height: 24.8px;
313
+ padding-left: 5px;
314
+ // 0-Disabled
315
+ &.status-0 {
316
+ height: 24.8px;
317
+ overflow: hidden;
318
+ text-overflow: ellipsis;
319
+ white-space: nowrap;
320
+ border-bottom: 1px solid transparent;
321
+ width: 189px;
322
+ line-height: 24px;
323
+ display: inline-block;
324
+ text-decoration: none;
325
+ font-weight: 700;
326
+ color: #999;
327
+ cursor: default;
328
+ }
329
+ // 1-Selected
330
+ &.status-1 {
331
+ background-color: #29414e;
332
+ color: #ffffff;
333
+ border-bottom: 1px solid transparent;
334
+ overflow: hidden;
335
+ text-overflow: ellipsis;
336
+ white-space: nowrap;
337
+ border-radius: 5px;
338
+ cursor: default;
339
+ width: 189px;
340
+ line-height: 24px;
341
+ display: inline-block;
342
+ text-decoration: none;
343
+ font-weight: 700;
344
+ }
345
+ // 2-Active
346
+ &.status-2 {
347
+ overflow: hidden;
348
+ text-overflow: ellipsis;
349
+ white-space: nowrap;
350
+ border-bottom: 1px solid transparent;
351
+ width: 189px;
352
+ line-height: 24px;
353
+ cursor: pointer;
354
+ display: inline-block;
355
+ text-decoration: none;
356
+ font-weight: 700;
357
+ color: #333;
358
+ &:hover {
359
+ color: #454545;
360
+ background-color: #e8e8e8;
361
+ border-bottom: 1px solid #666666;
362
+ border-radius: 5px;
363
+ }
364
+ }
365
+ // 3-Complete
366
+ &.status-3 {
367
+ overflow: hidden;
368
+ text-overflow: ellipsis;
369
+ white-space: nowrap;
370
+ border-bottom: 1px solid transparent;
371
+ width: 189px;
372
+ line-height: 24px;
373
+ display: inline-block;
374
+ text-decoration: none;
375
+ font-weight: 700;
376
+ color: #333;
377
+ cursor: pointer;
378
+ &:hover {
379
+ color: #454545;
380
+ background-color: #e8e8e8;
381
+ border-bottom: 1px solid #666666;
382
+ text-decoration: none;
383
+ border-radius: 5px;
384
+ }
385
+ }
386
+ // 4-ActiveSelected
387
+ &.status-4 {
388
+ background-color: #29414e;
389
+ color: #ffffff;
390
+ border-bottom: 1px solid transparent;
391
+ overflow: hidden;
392
+ text-overflow: ellipsis;
393
+ white-space: nowrap;
394
+ border-radius: 5px;
395
+ cursor: default;
396
+ width: 189px;
397
+ line-height: 24px;
398
+ display: inline-block;
399
+ text-decoration: none;
400
+ font-weight: 700;
401
+ }
402
+ }
403
+ }
404
+ :deep(.with-underline) {
405
+ & > .modal-dialog > .modal-content > .modal-header {
406
+ border-bottom: 1px solid #a6a6a6;
407
+ padding: 0;
408
+ }
409
+ & > .modal-dialog > .modal-content > .modal-body {
410
+ height: calc(100% - 87px);
411
+ }
412
+ }
413
+ :deep(.wizard-content-container.add-networking-step) {
414
+ .danger-not-valid {
415
+ border: 2px solid red;
416
+ border-bottom: 1px solid #db2100;
417
+ }
418
+ .tooltip-field {
419
+ margin-right: 12px;
420
+ }
421
+
422
+ .horizontal-flex-container {
423
+ margin-bottom: 5px;
424
+ min-height: 36px;
425
+ display: flex;
426
+ flex-direction: row;
427
+ }
428
+ .property-label-group {
429
+ width: 140px;
430
+ }
431
+ .disabled {
432
+ opacity: 0.4;
433
+ pointer-events: none;
434
+ }
435
+
436
+ .wizard-content-port {
437
+ .margin-left-property-value-group {
438
+ margin-left: 10px;
439
+ }
440
+
441
+ .property-value-group {
442
+ padding-left: 23px;
443
+ }
444
+ .horizontal-flex-container {
445
+ min-height: 24px;
446
+ margin-bottom: 0;
447
+ }
448
+
449
+ .radio {
450
+ min-height: 39px;
451
+ margin: 10px 0;
452
+ }
453
+
454
+ .form-block {
455
+ margin: 12px 0 24px 0;
456
+ padding-left: 23px;
457
+
458
+ &.form-block-ipv {
459
+ input[type='text'] {
460
+ width: 143px;
461
+ }
462
+
463
+ .horizontal-flex-container > label {
464
+ margin-right: 50px;
465
+ }
466
+ }
467
+ }
468
+
469
+ .edit-vmkernel-adapter-section {
470
+ padding-top: 12px;
471
+
472
+ label {
473
+ input[type='checkbox'] {
474
+ margin-right: 4px;
475
+ transform: translateY(1px);
476
+ }
477
+ }
478
+
479
+ .horizontal-flex-container {
480
+ margin-bottom: 5px;
481
+ }
482
+ }
483
+ .port-properties-network-label {
484
+ width: 280px;
485
+ }
486
+ .port-properties-padding {
487
+ padding-top: 8px;
488
+ }
489
+ .port-properties-mtu-selector {
490
+ margin-right: 12px;
491
+ }
492
+ .port-properties-mtu-container {
493
+ display: flex;
494
+ }
495
+ select {
496
+ height: 24px;
497
+ }
498
+ }
499
+ .nw-property-value-group {
500
+ display: inline;
501
+ }
502
+ }
503
+
504
+ .migrate-vm-kernel-modal.is-dark {
505
+ :deep(.wizard-content-container) {
506
+ .ready-complete-container {
507
+ background-color: var(--pannel-bg-color);
508
+ margin-top: 12px;
509
+
510
+ span {
511
+ color: var(--description-color);
512
+ }
513
+ }
514
+
515
+ .property-label-group {
516
+ color: var(--main-color-mode2);
517
+ }
518
+ .flex-property-label-group {
519
+ color: var(--main-color-mode2);
520
+ }
521
+ .flex-property-value-group {
522
+ select {
523
+ color: #fff;
524
+ }
525
+ }
526
+ .wizard-content-header-area .title {
527
+ color: #adbbc4;
528
+ }
529
+ }
530
+ }
531
+ </style>
@@ -0,0 +1,114 @@
1
+ import { UI_I_MigrationVmkernelAdapterReadyComplete } from '~/components/common/diagramMain/models/interfaces'
2
+ import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/models/enums'
3
+ import { UI_I_WizardStep } from '~/components/atoms/wizard/models/interfaces'
4
+ import { UI_E_WIZARD_STATUS } from '~/components/atoms/wizard/models/enums'
5
+ import { UI_I_Localization } from '~/models/interfaces'
6
+
7
+ export const stepsFunc = (
8
+ localization: UI_I_Localization
9
+ ): UI_I_WizardStep[] => [
10
+ {
11
+ id: 0,
12
+ title: localization.selectVmKernelAdapter,
13
+ subTitle: localization.migrateVmKernelNetworkAdapter1Placeholder,
14
+ status: UI_E_WIZARD_STATUS.SELECTED,
15
+ fields: {
16
+ [UI_E_MigrationValidationFields.SELECT_ADAPTER_VM]: {
17
+ field: '',
18
+ alert: '',
19
+ },
20
+ },
21
+ isValid: true,
22
+ },
23
+ {
24
+ id: 1,
25
+ title: localization.configureSettings,
26
+ subTitle: localization.migrateVmKernelNetworkAdapter2Placeholder,
27
+ status: UI_E_WIZARD_STATUS.INACTIVE,
28
+ fields: {
29
+ [UI_E_MigrationValidationFields.CONNECTION_SETTINGS_NETWORK]: {
30
+ field: '',
31
+ alert: '',
32
+ },
33
+ [UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN]: {
34
+ field: '',
35
+ alert: '',
36
+ },
37
+ },
38
+ isValid: true,
39
+ },
40
+ {
41
+ id: 2,
42
+ title: localization.readyComplete,
43
+ subTitle: localization.migrateVmKernelNetworkAdapter3Placeholder,
44
+ status: UI_E_WIZARD_STATUS.INACTIVE,
45
+ fields: {},
46
+ isValid: true,
47
+ },
48
+ ]
49
+
50
+ export const stepsSchemeInitial: number[][] = [[0, 1, 2]]
51
+
52
+ export const createMigrateVmkernelAdapterSchemeReadyCompleteFunc = (
53
+ localization: UI_I_Localization,
54
+ data: UI_I_MigrationVmkernelAdapterReadyComplete
55
+ ) => [
56
+ {
57
+ id: 0,
58
+ type: 0,
59
+ rows: [
60
+ {
61
+ name: localization.vmAdapter,
62
+ value: data.vm,
63
+ },
64
+ ],
65
+ },
66
+ {
67
+ title: localization.currentSettings,
68
+ id: 1,
69
+ type: 0,
70
+ rows: [
71
+ {
72
+ name: localization.migrateFromSwitch,
73
+ value: data.currentSettings.switch,
74
+ },
75
+ {
76
+ name: localization.networkLabel,
77
+ value: data.currentSettings.network,
78
+ },
79
+ ],
80
+ },
81
+ {
82
+ title: localization.newSettings,
83
+ id: 2,
84
+ type: 0,
85
+ rows: [
86
+ {
87
+ name: localization.migrateToSwitch,
88
+ value: data.newSettings.switch,
89
+ },
90
+ {
91
+ name: localization.networkLabel,
92
+ value: data.newSettings.network,
93
+ },
94
+ {
95
+ name: localization.vlanId,
96
+ value: data.vlanId,
97
+ },
98
+ ],
99
+ },
100
+ ]
101
+
102
+ export const readyCompleteInitial: UI_I_MigrationVmkernelAdapterReadyComplete =
103
+ {
104
+ vm: '-',
105
+ currentSettings: {
106
+ switch: '-',
107
+ network: '-',
108
+ },
109
+ newSettings: {
110
+ switch: '-',
111
+ network: '-',
112
+ },
113
+ vlanId: '-',
114
+ }