bfg-common 1.5.486 → 1.5.488

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 (209) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +9 -2
  7. package/assets/localization/local_en.json +19 -12
  8. package/assets/localization/local_hy.json +9 -2
  9. package/assets/localization/local_kk.json +9 -2
  10. package/assets/localization/local_ru.json +9 -2
  11. package/assets/localization/local_zh.json +9 -2
  12. package/assets/scss/common/theme.scss +2 -2
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/collapse/CollapseNav.vue +170 -170
  15. package/components/atoms/perPage/PerPage.vue +58 -58
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/adapterManager/AdapterManager.vue +189 -545
  20. package/components/common/adapterManager/AdapterManagerNew.vue +300 -0
  21. package/components/common/adapterManager/AdapterManagerOld.vue +498 -0
  22. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -0
  23. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +77 -0
  24. package/components/common/adapterManager/{AddAdapterModal.vue → addAdapterModal/AddAdapterModalOld.vue} +16 -46
  25. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -0
  26. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +38 -0
  27. package/components/common/adapterManager/{AddAdapterWarningModal.vue → addAdapterWarningModal/AddAdapterWarningModalOld.vue} +5 -14
  28. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -0
  29. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -0
  30. package/components/common/adapterManager/{NoActiveAdaptersModal.vue → noActiveAdaptersModal/NoActiveAdaptersModalOld.vue} +2 -6
  31. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -0
  32. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -0
  33. package/components/common/adapterManager/{NoConnectedActiveAdaptersModal.vue → noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue} +2 -6
  34. package/components/common/adapterManager/ui/actions/bar/Bar.vue +57 -0
  35. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +38 -0
  36. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -0
  37. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +75 -0
  38. package/components/common/adapterManager/ui/actions/{MoveDownAdapterButton.vue → moveDownAdapterButton/MoveDownAdapterButtonOld.vue} +3 -9
  39. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -0
  40. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +76 -0
  41. package/components/common/adapterManager/ui/actions/{MoveUpAdapterButton.vue → moveUpAdapterButton/MoveUpAdapterButtonOld.vue} +3 -9
  42. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -0
  43. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +13 -0
  44. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -0
  45. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +36 -0
  46. package/components/common/adapterManager/ui/{SecondTitle.vue → secondTitle/SecondTitleOld.vue} +0 -1
  47. package/components/common/adapterManager/ui/table/Table.vue +59 -133
  48. package/components/common/adapterManager/ui/table/TableNew.vue +136 -0
  49. package/components/common/adapterManager/ui/table/TableOld.vue +141 -0
  50. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -0
  51. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +153 -0
  52. package/components/common/adapterManager/ui/table/{Adapters.vue → adapters/AdaptersOld.vue} +5 -10
  53. package/components/common/adapterManager/ui/table/header/Header.vue +57 -0
  54. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +77 -0
  55. package/components/common/adapterManager/ui/table/{Header.vue → header/HeaderOld.vue} +3 -20
  56. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  57. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  58. package/components/common/browse/lib/models/interfaces.ts +5 -5
  59. package/components/common/context/lib/models/interfaces.ts +33 -33
  60. package/components/common/diagramMain/DiagramMain.vue +3 -1
  61. package/components/common/diagramMain/lib/models/interfaces.ts +5 -2
  62. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +6 -5
  63. package/components/common/diagramMain/modals/Modals.vue +19 -1
  64. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +23 -20
  65. package/components/common/diagramMain/modals/lib/config/networkModal.ts +401 -398
  66. package/components/common/diagramMain/modals/lib/config/switchModal.ts +3 -0
  67. package/components/common/diagramMain/modals/remove/RemoveModal.vue +8 -0
  68. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +12 -1
  69. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +12 -1
  70. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +0 -2
  71. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +6 -0
  72. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +140 -71
  73. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +4 -4
  74. package/components/common/diagramMain/network/Contents.vue +497 -497
  75. package/components/common/layout/theHeader/feedback/new/New.vue +2 -2
  76. package/components/common/layout/theHeader/feedback/new/description/Description.vue +3 -3
  77. package/components/common/layout/theHeader/feedback/new/tabs/Tabs.vue +4 -2
  78. package/components/common/layout/theHeader/feedback/new/tabs/lib/config/tabs.ts +3 -2
  79. package/components/common/layout/theHeader/feedback/new/tabs/lib/models/interfaces.ts +5 -0
  80. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  81. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +96 -95
  82. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  83. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordNew.vue +1 -2
  84. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +9 -0
  85. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewNew.vue +6 -2
  86. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalNew.vue +1 -0
  87. package/components/common/monitor/overview/OverviewNew.vue +4 -1
  88. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +0 -2
  89. package/components/common/monitor/overview/filters/customIntervalModal/customIntervalModalNew/CustomIntervalModalNew.vue +6 -6
  90. package/components/common/pages/backups/DetailView.vue +52 -52
  91. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  92. package/components/common/pages/backups/modals/Modals.vue +243 -243
  93. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  94. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  95. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  96. package/components/common/pages/backups/modals/createBackup/general/General.vue +141 -141
  97. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  98. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  99. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  100. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  101. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  102. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  103. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  104. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  105. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  106. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  107. package/components/common/pages/backups/tools/Tools.vue +75 -75
  108. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  109. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  110. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  111. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  112. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  113. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  114. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  115. package/components/common/pages/tasks/table/Table.vue +8 -9
  116. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  117. package/components/common/select/radio/RadioGroup.vue +137 -137
  118. package/components/common/spiceConsole/Drawer.vue +392 -392
  119. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  120. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  121. package/components/common/tools/Actions.vue +207 -207
  122. package/components/common/treeView/TreeView.vue +52 -52
  123. package/components/common/vm/actions/add/Add.vue +32 -5
  124. package/components/common/vm/actions/add/New.vue +8 -2
  125. package/components/common/vm/actions/add/Old.vue +8 -2
  126. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  127. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  128. package/components/common/vm/actions/add/lib/config/steps.ts +14 -3
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  144. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  145. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  146. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  147. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  148. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  149. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  150. package/components/common/vm/actions/common/select/name/Name.vue +200 -197
  151. package/components/common/vm/actions/common/select/name/Old.vue +8 -1
  152. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  153. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  154. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  155. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  156. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  157. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  158. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  159. package/components/common/vm/actions/register/Register.vue +267 -267
  160. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  161. package/components/common/vmt/actions/add/Add.vue +1 -0
  162. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  163. package/components/common/wizards/network/add/Add.vue +9 -3
  164. package/components/common/wizards/network/add/AddNew.vue +291 -354
  165. package/components/common/wizards/network/add/AddOld.vue +0 -3
  166. package/components/common/wizards/network/add/lib/config/config.ts +1 -0
  167. package/components/common/wizards/network/add/lib/config/initialData.ts +9 -0
  168. package/components/common/wizards/network/add/lib/config/steps.ts +35 -5
  169. package/components/common/wizards/network/add/lib/models/interfaces.ts +12 -2
  170. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettings.vue +83 -0
  171. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsNew.vue +114 -0
  172. package/components/common/wizards/network/add/steps/{ConnectionSettings.vue → connectionSettings/ConnectionSettingsOld.vue} +11 -42
  173. package/components/common/wizards/network/add/steps/createStandardSwitch/CreateStandardSwitch.vue +99 -0
  174. package/components/common/wizards/network/add/steps/createStandardSwitch/CreateStandardSwitchNew.vue +80 -0
  175. package/components/common/wizards/network/add/steps/{CreateStandardSwitch.vue → createStandardSwitch/CreateStandardSwitchOld.vue} +24 -33
  176. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettings.vue +143 -0
  177. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +224 -0
  178. package/components/common/wizards/network/add/steps/{IpFourSettings.vue → ipFourSettings/IpFourSettingsOld.vue} +13 -101
  179. package/components/common/wizards/network/add/steps/portProperties/PortProperties.vue +214 -0
  180. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +289 -0
  181. package/components/common/wizards/network/add/steps/{PortProperties.vue → portProperties/PortPropertiesOld.vue} +19 -166
  182. package/components/common/wizards/network/add/steps/readyComplete/ReadyComplete.vue +22 -0
  183. package/components/common/wizards/network/add/steps/readyComplete/ReadyCompleteNew.vue +30 -0
  184. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDevice.vue +7 -2
  185. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +1 -3
  186. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +0 -2
  187. package/components/common/wizards/network/add/validations/common.ts +1 -2
  188. package/components/common/wizards/network/add/validations/connectionSettings.ts +14 -7
  189. package/components/common/wizards/network/add/validations/ipFourSettings.ts +24 -10
  190. package/components/common/wizards/network/add/validations/networkValidation.ts +1 -1
  191. package/components/common/wizards/network/add/validations/portProperties.ts +52 -20
  192. package/components/common/wizards/network/add/validations/targetDevice.ts +18 -4
  193. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  194. package/composables/useAppVersion.ts +21 -21
  195. package/composables/useLocal.ts +6 -6
  196. package/composables/useLocalCommon.ts +39 -39
  197. package/package.json +2 -2
  198. package/plugins/date.ts +233 -233
  199. package/plugins/panelStates.ts +70 -70
  200. package/plugins/text.ts +59 -59
  201. package/public/spice-console/lib/images/bitmap.js +203 -203
  202. package/public/spice-console/network/spicechannel.js +440 -440
  203. package/public/spice-console/run.js +210 -210
  204. package/store/main/mutations.ts +7 -7
  205. package/store/main/state.ts +7 -7
  206. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +0 -13
  207. /package/components/common/adapterManager/ui/actions/{ActionsBar.vue → bar/BarOld.vue} +0 -0
  208. /package/components/common/adapterManager/ui/{NoSelectedAdapter.vue → noSelectedAdapter/NoSelectedAdapterOld.vue} +0 -0
  209. /package/components/common/wizards/network/add/steps/{ReadyComplete.vue → readyComplete/ReadyCompleteOld.vue} +0 -0
@@ -1,267 +1,267 @@
1
- <template>
2
- <div class="register-vm">
3
- <atoms-wizard
4
- :wizard="wizard"
5
- :selected-scheme="selectedScheme"
6
- :title="localization.common.registerVm"
7
- :localization="localization"
8
- test-id="register-wizard"
9
- show
10
- @change-steps="onChangeSteps"
11
- @hide="emits('hide')"
12
- @submit="emits('finish')"
13
- >
14
- <template #modalBody="{ selectedStep }">
15
- <!-- <atoms-loader-->
16
- <!-- v-show="props.isLoading"-->
17
- <!-- id="loader"-->
18
- <!-- test-id="edit-vm-settings-spinner"-->
19
- <!-- />-->
20
- <div class="register-vm-content">
21
- <common-vm-actions-common-select-name
22
- v-show="
23
- selectedStep.id === dynamicSteps.selectName ||
24
- selectedStep.id === dynamicSteps.selectNameFolder
25
- "
26
- :show="
27
- selectedStep.id === dynamicSteps.selectName ||
28
- selectedStep.id === dynamicSteps.selectNameFolder
29
- "
30
- :name-form-submit="nameFormSubmit"
31
- :project="props.project"
32
- :data-center="props.dataCenter"
33
- @submit="onChangeName(...$event)"
34
- @check-name="emits('check-name', $event)"
35
- />
36
- <common-vm-actions-common-select-compute-resource
37
- v-if="isSphere"
38
- v-show="selectedStep.id === dynamicSteps.selectComputeResource"
39
- v-model="vmForm.computeResource"
40
- :compute-resource-submit="computeResourceSubmit"
41
- :data-center="vmForm.dataCenter"
42
- :compute-resource="props.computeResource"
43
- :compute-resource-tree="props.computeResourceTree"
44
- @submit="emits('change-compute-resource', $event)"
45
- @select-compute-resource-tree="
46
- emits('select-compute-resource-tree', $event)
47
- "
48
- @get-compute-resource-tree="
49
- emits('get-compute-resource-tree', $event)
50
- "
51
- @show-compute-resource-tree="
52
- emits('show-compute-resource-tree', $event)
53
- "
54
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
55
- />
56
- <common-ready-to-complete
57
- v-if="selectedStep.id === dynamicSteps.readyComplete"
58
- :data="props.readyCompleteTableInfo"
59
- />
60
- </div>
61
- </template>
62
- </atoms-wizard>
63
- </div>
64
- </template>
65
-
66
- <script setup lang="ts">
67
- import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
68
- import type { UI_I_ValidationReturn } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
69
- import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
70
- import type { UI_I_Localization } from '~/lib/models/interfaces'
71
- import type { UI_T_Project } from '~/lib/models/types'
72
- import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
73
- import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
74
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
75
- import {
76
- dynamicSteps,
77
- stepsFunc,
78
- stepsSchemeInitial,
79
- } from '~/components/common/vm/actions/register/lib/config/steps'
80
-
81
- const vmForm = defineModel<any>({ required: true })
82
-
83
- const props = withDefaults(
84
- defineProps<{
85
- project: UI_T_Project
86
- readyCompleteTableInfo: UI_I_TableInfoItem[]
87
- dataCenter?: UI_I_TreeNode // для сферы
88
- computeResource?: UI_I_TreeNode // для сферы
89
- computeResourceTree?: UI_I_TreeNode[] // для сферы
90
- }>(),
91
- {
92
- dataCenter: undefined,
93
- computeResource: undefined,
94
- computeResourceTree: undefined,
95
- }
96
- )
97
-
98
- const emits = defineEmits<{
99
- (event: 'finish'): void
100
- (
101
- event: 'check-name',
102
- value: [[string, UI_I_TreeNode | null], (error: API_UI_I_Error) => void]
103
- ): void
104
- (event: 'hide'): void
105
- (event: 'clear-compute-resource-tree'): void // для сферы
106
- (event: 'change-compute-resource', value: UI_I_TreeNode): void // для сферы
107
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
108
- (
109
- event: 'get-compute-resource-tree',
110
- value: { id: string | number; cb: () => void }
111
- ): void // для сферы
112
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
113
- }>()
114
-
115
- const { $recursion }: any = useNuxtApp()
116
-
117
- const localization = computed<UI_I_Localization>(() => useLocal())
118
- const isSphere = computed<boolean>(() => props.project === 'sphere')
119
-
120
- const wizard: Wizard = new Wizard(
121
- stepsFunc(localization.value),
122
- stepsSchemeInitial
123
- )
124
- if (isSphere.value) {
125
- wizard.changeScheme(1)
126
- wizard.selectStepHard(1)
127
- }
128
-
129
- const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
130
- const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> => {
131
- wizard.changeSteps(value, validationFunc)
132
- }
133
- const validationFunc = async (
134
- value: UI_I_WizardStep[],
135
- currentStep: UI_I_WizardStep,
136
- nextStep: UI_I_WizardStep
137
- ): Promise<UI_I_ValidationReturn> => {
138
- let stepHasError = false
139
- let stepShouldStop = {
140
- ifOnCurrentStep: false,
141
- ifFromAnyStep: false,
142
- stoppageStepId: -1,
143
- }
144
-
145
- wizard.setLoader(true)
146
- if (
147
- wizard.isValidateForStep(
148
- isSphere.value ? dynamicSteps.selectNameFolder : dynamicSteps.selectName,
149
- currentStep.id,
150
- nextStep.id
151
- )
152
- ) {
153
- const nameValidation = await onCheckName(value)
154
-
155
- value = nameValidation.newValue
156
- stepHasError = stepHasError || nameValidation.stepHasError
157
- } else if (
158
- isSphere.value &&
159
- wizard.isValidateForStep(
160
- dynamicSteps.selectComputeResource,
161
- currentStep.id,
162
- nextStep.id
163
- )
164
- ) {
165
- const computeResourceValidation = await checkComputeResource(value)
166
-
167
- value = computeResourceValidation.newValue
168
- stepHasError = stepHasError || computeResourceValidation.stepHasError
169
- }
170
- wizard.setLoader(false)
171
-
172
- return {
173
- newValue: value,
174
- stepHasError,
175
- stepShouldStop,
176
- }
177
- }
178
-
179
- const nameFormSubmit = ref<null | Function>(null)
180
- const computeResourceSubmit = ref<null | Function>(null)
181
- const onCheckName = async (
182
- value: UI_I_WizardStep[]
183
- ): Promise<UI_I_ValidationReturn> => {
184
- let stepHasError = false
185
-
186
- return new Promise((resolve) => {
187
- const step = isSphere.value
188
- ? dynamicSteps.selectNameFolder
189
- : dynamicSteps.selectName
190
- nameFormSubmit.value = (isValid: boolean) => {
191
- if (!isValid) {
192
- stepHasError = wizard.setValidation(step, 'name', {
193
- fieldMessage: 'aaa',
194
- alertMessage: 'aaa',
195
- })
196
- } else if (wizard.hasMessage(step, 'name')) {
197
- value = wizard.removeValidation(step, 'name', value)
198
- }
199
-
200
- resolve({
201
- stepHasError,
202
- newValue: value,
203
- })
204
- nameFormSubmit.value = null
205
- }
206
- })
207
- }
208
- const checkComputeResource = async (
209
- value: UI_I_WizardStep[]
210
- ): Promise<UI_I_ValidationReturn> => {
211
- let stepHasError = false
212
-
213
- return new Promise((resolve) => {
214
- computeResourceSubmit.value = (isValid: boolean) => {
215
- if (!isValid) {
216
- stepHasError = wizard.setValidation(
217
- dynamicSteps.selectComputeResource,
218
- 'computeResource',
219
- {
220
- fieldMessage: 'aaa',
221
- alertMessage: 'aaa',
222
- }
223
- )
224
- } else if (
225
- wizard.hasMessage(dynamicSteps.selectComputeResource, 'computeResource')
226
- ) {
227
- value = wizard.removeValidation(
228
- dynamicSteps.selectComputeResource,
229
- 'computeResource',
230
- value
231
- )
232
- }
233
-
234
- resolve({
235
- stepHasError,
236
- newValue: value,
237
- })
238
- computeResourceSubmit.value = null
239
- }
240
- })
241
- }
242
-
243
- const onChangeName = (name: string, node: UI_I_TreeNode | null): void => {
244
- vmForm.value.name = name
245
- if (isSphere.value) {
246
- vmForm.value.locationPath = node.id
247
- vmForm.value.dataCenter = $recursion.findParentByValue(
248
- node,
249
- 'datacenter',
250
- 'type',
251
- 'parent'
252
- )
253
- }
254
- }
255
- </script>
256
-
257
- <style scoped lang="scss">
258
- :deep(.modal-body) {
259
- display: flex;
260
- flex-direction: column;
261
- }
262
- .register-vm-content {
263
- display: flex;
264
- flex-direction: column;
265
- flex: 1;
266
- }
267
- </style>
1
+ <template>
2
+ <div class="register-vm">
3
+ <atoms-wizard
4
+ :wizard="wizard"
5
+ :selected-scheme="selectedScheme"
6
+ :title="localization.common.registerVm"
7
+ :localization="localization"
8
+ test-id="register-wizard"
9
+ show
10
+ @change-steps="onChangeSteps"
11
+ @hide="emits('hide')"
12
+ @submit="emits('finish')"
13
+ >
14
+ <template #modalBody="{ selectedStep }">
15
+ <!-- <atoms-loader-->
16
+ <!-- v-show="props.isLoading"-->
17
+ <!-- id="loader"-->
18
+ <!-- test-id="edit-vm-settings-spinner"-->
19
+ <!-- />-->
20
+ <div class="register-vm-content">
21
+ <common-vm-actions-common-select-name
22
+ v-show="
23
+ selectedStep.id === dynamicSteps.selectName ||
24
+ selectedStep.id === dynamicSteps.selectNameFolder
25
+ "
26
+ :show="
27
+ selectedStep.id === dynamicSteps.selectName ||
28
+ selectedStep.id === dynamicSteps.selectNameFolder
29
+ "
30
+ :name-form-submit="nameFormSubmit"
31
+ :project="props.project"
32
+ :data-center="props.dataCenter"
33
+ @submit="onChangeName(...$event)"
34
+ @check-name="emits('check-name', $event)"
35
+ />
36
+ <common-vm-actions-common-select-compute-resource
37
+ v-if="isSphere"
38
+ v-show="selectedStep.id === dynamicSteps.selectComputeResource"
39
+ v-model="vmForm.computeResource"
40
+ :compute-resource-submit="computeResourceSubmit"
41
+ :data-center="vmForm.dataCenter"
42
+ :compute-resource="props.computeResource"
43
+ :compute-resource-tree="props.computeResourceTree"
44
+ @submit="emits('change-compute-resource', $event)"
45
+ @select-compute-resource-tree="
46
+ emits('select-compute-resource-tree', $event)
47
+ "
48
+ @get-compute-resource-tree="
49
+ emits('get-compute-resource-tree', $event)
50
+ "
51
+ @show-compute-resource-tree="
52
+ emits('show-compute-resource-tree', $event)
53
+ "
54
+ @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
55
+ />
56
+ <common-ready-to-complete
57
+ v-if="selectedStep.id === dynamicSteps.readyComplete"
58
+ :data="props.readyCompleteTableInfo"
59
+ />
60
+ </div>
61
+ </template>
62
+ </atoms-wizard>
63
+ </div>
64
+ </template>
65
+
66
+ <script setup lang="ts">
67
+ import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
68
+ import type { UI_I_ValidationReturn } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
69
+ import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
70
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
71
+ import type { UI_T_Project } from '~/lib/models/types'
72
+ import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
73
+ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
74
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
75
+ import {
76
+ dynamicSteps,
77
+ stepsFunc,
78
+ stepsSchemeInitial,
79
+ } from '~/components/common/vm/actions/register/lib/config/steps'
80
+
81
+ const vmForm = defineModel<any>({ required: true })
82
+
83
+ const props = withDefaults(
84
+ defineProps<{
85
+ project: UI_T_Project
86
+ readyCompleteTableInfo: UI_I_TableInfoItem[]
87
+ dataCenter?: UI_I_TreeNode // для сферы
88
+ computeResource?: UI_I_TreeNode // для сферы
89
+ computeResourceTree?: UI_I_TreeNode[] // для сферы
90
+ }>(),
91
+ {
92
+ dataCenter: undefined,
93
+ computeResource: undefined,
94
+ computeResourceTree: undefined,
95
+ }
96
+ )
97
+
98
+ const emits = defineEmits<{
99
+ (event: 'finish'): void
100
+ (
101
+ event: 'check-name',
102
+ value: [[string, UI_I_TreeNode | null], (error: API_UI_I_Error) => void]
103
+ ): void
104
+ (event: 'hide'): void
105
+ (event: 'clear-compute-resource-tree'): void // для сферы
106
+ (event: 'change-compute-resource', value: UI_I_TreeNode): void // для сферы
107
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
108
+ (
109
+ event: 'get-compute-resource-tree',
110
+ value: { id: string | number; cb: () => void }
111
+ ): void // для сферы
112
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
113
+ }>()
114
+
115
+ const { $recursion }: any = useNuxtApp()
116
+
117
+ const localization = computed<UI_I_Localization>(() => useLocal())
118
+ const isSphere = computed<boolean>(() => props.project === 'sphere')
119
+
120
+ const wizard: Wizard = new Wizard(
121
+ stepsFunc(localization.value),
122
+ stepsSchemeInitial
123
+ )
124
+ if (isSphere.value) {
125
+ wizard.changeScheme(1)
126
+ wizard.selectStepHard(1)
127
+ }
128
+
129
+ const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
130
+ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> => {
131
+ wizard.changeSteps(value, validationFunc)
132
+ }
133
+ const validationFunc = async (
134
+ value: UI_I_WizardStep[],
135
+ currentStep: UI_I_WizardStep,
136
+ nextStep: UI_I_WizardStep
137
+ ): Promise<UI_I_ValidationReturn> => {
138
+ let stepHasError = false
139
+ let stepShouldStop = {
140
+ ifOnCurrentStep: false,
141
+ ifFromAnyStep: false,
142
+ stoppageStepId: -1,
143
+ }
144
+
145
+ wizard.setLoader(true)
146
+ if (
147
+ wizard.isValidateForStep(
148
+ isSphere.value ? dynamicSteps.selectNameFolder : dynamicSteps.selectName,
149
+ currentStep.id,
150
+ nextStep.id
151
+ )
152
+ ) {
153
+ const nameValidation = await onCheckName(value)
154
+
155
+ value = nameValidation.newValue
156
+ stepHasError = stepHasError || nameValidation.stepHasError
157
+ } else if (
158
+ isSphere.value &&
159
+ wizard.isValidateForStep(
160
+ dynamicSteps.selectComputeResource,
161
+ currentStep.id,
162
+ nextStep.id
163
+ )
164
+ ) {
165
+ const computeResourceValidation = await checkComputeResource(value)
166
+
167
+ value = computeResourceValidation.newValue
168
+ stepHasError = stepHasError || computeResourceValidation.stepHasError
169
+ }
170
+ wizard.setLoader(false)
171
+
172
+ return {
173
+ newValue: value,
174
+ stepHasError,
175
+ stepShouldStop,
176
+ }
177
+ }
178
+
179
+ const nameFormSubmit = ref<null | Function>(null)
180
+ const computeResourceSubmit = ref<null | Function>(null)
181
+ const onCheckName = async (
182
+ value: UI_I_WizardStep[]
183
+ ): Promise<UI_I_ValidationReturn> => {
184
+ let stepHasError = false
185
+
186
+ return new Promise((resolve) => {
187
+ const step = isSphere.value
188
+ ? dynamicSteps.selectNameFolder
189
+ : dynamicSteps.selectName
190
+ nameFormSubmit.value = (isValid: boolean) => {
191
+ if (!isValid) {
192
+ stepHasError = wizard.setValidation(step, 'name', {
193
+ fieldMessage: 'aaa',
194
+ alertMessage: 'aaa',
195
+ })
196
+ } else if (wizard.hasMessage(step, 'name')) {
197
+ value = wizard.removeValidation(step, 'name', value)
198
+ }
199
+
200
+ resolve({
201
+ stepHasError,
202
+ newValue: value,
203
+ })
204
+ nameFormSubmit.value = null
205
+ }
206
+ })
207
+ }
208
+ const checkComputeResource = async (
209
+ value: UI_I_WizardStep[]
210
+ ): Promise<UI_I_ValidationReturn> => {
211
+ let stepHasError = false
212
+
213
+ return new Promise((resolve) => {
214
+ computeResourceSubmit.value = (isValid: boolean) => {
215
+ if (!isValid) {
216
+ stepHasError = wizard.setValidation(
217
+ dynamicSteps.selectComputeResource,
218
+ 'computeResource',
219
+ {
220
+ fieldMessage: 'aaa',
221
+ alertMessage: 'aaa',
222
+ }
223
+ )
224
+ } else if (
225
+ wizard.hasMessage(dynamicSteps.selectComputeResource, 'computeResource')
226
+ ) {
227
+ value = wizard.removeValidation(
228
+ dynamicSteps.selectComputeResource,
229
+ 'computeResource',
230
+ value
231
+ )
232
+ }
233
+
234
+ resolve({
235
+ stepHasError,
236
+ newValue: value,
237
+ })
238
+ computeResourceSubmit.value = null
239
+ }
240
+ })
241
+ }
242
+
243
+ const onChangeName = (name: string, node: UI_I_TreeNode | null): void => {
244
+ vmForm.value.name = name
245
+ if (isSphere.value) {
246
+ vmForm.value.locationPath = node.id
247
+ vmForm.value.dataCenter = $recursion.findParentByValue(
248
+ node,
249
+ 'datacenter',
250
+ 'type',
251
+ 'parent'
252
+ )
253
+ }
254
+ }
255
+ </script>
256
+
257
+ <style scoped lang="scss">
258
+ :deep(.modal-body) {
259
+ display: flex;
260
+ flex-direction: column;
261
+ }
262
+ .register-vm-content {
263
+ display: flex;
264
+ flex-direction: column;
265
+ flex: 1;
266
+ }
267
+ </style>