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,137 @@
1
+ <template>
2
+ <div>
3
+ <component
4
+ :is="currentComponent"
5
+ v-model:network-edit-data="networkEditData"
6
+ :width="props.width"
7
+ :height="props.height"
8
+ :show="props.show"
9
+ :title="props.title"
10
+ :modal-title="title"
11
+ :modal-loading="props.isEditModalLoading"
12
+ :is-dark-mode="props.isDarkMode"
13
+ :items="props.items"
14
+ :view-name="props.viewName"
15
+ :initial-data="props.initialData"
16
+ :adapters="props.adapters"
17
+ :flag-send-data="flagSendData"
18
+ @change-flag-send-data="onSendDataRequest"
19
+ @send-edit-data="onSendData"
20
+ @change-edit-fields-data="onChangeEditFieldsData"
21
+ @check-network-label="onCheckNetworkLabel"
22
+ @hide="onHideEditSettingsModal('close')"
23
+ @submit="onSendDataRequest"
24
+ />
25
+ <common-diagram-main-modals-unsaved-changes-modal
26
+ :is-show="isShowUnsavedChangesModal"
27
+ @hide="isShowUnsavedChangesModal = false"
28
+ @leave="emits('hide')"
29
+ />
30
+ </div>
31
+ </template>
32
+
33
+ <script setup lang="ts">
34
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
35
+ import type { UI_I_EditFieldsData } from '~/components/common/diagramMain/lib/models/interfaces'
36
+ import type { UI_I_PortViewSettingsModalProps } from '~/components/common/diagramMain/modals/editSettings/lib/models/interfaces'
37
+ import { compareDataFunc } from '~/components/common/diagramMain/modals/editSettings/lib/utils/utils'
38
+
39
+ const props = withDefaults(defineProps<UI_I_PortViewSettingsModalProps>(), {
40
+ initialData: () => ({}),
41
+ title: 'Network',
42
+ adapters: () => ({
43
+ total_pages: 0,
44
+ total_items: 0,
45
+ items: [],
46
+ }),
47
+ isEditModalLoading: false,
48
+ })
49
+
50
+ const emits = defineEmits<{
51
+ (event: 'hide'): void
52
+ (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
53
+ (
54
+ event: 'send-edit-data',
55
+ type: string,
56
+ hideModal: () => void,
57
+ id?: string
58
+ ): void
59
+ (
60
+ event: 'check-network-label',
61
+ label: string,
62
+ sendMessage: (message: string) => void
63
+ ): void
64
+ }>()
65
+
66
+ const localization = computed<UI_I_Localization>(() => useLocal())
67
+
68
+ const { $store }: any = useNuxtApp()
69
+
70
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
71
+
72
+ const currentComponent = computed(() =>
73
+ isNewView.value
74
+ ? defineAsyncComponent(() => import('./EditSettingsModalNew.vue'))
75
+ : defineAsyncComponent(() => import('./EditSettingsModalOld.vue'))
76
+ )
77
+
78
+ const networkEditData = ref<UI_I_EditFieldsData>({})
79
+
80
+ const isShowUnsavedChangesModal = ref<boolean>(false)
81
+
82
+ // Title
83
+ const title = computed(
84
+ () => props.title + localization.value.common.networkEditSettings
85
+ )
86
+
87
+ const onCheckNetworkLabel = (
88
+ label: string,
89
+ sendMessage: (message: string) => void
90
+ ) => {
91
+ emits('check-network-label', label, sendMessage)
92
+ }
93
+
94
+ const onHideEditSettingsModal = (type: 'send' | 'close'): void => {
95
+ if (!isNewView.value || type === 'send') {
96
+ emits('hide')
97
+ return
98
+ }
99
+
100
+ if (
101
+ compareDataFunc(props.viewName, networkEditData.value, props.initialData)
102
+ ) {
103
+ emits('hide')
104
+ } else {
105
+ isShowUnsavedChangesModal.value = true
106
+ }
107
+ }
108
+
109
+ const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
110
+ emits('change-edit-fields-data', newEditFieldsData)
111
+ }
112
+
113
+ const flagSendData = ref(true)
114
+
115
+ const onSendDataRequest = () => {
116
+ flagSendData.value = !flagSendData.value
117
+ }
118
+
119
+ const isSphereProject = computed<boolean>(() => props.project === 'sphere')
120
+
121
+ const onSendData = (type: string) => {
122
+ const typeLocal = isSphereProject.value
123
+ ? props.networkType
124
+ ? `${type}${props.networkType}`
125
+ : type
126
+ : type
127
+
128
+ compareDataFunc(props.viewName, networkEditData.value, props.initialData)
129
+ ? emits('hide')
130
+ : emits(
131
+ 'send-edit-data',
132
+ typeLocal,
133
+ () => onHideEditSettingsModal('send'),
134
+ props.initialData.id || props.title
135
+ )
136
+ }
137
+ </script>
@@ -0,0 +1,91 @@
1
+ <template>
2
+ <div>
3
+ <ui-modal
4
+ v-if="props.show"
5
+ :texts="modalTextsLocal"
6
+ :subtitle="props.title"
7
+ :test-id="`${props.title}-edit-modal`"
8
+ width="1120px"
9
+ size="md"
10
+ :is-loading="props.isEditModalLoading"
11
+ :title="localization.common.editSettings"
12
+ @hide="onHideEditSettingsModal"
13
+ @submit="emits('change-flag-send-data')"
14
+ >
15
+ <template #content>
16
+ <div class="modal-content">
17
+ <common-diagram-main-modals-edit-settings
18
+ v-model:network-edit-data="networkEditData"
19
+ :items="props.items"
20
+ :view-name="props.viewName"
21
+ :initial-data="props.initialData"
22
+ :adapters="props.adapters"
23
+ :flag-send-data="props.flagSendData"
24
+ :is-dark-mode="props.isDarkMode"
25
+ @send-edit-data="onSendData"
26
+ @change-edit-fields-data="onChangeEditFieldsData"
27
+ @check-network-label="onCheckNetworkLabel"
28
+ />
29
+ </div>
30
+ </template>
31
+ <template #footerLeftContent><span></span></template>
32
+ </ui-modal>
33
+ </div>
34
+ </template>
35
+
36
+ <script setup lang="ts">
37
+ import type { UI_I_TabItem } from '~/node_modules/bfg-uikit/components/ui/tabs/models/interfaces'
38
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
39
+ import type { UI_I_EditFieldsData } from '~/components/common/diagramMain/lib/models/interfaces'
40
+ import type { UI_I_PortViewSettingsModalExtendedProps } from '~/components/common/diagramMain/modals/editSettings/lib/models/interfaces'
41
+
42
+ const props = defineProps<UI_I_PortViewSettingsModalExtendedProps>()
43
+
44
+ const emits = defineEmits<{
45
+ (event: 'hide'): void
46
+ (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
47
+ (event: 'send-edit-data', type: string): void
48
+ (
49
+ event: 'check-network-label',
50
+ label: string,
51
+ sendMessage: (message: string) => void
52
+ ): void
53
+ (event: 'change-flag-send-data'): void
54
+ }>()
55
+
56
+ const localization = computed<UI_I_Localization>(() => useLocal())
57
+
58
+ const networkEditData = defineModel<UI_I_EditFieldsData>('network-edit-data')
59
+
60
+ const modalTextsLocal = computed<UI_I_ModalTexts>(() => ({
61
+ button1: localization.value.common.cancel,
62
+ button2: localization.value.common.save,
63
+ }))
64
+
65
+ const onCheckNetworkLabel = (
66
+ label: string,
67
+ sendMessage: (message: string) => void
68
+ ) => {
69
+ emits('check-network-label', label, sendMessage)
70
+ }
71
+
72
+ const onHideEditSettingsModal = (): void => {
73
+ emits('hide')
74
+ }
75
+
76
+ const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
77
+ emits('change-edit-fields-data', newEditFieldsData)
78
+ }
79
+
80
+ const onSendData = (type: string) => {
81
+ emits('send-edit-data', type)
82
+ }
83
+ </script>
84
+
85
+ <style scoped lang="scss">
86
+ .modal-content {
87
+ height: 463px;
88
+ max-height: 463px;
89
+ padding: 8px 0 0 32px;
90
+ }
91
+ </style>
@@ -4,7 +4,7 @@
4
4
  :width="props.width"
5
5
  :height="props.height"
6
6
  :show="props.show"
7
- :title="title"
7
+ :title="props.modalTitle"
8
8
  :modal-loading="props.isEditModalLoading"
9
9
  :class="[
10
10
  'diagram-action__edit',
@@ -13,15 +13,16 @@
13
13
  },
14
14
  ]"
15
15
  @hide="onHideEditSettingsModal"
16
- @submit="onSendDataRequest"
16
+ @submit="emits('change-flag-send-data')"
17
17
  >
18
18
  <template #modalBody>
19
19
  <common-diagram-main-modals-edit-settings
20
+ v-model:network-edit-data="networkEditData"
20
21
  :items="props.items"
21
22
  :view-name="props.viewName"
22
23
  :initial-data="props.initialData"
23
24
  :adapters="props.adapters"
24
- :flag-send-data="flagSendData"
25
+ :flag-send-data="props.flagSendData"
25
26
  :is-dark-mode="props.isDarkMode"
26
27
  @send-edit-data="onSendData"
27
28
  @change-edit-fields-data="onChangeEditFieldsData"
@@ -33,45 +34,24 @@
33
34
  </template>
34
35
 
35
36
  <script setup lang="ts">
36
- import type { UI_I_Localization } from '~/lib/models/interfaces'
37
37
  import type { UI_I_EditFieldsData } from '~/components/common/diagramMain/lib/models/interfaces'
38
- import type { UI_I_PortViewSettingsModalProps } from '~/components/common/diagramMain/modals/editSettings/lib/models/interfaces'
39
-
40
- const props = withDefaults(defineProps<UI_I_PortViewSettingsModalProps>(), {
41
- initialData: () => ({}),
42
- title: 'Network',
43
- adapters: () => ({
44
- total_pages: 0,
45
- total_items: 0,
46
- items: [],
47
- }),
48
- isEditModalLoading: false,
49
- })
50
-
51
- // Modal hiding
38
+ import type { UI_I_PortViewSettingsModalExtendedProps } from '~/components/common/diagramMain/modals/editSettings/lib/models/interfaces'
39
+
40
+ const props = defineProps<UI_I_PortViewSettingsModalExtendedProps>()
41
+
52
42
  const emits = defineEmits<{
53
43
  (event: 'hide'): void
54
44
  (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
55
- (
56
- event: 'send-edit-data',
57
- type: string,
58
- hideModal: () => void,
59
- id?: string
60
- ): void
45
+ (event: 'send-edit-data', type: string): void
61
46
  (
62
47
  event: 'check-network-label',
63
48
  label: string,
64
49
  sendMessage: (message: string) => void
65
50
  ): void
51
+ (event: 'change-flag-send-data'): void
66
52
  }>()
67
53
 
68
- // UI_I_Localization
69
- const localization = computed<UI_I_Localization>(() => useLocal())
70
-
71
- // Title
72
- const title = computed(
73
- () => props.title + localization.value.common.networkEditSettings
74
- )
54
+ const networkEditData = defineModel<UI_I_EditFieldsData>('network-edit-data')
75
55
 
76
56
  const onCheckNetworkLabel = (
77
57
  label: string,
@@ -88,27 +68,8 @@ const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
88
68
  emits('change-edit-fields-data', newEditFieldsData)
89
69
  }
90
70
 
91
- const flagSendData = ref(true)
92
-
93
- const onSendDataRequest = () => {
94
- flagSendData.value = !flagSendData.value
95
- }
96
-
97
- const isSphereProject = computed<boolean>(() => props.project === 'sphere')
98
-
99
71
  const onSendData = (type: string) => {
100
- const typeLocal = isSphereProject.value
101
- ? props.networkType
102
- ? `${type}${props.networkType}`
103
- : type
104
- : type
105
-
106
- emits(
107
- 'send-edit-data',
108
- typeLocal,
109
- onHideEditSettingsModal,
110
- props.initialData.id || props.title
111
- )
72
+ emits('send-edit-data', type)
112
73
  }
113
74
  </script>
114
75
 
@@ -0,0 +1,158 @@
1
+ <template>
2
+ <div class="network-properties">
3
+ <component
4
+ :is="currentComponent"
5
+ v-model="fieldsValues"
6
+ :is-show-error-message="isShowErrorMessage"
7
+ :error-messages="props.errorMessages"
8
+ :vlan-id-select-data="vlanIdSelectDataLocal"
9
+ :flag-send-data="props.flagSendData"
10
+ @hide-error-message-alert="onHideErrorMessageAlert"
11
+ />
12
+ </div>
13
+ </template>
14
+
15
+ <script setup lang="ts">
16
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
17
+ import type {
18
+ UI_I_ModalsInitialData,
19
+ UI_I_EditSettingsErrorMessage,
20
+ UI_I_PropertiesFields,
21
+ } from '~/components/common/diagramMain/lib/models/interfaces'
22
+ import type { UI_T_PropertiesFieldName } from '~/components/common/diagramMain/lib/models/types'
23
+ import type { UI_I_VlanIdData } from '~/components/common/wizards/network/add/lib/models/interfaces'
24
+ import { vlanIdSelectDataFunc } from '~/components/common/wizards/network/add/lib/config/config'
25
+
26
+ const props = withDefaults(
27
+ defineProps<{
28
+ isShowErrorMessageAlert: boolean | boolean[]
29
+ errorMessages: UI_I_EditSettingsErrorMessage
30
+ networkAlreadyExists: boolean
31
+ initialData?: UI_I_ModalsInitialData
32
+ hasErrorMessages?: boolean
33
+ flagSendData?: boolean
34
+ }>(),
35
+ {
36
+ initialData: () => ({}),
37
+ hasErrorMessages: undefined,
38
+ flagSendData: false,
39
+ }
40
+ )
41
+
42
+ const emits = defineEmits<{
43
+ (
44
+ event: 'change-error-messages',
45
+ errorMessage: string,
46
+ fieldName: keyof UI_I_EditSettingsErrorMessage
47
+ ): void
48
+ (event: 'hide-error-message-alert'): void
49
+ (
50
+ event: 'change-edit-properties-data',
51
+ propertiesData: UI_I_PropertiesFields
52
+ ): void
53
+ }>()
54
+
55
+ const { $store }: any = useNuxtApp()
56
+
57
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
58
+
59
+ const currentComponent = computed(() =>
60
+ isNewView.value
61
+ ? defineAsyncComponent(() => import('./NetworkPropertiesNew.vue'))
62
+ : defineAsyncComponent(() => import('./NetworkPropertiesOld.vue'))
63
+ )
64
+
65
+ const localization = computed<UI_I_Localization>(() => useLocal())
66
+
67
+ const vlanIdSelectDataLocal = computed<UI_I_VlanIdData[]>(() =>
68
+ vlanIdSelectDataFunc(localization.value)
69
+ )
70
+
71
+ const isShowErrorMessage = computed<boolean>(
72
+ () =>
73
+ props.hasErrorMessages &&
74
+ (isNewView.value
75
+ ? props.isShowErrorMessageAlert[0]
76
+ : props.isShowErrorMessageAlert)
77
+ )
78
+
79
+ const fieldsValues = ref<UI_I_PropertiesFields>(
80
+ useDeepCopy({
81
+ vlanId:
82
+ props.initialData.vlanId || `${localization.value.common.none2} (0)`,
83
+ networkLabel: props.initialData.networkLabel || 'Network',
84
+ })
85
+ )
86
+
87
+ const onHideErrorMessageAlert = () => emits('hide-error-message-alert')
88
+
89
+ const onChangeData = (data: UI_I_PropertiesFields) =>
90
+ emits('change-edit-properties-data', data)
91
+
92
+ const changeErrorMessage = (
93
+ errorMessage: string,
94
+ fieldName: keyof UI_I_EditSettingsErrorMessage
95
+ ) => emits('change-error-messages', errorMessage, fieldName)
96
+
97
+ const messageTexts = (local: UI_I_Localization) => ({
98
+ vlanId: local.common.vlanIdInvalidMessage,
99
+ networkLabel: local.common.networkLabelInvalidMessage,
100
+ })
101
+
102
+ const isNumberInRange = (value: number | string, down: number, up: number) =>
103
+ isNaN(Number(value)) || Number(value) < down || Number(value) > up
104
+
105
+ const setMessageOnChangedField = (
106
+ values: string | number,
107
+ name: UI_T_PropertiesFieldName,
108
+ text: string
109
+ ) => {
110
+ if (name === 'networkLabel' && !values) {
111
+ changeErrorMessage(text, name)
112
+ return
113
+ } else if (name === 'networkLabel' && props.networkAlreadyExists) return
114
+
115
+ if (
116
+ name === 'vlanId' &&
117
+ values !== `${localization.value.common.none2} (0)` &&
118
+ values !== `${localization.value.common.all} (4095)` &&
119
+ (isNumberInRange(values, 0, 4095) || values === '')
120
+ ) {
121
+ changeErrorMessage(text, name)
122
+ return
123
+ }
124
+ changeErrorMessage('', name)
125
+ }
126
+
127
+ watch(
128
+ fieldsValues,
129
+ (newValues: UI_I_PropertiesFields) => {
130
+ setMessageOnChangedField(
131
+ newValues.vlanId,
132
+ 'vlanId',
133
+ messageTexts(localization.value).vlanId
134
+ )
135
+ setMessageOnChangedField(
136
+ newValues.networkLabel,
137
+ 'networkLabel',
138
+ messageTexts(localization.value).networkLabel
139
+ )
140
+ onChangeData(newValues)
141
+ !props.hasErrorMessages && onHideErrorMessageAlert()
142
+ },
143
+ { deep: true }
144
+ )
145
+
146
+ onMounted(() => {
147
+ onChangeData(fieldsValues.value)
148
+ })
149
+ onUnmounted(() => {
150
+ onHideErrorMessageAlert()
151
+ })
152
+ </script>
153
+
154
+ <style scoped lang="scss">
155
+ .network-properties {
156
+ width: 100%;
157
+ }
158
+ </style>