bfg-common 1.4.836 → 1.4.838

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 (184) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/scss/common/normalize.scss +361 -361
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/autocomplete/Autocomplete.vue +300 -300
  8. package/components/atoms/collapse/CollapseNav.vue +164 -164
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  11. package/components/atoms/stack/StackBlock.vue +185 -185
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  15. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  16. package/components/common/browse/BrowseNew.vue +237 -237
  17. package/components/common/browse/BrowseOld.vue +217 -217
  18. package/components/common/browse/blocks/contents/Files.vue +37 -37
  19. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  20. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  21. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  22. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  23. package/components/common/browse/lib/models/interfaces.ts +5 -5
  24. package/components/common/context/Context.vue +111 -111
  25. package/components/common/context/lib/models/interfaces.ts +30 -30
  26. package/components/common/context/recursion/Recursion.vue +87 -87
  27. package/components/common/context/recursion/RecursionNew.vue +237 -237
  28. package/components/common/context/recursion/RecursionOld.vue +227 -227
  29. package/components/common/details/DetailsItem.vue +109 -109
  30. package/components/common/diagramMain/Header.vue +211 -211
  31. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  32. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  33. package/components/common/diagramMain/lib/models/types.ts +21 -21
  34. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  35. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  36. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  37. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  38. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  39. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  40. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  41. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  42. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  43. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  44. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  45. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  46. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  47. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  48. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  49. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  57. package/components/common/diagramMain/port/Ports.vue +47 -47
  58. package/components/common/graph/Graph.vue +104 -104
  59. package/components/common/graph/GraphNew.vue +144 -144
  60. package/components/common/graph/GraphOld.vue +31 -31
  61. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  62. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  63. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  64. package/components/common/monitor/overview/Overview.vue +221 -221
  65. package/components/common/monitor/overview/OverviewNew.vue +142 -142
  66. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  67. package/components/common/monitor/overview/filters/Filters.vue +166 -166
  68. package/components/common/monitor/overview/filters/FiltersNew.vue +172 -172
  69. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
  70. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -175
  71. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue +181 -181
  72. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -161
  73. package/components/common/pages/home/StatusContent.vue +49 -49
  74. package/components/common/pages/home/headline/Headline.vue +45 -45
  75. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  76. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  77. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  78. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  79. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  80. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  81. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  82. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  83. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  84. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  85. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  86. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  87. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  88. package/components/common/pages/packages/Packages.vue +208 -208
  89. package/components/common/pages/tasks/Tasks.vue +3 -1
  90. package/components/common/pages/tasks/table/Table.vue +1 -0
  91. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +23 -7
  92. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +1 -0
  93. package/components/common/pages/tasks/table/lib/config/config.ts +2 -2
  94. package/components/common/recursionTree/RecursionTree.vue +223 -223
  95. package/components/common/select/button/ButtonDropdown.vue +108 -108
  96. package/components/common/spiceConsole/Drawer.vue +370 -370
  97. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  98. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  99. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  100. package/components/common/split/vertical/Vertical.vue +160 -160
  101. package/components/common/vm/actions/add/Add.vue +621 -621
  102. package/components/common/vm/actions/clone/Clone.vue +639 -639
  103. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  104. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  105. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  106. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +364 -364
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +229 -229
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +247 -247
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +283 -283
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  170. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  171. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  172. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  173. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  174. package/components/common/wizards/vm/migrate/Migrate.vue +288 -288
  175. package/composables/productNameLocal.ts +30 -30
  176. package/composables/useAppVersion.ts +21 -21
  177. package/package.json +2 -2
  178. package/plugins/date.ts +233 -233
  179. package/plugins/recursion.ts +311 -311
  180. package/public/spice-console/lib/images/bitmap.js +203 -203
  181. package/public/spice-console/network/spicechannel.js +383 -383
  182. package/store/main/mutations.ts +7 -7
  183. package/store/main/state.ts +7 -7
  184. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,330 +1,330 @@
1
- <template>
2
- <div>
3
- <atoms-modal
4
- :width="props.width"
5
- :height="props.height"
6
- :show="props.show"
7
- :title="localization.common.managePhysicalNetworkAdapters"
8
- :second-title="props.switchName"
9
- :class="[
10
- 'diagram-action__edit',
11
- {
12
- 'is-dark': props.isDarkMode,
13
- },
14
- ]"
15
- @hide="onHideManagePhysicalAdaptersModal"
16
- @submit="onSendManageAdapter"
17
- >
18
- <template #modalBody>
19
- <div class="wizard-content__container">
20
- <div class="wizard-content">
21
- <common-adapter-manager
22
- test-id="manage-physical-adapter"
23
- :is-active="true"
24
- :full-mode="true"
25
- :adapters="props.adapters"
26
- :free-adapters="props.freeAdapters"
27
- :added-adapters="addedAdapters"
28
- :adapter-status="props.adapterStatus"
29
- :is-show-no-connected-active-adapters-modal="
30
- isShowNoConnectedActiveAdaptersModal
31
- "
32
- :is-dark-mode="props.isDarkMode"
33
- :is-show-no-active-adapters-modal="isShowNoActiveAdaptersModal"
34
- @hide-no-connected-active-adapters-modal="
35
- onHideNoConnectedActiveAdaptersModal
36
- "
37
- @hide-no-active-adapters-modal="onHideNoActiveAdaptersModal"
38
- @confirm-no-active-adapters-modal="onConfirmNoActiveAdaptersModal"
39
- @change-added-adapters="onChangeAddedAdapters"
40
- @change-adapter-status="onChangeAdapterStatus"
41
- @get-free-adapters="onGetFreeAdapters"
42
- />
43
- </div>
44
- </div>
45
- <atoms-loader v-show="props.isManageAdaptersModalLoading" />
46
- </template>
47
- </atoms-modal>
48
- </div>
49
- </template>
50
-
51
- <script setup lang="ts">
52
- import type {
53
- UI_I_Localization,
54
- UI_I_ItemsWithTotalCounts,
55
- } from '~/lib/models/interfaces'
56
- import type {
57
- UI_I_Adapter,
58
- UI_I_AdapterStatus,
59
- UI_I_SwitchAdapterItem,
60
- } from '~/components/common/diagramMain/lib/models/interfaces'
61
-
62
- // Props from up
63
- const props = withDefaults(
64
- defineProps<{
65
- switchName: string
66
- show: boolean
67
- viewName: string
68
- width: string
69
- height: string
70
- freeAdapters: UI_I_Adapter[]
71
- adapterStatus: UI_I_AdapterStatus
72
- adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
73
- initialAdapterStatus: UI_I_AdapterStatus
74
- isDarkMode?: boolean
75
- isManageAdaptersModalLoading?: boolean
76
- }>(),
77
- {
78
- switchName: '',
79
- adapterStatus: () => ({
80
- active: [],
81
- standby: [],
82
- unused: [],
83
- }),
84
- isDarkMode: false,
85
- isManageAdaptersModalLoading: false,
86
- }
87
- )
88
-
89
- // UI_I_Localization
90
- const localization = computed<UI_I_Localization>(() => useLocal())
91
-
92
- const addedAdapters = ref<string[]>()
93
-
94
- const onChangeAddedAdapters = (addedAdaptersNew: string[]) => {
95
- addedAdapters.value = addedAdaptersNew
96
- }
97
-
98
- const onChangeAdapterStatus = (adapterStatusNew: UI_I_AdapterStatus) => {
99
- emits('change-adapter-status', adapterStatusNew)
100
- }
101
-
102
- const isShowNoConnectedActiveAdaptersModal = ref(false)
103
- const isShowNoActiveAdaptersModal = ref(false)
104
-
105
- const showNoConnectedActiveAdaptersModal = () => {
106
- isShowNoConnectedActiveAdaptersModal.value = true
107
- }
108
- const onHideNoConnectedActiveAdaptersModal = () => {
109
- isShowNoConnectedActiveAdaptersModal.value = false
110
- }
111
- const showNoActiveAdaptersModal = () => {
112
- isShowNoActiveAdaptersModal.value = true
113
- }
114
- const onHideNoActiveAdaptersModal = () => {
115
- isShowNoActiveAdaptersModal.value = false
116
- }
117
-
118
- const onSendManagePhysicalAdaptersData = (
119
- adapterStatus: UI_I_AdapterStatus,
120
- switchName: string,
121
- hideModal: () => void
122
- ) => {
123
- emits(
124
- 'send-manage-physical-adapters-data',
125
- adapterStatus,
126
- switchName,
127
- hideModal
128
- )
129
- }
130
- const onConfirmNoActiveAdaptersModal = () => {
131
- onSendManagePhysicalAdaptersData(
132
- props.adapterStatus,
133
- props.switchName,
134
- onHideManagePhysicalAdaptersModal
135
- )
136
- onHideNoConnectedActiveAdaptersModal()
137
- onHideNoActiveAdaptersModal()
138
- }
139
-
140
- const onSendManageAdapter = () => {
141
- if (props.adapterStatus.active.length === 0) {
142
- showNoActiveAdaptersModal()
143
- return
144
- }
145
-
146
- const activeAndConnectedAdapters = props.adapterStatus.active.filter(
147
- (adapterName: string) =>
148
- props.adapters.items.find(
149
- (ad: UI_I_SwitchAdapterItem) => ad.name === adapterName
150
- )?.carrier
151
- )
152
- if (activeAndConnectedAdapters.length === 0) {
153
- showNoConnectedActiveAdaptersModal()
154
- return
155
- }
156
-
157
- onSendManagePhysicalAdaptersData(
158
- props.adapterStatus,
159
- props.switchName,
160
- onHideManagePhysicalAdaptersModal
161
- )
162
- }
163
-
164
- // Modal
165
- const emits = defineEmits<{
166
- (event: 'hide'): void
167
- (event: 'get-free-adapters', showModal: () => void): void
168
- (event: 'change-added-adapters', addedAdapters: string[]): void
169
- (event: 'change-adapter-status', adapterStatus: UI_I_AdapterStatus): void
170
- (
171
- event: 'send-manage-physical-adapters-data',
172
- adapterStatus: UI_I_AdapterStatus,
173
- switchName: string,
174
- hideModal: () => void
175
- ): void
176
- }>()
177
-
178
- const onGetFreeAdapters = (showModal: () => void) => {
179
- emits('get-free-adapters', showModal)
180
- }
181
-
182
- const onHideManagePhysicalAdaptersModal = (): void => {
183
- addedAdapters.value = []
184
- emits('change-adapter-status', props.initialAdapterStatus)
185
- emits('hide')
186
- }
187
- </script>
188
-
189
- <style scoped lang="scss">
190
- :deep(.secondary-title) {
191
- font-size: 18px;
192
- font-weight: 200;
193
- }
194
-
195
- :deep(.modal-body-content.modal-body-content__confirmation) {
196
- display: flex;
197
-
198
- .confirm-icon-container {
199
- margin-right: 20px;
200
- }
201
-
202
- .preserve-newlines {
203
- white-space: pre-line;
204
- font-size: 15px;
205
- }
206
- }
207
-
208
- .loader {
209
- position: absolute;
210
- z-index: 1000;
211
- left: 0;
212
- right: 0;
213
- bottom: 0;
214
- top: 0;
215
- display: flex;
216
- align-items: center;
217
- justify-content: center;
218
- background-color: rgba(0, 0, 0, 0.3);
219
-
220
- .spinner {
221
- left: unset;
222
- }
223
- }
224
-
225
- :deep(.table-fixed-height) {
226
- height: 290px;
227
- max-height: 290px;
228
- }
229
-
230
- :deep(.diagram-action__edit.is-dark) {
231
- .property-label-group {
232
- color: var(--main-color-mode2);
233
- }
234
- .flex-property-label-group {
235
- color: var(--main-color-mode2);
236
- }
237
- .flex-property-value-group {
238
- select {
239
- color: #fff;
240
- }
241
- }
242
- .failover-order-master {
243
- .secondary-title label {
244
- color: #fff;
245
- }
246
- }
247
- .k-grid-content {
248
- background-color: var(--modal-bg-color);
249
- }
250
- .vui-action-bar {
251
- background-color: var(--pannel-bg-color);
252
- color: var(--title-color);
253
-
254
- .action-link-container:not(.disabled) {
255
- &:hover {
256
- background-color: #29414e;
257
- border: 1px solid #c7e9ff;
258
- }
259
- }
260
-
261
- svg {
262
- fill: #fff;
263
- }
264
- }
265
-
266
- .k-grid.k-widget .k-grid-content {
267
- border-left: 1px solid #485764;
268
- border-right: 1px solid #485764;
269
- border-top: 1px solid #ddd;
270
- border-bottom: 1px solid #ddd;
271
-
272
- tbody tr {
273
- background-color: var(--modal-bg-color);
274
-
275
- td {
276
- border-bottom: 1px solid #666666;
277
- border-color: #666666;
278
- }
279
-
280
- &:hover {
281
- background-color: #324f61;
282
- color: var(--title-color);
283
-
284
- td {
285
- border-bottom: 1px solid #ffffff;
286
- }
287
- }
288
-
289
- &.k-state-selected {
290
- background-color: #d8e3e9;
291
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
292
-
293
- td span {
294
- color: #000;
295
- }
296
- }
297
- }
298
- }
299
-
300
- .failover-order-details {
301
- &.relative-container .absolute-container {
302
- background-color: var(--pannel-bg-color);
303
- color: var(--main-color-mode2);
304
-
305
- &:has(.no-items-selected-container) {
306
- background-color: transparent;
307
- }
308
- }
309
-
310
- td span {
311
- color: var(--main-color-mode2);
312
- }
313
- button span {
314
- color: var(--main-color-mode2);
315
-
316
- &:hover:not(.disabled) {
317
- background-color: transparent;
318
- border: 1px solid transparent;
319
- }
320
- }
321
- button.active span {
322
- color: #fff;
323
- }
324
- }
325
-
326
- .select-adapter-info span {
327
- color: var(--main-color-mode2);
328
- }
329
- }
330
- </style>
1
+ <template>
2
+ <div>
3
+ <atoms-modal
4
+ :width="props.width"
5
+ :height="props.height"
6
+ :show="props.show"
7
+ :title="localization.common.managePhysicalNetworkAdapters"
8
+ :second-title="props.switchName"
9
+ :class="[
10
+ 'diagram-action__edit',
11
+ {
12
+ 'is-dark': props.isDarkMode,
13
+ },
14
+ ]"
15
+ @hide="onHideManagePhysicalAdaptersModal"
16
+ @submit="onSendManageAdapter"
17
+ >
18
+ <template #modalBody>
19
+ <div class="wizard-content__container">
20
+ <div class="wizard-content">
21
+ <common-adapter-manager
22
+ test-id="manage-physical-adapter"
23
+ :is-active="true"
24
+ :full-mode="true"
25
+ :adapters="props.adapters"
26
+ :free-adapters="props.freeAdapters"
27
+ :added-adapters="addedAdapters"
28
+ :adapter-status="props.adapterStatus"
29
+ :is-show-no-connected-active-adapters-modal="
30
+ isShowNoConnectedActiveAdaptersModal
31
+ "
32
+ :is-dark-mode="props.isDarkMode"
33
+ :is-show-no-active-adapters-modal="isShowNoActiveAdaptersModal"
34
+ @hide-no-connected-active-adapters-modal="
35
+ onHideNoConnectedActiveAdaptersModal
36
+ "
37
+ @hide-no-active-adapters-modal="onHideNoActiveAdaptersModal"
38
+ @confirm-no-active-adapters-modal="onConfirmNoActiveAdaptersModal"
39
+ @change-added-adapters="onChangeAddedAdapters"
40
+ @change-adapter-status="onChangeAdapterStatus"
41
+ @get-free-adapters="onGetFreeAdapters"
42
+ />
43
+ </div>
44
+ </div>
45
+ <atoms-loader v-show="props.isManageAdaptersModalLoading" />
46
+ </template>
47
+ </atoms-modal>
48
+ </div>
49
+ </template>
50
+
51
+ <script setup lang="ts">
52
+ import type {
53
+ UI_I_Localization,
54
+ UI_I_ItemsWithTotalCounts,
55
+ } from '~/lib/models/interfaces'
56
+ import type {
57
+ UI_I_Adapter,
58
+ UI_I_AdapterStatus,
59
+ UI_I_SwitchAdapterItem,
60
+ } from '~/components/common/diagramMain/lib/models/interfaces'
61
+
62
+ // Props from up
63
+ const props = withDefaults(
64
+ defineProps<{
65
+ switchName: string
66
+ show: boolean
67
+ viewName: string
68
+ width: string
69
+ height: string
70
+ freeAdapters: UI_I_Adapter[]
71
+ adapterStatus: UI_I_AdapterStatus
72
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
73
+ initialAdapterStatus: UI_I_AdapterStatus
74
+ isDarkMode?: boolean
75
+ isManageAdaptersModalLoading?: boolean
76
+ }>(),
77
+ {
78
+ switchName: '',
79
+ adapterStatus: () => ({
80
+ active: [],
81
+ standby: [],
82
+ unused: [],
83
+ }),
84
+ isDarkMode: false,
85
+ isManageAdaptersModalLoading: false,
86
+ }
87
+ )
88
+
89
+ // UI_I_Localization
90
+ const localization = computed<UI_I_Localization>(() => useLocal())
91
+
92
+ const addedAdapters = ref<string[]>()
93
+
94
+ const onChangeAddedAdapters = (addedAdaptersNew: string[]) => {
95
+ addedAdapters.value = addedAdaptersNew
96
+ }
97
+
98
+ const onChangeAdapterStatus = (adapterStatusNew: UI_I_AdapterStatus) => {
99
+ emits('change-adapter-status', adapterStatusNew)
100
+ }
101
+
102
+ const isShowNoConnectedActiveAdaptersModal = ref(false)
103
+ const isShowNoActiveAdaptersModal = ref(false)
104
+
105
+ const showNoConnectedActiveAdaptersModal = () => {
106
+ isShowNoConnectedActiveAdaptersModal.value = true
107
+ }
108
+ const onHideNoConnectedActiveAdaptersModal = () => {
109
+ isShowNoConnectedActiveAdaptersModal.value = false
110
+ }
111
+ const showNoActiveAdaptersModal = () => {
112
+ isShowNoActiveAdaptersModal.value = true
113
+ }
114
+ const onHideNoActiveAdaptersModal = () => {
115
+ isShowNoActiveAdaptersModal.value = false
116
+ }
117
+
118
+ const onSendManagePhysicalAdaptersData = (
119
+ adapterStatus: UI_I_AdapterStatus,
120
+ switchName: string,
121
+ hideModal: () => void
122
+ ) => {
123
+ emits(
124
+ 'send-manage-physical-adapters-data',
125
+ adapterStatus,
126
+ switchName,
127
+ hideModal
128
+ )
129
+ }
130
+ const onConfirmNoActiveAdaptersModal = () => {
131
+ onSendManagePhysicalAdaptersData(
132
+ props.adapterStatus,
133
+ props.switchName,
134
+ onHideManagePhysicalAdaptersModal
135
+ )
136
+ onHideNoConnectedActiveAdaptersModal()
137
+ onHideNoActiveAdaptersModal()
138
+ }
139
+
140
+ const onSendManageAdapter = () => {
141
+ if (props.adapterStatus.active.length === 0) {
142
+ showNoActiveAdaptersModal()
143
+ return
144
+ }
145
+
146
+ const activeAndConnectedAdapters = props.adapterStatus.active.filter(
147
+ (adapterName: string) =>
148
+ props.adapters.items.find(
149
+ (ad: UI_I_SwitchAdapterItem) => ad.name === adapterName
150
+ )?.carrier
151
+ )
152
+ if (activeAndConnectedAdapters.length === 0) {
153
+ showNoConnectedActiveAdaptersModal()
154
+ return
155
+ }
156
+
157
+ onSendManagePhysicalAdaptersData(
158
+ props.adapterStatus,
159
+ props.switchName,
160
+ onHideManagePhysicalAdaptersModal
161
+ )
162
+ }
163
+
164
+ // Modal
165
+ const emits = defineEmits<{
166
+ (event: 'hide'): void
167
+ (event: 'get-free-adapters', showModal: () => void): void
168
+ (event: 'change-added-adapters', addedAdapters: string[]): void
169
+ (event: 'change-adapter-status', adapterStatus: UI_I_AdapterStatus): void
170
+ (
171
+ event: 'send-manage-physical-adapters-data',
172
+ adapterStatus: UI_I_AdapterStatus,
173
+ switchName: string,
174
+ hideModal: () => void
175
+ ): void
176
+ }>()
177
+
178
+ const onGetFreeAdapters = (showModal: () => void) => {
179
+ emits('get-free-adapters', showModal)
180
+ }
181
+
182
+ const onHideManagePhysicalAdaptersModal = (): void => {
183
+ addedAdapters.value = []
184
+ emits('change-adapter-status', props.initialAdapterStatus)
185
+ emits('hide')
186
+ }
187
+ </script>
188
+
189
+ <style scoped lang="scss">
190
+ :deep(.secondary-title) {
191
+ font-size: 18px;
192
+ font-weight: 200;
193
+ }
194
+
195
+ :deep(.modal-body-content.modal-body-content__confirmation) {
196
+ display: flex;
197
+
198
+ .confirm-icon-container {
199
+ margin-right: 20px;
200
+ }
201
+
202
+ .preserve-newlines {
203
+ white-space: pre-line;
204
+ font-size: 15px;
205
+ }
206
+ }
207
+
208
+ .loader {
209
+ position: absolute;
210
+ z-index: 1000;
211
+ left: 0;
212
+ right: 0;
213
+ bottom: 0;
214
+ top: 0;
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: center;
218
+ background-color: rgba(0, 0, 0, 0.3);
219
+
220
+ .spinner {
221
+ left: unset;
222
+ }
223
+ }
224
+
225
+ :deep(.table-fixed-height) {
226
+ height: 290px;
227
+ max-height: 290px;
228
+ }
229
+
230
+ :deep(.diagram-action__edit.is-dark) {
231
+ .property-label-group {
232
+ color: var(--main-color-mode2);
233
+ }
234
+ .flex-property-label-group {
235
+ color: var(--main-color-mode2);
236
+ }
237
+ .flex-property-value-group {
238
+ select {
239
+ color: #fff;
240
+ }
241
+ }
242
+ .failover-order-master {
243
+ .secondary-title label {
244
+ color: #fff;
245
+ }
246
+ }
247
+ .k-grid-content {
248
+ background-color: var(--modal-bg-color);
249
+ }
250
+ .vui-action-bar {
251
+ background-color: var(--pannel-bg-color);
252
+ color: var(--title-color);
253
+
254
+ .action-link-container:not(.disabled) {
255
+ &:hover {
256
+ background-color: #29414e;
257
+ border: 1px solid #c7e9ff;
258
+ }
259
+ }
260
+
261
+ svg {
262
+ fill: #fff;
263
+ }
264
+ }
265
+
266
+ .k-grid.k-widget .k-grid-content {
267
+ border-left: 1px solid #485764;
268
+ border-right: 1px solid #485764;
269
+ border-top: 1px solid #ddd;
270
+ border-bottom: 1px solid #ddd;
271
+
272
+ tbody tr {
273
+ background-color: var(--modal-bg-color);
274
+
275
+ td {
276
+ border-bottom: 1px solid #666666;
277
+ border-color: #666666;
278
+ }
279
+
280
+ &:hover {
281
+ background-color: #324f61;
282
+ color: var(--title-color);
283
+
284
+ td {
285
+ border-bottom: 1px solid #ffffff;
286
+ }
287
+ }
288
+
289
+ &.k-state-selected {
290
+ background-color: #d8e3e9;
291
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
292
+
293
+ td span {
294
+ color: #000;
295
+ }
296
+ }
297
+ }
298
+ }
299
+
300
+ .failover-order-details {
301
+ &.relative-container .absolute-container {
302
+ background-color: var(--pannel-bg-color);
303
+ color: var(--main-color-mode2);
304
+
305
+ &:has(.no-items-selected-container) {
306
+ background-color: transparent;
307
+ }
308
+ }
309
+
310
+ td span {
311
+ color: var(--main-color-mode2);
312
+ }
313
+ button span {
314
+ color: var(--main-color-mode2);
315
+
316
+ &:hover:not(.disabled) {
317
+ background-color: transparent;
318
+ border: 1px solid transparent;
319
+ }
320
+ }
321
+ button.active span {
322
+ color: #fff;
323
+ }
324
+ }
325
+
326
+ .select-adapter-info span {
327
+ color: var(--main-color-mode2);
328
+ }
329
+ }
330
+ </style>