bfg-common 1.2.189 → 1.2.190

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 (81) hide show
  1. package/assets/localization/local_be.json +2 -3
  2. package/assets/localization/local_en.json +2 -3
  3. package/assets/localization/local_hy.json +2 -3
  4. package/assets/localization/local_kk.json +2 -3
  5. package/assets/localization/local_ru.json +2 -3
  6. package/assets/localization/local_zh.json +2 -3
  7. package/components/atoms/table/simpleTable/SimpleTable.vue +2 -5
  8. package/components/atoms/wizard/Wizard.vue +4 -4
  9. package/components/atoms/wizard/models/interfaces.ts +3 -4
  10. package/components/atoms/wizard/utils/utils.ts +27 -106
  11. package/components/common/addNetworking/AddNetworking.vue +1123 -0
  12. package/components/common/addNetworking/Wizard.vue +286 -0
  13. package/components/common/{wizards/network/add/config/steps.ts → addNetworking/config/addNetworkingSteps.ts} +60 -107
  14. package/components/common/{wizards/network/add → addNetworking}/config/index.ts +16 -2
  15. package/components/common/{wizards/network/add → addNetworking}/config/initialData.ts +19 -4
  16. package/components/common/{wizards/network/add → addNetworking}/config/portPropertiesStep.ts +1 -1
  17. package/components/common/{wizards/network/add → addNetworking}/config/selectSwitch.ts +1 -1
  18. package/components/common/{wizards/network/add → addNetworking}/config/sendData.ts +1 -1
  19. package/components/common/addNetworking/config/temporaryData.ts +8 -0
  20. package/components/common/addNetworking/config/validation.ts +23 -0
  21. package/components/common/{wizards/network/add → addNetworking}/modals/SelectNetwork.vue +2 -2
  22. package/components/common/{wizards/network/add → addNetworking}/modals/SelectStandardSwitch.vue +2 -2
  23. package/components/common/{wizards/network/add → addNetworking}/modals/SelectSwitch.vue +2 -2
  24. package/components/common/addNetworking/models/enums.ts +7 -0
  25. package/components/common/{wizards/network/add → addNetworking}/models/interfaces.ts +37 -30
  26. package/components/common/addNetworking/models/types.ts +13 -0
  27. package/components/common/addNetworking/steps/ConnectionSettings.vue +269 -0
  28. package/components/common/{wizards/network/add → addNetworking}/steps/CreateStandardSwitch.vue +7 -0
  29. package/components/common/addNetworking/steps/Header.vue +53 -0
  30. package/components/common/addNetworking/steps/IpFourSettings.vue +361 -0
  31. package/components/common/{wizards/network/add → addNetworking}/steps/PhysicalAdapter.vue +12 -1
  32. package/components/common/{wizards/network/add → addNetworking}/steps/PortProperties.vue +180 -57
  33. package/components/common/{wizards/network/add → addNetworking}/steps/ReadyComplete.vue +10 -1
  34. package/components/common/{wizards/network/add → addNetworking}/steps/SelectConnectionType.vue +15 -3
  35. package/components/common/{wizards/network/add → addNetworking}/steps/SelectedTargetDevice.vue +212 -106
  36. package/components/common/addNetworking/utils/index.ts +212 -0
  37. package/components/common/diagramMain/DiagramMain.vue +47 -11
  38. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +603 -0
  39. package/components/common/diagramMain/modals/config/index.ts +6 -0
  40. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +81 -0
  41. package/components/common/diagramMain/modals/config/validation.ts +3 -0
  42. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +2 -2
  43. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +1 -1
  44. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +1 -1
  45. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +221 -0
  46. package/components/common/diagramMain/modals/steps/Header.vue +60 -0
  47. package/components/common/diagramMain/modals/{migrateVmkernelAdapter/steps → steps}/SelectVmkernelAdapter.vue +86 -24
  48. package/components/common/diagramMain/modals/{migrateVmkernelAdapter/steps → steps}/VmkernelAdapterReadyComplete.vue +11 -7
  49. package/components/common/diagramMain/models/enums.ts +7 -6
  50. package/components/common/diagramMain/models/interfaces.ts +29 -28
  51. package/components/common/diagramMain/models/types.ts +1 -0
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +1 -1
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +1 -1
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  57. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +1 -1
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  59. package/package.json +1 -1
  60. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +0 -531
  61. package/components/common/diagramMain/modals/migrateVmkernelAdapter/config/steps.ts +0 -114
  62. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +0 -161
  63. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +0 -47
  64. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +0 -146
  65. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +0 -54
  66. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +0 -19
  67. package/components/common/wizards/network/add/Add.vue +0 -874
  68. package/components/common/wizards/network/add/models/enums.ts +0 -17
  69. package/components/common/wizards/network/add/models/types.ts +0 -2
  70. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +0 -148
  71. package/components/common/wizards/network/add/steps/IpFourSettings.vue +0 -245
  72. package/components/common/wizards/network/add/utils/index.ts +0 -4
  73. package/components/common/wizards/network/add/validations/common.ts +0 -58
  74. package/components/common/wizards/network/add/validations/connectionSettings.ts +0 -75
  75. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +0 -58
  76. package/components/common/wizards/network/add/validations/ipFourSettings.ts +0 -188
  77. package/components/common/wizards/network/add/validations/networkValidation.ts +0 -73
  78. package/components/common/wizards/network/add/validations/portProperties.ts +0 -87
  79. package/components/common/wizards/network/add/validations/targetDevice.ts +0 -113
  80. package/components/common/wizards/network/add/validations/validations.ts +0 -43
  81. /package/components/common/{wizards/network/add → addNetworking}/mappers/mappers.ts +0 -0
@@ -0,0 +1,603 @@
1
+ <template>
2
+ <div>
3
+ <atoms-modal
4
+ :width="props.width || '576px'"
5
+ :height="props.height || '420px'"
6
+ :show="props.show"
7
+ :title="props.title"
8
+ :class="[
9
+ 'with-underline migrate-vm-kernel-modal',
10
+ {
11
+ 'is-dark': props.isDarkMode,
12
+ },
13
+ ]"
14
+ @hide="onHideViewSettingsModal"
15
+ >
16
+ <template #modalBody>
17
+ <div class="main-step-container">
18
+ <div class="step-items-container">
19
+ <template
20
+ v-for="(currentStep, index) in stepsWithStatus"
21
+ :key="currentStep.id"
22
+ >
23
+ <li>
24
+ <span class="vui-inline-icon-container">
25
+ <img
26
+ v-if="currentStep.status === 3 || currentStep.status === 4"
27
+ alt="Completed"
28
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAABHppVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDo0QURGRTI5NjEzMjA2ODExODIyQUJGMzNERjE1NzQyRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOEMxNEM3QTM5NUE3RTRFMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDozRUI3RDAwODQ4RTIxMUU0QTQ2NDg2QzZFRkFFODM2NDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDozRUI3RDAwNzQ4RTIxMUU0QTQ2NDg2QzZFRkFFODM2NDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjAxODAxMTc0MDcyMDY4MTE4QzE0QzdBMzk1QTdFNEUxPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KOz7cZwAAANtJREFUOBFjYBhowEiKA2zWqP5nYGZgYGT5337Y904VSC8TsQaANHOLcTKw8DAyfHvzqxKmjygXgDSzijAx/AfCVxc/MlzLfwnXB2fYrlXN/fX9zySQySdj7sPFQZqZ+RmBWhkY3lxD1QxSC/fC2yefJrEKszCAMNivQEkQzcTNwPDvzz+smkEGwG0CcbQmiv8XUuAF28b4GyjFCnL0f4b3D76gOBukFgZQDAAJggzhl+YGBjYzw18g/Pj0K07NIPUYBsAM4RHjZvjyCr9mkFqcAOQSnJKjEtQNAQB/8VEEGU05ZQAAAABJRU5ErkJggg=="
29
+ />
30
+ </span>
31
+ <a
32
+ :class="`step-item status-${currentStep.status}`"
33
+ @click="
34
+ currentStep.status !== 0 && onSelectStep(currentStep.id)
35
+ "
36
+ >
37
+ {{ index + 1 }} {{ currentStep.name }}
38
+ </a>
39
+ </li>
40
+ </template>
41
+ </div>
42
+ <common-diagram-main-modals-steps-select-vmkernel-adapter
43
+ v-show="selectedStep === 0"
44
+ title="Select VMkernel adapter"
45
+ :text="localization.migrateVmKernelNetworkAdapter1Placeholder"
46
+ :step-id="0"
47
+ :vmkernel-adapter="vmkernelAdapter"
48
+ :table-data="filteredNetworksList"
49
+ :is-show-error-message-alert="isShowErrorMessageAlert"
50
+ :error-messages="errorMessages[0]"
51
+ @change-error-messages="onChangeErrorMessages"
52
+ @hide-error-message-alert="onHideErrorMessageAlert"
53
+ @change-vmkernel-adapter="onChangeMigrateVmkernelAdapter"
54
+ />
55
+ <common-diagram-main-modals-steps-connection-settings
56
+ v-show="selectedStep === 1"
57
+ title="Configure settings"
58
+ :text="localization.migrateVmKernelNetworkAdapter2Placeholder"
59
+ :step-id="1"
60
+ :connection-settings="connectionSettings"
61
+ :is-show-error-message-alert="isShowErrorMessageAlert"
62
+ :error-messages="errorMessages[1]"
63
+ @change-error-messages="onChangeErrorMessages"
64
+ @hide-error-message-alert="onHideErrorMessageAlert"
65
+ @change-connection-settings="onChangeConnectionSettings"
66
+ />
67
+ <common-diagram-main-modals-steps-vmkernel-adapter-ready-complete
68
+ v-show="selectedStep === 2"
69
+ :step-id="2"
70
+ title="Ready to complete"
71
+ :text="localization.migrateVmKernelNetworkAdapter3Placeholder"
72
+ />
73
+ </div>
74
+ </template>
75
+ <template #modalFooter>
76
+ <div>
77
+ <button
78
+ id="migrate-vmkernel-adapter-cancel-button"
79
+ class="btn btn-link"
80
+ @click="onCancel"
81
+ >
82
+ Cancel
83
+ </button>
84
+ <button
85
+ id="migrate-vmkernel-adapter-back-button"
86
+ class="btn btn-outline"
87
+ :disabled="selectedStep === 0"
88
+ @click="onBackStep"
89
+ >
90
+ Back
91
+ </button>
92
+ <button
93
+ id="migrate-vmkernel-adapter-next-button"
94
+ class="btn btn-primary"
95
+ @click="selectedStep === 2 ? onFinish() : onNextStep()"
96
+ >
97
+ {{ selectedStep === 2 ? 'Finish' : 'Next' }}
98
+ </button>
99
+ </div>
100
+ </template>
101
+ </atoms-modal>
102
+ </div>
103
+ </template>
104
+
105
+ <script setup lang="ts">
106
+ import { migrateVmkernelAdapterSchemeFunc } from '~/components/common/diagramMain/modals/config'
107
+ import { errorMessagesInitialFunc } from '~/components/common/addNetworking/config'
108
+ import { UI_I_Localization } from '~/models/interfaces'
109
+ import { UI_E_StepStatus } from '~/components/common/diagramMain/models/enums'
110
+ import {
111
+ UI_I_NetworkFull,
112
+ UI_I_Step,
113
+ UI_I_VmkernelAdapterTableData,
114
+ } from '~/components/common/diagramMain/models/interfaces'
115
+ import {
116
+ UI_I_ConnectionSettings,
117
+ UI_I_SelectVmkernelAdapter,
118
+ } from '~/components/common/addNetworking/models/interfaces'
119
+
120
+ // Props from up
121
+ const props = withDefaults(
122
+ defineProps<{
123
+ modalName: string
124
+ viewName: string
125
+ show: boolean
126
+ width: string
127
+ height: string
128
+ title: string
129
+ switchName?: string
130
+ networksList?: UI_I_NetworkFull[]
131
+ switchNetworks?: UI_I_NetworkFull[]
132
+ isDarkMode: boolean
133
+ }>(),
134
+ {
135
+ switchName: '',
136
+ networksList: () => [],
137
+ switchNetworks: () => [],
138
+ }
139
+ )
140
+
141
+ // UI_I_Localization
142
+ const localization = computed<UI_I_Localization>(() => useLocal())
143
+
144
+ const filteredNetworksList = ref<UI_I_VmkernelAdapterTableData[]>([])
145
+
146
+ watch(
147
+ () => props.switchNetworks,
148
+ (netsOnSwitch: UI_I_NetworkFull[]) => {
149
+ const vmKernelNetworksIdOnSwitch = netsOnSwitch
150
+ .filter((net: UI_I_NetworkFull) => net.networkType === '1')
151
+ .map((net: UI_I_NetworkFull) => net.id)
152
+ console.log()
153
+ filteredNetworksList.value = props.networksList
154
+ .filter(
155
+ (net: UI_I_NetworkFull) =>
156
+ net.networkType === '1' &&
157
+ !vmKernelNetworksIdOnSwitch.includes(net.id)
158
+ )
159
+ .map((net: UI_I_NetworkFull, index: number) => ({
160
+ name: net.sysx?.name || '',
161
+ networkLabel: net.id,
162
+ switch: net.switchName || '',
163
+ ipAddress: net.sysx?.tcp_config.ipv4 || '--',
164
+ tcp: net.sysx?.tcp_stack
165
+ ? localization.value[net.sysx?.tcp_stack]
166
+ : '--',
167
+ id: `${net.sysx?.name || ''}-${index}`,
168
+ }))
169
+ },
170
+ { deep: true, immediate: true }
171
+ )
172
+
173
+ // Steps initial data
174
+ const stepsInitial: UI_I_Step[][] = migrateVmkernelAdapterSchemeFunc(
175
+ localization.value
176
+ )
177
+
178
+ // Selected scheme, for this it's only one
179
+ const selectedStepScheme = ref<number>(0)
180
+
181
+ // Selected step on table
182
+ const selectedStep = ref<number>(0)
183
+
184
+ // Completed steps for the check icon and for step to back
185
+ const completedStepsId = ref<number[]>([])
186
+
187
+ // TODO They are temporary data for the changing later
188
+ const connectionSettings = ref<UI_I_ConnectionSettings>({
189
+ networkLabel: 'VM Network',
190
+ vlanId: 'None (0)',
191
+ })
192
+
193
+ const vmkernelAdapter = ref<UI_I_SelectVmkernelAdapter>({
194
+ vm: '',
195
+ })
196
+
197
+ const errorMessagesInitial: string[][] = errorMessagesInitialFunc(3)
198
+
199
+ // Error Message
200
+ const errorMessages = ref<string[][]>(errorMessagesInitial)
201
+ const isShowErrorMessageAlert = ref<boolean>(false)
202
+
203
+ const onChangeErrorMessages = (
204
+ newErrorMessages: string[],
205
+ stepIndex: number
206
+ ): void => {
207
+ errorMessages.value[stepIndex] = newErrorMessages
208
+ }
209
+ const onShowErrorMessageAlert = (): void => {
210
+ isShowErrorMessageAlert.value = true
211
+ }
212
+ const onHideErrorMessageAlert = (): void => {
213
+ isShowErrorMessageAlert.value = false
214
+ }
215
+
216
+ const onChangeConnectionSettings = (
217
+ newFields: UI_I_ConnectionSettings
218
+ ): void => {
219
+ connectionSettings.value = newFields
220
+ }
221
+ const onChangeMigrateVmkernelAdapter = (
222
+ newFields: UI_I_SelectVmkernelAdapter
223
+ ): void => {
224
+ vmkernelAdapter.value = newFields
225
+ }
226
+
227
+ const stepsWithStatus = computed<UI_I_Step[]>(() => {
228
+ let selectedFlag = false
229
+ let lastId = 0
230
+
231
+ return stepsInitial[selectedStepScheme.value].map((step: UI_I_Step) => {
232
+ if (
233
+ step.id === selectedStep.value &&
234
+ completedStepsId.value.includes(step.id)
235
+ ) {
236
+ lastId = step.id
237
+ return { ...step, status: UI_E_StepStatus.ActiveSelected }
238
+ } else if (
239
+ step.id < selectedStep.value ||
240
+ completedStepsId.value.includes(step.id)
241
+ ) {
242
+ !completedStepsId.value.includes(step.id) &&
243
+ completedStepsId.value.push(step.id)
244
+ lastId = step.id
245
+ return { ...step, status: UI_E_StepStatus.Complete }
246
+ } else if (step.id === selectedStep.value) {
247
+ selectedFlag = true
248
+ lastId = step.id
249
+ return { ...step, status: UI_E_StepStatus.Selected }
250
+ } else if (
251
+ selectedFlag ||
252
+ lastId === completedStepsId.value[completedStepsId.value.length - 1]
253
+ ) {
254
+ selectedFlag = false
255
+ lastId = step.id
256
+ return { ...step, status: UI_E_StepStatus.Active }
257
+ } else {
258
+ lastId = step.id
259
+ return { ...step, status: UI_E_StepStatus.Disabled }
260
+ }
261
+ })
262
+ })
263
+
264
+ const reset = (): void => {
265
+ selectedStepScheme.value = 0
266
+ selectedStep.value = 0
267
+ completedStepsId.value = []
268
+
269
+ connectionSettings.value = {
270
+ networkLabel: 'VM Network',
271
+ vlanId: 'None (0)',
272
+ }
273
+ vmkernelAdapter.value = {
274
+ vm: '',
275
+ }
276
+
277
+ errorMessages.value = errorMessagesInitial
278
+ }
279
+ const onSelectStep = (stepId: number): void => {
280
+ if (
281
+ errorMessages.value[selectedStep.value].length > 0 &&
282
+ selectedStep.value <= stepId
283
+ ) {
284
+ onShowErrorMessageAlert()
285
+ return
286
+ }
287
+ selectedStep.value = stepId
288
+ }
289
+ const onNextStep = (): void => {
290
+ const selectedStepIndex = stepsWithStatus.value.findIndex(
291
+ (step: UI_I_Step) => step.id === selectedStep.value
292
+ )
293
+
294
+ if (
295
+ errorMessages.value[selectedStep.value].length > 0 &&
296
+ selectedStep.value <= stepsWithStatus.value[selectedStepIndex + 1].id
297
+ ) {
298
+ onShowErrorMessageAlert()
299
+ return
300
+ }
301
+
302
+ selectedStep.value = stepsWithStatus.value[selectedStepIndex + 1].id
303
+ }
304
+ const onBackStep = (): void => {
305
+ const selectedStepIndex = stepsWithStatus.value.findIndex(
306
+ (step: UI_I_Step) => step.id === selectedStep.value
307
+ )
308
+ selectedStep.value = stepsWithStatus.value[selectedStepIndex - 1].id
309
+ }
310
+ const onCancel = (): void => {
311
+ onHideViewSettingsModal()
312
+ }
313
+ const onFinish = (): void => {
314
+ onHideViewSettingsModal()
315
+ }
316
+
317
+ const emits = defineEmits<{
318
+ (event: 'hide'): void
319
+ }>()
320
+ const onHideViewSettingsModal = (): void => {
321
+ emits('hide')
322
+ reset()
323
+ }
324
+ </script>
325
+
326
+ <style scoped lang="scss">
327
+ .main-step-container {
328
+ display: flex;
329
+ }
330
+
331
+ :deep(.modal) {
332
+ & > .modal-dialog > .modal-content > .modal-body {
333
+ height: calc(100% - 110px);
334
+ }
335
+ }
336
+ .step-items-container {
337
+ width: 230px;
338
+ padding: 10px 5px 10px 6px;
339
+ li {
340
+ display: flex;
341
+ margin: 0;
342
+ height: 24.8px;
343
+ span {
344
+ width: 16px;
345
+ }
346
+ }
347
+
348
+ .step-item {
349
+ margin: 0;
350
+ height: 24.8px;
351
+ padding-left: 5px;
352
+ // 0-Disabled
353
+ &.status-0 {
354
+ height: 24.8px;
355
+ overflow: hidden;
356
+ text-overflow: ellipsis;
357
+ white-space: nowrap;
358
+ border-bottom: 1px solid transparent;
359
+ width: 189px;
360
+ line-height: 24px;
361
+ display: inline-block;
362
+ text-decoration: none;
363
+ font-weight: 700;
364
+ color: #999;
365
+ cursor: default;
366
+ }
367
+ // 1-Selected
368
+ &.status-1 {
369
+ background-color: #29414e;
370
+ color: #ffffff;
371
+ border-bottom: 1px solid transparent;
372
+ overflow: hidden;
373
+ text-overflow: ellipsis;
374
+ white-space: nowrap;
375
+ border-radius: 5px;
376
+ cursor: default;
377
+ width: 189px;
378
+ line-height: 24px;
379
+ display: inline-block;
380
+ text-decoration: none;
381
+ font-weight: 700;
382
+ }
383
+ // 2-Active
384
+ &.status-2 {
385
+ overflow: hidden;
386
+ text-overflow: ellipsis;
387
+ white-space: nowrap;
388
+ border-bottom: 1px solid transparent;
389
+ width: 189px;
390
+ line-height: 24px;
391
+ cursor: pointer;
392
+ display: inline-block;
393
+ text-decoration: none;
394
+ font-weight: 700;
395
+ color: #333;
396
+ &:hover {
397
+ color: #454545;
398
+ background-color: #e8e8e8;
399
+ border-bottom: 1px solid #666666;
400
+ border-radius: 5px;
401
+ }
402
+ }
403
+ // 3-Complete
404
+ &.status-3 {
405
+ overflow: hidden;
406
+ text-overflow: ellipsis;
407
+ white-space: nowrap;
408
+ border-bottom: 1px solid transparent;
409
+ width: 189px;
410
+ line-height: 24px;
411
+ display: inline-block;
412
+ text-decoration: none;
413
+ font-weight: 700;
414
+ color: #333;
415
+ cursor: pointer;
416
+ &:hover {
417
+ color: #454545;
418
+ background-color: #e8e8e8;
419
+ border-bottom: 1px solid #666666;
420
+ text-decoration: none;
421
+ border-radius: 5px;
422
+ }
423
+ }
424
+ // 4-ActiveSelected
425
+ &.status-4 {
426
+ background-color: #29414e;
427
+ color: #ffffff;
428
+ border-bottom: 1px solid transparent;
429
+ overflow: hidden;
430
+ text-overflow: ellipsis;
431
+ white-space: nowrap;
432
+ border-radius: 5px;
433
+ cursor: default;
434
+ width: 189px;
435
+ line-height: 24px;
436
+ display: inline-block;
437
+ text-decoration: none;
438
+ font-weight: 700;
439
+ }
440
+ }
441
+ }
442
+ :deep(.with-underline) {
443
+ & > .modal-dialog > .modal-content > .modal-header {
444
+ border-bottom: 1px solid #a6a6a6;
445
+ padding: 0;
446
+ }
447
+ & > .modal-dialog > .modal-content > .modal-body {
448
+ height: calc(100% - 87px);
449
+ }
450
+ }
451
+ :deep(.wizard-content-container.add-networking-step) {
452
+ .danger-not-valid {
453
+ border: 2px solid red;
454
+ border-bottom: 1px solid #db2100;
455
+ }
456
+ .tooltip-field {
457
+ margin-right: 12px;
458
+ }
459
+
460
+ .horizontal-flex-container {
461
+ margin-bottom: 5px;
462
+ min-height: 36px;
463
+ display: flex;
464
+ flex-direction: row;
465
+ }
466
+ .property-label-group {
467
+ width: 140px;
468
+ }
469
+ .disabled {
470
+ opacity: 0.4;
471
+ pointer-events: none;
472
+ }
473
+
474
+ .wizard-content-port {
475
+ .margin-left-property-value-group {
476
+ margin-left: 10px;
477
+ }
478
+
479
+ .property-value-group {
480
+ padding-left: 23px;
481
+ }
482
+ .horizontal-flex-container {
483
+ min-height: 24px;
484
+ margin-bottom: 0;
485
+ }
486
+
487
+ .radio {
488
+ min-height: 39px;
489
+ margin: 10px 0;
490
+ }
491
+
492
+ .form-block {
493
+ margin: 12px 0 24px 0;
494
+ padding-left: 23px;
495
+
496
+ &.form-block-ipv {
497
+ input[type='text'] {
498
+ width: 143px;
499
+ }
500
+
501
+ .horizontal-flex-container > label {
502
+ margin-right: 50px;
503
+ }
504
+ }
505
+ }
506
+
507
+ .edit-vmkernel-adapter-section {
508
+ padding-top: 12px;
509
+
510
+ label {
511
+ input[type='checkbox'] {
512
+ margin-right: 4px;
513
+ transform: translateY(1px);
514
+ }
515
+ }
516
+
517
+ .horizontal-flex-container {
518
+ margin-bottom: 5px;
519
+ }
520
+ }
521
+ .port-properties-network-label {
522
+ width: 280px;
523
+ }
524
+ .port-properties-padding {
525
+ padding-top: 8px;
526
+ }
527
+ .port-properties-mtu-selector {
528
+ margin-right: 12px;
529
+ }
530
+ .port-properties-mtu-container {
531
+ display: flex;
532
+ }
533
+ select {
534
+ height: 24px;
535
+ }
536
+ }
537
+ .nw-property-value-group {
538
+ display: inline;
539
+ }
540
+ }
541
+
542
+ .migrate-vm-kernel-modal.is-dark {
543
+ :deep(.wizard-content-container) {
544
+ .ready-complete-container {
545
+ background-color: var(--pannel-bg-color);
546
+ margin-top: 12px;
547
+
548
+ span {
549
+ color: var(--description-color);
550
+ }
551
+ }
552
+
553
+ .property-label-group {
554
+ color: var(--main-color-mode2);
555
+ }
556
+ .flex-property-label-group {
557
+ color: var(--main-color-mode2);
558
+ }
559
+ .flex-property-value-group {
560
+ select {
561
+ color: #fff;
562
+ }
563
+ }
564
+ .wizard-content-header-area .title {
565
+ color: #adbbc4;
566
+ }
567
+ }
568
+ }
569
+
570
+ :root.dark-theme {
571
+ .step-item {
572
+ // 1-Selected
573
+ &.status-1 {
574
+ background-color: var(--vertical-nav-active-bg-color);
575
+ color: var(--vertical-steps-active-color);
576
+ }
577
+ // 2-Active
578
+ &.status-2 {
579
+ color: #fff;
580
+ &:hover {
581
+ color: var(--vertical-nav-item-color);
582
+ background-color: var(--vertical-nav-hover-bg-color);
583
+ border-bottom: 1px solid var(--vertical-nav-hover-border-color);
584
+ }
585
+ }
586
+ // 3-Complete
587
+ &.status-3 {
588
+ color: #fff;
589
+ &:hover {
590
+ color: var(--vertical-nav-item-color);
591
+ background-color: var(--vertical-nav-hover-bg-color);
592
+ border-bottom: 1px solid var(--vertical-nav-hover-border-color);
593
+ }
594
+ }
595
+ // 4-ActiveSelected
596
+ &.status-4 {
597
+ background-color: var(--vertical-nav-active-bg-color);
598
+ color: var(--vertical-steps-active-color);
599
+ border-bottom: 1px solid transparent;
600
+ }
601
+ }
602
+ }
603
+ </style>
@@ -4,6 +4,7 @@ import * as adapterModalConfig from './adapterModal'
4
4
  import * as vCenterModalConfig from './vCenterModal'
5
5
  import * as initialConfig from './initial'
6
6
  import * as switchModalConfig from './switchModal'
7
+ import * as migrateVmkernelAdapterStepsConfig from './migrateVmkernelAdapterSteps'
7
8
  import * as validationData from './validation'
8
9
  import * as vmKernelAdapterData from './vmKernelAdapter'
9
10
  // import * as temporaryData from './temporaryData'
@@ -41,6 +42,11 @@ export const {
41
42
  switchEditSettingsTabsFunc,
42
43
  switchViewSettingsFunc,
43
44
  } = switchModalConfig
45
+ export const {
46
+ migrateVmkernelAdapterSchemeFunc,
47
+ createMigrateVmkernelAdapterSchemeReadyCompleteFunc,
48
+ } = migrateVmkernelAdapterStepsConfig
49
+ export const { selectVmKernelAdapterFieldsErrorMessages } = validationData
44
50
  export const {
45
51
  vmKernelAdapterViewSettingsModalTabsFunc,
46
52
  vmKernelAdapterViewSettingsTableHeadFunc,
@@ -0,0 +1,81 @@
1
+ import { UI_I_Step } from '~/components/common/diagramMain/models/interfaces'
2
+ import { UI_I_Localization } from '~/models/interfaces'
3
+
4
+ export const migrateVmkernelAdapterStepsFunc = (
5
+ localization: UI_I_Localization
6
+ ): UI_I_Step[] => [
7
+ {
8
+ id: 0,
9
+ name: localization.selectVmKernelAdapter,
10
+ status: 0,
11
+ },
12
+ {
13
+ id: 1,
14
+ name: localization.configureSettings,
15
+ status: 0,
16
+ },
17
+ {
18
+ id: 2,
19
+ name: localization.readyComplete,
20
+ status: 0,
21
+ },
22
+ ]
23
+
24
+ export const migrateVmkernelAdapterSchemeFunc = (
25
+ localization: UI_I_Localization
26
+ ): UI_I_Step[][] => [
27
+ [
28
+ migrateVmkernelAdapterStepsFunc(localization)[0],
29
+ migrateVmkernelAdapterStepsFunc(localization)[1],
30
+ migrateVmkernelAdapterStepsFunc(localization)[2],
31
+ ],
32
+ ]
33
+
34
+ export const createMigrateVmkernelAdapterSchemeReadyCompleteFunc = (
35
+ localization: UI_I_Localization
36
+ ) => [
37
+ {
38
+ id: 0,
39
+ type: 0,
40
+ rows: [
41
+ {
42
+ name: localization.vmAdapter,
43
+ value: 'vmk1',
44
+ },
45
+ ],
46
+ },
47
+ {
48
+ title: localization.currentSettings,
49
+ id: 1,
50
+ type: 0,
51
+ rows: [
52
+ {
53
+ name: localization.migrateFromSwitch,
54
+ value: 'vSwitch1',
55
+ },
56
+ {
57
+ name: localization.networkLabel,
58
+ value: 'VMkernel',
59
+ },
60
+ ],
61
+ },
62
+ {
63
+ title: localization.newSettings,
64
+ id: 2,
65
+ type: 0,
66
+ rows: [
67
+ {
68
+ name: localization.migrateToSwitch,
69
+ value: 'vSwitch0',
70
+ },
71
+ {
72
+ name: localization.networkLabel,
73
+ value: 'VMkernel 3',
74
+ },
75
+ {
76
+ name: localization.vlanId,
77
+ value: 'None (0)',
78
+ },
79
+ ],
80
+ },
81
+ ]
@@ -0,0 +1,3 @@
1
+ export const selectVmKernelAdapterFieldsErrorMessages = {
2
+ vm: '',
3
+ }