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
@@ -1,136 +0,0 @@
1
- <template>
2
- <div class="skeleton-page grid gap-3 p-4 h-inherit overflow-hidden">
3
- <div class="left-content grid p-4">
4
- <div class="flex justify-between gap-4 flex-wrap">
5
- <ui-skeleton-item width="80" height="20" />
6
- <ui-skeleton-item width="160" height="36" />
7
- </div>
8
- <div class="border-block flex flex-col py-3 px-4 my-4">
9
- <ui-skeleton-item width="100%" height="20" />
10
- <ui-skeleton-item width="50%" height="20" />
11
- <ui-skeleton-item width="30%" height="20" />
12
- <ui-skeleton-item width="70%" height="20" />
13
- <ui-skeleton-item width="20%" height="20" />
14
- <ui-skeleton-item width="50%" height="20" />
15
- <ui-skeleton-item width="80%" height="20" />
16
- <ui-skeleton-item width="70%" height="20" />
17
- <ui-skeleton-item width="20%" height="20" />
18
- </div>
19
- <ui-skeleton-item width="96" height="20" class="ml-auto" />
20
- </div>
21
- <div class="right-content grid p-4">
22
- <div class="flex justify-between gap-4 pr-4 flex-wrap top-container">
23
- <ui-skeleton-item width="80" height="20" />
24
- <div class="actions-block flex">
25
- <ui-skeleton-item width="20" height="20" />
26
- <div class="line-border"></div>
27
- <ui-skeleton-item width="20" height="20" />
28
- <div class="line-border"></div>
29
- <ui-skeleton-item width="20" height="20" />
30
- </div>
31
- </div>
32
- <div
33
- ref="detailsScrollBlock"
34
- :class="[
35
- 'details-block flex flex-col my-6',
36
- { 'has-scroll': hasScroll },
37
- ]"
38
- >
39
- <div
40
- v-for="index in detailsItemsCount"
41
- :key="index"
42
- class="details-block-item flex p-3"
43
- >
44
- <ui-skeleton-item width="20" height="20" class="mr-[10px]" />
45
- <ui-skeleton-item width="144" height="20" />
46
- <ui-skeleton-item width="144" height="20" class="ml-auto" />
47
- </div>
48
- </div>
49
- </div>
50
- </div>
51
- </template>
52
-
53
- <script setup lang="ts">
54
- import { useTemplateRef } from 'vue'
55
- import { useElementSize } from '@vueuse/core'
56
-
57
- const detailsItemsCount = ref<number>(3)
58
-
59
- const detailsElement = useTemplateRef<HTMLDivElement>('detailsScrollBlock')
60
- const { height } = useElementSize(detailsElement)
61
-
62
- const hasScroll = computed<boolean>(
63
- () =>
64
- height.value &&
65
- detailsElement.value?.scrollHeight > detailsElement.value?.clientHeight
66
- )
67
- </script>
68
-
69
- <style>
70
- :root {
71
- --backups-left-skeleton-border-color: #e9ebed;
72
- --backups-right-skeleton-action-line-border-color: #e9ebeda3;
73
- --backups-right-skeleton-item-bg-color: #e9ebed66;
74
- }
75
- :root.dark-theme {
76
- --backups-left-skeleton-border-color: #e9ebed1f;
77
- --backups-right-skeleton-action-line-border-color: #e9ebed1f;
78
- --backups-right-skeleton-item-bg-color: #e9ebed0f;
79
- }
80
- </style>
81
-
82
- <style scoped lang="scss">
83
- .skeleton-page {
84
- grid-template-columns: repeat(2, calc(50% - 6px));
85
-
86
- .left-content,
87
- .right-content {
88
- background-color: var(--backups-page-inner-block-bg);
89
- box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.0784313725);
90
- border-radius: 8px;
91
- grid-template-rows: max-content 1fr max-content;
92
- overflow: hidden;
93
- }
94
- .border-block {
95
- border: 1px solid var(--backups-left-skeleton-border-color);
96
- border-radius: 8px;
97
- grid-row-gap: 10px;
98
- overflow: auto;
99
-
100
- :deep(.skeleton-item) {
101
- min-height: 20px;
102
- }
103
- }
104
- .right-content {
105
- padding-right: 0;
106
-
107
- .top-container {
108
- .actions-block {
109
- grid-column-gap: 10px;
110
-
111
- .line-border {
112
- border: 1px solid
113
- var(--backups-right-skeleton-action-line-border-color);
114
- }
115
- }
116
- }
117
- .details-block {
118
- grid-row-gap: 10px;
119
- overflow: auto;
120
-
121
- &:not(.has-scroll) {
122
- padding-right: 16px;
123
- }
124
-
125
- .details-block-item {
126
- background-color: var(--backups-right-skeleton-item-bg-color);
127
- border-radius: 6px;
128
- }
129
-
130
- :deep(.skeleton-item) {
131
- min-height: 20px;
132
- }
133
- }
134
- }
135
- }
136
- </style>
@@ -1,36 +0,0 @@
1
- export enum UI_E_DatastoreFileType {
2
- FOLDER = 1,
3
- FILE,
4
- VIRTUAL_DISK,
5
- VM_LOG_FILE,
6
- NON_MEMORY_FILE,
7
- ISO_IMAGE,
8
- VIRTUAL_MACHINE,
9
- }
10
-
11
- export enum UI_E_FileNameOfType {
12
- 'Folder' = 1,
13
- 'File',
14
- 'Virtual Disk',
15
- 'VM Log File',
16
- 'Non-volatile Memory File',
17
- 'ISO Image',
18
- 'Virtual Machine',
19
- }
20
-
21
- export enum UI_E_FileIconsOfType {
22
- 'vsphere-icon-datastore',
23
- 'vsphere-icon-folder',
24
- 'icon-vSphere-dsFile',
25
- 'icon-vSphere-dsVmDisk',
26
- 'icon-vSphere-dsVmLog',
27
- 'icon-vSphere-dsVmNvram',
28
- 'icon-vSphere-dsIsoImage',
29
- 'vsphere-icon-vm',
30
- }
31
-
32
- export enum UI_E_FileProvisioningType {
33
- thinProvision = 1,
34
- thickProvisionLazyZeroed = 2,
35
- thickProvisionEagerZeroed = 3,
36
- }
@@ -1,9 +0,0 @@
1
- import type { UI_T_AllTypeNodes } from '~/lib/models/types'
2
- import type { UI_I_TaskItem } from '~/lib/models/store/tasks/interfaces'
3
-
4
- export interface UI_I_TaskConfig {
5
- iconFunc: (type: UI_T_AllTypeNodes) => string
6
- idFunc: (task: UI_I_TaskItem<UI_T_AllTypeNodes>) => string
7
- navFunc: (type: UI_T_AllTypeNodes) => string
8
- typeFunc: (type: UI_T_AllTypeNodes) => string
9
- }
@@ -1,69 +0,0 @@
1
- <template>
2
- <div class="qrcode">
3
- <!-- <img v-if="qrDataUrl" :src="qrDataUrl" alt="QR Code" class="qr-image" />-->
4
- <Qrcode
5
- :value="props.qrCodeUrl"
6
- :width="props.width"
7
- :height="props.height"
8
- />
9
- </div>
10
- </template>
11
-
12
- <script setup lang="ts">
13
- // import QRCode from 'qrcode'
14
-
15
- const props = withDefaults(
16
- defineProps<{
17
- qrCodeUrl: string
18
- width?: string
19
- height?: string
20
- }>(),
21
- {
22
- width: '130',
23
- height: '130',
24
- }
25
- )
26
-
27
- // const qrDataUrl = ref<string>('')
28
- // const generateQRCode = async (): Promise<void> => {
29
- // try {
30
- // qrDataUrl.value = await QRCode.toDataURL(props.qrCodeUrl, {
31
- // width: 150,
32
- // margin: 2,
33
- // })
34
- // } catch (error) {
35
- // console.error('Error generating QR code:', error)
36
- // }
37
- // }
38
- //
39
- // watch(
40
- // () => props.qrCodeUrl,
41
- // (newValue) => {
42
- // newValue && generateQRCode()
43
- // },
44
- // { immediate: true }
45
- // )
46
- </script>
47
-
48
- <style scoped lang="scss">
49
- //.qr-code-display {
50
- // text-align: center;
51
- // max-width: 400px;
52
- // margin: 0 auto;
53
- //}
54
- //
55
- //.qr-wrapper {
56
- // margin: 20px 0;
57
- // padding: 20px;
58
- // background: white;
59
- // border-radius: 12px;
60
- // border: 1px solid #e0e0e0;
61
- // display: inline-block;
62
- //}
63
- //
64
- //.qr-canvas,
65
- //.qr-image {
66
- // width: 150px;
67
- // height: 150px;
68
- //}
69
- </style>
@@ -1,90 +0,0 @@
1
- <template>
2
- <div class="detail-view overflow-auto py-0 px-6">
3
- <table
4
- v-if="detailData"
5
- class="table table-noborder"
6
- data-id="detail-view-table"
7
- >
8
- <tbody>
9
- <tr>
10
- <td class="left">{{ localization.common.name }}</td>
11
- <td class="left snapshot-name-label" data-id="vm-snapshot-name">
12
- {{ detailData.name }}
13
- </td>
14
- </tr>
15
- <tr>
16
- <td class="left">{{ localization.common.description }}</td>
17
- <td
18
- class="left snapshot-name-label"
19
- data-id="vm-snapshot-description"
20
- >
21
- {{ detailData.description }}
22
- </td>
23
- </tr>
24
- <tr>
25
- <td class="left">{{ localization.snapshots.timestamp }}</td>
26
- <td class="left snapshot-name-label" data-id="vm-snapshot-timestamp">
27
- {{ detailData.timestamp }}
28
- </td>
29
- </tr>
30
- <tr>
31
- <td class="left">{{ localization.common.size }}</td>
32
- <td class="left snapshot-name-label">{{ detailData.size }}</td>
33
- </tr>
34
- <tr>
35
- <td class="left">
36
- {{ localization.common.snapshotTheVirtualMachinesMemory }}
37
- </td>
38
- <td class="left snapshot-name-label" data-id="vm-snapshot-of-memory">
39
- {{ detailData.snapshot_the_virtual_machines_memory }}
40
- </td>
41
- </tr>
42
- <tr>
43
- <td class="left">
44
- {{ localization.common.quiesceGuestFileSystem }}
45
- </td>
46
- <td
47
- class="left snapshot-name-label"
48
- data-id="vm-snapshot-file-system"
49
- >
50
- {{ detailData.quiesce_guest_file_system }}
51
- </td>
52
- </tr>
53
- </tbody>
54
- </table>
55
- </div>
56
- </template>
57
-
58
- <script setup lang="ts">
59
- import type { UI_I_Localization } from '~/lib/models/interfaces'
60
- import type { UI_I_SnapshotsDetails } from '~/store/inventory/modules/snapshots/lib/models/interfaces'
61
-
62
- const props = defineProps<{
63
- detail: UI_I_SnapshotsDetails | null
64
- }>()
65
-
66
- const localization = computed<UI_I_Localization>(() => useLocal())
67
-
68
- const detailData = ref<any | null>(null)
69
- watch(
70
- () => props.detail,
71
- (newValue) => {
72
- if (!newValue) return
73
-
74
- detailData.value = newValue
75
- },
76
- { immediate: true, deep: true }
77
- )
78
- </script>
79
-
80
- <style scoped lang="scss">
81
- .detail-view {
82
- width: 50%;
83
-
84
- .table {
85
- .left:not(.snapshot-name-label) {
86
- width: 320px;
87
- }
88
- }
89
- }
90
- </style>
@@ -1,71 +0,0 @@
1
- <template>
2
- <div class="main-content-snapshots h-full overflow-hidden">
3
- <common-vm-snapshots-tools
4
- :snapshots-count="props.snapshotsTree.length"
5
- :snapshots-loading="props.snapshotsLoading"
6
- @select="emits('show-modal', $event)"
7
- />
8
-
9
- <atoms-loader-pre-loader
10
- v-show="props.snapshotsLoading"
11
- id="loader"
12
- class="snapshots-loading w-full h-full flex items-center justify-center"
13
- test-id="snapshots-tree-spinner"
14
- show
15
- />
16
- <div class="fill-parent w-full h-full">
17
- <div
18
- v-if="props.snapshotsTree.length"
19
- class="snapshot-view mt-1 flex w-full"
20
- >
21
- <common-tree-view
22
- :loading="props.snapshotsLoading"
23
- :nodes="props.snapshotsTree"
24
- @select-node="emits('select-node', $event)"
25
- @show-nodes="emits('show-nodes', $event)"
26
- />
27
- <common-vm-snapshots-detail-view :detail="props.detailData" />
28
- </div>
29
- <div v-else class="empty-block flex items-center justify-center w-full">
30
- {{ localization.common.noSnapshotAvailable }}
31
- </div>
32
- </div>
33
- </div>
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import type { UI_I_Localization } from '~/lib/models/interfaces'
38
- import type {
39
- UI_I_SnapshotsDetails,
40
- UI_I_SnapshotsTreeNode,
41
- } from '~/store/inventory/modules/snapshots/lib/models/interfaces'
42
- import type { UI_T_SnapshotActionType } from '~/components/common/vm/snapshots/lib/models/types'
43
-
44
- const props = defineProps<{
45
- snapshotsTree: UI_I_SnapshotsTreeNode[]
46
- snapshotsLoading: boolean
47
- detailData: UI_I_SnapshotsDetails | null
48
- }>()
49
-
50
- const emits = defineEmits<{
51
- (event: 'show-modal', value: UI_T_SnapshotActionType): void
52
- (event: 'select-node', value: UI_I_SnapshotsTreeNode): void
53
- (event: 'show-nodes', value: string): void
54
- }>()
55
-
56
- const localization = computed<UI_I_Localization>(() => useLocal())
57
- </script>
58
-
59
- <style scoped lang="scss">
60
- .main-content-snapshots {
61
- padding: 10px 5px 10px 0;
62
-
63
- .fill-parent {
64
- overflow: visible;
65
-
66
- .snapshot-view {
67
- height: 90%;
68
- }
69
- }
70
- }
71
- </style>
@@ -1,82 +0,0 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- :snapshots-tree="props.snapshotsTree"
5
- :snapshots-loading="props.snapshotsLoading"
6
- :detail-data="detailData"
7
- @show-modal="onShowModal"
8
- @select-node="onSelectNode"
9
- @show-nodes="onShowNodes"
10
- />
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import type { UI_I_Localization } from '~/lib/models/interfaces'
15
- import type { UI_T_SnapshotActionType } from '~/components/common/vm/snapshots/lib/models/types'
16
- import type {
17
- UI_I_SnapshotsDetails,
18
- UI_I_SnapshotsTreeNode,
19
- } from '~/store/inventory/modules/snapshots/lib/models/interfaces'
20
-
21
- const props = defineProps<{
22
- snapshotsTree: UI_I_SnapshotsTreeNode
23
- snapshotsLoading: boolean
24
- }>()
25
-
26
- const emits = defineEmits<{
27
- (event: 'select-node', value: UI_I_SnapshotsTreeNode): void
28
- (event: 'show-nodes', value: string): void
29
- (event: 'show-modal', value: UI_T_SnapshotActionType): void
30
- }>()
31
-
32
- const { $recursion, $store }: any = useNuxtApp()
33
-
34
- const localization = computed<UI_I_Localization>(() => useLocal())
35
-
36
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
37
- const currentComponent = computed(() =>
38
- isNewView.value
39
- ? defineAsyncComponent(() => import('./new/New.vue'))
40
- : defineAsyncComponent(() => import('./Old.vue'))
41
- )
42
-
43
- const detailData = computed<UI_I_SnapshotsDetails | null>(() => {
44
- const node: UI_I_SnapshotsTreeNode =
45
- $recursion.find(props.snapshotsTree, true, 'isActive', 'nodes') || null
46
-
47
- if (!node) return null
48
-
49
- let snapshot_the_virtual_machines_memory = ''
50
- let quiesce_guest_file_system = ''
51
-
52
- if (isNewView.value) {
53
- snapshot_the_virtual_machines_memory = node.memory?.enabled ? 'yes' : 'no'
54
- quiesce_guest_file_system = node.quiesce_fs ? 'yes' : 'no'
55
- } else {
56
- snapshot_the_virtual_machines_memory = node.memory?.enabled
57
- ? localization.value.common.yes
58
- : localization.value.common.no
59
- quiesce_guest_file_system = node.quiesce_fs
60
- ? localization.value.common.yes
61
- : localization.value.common.no
62
- }
63
-
64
- return {
65
- ...node,
66
- snapshot_the_virtual_machines_memory,
67
- quiesce_guest_file_system,
68
- }
69
- })
70
- const onSelectNode = (item: UI_I_SnapshotsTreeNode): void => {
71
- emits('select-node', item.type === 'location' ? item.parent_id : item.id)
72
- }
73
- const onShowNodes = (id: string): void => {
74
- emits('show-nodes', id)
75
- }
76
-
77
- const onShowModal = (action: UI_T_SnapshotActionType): void => {
78
- emits('show-modal', action)
79
- }
80
- </script>
81
-
82
- <style scoped lang="scss"></style>
@@ -1,5 +0,0 @@
1
- export interface UI_I_TakeEditSnapshot {
2
- snapshot_id: number
3
- name: string
4
- description: string
5
- }
@@ -1,11 +0,0 @@
1
- export type UI_T_SnapshotActionType =
2
- | 'take'
3
- | 'edit'
4
- | 'revert'
5
- | 'delete'
6
- | 'delete_all'
7
- | 'group_take'
8
- | 'group_delete_all'
9
-
10
- export type UI_T_TakeOrEdit = 'take' | 'edit' | 'groupTake'
11
-
@@ -1,48 +0,0 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model:suspend-on-revert="suspendOnRevert"
5
- :type="props.type"
6
- :snapshot="props.snapshot"
7
- :snapshots-count="props.snapshotsCount"
8
- :vm-state="props.vmState"
9
- @hide="emits('hide')"
10
- @submit="emits('submit', suspendOnRevert)"
11
- />
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import type { UI_I_SnapshotsTreeNode } from '~/store/inventory/modules/snapshots/lib/models/interfaces'
16
- import type { UI_T_SnapshotActionType } from '~/components/common/vm/snapshots/lib/models/types'
17
-
18
- const props = withDefaults(
19
- defineProps<{
20
- type: UI_T_SnapshotActionType
21
- snapshot: UI_I_SnapshotsTreeNode | null
22
- snapshotsCount: number
23
- targets: string[]
24
- vmState?: number | null
25
- }>(),
26
- {
27
- vmState: null,
28
- }
29
- )
30
-
31
- const emits = defineEmits<{
32
- (event: 'hide'): void
33
- (event: 'submit', value: boolean): void
34
- }>()
35
-
36
- const { $store }: any = useNuxtApp()
37
-
38
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
39
- const currentComponent = computed(() =>
40
- isNewView.value
41
- ? defineAsyncComponent(() => import('./New.vue'))
42
- : defineAsyncComponent(() => import('./Old.vue'))
43
- )
44
-
45
- const suspendOnRevert = ref<boolean>(false)
46
- </script>
47
-
48
- <style scoped lang="scss"></style>
@@ -1,128 +0,0 @@
1
- <template>
2
- <common-modals-confirmation
3
- :headline="title"
4
- :description="descriptionText"
5
- :modal-texts="modalTextsLocal"
6
- :loading="false"
7
- :icon-name="modalIcon"
8
- test-id="vm-snapshots-modal"
9
- is-new-view
10
- @hide-modal="emits('hide')"
11
- @confirm="emits('submit')"
12
- >
13
- <template v-if="props.type === 'revert'" #otherContent>
14
- <div class="confirm-modal-checkbox-content mt-4 p-3">
15
- <ui-checkbox
16
- v-model="suspendOnRevert"
17
- :label-text="
18
- localization.common
19
- .suspendThisVirtualMachineWhenRevertingToSelectedSnapshot
20
- "
21
- :disabled="props.vmState === 2"
22
- test-id="vm-snapshots-modal-revert-checkbox"
23
- class="confirm-modal-checkbox flex items-start"
24
- size="md"
25
- />
26
- </div>
27
- </template>
28
- </common-modals-confirmation>
29
- </template>
30
-
31
- <script setup lang="ts">
32
- import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
33
- import type { UI_I_Localization } from '~/lib/models/interfaces'
34
- import type { UI_I_SnapshotsTreeNode } from '~/store/inventory/modules/snapshots/lib/models/interfaces'
35
- import type { UI_T_SnapshotActionType } from '~/components/common/vm/snapshots/lib/models/types'
36
- import { UI_E_TitleModal } from '~/components/common/vm/snapshots/modals/confirm/lib/models/enums'
37
- import { modalTexts } from '~/components/common/vm/snapshots/modals/lib/config/modalTexts'
38
-
39
- const suspendOnRevert = defineModel<boolean>('suspendOnRevert', {
40
- required: true,
41
- })
42
- const props = defineProps<{
43
- type: UI_T_SnapshotActionType
44
- snapshot: UI_I_SnapshotsTreeNode | null
45
- snapshotsCount: number
46
- vmState: number | null
47
- }>()
48
-
49
- const emits = defineEmits<{
50
- (event: 'hide'): void
51
- (event: 'submit'): void
52
- }>()
53
-
54
- const localization = computed<UI_I_Localization>(() => useLocal())
55
-
56
- const modalTextsLocal = computed<UI_I_ModalTexts>(() =>
57
- modalTexts(localization.value, props.type)
58
- )
59
-
60
- const title = computed<string>(() =>
61
- props.snapshotsCount === 1 && props.type === 'delete'
62
- ? localization.value.snapshots.deleteTheLastSnapshot
63
- : localization.value.snapshots[UI_E_TitleModal[props.type]] || ''
64
- )
65
-
66
- const modalIcon = computed<string>(() =>
67
- props.type === 'delete_all' ||
68
- (props.snapshotsCount === 1 && props.type === 'delete')
69
- ? 'circle-warning'
70
- : 'info-status'
71
- )
72
-
73
- const descriptionText = computed<string>(() => {
74
- let description: string
75
-
76
- switch (props.type) {
77
- case 'delete_all':
78
- description = localization.value.snapshots.deleteAllSnapshotsDescription
79
- break
80
-
81
- case 'revert':
82
- description =
83
- localization.value.snapshots.revertToSnapshotDescription.replace(
84
- '{0}',
85
- props.snapshot?.name || ''
86
- )
87
- break
88
-
89
- default:
90
- description =
91
- props.snapshotsCount === 1
92
- ? localization.value.snapshots.deleteLastSnapshotsDescription
93
- : localization.value.snapshots.deleteSnapshotConfirmationDescription.replace(
94
- '{0}',
95
- props.snapshot?.name || ''
96
- )
97
- break
98
- }
99
-
100
- return description
101
- })
102
-
103
- // TODO Удалить если не надо
104
- // const descriptionDeleteContent = computed<string>(() =>
105
- // props.snapshotsCount === 1
106
- // ? localization.value.snapshots.deleteLastSnapshotsDescription
107
- // : localization.value.snapshots.deleteSnapshotConfirmationDescription.replace(
108
- // '{0}',
109
- // props.snapshot?.name || ''
110
- // )
111
- // )
112
- </script>
113
-
114
- <style scoped lang="scss">
115
- .confirm-modal-checkbox-content {
116
- background-color: #e9ebed66;
117
- border-radius: 8px;
118
-
119
- .confirm-modal-checkbox {
120
- height: max-content;
121
-
122
- :deep(.ui-checkbox-label-text) {
123
- line-height: 18px;
124
- margin-top: 1px;
125
- }
126
- }
127
- }
128
- </style>