bfg-common 1.6.77 → 1.6.78

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 (287) hide show
  1. package/assets/localization/local_be.json +4461 -4213
  2. package/assets/localization/local_en.json +4466 -4217
  3. package/assets/localization/local_hy.json +4465 -4217
  4. package/assets/localization/local_kk.json +4464 -4216
  5. package/assets/localization/local_ru.json +4464 -4216
  6. package/assets/localization/local_zh.json +4462 -4214
  7. package/assets/scss/common/global.scss +11 -0
  8. package/assets/scss/common/normalize.scss +3 -0
  9. package/assets/scss/common/theme.scss +2 -2
  10. package/components/atoms/stack/StackBlock.vue +1 -1
  11. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +2 -2
  12. package/components/atoms/tooltip/TooltipError.vue +3 -0
  13. package/components/common/adapterManager/AdapterManager.vue +473 -473
  14. package/components/common/adapterManager/AdapterManagerNew.vue +86 -0
  15. package/components/common/adapterManager/AdapterManagerOld.vue +498 -498
  16. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -70
  17. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +110 -110
  18. package/components/common/adapterManager/addAdapterModal/AddAdapterModalOld.vue +531 -531
  19. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -32
  20. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +37 -38
  21. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalOld.vue +73 -73
  22. package/components/common/adapterManager/lib/config/index.ts +19 -19
  23. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -31
  24. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -34
  25. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalOld.vue +57 -57
  26. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -31
  27. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -34
  28. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue +57 -57
  29. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +34 -34
  30. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +41 -41
  31. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  32. package/components/common/adapterManager/ui/actions/bar/Bar.vue +2 -0
  33. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +3 -2
  34. package/components/common/adapterManager/ui/actions/bar/BarOld.vue +95 -95
  35. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -28
  36. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +76 -76
  37. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonOld.vue +33 -33
  38. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -28
  39. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +77 -77
  40. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonOld.vue +33 -33
  41. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -24
  42. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +18 -18
  43. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterOld.vue +38 -38
  44. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -31
  45. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +51 -51
  46. package/components/common/adapterManager/ui/secondTitle/SecondTitleOld.vue +35 -35
  47. package/components/common/adapterManager/ui/table/Table.vue +88 -88
  48. package/components/common/adapterManager/ui/table/TableNew.vue +137 -137
  49. package/components/common/adapterManager/ui/table/TableOld.vue +141 -141
  50. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -44
  51. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +187 -186
  52. package/components/common/adapterManager/ui/table/adapters/AdaptersOld.vue +87 -87
  53. package/components/common/adapterManager/ui/table/header/Header.vue +57 -57
  54. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +81 -81
  55. package/components/common/adapterManager/ui/table/header/HeaderOld.vue +79 -79
  56. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  57. package/components/common/certificate/Certificate.vue +6 -16
  58. package/components/common/certificate/{Info/Old.vue → CertificateInfo.vue} +34 -6
  59. package/components/common/certificate/{tools/Tools.vue → Tools.vue} +23 -18
  60. package/components/common/certificate/lib/config/tabsPannel.ts +22 -0
  61. package/components/common/configure/physicalAdapters/PhysicalAdapters.vue +6 -0
  62. package/components/common/configure/physicalAdapters/PhysicalAdaptersNew.vue +219 -192
  63. package/components/common/configure/physicalAdapters/PhysicalAdaptersOld.vue +6 -4
  64. package/components/common/configure/physicalAdapters/buttons/Buttons.vue +1 -0
  65. package/components/common/configure/physicalAdapters/modals/edit/Edit.vue +26 -1
  66. package/components/common/configure/physicalAdapters/modals/edit/EditNew.vue +30 -1
  67. package/components/common/configure/physicalAdapters/modals/edit/lib/models/interfaces.ts +5 -0
  68. package/components/common/configure/physicalAdapters/modals/edit/lib/validations/validations.ts +19 -0
  69. package/components/common/configure/physicalAdapters/tableView/TableViewNew.vue +12 -1
  70. package/components/common/configure/physicalAdapters/tableView/lib/config/physicalAdaptersTableConfigNew.ts +21 -21
  71. package/components/common/configure/physicalAdapters/tableView/lib/config/settings.ts +12 -5
  72. package/components/common/configure/physicalAdapters/tableView/lib/models/interfaces.ts +4 -1
  73. package/components/common/diagramMain/Diagram.vue +169 -85
  74. package/components/common/diagramMain/DiagramMain.vue +40 -10
  75. package/components/common/diagramMain/adapter/Adapter.vue +123 -123
  76. package/components/common/diagramMain/adapter/AdapterItem.vue +438 -438
  77. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  78. package/components/common/diagramMain/adapter/Contents.vue +212 -212
  79. package/components/common/diagramMain/adapter/Lines.vue +81 -81
  80. package/components/common/diagramMain/adapter/block/Block.vue +27 -27
  81. package/components/common/diagramMain/adapter/block/BlockNew.vue +58 -58
  82. package/components/common/diagramMain/adapter/block/BlockOld.vue +50 -50
  83. package/components/common/diagramMain/adapter/secondBlock/SecondBlock.vue +27 -27
  84. package/components/common/diagramMain/adapter/secondBlock/SecondBlockNew.vue +60 -60
  85. package/components/common/diagramMain/adapter/secondBlock/SecondBlockOld.vue +51 -51
  86. package/components/common/diagramMain/header/Header.vue +49 -0
  87. package/components/common/diagramMain/header/HeaderNew.vue +155 -0
  88. package/components/common/diagramMain/{Header.vue → header/HeaderOld.vue} +78 -67
  89. package/components/common/diagramMain/highlights/Highlights.vue +151 -151
  90. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  91. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  92. package/components/common/diagramMain/lib/config/index.ts +81 -81
  93. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  94. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  95. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  96. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  97. package/components/common/diagramMain/lib/models/types.ts +21 -21
  98. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  99. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  100. package/components/common/diagramMain/modals/Modals.vue +483 -479
  101. package/components/common/diagramMain/modals/UnsavedChangesModal.vue +32 -0
  102. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +104 -102
  103. package/components/common/diagramMain/modals/editSettings/EditSettingsNew.vue +285 -0
  104. package/components/common/diagramMain/modals/editSettings/EditSettingsOld.vue +254 -0
  105. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModal.vue +31 -0
  106. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModalNew.vue +82 -0
  107. package/components/common/diagramMain/modals/editSettings/{ConfirmTeamingSettingsModal.vue → confirmTeamingSettingsModal/ConfirmTeamingSettingsModalOld.vue} +2 -5
  108. package/components/common/diagramMain/modals/editSettings/lib/config/config.ts +15 -0
  109. package/components/common/diagramMain/modals/editSettings/lib/models/interfaces.ts +6 -0
  110. package/components/common/diagramMain/modals/editSettings/lib/utils/utils.ts +177 -0
  111. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModal.vue +137 -0
  112. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModalNew.vue +91 -0
  113. package/components/common/diagramMain/modals/editSettings/{EditSettingsModal.vue → modal/EditSettingsModalOld.vue} +12 -51
  114. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkProperties.vue +158 -0
  115. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkPropertiesNew.vue +262 -0
  116. package/components/common/diagramMain/modals/editSettings/tabs/{NetworkProperties.vue → networkProperties/NetworkPropertiesOld.vue} +12 -113
  117. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettings.vue +192 -0
  118. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettingsNew.vue +388 -0
  119. package/components/common/diagramMain/modals/editSettings/tabs/port/{IpvFourSettings.vue → ipvFourSettings/IpvFourSettingsOld.vue} +11 -152
  120. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortProperties.vue +139 -0
  121. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortPropertiesNew.vue +286 -0
  122. package/components/common/diagramMain/modals/editSettings/tabs/port/{PortProperties.vue → portProperties/PortPropertiesOld.vue} +12 -103
  123. package/components/common/diagramMain/modals/editSettings/tabs/security/Security.vue +209 -0
  124. package/components/common/diagramMain/modals/editSettings/tabs/security/SecurityNew.vue +233 -0
  125. package/components/common/diagramMain/modals/editSettings/tabs/{Security.vue → security/SecurityOld.vue} +25 -48
  126. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchProperties.vue +128 -0
  127. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesNew.vue +235 -0
  128. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesOld.vue +87 -0
  129. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailover.vue +99 -0
  130. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailoverNew.vue +319 -0
  131. package/components/common/diagramMain/modals/editSettings/tabs/{TeamingFailover.vue → teamingFailover/TeamingFailoverOld.vue} +11 -48
  132. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShaping.vue +173 -0
  133. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShapingNew.vue +348 -0
  134. package/components/common/diagramMain/modals/editSettings/tabs/{TrafficShaping.vue → trafficShaping/TrafficShapingOld.vue} +12 -134
  135. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  136. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +43 -2
  137. package/components/common/diagramMain/modals/lib/config/index.ts +2 -1
  138. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  139. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  140. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  141. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  142. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  143. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  144. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  145. package/components/common/diagramMain/modals/lib/utils/index.ts +34 -4
  146. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  147. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  148. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  149. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  150. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  151. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  152. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  153. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  154. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  155. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  156. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  157. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  158. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  159. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  160. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  161. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  162. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  163. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  164. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  165. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  166. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  167. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  168. package/components/common/diagramMain/network/Contents.vue +497 -497
  169. package/components/common/diagramMain/network/Lines.vue +107 -107
  170. package/components/common/diagramMain/network/Network.vue +141 -141
  171. package/components/common/diagramMain/network/block/Block.vue +37 -37
  172. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  173. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  174. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  175. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  176. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  177. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  178. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  179. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  180. package/components/common/diagramMain/port/Port.vue +580 -580
  181. package/components/common/diagramMain/port/Ports.vue +47 -47
  182. package/components/common/diagramMain/skeleton/Header.vue +31 -0
  183. package/components/common/diagramMain/skeleton/Switch.vue +75 -0
  184. package/components/common/diagramMain/switch/Switch.vue +180 -180
  185. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  186. package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
  187. package/components/common/layout/theHeader/modals/reconnect/New.vue +38 -30
  188. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +8 -9
  189. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +4 -0
  190. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +9 -2
  191. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +11 -7
  192. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +7 -1
  193. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions.ts +8 -5
  194. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +9 -5
  195. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions.ts +1 -1
  196. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +5 -9
  197. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +9 -6
  198. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +3 -1
  199. package/components/common/modals/Rename.vue +3 -1
  200. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  201. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  202. package/components/common/noDataProvided/NoDataProvidedNew.vue +1 -1
  203. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +4 -4
  204. package/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/table.ts +4 -4
  205. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +184 -253
  206. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/ActionsNew.vue +1 -1
  207. package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +9 -0
  208. package/components/common/pages/scheduledTasks/table/new/New.vue +12 -10
  209. package/components/common/pages/tasks/Tasks.vue +4 -1
  210. package/components/common/pages/tasks/table/Table.vue +25 -23
  211. package/components/common/readyToComplete/New.vue +1 -0
  212. package/components/common/split/horizontal/New.vue +1 -1
  213. package/components/common/split/horizontal/Old.vue +1 -1
  214. package/components/common/split/vertical/New.vue +42 -8
  215. package/components/common/split/vertical/Old.vue +31 -2
  216. package/components/common/split/vertical/Vertical.vue +4 -0
  217. package/components/common/tools/Actions.vue +7 -3
  218. package/components/common/tools/lib/models/interfaces.ts +1 -0
  219. package/components/common/vm/actions/add/New.vue +21 -6
  220. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +14 -1
  221. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/New.vue +5 -0
  222. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Old.vue +1 -0
  223. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/New.vue +1 -0
  224. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/New.vue +2 -0
  225. package/components/common/vm/actions/common/select/options/New.vue +14 -12
  226. package/components/common/vm/actions/common/select/options/Old.vue +16 -15
  227. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +13 -15
  228. package/components/common/vm/actions/confirm/Confirm.vue +3 -0
  229. package/components/common/vm/actions/rename/Old.vue +1 -0
  230. package/components/common/vm/snapshots/DetailView.vue +6 -6
  231. package/components/common/wizards/datastore/add/New.vue +6 -0
  232. package/components/common/wizards/datastore/add/lib/config/steps.ts +1 -1
  233. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
  234. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +1 -1
  235. package/components/common/wizards/network/add/Add.vue +13 -2
  236. package/components/common/wizards/network/add/AddNew.vue +22 -26
  237. package/components/common/wizards/network/add/lib/config/initialData.ts +6 -4
  238. package/components/common/wizards/network/add/lib/config/steps.ts +1 -1
  239. package/components/common/wizards/network/add/lib/models/interfaces.ts +1 -0
  240. package/components/common/wizards/network/add/lib/utils/utils.ts +1 -1
  241. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsOld.vue +5 -1
  242. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +2 -8
  243. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsOld.vue +3 -0
  244. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +2 -8
  245. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesOld.vue +6 -2
  246. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +10 -3
  247. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +4 -0
  248. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +5 -1
  249. package/components/common/wizards/network/add/validations/common.ts +1 -1
  250. package/components/common/wizards/vm/migrate/New.vue +13 -3
  251. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +5 -0
  252. package/components/common/wizards/vm/migrate/lib/config/steps.ts +3 -2
  253. package/components/common/wizards/vm/migrate/steps/computeResource/New.vue +2 -1
  254. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/New.vue +40 -21
  255. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable.ts +340 -0
  256. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable.ts +44 -14
  257. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/models/enums.ts +4 -0
  258. package/components/common/wizards/vm/migrate/steps/priority/New.vue +7 -2
  259. package/components/common/wizards/vm/migrate/steps/selectStorage/New.vue +22 -7
  260. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/New.vue +6 -0
  261. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/New.vue +4 -1
  262. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/lib/config/datastoreTable.ts +12 -16
  263. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/New.vue +10 -5
  264. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +16 -11
  265. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +7 -1
  266. package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/New.vue +17 -10
  267. package/components/common/wizards/vm/migrate/steps/type/TypeNew.vue +1 -0
  268. package/components/common/wizards/vm/migrate/vmOrigin/New.vue +35 -15
  269. package/lib/models/store/tasks/enums.ts +3 -0
  270. package/lib/models/store/tasks/types.ts +7 -6
  271. package/package.json +2 -2
  272. package/plugins/directives.ts +3 -5
  273. package/public/spice-console/application/agent.js +18 -17
  274. package/store/tasks/actions.ts +26 -8
  275. package/store/tasks/mappers/recentTasks.ts +1 -0
  276. package/components/common/certificate/Info/Info.vue +0 -61
  277. package/components/common/certificate/Info/new/New.vue +0 -285
  278. package/components/common/certificate/Info/new/lib/config/index.ts +0 -59
  279. package/components/common/certificate/Info/new/lib/models/interfaces.ts +0 -3
  280. package/components/common/certificate/Info/new/lib/utils/index.ts +0 -10
  281. package/components/common/certificate/Old.vue +0 -27
  282. package/components/common/certificate/new/New.vue +0 -30
  283. package/components/common/certificate/new/Skeleton.vue +0 -155
  284. package/components/common/certificate/tools/New.vue +0 -48
  285. package/components/common/certificate/tools/Old.vue +0 -39
  286. package/components/common/certificate/tools/lib/config/tabsPannel.ts +0 -20
  287. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +0 -164
@@ -1,473 +1,473 @@
1
- <template>
2
- <common-adapter-manager-new
3
- v-if="isNewView"
4
- :is-active="props.isActive"
5
- :full-mode="props.fullMode"
6
- :core-adapters="props.coreAdapters"
7
- :is-add-modal="props.isAddModal"
8
- :is-dark-mode="props.isDarkMode"
9
- :adapters="props.adapters"
10
- :adapter-status="adapterStatusLocal"
11
- :existing-adapters-for-adding="props.existingAdaptersForAdding"
12
- :selected-is-header="selectedIsHeader"
13
- :is-disabled-move-up="isDisabledMoveUp"
14
- :is-disabled-move-down="isDisabledMoveDown"
15
- :is-disabled-remove="isDisabledRemove"
16
- :selected-adapter-id="selectedAdapterId"
17
- :view-settings-fields="viewSettingsFields"
18
- :selected-add-adapter-id="selectedAddAdapterId"
19
- :is-active-header="isActiveHeader"
20
- :is-unused-header="isUnusedHeader"
21
- :is-standby-header="isStandbyHeader"
22
- :has-selected-adapter="hasSelectedAdapter"
23
- :removed-adapters="removedAdapters"
24
- :adapter-view-settings-modal-tabs="adapterViewSettingsModalTabs"
25
- @get-free-adapters="onShowAddAdapterModal"
26
- @select-add-adapter="onSelectAddAdapter"
27
- @remove-adapter="onRemove"
28
- @select-adapter="onSelectAdapter"
29
- @move-down="onMoveDown"
30
- @move-up="onMoveUp"
31
- @click-empty-space="onClickEmptySpace"
32
- />
33
- <common-adapter-manager-old
34
- v-else
35
- :is-active="props.isActive"
36
- :full-mode="props.fullMode"
37
- :is-add-modal="props.isAddModal"
38
- :is-dark-mode="props.isDarkMode"
39
- :adapters="props.adapters"
40
- :adapter-status="adapterStatusLocal"
41
- :existing-adapters-for-adding="props.existingAdaptersForAdding"
42
- :selected-is-header="selectedIsHeader"
43
- :is-disabled-move-up="isDisabledMoveUp"
44
- :is-disabled-move-down="isDisabledMoveDown"
45
- :is-disabled-remove="isDisabledRemove"
46
- :selected-adapter-id="selectedAdapterId"
47
- :view-settings-fields="viewSettingsFields"
48
- :selected-add-adapter-id="selectedAddAdapterId"
49
- :is-active-header="isActiveHeader"
50
- :is-unused-header="isUnusedHeader"
51
- :is-standby-header="isStandbyHeader"
52
- :has-selected-adapter="hasSelectedAdapter"
53
- :removed-adapters="removedAdapters"
54
- :adapter-view-settings-modal-tabs="adapterViewSettingsModalTabs"
55
- @get-free-adapters="onShowAddAdapterModal"
56
- @select-add-adapter="onSelectAddAdapter"
57
- @remove-adapter="onRemove"
58
- @select-adapter="onSelectAdapter"
59
- @move-down="onMoveDown"
60
- @move-up="onMoveUp"
61
- @click-empty-space="onClickEmptySpace"
62
- />
63
- <teleport to="body">
64
- <common-adapter-manager-add-adapter-modal
65
- v-if="!props.isAddModal && existingAdaptersForAdding.length"
66
- :is-dark-mode="props.isDarkMode"
67
- :show="isShowAddAdapterModal"
68
- :existing-adapters-for-adding="existingAdaptersForAdding"
69
- :selected-add-adapter-id="selectedAddAdapterId"
70
- :adapters="props.adapters"
71
- @hide="onHideAddAdapterModal"
72
- @add-adapter="onAddSelectedAdapters"
73
- @select-add-adapter="onSelectAddAdapter"
74
- />
75
- <common-adapter-manager-add-adapter-warning-modal
76
- v-if="!props.isAddModal && !existingAdaptersForAdding.length"
77
- :test-id="props.testId"
78
- :show="isShowAddAdapterModal"
79
- @hide="onHideAddAdapterModal"
80
- />
81
- <common-adapter-manager-no-connected-active-adapters-modal
82
- :show="props.isShowNoConnectedActiveAdaptersModal"
83
- @hide="onHideNoConnectedActiveAdaptersModal"
84
- @submit="onConfirmNoActiveAdaptersModal"
85
- />
86
- <common-adapter-manager-no-active-adapters-modal
87
- :show="props.isShowNoActiveAdaptersModal"
88
- @hide="onHideNoActiveAdaptersModal"
89
- @submit="onConfirmNoActiveAdaptersModal"
90
- />
91
- </teleport>
92
- </template>
93
-
94
- <script setup lang="ts">
95
- import type {
96
- UI_I_Localization,
97
- UI_I_ItemsWithTotalCounts,
98
- } from '~/lib/models/interfaces'
99
- import type { UI_T_AdapterStatusNames } from '~/components/common/diagramMain/lib/models/types'
100
- import type {
101
- UI_I_Adapter,
102
- UI_I_AdapterStatus,
103
- UI_I_ModalsInitialData,
104
- UI_I_SwitchAdapterItem,
105
- } from '~/components/common/diagramMain/lib/models/interfaces'
106
- import {
107
- adapterViewSettingsModalTabsFunc,
108
- adapterViewSettingsFunc,
109
- } from '~/components/common/diagramMain/modals/lib/config'
110
- import { allAdaptersFunc } from '~/components/common/adapterManager/lib/config'
111
-
112
- const props = withDefaults(
113
- defineProps<{
114
- isActive?: boolean
115
- fullMode?: boolean
116
- isAddModal?: boolean
117
- isDarkMode: boolean
118
- adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
119
- initialData?: UI_I_ModalsInitialData
120
- addedAdapters?: string[]
121
- coreAdapters?: string[]
122
- freeAdapters?: UI_I_Adapter[]
123
- adapterStatus?: UI_I_AdapterStatus
124
- testId: string
125
- isShowNoConnectedActiveAdaptersModal?: boolean
126
- isShowNoActiveAdaptersModal?: boolean
127
- existingAdaptersForAdding?: (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
128
- selectedAddAdapterId?: string
129
- }>(),
130
- {
131
- isActive: true,
132
- fullMode: false,
133
- isAddModal: false,
134
- adapters: () => ({
135
- total_items: 0,
136
- total_pages: 0,
137
- items: [],
138
- }),
139
- initialData: () => ({}),
140
- addedAdapters: () => [],
141
- coreAdapters: () => [],
142
- freeAdapters: () => [],
143
- adapterStatus: () => ({
144
- active: [],
145
- standby: [],
146
- unused: [],
147
- }),
148
- isShowNoConnectedActiveAdaptersModal: false,
149
- isShowNoActiveAdaptersModal: false,
150
- existingAdaptersForAdding: () => [],
151
- selectedAddAdapterId: '',
152
- }
153
- )
154
-
155
- const { $store }: any = useNuxtApp()
156
-
157
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
158
-
159
- const existingAdaptersForAdding = computed<
160
- (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
161
- >(() =>
162
- [
163
- ...props.freeAdapters,
164
- ...props.adapters.items.filter((adapter: UI_I_SwitchAdapterItem) =>
165
- removedAdapters.value.includes(adapter.name)
166
- ),
167
- ].filter(
168
- (adapter: UI_I_Adapter | UI_I_SwitchAdapterItem) =>
169
- !props.addedAdapters?.includes(adapter.name)
170
- )
171
- )
172
-
173
- const localization = computed<UI_I_Localization>(() => useLocal())
174
-
175
- const adapterStatusLocal = ref<UI_I_AdapterStatus>(
176
- useDeepCopy(props.adapterStatus)
177
- )
178
-
179
- const isDisabledMoveUp = computed<boolean>(
180
- () =>
181
- selectedIsHeader.value ||
182
- adapterStatusLocal.value.active[0] === selectedAdapterId.value
183
- )
184
- const isDisabledMoveDown = computed<boolean>(
185
- () =>
186
- selectedIsHeader.value ||
187
- adapterStatusLocal.value.unused[
188
- adapterStatusLocal.value.unused.length - 1
189
- ] === selectedAdapterId.value
190
- )
191
- const hasSelectedAdapter = computed<boolean>(
192
- () =>
193
- (selectedAdapterId.value !== '' &&
194
- !selectedAdapterId.value.includes('header-')) ||
195
- selectedAddAdapterId.value !== ''
196
- )
197
- const isDisabledRemove = computed<boolean>(() =>
198
- props.coreAdapters.includes(selectedAdapterId.value)
199
- )
200
-
201
- const selectedIsHeader = computed<boolean>(
202
- () => !selectedAdapterId.value || selectedAdapterId.value.includes('header-')
203
- )
204
- const isActiveHeader = computed<boolean>(
205
- () => selectedAdapterId.value === 'header-active'
206
- )
207
- const isUnusedHeader = computed<boolean>(
208
- () => selectedAdapterId.value === 'header-unused'
209
- )
210
- const isStandbyHeader = computed<boolean>(
211
- () => selectedAdapterId.value === 'header-stand-by'
212
- )
213
-
214
- watch(
215
- () => props.adapterStatus,
216
- (newAdapterStatus: UI_I_AdapterStatus) => {
217
- adapterStatusLocal.value = useDeepCopy(newAdapterStatus)
218
- },
219
- { deep: true, immediate: true }
220
- )
221
-
222
- const removedAdapters = ref<string[]>([])
223
- const addedAdapters = ref<string[]>(props.addedAdapters)
224
-
225
- const selectedAdapterId = ref<string>('')
226
-
227
- const onSelectAdapter = (adapterId: string): void => {
228
- selectedAdapterId.value = adapterId
229
- }
230
-
231
- const selectedAddAdapterId = ref<string>('')
232
-
233
- const onSelectAddAdapter = (adapterId: string): void => {
234
- emits('select-add-adapter', adapterId)
235
- selectedAddAdapterId.value = adapterId
236
- }
237
-
238
- const moveDownForStatusGroup = (
239
- status: UI_T_AdapterStatusNames,
240
- adapterId: string
241
- ): void => {
242
- const isActiveSelectedAdapter =
243
- adapterStatusLocal.value[status].includes(adapterId)
244
-
245
- if (!isActiveSelectedAdapter) return
246
-
247
- const nextStatus: UI_T_AdapterStatusNames =
248
- status === 'active' ? 'standby' : 'unused'
249
-
250
- const selectedAdapterIndex =
251
- adapterStatusLocal.value[status].indexOf(adapterId)
252
-
253
- const activeLength = adapterStatusLocal.value[status].length
254
-
255
- const activeLastIndex = activeLength - 1
256
- const isNotLastOfActiveAdapters = selectedAdapterIndex !== activeLastIndex
257
-
258
- const isLastOfActiveAdapters = selectedAdapterIndex === activeLastIndex
259
-
260
- if (isNotLastOfActiveAdapters) {
261
- adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
262
- adapterStatusLocal.value[status].splice(
263
- selectedAdapterIndex + 1,
264
- 0,
265
- adapterId
266
- )
267
- }
268
- if (isLastOfActiveAdapters && status !== 'unused') {
269
- adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
270
- adapterStatusLocal.value[nextStatus].unshift(adapterId)
271
- }
272
- emits('change-adapter-status', adapterStatusLocal.value)
273
- }
274
-
275
- const moveUpForStatusGroup = (
276
- status: UI_T_AdapterStatusNames,
277
- adapterId: string
278
- ): void => {
279
- const isActiveSelectedAdapter =
280
- adapterStatusLocal.value[status].includes(adapterId)
281
-
282
- if (!isActiveSelectedAdapter) return
283
-
284
- const nextStatus: UI_T_AdapterStatusNames =
285
- status === 'unused' ? 'standby' : 'active'
286
- const selectedAdapterIndex =
287
- adapterStatusLocal.value[status].indexOf(adapterId)
288
- const activeFirstIndex = 0
289
- const isNotFirstOfActiveAdapters = selectedAdapterIndex !== activeFirstIndex
290
- const isFirstOfActiveAdapters = selectedAdapterIndex === activeFirstIndex
291
- if (isNotFirstOfActiveAdapters) {
292
- adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
293
- adapterStatusLocal.value[status].splice(
294
- selectedAdapterIndex - 1,
295
- 0,
296
- adapterId
297
- )
298
- }
299
- if (isFirstOfActiveAdapters && status !== 'active') {
300
- adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
301
- adapterStatusLocal.value[nextStatus].push(adapterId)
302
- }
303
- emits('change-adapter-status', adapterStatusLocal.value)
304
- }
305
-
306
- const onMoveDownWithId = (adapterId: string): void => {
307
- moveDownForStatusGroup('unused', adapterId)
308
- moveDownForStatusGroup('standby', adapterId)
309
- moveDownForStatusGroup('active', adapterId)
310
- }
311
-
312
- const onMoveDown = () => {
313
- onMoveDownWithId(selectedAdapterId.value)
314
- }
315
-
316
- const onMoveUpWithId = (adapterId: string): void => {
317
- moveUpForStatusGroup('active', adapterId)
318
- moveUpForStatusGroup('standby', adapterId)
319
- moveUpForStatusGroup('unused', adapterId)
320
- }
321
-
322
- const onMoveUp = () => {
323
- onMoveUpWithId(selectedAdapterId.value)
324
- }
325
-
326
- const onRemoveWithId = (adapterId: string): void => {
327
- adapterStatusLocal.value.active.includes(adapterId) &&
328
- (adapterStatusLocal.value.active = adapterStatusLocal.value.active.filter(
329
- (id: string) => id !== adapterId
330
- ))
331
- adapterStatusLocal.value.standby.includes(adapterId) &&
332
- (adapterStatusLocal.value.standby = adapterStatusLocal.value.standby.filter(
333
- (id: string) => id !== adapterId
334
- ))
335
- adapterStatusLocal.value.unused.includes(adapterId) &&
336
- (adapterStatusLocal.value.unused = adapterStatusLocal.value.unused.filter(
337
- (id: string) => id !== adapterId
338
- ))
339
-
340
- !props.freeAdapters.find(
341
- (adapter: UI_I_Adapter) => adapter.name === adapterId
342
- ) && removedAdapters.value.push(adapterId)
343
- addedAdapters.value = [
344
- ...adapterStatusLocal.value.active,
345
- ...adapterStatusLocal.value.unused,
346
- ...adapterStatusLocal.value.standby,
347
- ]
348
- emits('change-added-adapters', addedAdapters.value)
349
- emits('change-adapter-status', adapterStatusLocal.value)
350
-
351
- if (isNewView.value && adapterId !== selectedAdapterId.value) {
352
- return
353
- }
354
- selectedAdapterId.value = ''
355
- }
356
-
357
- const onRemove = (id?: string) => {
358
- onRemoveWithId(id || selectedAdapterId.value)
359
- }
360
-
361
- const onClickEmptySpace = (event: Event): void => {
362
- const targetElement = event.target as HTMLElement
363
-
364
- if (isNewView.value) {
365
- const addButton = targetElement.closest('.manager-header-add')
366
- const removeButton = targetElement.closest('.adapter-remove')
367
-
368
- if (!addButton && !removeButton) {
369
- selectedAdapterId.value = ''
370
- selectedAddAdapterId.value = ''
371
- emits('select-add-adapter', '')
372
- }
373
- }
374
- if (!isNewView.value && targetElement.classList.contains('k-grid-content')) {
375
- selectedAdapterId.value = ''
376
- selectedAddAdapterId.value = ''
377
- emits('select-add-adapter', '')
378
- }
379
- }
380
-
381
- const isShowAddAdapterModal = ref<boolean>(false)
382
-
383
- const onHideAddAdapterModal = (): void => {
384
- isShowAddAdapterModal.value = false
385
- }
386
-
387
- const emits = defineEmits<{
388
- (event: 'get-free-adapters', showModal: () => void): void
389
- (event: 'change-added-adapters', addedAdapters: string[]): void
390
- (event: 'change-adapter-status', adapterStatus: UI_I_AdapterStatus): void
391
- (event: 'hide-no-connected-active-adapters-modal'): void
392
- (event: 'hide-no-active-adapters-modal'): void
393
- (event: 'submit-from-modal'): void
394
- (event: 'select-add-adapter', id: string): void
395
- }>()
396
-
397
- const onHideNoConnectedActiveAdaptersModal = () => {
398
- emits('hide-no-connected-active-adapters-modal')
399
- }
400
- const onHideNoActiveAdaptersModal = () => {
401
- emits('hide-no-active-adapters-modal')
402
- }
403
- const onConfirmNoActiveAdaptersModal = () => {
404
- emits('submit-from-modal')
405
- }
406
-
407
- const showAddAdapterModal = () => {
408
- isShowAddAdapterModal.value = true
409
- }
410
- const onShowAddAdapterModal = (): void => {
411
- emits('get-free-adapters', showAddAdapterModal)
412
- }
413
-
414
- const onAddSelectedAdapters = (addAdapterId: string): void => {
415
- adapterStatusLocal.value.active.push(addAdapterId)
416
- removedAdapters.value = removedAdapters.value.filter(
417
- (id: string) => id !== addAdapterId
418
- )
419
- addedAdapters.value = [
420
- ...adapterStatusLocal.value.active,
421
- ...adapterStatusLocal.value.unused,
422
- ...adapterStatusLocal.value.standby,
423
- ]
424
- emits('change-added-adapters', addedAdapters.value)
425
- emits('change-adapter-status', adapterStatusLocal.value)
426
- onHideAddAdapterModal()
427
- }
428
-
429
- const adapterViewSettingsModalTabs = computed(() =>
430
- adapterViewSettingsModalTabsFunc(localization.value)
431
- )
432
-
433
- const allAdapters = computed<UI_I_Adapter[]>(() =>
434
- allAdaptersFunc(props.adapters.items)
435
- )
436
-
437
- const addAdapterViewSettings = computed(() =>
438
- adapterViewSettingsFunc(
439
- localization.value,
440
- allAdapters.value.find(
441
- (adapter: UI_I_Adapter) => adapter.name === props.selectedAddAdapterId
442
- ) || {},
443
- isNewView.value
444
- )
445
- )
446
-
447
- const selectedAdapterData = computed(
448
- () =>
449
- allAdapters.value.find(
450
- (adapter: UI_I_Adapter) => adapter.name === selectedAdapterId.value
451
- ) as UI_I_ModalsInitialData
452
- )
453
-
454
- const selectedAdapterDataFromFree = computed(
455
- () =>
456
- props.freeAdapters?.find(
457
- (adapter: UI_I_Adapter) => adapter.name === selectedAdapterId.value
458
- ) as UI_I_ModalsInitialData
459
- )
460
-
461
- const adapterViewSettings = computed(() => {
462
- if (!selectedAdapterId.value) return []
463
- return adapterViewSettingsFunc(
464
- localization.value,
465
- selectedAdapterData.value || selectedAdapterDataFromFree.value,
466
- isNewView.value
467
- )
468
- })
469
-
470
- const viewSettingsFields = computed(() =>
471
- props.isAddModal ? addAdapterViewSettings.value : adapterViewSettings.value
472
- )
473
- </script>
1
+ <template>
2
+ <common-adapter-manager-new
3
+ v-if="isNewView"
4
+ :is-active="props.isActive"
5
+ :full-mode="props.fullMode"
6
+ :core-adapters="props.coreAdapters"
7
+ :is-add-modal="props.isAddModal"
8
+ :is-dark-mode="props.isDarkMode"
9
+ :adapters="props.adapters"
10
+ :adapter-status="adapterStatusLocal"
11
+ :existing-adapters-for-adding="props.existingAdaptersForAdding"
12
+ :selected-is-header="selectedIsHeader"
13
+ :is-disabled-move-up="isDisabledMoveUp"
14
+ :is-disabled-move-down="isDisabledMoveDown"
15
+ :is-disabled-remove="isDisabledRemove"
16
+ :selected-adapter-id="selectedAdapterId"
17
+ :view-settings-fields="viewSettingsFields"
18
+ :selected-add-adapter-id="selectedAddAdapterId"
19
+ :is-active-header="isActiveHeader"
20
+ :is-unused-header="isUnusedHeader"
21
+ :is-standby-header="isStandbyHeader"
22
+ :has-selected-adapter="hasSelectedAdapter"
23
+ :removed-adapters="removedAdapters"
24
+ :adapter-view-settings-modal-tabs="adapterViewSettingsModalTabs"
25
+ @get-free-adapters="onShowAddAdapterModal"
26
+ @select-add-adapter="onSelectAddAdapter"
27
+ @remove-adapter="onRemove"
28
+ @select-adapter="onSelectAdapter"
29
+ @move-down="onMoveDown"
30
+ @move-up="onMoveUp"
31
+ @click-empty-space="onClickEmptySpace"
32
+ />
33
+ <common-adapter-manager-old
34
+ v-else
35
+ :is-active="props.isActive"
36
+ :full-mode="props.fullMode"
37
+ :is-add-modal="props.isAddModal"
38
+ :is-dark-mode="props.isDarkMode"
39
+ :adapters="props.adapters"
40
+ :adapter-status="adapterStatusLocal"
41
+ :existing-adapters-for-adding="props.existingAdaptersForAdding"
42
+ :selected-is-header="selectedIsHeader"
43
+ :is-disabled-move-up="isDisabledMoveUp"
44
+ :is-disabled-move-down="isDisabledMoveDown"
45
+ :is-disabled-remove="isDisabledRemove"
46
+ :selected-adapter-id="selectedAdapterId"
47
+ :view-settings-fields="viewSettingsFields"
48
+ :selected-add-adapter-id="selectedAddAdapterId"
49
+ :is-active-header="isActiveHeader"
50
+ :is-unused-header="isUnusedHeader"
51
+ :is-standby-header="isStandbyHeader"
52
+ :has-selected-adapter="hasSelectedAdapter"
53
+ :removed-adapters="removedAdapters"
54
+ :adapter-view-settings-modal-tabs="adapterViewSettingsModalTabs"
55
+ @get-free-adapters="onShowAddAdapterModal"
56
+ @select-add-adapter="onSelectAddAdapter"
57
+ @remove-adapter="onRemove"
58
+ @select-adapter="onSelectAdapter"
59
+ @move-down="onMoveDown"
60
+ @move-up="onMoveUp"
61
+ @click-empty-space="onClickEmptySpace"
62
+ />
63
+ <teleport to="body">
64
+ <common-adapter-manager-add-adapter-modal
65
+ v-if="!props.isAddModal && existingAdaptersForAdding.length"
66
+ :is-dark-mode="props.isDarkMode"
67
+ :show="isShowAddAdapterModal"
68
+ :existing-adapters-for-adding="existingAdaptersForAdding"
69
+ :selected-add-adapter-id="selectedAddAdapterId"
70
+ :adapters="props.adapters"
71
+ @hide="onHideAddAdapterModal"
72
+ @add-adapter="onAddSelectedAdapters"
73
+ @select-add-adapter="onSelectAddAdapter"
74
+ />
75
+ <common-adapter-manager-add-adapter-warning-modal
76
+ v-if="!props.isAddModal && !existingAdaptersForAdding.length"
77
+ :test-id="props.testId"
78
+ :show="isShowAddAdapterModal"
79
+ @hide="onHideAddAdapterModal"
80
+ />
81
+ <common-adapter-manager-no-connected-active-adapters-modal
82
+ :show="props.isShowNoConnectedActiveAdaptersModal"
83
+ @hide="onHideNoConnectedActiveAdaptersModal"
84
+ @submit="onConfirmNoActiveAdaptersModal"
85
+ />
86
+ <common-adapter-manager-no-active-adapters-modal
87
+ :show="props.isShowNoActiveAdaptersModal"
88
+ @hide="onHideNoActiveAdaptersModal"
89
+ @submit="onConfirmNoActiveAdaptersModal"
90
+ />
91
+ </teleport>
92
+ </template>
93
+
94
+ <script setup lang="ts">
95
+ import type {
96
+ UI_I_Localization,
97
+ UI_I_ItemsWithTotalCounts,
98
+ } from '~/lib/models/interfaces'
99
+ import type { UI_T_AdapterStatusNames } from '~/components/common/diagramMain/lib/models/types'
100
+ import type {
101
+ UI_I_Adapter,
102
+ UI_I_AdapterStatus,
103
+ UI_I_ModalsInitialData,
104
+ UI_I_SwitchAdapterItem,
105
+ } from '~/components/common/diagramMain/lib/models/interfaces'
106
+ import {
107
+ adapterViewSettingsModalTabsFunc,
108
+ adapterViewSettingsFunc,
109
+ } from '~/components/common/diagramMain/modals/lib/config'
110
+ import { allAdaptersFunc } from '~/components/common/adapterManager/lib/config'
111
+
112
+ const props = withDefaults(
113
+ defineProps<{
114
+ isActive?: boolean
115
+ fullMode?: boolean
116
+ isAddModal?: boolean
117
+ isDarkMode: boolean
118
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
119
+ initialData?: UI_I_ModalsInitialData
120
+ addedAdapters?: string[]
121
+ coreAdapters?: string[]
122
+ freeAdapters?: UI_I_Adapter[]
123
+ adapterStatus?: UI_I_AdapterStatus
124
+ testId: string
125
+ isShowNoConnectedActiveAdaptersModal?: boolean
126
+ isShowNoActiveAdaptersModal?: boolean
127
+ existingAdaptersForAdding?: (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
128
+ selectedAddAdapterId?: string
129
+ }>(),
130
+ {
131
+ isActive: true,
132
+ fullMode: false,
133
+ isAddModal: false,
134
+ adapters: () => ({
135
+ total_items: 0,
136
+ total_pages: 0,
137
+ items: [],
138
+ }),
139
+ initialData: () => ({}),
140
+ addedAdapters: () => [],
141
+ coreAdapters: () => [],
142
+ freeAdapters: () => [],
143
+ adapterStatus: () => ({
144
+ active: [],
145
+ standby: [],
146
+ unused: [],
147
+ }),
148
+ isShowNoConnectedActiveAdaptersModal: false,
149
+ isShowNoActiveAdaptersModal: false,
150
+ existingAdaptersForAdding: () => [],
151
+ selectedAddAdapterId: '',
152
+ }
153
+ )
154
+
155
+ const { $store }: any = useNuxtApp()
156
+
157
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
158
+
159
+ const existingAdaptersForAdding = computed<
160
+ (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
161
+ >(() =>
162
+ [
163
+ ...props.freeAdapters,
164
+ ...props.adapters.items.filter((adapter: UI_I_SwitchAdapterItem) =>
165
+ removedAdapters.value.includes(adapter.name)
166
+ ),
167
+ ].filter(
168
+ (adapter: UI_I_Adapter | UI_I_SwitchAdapterItem) =>
169
+ !props.addedAdapters?.includes(adapter.name)
170
+ )
171
+ )
172
+
173
+ const localization = computed<UI_I_Localization>(() => useLocal())
174
+
175
+ const adapterStatusLocal = ref<UI_I_AdapterStatus>(
176
+ useDeepCopy(props.adapterStatus)
177
+ )
178
+
179
+ const isDisabledMoveUp = computed<boolean>(
180
+ () =>
181
+ selectedIsHeader.value ||
182
+ adapterStatusLocal.value.active[0] === selectedAdapterId.value
183
+ )
184
+ const isDisabledMoveDown = computed<boolean>(
185
+ () =>
186
+ selectedIsHeader.value ||
187
+ adapterStatusLocal.value.unused[
188
+ adapterStatusLocal.value.unused.length - 1
189
+ ] === selectedAdapterId.value
190
+ )
191
+ const hasSelectedAdapter = computed<boolean>(
192
+ () =>
193
+ (selectedAdapterId.value !== '' &&
194
+ !selectedAdapterId.value.includes('header-')) ||
195
+ selectedAddAdapterId.value !== ''
196
+ )
197
+ const isDisabledRemove = computed<boolean>(() =>
198
+ props.coreAdapters.includes(selectedAdapterId.value)
199
+ )
200
+
201
+ const selectedIsHeader = computed<boolean>(
202
+ () => !selectedAdapterId.value || selectedAdapterId.value.includes('header-')
203
+ )
204
+ const isActiveHeader = computed<boolean>(
205
+ () => selectedAdapterId.value === 'header-active'
206
+ )
207
+ const isUnusedHeader = computed<boolean>(
208
+ () => selectedAdapterId.value === 'header-unused'
209
+ )
210
+ const isStandbyHeader = computed<boolean>(
211
+ () => selectedAdapterId.value === 'header-stand-by'
212
+ )
213
+
214
+ watch(
215
+ () => props.adapterStatus,
216
+ (newAdapterStatus: UI_I_AdapterStatus) => {
217
+ adapterStatusLocal.value = useDeepCopy(newAdapterStatus)
218
+ },
219
+ { deep: true, immediate: true }
220
+ )
221
+
222
+ const removedAdapters = ref<string[]>([])
223
+ const addedAdapters = ref<string[]>(props.addedAdapters)
224
+
225
+ const selectedAdapterId = ref<string>('')
226
+
227
+ const onSelectAdapter = (adapterId: string): void => {
228
+ selectedAdapterId.value = adapterId
229
+ }
230
+
231
+ const selectedAddAdapterId = ref<string>('')
232
+
233
+ const onSelectAddAdapter = (adapterId: string): void => {
234
+ emits('select-add-adapter', adapterId)
235
+ selectedAddAdapterId.value = adapterId
236
+ }
237
+
238
+ const moveDownForStatusGroup = (
239
+ status: UI_T_AdapterStatusNames,
240
+ adapterId: string
241
+ ): void => {
242
+ const isActiveSelectedAdapter =
243
+ adapterStatusLocal.value[status].includes(adapterId)
244
+
245
+ if (!isActiveSelectedAdapter) return
246
+
247
+ const nextStatus: UI_T_AdapterStatusNames =
248
+ status === 'active' ? 'standby' : 'unused'
249
+
250
+ const selectedAdapterIndex =
251
+ adapterStatusLocal.value[status].indexOf(adapterId)
252
+
253
+ const activeLength = adapterStatusLocal.value[status].length
254
+
255
+ const activeLastIndex = activeLength - 1
256
+ const isNotLastOfActiveAdapters = selectedAdapterIndex !== activeLastIndex
257
+
258
+ const isLastOfActiveAdapters = selectedAdapterIndex === activeLastIndex
259
+
260
+ if (isNotLastOfActiveAdapters) {
261
+ adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
262
+ adapterStatusLocal.value[status].splice(
263
+ selectedAdapterIndex + 1,
264
+ 0,
265
+ adapterId
266
+ )
267
+ }
268
+ if (isLastOfActiveAdapters && status !== 'unused') {
269
+ adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
270
+ adapterStatusLocal.value[nextStatus].unshift(adapterId)
271
+ }
272
+ emits('change-adapter-status', adapterStatusLocal.value)
273
+ }
274
+
275
+ const moveUpForStatusGroup = (
276
+ status: UI_T_AdapterStatusNames,
277
+ adapterId: string
278
+ ): void => {
279
+ const isActiveSelectedAdapter =
280
+ adapterStatusLocal.value[status].includes(adapterId)
281
+
282
+ if (!isActiveSelectedAdapter) return
283
+
284
+ const nextStatus: UI_T_AdapterStatusNames =
285
+ status === 'unused' ? 'standby' : 'active'
286
+ const selectedAdapterIndex =
287
+ adapterStatusLocal.value[status].indexOf(adapterId)
288
+ const activeFirstIndex = 0
289
+ const isNotFirstOfActiveAdapters = selectedAdapterIndex !== activeFirstIndex
290
+ const isFirstOfActiveAdapters = selectedAdapterIndex === activeFirstIndex
291
+ if (isNotFirstOfActiveAdapters) {
292
+ adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
293
+ adapterStatusLocal.value[status].splice(
294
+ selectedAdapterIndex - 1,
295
+ 0,
296
+ adapterId
297
+ )
298
+ }
299
+ if (isFirstOfActiveAdapters && status !== 'active') {
300
+ adapterStatusLocal.value[status].splice(selectedAdapterIndex, 1)
301
+ adapterStatusLocal.value[nextStatus].push(adapterId)
302
+ }
303
+ emits('change-adapter-status', adapterStatusLocal.value)
304
+ }
305
+
306
+ const onMoveDownWithId = (adapterId: string): void => {
307
+ moveDownForStatusGroup('unused', adapterId)
308
+ moveDownForStatusGroup('standby', adapterId)
309
+ moveDownForStatusGroup('active', adapterId)
310
+ }
311
+
312
+ const onMoveDown = () => {
313
+ onMoveDownWithId(selectedAdapterId.value)
314
+ }
315
+
316
+ const onMoveUpWithId = (adapterId: string): void => {
317
+ moveUpForStatusGroup('active', adapterId)
318
+ moveUpForStatusGroup('standby', adapterId)
319
+ moveUpForStatusGroup('unused', adapterId)
320
+ }
321
+
322
+ const onMoveUp = () => {
323
+ onMoveUpWithId(selectedAdapterId.value)
324
+ }
325
+
326
+ const onRemoveWithId = (adapterId: string): void => {
327
+ adapterStatusLocal.value.active.includes(adapterId) &&
328
+ (adapterStatusLocal.value.active = adapterStatusLocal.value.active.filter(
329
+ (id: string) => id !== adapterId
330
+ ))
331
+ adapterStatusLocal.value.standby.includes(adapterId) &&
332
+ (adapterStatusLocal.value.standby = adapterStatusLocal.value.standby.filter(
333
+ (id: string) => id !== adapterId
334
+ ))
335
+ adapterStatusLocal.value.unused.includes(adapterId) &&
336
+ (adapterStatusLocal.value.unused = adapterStatusLocal.value.unused.filter(
337
+ (id: string) => id !== adapterId
338
+ ))
339
+
340
+ !props.freeAdapters.find(
341
+ (adapter: UI_I_Adapter) => adapter.name === adapterId
342
+ ) && removedAdapters.value.push(adapterId)
343
+ addedAdapters.value = [
344
+ ...adapterStatusLocal.value.active,
345
+ ...adapterStatusLocal.value.unused,
346
+ ...adapterStatusLocal.value.standby,
347
+ ]
348
+ emits('change-added-adapters', addedAdapters.value)
349
+ emits('change-adapter-status', adapterStatusLocal.value)
350
+
351
+ if (isNewView.value && adapterId !== selectedAdapterId.value) {
352
+ return
353
+ }
354
+ selectedAdapterId.value = ''
355
+ }
356
+
357
+ const onRemove = (id?: string) => {
358
+ onRemoveWithId(id || selectedAdapterId.value)
359
+ }
360
+
361
+ const onClickEmptySpace = (event: Event): void => {
362
+ const targetElement = event.target as HTMLElement
363
+
364
+ if (isNewView.value) {
365
+ const addButton = targetElement.closest('.manager-header-add')
366
+ const removeButton = targetElement.closest('.adapter-remove')
367
+
368
+ if (!addButton && !removeButton) {
369
+ selectedAdapterId.value = ''
370
+ selectedAddAdapterId.value = ''
371
+ emits('select-add-adapter', '')
372
+ }
373
+ }
374
+ if (!isNewView.value && targetElement.classList.contains('k-grid-content')) {
375
+ selectedAdapterId.value = ''
376
+ selectedAddAdapterId.value = ''
377
+ emits('select-add-adapter', '')
378
+ }
379
+ }
380
+
381
+ const isShowAddAdapterModal = ref<boolean>(false)
382
+
383
+ const onHideAddAdapterModal = (): void => {
384
+ isShowAddAdapterModal.value = false
385
+ }
386
+
387
+ const emits = defineEmits<{
388
+ (event: 'get-free-adapters', showModal: () => void): void
389
+ (event: 'change-added-adapters', addedAdapters: string[]): void
390
+ (event: 'change-adapter-status', adapterStatus: UI_I_AdapterStatus): void
391
+ (event: 'hide-no-connected-active-adapters-modal'): void
392
+ (event: 'hide-no-active-adapters-modal'): void
393
+ (event: 'submit-from-modal'): void
394
+ (event: 'select-add-adapter', id: string): void
395
+ }>()
396
+
397
+ const onHideNoConnectedActiveAdaptersModal = () => {
398
+ emits('hide-no-connected-active-adapters-modal')
399
+ }
400
+ const onHideNoActiveAdaptersModal = () => {
401
+ emits('hide-no-active-adapters-modal')
402
+ }
403
+ const onConfirmNoActiveAdaptersModal = () => {
404
+ emits('submit-from-modal')
405
+ }
406
+
407
+ const showAddAdapterModal = () => {
408
+ isShowAddAdapterModal.value = true
409
+ }
410
+ const onShowAddAdapterModal = (): void => {
411
+ emits('get-free-adapters', showAddAdapterModal)
412
+ }
413
+
414
+ const onAddSelectedAdapters = (addAdapterId: string): void => {
415
+ adapterStatusLocal.value.active.push(addAdapterId)
416
+ removedAdapters.value = removedAdapters.value.filter(
417
+ (id: string) => id !== addAdapterId
418
+ )
419
+ addedAdapters.value = [
420
+ ...adapterStatusLocal.value.active,
421
+ ...adapterStatusLocal.value.unused,
422
+ ...adapterStatusLocal.value.standby,
423
+ ]
424
+ emits('change-added-adapters', addedAdapters.value)
425
+ emits('change-adapter-status', adapterStatusLocal.value)
426
+ onHideAddAdapterModal()
427
+ }
428
+
429
+ const adapterViewSettingsModalTabs = computed(() =>
430
+ adapterViewSettingsModalTabsFunc(localization.value)
431
+ )
432
+
433
+ const allAdapters = computed<UI_I_Adapter[]>(() =>
434
+ allAdaptersFunc(props.adapters.items)
435
+ )
436
+
437
+ const addAdapterViewSettings = computed(() =>
438
+ adapterViewSettingsFunc(
439
+ localization.value,
440
+ allAdapters.value.find(
441
+ (adapter: UI_I_Adapter) => adapter.name === props.selectedAddAdapterId
442
+ ) || {},
443
+ isNewView.value
444
+ )
445
+ )
446
+
447
+ const selectedAdapterData = computed(
448
+ () =>
449
+ allAdapters.value.find(
450
+ (adapter: UI_I_Adapter) => adapter.name === selectedAdapterId.value
451
+ ) as UI_I_ModalsInitialData
452
+ )
453
+
454
+ const selectedAdapterDataFromFree = computed(
455
+ () =>
456
+ props.freeAdapters?.find(
457
+ (adapter: UI_I_Adapter) => adapter.name === selectedAdapterId.value
458
+ ) as UI_I_ModalsInitialData
459
+ )
460
+
461
+ const adapterViewSettings = computed(() => {
462
+ if (!selectedAdapterId.value) return []
463
+ return adapterViewSettingsFunc(
464
+ localization.value,
465
+ selectedAdapterData.value || selectedAdapterDataFromFree.value,
466
+ isNewView.value
467
+ )
468
+ })
469
+
470
+ const viewSettingsFields = computed(() =>
471
+ props.isAddModal ? addAdapterViewSettings.value : adapterViewSettings.value
472
+ )
473
+ </script>