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,361 @@
1
+ <template>
2
+ <div class="wizard-content-container add-networking-step">
3
+ <common-add-networking-steps-header
4
+ :title="props.title"
5
+ :text="props.text"
6
+ />
7
+ <div class="wizard-content wizard-content-port">
8
+ <atoms-alert
9
+ v-if="hasValidationError"
10
+ status="alert-danger"
11
+ :items="props.errorMessages"
12
+ @remove="onHideErrorMessageAlert"
13
+ />
14
+ <form>
15
+ <div class="radio">
16
+ <input
17
+ id="Obtain"
18
+ v-model="fields.ipSettings"
19
+ type="radio"
20
+ value="0"
21
+ name="IPv4-settings"
22
+ />
23
+ <label for="Obtain">
24
+ {{ localization.obtainIPv4SettingsAutomatically }}
25
+ </label>
26
+ </div>
27
+ <div class="radio">
28
+ <input
29
+ id="static"
30
+ v-model="fields.ipSettings"
31
+ type="radio"
32
+ value="1"
33
+ name="IPv4-settings"
34
+ />
35
+ <label for="static"> {{ localization.useStaticIPv4Settings }} </label>
36
+ </div>
37
+
38
+ <div
39
+ :class="[
40
+ 'form-block form-block-ipv',
41
+ { disabled: fields.ipSettings === '0' },
42
+ ]"
43
+ >
44
+ <div class="horizontal-flex-container p-b-14">
45
+ <label class="property-label-group">
46
+ {{ localization.ipv4address }}
47
+ </label>
48
+ <div class="margin-left-property-value-group">
49
+ <div class="property-value-group">
50
+ <fieldset>
51
+ <atoms-tooltip-error
52
+ :has-error="!!fieldsErrorMessages.ipFourAddress"
53
+ >
54
+ <template #elem>
55
+ <input
56
+ v-model="fields.static.ipFourAddress"
57
+ type="text"
58
+ placeholder="e.g. 192.168.1.1"
59
+ :class="[
60
+ 'tooltip-field port-properties-network-label',
61
+ {
62
+ 'danger-not-valid':
63
+ fieldsErrorMessages.ipFourAddress,
64
+ },
65
+ ]"
66
+ />
67
+ </template>
68
+ <template #content>
69
+ {{ fieldsErrorMessages.ipFourAddress }}
70
+ </template>
71
+ </atoms-tooltip-error>
72
+ </fieldset>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <div class="horizontal-flex-container p-b-14">
77
+ <label class="property-label-group">
78
+ {{ localization.subnetMask }}
79
+ </label>
80
+ <div class="margin-left-property-value-group">
81
+ <div class="property-value-group">
82
+ <fieldset>
83
+ <atoms-tooltip-error
84
+ :has-error="!!fieldsErrorMessages.subnetMask"
85
+ >
86
+ <template #elem>
87
+ <input
88
+ v-model="fields.static.subnetMask"
89
+ type="text"
90
+ placeholder="e.g. 255.255.255.0"
91
+ :class="[
92
+ 'tooltip-field',
93
+ {
94
+ 'danger-not-valid': fieldsErrorMessages.subnetMask,
95
+ },
96
+ ]"
97
+ />
98
+ </template>
99
+ <template #content>
100
+ {{ fieldsErrorMessages.subnetMask }}
101
+ </template>
102
+ </atoms-tooltip-error>
103
+ </fieldset>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ <div class="horizontal-flex-container p-b-14">
108
+ <label class="property-label-group">
109
+ {{ localization.defaultGateway }}
110
+ </label>
111
+ <div class="margin-left-property-value-group">
112
+ <div class="property-value-group">
113
+ <div
114
+ class="flex-property-label-group small checkbox-inline with-margin p-b-14"
115
+ >
116
+ <input
117
+ id="default-gateway"
118
+ v-model="fields.static.defaultGateway.override"
119
+ type="checkbox"
120
+ />
121
+ <label
122
+ for="default-gateway"
123
+ class="normal-weight normal-font-size"
124
+ >
125
+ {{ localization.overrideDefaultGatewayForThisAdapter }}
126
+ </label>
127
+ </div>
128
+ <div>
129
+ <fieldset>
130
+ <atoms-tooltip-error
131
+ :has-error="!!fieldsErrorMessages.defaultGateway"
132
+ >
133
+ <template #elem>
134
+ <input
135
+ v-model="fields.static.defaultGateway.value"
136
+ type="text"
137
+ :disabled="!fields.static.defaultGateway.override"
138
+ placeholder="10.10.101.1"
139
+ :class="[
140
+ 'tooltip-field',
141
+ {
142
+ 'danger-not-valid':
143
+ fieldsErrorMessages.defaultGateway,
144
+ },
145
+ ]"
146
+ />
147
+ </template>
148
+ <template #content>
149
+ {{ fieldsErrorMessages.defaultGateway }}
150
+ </template>
151
+ </atoms-tooltip-error>
152
+ </fieldset>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ </form>
159
+ </div>
160
+ </div>
161
+ </template>
162
+
163
+ <script setup lang="ts">
164
+ import { UI_I_ArbitraryObject, UI_I_Localization } from '~/models/interfaces'
165
+ import {
166
+ UI_I_IpFourSettings,
167
+ UI_I_IpFourSettingsFieldsErrorMessages,
168
+ } from '~/components/common/addNetworking/models/interfaces'
169
+ import { UI_T_IpFourSettingsFieldName } from '~/components/common/addNetworking/models/types'
170
+ import { ipFourSettingsFieldsErrorMessages } from '~/components/common/addNetworking/config'
171
+
172
+ // Props from up
173
+ const props = defineProps<{
174
+ title: string
175
+ text: string
176
+ stepId: number
177
+ ipFourSettings: UI_I_IpFourSettings
178
+ isShowErrorMessageAlert: boolean
179
+ errorMessages: string[]
180
+ error: UI_I_ArbitraryObject<string>
181
+ }>()
182
+
183
+ // UI_I_Localization
184
+ const localization = computed<UI_I_Localization>(() => useLocal())
185
+
186
+ // Define emits for changing data and validation messages
187
+ const emits = defineEmits<{
188
+ (event: 'change-ip-four-settings', ipFourSettings: UI_I_IpFourSettings): void
189
+ (
190
+ event: 'change-error-messages',
191
+ errorMessages: string[],
192
+ stepIndex: number
193
+ ): void
194
+ (event: 'hide-error-message-alert'): void
195
+ // (event: 'set-error-empty', fieldName: string): void
196
+ }>()
197
+
198
+ // Validation error check for this step
199
+ const hasValidationError = computed<boolean>(
200
+ () => props.isShowErrorMessageAlert && !!props.errorMessages.length
201
+ )
202
+ const fields = ref<UI_I_IpFourSettings>({ ...props.ipFourSettings })
203
+
204
+ const fieldsErrorMessages = ref<UI_I_IpFourSettingsFieldsErrorMessages>(
205
+ ipFourSettingsFieldsErrorMessages
206
+ )
207
+
208
+ const checkIfValidIP = (str: string): boolean => {
209
+ const regexExp =
210
+ /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gi
211
+
212
+ return regexExp.test(str)
213
+ }
214
+
215
+ const messageTexts = (
216
+ local: UI_I_Localization
217
+ ): UI_I_ArbitraryObject<string> => ({
218
+ ipFourAddressEmpty: local.ipFourAddressEmpty,
219
+ subnetMaskEmpty: local.subnetMaskEmpty,
220
+ defaultGatewayEmpty: local.defaultGatewayEmpty,
221
+ ipFourAddressInvalid: local.ipFourAddressInvalid,
222
+ subnetMaskInvalid: local.subnetMaskInvalid,
223
+ defaultGatewayInvalid: local.defaultGatewayInvalid,
224
+ })
225
+
226
+ const setMessageOnChangedField = (
227
+ values: string,
228
+ name: UI_T_IpFourSettingsFieldName,
229
+ ipSettings: string,
230
+ override?: boolean
231
+ ): void => {
232
+ if (ipSettings === '0') {
233
+ fieldsErrorMessages.value[name] = ''
234
+ return
235
+ }
236
+ if (name === 'ipFourAddress') {
237
+ if (!values) {
238
+ fieldsErrorMessages.value[name] = messageTexts(localization.value)[
239
+ `${name}Empty`
240
+ ]
241
+ return
242
+ }
243
+ if (!checkIfValidIP(values)) {
244
+ fieldsErrorMessages.value[name] = messageTexts(localization.value)[
245
+ `${name}Invalid`
246
+ ]
247
+ return
248
+ }
249
+ }
250
+ if (name === 'subnetMask') {
251
+ if (!values) {
252
+ fieldsErrorMessages.value[name] = messageTexts(localization.value)[
253
+ `${name}Empty`
254
+ ]
255
+ return
256
+ }
257
+ if (!checkIfValidIP(values)) {
258
+ fieldsErrorMessages.value[name] = messageTexts(localization.value)[
259
+ `${name}Invalid`
260
+ ]
261
+ return
262
+ }
263
+ }
264
+ if (name === 'defaultGateway' && override) {
265
+ if (!values) {
266
+ fieldsErrorMessages.value[name] = messageTexts(localization.value)[
267
+ `${name}Empty`
268
+ ]
269
+ return
270
+ }
271
+ if (!checkIfValidIP(values)) {
272
+ fieldsErrorMessages.value[name] = messageTexts(localization.value)[
273
+ `${name}Invalid`
274
+ ]
275
+ return
276
+ }
277
+ }
278
+ fieldsErrorMessages.value[name] = ''
279
+ }
280
+
281
+ // For late
282
+ // const setErrorEmpty = (
283
+ // newValue: UI_I_IpFourSettings,
284
+ // oldValue: UI_I_IpFourSettings,
285
+ // fieldName: keyof UI_I_IpFourSettings,
286
+ // errFieldName: string
287
+ // ) => {
288
+ // newValue[fieldName] !== oldValue[fieldName] &&
289
+ // emits('set-error-empty', errFieldName)
290
+ // }
291
+
292
+ // Changing data and validate they
293
+ watch(
294
+ fields,
295
+ (newFields: UI_I_IpFourSettings) => {
296
+ setMessageOnChangedField(
297
+ newFields.static.ipFourAddress,
298
+ 'ipFourAddress',
299
+ newFields.ipSettings
300
+ )
301
+ setMessageOnChangedField(
302
+ newFields.static.subnetMask,
303
+ 'subnetMask',
304
+ newFields.ipSettings
305
+ )
306
+ setMessageOnChangedField(
307
+ newFields.static.defaultGateway.value,
308
+ 'defaultGateway',
309
+ newFields.ipSettings,
310
+ newFields.static.defaultGateway.override
311
+ )
312
+ const fieldsErrorMessagesFiltered = Object.values(
313
+ fieldsErrorMessages.value
314
+ ).filter((errorMessage: string) => errorMessage !== '')
315
+
316
+ fieldsErrorMessagesFiltered.length === 0 &&
317
+ emits('hide-error-message-alert')
318
+ emits('change-error-messages', fieldsErrorMessagesFiltered, props.stepId)
319
+
320
+ emits('change-ip-four-settings', newFields)
321
+ },
322
+ { deep: true }
323
+ )
324
+
325
+ watch(
326
+ () => props.error,
327
+ (newError) => {
328
+ fieldsErrorMessages.value = {
329
+ ipFourAddress: newError['tcp_config.ipv4'] || '',
330
+ subnetMask: newError['tcp_config.net_mask'] || '',
331
+ defaultGateway: newError['tcp_config.gateway'] || '',
332
+ }
333
+
334
+ const fieldsErrorMessagesFiltered = Object.values(
335
+ fieldsErrorMessages.value
336
+ ).filter(
337
+ (errorMessage: string | undefined) =>
338
+ errorMessage !== '' && errorMessage !== undefined
339
+ )
340
+
341
+ emits('change-error-messages', fieldsErrorMessagesFiltered, props.stepId)
342
+ },
343
+ { deep: true, immediate: true }
344
+ )
345
+
346
+ // Validation message show and hide
347
+ const onHideErrorMessageAlert = (): void => {
348
+ emits('hide-error-message-alert')
349
+ }
350
+ onUnmounted(() => {
351
+ emits('hide-error-message-alert')
352
+ })
353
+ </script>
354
+ <style lang="scss" scoped>
355
+ .p-b-14 {
356
+ padding-bottom: 14px;
357
+ }
358
+ fieldset :deep(.flex) {
359
+ width: 144px;
360
+ }
361
+ </style>
@@ -1,5 +1,9 @@
1
1
  <template>
2
2
  <div class="wizard-content-container add-networking-step">
3
+ <common-add-networking-steps-header
4
+ :title="props.title"
5
+ :text="props.text"
6
+ />
3
7
  <div class="wizard-content">
4
8
  <common-adapter-manager
5
9
  test-id="adapter-manager"
@@ -10,4 +14,11 @@
10
14
  </div>
11
15
  </template>
12
16
 
13
- <script setup lang="ts"></script>
17
+ <script setup lang="ts">
18
+ // Props from up
19
+ const props = defineProps<{
20
+ title: string
21
+ text: string
22
+ stepId: number
23
+ }>()
24
+ </script>