bfg-common 1.6.63 → 1.6.64

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 (186) hide show
  1. package/assets/localization/local_be.json +5 -1
  2. package/assets/localization/local_en.json +15 -11
  3. package/assets/localization/local_hy.json +5 -1
  4. package/assets/localization/local_kk.json +5 -1
  5. package/assets/localization/local_ru.json +5 -1
  6. package/assets/localization/local_zh.json +5 -1
  7. package/components/atoms/dropdown/dropdown/Dropdown.vue +8 -10
  8. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +0 -1
  9. package/components/common/adapterManager/AdapterManager.vue +473 -473
  10. package/components/common/adapterManager/AdapterManagerNew.vue +86 -0
  11. package/components/common/adapterManager/AdapterManagerOld.vue +498 -498
  12. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -70
  13. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +110 -110
  14. package/components/common/adapterManager/addAdapterModal/AddAdapterModalOld.vue +531 -531
  15. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -32
  16. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +37 -37
  17. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalOld.vue +73 -73
  18. package/components/common/adapterManager/lib/config/index.ts +19 -19
  19. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -31
  20. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -34
  21. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalOld.vue +57 -57
  22. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -31
  23. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -34
  24. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue +57 -57
  25. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +34 -34
  26. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +41 -41
  27. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  28. package/components/common/adapterManager/ui/actions/bar/Bar.vue +2 -0
  29. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +3 -2
  30. package/components/common/adapterManager/ui/actions/bar/BarOld.vue +95 -95
  31. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -28
  32. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +76 -76
  33. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonOld.vue +33 -33
  34. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -28
  35. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +77 -77
  36. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonOld.vue +33 -33
  37. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -24
  38. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +18 -18
  39. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterOld.vue +38 -38
  40. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -31
  41. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +51 -51
  42. package/components/common/adapterManager/ui/secondTitle/SecondTitleOld.vue +35 -35
  43. package/components/common/adapterManager/ui/table/Table.vue +88 -88
  44. package/components/common/adapterManager/ui/table/TableNew.vue +137 -137
  45. package/components/common/adapterManager/ui/table/TableOld.vue +141 -141
  46. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -44
  47. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +187 -187
  48. package/components/common/adapterManager/ui/table/adapters/AdaptersOld.vue +87 -87
  49. package/components/common/adapterManager/ui/table/header/Header.vue +57 -57
  50. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +81 -81
  51. package/components/common/adapterManager/ui/table/header/HeaderOld.vue +79 -79
  52. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  53. package/components/common/diagramMain/Diagram.vue +459 -459
  54. package/components/common/diagramMain/DiagramMain.vue +929 -929
  55. package/components/common/diagramMain/adapter/Adapter.vue +123 -123
  56. package/components/common/diagramMain/adapter/AdapterItem.vue +438 -438
  57. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  58. package/components/common/diagramMain/adapter/Contents.vue +212 -212
  59. package/components/common/diagramMain/adapter/Lines.vue +81 -81
  60. package/components/common/diagramMain/adapter/block/Block.vue +27 -27
  61. package/components/common/diagramMain/adapter/block/BlockNew.vue +58 -58
  62. package/components/common/diagramMain/adapter/block/BlockOld.vue +50 -50
  63. package/components/common/diagramMain/adapter/secondBlock/SecondBlock.vue +27 -27
  64. package/components/common/diagramMain/adapter/secondBlock/SecondBlockNew.vue +60 -60
  65. package/components/common/diagramMain/adapter/secondBlock/SecondBlockOld.vue +51 -51
  66. package/components/common/diagramMain/header/Header.vue +49 -49
  67. package/components/common/diagramMain/header/HeaderNew.vue +155 -155
  68. package/components/common/diagramMain/header/HeaderOld.vue +234 -234
  69. package/components/common/diagramMain/highlights/Highlights.vue +151 -151
  70. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  71. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  72. package/components/common/diagramMain/lib/config/index.ts +81 -81
  73. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  74. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  75. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  76. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  77. package/components/common/diagramMain/lib/models/types.ts +21 -21
  78. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  79. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  80. package/components/common/diagramMain/modals/Modals.vue +483 -483
  81. package/components/common/diagramMain/modals/UnsavedChangesModal.vue +32 -0
  82. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +104 -102
  83. package/components/common/diagramMain/modals/editSettings/EditSettingsNew.vue +285 -0
  84. package/components/common/diagramMain/modals/editSettings/EditSettingsOld.vue +254 -0
  85. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModal.vue +31 -0
  86. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModalNew.vue +82 -0
  87. package/components/common/diagramMain/modals/editSettings/{ConfirmTeamingSettingsModal.vue → confirmTeamingSettingsModal/ConfirmTeamingSettingsModalOld.vue} +2 -5
  88. package/components/common/diagramMain/modals/editSettings/lib/config/config.ts +15 -0
  89. package/components/common/diagramMain/modals/editSettings/lib/models/interfaces.ts +6 -0
  90. package/components/common/diagramMain/modals/editSettings/lib/utils/utils.ts +177 -0
  91. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModal.vue +137 -0
  92. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModalNew.vue +91 -0
  93. package/components/common/diagramMain/modals/editSettings/{EditSettingsModal.vue → modal/EditSettingsModalOld.vue} +12 -51
  94. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkProperties.vue +158 -0
  95. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkPropertiesNew.vue +262 -0
  96. package/components/common/diagramMain/modals/editSettings/tabs/{NetworkProperties.vue → networkProperties/NetworkPropertiesOld.vue} +12 -113
  97. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettings.vue +192 -0
  98. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettingsNew.vue +388 -0
  99. package/components/common/diagramMain/modals/editSettings/tabs/port/{IpvFourSettings.vue → ipvFourSettings/IpvFourSettingsOld.vue} +11 -152
  100. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortProperties.vue +139 -0
  101. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortPropertiesNew.vue +286 -0
  102. package/components/common/diagramMain/modals/editSettings/tabs/port/{PortProperties.vue → portProperties/PortPropertiesOld.vue} +12 -103
  103. package/components/common/diagramMain/modals/editSettings/tabs/security/Security.vue +209 -0
  104. package/components/common/diagramMain/modals/editSettings/tabs/security/SecurityNew.vue +233 -0
  105. package/components/common/diagramMain/modals/editSettings/tabs/{Security.vue → security/SecurityOld.vue} +25 -48
  106. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchProperties.vue +128 -0
  107. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesNew.vue +235 -0
  108. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesOld.vue +87 -0
  109. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailover.vue +99 -0
  110. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailoverNew.vue +319 -0
  111. package/components/common/diagramMain/modals/editSettings/tabs/{TeamingFailover.vue → teamingFailover/TeamingFailoverOld.vue} +11 -48
  112. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShaping.vue +173 -0
  113. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShapingNew.vue +348 -0
  114. package/components/common/diagramMain/modals/editSettings/tabs/{TrafficShaping.vue → trafficShaping/TrafficShapingOld.vue} +12 -134
  115. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  116. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +66 -66
  117. package/components/common/diagramMain/modals/lib/config/index.ts +56 -56
  118. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  119. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  120. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  121. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  122. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  123. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  124. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  125. package/components/common/diagramMain/modals/lib/utils/index.ts +34 -4
  126. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  127. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  128. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  129. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  130. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  131. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  132. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  133. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  134. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  135. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  136. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  137. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  138. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  139. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  140. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  141. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  142. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  143. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  144. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  145. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  146. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  147. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  148. package/components/common/diagramMain/network/Contents.vue +497 -497
  149. package/components/common/diagramMain/network/Lines.vue +107 -107
  150. package/components/common/diagramMain/network/Network.vue +141 -141
  151. package/components/common/diagramMain/network/block/Block.vue +37 -37
  152. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  153. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  154. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  155. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  156. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  157. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  158. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  159. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  160. package/components/common/diagramMain/port/Port.vue +580 -580
  161. package/components/common/diagramMain/port/Ports.vue +47 -47
  162. package/components/common/diagramMain/skeleton/Header.vue +31 -31
  163. package/components/common/diagramMain/skeleton/Switch.vue +75 -75
  164. package/components/common/diagramMain/switch/Switch.vue +180 -180
  165. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  166. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  167. package/components/common/monitor/utilization/New.vue +5 -0
  168. package/components/common/monitor/utilization/Old.vue +24 -65
  169. package/components/common/monitor/utilization/Utilization.vue +14 -22
  170. package/components/common/monitor/utilization/infoBlock/InfoBlock.vue +2 -125
  171. package/components/common/monitor/utilization/infoBlock/New.vue +3 -183
  172. package/components/common/monitor/utilization/infoBlock/Old.vue +66 -71
  173. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  174. package/components/common/monitor/utilization/lib/models/interfaces.ts +12 -14
  175. package/components/common/monitor/utilization/lib/utils/index.ts +6 -64
  176. package/package.json +2 -2
  177. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +0 -164
  178. package/components/common/monitor/utilization/infoBlock/progressBar/New.vue +0 -64
  179. package/components/common/monitor/utilization/infoBlock/progressBar/Old.vue +0 -65
  180. package/components/common/monitor/utilization/infoBlock/progressBar/ProgressBar.vue +0 -84
  181. package/components/common/monitor/utilization/infoBlock/progressBar/lib/models/interfaces.ts +0 -10
  182. package/components/common/monitor/utilization/lib/models/types.ts +0 -1
  183. package/components/common/monitor/utilization/new/New.vue +0 -167
  184. package/components/common/monitor/utilization/new/Portlet.vue +0 -42
  185. package/components/common/monitor/utilization/new/Skeleton.vue +0 -120
  186. package/components/common/monitor/utilization/new/lib/utils/newPortlet.ts +0 -7
@@ -0,0 +1,262 @@
1
+ <template>
2
+ <div class="content">
3
+ <div class="content-fields">
4
+ <div class="content-fields-title">
5
+ {{ localization.common.properties }}
6
+ </div>
7
+
8
+ <div v-if="props.isShowErrorMessage" class="content-fields-alert">
9
+ <div
10
+ v-for="messageObject in validationMessagesArray"
11
+ :key="messageObject.key"
12
+ class="content-fields-alert-item"
13
+ >
14
+ <ui-alert
15
+ :messages="[messageObject.message]"
16
+ test-id="network-properties-alert"
17
+ size="md"
18
+ @hide="onHideMessage(messageObject.key)"
19
+ />
20
+ </div>
21
+ </div>
22
+
23
+ <div class="content-fields-block">
24
+ <div class="col">
25
+ <h4 class="content-subtitle col-left">
26
+ {{ localization.common.networkLabel }}
27
+ </h4>
28
+ <div class="col-right input">
29
+ <ui-input
30
+ id="network-label"
31
+ v-model="fieldsValues.networkLabel"
32
+ test-id="network-label"
33
+ type="text"
34
+ :placeholder="localization.common.networkLabel"
35
+ size="md"
36
+ :error="props.errorMessages.networkLabel"
37
+ />
38
+ </div>
39
+ </div>
40
+
41
+ <ui-line margin="16px 0" />
42
+
43
+ <div class="col">
44
+ <h4 class="content-subtitle col-left">
45
+ {{ localization.common.vlanId }}
46
+ </h4>
47
+ <div class="col-right combobox">
48
+ <ui-combobox
49
+ v-model="fieldsValues.vlanId"
50
+ :items="vlanIdSelectDataLocal"
51
+ select-width="100%"
52
+ show-text
53
+ test-id="vlan-id-combobox"
54
+ :placeholder="localization.common.vlanId"
55
+ :error="!!props.errorMessages.vlanId"
56
+ :error-text="props.errorMessages.vlanId"
57
+ error-type="tooltip"
58
+ width="auto"
59
+ @change="selectVlanId"
60
+ />
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </template>
67
+
68
+ <script setup lang="ts">
69
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
70
+ import type {
71
+ UI_I_EditSettingsErrorMessage,
72
+ UI_I_PropertiesFields,
73
+ } from '~/components/common/diagramMain/lib/models/interfaces'
74
+ import type { UI_I_VlanIdData } from '~/components/common/wizards/network/add/lib/models/interfaces'
75
+ import { vlanIdSelectDataFunc } from '~/components/common/wizards/network/add/lib/config/config'
76
+ import { validationMessagesArrayNewFunc } from '~/components/common/diagramMain/modals/lib/utils'
77
+
78
+ const props = defineProps<{
79
+ isShowErrorMessage: boolean
80
+ errorMessages: UI_I_EditSettingsErrorMessage
81
+ vlanIdSelectData: UI_I_VlanIdData[]
82
+ flagSendData: boolean
83
+ }>()
84
+
85
+ const emits = defineEmits<{
86
+ (event: 'hide-error-message-alert'): void
87
+ }>()
88
+
89
+ const localization = computed<UI_I_Localization>(() => useLocal())
90
+
91
+ const fieldsValues = defineModel<UI_I_PropertiesFields>()
92
+
93
+ const vlanIdSelectDataLocal = computed<UI_I_Localization>(() =>
94
+ vlanIdSelectDataFunc(localization.value)
95
+ )
96
+
97
+ const selectVlanId = (id: string): void => {
98
+ fieldsValues.value.vlanId = id
99
+ }
100
+
101
+ const keys = ref<keyof UI_I_EditSettingsErrorMessage>([
102
+ 'networkLabel',
103
+ 'vlanId',
104
+ ])
105
+
106
+ const validationMessagesArray = computed(() =>
107
+ validationMessagesArrayNewFunc(keys.value, props.errorMessages)
108
+ )
109
+
110
+ const onHideMessage = (
111
+ messageKey: keyof UI_I_EditSettingsErrorMessage
112
+ ): void => {
113
+ keys.value = keys.value
114
+ .filter((key) => key !== messageKey)
115
+ .filter((key) => props.errorMessages[key])
116
+
117
+ if (keys.value.length === 0) {
118
+ emits('hide-error-message-alert')
119
+ keys.value = ['networkLabel', 'vlanId']
120
+ }
121
+ }
122
+
123
+ watch(
124
+ () => props.flagSendData,
125
+ () => {
126
+ keys.value = ['networkLabel', 'vlanId']
127
+ }
128
+ )
129
+ </script>
130
+
131
+ <style scoped lang="scss">
132
+ .content {
133
+ width: 100%;
134
+
135
+ &-fields-title {
136
+ font-weight: 400;
137
+ font-size: 20px;
138
+ line-height: 24px;
139
+ letter-spacing: 0;
140
+ color: var(--title-form-first-color);
141
+ margin-bottom: 16px;
142
+ }
143
+
144
+ &-title {
145
+ display: block;
146
+ margin: 16px 0;
147
+ font-weight: 500;
148
+ font-size: 16px;
149
+ line-height: 20px;
150
+ letter-spacing: 0;
151
+ color: var(--title-form-first-color);
152
+ }
153
+
154
+ &-subtitle {
155
+ font-weight: 400;
156
+ font-size: 13px;
157
+ line-height: 16px;
158
+ letter-spacing: 0;
159
+ vertical-align: middle;
160
+ color: var(--title-form-first-color);
161
+ }
162
+
163
+ .col {
164
+ display: flex;
165
+ column-gap: 16px;
166
+
167
+ &-left {
168
+ padding-top: 10px;
169
+ width: calc((100% - 8px) / 3);
170
+ text-overflow: ellipsis;
171
+ white-space: nowrap;
172
+ overflow: hidden;
173
+ }
174
+
175
+ &-right {
176
+ width: calc(((100% - 8px) / 3) * 2);
177
+
178
+ &.input {
179
+ max-width: 400px;
180
+ }
181
+
182
+ &.combobox {
183
+ max-width: 200px;
184
+ }
185
+ }
186
+ }
187
+
188
+ &-fields {
189
+ &-alert {
190
+ margin-bottom: 8px;
191
+
192
+ &-item:not(:last-of-type) {
193
+ margin-bottom: 12px;
194
+ }
195
+ }
196
+
197
+ &-block {
198
+ padding-top: 8px;
199
+ }
200
+
201
+ &-col {
202
+ display: flex;
203
+ column-gap: 12px;
204
+
205
+ &-left {
206
+ width: 60%;
207
+ }
208
+
209
+ &-right {
210
+ width: 40%;
211
+
212
+ &.input {
213
+ max-width: 400px;
214
+ }
215
+
216
+ &.combobox {
217
+ max-width: 200px;
218
+ }
219
+ }
220
+ }
221
+ }
222
+ }
223
+
224
+ @media (max-width: 896px) {
225
+ .content-fields {
226
+ &-col {
227
+ display: flex;
228
+ row-gap: 12px;
229
+ flex-direction: column;
230
+
231
+ &-left {
232
+ width: 100%;
233
+ }
234
+
235
+ &-right {
236
+ width: 100%;
237
+
238
+ &.input {
239
+ max-width: 400px;
240
+ }
241
+
242
+ &.combobox {
243
+ max-width: 200px;
244
+ }
245
+ }
246
+ }
247
+ }
248
+ }
249
+
250
+ :deep(.combobox-input) {
251
+ width: 100%;
252
+ height: 36px;
253
+ }
254
+ :deep(.ui-select-toggle-button.md) {
255
+ padding: 0 8px 0 12px;
256
+ }
257
+ :deep(.ui-checkbox-label) {
258
+ &.md {
259
+ height: unset;
260
+ }
261
+ }
262
+ </style>
@@ -2,11 +2,11 @@
2
2
  <div class="wizard-content__container">
3
3
  <div class="wizard-content">
4
4
  <atoms-alert
5
- v-if="isShowErrorMessage"
5
+ v-if="props.isShowErrorMessage"
6
6
  :items="validationMessagesArray"
7
7
  status="alert-danger"
8
8
  test-id="network-properties-alert"
9
- @remove="onHideErrorMessageAlert"
9
+ @remove="emits('hide-error-message-alert')"
10
10
  />
11
11
  <form id="network-properties-form">
12
12
  <div class="horizontal-flex-container">
@@ -53,7 +53,7 @@
53
53
  <div class="flex-align-center">
54
54
  <atoms-combobox
55
55
  v-model="fieldsValues.vlanId"
56
- :items="vlanIdSelectDataLocal"
56
+ :items="props.vlanIdSelectData"
57
57
  test-id="vlan-id-select-combobox"
58
58
  @click.stop
59
59
  @select="selectVlanId"
@@ -87,132 +87,31 @@
87
87
  <script setup lang="ts">
88
88
  import type { UI_I_Localization } from '~/lib/models/interfaces'
89
89
  import type {
90
- UI_I_ModalsInitialData,
91
90
  UI_I_EditSettingsErrorMessage,
92
91
  UI_I_PropertiesFields,
93
92
  } from '~/components/common/diagramMain/lib/models/interfaces'
94
- import type { UI_T_PropertiesFieldName } from '~/components/common/diagramMain/lib/models/types'
93
+ import type { UI_I_VlanIdData } from '~/components/common/wizards/network/add/lib/models/interfaces'
95
94
  import { validationMessagesArrayFunc } from '~/components/common/diagramMain/modals/lib/utils'
96
- import { vlanIdSelectDataFunc } from '~/components/common/wizards/network/add/lib/config/config'
97
95
 
98
- // Props from up
99
- const props = withDefaults(
100
- defineProps<{
101
- isShowErrorMessageAlert: boolean
102
- errorMessages: UI_I_EditSettingsErrorMessage
103
- networkAlreadyExists: boolean
104
- initialData?: UI_I_ModalsInitialData
105
- hasErrorMessages?: boolean
106
- }>(),
107
- {
108
- initialData: () => ({}),
109
- hasErrorMessages: undefined,
110
- }
111
- )
96
+ const props = defineProps<{
97
+ isShowErrorMessage: boolean
98
+ errorMessages: UI_I_EditSettingsErrorMessage
99
+ vlanIdSelectData: UI_I_VlanIdData[]
100
+ }>()
112
101
 
113
- // Validation
114
102
  const emits = defineEmits<{
115
- (
116
- event: 'change-error-messages',
117
- errorMessage: string,
118
- fieldName: keyof UI_I_EditSettingsErrorMessage
119
- ): void
120
103
  (event: 'hide-error-message-alert'): void
121
- (
122
- event: 'change-edit-properties-data',
123
- propertiesData: UI_I_PropertiesFields
124
- ): void
125
104
  }>()
126
105
 
127
- const validationMessagesArray = computed(() =>
128
- validationMessagesArrayFunc(['networkLabel', 'vlanId'], props.errorMessages)
129
- )
130
-
131
- // UI_I_Localization
132
106
  const localization = computed<UI_I_Localization>(() => useLocal())
133
- const vlanIdSelectDataLocal = computed<UI_I_Localization>(() =>
134
- vlanIdSelectDataFunc(localization.value)
135
- )
136
107
 
137
- // For showing component validation errors on the top of modal
138
- const isShowErrorMessage = computed<boolean>(
139
- () => props.isShowErrorMessageAlert && props.hasErrorMessages
140
- )
141
-
142
- const fieldsValues = ref<UI_I_PropertiesFields>(
143
- useDeepCopy({
144
- vlanId: props.initialData.vlanId || `${localization.value.common.none2} (0)`,
145
- networkLabel: props.initialData.networkLabel || 'Network',
146
- })
147
- )
108
+ const fieldsValues = defineModel<UI_I_PropertiesFields>()
148
109
 
149
110
  const selectVlanId = (id: string): void => {
150
111
  fieldsValues.value.vlanId = id
151
112
  }
152
113
 
153
- const onHideErrorMessageAlert = () => emits('hide-error-message-alert')
154
-
155
- const onChangeData = (data: UI_I_PropertiesFields) =>
156
- emits('change-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
- vlanId: local.common.vlanIdInvalidMessage,
165
- networkLabel: local.common.networkLabelInvalidMessage,
166
- })
167
-
168
- const isNumberInRange = (value: number | string, down: number, up: number) =>
169
- isNaN(Number(value)) || Number(value) < down || Number(value) > up
170
-
171
- const setMessageOnChangedField = (
172
- values: string | number,
173
- name: UI_T_PropertiesFieldName,
174
- text: string
175
- ) => {
176
- if (name === 'networkLabel' && !values) {
177
- changeErrorMessage(text, name)
178
- return
179
- } else if (name === 'networkLabel' && props.networkAlreadyExists) return
180
-
181
- if (
182
- name === 'vlanId' &&
183
- values !== `${localization.value.common.none2} (0)` &&
184
- values !== `${localization.value.common.all} (4095)` &&
185
- (isNumberInRange(values, 0, 4095) || values === '')
186
- ) {
187
- changeErrorMessage(text, name)
188
- return
189
- }
190
- changeErrorMessage('', name)
191
- }
192
-
193
- watch(
194
- fieldsValues,
195
- (newValues: UI_I_PropertiesFields) => {
196
- setMessageOnChangedField(
197
- newValues.vlanId,
198
- 'vlanId',
199
- messageTexts(localization.value).vlanId
200
- )
201
- setMessageOnChangedField(
202
- newValues.networkLabel,
203
- 'networkLabel',
204
- messageTexts(localization.value).networkLabel
205
- )
206
- onChangeData(newValues)
207
- !props.hasErrorMessages && onHideErrorMessageAlert()
208
- },
209
- { deep: true }
114
+ const validationMessagesArray = computed(() =>
115
+ validationMessagesArrayFunc(['networkLabel', 'vlanId'], props.errorMessages)
210
116
  )
211
-
212
- onMounted(() => {
213
- onChangeData(fieldsValues.value)
214
- })
215
- onUnmounted(() => {
216
- onHideErrorMessageAlert()
217
- })
218
117
  </script>
@@ -0,0 +1,192 @@
1
+ <template>
2
+ <div class="ipv-four-settings">
3
+ <component
4
+ :is="currentComponent"
5
+ v-model="fieldsValues"
6
+ :is-show-error-message="isShowErrorMessage"
7
+ :error-messages="props.errorMessages"
8
+ :flag-send-data="props.flagSendData"
9
+ @hide-error-message-alert="onHideErrorMessageAlert"
10
+ />
11
+ </div>
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
16
+ import type {
17
+ UI_I_EditSettingsErrorMessage,
18
+ UI_I_IpvFourSettingsFields,
19
+ UI_I_ModalsInitialData,
20
+ } from '~/components/common/diagramMain/lib/models/interfaces'
21
+ import type { UI_T_IpFourSettingsFieldName } from '~/components/common/wizards/network/add/lib/models/types'
22
+
23
+ const props = withDefaults(
24
+ defineProps<{
25
+ isShowErrorMessageAlert: boolean | boolean[]
26
+ errorMessages: UI_I_EditSettingsErrorMessage
27
+ initialData?: UI_I_ModalsInitialData
28
+ hasErrorMessages?: boolean
29
+ flagSendData?: boolean
30
+ }>(),
31
+ {
32
+ initialData: () => ({}),
33
+ hasErrorMessages: undefined,
34
+ flagSendData: false,
35
+ }
36
+ )
37
+
38
+ const emits = defineEmits<{
39
+ (
40
+ event: 'change-error-messages',
41
+ errorMessage: string,
42
+ fieldName: keyof UI_I_EditSettingsErrorMessage
43
+ ): void
44
+ (event: 'hide-error-message-alert'): void
45
+ (
46
+ event: 'change-port-ipv-four-data',
47
+ newPortEditIpvFourData: UI_I_IpvFourSettingsFields
48
+ ): void
49
+ }>()
50
+
51
+ const { $store }: any = useNuxtApp()
52
+
53
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
54
+
55
+ const currentComponent = computed(() =>
56
+ isNewView.value
57
+ ? defineAsyncComponent(() => import('./IpvFourSettingsNew.vue'))
58
+ : defineAsyncComponent(() => import('./IpvFourSettingsOld.vue'))
59
+ )
60
+
61
+ const localization = computed<UI_I_Localization>(() => useLocal())
62
+
63
+ const isShowErrorMessage = computed<boolean>(
64
+ () =>
65
+ props.hasErrorMessages &&
66
+ (isNewView.value
67
+ ? props.isShowErrorMessageAlert[1]
68
+ : props.isShowErrorMessageAlert)
69
+ )
70
+
71
+ const fieldsValues = ref<UI_I_IpvFourSettingsFields>(
72
+ useDeepCopy(props.initialData.tcpConfig)
73
+ )
74
+
75
+ const onHideErrorMessageAlert = (): void => emits('hide-error-message-alert')
76
+
77
+ const onChangeData = (data: UI_I_IpvFourSettingsFields) =>
78
+ emits('change-port-ipv-four-data', data)
79
+
80
+ const changeErrorMessage = (
81
+ errorMessage: string,
82
+ fieldName: keyof UI_I_EditSettingsErrorMessage
83
+ ) => emits('change-error-messages', errorMessage, fieldName)
84
+
85
+ const checkIfValidIP = (str: string) => {
86
+ const regexExp =
87
+ /^(([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
88
+
89
+ return regexExp.test(str)
90
+ }
91
+
92
+ const messageTexts = (local: UI_I_Localization) => ({
93
+ ipFourAddressEmpty: local.common.ipFourAddressEmpty,
94
+ subnetMaskEmpty: local.common.subnetMaskEmpty,
95
+ defaultGatewayEmpty: local.common.defaultGatewayEmpty,
96
+ ipFourAddressInvalid: local.common.ipFourAddressInvalid,
97
+ subnetMaskInvalid: local.common.subnetMaskInvalid,
98
+ defaultGatewayInvalid: local.common.defaultGatewayInvalid,
99
+ })
100
+
101
+ const setMessageOnChangedField = (
102
+ values: string,
103
+ name: UI_T_IpFourSettingsFieldName,
104
+ ipSettings: string,
105
+ override?: boolean
106
+ ) => {
107
+ if (ipSettings === '0') {
108
+ changeErrorMessage('', name)
109
+ return
110
+ }
111
+
112
+ if (name === 'ipFourAddress') {
113
+ if (!values) {
114
+ changeErrorMessage(messageTexts(localization.value)[`${name}Empty`], name)
115
+ return
116
+ }
117
+ if (!checkIfValidIP(values)) {
118
+ changeErrorMessage(
119
+ messageTexts(localization.value)[`${name}Invalid`],
120
+ name
121
+ )
122
+ return
123
+ }
124
+ }
125
+ if (name === 'subnetMask') {
126
+ if (!values) {
127
+ changeErrorMessage(messageTexts(localization.value)[`${name}Empty`], name)
128
+ return
129
+ }
130
+ if (!checkIfValidIP(values)) {
131
+ changeErrorMessage(
132
+ messageTexts(localization.value)[`${name}Invalid`],
133
+ name
134
+ )
135
+ return
136
+ }
137
+ }
138
+ if (name === 'defaultGateway' && override) {
139
+ if (!values) {
140
+ changeErrorMessage(messageTexts(localization.value)[`${name}Empty`], name)
141
+ return
142
+ }
143
+ if (!checkIfValidIP(values)) {
144
+ changeErrorMessage(
145
+ messageTexts(localization.value)[`${name}Invalid`],
146
+ name
147
+ )
148
+ return
149
+ }
150
+ }
151
+ changeErrorMessage('', name)
152
+ }
153
+
154
+ watch(
155
+ fieldsValues,
156
+ (newValues: UI_I_IpvFourSettingsFields) => {
157
+ setMessageOnChangedField(
158
+ newValues.ipv4Address,
159
+ 'ipFourAddress',
160
+ newValues.ipv4Settings
161
+ )
162
+ setMessageOnChangedField(
163
+ newValues.subnetMask,
164
+ 'subnetMask',
165
+ newValues.ipv4Settings
166
+ )
167
+ setMessageOnChangedField(
168
+ newValues.defaultGateway.value,
169
+ 'defaultGateway',
170
+ newValues.ipv4Settings,
171
+ newValues.defaultGateway.checked
172
+ )
173
+ onChangeData(newValues)
174
+ !props.hasErrorMessages && onHideErrorMessageAlert()
175
+ },
176
+ { deep: true }
177
+ )
178
+
179
+ onMounted(() => {
180
+ onChangeData(fieldsValues.value)
181
+ })
182
+
183
+ onUnmounted(() => {
184
+ onHideErrorMessageAlert()
185
+ })
186
+ </script>
187
+
188
+ <style scoped lang="scss">
189
+ .ipv-four-settings {
190
+ width: 100%;
191
+ }
192
+ </style>