bfg-common 1.5.771 → 1.5.774

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 (121) 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 +3 -0
  7. package/assets/localization/local_en.json +3 -0
  8. package/assets/localization/local_hy.json +3 -0
  9. package/assets/localization/local_kk.json +3 -0
  10. package/assets/localization/local_ru.json +3 -0
  11. package/assets/localization/local_zh.json +3 -0
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  16. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  17. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  18. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/configure/advancedSystemSettings/AdvancedSystemSettings.vue +49 -0
  21. package/components/common/configure/advancedSystemSettings/modals/edit/Edit.vue +55 -0
  22. package/components/common/configure/advancedSystemSettings/modals/edit/New.vue +37 -0
  23. package/components/common/configure/advancedSystemSettings/modals/edit/Old.vue +46 -0
  24. package/components/common/configure/advancedSystemSettings/tableView/TableView.vue +30 -0
  25. package/components/common/configure/advancedSystemSettings/tableView/new/New.vue +193 -0
  26. package/components/common/configure/advancedSystemSettings/tableView/new/lib/config/hostTable.ts +308 -0
  27. package/components/common/configure/advancedSystemSettings/tableView/old/Old.vue +128 -0
  28. package/components/common/configure/advancedSystemSettings/tableView/old/lib/config/table.ts +93 -0
  29. package/components/common/configure/advancedSystemSettings/tableView/old/lib/config/tableKeys.ts +9 -0
  30. package/components/common/configure/advancedSystemSettings/tableView/old/lib/models/types.ts +5 -0
  31. package/components/common/configure/advancedSystemSettings/tools/New.vue +5 -0
  32. package/components/common/configure/advancedSystemSettings/tools/Old.vue +28 -0
  33. package/components/common/configure/advancedSystemSettings/tools/Tools.vue +28 -0
  34. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  35. package/components/common/diagramMain/port/Port.vue +580 -580
  36. package/components/common/layout/console/Console.vue +70 -70
  37. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  38. package/components/common/layout/theHeader/userMenu/modals/preferences/view/New.vue +64 -64
  39. package/components/common/pages/backups/DetailView.vue +52 -52
  40. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  41. package/components/common/pages/backups/modals/Modals.vue +243 -243
  42. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  43. package/components/common/pages/backups/modals/lib/config/restore.ts +116 -116
  44. package/components/common/pages/backups/modals/lib/models/interfaces.ts +187 -187
  45. package/components/common/pages/backups/modals/restore/Restore.vue +302 -302
  46. package/components/common/pages/backups/modals/restore/disks/Disks.vue +50 -50
  47. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +94 -94
  48. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +130 -130
  49. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  50. package/components/common/pages/backups/modals/restore/types/New.vue +95 -95
  51. package/components/common/pages/backups/modals/restore/types/Old.vue +62 -62
  52. package/components/common/pages/backups/modals/restore/types/Types.vue +31 -31
  53. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  54. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  55. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  56. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  57. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  58. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  59. package/components/common/pages/tasks/Tasks.vue +125 -125
  60. package/components/common/pages/tasks/table/Table.vue +373 -373
  61. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  62. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  63. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  64. package/components/common/select/radio/RadioGroup.vue +137 -137
  65. package/components/common/spiceConsole/Drawer.vue +420 -420
  66. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  67. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  68. package/components/common/tools/Actions.vue +207 -207
  69. package/components/common/treeView/TreeView.vue +52 -52
  70. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  71. package/components/common/vm/actions/clone/new/New.vue +438 -438
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  74. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  75. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  76. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  77. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  78. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  79. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  80. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  81. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  82. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  83. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  84. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  85. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  86. package/components/common/wizards/common/steps/name/New.vue +221 -221
  87. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  88. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  89. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  90. package/components/common/wizards/datastore/add/Add.vue +227 -227
  91. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  92. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  93. package/composables/useAppVersion.ts +21 -21
  94. package/composables/useBrowse.ts +24 -24
  95. package/composables/useLocal.ts +6 -6
  96. package/composables/useLocalCommon.ts +39 -39
  97. package/lib/models/types.ts +59 -59
  98. package/package.json +1 -1
  99. package/plugins/console.ts +21 -21
  100. package/plugins/mouse.ts +21 -21
  101. package/plugins/panelStates.ts +70 -70
  102. package/plugins/text.ts +59 -59
  103. package/public/spice-console/application/clientgui.js +854 -854
  104. package/public/spice-console/application/packetfactory.js +211 -211
  105. package/public/spice-console/application/virtualmouse.js +147 -147
  106. package/public/spice-console/lib/images/bitmap.js +203 -203
  107. package/public/spice-console/network/spicechannel.js +440 -440
  108. package/public/spice-console/process/cursorprocess.js +128 -128
  109. package/public/spice-console/process/inputprocess.js +227 -227
  110. package/public/spice-console/process/mainprocess.js +212 -212
  111. package/public/spice-console/run.js +210 -210
  112. package/store/inventory/modules/configure/advancedSystemSettings/actions.ts +122 -0
  113. package/store/inventory/modules/configure/advancedSystemSettings/getters.ts +9 -0
  114. package/store/inventory/modules/configure/advancedSystemSettings/lib/models/interfaces.ts +11 -0
  115. package/store/inventory/modules/configure/advancedSystemSettings/mutations.ts +12 -0
  116. package/store/inventory/modules/configure/advancedSystemSettings/state.ts +9 -0
  117. package/store/inventory/modules/configure/advancedSystemSettings/store.ts +12 -0
  118. package/store/main/mutations.ts +7 -7
  119. package/store/main/state.ts +7 -7
  120. package/store/tasks/mappers/recentTasks.ts +123 -123
  121. package/store/tasks/mutations.ts +82 -82
@@ -1,243 +1,243 @@
1
- <template>
2
- <common-pages-backups-modals-create-backup
3
- v-if="schedulerTask.isShow"
4
- v-model="backupForm"
5
- v-model:scheduler-form="schedulerTaskForm"
6
- :is-scheduled-tasks="schedulerTask.scheduler.isSchedulerTask"
7
- :is-edit-scheduled-tasks="schedulerTask.scheduler.editTask"
8
- :target="props.target"
9
- :selected-vm-name="props.selectedVmName"
10
- :disks="props.disks"
11
- :disks-loading="props.disksLoading"
12
- :datastore-table="props.datastoreTable"
13
- :datastore-table-loading="props.datastoreTableLoading"
14
- @change-step-create-backup="onChangeStepCreateBackup"
15
- @check-name="onCheckBackupName"
16
- @finish="onCreateBackup"
17
- @hide="onHide"
18
- />
19
-
20
- <common-pages-backups-modals-restore
21
- v-if="isShowRestoreModal"
22
- v-model="restoreForm"
23
- :datastore="props.restoreDatastore"
24
- :datastore-loading="props.isRestoreDatastoreLoading"
25
- :networks="props.restoreNetworks"
26
- @get-datastore="onGetRestoreDatastore"
27
- @get-networks="onGetRestoreNetworks"
28
- @check-name="onCheckRestoreName"
29
- @finish="onRestore"
30
- @hide="onHide"
31
- />
32
-
33
- <common-pages-backups-modals-delete-backup
34
- v-if="isShowDeleteBackupModal || isShowDeleteAllBackupsModal"
35
- :name="action?.name"
36
- :is-loading="isLoadingDeleteBackup"
37
- :is-all="isShowDeleteAllBackupsModal"
38
- @remove="onDeleteBackup"
39
- @hide="onHide"
40
- />
41
- </template>
42
-
43
- <script lang="ts" setup>
44
- import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
45
- import type { UI_T_Project } from '~/lib/models/types'
46
- import type {
47
- UI_I_SendTaskParams,
48
- UI_I_ModalPayload,
49
- } from '~/lib/models/interfaces'
50
- import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
51
- import type {
52
- UI_I_BackupDatastoreTable,
53
- UI_I_CreateBackupForm,
54
- UI_I_Pvm,
55
- UI_I_RestoreForm,
56
- } from '~/components/common/pages/backups/modals/lib/models/interfaces'
57
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
58
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
59
- import type { UI_I_BackupAction } from '~/components/common/pages/backups/lib/models/interfaces'
60
- import type { UI_I_NameCheck } from '~/components/common/pages/backups/modals/restore/name/lib/models/interfaces'
61
- import { sendTask } from '~/lib/utils/sendTask'
62
- import { scheduledTaskDefaultFormFunc } from '~/components/common/pages/scheduledTasks/modals/lib/config/createScheduledTask'
63
- import { backupDefaultFormFunc } from '~/components/common/pages/backups/modals/lib/config/createBackup'
64
- import { restoreDefaultFormFunc } from '~/components/common/pages/backups/modals/lib/config/restore'
65
- import { scheduledTasks } from '~/components/common/pages/scheduledTasks/lib/utils/utils'
66
-
67
- const action = defineModel<UI_I_BackupAction | null>('action', {
68
- required: true,
69
- })
70
-
71
- const props = defineProps<{
72
- project: UI_T_Project
73
- target: string
74
- selectedVmName: string
75
- disks: UI_I_Pvm['disk_devices']
76
- disksLoading: boolean
77
- datastoreTable: UI_I_BackupDatastoreTable | null
78
- datastoreTableLoading: boolean
79
- restoreDatastore: UI_I_DatastoreTableItem[]
80
- isRestoreDatastoreLoading: boolean
81
- restoreNetworks: UI_I_NetworkTableItem[]
82
- }>()
83
- const emits = defineEmits<{
84
- (event: 'change-step-create-backup', value: UI_I_WizardStep[]): void
85
- (event: 'get-restore-datastore', value: string): void
86
- (event: 'get-restore-networks', value: string): void
87
- (event: 'check-restore-name', value: UI_I_NameCheck): void
88
- (event: 'check-backup-name', value: UI_I_NameCheck): void
89
- (event: 'delete-backup', value: boolean): void
90
- }>()
91
-
92
- const { $store }: any = useNuxtApp()
93
-
94
- const backupForm = ref<UI_I_CreateBackupForm>(
95
- useDeepCopy(backupDefaultFormFunc())
96
- )
97
-
98
- const schedulerTaskForm = ref<UI_I_ScheduleNewTasksForm>(
99
- useDeepCopy(scheduledTaskDefaultFormFunc())
100
- )
101
-
102
- const restoreForm = ref<UI_I_RestoreForm>(useDeepCopy(restoreDefaultFormFunc()))
103
- const deleteBackupId = ref<string>('')
104
-
105
- const schedulerTask = computed<UI_I_ModalPayload>(
106
- () => $store.getters['backup/getCreateBackupModal']
107
- )
108
- watch(
109
- schedulerTask,
110
- (newValue: UI_I_ModalPayload) => {
111
- const { scheduler } = newValue
112
- if (!scheduler.isSchedulerTask) return
113
- schedulerTaskForm.value = scheduler.data
114
- },
115
- { immediate: true, deep: true }
116
- )
117
-
118
- const isShowDeleteBackupModal = ref<boolean>(false)
119
- const isShowDeleteAllBackupsModal = ref<boolean>(false)
120
- const isLoadingDeleteBackup = ref<boolean>(false)
121
- const isShowRestoreModal = ref<boolean>(false)
122
-
123
- const onCreateBackup = (): void => {
124
- // TODO
125
- backupForm.value.target = props.target
126
- const backupTask: UI_I_SendTaskParams = {
127
- method:
128
- props.project === 'sphere'
129
- ? 'VirtualMachines.CreateBackup'
130
- : 'backup.create_backup',
131
- target: props.target,
132
- args: backupForm.value,
133
- }
134
-
135
- const {
136
- scheduler: { isSchedulerTask, editTask, data },
137
- } = schedulerTask.value
138
- const sendData = isSchedulerTask
139
- ? scheduledTasks(
140
- schedulerTaskForm.value,
141
- backupTask,
142
- props.target,
143
- editTask,
144
- data,
145
- props.project
146
- )
147
- : backupTask
148
-
149
- sendTask(sendData)
150
- onHide()
151
- }
152
-
153
- const onDeleteBackup = async (isAll: boolean): Promise<void> => {
154
- isLoadingDeleteBackup.value = true
155
- emits('delete-backup', isAll)
156
- isLoadingDeleteBackup.value = false
157
- onHide()
158
- }
159
-
160
- const onRestore = (): void => {
161
- sendTask({
162
- args: restoreForm.value,
163
- method:
164
- props.project === 'sphere'
165
- ? 'VirtualMachines.RestoreBackup'
166
- : 'backup.restore_backup',
167
- target: props.target,
168
- })
169
- onHide()
170
- }
171
-
172
- watch(
173
- action,
174
- (newValue) => {
175
- switch (newValue?.action) {
176
- case 'createBackup':
177
- // TODO
178
- $store.dispatch('backup/A_SHOW_CREATE_BACKUP_MODAL', {
179
- isShow: true,
180
- scheduler: {
181
- isSchedulerTask: false,
182
- editTask: false,
183
- data: null,
184
- },
185
- })
186
- break
187
- case 'restoreBackup':
188
- isShowRestoreModal.value = true
189
- restoreForm.value.backup_storage = newValue.storageId || ''
190
- restoreForm.value.bucket = newValue.bucketId || ''
191
- restoreForm.value.backup = newValue.backupId || ''
192
- break
193
- case 'deleteBackup':
194
- deleteBackupId.value = newValue.backupId || ''
195
- isShowDeleteBackupModal.value = true
196
- break
197
- case 'deleteBackupAll':
198
- isShowDeleteAllBackupsModal.value = true
199
- break
200
- }
201
- },
202
- { deep: true }
203
- )
204
-
205
- const onHide = (): void => {
206
- // TODO
207
- $store.dispatch('backup/A_SHOW_CREATE_BACKUP_MODAL', {
208
- isShow: false,
209
- scheduler: {
210
- isSchedulerTask: false,
211
- editTask: false,
212
- data: null,
213
- },
214
- })
215
- isShowRestoreModal.value = false
216
- isShowDeleteBackupModal.value = false
217
- isShowDeleteAllBackupsModal.value = false
218
-
219
- action.value.action = ''
220
- backupForm.value = useDeepCopy(backupDefaultFormFunc())
221
- backupForm.value.target = props.target
222
- restoreForm.value = useDeepCopy(restoreDefaultFormFunc())
223
- }
224
-
225
- const onChangeStepCreateBackup = (value: UI_I_WizardStep[]): void => {
226
- emits('change-step-create-backup', value)
227
- }
228
- const onCheckBackupName = (data: UI_I_NameCheck): void => {
229
- emits('check-backup-name', data)
230
- }
231
-
232
- const onGetRestoreDatastore = (bucket: string): void => {
233
- emits('get-restore-datastore', bucket)
234
- }
235
- const onGetRestoreNetworks = (hostId: string): void => {
236
- emits('get-restore-networks', hostId)
237
- }
238
- const onCheckRestoreName = (data: UI_I_NameCheck): void => {
239
- emits('check-restore-name', data)
240
- }
241
- </script>
242
-
243
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-pages-backups-modals-create-backup
3
+ v-if="schedulerTask.isShow"
4
+ v-model="backupForm"
5
+ v-model:scheduler-form="schedulerTaskForm"
6
+ :is-scheduled-tasks="schedulerTask.scheduler.isSchedulerTask"
7
+ :is-edit-scheduled-tasks="schedulerTask.scheduler.editTask"
8
+ :target="props.target"
9
+ :selected-vm-name="props.selectedVmName"
10
+ :disks="props.disks"
11
+ :disks-loading="props.disksLoading"
12
+ :datastore-table="props.datastoreTable"
13
+ :datastore-table-loading="props.datastoreTableLoading"
14
+ @change-step-create-backup="onChangeStepCreateBackup"
15
+ @check-name="onCheckBackupName"
16
+ @finish="onCreateBackup"
17
+ @hide="onHide"
18
+ />
19
+
20
+ <common-pages-backups-modals-restore
21
+ v-if="isShowRestoreModal"
22
+ v-model="restoreForm"
23
+ :datastore="props.restoreDatastore"
24
+ :datastore-loading="props.isRestoreDatastoreLoading"
25
+ :networks="props.restoreNetworks"
26
+ @get-datastore="onGetRestoreDatastore"
27
+ @get-networks="onGetRestoreNetworks"
28
+ @check-name="onCheckRestoreName"
29
+ @finish="onRestore"
30
+ @hide="onHide"
31
+ />
32
+
33
+ <common-pages-backups-modals-delete-backup
34
+ v-if="isShowDeleteBackupModal || isShowDeleteAllBackupsModal"
35
+ :name="action?.name"
36
+ :is-loading="isLoadingDeleteBackup"
37
+ :is-all="isShowDeleteAllBackupsModal"
38
+ @remove="onDeleteBackup"
39
+ @hide="onHide"
40
+ />
41
+ </template>
42
+
43
+ <script lang="ts" setup>
44
+ import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
45
+ import type { UI_T_Project } from '~/lib/models/types'
46
+ import type {
47
+ UI_I_SendTaskParams,
48
+ UI_I_ModalPayload,
49
+ } from '~/lib/models/interfaces'
50
+ import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
51
+ import type {
52
+ UI_I_BackupDatastoreTable,
53
+ UI_I_CreateBackupForm,
54
+ UI_I_Pvm,
55
+ UI_I_RestoreForm,
56
+ } from '~/components/common/pages/backups/modals/lib/models/interfaces'
57
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
58
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
59
+ import type { UI_I_BackupAction } from '~/components/common/pages/backups/lib/models/interfaces'
60
+ import type { UI_I_NameCheck } from '~/components/common/pages/backups/modals/restore/name/lib/models/interfaces'
61
+ import { sendTask } from '~/lib/utils/sendTask'
62
+ import { scheduledTaskDefaultFormFunc } from '~/components/common/pages/scheduledTasks/modals/lib/config/createScheduledTask'
63
+ import { backupDefaultFormFunc } from '~/components/common/pages/backups/modals/lib/config/createBackup'
64
+ import { restoreDefaultFormFunc } from '~/components/common/pages/backups/modals/lib/config/restore'
65
+ import { scheduledTasks } from '~/components/common/pages/scheduledTasks/lib/utils/utils'
66
+
67
+ const action = defineModel<UI_I_BackupAction | null>('action', {
68
+ required: true,
69
+ })
70
+
71
+ const props = defineProps<{
72
+ project: UI_T_Project
73
+ target: string
74
+ selectedVmName: string
75
+ disks: UI_I_Pvm['disk_devices']
76
+ disksLoading: boolean
77
+ datastoreTable: UI_I_BackupDatastoreTable | null
78
+ datastoreTableLoading: boolean
79
+ restoreDatastore: UI_I_DatastoreTableItem[]
80
+ isRestoreDatastoreLoading: boolean
81
+ restoreNetworks: UI_I_NetworkTableItem[]
82
+ }>()
83
+ const emits = defineEmits<{
84
+ (event: 'change-step-create-backup', value: UI_I_WizardStep[]): void
85
+ (event: 'get-restore-datastore', value: string): void
86
+ (event: 'get-restore-networks', value: string): void
87
+ (event: 'check-restore-name', value: UI_I_NameCheck): void
88
+ (event: 'check-backup-name', value: UI_I_NameCheck): void
89
+ (event: 'delete-backup', value: boolean): void
90
+ }>()
91
+
92
+ const { $store }: any = useNuxtApp()
93
+
94
+ const backupForm = ref<UI_I_CreateBackupForm>(
95
+ useDeepCopy(backupDefaultFormFunc())
96
+ )
97
+
98
+ const schedulerTaskForm = ref<UI_I_ScheduleNewTasksForm>(
99
+ useDeepCopy(scheduledTaskDefaultFormFunc())
100
+ )
101
+
102
+ const restoreForm = ref<UI_I_RestoreForm>(useDeepCopy(restoreDefaultFormFunc()))
103
+ const deleteBackupId = ref<string>('')
104
+
105
+ const schedulerTask = computed<UI_I_ModalPayload>(
106
+ () => $store.getters['backup/getCreateBackupModal']
107
+ )
108
+ watch(
109
+ schedulerTask,
110
+ (newValue: UI_I_ModalPayload) => {
111
+ const { scheduler } = newValue
112
+ if (!scheduler.isSchedulerTask) return
113
+ schedulerTaskForm.value = scheduler.data
114
+ },
115
+ { immediate: true, deep: true }
116
+ )
117
+
118
+ const isShowDeleteBackupModal = ref<boolean>(false)
119
+ const isShowDeleteAllBackupsModal = ref<boolean>(false)
120
+ const isLoadingDeleteBackup = ref<boolean>(false)
121
+ const isShowRestoreModal = ref<boolean>(false)
122
+
123
+ const onCreateBackup = (): void => {
124
+ // TODO
125
+ backupForm.value.target = props.target
126
+ const backupTask: UI_I_SendTaskParams = {
127
+ method:
128
+ props.project === 'sphere'
129
+ ? 'VirtualMachines.CreateBackup'
130
+ : 'backup.create_backup',
131
+ target: props.target,
132
+ args: backupForm.value,
133
+ }
134
+
135
+ const {
136
+ scheduler: { isSchedulerTask, editTask, data },
137
+ } = schedulerTask.value
138
+ const sendData = isSchedulerTask
139
+ ? scheduledTasks(
140
+ schedulerTaskForm.value,
141
+ backupTask,
142
+ props.target,
143
+ editTask,
144
+ data,
145
+ props.project
146
+ )
147
+ : backupTask
148
+
149
+ sendTask(sendData)
150
+ onHide()
151
+ }
152
+
153
+ const onDeleteBackup = async (isAll: boolean): Promise<void> => {
154
+ isLoadingDeleteBackup.value = true
155
+ emits('delete-backup', isAll)
156
+ isLoadingDeleteBackup.value = false
157
+ onHide()
158
+ }
159
+
160
+ const onRestore = (): void => {
161
+ sendTask({
162
+ args: restoreForm.value,
163
+ method:
164
+ props.project === 'sphere'
165
+ ? 'VirtualMachines.RestoreBackup'
166
+ : 'backup.restore_backup',
167
+ target: props.target,
168
+ })
169
+ onHide()
170
+ }
171
+
172
+ watch(
173
+ action,
174
+ (newValue) => {
175
+ switch (newValue?.action) {
176
+ case 'createBackup':
177
+ // TODO
178
+ $store.dispatch('backup/A_SHOW_CREATE_BACKUP_MODAL', {
179
+ isShow: true,
180
+ scheduler: {
181
+ isSchedulerTask: false,
182
+ editTask: false,
183
+ data: null,
184
+ },
185
+ })
186
+ break
187
+ case 'restoreBackup':
188
+ isShowRestoreModal.value = true
189
+ restoreForm.value.backup_storage = newValue.storageId || ''
190
+ restoreForm.value.bucket = newValue.bucketId || ''
191
+ restoreForm.value.backup = newValue.backupId || ''
192
+ break
193
+ case 'deleteBackup':
194
+ deleteBackupId.value = newValue.backupId || ''
195
+ isShowDeleteBackupModal.value = true
196
+ break
197
+ case 'deleteBackupAll':
198
+ isShowDeleteAllBackupsModal.value = true
199
+ break
200
+ }
201
+ },
202
+ { deep: true }
203
+ )
204
+
205
+ const onHide = (): void => {
206
+ // TODO
207
+ $store.dispatch('backup/A_SHOW_CREATE_BACKUP_MODAL', {
208
+ isShow: false,
209
+ scheduler: {
210
+ isSchedulerTask: false,
211
+ editTask: false,
212
+ data: null,
213
+ },
214
+ })
215
+ isShowRestoreModal.value = false
216
+ isShowDeleteBackupModal.value = false
217
+ isShowDeleteAllBackupsModal.value = false
218
+
219
+ action.value.action = ''
220
+ backupForm.value = useDeepCopy(backupDefaultFormFunc())
221
+ backupForm.value.target = props.target
222
+ restoreForm.value = useDeepCopy(restoreDefaultFormFunc())
223
+ }
224
+
225
+ const onChangeStepCreateBackup = (value: UI_I_WizardStep[]): void => {
226
+ emits('change-step-create-backup', value)
227
+ }
228
+ const onCheckBackupName = (data: UI_I_NameCheck): void => {
229
+ emits('check-backup-name', data)
230
+ }
231
+
232
+ const onGetRestoreDatastore = (bucket: string): void => {
233
+ emits('get-restore-datastore', bucket)
234
+ }
235
+ const onGetRestoreNetworks = (hostId: string): void => {
236
+ emits('get-restore-networks', hostId)
237
+ }
238
+ const onCheckRestoreName = (data: UI_I_NameCheck): void => {
239
+ emits('check-restore-name', data)
240
+ }
241
+ </script>
242
+
243
+ <style lang="scss" scoped></style>
@@ -1,6 +1,6 @@
1
- import type {UI_I_SelectInputItem} from "~/components/common/select/input/lib/models/interfaces";
2
-
3
- export const maxBandwidthOptions: UI_I_SelectInputItem[] = [
4
- { label: 'Mbps', value: 0 },
5
- { label: 'Gbps', value: 1 },
6
- ]
1
+ import type {UI_I_SelectInputItem} from "~/components/common/select/input/lib/models/interfaces";
2
+
3
+ export const maxBandwidthOptions: UI_I_SelectInputItem[] = [
4
+ { label: 'Mbps', value: 0 },
5
+ { label: 'Gbps', value: 1 },
6
+ ]