bfg-common 1.4.799 → 1.4.801

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 (157) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +31 -14
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-4.svg +6 -1
  4. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  5. package/assets/img/icons/icons-sprite-light-1.svg +30 -13
  6. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  7. package/assets/img/icons/icons-sprite-light-4.svg +6 -1
  8. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  9. package/assets/localization/local_be.json +33 -8
  10. package/assets/localization/local_en.json +33 -8
  11. package/assets/localization/local_hy.json +33 -8
  12. package/assets/localization/local_kk.json +34 -9
  13. package/assets/localization/local_ru.json +43 -18
  14. package/assets/localization/local_zh.json +33 -8
  15. package/assets/scss/clarity/local_ar.json +6 -3
  16. package/assets/scss/common/icons/icons-1.scss +4 -4
  17. package/components/atoms/autocomplete/Autocomplete.vue +68 -12
  18. package/components/atoms/select/TheSelect.vue +10 -1
  19. package/components/atoms/table/dataGrid/DataGrid.vue +12 -4
  20. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +4 -1
  21. package/components/atoms/table/dataGrid/lib/utils/export.ts +13 -13
  22. package/components/atoms/tabs/VerticalTabs.vue +11 -6
  23. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  24. package/components/common/browse/lib/models/interfaces.ts +5 -5
  25. package/components/common/chartOptionsModal/counters/timespan/form/Form.vue +544 -544
  26. package/components/common/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +116 -116
  27. package/components/common/context/Context.vue +16 -4
  28. package/components/common/context/recursion/Recursion.vue +2 -1
  29. package/components/common/context/recursion/RecursionNew.vue +57 -31
  30. package/components/common/context/recursion/RecursionOld.vue +33 -19
  31. package/components/common/diagramMain/Header.vue +211 -211
  32. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  33. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  34. package/components/common/diagramMain/lib/models/types.ts +21 -21
  35. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  36. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  37. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  38. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  39. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  40. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  41. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  42. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  43. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  44. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +7 -7
  45. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  46. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  47. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  48. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  49. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  50. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  51. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  57. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  58. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  59. package/components/common/diagramMain/port/Ports.vue +47 -47
  60. package/components/common/feedback/Buttons.vue +2 -2
  61. package/components/common/feedback/Message.vue +1 -0
  62. package/components/common/feedback/VisitPortal.vue +5 -1
  63. package/components/common/graph/Graph.vue +5 -11
  64. package/components/common/graph/GraphNew.vue +71 -0
  65. package/components/common/graph/GraphOld.vue +31 -0
  66. package/components/common/layout/theHeader/feedback/new/New.vue +29 -14
  67. package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +34 -9
  68. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +17 -6
  69. package/components/common/layout/theHeader/feedback/new/description/Description.vue +1 -0
  70. package/components/common/layout/theHeader/feedback/new/email/Email.vue +1 -1
  71. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +22 -6
  72. package/components/common/layout/theHeader/feedback/new/tabs/Tabs.vue +17 -15
  73. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordNew.vue +1 -1
  74. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +3 -2
  75. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +1 -1
  76. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +1 -1
  77. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +7 -7
  78. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +95 -95
  79. package/components/common/monitor/overview/Overview.vue +14 -28
  80. package/components/common/monitor/overview/OverviewNew.vue +138 -0
  81. package/components/common/monitor/overview/OverviewOld.vue +137 -0
  82. package/components/common/monitor/overview/filters/Filters.vue +35 -103
  83. package/components/common/monitor/overview/filters/FiltersNew.vue +122 -0
  84. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -0
  85. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +1 -1
  86. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +463 -456
  87. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +389 -387
  88. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +8 -0
  89. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +94 -94
  90. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +66 -66
  91. package/components/common/pages/home/headline/Headline.vue +3 -2
  92. package/components/common/pages/home/headline/HeadlineNew.vue +1 -1
  93. package/components/common/pages/home/headline/HeadlineOld.vue +5 -0
  94. package/components/common/pages/home/widgets/vms/VmsNew.vue +1 -1
  95. package/components/common/pages/packages/Packages.vue +208 -0
  96. package/components/common/pages/packages/lib/config/actions.ts +59 -0
  97. package/components/common/pages/packages/lib/models/types.ts +8 -0
  98. package/components/common/pages/packages/tableView/TableView.vue +120 -0
  99. package/components/common/pages/packages/tableView/lib/config/configTable.ts +136 -0
  100. package/components/common/pages/packages/tableView/lib/config/tableKey.ts +14 -0
  101. package/components/common/pages/packages/tableView/lib/models/types.ts +12 -0
  102. package/components/common/pages/shortcuts/Shortcuts.vue +1 -1
  103. package/components/common/pages/tasks/Tasks.vue +23 -8
  104. package/components/common/pages/tasks/table/Table.vue +66 -16
  105. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +27 -10
  106. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +28 -12
  107. package/components/common/pages/tasks/table/lib/config/config.ts +11 -11
  108. package/components/common/portlets/customAttributes/Portlet.vue +4 -4
  109. package/components/common/portlets/tag/TagAddNew.vue +4 -4
  110. package/components/common/select/radio/RadioGroup.vue +3 -3
  111. package/components/common/selectLanguage/SelectLanguage.vue +29 -25
  112. package/components/common/selectLanguage/lib/config/config.ts +1 -0
  113. package/components/common/split/horizontal/HorizontalNew.vue +42 -24
  114. package/components/common/split/horizontal/HorizontalOld.vue +43 -13
  115. package/components/common/vm/actions/add/Add.vue +6 -1
  116. package/components/common/vm/actions/clone/Clone.vue +8 -3
  117. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +4 -0
  118. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +6 -4
  119. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +26 -10
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +12 -4
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +6 -3
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +4 -2
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +6 -4
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +9 -3
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -2
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +87 -24
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +14 -8
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +9 -7
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +0 -4
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +43 -12
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +50 -25
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +5 -7
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +64 -28
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +60 -19
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +11 -4
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +16 -1
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +59 -8
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +60 -7
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +1 -1
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +1 -1
  142. package/components/common/vm/actions/common/lib/config/capabilities.ts +1 -1
  143. package/components/common/vm/actions/editSettings/EditSettings.vue +4 -0
  144. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +2 -0
  145. package/components/common/vm/actions/editSettings/new/New.vue +2 -0
  146. package/components/common/wizards/datastore/add/Add.vue +4 -4
  147. package/components/common/wizards/datastore/add/lib/config/steps.ts +14 -14
  148. package/components/common/wizards/datastore/add/lib/validations.ts +9 -9
  149. package/components/common/wizards/datastore/add/nfs/Nfs.vue +6 -9
  150. package/components/common/wizards/vm/migrate/Migrate.vue +12 -12
  151. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +1 -1
  152. package/composables/useLocal.ts +3 -1
  153. package/composables/useLocalStorage.ts +1 -1
  154. package/lib/models/store/vm/interfaces.ts +11 -0
  155. package/lib/models/table/interfaces.ts +1 -0
  156. package/package.json +3 -3
  157. package/store/tasks/actions.ts +2 -1
@@ -1,205 +1,205 @@
1
- <template>
2
- <div class="wizard-content__container">
3
- <div class="wizard-content wizard-content-port">
4
- <atoms-alert
5
- v-if="isShowErrorMessage"
6
- status="alert-danger"
7
- :items="validationMessagesArray"
8
- test-id="port-properties-alert"
9
- @remove="onHideErrorMessageAlert"
10
- />
11
- <form id="port-properties-form">
12
- <b class="property-label-group">
13
- {{ localization.common.vmKernelPortSettings }}
14
- </b>
15
- <div class="horizontal-flex-container">
16
- <label class="property-label-group">
17
- {{ localization.common.tcpIpStack }}
18
- </label>
19
- <div class="margin-left-property-value-group">
20
- <div class="property-value-group">
21
- {{ localization.common[fieldsValues.tcpIp] }}
22
- </div>
23
- </div>
24
- </div>
25
- <div class="horizontal-flex-container">
26
- <label class="property-label-group">
27
- {{ localization.common.mtu }}
28
- </label>
29
- <div class="margin-left-property-value-group">
30
- <div class="property-value-group tooltip-field-container">
31
- <atoms-tooltip-error :has-error="!!props.errorMessages.mtu">
32
- <template #elem>
33
- <input
34
- id="mtu"
35
- v-model="fieldsValues.mtu"
36
- data-id="mtu-input"
37
- type="number"
38
- name="mtu"
39
- :class="[
40
- 'tooltip-field',
41
- {
42
- 'danger-not-valid': props.errorMessages.mtu,
43
- },
44
- ]"
45
- @click.stop
46
- />
47
- </template>
48
- <template #content>
49
- {{ props.errorMessages.mtu }}
50
- </template>
51
- </atoms-tooltip-error>
52
- </div>
53
- </div>
54
- </div>
55
-
56
- <div class="edit-vmkernel-adapter-section">
57
- <b class="property-label-group">
58
- {{ localization.common.availableServices }}
59
- </b>
60
- <template
61
- v-for="(enabledService, key) in portPropertiesEnabledServices"
62
- :key="enabledService.modelValue"
63
- >
64
- <div class="horizontal-flex-container">
65
- <label class="property-label-group">
66
- {{ enabledService.mainLabel }}
67
- </label>
68
- <div class="margin-left-property-value-group">
69
- <div class="property-value-group tooltip-field-container">
70
- <label>
71
- <input
72
- :id="`property-value-group-${key}`"
73
- v-model="fieldsValues.services[enabledService.modelValue]"
74
- :data-id="enabledService.testId"
75
- type="checkbox"
76
- />
77
- {{ enabledService.label }}
78
- </label>
79
- </div>
80
- </div>
81
- </div>
82
- </template>
83
- </div>
84
- </form>
85
- </div>
86
- </div>
87
- </template>
88
-
89
- <script setup lang="ts">
90
- import type { UI_I_Localization } from '~/lib/models/interfaces'
91
- import {
92
- UI_I_PortPropertiesFields,
93
- UI_I_ModalsInitialData,
94
- UI_I_EditSettingsErrorMessage,
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'
98
- import { validationMessagesArrayFunc } from '~/components/common/diagramMain/modals/lib/utils'
99
-
100
- // Props from up
101
- const props = withDefaults(
102
- defineProps<{
103
- isShowErrorMessageAlert: boolean
104
- initialData?: UI_I_ModalsInitialData
105
- errorMessages: UI_I_EditSettingsErrorMessage
106
- hasErrorMessages?: boolean
107
- }>(),
108
- {
109
- initialData: () => ({}),
110
- }
111
- )
112
-
113
- const validationMessagesArray = computed(() =>
114
- validationMessagesArrayFunc(['mtu'], props.errorMessages)
115
- )
116
-
117
- // UI_I_Localization
118
- const localization = computed<UI_I_Localization>(() => useLocal())
119
-
120
- // Enabled services data with localization
121
- const portPropertiesEnabledServices = computed(() =>
122
- portPropertiesEnabledServicesFunc(localization.value)
123
- )
124
-
125
- // For showing component validation errors on the top of modal
126
- const isShowErrorMessage = computed<boolean>(
127
- () => props.isShowErrorMessageAlert && props.hasErrorMessages
128
- )
129
-
130
- const fieldsValues = ref<UI_I_PortPropertiesFields>(
131
- useDeepCopy({
132
- tcpIp: props.initialData.tcpIp,
133
- mtu: props.initialData.mtu,
134
- services: props.initialData.services,
135
- }) as UI_I_PortPropertiesFields
136
- )
137
-
138
- // Validation
139
- const emits = defineEmits<{
140
- (
141
- event: 'change-error-messages',
142
- errorMessage: string,
143
- fieldName: keyof UI_I_EditSettingsErrorMessage
144
- ): void
145
- (event: 'hide-error-message-alert'): void
146
- (
147
- event: 'change-port-edit-properties-data',
148
- newPortEditPropertiesData: UI_I_PortPropertiesFields
149
- ): void
150
- }>()
151
-
152
- const onHideErrorMessageAlert = (): void => emits('hide-error-message-alert')
153
-
154
- const onChangeData = (data: UI_I_PortPropertiesFields): void =>
155
- emits('change-port-edit-properties-data', data)
156
-
157
- const changeErrorMessage = (
158
- errorMessage: string,
159
- fieldName: keyof UI_I_EditSettingsErrorMessage
160
- ) => emits('change-error-messages', errorMessage, fieldName)
161
-
162
- const messageTexts = (local: UI_I_Localization) => ({
163
- mtu: local.mtuInvalidError,
164
- })
165
-
166
- const setMessageOnChangedField = (
167
- values: number[],
168
- index: number,
169
- name: UI_T_PortPropertiesFieldName,
170
- text: string
171
- ) => {
172
- if (values[index] >= 1280 && values[index] <= 65535) {
173
- changeErrorMessage('', name)
174
- } else {
175
- changeErrorMessage(text, name)
176
- }
177
- }
178
-
179
- watch(
180
- fieldsValues,
181
- (newValues: UI_I_PortPropertiesFields): void => {
182
- setMessageOnChangedField(
183
- [newValues.mtu],
184
- 0,
185
- 'mtu',
186
- messageTexts(localization.value).mtu
187
- )
188
- onChangeData(newValues)
189
- !props.hasErrorMessages && onHideErrorMessageAlert()
190
- },
191
- {
192
- deep: true,
193
- }
194
- )
195
-
196
- onMounted(() => {
197
- onChangeData(fieldsValues.value)
198
- })
199
-
200
- onUnmounted((): void => {
201
- onHideErrorMessageAlert()
202
- })
203
- </script>
204
-
205
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="wizard-content__container">
3
+ <div class="wizard-content wizard-content-port">
4
+ <atoms-alert
5
+ v-if="isShowErrorMessage"
6
+ status="alert-danger"
7
+ :items="validationMessagesArray"
8
+ test-id="port-properties-alert"
9
+ @remove="onHideErrorMessageAlert"
10
+ />
11
+ <form id="port-properties-form">
12
+ <b class="property-label-group">
13
+ {{ localization.common.vmKernelPortSettings }}
14
+ </b>
15
+ <div class="horizontal-flex-container">
16
+ <label class="property-label-group">
17
+ {{ localization.common.tcpIpStack }}
18
+ </label>
19
+ <div class="margin-left-property-value-group">
20
+ <div class="property-value-group">
21
+ {{ localization.common[fieldsValues.tcpIp] }}
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <div class="horizontal-flex-container">
26
+ <label class="property-label-group">
27
+ {{ localization.common.mtu }}
28
+ </label>
29
+ <div class="margin-left-property-value-group">
30
+ <div class="property-value-group tooltip-field-container">
31
+ <atoms-tooltip-error :has-error="!!props.errorMessages.mtu">
32
+ <template #elem>
33
+ <input
34
+ id="mtu"
35
+ v-model="fieldsValues.mtu"
36
+ data-id="mtu-input"
37
+ type="number"
38
+ name="mtu"
39
+ :class="[
40
+ 'tooltip-field',
41
+ {
42
+ 'danger-not-valid': props.errorMessages.mtu,
43
+ },
44
+ ]"
45
+ @click.stop
46
+ />
47
+ </template>
48
+ <template #content>
49
+ {{ props.errorMessages.mtu }}
50
+ </template>
51
+ </atoms-tooltip-error>
52
+ </div>
53
+ </div>
54
+ </div>
55
+
56
+ <div class="edit-vmkernel-adapter-section">
57
+ <b class="property-label-group">
58
+ {{ localization.common.availableServices }}
59
+ </b>
60
+ <template
61
+ v-for="(enabledService, key) in portPropertiesEnabledServices"
62
+ :key="enabledService.modelValue"
63
+ >
64
+ <div class="horizontal-flex-container">
65
+ <label class="property-label-group">
66
+ {{ enabledService.mainLabel }}
67
+ </label>
68
+ <div class="margin-left-property-value-group">
69
+ <div class="property-value-group tooltip-field-container">
70
+ <label>
71
+ <input
72
+ :id="`property-value-group-${key}`"
73
+ v-model="fieldsValues.services[enabledService.modelValue]"
74
+ :data-id="enabledService.testId"
75
+ type="checkbox"
76
+ />
77
+ {{ enabledService.label }}
78
+ </label>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </template>
83
+ </div>
84
+ </form>
85
+ </div>
86
+ </div>
87
+ </template>
88
+
89
+ <script setup lang="ts">
90
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
91
+ import {
92
+ UI_I_PortPropertiesFields,
93
+ UI_I_ModalsInitialData,
94
+ UI_I_EditSettingsErrorMessage,
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'
98
+ import { validationMessagesArrayFunc } from '~/components/common/diagramMain/modals/lib/utils'
99
+
100
+ // Props from up
101
+ const props = withDefaults(
102
+ defineProps<{
103
+ isShowErrorMessageAlert: boolean
104
+ initialData?: UI_I_ModalsInitialData
105
+ errorMessages: UI_I_EditSettingsErrorMessage
106
+ hasErrorMessages?: boolean
107
+ }>(),
108
+ {
109
+ initialData: () => ({}),
110
+ }
111
+ )
112
+
113
+ const validationMessagesArray = computed(() =>
114
+ validationMessagesArrayFunc(['mtu'], props.errorMessages)
115
+ )
116
+
117
+ // UI_I_Localization
118
+ const localization = computed<UI_I_Localization>(() => useLocal())
119
+
120
+ // Enabled services data with localization
121
+ const portPropertiesEnabledServices = computed(() =>
122
+ portPropertiesEnabledServicesFunc(localization.value)
123
+ )
124
+
125
+ // For showing component validation errors on the top of modal
126
+ const isShowErrorMessage = computed<boolean>(
127
+ () => props.isShowErrorMessageAlert && props.hasErrorMessages
128
+ )
129
+
130
+ const fieldsValues = ref<UI_I_PortPropertiesFields>(
131
+ useDeepCopy({
132
+ tcpIp: props.initialData.tcpIp,
133
+ mtu: props.initialData.mtu,
134
+ services: props.initialData.services,
135
+ }) as UI_I_PortPropertiesFields
136
+ )
137
+
138
+ // Validation
139
+ const emits = defineEmits<{
140
+ (
141
+ event: 'change-error-messages',
142
+ errorMessage: string,
143
+ fieldName: keyof UI_I_EditSettingsErrorMessage
144
+ ): void
145
+ (event: 'hide-error-message-alert'): void
146
+ (
147
+ event: 'change-port-edit-properties-data',
148
+ newPortEditPropertiesData: UI_I_PortPropertiesFields
149
+ ): void
150
+ }>()
151
+
152
+ const onHideErrorMessageAlert = (): void => emits('hide-error-message-alert')
153
+
154
+ const onChangeData = (data: UI_I_PortPropertiesFields): void =>
155
+ emits('change-port-edit-properties-data', data)
156
+
157
+ const changeErrorMessage = (
158
+ errorMessage: string,
159
+ fieldName: keyof UI_I_EditSettingsErrorMessage
160
+ ) => emits('change-error-messages', errorMessage, fieldName)
161
+
162
+ const messageTexts = (local: UI_I_Localization) => ({
163
+ mtu: local.mtuInvalidError,
164
+ })
165
+
166
+ const setMessageOnChangedField = (
167
+ values: number[],
168
+ index: number,
169
+ name: UI_T_PortPropertiesFieldName,
170
+ text: string
171
+ ) => {
172
+ if (values[index] >= 1280 && values[index] <= 65535) {
173
+ changeErrorMessage('', name)
174
+ } else {
175
+ changeErrorMessage(text, name)
176
+ }
177
+ }
178
+
179
+ watch(
180
+ fieldsValues,
181
+ (newValues: UI_I_PortPropertiesFields): void => {
182
+ setMessageOnChangedField(
183
+ [newValues.mtu],
184
+ 0,
185
+ 'mtu',
186
+ messageTexts(localization.value).mtu
187
+ )
188
+ onChangeData(newValues)
189
+ !props.hasErrorMessages && onHideErrorMessageAlert()
190
+ },
191
+ {
192
+ deep: true,
193
+ }
194
+ )
195
+
196
+ onMounted(() => {
197
+ onChangeData(fieldsValues.value)
198
+ })
199
+
200
+ onUnmounted((): void => {
201
+ onHideErrorMessageAlert()
202
+ })
203
+ </script>
204
+
205
+ <style scoped lang="scss"></style>
@@ -1,23 +1,23 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_NavigationItem } from '~/components/common/diagramMain/lib/models/interfaces'
3
-
4
- export const switchMainNavigationFunc = (
5
- localization: UI_I_Localization,
6
- testId: string
7
- ): UI_I_NavigationItem[] => [
8
- {
9
- text: localization.common.migrateVmKernelAdapter,
10
- value: 'migrate-vmkernel-adapter',
11
- testId: `${testId}-migrate-vm-kernel-adapter`,
12
- },
13
- {
14
- text: localization.common.viewSettings,
15
- value: 'switch-view-settings',
16
- testId: `${testId}-view-settings`,
17
- },
18
- {
19
- text: localization.common.remove,
20
- value: 'switch-remove',
21
- testId: `${testId}-remove`,
22
- },
23
- ]
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_NavigationItem } from '~/components/common/diagramMain/lib/models/interfaces'
3
+
4
+ export const switchMainNavigationFunc = (
5
+ localization: UI_I_Localization,
6
+ testId: string
7
+ ): UI_I_NavigationItem[] => [
8
+ {
9
+ text: localization.common.migrateVmKernelAdapter,
10
+ value: 'migrate-vmkernel-adapter',
11
+ testId: `${testId}-migrate-vm-kernel-adapter`,
12
+ },
13
+ {
14
+ text: localization.common.viewSettings,
15
+ value: 'switch-view-settings',
16
+ testId: `${testId}-view-settings`,
17
+ },
18
+ {
19
+ text: localization.common.remove,
20
+ value: 'switch-remove',
21
+ testId: `${testId}-remove`,
22
+ },
23
+ ]