bfg-common 1.5.773 → 1.5.775

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 (322) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-1.svg +3 -2
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  5. package/assets/img/icons/icons-sprite-light-1.svg +4 -3
  6. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  7. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  8. package/assets/localization/local_be.json +27 -165
  9. package/assets/localization/local_en.json +27 -165
  10. package/assets/localization/local_hy.json +26 -164
  11. package/assets/localization/local_kk.json +26 -164
  12. package/assets/localization/local_ru.json +33 -171
  13. package/assets/localization/local_zh.json +26 -164
  14. package/assets/scss/common/global.scss +5 -5
  15. package/assets/scss/common/icons/icons-1.scss +1 -1
  16. package/assets/scss/common/icons/icons-2.scss +0 -18
  17. package/assets/scss/common/theme.scss +0 -2
  18. package/assets/scss/components/auth.scss +5 -32
  19. package/components/atoms/TheIcon3.vue +50 -50
  20. package/components/atoms/collapse/CollapseNav.vue +170 -170
  21. package/components/atoms/dropdown/tree/Tree.vue +0 -2
  22. package/components/atoms/nav/NavBar.vue +0 -1
  23. package/components/atoms/perPage/PerPage.vue +58 -58
  24. package/components/atoms/switch/Switch.vue +1 -7
  25. package/components/atoms/table/dataGrid/DataGrid.vue +16 -17
  26. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  27. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  28. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  29. package/components/atoms/wizard/Wizard.vue +1 -1
  30. package/components/common/backup/storage/actions/add/Old.vue +1 -22
  31. package/components/common/backup/storage/actions/add/lib/config/createDatastore.ts +1 -1
  32. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  33. package/components/common/backup/storage/actions/add/steps/typeMode/TypeModeOld.vue +48 -1
  34. package/components/common/backup/storage/actions/add/steps/typeMode/lib/config/typeOptions.ts +20 -20
  35. package/components/common/backup/storage/actions/delete/Delete.vue +15 -37
  36. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  37. package/components/common/diagramMain/Header.vue +0 -4
  38. package/components/common/diagramMain/lib/models/interfaces.ts +0 -2
  39. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  40. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +1 -5
  41. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +0 -16
  42. package/components/common/diagramMain/port/Port.vue +580 -580
  43. package/components/common/graph/graphNew/EmptyBlock.vue +1 -2
  44. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +1 -2
  45. package/components/common/help/navbar/right/Right.vue +23 -86
  46. package/components/common/layout/theHeader/TheHeader.vue +81 -44
  47. package/components/common/layout/theHeader/{New.vue → TheHeaderNew.vue} +26 -14
  48. package/components/common/layout/theHeader/{Old.vue → TheHeaderOld.vue} +21 -13
  49. package/components/common/layout/theHeader/ThemeSwitch.vue +18 -8
  50. package/components/common/layout/theHeader/feedback/new/email/Email.vue +2 -2
  51. package/components/common/layout/theHeader/helpMenu/{about/About.vue → About.vue} +22 -12
  52. package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +8 -6
  53. package/components/common/layout/theHeader/helpMenu/{about/New.vue → aboutNew/AboutNew.vue} +4 -5
  54. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -0
  55. package/components/common/layout/theHeader/helpMenu/{new/New.vue → helpMenuNew/HelpMenuNew.vue} +1 -1
  56. package/components/common/layout/theHeader/helpMenu/{new → helpMenuNew}/lib/config/dropMenu.ts +1 -1
  57. package/components/common/layout/theHeader/helpMenu/{old/Old.vue → helpMenuOld/HelpMenuOld.vue} +2 -2
  58. package/components/common/layout/theHeader/helpMenu/{old → helpMenuOld}/lib/config/dropMenu.ts +1 -1
  59. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +11 -11
  60. package/components/common/layout/theHeader/modals/reconnect/{New.vue → ReconnectNew.vue} +1 -1
  61. package/components/common/layout/theHeader/modals/reconnect/{Old.vue → ReconnectOld.vue} +0 -2
  62. package/components/common/layout/theHeader/userMenu/UserMenu.vue +28 -21
  63. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +21 -12
  64. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +43 -36
  65. package/components/common/layout/theHeader/userMenu/modals/changePassword/Old.vue +2 -0
  66. package/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils.ts +3 -3
  67. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +44 -19
  68. package/components/common/layout/theHeader/userMenu/modals/preferences/{New.vue → PreferencesNew.vue} +16 -24
  69. package/components/common/layout/theHeader/userMenu/modals/preferences/{Old.vue → PreferencesOld.vue} +18 -10
  70. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +18 -17
  71. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{New.vue → ChangeLanguageNew.vue} +30 -6
  72. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{Old.vue → ChangeLanguageOld.vue} +30 -5
  73. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +20 -8
  74. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{New.vue → DefaultConsoleNew.vue} +3 -3
  75. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{Old.vue → DefaultConsoleOld.vue} +2 -2
  76. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/Inventory.vue +21 -7
  77. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{New.vue → InventoryNew.vue} +2 -3
  78. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{Old.vue → InventoryOld.vue} +2 -2
  79. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  80. package/components/common/layout/theHeader/userMenu/modals/preferences/security/New.vue +12 -277
  81. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +56 -30
  82. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +6 -65
  83. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +22 -9
  84. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{New.vue → TimeFormatNew.vue} +3 -3
  85. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{Old.vue → TimeFormatOld.vue} +2 -2
  86. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +22 -13
  87. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{New.vue → ViewNew.vue} +3 -29
  88. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{Old.vue → ViewOld.vue} +2 -21
  89. package/components/common/layout/theHeader/userMenu/{new/New.vue → userMenuNew/UserMenuNew.vue} +1 -1
  90. package/components/common/layout/theHeader/userMenu/{old/Old.vue → userMenuOld/UserMenuOld.vue} +2 -2
  91. package/components/common/layout/theHeader/userMenu/{old → userMenuOld}/lib/config/dropMenu.ts +1 -1
  92. package/components/common/monitor/advanced/graphView/GraphView.vue +0 -8
  93. package/components/common/monitor/advanced/tools/Tools.vue +1 -5
  94. package/components/common/monitor/overview/OverviewNew.vue +1 -1
  95. package/components/common/pages/backups/DetailView.vue +52 -52
  96. package/components/common/pages/backups/backupsNew/BackupsNew.vue +19 -107
  97. package/components/common/pages/backups/backupsNew/contextMenuView/ContextMenuView.vue +10 -16
  98. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  99. package/components/common/pages/backups/modals/Modals.vue +243 -243
  100. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +10 -6
  101. package/components/common/pages/backups/modals/createBackup/New.vue +9 -22
  102. package/components/common/pages/backups/modals/createBackup/Old.vue +10 -8
  103. package/components/common/pages/backups/modals/createBackup/configuration/ConfigurationNew.vue +3 -17
  104. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +29 -29
  105. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +69 -69
  106. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +38 -38
  107. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +0 -6
  108. package/components/common/pages/backups/modals/createBackup/datastores/DatastoresOld.vue +2 -22
  109. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +8 -8
  110. package/components/common/pages/backups/modals/createBackup/disks/Disks.vue +0 -6
  111. package/components/common/pages/backups/modals/createBackup/disks/DisksOld.vue +1 -22
  112. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/TableView.vue +1 -1
  113. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/lib/config/table.ts +7 -7
  114. package/components/common/pages/backups/modals/createBackup/general/General.vue +1 -7
  115. package/components/common/pages/backups/modals/createBackup/general/GeneralNew.vue +1 -1
  116. package/components/common/pages/backups/modals/createBackup/general/GeneralOld.vue +0 -17
  117. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +5 -5
  118. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +1 -1
  119. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +2 -11
  120. package/components/common/pages/backups/modals/createBackup/lib/models/interfaces.ts +8 -8
  121. package/components/common/pages/backups/modals/createBackup/lib/validation/validations.ts +14 -6
  122. package/components/common/pages/backups/modals/deleteBackup/DeleteBackup.vue +0 -1
  123. package/components/common/pages/backups/modals/lib/config/restore.ts +0 -1
  124. package/components/common/pages/backups/modals/lib/models/interfaces.ts +1 -2
  125. package/components/common/pages/backups/modals/restore/Restore.vue +26 -25
  126. package/components/common/pages/backups/modals/restore/{Old.vue → RestoreOld.vue} +0 -5
  127. package/components/common/pages/backups/modals/restore/disks/Disks.vue +8 -26
  128. package/components/common/pages/backups/modals/restore/disks/DisksNew.vue +2 -2
  129. package/components/common/pages/backups/modals/restore/disks/DisksOld.vue +2 -2
  130. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +14 -46
  131. package/components/common/pages/backups/modals/restore/lib/config/restoreCodes.ts +1 -1
  132. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +20 -42
  133. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  134. package/components/common/pages/backups/modals/restore/types/Types.vue +3 -15
  135. package/components/common/pages/backups/modals/restore/types/{New.vue → TypesNew.vue} +11 -11
  136. package/components/common/pages/backups/modals/restore/types/{Old.vue → TypesOld.vue} +6 -7
  137. package/components/common/pages/backups/modals/restore/types/lib/config/descriptions.ts +0 -1
  138. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +2 -7
  139. package/components/common/pages/hardwareHealth/tableView/TableView.vue +0 -8
  140. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +1 -13
  141. package/components/common/pages/hardwareHealth/toolsPanel/lib/config/actionsPanel.ts +4 -4
  142. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  143. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  144. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  145. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  146. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  147. package/components/common/pages/home/widgets/warnings/lib/config/config.ts +2 -2
  148. package/components/common/pages/home/widgets/warnings/table/lib/config/config.ts +2 -2
  149. package/components/common/pages/home/widgets/warnings/table/lib/models/enums.ts +12 -0
  150. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  151. package/components/common/pages/tasks/Tasks.vue +0 -3
  152. package/components/common/pages/tasks/table/Table.vue +1 -4
  153. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +1 -1
  154. package/components/common/pages/tasks/table/lib/config/config.ts +13 -22
  155. package/components/common/qrcode/Qrcode.vue +56 -0
  156. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  157. package/components/common/select/radio/RadioGroup.vue +137 -137
  158. package/components/common/selectLanguage/SelectLanguage.vue +5 -5
  159. package/components/common/spiceConsole/Drawer.vue +420 -420
  160. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  161. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  162. package/components/common/split/horizontal/New.vue +2 -0
  163. package/components/common/split/vertical/New.vue +1 -2
  164. package/components/common/tools/Actions.vue +207 -207
  165. package/components/common/treeView/TreeView.vue +52 -52
  166. package/components/common/vm/actions/add/New.vue +11 -13
  167. package/components/common/vm/actions/add/Old.vue +1 -1
  168. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  169. package/components/common/vm/actions/clone/new/New.vue +438 -438
  170. package/components/common/vm/actions/clone/old/Old.vue +0 -1
  171. package/components/common/vm/actions/common/customizeHardware/virtualHardware/New.vue +36 -12
  172. package/components/common/vm/actions/common/customizeHardware/virtualHardware/Old.vue +37 -15
  173. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +50 -50
  174. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocket.vue +3 -3
  175. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  176. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +1 -3
  177. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  178. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +7 -13
  179. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/New.vue +4 -7
  180. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +45 -52
  181. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/Old.vue +8 -5
  182. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +3 -1
  183. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/New.vue +2 -2
  184. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/Old.vue +2 -2
  185. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +1 -1
  186. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/New.vue +2 -1
  187. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/Old.vue +2 -1
  188. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/New.vue +1 -1
  189. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +1 -1
  190. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/Old.vue +1 -1
  191. package/components/common/vm/actions/common/customizeHardware/vmoptions/New.vue +2 -2
  192. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  193. package/components/common/vm/actions/common/select/compatibility/New.vue +1 -0
  194. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  195. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  196. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  197. package/components/common/vm/actions/common/select/options/Old.vue +2 -1
  198. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  199. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  200. package/components/common/vm/actions/common/select/storage/new/New.vue +1 -1
  201. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  202. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  203. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  204. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  205. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  206. package/components/common/wizards/common/compatibility/New.vue +1 -1
  207. package/components/common/wizards/common/compatibility/Old.vue +1 -1
  208. package/components/common/wizards/common/steps/computeResource/New.vue +1 -9
  209. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  210. package/components/common/wizards/common/steps/name/New.vue +221 -221
  211. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  212. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  213. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  214. package/components/common/wizards/datastore/add/Add.vue +1 -0
  215. package/components/common/wizards/datastore/add/Old.vue +0 -16
  216. package/components/common/wizards/datastore/add/lib/config/createDatastore.ts +0 -1
  217. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +0 -1
  218. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  219. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +0 -5
  220. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +0 -5
  221. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/old/Old.vue +3 -2
  222. package/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails.ts +1 -8
  223. package/components/common/wizards/datastore/add/steps/typeMode/TypeModeOld.vue +48 -1
  224. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  225. package/components/common/wizards/network/add/Add.vue +5 -28
  226. package/components/common/wizards/network/add/lib/config/config.ts +1 -1
  227. package/components/common/wizards/network/add/lib/config/initialData.ts +3 -6
  228. package/components/common/wizards/network/add/lib/config/selectConnectionTypeStep.ts +0 -1
  229. package/components/common/wizards/network/add/steps/portProperties/PortProperties.vue +192 -192
  230. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +1 -2
  231. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +6 -18
  232. package/components/common/wizards/vm/migrate/lib/models/enums.ts +2 -2
  233. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/old/lib/config/hostTable.ts +1 -1
  234. package/components/common/wizards/vm/migrate/steps/selectStorage/SelectStorage.vue +4 -4
  235. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +2 -6
  236. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +13 -29
  237. package/composables/deepCopy.ts +21 -0
  238. package/composables/useAppVersion.ts +21 -21
  239. package/composables/useEnvLanguage.ts +8 -7
  240. package/composables/useLocal.ts +6 -6
  241. package/composables/useLocalCommon.ts +39 -39
  242. package/composables/useUniqueId.ts +5 -0
  243. package/lib/config/regExp.ts +1 -1
  244. package/lib/models/enums.ts +0 -28
  245. package/lib/models/interfaces.ts +0 -2
  246. package/lib/models/types.ts +21 -20
  247. package/lib/utils/localizationMapper.ts +2 -1
  248. package/package.json +4 -3
  249. package/plugins/console.ts +21 -21
  250. package/plugins/date.ts +37 -14
  251. package/plugins/mouse.ts +21 -21
  252. package/plugins/panelStates.ts +70 -70
  253. package/plugins/text.ts +59 -59
  254. package/plugins/validation.ts +6 -6
  255. package/public/spice-console/application/clientgui.js +854 -854
  256. package/public/spice-console/application/packetfactory.js +211 -211
  257. package/public/spice-console/application/virtualmouse.js +147 -147
  258. package/public/spice-console/lib/images/bitmap.js +203 -203
  259. package/public/spice-console/network/spicechannel.js +440 -440
  260. package/public/spice-console/process/cursorprocess.js +128 -128
  261. package/public/spice-console/process/inputprocess.js +227 -227
  262. package/public/spice-console/process/mainprocess.js +212 -212
  263. package/public/spice-console/run.js +210 -210
  264. package/store/main/getters.ts +2 -2
  265. package/store/main/mutations.ts +7 -7
  266. package/store/main/state.ts +7 -7
  267. package/store/tasks/actions.ts +1 -1
  268. package/store/tasks/mappers/recentTasks.ts +123 -123
  269. package/store/tasks/mappers/tasks.ts +1 -8
  270. package/store/tasks/mutations.ts +82 -82
  271. package/components/common/backup/storage/actions/add/steps/typeMode/tooltip/Tooltip.vue +0 -33
  272. package/components/common/certificate/Certificate.vue +0 -27
  273. package/components/common/certificate/CertificateInfo.vue +0 -139
  274. package/components/common/certificate/Tools.vue +0 -59
  275. package/components/common/certificate/lib/config/tabsPannel.ts +0 -22
  276. package/components/common/certificate/lib/models/interfaces.ts +0 -9
  277. package/components/common/certificate/lib/models/types.ts +0 -1
  278. package/components/common/certificate/modals/renew/New.vue +0 -64
  279. package/components/common/certificate/modals/renew/Old.vue +0 -122
  280. package/components/common/certificate/modals/renew/Renew.vue +0 -67
  281. package/components/common/layout/console/Console.vue +0 -70
  282. package/components/common/layout/console/lib/models/interfaces.ts +0 -10
  283. package/components/common/layout/theHeader/helpMenu/about/Old.vue +0 -78
  284. package/components/common/pages/auth/TheFooter.vue +0 -104
  285. package/components/common/pages/backups/backupsNew/Skeleton.vue +0 -136
  286. package/components/common/pages/files/lib/models/enums.ts +0 -36
  287. package/components/common/pages/tasks/table/lib/models/interfaces.ts +0 -9
  288. package/components/common/qr/Qr.vue +0 -69
  289. package/components/common/vm/snapshots/DetailView.vue +0 -90
  290. package/components/common/vm/snapshots/Old.vue +0 -71
  291. package/components/common/vm/snapshots/Snapshots.vue +0 -82
  292. package/components/common/vm/snapshots/lib/models/interfaces.ts +0 -5
  293. package/components/common/vm/snapshots/lib/models/types.ts +0 -11
  294. package/components/common/vm/snapshots/modals/confirm/Confirm.vue +0 -48
  295. package/components/common/vm/snapshots/modals/confirm/New.vue +0 -128
  296. package/components/common/vm/snapshots/modals/confirm/Old.vue +0 -140
  297. package/components/common/vm/snapshots/modals/confirm/lib/models/enums.ts +0 -19
  298. package/components/common/vm/snapshots/modals/lib/config/modalTexts.ts +0 -30
  299. package/components/common/vm/snapshots/modals/takeOrEdit/Old.vue +0 -220
  300. package/components/common/vm/snapshots/modals/takeOrEdit/TakeOrEdit.vue +0 -51
  301. package/components/common/vm/snapshots/modals/takeOrEdit/new/New.vue +0 -184
  302. package/components/common/vm/snapshots/modals/takeOrEdit/new/lib/utils/getSnapshotsName.ts +0 -15
  303. package/components/common/vm/snapshots/new/New.vue +0 -471
  304. package/components/common/vm/snapshots/new/Skeleton.vue +0 -136
  305. package/components/common/vm/snapshots/new/contextMenuView/ContextMenuView.vue +0 -103
  306. package/components/common/vm/snapshots/new/contextMenuView/lib/config/contextMenuItems.ts +0 -34
  307. package/components/common/vm/snapshots/new/lib/models/interfaces.ts +0 -12
  308. package/components/common/vm/snapshots/new/lib/utils/contextMenu.ts +0 -29
  309. package/components/common/vm/snapshots/new/lib/utils/details.ts +0 -48
  310. package/components/common/vm/snapshots/tools/Tools.vue +0 -56
  311. package/components/common/vm/snapshots/tools/lib/config/tabsPannel.ts +0 -39
  312. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/AdvancedOptions.vue +0 -43
  313. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +0 -114
  314. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/Old.vue +0 -114
  315. package/components/common/wizards/datastore/add/steps/typeMode/tooltip/Tooltip.vue +0 -33
  316. package/composables/useBrowse.ts +0 -24
  317. package/lib/models/composables/useBrowse/interfaces.ts +0 -4
  318. package/store/inventory/modules/snapshots/lib/models/interfaces.ts +0 -45
  319. /package/components/common/layout/theHeader/helpMenu/{old → helpMenuOld}/lib/models/types.ts +0 -0
  320. /package/components/common/layout/theHeader/userMenu/{new → userMenuNew}/lib/config/dropMenu.ts +0 -0
  321. /package/components/common/layout/theHeader/userMenu/{old → userMenuOld}/lib/models/types.ts +0 -0
  322. /package/components/common/pages/backups/modals/restore/{New.vue → RestoreNew.vue} +0 -0
@@ -36,12 +36,11 @@ const localization = computed<UI_I_Localization>(() => useLocal())
36
36
  background-color: var(--metric-empty-block-bg);
37
37
  box-shadow: 0 1px 4px 0 #00000014;
38
38
  border-radius: 8px;
39
- padding: 16px;
40
39
 
41
40
  .title {
42
41
  text-align: center;
43
42
  font-size: 14px;
44
- font-weight: 400;
43
+ font-weight: 500;
45
44
  color: var(--metric-empty-block-title);
46
45
  margin-bottom: 6px;
47
46
  margin-top: 8px;
@@ -13,7 +13,7 @@ export const constructItems = (
13
13
  !parent || (item.title !== parent.title && item._path !== parent._path)
14
14
  )
15
15
  })
16
- .map((item: UI_I_ContentNavigation, key: number): UI_I_AccordionRecursion => {
16
+ .map((item: UI_I_ContentNavigation): UI_I_AccordionRecursion => {
17
17
  const children = constructItems(item.children, item)
18
18
  return {
19
19
  children,
@@ -22,7 +22,6 @@ export const constructItems = (
22
22
  name: item.title,
23
23
  hasChild: !!children.length,
24
24
  isOpen: !parent,
25
- testId: `nav-accordion-${key}`,
26
25
  }
27
26
  })
28
27
  }
@@ -8,8 +8,7 @@
8
8
  >
9
9
  <atoms-the-icon name="arrow" />
10
10
  </button>
11
-
12
- <div v-else class="h-full flex-direction-column">
11
+ <div v-else class="height-100">
13
12
  <div class="navbar__header">
14
13
  <p class="title">{{ props.title }}</p>
15
14
  <button
@@ -20,17 +19,15 @@
20
19
  <atoms-the-icon name="close" />
21
20
  </button>
22
21
  </div>
23
-
24
22
  <div class="navbar__content content-links">
25
23
  <a
26
24
  v-for="item in props.items"
27
25
  :key="item.text"
28
26
  :data-id="item.testId"
29
27
  :href="item.to"
30
- :class="['link-item', { active: activeHash === item.to }]"
28
+ :class="['link-item', { active: route.hash === item.to }]"
29
+ >{{ item.text }}</a
31
30
  >
32
- {{ item.text }}
33
- </a>
34
31
  </div>
35
32
  </div>
36
33
  </div>
@@ -44,96 +41,39 @@ const props = defineProps<{
44
41
  items: UI_I_ContentNavbarItem[]
45
42
  }>()
46
43
 
47
- const isShow = ref<boolean>(true)
48
- const activeHash = ref<string>('')
44
+ const route = useRoute()
49
45
 
50
- let observer: IntersectionObserver | null = null
51
- let rootElement: Element | null = null
46
+ const isShow = ref<boolean>(true)
52
47
 
53
- const setActiveHashFromLocation = () => {
54
- // decodeURIComponent чтобы корректно читать хэши с кириллицей/спецсимволами
55
- activeHash.value =
56
- typeof window !== 'undefined'
57
- ? decodeURIComponent(window.location.hash || '')
58
- : ''
59
- }
48
+ const checkActiveLink = (): void => {
49
+ const links = document.querySelectorAll('.content-links .link-item')
60
50
 
61
- const observeLinks = (): void => {
62
- const headingsSelector =
63
- '.help .content-renderer h1, .help .content-renderer h2, .help .content-renderer h3, .help .content-renderer h4, .help .content-renderer h5, .help .content-renderer h6'
51
+ if (!links.length) return
64
52
 
65
- const headingNodes = Array.from(
66
- document.querySelectorAll<HTMLElement>(headingsSelector)
67
- ).filter((h) => !!h.id)
53
+ links.forEach((item) => {
54
+ const linkElement = item as HTMLLinkElement
68
55
 
69
- if (headingNodes.length) {
70
- const options: IntersectionObserverInit = {
71
- root: rootElement || null,
72
- rootMargin: '0px 0px -99% 0px', // активна пока верх секции у top root
73
- threshold: 0,
74
- }
75
-
76
- observer = new IntersectionObserver((entries) => {
77
- entries.forEach((entry) => {
78
- if (!entry.isIntersecting) return
79
- const id = entry.target.getAttribute('id')
80
- if (!id) return
81
- const newHash = `#${id}`
82
-
83
- // Если уже такой hash — ничего не делаем
84
- if (decodeURIComponent(window.location.hash || '') === newHash) {
85
- activeHash.value = newHash
86
- return
87
- }
88
-
89
- // Обновляем URL без скролла
90
- history.replaceState(null, '', newHash)
91
- activeHash.value = newHash
92
- })
93
- }, options)
94
-
95
- headingNodes.forEach((h) => observer?.observe(h))
96
- }
56
+ linkElement.classList.remove('active')
57
+ const linkHref = linkElement.getAttribute('href')
58
+ if (linkHref && route.hash === linkHref) linkElement.classList.add('active')
59
+ else if (!route.hash) links[0].classList.add('active')
60
+ })
97
61
  }
98
62
 
99
- const init = (): void => {
100
- rootElement = document.querySelector('.help__content')
101
-
102
- setActiveHashFromLocation()
63
+ const parentCurrentScrollPosition = (): void => {
64
+ const parentElement = document.querySelector('.help__content')
65
+ if (!parentElement || route.hash) return
103
66
 
104
- if (props.items?.length) {
105
- const first = props.items[0]?.to ?? ''
106
- if (first) {
107
- history.replaceState(null, '', first)
108
- setActiveHashFromLocation()
109
- }
110
- }
111
-
112
- observeLinks()
67
+ parentElement.scrollTop = 0
113
68
  }
114
69
 
115
- onMounted(() => {
116
- init()
117
- })
118
- let isRouteUpdated = false
119
70
  onUpdated(() => {
120
- if (isRouteUpdated) {
121
- init()
122
- isRouteUpdated = false
123
- }
71
+ parentCurrentScrollPosition()
72
+ checkActiveLink()
124
73
  })
125
74
 
126
- // cleanup при unmount
127
- onUnmounted(() => {
128
- observer?.disconnect()
129
- })
130
- onBeforeRouteUpdate((to, from, next) => {
131
- // обработка оснавной навигации, делаем cleanup
132
- if (from.path !== to.path) {
133
- observer?.disconnect()
134
- isRouteUpdated = true
135
- }
136
- next()
75
+ onMounted(() => {
76
+ checkActiveLink()
137
77
  })
138
78
  </script>
139
79
 
@@ -161,7 +101,6 @@ onBeforeRouteUpdate((to, from, next) => {
161
101
  cursor: pointer;
162
102
  margin: 12px 6px;
163
103
  }
164
-
165
104
  &__header {
166
105
  display: flex;
167
106
  justify-content: space-between;
@@ -189,12 +128,10 @@ onBeforeRouteUpdate((to, from, next) => {
189
128
  }
190
129
  }
191
130
  }
192
-
193
131
  &__content {
194
132
  height: 100%;
195
133
  overflow: auto;
196
134
  }
197
-
198
135
  .link-item {
199
136
  display: block;
200
137
  color: var(--global-font-color);
@@ -1,13 +1,7 @@
1
1
  <template>
2
- <component
3
- :is="currentComponent"
2
+ <common-layout-the-header-new
3
+ v-if="props.newView"
4
4
  v-model:security="security"
5
- v-model:is-show-notification="isShowNotification"
6
- v-model:new-view-local="newViewLocal"
7
- v-model:time-format="timeFormat"
8
- v-model:console-value="consoleValue"
9
- v-model:vm-in-hosts-clusters="vmInHostsClusters"
10
- v-model:is-dark-theme="isDarkTheme"
11
5
  :is-show-main-menu="props.isShowMainMenu"
12
6
  :company-name="props.companyName"
13
7
  :beta-text="props.betaText"
@@ -18,7 +12,12 @@
18
12
  :selected-language-type="props.selectedLanguageType"
19
13
  :selected-lang="props.selectedLang"
20
14
  :new-view="props.newView"
15
+ :new-view-local="props.newViewLocal"
16
+ :time-format="props.timeFormat"
21
17
  :project="props.project"
18
+ :is-dark-theme="props.isDarkTheme"
19
+ :remote-console="props.remoteConsole"
20
+ :vm-cluster="props.vmCluster"
22
21
  :security-loader="props.securityLoader"
23
22
  :recovery="props.recovery"
24
23
  @toggle-main-menu="emits('toggle-main-menu')"
@@ -26,8 +25,46 @@
26
25
  @reset-preference="emits('reset-preference')"
27
26
  @hide-preference="emits('hide-preference')"
28
27
  @global-refresh="emits('global-refresh')"
28
+ @update-time-format="emits('update-time-format', $event)"
29
+ @change-theme-mode="emits('change-theme-mode')"
29
30
  @update-language="emits('update-language', $event)"
30
31
  @update-is-browser="emits('update-is-browser', $event)"
32
+ @update-is-new-view="emits('update-is-new-view', $event)"
33
+ @update-remote-console="emits('update-remote-console', $event)"
34
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
35
+ @security-confirm="emits('security-confirm', $event)"
36
+ @submit-preferences="emits('submit-preferences')"
37
+ />
38
+ <common-layout-the-header-old
39
+ v-else
40
+ v-model:security="security"
41
+ :company-name="props.companyName"
42
+ :beta-text="props.betaText"
43
+ :global-refresh-loading="props.globalRefreshLoading"
44
+ :hostname="props.hostname"
45
+ :project-name="props.projectName"
46
+ :is-preference="props.isPreference"
47
+ :selected-language-type="props.selectedLanguageType"
48
+ :selected-lang="props.selectedLang"
49
+ :new-view="props.newView"
50
+ :new-view-local="props.newViewLocal"
51
+ :time-format="props.timeFormat"
52
+ :project="props.project"
53
+ :remote-console="props.remoteConsole"
54
+ :vm-cluster="props.vmCluster"
55
+ :security-loader="props.securityLoader"
56
+ :recovery="props.recovery"
57
+ @toggle-main-menu="emits('toggle-main-menu')"
58
+ @show-preference="emits('show-preference')"
59
+ @hide-preference="emits('hide-preference')"
60
+ @global-refresh="emits('global-refresh')"
61
+ @update-time-format="emits('update-time-format', $event)"
62
+ @change-theme-mode="emits('change-theme-mode')"
63
+ @update-language="emits('update-language', $event)"
64
+ @update-is-browser="emits('update-is-browser', $event)"
65
+ @update-is-new-view="emits('update-is-new-view', $event)"
66
+ @update-remote-console="emits('update-remote-console', $event)"
67
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
31
68
  @security-confirm="emits('security-confirm', $event)"
32
69
  @submit-preferences="emits('submit-preferences')"
33
70
  />
@@ -40,41 +77,42 @@
40
77
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
41
78
  import type { UI_T_Project } from '~/lib/models/types'
42
79
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
43
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
80
+ import type {
81
+ UI_I_Recovery
82
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
44
83
  import { checkIsTokenExpired } from '~/lib/utils/token'
45
84
 
46
85
  const security = defineModel<boolean>('security')
47
- const isShowNotification = defineModel<boolean>('isShowNotification')
48
- const newViewLocal = defineModel<boolean>('newViewLocal')
49
- const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
50
- const consoleValue = defineModel<string>('consoleValue')
51
- const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
52
- const isDarkTheme = defineModel<boolean>('isDarkTheme')
53
86
 
54
87
  const props = withDefaults(
55
- defineProps<{
56
- isShowMainMenu: boolean
57
- companyName: string
58
- betaText: string
59
- globalRefreshLoading: boolean
60
- project: UI_T_Project
61
- projectName: string
62
- hostname: string
63
- isPreference: boolean
64
- selectedLanguageType: string
65
- selectedLang: UI_I_Dropdown
66
- newView: boolean
67
- isPauseReconnect: boolean
68
- expireTimeFromState: number
69
- isShowReconnectModal: boolean
70
- isShowRedirectLoginModal: boolean
71
- securityLoader?: boolean // для Сферы
72
- recovery?: UI_I_Recovery | null // для Сферы
73
- }>(),
74
- {
75
- securityLoader: false,
76
- recovery: null,
77
- }
88
+ defineProps<{
89
+ isShowMainMenu: boolean
90
+ companyName: string
91
+ betaText: string
92
+ globalRefreshLoading: boolean
93
+ project: UI_T_Project
94
+ projectName: string
95
+ hostname: string
96
+ isPreference: boolean
97
+ selectedLanguageType: string
98
+ selectedLang: UI_I_Dropdown
99
+ remoteConsole: string
100
+ vmCluster: boolean
101
+ newView: boolean
102
+ newViewLocal: boolean
103
+ timeFormat: string
104
+ isDarkTheme: boolean
105
+ isPauseReconnect: boolean
106
+ expireTimeFromState: number
107
+ isShowReconnectModal: boolean
108
+ isShowRedirectLoginModal: boolean
109
+ securityLoader?: boolean // для Сферы
110
+ recovery?: UI_I_Recovery | null // для Сферы
111
+ }>(),
112
+ {
113
+ securityLoader: false,
114
+ recovery: null
115
+ }
78
116
  )
79
117
 
80
118
  const emits = defineEmits<{
@@ -83,20 +121,19 @@ const emits = defineEmits<{
83
121
  (event: 'show-preference'): void
84
122
  (event: 'reset-preference'): void
85
123
  (event: 'hide-preference'): void
124
+ (event: 'change-theme-mode'): void
125
+ (event: 'update-time-format', value: UI_T_TimeValue): void
86
126
  (event: 'update-language', value: UI_I_Dropdown): void
87
127
  (event: 'update-is-browser', value: string): void
128
+ (event: 'update-is-new-view', value: boolean): void
129
+ (event: 'update-remote-console', value: string): void
130
+ (event: 'update-vm-clusters', value: boolean): void
88
131
  (event: 'security-confirm', value: boolean): void
89
132
  (event: 'submit-preferences'): void
90
133
  (event: 'show-redirect-login-modal', value: boolean): void
91
134
  (event: 'show-reconnect-modal', value: boolean): void
92
135
  }>()
93
136
 
94
- const currentComponent = computed(() =>
95
- props.newView
96
- ? defineAsyncComponent(() => import('./New.vue'))
97
- : defineAsyncComponent(() => import('./Old.vue'))
98
- )
99
-
100
137
  const inactivityTimer = ref<NodeJS.Timeout | undefined>(undefined)
101
138
  const inactivityTimeout = ref<number>(10 * 60 * 1000)
102
139
 
@@ -87,7 +87,10 @@
87
87
  </ui-tooltip>
88
88
  <div class="divider right-divider-global-refresh" />
89
89
  <div class="container-content">
90
- <common-layout-the-header-theme-switch v-model="isDarkTheme" />
90
+ <common-layout-the-header-theme-switch
91
+ :is-dark-theme="props.isDarkTheme"
92
+ @change-theme-mode="emits('change-theme-mode')"
93
+ />
91
94
  </div>
92
95
  <div class="divider" />
93
96
  <div class="container-content">
@@ -99,25 +102,28 @@
99
102
  <div class="container-content user-menu-container">
100
103
  <common-layout-the-header-user-menu
101
104
  v-model:security="security"
102
- v-model:is-show-notification="isShowNotification"
103
- v-model:new-view-local="newViewLocal"
104
- v-model:time-format="timeFormat"
105
- v-model:console-value="consoleValue"
106
- v-model:vm-in-hosts-clusters="vmInHostsClusters"
107
- v-model:is-dark-theme="isDarkTheme"
108
105
  :hostname="props.hostname"
109
106
  :is-preference="isPreference"
107
+ :time-format="props.timeFormat"
110
108
  :selected-language-type="props.selectedLanguageType"
111
109
  :selected-language="props.selectedLang"
112
110
  :new-view="props.newView"
111
+ :new-view-local="props.newViewLocal"
113
112
  :project="props.project"
113
+ :remote-console="props.remoteConsole"
114
+ :vm-cluster="props.vmCluster"
114
115
  :security-loader="props.securityLoader"
115
116
  :recovery="props.recovery"
116
117
  @show-preference="emits('show-preference')"
117
118
  @reset-preference="emits('reset-preference')"
118
119
  @hide-preference="emits('hide-preference')"
120
+ @change-theme-mode="emits('change-theme-mode')"
121
+ @update-time-format="emits('update-time-format', $event)"
119
122
  @update-language="emits('update-language', $event)"
120
123
  @update-is-browser="emits('update-is-browser', $event)"
124
+ @update-is-new-view="emits('update-is-new-view', $event)"
125
+ @update-remote-console="emits('update-remote-console', $event)"
126
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
121
127
  @security-confirm="emits('security-confirm', $event)"
122
128
  @submit-preferences="emits('submit-preferences')"
123
129
  />
@@ -132,15 +138,11 @@ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropd
132
138
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
133
139
  import type { UI_T_Project } from '~/lib/models/types'
134
140
  import type { UI_I_Localization } from '~/lib/models/interfaces'
135
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
141
+ import type {
142
+ UI_I_Recovery
143
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
136
144
 
137
145
  const security = defineModel<boolean>('security')
138
- const isShowNotification = defineModel<boolean>('isShowNotification')
139
- const newViewLocal = defineModel<boolean>('newViewLocal')
140
- const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
141
- const consoleValue = defineModel<string>('consoleValue')
142
- const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
143
- const isDarkTheme = defineModel<boolean>('isDarkTheme')
144
146
 
145
147
  const props = defineProps<{
146
148
  isShowMainMenu: boolean
@@ -153,7 +155,12 @@ const props = defineProps<{
153
155
  isPreference: boolean
154
156
  selectedLanguageType: string
155
157
  selectedLang: UI_I_Dropdown
158
+ remoteConsole: string
159
+ vmCluster: boolean
156
160
  newView: boolean
161
+ newViewLocal: boolean
162
+ timeFormat: string
163
+ isDarkTheme: boolean
157
164
  securityLoader: boolean // для Сферы
158
165
  recovery: UI_I_Recovery | null // для Сферы
159
166
  }>()
@@ -164,8 +171,13 @@ const emits = defineEmits<{
164
171
  (event: 'show-preference'): void
165
172
  (event: 'reset-preference'): void
166
173
  (event: 'hide-preference'): void
174
+ (event: 'change-theme-mode'): void
175
+ (event: 'update-time-format', value: UI_T_TimeValue): void
167
176
  (event: 'update-language', value: UI_I_Dropdown): void
168
177
  (event: 'update-is-browser', value: string): void
178
+ (event: 'update-is-new-view', value: boolean): void
179
+ (event: 'update-remote-console', value: string): void
180
+ (event: 'update-vm-clusters', value: boolean): void
169
181
  (event: 'security-confirm', value: boolean): void
170
182
  (event: 'submit-preferences'): void
171
183
  }>()
@@ -59,24 +59,27 @@
59
59
 
60
60
  <common-layout-the-header-user-menu
61
61
  v-model:security="security"
62
- v-model:is-show-notification="isShowNotification"
63
- v-model:new-view-local="newViewLocal"
64
- v-model:time-format="timeFormat"
65
- v-model:console-value="consoleValue"
66
- v-model:vm-in-hosts-clusters="vmInHostsClusters"
67
- v-model:is-dark-theme="isDarkTheme"
68
62
  :hostname="props.hostname"
69
63
  :is-preference="props.isPreference"
64
+ :time-format="props.timeFormat"
70
65
  :selected-language-type="props.selectedLanguageType"
71
66
  :selected-language="props.selectedLang.value"
72
67
  :new-view="props.newView"
68
+ :new-view-local="props.newViewLocal"
73
69
  :project="props.project"
70
+ :remote-console="props.remoteConsole"
71
+ :vm-cluster="props.vmCluster"
74
72
  :security-loader="props.securityLoader"
75
73
  :recovery="props.recovery"
76
74
  @show-preference="emits('show-preference')"
77
75
  @hide-preference="emits('hide-preference')"
76
+ @change-theme-mode="emits('change-theme-mode')"
77
+ @update-time-format="emits('update-time-format', $event)"
78
78
  @update-language="onUpdateLanguage"
79
79
  @update-is-browser="emits('update-is-browser', $event)"
80
+ @update-is-new-view="emits('update-is-new-view', $event)"
81
+ @update-remote-console="emits('update-remote-console', $event)"
82
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
80
83
  @security-confirm="emits('security-confirm', $event)"
81
84
  @submit-preferences="emits('submit-preferences')"
82
85
  />
@@ -103,16 +106,12 @@
103
106
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
104
107
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
105
108
  import type { UI_T_Project } from '~/lib/models/types'
106
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
109
+ import type {
110
+ UI_I_Recovery
111
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
107
112
  import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
108
113
 
109
114
  const security = defineModel<boolean>('security')
110
- const isShowNotification = defineModel<boolean>('isShowNotification')
111
- const newViewLocal = defineModel<boolean>('newViewLocal')
112
- const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
113
- const consoleValue = defineModel<string>('consoleValue')
114
- const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
115
- const isDarkTheme = defineModel<boolean>('isDarkTheme')
116
115
 
117
116
  const props = defineProps<{
118
117
  companyName: string
@@ -124,7 +123,11 @@ const props = defineProps<{
124
123
  isPreference: boolean
125
124
  selectedLanguageType: string
126
125
  selectedLang: UI_I_Dropdown
126
+ remoteConsole: string
127
+ vmCluster: boolean
127
128
  newView: boolean
129
+ newViewLocal: boolean
130
+ timeFormat: string
128
131
  securityLoader: boolean // для Сферы
129
132
  recovery: UI_I_Recovery | null // для Сферы
130
133
  }>()
@@ -134,8 +137,13 @@ const emits = defineEmits<{
134
137
  (event: 'global-refresh'): void
135
138
  (event: 'show-preference'): void
136
139
  (event: 'hide-preference'): void
140
+ (event: 'change-theme-mode'): void
141
+ (event: 'update-time-format', value: UI_T_TimeValue): void
137
142
  (event: 'update-language', value: UI_I_Dropdown): void
138
143
  (event: 'update-is-browser', value: string): void
144
+ (event: 'update-is-new-view', value: boolean): void
145
+ (event: 'update-remote-console', value: string): void
146
+ (event: 'update-vm-clusters', value: boolean): void
139
147
  (event: 'security-confirm', value: boolean): void
140
148
  (event: 'submit-preferences'): void
141
149
  }>()
@@ -11,12 +11,7 @@
11
11
  id="tooltip-theme-mode-toggle-button"
12
12
  class="popped tooltip inline-block"
13
13
  >
14
- <ui-switch
15
- v-model="isDarkTheme"
16
- test-id="switch-theme-mode"
17
- size="md"
18
- dark
19
- >
14
+ <ui-switch v-model="model" test-id="switch-theme-mode" size="md" dark>
20
15
  <template #rightIcon>
21
16
  <ui-icon name="light-theme" width="14" height="14" />
22
17
  </template>
@@ -37,12 +32,27 @@
37
32
  <script setup lang="ts">
38
33
  import type { UI_I_Localization } from '~/lib/models/interfaces'
39
34
 
40
- const isDarkTheme = defineModel<boolean>()
35
+ const props = defineProps<{
36
+ isDarkTheme: boolean
37
+ }>()
38
+
39
+ const emits = defineEmits<{
40
+ (event: 'change-theme-mode'): void
41
+ }>()
41
42
 
42
43
  const localization = computed<UI_I_Localization>(() => useLocal())
43
44
 
45
+ const model = computed<boolean>({
46
+ get() {
47
+ return props.isDarkTheme
48
+ },
49
+ set() {
50
+ emits('change-theme-mode')
51
+ },
52
+ })
53
+
44
54
  const tooltipText = computed<string>(() =>
45
- isDarkTheme.value
55
+ model.value
46
56
  ? localization.value.layout.darkMode
47
57
  : localization.value.layout.lightMode
48
58
  )
@@ -13,7 +13,7 @@
13
13
  </template>
14
14
 
15
15
  <script setup lang="ts">
16
- import { allRegExp } from '~/lib/config/regExp'
16
+ import { RegExp } from '~/lib/config/regExp'
17
17
  import type { UI_I_Localization } from '~/lib/models/interfaces'
18
18
 
19
19
  const emailModelLocal = defineModel<string>({ required: true })
@@ -23,7 +23,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
23
23
  const emailErrorText = computed<string>(() => {
24
24
  if (!emailModelLocal.value) return ''
25
25
 
26
- return allRegExp.email.test(emailModelLocal.value)
26
+ return RegExp.email.test(emailModelLocal.value)
27
27
  ? ''
28
28
  : localization.value.common.emailErrorText
29
29
  })
@@ -1,7 +1,19 @@
1
1
  <template>
2
2
  <Teleport to="body">
3
- <component
4
- :is="currentComponent"
3
+ <common-layout-the-header-help-menu-about-new
4
+ v-if="isNewView"
5
+ :title="title"
6
+ :subtitle="subtitle"
7
+ :about-heading-text="aboutHeadingText"
8
+ :about-desc-one="aboutDesc1"
9
+ :about-desc-second="aboutDesc2"
10
+ :project-name="props.projectName"
11
+ :url="companyWebSitePath"
12
+ @hide="emits('hide')"
13
+ />
14
+
15
+ <common-layout-the-header-help-menu-about-old
16
+ v-else
5
17
  :title="title"
6
18
  :subtitle="subtitle"
7
19
  :about-heading-text="aboutHeadingText"
@@ -46,24 +58,22 @@ const subtitle = computed<string>(() =>
46
58
  )
47
59
 
48
60
  const aboutHeadingText = computed<string>(() =>
49
- localization.value.layout.aboutHeading
50
- .replace('{companyName}', companyName.value)
51
- .replace('{year}', new Date().getFullYear() + '')
61
+ localization.value.layout.aboutHeading.replace(
62
+ '{companyName}',
63
+ companyName.value
64
+ ).replace(
65
+ '{year}',
66
+ new Date().getFullYear() + ''
67
+ )
52
68
  )
53
69
 
54
70
  const aboutDesc = computed<string[]>(() =>
55
71
  localization.value.layout.aboutDesc
56
72
  .replaceAll('{companyName}', companyName.value)
57
- .replaceAll('{trademark}', brandName.value)
58
- .split('{url}')
73
+ .replaceAll('{trademark}', brandName.value).split('{url}')
59
74
  )
60
75
  const aboutDesc1 = computed<string>(() => aboutDesc.value[0])
61
76
  const aboutDesc2 = computed<string>(() => aboutDesc.value[1])
62
77
 
63
78
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
64
- const currentComponent = computed(() =>
65
- isNewView.value
66
- ? defineAsyncComponent(() => import('./New.vue'))
67
- : defineAsyncComponent(() => import('./Old.vue'))
68
- )
69
79
  </script>