bfg-common 1.5.423 → 1.5.425
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.
- package/CODE_STYLE.md +109 -109
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/assets/localization/local_be.json +2 -1
- package/assets/localization/local_en.json +2 -1
- package/assets/localization/local_hy.json +2 -1
- package/assets/localization/local_kk.json +2 -1
- package/assets/localization/local_ru.json +2 -1
- package/assets/localization/local_zh.json +2 -1
- package/components/atoms/TheIcon3.vue +50 -50
- package/components/atoms/collapse/CollapseNav.vue +170 -170
- package/components/atoms/perPage/PerPage.vue +58 -58
- package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
- package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
- package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
- package/components/common/context/lib/models/interfaces.ts +33 -33
- package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
- package/components/common/diagramMain/modals/lib/config/portModal.ts +9 -3
- package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +4 -2
- package/components/common/diagramMain/port/Port.vue +4 -2
- package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
- package/components/common/pages/backups/Backups.vue +102 -102
- package/components/common/pages/backups/DetailView.vue +52 -52
- package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
- package/components/common/pages/backups/modals/Modals.vue +231 -231
- package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +376 -376
- package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
- package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
- package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
- package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
- package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
- package/components/common/pages/backups/modals/createBackup/datastores/tableView/lib/config/table.ts +119 -119
- package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
- package/components/common/pages/backups/modals/createBackup/general/General.vue +135 -135
- package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +117 -117
- package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
- package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
- package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
- package/components/common/pages/backups/modals/restore/Restore.vue +417 -417
- package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
- package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
- package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
- package/components/common/pages/backups/modals/restore/lib/config/steps.ts +108 -108
- package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
- package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
- package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
- package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
- package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
- package/components/common/pages/backups/tools/Tools.vue +75 -75
- package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
- package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
- package/components/common/pages/home/lib/models/interfaces.ts +48 -48
- package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
- package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
- package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
- package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
- package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
- package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
- package/components/common/select/radio/RadioGroup.vue +137 -137
- package/components/common/spiceConsole/Drawer.vue +381 -381
- package/components/common/spiceConsole/SpiceConsole.vue +127 -127
- package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
- package/components/common/tools/Actions.vue +207 -207
- package/components/common/treeView/TreeView.vue +52 -52
- package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
- package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
- package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
- package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +2 -2
- package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +4 -2
- package/components/common/vm/actions/clone/toTemplate/lib/models/interfaces.ts +1 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +2 -2
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +2 -2
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
- package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
- package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
- package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
- package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
- package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
- package/components/common/vm/actions/common/select/createType/lib/config/items.ts +48 -48
- package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
- package/components/common/vm/actions/common/select/os/Old.vue +152 -152
- package/components/common/vm/actions/common/select/os/Os.vue +139 -139
- package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
- package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
- package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
- package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
- package/components/common/vmt/actions/add/New.vue +5 -3
- package/components/common/vmt/actions/add/Old.vue +5 -3
- package/components/common/vmt/actions/add/lib/config/steps.ts +2 -2
- package/components/common/vmt/actions/add/lib/models/interfaces.ts +23 -23
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/config/tableKeys.ts +2 -2
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/models/types.ts +1 -1
- package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
- package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
- package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
- package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
- package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
- package/composables/productNameLocal.ts +30 -30
- package/composables/useAppVersion.ts +21 -21
- package/package.json +1 -1
- package/plugins/date.ts +233 -233
- package/plugins/panelStates.ts +70 -70
- package/plugins/text.ts +59 -59
- package/public/spice-console/lib/images/bitmap.js +203 -203
- package/public/spice-console/network/spicechannel.js +390 -390
- package/store/main/mutations.ts +7 -7
- package/store/main/state.ts +7 -7
- package/store/tasks/lib/models/enums.ts +5 -0
- package/store/tasks/mappers/recentTasks.ts +14 -3
@@ -1,5 +1,7 @@
|
|
1
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
1
2
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
3
|
import type { UI_I_ModalsInitialData } from '~/components/common/diagramMain/lib/models/interfaces'
|
4
|
+
import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
|
3
5
|
|
4
6
|
export const portViewSettingsModalTabsFunc = (
|
5
7
|
localization: UI_I_Localization
|
@@ -166,7 +168,7 @@ export const portEditSettingsTabsFunc = (localization: UI_I_Localization) => [
|
|
166
168
|
export const portPopupFieldsFunc = (
|
167
169
|
localization: UI_I_Localization,
|
168
170
|
testId: string
|
169
|
-
) => [
|
171
|
+
): UI_I_CollapseNavItem[] => [
|
170
172
|
{
|
171
173
|
text: localization.common.viewSettings,
|
172
174
|
value: 'port-view-settings',
|
@@ -176,19 +178,21 @@ export const portPopupFieldsFunc = (
|
|
176
178
|
text: localization.common.editSettings,
|
177
179
|
value: 'port-edit-settings',
|
178
180
|
testId: `${testId}-edit`,
|
181
|
+
permission: 'Networks.UpdateSysx',
|
179
182
|
},
|
180
|
-
{ separate: true },
|
183
|
+
{ text: '', separate: true, permission: 'Networks.RemoveSysx' },
|
181
184
|
{
|
182
185
|
text: localization.common.remove,
|
183
186
|
value: 'port-remove',
|
184
187
|
testId: `${testId}-remove`,
|
188
|
+
permission: 'Networks.RemoveSysx',
|
185
189
|
},
|
186
190
|
]
|
187
191
|
|
188
192
|
export const portPopupFieldsNewFunc = (
|
189
193
|
localization: UI_I_Localization,
|
190
194
|
testId: string
|
191
|
-
) => [
|
195
|
+
): UI_I_Dropdown[] => [
|
192
196
|
{
|
193
197
|
text: localization.common.viewSettings,
|
194
198
|
value: 'port-view-settings',
|
@@ -200,6 +204,7 @@ export const portPopupFieldsNewFunc = (
|
|
200
204
|
value: 'port-edit-settings',
|
201
205
|
iconName: 'edit',
|
202
206
|
testId: `${testId}-edit`,
|
207
|
+
permission: 'Networks.UpdateSysx',
|
203
208
|
},
|
204
209
|
{
|
205
210
|
text: localization.common.remove,
|
@@ -208,6 +213,7 @@ export const portPopupFieldsNewFunc = (
|
|
208
213
|
iconColor: '#ea3223',
|
209
214
|
textColor: '#ea3223',
|
210
215
|
testId: `${testId}-remove`,
|
216
|
+
permission: 'Networks.RemoveSysx',
|
211
217
|
},
|
212
218
|
]
|
213
219
|
|
@@ -1,5 +1,7 @@
|
|
1
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
1
2
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
2
3
|
import type { UI_I_ModalsInitialData } from '~/components/common/diagramMain/lib/models/interfaces'
|
4
|
+
import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
|
3
5
|
|
4
6
|
export const vCenterViewSettingsFunc = (
|
5
7
|
localization: UI_I_Localization,
|
@@ -25,7 +27,7 @@ export const vCenterViewSettingsFunc = (
|
|
25
27
|
export const vCenterPopupFieldsFunc = (
|
26
28
|
localization: UI_I_Localization,
|
27
29
|
testId: string
|
28
|
-
) => [
|
30
|
+
): UI_I_CollapseNavItem[] => [
|
29
31
|
{
|
30
32
|
text: localization.common.viewSettings,
|
31
33
|
value: 'v-center-view-settings',
|
@@ -36,7 +38,7 @@ export const vCenterPopupFieldsFunc = (
|
|
36
38
|
export const vCenterPopupFieldsNewFunc = (
|
37
39
|
localization: UI_I_Localization,
|
38
40
|
testId: string
|
39
|
-
) => [
|
41
|
+
): UI_I_Dropdown[] => [
|
40
42
|
{
|
41
43
|
text: localization.common.viewSettings,
|
42
44
|
value: 'v-center-view-settings',
|
@@ -218,6 +218,7 @@
|
|
218
218
|
</template>
|
219
219
|
|
220
220
|
<script setup lang="ts">
|
221
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
221
222
|
import type {
|
222
223
|
UI_I_Localization,
|
223
224
|
UI_I_ArbitraryObject,
|
@@ -229,6 +230,7 @@ import type {
|
|
229
230
|
UI_I_SelectedAdapter,
|
230
231
|
UI_I_ModalsInitialData,
|
231
232
|
} from '~/components/common/diagramMain/lib/models/interfaces'
|
233
|
+
import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
|
232
234
|
import { UI_E_NetworkType } from '~/components/common/diagramMain/lib/models/enums'
|
233
235
|
import {
|
234
236
|
portPopupFieldsFunc,
|
@@ -326,7 +328,7 @@ const portStatusIconPosition = computed<number>(
|
|
326
328
|
const navCollapsePosition = computed<number>(() => props.port.portPosition - 2)
|
327
329
|
const macAddressPosition = computed<number>(() => props.port.portPosition + 16)
|
328
330
|
|
329
|
-
const navigationItems = computed(() =>
|
331
|
+
const navigationItems = computed<UI_I_CollapseNavItem[]>(() =>
|
330
332
|
!isNewView.value
|
331
333
|
? isVCenter.value || isVMPortsGroup.value
|
332
334
|
? vCenterPopupFieldsFunc(
|
@@ -340,7 +342,7 @@ const navigationItems = computed(() =>
|
|
340
342
|
: []
|
341
343
|
)
|
342
344
|
|
343
|
-
const navigationItemsNew = computed(() =>
|
345
|
+
const navigationItemsNew = computed<UI_I_Dropdown[]>(() =>
|
344
346
|
isNewView.value
|
345
347
|
? isVCenter.value || isVMPortsGroup.value
|
346
348
|
? vCenterPopupFieldsNewFunc(
|
@@ -1,82 +1,82 @@
|
|
1
|
-
<template>
|
2
|
-
<Teleport to="body">
|
3
|
-
<common-layout-the-header-help-menu-about-new
|
4
|
-
v-if="isNewView"
|
5
|
-
:title="title"
|
6
|
-
:subtitle="subtitle"
|
7
|
-
:about-heading-text="aboutHeadingText"
|
8
|
-
:about-desc-one="aboutDesc1"
|
9
|
-
:about-desc-second="aboutDesc2"
|
10
|
-
:project-name="props.projectName"
|
11
|
-
:url="companyWebSitePath"
|
12
|
-
@hide="emits('hide')"
|
13
|
-
/>
|
14
|
-
|
15
|
-
<common-layout-the-header-help-menu-about-old
|
16
|
-
v-else
|
17
|
-
:title="title"
|
18
|
-
:subtitle="subtitle"
|
19
|
-
:about-heading-text="aboutHeadingText"
|
20
|
-
:about-desc-one="aboutDesc1"
|
21
|
-
:about-desc-second="aboutDesc2"
|
22
|
-
:project-name="props.projectName"
|
23
|
-
:url="companyWebSitePath"
|
24
|
-
@hide="emits('hide')"
|
25
|
-
/>
|
26
|
-
</Teleport>
|
27
|
-
</template>
|
28
|
-
|
29
|
-
<script lang="ts" setup>
|
30
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
31
|
-
|
32
|
-
const props = defineProps<{
|
33
|
-
version: string
|
34
|
-
projectName: string
|
35
|
-
}>()
|
36
|
-
const emits = defineEmits<{
|
37
|
-
(event: 'hide'): void
|
38
|
-
}>()
|
39
|
-
|
40
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
41
|
-
const { $store }: any = useNuxtApp()
|
42
|
-
const config = useRuntimeConfig()
|
43
|
-
|
44
|
-
const companyName = computed<string>(
|
45
|
-
() => config.public[`COMPANY_NAME_${useEnvLanguage()}`]
|
46
|
-
)
|
47
|
-
const brandName = computed<string>(
|
48
|
-
() => config.public[`TRADEMARK_${useEnvLanguage()}`]
|
49
|
-
)
|
50
|
-
|
51
|
-
const companyWebSitePath = ref<string>('https://iridium-soft.com/')
|
52
|
-
|
53
|
-
const title = computed<string>(() => `${brandName.value}® ${props.projectName}`)
|
54
|
-
const subtitle = computed<string>(() =>
|
55
|
-
localization.value.layout.aboutWebClientVersion
|
56
|
-
.replace('{0}', props.projectName)
|
57
|
-
.replace('{1}', props.version)
|
58
|
-
)
|
59
|
-
|
60
|
-
const aboutHeadingText = computed<string>(() =>
|
61
|
-
localization.value.layout.aboutHeading.replace(
|
62
|
-
'{companyName}',
|
63
|
-
companyName.value
|
64
|
-
).replace(
|
65
|
-
'{year}',
|
66
|
-
new Date().getFullYear() + ''
|
67
|
-
)
|
68
|
-
)
|
69
|
-
|
70
|
-
const aboutDesc1 = computed<string>(() =>
|
71
|
-
localization.value.layout.aboutDesc1
|
72
|
-
.replaceAll('{companyName}', companyName.value)
|
73
|
-
.replaceAll('{trademark}', brandName.value)
|
74
|
-
)
|
75
|
-
const aboutDesc2 = computed<string>(() =>
|
76
|
-
localization.value.layout.aboutDesc2
|
77
|
-
.replaceAll('{companyName}', companyName.value)
|
78
|
-
.replaceAll('{trademark}', brandName.value)
|
79
|
-
)
|
80
|
-
|
81
|
-
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
82
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<Teleport to="body">
|
3
|
+
<common-layout-the-header-help-menu-about-new
|
4
|
+
v-if="isNewView"
|
5
|
+
:title="title"
|
6
|
+
:subtitle="subtitle"
|
7
|
+
:about-heading-text="aboutHeadingText"
|
8
|
+
:about-desc-one="aboutDesc1"
|
9
|
+
:about-desc-second="aboutDesc2"
|
10
|
+
:project-name="props.projectName"
|
11
|
+
:url="companyWebSitePath"
|
12
|
+
@hide="emits('hide')"
|
13
|
+
/>
|
14
|
+
|
15
|
+
<common-layout-the-header-help-menu-about-old
|
16
|
+
v-else
|
17
|
+
:title="title"
|
18
|
+
:subtitle="subtitle"
|
19
|
+
:about-heading-text="aboutHeadingText"
|
20
|
+
:about-desc-one="aboutDesc1"
|
21
|
+
:about-desc-second="aboutDesc2"
|
22
|
+
:project-name="props.projectName"
|
23
|
+
:url="companyWebSitePath"
|
24
|
+
@hide="emits('hide')"
|
25
|
+
/>
|
26
|
+
</Teleport>
|
27
|
+
</template>
|
28
|
+
|
29
|
+
<script lang="ts" setup>
|
30
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
31
|
+
|
32
|
+
const props = defineProps<{
|
33
|
+
version: string
|
34
|
+
projectName: string
|
35
|
+
}>()
|
36
|
+
const emits = defineEmits<{
|
37
|
+
(event: 'hide'): void
|
38
|
+
}>()
|
39
|
+
|
40
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
41
|
+
const { $store }: any = useNuxtApp()
|
42
|
+
const config = useRuntimeConfig()
|
43
|
+
|
44
|
+
const companyName = computed<string>(
|
45
|
+
() => config.public[`COMPANY_NAME_${useEnvLanguage()}`]
|
46
|
+
)
|
47
|
+
const brandName = computed<string>(
|
48
|
+
() => config.public[`TRADEMARK_${useEnvLanguage()}`]
|
49
|
+
)
|
50
|
+
|
51
|
+
const companyWebSitePath = ref<string>('https://iridium-soft.com/')
|
52
|
+
|
53
|
+
const title = computed<string>(() => `${brandName.value}® ${props.projectName}`)
|
54
|
+
const subtitle = computed<string>(() =>
|
55
|
+
localization.value.layout.aboutWebClientVersion
|
56
|
+
.replace('{0}', props.projectName)
|
57
|
+
.replace('{1}', props.version)
|
58
|
+
)
|
59
|
+
|
60
|
+
const aboutHeadingText = computed<string>(() =>
|
61
|
+
localization.value.layout.aboutHeading.replace(
|
62
|
+
'{companyName}',
|
63
|
+
companyName.value
|
64
|
+
).replace(
|
65
|
+
'{year}',
|
66
|
+
new Date().getFullYear() + ''
|
67
|
+
)
|
68
|
+
)
|
69
|
+
|
70
|
+
const aboutDesc1 = computed<string>(() =>
|
71
|
+
localization.value.layout.aboutDesc1
|
72
|
+
.replaceAll('{companyName}', companyName.value)
|
73
|
+
.replaceAll('{trademark}', brandName.value)
|
74
|
+
)
|
75
|
+
const aboutDesc2 = computed<string>(() =>
|
76
|
+
localization.value.layout.aboutDesc2
|
77
|
+
.replaceAll('{companyName}', companyName.value)
|
78
|
+
.replaceAll('{trademark}', brandName.value)
|
79
|
+
)
|
80
|
+
|
81
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
82
|
+
</script>
|
@@ -1,102 +1,102 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="main-content-backups h-full overflow-hidden">
|
3
|
-
<common-pages-backups-tools
|
4
|
-
:project="props.project"
|
5
|
-
:backups-count="backupsTree.length"
|
6
|
-
:backups-loading="backupsLoading"
|
7
|
-
:selected-node="selectedNode"
|
8
|
-
:target-type="typeFromRoute"
|
9
|
-
@select="onShowModal"
|
10
|
-
/>
|
11
|
-
|
12
|
-
<atoms-loader-pre-loader
|
13
|
-
v-show="backupsLoading"
|
14
|
-
id="loader"
|
15
|
-
:show="true"
|
16
|
-
class="backups-loading w-full h-full flex items-center justify-center"
|
17
|
-
test-id="backups-tree-spinner"
|
18
|
-
/>
|
19
|
-
<div class="fill-parent w-full h-full">
|
20
|
-
<div v-if="backupsTree.length" class="backup-view mt-1 flex w-full">
|
21
|
-
<common-tree-view
|
22
|
-
:loading="backupsLoading"
|
23
|
-
:nodes="backupsTree"
|
24
|
-
@select-node="onSelectNode"
|
25
|
-
@show-nodes="onShowNodes"
|
26
|
-
/>
|
27
|
-
<common-pages-backups-detail-view :detail="detailData" />
|
28
|
-
</div>
|
29
|
-
<div v-else class="empty-block flex justify-center items-center w-full">
|
30
|
-
{{ localization.common.noBackupAvailable }}
|
31
|
-
</div>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
</template>
|
35
|
-
|
36
|
-
<script setup lang="ts">
|
37
|
-
import type { UI_T_Project } from '~/lib/models/types'
|
38
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
39
|
-
import type {
|
40
|
-
UI_T_TargetType,
|
41
|
-
UI_T_BackupActionType,
|
42
|
-
} from '~/components/common/pages/backups/lib/models/types'
|
43
|
-
import type {
|
44
|
-
UI_I_Backup,
|
45
|
-
UI_I_BackupsTreeNode,
|
46
|
-
} from '~/components/common/pages/backups/lib/models/interfaces'
|
47
|
-
|
48
|
-
const props = defineProps<{
|
49
|
-
project: UI_T_Project
|
50
|
-
backups: UI_I_Backup[]
|
51
|
-
backupsTree: UI_I_BackupsTreeNode[]
|
52
|
-
backupsLoading: boolean
|
53
|
-
selectedNode: UI_I_BackupsTreeNode
|
54
|
-
}>()
|
55
|
-
const emits = defineEmits<{
|
56
|
-
(event: 'select-node', value: string | number): void
|
57
|
-
(event: 'show-nodes', value: string | number): void
|
58
|
-
(event: 'set-action', value: UI_T_BackupActionType): void
|
59
|
-
}>()
|
60
|
-
|
61
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
62
|
-
const { $recursion }: any = useNuxtApp()
|
63
|
-
|
64
|
-
const typeFromRoute = computed<UI_T_TargetType>(
|
65
|
-
() => useRoute().params.type.toString() as UI_T_TargetType
|
66
|
-
)
|
67
|
-
|
68
|
-
const detailData = computed<UI_I_BackupsTreeNode | null>(() => {
|
69
|
-
const node =
|
70
|
-
$recursion.find(props.backupsTree, true, 'isActive', 'nodes') || null
|
71
|
-
return node?.type === 'backup' ? node : null
|
72
|
-
})
|
73
|
-
|
74
|
-
const onSelectNode = (item: UI_I_BackupsTreeNode): void => {
|
75
|
-
emits('select-node', item.id)
|
76
|
-
if (item.type === 'group') {
|
77
|
-
onShowNodes(item.id.toString())
|
78
|
-
}
|
79
|
-
}
|
80
|
-
const onShowNodes = (id: string | number): void => {
|
81
|
-
emits('show-nodes', id)
|
82
|
-
}
|
83
|
-
|
84
|
-
const onShowModal = (action: UI_T_BackupActionType): void => {
|
85
|
-
emits('set-action', action)
|
86
|
-
}
|
87
|
-
</script>
|
88
|
-
|
89
|
-
<style scoped lang="scss">
|
90
|
-
.main-content-backups {
|
91
|
-
padding: 10px 5px 10px 0;
|
92
|
-
|
93
|
-
.fill-parent {
|
94
|
-
overflow: visible;
|
95
|
-
|
96
|
-
.backup-view {
|
97
|
-
// TODO fix
|
98
|
-
height: calc(90% - 24px);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
}
|
102
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<div class="main-content-backups h-full overflow-hidden">
|
3
|
+
<common-pages-backups-tools
|
4
|
+
:project="props.project"
|
5
|
+
:backups-count="backupsTree.length"
|
6
|
+
:backups-loading="backupsLoading"
|
7
|
+
:selected-node="selectedNode"
|
8
|
+
:target-type="typeFromRoute"
|
9
|
+
@select="onShowModal"
|
10
|
+
/>
|
11
|
+
|
12
|
+
<atoms-loader-pre-loader
|
13
|
+
v-show="backupsLoading"
|
14
|
+
id="loader"
|
15
|
+
:show="true"
|
16
|
+
class="backups-loading w-full h-full flex items-center justify-center"
|
17
|
+
test-id="backups-tree-spinner"
|
18
|
+
/>
|
19
|
+
<div class="fill-parent w-full h-full">
|
20
|
+
<div v-if="backupsTree.length" class="backup-view mt-1 flex w-full">
|
21
|
+
<common-tree-view
|
22
|
+
:loading="backupsLoading"
|
23
|
+
:nodes="backupsTree"
|
24
|
+
@select-node="onSelectNode"
|
25
|
+
@show-nodes="onShowNodes"
|
26
|
+
/>
|
27
|
+
<common-pages-backups-detail-view :detail="detailData" />
|
28
|
+
</div>
|
29
|
+
<div v-else class="empty-block flex justify-center items-center w-full">
|
30
|
+
{{ localization.common.noBackupAvailable }}
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</template>
|
35
|
+
|
36
|
+
<script setup lang="ts">
|
37
|
+
import type { UI_T_Project } from '~/lib/models/types'
|
38
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
39
|
+
import type {
|
40
|
+
UI_T_TargetType,
|
41
|
+
UI_T_BackupActionType,
|
42
|
+
} from '~/components/common/pages/backups/lib/models/types'
|
43
|
+
import type {
|
44
|
+
UI_I_Backup,
|
45
|
+
UI_I_BackupsTreeNode,
|
46
|
+
} from '~/components/common/pages/backups/lib/models/interfaces'
|
47
|
+
|
48
|
+
const props = defineProps<{
|
49
|
+
project: UI_T_Project
|
50
|
+
backups: UI_I_Backup[]
|
51
|
+
backupsTree: UI_I_BackupsTreeNode[]
|
52
|
+
backupsLoading: boolean
|
53
|
+
selectedNode: UI_I_BackupsTreeNode
|
54
|
+
}>()
|
55
|
+
const emits = defineEmits<{
|
56
|
+
(event: 'select-node', value: string | number): void
|
57
|
+
(event: 'show-nodes', value: string | number): void
|
58
|
+
(event: 'set-action', value: UI_T_BackupActionType): void
|
59
|
+
}>()
|
60
|
+
|
61
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
62
|
+
const { $recursion }: any = useNuxtApp()
|
63
|
+
|
64
|
+
const typeFromRoute = computed<UI_T_TargetType>(
|
65
|
+
() => useRoute().params.type.toString() as UI_T_TargetType
|
66
|
+
)
|
67
|
+
|
68
|
+
const detailData = computed<UI_I_BackupsTreeNode | null>(() => {
|
69
|
+
const node =
|
70
|
+
$recursion.find(props.backupsTree, true, 'isActive', 'nodes') || null
|
71
|
+
return node?.type === 'backup' ? node : null
|
72
|
+
})
|
73
|
+
|
74
|
+
const onSelectNode = (item: UI_I_BackupsTreeNode): void => {
|
75
|
+
emits('select-node', item.id)
|
76
|
+
if (item.type === 'group') {
|
77
|
+
onShowNodes(item.id.toString())
|
78
|
+
}
|
79
|
+
}
|
80
|
+
const onShowNodes = (id: string | number): void => {
|
81
|
+
emits('show-nodes', id)
|
82
|
+
}
|
83
|
+
|
84
|
+
const onShowModal = (action: UI_T_BackupActionType): void => {
|
85
|
+
emits('set-action', action)
|
86
|
+
}
|
87
|
+
</script>
|
88
|
+
|
89
|
+
<style scoped lang="scss">
|
90
|
+
.main-content-backups {
|
91
|
+
padding: 10px 5px 10px 0;
|
92
|
+
|
93
|
+
.fill-parent {
|
94
|
+
overflow: visible;
|
95
|
+
|
96
|
+
.backup-view {
|
97
|
+
// TODO fix
|
98
|
+
height: calc(90% - 24px);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
</style>
|
@@ -1,52 +1,52 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="detail-view overflow-auto py-0 px-6">
|
3
|
-
<table v-if="detailData" class="table table-noborder">
|
4
|
-
<tbody>
|
5
|
-
<tr>
|
6
|
-
<td class="left">{{ localization.common.name }}</td>
|
7
|
-
<td class="left backup-name-label">{{ detailData.name }}</td>
|
8
|
-
</tr>
|
9
|
-
<tr>
|
10
|
-
<td class="left">{{ localization.common.description }}</td>
|
11
|
-
<td class="left backup-name-label">{{ detailData.description }}</td>
|
12
|
-
</tr>
|
13
|
-
<tr>
|
14
|
-
<td class="left">{{ localization.common.timestamp }}</td>
|
15
|
-
<td class="left backup-name-label">{{ detailData.timestamp }}</td>
|
16
|
-
</tr>
|
17
|
-
</tbody>
|
18
|
-
</table>
|
19
|
-
</div>
|
20
|
-
</template>
|
21
|
-
|
22
|
-
<script setup lang="ts">
|
23
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
24
|
-
import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
|
25
|
-
|
26
|
-
const props = defineProps<{
|
27
|
-
detail: UI_I_BackupsTreeNode | null
|
28
|
-
}>()
|
29
|
-
|
30
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
31
|
-
|
32
|
-
const detailData = ref<UI_I_BackupsTreeNode | null>(null)
|
33
|
-
watch(
|
34
|
-
() => props.detail,
|
35
|
-
(newValue) => {
|
36
|
-
detailData.value = newValue
|
37
|
-
},
|
38
|
-
{ immediate: true, deep: true }
|
39
|
-
)
|
40
|
-
</script>
|
41
|
-
|
42
|
-
<style scoped lang="scss">
|
43
|
-
.detail-view {
|
44
|
-
width: 50%;
|
45
|
-
|
46
|
-
.table {
|
47
|
-
.left:not(.backup-name-label) {
|
48
|
-
width: 320px;
|
49
|
-
}
|
50
|
-
}
|
51
|
-
}
|
52
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<div class="detail-view overflow-auto py-0 px-6">
|
3
|
+
<table v-if="detailData" class="table table-noborder">
|
4
|
+
<tbody>
|
5
|
+
<tr>
|
6
|
+
<td class="left">{{ localization.common.name }}</td>
|
7
|
+
<td class="left backup-name-label">{{ detailData.name }}</td>
|
8
|
+
</tr>
|
9
|
+
<tr>
|
10
|
+
<td class="left">{{ localization.common.description }}</td>
|
11
|
+
<td class="left backup-name-label">{{ detailData.description }}</td>
|
12
|
+
</tr>
|
13
|
+
<tr>
|
14
|
+
<td class="left">{{ localization.common.timestamp }}</td>
|
15
|
+
<td class="left backup-name-label">{{ detailData.timestamp }}</td>
|
16
|
+
</tr>
|
17
|
+
</tbody>
|
18
|
+
</table>
|
19
|
+
</div>
|
20
|
+
</template>
|
21
|
+
|
22
|
+
<script setup lang="ts">
|
23
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
24
|
+
import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
|
25
|
+
|
26
|
+
const props = defineProps<{
|
27
|
+
detail: UI_I_BackupsTreeNode | null
|
28
|
+
}>()
|
29
|
+
|
30
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
31
|
+
|
32
|
+
const detailData = ref<UI_I_BackupsTreeNode | null>(null)
|
33
|
+
watch(
|
34
|
+
() => props.detail,
|
35
|
+
(newValue) => {
|
36
|
+
detailData.value = newValue
|
37
|
+
},
|
38
|
+
{ immediate: true, deep: true }
|
39
|
+
)
|
40
|
+
</script>
|
41
|
+
|
42
|
+
<style scoped lang="scss">
|
43
|
+
.detail-view {
|
44
|
+
width: 50%;
|
45
|
+
|
46
|
+
.table {
|
47
|
+
.left:not(.backup-name-label) {
|
48
|
+
width: 320px;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
</style>
|
@@ -1,36 +1,36 @@
|
|
1
|
-
import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
|
2
|
-
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
3
|
-
import type { UI_T_BackupActionType } from '~/components/common/pages/backups/lib/models/types'
|
4
|
-
|
5
|
-
export interface API_UI_I_Backup {
|
6
|
-
creation_time: number
|
7
|
-
creation_type: number
|
8
|
-
description: string
|
9
|
-
kind: number // TODO
|
10
|
-
msg: string
|
11
|
-
name: string
|
12
|
-
state: number // TODO
|
13
|
-
uuid: string
|
14
|
-
vm_name: string
|
15
|
-
vmid: string
|
16
|
-
storage_id: string
|
17
|
-
storage_name: string
|
18
|
-
}
|
19
|
-
|
20
|
-
export interface UI_I_Backup extends API_UI_I_Backup {}
|
21
|
-
|
22
|
-
export interface UI_I_BackupsTreeNode
|
23
|
-
extends UI_I_TreeNode<UI_I_BackupsTreeNode> {
|
24
|
-
parent_id: string
|
25
|
-
timestamp: string
|
26
|
-
description: string
|
27
|
-
}
|
28
|
-
|
29
|
-
export interface UI_I_BackupAction {
|
30
|
-
action: UI_T_BackupActionType | ''
|
31
|
-
id?: string
|
32
|
-
name?: string
|
33
|
-
backupId?: string
|
34
|
-
bucketId?: string
|
35
|
-
storageId?: string
|
36
|
-
}
|
1
|
+
import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
|
2
|
+
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
3
|
+
import type { UI_T_BackupActionType } from '~/components/common/pages/backups/lib/models/types'
|
4
|
+
|
5
|
+
export interface API_UI_I_Backup {
|
6
|
+
creation_time: number
|
7
|
+
creation_type: number
|
8
|
+
description: string
|
9
|
+
kind: number // TODO
|
10
|
+
msg: string
|
11
|
+
name: string
|
12
|
+
state: number // TODO
|
13
|
+
uuid: string
|
14
|
+
vm_name: string
|
15
|
+
vmid: string
|
16
|
+
storage_id: string
|
17
|
+
storage_name: string
|
18
|
+
}
|
19
|
+
|
20
|
+
export interface UI_I_Backup extends API_UI_I_Backup {}
|
21
|
+
|
22
|
+
export interface UI_I_BackupsTreeNode
|
23
|
+
extends UI_I_TreeNode<UI_I_BackupsTreeNode> {
|
24
|
+
parent_id: string
|
25
|
+
timestamp: string
|
26
|
+
description: string
|
27
|
+
}
|
28
|
+
|
29
|
+
export interface UI_I_BackupAction {
|
30
|
+
action: UI_T_BackupActionType | ''
|
31
|
+
id?: string
|
32
|
+
name?: string
|
33
|
+
backupId?: string
|
34
|
+
bucketId?: string
|
35
|
+
storageId?: string
|
36
|
+
}
|