bfg-common 1.6.89 → 1.6.91

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 (191) hide show
  1. package/assets/localization/local_be.json +4365 -4630
  2. package/assets/localization/local_en.json +4369 -4635
  3. package/assets/localization/local_hy.json +4369 -4634
  4. package/assets/localization/local_kk.json +4368 -4633
  5. package/assets/localization/local_ru.json +4368 -4633
  6. package/assets/localization/local_zh.json +4366 -4631
  7. package/assets/scss/common/global.scss +0 -11
  8. package/assets/scss/common/normalize.scss +0 -3
  9. package/assets/scss/common/theme.scss +2 -2
  10. package/components/atoms/stack/StackBlock.vue +1 -1
  11. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +2 -2
  12. package/components/atoms/tooltip/TooltipError.vue +0 -3
  13. package/components/common/adapterManager/AdapterManagerNew.vue +0 -87
  14. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +1 -1
  15. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +1 -0
  16. package/components/common/adapterManager/ui/actions/bar/Bar.vue +0 -2
  17. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +2 -3
  18. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +0 -1
  19. package/components/common/configure/physicalAdapters/PhysicalAdapters.vue +0 -6
  20. package/components/common/configure/physicalAdapters/PhysicalAdaptersNew.vue +192 -219
  21. package/components/common/configure/physicalAdapters/PhysicalAdaptersOld.vue +4 -6
  22. package/components/common/configure/physicalAdapters/buttons/Buttons.vue +0 -1
  23. package/components/common/configure/physicalAdapters/modals/edit/Edit.vue +1 -26
  24. package/components/common/configure/physicalAdapters/modals/edit/EditNew.vue +1 -30
  25. package/components/common/configure/physicalAdapters/modals/edit/lib/models/interfaces.ts +0 -5
  26. package/components/common/configure/physicalAdapters/tableView/TableViewNew.vue +1 -12
  27. package/components/common/configure/physicalAdapters/tableView/lib/config/physicalAdaptersTableConfigNew.ts +21 -21
  28. package/components/common/configure/physicalAdapters/tableView/lib/config/settings.ts +32 -39
  29. package/components/common/configure/physicalAdapters/tableView/lib/models/interfaces.ts +1 -4
  30. package/components/common/diagramMain/Diagram.vue +85 -169
  31. package/components/common/diagramMain/DiagramMain.vue +10 -40
  32. package/components/common/diagramMain/{header/HeaderOld.vue → Header.vue} +67 -78
  33. package/components/common/diagramMain/modals/{managePhysicalAdapters/ManagePhysicalAdaptersOld.vue → ManagePhysicalAdaptersModal.vue} +119 -33
  34. package/components/common/diagramMain/modals/Modals.vue +5 -5
  35. package/components/common/diagramMain/modals/editSettings/{confirmTeamingSettingsModal/ConfirmTeamingSettingsModalOld.vue → ConfirmTeamingSettingsModal.vue} +5 -2
  36. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +102 -104
  37. package/components/common/diagramMain/modals/editSettings/{modal/EditSettingsModalOld.vue → EditSettingsModal.vue} +51 -12
  38. package/components/common/diagramMain/modals/editSettings/lib/models/interfaces.ts +0 -6
  39. package/components/common/diagramMain/modals/editSettings/tabs/{networkProperties/NetworkPropertiesOld.vue → NetworkProperties.vue} +113 -12
  40. package/components/common/diagramMain/modals/editSettings/tabs/{security/SecurityOld.vue → Security.vue} +48 -25
  41. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +164 -0
  42. package/components/common/diagramMain/modals/editSettings/tabs/{teamingFailover/TeamingFailoverOld.vue → TeamingFailover.vue} +48 -11
  43. package/components/common/diagramMain/modals/editSettings/tabs/{trafficShaping/TrafficShapingOld.vue → TrafficShaping.vue} +134 -12
  44. package/components/common/diagramMain/modals/editSettings/tabs/port/{ipvFourSettings/IpvFourSettingsOld.vue → IpvFourSettings.vue} +152 -11
  45. package/components/common/diagramMain/modals/editSettings/tabs/port/{portProperties/PortPropertiesOld.vue → PortProperties.vue} +103 -12
  46. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +9 -9
  47. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +2 -43
  48. package/components/common/diagramMain/modals/lib/config/index.ts +1 -2
  49. package/components/common/diagramMain/modals/lib/config/networkModal.ts +15 -15
  50. package/components/common/diagramMain/modals/lib/config/portModal.ts +12 -12
  51. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +2 -2
  52. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +1 -1
  53. package/components/common/diagramMain/modals/lib/utils/index.ts +4 -34
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +2 -2
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +1 -1
  56. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +16 -67
  57. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +0 -8
  58. package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
  59. package/components/common/layout/theHeader/modals/reconnect/New.vue +30 -38
  60. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +9 -8
  61. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +0 -4
  62. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +2 -9
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +7 -11
  64. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +1 -7
  65. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions.ts +5 -8
  66. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +5 -9
  67. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions.ts +1 -1
  68. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +9 -5
  69. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +6 -9
  70. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +1 -3
  71. package/components/common/modals/Rename.vue +1 -3
  72. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +2791 -2791
  73. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +295 -295
  74. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/config/index.ts +22 -22
  75. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/utils/checkSubmit.ts +46 -46
  76. package/components/common/monitor/lib/utils/local_be.json +714 -714
  77. package/components/common/monitor/lib/utils/local_en.json +714 -714
  78. package/components/common/monitor/lib/utils/local_hy.json +714 -714
  79. package/components/common/monitor/lib/utils/local_kk.json +714 -714
  80. package/components/common/monitor/lib/utils/local_ru.json +714 -714
  81. package/components/common/monitor/lib/utils/local_zh.json +714 -714
  82. package/components/common/noDataProvided/NoDataProvidedNew.vue +1 -1
  83. package/components/common/pages/backups/lib/models/interfaces.ts +0 -1
  84. package/components/common/pages/backups/modals/Modals.vue +0 -1
  85. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +4 -4
  86. package/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/table.ts +4 -4
  87. package/components/common/pages/backups/modals/lib/config/restore.ts +0 -1
  88. package/components/common/pages/backups/modals/lib/models/interfaces.ts +0 -1
  89. package/components/common/pages/backups/modals/restore/Restore.vue +2 -4
  90. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +253 -184
  91. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/ActionsNew.vue +1 -1
  92. package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +0 -9
  93. package/components/common/pages/scheduledTasks/table/new/New.vue +10 -12
  94. package/components/common/pages/tasks/Tasks.vue +1 -4
  95. package/components/common/pages/tasks/table/Table.vue +23 -25
  96. package/components/common/readyToComplete/New.vue +0 -1
  97. package/components/common/split/horizontal/New.vue +1 -1
  98. package/components/common/split/horizontal/Old.vue +1 -1
  99. package/components/common/split/vertical/New.vue +8 -42
  100. package/components/common/split/vertical/Old.vue +2 -31
  101. package/components/common/split/vertical/Vertical.vue +0 -4
  102. package/components/common/tools/Actions.vue +3 -7
  103. package/components/common/tools/lib/models/interfaces.ts +0 -1
  104. package/components/common/vm/actions/add/New.vue +6 -21
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +1 -14
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/New.vue +0 -5
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Old.vue +0 -1
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/New.vue +0 -1
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/New.vue +0 -2
  110. package/components/common/vm/actions/common/select/options/New.vue +12 -14
  111. package/components/common/vm/actions/common/select/options/Old.vue +15 -16
  112. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +15 -13
  113. package/components/common/vm/actions/confirm/Confirm.vue +0 -3
  114. package/components/common/vm/actions/rename/Old.vue +0 -1
  115. package/components/common/vm/snapshots/DetailView.vue +6 -6
  116. package/components/common/wizards/datastore/add/New.vue +0 -6
  117. package/components/common/wizards/datastore/add/lib/config/steps.ts +1 -1
  118. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
  119. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +1 -1
  120. package/components/common/wizards/network/add/Add.vue +2 -13
  121. package/components/common/wizards/network/add/AddNew.vue +26 -22
  122. package/components/common/wizards/network/add/lib/config/initialData.ts +4 -6
  123. package/components/common/wizards/network/add/lib/config/steps.ts +1 -1
  124. package/components/common/wizards/network/add/lib/models/interfaces.ts +0 -1
  125. package/components/common/wizards/network/add/lib/utils/utils.ts +1 -1
  126. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsOld.vue +1 -5
  127. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +8 -2
  128. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsOld.vue +0 -3
  129. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +8 -2
  130. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesOld.vue +2 -6
  131. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +3 -10
  132. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +0 -4
  133. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +1 -5
  134. package/components/common/wizards/network/add/validations/common.ts +1 -1
  135. package/components/common/wizards/vm/migrate/New.vue +3 -13
  136. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +0 -5
  137. package/components/common/wizards/vm/migrate/lib/config/steps.ts +2 -3
  138. package/components/common/wizards/vm/migrate/steps/computeResource/New.vue +1 -2
  139. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/New.vue +21 -40
  140. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable.ts +14 -44
  141. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/models/enums.ts +0 -4
  142. package/components/common/wizards/vm/migrate/steps/priority/New.vue +2 -7
  143. package/components/common/wizards/vm/migrate/steps/selectStorage/New.vue +7 -22
  144. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/New.vue +0 -6
  145. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/New.vue +1 -4
  146. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/lib/config/datastoreTable.ts +16 -12
  147. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/New.vue +5 -10
  148. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +11 -16
  149. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +1 -7
  150. package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/New.vue +10 -17
  151. package/components/common/wizards/vm/migrate/steps/type/TypeNew.vue +0 -1
  152. package/components/common/wizards/vm/migrate/vmOrigin/New.vue +15 -35
  153. package/lib/models/store/tasks/enums.ts +0 -3
  154. package/lib/models/store/tasks/types.ts +6 -7
  155. package/package.json +2 -2
  156. package/plugins/directives.ts +5 -3
  157. package/public/spice-console/application/agent.js +17 -18
  158. package/store/tasks/actions.ts +8 -26
  159. package/store/tasks/mappers/recentTasks.ts +0 -1
  160. package/components/common/configure/physicalAdapters/modals/edit/lib/validations/validations.ts +0 -19
  161. package/components/common/diagramMain/header/Header.vue +0 -49
  162. package/components/common/diagramMain/header/HeaderNew.vue +0 -155
  163. package/components/common/diagramMain/modals/UnsavedChangesModal.vue +0 -32
  164. package/components/common/diagramMain/modals/editSettings/EditSettingsNew.vue +0 -285
  165. package/components/common/diagramMain/modals/editSettings/EditSettingsOld.vue +0 -254
  166. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModal.vue +0 -31
  167. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModalNew.vue +0 -82
  168. package/components/common/diagramMain/modals/editSettings/lib/config/config.ts +0 -15
  169. package/components/common/diagramMain/modals/editSettings/lib/utils/utils.ts +0 -177
  170. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModal.vue +0 -137
  171. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModalNew.vue +0 -91
  172. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkProperties.vue +0 -158
  173. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkPropertiesNew.vue +0 -262
  174. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettings.vue +0 -192
  175. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettingsNew.vue +0 -388
  176. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortProperties.vue +0 -139
  177. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortPropertiesNew.vue +0 -286
  178. package/components/common/diagramMain/modals/editSettings/tabs/security/Security.vue +0 -209
  179. package/components/common/diagramMain/modals/editSettings/tabs/security/SecurityNew.vue +0 -233
  180. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchProperties.vue +0 -128
  181. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesNew.vue +0 -235
  182. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesOld.vue +0 -87
  183. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailover.vue +0 -99
  184. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailoverNew.vue +0 -319
  185. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShaping.vue +0 -173
  186. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShapingNew.vue +0 -348
  187. package/components/common/diagramMain/modals/managePhysicalAdapters/ManagePhysicalAdapters.vue +0 -164
  188. package/components/common/diagramMain/modals/managePhysicalAdapters/ManagePhysicalAdaptersNew.vue +0 -306
  189. package/components/common/diagramMain/skeleton/Header.vue +0 -31
  190. package/components/common/diagramMain/skeleton/Switch.vue +0 -75
  191. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable.ts +0 -340
@@ -2,11 +2,11 @@
2
2
  <div class="wizard-content__container">
3
3
  <div class="wizard-content wizard-content-port">
4
4
  <atoms-alert
5
- v-if="props.isShowErrorMessage"
5
+ v-if="isShowErrorMessage"
6
6
  :items="validationMessagesArray"
7
7
  status="alert-danger"
8
8
  test-id="ipv-four-settings-alert"
9
- @remove="emits('hide-error-message-alert')"
9
+ @remove="onHideErrorMessageAlert"
10
10
  />
11
11
  <form>
12
12
  <div class="radio">
@@ -185,26 +185,167 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
185
185
  import type {
186
186
  UI_I_EditSettingsErrorMessage,
187
187
  UI_I_IpvFourSettingsFields,
188
+ UI_I_ModalsInitialData,
188
189
  } from '~/components/common/diagramMain/lib/models/interfaces'
190
+ import type { UI_T_IpFourSettingsFieldName } from '~/components/common/wizards/network/add/lib/models/types'
189
191
  import { validationMessagesArrayFunc } from '~/components/common/diagramMain/modals/lib/utils'
190
192
 
191
- const props = defineProps<{
192
- isShowErrorMessage: boolean
193
- errorMessages: UI_I_EditSettingsErrorMessage
194
- }>()
193
+ const props = withDefaults(
194
+ defineProps<{
195
+ isShowErrorMessageAlert: boolean
196
+ errorMessages: UI_I_EditSettingsErrorMessage
197
+ initialData?: UI_I_ModalsInitialData
198
+ hasErrorMessages?: boolean
199
+ }>(),
200
+ {
201
+ initialData: () => ({}),
202
+ hasErrorMessages: undefined,
203
+ }
204
+ )
195
205
 
206
+ // Validation
196
207
  const emits = defineEmits<{
208
+ (
209
+ event: 'change-error-messages',
210
+ errorMessage: string,
211
+ fieldName: keyof UI_I_EditSettingsErrorMessage
212
+ ): void
197
213
  (event: 'hide-error-message-alert'): void
214
+ (
215
+ event: 'change-port-ipv-four-data',
216
+ newPortEditIpvFourData: UI_I_IpvFourSettingsFields
217
+ ): void
198
218
  }>()
199
219
 
200
- const localization = computed<UI_I_Localization>(() => useLocal())
201
-
202
- const fieldsValues = defineModel<UI_I_IpvFourSettingsFields>()
203
-
204
- const validationMessagesArray = computed<string[]>(() =>
220
+ const validationMessagesArray = computed(() =>
205
221
  validationMessagesArrayFunc(
206
222
  ['ipFourAddress', 'subnetMask', 'defaultGateway'],
207
223
  props.errorMessages
208
224
  )
209
225
  )
226
+
227
+ // UI_I_Localization
228
+ const localization = computed<UI_I_Localization>(() => useLocal())
229
+
230
+ // For showing component validation errors on the top of modal
231
+ const isShowErrorMessage = computed<boolean>(
232
+ () => props.isShowErrorMessageAlert && props.hasErrorMessages
233
+ )
234
+
235
+ const fieldsValues = ref<UI_I_IpvFourSettingsFields>(
236
+ useDeepCopy(props.initialData.tcpConfig)
237
+ )
238
+
239
+ const onHideErrorMessageAlert = (): void => emits('hide-error-message-alert')
240
+
241
+ const onChangeData = (data: UI_I_IpvFourSettingsFields) =>
242
+ emits('change-port-ipv-four-data', data)
243
+
244
+ const changeErrorMessage = (
245
+ errorMessage: string,
246
+ fieldName: keyof UI_I_EditSettingsErrorMessage
247
+ ) => emits('change-error-messages', errorMessage, fieldName)
248
+
249
+ const checkIfValidIP = (str: string) => {
250
+ const regexExp =
251
+ /^(([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
252
+
253
+ return regexExp.test(str)
254
+ }
255
+
256
+ const messageTexts = (local: UI_I_Localization) => ({
257
+ ipFourAddressEmpty: local.common.ipFourAddressEmpty,
258
+ subnetMaskEmpty: local.common.subnetMaskEmpty,
259
+ defaultGatewayEmpty: local.common.defaultGatewayEmpty,
260
+ ipFourAddressInvalid: local.common.ipFourAddressInvalid,
261
+ subnetMaskInvalid: local.common.subnetMaskInvalid,
262
+ defaultGatewayInvalid: local.common.defaultGatewayInvalid,
263
+ })
264
+
265
+ const setMessageOnChangedField = (
266
+ values: string,
267
+ name: UI_T_IpFourSettingsFieldName,
268
+ ipSettings: string,
269
+ override?: boolean
270
+ ) => {
271
+ if (ipSettings === '0') {
272
+ changeErrorMessage('', name)
273
+ return
274
+ }
275
+
276
+ if (name === 'ipFourAddress') {
277
+ if (!values) {
278
+ changeErrorMessage(messageTexts(localization.value)[`${name}Empty`], name)
279
+ return
280
+ }
281
+ if (!checkIfValidIP(values)) {
282
+ changeErrorMessage(
283
+ messageTexts(localization.value)[`${name}Invalid`],
284
+ name
285
+ )
286
+ return
287
+ }
288
+ }
289
+ if (name === 'subnetMask') {
290
+ if (!values) {
291
+ changeErrorMessage(messageTexts(localization.value)[`${name}Empty`], name)
292
+ return
293
+ }
294
+ if (!checkIfValidIP(values)) {
295
+ changeErrorMessage(
296
+ messageTexts(localization.value)[`${name}Invalid`],
297
+ name
298
+ )
299
+ return
300
+ }
301
+ }
302
+ if (name === 'defaultGateway' && override) {
303
+ if (!values) {
304
+ changeErrorMessage(messageTexts(localization.value)[`${name}Empty`], name)
305
+ return
306
+ }
307
+ if (!checkIfValidIP(values)) {
308
+ changeErrorMessage(
309
+ messageTexts(localization.value)[`${name}Invalid`],
310
+ name
311
+ )
312
+ return
313
+ }
314
+ }
315
+ changeErrorMessage('', name)
316
+ }
317
+
318
+ // Changing data and validate they
319
+ watch(
320
+ fieldsValues,
321
+ (newValues: UI_I_IpvFourSettingsFields) => {
322
+ setMessageOnChangedField(
323
+ newValues.ipv4Address,
324
+ 'ipFourAddress',
325
+ newValues.ipv4Settings
326
+ )
327
+ setMessageOnChangedField(
328
+ newValues.subnetMask,
329
+ 'subnetMask',
330
+ newValues.ipv4Settings
331
+ )
332
+ setMessageOnChangedField(
333
+ newValues.defaultGateway.value,
334
+ 'defaultGateway',
335
+ newValues.ipv4Settings,
336
+ newValues.defaultGateway.checked
337
+ )
338
+ onChangeData(newValues)
339
+ !props.hasErrorMessages && onHideErrorMessageAlert()
340
+ },
341
+ { deep: true }
342
+ )
343
+
344
+ onMounted(() => {
345
+ onChangeData(fieldsValues.value)
346
+ })
347
+
348
+ onUnmounted(() => {
349
+ onHideErrorMessageAlert()
350
+ })
210
351
  </script>
@@ -2,11 +2,11 @@
2
2
  <div class="wizard-content__container">
3
3
  <div class="wizard-content wizard-content-port">
4
4
  <atoms-alert
5
- v-if="props.isShowErrorMessage"
5
+ v-if="isShowErrorMessage"
6
6
  :items="validationMessagesArray"
7
7
  status="alert-danger"
8
8
  test-id="port-properties-alert"
9
- @remove="emits('hide-error-message-alert')"
9
+ @remove="onHideErrorMessageAlert"
10
10
  />
11
11
  <form id="port-properties-form">
12
12
  <b class="property-label-group">
@@ -58,7 +58,7 @@
58
58
  {{ localization.common.availableServices }}
59
59
  </b>
60
60
  <template
61
- v-for="(enabledService, key) in props.portPropertiesEnabledServices"
61
+ v-for="(enabledService, key) in portPropertiesEnabledServices"
62
62
  :key="enabledService.modelValue"
63
63
  >
64
64
  <div class="horizontal-flex-container">
@@ -90,26 +90,117 @@
90
90
  import type { UI_I_Localization } from '~/lib/models/interfaces'
91
91
  import type {
92
92
  UI_I_PortPropertiesFields,
93
+ UI_I_ModalsInitialData,
93
94
  UI_I_EditSettingsErrorMessage,
94
95
  } from '~/components/common/diagramMain/lib/models/interfaces'
96
+ import type { UI_T_PortPropertiesFieldName } from '~/components/common/diagramMain/lib/models/types'
97
+ import { portPropertiesEnabledServicesFunc } from '~/components/common/diagramMain/modals/lib/config'
95
98
  import { validationMessagesArrayFunc } from '~/components/common/diagramMain/modals/lib/utils'
96
99
 
97
- const props = defineProps<{
98
- isShowErrorMessage: boolean
99
- errorMessages: UI_I_EditSettingsErrorMessage
100
- validationMessagesArray: string[]
101
- portPropertiesEnabledServices: any
102
- }>()
100
+ // Props from up
101
+ const props = withDefaults(
102
+ defineProps<{
103
+ isShowErrorMessageAlert: boolean
104
+ errorMessages: UI_I_EditSettingsErrorMessage
105
+ initialData?: UI_I_ModalsInitialData
106
+ hasErrorMessages?: boolean
107
+ }>(),
108
+ {
109
+ initialData: () => ({}),
110
+ hasErrorMessages: undefined,
111
+ }
112
+ )
103
113
 
114
+ // Validation
104
115
  const emits = defineEmits<{
116
+ (
117
+ event: 'change-error-messages',
118
+ errorMessage: string,
119
+ fieldName: keyof UI_I_EditSettingsErrorMessage
120
+ ): void
105
121
  (event: 'hide-error-message-alert'): void
122
+ (
123
+ event: 'change-port-edit-properties-data',
124
+ newPortEditPropertiesData: UI_I_PortPropertiesFields
125
+ ): void
106
126
  }>()
107
127
 
128
+ const validationMessagesArray = computed(() =>
129
+ validationMessagesArrayFunc(['mtu'], props.errorMessages)
130
+ )
131
+
132
+ // UI_I_Localization
108
133
  const localization = computed<UI_I_Localization>(() => useLocal())
109
134
 
110
- const fieldsValues = defineModel<UI_I_PortPropertiesFields>()
135
+ // Enabled services data with localization
136
+ const portPropertiesEnabledServices = computed(() =>
137
+ portPropertiesEnabledServicesFunc(localization.value)
138
+ )
111
139
 
112
- const validationMessagesArray = computed(() =>
113
- validationMessagesArrayFunc(['mtu'], props.errorMessages)
140
+ // For showing component validation errors on the top of modal
141
+ const isShowErrorMessage = computed<boolean>(
142
+ () => props.isShowErrorMessageAlert && props.hasErrorMessages
114
143
  )
144
+
145
+ const fieldsValues = ref<UI_I_PortPropertiesFields>(
146
+ useDeepCopy({
147
+ tcpIp: props.initialData.tcpIp,
148
+ mtu: props.initialData.mtu,
149
+ services: props.initialData.services,
150
+ }) as UI_I_PortPropertiesFields
151
+ )
152
+
153
+ const onHideErrorMessageAlert = (): void => emits('hide-error-message-alert')
154
+
155
+ const onChangeData = (data: UI_I_PortPropertiesFields): void =>
156
+ emits('change-port-edit-properties-data', data)
157
+
158
+ const changeErrorMessage = (
159
+ errorMessage: string,
160
+ fieldName: keyof UI_I_EditSettingsErrorMessage
161
+ ) => emits('change-error-messages', errorMessage, fieldName)
162
+
163
+ const messageTexts = (local: UI_I_Localization) => ({
164
+ mtu: local.common.mtuInvalidError,
165
+ })
166
+
167
+ const setMessageOnChangedField = (
168
+ values: number[],
169
+ index: number,
170
+ name: UI_T_PortPropertiesFieldName,
171
+ text: string
172
+ ) => {
173
+ if (values[index] >= 1280 && values[index] <= 65535) {
174
+ changeErrorMessage('', name)
175
+ } else {
176
+ changeErrorMessage(text, name)
177
+ }
178
+ }
179
+
180
+ watch(
181
+ fieldsValues,
182
+ (newValues: UI_I_PortPropertiesFields): void => {
183
+ setMessageOnChangedField(
184
+ [newValues.mtu],
185
+ 0,
186
+ 'mtu',
187
+ messageTexts(localization.value).mtu
188
+ )
189
+ onChangeData(newValues)
190
+ !props.hasErrorMessages && onHideErrorMessageAlert()
191
+ },
192
+ {
193
+ deep: true,
194
+ }
195
+ )
196
+
197
+ onMounted(() => {
198
+ onChangeData(fieldsValues.value)
199
+ })
200
+
201
+ onUnmounted((): void => {
202
+ onHideErrorMessageAlert()
203
+ })
115
204
  </script>
205
+
206
+ <style scoped lang="scss"></style>
@@ -41,19 +41,19 @@ export const adapterViewSettingsFunc = (
41
41
  type: 1,
42
42
  rows: [
43
43
  {
44
- name: localization.common.adapter + ':',
44
+ name: localization.common.adapter,
45
45
  value: initialData?.adapter?.trim(),
46
46
  },
47
47
  {
48
- name: localization.common.name + ':',
48
+ name: localization.common.name,
49
49
  value: initialData?.name,
50
50
  },
51
51
  {
52
- name: localization.common.location + ':',
52
+ name: localization.common.location,
53
53
  value: `PCI ${initialData?.pciAddress}`,
54
54
  },
55
55
  {
56
- name: localization.common.driver + ':',
56
+ name: localization.common.driver,
57
57
  value: initialData?.driver,
58
58
  },
59
59
  ],
@@ -64,7 +64,7 @@ export const adapterViewSettingsFunc = (
64
64
  type: 1,
65
65
  rows: [
66
66
  {
67
- name: localization.common.status + ':',
67
+ name: localization.common.status,
68
68
  value: initialData?.carrier
69
69
  ? localization.common.connected
70
70
  : localization.common.disconnected,
@@ -72,7 +72,7 @@ export const adapterViewSettingsFunc = (
72
72
  status: true,
73
73
  },
74
74
  {
75
- name: localization.common.actualSpeedDuplex + ':',
75
+ name: localization.common.actualSpeedDuplex,
76
76
  value: initialData?.carrier
77
77
  ? `${getNicSpeed(initialData?.speed || 0, localization)}, ${
78
78
  initialData?.duplex
@@ -80,7 +80,7 @@ export const adapterViewSettingsFunc = (
80
80
  : localization.common.down,
81
81
  },
82
82
  {
83
- name: localization.common.configuredSpeedDuplex + ':',
83
+ name: localization.common.configuredSpeedDuplex,
84
84
  value: initialData?.carrier
85
85
  ? `${getNicSpeed(initialData?.speed || 0, localization)}, ${
86
86
  initialData?.duplex
@@ -88,7 +88,7 @@ export const adapterViewSettingsFunc = (
88
88
  : localization.common.autoNegotiate,
89
89
  },
90
90
  {
91
- name: localization.common.networks + ':',
91
+ name: localization.common.networks,
92
92
  value:
93
93
  initialData?.networks && initialData?.networks?.length > 0
94
94
  ? initialData?.networks.map((network: string) => network.trim())
@@ -102,7 +102,7 @@ export const adapterViewSettingsFunc = (
102
102
  type: 1,
103
103
  rows: [
104
104
  {
105
- name: localization.common.status + ':',
105
+ name: localization.common.status,
106
106
  value: !initialData?.srIov ? localization.common.notSupported : '--',
107
107
  color: initialData?.srIov,
108
108
  status: true,
@@ -1,4 +1,3 @@
1
- import type { UI_I_Button } from '~/node_modules/bfg-common/components/common/tools/lib/models/interfaces'
2
1
  import type { UI_I_Localization } from '~/lib/models/interfaces'
3
2
  import type { UI_I_NavigationItem } from '~/components/common/diagramMain/lib/models/interfaces'
4
3
 
@@ -10,7 +9,7 @@ export const switchMainNavigationFunc = (
10
9
  text: localization.common.migrateVmKernelAdapter,
11
10
  value: 'migrate-vmkernel-adapter',
12
11
  testId: `${testId}-migrate-vm-kernel-adapter`,
13
- development: true,
12
+ development: true
14
13
  },
15
14
  {
16
15
  text: localization.common.viewSettings,
@@ -21,46 +20,6 @@ export const switchMainNavigationFunc = (
21
20
  text: localization.common.remove,
22
21
  value: 'switch-remove',
23
22
  testId: `${testId}-remove`,
24
- permission: 'Networks.RemoveSwitch',
25
- },
26
- ]
27
-
28
- export const switchMainNavigationNewFunc = (
29
- localization: UI_I_Localization,
30
- testId: string
31
- ): UI_I_Button[] => [
32
- {
33
- text: localization.common.addNetworking,
34
- value: 'add-networking',
35
- iconName: 'network',
36
- testId: `${testId}-add-networking-button`,
37
- permission:
38
- 'Networks.CreateSysx Networks.CreatePortGroup Networks.UpdateSwitch Networks.CreateSwitch',
39
- },
40
- {
41
- text: localization.common.edit,
42
- value: 'switch-edit',
43
- iconName: 'edit',
44
- testId: `${testId}-edit-button`,
45
- permission: 'Networks.UpdateSwitch',
46
- },
47
- {
48
- text: localization.common.managePhysicalAdapters,
49
- value: 'switch-manage-physical-adapters',
50
- iconName: 'settings',
51
- testId: `${testId}-manage-physical-adapters-button`,
52
- permission: 'Networks.UpdateSwitch',
53
- },
54
- // {
55
- // text: localization.common.migrateVmKernelAdapter,
56
- // value: 'migrate-vmkernel-adapter',
57
- // testId: `${testId}-migrate-vm-kernel-adapter`,
58
- // development: true,
59
- // },
60
- {
61
- text: localization.common.viewSettings,
62
- value: 'switch-view-settings',
63
- iconName: 'password-hide',
64
- testId: `${testId}-view-settings`,
23
+ permission: 'Networks.RemoveSwitch'
65
24
  },
66
25
  ]
@@ -52,5 +52,4 @@ export const {
52
52
  vmKernelAdapterViewSettingsFunc,
53
53
  } = vmKernelAdapterData
54
54
  // export const { managePhysicalAdapterTableData } = temporaryData
55
- export const { switchMainNavigationFunc, switchMainNavigationNewFunc } =
56
- diagramConfig
55
+ export const { switchMainNavigationFunc } = diagramConfig
@@ -115,11 +115,11 @@ export const networkViewSettingsFunc = (
115
115
  type: 1,
116
116
  rows: [
117
117
  {
118
- name: localization.common.networkLabel + ':',
118
+ name: localization.common.networkLabel,
119
119
  value: initialData.networkLabel,
120
120
  },
121
121
  {
122
- name: localization.common.vlanId + ':',
122
+ name: localization.common.vlanId,
123
123
  value: initialData.vlanId,
124
124
  },
125
125
  ],
@@ -130,7 +130,7 @@ export const networkViewSettingsFunc = (
130
130
  type: 2,
131
131
  rows: [
132
132
  {
133
- name: localization.common.promiscuousMode + ':',
133
+ name: localization.common.promiscuousMode,
134
134
  value: promiscuousModeFlag
135
135
  ? localization.common.accept
136
136
  : localization.common.reject,
@@ -138,7 +138,7 @@ export const networkViewSettingsFunc = (
138
138
  status: true,
139
139
  },
140
140
  {
141
- name: localization.common.macAddressChanges + ':',
141
+ name: localization.common.macAddressChanges,
142
142
  value: macAddressChanges
143
143
  ? localization.common.accept
144
144
  : localization.common.reject,
@@ -146,7 +146,7 @@ export const networkViewSettingsFunc = (
146
146
  status: true,
147
147
  },
148
148
  {
149
- name: localization.common.forgedTransmits + ':',
149
+ name: localization.common.forgedTransmits,
150
150
  value: forgedTransmits
151
151
  ? localization.common.accept
152
152
  : localization.common.reject,
@@ -161,19 +161,19 @@ export const networkViewSettingsFunc = (
161
161
  type: 2,
162
162
  rows: [
163
163
  {
164
- name: localization.common.averageBandwidth + ':',
164
+ name: localization.common.averageBandwidth,
165
165
  value: initialData.shapingPolicy?.[0].initialValue.value
166
166
  ? `${initialData.average_bw} ${localization.common.kbitS}`
167
167
  : '--',
168
168
  },
169
169
  {
170
- name: localization.common.peakBandwidth + ':',
170
+ name: localization.common.peakBandwidth,
171
171
  value: initialData.shapingPolicy?.[0].initialValue.value
172
172
  ? `${initialData.peak_bw} ${localization.common.kbitS}`
173
173
  : '--',
174
174
  },
175
175
  {
176
- name: localization.common.burstSize + ':',
176
+ name: localization.common.burstSize,
177
177
  value: initialData.shapingPolicy?.[0].initialValue.value
178
178
  ? `${initialData.burst_size} ${localization.common.kb}`
179
179
  : '--',
@@ -186,11 +186,11 @@ export const networkViewSettingsFunc = (
186
186
  type: 2,
187
187
  rows: [
188
188
  {
189
- name: localization.common.loadBalancing + ':',
189
+ name: localization.common.loadBalancing,
190
190
  value: loadBalancingValue,
191
191
  },
192
192
  {
193
- name: localization.common.networkFailureDetection + ':',
193
+ name: localization.common.networkFailureDetection,
194
194
  value:
195
195
  (
196
196
  initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_ICBLinkDetectionMode>[]
@@ -203,7 +203,7 @@ export const networkViewSettingsFunc = (
203
203
  : localization.common.beaconProbing,
204
204
  },
205
205
  {
206
- name: localization.common.notifySwitches + ':',
206
+ name: localization.common.notifySwitches,
207
207
  value: notifySwitches
208
208
  ? localization.common.yes
209
209
  : localization.common.no,
@@ -211,21 +211,21 @@ export const networkViewSettingsFunc = (
211
211
  status: true,
212
212
  },
213
213
  {
214
- name: localization.common.failback + ':',
214
+ name: localization.common.failback,
215
215
  value: failback ? localization.common.yes : localization.common.no,
216
216
  color: failback,
217
217
  status: true,
218
218
  },
219
219
  {
220
- name: localization.networks.activeAdapters + ':',
220
+ name: localization.networks.activeAdapters,
221
221
  value: initialData.activeAdapters,
222
222
  },
223
223
  {
224
- name: localization.common.standbyAdapters + ':',
224
+ name: localization.common.standbyAdapters,
225
225
  value: initialData.standbyAdapters,
226
226
  },
227
227
  {
228
- name: localization.common.unusedAdapters + ':',
228
+ name: localization.common.unusedAdapters,
229
229
  value: initialData.unusedAdapters,
230
230
  },
231
231
  ],
@@ -55,19 +55,19 @@ export const portViewSettingsFunc = (
55
55
  type: 1,
56
56
  rows: [
57
57
  {
58
- name: localization.common.networkLabel + ':',
58
+ name: localization.common.networkLabel,
59
59
  value: initialData.networkLabel,
60
60
  },
61
61
  {
62
- name: localization.common.vlanId + ':',
62
+ name: localization.common.vlanId,
63
63
  value: initialData.vlanId,
64
64
  },
65
65
  {
66
- name: localization.common.tcpIpStack + ':',
66
+ name: localization.common.tcpIpStack,
67
67
  value: localization.common[initialData.tcpIp || 'default'],
68
68
  },
69
69
  {
70
- name: localization.common.enabledServices + ':',
70
+ name: localization.common.enabledServices,
71
71
  value: enabledServices,
72
72
  },
73
73
  ],
@@ -80,7 +80,7 @@ export const portViewSettingsFunc = (
80
80
  initialData.tcpConfig?.ipv4Settings === '0'
81
81
  ? [
82
82
  {
83
- name: localization.common.dhcp + ':',
83
+ name: localization.common.dhcp,
84
84
  value: localization.common.enabled,
85
85
  color: true,
86
86
  status: true,
@@ -88,26 +88,26 @@ export const portViewSettingsFunc = (
88
88
  ]
89
89
  : [
90
90
  {
91
- name: localization.common.dhcp + ':',
91
+ name: localization.common.dhcp,
92
92
  value: localization.common.disabled,
93
93
  color: false,
94
94
  status: true,
95
95
  },
96
96
  {
97
- name: localization.common.ipv4address + ':',
97
+ name: localization.common.ipv4address,
98
98
  value: initialData.tcpConfig?.ipv4Address,
99
99
  // (${localization.static})
100
100
  },
101
101
  {
102
- name: localization.common.subnetMask + ':',
102
+ name: localization.common.subnetMask,
103
103
  value: initialData.tcpConfig?.subnetMask,
104
104
  },
105
105
  {
106
- name: localization.common.defaultGateway + ':',
106
+ name: localization.common.defaultGateway,
107
107
  value: initialData.tcpConfig?.defaultGateway?.value,
108
108
  },
109
109
  {
110
- name: localization.common.dnsServerAddresses + ':',
110
+ name: localization.common.dnsServerAddresses,
111
111
  value: ['--'],
112
112
  },
113
113
  ],
@@ -143,11 +143,11 @@ export const portViewSettingsFunc = (
143
143
  type: 1,
144
144
  rows: [
145
145
  {
146
- name: localization.common.macAddress + ':',
146
+ name: localization.common.macAddress,
147
147
  // value: '02:00:2f:fb:9a:6b',
148
148
  },
149
149
  {
150
- name: localization.common.mtu + ':',
150
+ name: localization.common.mtu,
151
151
  value: initialData.mtu,
152
152
  },
153
153
  ],
@@ -13,11 +13,11 @@ export const vCenterViewSettingsFunc = (
13
13
  type: 1,
14
14
  rows: [
15
15
  {
16
- name: localization.common.macAddress + ':',
16
+ name: localization.common.macAddress,
17
17
  value: initialData.macAddress,
18
18
  },
19
19
  {
20
- name: localization.common.adapterType + ':',
20
+ name: localization.common.adapterType,
21
21
  value: initialData.adapter,
22
22
  },
23
23
  ],
@@ -18,7 +18,7 @@ export const vmKernelAdapterViewSettingsFunc = (
18
18
  type: 0,
19
19
  rows: [
20
20
  { name: localization.common.networkLabel, value: '' },
21
- { name: localization.common.vlanId, value: `${localization.common.none2} (0)` },
21
+ { name: localization.common.vlanId, value: `${localization.common.none} (0)` },
22
22
  { name: localization.common.tcpIpStack, value: 'Default' },
23
23
  { name: localization.common.enabledServices },
24
24
  ],