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
@@ -1,5 +1,5 @@
1
- import { UI_I_ArbitraryObject } from '~/models/interfaces'
2
- import { UI_T_TCP } from '~/components/common/wizards/network/add/models/types'
1
+ import { UI_E_StepStatus } from '~/components/common/addNetworking/models/enums'
2
+ import { UI_T_TCP } from '~/components/common/addNetworking/models/types'
3
3
 
4
4
  export interface UI_I_Services {
5
5
  vMotion?: boolean
@@ -51,6 +51,12 @@ export interface UI_I_SelectVmkernelAdapter {
51
51
  vm: string
52
52
  }
53
53
 
54
+ export interface UI_I_Step {
55
+ id: number
56
+ name: string
57
+ status: UI_E_StepStatus
58
+ }
59
+
54
60
  export interface UI_I_Network {
55
61
  name: string
56
62
  id: string
@@ -84,6 +90,30 @@ export interface UI_I_ReadyCompleteFields {
84
90
  }[]
85
91
  }
86
92
 
93
+ export interface UI_I_ConnectionSettingsFieldsErrorMessages {
94
+ networkLabel: string
95
+ vlanId: string
96
+ }
97
+
98
+ export interface UI_I_IpFourSettingsFieldsErrorMessages {
99
+ ipFourAddress: string
100
+ subnetMask: string
101
+ defaultGateway: string
102
+ }
103
+
104
+ export interface UI_I_PortPropertiesFieldsErrorMessages {
105
+ networkLabel: string
106
+ vlanId: string
107
+ mtu: string
108
+ }
109
+
110
+ export interface UI_I_TargetDeviceFieldsErrorMessages {
111
+ network: string
112
+ switch: string
113
+ standardSwitch: string
114
+ mtu: string
115
+ }
116
+
87
117
  export interface UI_I_PortPropertiesEnabledService {
88
118
  label: string
89
119
  modelValue: string
@@ -126,6 +156,11 @@ export interface UI_I_AddNetworkingZeroOrFirstSchemeDataSend {
126
156
  }
127
157
  }
128
158
 
159
+ export interface UI_I_NetworkLabelCheckExisting {
160
+ valid: boolean
161
+ checked: boolean
162
+ }
163
+
129
164
  export interface UI_I_TableHead {
130
165
  text: string
131
166
  }
@@ -171,31 +206,3 @@ export interface UI_I_ReadyCompleteFirstColumn {
171
206
  name: string
172
207
  value: string | undefined
173
208
  }
174
-
175
- export interface UI_I_AddNetworkingEmits {
176
- (event: 'hide'): void
177
- (
178
- event: 'add-networking-data-validate',
179
- networkData:
180
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
181
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend,
182
- type: string,
183
- setValidation: (err_arg: UI_I_ArbitraryObject<string>) => void
184
- ): void
185
- (
186
- event: 'send-add-networking-data',
187
- schemeData:
188
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
189
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend,
190
- type: string,
191
- hideSendNetworkDataLoader: () => void,
192
- onHideAddNetworkingModal: () => void
193
- ): void
194
- (event: 'get-existing-standard-switches', cb: () => void): void
195
- (event: 'get-free-adapters', cb: () => void): void
196
- (
197
- event: 'check-network-label',
198
- networkLabel: string,
199
- cb: (error_message: string) => void
200
- ): void
201
- }
@@ -0,0 +1,13 @@
1
+ export type UI_T_ConnectionSettingsFieldName = 'networkLabel' | 'vlanId'
2
+ export type UI_T_IpFourSettingsFieldName =
3
+ | 'ipFourAddress'
4
+ | 'subnetMask'
5
+ | 'defaultGateway'
6
+ export type UI_T_PortPropertiesFieldName = 'networkLabel' | 'vlanId' | 'mtu'
7
+ export type UI_T_TargetDeviceFieldName =
8
+ | 'network'
9
+ | 'switch'
10
+ | 'standardSwitch'
11
+ | 'mtu'
12
+ export type UI_T_TCP = 'default' | '1' | '2'
13
+ export type UI_T_Project = 'procurator' | 'sphere'
@@ -0,0 +1,269 @@
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="horizontal-flex-container">
16
+ <label class="property-label-group" for="network-label">
17
+ {{ localization.networkLabel }}
18
+ </label>
19
+ <div class="margin-left-property-value-group">
20
+ <div class="property-value-group">
21
+ <fieldset>
22
+ <atoms-tooltip-error
23
+ :has-error="!!fieldsErrorMessages.networkLabel"
24
+ >
25
+ <template #elem>
26
+ <input
27
+ id="network-label"
28
+ v-model="fields.networkLabel"
29
+ name="network-label"
30
+ type="text"
31
+ :class="[
32
+ 'tooltip-field port-properties-network-label',
33
+ {
34
+ 'danger-not-valid': fieldsErrorMessages.networkLabel,
35
+ },
36
+ ]"
37
+ @click.stop
38
+ />
39
+ </template>
40
+ <template #content>
41
+ {{ fieldsErrorMessages.networkLabel }}
42
+ </template>
43
+ </atoms-tooltip-error>
44
+ </fieldset>
45
+ </div>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="horizontal-flex-container port-properties-padding">
50
+ <label class="property-label-group">
51
+ {{ localization.vlanId }}
52
+ </label>
53
+ <div class="margin-left-property-value-group">
54
+ <div class="property-value-group">
55
+ <fieldset>
56
+ <div class="flex-align-center">
57
+ <atoms-combobox
58
+ v-model.trim="fields.vlanId"
59
+ :items="vlanIdSelectData"
60
+ :class="{
61
+ 'danger-not-valid': fieldsErrorMessages.vlanId,
62
+ }"
63
+ @click.stop
64
+ />
65
+ <div
66
+ v-show="fieldsErrorMessages.vlanId"
67
+ class="flex-align-center"
68
+ >
69
+ <div class="tooltip flex align-middle">
70
+ <atoms-the-icon
71
+ width="24px"
72
+ height="24px"
73
+ class="is-error tooltip-trigger"
74
+ name="info"
75
+ />
76
+ <div class="tooltip-top-left tooltip-content error">
77
+ {{ fieldsErrorMessages.vlanId }}
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </fieldset>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </form>
87
+ </div>
88
+ </div>
89
+ </template>
90
+
91
+ <script setup lang="ts">
92
+ import { UI_I_ArbitraryObject, UI_I_Localization } from '~/models/interfaces'
93
+ import {
94
+ UI_I_ConnectionSettings,
95
+ UI_I_ConnectionSettingsFieldsErrorMessages,
96
+ } from '~/components/common/addNetworking/models/interfaces'
97
+ import { UI_T_ConnectionSettingsFieldName } from '~/components/common/addNetworking/models/types'
98
+ import {
99
+ connectionSettingsFieldsErrorMessages,
100
+ vlanIdSelectData,
101
+ } from '~/components/common/addNetworking/config'
102
+
103
+ // Props from up
104
+
105
+ const props = defineProps<{
106
+ title: string
107
+ text: string
108
+ stepId: number
109
+ connectionSettings: UI_I_ConnectionSettings
110
+ isShowErrorMessageAlert: boolean
111
+ errorMessages: string[]
112
+ networkLabelExistingErrorMessage: string
113
+ error: UI_I_ArbitraryObject<string>
114
+ }>()
115
+
116
+ // UI_I_Localization
117
+ const localization = computed<UI_I_Localization>(() => useLocal())
118
+
119
+ // Define emits for changing data and validation messages
120
+ const emits = defineEmits<{
121
+ (
122
+ event: 'change-connection-settings',
123
+ connectionSettings: UI_I_ConnectionSettings
124
+ ): void
125
+ (
126
+ event: 'change-error-messages',
127
+ errorMessages: string[],
128
+ stepIndex: number
129
+ ): void
130
+ (event: 'hide-error-message-alert'): void
131
+ (event: 'set-error-empty', fieldName: string): void
132
+ }>()
133
+
134
+ // Checking network label existing
135
+ watch(
136
+ () => props.networkLabelExistingErrorMessage,
137
+ (newValue: string) => {
138
+ if (fieldsErrorMessages.value.networkLabel) return
139
+
140
+ fieldsErrorMessages.value.networkLabel = newValue
141
+ }
142
+ )
143
+
144
+ // Validation error check for this step
145
+ const hasValidationError = computed<boolean>(
146
+ () => props.isShowErrorMessageAlert && !!props.errorMessages.length
147
+ )
148
+
149
+ const fields = ref<UI_I_ConnectionSettings>(
150
+ useDeepCopy(props.connectionSettings)
151
+ )
152
+
153
+ const fieldsErrorMessages = ref<UI_I_ConnectionSettingsFieldsErrorMessages>(
154
+ connectionSettingsFieldsErrorMessages
155
+ )
156
+
157
+ const messageTexts = (
158
+ local: UI_I_Localization
159
+ ): UI_I_ArbitraryObject<string> => ({
160
+ networkLabel: local.networkLabelInvalidMessage,
161
+ vlanId: local.vlanIdInvalidMessage,
162
+ })
163
+
164
+ const isNumberInRange = (
165
+ value: number | string,
166
+ down: number,
167
+ up: number
168
+ ): boolean => isNaN(Number(value)) || Number(value) < down || Number(value) > up
169
+
170
+ const setMessageOnChangedField = (
171
+ values: string | number,
172
+ name: UI_T_ConnectionSettingsFieldName,
173
+ text: string
174
+ ): void => {
175
+ if (name === 'networkLabel' && !values) {
176
+ fieldsErrorMessages.value[name] = text
177
+ return
178
+ }
179
+ if (
180
+ name === 'vlanId' &&
181
+ values !== 'None (0)' &&
182
+ values !== 'All (4095)' &&
183
+ (isNumberInRange(values, 0, 4095) || values === '')
184
+ ) {
185
+ fieldsErrorMessages.value[name] = text
186
+ return
187
+ }
188
+ fieldsErrorMessages.value[name] = ''
189
+ }
190
+
191
+ watch(
192
+ () => props.error,
193
+ (newError) => {
194
+ fieldsErrorMessages.value = {
195
+ networkLabel: newError.name,
196
+ vlanId: newError.vlan,
197
+ }
198
+
199
+ const fieldsErrorMessagesFiltered = Object.values(
200
+ fieldsErrorMessages.value
201
+ ).filter(
202
+ (errorMessage: string | undefined) =>
203
+ errorMessage !== '' && errorMessage !== undefined
204
+ )
205
+
206
+ emits('change-error-messages', fieldsErrorMessagesFiltered, props.stepId)
207
+ },
208
+ { deep: true, immediate: true }
209
+ )
210
+
211
+ const oldFields = ref<any>(useDeepCopy(fields.value))
212
+
213
+ const cacheOldFields = (newFields: UI_I_ConnectionSettings): void => {
214
+ oldFields.value = useDeepCopy(newFields)
215
+ }
216
+
217
+ const setErrorEmpty = (
218
+ newValue: UI_I_ConnectionSettings,
219
+ oldValue: UI_I_ConnectionSettings,
220
+ fieldName: keyof UI_I_ConnectionSettings,
221
+ errFieldName: string
222
+ ): void => {
223
+ newValue[fieldName] !== oldValue[fieldName] &&
224
+ emits('set-error-empty', errFieldName)
225
+ }
226
+
227
+ // Changing data and validate they
228
+ watch(
229
+ fields,
230
+ (newFields: UI_I_ConnectionSettings) => {
231
+ setErrorEmpty(newFields, oldFields.value, 'networkLabel', 'name')
232
+ setErrorEmpty(newFields, oldFields.value, 'vlanId', 'vlan')
233
+
234
+ cacheOldFields(newFields)
235
+
236
+ setMessageOnChangedField(
237
+ newFields.vlanId,
238
+ 'vlanId',
239
+ messageTexts(localization.value).vlanId
240
+ )
241
+
242
+ setMessageOnChangedField(
243
+ newFields.networkLabel,
244
+ 'networkLabel',
245
+ messageTexts(localization.value).networkLabel
246
+ )
247
+
248
+ const fieldsErrorMessagesFiltered = Object.values(
249
+ fieldsErrorMessages.value
250
+ ).filter((errorMessage: string) => errorMessage !== '')
251
+
252
+ fieldsErrorMessagesFiltered.length === 0 &&
253
+ emits('hide-error-message-alert')
254
+
255
+ emits('change-error-messages', fieldsErrorMessagesFiltered, props.stepId)
256
+
257
+ emits('change-connection-settings', newFields)
258
+ },
259
+ { deep: true, immediate: true }
260
+ )
261
+
262
+ // Validation message show and hide
263
+ const onHideErrorMessageAlert = (): void => {
264
+ emits('hide-error-message-alert')
265
+ }
266
+ onUnmounted(() => {
267
+ emits('hide-error-message-alert')
268
+ })
269
+ </script>
@@ -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"
@@ -41,6 +45,9 @@ import {
41
45
 
42
46
  // Props from up
43
47
  const props = defineProps<{
48
+ title: string
49
+ text: string
50
+ stepId: number
44
51
  addedAdapters: string[]
45
52
  freeAdapters: UI_I_Adapter[]
46
53
  adapterStatus: UI_I_AdapterStatus
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <div class="wizard-content-header-area">
3
+ <div>
4
+ <div
5
+ class="description"
6
+ >
7
+ {{ props.text }}
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </template>
12
+
13
+ <script setup lang="ts">
14
+ // Props from up
15
+
16
+ const props = defineProps<{
17
+ title: string
18
+ text: string
19
+ }>()
20
+ </script>
21
+
22
+ <style scoped lang="scss">
23
+
24
+ .wizard-content-header-area {
25
+ flex-shrink: 0;
26
+ width: inherit;
27
+ height: auto;
28
+ background-color: transparent;
29
+ padding-bottom: 3px;
30
+ border-bottom: 1px solid #a6a6a6;
31
+ }
32
+
33
+ .wizard-content-header-area {
34
+ display: flex;
35
+ //padding-top: 12px;
36
+
37
+ .description {
38
+ color: #333333;
39
+ font-size: 13px;
40
+ }
41
+
42
+ .description,
43
+ .select {
44
+ flex: 1 1 100%;
45
+ margin-right: 5px;
46
+ }
47
+
48
+ :deep(select) {
49
+ background-color: transparent;
50
+ border-color: var(--type-list-border-color);
51
+ }
52
+ }
53
+ </style>